Character ages and Phase 8 checkpoint (interiors)

This commit is contained in:
2026-10-31 15:50:44 +03:00
parent 214b05b40f
commit ea281bf913
117 changed files with 13301 additions and 432 deletions
+16 -3
View File
@@ -4,6 +4,19 @@ project(world2)
set(CMAKE_CXX_STANDARD 17)
enable_testing()
set(BLENDER "${CMAKE_SOURCE_DIR}/../../blender-bin/bin/blender" CACHE STRING "Blender path")
# Blender 3.6 batch jobs are not safe to run concurrently: they share
# user config/addon state and the asset scripts read/write the same
# build-tree files. Every Blender invocation must go through
# ${BLENDER_LOCKED} so only one runs at a time. CMake can still run
# copies, converters, Python validation and C++ compilation in parallel.
find_program(FLOCK_EXECUTABLE flock)
if(NOT FLOCK_EXECUTABLE)
message(FATAL_ERROR
"flock (util-linux) is required to serialize Blender asset jobs")
endif()
set(BLENDER_LOCK "${CMAKE_BINARY_DIR}/blender-assets.lock" CACHE STRING
"Advisory lock for Blender jobs; share across concurrently-built trees")
set(BLENDER_LOCKED "${FLOCK_EXECUTABLE}" -x "${BLENDER_LOCK}" "${BLENDER}")
set(CREATE_DIRECTORIES
${CMAKE_BINARY_DIR}/assets/blender/shapes/male
${CMAKE_BINARY_DIR}/assets/blender/shapes/female
@@ -128,7 +141,7 @@ foreach(BUILDING_FILE ${BUILDINGS_SRC})
add_custom_command(
OUTPUT ${BUILDING_OUTPUT_FILE}
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/resources/buildings
COMMAND ${BLENDER} ${BUILDING_FILE}
COMMAND ${BLENDER_LOCKED} ${BUILDING_FILE}
-b -Y -P
${CMAKE_SOURCE_DIR}/assets/blender/scripts/export_buildings.py
-- ${BUILDING_OUTPUT_FILE}
@@ -148,7 +161,7 @@ foreach(CHARACTER_SHAPE_FILE ${CHARACTER_SHAPES_SRC})
OUTPUT ${CHARACTER_SHAPE_OUTPUT_FILE}
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/assets/blender
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/characters/shapes/male/${FILE_NAME}
COMMAND ${BLENDER} ${CMAKE_SOURCE_DIR}/assets/blender/${CHARACTER_SHAPE_FILE}
COMMAND ${BLENDER_LOCKED} ${CMAKE_SOURCE_DIR}/assets/blender/${CHARACTER_SHAPE_FILE}
-b -Y -P
${CMAKE_SOURCE_DIR}/assets/blender/scripts/export_characters_ogre.py
-- ${CHARACTER_SHAPE_OUTPUT_FILE}
@@ -161,7 +174,7 @@ add_custom_target(import_character_shapes ALL DEPENDS ${CHARACTER_SHAPES_OUTPUT_
set(WATER_STUFF)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/water/sea.glb
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/water
COMMAND ${BLENDER} ${CMAKE_SOURCE_DIR}/assets/blender/sea.blend
COMMAND ${BLENDER_LOCKED} ${CMAKE_SOURCE_DIR}/assets/blender/sea.blend
-b -Y -P
${CMAKE_SOURCE_DIR}/assets/blender/scripts/export_buildings.py
-- ${CMAKE_BINARY_DIR}/water/sea.glb