diff --git a/dungeon_map/current_room_map.asm b/dungeon_map/current_room_map.asm index 91625b3..79d9e17 100644 --- a/dungeon_map/current_room_map.asm +++ b/dungeon_map/current_room_map.asm @@ -1,8 +1,10 @@ -!CenterTile = $036A +!CenterTile = $026A !ConnectorPalette = $1000 +!DoorSlotCount = 25 DrawWackyDoorRandoStuff: - JSL DrawBorder + JSL DrawTopAreaBorder + JSL DrawBottomAreaBorder STZ.w GFXStripes @@ -49,7 +51,7 @@ DrawCurrentSupertile: RTL ClearDoorSlotsTable: - LDX.w #$0028 + LDX.w #2*!DoorSlotCount-2 LDA.w #$FF0F - STA.l DoorSlots, X DEX : DEX @@ -193,6 +195,9 @@ DrawConnectedRooms: CMP.w #$0004 BCC .next_side + JSR DrawStairs + JSR DrawDropOrWarp + PLB RTL @@ -472,6 +477,129 @@ DrawSide: PLX RTS +DrawStairs: + PHX + LDA.l CurrentDisplayedRoom + TAX + LDA.w SpiralPropsIndex, X + AND.w #$00FF + TAY + LDA.l SpiralOffset, X + AND.w #$00FF + ASL A : ASL A + STA.b $00 + + LDA.w SpiralProps, Y + AND.w #$00FF + STA.b $06 + BEQ .done + + STZ.b $02 + INY + +.next_room + LDA.w SpiralProps, Y + AND.w #$00FF + ASL A : ASL A + CLC : ADC.b $00 + TAX + + PHY + LDA.b $02 + CLC : ADC.w #$0015 + ASL A + TAY + + LDA.l SpiralTable, X + AND.w #$00FF + TYX + STA.l DoorSlots, X + STA.b $CA + + LDA.w DoorSlotsBG2, Y + CLC : ADC.w #!CenterTile + TAX + + LDA.b $02 + ASL A + CLC : ADC.w #$0DF0 + STA.l $7F0000-$40, X + INC A + STA.l $7F0002-$40, X + JSL DrawFullRoomTile + PLY + + INY : INY + INC.b $02 + DEC.b $06 + BNE .next_room + +.done + PLX + RTS + +DrawDropOrWarp: + PHX + LDA.l CurrentDisplayedRoom + STA.b $00 + + LDX.w #$0000 +.check_next_drop + LDA.l FallTable, X + AND.w #$00FF + CMP.w #$00FF + BEQ .no_drop + CMP.b $00 + BEQ .found_drop + INX : INX + BRA .check_next_drop + +.no_drop + LDX.w #$0000 +.check_next_warp + LDA.l WarpTable, X + AND.w #$00FF + CMP.w #$00FF + BEQ .done + CMP.b $00 + BEQ .found_warp + INX : INX + BRA .check_next_warp + +.found_drop + LDA.w #$0DE0 + STA.l $7F0574 + INC A + STA.l $7F0576 + LDA.l FallTable+1, X + AND.w #$00FF + BRA .draw_room + +.found_warp + LDA.w #$0DE2 + STA.l $7F0574 + INC A + STA.l $7F0576 + LDA.l WarpTable+1, X + AND.w #$00FF + +.draw_room + PHY + LDX.w #$0030 + TXY + STA.l DoorSlots, X + STA.b $CA + + LDA.w DoorSlotsBG2, X + CLC : ADC.w #!CenterTile + TAX + + JSL DrawFullRoomTile + PLY + +.done + PLX + RTS DrawSingleConnectedRoom: AND.w #$00FF @@ -722,31 +850,78 @@ DrawSouthConnectors: PLX RTS -DrawBorder: +DrawTopAreaBorder: LDA.w #$0F19 - STA.l $7F01DE + STA.l $7F00DE LDA.w #$4F19 - STA.l $7F01F8 + STA.l $7F00F8 LDA.w #$8F19 - STA.l $7F051E + STA.l $7F041E LDA.w #$CF19 - STA.l $7F0538 + STA.l $7F0438 LDX.w #$0016 - LDA.w #$0F1A - STA.l $7F01E0, X + STA.l $7F00E0, X LDA.w #$8F1A - STA.l $7F0520, X + STA.l $7F0420, X DEX : DEX BPL - LDX.w #$02C0 - LDA.w #$0F1B - STA.l $7F021E, X + STA.l $7F011E, X LDA.w #$4F1B - STA.l $7F0238, X + STA.l $7F0138, X + TXA + SEC : SBC.w #$0040 + TAX + BPL - + + RTL + +DrawBottomAreaBorder: + LDA.w #$0DE4 + STA.l $7F055E + STA.l $7F0572 + LDA.w #$4DE4 + STA.l $7F0570 + STA.l $7F0578 + LDA.w #$8DE4 + STA.l $7F061E + STA.l $7F0632 + LDA.w #$CDE4 + STA.l $7F0630 + STA.l $7F0638 + + LDX.w #$000E +- + LDA.w #$0DE5 + STA.l $7F0560, X + LDA.w #$8DE5 + STA.l $7F0620, X + DEX : DEX + BPL - + + LDX.w #$0002 +- + LDA.w #$0DE5 + STA.l $7F0574, X + LDA.w #$8DE5 + STA.l $7F0634, X + DEX : DEX + BPL - + + LDX.w #$0040 +- + LDA.w #$0DE6 + STA.l $7F059E, X + STA.l $7F05B2, X + LDA.w #$4DE6 + STA.l $7F05B0, X + STA.l $7F05B8, X TXA SEC : SBC.w #$0040 TAX @@ -830,6 +1005,7 @@ DrawDoorsMapSprites: BNE + JSR DrawDoorsMapBlinker + + JSR DrawDoorsStairs JSR DrawDoorsMapCursor REP #$20 @@ -868,7 +1044,7 @@ DrawDoorsMapBlinker: AND.w #$01E0 ASL A : ASL A : ASL A XBA - CLC : ADC.w #$0064 + CLC : ADC.w #$0044 STA.w OAMBuffer+1, X SEP #$20 @@ -891,7 +1067,7 @@ DrawDoorsMapBossRoom: LDA.l DungeonMapBossRooms, X STA.b $0E - LDX.b #$28 + LDX.b #!DoorSlotCount*2-2 - LDA.l DoorSlots, X AND.w #$00FF @@ -939,7 +1115,7 @@ DrawDoorsMapBossIcon: TAY REP #$20 - LDA.w #$3048 + LDA.w #$4830 STA.w OAMBuffer, Y LDA.w #$3103 @@ -1038,7 +1214,7 @@ MoveDoorsMapCursor: BNE .from_end .from_start - AND.b #$03 + AND.b #$0F TAX LDA.l NextCursorSpecial_start_direction, X STA.b $00 @@ -1046,7 +1222,7 @@ MoveDoorsMapCursor: BRA .easy .from_end - AND.b #$03 + AND.b #$0F TAX LDA.l NextCursorSpecial_end_direction, X STA.b $00 @@ -1111,11 +1287,11 @@ DoorsMapSelectCursor: ClearDoorsMapBG1: LDA.w #$000B STA.b $00 - LDA.w #$1110 + LDA.w #$1090 STA.b $02 LDA.w GFXStripes TAY - CLC : ADC.w #$0048 + CLC : ADC.w #$0054 STA.w GFXStripes .next_row @@ -1134,19 +1310,30 @@ ClearDoorsMapBG1: DEC.b $00 BPL .next_row + LDA.w #$D012 + STA.w GFXStripes+2, Y + LDA.w #$F012 + STA.w GFXStripes+8, Y + LDA.w #$1640 + STA.w GFXStripes+4, Y + STA.w GFXStripes+10, Y + LDA.w #$0300 + STA.w GFXStripes+6, Y + STA.w GFXStripes+12, Y RTL ClearDoorsMapBG2: - LDX.w #$0220 +; main area + LDX.w #$0120 LDA.w #$000B STA.b $00 STA.b $02 LDA.w #$0300 -.next +.next_main STA.l $7F0000, X INX : INX DEC.b $02 - BPL .next + BPL .next_main LDA.w #$000B STA.b $02 @@ -1156,6 +1343,79 @@ ClearDoorsMapBG2: LDA.w #$0300 DEC.b $00 - BPL .next + BPL .next_main + +; stairs area + LDX.w #$0560 + LDA.w #$0007 + STA.b $02 +.next_stairs + LDA.w #$0DE5 + STA.l $7F0000, X + LDA.w #$0300 + STA.l $7F0040, X + STA.l $7F0080, X + INX : INX + DEC.b $02 + BPL .next_stairs + +; drop area + LDX.w #$0574 + LDA.w #$0DE5 + STA.l $7F0574 + STA.l $7F0576 + LDA.w #$0300 + STA.l $7F05B4 + STA.l $7F05B6 + STA.l $7F05F4 + STA.l $7F05F6 RTL + +DrawDoorsStairs: + LDA.l CurrentDisplayedRoom + TAX + LDA.l SpiralPropsIndex, X + TAX + LDA.l SpiralProps, X + STA.b $0E + STZ.b $0F + BEQ .done + +.next_sprite + LDY.b $00 + LDA.b #$00 + STA.w OAMBufferAux, Y + TYA + ASL A : ASL A + TAY + + INX : INX + LDA.l SpiralProps, X + + PHX + ASL A + TAX + + LDA.l DoorSlotsSprites + CLC : ADC.l SpiralLabelOffsets, X + STA.w OAMBuffer, Y + + LDA.l DoorSlotsSprites+1 + CLC : ADC.l SpiralLabelOffsets+1, X + STA.w OAMBuffer+1, Y + PLX + + LDA.b #$39 + CLC : ADC.b $0F + STA.w OAMBuffer+2, Y + + LDA.b #$33 + STA.w OAMBuffer+3, Y + INC.b $00 + INC.b $0F + DEC.b $0E + BNE .next_sprite + +.done + RTS diff --git a/dungeon_map/data/doors_display.asm b/dungeon_map/data/doors_display.asm index f29ca91..8e90dca 100644 --- a/dungeon_map/data/doors_display.asm +++ b/dungeon_map/data/doors_display.asm @@ -1,34 +1,42 @@ DoorSlotsSprites: ; center - dw $68A8 + dw $48A8 ; north - dw $4090, $40A8, $40C0 - dw $4098, $40B8 + dw $2090, $20A8, $20C0 + dw $2098, $20B8 ; west - dw $5080, $6880, $8080 - dw $5880, $7880 + dw $3080, $4880, $6080 + dw $3880, $5880 ; south - dw $9090, $90A8, $90C0 - dw $9098, $90B8 + dw $7090, $70A8, $70C0 + dw $7098, $70B8 ; east - dw $50D0, $68D0, $80D0 - dw $58D0, $78D0 + dw $30D0, $48D0, $60D0 + dw $38D0, $58D0 +; stairs + dw $B080, $B098, $B0B0 +; drop/warp + dw $B0D0 DoorSlotsBG1: ; center - dw $11B5 + dw $1135 ; north - dw $1112, $1115, $1118 - dw $1113, $1117 + dw $1092, $1095, $1098 + dw $1093, $1097 ; west - dw $1150, $11B0, $1210 - dw $1170, $15F0 + dw $10D0, $1130, $1190 + dw $10F0, $1170 ; south - dw $1252, $1255, $1258 - dw $1253, $1257 + dw $11D2, $11D5, $11D8 + dw $11D3, $11D7 ; east - dw $115A, $11BA, $121A - dw $117A, $11FA + dw $10DA, $113A, $119A + dw $10FA, $117A +; stairs + dw $12D0, $12D3, $12D6 +; drop/warp + dw $12DA DoorSlotsBG2: ; center @@ -45,6 +53,10 @@ DoorSlotsBG2: ; east dw $FF4A, $000A, $00CA dw $FF8A, $008A +; stairs + dw $0336, $033C, $0342 +; drop/warp + dw $034A DoorSlotSides: db $02, $0C, $16, $20 @@ -68,34 +80,40 @@ NextCursorSlot: db $06, $FF, $07, $00 db $07, $FF, $08, $00 ; bottom - db $00, $E1, $FF, $0E - db $00, $0E, $FF, $0F - db $00, $0F, $FF, $E3 - db $00, $0B, $FF, $0C - db $00, $0C, $FF, $0D + db $00, $E1, $C4, $0E + db $00, $0E, $C4, $0F + db $00, $0F, $C4, $E3 + db $00, $0B, $C4, $0C + db $00, $0C, $C4, $0D ; right db $E0, $00, $13, $FF db $13, $00, $14, $FF db $14, $00, $E2, $FF db $10, $00, $11, $FF db $11, $00, $12, $FF +; stairs + db $C2, $E1, $FF, $16 + db $C2, $15, $FF, $17 + db $C2, $16, $FF, $18 +; drop/warp + db $C2, $17, $FF, $E3 NextCursorSpecial: .center db $02, $04, $05, $01, $03, $FF db $07, $09, $0A, $06, $08, $FF - db $0C, $0E, $0F, $0B, $0D, $FF + db $0C, $0E, $0F, $0B, $0D, $15, $16, $17, $18, $FF db $11, $13, $14, $10, $12, $FF .center_offset - db $00, $06, $0C, $12 + db $00, $06, $0C, $16 .start_index - db $01, $06, $0B, $10 + db $01, $06, $0B, $10, $15 .start_direction - db $03, $02, $03, $02 + db $03, $02, $03, $02, $03 .end_index - db $03, $08, $0D, $12 + db $03, $08, $0D, $12, $18 .end_direction - db $01, $00, $01, $00 + db $01, $00, $01, $00, $01 SingleEdgeCurrentRoomConnectors: .north @@ -233,8 +251,8 @@ EdgeConnectionIndices: dw $0565, $0042 dw $0574, $0045 dw $0575, $0048 - dw $0382, $004B - dw $0582, $004E + dw $0582, $004B + dw $0382, $004E dw $0385, $0051 dw $03CC, $0054 dw $05CC, $0057 diff --git a/dungeon_map/data/fall_warps.asm b/dungeon_map/data/fall_warps.asm new file mode 100644 index 0000000..48f5d9e --- /dev/null +++ b/dungeon_map/data/fall_warps.asm @@ -0,0 +1,38 @@ +FallTable: +db $07, $17 ; Moldorm Arena +db $17, $27 ; Below Moldorm drop to Big Chest +db $1E, $3E ; IP first drop +db $27, $31 ; ToH Big Chest drop +db $31, $77 ; Second Floor ToH +db $39, $29 ; Mothula drop +db $3A, $0A ; Pod front drop +db $3D, $96 ; GT Torches drop +db $4D, $A6 ; Moldorm 2 drop +db $54, $34 ; Left side Swamp +db $5E, $7E ; IP drop to tall icy room +db $7E, $9E ; Freezors drop (to big chest) +db $8C, $1C ; Ice Armos drop +db $97, $D1 ; Mire Cutscene +db $9E, $BE ; IP Big Chest tile (push blocks) +db $CE, $DE ; Kholdstare drop +; db $65, $AC ; TT Attic +; db $77, $A7 ; ToH drop to fairy room (Herapot) +; db $A9, $89 ; EP drop to fairy room +; db $BE, $4F ; IP drop to fairy room +db $FF + +WarpTable: +db $09, $4B ; PoD Basement (start) +db $0A, $09 ; PoD Stalfos Basement +db $0B, $6A ; PoD Turtle Room to Boss +db $4B, $09 ; PoD Basement (mimics) +db $7B, $9D ; GT post-compass +db $7D, $9B ; GT warp maze +db $9D, $7B ; GT compass room +db $9B, $7D ; GT warp maze +db $B1, $B2 ; South of Fishbone warp +db $D1, $B1 ; Mire Big Key Chest warp +; db $89, $A9 ; EP Fairy Room +; db $A7, $17 ; ToH Fairy Room +; db $4F, $BE ; IP Fairy Room +db $FF diff --git a/dungeon_map/data/spiral_stairs.asm b/dungeon_map/data/spiral_stairs.asm new file mode 100644 index 0000000..3b6fae8 --- /dev/null +++ b/dungeon_map/data/spiral_stairs.asm @@ -0,0 +1,66 @@ +SpiralPropsIndex: +db $00, $04, $07, $00, $01, $00, $00, $0D, $00, $10, $04, $00, $15, $00, $0A, $00 +db $00, $07, $00, $00, $00, $01, $07, $1C, $00, $00, $21, $00, $26, $01, $0A, $00 +db $00, $00, $00, $00, $00, $00, $29, $30, $01, $00, $00, $00, $00, $00, $00, $00 +db $00, $35, $00, $00, $3A, $00, $00, $00, $01, $00, $04, $00, $00, $00, $00, $3D +db $40, $07, $07, $00, $00, $01, $00, $00, $00, $00, $43, $00, $07, $07, $07, $00 +db $00, $00, $00, $01, $48, $00, $00, $00, $00, $00, $00, $00, $07, $07, $00, $4B +db $00, $00, $00, $01, $50, $00, $07, $00, $00, $00, $53, $01, $01, $00, $58, $00 +; 0 1 2 3 4 5 6 7 8 9 a b c d e f +db $5B, $01, $04, $00, $00, $00, $60, $67, $00, $00, $00, $00, $00, $00, $00, $6E +db $01, $00, $00, $00, $00, $00, $00, $71, $00, $00, $00, $00, $76, $00, $04, $00 +db $00, $07, $00, $04, $00, $00, $00, $01, $7D, $0A, $00, $00, $00, $00, $04, $00 +db $01, $00, $04, $00, $00, $01, $07, $00, $00, $00, $00, $0A, $00, $00, $07, $00 +db $80, $00, $00, $00, $00, $01, $01, $00, $00, $00, $00, $00, $01, $00, $07, $00 +db $85, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 +db $8A, $04, $8F, $00, $00, $00, $00, $00, $00, $00, $0A, $00, $00, $00, $00, $00 +db $04 + +SpiralProps: +db $00 ;null row +db $01, $00, $00 ; ($01) Single Top-Left Staircase +db $01, $00, $01 ; ($04) Single Top-Middle Staircase +db $01, $00, $02 ; ($07) Single Top-Right Staircase +db $01, $00, $05 ; ($0A) Single Staircase at Top of Bottom Left Quadrant + +db $01, $00, $04 ; ($0D) Moldorm +db $02, $00, $00, $01, $02 ; ($10) Pod Basement +db $03, $00, $00, $01, $01, $02, $02 ; ($15) GT Entrance +db $02, $00, $03, $01, $04 ; ($1C) Hera Below Moldorm +db $03, $00, $01, $01, $02 ; ($21) PoD Bridge +db $01, $00, $08 ; ($26) GT Ice Armos +db $03, $00, $01, $01, $02, $02, $09 ; ($29) Swamp Statue +db $02, $00, $03, $01, $04 ; ($30) Hera Big Chest +db $02, $00, $04, $02, $09 ; ($35) Hera Startiles (middle value unused) +db $01, $00, $08 ; ($3A) West Swamp +db $01, $00, $05 ; ($3D) Ice Hamlift +db $01, $00, $07 ; ($40) Aga Guards +db $02, $00, $00, $01, $02 ; ($43) Pod Entrance +db $01, $00, $08 ; ($48) Swamp Attic +db $03, $03, $05, $04, $06 ; ($4B) Ice U (1st three values unused) +db $01, $00, $05 ; ($50) TT Attic Left +db $02, $00, $01, $01, $02 ; ($53) Pod Rupees +db $01, $00, $04 ; ($58) Ice Gators +db $02, $01, $00, $02, $01 ; ($5B) HC Tiny (first value placeholder) +db $03, $00, $01, $01, $02, $02, $09 ; ($60) Swamp Sunken +db $03, $01, $00, $02, $08, $03, $09 ; ($67) Hera Entrance (first value unused) +db $01, $00, $08 ; ($6E) Ice Hookshot +db $02, $01, $00, $03, $08 ; ($71) Hera Basement (first and third values unused) +db $03, $00, $00, $01, $02, $03, $08 ; ($76) GT Circle (third value unused) +db $01, $00, $07 ; ($7D) Mire Entrance +db $02, $00, $02, $02, $09 ; ($80) Tower Usains (2nd value unused) +db $02, $00, $02, $02, $09 ; ($85) Tower Dark2 (2nd value unused) +db $02, $00, $02, $02, $09 ; ($8A) Tower Dark1 (2nd value unused) +db $01, $00, $09 ; ($8F) Mire2 + +SpiralLabelOffsets: +db 1, -8 +db 5, -8 +db 9, -8 +db -6, -1 +db 15, -1 +db 1, 0 +db 5, 0 +db 9, 0 +db -6, 7 +db 15, 7 diff --git a/dungeon_map/main.asm b/dungeon_map/main.asm index a133897..20e5ed8 100644 --- a/dungeon_map/main.asm +++ b/dungeon_map/main.asm @@ -35,3 +35,5 @@ incsrc draw_loot.asm incsrc check_loot.asm incsrc blink_loot.asm incsrc data/doors_display.asm +incsrc data/spiral_stairs.asm +incsrc data/fall_warps.asm diff --git a/dungeon_map/map_bg3.asm b/dungeon_map/map_bg3.asm index 231474d..8eea1cd 100644 --- a/dungeon_map/map_bg3.asm +++ b/dungeon_map/map_bg3.asm @@ -209,31 +209,38 @@ dw $2263, $0100, $A100 dw $2363, $0E40, $A101 dw $2B63, $0100, $E100 -; right side border -dw $CE60, $0100, $2100 -dw $CF60, $1A40, $2101 -dw $DD60, $0100, $6100 -dw $EE60, $1AC0, $2110 -dw $FD60, $1AC0, $6110 -dw $AE62, $0100, $A100 -dw $AF62, $1A40, $A101 -dw $BD62, $0100, $E100 +; right side top area border +dw $4E60, $0100, $2100 +dw $4F60, $1A40, $2101 +dw $5D60, $0100, $6100 +dw $6E60, $1AC0, $2110 +dw $7D60, $1AC0, $6110 +dw $2E62, $0100, $A100 +dw $2F62, $1A40, $A101 +dw $3D62, $0100, $E100 -; blank above and below -dw $4E60, $1E40, $2111 -dw $6E60, $1E40, $2111 -dw $8E60, $1E40, $2111 -dw $AE60, $1E40, $2111 +; right side bottom area border +dw $8E62, $0100, $2100 +dw $8F62, $1A40, $2101 +dw $9D62, $0100, $6100 +dw $AE62, $06C0, $2110 +dw $BD62, $06C0, $6110 +dw $2E63, $0100, $A100 +dw $2F63, $1A40, $A101 +dw $3D63, $0100, $E100 -dw $CE62, $1E40, $2111 -dw $EE62, $1E40, $2111 -dw $0E63, $1E40, $2111 -dw $2E63, $1E40, $2111 +; blank between right side areas +dw $4E62, $1E40, $2111 +dw $6E62, $1E40, $2111 dw $4063, $4640, $2111 dw $6063, $4640, $2111 -; horizontal borders +; map area inside top area +dw $6F60, $1A40, $1D11 +dw $8F60, $1A40, $1D11 +dw $AF60, $1A40, $1D11 +dw $CF60, $1A40, $1D11 dw $EF60, $1A40, $1D11 dw $0F61, $1A40, $1D11 dw $2F61, $1A40, $1D11 @@ -244,57 +251,23 @@ dw $AF61, $1A40, $1D11 dw $CF61, $1A40, $1D11 dw $EF61, $1A40, $1D11 dw $0F62, $1A40, $1D11 -dw $2F62, $1A40, $1D11 -dw $4F62, $1A40, $1D11 -dw $6F62, $1A40, $1D11 -dw $8F62, $1A40, $1D11 -dw $B561, $0300 +; center square +dw $3561, $0300 dw $5D4C, $1D4C -dw $D561, $0300 +dw $5561, $0300 dw $DD4C, $9D4C -; ; horizontal borders -; dw $B160, $1440, $1D11 -; dw $1161, $1440, $1D11 -; dw $7161, $1440, $1D11 -; dw $D161, $1440, $1D11 -; dw $3162, $1440, $1D11 -; dw $9162, $1440, $1D11 -; dw $F162, $1440, $1D11 -; dw $5163, $1440, $1D11 -; -; ; vertical borders -; dw $B060, $12C0, $1D11 -; dw $BC60, $12C0, $1D11 -; dw $3062, $12C0, $1D11 -; dw $3C62, $12C0, $1D11 -; -; macro TopOfDoorSquares(start) -; ; silly Big Endian -; db >>8, , $00, $15 -; dw $5D4C, $1D4C, $1D11, $5D4C, $1D4C, $1D11, $5D4C, $1D4C, $1D11, $5D4C, $1D4C -; endmacro -; -; macro BottomOfDoorSquares(start) -; ; silly Big Endian -; db >>8, , $00, $15 -; dw $DD4C, $9D4C, $1D11, $DD4C, $9D4C, $1D11, $DD4C, $9D4C, $1D11, $DD4C, $9D4C -; endmacro -; -; macro FullDoorRow(start) -; %TopOfDoorSquares() -; %BottomOfDoorSquares(+$20) -; endmacro -; -; ; top grid -; %FullDoorRow($60D1) -; %FullDoorRow($6131) -; %FullDoorRow($6191) -; -; %FullDoorRow($6251) -; %FullDoorRow($62B1) -; %FullDoorRow($6311) +; map area inside bottom area +dw $AF62, $1A40, $1D11 + +dw $CF62, $1B00 +dw $1D11, $5D4C, $1D4C, $1D11, $5D4C, $1D4C, $1D11, $5D4C, $1D4C, $1D11, $1D11, $5D4C, $1D4C, $1D11 + +dw $EF62, $1B00 +dw $1D11, $DD4C, $9D4C, $1D11, $DD4C, $9D4C, $1D11, $DD4C, $9D4C, $1D11, $1D11, $DD4C, $9D4C, $1D11 + +dw $0F63, $1A40, $1D11 db $FF diff --git a/menu/door_connectors.3bpp b/menu/door_connectors.3bpp index 39c4b63..b934741 100644 Binary files a/menu/door_connectors.3bpp and b/menu/door_connectors.3bpp differ diff --git a/menu/door_connectors.3bppc b/menu/door_connectors.3bppc index 8c2736b..8a0cd61 100644 Binary files a/menu/door_connectors.3bppc and b/menu/door_connectors.3bppc differ diff --git a/ram.asm b/ram.asm index 47df548..ca60b63 100644 --- a/ram.asm +++ b/ram.asm @@ -569,9 +569,9 @@ CachedCurrentFloor = $7EC22B ; to restore when closing CurrentDisplayedRoom = $7EC22C ; 2 bytes, used by dungeon map DisplayedRoomDoorIndex = $7EC22E ; 2 bytes, used by dungeon map ; -DoorSlots = $7EC230 ; $2A bytes, used by dungeon map -DoorSlotScratch = $7EC25A ; 6 bytes, used by dungeon map -DoorSlotCursor = $7EC260 ; 2 bytes, used by dungeon map +DoorSlots = $7EC230 ; $32 bytes, used by dungeon map +DoorSlotScratch = $7EC262 ; 6 bytes, used by dungeon map +DoorSlotCursor = $7EC268 ; 2 bytes, used by dungeon map ; LastBGSet = $7EC2F8 ; Lists loaded sheets to check for decompression. 4 bytes. ;