summaryrefslogtreecommitdiff
path: root/engine/events.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/events.asm')
-rw-r--r--engine/events.asm69
1 files changed, 19 insertions, 50 deletions
diff --git a/engine/events.asm b/engine/events.asm
index 40e863cdc..0d708cdde 100644
--- a/engine/events.asm
+++ b/engine/events.asm
@@ -1,6 +1,5 @@
INCLUDE "includes.asm"
-
SECTION "Events", ROMX, BANK[EVENTS]
OverworldLoop:: ; 966b0
@@ -23,7 +22,6 @@ OverworldLoop:: ; 966b0
dw .done
; 966cb
-
DisableEvents: ; 966cb
xor a
ld [ScriptFlags3], a
@@ -114,21 +112,16 @@ CheckWildEncountersScriptFlag: ; 9671e
ret
; 96724
-
StartMap: ; 96724
xor a
ld [ScriptVar], a
xor a
ld [ScriptRunning], a
ld hl, MapStatus
- ld bc, $3e ; 62
+ ld bc, wMapStatusEnd - MapStatus
call ByteFill
callba InitCallReceiveDelay
call ClearJoypad
- ; fallthrough
-; 9673e
-
-
EnterMap: ; 9673e
xor a
ld [wd453], a
@@ -157,17 +150,15 @@ EnterMap: ; 9673e
ret
; 9676d
-
-Function9676d: ; 9676d
+UnusedWait30Frames: ; 9676d
ld c, 30
call DelayFrames
ret
; 96773
-
HandleMap: ; 96773
call ResetOverworldDelay
- call Function967c1
+ call HandleMapTimeAndJoypad
callba HandleCmdQueue ; no need to farcall
call MapEvents
@@ -183,7 +174,6 @@ HandleMap: ; 96773
ret
; 96795
-
MapEvents: ; 96795
ld a, [MapEventStatus]
ld hl, .jumps
@@ -206,7 +196,6 @@ MapEvents: ; 96795
ret
; 967af
-
MaxOverworldDelay: ; 967af
db 2
; 967b0
@@ -226,7 +215,7 @@ NextOverworldFrame: ; 967b7
ret
; 967c1
-Function967c1: ; 967c1
+HandleMapTimeAndJoypad: ; 967c1
ld a, [MapEventStatus]
cp 1 ; no events
ret z
@@ -239,28 +228,27 @@ Function967c1: ; 967c1
Function967d1: ; 967d1
callba Function576a ; engine/map_objects.asm
- callba Functiond497
- call Function96812
+ callba _HandlePlayerStep
+ call _CheckObjectEnteringVisibleRange
ret
; 967e1
Function967e1: ; 967e1
callba _UpdateSprites
- callba Functiond4d2
+ callba ScrollScreen
callba PlaceMapNameSign
ret
; 967f4
Function967f4: ; 967f4
ld a, [wPlayerStepFlags]
- bit 5, a
+ bit 5, a ; in the middle of step
jr z, .events
- bit 6, a
+ bit 6, a ; stopping step
jr z, .noevents
- bit 4, a
+ bit 4, a ; in midair
jr nz, .noevents
call EnableEvents
-
.events
ld a, 0 ; events
ld [MapEventStatus], a
@@ -272,18 +260,15 @@ Function967f4: ; 967f4
ret
; 96812
-Function96812: ; 96812
+_CheckObjectEnteringVisibleRange: ; 96812
ld hl, wPlayerStepFlags
bit 6, [hl]
ret z
-
- callba Function81ca
+ callba CheckObjectEnteringVisibleRange
ret
; 9681f
-
PlayerEvents: ; 9681f
-
xor a
; If there's already a player event, don't interrupt it.
ld a, [ScriptRunning]
@@ -313,7 +298,6 @@ PlayerEvents: ; 9681f
xor a
ret
-
.ok
push af
callba EnableScriptMode
@@ -335,7 +319,6 @@ PlayerEvents: ; 9681f
ret
; 96867
-
CheckTrainerBattle3: ; 96867
nop
nop
@@ -351,7 +334,6 @@ CheckTrainerBattle3: ; 96867
ret
; 96874
-
CheckTileEvent: ; 96874
; Check for warps, tile triggers or wild battles.
@@ -418,7 +400,6 @@ CheckTileEvent: ; 96874
ret
; 968c7
-
CheckWildEncounterCooldown:: ; 968c7
ld hl, wWildEncounterCooldown
ld a, [hl]
@@ -491,11 +472,11 @@ endr
bit 3, [hl]
jr z, .nope
- ld hl, ScriptDelay + 2
+ ld hl, wPriorityScriptAddr
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [ScriptDelay + 1]
+ ld a, [wPriorityScriptBank]
call CallScript
scf
ret
@@ -543,7 +524,6 @@ CheckTimeEvents: ; 9693a
ret
; 96974
-
OWPlayerInput: ; 96974
call PlayerMovement
@@ -573,7 +553,6 @@ OWPlayerInput: ; 96974
ret
; 96999
-
CheckAPressOW: ; 96999
ld a, [hJoyPressed]
and A_BUTTON
@@ -588,7 +567,6 @@ CheckAPressOW: ; 96999
ret
; 969ac
-
PlayTalkObject: ; 969ac
push de
ld de, SFX_READ_TEXT_2
@@ -597,7 +575,6 @@ PlayTalkObject: ; 969ac
ret
; 969b5
-
TryObjectEvent: ; 969b5
callba CheckFacingObject
jr c, .IsObject
@@ -641,7 +618,7 @@ TryObjectEvent: ; 969b5
.pointers
dbw PERSONTYPE_SCRIPT, .script
- dbw PERSONTYPE_ITEMFRAGMENT, .itemfragment
+ dbw PERSONTYPE_ITEMBALL, .itemball
dbw PERSONTYPE_TRAINER, .trainer
; the remaining four are dummy events
dbw PERSONTYPE_3, .three
@@ -662,7 +639,7 @@ TryObjectEvent: ; 969b5
ret
; 96a12
-.itemfragment ; 96a12
+.itemball ; 96a12
ld hl, MAPOBJECT_SCRIPT_POINTER
add hl, bc
ld a, [hli]
@@ -704,7 +681,6 @@ TryObjectEvent: ; 969b5
ret
; 96a38
-
TryReadSign: ; 96a38
call CheckFacingSign
jr c, .IsSign
@@ -767,8 +743,8 @@ TryReadSign: ; 96a38
ld de, EngineBuffer1
ld bc, 3
call FarCopyBytes
- ld a, BANK(SignpostItemScript)
- ld hl, SignpostItemScript
+ ld a, BANK(HiddenItemScript)
+ ld hl, HiddenItemScript
call CallScript
scf
ret
@@ -795,9 +771,8 @@ TryReadSign: ; 96a38
push hl
call PlayTalkObject
pop hl
-rept 2
inc hl
-endr
+ inc hl
call GetMapScriptHeaderBank
call GetFarHalfword
call GetMapScriptHeaderBank
@@ -810,7 +785,6 @@ endr
ret
; 96ad8
-
CheckSignFlag: ; 96ad8
ld hl, EngineBuffer4
ld a, [hli]
@@ -829,7 +803,6 @@ CheckSignFlag: ; 96ad8
ret
; 96af0
-
PlayerMovement: ; 96af0
callba DoPlayerMovement
ld a, c
@@ -896,7 +869,6 @@ PlayerMovement: ; 96af0
ret
; 96b30
-
CheckMenuOW: ; 96b30
xor a
ld [hMenuReturn], a
@@ -928,7 +900,6 @@ CheckMenuOW: ; 96b30
ret
; 96b58
-
StartMenuScript: ; 96b58
callasm StartMenu
jump StartMenuCallback
@@ -956,7 +927,6 @@ SelectMenuCallback: ; 96b66
end
; 96b79
-
CountStep: ; 96b79
; Don't count steps in link communication rooms.
ld a, [wLinkMode]
@@ -1024,7 +994,6 @@ CountStep: ; 96b79
ret
; 96bd3
-
.unreferenced: ; 96bd3
ld a, 7
scf