diff --git a/Makefile b/Makefile index 3cb563608..66b1f5f69 100644 --- a/Makefile +++ b/Makefile @@ -31,9 +31,9 @@ dsk: asm $(CADIUS) ADDFILE build/"$(DISK)" "/$(VOLUME)/" "build/LAUNCHER.SYSTEM" >>build/log rsync -aP res/PREFS.CONF build/PREFS.CONF >> build/log bin/padto.sh 512 build/PREFS.CONF >>build/log - bin/buildhelpful.sh "build/HELPFUL" "build/helper.inc" >>build/log + bin/buildhelp.sh "build/HELPFUL" "build/helper.inc" >>build/log $(ACME) -r build/helper.lst src/helper/helper.a >>build/log - for f in res/TITLE res/COVER res/HELP res/GAMES.CONF res/ATTRACT.CONF res/FX.CONF res/DFX.CONF build/PREFS.CONF res/CREDITS res/HELPTEXT build/HELPFER build/HELPFUL res/DECRUNCH res/JOYSTICK res/Finder.Data res/Finder.Root; do $(CADIUS) ADDFILE build/"$(DISK)" "/$(VOLUME)/" "$$f" >>build/log; done + for f in res/TITLE res/COVER res/HELP res/GAMES.CONF res/ATTRACT.CONF res/FX.CONF res/DFX.CONF build/PREFS.CONF res/CREDITS res/HELPTEXT build/HELPER build/HELPFUL res/DECRUNCH res/JOYSTICK res/Finder.Data res/Finder.Root; do $(CADIUS) ADDFILE build/"$(DISK)" "/$(VOLUME)/" "$$f" >>build/log; done bin/buildfileinfo.sh res/TITLE.HGR "06" "4000" >>build/log bin/buildfileinfo.sh res/TITLE.DHGR "06" "4000" >>build/log bin/buildfileinfo.sh res/ACTION.HGR "06" "3FF8" >>build/log diff --git a/bin/buildhelpful.js b/bin/buildhelp.js similarity index 82% rename from bin/buildhelpful.js rename to bin/buildhelp.js index aa8a66460..407297a1d 100644 --- a/bin/buildhelpful.js +++ b/bin/buildhelp.js @@ -41,9 +41,7 @@ f.write(entry = a.opentextfile(s).readall().replace(/\r\n/g, "\n")) help_off = entry.length letter = "@" //"A" - 1 -header_low = "header_low !byte " -header_high = "header_high !byte " -groups = "\n; format: Pascal string, big-endian 24-bit file offset in helptext file\n" +groups = "" first = true i = 0 @@ -53,8 +51,6 @@ while (i < entries.length) { letter = String.fromCharCode(letter.charCodeAt(0) + 1) group = "group" + letter - header_low += "<" + group + ", " - header_high += ">" + group + ", " groups += group + "\n" first = false @@ -81,8 +77,6 @@ while (i < entries.length) } f = a.createtextfile(WScript.Arguments(1)) -f.writeline(header_low.substr(0, header_low.length - 2)) -f.writeline(header_high.substr(0, header_high.length - 2)) f.write(groups) function format8(str) diff --git a/bin/buildhelp.sh b/bin/buildhelp.sh new file mode 100755 index 000000000..4e8f691f6 --- /dev/null +++ b/bin/buildhelp.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# run from project root directory + +games=`cat res/GAMES.CONF | grep "," | grep -v "^#" | cut -d"," -f2 | cut -d"=" -f1 | sort` +cat res/GAMEHELP/STANDARD > "$1" +for c in {A..Z}; do + echo -e "group$c" + echo "$games" | grep "^$c" | while read game; do + echo "!byte ${#game}" + echo "!text \"$game\"" + if [ -f "res/GAMEHELP/$game" ]; then + offset=$(wc -c <"$1") + echo "!be24 $offset" + cat res/GAMEHELP/"$game" >> "$1" + else + echo "!be24 0" + fi + done +done > "$2" diff --git a/res/_FileInformation.txt b/res/_FileInformation.txt index 634f2052a..7526215c2 100644 --- a/res/_FileInformation.txt +++ b/res/_FileInformation.txt @@ -11,6 +11,7 @@ TITLE=Type(06),AuxType(2000),Access(C3) HELP=Type(06),AuxType(2000),Access(C3) CREDITS=Type(04),AuxType(8000),Access(C3) HELPTEXT=Type(04),AuxType(8000),Access(C3) +HELPFUL=Type(04),AuxType(0000),Access(C3) DECRUNCH=Type(06),AuxType(0200),Access(C3) JOYSTICK=Type(06),AuxType(0800),Access(C3) Finder.Data=Type(C9),AuxType(0000),Access(E7) diff --git a/src/helper/helper.a b/src/helper/helper.a index cf7afbc8f..5fc766ace 100644 --- a/src/helper/helper.a +++ b/src/helper/helper.a @@ -86,4 +86,8 @@ filename !text "HELPFUL" filename_e +header_low !byte groupA, >groupB, >groupC, >groupD, >groupE, >groupF, >groupG, >groupH, >groupI, >groupJ, >groupK, >groupL, >groupM, >groupN, >groupO, >groupP, >groupQ, >groupR, >groupS, >groupT, >groupU, >groupV, >groupW, >groupX, >groupY, >groupZ + +; format: Pascal string of game directory + big-endian 24-bit file offset in merged helptext file !source "build/helper.inc" diff --git a/winmake.bat b/winmake.bat index 8d84ab391..7328429ab 100644 --- a/winmake.bat +++ b/winmake.bat @@ -59,7 +59,7 @@ cscript /nologo bin\dumpcr.js "build\CREDITS" cscript /nologo bin\rsync.js "res\HELPTEXT" "build\" >>build\log cscript /nologo bin\dumpcr.js "build\HELPTEXT" %CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\HELPTEXT" >>build\log -cscript /nologo bin\buildhelpful.js "build\HELPFUL" "build\helper.inc" >>build\log +cscript /nologo bin\buildhelp.js "build\HELPFUL" "build\helper.inc" >>build\log %ACME% -r build\helper.lst src\helper\helper.a >>build\log %CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\HELPER" >>build\log %CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\HELPFUL" >>build\log