let's dev 5/27/2017
free world maps medallions for swordless hooks for curtains for swordless
This commit is contained in:
@@ -26,7 +26,7 @@ org $3FFFFF ; <- 1FFFFF
|
|||||||
db #$00 ; expand file to 2mb
|
db #$00 ; expand file to 2mb
|
||||||
|
|
||||||
org $1FFFF8 ; timestamp rom
|
org $1FFFF8 ; timestamp rom
|
||||||
dl #$20170525
|
dl #$20170527
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,10 @@ OnNewFile:
|
|||||||
LDA.l StartingTime+2 : STA $7EF454+2
|
LDA.l StartingTime+2 : STA $7EF454+2
|
||||||
SEP #$20 ; set 8-bit accumulator
|
SEP #$20 ; set 8-bit accumulator
|
||||||
;LDA #$FF : STA !RNG_ITEM_LOCK_IN ; reset rng item lock-in
|
;LDA #$FF : STA !RNG_ITEM_LOCK_IN ; reset rng item lock-in
|
||||||
|
LDA.l SwordlessMode : BEQ +
|
||||||
|
;LDA.b #$FF : STA $7EF2XX ; open aga tower curtain
|
||||||
|
;LDA.b #$FF : STA $7EF2XX ; open skull woods curtain
|
||||||
|
+
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
OnLinkDamaged:
|
OnLinkDamaged:
|
||||||
|
|||||||
13
hooks.asm
13
hooks.asm
@@ -657,6 +657,19 @@ NOP
|
|||||||
LoadNarrowObjectReturn:
|
LoadNarrowObjectReturn:
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Swordless Mode
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $07A49F ; <- 3A49F - Bank07.asm:5903 (LDA $7EF359 : INC A : AND.b #$FE : BEQ .cant_cast_play_sound) - Ether
|
||||||
|
JSL.l CheckMedallionSword
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $07A574 ; <- 3A574 - Bank07.asm:6025 (LDA $7EF359 : INC A : AND.b #$FE : BEQ BRANCH_BETA) - Bombos
|
||||||
|
JSL.l CheckMedallionSword
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $07A656 ; <- 3A656 - Bank07.asm:6133 (LDA $7EF359 : INC A : AND.b #$FE : BEQ BRANCH_BETA) - Quake
|
||||||
|
JSL.l CheckMedallionSword
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Medallion Tablets
|
; Medallion Tablets
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -179,7 +179,6 @@ FullInventoryExternal:
|
|||||||
!SHAME_CHEST = "$7EF416" ; ---s ----
|
!SHAME_CHEST = "$7EF416" ; ---s ----
|
||||||
AddInventory:
|
AddInventory:
|
||||||
PHA : PHX : PHP
|
PHA : PHX : PHP
|
||||||
|
|
||||||
CPY.b #$0C : BNE + ; Blue Boomerang
|
CPY.b #$0C : BNE + ; Blue Boomerang
|
||||||
LDA !INVENTORY_SWAP : ORA #$80 : STA !INVENTORY_SWAP
|
LDA !INVENTORY_SWAP : ORA #$80 : STA !INVENTORY_SWAP
|
||||||
BRL .incrementCounts
|
BRL .incrementCounts
|
||||||
|
|||||||
@@ -260,6 +260,9 @@ AddReceivedItemExpandedGetItem:
|
|||||||
+ CMP.b #$A0 : !BLT + : CMP.b #$B0 : !BGE + ; Free Small Key
|
+ CMP.b #$A0 : !BLT + : CMP.b #$B0 : !BGE + ; Free Small Key
|
||||||
AND #$0F : TAX
|
AND #$0F : TAX
|
||||||
LDA $7EF37C, X : INC : STA $7EF37C, X ; Increment Key Count
|
LDA $7EF37C, X : INC : STA $7EF37C, X ; Increment Key Count
|
||||||
|
TXA : ASL : CMP $040C : BNE ++
|
||||||
|
LDA $7EF36F : INC : STA $7EF36F
|
||||||
|
++
|
||||||
BRL .done
|
BRL .done
|
||||||
+
|
+
|
||||||
.done
|
.done
|
||||||
|
|||||||
@@ -28,18 +28,37 @@ GetCrystalNumber:
|
|||||||
PLX
|
PLX
|
||||||
RTL
|
RTL
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
!INVENTORY_MAP = "$7EF368"
|
||||||
OverworldMap_CheckObject:
|
OverworldMap_CheckObject:
|
||||||
LDA $FFFFFF
|
|
||||||
PHX
|
PHX
|
||||||
|
LDA $FFFFFF
|
||||||
LDA $7EF3C7 : CMP.b #$03 : BNE +
|
LDA $7EF3C7 : CMP.b #$03 : BNE +
|
||||||
;LW Map
|
;LW Map
|
||||||
|
LDA.l MapMode : BEQ +++
|
||||||
|
LDA.l !INVENTORY_MAP : AND.b #$01 : BNE +++
|
||||||
|
PHX
|
||||||
|
LDA.l .lw_map_offsets, X : TAX ; put map offset into X
|
||||||
|
LDA.l !INVENTORY_MAP, X
|
||||||
|
PLX
|
||||||
|
AND.l .lw_map_masks, X : BNE +++
|
||||||
|
BRL .fail
|
||||||
|
+++
|
||||||
LDA.l .lw_offsets, X
|
LDA.l .lw_offsets, X
|
||||||
BPL +++ : CLC : BRA .done : +++
|
BPL +++ : CLC : BRA .done : +++ ; don't display master sword
|
||||||
TAX : BRA ++
|
TAX : BRA ++
|
||||||
+ : CMP.b #$07 : BNE .fail
|
+ : CMP.b #$07 : BNE .fail
|
||||||
;DW Map
|
;DW Map
|
||||||
LDA.l .dw_offsets, X : TAX
|
LDA.l MapMode : BEQ +++
|
||||||
BRA ++
|
LDA.l !INVENTORY_MAP : AND.b #$02 : BNE +++
|
||||||
|
PHX
|
||||||
|
LDA.l .dw_map_offsets, X : TAX ; put map offset into X
|
||||||
|
LDA.l !INVENTORY_MAP, X
|
||||||
|
PLX
|
||||||
|
AND.l .dw_map_masks, X : BNE +++
|
||||||
|
BRL .fail
|
||||||
|
+++
|
||||||
|
LDA.l .dw_offsets, X
|
||||||
|
TAX : BRA ++
|
||||||
SEC
|
SEC
|
||||||
PLX
|
PLX
|
||||||
RTL
|
RTL
|
||||||
@@ -64,6 +83,14 @@ RTL
|
|||||||
db $02, $0A, $03, $FF
|
db $02, $0A, $03, $FF
|
||||||
.dw_offsets
|
.dw_offsets
|
||||||
db $06, $08, $0C, $0B, $07, $09, $05
|
db $06, $08, $0C, $0B, $07, $09, $05
|
||||||
|
.lw_map_offsets
|
||||||
|
db $01, $01, $00
|
||||||
|
.dw_map_offsets
|
||||||
|
db $01, $01, $00, $00, $00, $01, $00
|
||||||
|
.lw_map_masks
|
||||||
|
db $20, $10, $20, $00
|
||||||
|
.dw_map_masks
|
||||||
|
db $02, $04, $80, $10, $40, $01, $04
|
||||||
;================================================================================
|
;================================================================================
|
||||||
SetLWDWMap:
|
SetLWDWMap:
|
||||||
PHP
|
PHP
|
||||||
|
|||||||
@@ -42,3 +42,30 @@ GetSmithSword:
|
|||||||
JSL ItemSet_SmithSword
|
JSL ItemSet_SmithSword
|
||||||
JMP.l Smithy_AlreadyGotSword
|
JMP.l Smithy_AlreadyGotSword
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
CheckMedallionSword:
|
||||||
|
;LDA $FFFFFF
|
||||||
|
PHB : PHX : PHY
|
||||||
|
LDA.l SwordlessMode : BEQ +
|
||||||
|
LDA $8A : CMP.b #$70 : BNE ++
|
||||||
|
LDA.l MireRequiredMedallion : TAX : LDA.l .medallion_type, X : CMP $0303 : BNE +
|
||||||
|
LDA $7EF2F0 : AND.b #$20 : BNE +
|
||||||
|
LDA.b #$08 : PHA : PLB ; set data bank to $08
|
||||||
|
LDY.b #$02 : JSL.l Ancilla_CheckIfEntranceTriggered : BCS .permit ; misery mire
|
||||||
|
BRA +
|
||||||
|
++ : CMP.b #$47 : BNE ++
|
||||||
|
LDA.l TRockRequiredMedallion : TAX : LDA.l .medallion_type, X : CMP $0303 : BNE +
|
||||||
|
LDA $7EF2C7 : AND.b #$20 : BNE +
|
||||||
|
LDA.b #$08 : PHA : PLB ; set data bank to $08
|
||||||
|
LDY.b #$03 : JSL.l Ancilla_CheckIfEntranceTriggered : BCS .permit ; turtle rock
|
||||||
|
++
|
||||||
|
+
|
||||||
|
PLY : PLX : PLB
|
||||||
|
LDA $7EF359
|
||||||
|
RTL
|
||||||
|
.permit
|
||||||
|
PLY : PLX : PLB
|
||||||
|
LDA.b #$02 ; Pretend we have master sword
|
||||||
|
RTL
|
||||||
|
.medallion_type
|
||||||
|
db #$0F, #$10, #$11
|
||||||
|
;================================================================================
|
||||||
46
tables.asm
46
tables.asm
@@ -75,7 +75,7 @@ PedestalMusicCheck:
|
|||||||
;db #$01 ; #$01 = Master Sword (default)
|
;db #$01 ; #$01 = Master Sword (default)
|
||||||
org $0589B0 ; PC 0x289B0 ; sprite_master_sword.asm : 179
|
org $0589B0 ; PC 0x289B0 ; sprite_master_sword.asm : 179
|
||||||
PedestalSword:
|
PedestalSword:
|
||||||
db #$01 ; #$01 = Master Sword (default)
|
db #$6A ; #$01 = Master Sword (default)
|
||||||
|
|
||||||
org $308029 ; PC 0x180029
|
org $308029 ; PC 0x180029
|
||||||
SmithItemMode:
|
SmithItemMode:
|
||||||
@@ -141,6 +141,10 @@ org $30803E ; PC 0x18003E
|
|||||||
InvincibleGanon:
|
InvincibleGanon:
|
||||||
db #$00 ; #$00 = Off (default) - #$01 = On
|
db #$00 ; #$00 = Off (default) - #$01 = On
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
org $30803F ; PC 0x18003F
|
||||||
|
SwordlessMode:
|
||||||
|
db #$00 ; #$00 = Off (default) - #$01 = On
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
org $308080 ; PC 0x180080
|
org $308080 ; PC 0x180080
|
||||||
Upgrade5BombsRefill:
|
Upgrade5BombsRefill:
|
||||||
db #$00
|
db #$00
|
||||||
@@ -347,36 +351,6 @@ db $69 ; Eastern
|
|||||||
db $7F ; Darkness
|
db $7F ; Darkness
|
||||||
db $00 ;
|
db $00 ;
|
||||||
db $00 ;
|
db $00 ;
|
||||||
; Values are as the table below.
|
|
||||||
;--------------------------------------------------------------------------------
|
|
||||||
; THIS ENTIRE TABLE IS DEPRECATED
|
|
||||||
;org $0AC52D ; PC 0x5452D
|
|
||||||
;CrystalNum_Darkness:
|
|
||||||
;db $7F
|
|
||||||
;
|
|
||||||
;org $0AC527 ; PC 0x54527
|
|
||||||
;CrystalNum_Swamp:
|
|
||||||
;db $79
|
|
||||||
;
|
|
||||||
;org $0AC52C ; PC 0x5452C
|
|
||||||
;CrystalNum_Skull:
|
|
||||||
;db $6C ; 6C
|
|
||||||
;
|
|
||||||
;org $0AC52A ; PC 0x5452A
|
|
||||||
;CrystalNum_Thieves:
|
|
||||||
;db $6D
|
|
||||||
;
|
|
||||||
;org $0AC528 ; PC 0x54528
|
|
||||||
;CrystalNum_Ice:
|
|
||||||
;db $6E
|
|
||||||
;
|
|
||||||
;org $0AC529 ; PC 0x54529
|
|
||||||
;CrystalNum_Mire:
|
|
||||||
;db $6F
|
|
||||||
;
|
|
||||||
;org $0AC52B ; PC 0x5452B
|
|
||||||
;CrystalNum_TRock:
|
|
||||||
;db $7C ; 7C
|
|
||||||
|
|
||||||
;1 Indicator : 7F
|
;1 Indicator : 7F
|
||||||
;2 Indicator : 79
|
;2 Indicator : 79
|
||||||
@@ -951,8 +925,10 @@ db $04
|
|||||||
;6A:Goal Item (Single/Triforce)
|
;6A:Goal Item (Single/Triforce)
|
||||||
;6B:Goal Item (Multi/Power Star)
|
;6B:Goal Item (Multi/Power Star)
|
||||||
|
|
||||||
;70 - Map of ---
|
;DO NOT PLACE FREE DUNGEON ITEMS WITHIN THEIR OWN DUNGEONS - USE THE NORMAL VARIANTS
|
||||||
;71 - Map of ---
|
|
||||||
|
;70 - Map of Light World
|
||||||
|
;71 - Map of Dark World
|
||||||
;72 - Map of Ganon's Tower
|
;72 - Map of Ganon's Tower
|
||||||
;73 - Map of Turtle Rock
|
;73 - Map of Turtle Rock
|
||||||
;74 - Map of Thieves' Town
|
;74 - Map of Thieves' Town
|
||||||
@@ -968,8 +944,8 @@ db $04
|
|||||||
;7E - Map of Hyrule Castle
|
;7E - Map of Hyrule Castle
|
||||||
;7F - Map of Sewers
|
;7F - Map of Sewers
|
||||||
|
|
||||||
;80 - Compass of ---
|
;80 - Compass of Light World
|
||||||
;81 - Compass of ---
|
;81 - Compass of Dark World
|
||||||
;82 - Compass of Ganon's Tower
|
;82 - Compass of Ganon's Tower
|
||||||
;83 - Compass of Turtle Rock
|
;83 - Compass of Turtle Rock
|
||||||
;84 - Compass of Thieves' Town
|
;84 - Compass of Thieves' Town
|
||||||
|
|||||||
Reference in New Issue
Block a user