Update Librarian translation logic
This commit is contained in:
@@ -238,23 +238,128 @@ Sprite_Mermaid_Main:
|
|||||||
|
|
||||||
dw LibrarianIdle
|
dw LibrarianIdle
|
||||||
dw Librarian_OfferTranslation
|
dw Librarian_OfferTranslation
|
||||||
|
dw Librarian_TranslateScroll
|
||||||
|
dw Librarian_FinishTranslation
|
||||||
|
|
||||||
LibrarianIdle:
|
LibrarianIdle:
|
||||||
{
|
{
|
||||||
%PlayAnimation(0,1,16)
|
%PlayAnimation(0,1,16)
|
||||||
JSL Sprite_PlayerCantPassThrough
|
JSL Sprite_PlayerCantPassThrough
|
||||||
%ShowSolicitedMessage($012E)
|
%ShowSolicitedMessage($012E) : BCC ++
|
||||||
|
INC.w SprAction, X
|
||||||
|
++
|
||||||
JSR Librarian_CheckForAllMaps : BCC +
|
JSR Librarian_CheckForAllMaps : BCC +
|
||||||
INC.w SprAction, X
|
INC.w SprAction, X
|
||||||
+
|
+
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; Bitfields for ownership of various dungeon items
|
||||||
|
; SET 2 SET 1
|
||||||
|
; xced aspm wihb tg..
|
||||||
|
; c - Hyrule Castle
|
||||||
|
; x - Sewers
|
||||||
|
; a - Agahnim's Tower
|
||||||
|
;
|
||||||
|
; e - Eastern Palace
|
||||||
|
; d - Desert Palace
|
||||||
|
; h - Tower of Hera
|
||||||
|
;
|
||||||
|
; p - Palace of Darkness (Mushroom Grotto)
|
||||||
|
; s - Swamp Palace (Tail Palace)
|
||||||
|
; w - Skull Woods (Kalyxo Castle)
|
||||||
|
; b - Thieves' Town (Zora Temple)
|
||||||
|
; i - Ice Palace (Glacia Estate)
|
||||||
|
; m - Misery Mire (Goron Mines)
|
||||||
|
; t - Turtle Rock (Dragon Ship)
|
||||||
|
; g - Ganon's Tower
|
||||||
Librarian_OfferTranslation:
|
Librarian_OfferTranslation:
|
||||||
{
|
{
|
||||||
%PlayAnimation(0,1,16)
|
%PlayAnimation(0,1,16)
|
||||||
JSL Sprite_PlayerCantPassThrough
|
JSL Sprite_PlayerCantPassThrough
|
||||||
%ShowSolicitedMessage($012C)
|
print pc
|
||||||
|
; If there are no scrolls yet
|
||||||
|
LDA.l Scrolls : AND #$01 : BNE .NotMushroomGrotto
|
||||||
|
LDA.l DNGMAP2 : AND #%00000010 : BEQ .NotMushroomGrotto
|
||||||
|
LDA.l Scrolls : ORA #$01 : STA.l Scrolls
|
||||||
|
LDA.b #$01 : STA.w SprMiscG, X
|
||||||
|
JMP +
|
||||||
|
.NotMushroomGrotto
|
||||||
|
LDA.l Scrolls : AND #$02 : BNE .NotTailPalace
|
||||||
|
LDA.l DNGMAP2 : AND #%00000100 : BEQ .NotTailPalace
|
||||||
|
LDA.l Scrolls : ORA #$02 : STA.l Scrolls
|
||||||
|
LDA.b #$02 : STA.w SprMiscG, X
|
||||||
|
JMP +
|
||||||
|
.NotTailPalace
|
||||||
|
LDA.l Scrolls : AND #$04 : BNE .NotKalyxoCastle
|
||||||
|
LDA.l DNGMAP1 : AND #%10000000 : BEQ .NotKalyxoCastle
|
||||||
|
LDA.l Scrolls : ORA #$04 : STA.l Scrolls
|
||||||
|
LDA.b #$03 : STA.w SprMiscG, X
|
||||||
|
JMP +
|
||||||
|
.NotKalyxoCastle
|
||||||
|
LDA.l Scrolls : AND #$08 : BNE .NotZoraTemple
|
||||||
|
LDA.l DNGMAP1 : AND #%00010000 : BEQ .NotZoraTemple
|
||||||
|
LDA.l Scrolls : ORA #$08 : STA.l Scrolls
|
||||||
|
LDA.b #$04 : STA.w SprMiscG, X
|
||||||
|
JMP +
|
||||||
|
.NotZoraTemple
|
||||||
|
LDA.l Scrolls : AND #$10 : BNE .NotIcePalace
|
||||||
|
LDA.l DNGMAP1 : AND #%01000000 : BEQ .NotIcePalace
|
||||||
|
LDA.l Scrolls : ORA #$10 : STA.l Scrolls
|
||||||
|
LDA.b #$05 : STA.w SprMiscG, X
|
||||||
|
JMP +
|
||||||
|
.NotIcePalace
|
||||||
|
LDA.l Scrolls : AND #$20 : BNE .NotGoronMines
|
||||||
|
LDA.l DNGMAP2 : AND #%00000001 : BEQ .NotGoronMines
|
||||||
|
LDA.l Scrolls : ORA #$20 : STA.l Scrolls
|
||||||
|
LDA.b #$06 : STA.w SprMiscG, X
|
||||||
|
JMP +
|
||||||
|
.NotGoronMines
|
||||||
|
LDA.l Scrolls : AND #$40 : BNE .NotDragonShip
|
||||||
|
LDA.l DNGMAP1 : AND #%00001000 : BEQ .NotDragonShip
|
||||||
|
LDA.l Scrolls : ORA #$40 : STA.l Scrolls
|
||||||
|
LDA.b #$07 : STA.w SprMiscG, X
|
||||||
|
JMP +
|
||||||
|
.NotDragonShip
|
||||||
|
STZ.w SprAction, X
|
||||||
|
RTS
|
||||||
|
+
|
||||||
|
|
||||||
|
INC.w SprAction, X
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
Librarian_TranslateScroll:
|
||||||
|
{
|
||||||
|
%PlayAnimation(0,1,16)
|
||||||
|
|
||||||
|
PHX
|
||||||
|
LDY.b #$01
|
||||||
|
LDA.w SprMiscG, X
|
||||||
|
ASL A : TAX
|
||||||
|
LDA.w .scroll_messages, X
|
||||||
|
JSL Sprite_ShowMessageUnconditional
|
||||||
|
PLX
|
||||||
|
|
||||||
|
INC.w SprAction, X
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.scroll_messages
|
||||||
|
dw $0199
|
||||||
|
dw $019A
|
||||||
|
dw $019B
|
||||||
|
dw $019C
|
||||||
|
dw $019D
|
||||||
|
dw $019E
|
||||||
|
dw $019F
|
||||||
|
}
|
||||||
|
|
||||||
|
Librarian_FinishTranslation:
|
||||||
|
{
|
||||||
|
%PlayAnimation(0,1,16)
|
||||||
|
%ShowUnconditionalMessage($01A2)
|
||||||
|
STZ.w SprAction, X
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user