build improvements (no binary changes)

This commit is contained in:
4am 2024-06-11 12:04:10 -04:00
parent 83ca5f91af
commit 0b1e208b9d
2 changed files with 79 additions and 81 deletions

150
Makefile
View File

@ -105,14 +105,15 @@ TITLE=res/TITLE
.PHONY: compress attract cache clean mount all al
# build final disk image
$(HDV): $(PROBOOTHD) $(LAUNCHER.SYSTEM) $(PRELAUNCH) $(X) $(TOTAL.DATA) $(TITLE.ANIMATED.SOURCES) $(ICONS) $(FINDER.DATA) $(FINDER.ROOT) $(PREFS.CONF)
cp res/blank.hdv "$@"
cp res/_FileInformation.txt "$(BUILDDIR)"/
$(CADIUS) ADDFILE "$@" "/$(VOLUME)/" "$(BUILDDIR)"/LAUNCHER.SYSTEM -C >>"$(BUILDDIR)"/log
$(CADIUS) ADDFILE "$@" "/$(VOLUME)/" "$(LAUNCHER.SYSTEM)" -C >>"$(BUILDDIR)"/log
for f in "$(TOTAL.DATA)" "$(PREFS.CONF)" "$(FINDER.DATA)" "$(FINDER.ROOT)"; do \
$(CADIUS) ADDFILE "$@" "/$(VOLUME)/" "$$f" -C >>"$(BUILDDIR)"/log; \
done
cp src/prelaunch/_FileInformation.txt "$(BUILDDIR)"/PRELAUNCH/
cp src/prelaunch/_FileInformation.txt "$(PRELAUNCH)"/
for f in res/TITLE.ANIMATED res/ICONS "$(PRELAUNCH)" "$(X)"; do \
rm -f "$$f"/.DS_Store; \
$(CADIUS) ADDFOLDER "$@" "/$(VOLUME)/$$(basename $$f)" "$$f" -C >>"$(BUILDDIR)"/log; \
@ -120,6 +121,7 @@ $(HDV): $(PROBOOTHD) $(LAUNCHER.SYSTEM) $(PRELAUNCH) $(X) $(TOTAL.DATA) $(TITLE.
bin/changebootloader.sh "$@" $(PROBOOTHD)
@touch "$@"
# build padded prefs file (padding is required for writing by ProRWTS)
$(PREFS.CONF): $(PREFS.CONF.SOURCE) | $(MD)
cp "$(PREFS.CONF.SOURCE)" "$@"
bin/padto.sh "$@"
@ -164,7 +166,7 @@ $(GAMEHELP): $(GAMEHELP.SOURCES) | $(MD)
$(SS): $(SS.SOURCES) | $(MD)
mkdir -p "$@"
$(PARALLEL) 'bin/buildslideshow.py "{}" "$(GAMES.CONF)" < "{}" > "$@/{/}"' ::: res/SS/*
(cd "$(BUILDDIR)"/SS/ && for f in *; do echo "$$f"; done) > "$(SS.LIST)"
(cd "$(SS)"/ && for f in *; do echo "$$f"; done) > "$(SS.LIST)"
@touch "$@"
# precompute binary data structures for each game's mini-attract configuration file
@ -221,78 +223,80 @@ $(TOTAL.DATA): $(FX) $(PRELAUNCH) $(DEMO) $(SS) $(X) $(ATTRACT) $(ATTRACT.IDX) $
# note: prelaunch must be first in TOTAL.DATA due to a hack in LoadStandardPrelaunch
# note 2: these can not be padded because they are loaded at $0106 and padding would clobber the stack
#
bin/buildindexedfile.py "$(TOTAL.DATA)" "$(BUILDDIR)"/PRELAUNCH.INDEXED "" < "$(GAMES.SORTED)" > "$(BUILDDIR)"/PRELAUNCH.IDX
rm -f "$@"
touch "$@"
bin/buildindexedfile.py "$@" "$(BUILDDIR)"/PRELAUNCH.INDEXED "" < "$(GAMES.SORTED)" > "$(BUILDDIR)"/PRELAUNCH.IDX
#
# precompute indexed files for HGR & DHGR titles
# note: these are not padded because they are all an exact block-multiple anyway
#
bin/padto.sh "$(TOTAL.DATA)"
bin/buildindexedfile.py -a "$(TOTAL.DATA)" res/TITLE.HGR "$(BUILDDIR)"/HGR.TITLES.LOG < "$(TITLE.HGR.LIST)" > "$(BUILDDIR)"/TITLE.IDX
bin/buildindexedfile.py -a "$(TOTAL.DATA)" res/TITLE.DHGR "$(BUILDDIR)"/DHGR.TITLES.LOG < "$(TITLE.DHGR.LIST)" > "$(BUILDDIR)"/DTITLE.IDX
bin/addfile.sh "$(COVER)" "$(TOTAL.DATA)" > src/index/res.cover.idx.a
bin/addfile.sh "$(TITLE)" "$(TOTAL.DATA)" > src/index/res.title.idx.a
bin/addfile.sh "$(HELP)" "$(TOTAL.DATA)" > src/index/res.help.idx.a
bin/padto.sh "$@"
bin/buildindexedfile.py "$@" res/TITLE.HGR "$(BUILDDIR)"/HGR.TITLES.LOG < "$(TITLE.HGR.LIST)" > "$(BUILDDIR)"/TITLE.IDX
bin/buildindexedfile.py "$@" res/TITLE.DHGR "$(BUILDDIR)"/DHGR.TITLES.LOG < "$(TITLE.DHGR.LIST)" > "$(BUILDDIR)"/DTITLE.IDX
bin/addfile.sh "$(COVER)" "$@" > src/index/res.cover.idx.a
bin/addfile.sh "$(TITLE)" "$@" > src/index/res.title.idx.a
bin/addfile.sh "$(HELP)" "$@" > src/index/res.help.idx.a
#
# precompute indexed files for game help
# note: these can be padded because they're loaded into $800 at a time when $800..$1FFF is clobber-able
#
bin/buildindexedfile.py -p -a "$(TOTAL.DATA)" "$(GAMEHELP)" "" < "$(GAMES.SORTED)" > "$(BUILDDIR)"/GAMEHELP.IDX
bin/buildindexedfile.py -p "$@" "$(GAMEHELP)" "" < "$(GAMES.SORTED)" > "$(BUILDDIR)"/GAMEHELP.IDX
#
# precompute indexed files for slideshows
# note: these can be padded because they're loaded into $800 at a time when $800..$1FFF is clobber-able
#
bin/buildindexedfile.py -p -a "$(TOTAL.DATA)" "$(SS)" "" < "$(SS.LIST)" > "$(BUILDDIR)"/SLIDESHOW.IDX
bin/buildindexedfile.py -p -a "$(TOTAL.DATA)" "$(ATTRACT)" "" < "$(MINI.ATTRACT0.LIST)" > "$(BUILDDIR)"/MINIATTRACT0.IDX
bin/buildindexedfile.py -p -a "$(TOTAL.DATA)" "$(ATTRACT)" "" < "$(MINI.ATTRACT1.LIST)" > "$(BUILDDIR)"/MINIATTRACT1.IDX
bin/buildindexedfile.py -p "$@" "$(SS)" "" < "$(SS.LIST)" > "$(BUILDDIR)"/SLIDESHOW.IDX
bin/buildindexedfile.py -p "$@" "$(ATTRACT)" "" < "$(MINI.ATTRACT0.LIST)" > "$(BUILDDIR)"/MINIATTRACT0.IDX
bin/buildindexedfile.py -p "$@" "$(ATTRACT)" "" < "$(MINI.ATTRACT1.LIST)" > "$(BUILDDIR)"/MINIATTRACT1.IDX
#
# precompute indexed files for graphic effects
# note: these can be padded because they're loaded into $6000 at a time when $6000..$BEFF is clobber-able
#
bin/buildindexedfile.py -p -a "$(TOTAL.DATA)" "$(BUILDDIR)"/FX.INDEXED "" < "$(FX.CONF)" > "$(BUILDDIR)"/FX.IDX
bin/buildindexedfile.py -p -a "$(TOTAL.DATA)" "$(BUILDDIR)"/FX.INDEXED "" < "$(DFX.CONF)" > "$(BUILDDIR)"/DFX.IDX
bin/buildindexedfile.py -p -a "$(TOTAL.DATA)" "$(BUILDDIR)"/FX.INDEXED "" < "$(SFX.CONF)" > "$(BUILDDIR)"/SFX.IDX
bin/buildindexedfile.py -p -a "$(TOTAL.DATA)" "$(BUILDDIR)"/FXCODE "" < "$(FXCODE.LIST)" > "$(BUILDDIR)"/FXCODE.IDX
bin/buildindexedfile.py -p "$@" "$(BUILDDIR)"/FX.INDEXED "" < "$(FX.CONF)" > "$(BUILDDIR)"/FX.IDX
bin/buildindexedfile.py -p "$@" "$(BUILDDIR)"/FX.INDEXED "" < "$(DFX.CONF)" > "$(BUILDDIR)"/DFX.IDX
bin/buildindexedfile.py -p "$@" "$(BUILDDIR)"/FX.INDEXED "" < "$(SFX.CONF)" > "$(BUILDDIR)"/SFX.IDX
bin/buildindexedfile.py -p "$@" "$(BUILDDIR)"/FXCODE "" < "$(FXCODE.LIST)" > "$(BUILDDIR)"/FXCODE.IDX
#
# precompute indexed files for coordinates files loaded by graphic effects
# note: these can not be padded because some of them are loaded into tight spaces near the unclobberable top of main memory
#
bin/buildindexedfile.py -a "$(TOTAL.DATA)" "$(BUILDDIR)"/FXDATA "" < "$(FXDATA.LIST)" > "$(BUILDDIR)"/FXDATA.IDX
bin/buildindexedfile.py "$@" "$(BUILDDIR)"/FXDATA "" < "$(FXDATA.LIST)" > "$(BUILDDIR)"/FXDATA.IDX
#
# precompute indexed files for HGR & DHGR action screenshots
# note: these can not be padded because they are compressed and the decompressor needs the exact size
#
bin/buildindexedfile.py -a "$(TOTAL.DATA)" res/ACTION.HGR "" < "$(ACTION.HGR0.LIST)" > "$(BUILDDIR)"/HGR0.IDX
bin/buildindexedfile.py -a "$(TOTAL.DATA)" res/ACTION.HGR "" < "$(ACTION.HGR1.LIST)" > "$(BUILDDIR)"/HGR1.IDX
bin/buildindexedfile.py -a "$(TOTAL.DATA)" res/ACTION.HGR "" < "$(ACTION.HGR2.LIST)" > "$(BUILDDIR)"/HGR2.IDX
bin/buildindexedfile.py -a "$(TOTAL.DATA)" res/ACTION.HGR "" < "$(ACTION.HGR3.LIST)" > "$(BUILDDIR)"/HGR3.IDX
bin/buildindexedfile.py -a "$(TOTAL.DATA)" res/ACTION.HGR "" < "$(ACTION.HGR4.LIST)" > "$(BUILDDIR)"/HGR4.IDX
bin/buildindexedfile.py -a "$(TOTAL.DATA)" res/ACTION.HGR "" < "$(ACTION.HGR5.LIST)" > "$(BUILDDIR)"/HGR5.IDX
bin/buildindexedfile.py -a "$(TOTAL.DATA)" res/ACTION.HGR "" < "$(ACTION.HGR6.LIST)" > "$(BUILDDIR)"/HGR6.IDX
bin/buildindexedfile.py -a "$(TOTAL.DATA)" res/ACTION.DHGR "" < "$(ACTION.DHGR.LIST)" > "$(BUILDDIR)"/DHGR.IDX
bin/buildindexedfile.py "$@" res/ACTION.HGR "" < "$(ACTION.HGR0.LIST)" > "$(BUILDDIR)"/HGR0.IDX
bin/buildindexedfile.py "$@" res/ACTION.HGR "" < "$(ACTION.HGR1.LIST)" > "$(BUILDDIR)"/HGR1.IDX
bin/buildindexedfile.py "$@" res/ACTION.HGR "" < "$(ACTION.HGR2.LIST)" > "$(BUILDDIR)"/HGR2.IDX
bin/buildindexedfile.py "$@" res/ACTION.HGR "" < "$(ACTION.HGR3.LIST)" > "$(BUILDDIR)"/HGR3.IDX
bin/buildindexedfile.py "$@" res/ACTION.HGR "" < "$(ACTION.HGR4.LIST)" > "$(BUILDDIR)"/HGR4.IDX
bin/buildindexedfile.py "$@" res/ACTION.HGR "" < "$(ACTION.HGR5.LIST)" > "$(BUILDDIR)"/HGR5.IDX
bin/buildindexedfile.py "$@" res/ACTION.HGR "" < "$(ACTION.HGR6.LIST)" > "$(BUILDDIR)"/HGR6.IDX
bin/buildindexedfile.py "$@" res/ACTION.DHGR "" < "$(ACTION.DHGR.LIST)" > "$(BUILDDIR)"/DHGR.IDX
#
# precompute indexed files for GR and DGR action screenshots
# note: these can be padded because they are not compressed
#
bin/buildindexedfile.py -a -p "$(TOTAL.DATA)" res/ACTION.GR "" < "$(ACTION.GR.LIST)" > "$(BUILDDIR)"/GR.IDX
bin/buildindexedfile.py -a -p "$(TOTAL.DATA)" res/ACTION.DGR "" < "$(ACTION.DGR.LIST)" > "$(BUILDDIR)"/DGR.IDX
bin/buildindexedfile.py -p "$@" res/ACTION.GR "" < "$(ACTION.GR.LIST)" > "$(BUILDDIR)"/GR.IDX
bin/buildindexedfile.py -p "$@" res/ACTION.DGR "" < "$(ACTION.DGR.LIST)" > "$(BUILDDIR)"/DGR.IDX
#
# precompute indexed files for SHR artwork
# note: these can not be padded because they are compressed and the decompressor needs the exact size
#
bin/buildindexedfile.py -a "$(TOTAL.DATA)" res/ARTWORK.SHR "" < "$(ARTWORK.SHR.LIST)" > "$(BUILDDIR)"/ARTWORK.IDX
bin/buildindexedfile.py "$@" res/ARTWORK.SHR "" < "$(ARTWORK.SHR.LIST)" > "$(BUILDDIR)"/ARTWORK.IDX
#
# precompute indexed files for demo launchers
# note: these can not be padded because some of them are loaded too close to $C000
#
bin/buildindexedfile.py -a "$(TOTAL.DATA)" "$(DEMO)" "" < "$(DEMO.LIST)" > "$(BUILDDIR)"/DEMO.IDX
bin/addfile.sh "$(BUILDDIR)"/DEMO.IDX "$(TOTAL.DATA)" > src/index/demo.idx.a
bin/buildindexedfile.py "$@" "$(DEMO)" "" < "$(DEMO.LIST)" > "$(BUILDDIR)"/DEMO.IDX
bin/addfile.sh "$(BUILDDIR)"/DEMO.IDX "$@" > src/index/demo.idx.a
#
# precompute indexed files for single-load game binaries
# note: these can be padded because they are loaded at a time when all of main memory is clobber-able
#
bin/buildindexedfile.py -a -p "$(TOTAL.DATA)" "$(BUILDDIR)"/X.INDEXED "" < "$(XSINGLE.LIST)" > "$(BUILDDIR)"/XSINGLE.IDX
bin/addfile.sh "$(BUILDDIR)"/XSINGLE.IDX "$(TOTAL.DATA)" > src/index/xsingle.idx.a
bin/buildindexedfile.py -p "$@" "$(BUILDDIR)"/X.INDEXED "" < "$(XSINGLE.LIST)" > "$(BUILDDIR)"/XSINGLE.IDX
bin/addfile.sh "$(BUILDDIR)"/XSINGLE.IDX "$@" > src/index/xsingle.idx.a
#
# create search indexes for each variation of (game-requires-joystick) X (game-requires-128K)
# in the form of OKVS data structures, plus game counts in the form of source files
@ -306,48 +310,48 @@ $(TOTAL.DATA): $(FX) $(PRELAUNCH) $(DEMO) $(SS) $(X) $(ATTRACT) $(ATTRACT.IDX) $
# add IDX files to the combined index file and generate
# the index records that callers use to reference them
#
bin/addfile.sh "$(BUILDDIR)"/SEARCH00.IDX "$(TOTAL.DATA)" > src/index/search00.idx.a
bin/addfile.sh res/CACHE00.IDX "$(TOTAL.DATA)" > src/index/cache00.idx.a
bin/addfile.sh "$(BUILDDIR)"/SEARCH01.IDX "$(TOTAL.DATA)" > src/index/search01.idx.a
bin/addfile.sh res/CACHE01.IDX "$(TOTAL.DATA)" > src/index/cache01.idx.a
bin/addfile.sh "$(BUILDDIR)"/SEARCH10.IDX "$(TOTAL.DATA)" > src/index/search10.idx.a
bin/addfile.sh res/CACHE10.IDX "$(TOTAL.DATA)" > src/index/cache10.idx.a
bin/addfile.sh "$(BUILDDIR)"/SEARCH11.IDX "$(TOTAL.DATA)" > src/index/search11.idx.a
bin/addfile.sh res/CACHE11.IDX "$(TOTAL.DATA)" > src/index/cache11.idx.a
bin/addfile.sh "$(BUILDDIR)"/PRELAUNCH.IDX "$(TOTAL.DATA)" > src/index/prelaunch.idx.a
bin/addfile.sh "$(ATTRACT.IDX)" "$(TOTAL.DATA)" > src/index/attract.idx.a
bin/addfile.sh "$(BUILDDIR)"/FX.IDX "$(TOTAL.DATA)" > src/index/fx.idx.a
bin/addfile.sh "$(BUILDDIR)"/DFX.IDX "$(TOTAL.DATA)" > src/index/dfx.idx.a
bin/addfile.sh "$(BUILDDIR)"/SFX.IDX "$(TOTAL.DATA)" > src/index/sfx.idx.a
bin/addfile.sh "$(BUILDDIR)"/FXCODE.IDX "$(TOTAL.DATA)" > src/index/fxcode.idx.a
bin/addfile.sh "$(BUILDDIR)"/FXDATA.IDX "$(TOTAL.DATA)" > src/index/fxdata.idx.a
bin/addfile.sh "$(BUILDDIR)"/GAMEHELP.IDX "$(TOTAL.DATA)" > src/index/gamehelp.idx.a
bin/addfile.sh "$(BUILDDIR)"/SLIDESHOW.IDX "$(TOTAL.DATA)" > src/index/slideshow.idx.a
bin/addfile.sh "$(BUILDDIR)"/MINIATTRACT0.IDX "$(TOTAL.DATA)" > src/index/miniattract0.idx.a
bin/addfile.sh "$(BUILDDIR)"/MINIATTRACT1.IDX "$(TOTAL.DATA)" > src/index/miniattract1.idx.a
bin/addfile.sh "$(BUILDDIR)"/TITLE.IDX "$(TOTAL.DATA)" > src/index/title.idx.a
bin/addfile.sh "$(BUILDDIR)"/DTITLE.IDX "$(TOTAL.DATA)" > src/index/dtitle.idx.a
bin/addfile.sh "$(BUILDDIR)"/HGR0.IDX "$(TOTAL.DATA)" > src/index/hgr0.idx.a
bin/addfile.sh "$(BUILDDIR)"/HGR1.IDX "$(TOTAL.DATA)" > src/index/hgr1.idx.a
bin/addfile.sh "$(BUILDDIR)"/HGR2.IDX "$(TOTAL.DATA)" > src/index/hgr2.idx.a
bin/addfile.sh "$(BUILDDIR)"/HGR3.IDX "$(TOTAL.DATA)" > src/index/hgr3.idx.a
bin/addfile.sh "$(BUILDDIR)"/HGR4.IDX "$(TOTAL.DATA)" > src/index/hgr4.idx.a
bin/addfile.sh "$(BUILDDIR)"/HGR5.IDX "$(TOTAL.DATA)" > src/index/hgr5.idx.a
bin/addfile.sh "$(BUILDDIR)"/HGR6.IDX "$(TOTAL.DATA)" > src/index/hgr6.idx.a
bin/addfile.sh "$(BUILDDIR)"/DHGR.IDX "$(TOTAL.DATA)" > src/index/dhgr.idx.a
bin/addfile.sh "$(BUILDDIR)"/GR.IDX "$(TOTAL.DATA)" > src/index/gr.idx.a
bin/addfile.sh "$(BUILDDIR)"/DGR.IDX "$(TOTAL.DATA)" > src/index/dgr.idx.a
bin/addfile.sh "$(BUILDDIR)"/ARTWORK.IDX "$(TOTAL.DATA)" > src/index/artwork.idx.a
bin/addfile.sh "$(BUILDDIR)"/SEARCH00.IDX "$@" > src/index/search00.idx.a
bin/addfile.sh res/CACHE00.IDX "$@" > src/index/cache00.idx.a
bin/addfile.sh "$(BUILDDIR)"/SEARCH01.IDX "$@" > src/index/search01.idx.a
bin/addfile.sh res/CACHE01.IDX "$@" > src/index/cache01.idx.a
bin/addfile.sh "$(BUILDDIR)"/SEARCH10.IDX "$@" > src/index/search10.idx.a
bin/addfile.sh res/CACHE10.IDX "$@" > src/index/cache10.idx.a
bin/addfile.sh "$(BUILDDIR)"/SEARCH11.IDX "$@" > src/index/search11.idx.a
bin/addfile.sh res/CACHE11.IDX "$@" > src/index/cache11.idx.a
bin/addfile.sh "$(BUILDDIR)"/PRELAUNCH.IDX "$@" > src/index/prelaunch.idx.a
bin/addfile.sh "$(ATTRACT.IDX)" "$@" > src/index/attract.idx.a
bin/addfile.sh "$(BUILDDIR)"/FX.IDX "$@" > src/index/fx.idx.a
bin/addfile.sh "$(BUILDDIR)"/DFX.IDX "$@" > src/index/dfx.idx.a
bin/addfile.sh "$(BUILDDIR)"/SFX.IDX "$@" > src/index/sfx.idx.a
bin/addfile.sh "$(BUILDDIR)"/FXCODE.IDX "$@" > src/index/fxcode.idx.a
bin/addfile.sh "$(BUILDDIR)"/FXDATA.IDX "$@" > src/index/fxdata.idx.a
bin/addfile.sh "$(BUILDDIR)"/GAMEHELP.IDX "$@" > src/index/gamehelp.idx.a
bin/addfile.sh "$(BUILDDIR)"/SLIDESHOW.IDX "$@" > src/index/slideshow.idx.a
bin/addfile.sh "$(BUILDDIR)"/MINIATTRACT0.IDX "$@" > src/index/miniattract0.idx.a
bin/addfile.sh "$(BUILDDIR)"/MINIATTRACT1.IDX "$@" > src/index/miniattract1.idx.a
bin/addfile.sh "$(BUILDDIR)"/TITLE.IDX "$@" > src/index/title.idx.a
bin/addfile.sh "$(BUILDDIR)"/DTITLE.IDX "$@" > src/index/dtitle.idx.a
bin/addfile.sh "$(BUILDDIR)"/HGR0.IDX "$@" > src/index/hgr0.idx.a
bin/addfile.sh "$(BUILDDIR)"/HGR1.IDX "$@" > src/index/hgr1.idx.a
bin/addfile.sh "$(BUILDDIR)"/HGR2.IDX "$@" > src/index/hgr2.idx.a
bin/addfile.sh "$(BUILDDIR)"/HGR3.IDX "$@" > src/index/hgr3.idx.a
bin/addfile.sh "$(BUILDDIR)"/HGR4.IDX "$@" > src/index/hgr4.idx.a
bin/addfile.sh "$(BUILDDIR)"/HGR5.IDX "$@" > src/index/hgr5.idx.a
bin/addfile.sh "$(BUILDDIR)"/HGR6.IDX "$@" > src/index/hgr6.idx.a
bin/addfile.sh "$(BUILDDIR)"/DHGR.IDX "$@" > src/index/dhgr.idx.a
bin/addfile.sh "$(BUILDDIR)"/GR.IDX "$@" > src/index/gr.idx.a
bin/addfile.sh "$(BUILDDIR)"/DGR.IDX "$@" > src/index/dgr.idx.a
bin/addfile.sh "$(BUILDDIR)"/ARTWORK.IDX "$@" > src/index/artwork.idx.a
#
# add additional miscellaneous files
#
bin/addfile.sh "$(BUILDDIR)"/COVERFADE "$(TOTAL.DATA)" > src/index/coverfade.idx.a
bin/addfile.sh "$(BUILDDIR)"/GR.FIZZLE "$(TOTAL.DATA)" > src/index/gr.fizzle.idx.a
bin/addfile.sh "$(BUILDDIR)"/DGR.FIZZLE "$(TOTAL.DATA)" > src/index/dgr.fizzle.idx.a
bin/addfile.sh "$(HELPTEXT)" "$(TOTAL.DATA)" > src/index/helptext.idx.a
bin/addfile.sh "$(CREDITS)" "$(TOTAL.DATA)" > src/index/credits.idx.a
bin/addfile.sh "$(DECRUNCH)" "$(TOTAL.DATA)" > src/index/decrunch.idx.a
bin/addfile.sh "$(JOYSTICK)" "$(TOTAL.DATA)" > src/index/joystick.idx.a
bin/addfile.sh "$(BUILDDIR)"/COVERFADE "$@" > src/index/coverfade.idx.a
bin/addfile.sh "$(BUILDDIR)"/GR.FIZZLE "$@" > src/index/gr.fizzle.idx.a
bin/addfile.sh "$(BUILDDIR)"/DGR.FIZZLE "$@" > src/index/dgr.fizzle.idx.a
bin/addfile.sh "$(HELPTEXT)" "$@" > src/index/helptext.idx.a
bin/addfile.sh "$(CREDITS)" "$@" > src/index/credits.idx.a
bin/addfile.sh "$(DECRUNCH)" "$@" > src/index/decrunch.idx.a
bin/addfile.sh "$(JOYSTICK)" "$@" > src/index/joystick.idx.a
@touch "$@"
# assemble main program

View File

@ -1,7 +1,6 @@
#!/usr/bin/env python3
# flags
# -a append to data file (default off = truncate)
# -p pad sizes within data file to next block size (default off)
# parameters
@ -18,16 +17,12 @@ import struct
import sys
kStandardFilename = 'STANDARD'
kFileMode = {False: 'wb', True: 'ab'}
def build(records, args):
if args.append:
output_file_size = os.path.getsize(args.output_file)
else:
output_file_size = 0
output_file_size = os.path.getsize(args.output_file)
standard_offset = standard_size = 0
standard_filename = os.path.join(args.input_directory, kStandardFilename)
with open(args.output_file, kFileMode[args.append]) as output_file_handle:
with open(args.output_file, 'ab') as output_file_handle:
if os.path.exists(standard_filename):
standard_offset = output_file_size
standard_size = os.path.getsize(standard_filename)
@ -92,7 +87,6 @@ if __name__ == "__main__":
parser.add_argument("input_directory")
parser.add_argument("log_file")
parser.add_argument("-p", "--pad", action="store_true", default=False, help="pad file sizes to multiples of 512 (default: use exact size)")
parser.add_argument("-a", "--append", action="store_true", default=False, help="append to output file (default: overwrite)")
args = parser.parse_args()
records = [x.strip() for x in sys.stdin.readlines()]
records = [x for x in records if x and x[0] not in ('#', '[')]