diff --git a/dialog.asm b/dialog.asm index ec7c8d5..46f09b2 100644 --- a/dialog.asm +++ b/dialog.asm @@ -140,29 +140,32 @@ FreeDungeonItemNotice: LDA.l FreeItemText : BNE + : BRL .skip : + LDA #$00 : STA $7F5010 ; initialize scratch - LDA !ITEM_TEMPORARY - CMP.b #$24 : BNE + ; general small key + LDA.l FreeItemText : AND.b #$01 : CMP.b #$01 : BNE + ; show message for general small key + LDA !ITEM_TEMPORARY : CMP.b #$24 : BNE + ; general small key %CopyDialog(Notice_SmallKeyOf) LDA !OFFSET_RETURN : DEC #2 : STA !OFFSET_POINTER %CopyDialog(Notice_Self) BRL .done - + : CMP.b #$25 : BNE + ; general compass + + : LDA.l FreeItemText : AND.b #$02 : CMP.b #$02 : BNE + ; show message for general compass + LDA !ITEM_TEMPORARY : CMP.b #$25 : BNE + ; general compass %CopyDialog(Notice_CompassOf) LDA !OFFSET_RETURN : DEC #2 : STA !OFFSET_POINTER %CopyDialog(Notice_Self) BRL .done - + : CMP.b #$33 : BNE + ; general map + + : LDA.l FreeItemText : AND.b #$04 : CMP.b #$04 : BNE + ; show message for general map + LDA !ITEM_TEMPORARY : CMP.b #$33 : BNE + ; general map %CopyDialog(Notice_MapOf) LDA !OFFSET_RETURN : DEC #2 : STA !OFFSET_POINTER %CopyDialog(Notice_Self) BRL .done - + : CMP.b #$32 : BNE + ; general big key + + : LDA.l FreeItemText : AND.b #$08 : CMP.b #$08 : BNE + ; show message for general big key + LDA !ITEM_TEMPORARY : CMP.b #$32 : BNE + ; general big key %CopyDialog(Notice_BigKeyOf) LDA !OFFSET_RETURN : DEC #2 : STA !OFFSET_POINTER %CopyDialog(Notice_Self) BRL .done + - AND.b #$F0 ; looking at high bits only + LDA !ITEM_TEMPORARY : AND.b #$F0 ; looking at high bits only CMP.b #$70 : BNE + ; map of... %CopyDialog(Notice_MapOf) BRL .dungeon diff --git a/tables.asm b/tables.asm index 134c58c..33bc879 100644 --- a/tables.asm +++ b/tables.asm @@ -788,7 +788,13 @@ db #$02 ; #00 = Never Locked - #$01 = Locked During Escape (default) - #$02 = Lo ;================================================================================ org $30816A ; PC 0x18016A FreeItemText: -db #$00 ; #00 = Off (default) - #$01 = On +db #$00 ; #00 = Off (default) +;---o bmcs +;o - enabled for outside dungeon items +;b - enabled for inside big key items +;m - enabled for inside map items +;c - enabled for inside compass items +;s - enabled for inside small key items ;================================================================================ org $30816B ; PC 0x18016B - 0x18016D HardModeExclusionCaneOfByrnaUsage: