No bake and no new file: the skeleton comes from the skin's parents and rest pose (its own joints and their ancestors - a kit holds several rigs), a clip from anim_read_doc's channels. Built by native/build.sh from the pinned release; the Windows DLL imports KERNEL32 alone and passes there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
29 lines
1.6 KiB
Bash
Executable file
29 lines
1.6 KiB
Bash
Executable file
#!/bin/sh
|
|
# builds lib/<target>/ for ludic.anim: ozz-animation at a pinned tag - its base, its runtime jobs and
|
|
# the offline builders that make a skeleton and a clip at load - and the shim over them. No CMake,
|
|
# no glTF importer: the game reads the glTF and hands the shim its numbers. Objects go to build/native
|
|
set -eu
|
|
PKG="$(cd "$(dirname "$0")/.." && pwd)"
|
|
. "$PKG/../../tools/native/lib.sh"
|
|
OZZ_TAG=0.17.0
|
|
OZZ_SHA=22b4401c77a2be68acb0a8aa2e857f94dbaccfed3ab25e304a1ddea4c546e86b
|
|
SRC="$PKG/build/src/ozz-$OZZ_TAG"
|
|
native_fetch "$SRC" "https://github.com/guillaumeblanc/ozz-animation/archive/refs/tags/$OZZ_TAG.tar.gz" "$OZZ_SHA"
|
|
|
|
OBJ="$PKG/build/native/$(native_target)"
|
|
mkdir -p "$OBJ"
|
|
CXX="$(native_cxx)"
|
|
FLAGS="$(native_cflags) -std=c++17 -DNDEBUG -fno-exceptions -fno-rtti -I$SRC/include -I$SRC/src"
|
|
case "$(native_target)" in windows-*) FLAGS="$FLAGS -D_CRT_SECURE_NO_WARNINGS" ;; esac
|
|
JOBS="$(getconf _NPROCESSORS_ONLN 2>/dev/null || echo 4)"
|
|
|
|
# the base and the runtime whole, and of the offline library only what builds a skeleton and a clip
|
|
( cd "$SRC" && find src/base src/animation/runtime -name '*.cc'
|
|
for f in raw_skeleton skeleton_builder raw_animation raw_animation_utils animation_builder; do echo "src/animation/offline/$f.cc"; done
|
|
) | while read -r f; do
|
|
o="$OBJ/$(echo "$f" | tr '/' '_' | sed 's/\.cc$/.o/')"
|
|
[ "$o" -nt "$SRC/$f" ] || echo "$f $o"
|
|
done | xargs -P "$JOBS" -n 2 sh -c '"$0" '"$FLAGS"' -c "'"$SRC"'/$1" -o "$2"' "$CXX"
|
|
"$CXX" $FLAGS -I"$PKG/native/shim" -c "$PKG/native/shim/ozz_shim.cpp" -o "$OBJ/ozz_shim.o"
|
|
|
|
native_link "$PKG" ludicozz "$OBJ"/*.o
|