1
0
Fork 0
mirror of https://github.com/notwa/mm synced 2024-05-05 08:33:23 -07:00
mm/asm/oot-dbg-comp

331 lines
5.3 KiB
Bash

#!/usr/bin/env bash
set -e
sha1=50bebedad9e0f10746a52b07239e47fa6c284d03
rom=../../roms/everything/"Legend of Zelda, The - Ocarina of Time - Master Quest (E) (Debug) [f1].z64"
out=oot-dbg-comp.z64
#sha1=bcc07421ead8a2388075f2051eb89c83164a2bfd
#rom=patch/oot-dbg-compressed.z64
#out=oot-dbg-comp.z64
. common.sh
code="0028 V00A94000 code"
title="0029 V00BCEF30 ovl_title"
#unc "$code"
#unc "$title"
#luajit patch.lua -o 0 ass.asm "$out"
for f in \
"0013 V00802000 icon_item_ger_static" \
"0014 V00811000 icon_item_fra_static" \
"0022 V008FF000 ger_message_data_static" \
"0023 V0093B000 fra_message_data_static" \
"1007 V02793000 syotes_scene" \
"1008 V02795000 syotes_room_0" \
"1009 V027A2000 syotes2_scene" \
"1010 V027A5000 syotes2_room_0" \
"1011 V027AF000 depth_test_scene" \
"1012 V027B0000 depth_test_room_0" \
"1305 V02AF6000 testroom_scene" \
"1306 V02AFB000 testroom_room_0" \
"1307 V02B00000 testroom_room_1" \
"1308 V02B03000 testroom_room_2" \
"1309 V02B07000 testroom_room_3" \
"1310 V02B0B000 testroom_room_4" \
"1316 V02B57000 sutaru_scene" \
"1317 V02B58000 sutaru_room_0" \
"1352 V02D00000 sasatest_scene" \
"1353 V02D03000 sasatest_room_0" \
"1446 V03280000 hairal_niwa2_scene" \
"1447 V03283000 hairal_niwa2_room_0" \
"1507 V03544000 besitu_scene" \
"1508 V03545000 besitu_room_0" \
"1516 V035B3000 test01_scene" \
"1517 V035B7000 test01_room_0" \
; do
rm "$patchme"/"$f"
touch "$patchme"/"$f"
echo "deleted $f"
done
# get rid of some skyboxes for now
for f in \
"0961 V01B7A000 vr_MDVR_static" \
"0963 V01BBB000 vr_MNVR_static" \
"0965 V01BFC000 vr_RUVR_static" \
"0967 V01C3D000 vr_LHVR_static" \
"0969 V01C7E000 vr_KHVR_static" \
"0979 V01D73000 vr_MLVR_static" \
"0981 V01DB4000 vr_KKRVR_static" \
"0985 V01E26000 vr_IPVR_static" \
"0999 V01F2D000 vr_LBVR_static" \
; do
rm "$patchme"/"$f"
touch "$patchme"/"$f"
echo "deleted $f"
done
declare -A raw
# must be uncompressed
raw[0000]=1
raw[0001]=1
raw[0002]=1
raw[0007]=1
raw[0008]=1
raw[0009]=1
raw[0010]=1
raw[0011]=1
raw[0012]=1
raw[0013]=1
raw[0014]=1
raw[0015]=1
raw[0016]=1
raw[0017]=1
raw[0018]=1
raw[0019]=1
raw[0020]=1
raw[0021]=1
raw[0022]=1
raw[0023]=1
raw[0024]=1
raw[0025]=1
raw[0026]=1
raw[0027]=1
raw[0501]=1
raw[0937]=1
raw[0938]=1
raw[0939]=1
raw[0940]=1
raw[0941]=1
raw[0942]=1
raw[0943]=1
raw[0944]=1
raw[0945]=1
raw[0946]=1
raw[0947]=1
raw[0948]=1
raw[0949]=1
raw[0950]=1
raw[0951]=1
raw[0952]=1
raw[0953]=1
raw[0954]=1
raw[0955]=1
raw[0956]=1
raw[0957]=1
raw[0958]=1
raw[0959]=1
raw[0960]=1
raw[0961]=1
raw[0962]=1
raw[0963]=1
raw[0964]=1
raw[0965]=1
raw[0966]=1
raw[0967]=1
raw[0968]=1
raw[0969]=1
raw[0970]=1
raw[0971]=1
raw[0972]=1
raw[0973]=1
raw[0974]=1
raw[0975]=1
raw[0976]=1
raw[0977]=1
raw[0978]=1
raw[0979]=1
raw[0980]=1
raw[0981]=1
raw[0982]=1
raw[0983]=1
raw[0984]=1
raw[0985]=1
raw[0986]=1
raw[0987]=1
raw[0988]=1
raw[0989]=1
raw[0990]=1
raw[0991]=1
raw[0992]=1
raw[0993]=1
raw[0994]=1
raw[0995]=1
raw[0996]=1
raw[0997]=1
raw[0998]=1
raw[0999]=1
raw[1000]=1
raw[1001]=1
raw[1002]=1
raw[1003]=1
raw[1004]=1
raw[1518]=1
raw[1519]=1
raw[1520]=1
raw[1521]=1
raw[1522]=1
raw[1523]=1
raw[1524]=1
raw[1525]=1
raw[1526]=1
raw[1527]=1
raw[1528]=1
raw[1529]=1
raw[1530]=1
raw[1531]=1
# other shit
raw[0003]=1
raw[0004]=1
raw[0006]=1
raw[1509]=1
raw[1510]=1
raw[1511]=1
raw[1512]=1
raw[1513]=1
raw[1514]=1
raw[1515]=1
raw[1516]=1
raw[1517]=1
# might not actually need to be uncompressed
raw[0010]=0
raw[0011]=0
raw[0012]=0
raw[0013]=0
raw[0014]=0
raw[0027]=0
raw[0501]=0
raw[0607]=0
raw[0624]=0
raw[0648]=0
raw[0649]=0
raw[0737]=0
raw[0841]=0
raw[0856]=0
raw[0869]=0
raw[0937]=0
raw[0938]=0
raw[0939]=0
raw[0940]=0
raw[0942]=0
raw[0944]=0
raw[0946]=0
raw[0948]=0
raw[0950]=0
raw[0952]=0
raw[0954]=0
raw[0956]=0
raw[0958]=0
raw[0960]=0
raw[0962]=0
raw[0964]=0
raw[0966]=0
raw[0968]=0
raw[0970]=0
raw[0972]=0
raw[0974]=0
raw[0976]=0
raw[0978]=0
raw[0980]=0
raw[0982]=0
raw[0984]=0
raw[0986]=0
raw[0988]=0
raw[0990]=0
raw[0992]=0
raw[0994]=0
raw[0996]=0
raw[0998]=0
raw[1000]=0
raw[1002]=0
raw[1004]=0
raw[1005]=0
raw[1006]=0
raw[1525]=0
raw[1526]=0
raw[1527]=0
raw[1528]=0
raw[1529]=0
raw[1530]=0
raw[1531]=0
# smaller when uncompressed
raw[0005]=1
raw[0501]=1
raw[0607]=1
raw[0624]=1
raw[0648]=1
raw[0649]=1
raw[0737]=1
raw[0841]=1
raw[0856]=1
raw[0869]=1
raw[0942]=1
raw[0944]=1
raw[0946]=1
raw[0948]=1
raw[0950]=1
raw[0952]=1
raw[0954]=1
raw[0960]=1
raw[0962]=1
raw[0964]=1
raw[0966]=1
raw[0968]=1
raw[0972]=1
raw[0974]=1
raw[0976]=1
raw[0980]=1
raw[0982]=1
raw[0984]=1
raw[0986]=1
raw[0988]=1
raw[0990]=1
raw[0992]=1
raw[0994]=1
raw[0996]=1
raw[0998]=1
raw[1000]=1
raw[1002]=1
raw[1004]=1
raw[1005]=1
raw[1006]=1
raw[1519]=1
raw[1520]=1
raw[1521]=1
raw[1522]=1
raw[1523]=1
raw[1524]=1
raw[1525]=1
raw[1526]=1
raw[1527]=1
raw[1528]=1
raw[1529]=1
raw[1530]=1
if [ $fast -ne 2 ]; then
# comp "$code"
# comp "$title"
# z64dump.py doesn't have compression support rn
# so we'll do this ourselves
for f in "$patchme"/*; do
ext="${f##*.}" # warning: not robust
dirless="${f##*/}" # warning: not robust
n="${dirless:0:4}"
if [ -n "${raw[$n]}" ] && [ "${raw[$n]}" -eq 1 ]; then
echo "skipping $dirless"
else
quiet=1
[ "$ext" == 'Yaz0' ] || comp "$dirless"
quiet=0
fi
done
dump "$patchme"
copy_rom "build/$out" 32
fi