Inverted updates

Move Pyramid hole
Add new Extra Hole capability
New Castle Hole Graphics
Fix retreat bat graphics
This commit is contained in:
Kevin Cathcart
2018-08-31 01:17:51 -04:00
parent 67c3e568de
commit 96e3db602b
8 changed files with 227 additions and 2 deletions

View File

@@ -166,6 +166,8 @@ incsrc boots.asm
incsrc fileselect.asm
incsrc playername.asm
incsrc decryption.asm
incsrc inverted.asm
incsrc invertedmaps.asm
warnpc $A58000
;org $228000 ; contrib area
@@ -234,7 +236,12 @@ warnpc $31D001
org $31D000
FileSelectNewGraphics:
incbin fileselect.chr.gfx
warnpc $31F001
warnpc $31E001
org $31E000
InvertedCastleHole: ;address used by front end. DO NOT MOVE!
incbin sheet73.gfx
warnpc $31E501
org $338000
GFX_HUD_Palette:
@@ -552,6 +559,9 @@ HUD_RebuildIndoor_Palace:
org $0EEE10
Messaging_Text:
org $1BC97C:
Overworld_DrawPersistentMap16:
org $1BED03
Palette_Sword:

View File

@@ -91,3 +91,31 @@ AllowStartFromSingleEntranceCave:
PLA
RTL
;--------------------------------------------------------------------------------
CheckHole:
LDX.w #$0024
.nextHoleClassic
LDA.b $00 : CMP.l $1BB800, X
BNE .wrongMap16Classic
LDA.w $040A : CMP.l $1BB826, X
BEQ .matchedHoleClassic
.wrongMap16Classic
DEX #2 : BPL .nextHoleClassic
LDX.w #$001E
.nextHoleExtra
LDA.b $00 : CMP.l ExtraHole_Map16, X
BNE .wrongMap16Extra
LDA.w $040A : CMP.l ExtraHole_Area, X
BEQ .matchedHoleExtra
.wrongMap16Extra
DEX #2 : BPL .nextHoleExtra
JML Overworld_Hole_GotoHoulihan
.matchedHoleClassic
JML Overworld_Hole_matchedHole
.matchedHoleExtra
SEP #$30
TXA : LSR A : TAX
LDA.l ExtraHole_Entrance, X : STA.w $010E : STZ.w $010F
JML Overworld_Hole_End
;--------------------------------------------------------------------------------

View File

@@ -243,6 +243,13 @@ JSL.l DecideIfBunnyByScreenIndex : db #$D0 ; BNE
org $02D9B9 ; <- 159B9 - Bank02.asm : 11089 (LDA $7EF3C8)
JSL AllowStartFromSingleEntranceCave
;--------------------------------------------------------------------------------
org $1bc2a7 ; <- DC2A7 - Bank1B.asm : 1143 (Overworld_CreatePyramidHole:)
JSL.l Overworld_DrawPyramidHoleModified
RTL
C9DE_LONG:
JSR $C9DE ; surprisingly same address as US
RTL
;--------------------------------------------------------------------------------
;================================================================================
; Hash Key Display
@@ -1986,6 +1993,21 @@ JSL.l WalkDownIntoTavern
NOP #1
;================================================================================
;================================================================================
; Hole fixes
;--------------------------------------------------------------------------------
org $1BB88E ; <- DB88E - Bank1B.asm:59 (LDX.w #$0024)
JML.l CheckHole
org $1BB8A4 ; <- DB8A4 - Bank1B.asm:78 (LDX.w #$0026)
Overworld_Hole_GotoHoulihan:
org $1BB8AF ; <- DB8AF - Bank1B.asm:85 (.matchedHole)
Overworld_Hole_matchedHole:
org $1BB8BD ; <- DB8BD - Bank1B.asm:85 (PLB)
Overworld_Hole_End:
;--------------------------------------------------------------------------------
;================================================================================
; Music fixes
;--------------------------------------------------------------------------------

80
inverted.asm Normal file
View File

@@ -0,0 +1,80 @@
; Does tile modification for... the pyramid of power hole
; after Ganon slams into it in bat form?
Overworld_DrawPyramidHoleModified:
LDA.l InvertedMode : BNE +
BRL .originalBehaviour
+
.invertedBehavior
REP #$30
LDX.w #$0440
LDA.w #$0E39
JSL Overworld_DrawPersistentMap16
LDX.w #$04BC
LDA.w #$0E3A
JSL C9DE_LONG
JSL C9DE_LONG
JSL C9DE_LONG
JSL C9DE_LONG
LDX.w #$053C
JSL C9DE_LONG
JSL C9DE_LONG
JSL C9DE_LONG
JSL C9DE_LONG
LDX.w #$05BE
LDA.w #$0490
JSL C9DE_LONG
JSL C9DE_LONG
LDA.w #$FFFF : STA $1012, Y
BRL .ending
.originalBehaviour
REP #$30
LDX.w #$03BC
LDA.w #$0E3F
JSL Overworld_DrawPersistentMap16
LDX.w #$03BE
LDA.w #$0E40
JSL C9DE_LONG
JSL C9DE_LONG
LDX.w #$043C
JSL C9DE_LONG
JSL C9DE_LONG
JSL C9DE_LONG
LDX.w #$04BC
JSL C9DE_LONG
JSL C9DE_LONG
JSL C9DE_LONG
LDA.w #$FFFF : STA $1012, Y
.ending
LDA.w #$3515 : STA $012D
SEP #$30
LDA $7EF2DB : ORA.b #$20 : STA $7EF2DB
LDA.b #$03 : STA $012F
LDA.b #$01 : STA $14
RTL

View File

@@ -183,6 +183,21 @@ org $1FED41 : db $0E ; pre-open open TR bomb door
org $308247 ; PC 0x180247
db $00, $5A, $00, $00, $00, $00, $00
org $1AF696 : db #$F0 ;Bat X position (sprite_retreat_bat.asm:130)
org $1AF6B2 : db #$33 ;Bat Delay (sprite_retreat_bat.asm:136)
;New Hole Mask Position
org $1AF730
db $6A, $9E, $0C, $00
db $7A, $9E, $0C, $00
db $8A, $9E, $0C, $00
db $6A, $AE, $0C, $00
db $7A, $AE, $0C, $00
db $8A, $AE, $0C, $00
db $67, $97, $0C, $00
db $8D, $97, $0C, $00
;Cryptic documentation of flute/whirlpool table format (all value 16 bit)
;eae5 - Overworld area that the exit leads to
;eb07 $0084 - VRAM locations to place Link at.
@@ -235,6 +250,62 @@ org $02E169+$06+$06 : dw $0000
;0624|$162C9-$16317 - (0x4F entries, 1 byte each) - Ukn1 in HM
;0628|$16318-$16366 - (0x4F entries, 1 byte each) - Ukn2 in HM
; redefine some map16 tiles
org $0FF1C8
dw #$190F, #$190F, #$190F, #$194C
dw #$190F, #$194B, #$190F, #$195C
dw #$594B, #$194C, #$19EE, #$19EE
dw #$194B, #$19EE, #$19EE, #$19EE
dw #$594B, #$190F, #$595C, #$190F
dw #$190F, #$195B, #$190F, #$190F
dw #$19EE, #$19EE, #$195C, #$19EE
dw #$19EE, #$19EE, #$19EE, #$595C
dw #$595B, #$190F, #$190F, #$190F
; Redefine more map16 tiles
org $0FA480
dw #$190F, #$196B, #$9D04, #$9D04
dw #$196B, #$190F, #$9D04, #$9D04
; update pyramid hole entrances
org $1bb810 : dw $00BE, $00C0, $013E
org $1bb836 : dw $001B, $001B, $001B
; add an extra pyramid hole entrance
; ExtraHole_Map16:
org $308300 : dw $0140
; ExtraHole_Area:
org $308320 : dw $001B
; ExtraHole_Entrance:
org $308340 : db $7B
;prioritize retreat Bat and use 3rd sprite section
org $1af504 : dw $148B
org $1af50c : dw $149B
org $1af514 : dw $14A4
org $1af51c : dw $1489
org $1af524 : dw $14AC
org $1af52c : dw $54AC
org $1af534 : dw $148C
org $1af53c : dw $548C
org $1af544 : dw $1484
org $1af54c : dw $5484
org $1af554 : dw $14A2
org $1af55c : dw $54A2
org $1af564 : dw $14A0
org $1af56c : dw $54A0
org $1af574 : dw $148E
org $1af57c : dw $548E
org $1af584 : dw $14AE
org $1af58c : dw $54AE
;Make retreat bat gfx available in Hyrule castle.
org $00DB9D : db $1A ;sprite set 1, section 3
;use new castle hole graphics (The values are the SNES address of the graphics: 31e000)
org $00D009 : db $31
org $00D0e8 : db $E0
org $00D1c7 : db $00
;org $02E849 ; Fly 1 to Sanctuary
;db #$13, #$00, #$16, #$00, #$18, #$00, #$2C, #$00, #$2F, #$00, #$30, #$00, #$3B, #$00, #$3F, #$00, #$5B, #$00, #$35, #$00, #$0F, #$00, #$15, #$00, #$33, #$00, #$12, #$00, #$3F, #$00, #$55, #$00, #$7F, #$00, #$1A, #$00, #$88, #$08, #$30, #$0B, #$88, #$05, #$98, #$07, #$80, #$18, #$9E, #$06, #$10, #$08, #$2E, #$00, #$42, #$12, #$80, #$06, #$12, #$01, #$9E, #$05, #$8E, #$04, #$80, #$02, #$12, #$01, #$80, #$02, #$00, #$04, #$16, #$05, #$59, #$07, #$B9, #$0A, #$FA, #$0A, #$1E, #$0F, #$DF, #$0E, #$05, #$0F, #$00, #$06, #$46, #$0E, #$C6, #$02, #$2A, #$04, #$BA, #$0C, #$9A, #$04, #$56, #$0E, #$2A, #$04, #$56, #$0E, #$D6, #$06, #$4E, #$0C, #$7E, #$01, #$40, #$08, #$B2, #$0E, #$00, #$00, #$F2, #$06, #$75, #$0E, #$78, #$07, #$0A, #$0C, #$06, #$0E, #$8A, #$0A, #$EA, #$06, #$62, #$04, #$00, #$0E, #$8A, #$0A, #$00, #$0E, #$68, #$04, #$78, #$05, #$B7, #$07, #$17, #$0B, #$58, #$0B, #$A8, #$0F, #$3D, #$0F, #$67, #$0F, #$5C, #$06, #$A8, #$0E, #$28, #$03, #$88, #$04, #$18, #$0D, #$F8, #$04, #$B8, #$0E, #$88, #$04, #$B8, #$0E, #$56, #$07, #$C8, #$0C, #$00, #$02, #$B8, #$08, #$30, #$0F, #$78, #$00, #$78, #$07, #$F3, #$0E, #$F0, #$07, #$90, #$0C, #$80, #$0E, #$10, #$0B, #$70, #$07, #$E8, #$04, #$68, #$0E, #$10, #$0B, #$68, #$0E, #$70, #$04, #$83, #$05, #$C6, #$07, #$26, #$0B, #$67, #$0B, #$8D, #$0F, #$4C, #$0F, #$72, #$0F, #$6D, #$06, #$B3, #$0E, #$33, #$03, #$97, #$04, #$27, #$0D, #$07, #$05, #$C3, #$0E, #$97, #$04, #$C3, #$0E, #$56, #$07, #$D3, #$0C, #$0B, #$02, #$BF, #$08, #$37, #$0F, #$8D, #$00, #$7F, #$07, #$FA, #$0E, #$F7, #$07, #$97, #$0C, #$8B, #$0E, #$17, #$0B, #$77, #$07, #$EF, #$04, #$85, #$0E, #$17, #$0B, #$85, #$0E, #$F6, #$FF, #$FA, #$FF, #$07, #$00, #$F7, #$FF, #$F6, #$FF, #$00, #$00, #$F1, #$FF, #$FB, #$FF, #$00, #$00, #$FA, #$FF, #$0A, #$00, #$F6, #$FF, #$F6, #$FF, #$F6, #$FF, #$FA, #$FF, #$F6, #$FF, #$FA, #$FF, #$F2, #$FF, #$F2, #$FF, #$02, #$00, #$00, #$00, #$0E, #$00, #$00, #$00, #$FE, #$FF, #$0B, #$00, #$F8, #$FF, #$06, #$00, #$FA, #$FF, #$FA, #$FF, #$06, #$00, #$0E, #$00, #$00, #$00, #$FA, #$FF, #$00, #$00
;

BIN
sheet73.bin Normal file

Binary file not shown.

BIN
sheet73.gfx Normal file

Binary file not shown.

View File

@@ -944,8 +944,22 @@ dw $0112 : db $53 : dw $001e, $0400, $06e2, $0446, $0758, $046d, $075f : db $00,
dw $0000 : db $00 : dw $0000, $0000, $0000, $0000, $0000, $0000, $0000 : db $00, $00, $00
dw $0000 : db $00 : dw $0000, $0000, $0000, $0000, $0000, $0000, $0000 : db $00, $00, $00
dw $0000 : db $00 : dw $0000, $0000, $0000, $0000, $0000, $0000, $0000 : db $00, $00, $00
;--------------------------------------------------------------------------------
; 0x1802A0 - 0x1802FF (unused)
;--------------------------------------------------------------------------------
; $308300 (0x180300) - $30834F (0x18034F)
org $308300 ; PC 0x180250
ExtraHole_Map16:
dw $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF
dw $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF
ExtraHole_Area:
dw $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF
dw $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF
ExtraHole_Entrance:
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
;================================================================================
; 0x1802A0 - 0x1814FF (unused)
; 0x180350 - 0x1814FF (unused)
;================================================================================
; $309500 (0x181500) - $309FFF (0x181FFF) original 0x39C bytes
; Replacement Ending Sequence Text Data