diff --git a/Makefile b/Makefile index 0f0642b..4b2a618 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,20 @@ HALANG=en  all: @mkdir -p ./build - @echo "Build of replacement files complete!" + @echo "This function does not do anything yet." + @echo "Perhaps you wanted to run `make ha1`." + +.PHONY: ha1 +ha1: + @mkdir -p ./build/ha1/battle + @mkdir -p ./build/ha1/data + @mkdir -p ./build/ha1/script + @echo "Copying fonts..." + @cp ./working/$(HALANG)/ha1/fonts/*.wfn ./build/ha1 + @echo "Building game script..." + @./toolchain/scinsert.php $(HA1PATH) ./working/en/ha1/script ./resources/ha1/keys ./build/ha1/script + @echo "Building item STRUCT..." + @./toolchain/itminsert.php $(HA1PATH) ./working/en/ha1/data/item.txt ./build/ha1/data/item.ifo  .PHONY: dump dump: @@ -15,49 +28,74 @@ dump: @echo "Extracting game graphics..." @mkdir -p ./resources/image/ha1 @mkdir -p ./resources/image/ha2 - @./toolchain/wtunpack.php $(HA1PATH)/wtb/WTImage.bin ./resources/ha1/image - @./toolchain/wtunpack.php $(HA2PATH)/wtb/WTImage.cab ./resources/ha2/image + @./toolchain/wtunpack.php $(HA1PATH)/wtb/WTImage.bin ./resources/ha1/image + @./toolchain/wtunpack.php $(HA2PATH)/wtb/WTImage.cab ./resources/ha2/image @echo "Extracting game animations..." @mkdir -p ./resources/ani/ha1 @mkdir -p ./resources/ani/ha2 - @./toolchain/wtunpack.php $(HA1PATH)/wtb/WTAnime.bin ./resources/ha1/ani - @./toolchain/wtunpack.php $(HA2PATH)/wtb/WTAnime.cab ./resources/ha2/ani + @./toolchain/wtunpack.php $(HA1PATH)/wtb/WTAnime.bin ./resources/ha1/ani + @./toolchain/wtunpack.php $(HA2PATH)/wtb/WTAnime.cab ./resources/ha2/ani @echo "Extracting game voice..." @mkdir -p ./resources/voice/ha1 @mkdir -p ./resources/voice/ha2 - @./toolchain/wtunpack.php $(HA1PATH)/wtb/WTVoice.bin ./resources/ha1/voice - @./toolchain/wtunpack.php $(HA2PATH)/wtb/WTVoice.cab ./resources/ha2/voice + @./toolchain/wtunpack.php $(HA1PATH)/wtb/WTVoice.bin ./resources/ha1/voice + @./toolchain/wtunpack.php $(HA2PATH)/wtb/WTVoice.cab ./resources/ha2/voice + +.PHONY: preview +preview: + @echo "Building image and animation previews..." + @echo "" + @echo "**************************************************" + @echo "** WARNING: THIS TAKES A LONG TIME! **" + @echo "** PRESS CTRL+C TO CANCEL **" + @echo "**************************************************" + @echo "" + @mkdir -p ./resources/ha1/image.preview + @mkdir -p ./resources/ha2/image.preview + @mkdir -p ./resources/ha1/ani.preview + @mkdir -p ./resources/ha2/ani.preview + @./toolchain/imgpreview.php ./resources/ha1/image ./resources/ha1/image.preview + @./toolchain/imgpreview.php ./resources/ha2/image ./resources/ha2/image.preview + @./toolchain/anipreview.php ./resources/ha1/ani ./resources/ha1/ani.preview + @./toolchain/anipreview.php ./resources/ha2/ani ./resources/ha2/ani.preview  .PHONY: working working: @echo "Building clean working directory..." - @mkdir -p ./working/new/ha1/strings - @mkdir -p ./working/new/ha2/strings - @./toolchain/scdump.php $(HA1PATH) ./resources/ha1/keys ./working/new/ha1/strings - @./toolchain/scdump.php $(HA2PATH) ./resources/ha2/keys ./working/new/ha2/strings + @mkdir -p ./working/new/ha1/strings + @mkdir -p ./working/new/ha2/strings @mkdir -p ./working/new/ha1/ani @mkdir -p ./working/new/ha2/ani + @mkdir -p ./working/new/ha1/data + @mkdir -p ./working/new/ha2/data + @mkdir -p ./working/new/ha1/fonts + @mkdir -p ./working/new/ha2/fonts @mkdir -p ./working/new/ha1/image @mkdir -p ./working/new/ha2/image - -.PHONY: preview -preview: - @echo "Building PNG previews..." - @echo "***************************************************" - @echo "** WARNING: THIS TAKES A LONG TIME! **" - @echo "***************************************************" - @mkdir -p ./resources/ha1/image-png - @mkdir -p ./resources/ha2/image-png - @mkdir -p ./resources/ha1/ani-png - @mkdir -p ./resources/ha2/ani-png - @./toolchain/imgpreview.php ./resources/ha1/image ./resources/ha1/img-png - @./toolchain/imgpreview.php ./resources/ha2/image ./resources/ha2/img-png - @./toolchain/anipreview.php ./resources/ha1/ani ./resources/ha1/ani-png - @./toolchain/anipreview.php ./resources/ha2/ani ./resources/ha2/ani-png + @echo "Extracting cleaned scripts..." + @./toolchain/scdump.php $(HA1PATH) ./resources/ha1/keys ./working/new/ha1/strings + @echo "Extracting items and descriptions..." + @./toolchain/itmdump.php $(HA1PATH) ./working/new/ha1/data/item.txt + @echo "Extracting spells and descriptions..." + @./toolchain/spldump.php $(HA1PATH) ./working/new/ha1/data/spell.txt  .PHONY: distclean distclean: rm -rf ./build/* + rm -rf ./resources/ha1/ani + rm -rf ./resources/ha2/ani + rm -rf ./resources/ha1/ani.preview + rm -rf ./resources/ha2/ani.preview + rm -rf ./resources/ha1/battle + rm -rf ./resources/ha2/battle + rm -rf ./resources/ha1/image + rm -rf ./resources/ha2/image + rm -rf ./resources/ha1/image.preview + rm -rf ./resources/ha2/image.preview + rm -rf ./resources/ha1/script + rm -rf ./resources/ha2/script + rm -rf ./resources/ha1/voice + rm -rf ./resources/ha2/voice  clean: rm -rf ./build/* diff --git a/resources/ha1/battle/039.bto b/resources/ha1/battle/039.bto new file mode 100644 index 0000000..4c191b5 Binary files /dev/null and b/resources/ha1/battle/039.bto differ diff --git a/resources/ha1/battle/b0000.btl b/resources/ha1/battle/b0000.btl new file mode 100644 index 0000000..793fb57 Binary files /dev/null and b/resources/ha1/battle/b0000.btl differ diff --git a/resources/ha1/battle/b0001.btl b/resources/ha1/battle/b0001.btl new file mode 100644 index 0000000..793fb57 Binary files /dev/null and b/resources/ha1/battle/b0001.btl differ diff --git a/resources/ha1/battle/b0002.btl b/resources/ha1/battle/b0002.btl new file mode 100644 index 0000000..793fb57 Binary files /dev/null and b/resources/ha1/battle/b0002.btl differ diff --git a/resources/ha1/battle/b0003.btl b/resources/ha1/battle/b0003.btl new file mode 100644 index 0000000..793fb57 Binary files /dev/null and b/resources/ha1/battle/b0003.btl differ diff --git a/resources/ha1/battle/b0004.btl b/resources/ha1/battle/b0004.btl new file mode 100644 index 0000000..793fb57 Binary files /dev/null and b/resources/ha1/battle/b0004.btl differ diff --git a/resources/ha1/battle/bad.btl b/resources/ha1/battle/bad.btl new file mode 100644 index 0000000..14999b6 Binary files /dev/null and b/resources/ha1/battle/bad.btl differ diff --git a/resources/ha1/battle/cow.btl b/resources/ha1/battle/cow.btl new file mode 100644 index 0000000..5c54e76 Binary files /dev/null and b/resources/ha1/battle/cow.btl differ diff --git a/resources/ha1/battle/dog.btl b/resources/ha1/battle/dog.btl new file mode 100644 index 0000000..16e3aaa Binary files /dev/null and b/resources/ha1/battle/dog.btl differ diff --git a/resources/ha1/battle/e005.bto b/resources/ha1/battle/e005.bto new file mode 100644 index 0000000..636039e Binary files /dev/null and b/resources/ha1/battle/e005.bto differ diff --git a/resources/ha1/battle/e008.bto b/resources/ha1/battle/e008.bto new file mode 100644 index 0000000..70da108 Binary files /dev/null and b/resources/ha1/battle/e008.bto differ diff --git a/resources/ha1/battle/e012.bto b/resources/ha1/battle/e012.bto new file mode 100644 index 0000000..98bed04 Binary files /dev/null and b/resources/ha1/battle/e012.bto differ diff --git a/resources/ha1/battle/e013.bto b/resources/ha1/battle/e013.bto new file mode 100644 index 0000000..e78fe85 Binary files /dev/null and b/resources/ha1/battle/e013.bto differ diff --git a/resources/ha1/battle/e019.bto b/resources/ha1/battle/e019.bto new file mode 100644 index 0000000..590310a Binary files /dev/null and b/resources/ha1/battle/e019.bto differ diff --git a/resources/ha1/battle/e022.bto b/resources/ha1/battle/e022.bto new file mode 100644 index 0000000..c894663 Binary files /dev/null and b/resources/ha1/battle/e022.bto differ diff --git a/resources/ha1/battle/e023.bto b/resources/ha1/battle/e023.bto new file mode 100644 index 0000000..0a4235d Binary files /dev/null and b/resources/ha1/battle/e023.bto differ diff --git a/resources/ha1/battle/e027.bto b/resources/ha1/battle/e027.bto new file mode 100644 index 0000000..c423c47 Binary files /dev/null and b/resources/ha1/battle/e027.bto differ diff --git a/resources/ha1/battle/e037.bto b/resources/ha1/battle/e037.bto new file mode 100644 index 0000000..b133ec3 Binary files /dev/null and b/resources/ha1/battle/e037.bto differ diff --git a/resources/ha1/battle/e038.bto b/resources/ha1/battle/e038.bto new file mode 100644 index 0000000..def2ad6 Binary files /dev/null and b/resources/ha1/battle/e038.bto differ diff --git a/resources/ha1/battle/e039.bto b/resources/ha1/battle/e039.bto new file mode 100644 index 0000000..4586af9 Binary files /dev/null and b/resources/ha1/battle/e039.bto differ diff --git a/resources/ha1/battle/e043.bto b/resources/ha1/battle/e043.bto new file mode 100644 index 0000000..7a24956 Binary files /dev/null and b/resources/ha1/battle/e043.bto differ diff --git a/resources/ha1/battle/e050.bto b/resources/ha1/battle/e050.bto new file mode 100644 index 0000000..103ea2b Binary files /dev/null and b/resources/ha1/battle/e050.bto differ diff --git a/resources/ha1/battle/e061.bto b/resources/ha1/battle/e061.bto new file mode 100644 index 0000000..0b39f6a Binary files /dev/null and b/resources/ha1/battle/e061.bto differ diff --git a/resources/ha1/battle/e062.bto b/resources/ha1/battle/e062.bto new file mode 100644 index 0000000..37100be Binary files /dev/null and b/resources/ha1/battle/e062.bto differ diff --git a/resources/ha1/battle/e063.bto b/resources/ha1/battle/e063.bto new file mode 100644 index 0000000..31d7b45 Binary files /dev/null and b/resources/ha1/battle/e063.bto differ diff --git a/resources/ha1/battle/e065.bto b/resources/ha1/battle/e065.bto new file mode 100644 index 0000000..6251ca5 Binary files /dev/null and b/resources/ha1/battle/e065.bto differ diff --git a/resources/ha1/battle/e068.bto b/resources/ha1/battle/e068.bto new file mode 100644 index 0000000..7c96850 Binary files /dev/null and b/resources/ha1/battle/e068.bto differ diff --git a/resources/ha1/battle/e070.bto b/resources/ha1/battle/e070.bto new file mode 100644 index 0000000..1d17f76 Binary files /dev/null and b/resources/ha1/battle/e070.bto differ diff --git a/resources/ha1/battle/e071.bto b/resources/ha1/battle/e071.bto new file mode 100644 index 0000000..2e49696 Binary files /dev/null and b/resources/ha1/battle/e071.bto differ diff --git a/resources/ha1/battle/e072.bto b/resources/ha1/battle/e072.bto new file mode 100644 index 0000000..d8319e5 Binary files /dev/null and b/resources/ha1/battle/e072.bto differ diff --git a/resources/ha1/battle/e073.bto b/resources/ha1/battle/e073.bto new file mode 100644 index 0000000..4a38702 Binary files /dev/null and b/resources/ha1/battle/e073.bto differ diff --git a/resources/ha1/battle/e074.bto b/resources/ha1/battle/e074.bto new file mode 100644 index 0000000..9eb4a23 Binary files /dev/null and b/resources/ha1/battle/e074.bto differ diff --git a/resources/ha1/battle/e079 b/resources/ha1/battle/e079 new file mode 100644 index 0000000..17edf7d Binary files /dev/null and b/resources/ha1/battle/e079 differ diff --git a/resources/ha1/battle/e079.bto b/resources/ha1/battle/e079.bto new file mode 100644 index 0000000..ea92963 Binary files /dev/null and b/resources/ha1/battle/e079.bto differ diff --git a/resources/ha1/battle/e123.bto b/resources/ha1/battle/e123.bto new file mode 100644 index 0000000..e67ddae Binary files /dev/null and b/resources/ha1/battle/e123.bto differ diff --git a/resources/ha1/battle/e13.bto b/resources/ha1/battle/e13.bto new file mode 100644 index 0000000..99d6eb9 Binary files /dev/null and b/resources/ha1/battle/e13.bto differ diff --git a/resources/ha1/battle/e159.bto b/resources/ha1/battle/e159.bto new file mode 100644 index 0000000..d68b217 Binary files /dev/null and b/resources/ha1/battle/e159.bto differ diff --git a/resources/ha1/battle/e160.bto b/resources/ha1/battle/e160.bto new file mode 100644 index 0000000..7dc156a Binary files /dev/null and b/resources/ha1/battle/e160.bto differ diff --git a/resources/ha1/battle/e19.bto b/resources/ha1/battle/e19.bto new file mode 100644 index 0000000..645e8c1 Binary files /dev/null and b/resources/ha1/battle/e19.bto differ diff --git a/resources/ha1/battle/e333.bto b/resources/ha1/battle/e333.bto new file mode 100644 index 0000000..89f7081 Binary files /dev/null and b/resources/ha1/battle/e333.bto differ diff --git a/resources/ha1/battle/e36.bto b/resources/ha1/battle/e36.bto new file mode 100644 index 0000000..6351317 Binary files /dev/null and b/resources/ha1/battle/e36.bto differ diff --git a/resources/ha1/battle/e50.bto b/resources/ha1/battle/e50.bto new file mode 100644 index 0000000..87d6b7a Binary files /dev/null and b/resources/ha1/battle/e50.bto differ diff --git a/resources/ha1/battle/e876.bto b/resources/ha1/battle/e876.bto new file mode 100644 index 0000000..bf6919d Binary files /dev/null and b/resources/ha1/battle/e876.bto differ diff --git a/resources/ha1/battle/e908.bto b/resources/ha1/battle/e908.bto new file mode 100644 index 0000000..f0afd19 Binary files /dev/null and b/resources/ha1/battle/e908.bto differ diff --git a/resources/ha1/battle/e936.bto b/resources/ha1/battle/e936.bto new file mode 100644 index 0000000..12ddd0a Binary files /dev/null and b/resources/ha1/battle/e936.bto differ diff --git a/resources/ha1/battle/e956.bto b/resources/ha1/battle/e956.bto new file mode 100644 index 0000000..93ec718 Binary files /dev/null and b/resources/ha1/battle/e956.bto differ diff --git a/resources/ha1/battle/e957.bto b/resources/ha1/battle/e957.bto new file mode 100644 index 0000000..67e6bd1 Binary files /dev/null and b/resources/ha1/battle/e957.bto differ diff --git a/resources/ha1/battle/e980.bto b/resources/ha1/battle/e980.bto new file mode 100644 index 0000000..51a896b Binary files /dev/null and b/resources/ha1/battle/e980.bto differ diff --git a/resources/ha1/battle/e981.bto b/resources/ha1/battle/e981.bto new file mode 100644 index 0000000..597e8e3 Binary files /dev/null and b/resources/ha1/battle/e981.bto differ diff --git a/resources/ha1/battle/m00.bto b/resources/ha1/battle/m00.bto new file mode 100644 index 0000000..c1e916b Binary files /dev/null and b/resources/ha1/battle/m00.bto differ diff --git a/resources/ha1/battle/m01.bto b/resources/ha1/battle/m01.bto new file mode 100644 index 0000000..b5b322d Binary files /dev/null and b/resources/ha1/battle/m01.bto differ diff --git a/resources/ha1/battle/m02.bto b/resources/ha1/battle/m02.bto new file mode 100644 index 0000000..b1a39eb Binary files /dev/null and b/resources/ha1/battle/m02.bto differ diff --git a/resources/ha1/battle/m03.bto b/resources/ha1/battle/m03.bto new file mode 100644 index 0000000..b0894ec Binary files /dev/null and b/resources/ha1/battle/m03.bto differ diff --git a/resources/ha1/battle/m08.bto b/resources/ha1/battle/m08.bto new file mode 100644 index 0000000..efe1e28 Binary files /dev/null and b/resources/ha1/battle/m08.bto differ diff --git a/resources/ha1/battle/m09.bto b/resources/ha1/battle/m09.bto new file mode 100644 index 0000000..598d4cc Binary files /dev/null and b/resources/ha1/battle/m09.bto differ diff --git a/resources/ha1/battle/m10.bto b/resources/ha1/battle/m10.bto new file mode 100644 index 0000000..1ca7795 Binary files /dev/null and b/resources/ha1/battle/m10.bto differ diff --git a/resources/ha1/battle/ttt.bto b/resources/ha1/battle/ttt.bto new file mode 100644 index 0000000..bfa2ed0 Binary files /dev/null and b/resources/ha1/battle/ttt.bto differ diff --git a/resources/ha1/battle/tutor.btl b/resources/ha1/battle/tutor.btl new file mode 100644 index 0000000..e1d34b5 Binary files /dev/null and b/resources/ha1/battle/tutor.btl differ diff --git a/toolchain/scinsert.php b/toolchain/scinsert.php index 051026e..1401462 100755 --- a/toolchain/scinsert.php +++ b/toolchain/scinsert.php @@ -13,7 +13,7 @@ output_path will be created if it does not exist  */  -echo "Heroine Anthem String Extractor v1.0 (cli)\n"; +echo "Heroine Anthem String Inserter v1.0 (cli)\n";  include("tools.php");  @@ -23,7 +23,7 @@ $regex2 = "/\\n[#].*/"; // Match #Comment if ($argc < 4) { DisplayOptions(); die; } else { $path = $argv[1]; $str_path = $argv[2]; $key_path = $argv[3]; $out_path = $argv[4]; }  -$filelist = scandir($argv[1]."/script"); +$filelist = scandir("$path/script"); @mkdir($out_path);  foreach($filelist as &$file) { @@ -45,7 +45,7 @@ foreach($filelist as &$file) {  // Files with no editable strings do not need processing if(strlen($keys) == 0) { - copy("$path/script/$file", "$out_path/script/$file"); + copy("$path/script/$file", "$out_path/$file"); continue; }  @@ -73,7 +73,7 @@ foreach($filelist as &$file) {  // Identify header type $fd = fopen("$path/script/$file", "rb"); - $fo = fopen("$out_path/script/$file", "w"); + $fo = fopen("$out_path/$file", "w"); fseek($fd, 0x1006, SEEK_SET); $test = fgetdw($fd); if(($test >> 8) != 0xcdcdcd && $test != 3)