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