diff --git a/newitems.asm b/newitems.asm index df62be5..40f5d6f 100755 --- a/newitems.asm +++ b/newitems.asm @@ -40,6 +40,12 @@ ; #$90 - Big Keys ; #$A0 - Small Keys ; #$B0 - Bee Trap +; #$B1 - Apples +; #$B2 - Fairy +; #$B3 - Chicken +; #$B4 - Big Magic +; #$B5 - 5 Arrows +; #$B6/B7 - Reserved for Kara ; #$FE - Server Request (Asychronous Chest) ; #$FF - Null Chest ;-------------------------------------------------------------------------------- @@ -395,9 +401,43 @@ AddReceivedItemExpandedGetItem: ++ JMP .done + CMP.b #$B0 : BNE + ; Bee Trap - LDA.b #$79 : JSL Sprite_SpawnDynamically : BMI + ; DashBeeHive_SpawnBee - LDA $22 : STA $0D10, Y : LDA $23 : STA $0D30, Y ; from enemizer's Spawn_Bees + LDA.b #$79 : JSL Sprite_SpawnDynamically : BMI ++ ; DashBeeHive_SpawnBee + LDA $22 : CLC : ADC.b #$07 : AND.b #$F0 : STA $0D10,Y + LDA $23 : ADC.b #$00 : STA $0D30,Y ; round X to nearest 16 LDA $20 : STA $0D00, Y : LDA $21 : STA $0D20, Y + LDA.b $EE : STA.w $0F20,Y ; spawns on same layer as link + ++ JMP .done + + CMP.b #$B1 : BNE + ; Apples + LDA.b #$AC : JSL Sprite_SpawnDynamically : BMI ++ + LDA $22 : CLC : ADC.b #$07 : AND.b #$F0 : STA $0D10,Y + LDA $23 : ADC.b #$00 : STA $0D30,Y ; round X to nearest 16 + LDA.b $20 : SEC : SBC.b #$10 : STA.w $0D00,Y + LDA.b $21 : SBC.b #$00 : STA.w $0D20,Y ; move up 16 pixels + LDA.b $EE : STA.w $0F20,Y ; spawns on same layer as link + LDA.b #$FF : STA.w $0B58,Y ; allows them to expire + ++ BRA .done + + CMP.b #$B2 : BNE + ; Fairy + LDA.b #$E3 : JSL Sprite_SpawnDynamically : BMI .done + LDA $22 : CLC : ADC.b #$07 : AND.b #$F0 : STA $0D10,Y + LDA $23 : ADC.b #$00 : STA $0D30,Y ; round X to nearest 16 + LDA.b $20 : SEC : SBC.b #$10 : STA.w $0D00,Y + LDA.b $21 : SBC.b #$00 : STA.w $0D20,Y ; move up 16 pixels + LDA.b $EE : STA.w $0F20,Y ; spawns on same layer as link + LDA.b #$FF : STA.w $0B58,Y ; allows them to expire + BRA .done + + CMP.b #$B3 : BNE + ; Chicken + LDA.b #$0B : JSL Sprite_SpawnDynamically : BMI .done + LDA $22 : CLC : ADC.b #$07 : AND.b #$F0 : STA $0D10,Y + LDA $23 : ADC.b #$00 : STA $0D30,Y ; round X to nearest 16 + LDA.b $20 : SEC : SBC.b #$08 : STA.w $0D00,Y + LDA.b $21 : SBC.b #$00 : STA.w $0D20,Y ; move up 8 pixels + BRA .done + + CMP.b #$B4 : BNE + ; Big Magic + LDA.b #$80 : STA MagicFiller ; fill magic + BRA .done + + CMP.b #$B3 : BNE + ; 5 Arrows + LDA.b #$05 : STA ArrowsFiller ; add 5 arrows + BRA .done + .done PLX @@ -590,7 +630,12 @@ org $A08800 db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Free Big Key db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Free Small Key db -4 ; Bee Trap - db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused + db -4 ; Apples + db -4 ; Fairy + db -4 ; Chicken + db -4 ; Big Magic + db -4 ; 5 Arrows + db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused @@ -631,7 +676,12 @@ org $A08800 ;db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; *EVENT* db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Small Key db 0 ; Bee Trap - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused + db 0 ; Apples + db 0 ; Fairy + db 0 ; Chicken + db 4 ; Big Magic + db 0 ; 5 Arrows + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused @@ -677,7 +727,12 @@ org $A08800 ;db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; *EVENT* db $47 ; Bee Trap - db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused + db $47 ; Apples + db $47 ; Fairy + db $47 ; Chicken + db $3B ; Big Magic + db $02 ; 5 Arrows + db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused @@ -717,8 +772,13 @@ org $A08800 db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Free Big Key db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; Free Small Key db $02 ; Bee Trap + db $02 ; Apples + db $02 ; Fairy + db $02 ; Chicken + db $00 ; Big Magic + db $02 ; 5 Arrows - db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused + db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused @@ -759,7 +819,12 @@ org $A08800 db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Big Key db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Small Key db 1 ; Bee Trap - db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused + db 1 ; Apples + db 1 ; Fairy + db 1 ; Chicken + db 4 ; Big Magic + db 2 ; 5 Arrows + db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused @@ -801,7 +866,12 @@ org $A08800 dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Free Big Key dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Free Small Key dw $F36A ; Bee Trap - dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused + dw $F36A ; Apples + dw $F36A ; Fairy + dw $F36A ; Chicken + dw $F373 ; Big Magic + dw $F376 ; 5 Arrows + dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused @@ -845,7 +915,12 @@ org $A08800 db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Free Big Key db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Free Small Key db $FF ; Bee Trap - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused + db $FF ; Apples + db $FF ; Fairy + db $FF ; Chicken + db $80 ; Big Magic + db $05 ; 5 Arrows + db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused @@ -931,7 +1006,12 @@ Link_ReceiveItemAlternatesExpanded: db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Free Big Key db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Free Small Key db -1 ; Bee Trap - db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused + db -1 ; Apples + db -1 ; Fairy + db -1 ; Chicken + db -1 ; Big Magic + db -1 ; 5 Arrows + db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused diff --git a/utilities.asm b/utilities.asm index 988fd5e..1a110d2 100644 --- a/utilities.asm +++ b/utilities.asm @@ -153,8 +153,15 @@ RTL ;Ax db $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F ; Free Small Key + ;Bx db $2C ; Bee Trap - db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused + db $4A ; Apples + db $4A ; Fairy + db $4A ; Chicken + db $3B ; Big Magic + db $02 ; 5 Arrows + db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused + db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused @@ -284,7 +291,12 @@ RTL db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Big Key db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Small Key db $04 ; Bee Trap - db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused + db $08 ; Apples + db $08 ; Fairy + db $08 ; Chicken + db $08 ; Big Magic + db $04 ; 5 Arrows + db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused @@ -375,7 +387,7 @@ RTL db $15, $18, $24, $2A, $34, $35, $36, $42 db $43, $45, $59, $A0, $A1, $A2, $A3, $A4 db $A5, $A6, $A7, $A8, $A9, $AA, $AB, $AC - db $AD, $AE, $AF, $FF, $FF, $FF, $FF, $FF + db $AD, $AE, $AF, $B4, $FF, $FF, $FF, $FF } ;--------------------------------------------------------------------------------