merging herglitch/main

This commit is contained in:
herbglitch 2024-02-08 16:53:31 -07:00
parent 61b7e89d63
commit b0a3ba8407
8 changed files with 36 additions and 44 deletions

View file

@ -1,4 +1,5 @@
set(ARCHEUS_STD_SDL2_WINDOW_SOURCES set(ARCHEUS_STD_SDL2_WINDOW_SOURCES
src/graphics/sdl/window.c
) )
set(ARCHEUS_STD_SDL2_INPUT_SOURCES set(ARCHEUS_STD_SDL2_INPUT_SOURCES
@ -16,49 +17,44 @@ set(ARCHEUS_STD_SDL2_GRAPHICS_SOURCES
src/graphics/sdl/sprite.c src/graphics/sdl/sprite.c
src/graphics/sdl/spritesheet.c src/graphics/sdl/spritesheet.c
src/graphics/sdl/text.c src/graphics/sdl/text.c
src/graphics/sdl/window.c
) )
function(sdl2_check_and_init_needed ARCHEUS_STD_FLAGS ARCHEUS_STD_SOURCES ARCHEUS_STD_WINDOW_BACKEND ARCHEUS_STD_INPUT_BACKEND ARCHEUS_STD_GRAPHICS_BACKEND) function(sdl2_check_and_init_needed ARCHEUS_STD_FLAGS ARCHEUS_STD_SOURCES ARCHEUS_STD_WINDOW_BACKEND ARCHEUS_STD_INPUT_BACKEND ARCHEUS_STD_GRAPHICS_BACKEND)
#if no backend uses sdl return #if no backend uses sdl return
if(NOT ARCHEUS_STD_WINDOW_BACKEND STREQUAL "SDL2" AND NOT ARCHEUS_STD_INPUT_BACKEND STREQUAL "SDL2" AND NOT ARCHEUS_STD_GRAPHICS_BACKEND STREQUAL "SDL2") if(NOT ${ARCHEUS_STD_WINDOW_BACKEND} STREQUAL "SDL2" AND NOT ${ARCHEUS_STD_INPUT_BACKEND} STREQUAL "SDL2" AND NOT ${ARCHEUS_STD_GRAPHICS_BACKEND} STREQUAL "SDL2")
return() return()
endif() endif()
string(APPEND ARCHEUS_STD_FLAGS "-DARC_SDL ")
#get needed libraries for backends #get needed libraries for backends
find_package(SDL2 REQUIRED) find_package(SDL2 REQUIRED)
if(ARCHEUS_STD_GRAPHICS_BACKEND STREQUAL "SDL2") #add matching files for the selected backends
if(NOT PNG AND WIN32 AND NOT MSVC) if(${ARCHEUS_STD_WINDOW_BACKEND} STREQUAL "SDL2")
set(PNG_LIBRARY "C:/Program Files(x86)/libpng") string(APPEND ${_ARCHEUS_STD_FLAGS} "-DARC_SDL2_WINDOW ")
set(PNG_PNG_INCLUDE_DIR "C:/Program Files(x86)/libpng/include") list(APPEND ${_ARCHEUS_STD_SOURCES} ${ARCHEUS_STD_SDL2_WINDOW_SOURCES})
endif() endif()
if(${ARCHEUS_STD_INPUT_BACKEND} STREQUAL "SDL2")
string(APPEND ${_ARCHEUS_STD_FLAGS} "-DARC_SDL2_INPUT ")
list(APPEND ${_ARCHEUS_STD_SOURCES} ${ARCHEUS_STD_SDL2_INPUT_SOURCES})
endif()
if(${ARCHEUS_STD_GRAPHICS_BACKEND} STREQUAL "SDL2")
find_package(SDL2_image REQUIRED) find_package(SDL2_image REQUIRED)
find_package(SDL2_ttf REQUIRED) find_package(SDL2_ttf REQUIRED)
string(APPEND ${_ARCHEUS_STD_FLAGS} "-DARC_SDL2_GRAPHICS ")
list(APPEND ${_ARCHEUS_STD_SOURCES} ${ARCHEUS_STD_SDL2_GRAPHICS_SOURCES})
endif() endif()
#add matching files for the selected backends set(${_ARCHEUS_STD_FLAGS} ${${_ARCHEUS_STD_FLAGS}} PARENT_SCOPE)
if(ARCHEUS_STD_INPUT_BACKEND STREQUAL "SDL2") set(${_ARCHEUS_STD_SOURCES} ${${_ARCHEUS_STD_SOURCES}} PARENT_SCOPE)
list(APPEND ARCHEUS_STD_SOURCES ${ARCHEUS_STD_SDL2_INPUT_SOURCES})
endif()
if(ARCHEUS_STD_INPUT_BACKEND STREQUAL "SDL2")
list(APPEND ARCHEUS_STD_SOURCES ${ARCHEUS_STD_SDL2_INPUT_SOURCES})
endif()
if(ARCHEUS_STD_GRAPHICS_BACKEND STREQUAL "SDL2") # target_include_directories(archeus_std
list(APPEND ARCHEUS_STD_SOURCES ${ARCHEUS_STD_SDL2_GRAPHICS_SOURCES}) # PRIVATE ${SDL2_INCLUDE_DIRS}
endif() # PRIVATE ${SDL2IMAGE_INCLUDE_DIRS}
# )
target_include_directories(archeus_std # target_link_libraries(archeus_std PUBLIC ${SDL2_LIBRARIES} SDL2_image::SDL2_image SDL2_ttf::SDL2_ttf)
PRIVATE ${SDL2_INCLUDE_DIRS}
PRIVATE ${SDL2IMAGE_INCLUDE_DIRS}
)
target_link_libraries(archeus_std PUBLIC ${SDL2_LIBRARIES} SDL2_image::SDL2_image SDL2_ttf::SDL2_ttf)
return(ARCHEUS_STD_SDL2_SOURCES)
endfunction() endfunction()

View file

@ -1,7 +1,7 @@
#ifndef ARC_SDL_RENDERER_H_ #ifndef ARC_SDL_RENDERER_H_
#define ARC_SDL_RENDERER_H_ #define ARC_SDL_RENDERER_H_
#ifdef ARC_SDL #ifdef ARC_SDL2_GRAPHICS
#include "arc/graphics/renderer.h" #include "arc/graphics/renderer.h"
#include "arc/graphics/window.h" #include "arc/graphics/window.h"
#include <SDL.h> #include <SDL.h>
@ -20,6 +20,6 @@ struct ARC_RenderInfo {
Uint32 flags; Uint32 flags;
}; };
#endif // !ARC_SDL #endif // !ARC_SDL2_GRAPHICS
#endif // !ARC_SDL_RENDERER_H_ #endif // !ARC_SDL_RENDERER_H_

View file

@ -1,7 +1,7 @@
#ifndef ARC_SDL_SPRITE_H_ #ifndef ARC_SDL_SPRITE_H_
#define ARC_SDL_SPRITE_H_ #define ARC_SDL_SPRITE_H_
#ifdef ARC_SDL #ifdef ARC_SDL2_GRAPHICS
#include "arc/graphics/sprite.h" #include "arc/graphics/sprite.h"
#include <SDL.h> #include <SDL.h>
@ -13,6 +13,6 @@ struct ARC_Sprite {
uint8_t opacity; uint8_t opacity;
}; };
#endif // !ARC_SDL #endif // !ARC_SDL2_GRAPHICS
#endif // !ARC_SDL_SPRITE_H_ #endif // !ARC_SDL_SPRITE_H_

View file

@ -1,7 +1,7 @@
#ifndef ARC_SDL_KEYBOARD_H_ #ifndef ARC_SDL_KEYBOARD_H_
#define ARC_SDL_KEYBOARD_H_ #define ARC_SDL_KEYBOARD_H_
#ifdef ARC_SDL #ifdef ARC_SDL2_INPUT
#include "arc/input/keyboard.h" #include "arc/input/keyboard.h"
#include <SDL.h> #include <SDL.h>
@ -16,6 +16,6 @@ struct ARC_KeyboardInfo {
SDL_Event *event; SDL_Event *event;
}; };
#endif // ARC_SDL #endif // ARC_SDL2_INPUT
#endif // !ARC_SDL_KEYBOARD_H_ #endif // !ARC_SDL_KEYBOARD_H_

View file

@ -1,7 +1,7 @@
#ifndef ARC_SDL_MOUSE_H_ #ifndef ARC_SDL_MOUSE_H_
#define ARC_SDL_MOUSE_H_ #define ARC_SDL_MOUSE_H_
#ifdef ARC_SDL #ifdef ARC_SDL2_INPUT
#include <SDL.h> #include <SDL.h>
#include "arc/input/mouse.h" #include "arc/input/mouse.h"
#include "arc/math/point.h" #include "arc/math/point.h"
@ -19,6 +19,6 @@ struct ARC_MouseInfo {
SDL_Event *event; SDL_Event *event;
}; };
#endif // ARC_SDL #endif // ARC_SDL2_INPUT
#endif // !ARC_SDL_MOUSE_H_ #endif // !ARC_SDL_MOUSE_H_

View file

@ -14,14 +14,11 @@
#include "arc/input/none/mouse.h" #include "arc/input/none/mouse.h"
#include "arc/input/none/keyboard.h" #include "arc/input/none/keyboard.h"
#ifdef ARC_SDL
#include "arc/graphics/sdl/window.h" #include "arc/graphics/sdl/window.h"
#include "arc/graphics/sdl/renderer.h" #include "arc/graphics/sdl/renderer.h"
#include "arc/input/sdl/mouse.h" #include "arc/input/sdl/mouse.h"
#include "arc/input/sdl/keyboard.h" #include "arc/input/sdl/keyboard.h"
#include <SDL.h> #ifdef ARC_SDL
#include <SDL2/SDL_ttf.h>
#include <SDL2/SDL_mixer.h>
#elif ARC_OPENGL #elif ARC_OPENGL
#include "arc/graphics/opengl/window.h" #include "arc/graphics/opengl/window.h"
#include "arc/graphics/opengl/renderer.h" #include "arc/graphics/opengl/renderer.h"

View file

@ -1,5 +1,4 @@
#include "SDL_keycode.h" #ifdef ARC_SDL2_INPUT
#ifdef ARC_SDL
#include "arc/input/sdl/keyboard.h" #include "arc/input/sdl/keyboard.h"
#include "arc/input/keyboard.h" #include "arc/input/keyboard.h"
#include "arc/math/point.h" #include "arc/math/point.h"
@ -99,4 +98,4 @@ ARC_KeyboardState ARC_Keyboard_GetState(ARC_Keyboard *keyboard, enum ARC_Keyboar
} }
#endif // ARC_SDL #endif // ARC_SDL2_INPUT

View file

@ -1,4 +1,4 @@
#ifdef ARC_SDL #ifdef ARC_SDL2_INPUT
#include "arc/input/sdl/mouse.h" #include "arc/input/sdl/mouse.h"
#include "arc/input/mouse.h" #include "arc/input/mouse.h"
#include "arc/math/point.h" #include "arc/math/point.h"
@ -105,4 +105,4 @@ int32_t *ARC_Mouse_GetScrollY(ARC_Mouse *mouse){
return mouse->scrollY; return mouse->scrollY;
} }
#endif // ARC_SDL #endif // ARC_SDL2_INPUT