diff --git a/2waymirror.asm b/2waymirror.asm new file mode 100644 index 0000000..79741a1 --- /dev/null +++ b/2waymirror.asm @@ -0,0 +1,18 @@ +pushpc + +org $8DF7F1 +dw $2C62, $2C63, $2C72, $2C73 ; Mirror +dw $2C62, $2C63, $2C72, $2D11 ; 2-Way Mirror + +org $87A93F +JSL.l CheckMirrorWorld + +pullpc + +CheckMirrorWorld: + LDA.l MirrorEquipment + DEC + BNE + + LDA.b $8A + AND.b #$40 ++ RTL diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 4d23e2e..6e51a8e 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -164,6 +164,7 @@ incsrc switches.asm incsrc zoom_on_carry.asm incsrc iframes.asm incsrc improve_items.asm +incsrc 2waymirror.asm warnpc $A58000 org $A28000 diff --git a/data/c2807_v4.bin b/data/c2807_v4.bin index cf00c27..0d46211 100644 Binary files a/data/c2807_v4.bin and b/data/c2807_v4.bin differ diff --git a/data/c2807_v4.gfx b/data/c2807_v4.gfx index 61ba628..eefff63 100644 Binary files a/data/c2807_v4.gfx and b/data/c2807_v4.gfx differ diff --git a/fileselect.asm b/fileselect.asm index b08696d..18678d4 100644 --- a/fileselect.asm +++ b/fileselect.asm @@ -299,7 +299,15 @@ DrawPlayerFileShared: %fs_drawItemBasic(EquipmentSRAM+$12,9,18,FileSelectItems_cape) ; Mirror - %fs_drawItemBasic(EquipmentSRAM+$13,9,20,FileSelectItems_mirror) + LDA.l EquipmentSRAM+$13 : AND.w #$00FF : BNE + + %fs_drawItemGray(9,20,FileSelectItems_mirror) + BRA ++ + + : DEC : BNE + + %fs_drawItem(9,20,FileSelectItems_mirror) + BRA ++ + + + %fs_drawItem(9,20,FileSelectItems_mirror_2) + ++ ; Bottles %fs_drawBottle(EquipmentSRAM+$1C,3,23) @@ -546,6 +554,8 @@ FileSelectItems: dw #$0288|!FS_COLOR_RED, #$0289|!FS_COLOR_RED, #$0298|!FS_COLOR_RED, #$0299|!FS_COLOR_RED .mirror dw #$028A|!FS_COLOR_BLUE, #$028B|!FS_COLOR_BLUE, #$029A|!FS_COLOR_BLUE, #$029B|!FS_COLOR_BLUE + .mirror_2 + dw #$028A|!FS_COLOR_BLUE, #$028B|!FS_COLOR_BLUE, #$029A|!FS_COLOR_BLUE, #$02E2|!FS_COLOR_BLUE .flippers dw #$024E|!FS_COLOR_BLUE, #$024F|!FS_COLOR_BLUE, #$025F|!FS_COLOR_BLUE|!FS_HFLIP, #$025F|!FS_COLOR_BLUE diff --git a/itemdatatables.asm b/itemdatatables.asm index bf1f205..54564d8 100644 --- a/itemdatatables.asm +++ b/itemdatatables.asm @@ -162,7 +162,7 @@ endmacro %ReceiptProps($17, -4, 0, $2F, $F36B, $FF, skip, skip) ; 17 - Heart piece %ReceiptProps($18, -4, 4, $07, $F351, $FF, magic_item, skip) ; 18 - Byrna %ReceiptProps($19, -4, 0, $15, $F352, $FF, magic_item, skip) ; 19 - Cape -%ReceiptProps($1A, -4, 0, $12, $F353, $02, skip, skip) ; 1A - Mirror +%ReceiptProps($1A, -4, 0, $12, $F353, $FF, mirror, skip) ; 1A - Mirror %ReceiptProps($1B, -4, 0, $0D, $F354, $02, skip, skip) ; 1B - Glove %ReceiptProps($1C, -4, 0, $0D, $F354, $03, skip, skip) ; 1C - Mitts %ReceiptProps($1D, -4, 0, $0E, $F34E, $01, skip, skip) ; 1D - Book diff --git a/newitems.asm b/newitems.asm index 6a77bda..28a3fcf 100644 --- a/newitems.asm +++ b/newitems.asm @@ -361,7 +361,6 @@ ItemBehavior: RTS .magic_item - print pc LDA.b #$7E STA.b $02 REP #$30 @@ -376,6 +375,12 @@ ItemBehavior: + RTS + .mirror + LDA.l MirrorEquipment : CMP.b #$02 : !BGE + + INC : STA.l MirrorEquipment ; upgrade mirror + + + RTS + .magic_2 LDA.l MagicConsumption : CMP.b #$02 : !BGE + INC : STA.l MagicConsumption ; upgrade magic