diff --git a/dungeon_map/current_room_map.asm b/dungeon_map/current_room_map.asm index 6ca618f..fb771ea 100644 --- a/dungeon_map/current_room_map.asm +++ b/dungeon_map/current_room_map.asm @@ -4,6 +4,8 @@ DrawWackyDoorRandoStuff: JSL DrawBorder + STZ.w GFXStripes + LDA.b RoomIndex AND.w #$00FF STA.l CurrentDisplayedRoom @@ -15,6 +17,7 @@ DrawCurrentSupertile: LDA.l CurrentDisplayedRoom STA.b $CA LDX.w #!CenterTile + LDY.w #$0000 JSL DrawFullRoomTile JSL ClearDoorSlotsTable @@ -33,6 +36,16 @@ DrawCurrentSupertile: STA.l DisplayedRoomDoorIndex JSL DrawConnectedRooms + + SEP #$20 + LDX.w GFXStripes + LDA.b #$FF + STA.w GFXStripes+2, X + + LDA.b #$01 + STA.b NMISTRIPES + REP #$20 + RTL ClearDoorSlotsTable: @@ -64,6 +77,58 @@ DrawFullRoomTile: PHY JSL DrawDungeonMapRoom PLY + + LDA.b $00 : PHA + LDA.b $02 : PHA + LDA.b $06 : PHA + LDA.b $0E : PHA + JSL DrawSingleRoomLoot + PLA : STA.b $0E + PLA : STA.b $06 + PLA : STA.b $02 + PLA : STA.b $00 + + RTL + +DrawSingleRoomLoot: + PHX : PHY + + TYX + + LDA.w GFXStripes + TAY + CLC : ADC.w #$0010 + STA.w GFXStripes + + LDA.l DoorSlotsBG1, X + XBA + STA.w GFXStripes+$02, Y + XBA + CLC : ADC.w #$0020 + XBA + STA.w GFXStripes+$0A, Y + + LDA.w #$0300 + STA.w GFXStripes+$04, Y + STA.w GFXStripes+$0C, Y + + LDA.b $CA + JSL CheckLoot + + ASL A : ASL A : ASL A + + TAX + + LDA.l LootTypeIcons+0, X + STA.w GFXStripes+$06, Y + LDA.l LootTypeIcons+2, X + STA.w GFXStripes+$08, Y + LDA.l LootTypeIcons+4, X + STA.w GFXStripes+$0E, Y + LDA.l LootTypeIcons+6, X + STA.w GFXStripes+$10, Y + + PLY : PLX RTL DrawConnectedRooms: @@ -763,6 +828,8 @@ DoorsMapSelectCursor: STA.l CurrentDisplayedRoom REP #$30 + STZ.w GFXStripes + JSL ClearDoorsMapBG1 JSL ClearDoorsMapBG2 JSL DrawCurrentSupertile @@ -778,6 +845,34 @@ DoorsMapSelectCursor: PLP RTL +ClearDoorsMapBG1: + LDA.w #$000B + STA.b $00 + LDA.w #$1110 + STA.b $02 + LDA.w GFXStripes + TAY + CLC : ADC.w #$0048 + STA.w GFXStripes + +.next_row + LDA.b $02 + XBA + STA.w GFXStripes+2, Y + LDA.w #$1640 + STA.w GFXStripes+4, Y + LDA.w #$0300 + STA.w GFXStripes+6, Y + + LDA.b $02 + CLC : ADC.w #$0020 + STA.b $02 + INY #6 + DEC.b $00 + BPL .next_row + + RTL + ClearDoorsMapBG2: LDX.w #$0220 LDA.w #$000B diff --git a/dungeon_map/data/doors_display.asm b/dungeon_map/data/doors_display.asm index a2b1918..56c6e9c 100644 --- a/dungeon_map/data/doors_display.asm +++ b/dungeon_map/data/doors_display.asm @@ -14,6 +14,22 @@ DoorSlotsSprites: dw $50D0, $68D0, $80D0 dw $58D0, $78D0 +DoorSlotsBG1: +; center + dw $11B5 +; north + dw $1112, $1115, $1118 + dw $1113, $1117 +; west + dw $1150, $11B0, $1210 + dw $1170, $15F0 +; south + dw $1252, $1255, $1258 + dw $1253, $1257 +; east + dw $115A, $11BA, $121A + dw $117A, $11FA + DoorSlotsBG2: ; center dw $0000 diff --git a/dungeon_map/draw_loot.asm b/dungeon_map/draw_loot.asm index fc006e8..c78b820 100644 --- a/dungeon_map/draw_loot.asm +++ b/dungeon_map/draw_loot.asm @@ -29,6 +29,12 @@ DrawLoot: LDA.b $07 STA.w $021B + LDA.l DRMode + BEQ + + LDA.l DungeonMapMode + BNE + + BRA .skip ++ REP #$30 PHX : PHY @@ -60,6 +66,7 @@ DrawLoot: STA.b NMISTRIPES PLY : PLX +.skip LDA.b #$00 RTL diff --git a/menu/door_connectors.3bpp b/menu/door_connectors.3bpp index 10af1a0..5183b3d 100644 Binary files a/menu/door_connectors.3bpp and b/menu/door_connectors.3bpp differ