Merge pull request #2 from Catobat/OWFix2

Fix transitions for real
This commit is contained in:
codemann8
2021-04-26 18:00:51 -05:00
committed by GitHub
4 changed files with 12 additions and 8 deletions

4
CLI.py
View File

@@ -160,8 +160,8 @@ def parse_settings():
"keyshuffle": False, "keyshuffle": False,
"bigkeyshuffle": False, "bigkeyshuffle": False,
"keysanity": False, "keysanity": False,
"door_shuffle": "basic", "door_shuffle": "none",
"intensity": 2, "intensity": 3,
"experimental": False, "experimental": False,
"dungeon_counters": "default", "dungeon_counters": "default",
"mixed_travel": "prevent", "mixed_travel": "prevent",

2
Rom.py
View File

@@ -27,7 +27,7 @@ from EntranceShuffle import door_addresses, exit_ids
JAP10HASH = '03a63945398191337e896e5771f77173' JAP10HASH = '03a63945398191337e896e5771f77173'
RANDOMIZERBASEHASH = 'fe3da939a159ce3e7ff37442d265b94f' RANDOMIZERBASEHASH = 'e78243509664e63d4cd02047c80db209'
class JsonRom(object): class JsonRom(object):

View File

@@ -87,11 +87,12 @@ OWShuffle:
inx : lda.l OWEdgeOffsets,x ;record id of first transition in table inx : lda.l OWEdgeOffsets,x ;record id of first transition in table
;multiply ^ by 26, 26bytes per record ;multiply ^ by 26, 26bytes per record
stz $211c ;ensure the next write to $211b counts as the first write sta $4202 : lda #26 : sta $4203
sta $211b : stz $211b : lda #26 : sta $211c : pla ;a = number of trans ;do something else for 8 cycles before getting the result
ldx $2134 ;x = offset to first record pla ;a = number of trans
rep #$20 rep #$20
and #$00ff and #$00ff
ldx $4216 ;x = offset to first record
.nextTransition .nextTransition
pha pha
@@ -159,8 +160,11 @@ OWSearchTransition:
} }
OWNewDestination: OWNewDestination:
{ {
tya : sta $211b : stz $211b : lda #26 : sta $211c : rep #$20 : lda $2134 tya : sta $4202 : lda #26 : sta $4203
phx : !add 1,s : plx : !add #$0006 : tax ;a = offset to dest record ;do something else for 8 cycles before getting the result
rep #$20
txa : !add #$0006
adc $4216 : tax ;a = offset to dest record
lda.w $0000,x : sta $06 ; set coord lda.w $0000,x : sta $06 ; set coord
inx #2 : lda.w $0000,x : sta $04 ;save dest OW slot/ID inx #2 : lda.w $0000,x : sta $04 ;save dest OW slot/ID
;I thought I'd need some of these values below, but I likely dont need any of them ;I thought I'd need some of these values below, but I likely dont need any of them

Binary file not shown.