PoP roomtest: ресурсы по каталогам образа (BG/KID/LEVELS), цель make hdd
Все .atl лежали в корне диска рядом с exe — с атласами стражей корень зарос бы окончательно. Теперь ресурсы разложены по каталогам (8.3, как принято в DSS): BG\ фон (env0..4, wall, fore, pot) KID\ персонаж (kid0..27, kid.pal, sword, kid_data.bin) GUARD\ стражи (появятся здесь) LEVELS\ уровни (res2001.bin) make_hdd.sh принимает аргумент вида КАТАЛОГ:файл — создаёт каталог на образе и кладёт файл туда; без префикса файл идёт в корень. В Makefile roomtest появилась цель `make hdd`, которая собирает образ с этой раскладкой (раньше команда набиралась руками на 15 строк). Проверено в MAME: DSS открывает пути вида KID\kid0.atl — комната рисуется, Kid и факелы на месте, то есть все атласы, палитра, таблицы анимации и уровень грузятся из подкаталогов. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+13
-2
@@ -11,6 +11,9 @@
|
||||
#
|
||||
# Использование:
|
||||
# toolchain/make_hdd.sh mame/v306/IMG/test_hdd.chd prog.exe data1 data2 ...
|
||||
# toolchain/make_hdd.sh out.chd prog.exe KID:kid0.atl GUARD:g0.atl ...
|
||||
# — аргумент вида КАТАЛОГ:файл кладёт файл в подкаталог образа
|
||||
# (каталог создаётся); без префикса файл идёт в корень.
|
||||
set -e
|
||||
|
||||
if [ $# -lt 2 ]; then
|
||||
@@ -39,12 +42,20 @@ export MTOOLSRC="$MTC" MTOOLS_SKIP_CHECK=1
|
||||
mpartition -I -c -t $CYLS -h $HEADS -s $SECS z:
|
||||
mformat z:
|
||||
|
||||
# Аргумент может быть либо файлом (кладём в корень), либо парой
|
||||
# КАТАЛОГ:файл — тогда каталог создаётся на образе и файл кладётся туда.
|
||||
# Имена на Sprinter/DSS — 8.3, каталоги тоже (KID, GUARD, BG, LEVELS...).
|
||||
for f in "$@"; do
|
||||
mcopy -o "$f" z:
|
||||
case "$f" in
|
||||
*:*) dir="${f%%:*}"; src="${f#*:}"
|
||||
mmd "z:/$dir" 2>/dev/null || true
|
||||
mcopy -o "$src" "z:/$dir/" ;;
|
||||
*) mcopy -o "$f" z: ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo "--- содержимое образа ---"
|
||||
mdir z:
|
||||
mdir -/ z:
|
||||
|
||||
# RAW -> CHD (без сжатия = быстро; та же геометрия).
|
||||
chdman createhd -i "$RAW" -o "$OUT_CHD" -c none \
|
||||
|
||||
Reference in New Issue
Block a user