aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/SeafoamIslandsB3F.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/SeafoamIslandsB3F.asm')
-rw-r--r--scripts/SeafoamIslandsB3F.asm81
1 files changed, 42 insertions, 39 deletions
diff --git a/scripts/SeafoamIslandsB3F.asm b/scripts/SeafoamIslandsB3F.asm
index 9d1093e5..8c225dcc 100644
--- a/scripts/SeafoamIslandsB3F.asm
+++ b/scripts/SeafoamIslandsB3F.asm
@@ -3,35 +3,35 @@ SeafoamIslandsB3F_Script:
ld hl, wFlags_0xcd60
bit 7, [hl]
res 7, [hl]
- jr z, .asm_465dc
+ jr z, .noBoulderWasPushed
ld hl, Seafoam4HolesCoords
call CheckBoulderCoords
ret nc
EventFlagAddress hl, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE
ld a, [wCoordIndex]
cp $1
- jr nz, .asm_465b8
+ jr nz, .boulder2FellDownHole
SetEventReuseHL EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE
ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_1
ld [wObjectToHide], a
ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_1
ld [wObjectToShow], a
- jr .asm_465c4
-.asm_465b8
+ jr .hideAndShowBoulderObjects
+.boulder2FellDownHole
SetEventAfterBranchReuseHL EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE
ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_2
ld [wObjectToHide], a
ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_2
ld [wObjectToShow], a
-.asm_465c4
+.hideAndShowBoulderObjects
ld a, [wObjectToHide]
ld [wMissableObjectIndex], a
predef HideObject
ld a, [wObjectToShow]
ld [wMissableObjectIndex], a
predef ShowObject
- jr .asm_465ed
-.asm_465dc
+ jr .runCurrentMapScript
+.noBoulderWasPushed
ld a, SEAFOAM_ISLANDS_B4F
ld [wDungeonWarpDestinationMap], a
ld hl, Seafoam4HolesCoords
@@ -39,7 +39,7 @@ SeafoamIslandsB3F_Script:
ld a, [wd732]
bit 4, a
ret nz
-.asm_465ed
+.runCurrentMapScript
ld hl, SeafoamIslandsB3F_ScriptPointers
ld a, [wSeafoamIslandsB3FCurScript]
jp CallFunctionInTable
@@ -50,12 +50,14 @@ Seafoam4HolesCoords:
db -1 ; end
SeafoamIslandsB3F_ScriptPointers:
- dw SeafoamIslands4Script0
- dw SeafoamIslands4Script1
- dw SeafoamIslands4Script2
- dw SeafoamIslands4Script3
+ def_script_pointers
+ dw_const SeafoamIslandsB3FDefaultScript, SCRIPT_SEAFOAMISLANDSB3F_DEFAULT
+ dw_const SeafoamIslandsB3FObjectMoving1Script, SCRIPT_SEAFOAMISLANDSB3F_OBJECT_MOVING1
+ dw_const SeafoamIslandsB3FMoveObjectScript, SCRIPT_SEAFOAMISLANDSB3F_MOVE_OBJECT
+ dw_const SeafoamIslandsB3FObjectMoving2Script, SCRIPT_SEAFOAMISLANDSB3F_OBJECT_MOVING2
+ EXPORT SCRIPT_SEAFOAMISLANDSB3F_MOVE_OBJECT ; used by engine/overworld/player_state.asm
-SeafoamIslands4Script0:
+SeafoamIslandsB3FDefaultScript:
CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
ret z
ld a, [wYCoord]
@@ -65,45 +67,45 @@ SeafoamIslands4Script0:
cp 15
ret nz
ld hl, wSimulatedJoypadStatesEnd
- ld de, RLEMovement46632
+ ld de, RLEList_ForcedSurfingStrongCurrentNearSteps
call DecodeRLEList
dec a
ld [wSimulatedJoypadStatesIndex], a
call StartSimulatingJoypadStates
ld hl, wFlags_D733
set 2, [hl]
- ld a, $1
+ ld a, SCRIPT_SEAFOAMISLANDSB3F_OBJECT_MOVING1
ld [wSeafoamIslandsB3FCurScript], a
ret
-RLEMovement46632:
+RLEList_ForcedSurfingStrongCurrentNearSteps:
db D_DOWN, 6
db D_RIGHT, 5
db D_DOWN, 3
db -1 ; end
-SeafoamIslands4Script1:
+SeafoamIslandsB3FObjectMoving1Script:
ld a, [wSimulatedJoypadStatesIndex]
and a
ret nz
- ld a, $0
+ ld a, SCRIPT_SEAFOAMISLANDSB3F_DEFAULT
ld [wSeafoamIslandsB3FCurScript], a
ret
-SeafoamIslands4Script2:
+SeafoamIslandsB3FMoveObjectScript:
CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
ret z
ld a, [wXCoord]
cp 18
- jr z, .asm_4665e
+ jr z, .playerFellThroughHoleLeft
cp 19
- ld a, $0
- jr nz, .asm_4667b
- ld de, RLEData_4667f
- jr .asm_46661
-.asm_4665e
- ld de, RLEData_46688
-.asm_46661
+ ld a, SCRIPT_SEAFOAMISLANDSB3F_DEFAULT
+ jr nz, .playerNotInStrongCurrent
+ ld de, .RLEList_StrongCurrentNearRightBoulder
+ jr .forceSurfMovement
+.playerFellThroughHoleLeft
+ ld de, .RLEList_StrongCurrentNearLeftBoulder
+.forceSurfMovement
ld hl, wSimulatedJoypadStatesEnd
call DecodeRLEList
dec a
@@ -114,36 +116,37 @@ SeafoamIslands4Script2:
set 7, [hl]
ld hl, wFlags_D733
set 2, [hl]
- ld a, $3
-.asm_4667b
+ ld a, SCRIPT_SEAFOAMISLANDSB3F_OBJECT_MOVING2
+.playerNotInStrongCurrent
ld [wSeafoamIslandsB3FCurScript], a
ret
-RLEData_4667f:
+.RLEList_StrongCurrentNearRightBoulder:
db D_DOWN, 6
db D_RIGHT, 2
db D_DOWN, 4
db D_LEFT, 1
db -1 ; end
-RLEData_46688:
+.RLEList_StrongCurrentNearLeftBoulder:
db D_DOWN, 6
db D_RIGHT, 2
db D_DOWN, 4
db -1 ; end
-SeafoamIslands4Script3:
+SeafoamIslandsB3FObjectMoving2Script:
ld a, [wSimulatedJoypadStatesIndex]
and a
ret nz
- ld a, $0
+ ld a, SCRIPT_SEAFOAMISLANDSB3F_DEFAULT
ld [wSeafoamIslandsB3FCurScript], a
ret
SeafoamIslandsB3F_TextPointers:
- dw BoulderText
- dw BoulderText
- dw BoulderText
- dw BoulderText
- dw BoulderText
- dw BoulderText
+ def_text_pointers
+ dw_const BoulderText, TEXT_SEAFOAMISLANDSB3F_BOULDER1
+ dw_const BoulderText, TEXT_SEAFOAMISLANDSB3F_BOULDER2
+ dw_const BoulderText, TEXT_SEAFOAMISLANDSB3F_BOULDER3
+ dw_const BoulderText, TEXT_SEAFOAMISLANDSB3F_BOULDER4
+ dw_const BoulderText, TEXT_SEAFOAMISLANDSB3F_BOULDER5
+ dw_const BoulderText, TEXT_SEAFOAMISLANDSB3F_BOULDER6