From 7fc0c47c69e992e7b69d6b86b47578cc07679959 Mon Sep 17 00:00:00 2001 From: Derek Christ Date: Sat, 24 May 2025 20:29:56 +0200 Subject: [PATCH] Split up main.cpp into multiple files --- CMakeLists.txt | 2 +- assets.cpp | 28 ++++++++++++++++++++++++++ assets.hpp | 11 ++++++++++ fruits.jpg | Bin 0 -> 75497 bytes Fruit+.png => fruits.png | Bin input.hpp | 11 ++++++++++ main.cpp | 42 ++++++++------------------------------- sdl_types.hpp | 9 +++++++++ 8 files changed, 68 insertions(+), 35 deletions(-) create mode 100644 assets.cpp create mode 100644 assets.hpp create mode 100644 fruits.jpg rename Fruit+.png => fruits.png (100%) create mode 100644 input.hpp create mode 100644 sdl_types.hpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 08b4bf1..95a2982 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,7 +9,7 @@ find_package(SDL3_image CONFIG REQUIRED) find_package(flecs CONFIG REQUIRED) find_package(spdlog CONFIG REQUIRED) -add_executable(HansTheGatherer main.cpp) +add_executable(HansTheGatherer main.cpp assets.cpp) target_link_libraries(HansTheGatherer SDL3::SDL3 SDL3_image::SDL3_image flecs::flecs spdlog::spdlog) diff --git a/assets.cpp b/assets.cpp new file mode 100644 index 0000000..7989858 --- /dev/null +++ b/assets.cpp @@ -0,0 +1,28 @@ +#include "assets.hpp" +#include "sdl_types.hpp" + +#include +#include +#include + +static constexpr uint8_t BACKGROUND_DATA[] = { +#embed "jungle.jpg" +}; + +static constexpr uint8_t FRUITS_DATA[] = { +#embed "fruits.jpg" +}; + +void init_assets(flecs::world &world) { + auto *renderer = world.get()->renderer; + + auto *background_iostream = + SDL_IOFromConstMem(BACKGROUND_DATA, sizeof(BACKGROUND_DATA)); + SDL_Texture *background = + IMG_LoadTexture_IO(renderer, background_iostream, false); + if (background == nullptr) { + spdlog::error("Failed to load SDL texture!\nCause: {}", SDL_GetError()); + } + + world.set(SpriteAssets{.background = background}); +} diff --git a/assets.hpp b/assets.hpp new file mode 100644 index 0000000..89086be --- /dev/null +++ b/assets.hpp @@ -0,0 +1,11 @@ +#pragma once + +#include +#include + +struct SpriteAssets { + SDL_Texture *background; + SDL_Texture *fruits; +}; + +void init_assets(flecs::world &world); diff --git a/fruits.jpg b/fruits.jpg new file mode 100644 index 0000000000000000000000000000000000000000..05af9d6bbd71e6425e6c716ccb264de5dd1b6f8b GIT binary patch literal 75497 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�-EqF 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 literal 0 HcmV?d00001 diff --git a/Fruit+.png b/fruits.png similarity index 100% rename from Fruit+.png rename to fruits.png diff --git a/input.hpp b/input.hpp new file mode 100644 index 0000000..bdb2e2b --- /dev/null +++ b/input.hpp @@ -0,0 +1,11 @@ +#pragma once + +#include +#include + +struct ButtonInput { + std::set pressed; + std::set just_pressed; + std::set just_released; +}; + diff --git a/main.cpp b/main.cpp index 1f3bacd..192cf6d 100644 --- a/main.cpp +++ b/main.cpp @@ -1,51 +1,25 @@ +#include "assets.hpp" +#include "sdl_types.hpp" +#include "input.hpp" + #include #include #include #include #include #include -#include #include -#include #include -const uint8_t background_data[] = { -#embed "jungle.jpg" -}; - static constexpr int WINDOW_WIDTH = 400; static constexpr int WINDOW_HEIGHT = 280; -struct SpriteAssets { - SDL_Texture *background; +struct Position { + int x; + int y; }; -struct SdlHandles { - SDL_Window *window; - SDL_Renderer *renderer; -}; - -struct ButtonInput { - std::set pressed; - std::set just_pressed; - std::set just_released; -}; - -auto init_assets(flecs::world &world) -> void { - auto *renderer = world.get()->renderer; - - auto *background_iostream = - SDL_IOFromConstMem(background_data, sizeof(background_data)); - SDL_Texture *background = - IMG_LoadTexture_IO(renderer, background_iostream, false); - if (background == nullptr) { - spdlog::error("Failed to load SDL texture!\nCause: {}", SDL_GetError()); - } - - world.set(SpriteAssets{.background = background}); -} - -auto main() -> int { +int main() { spdlog::info("Initialize SDL..."); if (!SDL_Init(SDL_INIT_VIDEO)) { diff --git a/sdl_types.hpp b/sdl_types.hpp new file mode 100644 index 0000000..873b07b --- /dev/null +++ b/sdl_types.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include + +struct SdlHandles { + SDL_Window *window; + SDL_Renderer *renderer; +}; +