move action DHGR screenshots to TOTAL.DATA

This commit is contained in:
4am 2021-10-24 01:14:25 -04:00
parent dc8eb20969
commit d8eb7d7d00
34 changed files with 122 additions and 187 deletions

View File

@ -38,7 +38,6 @@ dsk: asm index
#
bin/buildfileinfo.sh res/TITLE.HGR "06" "4000"
bin/buildfileinfo.sh res/TITLE.DHGR "06" "4000"
bin/buildfileinfo.sh res/ACTION.DHGR "06" "3FF8"
bin/buildfileinfo.sh res/ACTION.GR "06" "6000"
bin/buildfileinfo.sh res/ICONS "CA" "0000"
bin/buildfileinfo.sh build/FX "06" "6000"
@ -74,6 +73,7 @@ dsk: asm index
build/HGR4.IDX \
build/HGR5.IDX \
build/HGR6.IDX \
build/DHGR.IDX \
res/DECRUNCH \
res/JOYSTICK \
res/Finder.Data \
@ -83,7 +83,6 @@ dsk: asm index
for f in \
res/TITLE.HGR \
res/TITLE.DHGR \
res/ACTION.DHGR \
res/ACTION.GR \
res/DEMO \
res/TITLE.ANIMATED \
@ -170,7 +169,7 @@ index: md
bin/buildindexedfile.sh -p -a build/TOTAL.DATA build/FX.INDEXED < res/FX.CONF > build/FX.IDX
bin/buildindexedfile.sh -p -a build/TOTAL.DATA build/FX.INDEXED < res/DFX.CONF > build/DFX.IDX
#
# precompute indexed files for HGR action screenshots
# 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
#
(for f in res/ACTION.HGR/[ABCD]*; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -a build/TOTAL.DATA res/ACTION.HGR > build/HGR0.IDX
@ -180,6 +179,7 @@ index: md
(for f in res/ACTION.HGR/[QRST]*; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -a build/TOTAL.DATA res/ACTION.HGR > build/HGR4.IDX
(for f in res/ACTION.HGR/[UVWX]*; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -a build/TOTAL.DATA res/ACTION.HGR > build/HGR5.IDX
(for f in res/ACTION.HGR/[YZ]*; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -a build/TOTAL.DATA res/ACTION.HGR > build/HGR6.IDX
(for f in res/ACTION.DHGR/*; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -a build/TOTAL.DATA res/ACTION.DHGR > build/DHGR.IDX
# precompute indexed files for SHR artwork
# note: these can not be padded because they are compressed and the decompressor needs the exact size
#

View File

@ -19,7 +19,6 @@ cat res/GAMES.CONF |
cat res/SS/ACTDHGR*.CONF |
egrep "(^|=)""$game""$" |
cut -d"=" -f1 |
sed -e "s/^/ACTION.DHGR\//g" |
sed -e "s/$/=B/g" |
sort |
uniq >> /tmp/g

View File

@ -1,85 +0,0 @@
# This file is automatically generated
AIRHEART=Type(06),AuxType(3FF8),Access(C3)
AIRHEART2=Type(06),AuxType(3FF8),Access(C3)
AIRHEART3=Type(06),AuxType(3FF8),Access(C3)
ALIENS=Type(06),AuxType(3FF8),Access(C3)
ALIENS2=Type(06),AuxType(3FF8),Access(C3)
BAD.DUDES=Type(06),AuxType(3FF8),Access(C3)
BAD.DUDES2=Type(06),AuxType(3FF8),Access(C3)
BAD.DUDES3=Type(06),AuxType(3FF8),Access(C3)
BATMAN=Type(06),AuxType(3FF8),Access(C3)
BATMAN2=Type(06),AuxType(3FF8),Access(C3)
BATMAN3=Type(06),AuxType(3FF8),Access(C3)
BATMAN4=Type(06),AuxType(3FF8),Access(C3)
BATMAN5=Type(06),AuxType(3FF8),Access(C3)
COLUMNS=Type(06),AuxType(3FF8),Access(C3)
DEATH.SWORD=Type(06),AuxType(3FF8),Access(C3)
DEATH.SWORD2=Type(06),AuxType(3FF8),Access(C3)
DEATH.SWORD3=Type(06),AuxType(3FF8),Access(C3)
DEATH.SWORD4=Type(06),AuxType(3FF8),Access(C3)
DG=Type(06),AuxType(3FF8),Access(C3)
HEAVY.BARREL=Type(06),AuxType(3FF8),Access(C3)
HEAVY2=Type(06),AuxType(3FF8),Access(C3)
HEAVY3=Type(06),AuxType(3FF8),Access(C3)
I2=Type(06),AuxType(3FF8),Access(C3)
IE=Type(06),AuxType(3FF8),Access(C3)
IE2=Type(06),AuxType(3FF8),Access(C3)
IMPOSSIBLE.M.2B=Type(06),AuxType(3FF8),Access(C3)
IMPOSSIBLE.M.2C=Type(06),AuxType(3FF8),Access(C3)
INDIANA.JONES=Type(06),AuxType(3FF8),Access(C3)
INDIANA.JONES2=Type(06),AuxType(3FF8),Access(C3)
INDIANA.JONES3=Type(06),AuxType(3FF8),Access(C3)
PIPE.DREAM=Type(06),AuxType(3FF8),Access(C3)
PIPE.DREAM2=Type(06),AuxType(3FF8),Access(C3)
PIPE.DREAM3=Type(06),AuxType(3FF8),Access(C3)
PLATOON=Type(06),AuxType(3FF8),Access(C3)
PLATOON2=Type(06),AuxType(3FF8),Access(C3)
PLATOON3=Type(06),AuxType(3FF8),Access(C3)
QIX=Type(06),AuxType(3FF8),Access(C3)
QIX2=Type(06),AuxType(3FF8),Access(C3)
QIX3=Type(06),AuxType(3FF8),Access(C3)
RADWARRIOR=Type(06),AuxType(3FF8),Access(C3)
RADWARRIOR2=Type(06),AuxType(3FF8),Access(C3)
RADWARRIOR3=Type(06),AuxType(3FF8),Access(C3)
RAMPAGE=Type(06),AuxType(3FF8),Access(C3)
RAMPAGE2=Type(06),AuxType(3FF8),Access(C3)
RAMPAGE3=Type(06),AuxType(3FF8),Access(C3)
RAMPAGE4=Type(06),AuxType(3FF8),Access(C3)
ROBOCOP=Type(06),AuxType(3FF8),Access(C3)
ROBOCOP2=Type(06),AuxType(3FF8),Access(C3)
ROBOCOP3=Type(06),AuxType(3FF8),Access(C3)
RR=Type(06),AuxType(3FF8),Access(C3)
SLICKS=Type(06),AuxType(3FF8),Access(C3)
SLICKS2=Type(06),AuxType(3FF8),Access(C3)
SO=Type(06),AuxType(3FF8),Access(C3)
SO2=Type(06),AuxType(3FF8),Access(C3)
SO3=Type(06),AuxType(3FF8),Access(C3)
SO4=Type(06),AuxType(3FF8),Access(C3)
SO5=Type(06),AuxType(3FF8),Access(C3)
SPIDERBOT=Type(06),AuxType(3FF8),Access(C3)
SPIDERBOT2=Type(06),AuxType(3FF8),Access(C3)
SPIDERBOT3=Type(06),AuxType(3FF8),Access(C3)
SPIDERBOT4=Type(06),AuxType(3FF8),Access(C3)
SPIDERBOT5=Type(06),AuxType(3FF8),Access(C3)
SS3=Type(06),AuxType(3FF8),Access(C3)
SS3B=Type(06),AuxType(3FF8),Access(C3)
SS3C=Type(06),AuxType(3FF8),Access(C3)
TC=Type(06),AuxType(3FF8),Access(C3)
TETRIS=Type(06),AuxType(3FF8),Access(C3)
TETRIS2=Type(06),AuxType(3FF8),Access(C3)
TETRIS3=Type(06),AuxType(3FF8),Access(C3)
TETRIS4=Type(06),AuxType(3FF8),Access(C3)
THE.LAST.NINJA=Type(06),AuxType(3FF8),Access(C3)
THE.LAST.NINJA2=Type(06),AuxType(3FF8),Access(C3)
THE.LAST.NINJA3=Type(06),AuxType(3FF8),Access(C3)
THE.LAST.NINJA4=Type(06),AuxType(3FF8),Access(C3)
THEXDER=Type(06),AuxType(3FF8),Access(C3)
THEXDER2=Type(06),AuxType(3FF8),Access(C3)
THEXDER3=Type(06),AuxType(3FF8),Access(C3)
THEXDER4=Type(06),AuxType(3FF8),Access(C3)
VICTORY.ROAD=Type(06),AuxType(3FF8),Access(C3)
VICTORY.ROAD2=Type(06),AuxType(3FF8),Access(C3)
VICTORY.ROAD3=Type(06),AuxType(3FF8),Access(C3)
VICTORY.ROAD4=Type(06),AuxType(3FF8),Access(C3)
_FileInformation.txt=Type(06),AuxType(3FF8),Access(C3)

View File

@ -26,7 +26,7 @@
# 5 = SHR box art slideshow (|key| is a file in /SS/ containing files in /ARTWORK.SHR/)
# 6 = GR action slideshow (|key| is a file in /SS/ containing files in /ACTION.GR/)
# A = single HGR file (|key| is a file in /ACTION.HGR/)
# B = single DHGR file (|key| is arbitrary path from program root directory)
# B = single DHGR file (|key| is a file in /ACTION.DHGR/)
# C = single SHR file (|key| is a file in /ARTWORK.SHR/)
# D = single GR file (|key| is arbitrary path from program root directory)
#

View File

@ -4,8 +4,8 @@
#
AIRHEART=C
ACTION.DHGR/AIRHEART2=B
ACTION.DHGR/AIRHEART3=B
ACTION.DHGR/AIRHEART=B
AIRHEART2=B
AIRHEART3=B
AIRHEART=B
[eof]

View File

@ -4,7 +4,7 @@
#
ALIENS=C
ACTION.DHGR/ALIENS2=B
ACTION.DHGR/ALIENS=B
ALIENS2=B
ALIENS=B
[eof]

View File

@ -4,8 +4,8 @@
#
BAD.DUDES=C
ACTION.DHGR/BAD.DUDES2=B
ACTION.DHGR/BAD.DUDES3=B
ACTION.DHGR/BAD.DUDES=B
BAD.DUDES2=B
BAD.DUDES3=B
BAD.DUDES=B
[eof]

View File

@ -4,10 +4,10 @@
#
BATMAN=C
ACTION.DHGR/BATMAN2=B
ACTION.DHGR/BATMAN3=B
ACTION.DHGR/BATMAN4=B
ACTION.DHGR/BATMAN5=B
ACTION.DHGR/BATMAN=B
BATMAN2=B
BATMAN3=B
BATMAN4=B
BATMAN5=B
BATMAN=B
[eof]

View File

@ -3,7 +3,7 @@
# This file is automatically generated
#
ACTION.DHGR/COLUMNS=B
COLUMNS=B
COLUMNS2=A
COLUMNS=A

View File

@ -4,9 +4,9 @@
#
DEATH.SWORD=C
ACTION.DHGR/DEATH.SWORD2=B
ACTION.DHGR/DEATH.SWORD3=B
ACTION.DHGR/DEATH.SWORD4=B
ACTION.DHGR/DEATH.SWORD=B
DEATH.SWORD2=B
DEATH.SWORD3=B
DEATH.SWORD4=B
DEATH.SWORD=B
[eof]

View File

@ -4,6 +4,6 @@
#
DG=C
ACTION.DHGR/DG=B
DG=B
[eof]

View File

@ -4,8 +4,8 @@
#
HEAVY.BARREL=C
ACTION.DHGR/HEAVY.BARREL=B
ACTION.DHGR/HEAVY2=B
ACTION.DHGR/HEAVY3=B
HEAVY.BARREL=B
HEAVY2=B
HEAVY3=B
[eof]

View File

@ -4,8 +4,8 @@
#
I2=C
ACTION.DHGR/I2=B
ACTION.DHGR/IMPOSSIBLE.M.2B=B
ACTION.DHGR/IMPOSSIBLE.M.2C=B
I2=B
IMPOSSIBLE.M.2B=B
IMPOSSIBLE.M.2C=B
[eof]

View File

@ -4,7 +4,7 @@
#
IE=C
ACTION.DHGR/IE2=B
ACTION.DHGR/IE=B
IE2=B
IE=B
[eof]

View File

@ -4,8 +4,8 @@
#
INDIANA.JONES=C
ACTION.DHGR/INDIANA.JONES2=B
ACTION.DHGR/INDIANA.JONES3=B
ACTION.DHGR/INDIANA.JONES=B
INDIANA.JONES2=B
INDIANA.JONES3=B
INDIANA.JONES=B
[eof]

View File

@ -4,8 +4,8 @@
#
PIPE.DREAM=C
ACTION.DHGR/PIPE.DREAM2=B
ACTION.DHGR/PIPE.DREAM3=B
ACTION.DHGR/PIPE.DREAM=B
PIPE.DREAM2=B
PIPE.DREAM3=B
PIPE.DREAM=B
[eof]

View File

@ -4,8 +4,8 @@
#
PLATOON=C
ACTION.DHGR/PLATOON2=B
ACTION.DHGR/PLATOON3=B
ACTION.DHGR/PLATOON=B
PLATOON2=B
PLATOON3=B
PLATOON=B
[eof]

View File

@ -4,8 +4,8 @@
#
QIX=C
ACTION.DHGR/QIX2=B
ACTION.DHGR/QIX3=B
ACTION.DHGR/QIX=B
QIX2=B
QIX3=B
QIX=B
[eof]

View File

@ -4,8 +4,8 @@
#
RADWARRIOR=C
ACTION.DHGR/RADWARRIOR2=B
ACTION.DHGR/RADWARRIOR3=B
ACTION.DHGR/RADWARRIOR=B
RADWARRIOR2=B
RADWARRIOR3=B
RADWARRIOR=B
[eof]

View File

@ -4,9 +4,9 @@
#
RAMPAGE=C
ACTION.DHGR/RAMPAGE2=B
ACTION.DHGR/RAMPAGE3=B
ACTION.DHGR/RAMPAGE4=B
ACTION.DHGR/RAMPAGE=B
RAMPAGE2=B
RAMPAGE3=B
RAMPAGE4=B
RAMPAGE=B
[eof]

View File

@ -4,8 +4,8 @@
#
ROBOCOP=C
ACTION.DHGR/ROBOCOP2=B
ACTION.DHGR/ROBOCOP3=B
ACTION.DHGR/ROBOCOP=B
ROBOCOP2=B
ROBOCOP3=B
ROBOCOP=B
[eof]

View File

@ -4,7 +4,7 @@
#
RR=C
ACTION.DHGR/RR=B
RR=B
RR=A
[eof]

View File

@ -3,7 +3,7 @@
# This file is automatically generated
#
ACTION.DHGR/SLICKS2=B
ACTION.DHGR/SLICKS=B
SLICKS2=B
SLICKS=B
[eof]

View File

@ -4,10 +4,10 @@
#
SO=C
ACTION.DHGR/SO2=B
ACTION.DHGR/SO3=B
ACTION.DHGR/SO4=B
ACTION.DHGR/SO5=B
ACTION.DHGR/SO=B
SO2=B
SO3=B
SO4=B
SO5=B
SO=B
[eof]

View File

@ -4,10 +4,10 @@
#
SPIDERBOT=C
ACTION.DHGR/SPIDERBOT2=B
ACTION.DHGR/SPIDERBOT3=B
ACTION.DHGR/SPIDERBOT4=B
ACTION.DHGR/SPIDERBOT5=B
ACTION.DHGR/SPIDERBOT=B
SPIDERBOT2=B
SPIDERBOT3=B
SPIDERBOT4=B
SPIDERBOT5=B
SPIDERBOT=B
[eof]

View File

@ -4,8 +4,8 @@
#
SS3=C
ACTION.DHGR/SS3=B
ACTION.DHGR/SS3B=B
ACTION.DHGR/SS3C=B
SS3=B
SS3B=B
SS3C=B
[eof]

View File

@ -4,7 +4,7 @@
#
TC=C
ACTION.DHGR/TC=B
TC=B
TC2=A
TC3=A
TC=A

View File

@ -4,10 +4,10 @@
#
TETRIS=C
ACTION.DHGR/TETRIS2=B
ACTION.DHGR/TETRIS3=B
ACTION.DHGR/TETRIS4=B
ACTION.DHGR/TETRIS=B
TETRIS2=B
TETRIS3=B
TETRIS4=B
TETRIS=B
TETRIS2=A
TETRIS3=A
TETRIS4=A

View File

@ -4,9 +4,9 @@
#
THE.LAST.NINJA=C
ACTION.DHGR/THE.LAST.NINJA2=B
ACTION.DHGR/THE.LAST.NINJA3=B
ACTION.DHGR/THE.LAST.NINJA4=B
ACTION.DHGR/THE.LAST.NINJA=B
THE.LAST.NINJA2=B
THE.LAST.NINJA3=B
THE.LAST.NINJA4=B
THE.LAST.NINJA=B
[eof]

View File

@ -4,10 +4,10 @@
#
THEXDER=C
ACTION.DHGR/THEXDER2=B
ACTION.DHGR/THEXDER3=B
ACTION.DHGR/THEXDER4=B
ACTION.DHGR/THEXDER=B
THEXDER2=B
THEXDER3=B
THEXDER4=B
THEXDER=B
THEXDER2=A
THEXDER=A

View File

@ -4,9 +4,9 @@
#
VICTORY.ROAD=C
ACTION.DHGR/VICTORY.ROAD2=B
ACTION.DHGR/VICTORY.ROAD3=B
ACTION.DHGR/VICTORY.ROAD4=B
ACTION.DHGR/VICTORY.ROAD=B
VICTORY.ROAD2=B
VICTORY.ROAD3=B
VICTORY.ROAD4=B
VICTORY.ROAD=B
[eof]

View File

@ -149,7 +149,7 @@ CHEATS_ENABLED = %00001000
iCurBlockLo = $D401 ; constant
iCurBlockHi = $D403 ; constant
launchpatch = $D662 ; glue.launch.a
iAddToPath = $FE98 ; Roger Rabbit, avoid, use Infiltrator 2 style instead
iAddToPath = $FE8F ; Roger Rabbit, avoid, use Infiltrator 2 style instead
itraverse = $D959 ; Roger Rabbit, avoid, use Infiltrator 2 style instead
ldrlo = $55 ; constant
ldrhi = $56 ; constant

View File

@ -53,6 +53,10 @@ AddToPath
@done
rts
kTotalDataFile
!byte 10
!raw "TOTAL.DATA"
kHGRTitleDirectory
!byte 10
!raw "TITLE.HGR/"
@ -72,12 +76,14 @@ gHGRActionIndexNumber
!raw "_"
!raw ".IDX"
kTotalDataFile
!byte 10
!raw "TOTAL.DATA"
kHGRActionDataFile=kTotalDataFile
kDHGRActionIndexFile
!byte 8
!raw "DHGR.IDX"
kDHGRActionDataFile=kTotalDataFile
kDHGRActionDirectory
!byte 12
!raw "ACTION.DHGR/"

View File

@ -70,12 +70,9 @@ DHGRActionSlideshow
DHGRSingle
bit MachineStatus ; only show DHGR screenshots if we have 128K
bvc DHGRRTS
+ST16 @fname
+ST16 IndexedDHGRFilename
jsr BlankDHGR ; switch to DHGR mode with initial blank screen
jsr LoadAuxFile ; load compressed DHGR screenshot at aux $3FF8
!word kRootDirectory
@fname !word $FDFD ; SMC
!word $3FF8
jsr LoadIndexedDHGRFile ; load compressed DHGR screenshot at aux $3FF8
jsr DecompressDHGR
jsr LoadDHGRTransition ; load transition effect code at $6000
jsr ExecuteTransitionAt6000AndWait
@ -211,7 +208,7 @@ DHGRActionCallback
bit KBD
bmi DHGRRTS
+ST16 +
+ST16 IndexedDHGRFilename
jsr FindGameInActionSlideshow
; if game name is not found (C will be set here), it means the game
@ -223,10 +220,7 @@ DHGRActionCallback
+LD16 WINDEX ; save game index in case user hits RETURN
+ST16 gGameToLaunch ; while it's visible (we'll launch it)
jsr LoadAuxFile ; load compressed DHGR screenshot at aux $3FF8
!word kDHGRActionDirectory
+ !word $FDFD
!word $3FF8
jsr LoadIndexedDHGRFile
jsr DecompressDHGR
lda #$EA ; NOP
@ -326,3 +320,24 @@ RedrawForDHGR
dec i
bne --
jmp SwitchToBank1
LoadIndexedDHGRFile
; in: caller has set IndexedDHGRFilename
; out: all flags & registers clobbered
jsr LoadFile ; load index file into $4000
!word kRootDirectory
!word kDHGRActionIndexFile
- !word $4000
jsr okvs_find
!word -
IndexedDHGRFilename
!word $FDFD ; SMC
+ST16 @indexRecordPtr
jsr LoadAuxIndexedFile ; load compressed DHGR screenshot at aux $3FF8
!word kDHGRActionDataFile
!word $3FF8
@indexRecordPtr
!word $FDFD ; SMC
rts