wgt01: add dev-install flake app (build -> export -> set -> development/)
`nix run .#dev-install` runs build.py, export_mdl.py and make_set.py into ./build, then stages the loose .mdl/.wok/.set into ~/Documents/Neverwinter Nights/development/ for toolset testing without packing a .hak. Replaces only twu01* files there; keeps build/ for inspection. gitignore build/ + *.blend. Verified: 40 .mdl + 40 .wok + twu01.set (CRLF intact) staged into development/. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -58,6 +58,27 @@
|
||||
--python-exit-code 1 -- "$outdir" "$@"
|
||||
'';
|
||||
};
|
||||
|
||||
# One shot: build -> export -> .set, then stage the loose files into the
|
||||
# toolset's development/ folder (no .hak). Work dir defaults to ./build.
|
||||
mkdev = pkgs.writeShellApplication {
|
||||
name = "wgt-dev-install";
|
||||
runtimeInputs = [ blender py ];
|
||||
text = ''
|
||||
work="''${1:-$PWD/build}"
|
||||
dev="$HOME/Documents/Neverwinter Nights/development"
|
||||
mkdir -p "$work/mdl" "$dev"
|
||||
blend="$work/westgate_urban_foundation_mvp.blend"
|
||||
blender-4.0.2 --background --python ${gen}/build.py --python-exit-code 1 -- "$blend"
|
||||
blender-4.0.2 --background "$blend" --python ${gen}/export_mdl.py --python-exit-code 1 -- "$work/mdl"
|
||||
python ${gen}/make_set.py "$work/twu01.set"
|
||||
# replace only our own prefix in development/, leave everything else alone
|
||||
rm -f "$dev"/twu01_*.mdl "$dev"/twu01_*.wok "$dev"/twu01.set
|
||||
cp "$work"/mdl/twu01_*.mdl "$work"/mdl/twu01_*.wok "$work"/twu01.set "$dev"/
|
||||
n=$(find "$work/mdl" -name 'twu01_*.mdl' | wc -l)
|
||||
echo "installed $n tiles + twu01.set -> $dev"
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
packages.${system}.default = build;
|
||||
@@ -83,6 +104,10 @@
|
||||
type = "app";
|
||||
program = "${mkmdl}/bin/wgt-export";
|
||||
};
|
||||
dev-install = {
|
||||
type = "app";
|
||||
program = "${mkdev}/bin/wgt-dev-install";
|
||||
};
|
||||
};
|
||||
|
||||
devShells.${system}.default = pkgs.mkShell {
|
||||
|
||||
Reference in New Issue
Block a user