Fixed Frogsmith spawn to load correct sprite and accept him at home
This commit is contained in:
26
OWEdges.py
26
OWEdges.py
@@ -958,19 +958,19 @@ OWTileGroups = {
|
|||||||
'Palace of Darkness Area'
|
'Palace of Darkness Area'
|
||||||
]
|
]
|
||||||
),
|
),
|
||||||
# ("Blacksmith", "Regular"): (
|
("Blacksmith", "Regular"): (
|
||||||
# [
|
[
|
||||||
# 0x22, 0x62
|
0x22, 0x62
|
||||||
# ],
|
],
|
||||||
# [
|
[
|
||||||
# 'Blacksmith Area',
|
'Blacksmith Area',
|
||||||
# 'Bat Cave Ledge'
|
'Bat Cave Ledge'
|
||||||
# ],
|
],
|
||||||
# [
|
[
|
||||||
# 'Hammer Pegs Area',
|
'Hammer Peg Area',
|
||||||
# 'Hammer Pegs Entry'
|
'Hammer Peg Entry'
|
||||||
# ]
|
]
|
||||||
# ),
|
),
|
||||||
("Dunes", "Regular"): (
|
("Dunes", "Regular"): (
|
||||||
[
|
[
|
||||||
0x25, 0x65
|
0x25, 0x65
|
||||||
|
|||||||
29
Rom.py
29
Rom.py
@@ -28,7 +28,7 @@ from OverworldShuffle import default_flute_connections, flute_data
|
|||||||
|
|
||||||
|
|
||||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||||
RANDOMIZERBASEHASH = 'f10e887af782159e242c99a74df13874'
|
RANDOMIZERBASEHASH = 'a79956c1c0e5583ad694ac4296911e95'
|
||||||
|
|
||||||
|
|
||||||
class JsonRom(object):
|
class JsonRom(object):
|
||||||
@@ -593,19 +593,6 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False):
|
|||||||
# patch overworld edges
|
# patch overworld edges
|
||||||
inverted_buffer = [0] * 0x82
|
inverted_buffer = [0] * 0x82
|
||||||
if world.owShuffle[player] != 'vanilla' or world.owSwap[player] != 'vanilla':
|
if world.owShuffle[player] != 'vanilla' or world.owSwap[player] != 'vanilla':
|
||||||
rom.write_byte(0x18004C, 0x01) #patch for allowing Frogsmith to enter multi-entrance caves
|
|
||||||
# patches map data specific for OW Shuffle
|
|
||||||
inverted_buffer[0x03] = inverted_buffer[0x03] | 0x2 # convenient portal on WDM
|
|
||||||
inverted_buffer[0x1A] = inverted_buffer[0x1A] | 0x2 # rocks added to prevent OWG hardlock
|
|
||||||
inverted_buffer[0x1B] = inverted_buffer[0x1B] | 0x2 # rocks added to prevent OWG hardlock
|
|
||||||
inverted_buffer[0x22] = inverted_buffer[0x22] | 0x2 # rocks added to prevent OWG hardlock
|
|
||||||
inverted_buffer[0x3F] = inverted_buffer[0x3F] | 0x2 # added C to terrain
|
|
||||||
inverted_buffer[0x43] = inverted_buffer[0x43] | 0x2 # convenient portal on WDDM
|
|
||||||
inverted_buffer[0x5A] = inverted_buffer[0x5A] | 0x2 # rocks added to prevent OWG hardlock
|
|
||||||
inverted_buffer[0x5B] = inverted_buffer[0x5B] | 0x2 # rocks added to prevent OWG hardlock
|
|
||||||
inverted_buffer[0x62] = inverted_buffer[0x62] | 0x2 # rocks added to prevent OWG hardlock
|
|
||||||
inverted_buffer[0x7F] = inverted_buffer[0x7F] | 0x2 # added C to terrain
|
|
||||||
|
|
||||||
owMode = 0
|
owMode = 0
|
||||||
if world.owShuffle[player] == 'parallel':
|
if world.owShuffle[player] == 'parallel':
|
||||||
owMode = 1
|
owMode = 1
|
||||||
@@ -629,6 +616,20 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False):
|
|||||||
|
|
||||||
write_int16(rom, 0x150004, owFlags)
|
write_int16(rom, 0x150004, owFlags)
|
||||||
|
|
||||||
|
rom.write_byte(0x18004C, 0x01) # patch for allowing Frogsmith to enter multi-entrance caves
|
||||||
|
|
||||||
|
# patches map data specific for OW Shuffle
|
||||||
|
inverted_buffer[0x03] = inverted_buffer[0x03] | 0x2 # convenient portal on WDM
|
||||||
|
inverted_buffer[0x1A] = inverted_buffer[0x1A] | 0x2 # rocks added to prevent OWG hardlock
|
||||||
|
inverted_buffer[0x1B] = inverted_buffer[0x1B] | 0x2 # rocks added to prevent OWG hardlock
|
||||||
|
inverted_buffer[0x22] = inverted_buffer[0x22] | 0x2 # rocks added to prevent OWG hardlock
|
||||||
|
inverted_buffer[0x3F] = inverted_buffer[0x3F] | 0x2 # added C to terrain
|
||||||
|
inverted_buffer[0x43] = inverted_buffer[0x43] | 0x2 # convenient portal on WDDM
|
||||||
|
inverted_buffer[0x5A] = inverted_buffer[0x5A] | 0x2 # rocks added to prevent OWG hardlock
|
||||||
|
inverted_buffer[0x5B] = inverted_buffer[0x5B] | 0x2 # rocks added to prevent OWG hardlock
|
||||||
|
inverted_buffer[0x62] = inverted_buffer[0x62] | 0x2 # rocks added to prevent OWG hardlock
|
||||||
|
inverted_buffer[0x7F] = inverted_buffer[0x7F] | 0x2 # added C to terrain
|
||||||
|
|
||||||
if world.owSwap[player] == 'mixed':
|
if world.owSwap[player] == 'mixed':
|
||||||
for b in world.owswaps[player][0]:
|
for b in world.owswaps[player][0]:
|
||||||
# load inverted maps
|
# load inverted maps
|
||||||
|
|||||||
2
Rules.py
2
Rules.py
@@ -74,8 +74,6 @@ def set_rules(world, player):
|
|||||||
|
|
||||||
# TODO: Remove these rules when these scenarios aren't a problem
|
# TODO: Remove these rules when these scenarios aren't a problem
|
||||||
if world.owSwap[player] == 'mixed':
|
if world.owSwap[player] == 'mixed':
|
||||||
if 'Frog Area' in world.owswaps[player][2]:
|
|
||||||
set_rule(world.get_location('Frog', player), lambda state: False)
|
|
||||||
if 'Stumpy Area' in world.owswaps[player][2]:
|
if 'Stumpy Area' in world.owswaps[player][2]:
|
||||||
set_rule(world.get_location('Stumpy', player), lambda state: False)
|
set_rule(world.get_location('Stumpy', player), lambda state: False)
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,15 @@ jml OWFluteCancel2 : nop
|
|||||||
org $0ab90d ;JSL $02E99D
|
org $0ab90d ;JSL $02E99D
|
||||||
jsl OWFluteCancel
|
jsl OWFluteCancel
|
||||||
|
|
||||||
|
; allows Frog sprite to spawn in LW and also allows his friend to spawn in their house
|
||||||
|
org $068a76 ;LDA $7EF3CA : AND.w #$40
|
||||||
|
lda $1b : eor #1 : nop #2
|
||||||
|
|
||||||
|
; allows Frog to be accepted at Blacksmith
|
||||||
|
org $06b3ee ;LDA $7EF3CC : CMP #$07 : BEQ $06B42E
|
||||||
|
jsl OWSmithAccept : nop #2
|
||||||
|
db #$b0 ; BCS instead of BEQ
|
||||||
|
|
||||||
;(replacing -> LDA $8A : AND.b #$40)
|
;(replacing -> LDA $8A : AND.b #$40)
|
||||||
org $00d8c4 ; < ? - Bank00.asm 4068 ()
|
org $00d8c4 ; < ? - Bank00.asm 4068 ()
|
||||||
jsl.l OWWorldCheck
|
jsl.l OWWorldCheck
|
||||||
@@ -122,6 +131,13 @@ OWFluteCancel2:
|
|||||||
lda #$01 : sta $7f5006
|
lda #$01 : sta $7f5006
|
||||||
+ rtl
|
+ rtl
|
||||||
}
|
}
|
||||||
|
OWSmithAccept:
|
||||||
|
{
|
||||||
|
lda $7ef3cc : cmp #$07 : beq +
|
||||||
|
cmp #$08 : beq +
|
||||||
|
clc : rtl
|
||||||
|
+ sec : rtl
|
||||||
|
}
|
||||||
|
|
||||||
org $aa9000
|
org $aa9000
|
||||||
OWEdgeTransition:
|
OWEdgeTransition:
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user