label overworld loop functions

This commit is contained in:
yenatch
2013-12-27 05:56:23 -05:00
parent ace57ec827
commit 58af27eaeb
3 changed files with 50 additions and 38 deletions

View File

@@ -3,23 +3,23 @@ INCLUDE "includes.asm"
SECTION "Events", ROMX, BANK[EVENTS] SECTION "Events", ROMX, BANK[EVENTS]
Function966b0: ; 966b0 OverworldLoop: ; 966b0
xor a xor a
ld [$d432], a ld [MapStatus], a
.asm_966b4 .loop
ld a, [$d432] ld a, [MapStatus]
ld hl, .pointers ld hl, .jumps
rst JumpTable rst JumpTable
ld a, [$d432] ld a, [MapStatus]
cp 3 ; done cp 3 ; done
jr nz, .asm_966b4 jr nz, .loop
.done .done
ret ret
.pointers .jumps
dw Function96724 dw StartMap
dw Function9673e dw EnterMap
dw Function96773 dw HandleMap
dw .done dw .done
; 966cb ; 966cb
@@ -115,12 +115,12 @@ Function9671e: ; 9671e
; 96724 ; 96724
Function96724: ; 96724 StartMap: ; 96724
xor a xor a
ld [ScriptVar], a ld [ScriptVar], a
xor a xor a
ld [ScriptRunning], a ld [ScriptRunning], a
ld hl, $d432 ld hl, MapStatus
ld bc, $3e ld bc, $3e
call ByteFill call ByteFill
callba Function113e5 callba Function113e5
@@ -129,28 +129,31 @@ Function96724: ; 96724
; 9673e ; 9673e
Function9673e: ; 9673e EnterMap: ; 9673e
xor a xor a
ld [$d453], a ld [$d453], a
ld [$d454], a ld [$d454], a
call Function968d1 call Function968d1
callba Function15363 callba Function15363
call Function966cb call Function966cb
ld a, [$ff9f] ld a, [$ff9f]
cp $f7 cp $f7
jr nz, .asm_9675a jr nz, .asm_9675a
call Function966d0 call Function966d0
.asm_9675a .asm_9675a
ld a, [$ff9f] ld a, [$ff9f]
cp $f3 cp $f3
jr nz, .asm_96764 jr nz, .asm_96764
xor a xor a
ld [PoisonStepCount], a ld [PoisonStepCount], a
.asm_96764 .asm_96764
xor a xor a
ld [$ff9f], a ld [$ff9f], a
ld a, $2 ld a, 2 ; HandleMap
ld [$d432], a ld [MapStatus], a
ret ret
; 9676d ; 9676d
@@ -162,14 +165,17 @@ Function9676d: ; 9676d
; 96773 ; 96773
Function96773: ; 96773 HandleMap: ; 96773
call ResetOverworldDelay call ResetOverworldDelay
call Function967c1 call Function967c1
callba Function97e08 callba Function97e08
call DoEvents call MapEvents
ld a, [$d432]
cp 2 ; Not immediately entering a connected map will cause problems.
ld a, [MapStatus]
cp 2 ; HandleMap
ret nz ret nz
call Function967d1 call Function967d1
call NextOverworldFrame call NextOverworldFrame
call Function967e1 call Function967e1
@@ -178,25 +184,25 @@ Function96773: ; 96773
; 96795 ; 96795
DoEvents: ; 96795 MapEvents: ; 96795
ld a, [$d433] ld a, [MapEventStatus]
ld hl, .pointers ld hl, .jumps
rst JumpTable rst JumpTable
ret ret
.pointers .jumps
dw Function967a1 dw .events
dw Function967ae dw .no_events
; 967a1 ; 967a1
Function967a1: ; 967a1 .events ; 967a1
call PlayerEvents call PlayerEvents
call Function966cb call Function966cb
callba ScriptEvents callba ScriptEvents
ret ret
; 967ae ; 967ae
Function967ae: ; 967ae .no_events ; 967ae
ret ret
; 967af ; 967af
@@ -220,11 +226,11 @@ NextOverworldFrame: ; 967b7
ret ret
; 967c1 ; 967c1
Function967c1: ; 967c1 Function967c1: ; 967c1
ld a, [$d433] ld a, [MapEventStatus]
cp 1 cp 1 ; no events
ret z ret z
call UpdateTime call UpdateTime
call GetJoypad call GetJoypad
call TimeOfDayPals call TimeOfDayPals
@@ -256,13 +262,13 @@ Function967f4: ; 967f4
call Function966d0 call Function966d0
.asm_96806 .asm_96806
ld a, $0 ld a, 0 ; events
ld [$d433], a ld [MapEventStatus], a
ret ret
.asm_9680c .asm_9680c
ld a, $1 ld a, 1 ; no events
ld [$d433], a ld [MapEventStatus], a
ret ret
; 96812 ; 96812
@@ -270,8 +276,8 @@ Function96812: ; 96812
ld hl, $d150 ld hl, $d150
bit 6, [hl] bit 6, [hl]
ret z ret z
callba Function81ca
callba Function81ca
ret ret
; 9681f ; 9681f
@@ -335,6 +341,7 @@ CheckTrainerBattle3: ; 96867
nop nop
call CheckTrainerBattle2 call CheckTrainerBattle2
jr nc, .asm_96872 jr nc, .asm_96872
ld a, 1 ld a, 1
scf scf
ret ret

View File

@@ -4189,7 +4189,7 @@ Function5e5d: ; 5e5d
res 7, [hl] res 7, [hl]
ld hl, $d83e ld hl, $d83e
set 1, [hl] set 1, [hl]
callba Function966b0 callba OverworldLoop
ld a, [$d4b5] ld a, [$d4b5]
cp $2 cp $2
jr z, .asm_5e80 jr z, .asm_5e80

View File

@@ -1561,7 +1561,12 @@ OTPartyMon5Nickname: ; d416
OTPartyMon6Nickname: ; d421 OTPartyMon6Nickname: ; d421
ds 11 ds 11
SECTION "Scripting",WRAMX[$d434],BANK[1] SECTION "Map Events", WRAMX[$d432], BANK[1]
MapStatus: ; d432
ds 1
MapEventStatus: ; d433
ds 1
ScriptFlags: ; d434 ScriptFlags: ; d434
ds 1 ds 1
ScriptFlags2: ; d435 ScriptFlags2: ; d435