diff --git a/.gitattributes b/.gitattributes index 3d5b677..780ba83 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,3 +5,6 @@ *.wav filter=lfs diff=lfs merge=lfs -text *.ogg filter=lfs diff=lfs merge=lfs -text *.mp3 filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.dll filter=lfs diff=lfs merge=lfs -text +*.so filter=lfs diff=lfs merge=lfs -text diff --git a/Readme.md b/Readme.md index 5d97fbf..2311b76 100644 --- a/Readme.md +++ b/Readme.md @@ -184,4 +184,22 @@ make -j$(nproc) -C build #Компилируем Для постройки без звука rm -rf build #Очищаем build папку -cmake -B build -DAUDIO=1 #Пересоздаём конфигурацию CMake \ No newline at end of file +cmake -B build -DAUDIO=1 #Пересоздаём конфигурацию CMake + + +# Cmake Build NSIS and Portable for Windows: + +``` +cmake --build . --config Release +cpack -C Release +``` + +Если есть такая ошибка: + +CPack Error: Cannot find NSIS compiler makensis: likely it is not installed, or not in your PATH +CPack Error: Could not read NSIS registry value. This is usually caused by NSIS not being installed. Please install NSIS from http://nsis.sourceforge.net +CPack Error: Cannot initialize the generator NSIS + + +То нужно установить nsis отсюда: https://nsis.sourceforge.io/Download + diff --git a/proj-windows/CMakeLists.txt b/proj-windows/CMakeLists.txt index a15f874..2ef30fa 100644 --- a/proj-windows/CMakeLists.txt +++ b/proj-windows/CMakeLists.txt @@ -119,15 +119,10 @@ set_target_properties(ShadowOverBishkekDemo PROPERTIES OUTPUT_NAME "ShadowOverBishkekDemo" ) -# Определения препроцессора: -# PNG_ENABLED – включает код PNG в TextureManager -# SDL_MAIN_HANDLED – отключает переопределение main -> SDL_main +# Определения препроцессора target_compile_definitions(ShadowOverBishkekDemo PRIVATE WIN32_LEAN_AND_MEAN PNG_ENABLED -# SDL_MAIN_HANDLED -# DEBUG_LIGHT -# SHOW_PATH ) # Линкуем с SDL2main, если он вообще установлен @@ -158,18 +153,15 @@ endif() if(STEAMSDK) message(STATUS "Steamworks SDK integration is ENABLED.") - # Макрос STEAMSDK для условной компиляции в C++ коде (#ifdef STEAMSDK) target_compile_definitions(ShadowOverBishkekDemo PRIVATE STEAMSDK) set(STEAM_SDK_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../thirdparty/steamworks_sdk_164/sdk") - # Подключение заголовочных файлов Steamworks target_include_directories(ShadowOverBishkekDemo PRIVATE "${STEAM_SDK_DIR}/public" "${STEAM_SDK_DIR}/public/steam" ) - # Определение разрядности сборки (x86 vs x64) для выбора версий lib и dll if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(STEAM_LIB_DIR "${STEAM_SDK_DIR}/redistributable_bin/win64") set(STEAM_LIB_NAME "steam_api64") @@ -180,7 +172,6 @@ if(STEAMSDK) set(STEAM_DLL_NAME "steam_api.dll") endif() - # Поиск библиотеки линковки (.lib) find_library(STEAM_LIBRARY NAMES ${STEAM_LIB_NAME} PATHS ${STEAM_LIB_DIR} @@ -194,22 +185,18 @@ if(STEAMSDK) message(FATAL_ERROR "Steam API library (${STEAM_LIB_NAME}) NOT found in ${STEAM_LIB_DIR}!") endif() - # Генерация временного файла steam_appid.txt с ID демо-версии (4945840) file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/steam_appid.txt" "4945840") else() message(STATUS "Steamworks SDK integration is DISABLED.") endif() # =========================================== -# Копирование SDL2d.dll и zlibd.dll рядом с exe +# Копирование DLL и ресурсов для локального запуска в Visual Studio # =========================================== if (WIN32) - - # SDL2: в Debug - SDL2d.dll, в Release - SDL2.dll set(SDL2_DLL_SRC "$,${SDL2_INSTALL_DIR}/bin/SDL2d.dll,${SDL2_INSTALL_DIR}/bin/SDL2.dll>") set(SDL2_DLL_DST "$,$/SDL2d.dll,$/SDL2.dll>") - set(LIBZIP_DLL_SRC "$,${LIBZIP_BASE_DIR}-Debug/bin/zip.dll,${LIBZIP_BASE_DIR}-Release/bin/zip.dll>") set(ZLIB_DLL_SRC "$,${ZLIB_INSTALL_DIR}/bin/zd.dll,${ZLIB_INSTALL_DIR}/bin/z.dll>") @@ -217,47 +204,26 @@ if (WIN32) set(SDL2TTF_DLL_SRC "$,${SDL2TTF_BASE_DIR}-Debug/bin/SDL2_ttfd.dll,${SDL2TTF_BASE_DIR}-Release/bin/SDL2_ttf.dll>") - set(SDL2MIXER_DLL_SRC "$,${SDL2MIXER_BASE_DIR}-Debug/bin/SDL2_mixerd.dll,${SDL2MIXER_BASE_DIR}-Release/bin/SDL2_mixer.dll>") - add_custom_command(TARGET ShadowOverBishkekDemo POST_BUILD COMMAND ${CMAKE_COMMAND} -E echo "Copying DLLs to output folder..." - - # Копируем SDL2 - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${SDL2_DLL_SRC}" - "${SDL2_DLL_DST}" - - # Копируем LIBZIP (целевое имя всегда zip.dll) - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${LIBZIP_DLL_SRC}" - "$/zip.dll" - - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${ZLIB_DLL_SRC}" - "${ZLIB_DLL_DST}" - - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${SDL2TTF_DLL_SRC}" - "$" - + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SDL2_DLL_SRC}" "${SDL2_DLL_DST}" + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LIBZIP_DLL_SRC}" "$/zip.dll" + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${ZLIB_DLL_SRC}" "${ZLIB_DLL_DST}" + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SDL2TTF_DLL_SRC}" "$" COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/../thirdparty/SDL_mixer-release-2.8.0/install-$/bin/SDL2_mixer$<$:d>.dll" "$/SDL2_mixer$<$:d>.dll" ) - # Если включен Steam, добавляем шаги копирования DLL и appid в этот же POST_BUILD if(STEAMSDK) add_custom_command(TARGET ShadowOverBishkekDemo POST_BUILD COMMAND ${CMAKE_COMMAND} -E echo "Copying Steam SDK components..." - # Копирование dll к исполняемому файлу COMMAND ${CMAKE_COMMAND} -E copy_if_different "${STEAM_LIB_DIR}/${STEAM_DLL_NAME}" "$/${STEAM_DLL_NAME}" - # Копирование steam_appid.txt к исполняемому файлу COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_BINARY_DIR}/steam_appid.txt" "$/steam_appid.txt" - # Дублируем steam_appid.txt в корень сборки (полезно при отладке прямо из MSVC) COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_BINARY_DIR}/steam_appid.txt" "${CMAKE_BINARY_DIR}/steam_appid.txt" @@ -265,27 +231,99 @@ if (WIN32) endif() endif() -# =========================================== -# Копирование ресурсов после сборки -# =========================================== - -# Какие папки с ресурсами нужно копировать -set(RUNTIME_RESOURCE_DIRS - "resources" - "audio" -) - -# Копируем ресурсы и шейдеры в папку exe и в корень build/ +# Копирование ресурсов локально +set(RUNTIME_RESOURCE_DIRS "resources" "audio") foreach(resdir IN LISTS RUNTIME_RESOURCE_DIRS) add_custom_command(TARGET ShadowOverBishkekDemo POST_BUILD COMMAND ${CMAKE_COMMAND} -E echo "Copying ${resdir} to runtime folders..." - # 1) туда, где лежит exe (build/Debug, build/Release и т.п.) COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/../${resdir}" "$/${resdir}" - # 2) в корень build, если захочешь запускать из этой папки COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/../${resdir}" "${CMAKE_BINARY_DIR}/${resdir}" ) -endforeach() \ No newline at end of file +endforeach() + +# =========================================== +# ПРАВИЛА ИНСТАЛЛЯЦИИ (Для CPack и создания пакетов) +# =========================================== + +# 1. Основной исполняемый файл +install(TARGETS ShadowOverBishkekDemo DESTINATION .) + +# 2. Необходимые DLL +if(WIN32) + install(FILES + "${SDL2_INSTALL_DIR}/bin/SDL2.dll" + "${LIBZIP_BASE_DIR}-Release/bin/zip.dll" + "${ZLIB_INSTALL_DIR}/bin/z.dll" + "${SDL2TTF_BASE_DIR}-Release/bin/SDL2_ttf.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/../thirdparty/SDL_mixer-release-2.8.0/install-Release/bin/SDL2_mixer.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/concrt140.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/msvcp140.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/msvcp140_1.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/msvcp140_2.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/msvcp140_atomic_wait.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/msvcp140_clr0400.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/msvcp140_codecvt_ids.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/msvcp140d.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/OpenAL32.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/vcamp140.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/vccorlib140.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/vcomp140.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/vcruntime140.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/vcruntime140_1.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/vcruntime140_1_clr0400.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/vcruntime140_threads.dll" + "${CMAKE_CURRENT_SOURCE_DIR}/dist_dlls/wrap_oal.dll" + DESTINATION . + ) + + if(STEAMSDK) + install(FILES + "${STEAM_LIB_DIR}/${STEAM_DLL_NAME}" + "${CMAKE_CURRENT_BINARY_DIR}/steam_appid.txt" + DESTINATION . + ) + endif() +endif() + +# 3. Директории с ресурсами +foreach(resdir IN LISTS RUNTIME_RESOURCE_DIRS) + install(DIRECTORY "${CMAKE_SOURCE_DIR}/../${resdir}" DESTINATION .) +endforeach() + +# =========================================== +# НАСТРОЙКА CPACK (Создание ZIP Portable и NSIS Installer) +# =========================================== +set(CPACK_PACKAGE_NAME "ShadowOverBishkekDemo") +set(CPACK_PACKAGE_VENDOR "Fish Run Games") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Shadow Over Bishkek Demo Version") +set(CPACK_PACKAGE_VERSION_MAJOR "1") +set(CPACK_PACKAGE_VERSION_MINOR "0") +set(CPACK_PACKAGE_VERSION_PATCH "3") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "Fish Run Games/Shadow Over Bishkek Demo") + + +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt") + +# Настройки NSIS инсталлятора +set(CPACK_NSIS_DISPLAY_NAME "Shadow Over Bishkek Demo") +set(CPACK_NSIS_PACKAGE_NAME "Shadow Over Bishkek Demo") +set(CPACK_NSIS_HELP_LINK "https://fishrungames.com/contact.html") +set(CPACK_NSIS_URL_INFO_ABOUT "https://shadowoverbishkek.com/") +set(CPACK_NSIS_MODIFY_PATH OFF) +set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON) + +# Иконки и ярлыки в меню Пуск и на Рабочем столе +set(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}/icon.ico") +set(CPACK_NSIS_MUI_UNIICON "${CMAKE_CURRENT_SOURCE_DIR}/icon.ico") +set(CPACK_NSIS_CREATE_ICONS_EXTRA + "CreateShortCut '$DESKTOP\\\\Shadow Over Bishkek Demo.lnk' '$INSTDIR\\\\ShadowOverBishkekDemo.exe'" +) + +# Форматы генераторов: ZIP (Portable) и NSIS (Установщик) +set(CPACK_GENERATOR "ZIP;NSIS") + +include(CPack) diff --git a/proj-windows/LICENSE.txt b/proj-windows/LICENSE.txt new file mode 100644 index 0000000..5ff9804 --- /dev/null +++ b/proj-windows/LICENSE.txt @@ -0,0 +1,21 @@ +END USER LICENSE AGREEMENT (EULA) + +Game: Shadow Over Bishkek (Demo Version) +Developer: Fish Run Games + +1. GRANT OF LICENSE +Fish Run Games grants you a non-exclusive, non-transferable, limited license to download, install, and play the Shadow Over Bishkek Demo for personal, non-commercial entertainment purposes. + +2. OWNERSHIP & INTELLECTUAL PROPERTY +The game, including all code, graphics, audio, characters, storyline, and assets, is the intellectual property of Fish Run Games and is protected by copyright and other intellectual property laws. You may not reverse engineer, decompile, modify, or redistribute the software without express written permission. + +3. DISCLAIMER OF WARRANTY +THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +4. USER DATA AND SAVES +Save files and local configuration options are stored locally on your device. Fish Run Games is not responsible for any loss of save data resulting from software updates, system crashes, or uninstallation. + +5. TERMINATION +This license is effective until terminated. Your rights under this license will terminate automatically without notice from Fish Run Games if you fail to comply with any term(s) of this agreement. + +Copyright (c) 2026 Fish Run Games. All rights reserved. diff --git a/proj-windows/dist_dlls/OpenAL32.dll b/proj-windows/dist_dlls/OpenAL32.dll new file mode 100644 index 0000000..5d51d10 --- /dev/null +++ b/proj-windows/dist_dlls/OpenAL32.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87802322c8e63555c26fe473ce234ce7099745ccb28c02766c2224c726454039 +size 122904 diff --git a/proj-windows/dist_dlls/concrt140.dll b/proj-windows/dist_dlls/concrt140.dll new file mode 100644 index 0000000..712d0cf --- /dev/null +++ b/proj-windows/dist_dlls/concrt140.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2faf3b85b23c840b654e57d5497a0ad31acd02fb01856cad4725a1715d5f78e +size 321696 diff --git a/proj-windows/dist_dlls/msvcp140.dll b/proj-windows/dist_dlls/msvcp140.dll new file mode 100644 index 0000000..c9e6a14 --- /dev/null +++ b/proj-windows/dist_dlls/msvcp140.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:def46aa6a8f72f27bafac0c43334419486a4d1dcdb6c479a8ef7034b3e1fa4cb +size 553552 diff --git a/proj-windows/dist_dlls/msvcp140_1.dll b/proj-windows/dist_dlls/msvcp140_1.dll new file mode 100644 index 0000000..afa4ac7 --- /dev/null +++ b/proj-windows/dist_dlls/msvcp140_1.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dd670f874562fbdca5b022df1943d70a57ba91fde559280e3a1daebe4db2380 +size 35488 diff --git a/proj-windows/dist_dlls/msvcp140_2.dll b/proj-windows/dist_dlls/msvcp140_2.dll new file mode 100644 index 0000000..dc61c5c --- /dev/null +++ b/proj-windows/dist_dlls/msvcp140_2.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d60da3ac2b06482912ca852fa7047436e6e474b4cfffa3bf77f4598cfbf454c +size 278608 diff --git a/proj-windows/dist_dlls/msvcp140_atomic_wait.dll b/proj-windows/dist_dlls/msvcp140_atomic_wait.dll new file mode 100644 index 0000000..ae8e210 --- /dev/null +++ b/proj-windows/dist_dlls/msvcp140_atomic_wait.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7963645e0d1db08e300614d4c5fa7194bd8173e9ab7a5558859e6b232ed3241 +size 48800 diff --git a/proj-windows/dist_dlls/msvcp140_clr0400.dll b/proj-windows/dist_dlls/msvcp140_clr0400.dll new file mode 100644 index 0000000..1981683 --- /dev/null +++ b/proj-windows/dist_dlls/msvcp140_clr0400.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a0468a75a0958864cce1da6cca8595d02329729106c9a676e58b2dcb55990b1 +size 571280 diff --git a/proj-windows/dist_dlls/msvcp140_codecvt_ids.dll b/proj-windows/dist_dlls/msvcp140_codecvt_ids.dll new file mode 100644 index 0000000..b3326c0 --- /dev/null +++ b/proj-windows/dist_dlls/msvcp140_codecvt_ids.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae8d922b00cdd93e3ebecc37beb46c800f383ebdeb9f9e5b84e04a72428b6fb3 +size 31392 diff --git a/proj-windows/dist_dlls/msvcp140d.dll b/proj-windows/dist_dlls/msvcp140d.dll new file mode 100644 index 0000000..f377a90 --- /dev/null +++ b/proj-windows/dist_dlls/msvcp140d.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff60f5b1709c553863932b3cac4de8039835b48fd114fc8cbea0809a3658b015 +size 925344 diff --git a/proj-windows/dist_dlls/vcamp140.dll b/proj-windows/dist_dlls/vcamp140.dll new file mode 100644 index 0000000..6d9ec1e --- /dev/null +++ b/proj-windows/dist_dlls/vcamp140.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:617f6031929ec70a084a9dd1f01e037494a74d8c66703b7fb53e80547f90af28 +size 419920 diff --git a/proj-windows/dist_dlls/vccorlib140.dll b/proj-windows/dist_dlls/vccorlib140.dll new file mode 100644 index 0000000..92560ab --- /dev/null +++ b/proj-windows/dist_dlls/vccorlib140.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b8d8a76c3e6664293407553650e60b94df9aaafc7c92057ea83032bd228e44f +size 350880 diff --git a/proj-windows/dist_dlls/vcomp140.dll b/proj-windows/dist_dlls/vcomp140.dll new file mode 100644 index 0000000..687d380 --- /dev/null +++ b/proj-windows/dist_dlls/vcomp140.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31af29c03643f8396a6f26bcd601c6369d26493d7d78b714827ab2801bd284c7 +size 213064 diff --git a/proj-windows/dist_dlls/vcruntime140.dll b/proj-windows/dist_dlls/vcruntime140.dll new file mode 100644 index 0000000..134ac04 --- /dev/null +++ b/proj-windows/dist_dlls/vcruntime140.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:184146852727a9db4eea06178716bec3cdbb1015c911f6b0f915b184ad7775b2 +size 123472 diff --git a/proj-windows/dist_dlls/vcruntime140_1.dll b/proj-windows/dist_dlls/vcruntime140_1.dll new file mode 100644 index 0000000..2fea2fc --- /dev/null +++ b/proj-windows/dist_dlls/vcruntime140_1.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6bfb3662ab4b1969a73441dbe35c96d51441b6bff8cf1fe7430bd5b246ca605 +size 47264 diff --git a/proj-windows/dist_dlls/vcruntime140_1_clr0400.dll b/proj-windows/dist_dlls/vcruntime140_1_clr0400.dll new file mode 100644 index 0000000..a6f411b --- /dev/null +++ b/proj-windows/dist_dlls/vcruntime140_1_clr0400.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b25ec2affbefc2b2009502f7445625df9e8aeb16c3e56e4c816946049396c320 +size 37800 diff --git a/proj-windows/dist_dlls/vcruntime140_threads.dll b/proj-windows/dist_dlls/vcruntime140_threads.dll new file mode 100644 index 0000000..199d333 --- /dev/null +++ b/proj-windows/dist_dlls/vcruntime140_threads.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6222020b500a9a86b36e040c2dbd0e459716db1bf2810a11cd7512ea9b8d89b +size 37456 diff --git a/proj-windows/dist_dlls/wrap_oal.dll b/proj-windows/dist_dlls/wrap_oal.dll new file mode 100644 index 0000000..f96bc21 --- /dev/null +++ b/proj-windows/dist_dlls/wrap_oal.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5379373cf3eff41cdd8c912c65e27e1bd492bd84238d19a093aa846c9b1ce909 +size 466456