forked from mirror/Archipelago
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
155 lines
3.7 KiB
YAML
155 lines
3.7 KiB
YAML
# skip or abbreviate most potentially mandatory cutscenes.
|
|
|
|
# skip the cutscene when throwing a bomb into the volcano.
|
|
02//skipVolcanoCutscene: |
|
|
call getThisRoomFlags
|
|
set 6,(hl)
|
|
ld de,$d244
|
|
ld a,$02
|
|
ld (de),a
|
|
ld hl,$6314
|
|
call interactionSetScript
|
|
ld a,$15
|
|
call setGlobalFlag
|
|
; Unset a room flag which changed the layout to ensure exiting Temple Remains cave didn't lead to a softlock
|
|
ld hl,$c716
|
|
res 0,(hl)
|
|
ret
|
|
|
|
# enable exit from volcano room after skipping cutscene.
|
|
08/7cf5/: |
|
|
nop
|
|
nop
|
|
nop
|
|
|
|
# set up for and call skipVolcanoCutscene.
|
|
08/7d07/: |
|
|
ld a,($d244)
|
|
cp $01
|
|
ret nz
|
|
call interactionDelete
|
|
ld hl,skipVolcanoCutscene
|
|
jp callBank2
|
|
|
|
# use a non-cutscene screen transition for exiting a dungeon via essence, so that overworld music plays.
|
|
09/4b4d/: ld a,$81
|
|
|
|
# end maku seed cutscene as soon as link gets the seed.
|
|
0b/71ec/: |
|
|
db setglobalflag,$19
|
|
db enableinput
|
|
db scriptend
|
|
|
|
# Make the barrier cutscene not display the essences Link did not get
|
|
15/6b9c/: |
|
|
call skipEssence
|
|
jr nz,$15
|
|
|
|
15//skipEssence: |
|
|
ld b,(hl)
|
|
ld a,b
|
|
xor $07 ; Go from 0->7 to 7->0
|
|
ld hl,wEssencesObtained
|
|
call checkFlag
|
|
jp nz,getFreeInteractionSlot
|
|
inc a ; unsets the z flag
|
|
ret
|
|
|
|
# end northen peak cutscene as soon as the barrier is broken.
|
|
0b/79f1/: |
|
|
db setglobalflag,$1d
|
|
db enableinput
|
|
db scriptend
|
|
|
|
# skip linked cutscene when entering d8. cutscene warp will ignore dungeon
|
|
# shuffle if not removed.
|
|
0b/7a2a/: |
|
|
db writememory
|
|
dw wDisableWarpTiles
|
|
db $00
|
|
0b/7a32/: |
|
|
db setglobalflag,$1e
|
|
db scriptend
|
|
|
|
# skip the great furnace dance. for some reason jumpalways doesn't work here.
|
|
14/4b15/: |
|
|
db jumpifc6xxset,$92,$ff
|
|
dw $c33f
|
|
|
|
# set flags that are normally set during the pirate cutscene when skipping
|
|
# it. the season value should be set to the western coast default at
|
|
# randomization.
|
|
15//setPirateCutsceneFlags: |
|
|
call setGlobalFlag
|
|
; make the ship become docked
|
|
ld a,$17
|
|
call setGlobalFlag
|
|
; make the pirate skull appear
|
|
; ld a,$1b
|
|
; call setGlobalFlag
|
|
; Set some flag in room $0e2
|
|
ld hl,$c7e2
|
|
set 6,(hl)
|
|
; Set default season for Western Coast since the warp doesn't ensure it
|
|
ld a,defaultSeason.WESTERN_COAST
|
|
ld (wRoomStateModifier),a
|
|
; Take Pirate's Bell from the inventory
|
|
ld a,TREASURE_PIRATES_BELL
|
|
call loseTreasure
|
|
ret
|
|
15/5a0e/: call setPirateCutsceneFlags
|
|
|
|
# change destination of initial transition in pirate cutscene.
|
|
15/5a1c/: db $80,$e2,$00,$66 ; wWarpDestVariables, in order?
|
|
|
|
# Remove the pirate captain from western coast map because it triggers an odd cutscene when coming
|
|
# from the left in cases where D7 is replaced by D0 or D2 and alt entrances are enabled
|
|
11/6b5a/: db $b1,$10,$18,$18,$ff
|
|
|
|
# Remove floodgate's keeper behavior where he notices the key when it's owned while inside his
|
|
# house (which could trigger right as you hit the lever in a randomized context)
|
|
09/6289/: ret
|
|
|
|
# skip "you got all four seasons" text from season spirts.
|
|
15/57c2/: cp $05
|
|
|
|
# remove D8 falling crystal cutscenes (INTERACID_D8_GRABBABLE_ICE @state3)
|
|
09/5894/: |
|
|
; Set a flag for this room
|
|
call getThisRoomFlags
|
|
set 6,(hl)
|
|
|
|
; Store current active room
|
|
ld a,(wActiveRoom)
|
|
push af
|
|
|
|
; Change dungeon floor
|
|
ld hl,wDungeonFloor
|
|
ld a,(hl)
|
|
dec a
|
|
ld (hl),a
|
|
push hl
|
|
|
|
; Set active room to the one of the new dungeon floor
|
|
call $2d65 ; getActiveRoomFromDungeonMapPosition
|
|
ld (wActiveRoom),a
|
|
|
|
; Set a flag for this room
|
|
call getThisRoomFlags
|
|
set 6,(hl)
|
|
|
|
; Reset dungeon floor
|
|
pop hl
|
|
ld a,(hl)
|
|
inc a
|
|
ld (hl),a
|
|
|
|
; Reset active room
|
|
pop af
|
|
ld (wActiveRoom),a
|
|
|
|
ld a,SND_SOLVEPUZZLE_2
|
|
call playSound
|
|
|
|
jp interactionDelete
|