diff --git a/CMakeLists.txt b/CMakeLists.txt index ba2cf60..c978791 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,15 +110,17 @@ if(ARCHEUS_STD_GLFW) list(APPEND ARCHEUS_STD_SOURCES ${ARCHEUS_STD_GLFW_SOURCES}) endif() -add_library(archeus_std SHARED - ${ARCHEUS_STD_SOURCES} -) +if(WIN32 AND NOT MSVC) + add_library(archeus_std STATIC ${ARCHEUS_STD_SOURCES}) +else() + add_library(archeus_std SHARED ${ARCHEUS_STD_SOURCES}) +endif() if(ARCHEUS_STD_SDL) - target_include_directories(archeus_std PRIVATE - include - PUBLIC ${SDL2_INCLUDE_DIRS} - PUBLIC ${SDL2IMAGE_INCLUDE_DIRS} + target_include_directories(archeus_std + PUBLIC $ + PRIVATE ${SDL2_INCLUDE_DIRS} + PRIVATE ${SDL2IMAGE_INCLUDE_DIRS} ) target_link_libraries(archeus_std PUBLIC ${SDL2_LIBRARIES} SDL2_image::SDL2_image) @@ -126,7 +128,7 @@ endif() if(ARCHEUS_STD_OPENGL) target_include_directories(archeus_std PRIVATE - include + PUBLIC $ GL glfw GLEW diff --git a/include/arc/graphics/sdl/renderer.h b/include/arc/graphics/sdl/renderer.h index 124a080..14d967f 100644 --- a/include/arc/graphics/sdl/renderer.h +++ b/include/arc/graphics/sdl/renderer.h @@ -2,10 +2,9 @@ #define ARC_SDL_RENDERER_H_ #ifdef ARC_SDL - -#include #include "arc/graphics/renderer.h" #include "arc/graphics/window.h" +#include typedef SDL_Renderer ARC_RendererType; diff --git a/include/arc/graphics/sdl/sprite.h b/include/arc/graphics/sdl/sprite.h index 026190a..eb0adb9 100644 --- a/include/arc/graphics/sdl/sprite.h +++ b/include/arc/graphics/sdl/sprite.h @@ -2,9 +2,8 @@ #define ARC_SDL_SPRITE_H_ #ifdef ARC_SDL - -#include #include "arc/graphics/sprite.h" +#include struct ARC_Sprite { ARC_Spritesheet *spritesheet; diff --git a/include/arc/graphics/sdl/spritesheet.h b/include/arc/graphics/sdl/spritesheet.h index 97d3d8a..eb8e449 100644 --- a/include/arc/graphics/sdl/spritesheet.h +++ b/include/arc/graphics/sdl/spritesheet.h @@ -2,9 +2,8 @@ #define ARC_SDL_SPRITESHEET_H_ #ifdef ARC_SDL - -#include #include "arc/graphics/spritesheet.h" +#include struct ARC_Spritesheet { SDL_Texture *texture; diff --git a/include/arc/graphics/sdl/window.h b/include/arc/graphics/sdl/window.h index a6a965c..4afd1f6 100644 --- a/include/arc/graphics/sdl/window.h +++ b/include/arc/graphics/sdl/window.h @@ -2,9 +2,8 @@ #define ARC_SDL_WINDOW_H_ #ifdef ARC_SDL - -#include #include "arc/graphics/window.h" +#include typedef SDL_Window ARC_WindowType; diff --git a/include/arc/input/sdl/keyboard.h b/include/arc/input/sdl/keyboard.h index c1b04bc..74a88f8 100644 --- a/include/arc/input/sdl/keyboard.h +++ b/include/arc/input/sdl/keyboard.h @@ -2,8 +2,8 @@ #define ARC_SDL_KEYBOARD_H_ #ifdef ARC_SDL -#include #include "arc/input/keyboard.h" +#include struct ARC_Keyboard { SDL_Event *event; diff --git a/src/engine/engine.c b/src/engine/engine.c index 650c7b8..228ba5e 100644 --- a/src/engine/engine.c +++ b/src/engine/engine.c @@ -10,12 +10,12 @@ //NOTE: some of this file is temporary, mostly to get smthn running so I can test out different ideas #ifdef ARC_SDL -#include -#include #include "arc/graphics/sdl/window.h" #include "arc/graphics/sdl/renderer.h" #include "arc/input/sdl/mouse.h" #include "arc/input/sdl/keyboard.h" +#include +#include #elif ARC_OPENGL #include "arc/graphics/opengl/window.h" #include "arc/graphics/opengl/renderer.h" @@ -95,6 +95,8 @@ void ARC_Engine_Run(ARC_EngineData *data){ } #ifdef ARC_SDL + SDL_SetRenderDrawBlendMode((SDL_Renderer *)data->renderer, SDL_BLENDMODE_BLEND); + SDL_Event *event = data->mouse->event; double lastTime = 0, currentTime; data->dt = 0; diff --git a/src/graphics/sdl/window.c b/src/graphics/sdl/window.c index 2bdf9b8..73b4785 100644 --- a/src/graphics/sdl/window.c +++ b/src/graphics/sdl/window.c @@ -2,8 +2,8 @@ #include "arc/graphics/window.h" #include "arc/graphics/sdl/window.h" -#include #include "arc/std/errno.h" +#include void ARC_Window_Create(ARC_Window **window, ARC_WindowInfo *info){ if(!info){