Prepare for release002, not tested yet though

This commit is contained in:
Vladislav Khorev 2026-07-16 10:32:27 +03:00
parent 3d3522b905
commit a743f653dd
4 changed files with 33 additions and 42 deletions

View File

@ -1,6 +1,11 @@
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
project(witcher001 LANGUAGES C CXX) project(ShadowOverBishkekDemo LANGUAGES C CXX)
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to 'Release' as none was specified.")
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build." FORCE)
endif()
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
@ -64,9 +69,9 @@ endif()
# =========================================== # ===========================================
# Основной проект witcher001 # Основной проект ShadowOverBishkekDemo
# =========================================== # ===========================================
add_executable(witcher001 add_executable(ShadowOverBishkekDemo
../src/main.cpp ../src/main.cpp
../src/Game.cpp ../src/Game.cpp
../src/Game.h ../src/Game.h
@ -160,7 +165,7 @@ add_executable(witcher001
) )
# include-пути проекта # include-пути проекта
target_include_directories(witcher001 PRIVATE target_include_directories(ShadowOverBishkekDemo PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/../src" "${CMAKE_CURRENT_SOURCE_DIR}/../src"
${SDL2_INCLUDE_DIRS} ${SDL2_INCLUDE_DIRS}
${SDL2_TTF_INCLUDE_DIRS} ${SDL2_TTF_INCLUDE_DIRS}
@ -173,13 +178,13 @@ target_include_directories(witcher001 PRIVATE
) )
# Убираем WIN32_LEAN_AND_MEAN # Убираем WIN32_LEAN_AND_MEAN
target_compile_definitions(witcher001 PRIVATE target_compile_definitions(ShadowOverBishkekDemo PRIVATE
PNG_ENABLED PNG_ENABLED
SDL_MAIN_HANDLED SDL_MAIN_HANDLED
) )
# Линковка директорий для pkg-config (если пакеты не в /usr/lib) # Линковка директорий для pkg-config (если пакеты не в /usr/lib)
target_link_directories(witcher001 PRIVATE target_link_directories(ShadowOverBishkekDemo PRIVATE
${SDL2_LIBRARY_DIRS} ${SDL2_LIBRARY_DIRS}
${SDL2_TTF_LIBRARY_DIRS} ${SDL2_TTF_LIBRARY_DIRS}
${SDL2_MIXER_LIBRARY_DIRS} ${SDL2_MIXER_LIBRARY_DIRS}
@ -188,7 +193,7 @@ target_link_directories(witcher001 PRIVATE
) )
# Линковка библиотек # Линковка библиотек
target_link_libraries(witcher001 PRIVATE target_link_libraries(ShadowOverBishkekDemo PRIVATE
OpenGL::GL OpenGL::GL
OpenGL::GLU OpenGL::GLU
ZLIB::ZLIB ZLIB::ZLIB
@ -209,11 +214,11 @@ target_link_libraries(witcher001 PRIVATE
if(STEAMSDK) if(STEAMSDK)
message(STATUS "Steamworks SDK integration is ENABLED.") message(STATUS "Steamworks SDK integration is ENABLED.")
target_compile_definitions(witcher001 PRIVATE STEAMSDK) target_compile_definitions(ShadowOverBishkekDemo PRIVATE STEAMSDK)
set(STEAM_SDK_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../thirdparty/steamworks_sdk_164/sdk") set(STEAM_SDK_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../thirdparty/steamworks_sdk_164/sdk")
target_include_directories(witcher001 PRIVATE target_include_directories(ShadowOverBishkekDemo PRIVATE
"${STEAM_SDK_DIR}/public" "${STEAM_SDK_DIR}/public"
"${STEAM_SDK_DIR}/public/steam" "${STEAM_SDK_DIR}/public/steam"
) )
@ -229,7 +234,7 @@ if(STEAMSDK)
) )
if(STEAM_LIBRARY) if(STEAM_LIBRARY)
target_link_libraries(witcher001 PRIVATE ${STEAM_LIBRARY}) target_link_libraries(ShadowOverBishkekDemo PRIVATE ${STEAM_LIBRARY})
message(STATUS "Found Steam API library: ${STEAM_LIBRARY}") message(STATUS "Found Steam API library: ${STEAM_LIBRARY}")
else() else()
message(FATAL_ERROR "Steam API library (${STEAM_LIB_NAME}) NOT found in ${STEAM_LIB_DIR}!") message(FATAL_ERROR "Steam API library (${STEAM_LIB_NAME}) NOT found in ${STEAM_LIB_DIR}!")
@ -245,32 +250,35 @@ endif()
# =========================================== # ===========================================
# Указываем линкеру искать .so файлы в той же папке, где лежит бинарник ($ORIGIN) # Указываем линкеру искать .so файлы в той же папке, где лежит бинарник ($ORIGIN)
set_target_properties(witcher001 PROPERTIES set_target_properties(ShadowOverBishkekDemo PROPERTIES
INSTALL_RPATH "$ORIGIN" INSTALL_RPATH "$ORIGIN"
BUILD_WITH_INSTALL_RPATH TRUE BUILD_WITH_INSTALL_RPATH TRUE
) )
#FIXING BUILD BUG
set(LUA_SO_DIR "/usr/lib/x86_64-linux-gnu/")
set (LIBZIP_SO_DIR "/usr/lib/x86_64-linux-gnu/")
# Поиск директорий, где лежат библиотеки # Поиск директорий, где лежат библиотеки
get_filename_component(LUA_SO_DIR ${LUA_SO_PATH} DIRECTORY) #get_filename_component(LUA_SO_DIR ${LUA_SO_PATH} DIRECTORY)
get_filename_component(LIBZIP_SO_DIR ${LIBZIP_SO_PATH} DIRECTORY) #get_filename_component(LIBZIP_SO_DIR ${LIBZIP_SO_PATH} DIRECTORY)
add_custom_command(TARGET witcher001 POST_BUILD add_custom_command(TARGET ShadowOverBishkekDemo POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo "Copying shared libraries with sonames..." COMMAND ${CMAKE_COMMAND} -E echo "Copying shared libraries with sonames..."
# Копируем библиотеки и все их симлинки (cp -P сохраняет структуру симлинков) # Копируем библиотеки и все их симлинки (cp -P сохраняет структуру симлинков)
COMMAND sh -c "cp -P ${LUA_SO_DIR}/liblua5.4.so* '$<TARGET_FILE_DIR:witcher001>/'" COMMAND sh -c "cp -P ${LUA_SO_DIR}/liblua5.4.so* '$<TARGET_FILE_DIR:ShadowOverBishkekDemo>/'"
COMMAND sh -c "cp -P ${LIBZIP_SO_DIR}/libzip.so* '$<TARGET_FILE_DIR:witcher001>/'" COMMAND sh -c "cp -P ${LIBZIP_SO_DIR}/libzip.so* '$<TARGET_FILE_DIR:ShadowOverBishkekDemo>/'"
) )
# Если включен Steam, копируем libsteam_api.so и steam_appid.txt # Если включен Steam, копируем libsteam_api.so и steam_appid.txt
if(STEAMSDK) if(STEAMSDK)
add_custom_command(TARGET witcher001 POST_BUILD add_custom_command(TARGET ShadowOverBishkekDemo POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo "Copying Steam SDK components..." COMMAND ${CMAKE_COMMAND} -E echo "Copying Steam SDK components..."
COMMAND ${CMAKE_COMMAND} -E copy_if_different COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${STEAM_LIB_DIR}/${STEAM_SO_NAME}" "${STEAM_LIB_DIR}/${STEAM_SO_NAME}"
"$<TARGET_FILE_DIR:witcher001>/${STEAM_SO_NAME}" "$<TARGET_FILE_DIR:ShadowOverBishkekDemo>/${STEAM_SO_NAME}"
COMMAND ${CMAKE_COMMAND} -E copy_if_different COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_CURRENT_BINARY_DIR}/steam_appid.txt" "${CMAKE_CURRENT_BINARY_DIR}/steam_appid.txt"
"$<TARGET_FILE_DIR:witcher001>/steam_appid.txt" "$<TARGET_FILE_DIR:ShadowOverBishkekDemo>/steam_appid.txt"
COMMAND ${CMAKE_COMMAND} -E copy_if_different COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_CURRENT_BINARY_DIR}/steam_appid.txt" "${CMAKE_CURRENT_BINARY_DIR}/steam_appid.txt"
"${CMAKE_BINARY_DIR}/steam_appid.txt" "${CMAKE_BINARY_DIR}/steam_appid.txt"
@ -286,7 +294,7 @@ set(RUNTIME_RESOURCE_DIRS
) )
foreach(resdir IN LISTS RUNTIME_RESOURCE_DIRS) foreach(resdir IN LISTS RUNTIME_RESOURCE_DIRS)
add_custom_command(TARGET witcher001 POST_BUILD add_custom_command(TARGET ShadowOverBishkekDemo POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo "Copying ${resdir} to binary dir..." COMMAND ${CMAKE_COMMAND} -E echo "Copying ${resdir} to binary dir..."
COMMAND ${CMAKE_COMMAND} -E copy_directory COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CMAKE_SOURCE_DIR}/../${resdir}" "${CMAKE_SOURCE_DIR}/../${resdir}"

View File

@ -125,7 +125,7 @@
"y": 10, "y": 10,
"width": 160, "width": 160,
"height": 36, "height": 36,
"text": "v. 1.0", "text": "v. 1.0.1",
"fontSize": 24, "fontSize": 24,
"textCentered": false, "textCentered": false,
"topAligned": true, "topAligned": true,

View File

@ -125,7 +125,7 @@
"y": 10, "y": 10,
"width": 160, "width": 160,
"height": 36, "height": 36,
"text": "v. 1.0", "text": "v. 1.0.1",
"fontSize": 24, "fontSize": 24,
"textCentered": false, "textCentered": false,
"topAligned": true, "topAligned": true,

View File

@ -1295,7 +1295,7 @@ namespace ZL
if (Environment::zoom > zoomMax) { if (Environment::zoom > zoomMax) {
Environment::zoom = zoomMax; Environment::zoom = zoomMax;
} }
logger() << "Current zoom: " << Environment::zoom << std::endl; ..logger() << "Current zoom: " << Environment::zoom << std::endl;
// Tutorial step3 → step4: any mouse-wheel scroll counts as "zoom gesture". // Tutorial step3 → step4: any mouse-wheel scroll counts as "zoom gesture".
if (gameState.tutorialStep == TutorialStep::Step3) { if (gameState.tutorialStep == TutorialStep::Step3) {
menuManager.advanceTutorialStep(); menuManager.advanceTutorialStep();
@ -1304,7 +1304,7 @@ namespace ZL
if (event.type == SDL_KEYDOWN && event.key.repeat == 0) { if (event.type == SDL_KEYDOWN && event.key.repeat == 0) {
switch (event.key.keysym.sym) { switch (event.key.keysym.sym) {
case SDLK_8: /*case SDLK_8:
if (editorMode == EditorMode::InteractiveObjects && currentLocation()) { if (editorMode == EditorMode::InteractiveObjects && currentLocation()) {
currentLocation()->editor.selectInteractiveObject(8); currentLocation()->editor.selectInteractiveObject(8);
} else { } else {
@ -1424,12 +1424,6 @@ namespace ZL
break; break;
case SDLK_j: case SDLK_j:
/*
if (editorMode != EditorMode::None && currentLocation()) {
currentLocation()->editor.placeTree();
} else {
menuManager.toggleQuestJournal();
}*/
currentLocation()->editor.placeTree(); currentLocation()->editor.placeTree();
break; break;
@ -1439,8 +1433,7 @@ namespace ZL
} }
break; break;
case SDLK_RETURN: case SDLK_RETURN:*/
default: default:
break; break;
} }
@ -1459,16 +1452,6 @@ namespace ZL
//menuManager.uiManager.onKeyPress((unsigned char)event.text.text[0]); //menuManager.uiManager.onKeyPress((unsigned char)event.text.text[0]);
} }
} }
if (event.type == SDL_KEYUP) {
if (event.key.keysym.sym == SDLK_r) {
logger() << "Camera position: x=" << x << " y=" << y << " z=" << z << std::endl;
}
}
if (event.type == SDL_KEYUP) {
}
} }
// Drain one loading step per frame so the window/tab keeps pumping events // Drain one loading step per frame so the window/tab keeps pumping events
// and repainting between steps instead of freezing for the whole load. // and repainting between steps instead of freezing for the whole load.