From e73cf5f4cf395867e230d6d95882ca614e6c2a41 Mon Sep 17 00:00:00 2001 From: Du-Brandon <84231196+Du-Brandon@users.noreply.github.com> Date: Fri, 7 Mar 2025 15:28:12 +0800 Subject: [PATCH 01/14] Add files via upload --- config.json | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 config.json diff --git a/config.json b/config.json new file mode 100644 index 00000000..0cb42b42 --- /dev/null +++ b/config.json @@ -0,0 +1,4 @@ +{ + "window_width": 1024, + "window_height": 419.5 +} \ No newline at end of file From 53bc1dadcc173255491e3098516c4dd629ce8f3b Mon Sep 17 00:00:00 2001 From: Du-Brandon <84231196+Du-Brandon@users.noreply.github.com> Date: Fri, 7 Mar 2025 15:43:04 +0800 Subject: [PATCH 02/14] Add files via upload --- config.json | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/config.json b/config.json index 0cb42b42..8d74dd8f 100644 --- a/config.json +++ b/config.json @@ -1,4 +1,10 @@ { - "window_width": 1024, - "window_height": 419.5 -} \ No newline at end of file + "title": "Practice-Tools-for-Simple-Design", + "window_pos_x": 100, + "window_pos_y": 100, + "window_width": 1280, + "window_height": 720, + "default_log_level": 2, + "fps_cap": 60 +} + From 0fa87e609ec2bc4e7d85bce74f39e6551670a148 Mon Sep 17 00:00:00 2001 From: Du-Brandon <84231196+Du-Brandon@users.noreply.github.com> Date: Mon, 18 Aug 2025 17:13:12 +0800 Subject: [PATCH 03/14] Add files via upload MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cmake4.1.0已不再支援SDL2的cmakelist(3.0.0),因此我新增了一個判斷,若不符合則退版 --- CMakeLists.txt | 476 ++++++++++++++++++++++++++++--------------------- 1 file changed, 269 insertions(+), 207 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a217d1f8..b3d1babd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,207 +1,269 @@ -cmake_minimum_required(VERSION 3.16) -project(PracticalToolsForSimpleDesign) - -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) -if (MSVC) - set(TARGET_COMPILE_OPTIONS - /W4 - ) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/build) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/build) -else() - set(TARGET_COMPILE_OPTIONS - -Wall -Wextra -pedantic - ) -endif() - -if (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - # see https://github.com/ntut-open-source-club/practical-tools-for-simple-design/issues/22 - set(CMAKE_RC_FLAGS="-C 1252") -endif() - -option(PTSD_ENABLE_PCH "Turn on PCH to increase compilation speed" OFF) - -include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Dependencies.cmake) - -set(SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) -set(SRC_FILES - ${SRC_DIR}/config.cpp - - ${SRC_DIR}/Core/Context.cpp - ${SRC_DIR}/Core/DebugMessageCallback.cpp - ${SRC_DIR}/Core/VertexArray.cpp - ${SRC_DIR}/Core/VertexBuffer.cpp - ${SRC_DIR}/Core/IndexBuffer.cpp - ${SRC_DIR}/Core/Shader.cpp - ${SRC_DIR}/Core/Program.cpp - ${SRC_DIR}/Core/Texture.cpp - ${SRC_DIR}/Core/TextureUtils.cpp - - ${SRC_DIR}/Util/LoadTextFile.cpp - ${SRC_DIR}/Util/Logger.cpp - ${SRC_DIR}/Util/Time.cpp - ${SRC_DIR}/Util/Input.cpp - ${SRC_DIR}/Util/SFX.cpp - ${SRC_DIR}/Util/BGM.cpp - ${SRC_DIR}/Util/Image.cpp - ${SRC_DIR}/Util/Text.cpp - ${SRC_DIR}/Util/TransformUtils.cpp - ${SRC_DIR}/Util/GameObject.cpp - ${SRC_DIR}/Util/Renderer.cpp - ${SRC_DIR}/Util/Color.cpp - ${SRC_DIR}/Util/Animation.cpp - ${SRC_DIR}/Util/MissingTexture.cpp - ${SRC_DIR}/Util/Position.cpp -) -set(INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include) -set(INCLUDE_FILES - ${INCLUDE_DIR}/pch.hpp - ${INCLUDE_DIR}/config.hpp - - ${INCLUDE_DIR}/Core/Context.hpp - ${INCLUDE_DIR}/Core/DebugMessageCallback.hpp - ${INCLUDE_DIR}/Core/VertexArray.hpp - ${INCLUDE_DIR}/Core/VertexBuffer.hpp - ${INCLUDE_DIR}/Core/UniformBuffer.hpp - ${INCLUDE_DIR}/Core/UniformBuffer.inl - ${INCLUDE_DIR}/Core/IndexBuffer.hpp - ${INCLUDE_DIR}/Core/Shader.hpp - ${INCLUDE_DIR}/Core/Program.hpp - ${INCLUDE_DIR}/Core/Texture.hpp - ${INCLUDE_DIR}/Core/TextureUtils.hpp - ${INCLUDE_DIR}/Core/Drawable.hpp - ${INCLUDE_DIR}/Core/MissingFontTextureBase64.hpp - ${INCLUDE_DIR}/Core/MissingImageTextureBase64.hpp - - ${INCLUDE_DIR}/Util/LoadTextFile.hpp - ${INCLUDE_DIR}/Util/Logger.hpp - ${INCLUDE_DIR}/Util/Time.hpp - ${INCLUDE_DIR}/Util/Input.hpp - ${INCLUDE_DIR}/Util/Keycode.hpp - ${INCLUDE_DIR}/Util/SFX.hpp - ${INCLUDE_DIR}/Util/BGM.hpp - ${INCLUDE_DIR}/Util/Image.hpp - ${INCLUDE_DIR}/Util/Text.hpp - ${INCLUDE_DIR}/Util/Transform.hpp - ${INCLUDE_DIR}/Util/TransformUtils.hpp - ${INCLUDE_DIR}/Util/GameObject.hpp - ${INCLUDE_DIR}/Util/Renderer.hpp - ${INCLUDE_DIR}/Util/Color.hpp - ${INCLUDE_DIR}/Util/MissingTexture.hpp - ${INCLUDE_DIR}/Util/Base64.hpp - ${INCLUDE_DIR}/Util/Animation.hpp - ${INCLUDE_DIR}/Util/Position.hpp -) -set(EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/example) -set(EXAMPLE_FILES - ${EXAMPLE_DIR}/src/App.cpp - ${EXAMPLE_DIR}/src/Giraffe.cpp - ${EXAMPLE_DIR}/src/GiraffeText.cpp - ${EXAMPLE_DIR}/src/Cat.cpp - ${EXAMPLE_DIR}/src/main.cpp - - ${EXAMPLE_DIR}/include/App.hpp - ${EXAMPLE_DIR}/include/Giraffe.hpp - ${EXAMPLE_DIR}/include/GiraffeText.hpp - ${EXAMPLE_DIR}/include/Cat.hpp -) -set(TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/test) -set(TEST_FILES - ${TEST_DIR}/SimpleTest.cpp - ${TEST_DIR}/NotSimpleTest.cpp - ${TEST_DIR}/TransformTest.cpp -) - -add_library(PTSD STATIC - ${SRC_FILES} - ${INCLUDE_FILES} -) -target_link_libraries(PTSD - ${DEPENDENCY_LINK_LIBRARIES} -) -target_include_directories(PTSD SYSTEM PRIVATE - ${DEPENDENCY_INCLUDE_DIRS} -) -target_include_directories(PTSD PRIVATE - ${INCLUDE_DIR} -) -if (CMAKE_BUILD_TYPE STREQUAL "Debug") - target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") -else() - # TODO - message(AUTHOR_WARNING "relative PTSD_ASSETS_DIR is WIP, Please use `-DCMAKE_BUILD_TYPE=Debug` build for now.") - target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") -endif() -if (${PTSD_ENABLE_PCH}) - target_precompile_headers(PTSD PRIVATE - include/pch.hpp - ) -endif() - -target_compile_options(PTSD PRIVATE - ${TARGET_COMPILE_OPTIONS} -) - -if(NOT PROJECT_IS_TOP_LEVEL) - set(DEPENDENCY_INCLUDE_DIRS ${DEPENDENCY_INCLUDE_DIRS} PARENT_SCOPE) - set(DEPENDENCY_LINK_LIBRARIES ${DEPENDENCY_LINK_LIBRARIES} PARENT_SCOPE) -endif() - -add_executable(Example EXCLUDE_FROM_ALL - ${EXAMPLE_FILES} -) -target_link_libraries(Example - SDL2::SDL2main # IDK what happens if we don't link SDL2main - PTSD -) -target_include_directories(Example SYSTEM PRIVATE - ${INCLUDE_DIR} - ${DEPENDENCY_INCLUDE_DIRS} -) -target_include_directories(Example PRIVATE - ${EXAMPLE_DIR}/include -) - -target_compile_definitions(Example PRIVATE ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") - -enable_testing() - -add_executable(Tests EXCLUDE_FROM_ALL - ${TEST_FILES} -) -target_link_libraries(Tests - PTSD - GTest::gtest_main -) -target_include_directories(Tests SYSTEM PRIVATE - ${INCLUDE_DIR} - ${DEPENDENCY_INCLUDE_DIRS} - lib/googletest/googletest/include - lib/googletest/googlemock/include -) -target_compile_options(Tests PRIVATE - ${TARGET_COMPILE_OPTIONS} -) - -add_executable(AudioTest EXCLUDE_FROM_ALL - ${TEST_DIR}/Interactive/Audio.cpp -) -target_link_libraries(AudioTest - PTSD - GTest::gtest_main -) -target_include_directories(AudioTest SYSTEM PRIVATE - ${INCLUDE_DIR} - ${DEPENDENCY_INCLUDE_DIRS} - lib/googletest/googletest/include - lib/googletest/googlemock/include -) -target_compile_options(AudioTest PRIVATE - ${TARGET_COMPILE_OPTIONS} -) - -include(GoogleTest) -gtest_discover_tests(Tests) +cmake_minimum_required(VERSION 3.16) + +# 解決 CMake 4.1.0 與舊版本相容性問題 +if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.0") + cmake_policy(SET CMP0000 NEW) + set(CMAKE_POLICY_VERSION_MINIMUM 3.5) +endif() + +project(PracticalToolsForSimpleDesign) + +# set(CMAKE_BUILD_TYPE Release) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) +if (MSVC) + set(TARGET_COMPILE_OPTIONS + /W4 /Zi + ) + set(CMAKE_EXE_LINKER_FLAGS "/DEBUG /INCREMENTAL:NO") + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/build) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/build) +else() + set(TARGET_COMPILE_OPTIONS + -Wall -Wextra -pedantic + ) + # Release 模式優化設定 + # set(CMAKE_CXX_FLAGS_RELEASE "-O2 -s -DNDEBUG") + # # 靜態連結 MinGW 運行時庫 + # if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + # set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++ -static") + # endif() +endif() + +if (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + # see https://github.com/ntut-open-source-club/practical-tools-for-simple-design/issues/22 + set(CMAKE_RC_FLAGS="-C 1252") +endif() + +option(PTSD_ENABLE_PCH "Turn on PCH to increase compilation speed" OFF) + +include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Dependencies.cmake) + +set(SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) +set(SRC_FILES + ${SRC_DIR}/config.cpp + + ${SRC_DIR}/Core/Context.cpp + ${SRC_DIR}/Core/DebugMessageCallback.cpp + ${SRC_DIR}/Core/VertexArray.cpp + ${SRC_DIR}/Core/VertexBuffer.cpp + ${SRC_DIR}/Core/IndexBuffer.cpp + ${SRC_DIR}/Core/Shader.cpp + ${SRC_DIR}/Core/Program.cpp + ${SRC_DIR}/Core/Texture.cpp + ${SRC_DIR}/Core/TextureUtils.cpp + + ${SRC_DIR}/Util/LoadTextFile.cpp + ${SRC_DIR}/Util/Logger.cpp + ${SRC_DIR}/Util/Time.cpp + ${SRC_DIR}/Util/Input.cpp + ${SRC_DIR}/Util/SFX.cpp + ${SRC_DIR}/Util/BGM.cpp + ${SRC_DIR}/Util/Image.cpp + ${SRC_DIR}/Util/Text.cpp + ${SRC_DIR}/Util/TransformUtils.cpp + ${SRC_DIR}/Util/GameObject.cpp + ${SRC_DIR}/Util/Renderer.cpp + ${SRC_DIR}/Util/Color.cpp + ${SRC_DIR}/Util/Animation.cpp + ${SRC_DIR}/Util/MissingTexture.cpp + ${SRC_DIR}/Util/Position.cpp +) +set(INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include) +set(INCLUDE_FILES + ${INCLUDE_DIR}/pch.hpp + ${INCLUDE_DIR}/config.hpp + + ${INCLUDE_DIR}/Core/Context.hpp + ${INCLUDE_DIR}/Core/DebugMessageCallback.hpp + ${INCLUDE_DIR}/Core/VertexArray.hpp + ${INCLUDE_DIR}/Core/VertexBuffer.hpp + ${INCLUDE_DIR}/Core/UniformBuffer.hpp + ${INCLUDE_DIR}/Core/UniformBuffer.inl + ${INCLUDE_DIR}/Core/IndexBuffer.hpp + ${INCLUDE_DIR}/Core/Shader.hpp + ${INCLUDE_DIR}/Core/Program.hpp + ${INCLUDE_DIR}/Core/Texture.hpp + ${INCLUDE_DIR}/Core/TextureUtils.hpp + ${INCLUDE_DIR}/Core/Drawable.hpp + ${INCLUDE_DIR}/Core/MissingFontTextureBase64.hpp + ${INCLUDE_DIR}/Core/MissingImageTextureBase64.hpp + + ${INCLUDE_DIR}/Util/LoadTextFile.hpp + ${INCLUDE_DIR}/Util/Logger.hpp + ${INCLUDE_DIR}/Util/Time.hpp + ${INCLUDE_DIR}/Util/Input.hpp + ${INCLUDE_DIR}/Util/Keycode.hpp + ${INCLUDE_DIR}/Util/SFX.hpp + ${INCLUDE_DIR}/Util/BGM.hpp + ${INCLUDE_DIR}/Util/Image.hpp + ${INCLUDE_DIR}/Util/Text.hpp + ${INCLUDE_DIR}/Util/Transform.hpp + ${INCLUDE_DIR}/Util/TransformUtils.hpp + ${INCLUDE_DIR}/Util/GameObject.hpp + ${INCLUDE_DIR}/Util/Renderer.hpp + ${INCLUDE_DIR}/Util/Color.hpp + ${INCLUDE_DIR}/Util/MissingTexture.hpp + ${INCLUDE_DIR}/Util/Base64.hpp + ${INCLUDE_DIR}/Util/Animation.hpp + ${INCLUDE_DIR}/Util/Position.hpp +) +set(EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/example) +set(EXAMPLE_FILES + ${EXAMPLE_DIR}/src/Angel.cpp + ${EXAMPLE_DIR}/src/App.cpp + ${EXAMPLE_DIR}/src/App_otherfunc.cpp + ${EXAMPLE_DIR}/src/Arrow.cpp + ${EXAMPLE_DIR}/src/Background.cpp + ${EXAMPLE_DIR}/src/Boss_1_1.cpp + ${EXAMPLE_DIR}/src/Boss_1_2.cpp + ${EXAMPLE_DIR}/src/Boss_1_3.cpp + ${EXAMPLE_DIR}/src/Boss_1_4.cpp + ${EXAMPLE_DIR}/src/Boss_2.cpp + ${EXAMPLE_DIR}/src/Boss_3.cpp + ${EXAMPLE_DIR}/src/Button.cpp + ${EXAMPLE_DIR}/src/Cat.cpp + ${EXAMPLE_DIR}/src/Enemy.cpp + ${EXAMPLE_DIR}/src/Enemy_1.cpp + ${EXAMPLE_DIR}/src/Enemy_2.cpp + ${EXAMPLE_DIR}/src/Enemy_3.cpp + ${EXAMPLE_DIR}/src/Enemy_4.cpp + ${EXAMPLE_DIR}/src/Enemy_5.cpp + ${EXAMPLE_DIR}/src/Enemy_6.cpp + ${EXAMPLE_DIR}/src/Enemy_7.cpp + ${EXAMPLE_DIR}/src/EnemyArrow.cpp + ${EXAMPLE_DIR}/src/Exp.cpp + ${EXAMPLE_DIR}/src/Giraffe.cpp + ${EXAMPLE_DIR}/src/Giraffe_other_func.cpp + ${EXAMPLE_DIR}/src/Ground_Spikes.cpp + ${EXAMPLE_DIR}/src/Hp.cpp + ${EXAMPLE_DIR}/src/Skill.cpp + ${EXAMPLE_DIR}/src/Wall.cpp + ${EXAMPLE_DIR}/src/main.cpp + # ../public/TracyClient.cpp + + ${EXAMPLE_DIR}/include/Angel.hpp + ${EXAMPLE_DIR}/include/App.hpp + ${EXAMPLE_DIR}/include/Arrow.hpp + ${EXAMPLE_DIR}/include/Background.hpp + ${EXAMPLE_DIR}/include/Boss.hpp + ${EXAMPLE_DIR}/include/Button.hpp + ${EXAMPLE_DIR}/include/Cat.hpp + ${EXAMPLE_DIR}/include/Enemy.hpp + ${EXAMPLE_DIR}/include/Enemy_1.hpp + ${EXAMPLE_DIR}/include/Enemy_2.hpp + ${EXAMPLE_DIR}/include/Enemy_3.hpp + ${EXAMPLE_DIR}/include/Enemy_4.hpp + ${EXAMPLE_DIR}/include/Enemy_5.hpp + ${EXAMPLE_DIR}/include/Enemy_6.hpp + ${EXAMPLE_DIR}/include/Enemy_7.hpp + ${EXAMPLE_DIR}/include/EnemyArrow.hpp + ${EXAMPLE_DIR}/include/Exp.hpp + ${EXAMPLE_DIR}/include/Giraffe.hpp + ${EXAMPLE_DIR}/include/Ground_Spikes.hpp + ${EXAMPLE_DIR}/include/Hp.hpp + ${EXAMPLE_DIR}/include/log_my.hpp + ${EXAMPLE_DIR}/include/Skill.hpp + ${EXAMPLE_DIR}/include/Wall.hpp + # ../public/tracy/Tracy.hpp + +) +set(TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/test) +set(TEST_FILES + ${TEST_DIR}/SimpleTest.cpp + ${TEST_DIR}/NotSimpleTest.cpp + ${TEST_DIR}/TransformTest.cpp + ${TEST_DIR}/PositionTest.cpp +) + +add_library(PTSD STATIC + ${SRC_FILES} + ${INCLUDE_FILES} +) +target_link_libraries(PTSD + ${DEPENDENCY_LINK_LIBRARIES} +) +target_include_directories(PTSD SYSTEM PRIVATE + ${DEPENDENCY_INCLUDE_DIRS} +) +target_include_directories(PTSD PRIVATE + ${INCLUDE_DIR} +) +if (CMAKE_BUILD_TYPE STREQUAL "Debug") + target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="./assets") +else() + target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="./assets") +endif() +if (${PTSD_ENABLE_PCH}) + target_precompile_headers(PTSD PRIVATE + include/pch.hpp + ) +endif() + +target_compile_options(PTSD PRIVATE + ${TARGET_COMPILE_OPTIONS} +) + +if(NOT PROJECT_IS_TOP_LEVEL) + set(DEPENDENCY_INCLUDE_DIRS ${DEPENDENCY_INCLUDE_DIRS} PARENT_SCOPE) + set(DEPENDENCY_LINK_LIBRARIES ${DEPENDENCY_LINK_LIBRARIES} PARENT_SCOPE) +endif() + +add_executable(Example EXCLUDE_FROM_ALL + ${EXAMPLE_FILES} +) +target_link_libraries(Example + SDL2::SDL2main # IDK what happens if we don't link SDL2main + PTSD +) +target_include_directories(Example SYSTEM PRIVATE + ${INCLUDE_DIR} + ${DEPENDENCY_INCLUDE_DIRS} +) +target_include_directories(Example PRIVATE + ${EXAMPLE_DIR}/include +) + +target_compile_definitions(Example PRIVATE ASSETS_DIR="./assets") + +enable_testing() + +add_executable(Tests EXCLUDE_FROM_ALL + ${TEST_FILES} +) +target_link_libraries(Tests + PTSD + GTest::gtest_main +) +target_include_directories(Tests SYSTEM PRIVATE + ${INCLUDE_DIR} + ${DEPENDENCY_INCLUDE_DIRS} + lib/googletest/googletest/include + lib/googletest/googlemock/include +) +target_compile_options(Tests PRIVATE + ${TARGET_COMPILE_OPTIONS} +) + +add_executable(AudioTest EXCLUDE_FROM_ALL + ${TEST_DIR}/Interactive/Audio.cpp +) +target_link_libraries(AudioTest + PTSD + GTest::gtest_main +) +target_include_directories(AudioTest SYSTEM PRIVATE + ${INCLUDE_DIR} + ${DEPENDENCY_INCLUDE_DIRS} + lib/googletest/googletest/include + lib/googletest/googlemock/include +) +target_compile_options(AudioTest PRIVATE + ${TARGET_COMPILE_OPTIONS} +) + +include(GoogleTest) +gtest_discover_tests(Tests) From 908a91f0e51fa8f5c529a0e15969e0221def4abb Mon Sep 17 00:00:00 2001 From: Du-Brandon <84231196+Du-Brandon@users.noreply.github.com> Date: Mon, 18 Aug 2025 17:24:12 +0800 Subject: [PATCH 04/14] Add files via upload MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更正版,上一版commit到我自己的版本了,此版才是正確的 --- CMakeLists.txt | 69 +++++++++----------------------------------------- 1 file changed, 12 insertions(+), 57 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b3d1babd..4b0187be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -113,70 +113,22 @@ set(INCLUDE_FILES ) set(EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/example) set(EXAMPLE_FILES - ${EXAMPLE_DIR}/src/Angel.cpp ${EXAMPLE_DIR}/src/App.cpp - ${EXAMPLE_DIR}/src/App_otherfunc.cpp - ${EXAMPLE_DIR}/src/Arrow.cpp - ${EXAMPLE_DIR}/src/Background.cpp - ${EXAMPLE_DIR}/src/Boss_1_1.cpp - ${EXAMPLE_DIR}/src/Boss_1_2.cpp - ${EXAMPLE_DIR}/src/Boss_1_3.cpp - ${EXAMPLE_DIR}/src/Boss_1_4.cpp - ${EXAMPLE_DIR}/src/Boss_2.cpp - ${EXAMPLE_DIR}/src/Boss_3.cpp - ${EXAMPLE_DIR}/src/Button.cpp - ${EXAMPLE_DIR}/src/Cat.cpp - ${EXAMPLE_DIR}/src/Enemy.cpp - ${EXAMPLE_DIR}/src/Enemy_1.cpp - ${EXAMPLE_DIR}/src/Enemy_2.cpp - ${EXAMPLE_DIR}/src/Enemy_3.cpp - ${EXAMPLE_DIR}/src/Enemy_4.cpp - ${EXAMPLE_DIR}/src/Enemy_5.cpp - ${EXAMPLE_DIR}/src/Enemy_6.cpp - ${EXAMPLE_DIR}/src/Enemy_7.cpp - ${EXAMPLE_DIR}/src/EnemyArrow.cpp - ${EXAMPLE_DIR}/src/Exp.cpp ${EXAMPLE_DIR}/src/Giraffe.cpp - ${EXAMPLE_DIR}/src/Giraffe_other_func.cpp - ${EXAMPLE_DIR}/src/Ground_Spikes.cpp - ${EXAMPLE_DIR}/src/Hp.cpp - ${EXAMPLE_DIR}/src/Skill.cpp - ${EXAMPLE_DIR}/src/Wall.cpp - ${EXAMPLE_DIR}/src/main.cpp - # ../public/TracyClient.cpp - - ${EXAMPLE_DIR}/include/Angel.hpp + ${EXAMPLE_DIR}/src/GiraffeText.cpp + ${EXAMPLE_DIR}/src/Cat.cpp + ${EXAMPLE_DIR}/src/main.cpp + ${EXAMPLE_DIR}/include/App.hpp - ${EXAMPLE_DIR}/include/Arrow.hpp - ${EXAMPLE_DIR}/include/Background.hpp - ${EXAMPLE_DIR}/include/Boss.hpp - ${EXAMPLE_DIR}/include/Button.hpp - ${EXAMPLE_DIR}/include/Cat.hpp - ${EXAMPLE_DIR}/include/Enemy.hpp - ${EXAMPLE_DIR}/include/Enemy_1.hpp - ${EXAMPLE_DIR}/include/Enemy_2.hpp - ${EXAMPLE_DIR}/include/Enemy_3.hpp - ${EXAMPLE_DIR}/include/Enemy_4.hpp - ${EXAMPLE_DIR}/include/Enemy_5.hpp - ${EXAMPLE_DIR}/include/Enemy_6.hpp - ${EXAMPLE_DIR}/include/Enemy_7.hpp - ${EXAMPLE_DIR}/include/EnemyArrow.hpp - ${EXAMPLE_DIR}/include/Exp.hpp ${EXAMPLE_DIR}/include/Giraffe.hpp - ${EXAMPLE_DIR}/include/Ground_Spikes.hpp - ${EXAMPLE_DIR}/include/Hp.hpp - ${EXAMPLE_DIR}/include/log_my.hpp - ${EXAMPLE_DIR}/include/Skill.hpp - ${EXAMPLE_DIR}/include/Wall.hpp - # ../public/tracy/Tracy.hpp - + ${EXAMPLE_DIR}/include/GiraffeText.hpp + ${EXAMPLE_DIR}/include/Cat.hpp ) set(TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/test) set(TEST_FILES ${TEST_DIR}/SimpleTest.cpp ${TEST_DIR}/NotSimpleTest.cpp ${TEST_DIR}/TransformTest.cpp - ${TEST_DIR}/PositionTest.cpp ) add_library(PTSD STATIC @@ -193,9 +145,11 @@ target_include_directories(PTSD PRIVATE ${INCLUDE_DIR} ) if (CMAKE_BUILD_TYPE STREQUAL "Debug") - target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="./assets") + target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") else() - target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="./assets") + # TODO + message(AUTHOR_WARNING "relative PTSD_ASSETS_DIR is WIP, Please use `-DCMAKE_BUILD_TYPE=Debug` build for now.") + target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") endif() if (${PTSD_ENABLE_PCH}) target_precompile_headers(PTSD PRIVATE @@ -227,7 +181,7 @@ target_include_directories(Example PRIVATE ${EXAMPLE_DIR}/include ) -target_compile_definitions(Example PRIVATE ASSETS_DIR="./assets") +target_compile_definitions(Example PRIVATE ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") enable_testing() @@ -267,3 +221,4 @@ target_compile_options(AudioTest PRIVATE include(GoogleTest) gtest_discover_tests(Tests) +gtest_discover_tests(AudioTest) \ No newline at end of file From f264f31b2a11318de40f9dc585996032684ddfee Mon Sep 17 00:00:00 2001 From: Du-Brandon <84231196+Du-Brandon@users.noreply.github.com> Date: Mon, 18 Aug 2025 20:18:33 +0800 Subject: [PATCH 05/14] Add files via upload MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更正版本+刪除註解 --- CMakeLists.txt | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b0187be..af856289 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,5 @@ cmake_minimum_required(VERSION 3.16) -# 解決 CMake 4.1.0 與舊版本相容性問題 if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.0") cmake_policy(SET CMP0000 NEW) set(CMAKE_POLICY_VERSION_MINIMUM 3.5) @@ -8,16 +7,13 @@ endif() project(PracticalToolsForSimpleDesign) -# set(CMAKE_BUILD_TYPE Release) - set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if (MSVC) set(TARGET_COMPILE_OPTIONS - /W4 /Zi + /W4 ) - set(CMAKE_EXE_LINKER_FLAGS "/DEBUG /INCREMENTAL:NO") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/build) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/build) @@ -25,12 +21,6 @@ else() set(TARGET_COMPILE_OPTIONS -Wall -Wextra -pedantic ) - # Release 模式優化設定 - # set(CMAKE_CXX_FLAGS_RELEASE "-O2 -s -DNDEBUG") - # # 靜態連結 MinGW 運行時庫 - # if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - # set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++ -static") - # endif() endif() if (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang") @@ -221,4 +211,3 @@ target_compile_options(AudioTest PRIVATE include(GoogleTest) gtest_discover_tests(Tests) -gtest_discover_tests(AudioTest) \ No newline at end of file From 7832d951c5a1d13b5dd3c256b501fb8981740514 Mon Sep 17 00:00:00 2001 From: Du-Brandon Date: Mon, 18 Aug 2025 20:24:27 +0800 Subject: [PATCH 06/14] delete wrong json --- CMakeLists.txt | 81 ++++++++++++++++++++++++++++++++++++++++++-------- config.json | 10 ------- 2 files changed, 69 insertions(+), 22 deletions(-) delete mode 100644 config.json diff --git a/CMakeLists.txt b/CMakeLists.txt index af856289..d11c29bc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,6 @@ cmake_minimum_required(VERSION 3.16) +# 解決 CMake 4.1.0 與舊版本相容性問題 if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.0") cmake_policy(SET CMP0000 NEW) set(CMAKE_POLICY_VERSION_MINIMUM 3.5) @@ -7,13 +8,17 @@ endif() project(PracticalToolsForSimpleDesign) +# 設定為 Release 模式以優化檔案大小和效能 +set(CMAKE_BUILD_TYPE Release) + set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if (MSVC) set(TARGET_COMPILE_OPTIONS - /W4 + /W4 /Zi ) + set(CMAKE_EXE_LINKER_FLAGS "/DEBUG /INCREMENTAL:NO") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/build) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/build) @@ -21,6 +26,12 @@ else() set(TARGET_COMPILE_OPTIONS -Wall -Wextra -pedantic ) + # Release 模式優化設定 + set(CMAKE_CXX_FLAGS_RELEASE "-O2 -s -DNDEBUG") + # # 靜態連結 MinGW 運行時庫 + # if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + # set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++ -static") + # endif() endif() if (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang") @@ -103,22 +114,70 @@ set(INCLUDE_FILES ) set(EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/example) set(EXAMPLE_FILES + ${EXAMPLE_DIR}/src/Angel.cpp ${EXAMPLE_DIR}/src/App.cpp - ${EXAMPLE_DIR}/src/Giraffe.cpp - ${EXAMPLE_DIR}/src/GiraffeText.cpp + ${EXAMPLE_DIR}/src/App_otherfunc.cpp + ${EXAMPLE_DIR}/src/Arrow.cpp + ${EXAMPLE_DIR}/src/Background.cpp + ${EXAMPLE_DIR}/src/Boss_1_1.cpp + ${EXAMPLE_DIR}/src/Boss_1_2.cpp + ${EXAMPLE_DIR}/src/Boss_1_3.cpp + ${EXAMPLE_DIR}/src/Boss_1_4.cpp + ${EXAMPLE_DIR}/src/Boss_2.cpp + ${EXAMPLE_DIR}/src/Boss_3.cpp + ${EXAMPLE_DIR}/src/Button.cpp ${EXAMPLE_DIR}/src/Cat.cpp - ${EXAMPLE_DIR}/src/main.cpp - + ${EXAMPLE_DIR}/src/Enemy.cpp + ${EXAMPLE_DIR}/src/Enemy_1.cpp + ${EXAMPLE_DIR}/src/Enemy_2.cpp + ${EXAMPLE_DIR}/src/Enemy_3.cpp + ${EXAMPLE_DIR}/src/Enemy_4.cpp + ${EXAMPLE_DIR}/src/Enemy_5.cpp + ${EXAMPLE_DIR}/src/Enemy_6.cpp + ${EXAMPLE_DIR}/src/Enemy_7.cpp + ${EXAMPLE_DIR}/src/EnemyArrow.cpp + ${EXAMPLE_DIR}/src/Exp.cpp + ${EXAMPLE_DIR}/src/Giraffe.cpp + ${EXAMPLE_DIR}/src/Giraffe_other_func.cpp + ${EXAMPLE_DIR}/src/Ground_Spikes.cpp + ${EXAMPLE_DIR}/src/Hp.cpp + ${EXAMPLE_DIR}/src/Skill.cpp + ${EXAMPLE_DIR}/src/Wall.cpp + ${EXAMPLE_DIR}/src/main.cpp + # ../public/TracyClient.cpp + + ${EXAMPLE_DIR}/include/Angel.hpp ${EXAMPLE_DIR}/include/App.hpp - ${EXAMPLE_DIR}/include/Giraffe.hpp - ${EXAMPLE_DIR}/include/GiraffeText.hpp + ${EXAMPLE_DIR}/include/Arrow.hpp + ${EXAMPLE_DIR}/include/Background.hpp + ${EXAMPLE_DIR}/include/Boss.hpp + ${EXAMPLE_DIR}/include/Button.hpp ${EXAMPLE_DIR}/include/Cat.hpp + ${EXAMPLE_DIR}/include/Enemy.hpp + ${EXAMPLE_DIR}/include/Enemy_1.hpp + ${EXAMPLE_DIR}/include/Enemy_2.hpp + ${EXAMPLE_DIR}/include/Enemy_3.hpp + ${EXAMPLE_DIR}/include/Enemy_4.hpp + ${EXAMPLE_DIR}/include/Enemy_5.hpp + ${EXAMPLE_DIR}/include/Enemy_6.hpp + ${EXAMPLE_DIR}/include/Enemy_7.hpp + ${EXAMPLE_DIR}/include/EnemyArrow.hpp + ${EXAMPLE_DIR}/include/Exp.hpp + ${EXAMPLE_DIR}/include/Giraffe.hpp + ${EXAMPLE_DIR}/include/Ground_Spikes.hpp + ${EXAMPLE_DIR}/include/Hp.hpp + ${EXAMPLE_DIR}/include/log_my.hpp + ${EXAMPLE_DIR}/include/Skill.hpp + ${EXAMPLE_DIR}/include/Wall.hpp + # ../public/tracy/Tracy.hpp + ) set(TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/test) set(TEST_FILES ${TEST_DIR}/SimpleTest.cpp ${TEST_DIR}/NotSimpleTest.cpp ${TEST_DIR}/TransformTest.cpp + ${TEST_DIR}/PositionTest.cpp ) add_library(PTSD STATIC @@ -135,11 +194,9 @@ target_include_directories(PTSD PRIVATE ${INCLUDE_DIR} ) if (CMAKE_BUILD_TYPE STREQUAL "Debug") - target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") + target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="./assets") else() - # TODO - message(AUTHOR_WARNING "relative PTSD_ASSETS_DIR is WIP, Please use `-DCMAKE_BUILD_TYPE=Debug` build for now.") - target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") + target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="./assets") endif() if (${PTSD_ENABLE_PCH}) target_precompile_headers(PTSD PRIVATE @@ -171,7 +228,7 @@ target_include_directories(Example PRIVATE ${EXAMPLE_DIR}/include ) -target_compile_definitions(Example PRIVATE ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") +target_compile_definitions(Example PRIVATE ASSETS_DIR="./assets") enable_testing() diff --git a/config.json b/config.json deleted file mode 100644 index 8d74dd8f..00000000 --- a/config.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "title": "Practice-Tools-for-Simple-Design", - "window_pos_x": 100, - "window_pos_y": 100, - "window_width": 1280, - "window_height": 720, - "default_log_level": 2, - "fps_cap": 60 -} - From cc5077324d65c61d9683d6f95950b3f68757a5db Mon Sep 17 00:00:00 2001 From: Du-Brandon Date: Mon, 18 Aug 2025 20:30:50 +0800 Subject: [PATCH 07/14] revise --- CMakeLists.txt | 81 ++++++++------------------------------------------ 1 file changed, 12 insertions(+), 69 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d11c29bc..af856289 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,5 @@ cmake_minimum_required(VERSION 3.16) -# 解決 CMake 4.1.0 與舊版本相容性問題 if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.0") cmake_policy(SET CMP0000 NEW) set(CMAKE_POLICY_VERSION_MINIMUM 3.5) @@ -8,17 +7,13 @@ endif() project(PracticalToolsForSimpleDesign) -# 設定為 Release 模式以優化檔案大小和效能 -set(CMAKE_BUILD_TYPE Release) - set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if (MSVC) set(TARGET_COMPILE_OPTIONS - /W4 /Zi + /W4 ) - set(CMAKE_EXE_LINKER_FLAGS "/DEBUG /INCREMENTAL:NO") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/build) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/build) @@ -26,12 +21,6 @@ else() set(TARGET_COMPILE_OPTIONS -Wall -Wextra -pedantic ) - # Release 模式優化設定 - set(CMAKE_CXX_FLAGS_RELEASE "-O2 -s -DNDEBUG") - # # 靜態連結 MinGW 運行時庫 - # if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - # set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++ -static") - # endif() endif() if (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang") @@ -114,70 +103,22 @@ set(INCLUDE_FILES ) set(EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/example) set(EXAMPLE_FILES - ${EXAMPLE_DIR}/src/Angel.cpp ${EXAMPLE_DIR}/src/App.cpp - ${EXAMPLE_DIR}/src/App_otherfunc.cpp - ${EXAMPLE_DIR}/src/Arrow.cpp - ${EXAMPLE_DIR}/src/Background.cpp - ${EXAMPLE_DIR}/src/Boss_1_1.cpp - ${EXAMPLE_DIR}/src/Boss_1_2.cpp - ${EXAMPLE_DIR}/src/Boss_1_3.cpp - ${EXAMPLE_DIR}/src/Boss_1_4.cpp - ${EXAMPLE_DIR}/src/Boss_2.cpp - ${EXAMPLE_DIR}/src/Boss_3.cpp - ${EXAMPLE_DIR}/src/Button.cpp - ${EXAMPLE_DIR}/src/Cat.cpp - ${EXAMPLE_DIR}/src/Enemy.cpp - ${EXAMPLE_DIR}/src/Enemy_1.cpp - ${EXAMPLE_DIR}/src/Enemy_2.cpp - ${EXAMPLE_DIR}/src/Enemy_3.cpp - ${EXAMPLE_DIR}/src/Enemy_4.cpp - ${EXAMPLE_DIR}/src/Enemy_5.cpp - ${EXAMPLE_DIR}/src/Enemy_6.cpp - ${EXAMPLE_DIR}/src/Enemy_7.cpp - ${EXAMPLE_DIR}/src/EnemyArrow.cpp - ${EXAMPLE_DIR}/src/Exp.cpp ${EXAMPLE_DIR}/src/Giraffe.cpp - ${EXAMPLE_DIR}/src/Giraffe_other_func.cpp - ${EXAMPLE_DIR}/src/Ground_Spikes.cpp - ${EXAMPLE_DIR}/src/Hp.cpp - ${EXAMPLE_DIR}/src/Skill.cpp - ${EXAMPLE_DIR}/src/Wall.cpp - ${EXAMPLE_DIR}/src/main.cpp - # ../public/TracyClient.cpp - - ${EXAMPLE_DIR}/include/Angel.hpp + ${EXAMPLE_DIR}/src/GiraffeText.cpp + ${EXAMPLE_DIR}/src/Cat.cpp + ${EXAMPLE_DIR}/src/main.cpp + ${EXAMPLE_DIR}/include/App.hpp - ${EXAMPLE_DIR}/include/Arrow.hpp - ${EXAMPLE_DIR}/include/Background.hpp - ${EXAMPLE_DIR}/include/Boss.hpp - ${EXAMPLE_DIR}/include/Button.hpp - ${EXAMPLE_DIR}/include/Cat.hpp - ${EXAMPLE_DIR}/include/Enemy.hpp - ${EXAMPLE_DIR}/include/Enemy_1.hpp - ${EXAMPLE_DIR}/include/Enemy_2.hpp - ${EXAMPLE_DIR}/include/Enemy_3.hpp - ${EXAMPLE_DIR}/include/Enemy_4.hpp - ${EXAMPLE_DIR}/include/Enemy_5.hpp - ${EXAMPLE_DIR}/include/Enemy_6.hpp - ${EXAMPLE_DIR}/include/Enemy_7.hpp - ${EXAMPLE_DIR}/include/EnemyArrow.hpp - ${EXAMPLE_DIR}/include/Exp.hpp ${EXAMPLE_DIR}/include/Giraffe.hpp - ${EXAMPLE_DIR}/include/Ground_Spikes.hpp - ${EXAMPLE_DIR}/include/Hp.hpp - ${EXAMPLE_DIR}/include/log_my.hpp - ${EXAMPLE_DIR}/include/Skill.hpp - ${EXAMPLE_DIR}/include/Wall.hpp - # ../public/tracy/Tracy.hpp - + ${EXAMPLE_DIR}/include/GiraffeText.hpp + ${EXAMPLE_DIR}/include/Cat.hpp ) set(TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/test) set(TEST_FILES ${TEST_DIR}/SimpleTest.cpp ${TEST_DIR}/NotSimpleTest.cpp ${TEST_DIR}/TransformTest.cpp - ${TEST_DIR}/PositionTest.cpp ) add_library(PTSD STATIC @@ -194,9 +135,11 @@ target_include_directories(PTSD PRIVATE ${INCLUDE_DIR} ) if (CMAKE_BUILD_TYPE STREQUAL "Debug") - target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="./assets") + target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") else() - target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="./assets") + # TODO + message(AUTHOR_WARNING "relative PTSD_ASSETS_DIR is WIP, Please use `-DCMAKE_BUILD_TYPE=Debug` build for now.") + target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") endif() if (${PTSD_ENABLE_PCH}) target_precompile_headers(PTSD PRIVATE @@ -228,7 +171,7 @@ target_include_directories(Example PRIVATE ${EXAMPLE_DIR}/include ) -target_compile_definitions(Example PRIVATE ASSETS_DIR="./assets") +target_compile_definitions(Example PRIVATE ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") enable_testing() From 08188ed958d2ffa3526e234e282c4b4b1d6d17e2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 20 Aug 2025 08:17:40 +0000 Subject: [PATCH 08/14] Initial plan From a61e23f29819e3376a6cee64a7141418f6f2f774 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 20 Aug 2025 08:21:04 +0000 Subject: [PATCH 09/14] Add .gitattributes and normalize CMakeLists.txt line endings to LF Co-authored-by: Du-Brandon <84231196+Du-Brandon@users.noreply.github.com> --- .gitattributes | 23 ++- CMakeLists.txt | 426 ++++++++++++++++++++++++------------------------- 2 files changed, 231 insertions(+), 218 deletions(-) diff --git a/.gitattributes b/.gitattributes index d2cef813..e8a948c6 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,9 +1,22 @@ -* text=auto - -*.vert text -*.frag text +# Enforce LF for common source files and CMake +CMakeLists.txt text eol=lf +*.cmake text eol=lf +*.cpp text eol=lf +*.cxx text eol=lf +*.cc text eol=lf +*.c text eol=lf +*.hpp text eol=lf +*.hh text eol=lf +*.h text eol=lf +*.ipp text eol=lf +*.inl text eol=lf +*.md text eol=lf +*.txt text eol=lf +# Binary *.png binary *.jpg binary *.jpeg binary -*.bmp binary +*.gif binary +*.zip binary +*.tar.gz binary diff --git a/CMakeLists.txt b/CMakeLists.txt index af856289..62f5f687 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,213 +1,213 @@ -cmake_minimum_required(VERSION 3.16) - -if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.0") - cmake_policy(SET CMP0000 NEW) - set(CMAKE_POLICY_VERSION_MINIMUM 3.5) -endif() - -project(PracticalToolsForSimpleDesign) - -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) -if (MSVC) - set(TARGET_COMPILE_OPTIONS - /W4 - ) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/build) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/build) -else() - set(TARGET_COMPILE_OPTIONS - -Wall -Wextra -pedantic - ) -endif() - -if (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - # see https://github.com/ntut-open-source-club/practical-tools-for-simple-design/issues/22 - set(CMAKE_RC_FLAGS="-C 1252") -endif() - -option(PTSD_ENABLE_PCH "Turn on PCH to increase compilation speed" OFF) - -include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Dependencies.cmake) - -set(SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) -set(SRC_FILES - ${SRC_DIR}/config.cpp - - ${SRC_DIR}/Core/Context.cpp - ${SRC_DIR}/Core/DebugMessageCallback.cpp - ${SRC_DIR}/Core/VertexArray.cpp - ${SRC_DIR}/Core/VertexBuffer.cpp - ${SRC_DIR}/Core/IndexBuffer.cpp - ${SRC_DIR}/Core/Shader.cpp - ${SRC_DIR}/Core/Program.cpp - ${SRC_DIR}/Core/Texture.cpp - ${SRC_DIR}/Core/TextureUtils.cpp - - ${SRC_DIR}/Util/LoadTextFile.cpp - ${SRC_DIR}/Util/Logger.cpp - ${SRC_DIR}/Util/Time.cpp - ${SRC_DIR}/Util/Input.cpp - ${SRC_DIR}/Util/SFX.cpp - ${SRC_DIR}/Util/BGM.cpp - ${SRC_DIR}/Util/Image.cpp - ${SRC_DIR}/Util/Text.cpp - ${SRC_DIR}/Util/TransformUtils.cpp - ${SRC_DIR}/Util/GameObject.cpp - ${SRC_DIR}/Util/Renderer.cpp - ${SRC_DIR}/Util/Color.cpp - ${SRC_DIR}/Util/Animation.cpp - ${SRC_DIR}/Util/MissingTexture.cpp - ${SRC_DIR}/Util/Position.cpp -) -set(INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include) -set(INCLUDE_FILES - ${INCLUDE_DIR}/pch.hpp - ${INCLUDE_DIR}/config.hpp - - ${INCLUDE_DIR}/Core/Context.hpp - ${INCLUDE_DIR}/Core/DebugMessageCallback.hpp - ${INCLUDE_DIR}/Core/VertexArray.hpp - ${INCLUDE_DIR}/Core/VertexBuffer.hpp - ${INCLUDE_DIR}/Core/UniformBuffer.hpp - ${INCLUDE_DIR}/Core/UniformBuffer.inl - ${INCLUDE_DIR}/Core/IndexBuffer.hpp - ${INCLUDE_DIR}/Core/Shader.hpp - ${INCLUDE_DIR}/Core/Program.hpp - ${INCLUDE_DIR}/Core/Texture.hpp - ${INCLUDE_DIR}/Core/TextureUtils.hpp - ${INCLUDE_DIR}/Core/Drawable.hpp - ${INCLUDE_DIR}/Core/MissingFontTextureBase64.hpp - ${INCLUDE_DIR}/Core/MissingImageTextureBase64.hpp - - ${INCLUDE_DIR}/Util/LoadTextFile.hpp - ${INCLUDE_DIR}/Util/Logger.hpp - ${INCLUDE_DIR}/Util/Time.hpp - ${INCLUDE_DIR}/Util/Input.hpp - ${INCLUDE_DIR}/Util/Keycode.hpp - ${INCLUDE_DIR}/Util/SFX.hpp - ${INCLUDE_DIR}/Util/BGM.hpp - ${INCLUDE_DIR}/Util/Image.hpp - ${INCLUDE_DIR}/Util/Text.hpp - ${INCLUDE_DIR}/Util/Transform.hpp - ${INCLUDE_DIR}/Util/TransformUtils.hpp - ${INCLUDE_DIR}/Util/GameObject.hpp - ${INCLUDE_DIR}/Util/Renderer.hpp - ${INCLUDE_DIR}/Util/Color.hpp - ${INCLUDE_DIR}/Util/MissingTexture.hpp - ${INCLUDE_DIR}/Util/Base64.hpp - ${INCLUDE_DIR}/Util/Animation.hpp - ${INCLUDE_DIR}/Util/Position.hpp -) -set(EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/example) -set(EXAMPLE_FILES - ${EXAMPLE_DIR}/src/App.cpp - ${EXAMPLE_DIR}/src/Giraffe.cpp - ${EXAMPLE_DIR}/src/GiraffeText.cpp - ${EXAMPLE_DIR}/src/Cat.cpp - ${EXAMPLE_DIR}/src/main.cpp - - ${EXAMPLE_DIR}/include/App.hpp - ${EXAMPLE_DIR}/include/Giraffe.hpp - ${EXAMPLE_DIR}/include/GiraffeText.hpp - ${EXAMPLE_DIR}/include/Cat.hpp -) -set(TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/test) -set(TEST_FILES - ${TEST_DIR}/SimpleTest.cpp - ${TEST_DIR}/NotSimpleTest.cpp - ${TEST_DIR}/TransformTest.cpp -) - -add_library(PTSD STATIC - ${SRC_FILES} - ${INCLUDE_FILES} -) -target_link_libraries(PTSD - ${DEPENDENCY_LINK_LIBRARIES} -) -target_include_directories(PTSD SYSTEM PRIVATE - ${DEPENDENCY_INCLUDE_DIRS} -) -target_include_directories(PTSD PRIVATE - ${INCLUDE_DIR} -) -if (CMAKE_BUILD_TYPE STREQUAL "Debug") - target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") -else() - # TODO - message(AUTHOR_WARNING "relative PTSD_ASSETS_DIR is WIP, Please use `-DCMAKE_BUILD_TYPE=Debug` build for now.") - target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") -endif() -if (${PTSD_ENABLE_PCH}) - target_precompile_headers(PTSD PRIVATE - include/pch.hpp - ) -endif() - -target_compile_options(PTSD PRIVATE - ${TARGET_COMPILE_OPTIONS} -) - -if(NOT PROJECT_IS_TOP_LEVEL) - set(DEPENDENCY_INCLUDE_DIRS ${DEPENDENCY_INCLUDE_DIRS} PARENT_SCOPE) - set(DEPENDENCY_LINK_LIBRARIES ${DEPENDENCY_LINK_LIBRARIES} PARENT_SCOPE) -endif() - -add_executable(Example EXCLUDE_FROM_ALL - ${EXAMPLE_FILES} -) -target_link_libraries(Example - SDL2::SDL2main # IDK what happens if we don't link SDL2main - PTSD -) -target_include_directories(Example SYSTEM PRIVATE - ${INCLUDE_DIR} - ${DEPENDENCY_INCLUDE_DIRS} -) -target_include_directories(Example PRIVATE - ${EXAMPLE_DIR}/include -) - -target_compile_definitions(Example PRIVATE ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") - -enable_testing() - -add_executable(Tests EXCLUDE_FROM_ALL - ${TEST_FILES} -) -target_link_libraries(Tests - PTSD - GTest::gtest_main -) -target_include_directories(Tests SYSTEM PRIVATE - ${INCLUDE_DIR} - ${DEPENDENCY_INCLUDE_DIRS} - lib/googletest/googletest/include - lib/googletest/googlemock/include -) -target_compile_options(Tests PRIVATE - ${TARGET_COMPILE_OPTIONS} -) - -add_executable(AudioTest EXCLUDE_FROM_ALL - ${TEST_DIR}/Interactive/Audio.cpp -) -target_link_libraries(AudioTest - PTSD - GTest::gtest_main -) -target_include_directories(AudioTest SYSTEM PRIVATE - ${INCLUDE_DIR} - ${DEPENDENCY_INCLUDE_DIRS} - lib/googletest/googletest/include - lib/googletest/googlemock/include -) -target_compile_options(AudioTest PRIVATE - ${TARGET_COMPILE_OPTIONS} -) - -include(GoogleTest) -gtest_discover_tests(Tests) +cmake_minimum_required(VERSION 3.16) + +if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.0") + cmake_policy(SET CMP0000 NEW) + set(CMAKE_POLICY_VERSION_MINIMUM 3.5) +endif() + +project(PracticalToolsForSimpleDesign) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) +if (MSVC) + set(TARGET_COMPILE_OPTIONS + /W4 + ) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/build) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/build) +else() + set(TARGET_COMPILE_OPTIONS + -Wall -Wextra -pedantic + ) +endif() + +if (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + # see https://github.com/ntut-open-source-club/practical-tools-for-simple-design/issues/22 + set(CMAKE_RC_FLAGS="-C 1252") +endif() + +option(PTSD_ENABLE_PCH "Turn on PCH to increase compilation speed" OFF) + +include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Dependencies.cmake) + +set(SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) +set(SRC_FILES + ${SRC_DIR}/config.cpp + + ${SRC_DIR}/Core/Context.cpp + ${SRC_DIR}/Core/DebugMessageCallback.cpp + ${SRC_DIR}/Core/VertexArray.cpp + ${SRC_DIR}/Core/VertexBuffer.cpp + ${SRC_DIR}/Core/IndexBuffer.cpp + ${SRC_DIR}/Core/Shader.cpp + ${SRC_DIR}/Core/Program.cpp + ${SRC_DIR}/Core/Texture.cpp + ${SRC_DIR}/Core/TextureUtils.cpp + + ${SRC_DIR}/Util/LoadTextFile.cpp + ${SRC_DIR}/Util/Logger.cpp + ${SRC_DIR}/Util/Time.cpp + ${SRC_DIR}/Util/Input.cpp + ${SRC_DIR}/Util/SFX.cpp + ${SRC_DIR}/Util/BGM.cpp + ${SRC_DIR}/Util/Image.cpp + ${SRC_DIR}/Util/Text.cpp + ${SRC_DIR}/Util/TransformUtils.cpp + ${SRC_DIR}/Util/GameObject.cpp + ${SRC_DIR}/Util/Renderer.cpp + ${SRC_DIR}/Util/Color.cpp + ${SRC_DIR}/Util/Animation.cpp + ${SRC_DIR}/Util/MissingTexture.cpp + ${SRC_DIR}/Util/Position.cpp +) +set(INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include) +set(INCLUDE_FILES + ${INCLUDE_DIR}/pch.hpp + ${INCLUDE_DIR}/config.hpp + + ${INCLUDE_DIR}/Core/Context.hpp + ${INCLUDE_DIR}/Core/DebugMessageCallback.hpp + ${INCLUDE_DIR}/Core/VertexArray.hpp + ${INCLUDE_DIR}/Core/VertexBuffer.hpp + ${INCLUDE_DIR}/Core/UniformBuffer.hpp + ${INCLUDE_DIR}/Core/UniformBuffer.inl + ${INCLUDE_DIR}/Core/IndexBuffer.hpp + ${INCLUDE_DIR}/Core/Shader.hpp + ${INCLUDE_DIR}/Core/Program.hpp + ${INCLUDE_DIR}/Core/Texture.hpp + ${INCLUDE_DIR}/Core/TextureUtils.hpp + ${INCLUDE_DIR}/Core/Drawable.hpp + ${INCLUDE_DIR}/Core/MissingFontTextureBase64.hpp + ${INCLUDE_DIR}/Core/MissingImageTextureBase64.hpp + + ${INCLUDE_DIR}/Util/LoadTextFile.hpp + ${INCLUDE_DIR}/Util/Logger.hpp + ${INCLUDE_DIR}/Util/Time.hpp + ${INCLUDE_DIR}/Util/Input.hpp + ${INCLUDE_DIR}/Util/Keycode.hpp + ${INCLUDE_DIR}/Util/SFX.hpp + ${INCLUDE_DIR}/Util/BGM.hpp + ${INCLUDE_DIR}/Util/Image.hpp + ${INCLUDE_DIR}/Util/Text.hpp + ${INCLUDE_DIR}/Util/Transform.hpp + ${INCLUDE_DIR}/Util/TransformUtils.hpp + ${INCLUDE_DIR}/Util/GameObject.hpp + ${INCLUDE_DIR}/Util/Renderer.hpp + ${INCLUDE_DIR}/Util/Color.hpp + ${INCLUDE_DIR}/Util/MissingTexture.hpp + ${INCLUDE_DIR}/Util/Base64.hpp + ${INCLUDE_DIR}/Util/Animation.hpp + ${INCLUDE_DIR}/Util/Position.hpp +) +set(EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/example) +set(EXAMPLE_FILES + ${EXAMPLE_DIR}/src/App.cpp + ${EXAMPLE_DIR}/src/Giraffe.cpp + ${EXAMPLE_DIR}/src/GiraffeText.cpp + ${EXAMPLE_DIR}/src/Cat.cpp + ${EXAMPLE_DIR}/src/main.cpp + + ${EXAMPLE_DIR}/include/App.hpp + ${EXAMPLE_DIR}/include/Giraffe.hpp + ${EXAMPLE_DIR}/include/GiraffeText.hpp + ${EXAMPLE_DIR}/include/Cat.hpp +) +set(TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/test) +set(TEST_FILES + ${TEST_DIR}/SimpleTest.cpp + ${TEST_DIR}/NotSimpleTest.cpp + ${TEST_DIR}/TransformTest.cpp +) + +add_library(PTSD STATIC + ${SRC_FILES} + ${INCLUDE_FILES} +) +target_link_libraries(PTSD + ${DEPENDENCY_LINK_LIBRARIES} +) +target_include_directories(PTSD SYSTEM PRIVATE + ${DEPENDENCY_INCLUDE_DIRS} +) +target_include_directories(PTSD PRIVATE + ${INCLUDE_DIR} +) +if (CMAKE_BUILD_TYPE STREQUAL "Debug") + target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") +else() + # TODO + message(AUTHOR_WARNING "relative PTSD_ASSETS_DIR is WIP, Please use `-DCMAKE_BUILD_TYPE=Debug` build for now.") + target_compile_definitions(PTSD PRIVATE PTSD_ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") +endif() +if (${PTSD_ENABLE_PCH}) + target_precompile_headers(PTSD PRIVATE + include/pch.hpp + ) +endif() + +target_compile_options(PTSD PRIVATE + ${TARGET_COMPILE_OPTIONS} +) + +if(NOT PROJECT_IS_TOP_LEVEL) + set(DEPENDENCY_INCLUDE_DIRS ${DEPENDENCY_INCLUDE_DIRS} PARENT_SCOPE) + set(DEPENDENCY_LINK_LIBRARIES ${DEPENDENCY_LINK_LIBRARIES} PARENT_SCOPE) +endif() + +add_executable(Example EXCLUDE_FROM_ALL + ${EXAMPLE_FILES} +) +target_link_libraries(Example + SDL2::SDL2main # IDK what happens if we don't link SDL2main + PTSD +) +target_include_directories(Example SYSTEM PRIVATE + ${INCLUDE_DIR} + ${DEPENDENCY_INCLUDE_DIRS} +) +target_include_directories(Example PRIVATE + ${EXAMPLE_DIR}/include +) + +target_compile_definitions(Example PRIVATE ASSETS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/assets") + +enable_testing() + +add_executable(Tests EXCLUDE_FROM_ALL + ${TEST_FILES} +) +target_link_libraries(Tests + PTSD + GTest::gtest_main +) +target_include_directories(Tests SYSTEM PRIVATE + ${INCLUDE_DIR} + ${DEPENDENCY_INCLUDE_DIRS} + lib/googletest/googletest/include + lib/googletest/googlemock/include +) +target_compile_options(Tests PRIVATE + ${TARGET_COMPILE_OPTIONS} +) + +add_executable(AudioTest EXCLUDE_FROM_ALL + ${TEST_DIR}/Interactive/Audio.cpp +) +target_link_libraries(AudioTest + PTSD + GTest::gtest_main +) +target_include_directories(AudioTest SYSTEM PRIVATE + ${INCLUDE_DIR} + ${DEPENDENCY_INCLUDE_DIRS} + lib/googletest/googletest/include + lib/googletest/googlemock/include +) +target_compile_options(AudioTest PRIVATE + ${TARGET_COMPILE_OPTIONS} +) + +include(GoogleTest) +gtest_discover_tests(Tests) From 7dd20f2d0259eb8e524507830d3f7154d4bbf3de Mon Sep 17 00:00:00 2001 From: Du-Brandon Date: Wed, 20 Aug 2025 20:08:14 +0800 Subject: [PATCH 10/14] =?UTF-8?q?=E6=9B=B4=E6=AD=A3=E6=8F=9B=E8=A1=8C?= =?UTF-8?q?=E7=AC=A6=E8=99=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 22 ---------------------- Original-CMakeLists.txt | Bin 0 -> 12634 bytes 2 files changed, 22 deletions(-) delete mode 100644 .gitattributes create mode 100644 Original-CMakeLists.txt diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index e8a948c6..00000000 --- a/.gitattributes +++ /dev/null @@ -1,22 +0,0 @@ -# Enforce LF for common source files and CMake -CMakeLists.txt text eol=lf -*.cmake text eol=lf -*.cpp text eol=lf -*.cxx text eol=lf -*.cc text eol=lf -*.c text eol=lf -*.hpp text eol=lf -*.hh text eol=lf -*.h text eol=lf -*.ipp text eol=lf -*.inl text eol=lf -*.md text eol=lf -*.txt text eol=lf - -# Binary -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.zip binary -*.tar.gz binary diff --git a/Original-CMakeLists.txt b/Original-CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..9e42d7cd02d4ec3a0564966e5e60f2e73ade9401 GIT binary patch literal 12634 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 A^#A|> literal 0 HcmV?d00001 From ae98b56be6f458134cd92cb6687ada7bae6b00d9 Mon Sep 17 00:00:00 2001 From: Du-Brandon Date: Wed, 20 Aug 2025 20:29:37 +0800 Subject: [PATCH 11/14] =?UTF-8?q?=E6=9B=B4=E6=AD=A3=E6=8F=9B=E8=A1=8C?= =?UTF-8?q?=E7=AC=A6=E8=99=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | Bin 6103 -> 12634 bytes Original-CMakeLists.txt | Bin 12634 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Original-CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 62f5f6873aff6be8b858f786a2e0a9d4412093c0..9e42d7cd02d4ec3a0564966e5e60f2e73ade9401 100644 GIT binary patch literal 12634 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 A^#A|> literal 6103 zcmcgwTW_N{6n@XIusW4Cl{RIjb6Kg7?ThR zPDZoZKD254`S|#p?|k;LzxE!9yAI=UU9R1X{8NS*35GY=vNc0TAJ0F0IU5YZhoLf) zud!Qy&;Pm;3(F3+T>RHuo}!aa=kHI>28jOn%x;=Qq5m?pv4fPE`JVnD9p6@noD|%s zX-qZczP9boG+mp`XLRk)X9E%kbaCoJnk9b|zZjaC=NF;xMNX1L`8dh!aGgd(C3(1v zDQ;(0xw~_1N7hx@QqhM$&U%Jii#o4aSVe~3#^5^#>ktSV8RPL8jRP9a>>Fjb14p(d z*l`tOW@=OH8m0qi76J%^bo+^Y-c6|DXw7v;n^FASG3Sn}()AU`u^ zr6llTnqeNdEde0*x0?R(0@0LGIsqLa#XR(utEtF#Aeq2KCGz4W=i)o+1wpH#Nb^fc zT871{T%7yKT8fLZ7$qr*M|o0aJ{kE@xscMDVWR>lHhM_1QO-y<3K+|zFwaYpOBWa0 zE%K}??szIs?5`&y1%0^qd_f)9`k$mln8ZWVu~irA@)c!^seD5xPMO6hi4pu$Bq)si zjCeUg)WI~2JeY*?l#t-0;^2THqB0;u5mi|ENh+ax3rOsTBtK_g@dB|e1t=xVWuEy} zIRJP}$z8Gf^p#KENPZGOgv)b3O$RIxjUgq;h@>QOL6gb=z=ig>N*3jEM)KTS5`}VL z;rWlf;2V-rV{(>xF9$GJ<--HXdO;eE$nyb=z48Kq2{TKUnYZp;!lAn^GjeErUW5_N zOGo%%M4BdE0G7sK)M<)?mdkEW*{~C?`{!zLT6SiKO|{2&T^nFySCd)qn6{?r>>Y&- z^$%uVoYQh!!y;8=TD)PaPrNlT7H}H$TC#xmnIJGq5+$7+VJpb=IAoRAyTFWUKo~Ct znP!H}BoCp2nVqVfG+mj_RVL}e`r~E3KdD)V4MQ6#^;hRB%A_h@dqccTVYF*_uT*Ll@7i>=rffPBm6-g1O5=s%GC50lWn0d_io%D(f zZFLnul|LBTw&yNe{>@IS9Hfl)i@NuvfeLF3Jo{#2WJgnYRJYgNO-tsO ziyO+e!poMVpeEu+Zin8lnI%3$#U|EOtkb4;s_EDC*Oet(8nzp=c{1F9_S=4uWVH!o z-`ftJA=A=sXlwn}V&iN-%HF=A#%yo~nyRXIxteQJ)phPo+~}g%k6b=4dU<+=0Cu-seO z(lvd8PBH?G(GSvI423zm)y&_K8L=L!qo2MQkQk}3fSm7TY0P6&<<0luibq*&;%ZU zbi<)JHvXg!6|QExj$yh}e1oUEKEFZx2F+|L13e=fWXjbmhhmtx)6jnX?3>yjYa81( z-cau3nfPS^ccme&^dI57>K;C}jF~G>r@Yc?eLGO?+zOjytJ90iOZW{6jou+my+%(f zuRtp=r5$*VXttjS3X=G@0)cFx8qDSc3wE;7B@DICo!ZcdbuC$a@jh;qeZ{B)!k(bG zb3lm}ubO&LyUPuspH>6|52(@+q0<_j=I__U-uI$DEC&d z7>p1X6J}sCXKLxu5(X8LO3i$P#@v_!l0(Y$pH! diff --git a/Original-CMakeLists.txt b/Original-CMakeLists.txt deleted file mode 100644 index 9e42d7cd02d4ec3a0564966e5e60f2e73ade9401..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12634 zcmeHNTW=ai6rSfw{SU~gR4Ub_Nt0BHln0ElLt_I4>?BVcV^i$b2I|FiqRM~0?f1=a zJQtQVJ4@QCs?d5b-Z^v5cdj#M|NP@rU8xiGiyEl}R~Kr6<4WD&NYpi+{)+1heRZa) z>R2^ZPxVzxbyQnb)OYF|^;kVuU#ZX4XZpBMKjFQGI#hM_8gC~{V|*Hk+6ToZ-X3V$ z3I6`5j&Oef`djKLX80CoGeZT>_;b0Qsj0dIkEiM*X6|GB0B?|kE=HPP1>82(n}A9R z`Q`z)T}XBS`5Nlo67LCUwm_+c^AQds|FZ?v5wJT0AC%wXF#~o}^)qHV)pK=mf1z-!H}% z8JB3SP!lbEMM~7U;UbSx6MRsY?Rz`v>#=)~&x|HU6`*v8H;#d{c`CXU+LWUQ>!3ap zyw$<`U2t=NCkgJlcy8>luPsl;%ee-9KlT2TJ&$XvJ;>YEbPpG^9O15ur{rOGfkgv% z9q{%JQhcF)*S03s-oU#(jTq@rA07Rqq3Ib4cdDj_+OIBQF`MU#oHo@C=H36-a!8-2 zChI_`xj`;R+LK22J}B0(DXZFsRncoN!85N%>I3|mKF#|X?$2;N!87_dqoQzN^qd_f z#3SCo!rF+cPcX`Ov592Xx{R0m-q3@cwY0C(`-!X@K^x$e9F3Qv=p)QRTt+ybgX1~) zPt^-pXAN&(;Qky|Iz$9MMP$0dQ_6LNV;lFBb%LuD*Ec}m6!+Wsd#T6N@c%HO@+2O}HpAqEYf!jblC zR&*{cHy31Eq>QV<`llKbp}VK!MG@Y7T4QaEMew!b2blY+5H5Bstz-sVi+GhC-A4?3 z>tUGhk9On^V*g>($QEQZzU%64-FZb{abs!06IhMOj8~}Nm>)trT9=o7?GGd5lHvXO zBZjXYbZ>l}-VtX*jIftD;zrjoKW)(F%NRKhL4%Q*xpa)YZK8cqpBJ6fkm;wIn&fbo zCzCfNXR@Yiz^9LpHMw>vn>+n#Ab+maxip(Au1#jhRp;=Y^ZRV-+T7}KelE77!^pRq z!s?uCsjbJ0rL=x-j-O*yj@}GKKf}h;Jkow7(dF-;N=v=;YIbJ6b@b27kyT&BOYhei z@pQs^Bc4(igEmD;VifC-c$&MqqPj)Y9YTk!J>qHkv6uT?thasncQ6wp=5xL0x2d^o zK3{LP^<$NwoL8+CmBOcKtG0MLwt9=FL0^JNL?7ui`0kl z6s%p9kwk2=9F4GU+$=T0JtmsS*c$3_uFk@0G#>xusx+P!YXzxJb@iLg6{}yfGgSl6+)Hw+ zdbjd?c>F$A8uU!F%d#mtVps9>xF@xGJ^rvzOp%R zQIbBK+fia4mHh~Ifd)W-MF&1~dCssnaRr9^`UQ^$~DjCwv!&YXhwF zY!9Rg9@#&Cg}2zLe4{OtUs1Gme|ih{#;&c|-TMvK56Q>AT8g*WE$ynW_4`CpdTckE z+lqRR&fl(wLY6LH;vMPUya%lz_N%FxGhCa!k_t34Rkw(D|24gaU#y7z(|W9pW%WMq zg6|f53uo__U%dEsey(*yYrlquY@`eA+qEU}AU|T|?NOR|m)+g`M)Ur!wb*vme1c817~di*AbycZjD zr+H+Cp-q_YTlg&kW1_)b^p($3Ue?OvD{tJxyk*;j)CgQx&}MHCgJsXF3c1|XMg{k8 zp&PrGzXvS%WfCLt0e-IS65p^AE?*z`9J%wcqB+194lnSNYpK>NiqV>1iM+=77JGS& zxBTwoM6Yv*4P&Z_0JlJ*f(Xccx-a#6te{x4F!PyNgtE(l#0)+wQ+N0>7OOt8?R~j& zD{A?hmMOnh3GK#Yc2?qkB(z-dDnGuhsxv~gea`qL(xtA$I6O;)?CzE?aHORpISc1v&2Q$L*&^$BB_y;o;$vmoL}UcwKge~@h72AOo~+U zpVF5^db2j;7iau7Y^-bI`2vqsPnUh5IJGOx#&2>~dsMzRh1G(KvF|~y{>#=2`Le89$>7JQI8;eHm^h!=`=I(KhmK6fu5%TgtOWUqNG9YN8>?4R+OWuE@` z9r4di`%V_tpU#K;=uyQg)J7h$KV!pgET&(jdQC&yzedGJkKjHS*9tN&UBv0X0N;Rk A^#A|> From 42b9679ac5b44ea2874796808681263a1f971b53 Mon Sep 17 00:00:00 2001 From: Du-Brandon Date: Wed, 20 Aug 2025 21:35:02 +0800 Subject: [PATCH 12/14] =?UTF-8?q?=E6=9B=B4=E6=AD=A3=E6=8F=9B=E8=A1=8C?= =?UTF-8?q?=E7=AC=A6=E8=99=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | Bin 12634 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 9e42d7cd02d4ec3a0564966e5e60f2e73ade9401..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12634 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 A^#A|> From 7a5adbea48dbea151d5a1f402a4c72c115c065c5 Mon Sep 17 00:00:00 2001 From: Du-Brandon Date: Wed, 20 Aug 2025 21:35:13 +0800 Subject: [PATCH 13/14] =?UTF-8?q?=E6=9B=B4=E6=AD=A3=E6=8F=9B=E8=A1=8C?= =?UTF-8?q?=E7=AC=A6=E8=99=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | Bin 0 -> 12634 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..9e42d7cd02d4ec3a0564966e5e60f2e73ade9401 GIT binary patch literal 12634 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 A^#A|> literal 0 HcmV?d00001 From 35bb5152e16a3e7fda1af1cc413b6246a3384267 Mon Sep 17 00:00:00 2001 From: Du-Brandon Date: Wed, 20 Aug 2025 21:50:25 +0800 Subject: [PATCH 14/14] =?UTF-8?q?=E9=87=8D=E6=96=B0=E4=BE=86=E9=81=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 9 +++++++++ CMakeLists.txt | Bin 12634 -> 6103 bytes 2 files changed, 9 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..d2cef813 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,9 @@ +* text=auto + +*.vert text +*.frag text + +*.png binary +*.jpg binary +*.jpeg binary +*.bmp binary diff --git a/CMakeLists.txt b/CMakeLists.txt index 9e42d7cd02d4ec3a0564966e5e60f2e73ade9401..62f5f6873aff6be8b858f786a2e0a9d4412093c0 100644 GIT binary patch literal 6103 zcmcgwTW_N{6n@XIusW4Cl{RIjb6Kg7?ThR zPDZoZKD254`S|#p?|k;LzxE!9yAI=UU9R1X{8NS*35GY=vNc0TAJ0F0IU5YZhoLf) zud!Qy&;Pm;3(F3+T>RHuo}!aa=kHI>28jOn%x;=Qq5m?pv4fPE`JVnD9p6@noD|%s zX-qZczP9boG+mp`XLRk)X9E%kbaCoJnk9b|zZjaC=NF;xMNX1L`8dh!aGgd(C3(1v zDQ;(0xw~_1N7hx@QqhM$&U%Jii#o4aSVe~3#^5^#>ktSV8RPL8jRP9a>>Fjb14p(d z*l`tOW@=OH8m0qi76J%^bo+^Y-c6|DXw7v;n^FASG3Sn}()AU`u^ zr6llTnqeNdEde0*x0?R(0@0LGIsqLa#XR(utEtF#Aeq2KCGz4W=i)o+1wpH#Nb^fc zT871{T%7yKT8fLZ7$qr*M|o0aJ{kE@xscMDVWR>lHhM_1QO-y<3K+|zFwaYpOBWa0 zE%K}??szIs?5`&y1%0^qd_f)9`k$mln8ZWVu~irA@)c!^seD5xPMO6hi4pu$Bq)si zjCeUg)WI~2JeY*?l#t-0;^2THqB0;u5mi|ENh+ax3rOsTBtK_g@dB|e1t=xVWuEy} zIRJP}$z8Gf^p#KENPZGOgv)b3O$RIxjUgq;h@>QOL6gb=z=ig>N*3jEM)KTS5`}VL z;rWlf;2V-rV{(>xF9$GJ<--HXdO;eE$nyb=z48Kq2{TKUnYZp;!lAn^GjeErUW5_N zOGo%%M4BdE0G7sK)M<)?mdkEW*{~C?`{!zLT6SiKO|{2&T^nFySCd)qn6{?r>>Y&- z^$%uVoYQh!!y;8=TD)PaPrNlT7H}H$TC#xmnIJGq5+$7+VJpb=IAoRAyTFWUKo~Ct znP!H}BoCp2nVqVfG+mj_RVL}e`r~E3KdD)V4MQ6#^;hRB%A_h@dqccTVYF*_uT*Ll@7i>=rffPBm6-g1O5=s%GC50lWn0d_io%D(f zZFLnul|LBTw&yNe{>@IS9Hfl)i@NuvfeLF3Jo{#2WJgnYRJYgNO-tsO ziyO+e!poMVpeEu+Zin8lnI%3$#U|EOtkb4;s_EDC*Oet(8nzp=c{1F9_S=4uWVH!o z-`ftJA=A=sXlwn}V&iN-%HF=A#%yo~nyRXIxteQJ)phPo+~}g%k6b=4dU<+=0Cu-seO z(lvd8PBH?G(GSvI423zm)y&_K8L=L!qo2MQkQk}3fSm7TY0P6&<<0luibq*&;%ZU zbi<)JHvXg!6|QExj$yh}e1oUEKEFZx2F+|L13e=fWXjbmhhmtx)6jnX?3>yjYa81( z-cau3nfPS^ccme&^dI57>K;C}jF~G>r@Yc?eLGO?+zOjytJ90iOZW{6jou+my+%(f zuRtp=r5$*VXttjS3X=G@0)cFx8qDSc3wE;7B@DICo!ZcdbuC$a@jh;qeZ{B)!k(bG zb3lm}ubO&LyUPuspH>6|52(@+q0<_j=I__U-uI$DEC&d z7>p1X6J}sCXKLxu5(X8LO3i$P#@v_!l0(Y$pH! literal 12634 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 A^#A|>