From feb27d71b966575fd08560acdfe58d15f909fc12 Mon Sep 17 00:00:00 2001 From: spannerisms <32842036+spannerisms@users.noreply.github.com> Date: Sat, 12 Jun 2021 06:07:38 -0400 Subject: [PATCH 1/6] heartbeeps --- hooks.asm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hooks.asm b/hooks.asm index e0884e2..5ceabe3 100755 --- a/hooks.asm +++ b/hooks.asm @@ -2609,4 +2609,11 @@ Sprite_AttemptDamageToPlayerPlusRecoilLong: org $1ED1B6 JSL NewFireBarDamage + +;================================================================================ +; Remove heart beeps from 1/2 max HP +org $0DDB60 +db $00, $00 + + ;================================================================================ From 8f74212259a05343329907c4cb8b1d7d654dacca Mon Sep 17 00:00:00 2001 From: spannerisms <32842036+spannerisms@users.noreply.github.com> Date: Sat, 12 Jun 2021 06:11:04 -0400 Subject: [PATCH 2/6] goals easy-to-add AD no aga goal --- goalitem.asm | 8 ++++++-- hooks.asm | 21 +++++++++++---------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/goalitem.asm b/goalitem.asm index 81351ab..8cd7502 100644 --- a/goalitem.asm +++ b/goalitem.asm @@ -46,6 +46,7 @@ CheckGanonVulnerability: dw .light_speed dw .crystals_and_bosses dw .bosses_only + dw .all_dungeons_no_agahnim ; 00 = always vulnerable .vulnerable @@ -61,10 +62,13 @@ CheckGanonVulnerability: ; 02 = All dungeons .all_dungeons + LDA.l $7EF3C5 : CMP.b #$03 : BCC .fail ; require post-aga world state + +; 09 = All dungeons except agahnim +.all_dungeons_no_agahnim LDA.l $7EF374 : AND.b #$07 : CMP.b #$07 : BNE .fail ; require all pendants LDA.l $7EF37A : AND.b #$7F : CMP.b #$7F : BNE .fail ; require all crystals - LDA.l $7EF3C5 : CMP.b #$03 : BCC .fail ; require post-aga world state - LDA.l $7EF2DB : AND.b #$20 : CMP.b #$20 : BNE .fail ; require aga2 defeated (pyramid hole open) + LDA.l $7EF2DB : AND.b #$20 : BEQ .fail ; require aga2 defeated (pyramid hole open) BRA .success ; 03 = crystals and aga 2 diff --git a/hooks.asm b/hooks.asm index 5ceabe3..f5d1039 100755 --- a/hooks.asm +++ b/hooks.asm @@ -2578,21 +2578,22 @@ dw 37, 11 : db $FB, $40, $00, $00 ;-------------------------------------------------------------------------------- org $07839E ; bunny BAGE check BunnyRead: - JSR.w $07B5A9 ; check A button - BCC .noA - JSR.w CheckIfReading - BNE .noread - JSR.w $07B4DB - NOP + JSR.w $07B5A9 ; check A button + BCC .noA + JSR.w CheckIfReading + BNE .noread + JSR.w $07B4DB + NOP .noread .noA org $07FFF4 CheckIfReading: - JSR.w $07D36C ; check action - LDA #$80 : TRB $3B - CPX #$04 - RTS + JSR.w $07D36C ; check action + LDA #$80 : TRB $3B + CPX #$04 + RTS + ;================================================================================ org $0DB4CA : db $40, $40 ; fire bar statis From 3204ad2ed52759be4c50ec11212e8151bbc2f440 Mon Sep 17 00:00:00 2001 From: spannerisms <32842036+spannerisms@users.noreply.github.com> Date: Sat, 12 Jun 2021 07:43:18 -0400 Subject: [PATCH 3/6] fast credits --- LTTP_RND_GeneralBugfixes.asm | 1 + fastcredits.asm | 177 +++++++++++++++++++++++++++++++++++ hooks.asm | 21 +++++ 3 files changed, 199 insertions(+) create mode 100644 fastcredits.asm diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index b47f391..6c3cb05 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -197,6 +197,7 @@ incsrc servicerequest.asm incsrc elder.asm incsrc toast.asm incsrc darkroomitems.asm +incsrc fastcredits.asm warnpc $A58000 ;org $228000 ; contrib area diff --git a/fastcredits.asm b/fastcredits.asm new file mode 100644 index 0000000..fa1bee3 --- /dev/null +++ b/fastcredits.asm @@ -0,0 +1,177 @@ +;=================================================================================================== + +FastCreditsCutsceneTimer: + BIT.b $F2-1 : BVC .slow + + LDA.b $C8 + CLC + ADC.w #$0004 + AND.w #$FFFE + STA.b $C8 + SEP #$20 + RTL + + +.slow + INC.b $C8 + + SEP #$20 + RTL + +FastCreditsScrollOW: + JSR FastCreditsCutsceneScrollY + TAY + STY.b $30 + + JSR FastCreditsCutsceneScrollX + TAY + STY.b $31 + + RTL + +FastCreditsCutsceneScrollX: + PHX + TXA + CLC + ADC.w #$0020 + TAX + + LDY.b #$00 + JSR FastCreditsCutsceneScroll + + PLX + RTS + +FastCreditsCutsceneScrollY: + LDY.b #$06 + +FastCreditsCutsceneScroll: + LDA.w $00E2,Y + CMP.l $0EC308,X ; compare to target + + ROL.b $00 ; put carry in here + LDA.l $0EC348,X ; get movement + BPL ++ ; if positive, leave saved carry alone + INC.b $00 ; otherwise, flip it +++ ROR.b $00 ; recover carry + + BCC ++ ; scroll if carry not set + LDA.w #$0000 + +++ BIT.b $F2-1 : BVC .slow ; check for X held + + AND.w #$FFFF ; get sign of A + BPL .positive + + EOR.w #$FFFF + INC + ASL + ASL + EOR.w #$FFFF + INC + RTS + +.positive + ASL + ASL + + + +.slow + RTS + + + + + + +FastCreditsCutsceneUnderworldX: + LDA.l $0EC368,X + JSR QuadrupleCreditsSpeedUW + CLC + ADC.b $E2 + STA.b $E2 + + RTL + + +FastCreditsCutsceneUnderworldY: + LDA.l $0EC348,X + JSR QuadrupleCreditsSpeedUW + CLC + ADC.b $E8 + STA.b $E8 + + RTL + +QuadrupleCreditsSpeedUW: + BIT.b $F2-1 : BVC .slow + + AND.w #$FFFF + BPL .positive + + EOR.w #$FFFF + INC + + ASL + ASL + + EOR.w #$FFFF + INC + + RTS + + +.positive + ASL + ASL + +.slow + RTS + + + + +FastCreditsCutsceneOverworld: + BIT.b $F2 : BVC .slow + + LDA.b $30 + JSR .quad + STA.b $30 + + LDA.b $31 + JSR .quad + STA.b $31 + +.slow + JML $0285B5 + +.quad + BPL .fine + + EOR.b #$FF + INC + ASL + ASL + EOR.b #$FF + INC + RTS + + +.fine + ASL + ASL + + RTS + + +FastTextScroll: + LDA.b $1A + BIT.b $F2-1 : BVC .slow + + AND.w #$0000 + RTL + +.slow + AND.w #$0003 + RTL diff --git a/hooks.asm b/hooks.asm index f5d1039..693dc08 100755 --- a/hooks.asm +++ b/hooks.asm @@ -2618,3 +2618,24 @@ db $00, $00 ;================================================================================ +; Fast credits +org $0EC45A +;JSL FastCreditsCutsceneScrollOverworld + + +org $0EC3AF +JSL FastCreditsScrollOW +JMP.w $0EC3C7 + +org $0EC41F +JSL FastCreditsCutsceneUnderworldY + +org $0EC42C +JSL FastCreditsCutsceneUnderworldX + + +org $0EC488 +JSL FastCreditsCutsceneTimer + +org $0EE773 +JSL FastTextScroll : NOP From 6261b9b8e0f7de41ca5250dd57e54c871f8accfe Mon Sep 17 00:00:00 2001 From: spannerisms <32842036+spannerisms@users.noreply.github.com> Date: Sat, 12 Jun 2021 07:46:20 -0400 Subject: [PATCH 4/6] improvement for UW --- fastcredits.asm | 34 ++-------------------------------- 1 file changed, 2 insertions(+), 32 deletions(-) diff --git a/fastcredits.asm b/fastcredits.asm index fa1bee3..c3a078a 100644 --- a/fastcredits.asm +++ b/fastcredits.asm @@ -86,8 +86,7 @@ FastCreditsCutsceneScroll: FastCreditsCutsceneUnderworldX: - LDA.l $0EC368,X - JSR QuadrupleCreditsSpeedUW + JSR FastCreditsCutsceneScrollX CLC ADC.b $E2 STA.b $E2 @@ -96,42 +95,13 @@ FastCreditsCutsceneUnderworldX: FastCreditsCutsceneUnderworldY: - LDA.l $0EC348,X - JSR QuadrupleCreditsSpeedUW + JSR FastCreditsCutsceneScrollY CLC ADC.b $E8 STA.b $E8 RTL -QuadrupleCreditsSpeedUW: - BIT.b $F2-1 : BVC .slow - - AND.w #$FFFF - BPL .positive - - EOR.w #$FFFF - INC - - ASL - ASL - - EOR.w #$FFFF - INC - - RTS - - -.positive - ASL - ASL - -.slow - RTS - - - - FastCreditsCutsceneOverworld: BIT.b $F2 : BVC .slow From 775a970bccac49f150eaec92e9b04b9bf4ea6aea Mon Sep 17 00:00:00 2001 From: spannerisms <32842036+spannerisms@users.noreply.github.com> Date: Sat, 12 Jun 2021 07:47:27 -0400 Subject: [PATCH 5/6] yes --- fastcredits.asm | 32 -------------------------------- hooks.asm | 3 --- 2 files changed, 35 deletions(-) diff --git a/fastcredits.asm b/fastcredits.asm index c3a078a..3c0edd2 100644 --- a/fastcredits.asm +++ b/fastcredits.asm @@ -102,38 +102,6 @@ FastCreditsCutsceneUnderworldY: RTL -FastCreditsCutsceneOverworld: - BIT.b $F2 : BVC .slow - - LDA.b $30 - JSR .quad - STA.b $30 - - LDA.b $31 - JSR .quad - STA.b $31 - -.slow - JML $0285B5 - -.quad - BPL .fine - - EOR.b #$FF - INC - ASL - ASL - EOR.b #$FF - INC - RTS - - -.fine - ASL - ASL - - RTS - FastTextScroll: LDA.b $1A diff --git a/hooks.asm b/hooks.asm index 693dc08..276ee78 100755 --- a/hooks.asm +++ b/hooks.asm @@ -2619,9 +2619,6 @@ db $00, $00 ;================================================================================ ; Fast credits -org $0EC45A -;JSL FastCreditsCutsceneScrollOverworld - org $0EC3AF JSL FastCreditsScrollOW From a378bcf5c5c71eac507cf629b35ec0c3b08c05e0 Mon Sep 17 00:00:00 2001 From: spannerisms <32842036+spannerisms@users.noreply.github.com> Date: Sat, 12 Jun 2021 13:43:48 -0400 Subject: [PATCH 6/6] flag --- fastcredits.asm | 9 +++++++++ hooks.asm | 3 +++ msu.asm | 1 + 3 files changed, 13 insertions(+) diff --git a/fastcredits.asm b/fastcredits.asm index 3c0edd2..97f23a6 100644 --- a/fastcredits.asm +++ b/fastcredits.asm @@ -3,6 +3,8 @@ FastCreditsCutsceneTimer: BIT.b $F2-1 : BVC .slow + LDA.w #$0001 : STA.b $50 + LDA.b $C8 CLC ADC.w #$0004 @@ -113,3 +115,10 @@ FastTextScroll: .slow AND.w #$0003 RTL + +DumbFlagForMSU: + STA.l $7EF3CA + STZ.b $50 + RTL + + diff --git a/hooks.asm b/hooks.asm index 276ee78..9014a7b 100755 --- a/hooks.asm +++ b/hooks.asm @@ -2620,6 +2620,9 @@ db $00, $00 ;================================================================================ ; Fast credits +org $02A096 +JSL DumbFlagForMSU + org $0EC3AF JSL FastCreditsScrollOW JMP.w $0EC3C7 diff --git a/msu.asm b/msu.asm index 3118f01..cd21a0a 100644 --- a/msu.asm +++ b/msu.asm @@ -702,6 +702,7 @@ EndingMusicWait: LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .done SEP #$20 .wait + LDA.b $50 : BNE .done LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BNE .wait .done SEP #$20