diff --git a/goalitem.asm b/goalitem.asm index a73610a..b52f757 100644 --- a/goalitem.asm +++ b/goalitem.asm @@ -109,6 +109,36 @@ CheckGanonVulnerability: BCC .fail BRA .all_dungeons +;-------------------------------------------------------------------------------- +GTCutscene_TransferGfx: + PHA + REP #$20 + LDA.l GanonsTowerOpenGfx : BEQ .original_crystal + PHX + LDX.w ItemStackPtr : STA.l ItemGFXStack,X + LDA.w #$81C0>>1 : STA.l ItemTargetStack,X + INX #2 : STX.w ItemStackPtr + PLX + SEP #$20 + PLA +RTL +.original_crystal + SEP #$20 + PLA + JML TransferItemReceiptToBuffer_using_GraphicsID +;-------------------------------------------------------------------------------- +AncillaDraw_GTCutsceneCrystal_OAMPrep: + LDA.l GanonsTowerOpenGfx : ORA.l GanonsTowerOpenGfx+1 : BEQ .vanilla + LDA.b #$0E : STA.b (OAMPtr),Y + INY + LDA.l GanonsTowerOpenPalette : AND.b #$67 : ASL : ORA.b #$30 + STA.b (OAMPtr),Y + RTL +.vanilla + LDA.b #$24 : STA.b (OAMPtr),Y + INY + LDA.b #$3C : STA.b (OAMPtr),Y +RTL ;-------------------------------------------------------------------------------- GTCutscene_CrystalMasks: db %00000000 ; 0 crystals diff --git a/hooks.asm b/hooks.asm index 2d40cd3..253b607 100755 --- a/hooks.asm +++ b/hooks.asm @@ -538,6 +538,8 @@ JML GTCutscene_ConditionalAnimateCrystals org $88CE93 GTCutscene_DrawSingleCrystal: JML GTCutscene_ConditionalDrawSingleCrystal +org $88CED1 +JSL AncillaDraw_GTCutsceneCrystal_OAMPrep : BRA + : NOP #3 : + ;-------------------------------------------------------------------------------- org $88CF19 ; <- 44F19 - ancilla_break_tower_seal.asm : 336 (TXA : AND.b #$07 : TAX) JSL GTCutscene_ActivateSparkle_SelectCrystal @@ -2660,7 +2662,7 @@ org $898AEE : JSL TransferItemReceiptToBuffer_using_GraphicsID org $898C85 : JSL TransferItemReceiptToBuffer_using_GraphicsID ; gt cutscene -org $899BBE : JSL TransferItemReceiptToBuffer_using_GraphicsID +org $899BBE : JSL GTCutscene_TransferGfx ;=================================================================================================== ; gratuitous NOPs removed for speed diff --git a/tables.asm b/tables.asm index 6842c23..e29bbfe 100644 --- a/tables.asm +++ b/tables.asm @@ -922,8 +922,13 @@ dw $0000 ; #$00 = Off (default) ; #$09 = Require All Dungeons No Agahnim ; #$0A = Require 100% Item Collection ; #$0B = Require 100% Item Collection and All Dungeons +GanonsTowerOpenGfx: ; 0x1801AA-0x1801AB +dw $0000 ; Gfx used for GT open animation, similar to StandingItemGraphicsOffsets +GanonsTowerOpenPalette: ; 0x1801AC +db $00 ; Palette for GanonsTowerOpenGfx +;VHPP CCC O ;-------------------------------------------------------------------------------- -; 0x18019A - 0x1801FF (unused) +; 0x1801AD - 0x1801FF (unused) ;================================================================================ org $B08200 ; PC 0x180200 - 0x18020B RedClockAmount: