Added struct for OW Bonk Prize data table
This commit is contained in:
171
heartpieces.asm
171
heartpieces.asm
@@ -289,7 +289,7 @@ LoadOutdoorValue:
|
||||
REP #$20 ; set 16-bit accumulator
|
||||
LDA $8A
|
||||
CMP.w #$00 : BNE +
|
||||
LDA.l OWBonkPrizeData+(0*6)+3
|
||||
LDA.l OWBonkPrizeTable[$00].loot
|
||||
JMP .done
|
||||
+ CMP.w #$03 : BNE +
|
||||
LDA $22 : CMP.w #1890 : !BLT ++
|
||||
@@ -300,90 +300,90 @@ LoadOutdoorValue:
|
||||
JMP .done
|
||||
+ CMP.w #$05 : 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
|
||||
++
|
||||
%GetPossiblyEncryptedItem(HeartPiece_Mountain_Warp, HeartPieceOutdoorValues)
|
||||
JMP .done
|
||||
+ CMP.w #$0A : 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
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(3*6)+3
|
||||
LDA.l OWBonkPrizeTable[$03].loot
|
||||
JMP .done
|
||||
+ CMP.w #$10 : 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
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(5*6)+3
|
||||
LDA.l OWBonkPrizeTable[$05].loot
|
||||
JMP .done
|
||||
+ CMP.w #$11 : BNE +
|
||||
LDA.l OWBonkPrizeData+(6*6)+3
|
||||
LDA.l OWBonkPrizeTable[$06].loot
|
||||
JMP .done
|
||||
+ CMP.w #$12 : BNE +
|
||||
LDA.l OWBonkPrizeData+(7*6)+3
|
||||
LDA.l OWBonkPrizeTable[$07].loot
|
||||
JMP .done
|
||||
+ CMP.w #$13 : 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
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(9*6)+3
|
||||
LDA.l OWBonkPrizeTable[$09].loot
|
||||
JMP .done
|
||||
+ CMP.w #$15 : 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
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(11*6)+3
|
||||
LDA.l OWBonkPrizeTable[$0B].loot
|
||||
JMP .done
|
||||
+ CMP.w #$18 : 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
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(13*6)+3
|
||||
LDA.l OWBonkPrizeTable[$0D].loot
|
||||
JMP .done
|
||||
+ CMP.w #$1A : 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
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(15*6)+3
|
||||
LDA.l OWBonkPrizeTable[$0F].loot
|
||||
JMP .done
|
||||
+ CMP.w #$1B : BNE +
|
||||
LDA.l OWBonkPrizeData+(16*6)+3
|
||||
LDA.l OWBonkPrizeTable[$10].loot
|
||||
JMP .done
|
||||
+ CMP.w #$1D : BNE +
|
||||
LDA.l OWBonkPrizeData+(17*6)+3
|
||||
LDA.l OWBonkPrizeTable[$11].loot
|
||||
JMP .done
|
||||
+ CMP.w #$1E : BNE +
|
||||
LDA.l OWBonkPrizeData+(18*6)+3
|
||||
LDA.l OWBonkPrizeTable[$12].loot
|
||||
JMP .done
|
||||
+ CMP.w #$28 : BNE +
|
||||
%GetPossiblyEncryptedItem(HeartPiece_Maze, HeartPieceOutdoorValues)
|
||||
JMP .done
|
||||
+ CMP.w #$2A : 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
|
||||
++ CMP.w #$0008 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(20*6)+3
|
||||
LDA.l OWBonkPrizeTable[$14].loot
|
||||
JMP .done
|
||||
++
|
||||
%GetPossiblyEncryptedItem(HauntedGroveItem, HeartPieceOutdoorValues)
|
||||
JMP .done
|
||||
+ CMP.w #$2B : BNE +
|
||||
LDA.l OWBonkPrizeData+(21*6)+3
|
||||
LDA.l OWBonkPrizeTable[$15].loot
|
||||
JMP .done
|
||||
+ CMP.w #$2E : 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
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(23*6)+3
|
||||
LDA.l OWBonkPrizeTable[$17].loot
|
||||
JMP .done
|
||||
+ CMP.w #$30 : BNE +
|
||||
LDA $22 : CMP.w #512 : !BGE ++
|
||||
@@ -394,10 +394,10 @@ LoadOutdoorValue:
|
||||
JMP .done
|
||||
+ CMP.w #$32 : 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
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(25*6)+3
|
||||
LDA.l OWBonkPrizeTable[$19].loot
|
||||
JMP .done
|
||||
+ CMP.w #$35 : BNE +
|
||||
%GetPossiblyEncryptedItem(HeartPiece_Lake, HeartPieceOutdoorValues)
|
||||
@@ -407,7 +407,7 @@ LoadOutdoorValue:
|
||||
JMP .done
|
||||
+ CMP.w #$42 : 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
|
||||
++
|
||||
%GetPossiblyEncryptedItem(HeartPiece_Cliffside, HeartPieceOutdoorValues)
|
||||
@@ -417,56 +417,56 @@ LoadOutdoorValue:
|
||||
JMP .done
|
||||
+ CMP.w #$51 : 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
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(28*6)+3
|
||||
LDA.l OWBonkPrizeTable[$1C].loot
|
||||
JMP .done
|
||||
+ CMP.w #$54 : 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
|
||||
++ CMP.w #$0008 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(30*6)+3
|
||||
LDA.l OWBonkPrizeTable[$1E].loot
|
||||
JMP .done
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(31*6)+3
|
||||
LDA.l OWBonkPrizeTable[$1F].loot
|
||||
JMP .done
|
||||
+ CMP.w #$55 : 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
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(33*6)+3
|
||||
LDA.l OWBonkPrizeTable[$21].loot
|
||||
JMP .done
|
||||
+ CMP.w #$56 : BNE +
|
||||
LDA.l OWBonkPrizeData+(34*6)+3
|
||||
LDA.l OWBonkPrizeTable[$22].loot
|
||||
JMP .done
|
||||
+ CMP.w #$5B : 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
|
||||
++
|
||||
%GetPossiblyEncryptedItem(HeartPiece_Pyramid, HeartPieceOutdoorValues)
|
||||
JMP .done
|
||||
+ CMP.w #$5E : BNE +
|
||||
LDA.l OWBonkPrizeData+(36*6)+3
|
||||
LDA.l OWBonkPrizeTable[$24].loot
|
||||
JMP .done
|
||||
+ CMP.w #$68 : BNE +
|
||||
%GetPossiblyEncryptedItem(HeartPiece_Digging, HeartPieceOutdoorValues)
|
||||
JMP .done
|
||||
+ CMP.w #$6E : 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
|
||||
++ CMP.w #$0008 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(38*6)+3
|
||||
LDA.l OWBonkPrizeTable[$26].loot
|
||||
JMP .done
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(39*6)+3
|
||||
LDA.l OWBonkPrizeTable[$27].loot
|
||||
JMP .done
|
||||
+ CMP.w #$74 : BNE +
|
||||
LDA.l OWBonkPrizeData+(40*6)+3
|
||||
LDA.l OWBonkPrizeTable[$28].loot
|
||||
JMP .done
|
||||
+ CMP.w #$81 : BNE +
|
||||
%GetPossiblyEncryptedItem(HeartPiece_Zora, HeartPieceOutdoorValues)
|
||||
@@ -647,7 +647,7 @@ HeartPieceGetPlayer:
|
||||
REP #$20 ; set 16-bit accumulator
|
||||
LDA $8A
|
||||
CMP.w #$00 : BNE +
|
||||
LDA.l OWBonkPrizeData+(0*6)+4
|
||||
LDA.l OWBonkPrizeTable[$00].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$03 : BNE +
|
||||
LDA $22 : CMP.w #1890 : !BLT ++
|
||||
@@ -658,97 +658,90 @@ HeartPieceGetPlayer:
|
||||
BRL .done
|
||||
+ CMP.w #$05 : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(1*6)+4
|
||||
LDA.l OWBonkPrizeTable[$01].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA HeartPiece_Mountain_Warp_Player
|
||||
BRL .done
|
||||
+ CMP.w #$0A : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(2*6)+4
|
||||
LDA.l OWBonkPrizeTable[$02].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(3*6)+4
|
||||
LDA.l OWBonkPrizeTable[$03].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$10 : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(4*6)+4
|
||||
LDA.l OWBonkPrizeTable[$04].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(5*6)+4
|
||||
LDA.l OWBonkPrizeTable[$05].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$11 : BNE +
|
||||
LDA.l OWBonkPrizeData+(6*6)+4
|
||||
LDA.l OWBonkPrizeTable[$06].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$12 : BNE +
|
||||
LDA.l OWBonkPrizeData+(7*6)+4
|
||||
LDA.l OWBonkPrizeTable[$07].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$13 : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(8*6)+4
|
||||
LDA.l OWBonkPrizeTable[$08].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(9*6)+4
|
||||
LDA.l OWBonkPrizeTable[$09].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$15 : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(10*6)+4
|
||||
LDA.l OWBonkPrizeTable[$0A].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(11*6)+4
|
||||
LDA.l OWBonkPrizeTable[$0B].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$18 : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(12*6)+4
|
||||
LDA.l OWBonkPrizeTable[$0C].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(13*6)+4
|
||||
LDA.l OWBonkPrizeTable[$0D].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$1A : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(14*6)+4
|
||||
LDA.l OWBonkPrizeTable[$0E].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(15*6)+4
|
||||
LDA.l OWBonkPrizeTable[$0F].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$1B : BNE +
|
||||
LDA.l OWBonkPrizeData+(16*6)+4
|
||||
LDA.l OWBonkPrizeTable[$10].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$1D : BNE +
|
||||
LDA.l OWBonkPrizeData+(17*6)+4
|
||||
LDA.l OWBonkPrizeTable[$11].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$1E : BNE +
|
||||
LDA.l OWBonkPrizeData+(18*6)+4
|
||||
LDA.l OWBonkPrizeTable[$12].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$28 : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(19*6)+4
|
||||
BRL .done
|
||||
++ CMP.w #$0008 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(20*6)+4
|
||||
BRL .done
|
||||
++
|
||||
LDA HeartPiece_Maze_Player
|
||||
BRL .done
|
||||
+ CMP.w #$2A : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(19*6)+4
|
||||
LDA.l OWBonkPrizeTable[$13].mw_player
|
||||
BRL .done
|
||||
++ CMP.w #$0008 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(20*6)+4
|
||||
LDA.l OWBonkPrizeTable[$14].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA HauntedGroveItem_Player
|
||||
BRL .done
|
||||
+ CMP.w #$2B : BNE +
|
||||
LDA.l OWBonkPrizeData+(21*6)+4
|
||||
LDA.l OWBonkPrizeTable[$15].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$2E : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(22*6)+4
|
||||
LDA.l OWBonkPrizeTable[$16].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(23*6)+4
|
||||
LDA.l OWBonkPrizeTable[$17].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$30 : BNE +
|
||||
LDA $22 : CMP.w #512 : !BGE ++
|
||||
@@ -759,10 +752,10 @@ HeartPieceGetPlayer:
|
||||
BRL .done
|
||||
+ CMP.w #$32 : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(24*6)+4
|
||||
LDA.l OWBonkPrizeTable[$18].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(25*6)+4
|
||||
LDA.l OWBonkPrizeTable[$19].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$35 : BNE +
|
||||
LDA HeartPiece_Lake_Player
|
||||
@@ -772,7 +765,7 @@ HeartPieceGetPlayer:
|
||||
BRL .done
|
||||
+ CMP.w #$42 : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(26*6)+4
|
||||
LDA.l OWBonkPrizeTable[$1A].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA HeartPiece_Cliffside_Player
|
||||
@@ -782,56 +775,56 @@ HeartPieceGetPlayer:
|
||||
BRL .done
|
||||
+ CMP.w #$51 : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(27*6)+4
|
||||
LDA.l OWBonkPrizeTable[$1B].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(28*6)+4
|
||||
LDA.l OWBonkPrizeTable[$1C].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$54 : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(29*6)+4
|
||||
LDA.l OWBonkPrizeTable[$1D].mw_player
|
||||
BRL .done
|
||||
++ CMP.w #$0008 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(30*6)+4
|
||||
LDA.l OWBonkPrizeTable[$1E].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(31*6)+4
|
||||
LDA.l OWBonkPrizeTable[$1F].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$55 : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(32*6)+4
|
||||
LDA.l OWBonkPrizeTable[$20].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(33*6)+4
|
||||
LDA.l OWBonkPrizeTable[$21].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$56 : BNE +
|
||||
LDA.l OWBonkPrizeData+(34*6)+4
|
||||
LDA.l OWBonkPrizeTable[$22].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$5B : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(35*6)+4
|
||||
LDA.l OWBonkPrizeTable[$23].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA HeartPiece_Pyramid_Player
|
||||
BRL .done
|
||||
+ CMP.w #$5E : BNE +
|
||||
LDA.l OWBonkPrizeData+(36*6)+4
|
||||
LDA.l OWBonkPrizeTable[$24].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$68 : BNE +
|
||||
LDA HeartPiece_Digging_Player
|
||||
BRL .done
|
||||
+ CMP.w #$6E : BNE +
|
||||
LDA.w $0ED0,X : CMP.w #$0010 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(37*6)+4
|
||||
LDA.l OWBonkPrizeTable[$25].mw_player
|
||||
BRL .done
|
||||
++ CMP.w #$0008 : BNE ++
|
||||
LDA.l OWBonkPrizeData+(38*6)+4
|
||||
LDA.l OWBonkPrizeTable[$26].mw_player
|
||||
BRL .done
|
||||
++
|
||||
LDA.l OWBonkPrizeData+(39*6)+4
|
||||
LDA.l OWBonkPrizeTable[$27].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$74 : BNE +
|
||||
LDA.l OWBonkPrizeData+(40*6)+4
|
||||
LDA.l OWBonkPrizeTable[$28].mw_player
|
||||
BRL .done
|
||||
+ CMP.w #$81 : BNE +
|
||||
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
|
||||
|
||||
;================================================================================
|
||||
; 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
|
||||
OWBonkPrizeData:
|
||||
; OWID YX Flag Item MW Offset
|
||||
|
||||
Reference in New Issue
Block a user