Added struct for OW Bonk Prize data table
This commit is contained in:
175
heartpieces.asm
175
heartpieces.asm
@@ -289,7 +289,7 @@ LoadOutdoorValue:
|
|||||||
REP #$20 ; set 16-bit accumulator
|
REP #$20 ; set 16-bit accumulator
|
||||||
LDA $8A
|
LDA $8A
|
||||||
CMP.w #$00 : BNE +
|
CMP.w #$00 : BNE +
|
||||||
LDA.l OWBonkPrizeData+(0*6)+3
|
LDA.l OWBonkPrizeTable[$00].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$03 : BNE +
|
+ CMP.w #$03 : BNE +
|
||||||
LDA $22 : CMP.w #1890 : !BLT ++
|
LDA $22 : CMP.w #1890 : !BLT ++
|
||||||
@@ -300,90 +300,90 @@ LoadOutdoorValue:
|
|||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$05 : BNE +
|
+ CMP.w #$05 : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(1*6)+3
|
LDA.l OWBonkPrizeTable[$01].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
%GetPossiblyEncryptedItem(HeartPiece_Mountain_Warp, HeartPieceOutdoorValues)
|
%GetPossiblyEncryptedItem(HeartPiece_Mountain_Warp, HeartPieceOutdoorValues)
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$0A : BNE +
|
+ CMP.w #$0A : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(2*6)+3
|
LDA.l OWBonkPrizeTable[$02].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(3*6)+3
|
LDA.l OWBonkPrizeTable[$03].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$10 : BNE +
|
+ CMP.w #$10 : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(4*6)+3
|
LDA.l OWBonkPrizeTable[$04].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(5*6)+3
|
LDA.l OWBonkPrizeTable[$05].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$11 : BNE +
|
+ CMP.w #$11 : BNE +
|
||||||
LDA.l OWBonkPrizeData+(6*6)+3
|
LDA.l OWBonkPrizeTable[$06].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$12 : BNE +
|
+ CMP.w #$12 : BNE +
|
||||||
LDA.l OWBonkPrizeData+(7*6)+3
|
LDA.l OWBonkPrizeTable[$07].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$13 : BNE +
|
+ CMP.w #$13 : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(8*6)+3
|
LDA.l OWBonkPrizeTable[$08].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(9*6)+3
|
LDA.l OWBonkPrizeTable[$09].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$15 : BNE +
|
+ CMP.w #$15 : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(10*6)+3
|
LDA.l OWBonkPrizeTable[$0A].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(11*6)+3
|
LDA.l OWBonkPrizeTable[$0B].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$18 : BNE +
|
+ CMP.w #$18 : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(12*6)+3
|
LDA.l OWBonkPrizeTable[$0C].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(13*6)+3
|
LDA.l OWBonkPrizeTable[$0D].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$1A : BNE +
|
+ CMP.w #$1A : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(14*6)+3
|
LDA.l OWBonkPrizeTable[$0E].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(15*6)+3
|
LDA.l OWBonkPrizeTable[$0F].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$1B : BNE +
|
+ CMP.w #$1B : BNE +
|
||||||
LDA.l OWBonkPrizeData+(16*6)+3
|
LDA.l OWBonkPrizeTable[$10].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$1D : BNE +
|
+ CMP.w #$1D : BNE +
|
||||||
LDA.l OWBonkPrizeData+(17*6)+3
|
LDA.l OWBonkPrizeTable[$11].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$1E : BNE +
|
+ CMP.w #$1E : BNE +
|
||||||
LDA.l OWBonkPrizeData+(18*6)+3
|
LDA.l OWBonkPrizeTable[$12].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$28 : BNE +
|
+ CMP.w #$28 : BNE +
|
||||||
%GetPossiblyEncryptedItem(HeartPiece_Maze, HeartPieceOutdoorValues)
|
%GetPossiblyEncryptedItem(HeartPiece_Maze, HeartPieceOutdoorValues)
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$2A : BNE +
|
+ CMP.w #$2A : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(19*6)+3
|
LDA.l OWBonkPrizeTable[$13].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++ CMP.w #$0008 : BNE ++
|
++ CMP.w #$0008 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(20*6)+3
|
LDA.l OWBonkPrizeTable[$14].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
%GetPossiblyEncryptedItem(HauntedGroveItem, HeartPieceOutdoorValues)
|
%GetPossiblyEncryptedItem(HauntedGroveItem, HeartPieceOutdoorValues)
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$2B : BNE +
|
+ CMP.w #$2B : BNE +
|
||||||
LDA.l OWBonkPrizeData+(21*6)+3
|
LDA.l OWBonkPrizeTable[$15].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$2E : BNE +
|
+ CMP.w #$2E : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(22*6)+3
|
LDA.l OWBonkPrizeTable[$16].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(23*6)+3
|
LDA.l OWBonkPrizeTable[$17].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$30 : BNE +
|
+ CMP.w #$30 : BNE +
|
||||||
LDA $22 : CMP.w #512 : !BGE ++
|
LDA $22 : CMP.w #512 : !BGE ++
|
||||||
@@ -394,10 +394,10 @@ LoadOutdoorValue:
|
|||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$32 : BNE +
|
+ CMP.w #$32 : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(24*6)+3
|
LDA.l OWBonkPrizeTable[$18].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(25*6)+3
|
LDA.l OWBonkPrizeTable[$19].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$35 : BNE +
|
+ CMP.w #$35 : BNE +
|
||||||
%GetPossiblyEncryptedItem(HeartPiece_Lake, HeartPieceOutdoorValues)
|
%GetPossiblyEncryptedItem(HeartPiece_Lake, HeartPieceOutdoorValues)
|
||||||
@@ -407,7 +407,7 @@ LoadOutdoorValue:
|
|||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$42 : BNE +
|
+ CMP.w #$42 : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(26*6)+3
|
LDA.l OWBonkPrizeTable[$1A].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
%GetPossiblyEncryptedItem(HeartPiece_Cliffside, HeartPieceOutdoorValues)
|
%GetPossiblyEncryptedItem(HeartPiece_Cliffside, HeartPieceOutdoorValues)
|
||||||
@@ -417,56 +417,56 @@ LoadOutdoorValue:
|
|||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$51 : BNE +
|
+ CMP.w #$51 : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(27*6)+3
|
LDA.l OWBonkPrizeTable[$1B].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(28*6)+3
|
LDA.l OWBonkPrizeTable[$1C].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$54 : BNE +
|
+ CMP.w #$54 : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(29*6)+3
|
LDA.l OWBonkPrizeTable[$1D].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++ CMP.w #$0008 : BNE ++
|
++ CMP.w #$0008 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(30*6)+3
|
LDA.l OWBonkPrizeTable[$1E].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(31*6)+3
|
LDA.l OWBonkPrizeTable[$1F].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$55 : BNE +
|
+ CMP.w #$55 : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(32*6)+3
|
LDA.l OWBonkPrizeTable[$20].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(33*6)+3
|
LDA.l OWBonkPrizeTable[$21].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$56 : BNE +
|
+ CMP.w #$56 : BNE +
|
||||||
LDA.l OWBonkPrizeData+(34*6)+3
|
LDA.l OWBonkPrizeTable[$22].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$5B : BNE +
|
+ CMP.w #$5B : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(35*6)+3
|
LDA.l OWBonkPrizeTable[$23].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
%GetPossiblyEncryptedItem(HeartPiece_Pyramid, HeartPieceOutdoorValues)
|
%GetPossiblyEncryptedItem(HeartPiece_Pyramid, HeartPieceOutdoorValues)
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$5E : BNE +
|
+ CMP.w #$5E : BNE +
|
||||||
LDA.l OWBonkPrizeData+(36*6)+3
|
LDA.l OWBonkPrizeTable[$24].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$68 : BNE +
|
+ CMP.w #$68 : BNE +
|
||||||
%GetPossiblyEncryptedItem(HeartPiece_Digging, HeartPieceOutdoorValues)
|
%GetPossiblyEncryptedItem(HeartPiece_Digging, HeartPieceOutdoorValues)
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$6E : BNE +
|
+ CMP.w #$6E : BNE +
|
||||||
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : AND.w #$00FF : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(37*6)+3
|
LDA.l OWBonkPrizeTable[$25].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++ CMP.w #$0008 : BNE ++
|
++ CMP.w #$0008 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(38*6)+3
|
LDA.l OWBonkPrizeTable[$26].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(39*6)+3
|
LDA.l OWBonkPrizeTable[$27].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$74 : BNE +
|
+ CMP.w #$74 : BNE +
|
||||||
LDA.l OWBonkPrizeData+(40*6)+3
|
LDA.l OWBonkPrizeTable[$28].loot
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CMP.w #$81 : BNE +
|
+ CMP.w #$81 : BNE +
|
||||||
%GetPossiblyEncryptedItem(HeartPiece_Zora, HeartPieceOutdoorValues)
|
%GetPossiblyEncryptedItem(HeartPiece_Zora, HeartPieceOutdoorValues)
|
||||||
@@ -647,7 +647,7 @@ HeartPieceGetPlayer:
|
|||||||
REP #$20 ; set 16-bit accumulator
|
REP #$20 ; set 16-bit accumulator
|
||||||
LDA $8A
|
LDA $8A
|
||||||
CMP.w #$00 : BNE +
|
CMP.w #$00 : BNE +
|
||||||
LDA.l OWBonkPrizeData+(0*6)+4
|
LDA.l OWBonkPrizeTable[$00].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$03 : BNE +
|
+ CMP.w #$03 : BNE +
|
||||||
LDA $22 : CMP.w #1890 : !BLT ++
|
LDA $22 : CMP.w #1890 : !BLT ++
|
||||||
@@ -658,97 +658,90 @@ HeartPieceGetPlayer:
|
|||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$05 : BNE +
|
+ CMP.w #$05 : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(1*6)+4
|
LDA.l OWBonkPrizeTable[$01].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA HeartPiece_Mountain_Warp_Player
|
LDA HeartPiece_Mountain_Warp_Player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$0A : BNE +
|
+ CMP.w #$0A : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(2*6)+4
|
LDA.l OWBonkPrizeTable[$02].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(3*6)+4
|
LDA.l OWBonkPrizeTable[$03].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$10 : BNE +
|
+ CMP.w #$10 : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(4*6)+4
|
LDA.l OWBonkPrizeTable[$04].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(5*6)+4
|
LDA.l OWBonkPrizeTable[$05].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$11 : BNE +
|
+ CMP.w #$11 : BNE +
|
||||||
LDA.l OWBonkPrizeData+(6*6)+4
|
LDA.l OWBonkPrizeTable[$06].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$12 : BNE +
|
+ CMP.w #$12 : BNE +
|
||||||
LDA.l OWBonkPrizeData+(7*6)+4
|
LDA.l OWBonkPrizeTable[$07].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$13 : BNE +
|
+ CMP.w #$13 : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(8*6)+4
|
LDA.l OWBonkPrizeTable[$08].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(9*6)+4
|
LDA.l OWBonkPrizeTable[$09].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$15 : BNE +
|
+ CMP.w #$15 : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(10*6)+4
|
LDA.l OWBonkPrizeTable[$0A].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(11*6)+4
|
LDA.l OWBonkPrizeTable[$0B].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$18 : BNE +
|
+ CMP.w #$18 : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(12*6)+4
|
LDA.l OWBonkPrizeTable[$0C].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(13*6)+4
|
LDA.l OWBonkPrizeTable[$0D].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$1A : BNE +
|
+ CMP.w #$1A : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(14*6)+4
|
LDA.l OWBonkPrizeTable[$0E].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(15*6)+4
|
LDA.l OWBonkPrizeTable[$0F].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$1B : BNE +
|
+ CMP.w #$1B : BNE +
|
||||||
LDA.l OWBonkPrizeData+(16*6)+4
|
LDA.l OWBonkPrizeTable[$10].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$1D : BNE +
|
+ CMP.w #$1D : BNE +
|
||||||
LDA.l OWBonkPrizeData+(17*6)+4
|
LDA.l OWBonkPrizeTable[$11].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$1E : BNE +
|
+ CMP.w #$1E : BNE +
|
||||||
LDA.l OWBonkPrizeData+(18*6)+4
|
LDA.l OWBonkPrizeTable[$12].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$28 : BNE +
|
+ CMP.w #$28 : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA HeartPiece_Maze_Player
|
||||||
LDA.l OWBonkPrizeData+(19*6)+4
|
BRL .done
|
||||||
BRL .done
|
|
||||||
++ CMP.w #$0008 : BNE ++
|
|
||||||
LDA.l OWBonkPrizeData+(20*6)+4
|
|
||||||
BRL .done
|
|
||||||
++
|
|
||||||
LDA HeartPiece_Maze_Player
|
|
||||||
BRL .done
|
|
||||||
+ CMP.w #$2A : BNE +
|
+ CMP.w #$2A : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(19*6)+4
|
LDA.l OWBonkPrizeTable[$13].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++ CMP.w #$0008 : BNE ++
|
++ CMP.w #$0008 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(20*6)+4
|
LDA.l OWBonkPrizeTable[$14].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA HauntedGroveItem_Player
|
LDA HauntedGroveItem_Player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$2B : BNE +
|
+ CMP.w #$2B : BNE +
|
||||||
LDA.l OWBonkPrizeData+(21*6)+4
|
LDA.l OWBonkPrizeTable[$15].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$2E : BNE +
|
+ CMP.w #$2E : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(22*6)+4
|
LDA.l OWBonkPrizeTable[$16].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(23*6)+4
|
LDA.l OWBonkPrizeTable[$17].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$30 : BNE +
|
+ CMP.w #$30 : BNE +
|
||||||
LDA $22 : CMP.w #512 : !BGE ++
|
LDA $22 : CMP.w #512 : !BGE ++
|
||||||
@@ -759,10 +752,10 @@ HeartPieceGetPlayer:
|
|||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$32 : BNE +
|
+ CMP.w #$32 : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(24*6)+4
|
LDA.l OWBonkPrizeTable[$18].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(25*6)+4
|
LDA.l OWBonkPrizeTable[$19].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$35 : BNE +
|
+ CMP.w #$35 : BNE +
|
||||||
LDA HeartPiece_Lake_Player
|
LDA HeartPiece_Lake_Player
|
||||||
@@ -772,7 +765,7 @@ HeartPieceGetPlayer:
|
|||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$42 : BNE +
|
+ CMP.w #$42 : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(26*6)+4
|
LDA.l OWBonkPrizeTable[$1A].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA HeartPiece_Cliffside_Player
|
LDA HeartPiece_Cliffside_Player
|
||||||
@@ -782,56 +775,56 @@ HeartPieceGetPlayer:
|
|||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$51 : BNE +
|
+ CMP.w #$51 : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(27*6)+4
|
LDA.l OWBonkPrizeTable[$1B].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(28*6)+4
|
LDA.l OWBonkPrizeTable[$1C].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$54 : BNE +
|
+ CMP.w #$54 : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(29*6)+4
|
LDA.l OWBonkPrizeTable[$1D].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++ CMP.w #$0008 : BNE ++
|
++ CMP.w #$0008 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(30*6)+4
|
LDA.l OWBonkPrizeTable[$1E].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(31*6)+4
|
LDA.l OWBonkPrizeTable[$1F].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$55 : BNE +
|
+ CMP.w #$55 : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(32*6)+4
|
LDA.l OWBonkPrizeTable[$20].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(33*6)+4
|
LDA.l OWBonkPrizeTable[$21].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$56 : BNE +
|
+ CMP.w #$56 : BNE +
|
||||||
LDA.l OWBonkPrizeData+(34*6)+4
|
LDA.l OWBonkPrizeTable[$22].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$5B : BNE +
|
+ CMP.w #$5B : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(35*6)+4
|
LDA.l OWBonkPrizeTable[$23].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA HeartPiece_Pyramid_Player
|
LDA HeartPiece_Pyramid_Player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$5E : BNE +
|
+ CMP.w #$5E : BNE +
|
||||||
LDA.l OWBonkPrizeData+(36*6)+4
|
LDA.l OWBonkPrizeTable[$24].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$68 : BNE +
|
+ CMP.w #$68 : BNE +
|
||||||
LDA HeartPiece_Digging_Player
|
LDA HeartPiece_Digging_Player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$6E : BNE +
|
+ CMP.w #$6E : BNE +
|
||||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(37*6)+4
|
LDA.l OWBonkPrizeTable[$25].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++ CMP.w #$0008 : BNE ++
|
++ CMP.w #$0008 : BNE ++
|
||||||
LDA.l OWBonkPrizeData+(38*6)+4
|
LDA.l OWBonkPrizeTable[$26].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
++
|
++
|
||||||
LDA.l OWBonkPrizeData+(39*6)+4
|
LDA.l OWBonkPrizeTable[$27].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$74 : BNE +
|
+ CMP.w #$74 : BNE +
|
||||||
LDA.l OWBonkPrizeData+(40*6)+4
|
LDA.l OWBonkPrizeTable[$28].mw_player
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CMP.w #$81 : BNE +
|
+ CMP.w #$81 : BNE +
|
||||||
LDA HeartPiece_Zora_Player
|
LDA HeartPiece_Zora_Player
|
||||||
|
|||||||
41
owrando.asm
41
owrando.asm
@@ -1311,6 +1311,47 @@ db 0, 0, 0, 0, 0, 0, 0, 0
|
|||||||
|
|
||||||
db 0, 0
|
db 0, 0
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Bonk Prize Data ($AABB00 - $AABBF5)
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
; This table stores data relating to bonk locations for Bonk Drop Shuffle
|
||||||
|
;
|
||||||
|
; Example: We can use OWBonkPrizeTable[$09].loot to read what item is in the
|
||||||
|
; east tree on the Sanctuary screen
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
; Search Criteria - The following two fields are used as a unique index
|
||||||
|
; .owid = OW screen ID
|
||||||
|
; .yx = Y & X coordinate data *see below*
|
||||||
|
;
|
||||||
|
; .flag = OW event flag bitmask
|
||||||
|
; .loot = Loot ID
|
||||||
|
; .mw_player = Multiworld player ID
|
||||||
|
; .vert_offset = Vertical offset, # of pixels the sprite moves up when activated
|
||||||
|
;
|
||||||
|
; .yx field is a combination of both the least significant digits of the Y and X
|
||||||
|
; coordinates of the static location of the sprite located in a bonk location.
|
||||||
|
; All sprites, when initialized, are aligned by a 16 pixel increment.
|
||||||
|
; The coordinate system in LTTP is handled by two bytes:
|
||||||
|
; (high) (low)
|
||||||
|
; - - - w w w w s s s s s s s s s
|
||||||
|
; w = world absolute coords, every screen is $200 pixels in each dimension
|
||||||
|
; s = local screen coords, coords relative to the bounds of the current screen
|
||||||
|
; Because of the 16 pixel alignment of sprites, the last four bits of the coords
|
||||||
|
; are unset. This leaves 5 bits remaining, we simply disregard the highest bit
|
||||||
|
; and then combine the Y and X coords together to be used as search criteria.
|
||||||
|
; This does open the possibility of a false positive match from 3 other coords
|
||||||
|
; on the same screen (15 on megatile screens) but there are no bonk sprites that
|
||||||
|
; have collision in this regard.
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
struct OWBonkPrizeTable $AABB00
|
||||||
|
.owid: skip 1
|
||||||
|
.yx: skip 1
|
||||||
|
.flag: skip 1
|
||||||
|
.loot: skip 1
|
||||||
|
.mw_player: skip 1
|
||||||
|
.vert_offset: skip 1
|
||||||
|
endstruct align 6
|
||||||
|
|
||||||
org $aabb00 ;PC 153b00
|
org $aabb00 ;PC 153b00
|
||||||
OWBonkPrizeData:
|
OWBonkPrizeData:
|
||||||
; OWID YX Flag Item MW Offset
|
; OWID YX Flag Item MW Offset
|
||||||
|
|||||||
Reference in New Issue
Block a user