37 lines
1.3 KiB
Bash
37 lines
1.3 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
#
|
||
|
|
# Stage the sidescroller tutorial's own assets in the sandbox.
|
||
|
|
#
|
||
|
|
# docs/20-tutorial-sidescroller.md shows the reader a real sprite file and a real
|
||
|
|
# character file out of docs/tutorials/assets/sidescroller. Those are worth
|
||
|
|
# running through the loader exactly as printed rather than through a generic
|
||
|
|
# fixture, because a beginner following the chapter types what is on the page --
|
||
|
|
# so what is on the page has to be a file that loads.
|
||
|
|
#
|
||
|
|
# Two directories are staged, because the checker looks in two places:
|
||
|
|
#
|
||
|
|
# ./ a `json kind=sprite` block's spritesheet path is resolved
|
||
|
|
# relative to the sprite file, which lives in the sandbox root
|
||
|
|
# ./sprites tools/docs_checkjson.c loads everything here through
|
||
|
|
# akgl_sprite_load_json before it touches a `kind=character`
|
||
|
|
# block, since a character resolves its sprites by name
|
||
|
|
#
|
||
|
|
# $1 is the repository root. The caller runs this with the sandbox as the
|
||
|
|
# working directory.
|
||
|
|
|
||
|
|
set -u
|
||
|
|
|
||
|
|
ROOT="${1:-}"
|
||
|
|
if [ -z "${ROOT}" ]; then
|
||
|
|
echo "usage: sidescroller.sh <repository-root>" >&2
|
||
|
|
exit 2
|
||
|
|
fi
|
||
|
|
|
||
|
|
ASSETS="${ROOT}/docs/tutorials/assets/sidescroller"
|
||
|
|
|
||
|
|
cp "${ASSETS}"/*.png . || exit 1
|
||
|
|
|
||
|
|
mkdir -p sprites || exit 1
|
||
|
|
cp "${ASSETS}"/*.png sprites/ || exit 1
|
||
|
|
cp "${ASSETS}"/sprite_*.json sprites/ || exit 1
|