diff --git a/CMakeLists.txt b/CMakeLists.txt index 2a7013a..483e9c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,13 +28,13 @@ option(ARCHEUS_DEFAULT_CONFIG "Build with default config keys" ON) option(ARCHEUS_TESTS "Build with tests" OFF) set(ARCHEUS_WINDOW_BACKEND "NONE" CACHE STRING "Window Backend to build with") -set_property(CACHE ARCHEUS_WINDOW_BACKEND PROPERTY STRINGS NONE SDL2 GLFW) +set_property(CACHE ARCHEUS_WINDOW_BACKEND PROPERTY STRINGS NONE SDL2 SDL3 GLFW) set(ARCHEUS_INPUT_BACKEND "NONE" CACHE STRING "Input Backend to build with, most likely should match Window Backend") -set_property(CACHE ARCHEUS_INPUT_BACKEND PROPERTY STRINGS NONE SDL2 GLFW) +set_property(CACHE ARCHEUS_INPUT_BACKEND PROPERTY STRINGS NONE SDL2 SDL3 GLFW) set(ARCHEUS_GRAPHICS_BACKEND "NONE" CACHE STRING "Graphics Backend to build with") -set_property(CACHE ARCHEUS_GRAPHICS_BACKEND PROPERTY STRINGS NONE SDL2 OPENGL) +set_property(CACHE ARCHEUS_GRAPHICS_BACKEND PROPERTY STRINGS NONE SDL2 SDL3 OPENGL) if(UNIX) set(ARCHEUS_CONSOLE_BACKEND "NONE" CACHE STRING "Console Backend to build with") @@ -99,6 +99,10 @@ none_check_and_init_needed(ARCHEUS_FLAGS ARCHEUS_SOURCES ${ARCHEUS_WINDOW_BACKEN include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/archeus_sdl2.cmake) sdl2_check_and_init_needed(ARCHEUS_SOURCES ARCHEUS_INCLUDE_DIRECTORIES ARCHEUS_LINK_LIBRARIES ${ARCHEUS_WINDOW_BACKEND} ${ARCHEUS_INPUT_BACKEND} ${ARCHEUS_GRAPHICS_BACKEND}) +# ~ SDL3 ~ # +include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/archeus_sdl3.cmake) +sdl3_check_and_init_needed(ARCHEUS_SOURCES ARCHEUS_INCLUDE_DIRECTORIES ARCHEUS_LINK_LIBRARIES ${ARCHEUS_WINDOW_BACKEND} ${ARCHEUS_INPUT_BACKEND} ${ARCHEUS_GRAPHICS_BACKEND}) + # ~ OPENGL ~ # include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/archeus_opengl.cmake) opengl_check_and_init_needed(ARCHEUS_FLAGS ARCHEUS_SOURCES ${ARCHEUS_GRAPHICS_BACKEND}) diff --git a/include/arc/graphics/spritesheet.h b/include/arc/graphics/spritesheet.h index b543927..30be531 100644 --- a/include/arc/graphics/spritesheet.h +++ b/include/arc/graphics/spritesheet.h @@ -41,7 +41,7 @@ void ARC_Spritesheet_Destroy(ARC_Spritesheet *spritesheet); * @param[in] renderer the renderer to draw to * @param[in] renderBounds the area of the renderer to copy the spritesheet to */ -void ARC_Spritesheet_Render(ARC_Spritesheet *spritesheet, ARC_Renderer *renderer, ARC_Rect renderBounds); +void ARC_Spritesheet_Render(ARC_Spritesheet *spritesheet, ARC_Renderer *renderer, ARC_FRect renderBounds); /** * @brief renders a section of a spritesheet @@ -51,7 +51,7 @@ void ARC_Spritesheet_Render(ARC_Spritesheet *spritesheet, ARC_Renderer *renderer * @param[in] renderer the renderer to draw to * @param[in] renderBounds the area of the renderer to copy the spritesheet area to */ -void ARC_Spritesheet_RenderArea(ARC_Spritesheet *spritesheet, ARC_Rect sheetBounds, ARC_Renderer *renderer, ARC_Rect renderBounds); +void ARC_Spritesheet_RenderArea(ARC_Spritesheet *spritesheet, ARC_Rect sheetBounds, ARC_Renderer *renderer, ARC_FRect renderBounds); /** * @brief renders a tile of a spritesheet @@ -63,7 +63,7 @@ void ARC_Spritesheet_RenderArea(ARC_Spritesheet *spritesheet, ARC_Rect sheetBoun * @param[in] renderer the renderer to draw to * @param[in] renderBounds the area of the renderer to copy the tile to */ -void ARC_Spritesheet_RenderTile(ARC_Spritesheet *spritesheet, ARC_Point tilePosition, ARC_Renderer *renderer, ARC_Rect renderBounds); +void ARC_Spritesheet_RenderTile(ARC_Spritesheet *spritesheet, ARC_Point tilePosition, ARC_Renderer *renderer, ARC_FRect renderBounds); /** * @brief gets the x and y size of a given spritesheet in pixels diff --git a/include/arc/input/mouse.h b/include/arc/input/mouse.h index 5f60780..bb7fe9c 100644 --- a/include/arc/input/mouse.h +++ b/include/arc/input/mouse.h @@ -35,7 +35,7 @@ void ARC_Mouse_CreateWithInput(ARC_Mouse **mouse, ARC_Input *input); void ARC_Mouse_Destroy(ARC_Mouse *mouse); void ARC_Mouse_Update(ARC_Mouse *mouse); -ARC_Point *ARC_Mouse_GetCoords(ARC_Mouse *mouse); +ARC_FPoint *ARC_Mouse_GetCoords(ARC_Mouse *mouse); ARC_MouseState ARC_Mouse_GetState(ARC_Mouse *mouse, ARC_MouseButton button); int32_t *ARC_Mouse_GetScrollY(ARC_Mouse *mouse);