Files
Jonathan Tinney 7971961166
Some checks failed
Analyze modified files / flake8 (push) Failing after 2m28s
Build / build-win (push) Has been cancelled
Build / build-ubuntu2204 (push) Has been cancelled
ctest / Test C++ ubuntu-latest (push) Has been cancelled
ctest / Test C++ windows-latest (push) Has been cancelled
Analyze modified files / mypy (push) Has been cancelled
Build and Publish Docker Images / Push Docker image to Docker Hub (push) Successful in 5m4s
Native Code Static Analysis / scan-build (push) Failing after 5m2s
type check / pyright (push) Successful in 1m7s
unittests / Test Python 3.11.2 ubuntu-latest (push) Failing after 16m23s
unittests / Test Python 3.12 ubuntu-latest (push) Failing after 28m19s
unittests / Test Python 3.13 ubuntu-latest (push) Failing after 14m49s
unittests / Test hosting with 3.13 on ubuntu-latest (push) Successful in 5m0s
unittests / Test Python 3.13 macos-latest (push) Has been cancelled
unittests / Test Python 3.11 windows-latest (push) Has been cancelled
unittests / Test Python 3.13 windows-latest (push) Has been cancelled
add schedule I, sonic 1/frontiers/heroes, spirit island
2026-04-02 23:46:36 -07:00

261 lines
5.7 KiB
YAML

# remove the entire crescent island storm / tokay theft sequence.
09/5731/: jp $582a # tokays stealing items
09/5756/: jp $582a # ^
09/57a5/: | # ^
inc a
inc a
0a/4fe1/: jp interactionDelete # ^
0b/52e3/: jp interactionDelete # storm
12/638f/: db $f3,$57,$41,$ff # item in chicken hut
15//bombFairyCall: |
ld a,$1c # GLOBALFLAG_GOT_BOMB_UPGRADE_FROM_FAIRY
call setGlobalFlag
ld bc,locations.bombFairy
call spawnTreasureOnLink
ret
# Bomb fairy replacement
15/7061/: |
db $e0
dw bombFairyCall
db $00 # End script
# make guy in front of d2 go away if you have bombs.
09/5242/: |
ld a,$03
call checkTreasureObtained
jp c,interactionDelete
# and center him on a tile so you can't get stuck in a currents loop.
12/611c/: db 48
# stop d6 boss key chest from setting past boss key flag.
10/793c/: |
ret
nop
nop
# first and second time portals (near maku tree) are always active.
10/7d4e/: jr nz,$00 # present -> past
10/7d57/: jr c,$00 # past -> present
# allow harvesting seeds from trees with either shooter or satchel.
11//checkCanHarvestSeeds: |
call checkTreasureObtained
ret c
ld a,TREASURE_SHOOTER
jp checkTreasureObtained
11/4aba/: call checkCanHarvestSeeds
# remove the usual deku soldier event (taken to palace etc).
12/58f5/: ret
# cut off end of soldier's text so it makes sense when giving item.
23/6656/: db 00
# position the "you may go now" text correctly on screen.
23/65d8/: db 00
# prevent bridge-building foreman from setting flag 22 so that animal/flute
# event doesn't happen in fairies' woods.
15/75bf/: db setglobalflag,a2 # bit 7 = unset flag
# use different seed capacity table, so that level zero satchel can still
# hold 20 seeds.
3f//seedCapacityTable: |
db 20,20,50,99
3f/4607/: ld hl,seedCapacityTable
# don't equip sword in shooting gallery if link doesn't have it. it wouldn't
# work anyway.
15//setShootingGalleryEquips: |
ld a,TREASURE_SWORD
ld b,a
call checkTreasureObtained
jp c,@swordFound
ld a,TREASURE_BIGGORON_SWORD
ld b,$00
call checkTreasureObtained
jp nc,@swordFound
ld a,TREASURE_BIGGORON_SWORD
ldi (hl),a
ldi (hl),a
ret
@swordFound:
ld a,b
ldi (hl),a
ret
15/50ae/: call setShootingGalleryEquips
# Handle D8 slate staircase
0a//d8SlateStaircaseHandle : |
; Check if it's the right stair (not sure if the check is necessary)
ld a,(hl)
and $0f
call getNumSetBits
cp option.required_slates
ret
0a/70f9/: |
call d8SlateStaircaseHandle
nop
nop
;ret nz
0b//d8removeSlateIfStairOpen : |
ld a,$0a ; What the call replaced
ld (de),a
call getThisRoomFlags
bit 6,a
jp nz,interactionDelete
ret
0b/7f80/ : |
call d8removeSlateIfStairOpen
# Make Rafton skip the raft explanation
# (by checking the room flag instead of the 3rd essence)
15/6b43/: dw $c71f
15/6b45/: db $ff
# Sea of storm specific chest. (change if in linked game)
10/79ab/: dwbe locations.seaofstorm
10/79ad/: dwbe locations.seaofstorm
# Veran is beaten
10//thatallfolks: |
ld a,GLOBALFLAG_VERAN_BEATEN
call setGlobalFlag
call incMakuTreeState
ret
10/5aae/: call thatallfolks
# d2: if past entrance is closed, force it open upon exit
# d7: reset water level when exiting (see logic comments).
# NOTE : Potentially movable to another bank ?
38//checkDekuForestEntrance: |
ld a,(wWarpDestRoom)
cp $83
ret nz
ld a,(wWarpDestGroup)
cp $01
ret nz
ld a,($c883) ; room flags for d2 past entrance
or $80
ld ($c883),a
ret
38//checkJabuJabuEntrance: |
ld a,(wWarpDestRoom)
cp $56
ret nz
ld a,(wWarpDestGroup)
cp $05
ret nz
ld bc,$4d05 # d7 staircase above miniboss room
call compareRoom
ret z
ld a,$21
ld (wJabuWaterLevel),a
ret
38//handleSpecialExits_body: |
call checkDekuForestEntrance
call checkJabuJabuEntrance
ret
00//handleSpecialExits: |
ld (wWarpDestRoom),a
push bc
push hl
ld e,$38
ld hl,handleSpecialExits_body
call interBankCall
pop hl
pop bc
ret
04/45e8/: call handleSpecialExits
0a/4738/: call handleSpecialExits
# invalid tiles to time warp onto if player doesn't have flippers. the
# vanilla game assumes you have flippers by the time you have currents, and
# only checks against deep water tiles.
01//noFlippersTable: |
db f3,00
db fe,00
db ff,00
db e4,00
db e5,00
db e6,00
db e7,00
db e8,00
db e9,00
db fc,01
db fa,00
db e0,00
db e1,00
db e2,00
db e3,00
db 00
# check against a different set of invalid time warp destination tiles if the
# player doesn't have flippers.
01//preventDrowningByTimeWarp: |
ld hl,$6317
ld a,($c69f) # in wObtainedTreasureFlags
and $40
ret nz
ld hl,noFlippersTable
ret
01/6301/: call preventDrowningByTimeWarp
# Gale seed shouldn't work if you didn't visit any tree
# z set if tree found, unset otherwise
02//galeCheckAvailableTree_body : |
ld c,$00
ld b,$00
@checkTree:
ld a,c
call $66be ; getTreeWarpDataIndex
ldi a,(hl)
or a
ret z ; No tree found
push bc
ld c,a
call $6639 ; _mapMenu_checkRoomVisited
pop bc
jp nz,@treeFound
inc c
jr @checkTree
@treeFound:
ld b,$01
ret
# Check the value returned by the body and block gale seed if no tree visited
07//galeCheckAvailableTree: |
push de
push hl
ld a,($cc34) ; wTilesetFlags
bit 7,a
ld a,$00
jp z,@present
ld a,$01
@present:
ld ($cbb3),a ;mapmode
ld hl,galeCheckAvailableTree_body
ld e,$02
call interBankCall
pop hl
pop de
ld a,b
or a
jp z,$4f65 ; galeSeedUpdateAnimationAndCounter
ld a,($ccb5) ; wLinkGrabState2
jp $4fb0
07/4fad/: jp galeCheckAvailableTree