fix SHR effects that need to load large data files that are now stored in TOTAL.DATA instead of separate files

This commit is contained in:
4am 2024-05-27 23:09:02 -04:00
parent c7a2c1a921
commit 88e0faf522
49 changed files with 56 additions and 64 deletions

View File

@ -135,7 +135,11 @@ index: preconditions md asmfx asmprelaunch asmdemo compress extract
[ -f build/index ] || (bin/buildindexedfile.sh -p -a build/TOTAL.DATA build/FX.INDEXED < res/FX.CONF > build/FX.IDX)
[ -f build/index ] || (bin/buildindexedfile.sh -p -a build/TOTAL.DATA build/FX.INDEXED < res/DFX.CONF > build/DFX.IDX)
[ -f build/index ] || (bin/buildindexedfile.sh -p -a build/TOTAL.DATA build/FX.INDEXED < res/SFX.CONF > build/SFX.IDX)
[ -f build/index ] || ((for f in build/FX/*.DATA; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -p -a build/TOTAL.DATA build/FX > build/FXDATA.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
#
[ -f build/index ] || ((for f in build/FX/*.DATA; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -a build/TOTAL.DATA build/FX > build/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

View File

@ -9,7 +9,6 @@ mirror_rows = $106 ; $C8 bytes
shrlo = $200 ; $C8 bytes
shrhi = $300 ; $C8 bytes
coords = $9F00 ; $1F41 bytes
CoordinatesFileCopy = $BE42; $11 bytes
shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during construction
!source "src/fx/macros.a"
@ -19,7 +18,7 @@ shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during con
!pseudopc *-$300 {
stage2
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile, CoordinatesFileCopy
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile
+SHR_STAGE_2 startzp, endzp
rts

View File

@ -9,7 +9,6 @@ mirror_rows = $106 ; $C8 bytes
shrlo = $200 ; $C8 bytes
shrhi = $300 ; $C8 bytes
coords = $9F00 ; $1F41 bytes
CoordinatesFileCopy = $BE42; $11 bytes
shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during construction
!source "src/fx/macros.a"
@ -19,7 +18,7 @@ shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during con
!pseudopc *-$300 {
stage2
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile, CoordinatesFileCopy
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile
+SHR_REVERSE coords
+SHR_STAGE_2 startzp, endzp
rts

View File

@ -10,7 +10,6 @@ shrlo = $200 ; $C8 bytes
shrhi = $300 ; $C8 bytes
coords = $9F00 ; $1F41 bytes
last_coords = coords+$1F3E
CoordinatesFileCopy = $BE42; $11 bytes
shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during construction
!source "src/fx/macros.a"
@ -20,7 +19,7 @@ shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during con
!pseudopc *-$300 {
stage2
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile, CoordinatesFileCopy
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile
;WRITEMAINMEM active
lda #$80

View File

@ -10,7 +10,6 @@ shrlo = $200 ; $C8 bytes
shrhi = $300 ; $C8 bytes
coords = $9F00 ; $1F41 bytes
last_coords = coords+$1F3E
CoordinatesFileCopy = $BE42; $11 bytes
shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during construction
!source "src/fx/macros.a"
@ -20,7 +19,7 @@ shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during con
!pseudopc *-$300 {
stage2
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile, CoordinatesFileCopy
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile
;WRITEMAINMEM active
lda #$80

View File

@ -9,7 +9,6 @@ mirror_rows = $106 ; $C8 bytes
shrlo = $200 ; $C8 bytes
shrhi = $300 ; $C8 bytes
coords = $9F00 ; $1F41 bytes
CoordinatesFileCopy = $BE42; $11 bytes
shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during construction
!source "src/fx/macros.a"
@ -19,7 +18,7 @@ shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during con
!pseudopc *-$300 {
stage2
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile, CoordinatesFileCopy
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile
+SHR_STAGE_2 startzp, endzp
rts

View File

@ -9,7 +9,6 @@ mirror_rows = $106 ; $C8 bytes
shrlo = $200 ; $C8 bytes
shrhi = $300 ; $C8 bytes
coords = $9F00 ; $1F41 bytes
CoordinatesFileCopy = $BE42; $11 bytes
shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during construction
!source "src/fx/macros.a"
@ -19,7 +18,7 @@ shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during con
!pseudopc *-$300 {
stage2
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile, CoordinatesFileCopy
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile
+SHR_STAGE_2 startzp, endzp
rts

View File

@ -9,7 +9,6 @@ mirror_rows = $106 ; $C8 bytes
shrlo = $200 ; $C8 bytes
shrhi = $300 ; $C8 bytes
coords = $9F00 ; $1F41 bytes
CoordinatesFileCopy = $BE42; $11 bytes
shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during construction
!source "src/fx/macros.a"
@ -19,7 +18,7 @@ shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during con
!pseudopc *-$300 {
stage2
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile, CoordinatesFileCopy
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile
+SHR_REVERSE coords
+SHR_STAGE_2 startzp, endzp
rts

View File

@ -104,17 +104,12 @@
bne -
}
!macro LOAD_SHR_COORDINATES_AT .coords, .filename, .scratch {
!macro LOAD_SHR_COORDINATES_AT .coords, .filename {
; out: WRITEMAINMEM active
; LC RAM2 active and read/write
ldx .filename ; LOAD_FILE_AT macro destroys pathname
- lda .filename, x ; so we need to make a copy
sta .scratch, x
dex
bpl -
+READ_RAM2_WRITE_RAM2
+LOAD_FILE_AT .scratch, .coords
+LDADDR .filename
ldx #>.coords
jsr iLoadFXDATA
}
!macro SHR_STAGE_1 .shrlo, .shrhi, .mirror_rows, .mirror_cols {

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15910273
!be24 15909993
!le16 5130

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15854953
!be24 15854673
!le16 5732

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15786720
!be24 15786440
!le16 4194

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15801434
!be24 15801154
!le16 4652

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15820149
!be24 15819869
!le16 5621

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15841190
!be24 15840910
!le16 6199

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15915403
!be24 15915123
!le16 410

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15916157
!be24 15915877
!le16 449

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15916606
!be24 15916326
!le16 303

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 12682938
!be24 12682658
!le16 1652

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15863325
!be24 15863045
!le16 1640

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15915889
!be24 15915609
!le16 67

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15910214
!be24 15909934
!le16 59

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15908634
!be24 15908354
!le16 1426

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15893400
!be24 15893120
!le16 557

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15860685
!be24 15860405
!le16 2640

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15865323
!be24 15865043
!le16 451

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15865774
!be24 15865494
!le16 7564

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15915813
!be24 15915533
!le16 76

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15910060
!be24 15909780
!le16 154

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15915956
!be24 15915676
!le16 201

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15893957
!be24 15893677
!le16 4334

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15898291
!be24 15898011
!le16 1733

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15900024
!be24 15899744
!le16 1181

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15901205
!be24 15900925
!le16 3394

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15904599
!be24 15904319
!le16 3429

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15908028
!be24 15907748
!le16 479

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15908507
!be24 15908227
!le16 127

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15916909
!be24 15916629
!le16 2370

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15878743
!be24 15878463
!le16 5083

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15883826
!be24 15883546
!le16 2485

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15847389
!be24 15847109
!le16 7564

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15777137
!be24 15776857
!le16 9583

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15790914
!be24 15790634
!le16 10520

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15806086
!be24 15805806
!le16 14063

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15825770
!be24 15825490
!le16 15420

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15864965
!be24 15864685
!le16 358

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15873338
!be24 15873058
!le16 5405

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15886311
!be24 15886031
!le16 7089

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15772789
!be24 15772509
!le16 4348