Lots of bugs fixes and supertile updates
This commit is contained in:
@@ -16,6 +16,10 @@ CheckLoot:
|
||||
AND.w #$00FF
|
||||
STA.b $0E
|
||||
|
||||
LDA.b $00
|
||||
ASL A
|
||||
TAX
|
||||
|
||||
LDA.l SaveDataWRAM, X
|
||||
AND.w #$000F
|
||||
BEQ +
|
||||
@@ -25,7 +29,7 @@ CheckLoot:
|
||||
BCC +
|
||||
STA.b $0E
|
||||
|
||||
+ LDA.b DungeonID
|
||||
+ LDA.w DungeonID
|
||||
TAX
|
||||
|
||||
LDA.l MapField
|
||||
@@ -233,8 +237,12 @@ CheckPots:
|
||||
BRA .next_pot
|
||||
|
||||
.small_key
|
||||
LDA.w #$8000 : STA.b $08
|
||||
LDA.w #$0024
|
||||
BRA .continue
|
||||
PHA
|
||||
PHX
|
||||
INY
|
||||
BRA .mask_set
|
||||
.major_item
|
||||
LDA.b [$04], Y
|
||||
.continue
|
||||
@@ -242,13 +250,16 @@ CheckPots:
|
||||
PHX
|
||||
INY
|
||||
TXA : ASL A
|
||||
EOR.w #$FFFF
|
||||
CLC : ADC.w #$001F ; bit mask table is in opposite order of what we want
|
||||
TAX
|
||||
LDA.l DungeonMask, X : STA.b $08
|
||||
|
||||
.mask_set
|
||||
LDA.b $00 : ASL A : TAX
|
||||
if !FEATURE_FIX_BASEROM
|
||||
LDA.l SpriteDropData, X
|
||||
else
|
||||
LDA.l RoomPotData, X
|
||||
endif
|
||||
PLX
|
||||
AND.b $08
|
||||
BEQ .not_obtained
|
||||
@@ -281,6 +292,8 @@ CheckEnemies:
|
||||
LDA.b [$04], Y
|
||||
AND.w #$00FF
|
||||
CMP.w #$00FF : BEQ .done
|
||||
LDA.b [$04], Y
|
||||
BIT.w #$8000 : BNE .overlord
|
||||
INY : INY
|
||||
LDA.b [$04], Y
|
||||
AND.w #$00FF
|
||||
@@ -288,24 +301,34 @@ CheckEnemies:
|
||||
CMP.w #$00F9 : BEQ .major ; major item in other world
|
||||
CMP.w #$00E4 : BEQ .vanilla_key
|
||||
INY
|
||||
INX
|
||||
BRA .next_enemy
|
||||
|
||||
.overlord
|
||||
INY : INY : INY
|
||||
BRA .next_enemy
|
||||
|
||||
.vanilla_key
|
||||
DEY : DEY
|
||||
LDA.w #$8000 : STA.b $08
|
||||
LDA.b [$04], Y
|
||||
INY #3
|
||||
AND.w #$00FF
|
||||
CMP.w #$00FD ; big key
|
||||
BEQ .big_key
|
||||
CMP.w #$00FE ; small key
|
||||
BEQ .small_key
|
||||
INY #3 ; false alarm -- probably hera basement key
|
||||
; false alarm -- probably hera basement key
|
||||
INX ; since it's an actual sprite it advances the counter
|
||||
BRA .next_enemy
|
||||
.small_key
|
||||
LDA.w #$0024
|
||||
BRA .proceed
|
||||
PHA : PHX
|
||||
BRA .mask_set
|
||||
.big_key
|
||||
LDA.w #$0032
|
||||
BRA .proceed
|
||||
PHA : PHX
|
||||
BRA .mask_set
|
||||
|
||||
.major
|
||||
DEY : DEY
|
||||
@@ -313,7 +336,6 @@ CheckEnemies:
|
||||
AND.w #$00FF
|
||||
|
||||
.proceed
|
||||
INX
|
||||
INY : INY : INY
|
||||
|
||||
PHA
|
||||
@@ -322,6 +344,7 @@ CheckEnemies:
|
||||
TAX
|
||||
LDA.l DungeonMask, X : STA.b $08
|
||||
|
||||
.mask_set
|
||||
LDA.b $00 : ASL A : TAX
|
||||
LDA.l SpriteDropData, X
|
||||
PLX
|
||||
@@ -334,7 +357,7 @@ CheckEnemies:
|
||||
PLA
|
||||
AND.w #$00FF
|
||||
JSR GetLootClass
|
||||
BRA .next_enemy
|
||||
JMP .next_enemy
|
||||
|
||||
.done
|
||||
RTS
|
||||
|
||||
@@ -1,65 +1,65 @@
|
||||
db $0A ; 00 - Fighter Sword and Shield
|
||||
db $0A ; 01 - Master Sword
|
||||
db $0A ; 02 - Tempered Sword
|
||||
db $0A ; 03 - Butter Sword
|
||||
db $0B ; 00 - Fighter Sword and Shield
|
||||
db $0B ; 01 - Master Sword
|
||||
db $0B ; 02 - Tempered Sword
|
||||
db $0B ; 03 - Butter Sword
|
||||
db $05 ; 04 - Fighter Shield
|
||||
db $05 ; 05 - Fire Shield
|
||||
db $05 ; 06 - Mirror Shield
|
||||
db $0A ; 07 - Fire Rod
|
||||
db $0A ; 08 - Ice Rod
|
||||
db $0A ; 09 - Hammer
|
||||
db $0A ; 0A - Hookshot
|
||||
db $0A ; 0B - Bow
|
||||
db $0A ; 0C - Boomerang
|
||||
db $0A ; 0D - Powder
|
||||
db $0B ; 07 - Fire Rod
|
||||
db $0B ; 08 - Ice Rod
|
||||
db $0B ; 09 - Hammer
|
||||
db $0B ; 0A - Hookshot
|
||||
db $0B ; 0B - Bow
|
||||
db $06 ; 0C - Boomerang
|
||||
db $0B ; 0D - Powder
|
||||
db $02 ; 0E - Bottle Refill (bee)
|
||||
db $0A ; 0F - Bombos
|
||||
db $0A ; 10 - Ether
|
||||
db $0A ; 11 - Quake
|
||||
db $0A ; 12 - Lamp
|
||||
db $0A ; 13 - Shovel
|
||||
db $0A ; 14 - Flute
|
||||
db $0A ; 15 - Somaria
|
||||
db $0A ; 16 - Bottle
|
||||
db $0B ; 0F - Bombos
|
||||
db $0B ; 10 - Ether
|
||||
db $0B ; 11 - Quake
|
||||
db $0B ; 12 - Lamp
|
||||
db $06 ; 13 - Shovel
|
||||
db $0B ; 14 - Flute
|
||||
db $0B ; 15 - Somaria
|
||||
db $0B ; 16 - Bottle
|
||||
db $05 ; 17 - Heartpiece
|
||||
db $0A ; 18 - Byrna
|
||||
db $0A ; 19 - Cape
|
||||
db $0A ; 1A - Mirror
|
||||
db $0A ; 1B - Glove
|
||||
db $0A ; 1C - Mitts
|
||||
db $0A ; 1D - Book
|
||||
db $0A ; 1E - Flippers
|
||||
db $0A ; 1F - Pearl
|
||||
db $0C ; 20 - Crystal
|
||||
db $0A ; 21 - Net
|
||||
db $06 ; 18 - Byrna
|
||||
db $0B ; 19 - Cape
|
||||
db $0B ; 1A - Mirror
|
||||
db $0B ; 1B - Glove
|
||||
db $0B ; 1C - Mitts
|
||||
db $0B ; 1D - Book
|
||||
db $0B ; 1E - Flippers
|
||||
db $0B ; 1F - Pearl
|
||||
db $0D ; 20 - Crystal
|
||||
db $06 ; 21 - Net
|
||||
db $05 ; 22 - Blue Mail
|
||||
db $05 ; 23 - Red Mail
|
||||
db $03 ; 24 - Small Key
|
||||
db $06 ; 25 - Compass
|
||||
db $07 ; 25 - Compass
|
||||
db $05 ; 26 - Heart Container from 4/4
|
||||
db $02 ; 27 - Bomb
|
||||
db $02 ; 28 - 3 bombs
|
||||
db $0A ; 29 - Mushroom
|
||||
db $0A ; 2A - Red boomerang
|
||||
db $0A ; 2B - Full bottle (red)
|
||||
db $0A ; 2C - Full bottle (green)
|
||||
db $0A ; 2D - Full bottle (blue)
|
||||
db $06 ; 29 - Mushroom
|
||||
db $06 ; 2A - Red boomerang
|
||||
db $0B ; 2B - Full bottle (red)
|
||||
db $0B ; 2C - Full bottle (green)
|
||||
db $0B ; 2D - Full bottle (blue)
|
||||
db $05 ; 2E - Potion refill (red)
|
||||
db $05 ; 2F - Potion refill (green)
|
||||
db $05 ; 30 - Potion refill (blue)
|
||||
db $02 ; 31 - 10 bombs
|
||||
db $08 ; 32 - Big key
|
||||
db $09 ; 32 - Big key
|
||||
db $02 ; 33 - Map
|
||||
db $02 ; 34 - 1 rupee
|
||||
db $02 ; 35 - 5 rupees
|
||||
db $02 ; 36 - 20 rupees
|
||||
db $09 ; 37 - Green pendant
|
||||
db $09 ; 38 - Blue pendant
|
||||
db $09 ; 39 - Red pendant
|
||||
db $0A ; 3A - Tossed bow
|
||||
db $0A ; 3B - Silvers
|
||||
db $0A ; 3C - Full bottle (bee)
|
||||
db $0A ; 3D - Full bottle (fairy)
|
||||
db $0A ; 37 - Green pendant
|
||||
db $0A ; 38 - Blue pendant
|
||||
db $0A ; 39 - Red pendant
|
||||
db $0B ; 3A - Tossed bow
|
||||
db $0B ; 3B - Silvers
|
||||
db $0B ; 3C - Full bottle (bee)
|
||||
db $0B ; 3D - Full bottle (fairy)
|
||||
db $05 ; 3E - Boss heart
|
||||
db $05 ; 3F - Sanc heart
|
||||
db $02 ; 40 - 100 rupees
|
||||
@@ -70,16 +70,16 @@ db $02 ; 44 - 10 arrows
|
||||
db $02 ; 45 - Small magic
|
||||
db $02 ; 46 - 300 rupees
|
||||
db $02 ; 47 - 20 rupees green
|
||||
db $0A ; 48 - Full bottle (good bee)
|
||||
db $0A ; 49 - Tossed fighter sword
|
||||
db $0A ; 4A - Active Flute
|
||||
db $0A ; 4B - Boots
|
||||
db $0B ; 48 - Full bottle (good bee)
|
||||
db $0B ; 49 - Tossed fighter sword
|
||||
db $0B ; 4A - Active Flute
|
||||
db $0B ; 4B - Boots
|
||||
|
||||
db $05 ; 4C - Bomb capacity (50)
|
||||
db $05 ; 4D - Arrow capacity (70)
|
||||
db $0A ; 4E - 1/2 magic
|
||||
db $0A ; 4F - 1/4 magic
|
||||
db $0A ; 50 - Safe master sword
|
||||
db $0B ; 4E - 1/2 magic
|
||||
db $0B ; 4F - 1/4 magic
|
||||
db $0B ; 50 - Safe master sword
|
||||
db $05 ; 51 - Bomb capacity (+5)
|
||||
db $05 ; 52 - Bomb capacity (+10)
|
||||
db $05 ; 53 - Arrow capacity (+5)
|
||||
@@ -87,27 +87,27 @@ db $05 ; 54 - Arrow capacity (+10)
|
||||
db $02 ; 55 - Programmable item 1
|
||||
db $02 ; 56 - Programmable item 2
|
||||
db $02 ; 57 - Programmable item 3
|
||||
db $0A ; 58 - Upgrade-only silver arrows
|
||||
db $0B ; 58 - Upgrade-only silver arrows
|
||||
db $02 ; 59 - Rupoor
|
||||
db $02 ; 5A - Nothing
|
||||
db $02 ; 5B - Red clock
|
||||
db $02 ; 5C - Blue clock
|
||||
db $02 ; 5D - Green clock
|
||||
db $0A ; 5E - Progressive sword
|
||||
db $0B ; 5E - Progressive sword
|
||||
db $05 ; 5F - Progressive shield
|
||||
db $05 ; 60 - Progressive armor
|
||||
db $0A ; 61 - Progressive glove
|
||||
db $0B ; 61 - Progressive glove
|
||||
db $02 ; 62 - RNG pool item (single)
|
||||
db $02 ; 63 - RNG pool item (multi)
|
||||
db $0A ; 64 - Progressive bow
|
||||
db $0A ; 65 - Progressive bow
|
||||
db $0B ; 64 - Progressive bow
|
||||
db $0B ; 65 - Progressive bow
|
||||
db $02 ; 66 -
|
||||
db $02 ; 67 -
|
||||
db $02 ; 68 -
|
||||
db $02 ; 69 -
|
||||
db $0E ; 6A - Triforce
|
||||
db $0D ; 6B - Power star
|
||||
db $0D ; 6C - Triforce Piece
|
||||
db $0F ; 6A - Triforce
|
||||
db $0E ; 6B - Power star
|
||||
db $0E ; 6C - Triforce Piece
|
||||
db $02 ; 6D - Server request item
|
||||
db $02 ; 6E - Server request item (dungeon drop)
|
||||
db $02 ; 6F -
|
||||
@@ -129,63 +129,63 @@ db $02 ; 7D - Map of Eastern Palace
|
||||
db $02 ; 7E - Map of Hyrule Castle
|
||||
db $02 ; 7F - Map of Sewers
|
||||
|
||||
db $06 ; 80 - Compass of Light World
|
||||
db $06 ; 81 - Compass of Dark World
|
||||
db $06 ; 82 - Compass of Ganon's Tower
|
||||
db $06 ; 83 - Compass of Turtle Rock
|
||||
db $06 ; 84 - Compass of Thieves' Town
|
||||
db $06 ; 85 - Compass of Tower of Hera
|
||||
db $06 ; 86 - Compass of Ice Palace
|
||||
db $06 ; 87 - Compass of Skull Woods
|
||||
db $06 ; 88 - Compass of Misery Mire
|
||||
db $06 ; 89 - Compass of Dark Palace
|
||||
db $06 ; 8A - Compass of Swamp Palace
|
||||
db $06 ; 8B - Compass of Agahnim's Tower
|
||||
db $06 ; 8C - Compass of Desert Palace
|
||||
db $06 ; 8D - Compass of Eastern Palace
|
||||
db $06 ; 8E - Compass of Hyrule Castle
|
||||
db $06 ; 8F - Compass of Sewers
|
||||
db $07 ; 80 - Compass of Light World
|
||||
db $07 ; 81 - Compass of Dark World
|
||||
db $07 ; 82 - Compass of Ganon's Tower
|
||||
db $07 ; 83 - Compass of Turtle Rock
|
||||
db $07 ; 84 - Compass of Thieves' Town
|
||||
db $07 ; 85 - Compass of Tower of Hera
|
||||
db $07 ; 86 - Compass of Ice Palace
|
||||
db $07 ; 87 - Compass of Skull Woods
|
||||
db $07 ; 88 - Compass of Misery Mire
|
||||
db $07 ; 89 - Compass of Dark Palace
|
||||
db $07 ; 8A - Compass of Swamp Palace
|
||||
db $07 ; 8B - Compass of Agahnim's Tower
|
||||
db $07 ; 8C - Compass of Desert Palace
|
||||
db $07 ; 8D - Compass of Eastern Palace
|
||||
db $07 ; 8E - Compass of Hyrule Castle
|
||||
db $07 ; 8F - Compass of Sewers
|
||||
|
||||
db $08 ; 90 - Skull key
|
||||
db $08 ; 91 - Reserved
|
||||
db $08 ; 92 - Big key of Ganon's Tower
|
||||
db $08 ; 93 - Big key of Turtle Rock
|
||||
db $08 ; 94 - Big key of Thieves' Town
|
||||
db $08 ; 95 - Big key of Tower of Hera
|
||||
db $08 ; 96 - Big key of Ice Palace
|
||||
db $08 ; 97 - Big key of Skull Woods
|
||||
db $08 ; 98 - Big key of Misery Mire
|
||||
db $08 ; 99 - Big key of Dark Palace
|
||||
db $08 ; 9A - Big key of Swamp Palace
|
||||
db $08 ; 9B - Big key of Agahnim's Tower
|
||||
db $08 ; 9C - Big key of Desert Palace
|
||||
db $08 ; 9D - Big key of Eastern Palace
|
||||
db $08 ; 9E - Big key of Hyrule Castle
|
||||
db $08 ; 9F - Big key of Sewers
|
||||
db $09 ; 90 - Skull key
|
||||
db $09 ; 91 - Reserved
|
||||
db $09 ; 92 - Big key of Ganon's Tower
|
||||
db $09 ; 93 - Big key of Turtle Rock
|
||||
db $09 ; 94 - Big key of Thieves' Town
|
||||
db $09 ; 95 - Big key of Tower of Hera
|
||||
db $09 ; 96 - Big key of Ice Palace
|
||||
db $09 ; 97 - Big key of Skull Woods
|
||||
db $09 ; 98 - Big key of Misery Mire
|
||||
db $09 ; 99 - Big key of Dark Palace
|
||||
db $09 ; 9A - Big key of Swamp Palace
|
||||
db $09 ; 9B - Big key of Agahnim's Tower
|
||||
db $09 ; 9C - Big key of Desert Palace
|
||||
db $09 ; 9D - Big key of Eastern Palace
|
||||
db $09 ; 9E - Big key of Hyrule Castle
|
||||
db $09 ; 9F - Big key of Sewers
|
||||
|
||||
db $07 ; A0 - Small key of Sewers
|
||||
db $07 ; A1 - Small key of Hyrule Castle
|
||||
db $07 ; A2 - Small key of Eastern Palace
|
||||
db $07 ; A3 - Small key of Desert Palace
|
||||
db $07 ; A4 - Small key of Agahnim's Tower
|
||||
db $07 ; A5 - Small key of Swamp Palace
|
||||
db $07 ; A6 - Small key of Dark Palace
|
||||
db $07 ; A7 - Small key of Misery Mire
|
||||
db $07 ; A8 - Small key of Skull Woods
|
||||
db $07 ; A9 - Small key of Ice Palace
|
||||
db $07 ; AA - Small key of Tower of Hera
|
||||
db $07 ; AB - Small key of Thieves' Town
|
||||
db $07 ; AC - Small key of Turtle Rock
|
||||
db $07 ; AD - Small key of Ganon's Tower
|
||||
db $08 ; A0 - Small key of Sewers
|
||||
db $08 ; A1 - Small key of Hyrule Castle
|
||||
db $08 ; A2 - Small key of Eastern Palace
|
||||
db $08 ; A3 - Small key of Desert Palace
|
||||
db $08 ; A4 - Small key of Agahnim's Tower
|
||||
db $08 ; A5 - Small key of Swamp Palace
|
||||
db $08 ; A6 - Small key of Dark Palace
|
||||
db $08 ; A7 - Small key of Misery Mire
|
||||
db $08 ; A8 - Small key of Skull Woods
|
||||
db $08 ; A9 - Small key of Ice Palace
|
||||
db $08 ; AA - Small key of Tower of Hera
|
||||
db $08 ; AB - Small key of Thieves' Town
|
||||
db $08 ; AC - Small key of Turtle Rock
|
||||
db $08 ; AD - Small key of Ganon's Tower
|
||||
db $02 ; AE - Reserved
|
||||
db $03 ; AF - Generic small key
|
||||
db $0C ; B0 - Crystal 6
|
||||
db $0C ; B1 - Crystal 1
|
||||
db $0C ; B2 - Crystal 5
|
||||
db $0C ; B3 - Crystal 7
|
||||
db $0C ; B4 - Crystal 2
|
||||
db $0C ; B5 - Crystal 4
|
||||
db $0C ; B6 - Crystal 3
|
||||
db $0D ; B0 - Crystal 6
|
||||
db $0D ; B1 - Crystal 1
|
||||
db $0D ; B2 - Crystal 5
|
||||
db $0D ; B3 - Crystal 7
|
||||
db $0D ; B4 - Crystal 2
|
||||
db $0D ; B5 - Crystal 4
|
||||
db $0D ; B6 - Crystal 3
|
||||
db $02 ; B7 - Reserved
|
||||
db $02 ; B8 -
|
||||
db $02 ; B9 -
|
||||
|
||||
@@ -2,7 +2,7 @@ dw $FFFF, $83A5, $FFFF, $FFFF ; 00
|
||||
dw $C388, $8388, $FFFF, $FFFF ; 01
|
||||
dw $4348, $034A, $4342, $0342 ; 02
|
||||
dw $FFFF, $FFFF, $438F, $FFFF ; 03 - Houlihan
|
||||
dw $C3A5, $83B4, $436D, $036E ; 04
|
||||
dw $039A, $038F, $4365, $C39B ; 04
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; 05 - unused
|
||||
dw $FFFF, $FFFF, $438F, $FFFF ; 06 - Arrghus
|
||||
dw $C340, $8370, $4340, $0340 ; 07 - Moldorm
|
||||
@@ -15,28 +15,28 @@ dw $FFFF, $FFFF, $438F, $FFFF ; 0D - Aga 2
|
||||
dw $FFFF, $FFFF, $8399, $439B ; 0E
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; 0F - unused and should never be used, treated as non-id
|
||||
dw $C340, $8340, $4350, $0340 ; 10
|
||||
dw $C340, $8370, $4340, $0350 ; 11
|
||||
dw $83B7, $C3AC, $03B7, $438A ; 11
|
||||
dw $C354, $8354, $4354, $0354 ; 12
|
||||
dw $FFFF, $83B7, $FFFF, $03B7 ; 13
|
||||
dw $C351, $8341, $4351, $0351 ; 14
|
||||
dw $C374, $8340, $4341, $0340 ; 15
|
||||
dw $C3B5, $83A5, $436E, $036E ; 16
|
||||
dw $0361, $039A, $C3B2, $83B2 ; 16 - gross (add middle section if feasible)
|
||||
dw $C370, $8370, $4340, $0340 ; 17
|
||||
dw $C3B5, $FFFF, $43B4, $FFFF ; 18 - useless fairy drop
|
||||
dw $FFFF, $8369, $FFFF, $035A ; 19
|
||||
dw $C3AE, $83AF, $43AD, $0361 ; 1A
|
||||
dw $039B, $439C, $4361, $FFFF ; 1B
|
||||
dw $C3B4, $83B4, $437E, $036E ; 1C
|
||||
dw $038F, $038F, $037E, $C39B ; 1C
|
||||
dw $C3B2, $83A7, $FFFF, $FFFF ; 1D
|
||||
dw $FFFF, $43B8, $8399, $0366 ; 1E
|
||||
dw $FFFF, $FFFF, $4360, $C399 ; 1F
|
||||
dw $FFFF, $FFFF, $438F, $FFFF ; 20
|
||||
dw $C340, $8350, $4340, $0341 ; 21
|
||||
dw $4348, $0363, $C348, $8368 ; 21
|
||||
dw $FFFF, $FFFF, $4368, $0348 ; 22
|
||||
dw $FFFF, $FFFF, $FFFF, $039B ; 23
|
||||
dw $C350, $8350, $4341, $0350 ; 24
|
||||
dw $4365, $0365, $0364, $0365 ; 24
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; 25 - unused
|
||||
dw $C340, $837C, $4354, $0382 ; 26
|
||||
dw $039B, $037C, $4363, $0382 ; 26
|
||||
dw $C370, $8370, $4340, $0340 ; 27
|
||||
dw $C3A5, $FFFF, $4358, $0348 ; 28
|
||||
dw $FFFF, $FFFF, $FFFF, $0396 ; 29 - Mothula
|
||||
@@ -59,13 +59,13 @@ dw $FFFF, $FFFF, $039B, $03A9 ; 39
|
||||
dw $C3A4, $83A4, $4354, $0354 ; 3A - make bespoke if feasible
|
||||
dw $C3A5, $FFFF, $43B5, $FFFF ; 3B - inset stairs if feasible
|
||||
dw $C340, $8350, $4340, $0350 ; 3C - hookshot cave front
|
||||
dw $C36E, $836E, $43B5, $03A5 ; 3D
|
||||
dw $039B, $439B, $0361, $838E ; 3D
|
||||
dw $FFFF, $438F, $43B2, $0373 ; 3E
|
||||
dw $FFFF, $FFFF, $8399, $C399 ; 3F
|
||||
dw $C3A5, $FFFF, $4372, $C399 ; 40 - inset stairs if feasible
|
||||
dw $C340, $8370, $4354, $0354 ; 41
|
||||
dw $C398, $8389, $FFFF, $FFFF ; 42
|
||||
dw $C3B2, $836E, $FFFF, $03B5 ; 43
|
||||
dw $C3B2, $03B2, $FFFF, $0361 ; 43
|
||||
dw $038D, $839F, $838D, $039F ; 44
|
||||
dw $C3AB, $438F, $4364, $C39B ; 45
|
||||
dw $C375, $8375, $4373, $0373 ; 46
|
||||
@@ -76,12 +76,12 @@ dw $0376, $0377, $0386, $4386 ; 4A
|
||||
dw $C361, $4391, $4373, $0373 ; 4B
|
||||
dw $FFFF, $83A5, $FFFF, $03B7 ; 4C
|
||||
dw $C350, $8370, $4341, $0340 ; 4D
|
||||
dw $839B, $4399, $FFFF, $FFFF ; 4E
|
||||
dw $839B, $439C, $FFFF, $FFFF ; 4E
|
||||
dw $FFFF, $8396, $838D, $FFFF ; 4F
|
||||
dw $FFFF, $83B7, $FFFF, $03B5 ; 50
|
||||
dw $C354, $8354, $4384, $0384 ; 51
|
||||
dw $C3B7, $FFFF, $4359, $0348 ; 52
|
||||
dw $C3A5, $83B5, $436E, $036E ; 53
|
||||
dw $039A, $83B5, $839B, $43B7 ; 53
|
||||
dw $C390, $8390, $4380, $0340 ; 54
|
||||
dw $C340, $8340, $4350, $0340 ; 55
|
||||
dw $038F, $83B4, $4365, $039F ; 56
|
||||
@@ -90,14 +90,14 @@ dw $C372, $439B, $0383, $0365 ; 58 - split
|
||||
dw $838A, $8372, $038A, $0372 ; 59
|
||||
dw $FFFF, $FFFF, $FFFF, $038F ; 5A - Helmasaur King
|
||||
dw $FFFF, $83B7, $FFFF, $03B5 ; 5B
|
||||
dw $C3B1, $83AA, $FFFF, $03B4 ; 5C
|
||||
dw $C36E, $83A7, $43B5, $FFFF ; 5D
|
||||
dw $C3B1, $83AA, $FFFF, $838F ; 5C
|
||||
dw $039B, $C399, $0361, $FFFF ; 5D
|
||||
dw $FFFF, $43B8, $839C, $0366 ; 5E
|
||||
dw $FFFF, $FFFF, $43BB, $FFFF ; 5F
|
||||
dw $FFFF, $8379, $FFFF, $036A ; 60
|
||||
dw $C387, $8385, $4356, $0356 ; 61
|
||||
dw $C346, $8354, $4352, $0340 ; 62
|
||||
dw $C3A5, $FFFF, $43B5, $FFFF ; 63
|
||||
dw $039A, $FFFF, $0361, $FFFF ; 63
|
||||
dw $FFFF, $FFFF, $8399, $C3B1 ; 64
|
||||
dw $FFFF, $FFFF, $83B1, $03A9 ; 65
|
||||
dw $038F, $039A, $0362, $83B2 ; 66
|
||||
@@ -105,17 +105,17 @@ dw $83B4, $83B5, $03B7, $039F ; 67
|
||||
dw $C340, $8350, $4341, $0340 ; 68
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; 69 - unused
|
||||
dw $FFFF, $838C, $FFFF, $034E ; 6A
|
||||
dw $C3A5, $83B5, $436E, $036E ; 6B
|
||||
dw $C3A5, $FFFF, $436E, $03B1 ; 6C - Lanmolas 2
|
||||
dw $C3B5, $FFFF, $43B7, $FFFF ; 6D
|
||||
dw $039A, $0361, $839B, $C39B ; 6B
|
||||
dw $039A, $FFFF, $839B, $0360 ; 6C - Lanmolas 2
|
||||
dw $0361, $FFFF, $C39B, $FFFF ; 6D
|
||||
dw $FFFF, $838E, $FFFF, $FFFF ; 6E
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; 6F - unused
|
||||
dw $43BA, $FFFF, $FFFF, $FFFF ; 70
|
||||
dw $C3A5, $FFFF, $436D, $03B0 ; 71
|
||||
dw $C384, $8384, $4344, $0354 ; 72 - slight cheating I guess...
|
||||
dw $C3B4, $83B4, $436E, $038B ; 73
|
||||
dw $C340, $8340, $4345, $0345 ; 74
|
||||
dw $C3B4, $83B4, $438A, $03B5 ; 75
|
||||
dw $039A, $FFFF, $4365, $438D ; 71
|
||||
dw $437A, $037A, $43A1, $0342 ; 72 - slight cheating I guess...
|
||||
dw $038F, $038F, $839B, $0366 ; 73
|
||||
dw $43B2, $03B2, $43A8, $03A8 ; 74
|
||||
dw $038F, $83B4, $0365, $03B5 ; 75
|
||||
dw $C36D, $83BC, $436E, $0397 ; 76
|
||||
dw $C370, $8340, $43A0, $03A0 ; 77
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; 78 - unused
|
||||
@@ -123,47 +123,47 @@ dw $FFFF, $FFFF, $FFFF, $FFFF ; 79 - unused
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; 7A - unused
|
||||
dw $C35E, $83B1, $438F, $038D ; 7B
|
||||
dw $C3B7, $83B4, $43B7, $03B7 ; 7C
|
||||
dw $C36E, $83B0, $4392, $0391 ; 7D - warp tiles
|
||||
dw $FFFF, $83B7, $839C, $C37A ; 7E
|
||||
dw $43B2, $835E, $034C, $0391 ; 7D
|
||||
dw $FFFF, $83B7, $4393, $438A ; 7E
|
||||
dw $439B, $FFFF, $838E, $FFFF ; 7F
|
||||
dw $C3A7, $83B0, $FFFF, $FFFF ; 80
|
||||
dw $C350, $8341, $4340, $0341 ; 81
|
||||
dw $C39D, $8354, $4341, $0340 ; 82
|
||||
dw $C3B4, $83B5, $436D, $036E ; 83
|
||||
dw $038F, $83B5, $4365, $43B7 ; 83
|
||||
dw $C344, $8345, $4354, $0354 ; 84
|
||||
dw $C38B, $83B2, $436E, $03B2 ; 85
|
||||
dw $C38B, $C39B, $03B7, $439B ; 85
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; 86 - unused
|
||||
dw $C3A7, $836E, $4394, $03B4 ; 87
|
||||
dw $8399, $439B, $4394, $838F ; 87
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; 88 - unused
|
||||
dw $C3B0, $83B0, $FFFF, $FFFF ; 89
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; 8A - unused
|
||||
dw $C36D, $83B1, $436D, $03B0 ; 8B
|
||||
dw $838A, $0360, $038A, $438D ; 8B
|
||||
dw $83BE, $83BF, $03BD, $03B8 ; 8C
|
||||
dw $C3B1, $836D, $43B0, $036D ; 8D
|
||||
dw $0360, $C38A, $038D, $438A ; 8D
|
||||
dw $FFFF, $838E, $FFFF, $FFFF ; 8E
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; 8F - unused
|
||||
dw $FFFF, $FFFF, $438F, $FFFF ; 90
|
||||
dw $FFFF, $83A5, $FFFF, $03B7 ; 91
|
||||
dw $C340, $8340, $4341, $0341 ; 92 - should it be split? idk
|
||||
dw $C36C, $836C, $43B7, $03B4 ; 93
|
||||
dw $039B, $C3B7, $0364, $039F ; 92 - should it be split? idk
|
||||
dw $C36C, $836C, $C39B, $838F ; 93
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; 94 - unused
|
||||
dw $FFFF, $83B7, $FFFF, $03B5 ; 95
|
||||
dw $C3B7, $FFFF, $436E, $0397 ; 96
|
||||
dw $C3A5, $83B4, $436E, $036F ; 97
|
||||
dw $C3B7, $FFFF, $03B7, $C39C ; 96
|
||||
dw $039A, $83B4, $839B, $036F ; 97
|
||||
dw $FFFF, $FFFF, $43B2, $0397 ; 98
|
||||
dw $FFFF, $038F, $434A, $0363 ; 99
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; 9A - unused
|
||||
dw $C3B2, $835E, $435E, $0378 ; 9B
|
||||
dw $839B, $0381, $435E, $0378 ; 9B
|
||||
dw $C350, $8350, $4341, $0341 ; 9C
|
||||
dw $C35E, $83B2, $43B1, $035E ; 9D
|
||||
dw $FFFF, $439A, $838D, $03B9 ; 9E
|
||||
dw $FFFF, $FFFF, $439B, $FFFF ; 9F
|
||||
dw $839B, $439C, $FFFF, $FFFF ; A0
|
||||
dw $839B, $C39C, $FFFF, $FFFF ; A0
|
||||
dw $C3B0, $835D, $FFFF, $036A ; A1
|
||||
dw $C385, $8385, $4356, $0346 ; A2 - show paths somehow
|
||||
dw $C35A, $FFFF, $436A, $FFFF ; A3
|
||||
dw $FFFF, $FFFF, $438E, $FFFF ; A4
|
||||
dw $C3A5, $83B5, $436E, $036E ; A5
|
||||
dw $039A, $0361, $C3B2, $83B2 ; A5
|
||||
dw $C340, $8370, $4340, $0340 ; A6
|
||||
dw $C396, $FFFF, $FFFF, $FFFF ; A7 - ToH fairy basement room
|
||||
dw $039B, $83B6, $839B, $03A3 ; A8
|
||||
@@ -174,8 +174,8 @@ dw $FFFF, $FFFF, $FFFF, $038F ; AC - Blind
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; AD - unused
|
||||
dw $FFFF, $8399, $FFFF, $FFFF ; AE
|
||||
dw $C39B, $FFFF, $FFFF, $FFFF ; AF
|
||||
dw $039B, $439C, $839B, $C399 ; B0
|
||||
dw $C34E, $83B5, $434C, $036D ; B1
|
||||
dw $039B, $C399, $839B, $C399 ; B0
|
||||
dw $0391, $83B5, $434C, $438A ; B1
|
||||
dw $C35C, $83A2, $039B, $0366 ; B2
|
||||
dw $0365, $FFFF, $0365, $FFFF ; B3
|
||||
dw $C350, $8340, $4384, $0384 ; B4
|
||||
@@ -185,12 +185,12 @@ dw $C3B4, $FFFF, $43B5, $FFFF ; B7
|
||||
dw $FFFF, $838A, $FFFF, $03B4 ; B8
|
||||
dw $C36B, $836B, $4354, $0354 ; B9
|
||||
dw $0364, $438D, $FFFF, $FFFF ; BA
|
||||
dw $037A, $8364, $4372, $0364 ; BB
|
||||
dw $C3BF, $437A, $8364, $C37A ; BC - block off entrances?
|
||||
dw $838A, $8364, $4372, $0364 ; BB
|
||||
dw $C3BF, $C38A, $8364, $438A ; BC - block off entrances?
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; BD - unused
|
||||
dw $FFFF, $439A, $FFFF, $C365 ; BE
|
||||
dw $FFFF, $8396, $438D, $FFFF ; BF
|
||||
dw $C372, $439C, $4372, $C399 ; C0
|
||||
dw $C372, $C399, $4372, $C399 ; C0
|
||||
dw $039B, $0364, $4365, $8364 ; C1
|
||||
dw $C351, $8353, $4341, $0353 ; C2
|
||||
dw $C353, $8340, $4343, $0340 ; C3 - show layers
|
||||
@@ -206,7 +206,7 @@ dw $C353, $8350, $4347, $0354 ; CC
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; CD - unused
|
||||
dw $FFFF, $83B8, $FFFF, $FFFF ; CE - Kholdstare drop
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; CF - unused
|
||||
dw $C372, $439C, $4372, $C399 ; D0
|
||||
dw $C372, $C399, $4372, $C399 ; D0
|
||||
dw $C38E, $838F, $4381, $C38D ; D1
|
||||
dw $FFFF, $83B5, $FFFF, $0395 ; D2
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; D3 - unused
|
||||
@@ -222,7 +222,7 @@ dw $C346, $8354, $4343, $0340 ; DC
|
||||
dw $FFFF, $FFFF, $FFFF, $FFFF ; DD - unused
|
||||
dw $FFFF, $8396, $FFFF, $FFFF ; DE - Kholdstare
|
||||
dw $FFFF, $FFFF, $43A0, $0354 ; DF - paradox top
|
||||
dw $C36E, $83A7, $43B5, $FFFF ; E0
|
||||
dw $039B, $C399, $0361, $FFFF ; E0
|
||||
|
||||
; no more dungeon
|
||||
dw $C340, $8340, $4350, $0340 ; E1 - lost woods thieves hideout
|
||||
|
||||
@@ -12,6 +12,7 @@ DrawDungeonMapRoom:
|
||||
LDX.w DungeonID
|
||||
LDA.l MapField
|
||||
AND.l DungeonMask, X
|
||||
BEQ +
|
||||
LDA.l ShowRooms_have_map
|
||||
AND.w #$00FF
|
||||
CMP.b $0A
|
||||
@@ -22,6 +23,7 @@ DrawDungeonMapRoom:
|
||||
LDX.w DungeonID
|
||||
LDA.l CompassField
|
||||
AND.l DungeonMask, X
|
||||
BEQ +
|
||||
LDA.l ShowRooms_have_compass
|
||||
AND.w #$00FF
|
||||
CMP.b $0A
|
||||
@@ -72,6 +74,7 @@ DrawDungeonMapRoom:
|
||||
?.square
|
||||
PLA
|
||||
LDA.b $0C
|
||||
EOR.w #(3-<quadrant>)<<14
|
||||
BRA ?.write
|
||||
|
||||
?.shape
|
||||
@@ -93,6 +96,7 @@ DrawDungeonMapRoom:
|
||||
|
||||
?.full_square
|
||||
LDA.w #$174F
|
||||
EOR.w #(3-<quadrant>)<<14
|
||||
|
||||
?.write
|
||||
STA.l $7F0000+<writeOffset>, X
|
||||
|
||||
@@ -57,7 +57,13 @@ DungeonMapSwitch_Submodule:
|
||||
STA.b $A4
|
||||
|
||||
REP #$20
|
||||
JML $98BC8A
|
||||
STZ.b $E0
|
||||
STZ.b $E2
|
||||
STZ.b $E4
|
||||
STZ.b $E6
|
||||
STZ.b $E8
|
||||
STZ.b $EA
|
||||
JML $98BCA1
|
||||
|
||||
SkipMapSprites:
|
||||
STZ.b $00
|
||||
|
||||
@@ -21,6 +21,9 @@ endmacro
|
||||
%WriteGFXSheetPointer($D5, DungeonMapIcons1)
|
||||
%WriteGFXSheetPointer($D6, DungeonMapIcons2)
|
||||
|
||||
; TR is such a problem child
|
||||
%WriteGFXSheetPointer($A6, DungeonMapIcons2)
|
||||
|
||||
%WriteGFXSheetPointer($D4, MapSheetD4)
|
||||
|
||||
pullpc
|
||||
|
||||
@@ -31,30 +31,34 @@ struct DungeonMapData DungeonMapData
|
||||
.unused: skip 1
|
||||
endstruct
|
||||
|
||||
; $B9F880
|
||||
warnpc $B9F880
|
||||
org $B9F880
|
||||
|
||||
LootTypeIcons:
|
||||
dw $0B00, $0B00, $0B00, $0B00 ; 00 - nothing
|
||||
dw $2B0E, $6B0E, $2B3E, $6B3E ; 01 - unknown - basic chest
|
||||
dw $2F32, $6F32, $AF32, $EF32 ; 01 - unknown - dot
|
||||
dw $2B0D, $6B0D, $2B3D, $6B3D ; 02 - junk - pot
|
||||
dw $2B07, $6B07, $2B17, $2B18 ; 03 - small key
|
||||
dw $2B0B, $6B0B, $2B3B, $6B3B ; 04 - triforce piece
|
||||
dw $6B08, $2B08, $EB08, $AB08 ; 05 - safety - plus
|
||||
dw $AB3A, $EB3A, $2B3A, $6B3A ; 06 - compass
|
||||
dw $2B07, $6B07, $2B17, $2B18 ; 07 - small key
|
||||
dw $2B05, $6B05, $2B15, $2B16 ; 08 - big key
|
||||
dw $2B09, $2B0A, $2B39, $6B39 ; 09 - pendant
|
||||
dw $2B0F, $6B0F, $2B3F, $6B3F ; 0A - inventory item - big chest
|
||||
dw $2B09, $2B0A, $2B39, $6B39 ; 0B - also pendant
|
||||
dw $6F02, $2B02, $EB02, $AF02 ; 0C - crystal
|
||||
dw $2B0B, $6B0B, $2B3B, $6B3B ; 0D - triforce piece
|
||||
dw $2B0C, $6B0C, $2B3C, $6B3C ; 0E - triforce
|
||||
dw $0B00, $0B00, $0B00, $0B00 ; 0F - empty (reserved)
|
||||
dw $2B0E, $6B0E, $2B3E, $6B3E ; 06 - less important item - small chest
|
||||
dw $AB3A, $EB3A, $2B3A, $6B3A ; 07 - compass
|
||||
dw $2B07, $6B07, $2B17, $2B18 ; 08 - small key
|
||||
dw $2B05, $6B05, $2B15, $2B16 ; 09 - big key
|
||||
dw $2B09, $2B0A, $2B39, $6B39 ; 0A - pendant
|
||||
dw $2B0F, $6B0F, $2B3F, $6B3F ; 0B - important inventory item - big chest
|
||||
dw $2B09, $2B0A, $2B39, $6B39 ; 0C - also pendant
|
||||
dw $6F02, $2B02, $EB02, $AF02 ; 0D - crystal
|
||||
dw $2B0B, $6B0B, $2B3B, $6B3B ; 0E - triforce piece
|
||||
dw $2B0C, $6B0C, $2B3C, $6B3C ; 0F - triforce
|
||||
|
||||
; $B9F900
|
||||
warnpc $B9F900
|
||||
org $B9F900
|
||||
LootTypeMapping:
|
||||
incsrc data/item_mapping.asm
|
||||
|
||||
; $B9FA00
|
||||
warnpc $B9FA00
|
||||
org $B9FA00
|
||||
; Room ID mappings to bit to check for presence and address of item drop
|
||||
MiscLocations:
|
||||
dw $00C8 : db $04 : dl HeartContainer_ArmosKnights
|
||||
@@ -82,16 +86,18 @@ dw $FFFF : db $FF : dl $FFFFFF ; Moldorm 2? ($004D)
|
||||
dw $FFFF : db $FF : dl $FFFFFF ; Aga 2? ($000D)
|
||||
dw $FFFF
|
||||
|
||||
; $B9FA9A
|
||||
warnpc $B9FA9A
|
||||
org $B9FA9A
|
||||
MapHUDPalette:
|
||||
dw $0000, $3ED8, $2E54
|
||||
|
||||
; $B9FAA0
|
||||
warnpc $B9FAA0
|
||||
org $B9FAA0
|
||||
PrizeLocations:
|
||||
dw $00C8 : db $02 ; ArmosKnights
|
||||
dw $00C8 : db $02 ; Armos Knights
|
||||
dw $0033 : db $03 ; Lanmolas
|
||||
dw $0006 : db $05 ; Arrghus
|
||||
dw $005A : db $06 ; HelmasaurKing
|
||||
dw $005A : db $06 ; Helmasaur King
|
||||
dw $0090 : db $07 ; Vitreous
|
||||
dw $0029 : db $08 ; Mothula
|
||||
dw $00DE : db $09 ; Kholdstare
|
||||
@@ -100,7 +106,8 @@ dw $00AC : db $0B ; Blind
|
||||
dw $00A4 : db $0C ; Trinexx
|
||||
dw $FFFF
|
||||
|
||||
; $B9FAC0
|
||||
warnpc $B9FAC0
|
||||
org $B9FAC0
|
||||
SupertileEntrances:
|
||||
incsrc data/entrance_tiles.asm
|
||||
warnpc $B9FB00
|
||||
@@ -109,8 +116,8 @@ pad $B9FB00
|
||||
|
||||
; $B9FB00
|
||||
DungeonLabels:
|
||||
dw $2561, $256F ; Sewers
|
||||
dw $2564, $255F ; Hyrule Castle
|
||||
dw $2550, $2579 ; Sewers
|
||||
dw $2550, $2578 ; Hyrule Castle
|
||||
dw $2561, $256C ; Eastern Palace
|
||||
dw $2560, $256C ; Desert Palace
|
||||
dw $255D, $2570 ; Agahnim's Tower
|
||||
@@ -140,15 +147,16 @@ org $B9FF00
|
||||
; $06 - show fully lit with stairs and holes/internal walls (palette 2)
|
||||
ShowRooms:
|
||||
.default
|
||||
db $01
|
||||
db $02
|
||||
.have_map
|
||||
db $04
|
||||
db $05
|
||||
.have_compass
|
||||
db $03
|
||||
.visited_tile
|
||||
db $05
|
||||
db $04
|
||||
.reserved
|
||||
skip 4
|
||||
warnpc $B9FF08
|
||||
|
||||
org $B9FF08
|
||||
; $00 - do not show anything
|
||||
@@ -163,10 +171,9 @@ ShowItems:
|
||||
db $02
|
||||
.visited_tile
|
||||
db $01
|
||||
.item_is_compass ; NYI
|
||||
db $00
|
||||
.reserved
|
||||
skip 3
|
||||
skip 4
|
||||
warnpc $B9FF10
|
||||
|
||||
org $B9FF10
|
||||
; ---P bepc
|
||||
@@ -176,4 +183,4 @@ org $B9FF10
|
||||
; p - pots
|
||||
; c - chests
|
||||
ItemSources:
|
||||
db $1F
|
||||
db $09
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user