diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..ed8527b --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +Prog3B \ No newline at end of file diff --git a/.idea/Prog3B_Anke.iml b/.idea/Prog3B_Anke.iml new file mode 100644 index 0000000..f08604b --- /dev/null +++ b/.idea/Prog3B_Anke.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.idea/editor.xml b/.idea/editor.xml new file mode 100644 index 0000000..963c96f --- /dev/null +++ b/.idea/editor.xml @@ -0,0 +1,344 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..0b76fe5 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..1be49a0 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..663c5dc --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 15b11b2..9549766 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,35 +1,44 @@ cmake_minimum_required(VERSION 3.28) project(Prog3B) + set(EXECUTABLE_NAME Prog3B) - -# Generate compile_commands.json -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_CXX_STANDARD 20) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -# Set the default build type if not specified +# Default build type if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE) endif() +# Quell- und Header-Dateien set(SRC_FILES - ${CMAKE_CURRENT_LIST_DIR}/main.cpp - ${CMAKE_CURRENT_LIST_DIR}/gamecube.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/main.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/gamecube.cpp + ${CMAKE_CURRENT_LIST_DIR}/src/gamematrix.cpp ) +#automatisch hinzufügen +file(GLOB SRC_FILES "${CMAKE_CURRENT_LIST_DIR}/src/*.cpp") set(INCLUDE_DIRS - ${CMAKE_CURRENT_LIST_DIR}/linux + ${CMAKE_CURRENT_LIST_DIR}/includes + ${CMAKE_CURRENT_LIST_DIR}/raylib ) +# Executable erstellen add_executable(${EXECUTABLE_NAME} ${SRC_FILES}) -target_include_directories(${EXECUTABLE_NAME} PRIVATE ${INCLUDE_DIRS}) -target_link_libraries(${EXECUTABLE_NAME} PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/linux/libgamematrix.a - ${CMAKE_CURRENT_LIST_DIR}/linux/libraylib.a -) -# Checks if OSX and links appropriate frameworks (Only required on MacOS) -if (APPLE) - target_link_libraries(Prog3B "-framework IOKit") - target_link_libraries(Prog3B "-framework Cocoa") - target_link_libraries(Prog3B "-framework OpenGL") +# Include-Verzeichnisse hinzufügen +target_include_directories(${EXECUTABLE_NAME} PRIVATE ${INCLUDE_DIRS}) + + +# Nur noch raylib und systemabhängige Libraries linken +#target_link_libraries(${EXECUTABLE_NAME} PRIVATE + # ${CMAKE_CURRENT_LIST_DIR}/windows/libraylib.a + # winmm + +# MacOS Frameworks (falls benötigt) +if(APPLE) + target_link_libraries(${EXECUTABLE_NAME} PRIVATE "-framework IOKit") + target_link_libraries(${EXECUTABLE_NAME} PRIVATE "-framework Cocoa") + target_link_libraries(${EXECUTABLE_NAME} PRIVATE "-framework OpenGL") endif() diff --git a/includes/gamecube.h b/includes/gamecube.h index bbe0028..7626ba5 100644 --- a/includes/gamecube.h +++ b/includes/gamecube.h @@ -31,4 +31,7 @@ private: bool flippingForward = false; bool flippingBackward = false; float rotation = 0.0f; + + + }; \ No newline at end of file diff --git a/includes/gamematrix.h b/includes/gamematrix.h index 7a644d6..846683d 100644 --- a/includes/gamematrix.h +++ b/includes/gamematrix.h @@ -16,4 +16,8 @@ public: // Verschiebung static std::array,4> translate(const std::array& pos); + + + //Einheitsmatrix + static std::array,4> identity(); }; diff --git a/raylib/raylib b/raylib/raylib new file mode 160000 index 0000000..d860112 --- /dev/null +++ b/raylib/raylib @@ -0,0 +1 @@ +Subproject commit d8601121da44b993f2893e9afd51b85105c6e698 diff --git a/wuerfelmemory.exe b/wuerfelmemory.exe new file mode 100644 index 0000000..21ab703 Binary files /dev/null and b/wuerfelmemory.exe differ