From eba55142ae76b6f907049e55549a525befdf7001 Mon Sep 17 00:00:00 2001 From: altalk23 <45172705+altalk23@users.noreply.github.com> Date: Sun, 1 Mar 2026 15:05:19 +0300 Subject: [PATCH 1/5] add cmakelist --- .gitignore | 3 ++ CMakeLists.txt | 6 ++++ Windows_Libs/Dev/CMakeLists.txt | 8 +++++ Windows_Libs/Dev/Input/CMakeLists.txt | 21 +++++++++++++ Windows_Libs/Dev/Profile/CMakeLists.txt | 21 +++++++++++++ Windows_Libs/Dev/Render/CMakeLists.txt | 28 +++++++++++++++++ Windows_Libs/Dev/Render/libpng/CMakeLists.txt | 30 +++++++++++++++++++ Windows_Libs/Dev/Storage/CMakeLists.txt | 19 ++++++++++++ 8 files changed, 136 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 Windows_Libs/Dev/CMakeLists.txt create mode 100644 Windows_Libs/Dev/Input/CMakeLists.txt create mode 100644 Windows_Libs/Dev/Profile/CMakeLists.txt create mode 100644 Windows_Libs/Dev/Render/CMakeLists.txt create mode 100644 Windows_Libs/Dev/Render/libpng/CMakeLists.txt create mode 100644 Windows_Libs/Dev/Storage/CMakeLists.txt diff --git a/.gitignore b/.gitignore index 5704d07..938a4d8 100644 --- a/.gitignore +++ b/.gitignore @@ -433,3 +433,6 @@ FodyWeavers.xsd 4J_Profile.h extraX64.h + +.vscode/ +build/ \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..0d9f0b3 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,6 @@ +cmake_minimum_required(VERSION 3.25 FATAL_ERROR) + +project(4JLibs LANGUAGES CXX) + +# TODO: target selection? +add_subdirectory(Windows_Libs/Dev) \ No newline at end of file diff --git a/Windows_Libs/Dev/CMakeLists.txt b/Windows_Libs/Dev/CMakeLists.txt new file mode 100644 index 0000000..0463046 --- /dev/null +++ b/Windows_Libs/Dev/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.25 FATAL_ERROR) + +project(4JLibs.Windows LANGUAGES CXX) + +add_subdirectory(Input) +add_subdirectory(Profile) +add_subdirectory(Render) +add_subdirectory(Storage) diff --git a/Windows_Libs/Dev/Input/CMakeLists.txt b/Windows_Libs/Dev/Input/CMakeLists.txt new file mode 100644 index 0000000..a64286f --- /dev/null +++ b/Windows_Libs/Dev/Input/CMakeLists.txt @@ -0,0 +1,21 @@ +cmake_minimum_required(VERSION 3.25 FATAL_ERROR) + +project(4JLibs.Windows.Input LANGUAGES CXX) + +add_library(${PROJECT_NAME} STATIC + 4J_Input.cpp + INP_ForceFeedback.cpp + INP_Keyboard.cpp + INP_Main.cpp + INP_StringCheck.cpp + LinkedList.cpp + stdafx.cpp +) + +target_include_directories(${PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} +) + +target_precompile_headers(${PROJECT_NAME} PRIVATE + stdafx.h +) \ No newline at end of file diff --git a/Windows_Libs/Dev/Profile/CMakeLists.txt b/Windows_Libs/Dev/Profile/CMakeLists.txt new file mode 100644 index 0000000..689f248 --- /dev/null +++ b/Windows_Libs/Dev/Profile/CMakeLists.txt @@ -0,0 +1,21 @@ +cmake_minimum_required(VERSION 3.25 FATAL_ERROR) + +project(4JLibs.Windows.Profile LANGUAGES CXX) + +add_library(${PROJECT_NAME} STATIC + 4J_Profile.cpp + PRO_AwardManager.cpp + PRO_Data.cpp + PRO_Main.cpp + PRO_RichPresence.cpp + PRO_Sys.cpp + stdafx.cpp +) + +target_include_directories(${PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} +) + +target_precompile_headers(${PROJECT_NAME} PRIVATE + stdafx.h +) \ No newline at end of file diff --git a/Windows_Libs/Dev/Render/CMakeLists.txt b/Windows_Libs/Dev/Render/CMakeLists.txt new file mode 100644 index 0000000..ebe8541 --- /dev/null +++ b/Windows_Libs/Dev/Render/CMakeLists.txt @@ -0,0 +1,28 @@ +cmake_minimum_required(VERSION 3.25 FATAL_ERROR) + +project(4JLibs.Windows.Render LANGUAGES C CXX) + +add_library(${PROJECT_NAME} STATIC + 4J_Render.cpp + RendererCBuff.cpp + RendererCore.cpp + RendererMatrix.cpp + RendererState.cpp + RendererTexture.cpp + RendererVertex.cpp + stdafx.cpp +) + +target_include_directories(${PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} +) + +target_precompile_headers(${PROJECT_NAME} PRIVATE + stdafx.h +) + +add_subdirectory(libpng) + +target_link_libraries(${PROJECT_NAME} PRIVATE + 4JLibs.Windows.Render.libpng +) \ No newline at end of file diff --git a/Windows_Libs/Dev/Render/libpng/CMakeLists.txt b/Windows_Libs/Dev/Render/libpng/CMakeLists.txt new file mode 100644 index 0000000..3a242d2 --- /dev/null +++ b/Windows_Libs/Dev/Render/libpng/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 3.25 FATAL_ERROR) + +project(4JLibs.Windows.Render.libpng LANGUAGES C) + +add_library(${PROJECT_NAME} STATIC + png.c + pngerror.c + pngget.c + pngmem.c + pngpread.c + pngread.c + pngrio.c + pngrtran.c + pngrutil.c + pngset.c + pngtest.c + pngtrans.c + pngwio.c + pngwrite.c + pngwtran.c + pngwutil.c +) + +target_include_directories(${PROJECT_NAME} PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} +) + +target_include_directories(${PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../zlib +) diff --git a/Windows_Libs/Dev/Storage/CMakeLists.txt b/Windows_Libs/Dev/Storage/CMakeLists.txt new file mode 100644 index 0000000..e6fbbbd --- /dev/null +++ b/Windows_Libs/Dev/Storage/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 3.25 FATAL_ERROR) + +project(4JLibs.Windows.Storage LANGUAGES C CXX) + +add_library(${PROJECT_NAME} STATIC + 4J_Storage.cpp + stdafx.cpp + STO_DLC.cpp + STO_Main.cpp + STO_SaveGame.cpp +) + +target_include_directories(${PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} +) + +target_precompile_headers(${PROJECT_NAME} PRIVATE + stdafx.h +) \ No newline at end of file From 7f5a784048c6cc24136eb8ec9a654e8f0e4dfdc3 Mon Sep 17 00:00:00 2001 From: altalk23 <45172705+altalk23@users.noreply.github.com> Date: Sun, 1 Mar 2026 15:06:56 +0300 Subject: [PATCH 2/5] fix 2 warnings --- Windows_Libs/Dev/Input/INP_ForceFeedback.cpp | 2 +- Windows_Libs/Dev/Storage/STO_SaveGame.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Windows_Libs/Dev/Input/INP_ForceFeedback.cpp b/Windows_Libs/Dev/Input/INP_ForceFeedback.cpp index d8b5709..f31429a 100644 --- a/Windows_Libs/Dev/Input/INP_ForceFeedback.cpp +++ b/Windows_Libs/Dev/Input/INP_ForceFeedback.cpp @@ -107,7 +107,7 @@ void CForceFeedback::Tick(void) LinkedList::_LL_NODE* pTemp = pRumbleNode; pRumbleNode = pRumbleNode->m_Next; - delete pTemp->m_pvData; + delete pTemp->GetDataAs(); delete pTemp; } else diff --git a/Windows_Libs/Dev/Storage/STO_SaveGame.cpp b/Windows_Libs/Dev/Storage/STO_SaveGame.cpp index 65eacc5..da51f4e 100644 --- a/Windows_Libs/Dev/Storage/STO_SaveGame.cpp +++ b/Windows_Libs/Dev/Storage/STO_SaveGame.cpp @@ -64,7 +64,7 @@ C4JStorage::ESaveGameState CSaveGame::GetSavesInfo(int iPad, int (*Func)(LPVOID if (h == INVALID_HANDLE_VALUE) { DWORD error = GetLastError(); - printf("Error finding save dirs: 0x%08x\n", error); + printf("Error finding save dirs: 0x%08lx\n", error); } else { From 7f4df9e0592d4b44218bd4d5ac6e906cb9b0f1da Mon Sep 17 00:00:00 2001 From: altalk23 <45172705+altalk23@users.noreply.github.com> Date: Sun, 1 Mar 2026 15:25:33 +0300 Subject: [PATCH 3/5] rename libs --- Windows_Libs/Dev/Input/CMakeLists.txt | 5 +++++ Windows_Libs/Dev/Profile/CMakeLists.txt | 5 +++++ Windows_Libs/Dev/Render/CMakeLists.txt | 5 +++++ Windows_Libs/Dev/Storage/CMakeLists.txt | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/Windows_Libs/Dev/Input/CMakeLists.txt b/Windows_Libs/Dev/Input/CMakeLists.txt index a64286f..1bd6aa9 100644 --- a/Windows_Libs/Dev/Input/CMakeLists.txt +++ b/Windows_Libs/Dev/Input/CMakeLists.txt @@ -18,4 +18,9 @@ target_include_directories(${PROJECT_NAME} PRIVATE target_precompile_headers(${PROJECT_NAME} PRIVATE stdafx.h +) + +set_target_properties(${PROJECT_NAME} PROPERTIES + PREFIX "" + OUTPUT_NAME "4J_Input" ) \ No newline at end of file diff --git a/Windows_Libs/Dev/Profile/CMakeLists.txt b/Windows_Libs/Dev/Profile/CMakeLists.txt index 689f248..0c52582 100644 --- a/Windows_Libs/Dev/Profile/CMakeLists.txt +++ b/Windows_Libs/Dev/Profile/CMakeLists.txt @@ -18,4 +18,9 @@ target_include_directories(${PROJECT_NAME} PRIVATE target_precompile_headers(${PROJECT_NAME} PRIVATE stdafx.h +) + +set_target_properties(${PROJECT_NAME} PROPERTIES + PREFIX "" + OUTPUT_NAME "4J_Profile" ) \ No newline at end of file diff --git a/Windows_Libs/Dev/Render/CMakeLists.txt b/Windows_Libs/Dev/Render/CMakeLists.txt index ebe8541..8af8f49 100644 --- a/Windows_Libs/Dev/Render/CMakeLists.txt +++ b/Windows_Libs/Dev/Render/CMakeLists.txt @@ -25,4 +25,9 @@ add_subdirectory(libpng) target_link_libraries(${PROJECT_NAME} PRIVATE 4JLibs.Windows.Render.libpng +) + +set_target_properties(${PROJECT_NAME} PROPERTIES + PREFIX "" + OUTPUT_NAME "4J_Render" ) \ No newline at end of file diff --git a/Windows_Libs/Dev/Storage/CMakeLists.txt b/Windows_Libs/Dev/Storage/CMakeLists.txt index e6fbbbd..b27c0ba 100644 --- a/Windows_Libs/Dev/Storage/CMakeLists.txt +++ b/Windows_Libs/Dev/Storage/CMakeLists.txt @@ -16,4 +16,9 @@ target_include_directories(${PROJECT_NAME} PRIVATE target_precompile_headers(${PROJECT_NAME} PRIVATE stdafx.h +) + +set_target_properties(${PROJECT_NAME} PROPERTIES + PREFIX "" + OUTPUT_NAME "4J_Storage" ) \ No newline at end of file From cca896b169f8adfb3f861d40bd4e40ad13577894 Mon Sep 17 00:00:00 2001 From: altalk23 <45172705+altalk23@users.noreply.github.com> Date: Sun, 1 Mar 2026 15:28:06 +0300 Subject: [PATCH 4/5] add the multithreaded thing --- Windows_Libs/Dev/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Windows_Libs/Dev/CMakeLists.txt b/Windows_Libs/Dev/CMakeLists.txt index 0463046..3e9068f 100644 --- a/Windows_Libs/Dev/CMakeLists.txt +++ b/Windows_Libs/Dev/CMakeLists.txt @@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.25 FATAL_ERROR) project(4JLibs.Windows LANGUAGES CXX) +set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + add_subdirectory(Input) add_subdirectory(Profile) add_subdirectory(Render) From 26220240adce063bb518e69002820e60ce131feb Mon Sep 17 00:00:00 2001 From: altalk23 <45172705+altalk23@users.noreply.github.com> Date: Mon, 2 Mar 2026 01:50:08 +0300 Subject: [PATCH 5/5] combine libpng into render lib --- Windows_Libs/Dev/Render/CMakeLists.txt | 32 +++++++++++++++---- Windows_Libs/Dev/Render/libpng/CMakeLists.txt | 30 ----------------- 2 files changed, 26 insertions(+), 36 deletions(-) delete mode 100644 Windows_Libs/Dev/Render/libpng/CMakeLists.txt diff --git a/Windows_Libs/Dev/Render/CMakeLists.txt b/Windows_Libs/Dev/Render/CMakeLists.txt index 8af8f49..d53e645 100644 --- a/Windows_Libs/Dev/Render/CMakeLists.txt +++ b/Windows_Libs/Dev/Render/CMakeLists.txt @@ -2,7 +2,27 @@ cmake_minimum_required(VERSION 3.25 FATAL_ERROR) project(4JLibs.Windows.Render LANGUAGES C CXX) +set(LIBPNG_SOURCES + libpng/png.c + libpng/pngerror.c + libpng/pngget.c + libpng/pngmem.c + libpng/pngpread.c + libpng/pngread.c + libpng/pngrio.c + libpng/pngrtran.c + libpng/pngrutil.c + libpng/pngset.c + libpng/pngtest.c + libpng/pngtrans.c + libpng/pngwio.c + libpng/pngwrite.c + libpng/pngwtran.c + libpng/pngwutil.c +) + add_library(${PROJECT_NAME} STATIC + ${LIBPNG_SOURCES} 4J_Render.cpp RendererCBuff.cpp RendererCore.cpp @@ -15,19 +35,19 @@ add_library(${PROJECT_NAME} STATIC target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/zlib ) target_precompile_headers(${PROJECT_NAME} PRIVATE stdafx.h ) -add_subdirectory(libpng) - -target_link_libraries(${PROJECT_NAME} PRIVATE - 4JLibs.Windows.Render.libpng -) - set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "" OUTPUT_NAME "4J_Render" +) + +set_source_files_properties(${LIBPNG_SOURCES} PROPERTIES + LANGUAGE C + SKIP_PRECOMPILE_HEADERS ON ) \ No newline at end of file diff --git a/Windows_Libs/Dev/Render/libpng/CMakeLists.txt b/Windows_Libs/Dev/Render/libpng/CMakeLists.txt deleted file mode 100644 index 3a242d2..0000000 --- a/Windows_Libs/Dev/Render/libpng/CMakeLists.txt +++ /dev/null @@ -1,30 +0,0 @@ -cmake_minimum_required(VERSION 3.25 FATAL_ERROR) - -project(4JLibs.Windows.Render.libpng LANGUAGES C) - -add_library(${PROJECT_NAME} STATIC - png.c - pngerror.c - pngget.c - pngmem.c - pngpread.c - pngread.c - pngrio.c - pngrtran.c - pngrutil.c - pngset.c - pngtest.c - pngtrans.c - pngwio.c - pngwrite.c - pngwtran.c - pngwutil.c -) - -target_include_directories(${PROJECT_NAME} PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR} -) - -target_include_directories(${PROJECT_NAME} PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/../zlib -)