summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
Diffstat (limited to 'engine')
-rw-r--r--engine/color.asm24
-rw-r--r--engine/events.asm8
-rw-r--r--engine/events_2.asm44
-rw-r--r--engine/map_objects.asm330
-rw-r--r--engine/map_setup.asm2
-rw-r--r--engine/movement.asm606
-rw-r--r--engine/pack.asm20
-rw-r--r--engine/radio2.asm2
-rw-r--r--engine/scripting.asm47
-rw-r--r--engine/specials.asm8
10 files changed, 551 insertions, 540 deletions
diff --git a/engine/color.asm b/engine/color.asm
index ed65f59df..9fde4d77d 100644
--- a/engine/color.asm
+++ b/engine/color.asm
@@ -1,6 +1,12 @@
INCLUDE "predef/sgb.asm"
+SHINY_ATK_BIT EQU 5
+SHINY_DEF_VAL EQU 10
+SHINY_SPD_VAL EQU 10
+SHINY_SPC_VAL EQU 10
+LO_NYBBLE EQU $0f
+HI_NYBBLE EQU $f0
CheckShininess: ; 8a68
; Check if a mon is shiny by DVs at bc.
@@ -11,25 +17,25 @@ CheckShininess: ; 8a68
; Attack
ld a, [hl]
- and %0010 << 4
+ and 1 << SHINY_ATK_BIT
jr z, .NotShiny
; Defense
ld a, [hli]
- and %1111
- cp %1010
+ and LO_NYBBLE
+ cp SHINY_DEF_VAL
jr nz, .NotShiny
; Speed
ld a, [hl]
- and %1111 << 4
- cp %1010 << 4
+ and HI_NYBBLE
+ cp SHINY_SPD_VAL << 4
jr nz, .NotShiny
; Special
ld a, [hl]
- and %1111
- cp %1010
+ and LO_NYBBLE
+ cp SHINY_SPC_VAL
jr nz, .NotShiny
.Shiny
@@ -53,7 +59,7 @@ CheckContestMon: ; 8a88
; Defense
ld a, [hli]
- and $f
+ and LO_NYBBLE
cp 10
jr c, .Bad
@@ -64,7 +70,7 @@ CheckContestMon: ; 8a88
; Special
ld a, [hl]
- and $f
+ and LO_NYBBLE
cp 10
jr c, .Bad
diff --git a/engine/events.asm b/engine/events.asm
index 0740da545..20e2bc0dd 100644
--- a/engine/events.asm
+++ b/engine/events.asm
@@ -396,7 +396,7 @@ CheckTileEvent: ; 96874
ret
.return6
- ld a, [StandingTile]
+ ld a, [PlayerStandingTile]
call CheckPitTile
jr nz, .pittile
ld a, 6
@@ -606,7 +606,7 @@ TryObjectEvent: ; 969b5
.IsObject
call PlayTalkObject
- ld a, [hConnectedMapWidth]
+ ld a, [hObjectStructIndexBuffer]
call GetObjectStruct
ld hl, OBJECT_MAP_OBJECT_INDEX
add hl, bc
@@ -947,11 +947,11 @@ SelectMenuCallback: ; 96b66
; 96b72
.Script ; 96b72
- ptjump wd0e8
+ ptjump wQueuedScriptBank
; 96b75
.Asm ; 96b75
- ptcallasm wd0e8
+ ptcallasm wQueuedScriptBank
end
; 96b79
diff --git a/engine/events_2.asm b/engine/events_2.asm
index 966fa7d20..9dd604a47 100644
--- a/engine/events_2.asm
+++ b/engine/events_2.asm
@@ -109,7 +109,7 @@ RandomEncounter:: ; 97cc0
call CanUseSweetScent
jr nc, .nope
ld hl, StatusFlags2
- bit 2, [hl]
+ bit 2, [hl] ; bug contest
jr nz, .bug_contest
callba TryWildEncounter
jr nz, .nope
@@ -153,15 +153,15 @@ CanUseSweetScent:: ; 97cfd
bit 5, [hl]
jr nz, .no
ld a, [wPermission]
- cp $4
+ cp CAVE
jr z, .ice_check
- cp $7
+ cp DUNGEON
jr z, .ice_check
- callba Function149dd
+ callba CheckGrassCollision
jr nc, .no
.ice_check
- ld a, [StandingTile]
+ ld a, [PlayerStandingTile]
call CheckIceTile
jr z, .no
scf
@@ -235,11 +235,11 @@ ChooseWildEncounter_BugContest:: ; 97d31
; 97d64
TryWildEncounter_BugContest: ; 97d64
- ld a, [StandingTile]
+ ld a, [PlayerStandingTile]
call CheckSuperTallGrassTile
- ld b, $66
+ ld b, 40 percent
jr z, .ok
- ld b, $33
+ ld b, 20 percent
.ok
callba ApplyMusicEffectOnEncounterRate
@@ -351,24 +351,24 @@ Function97df9:: ; 97df9
Function97e08:: ; 97e08
ld hl, wd6de
xor a
-.asm_97e0c
- ld [hConnectionStripLength], a
+.loop
+ ld [hMapObjectIndexBuffer], a
ld a, [hl]
and a
- jr z, .asm_97e19
+ jr z, .skip
push hl
ld b, h
ld c, l
call Function97e79
pop hl
-.asm_97e19
+.skip
ld de, $0006
add hl, de
- ld a, [hConnectionStripLength]
+ ld a, [hMapObjectIndexBuffer]
inc a
cp $4
- jr nz, .asm_97e0c
+ jr nz, .loop
ret
; 97e25
@@ -441,14 +441,14 @@ Function97e5c:: ; 97e5c
; 97e72
Function97e72: ; 97e72
- ld hl, $0000
+ ld hl, 0
add hl, bc
ld [hl], 0
ret
; 97e79
Function97e79: ; 97e79
- ld hl, $0000
+ ld hl, 0
add hl, bc
ld a, [hl]
cp 5
@@ -473,11 +473,11 @@ endr
; 97e94
Table97e94: ; 97e94
- dbw BANK(Function97eb7), Function97eb7
- dbw BANK(Function97eb8), Function97eb8
- dbw BANK(Function97f42), Function97f42
- dbw BANK(Function97ef9), Function97ef9
- dbw BANK(Function97ebc), Function97ebc
+ dba Function97eb7
+ dba Function97eb8
+ dba Function97f42
+ dba Function97ef9
+ dba Function97ebc
; 97ea3
Function97ea3: ; 97ea3
@@ -620,7 +620,7 @@ Function97f42: ; 97f42
.asm_97f47
push af
- ld hl, $0000
+ ld hl, 0
add hl, de
ld a, [hl]
and a
diff --git a/engine/map_objects.asm b/engine/map_objects.asm
index d73ebd142..a5d792204 100644
--- a/engine/map_objects.asm
+++ b/engine/map_objects.asm
@@ -2,44 +2,45 @@
INCLUDE "engine/facings.asm"
ObjectStruct3_Data:: ; 4273
- db $00, $00, $01, $02, $00, $00 ; 00
- db $06, $00, $01, $0c, $00, $00 ; 01
- db $03, $00, $01, $00, $00, $00 ; 02
- db $04, $00, $01, $00, $00, $00 ; 03
- db $01, $00, $01, $00, $00, $00 ; 04
- db $02, $00, $01, $00, $00, $00 ; 05
- db $06, $00, $01, $00, $00, $00 ; 06
- db $06, $01, $01, $00, $00, $00 ; 07
- db $06, $02, $01, $00, $00, $00 ; 08
- db $06, $03, $01, $00, $00, $00 ; 09
- db $05, $00, $01, $00, $00, $00 ; 0a
- db $07, $00, $01, $02, $00, $00 ; 0b
- db $08, $00, $01, $00, $00, $00 ; 0c
- db $09, $00, $01, $00, $00, $00 ; 0d
- db $0a, $00, $01, $00, $00, $00 ; 0e
- db $0b, $00, $01, $00, $00, $00 ; 0f
- db $0c, $00, $01, $00, $00, $00 ; 10
- db $0d, $00, $01, $00, $00, $00 ; 11
- db $0e, $00, $01, $00, $00, $00 ; 12
- db $0f, $00, $01, $02, $00, $00 ; 13
- db $10, $00, $01, $02, $00, $00 ; 14
- db $15, $00, $09, $2e, $01, $c0 ; 15
- db $16, $00, $0a, $2e, $00, $00 ; 16
- db $06, $00, $01, $0c, $00, $00 ; 17
- db $06, $00, $01, $2e, $10, $00 ; 18
- db $11, $00, $01, $2e, $00, $40 ; 19
- db $12, $00, $01, $02, $00, $00 ; 1a
- db $13, $00, $00, $8e, $01, $00 ; 1b
- db $14, $00, $08, $8e, $02, $00 ; 1c
- db $17, $00, $00, $82, $00, $00 ; 1d
- db $19, $02, $01, $00, $00, $00 ; 1e
- db $18, $03, $01, $00, $00, $00 ; 1f
- db $11, $00, $0c, $2e, $01, $c0 ; 20
- db $11, $00, $0d, $2e, $01, $c0 ; 21
- db $1a, $00, $0e, $8e, $01, $00 ; 22
- db $1b, $00, $0f, $8e, $02, $00 ; 23
- db $03, $00, $01, $00, $00, $20 ; 24
- db $00, $00, $01, $00, $00, $00 ; 25
+ ; function, facing, ?, ?, ?, ?
+ db SPRITEMOVEFN_00, DOWN, $01, $02, $00, $00 ; 00
+ db SPRITEMOVEFN_06, DOWN, $01, $0c, $00, $00 ; 01
+ db SPRITEMOVEFN_03, DOWN, $01, $00, $00, $00 ; 02
+ db SPRITEMOVEFN_04, DOWN, $01, $00, $00, $00 ; 03
+ db SPRITEMOVEFN_01, DOWN, $01, $00, $00, $00 ; 04
+ db SPRITEMOVEFN_02, DOWN, $01, $00, $00, $00 ; 05
+ db SPRITEMOVEFN_06, DOWN, $01, $00, $00, $00 ; 06
+ db SPRITEMOVEFN_06, UP, $01, $00, $00, $00 ; 07
+ db SPRITEMOVEFN_06, LEFT, $01, $00, $00, $00 ; 08
+ db SPRITEMOVEFN_06, RIGHT, $01, $00, $00, $00 ; 09
+ db SPRITEMOVEFN_05, DOWN, $01, $00, $00, $00 ; 0a
+ db SPRITEMOVEFN_07, DOWN, $01, $02, $00, $00 ; 0b
+ db SPRITEMOVEFN_08, DOWN, $01, $00, $00, $00 ; 0c
+ db SPRITEMOVEFN_09, DOWN, $01, $00, $00, $00 ; 0d
+ db SPRITEMOVEFN_0A, DOWN, $01, $00, $00, $00 ; 0e
+ db SPRITEMOVEFN_0B, DOWN, $01, $00, $00, $00 ; 0f
+ db SPRITEMOVEFN_0C, DOWN, $01, $00, $00, $00 ; 10
+ db SPRITEMOVEFN_0D, DOWN, $01, $00, $00, $00 ; 11
+ db SPRITEMOVEFN_0E, DOWN, $01, $00, $00, $00 ; 12
+ db SPRITEMOVEFN_0F, DOWN, $01, $02, $00, $00 ; 13
+ db SPRITEMOVEFN_10, DOWN, $01, $02, $00, $00 ; 14
+ db SPRITEMOVEFN_15, DOWN, $09, $2e, $01, $c0 ; 15
+ db SPRITEMOVEFN_16, DOWN, $0a, $2e, $00, $00 ; 16
+ db SPRITEMOVEFN_06, DOWN, $01, $0c, $00, $00 ; 17
+ db SPRITEMOVEFN_06, DOWN, $01, $2e, $10, $00 ; 18
+ db SPRITEMOVEFN_11, DOWN, $01, $2e, $00, $40 ; 19
+ db SPRITEMOVEFN_12, DOWN, $01, $02, $00, $00 ; 1a
+ db SPRITEMOVEFN_13, DOWN, $00, $8e, $01, $00 ; 1b
+ db SPRITEMOVEFN_14, DOWN, $08, $8e, $02, $00 ; 1c
+ db SPRITEMOVEFN_17, DOWN, $00, $82, $00, $00 ; 1d
+ db SPRITEMOVEFN_19, LEFT, $01, $00, $00, $00 ; 1e
+ db SPRITEMOVEFN_18, RIGHT, $01, $00, $00, $00 ; 1f
+ db SPRITEMOVEFN_11, DOWN, $0c, $2e, $01, $c0 ; 20
+ db SPRITEMOVEFN_11, DOWN, $0d, $2e, $01, $c0 ; 21
+ db SPRITEMOVEFN_1A, DOWN, $0e, $8e, $01, $00 ; 22
+ db SPRITEMOVEFN_1B, DOWN, $0f, $8e, $02, $00 ; 23
+ db SPRITEMOVEFN_03, DOWN, $01, $00, $00, $20 ; 24
+ db SPRITEMOVEFN_00, DOWN, $01, $00, $00, $00 ; 25
; 4357
@@ -78,7 +79,7 @@ Function437b: ; 437b
; 4386
Function4386: ; 4386
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
res 6, [hl]
ld a, [XCoord]
@@ -104,7 +105,7 @@ Function4386: ; 4386
jr .yes
.ok
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
set 6, [hl]
ld a, [XCoord]
@@ -133,7 +134,7 @@ Function4386: ; 4386
ret
.ok2
- ld hl, OBJECT_04
+ ld hl, OBJECT_FLAGS1
add hl, bc
bit 1, [hl]
jr nz, .yes2
@@ -142,7 +143,7 @@ Function4386: ; 4386
ret
.yes2
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
set 6, [hl]
and a
@@ -155,20 +156,20 @@ Function43f3: ; 43f3
ld a, [hl]
and a
jr z, .zero
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
bit 5, [hl]
- jr nz, .not_bit5
+ jr nz, .bit5
cp 1
jr z, .one
jr .ok
.zero
call Function47bc
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
bit 5, [hl]
- jr nz, .not_bit5
+ jr nz, .bit5
.one
call Function47dd
@@ -185,17 +186,17 @@ Function43f3: ; 43f3
rst JumpTable
ret
-.not_bit5
+.bit5
ret
; 4427
Function4427: ; 4427
- ld hl, OBJECT_04
+ ld hl, OBJECT_FLAGS1
add hl, bc
bit 0, [hl]
jr nz, Function44a3
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
bit 6, [hl]
jr nz, Function44a3
@@ -208,7 +209,7 @@ Function4427: ; 4427
; 4440
Function4440: ; 4440
- ld hl, OBJECT_04
+ ld hl, OBJECT_FLAGS1
add hl, bc
bit 0, [hl]
jr nz, Function44a3
@@ -300,7 +301,7 @@ Function44b5: ; 44b5
; 44c1
Function44c1: ; 44c1
- ld hl, OBJECT_04
+ ld hl, OBJECT_FLAGS1
add hl, bc
bit 3, [hl]
jp nz, Function44aa
@@ -324,7 +325,7 @@ Function44c1: ; 44c1
; 44e4
Function44e4: ; 44e4
- ld hl, OBJECT_04
+ ld hl, OBJECT_FLAGS1
add hl, bc
bit 3, [hl]
jp nz, Function44aa
@@ -348,7 +349,7 @@ Function44e4: ; 44e4
; 4508
Function4508: ; 4508
- ld hl, OBJECT_04
+ ld hl, OBJECT_FLAGS1
add hl, bc
bit 3, [hl]
jp nz, Function44aa
@@ -603,7 +604,7 @@ Function462a: ; 462a
; 463f
Function463f: ; 463f
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
bit 3, [hl]
jr z, .ok
@@ -632,13 +633,13 @@ Function4661: ; 4661
jr c, .reset
.set
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
set 3, [hl]
ret
.reset
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
res 3, [hl]
ret
@@ -670,7 +671,7 @@ Function4690: ; 4690
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], a
- ld hl, OBJECT_04
+ ld hl, OBJECT_FLAGS1
add hl, bc
bit 2, [hl]
jr nz, .ok
@@ -827,7 +828,7 @@ Function4759: ; 4759
ret
; 4769
-Function4769: ; 4769
+RestoreDefaultMovement: ; 4769
ld hl, OBJECT_MAP_OBJECT_INDEX
add hl, bc
ld a, [hl]
@@ -1028,7 +1029,7 @@ Function4851: ; 4851
jp Function4b26
; 4869
-Function4869: ; 4869
+Function4869: ; standing?
call Function462a
call Function467b
ld hl, OBJECT_11
@@ -1082,7 +1083,7 @@ Function48a0: ; 48a0
; 48a6
Function48a6: ; 48a6
- ld hl, Function500e
+ ld hl, Function500e ; scripted
jp Function5041
; 48ac
@@ -1098,7 +1099,7 @@ Function48b3: ; 48b3
ld a, [hl]
call CheckPitTile
jr z, .on_pit
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
bit 2, [hl]
res 2, [hl]
@@ -1192,7 +1193,7 @@ Function48ff: ; 48ff
and %00001100
or d
pop bc
- jp Function5412
+ jp NormalStep
.standing
pop bc
@@ -1499,7 +1500,7 @@ Function4af0: ; 4af0
add hl, bc
ld [hl], 2
ld hl, wd4cf
- ld a, [hConnectionStripLength]
+ ld a, [hMapObjectIndexBuffer]
cp [hl]
jr z, .ok
ld hl, OBJECT_09
@@ -1604,7 +1605,7 @@ Function4b8d: ; 4b8d
ret nz
call Function4600
call Function46a6
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
res 3, [hl]
call IncrementObjectStructField28
@@ -1648,7 +1649,7 @@ Function4bd2: ; 4bd2
dec [hl]
ret nz
call Function4600
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
res 3, [hl]
ld hl, wd150
@@ -1723,7 +1724,7 @@ Function4c42: ; 4c42
ld hl, OBJECT_STEP_DURATION
add hl, bc
ld [hl], $10
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
res 3, [hl]
call IncrementObjectStructField28
@@ -2046,7 +2047,7 @@ Function4e0c: ; 4e0c
; 4e13
Function4e13: ; 4e13
- call Function4769
+ call RestoreDefaultMovement
call Function1a47
ld hl, OBJECT_FACING
add hl, bc
@@ -2198,7 +2199,7 @@ Function4ecd: ; 4ecd
ld b, a
callba CopyDECoordsToMapObject
pop bc
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
res 2, [hl]
call Function4600
@@ -2395,7 +2396,7 @@ UpdateJumpPosition: ; 4fd5
db -11, -10, -9, -8, -6, -4, 0, 0
; 5000
-Function5000: ; 5000
+Function5000: ; unscripted?
ld a, [wc2de]
ld hl, wc2df
ld [hl], a
@@ -2405,8 +2406,8 @@ Function5000: ; 5000
ret
; 500e
-Function500e: ; 500e
- ld hl, wc2e3
+Function500e: ; scripted
+ ld hl, wMovementDataPointer
call Function1aae
ret
; 5015
@@ -2417,7 +2418,7 @@ Function5015: ; 5015
ld e, [hl]
inc [hl]
ld d, 0
- ld hl, wc2e2
+ ld hl, wMovementPerson
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2447,7 +2448,7 @@ Function5037: ; 5037
; 503d
Function503d: ; 503d
- ld a, [wc2e2]
+ ld a, [wMovementPerson]
ret
; 5041
@@ -2466,14 +2467,14 @@ Function5041: ; 5041
CopyMovementPointer: ; 5055
ld a, l
- ld [wc2eb], a
+ ld [wMovementPointer], a
ld a, h
- ld [wc2ec], a
+ ld [wMovementPointer + 1], a
ret
; 505e
GetMovementByte: ; 505e
- ld hl, wc2eb
+ ld hl, wMovementPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2488,7 +2489,7 @@ Function5065: ; 5065
DoMovementFunction: ; 506b
push af
- call Function54b8
+ call ApplyMovementToFollower
pop af
ld hl, MovementPointers
rst JumpTable
@@ -2501,14 +2502,14 @@ INCLUDE "engine/movement.asm"
; 54b8
-Function54b8: ; 54b8
+ApplyMovementToFollower: ; 54b8
ld e, a
- ld a, [wd4ce]
+ ld a, [wObjectFollow_Follower]
cp -1
ret z
- ld a, [wd4cd]
+ ld a, [wObjectFollow_Leader]
ld d, a
- ld a, [hConnectionStripLength]
+ ld a, [hMapObjectIndexBuffer]
cp d
ret nz
ld a, e
@@ -2564,7 +2565,7 @@ Function54e6: ; 54e6
; 550a
Function550a: ; 550a
- ld a, [wd4cd]
+ ld a, [wObjectFollow_Leader]
cp -1
jr z, .nope
push bc
@@ -2580,7 +2581,7 @@ Function550a: ; 550a
.nope
ld a, $ff
- ld [wd4ce], a
+ ld [wObjectFollow_Follower], a
ld a, $47
scf
ret
@@ -2651,7 +2652,7 @@ Function5565: ; 5565
Function5579: ; 5579
push bc
- ld a, [hConnectionStripLength]
+ ld a, [hMapObjectIndexBuffer]
ld c, a
call Function5582
pop bc
@@ -2663,7 +2664,7 @@ Function5582: ; 5582
ld a, NUM_OBJECT_STRUCTS
.loop
push af
- ld hl, OBJECT_04
+ ld hl, OBJECT_FLAGS1
add hl, de
bit 7, [hl]
jr z, .next
@@ -2690,7 +2691,7 @@ Function5582: ; 5582
; 55ac
Function55ac: ; 55ac
- call Function1a13
+ call FindFirstEmptyObjectStruct
ret nc
ld d, h
ld e, l
@@ -2712,7 +2713,7 @@ Function55b9: ; 55b9
ld [hli], a
ld a, [de]
ld [hli], a
- ld a, [hConnectionStripLength]
+ ld a, [hMapObjectIndexBuffer]
ld [hli], a
push hl
ld hl, OBJECT_MAP_X
@@ -2737,7 +2738,7 @@ Function55e0:: ; 55e0
ld bc, ObjectStructs
xor a
.loop
- ld [hConnectionStripLength], a
+ ld [hMapObjectIndexBuffer], a
call GetObjectSprite
jr z, .ok
call Function565c
@@ -2747,7 +2748,7 @@ Function55e0:: ; 55e0
add hl, bc
ld b, h
ld c, l
- ld a, [hConnectionStripLength]
+ ld a, [hMapObjectIndexBuffer]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop
@@ -2801,13 +2802,13 @@ Function5645: ; 5645
xor a
ld bc, ObjectStructs
.loop
- ld [hConnectionStripLength], a
+ ld [hMapObjectIndexBuffer], a
call Function5680
ld hl, OBJECT_STRUCT_LENGTH
add hl, bc
ld b, h
ld c, l
- ld a, [hConnectionStripLength]
+ ld a, [hMapObjectIndexBuffer]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop
@@ -2927,7 +2928,7 @@ Function56cd: ; 56cd
sub $20
.ok3
- ld [$ffbd], a
+ ld [hUsedSpriteIndex], a
ld a, [wd14d]
ld e, a
ld hl, OBJECT_SPRITE_Y_OFFSET
@@ -2959,7 +2960,7 @@ Function56cd: ; 56cd
sub $20
.ok6
- ld [$ffbe], a
+ ld [hUsedSpriteTile], a
ld hl, OBJECT_PALETTE
add hl, bc
bit 7, [hl]
@@ -2977,14 +2978,14 @@ Function56cd: ; 56cd
.loop
ld a, [$ffbf]
ld d, a
- ld a, [$ffbe]
+ ld a, [hUsedSpriteTile]
add e
dec a
cp $12
jr nc, .ok9
ld b, a
.next
- ld a, [$ffbd]
+ ld a, [hUsedSpriteIndex]
add d
dec a
cp $14
@@ -3032,7 +3033,7 @@ Function5781: ; 5781
ld bc, ObjectStructs
xor a
.loop
- ld [hConnectionStripLength], a
+ ld [hMapObjectIndexBuffer], a
call GetObjectSprite
jr z, .next
call Function437b
@@ -3042,7 +3043,7 @@ Function5781: ; 5781
add hl, bc
ld b, h
ld c, l
- ld a, [hConnectionStripLength]
+ ld a, [hMapObjectIndexBuffer]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop
@@ -3055,7 +3056,7 @@ Function579d: ; 579d
ld [wc2df], a
xor a
ld [wd04e], a
- ld [wd4e2], a
+ ld [PlayerObject12], a
call Function57bc
callba CheckWarpCollision
call c, SpawnInFacingDown
@@ -3100,9 +3101,9 @@ Function57db: ; 57db
Function57e2: ; 57e2
ld a, d
- and $80
+ and %10000000
ret z
- ld bc, $0000 ; debug?
+ ld bc, 0 ; debug?
ld hl, OBJECT_FACING
add hl, bc
ld a, [hl]
@@ -3122,74 +3123,74 @@ Function57e2: ; 57e2
ret
; 5803
-Function5803:: ; 5803
+StartFollow:: ; 5803
push bc
ld a, b
- call Function5815
+ call SetLeaderIfVisible
pop bc
ret c
ld a, c
- call Function582c
+ call SetFollowerIfVisible
callba Function848a
ret
; 5815
-Function5815: ; 5815
- call Function18de
+SetLeaderIfVisible: ; 5815
+ call CheckObjectVisibility
ret c
- ld a, [hConnectedMapWidth]
- ld [wd4cd], a
+ ld a, [hObjectStructIndexBuffer]
+ ld [wObjectFollow_Leader], a
ret
; 581f
-Function581f:: ; 581f
- call Function5826
- call Function5847
+StopFollow:: ; 581f
+ call ResetLeader
+ call ResetFollower
ret
; 5826
-Function5826: ; 5826
+ResetLeader: ; 5826
ld a, -1
- ld [wd4cd], a
+ ld [wObjectFollow_Leader], a
ret
; 582c
-Function582c: ; 582c
+SetFollowerIfVisible: ; 582c
push af
- call Function5847
+ call ResetFollower
pop af
- call Function18de
+ call CheckObjectVisibility
ret c
- ld hl, OBJECT_03
+ ld hl, OBJECT_MOVEMENTTYPE
add hl, bc
- ld [hl], $13
+ ld [hl], SPRITEMOVEDATA_13
ld hl, OBJECT_09
add hl, bc
ld [hl], 0
- ld a, [hConnectedMapWidth]
- ld [wd4ce], a
+ ld a, [hObjectStructIndexBuffer]
+ ld [wObjectFollow_Follower], a
ret
; 5847
-Function5847: ; 5847
- ld a, [wd4ce]
+ResetFollower: ; 5847
+ ld a, [wObjectFollow_Follower]
cp -1
ret z
call GetObjectStruct
callba Function58e3
ld a, -1
- ld [wd4ce], a
+ ld [wObjectFollow_Follower], a
ret
; 585c
SetFlagsForMovement_1:: ; 585c
ld a, c
- call Function18de
+ call CheckObjectVisibility
ret c
push bc
call Function587a
pop bc
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
res 5, [hl]
xor a
@@ -3197,9 +3198,9 @@ SetFlagsForMovement_1:: ; 585c
; 586e
Function586e: ; 586e
- call Function18de
+ call CheckObjectVisibility
ret c
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
set 5, [hl]
xor a
@@ -3213,7 +3214,7 @@ Function587a: ; 587a
push af
call GetObjectSprite
jr z, .next
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
set 5, [hl]
@@ -3230,7 +3231,7 @@ Function587a: ; 587a
; 5897
_SetFlagsForMovement_2:: ; 5897
- ld a, [wd4cd]
+ ld a, [wObjectFollow_Leader]
cp -1
ret z
push bc
@@ -3241,11 +3242,11 @@ _SetFlagsForMovement_2:: ; 5897
pop bc
cp c
ret nz
- ld a, [wd4ce]
+ ld a, [wObjectFollow_Follower]
cp -1
ret z
call GetObjectStruct
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
res 5, [hl]
ret
@@ -3259,7 +3260,7 @@ Function58b9:: ; 58b9
push af
call GetObjectSprite
jr z, .next
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
res 5, [hl]
@@ -3277,9 +3278,9 @@ Function58b9:: ; 58b9
; 58d8
Function58d8: ; 58d8
- call Function18de
+ call CheckObjectVisibility
ret c
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
res 5, [hl]
ret
@@ -3297,7 +3298,7 @@ Function58e3: ; 58e3
add hl, bc
ld a, [hl]
pop bc
- ld hl, OBJECT_03
+ ld hl, OBJECT_MOVEMENTTYPE
add hl, bc
ld [hl], a
ld hl, OBJECT_09
@@ -3312,10 +3313,10 @@ Function5903: ; 5903
rrca
ld e, a
ld d, 0
- ld hl, .data_591c
+ ld hl, .standing_movefns
add hl, de
ld a, [hl]
- ld hl, OBJECT_03
+ ld hl, OBJECT_MOVEMENTTYPE
add hl, bc
ld [hl], a
ld hl, OBJECT_09
@@ -3323,8 +3324,11 @@ Function5903: ; 5903
ld [hl], 0
ret
-.data_591c
- db 6, 7, 8, 9
+.standing_movefns
+ db SPRITEMOVEDATA_STANDING_DOWN
+ db SPRITEMOVEDATA_STANDING_UP
+ db SPRITEMOVEDATA_STANDING_LEFT
+ db SPRITEMOVEDATA_STANDING_RIGHT
; 5920
RefreshMapAppearDisappear:: ; 5920
@@ -3332,7 +3336,7 @@ RefreshMapAppearDisappear:: ; 5920
bit 0, a
ret z
xor a
- ld [$ffbd], a
+ ld [hUsedSpriteIndex], a
ld a, [hOAMUpdate]
push af
ld a, 1
@@ -3352,12 +3356,12 @@ Function593a: ; 593a
ld b, $70
.ok
- ld a, [$ffbd]
+ ld a, [hUsedSpriteIndex]
cp b
ret nc
ld l, a
ld h, $c4
- ld de, OBJECT_04
+ ld de, OBJECT_FLAGS1
ld a, b
ld c, $a0
.loop
@@ -3427,13 +3431,13 @@ Function5991: ; 5991
Function59a4: ; 59a4
xor a
- ld hl, wc2eb
+ ld hl, wMovementPointer
ld bc, 13
call ByteFill
ld d, 0
ld bc, ObjectStructs
- ld hl, wc2eb
+ ld hl, wMovementPointer
.loop
push hl
call GetObjectSprite
@@ -3447,7 +3451,7 @@ Function59a4: ; 59a4
; Define the sprite priority.
ld e, $10
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
bit 0, [hl]
jr nz, .add
@@ -3484,7 +3488,7 @@ Function59a4: ; 59a4
; 59f3
Function59f3: ; 59f3
- ld hl, wc2eb
+ ld hl, wMovementPointer
.next
ld a, [hli]
ld d, a
@@ -3517,7 +3521,7 @@ Function5a0d: ; 5a0d
or %00001000
.skip1
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, bc
ld e, [hl]
bit 7, e
@@ -3592,11 +3596,11 @@ Function5a0d: ; 5a0d
ld h, [hl]
ld l, a
- ld a, [$ffbd]
+ ld a, [hUsedSpriteIndex]
ld c, a
ld b, Sprites / $100
ld a, [hli]
- ld [$ffbe], a
+ ld [hUsedSpriteTile], a
add c
cp SpritesEnd % $100
jr nc, .full
@@ -3641,13 +3645,13 @@ Function5a0d: ; 5a0d
ld [bc], a
inc c
- ld a, [$ffbe]
+ ld a, [hUsedSpriteTile]
dec a
- ld [$ffbe], a
+ ld [hUsedSpriteTile], a
jr nz, .addsprite
ld a, c
- ld [$ffbd], a
+ ld [hUsedSpriteIndex], a
.done
xor a
@@ -3673,16 +3677,16 @@ endr
.Addresses ; 5ace
dw PlayerStruct
- dw ObjectStruct1
- dw ObjectStruct2
- dw ObjectStruct3
- dw ObjectStruct4
- dw ObjectStruct5
- dw ObjectStruct6
- dw ObjectStruct7
- dw ObjectStruct8
- dw ObjectStruct9
- dw ObjectStruct10
- dw ObjectStruct11
- dw ObjectStruct12
+ dw Object1Struct
+ dw Object2Struct
+ dw Object3Struct
+ dw Object4Struct
+ dw Object5Struct
+ dw Object6Struct
+ dw Object7Struct
+ dw Object8Struct
+ dw Object9Struct
+ dw Object10Struct
+ dw Object11Struct
+ dw Object12Struct
; 5ae8
diff --git a/engine/map_setup.asm b/engine/map_setup.asm
index 8b1e3a7fe..0e391b31c 100644
--- a/engine/map_setup.asm
+++ b/engine/map_setup.asm
@@ -313,7 +313,7 @@ SuspendMapAnims: ; 154d3
LoadObjectsRunCallback_02: ; 154d7
ld a, $2
call RunMapCallback
- callba Function2454f
+ callba LoadObjectMasks
callba Function8177
ret
; 154ea (5:54ea)
diff --git a/engine/movement.asm b/engine/movement.asm
index d3c570cf5..0a6851ed4 100644
--- a/engine/movement.asm
+++ b/engine/movement.asm
@@ -1,120 +1,120 @@
MovementPointers: ; 5075
- dw Movement_turn_head_down
- dw Movement_turn_head_up
- dw Movement_turn_head_left
- dw Movement_turn_head_right
- dw Movement_half_step_down
- dw Movement_half_step_up
- dw Movement_half_step_left
- dw Movement_half_step_right
- dw Movement_slow_step_down
- dw Movement_slow_step_up
- dw Movement_slow_step_left
- dw Movement_slow_step_right
- dw Movement_step_down
- dw Movement_step_up
- dw Movement_step_left
- dw Movement_step_right
- dw Movement_big_step_down
- dw Movement_big_step_up
- dw Movement_big_step_left
- dw Movement_big_step_right
- dw Movement_slow_slide_step_down
- dw Movement_slow_slide_step_up
- dw Movement_slow_slide_step_left
- dw Movement_slow_slide_step_right
- dw Movement_slide_step_down
- dw Movement_slide_step_up
- dw Movement_slide_step_left
- dw Movement_slide_step_right
- dw Movement_fast_slide_step_down
- dw Movement_fast_slide_step_up
- dw Movement_fast_slide_step_left
- dw Movement_fast_slide_step_right
- dw Movement_turn_away_down
- dw Movement_turn_away_up
- dw Movement_turn_away_left
- dw Movement_turn_away_right
- dw Movement_turn_in_down
- dw Movement_turn_in_up
- dw Movement_turn_in_left
- dw Movement_turn_in_right
- dw Movement_turn_waterfall_down
- dw Movement_turn_waterfall_up
- dw Movement_turn_waterfall_left
- dw Movement_turn_waterfall_right
- dw Movement_slow_jump_step_down
- dw Movement_slow_jump_step_up
- dw Movement_slow_jump_step_left
- dw Movement_slow_jump_step_right
- dw Movement_jump_step_down
- dw Movement_jump_step_up
- dw Movement_jump_step_left
- dw Movement_jump_step_right
- dw Movement_fast_jump_step_down
- dw Movement_fast_jump_step_up
- dw Movement_fast_jump_step_left
- dw Movement_fast_jump_step_right
- dw Function5293
- dw Function529c
- dw Movement_remove_fixed_facing
- dw Movement_fix_facing
- dw Function52b7
- dw Movement_hide_person
- dw Movement_show_person
- dw Function5226
- dw Function522a
- dw Function522e
- dw Function5232
- dw Function5236
- dw Function523a
- dw Movement_accelerate_last
- dw Movement_step_sleep
- dw Movement_step_end
- dw Function51db
- dw Movement_remove_person
- dw Function51b8
- dw Function5210
- dw Movement_teleport_from
- dw Movement_teleport_to
- dw Movement_skyfall
- dw Movement_step_wait5
- dw Function525f
- dw Function5189
- dw Function51ab
- dw Movement_hide_emote
- dw Movement_show_emote
- dw Movement_step_shake
- dw Function5279
- dw Function5196
- dw Function516a
- dw Function513e
+ dw Movement_turn_head_down ; 00
+ dw Movement_turn_head_up ; 01
+ dw Movement_turn_head_left ; 02
+ dw Movement_turn_head_right ; 03
+ dw Movement_half_step_down ; 04
+ dw Movement_half_step_up ; 05
+ dw Movement_half_step_left ; 06
+ dw Movement_half_step_right ; 07
+ dw Movement_slow_step_down ; 08
+ dw Movement_slow_step_up ; 09
+ dw Movement_slow_step_left ; 0a
+ dw Movement_slow_step_right ; 0b
+ dw Movement_step_down ; 0c
+ dw Movement_step_up ; 0d
+ dw Movement_step_left ; 0e
+ dw Movement_step_right ; 0f
+ dw Movement_big_step_down ; 10
+ dw Movement_big_step_up ; 11
+ dw Movement_big_step_left ; 12
+ dw Movement_big_step_right ; 13
+ dw Movement_slow_slide_step_down ; 14
+ dw Movement_slow_slide_step_up ; 15
+ dw Movement_slow_slide_step_left ; 16
+ dw Movement_slow_slide_step_right ; 17
+ dw Movement_slide_step_down ; 18
+ dw Movement_slide_step_up ; 19
+ dw Movement_slide_step_left ; 1a
+ dw Movement_slide_step_right ; 1b
+ dw Movement_fast_slide_step_down ; 1c
+ dw Movement_fast_slide_step_up ; 1d
+ dw Movement_fast_slide_step_left ; 1e
+ dw Movement_fast_slide_step_right ; 1f
+ dw Movement_turn_away_down ; 20
+ dw Movement_turn_away_up ; 21
+ dw Movement_turn_away_left ; 22
+ dw Movement_turn_away_right ; 23
+ dw Movement_turn_in_down ; 24
+ dw Movement_turn_in_up ; 25
+ dw Movement_turn_in_left ; 26
+ dw Movement_turn_in_right ; 27
+ dw Movement_turn_waterfall_down ; 28
+ dw Movement_turn_waterfall_up ; 29
+ dw Movement_turn_waterfall_left ; 2a
+ dw Movement_turn_waterfall_right ; 2b
+ dw Movement_slow_jump_step_down ; 2c
+ dw Movement_slow_jump_step_up ; 2d
+ dw Movement_slow_jump_step_left ; 2e
+ dw Movement_slow_jump_step_right ; 2f
+ dw Movement_jump_step_down ; 30
+ dw Movement_jump_step_up ; 31
+ dw Movement_jump_step_left ; 32
+ dw Movement_jump_step_right ; 33
+ dw Movement_fast_jump_step_down ; 34
+ dw Movement_fast_jump_step_up ; 35
+ dw Movement_fast_jump_step_left ; 36
+ dw Movement_fast_jump_step_right ; 37
+ dw Movement_38 ; 38
+ dw Movement_39 ; 39
+ dw Movement_remove_fixed_facing ; 3a
+ dw Movement_fix_facing ; 3b
+ dw Movement_3c ; 3c
+ dw Movement_hide_person ; 3d
+ dw Movement_show_person ; 3e
+ dw Movement_3f ; 3f
+ dw Movement_40 ; 40
+ dw Movement_41 ; 41
+ dw Movement_42 ; 42
+ dw Movement_43 ; 43
+ dw Movement_44 ; 44
+ dw Movement_accelerate_last ; 45
+ dw Movement_step_sleep ; 46
+ dw Movement_step_end ; 47
+ dw Movement_48 ; 48
+ dw Movement_remove_person ; 49
+ dw Movement_4a ; 4a
+ dw Movement_4b ; 4b
+ dw Movement_teleport_from ; 4c
+ dw Movement_teleport_to ; 4d
+ dw Movement_skyfall ; 4e
+ dw Movement_step_wait5 ; 4f
+ dw Movement_50 ; 50
+ dw Movement_51 ; 51
+ dw Movement_52 ; 52
+ dw Movement_hide_emote ; 53
+ dw Movement_show_emote ; 54
+ dw Movement_step_shake ; 55
+ dw Movement_56 ; 56
+ dw Movement_57 ; 57
+ dw Movement_58 ; 58
+ dw Movement_59 ; 59
; 5129
Movement_teleport_from: ; 5129
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $c
ret
; 5130
Movement_teleport_to: ; 5130
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $d
ret
; 5137
Movement_skyfall: ; 5137
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $e
ret
; 513e
-Function513e: ; 513e
- ld hl, $0009
+Movement_59: ; 513e
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $19
ret
@@ -124,115 +124,115 @@ Movement_step_wait5: ; 5145
call GetSpriteDirection
rlca
rlca
- ld hl, $000c
+ ld hl, OBJECT_12
add hl, bc
ld [hl], a
- ld hl, $000b
+ ld hl, OBJECT_11
add hl, bc
ld [hl], $4
call GetMovementByte
- ld hl, $000a
+ ld hl, OBJECT_STEP_DURATION
add hl, bc
ld [hl], a
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $3
- ld hl, $0007
+ ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], $ff
ret
; 516a
-Function516a: ; 516a
+Movement_58: ; 516a
call GetSpriteDirection
rlca
rlca
- ld hl, $000c
+ ld hl, OBJECT_12
add hl, bc
ld [hl], a
call GetMovementByte
- ld hl, $000a
+ ld hl, OBJECT_STEP_DURATION
add hl, bc
ld [hl], a
- ld hl, $0007
+ ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], $ff
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $12
ret
; 5189
-Function5189: ; 5189
- ld hl, $000b
+Movement_51: ; 5189
+ ld hl, OBJECT_11
add hl, bc
ld [hl], $6
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $10
ret
; 5196
-Function5196: ; 5196
+Movement_57: ; 5196
call GetMovementByte
- ld hl, $000a
+ ld hl, OBJECT_STEP_DURATION
add hl, bc
ld [hl], a
- ld hl, $000b
+ ld hl, OBJECT_11
add hl, bc
ld [hl], $1
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $11
ret
; 51ab
-Function51ab: ; 51ab
- ld hl, $000b
+Movement_52: ; 51ab
+ ld hl, OBJECT_11
add hl, bc
ld [hl], $6
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $1
ret
; 51b8
-Function51b8: ; 51b8
- ld hl, $001b
+Movement_4a: ; 51b8
+ ld hl, OBJECT_27
add hl, bc
ld [hl], $0
jp Function5065
; 51c1
Movement_step_end: ; 51c1
- call Function4769
- ld hl, $0003
+ call RestoreDefaultMovement
+ ld hl, OBJECT_MOVEMENTTYPE
add hl, bc
ld [hl], a
- ld hl, $001b
+ ld hl, OBJECT_27
add hl, bc
ld [hl], $0
ld hl, VramState
res 7, [hl]
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $1
ret
; 51db
-Function51db: ; 51db
- call Function4769
- ld hl, $0003
+Movement_48: ; 51db
+ call RestoreDefaultMovement
+ ld hl, OBJECT_MOVEMENTTYPE
add hl, bc
ld [hl], a
- ld hl, $001b
+ ld hl, OBJECT_27
add hl, bc
ld [hl], $0
call GetMovementByte
- ld hl, $000a
+ ld hl, OBJECT_STEP_DURATION
add hl, bc
ld [hl], a
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $3
ld hl, VramState
@@ -242,8 +242,8 @@ Function51db: ; 51db
Movement_remove_person: ; 51fd
call Function4357
- ld hl, wd4cd
- ld a, [hConnectionStripLength]
+ ld hl, wObjectFollow_Leader
+ ld a, [hMapObjectIndexBuffer]
cp [hl]
jr nz, .asm_520a
ld [hl], $ff
@@ -254,11 +254,11 @@ Movement_remove_person: ; 51fd
ret
; 5210
-Function5210: ; 5210
- ld hl, $000b
+Movement_4b: ; 5210
+ ld hl, OBJECT_11
add hl, bc
ld [hl], $1
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $4
ld hl, VramState
@@ -270,27 +270,27 @@ Movement_show_person: ; 5222
ld a, $1
jr Function5247
-Function5226: ; 5226
+Movement_3f: ; 5226
ld a, $2
jr Function5247
-Function522a: ; 522a
+Movement_40: ; 522a
ld a, $3
jr Function5247
-Function522e: ; 522e
+Movement_41: ; 522e
ld a, $4
jr Function5247
-Function5232: ; 5232
+Movement_42: ; 5232
ld a, $5
jr Function5247
-Function5236: ; 5236
+Movement_43: ; 5236
ld a, $6
jr Function5247
-Function523a: ; 523a
+Movement_44: ; 523a
ld a, $7
jr Function5247
@@ -306,92 +306,92 @@ Movement_step_sleep: ; 5242
jr Function5247
Function5247: ; 5247
- ld hl, $000a
+ ld hl, OBJECT_STEP_DURATION
add hl, bc
ld [hl], a
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $3
- ld hl, $000b
+ ld hl, OBJECT_11
add hl, bc
ld [hl], $1
- ld hl, $0007
+ ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], $ff
ret
; 525f
-Function525f: ; 525f
+Movement_50: ; 525f
ld a, $1
- ld hl, $000a
+ ld hl, OBJECT_STEP_DURATION
add hl, bc
ld [hl], a
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $b
- ld hl, $000b
+ ld hl, OBJECT_11
add hl, bc
ld [hl], $3
- ld hl, $0007
+ ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], $ff
ret
; 5279
-Function5279: ; 5279
+Movement_56: ; 5279
ld a, $18
- ld hl, $000a
+ ld hl, OBJECT_STEP_DURATION
add hl, bc
ld [hl], a
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $3
- ld hl, $000b
+ ld hl, OBJECT_11
add hl, bc
ld [hl], $b
- ld hl, $0007
+ ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], $ff
ret
; 5293
-Function5293: ; 5293
- ld hl, $0004
+Movement_38: ; 5293
+ ld hl, OBJECT_FLAGS1
add hl, bc
res 3, [hl]
jp Function5065
; 529c
-Function529c: ; 529c
- ld hl, $0004
+Movement_39: ; 529c
+ ld hl, OBJECT_FLAGS1
add hl, bc
set 3, [hl]
jp Function5065
; 52a5
Movement_remove_fixed_facing: ; 52a5
- ld hl, $0004
+ ld hl, OBJECT_FLAGS1
add hl, bc
res 2, [hl]
jp Function5065
; 52ae
Movement_fix_facing: ; 52ae
- ld hl, $0004
+ ld hl, OBJECT_FLAGS1
add hl, bc
set 2, [hl]
jp Function5065
; 52b7
-Function52b7: ; 52b7
- ld hl, $0004
+Movement_3c: ; 52b7
+ ld hl, OBJECT_FLAGS1
add hl, bc
res 0, [hl]
jp Function5065
; 52c0
Movement_hide_person: ; 52c0
- ld hl, $0004
+ ld hl, OBJECT_FLAGS1
add hl, bc
set 0, [hl]
jp Function5065
@@ -417,311 +417,311 @@ Movement_step_shake: ; 52d5
; 52de
Movement_turn_head_down: ; 52de
- ld a, $0
- jr Function52ee
+ ld a, OW_DOWN
+ jr TurnHead
Movement_turn_head_up: ; 52e2
- ld a, $4
- jr Function52ee
+ ld a, OW_UP
+ jr TurnHead
Movement_turn_head_left: ; 52e6
- ld a, $8
- jr Function52ee
+ ld a, OW_LEFT
+ jr TurnHead
Movement_turn_head_right: ; 52ea
- ld a, $c
- jr Function52ee
+ ld a, OW_RIGHT
+ jr TurnHead
-Function52ee: ; 52ee
- ld hl, $0008
+TurnHead: ; 52ee
+ ld hl, OBJECT_FACING
add hl, bc
ld [hl], a
- ld hl, $000b
+ ld hl, OBJECT_11
add hl, bc
ld [hl], $1
- ld hl, $0007
+ ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], $ff
ret
; 5300
Movement_slow_step_down: ; 5300
- ld a, $0
- jp Function5412
+ ld a, STEP_SLOW << 2 | DOWN
+ jp NormalStep
; 5305
Movement_slow_step_up: ; 5305
- ld a, $1
- jp Function5412
+ ld a, STEP_SLOW << 2 | UP
+ jp NormalStep
; 530a
Movement_slow_step_left: ; 530a
- ld a, $2
- jp Function5412
+ ld a, STEP_SLOW << 2 | LEFT
+ jp NormalStep
; 530f
Movement_slow_step_right: ; 530f
- ld a, $3
- jp Function5412
+ ld a, STEP_SLOW << 2 | RIGHT
+ jp NormalStep
; 5314
Movement_step_down: ; 5314
- ld a, $4
- jp Function5412
+ ld a, STEP_WALK << 2 | DOWN
+ jp NormalStep
; 5319
Movement_step_up: ; 5319
- ld a, $5
- jp Function5412
+ ld a, STEP_WALK << 2 | UP
+ jp NormalStep
; 531e
Movement_step_left: ; 531e
- ld a, $6
- jp Function5412
+ ld a, STEP_WALK << 2 | LEFT
+ jp NormalStep
; 5323
Movement_step_right: ; 5323
- ld a, $7
- jp Function5412
+ ld a, STEP_WALK << 2 | RIGHT
+ jp NormalStep
; 5328
Movement_big_step_down: ; 5328
- ld a, $8
- jp Function5412
+ ld a, STEP_BIKE << 2 | DOWN
+ jp NormalStep
; 532d
Movement_big_step_up: ; 532d
- ld a, $9
- jp Function5412
+ ld a, STEP_BIKE << 2 | UP
+ jp NormalStep
; 5332
Movement_big_step_left: ; 5332
- ld a, $a
- jp Function5412
+ ld a, STEP_BIKE << 2 | LEFT
+ jp NormalStep
; 5337
Movement_big_step_right: ; 5337
- ld a, $b
- jp Function5412
+ ld a, STEP_BIKE << 2 | RIGHT
+ jp NormalStep
; 533c
Movement_turn_away_down: ; 533c
- ld a, $0
- jp Function5446
+ ld a, STEP_SLOW << 2 | DOWN
+ jp TurningStep
; 5341
Movement_turn_away_up: ; 5341
- ld a, $1
- jp Function5446
+ ld a, STEP_SLOW << 2 | UP
+ jp TurningStep
; 5346
Movement_turn_away_left: ; 5346
- ld a, $2
- jp Function5446
+ ld a, STEP_SLOW << 2 | LEFT
+ jp TurningStep
; 534b
Movement_turn_away_right: ; 534b
- ld a, $3
- jp Function5446
+ ld a, STEP_SLOW << 2 | RIGHT
+ jp TurningStep
; 5350
Movement_turn_in_down: ; 5350
- ld a, $4
- jp Function5446
+ ld a, STEP_WALK << 2 | DOWN
+ jp TurningStep
; 5355
Movement_turn_in_up: ; 5355
- ld a, $5
- jp Function5446
+ ld a, STEP_WALK << 2 | UP
+ jp TurningStep
; 535a
Movement_turn_in_left: ; 535a
- ld a, $6
- jp Function5446
+ ld a, STEP_WALK << 2 | LEFT
+ jp TurningStep
; 535f
Movement_turn_in_right: ; 535f
- ld a, $7
- jp Function5446
+ ld a, STEP_WALK << 2 | RIGHT
+ jp TurningStep
; 5364
Movement_turn_waterfall_down: ; 5364
- ld a, $8
- jp Function5446
+ ld a, STEP_BIKE << 2 | DOWN
+ jp TurningStep
; 5369
Movement_turn_waterfall_up: ; 5369
- ld a, $9
- jp Function5446
+ ld a, STEP_BIKE << 2 | UP
+ jp TurningStep
; 536e
Movement_turn_waterfall_left: ; 536e
- ld a, $a
- jp Function5446
+ ld a, STEP_BIKE << 2 | LEFT
+ jp TurningStep
; 5373
Movement_turn_waterfall_right: ; 5373
- ld a, $b
- jp Function5446
+ ld a, STEP_BIKE << 2 | RIGHT
+ jp TurningStep
; 5378
Movement_slow_slide_step_down: ; 5378
- ld a, $0
- jp Function5468
+ ld a, STEP_SLOW << 2 | DOWN
+ jp SlideStep
; 537d
Movement_slow_slide_step_up: ; 537d
- ld a, $1
- jp Function5468
+ ld a, STEP_SLOW << 2 | UP
+ jp SlideStep
; 5382
Movement_slow_slide_step_left: ; 5382
- ld a, $2
- jp Function5468
+ ld a, STEP_SLOW << 2 | LEFT
+ jp SlideStep
; 5387
Movement_slow_slide_step_right: ; 5387
- ld a, $3
- jp Function5468
+ ld a, STEP_SLOW << 2 | RIGHT
+ jp SlideStep
; 538c
Movement_slide_step_down: ; 538c
- ld a, $4
- jp Function5468
+ ld a, STEP_WALK << 2 | DOWN
+ jp SlideStep
; 5391
Movement_slide_step_up: ; 5391
- ld a, $5
- jp Function5468
+ ld a, STEP_WALK << 2 | UP
+ jp SlideStep
; 5396
Movement_slide_step_left: ; 5396
- ld a, $6
- jp Function5468
+ ld a, STEP_WALK << 2 | LEFT
+ jp SlideStep
; 539b
Movement_slide_step_right: ; 539b
- ld a, $7
- jp Function5468
+ ld a, STEP_WALK << 2 | RIGHT
+ jp SlideStep
; 53a0
Movement_fast_slide_step_down: ; 53a0
- ld a, $8
- jp Function5468
+ ld a, STEP_BIKE << 2 | DOWN
+ jp SlideStep
; 53a5
Movement_fast_slide_step_up: ; 53a5
- ld a, $9
- jp Function5468
+ ld a, STEP_BIKE << 2 | UP
+ jp SlideStep
; 53aa
Movement_fast_slide_step_left: ; 53aa
- ld a, $a
- jp Function5468
+ ld a, STEP_BIKE << 2 | LEFT
+ jp SlideStep
; 53af
Movement_fast_slide_step_right: ; 53af
- ld a, $b
- jp Function5468
+ ld a, STEP_BIKE << 2 | RIGHT
+ jp SlideStep
; 53b4
Movement_slow_jump_step_down: ; 53b4
- ld a, $0
- jp Function548a
+ ld a, STEP_SLOW << 2 | DOWN
+ jp JumpStep
; 53b9
Movement_slow_jump_step_up: ; 53b9
- ld a, $1
- jp Function548a
+ ld a, STEP_SLOW << 2 | UP
+ jp JumpStep
; 53be
Movement_slow_jump_step_left: ; 53be
- ld a, $2
- jp Function548a
+ ld a, STEP_SLOW << 2 | LEFT
+ jp JumpStep
; 53c3
Movement_slow_jump_step_right: ; 53c3
- ld a, $3
- jp Function548a
+ ld a, STEP_SLOW << 2 | RIGHT
+ jp JumpStep
; 53c8
Movement_jump_step_down: ; 53c8
- ld a, $4
- jp Function548a
+ ld a, STEP_WALK << 2 | DOWN
+ jp JumpStep
; 53cd
Movement_jump_step_up: ; 53cd
- ld a, $5
- jp Function548a
+ ld a, STEP_WALK << 2 | UP
+ jp JumpStep
; 53d2
Movement_jump_step_left: ; 53d2
- ld a, $6
- jp Function548a
+ ld a, STEP_WALK << 2 | LEFT
+ jp JumpStep
; 53d7
Movement_jump_step_right: ; 53d7
- ld a, $7
- jp Function548a
+ ld a, STEP_WALK << 2 | RIGHT
+ jp JumpStep
; 53dc
Movement_fast_jump_step_down: ; 53dc
- ld a, $8
- jp Function548a
+ ld a, STEP_BIKE << 2 | DOWN
+ jp JumpStep
; 53e1
Movement_fast_jump_step_up: ; 53e1
- ld a, $9
- jp Function548a
+ ld a, STEP_BIKE << 2 | UP
+ jp JumpStep
; 53e6
Movement_fast_jump_step_left: ; 53e6
- ld a, $a
- jp Function548a
+ ld a, STEP_BIKE << 2 | LEFT
+ jp JumpStep
; 53eb
Movement_fast_jump_step_right: ; 53eb
- ld a, $b
- jp Function548a
+ ld a, STEP_BIKE << 2 | RIGHT
+ jp JumpStep
; 53f0
Movement_half_step_down: ; 53f0
- ld a, $0
- jr Function5400
+ ld a, OW_DOWN
+ jr HalfStep
Movement_half_step_up: ; 53f4
- ld a, $4
- jr Function5400
+ ld a, OW_UP
+ jr HalfStep
Movement_half_step_left: ; 53f8
- ld a, $8
- jr Function5400
+ ld a, OW_LEFT
+ jr HalfStep
Movement_half_step_right: ; 53fc
- ld a, $c
- jr Function5400
+ ld a, OW_RIGHT
+ jr HalfStep
-Function5400: ; 5400
- ld hl, $001d
+HalfStep: ; 5400
+ ld hl, OBJECT_29
add hl, bc
ld [hl], a
- ld hl, $000b
+ ld hl, OBJECT_11
add hl, bc
ld [hl], $2
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $a
ret
; 5412
-Function5412: ; 5412
+NormalStep: ; 5412
call Function4690
call Function463f
- ld hl, $000b
+ ld hl, OBJECT_11
add hl, bc
ld [hl], $2
ld hl, OBJECT_STANDING_TILE
@@ -738,91 +738,91 @@ Function5412: ; 5412
.asm_5430
ld hl, wd4cf
- ld a, [hConnectionStripLength]
+ ld a, [hMapObjectIndexBuffer]
cp [hl]
jr z, .asm_543f
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $2
ret
.asm_543f
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $6
ret
; 5446
-Function5446: ; 5446
+TurningStep: ; 5446
call Function4690
call Function463f
- ld hl, $000b
+ ld hl, OBJECT_11
add hl, bc
ld [hl], $4
ld hl, wd4cf
- ld a, [hConnectionStripLength]
+ ld a, [hMapObjectIndexBuffer]
cp [hl]
jr z, .asm_5461
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $2
ret
.asm_5461
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $6
ret
; 5468
-Function5468: ; 5468
+SlideStep: ; 5468
call Function4690
call Function463f
- ld hl, $000b
+ ld hl, OBJECT_11
add hl, bc
ld [hl], $1
ld hl, wd4cf
- ld a, [hConnectionStripLength]
+ ld a, [hMapObjectIndexBuffer]
cp [hl]
jr z, .asm_5483
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $2
ret
.asm_5483
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $6
ret
; 548a
-Function548a: ; 548a
+JumpStep: ; 548a
call Function4690
- ld hl, $001f
+ ld hl, OBJECT_31
add hl, bc
ld [hl], $0
- ld hl, $0005
+ ld hl, OBJECT_FLAGS2
add hl, bc
res 3, [hl]
- ld hl, $000b
+ ld hl, OBJECT_11
add hl, bc
ld [hl], $2
call Function5529
ld hl, wd4cf
- ld a, [hConnectionStripLength]
+ ld a, [hMapObjectIndexBuffer]
cp [hl]
jr z, .asm_54b1
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $8
ret
.asm_54b1
- ld hl, $0009
+ ld hl, OBJECT_09
add hl, bc
ld [hl], $9
ret
diff --git a/engine/pack.asm b/engine/pack.asm
index 35126ba16..b753d6ade 100644
--- a/engine/pack.asm
+++ b/engine/pack.asm
@@ -64,7 +64,7 @@ Function10067: ; 10067 (4:4067)
ld hl, MenuDataHeader_0x10a4f
call CopyMenuDataHeader
ld a, [wItemsPocketCursor]
- ld [wPocketCursorBuffer], a
+ ld [wMenuCursorBuffer], a
ld a, [wd0df]
ld [wd0e4], a
call Function350c
@@ -92,7 +92,7 @@ Function100a6: ; 100a6 (4:40a6)
ld hl, MenuDataHeader_0x10a7f
call CopyMenuDataHeader
ld a, [wKeyItemsPocketCursor]
- ld [wPocketCursorBuffer], a
+ ld [wMenuCursorBuffer], a
ld a, [wd0e0]
ld [wd0e4], a
call Function350c
@@ -222,7 +222,7 @@ Function10198: ; 10198 (4:4198)
ld hl, MenuDataHeader_0x10aaf
call CopyMenuDataHeader
ld a, [wBallsPocketCursor]
- ld [wPocketCursorBuffer], a
+ ld [wMenuCursorBuffer], a
ld a, [wd0e1]
ld [wd0e4], a
call Function350c
@@ -722,7 +722,7 @@ Function104fa: ; 104fa (4:44fa)
ld hl, MenuDataHeader_0x10a4f
call CopyMenuDataHeader
ld a, [wItemsPocketCursor]
- ld [wPocketCursorBuffer], a
+ ld [wMenuCursorBuffer], a
ld a, [wd0df]
ld [wd0e4], a
call Function350c
@@ -750,7 +750,7 @@ Function10539: ; 10539 (4:4539)
ld hl, MenuDataHeader_0x10a7f
call CopyMenuDataHeader
ld a, [wKeyItemsPocketCursor]
- ld [wPocketCursorBuffer], a
+ ld [wMenuCursorBuffer], a
ld a, [wd0e0]
ld [wd0e4], a
call Function350c
@@ -801,7 +801,7 @@ Function105a6: ; 105a6 (4:45a6)
ld hl, MenuDataHeader_0x10aaf
call CopyMenuDataHeader
ld a, [wBallsPocketCursor]
- ld [wPocketCursorBuffer], a
+ ld [wMenuCursorBuffer], a
ld a, [wd0e1]
ld [wd0e4], a
call Function350c
@@ -1007,7 +1007,7 @@ Jumptable_106d1: ; 106d1 (4:46d1)
ld hl, MenuDataHeader_0x10a67
call CopyMenuDataHeader
ld a, [wItemsPocketCursor]
- ld [wPocketCursorBuffer], a
+ ld [wMenuCursorBuffer], a
ld a, [wd0df]
ld [wd0e4], a
call Function350c
@@ -1023,7 +1023,7 @@ Jumptable_106d1: ; 106d1 (4:46d1)
ld hl, MenuDataHeader_0x10a97
call CopyMenuDataHeader
ld a, [wKeyItemsPocketCursor]
- ld [wPocketCursorBuffer], a
+ ld [wMenuCursorBuffer], a
ld a, [wd0e0]
ld [wd0e4], a
call Function350c
@@ -1048,7 +1048,7 @@ Jumptable_106d1: ; 106d1 (4:46d1)
ld hl, MenuDataHeader_0x10ac7
call CopyMenuDataHeader
ld a, [wBallsPocketCursor]
- ld [wPocketCursorBuffer], a
+ ld [wMenuCursorBuffer], a
ld a, [wd0e1]
ld [wd0e4], a
call Function350c
@@ -1411,7 +1411,7 @@ Function10955: ; 10955
ld a, BANK(PackMenuGFX)
call FarCopyBytes
hlcoord 0, 1
- ld bc, $00dc
+ ld bc, 220
ld a, $24
call ByteFill
hlcoord 5, 1
diff --git a/engine/radio2.asm b/engine/radio2.asm
index b843315d4..039631130 100644
--- a/engine/radio2.asm
+++ b/engine/radio2.asm
@@ -385,7 +385,7 @@ NoRadioName: ; 918a9 (24:58a9)
xor a
ld [hBGMapMode], a ; $ff00+$d4
hlcoord 1, 8
- ld bc, $312
+ lb bc, 3, 18
call ClearBox
hlcoord 0, 12
ld bc, $412
diff --git a/engine/scripting.asm b/engine/scripting.asm
index 2dadafee1..5a3895038 100644
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -529,7 +529,7 @@ Script_interpretmenu: ; 0x96f41
ld a, [ScriptBank]
ld hl, InterpretMenu
rst FarCall
- ld a, [wPocketCursorBuffer]
+ ld a, [wMenuCursorBuffer]
jr nc, .ok
xor a
.ok
@@ -608,7 +608,7 @@ Script_verbosegiveitem2: ; 0x96f8e
call GetScriptByte
call GetVarAction
ld a, [de]
- ld [wd10c], a
+ ld [wItemQuantityChangeBuffer], a
ld hl, NumItems
call ReceiveItem
ld a, 1
@@ -1191,7 +1191,7 @@ endr
ApplyPersonFacing: ; 0x9728b
ld a, d
push de
- call Function18de
+ call CheckObjectVisibility
jr c, .not_visible ; 0x97290 $27
ld hl, OBJECT_SPRITE
add hl, bc
@@ -1200,7 +1200,7 @@ ApplyPersonFacing: ; 0x9728b
call Function1836
pop bc
jr c, .not_visible ; 0x9729c $1b
- ld hl, OBJECT_04
+ ld hl, OBJECT_FLAGS1
add hl, bc
bit 2, [hl]
jr nz, .not_visible ; 0x972a4 $13
@@ -1209,28 +1209,29 @@ ApplyPersonFacing: ; 0x9728b
call SetSpriteDirection
ld hl, VramState
bit 6, [hl]
- jr nz, .asm_972b5 ; 0x972b0 $3
- call Function972bc
-.asm_972b5
+ jr nz, .text_state ; 0x972b0 $3
+ call .DisableTextTiles
+.text_state
call UpdateSprites
ret
+
.not_visible
pop de
scf
ret
; 0x972bc
-Function972bc: ; 0x972bc
+.DisableTextTiles: ; 0x972bc
call Function217a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
-.asm_972c5
+.loop
res 7, [hl]
inc hl
dec bc
ld a, b
or c
- jr nz, .asm_972c5 ; 0x972cb $f8
+ jr nz, .loop ; 0x972cb $f8
ret
; 0x972ce
@@ -1258,7 +1259,7 @@ Script_appear: ; 0x972dd
call GetScriptByte
call GetScriptPerson
call _CopyObjectStruct
- ld a, [hConnectionStripLength]
+ ld a, [hMapObjectIndexBuffer]
ld b, 0 ; clear
call ApplyEventActionAppearDisappear
ret
@@ -1276,7 +1277,7 @@ Script_disappear: ; 0x972ee
ld a, [hLastTalked]
.ok
call DeleteObjectStruct
- ld a, [hConnectionStripLength]
+ ld a, [hMapObjectIndexBuffer]
ld b, 1 ; set
call ApplyEventActionAppearDisappear
callba RefreshMapAppearDisappear
@@ -1316,14 +1317,14 @@ Script_follow: ; 0x97325
call GetScriptByte
call GetScriptPerson
ld c, a
- callba Function5803
+ callba StartFollow
ret
; 0x9733a
Script_stopfollow: ; 0x9733a
; script command 0x71
- callba Function581f
+ callba StopFollow
ret
; 0x97341
@@ -1390,7 +1391,7 @@ Script_loademote: ; 0x97384
ld a, [ScriptVar]
.not_var_emote
ld c, a
- callba Function1442f
+ callba LoadEmote
ret
; 0x97396
@@ -1417,7 +1418,7 @@ Script_showemote: ; 0x97396
; 0x973b6
ShowEmoteScript: ; 973b6
- loademote -1
+ loademote EMOTE_MEM
applymovement2 .Show
pause 0
applymovement2 .Hide
@@ -1446,7 +1447,7 @@ Script_earthquake: ; 0x973c7
call CopyBytes
call GetScriptByte
ld [wd003], a
- and $3f
+ and (1 << 6) - 1
ld [wd005], a
ld b, BANK(.script)
ld de, .script
@@ -2344,7 +2345,7 @@ Script_giveitem: ; 0x977ca
.ok
ld [CurItem], a
call GetScriptByte
- ld [wd10c], a
+ ld [wItemQuantityChangeBuffer], a
ld hl, NumItems
call ReceiveItem
jr nc, .full ; 0x977e3 $6
@@ -2368,7 +2369,7 @@ Script_takeitem: ; 0x977f0
call GetScriptByte
ld [CurItem], a
call GetScriptByte
- ld [wd10c], a
+ ld [wItemQuantityChangeBuffer], a
ld a, $ff
ld [wd107], a
ld hl, NumItems
@@ -2428,10 +2429,10 @@ Script_checkmoney: ; 0x97843
call GetMoneyAccount
call LoadMoneyAmountToMem
- callba CheckMoney
+ callba CompareMoney
; 0x9784f
-CheckMoneyAction: ; 0x9784f
+CompareMoneyAction: ; 0x9784f
jr c, .two
jr z, .one
ld a, 0
@@ -2497,12 +2498,12 @@ Script_checkcoins: ; 0x97895
call LoadCoinAmountToMem
callba CheckCoins
- jr CheckMoneyAction
+ jr CompareMoneyAction
; 978a0
LoadCoinAmountToMem: ; 978a0
call GetScriptByte
- ld [$ffc4], a
+ ld [hMoneyTemp + 1], a
call GetScriptByte
ld [hMoneyTemp], a
ld bc, hMoneyTemp
diff --git a/engine/specials.asm b/engine/specials.asm
index e9fe2987f..ef53daedc 100644
--- a/engine/specials.asm
+++ b/engine/specials.asm
@@ -115,7 +115,7 @@ SpecialsPointers:: ; c029
add_special RandomPhoneWildMon
add_special RandomPhoneMon
add_special RunCallback_04
- add_special Functionfb841
+ add_special PlaySlowCry
add_special SpecialSnorlaxAwake
add_special Special_YoungerHaircutBrother
add_special Special_OlderHaircutBrother
@@ -333,7 +333,7 @@ Special_GetMysteryGiftItem: ; c309
ld a, [sMysteryGiftItem]
ld [CurItem], a
ld a, $1
- ld [wd10c], a
+ ld [wItemQuantityChangeBuffer], a
ld hl, NumItems
call ReceiveItem
jr nc, .asm_c33d
@@ -413,9 +413,9 @@ Special_DummyNonfunctionalGameCornerGame: ; c38d
; c39a
Special_StartGameCornerGame: ; c39a
- call Function31cf
+ call FarQueueScript
call FadeToMenu
- ld hl, wd0e8
+ ld hl, wQueuedScriptBank
ld a, [hli]
push af
ld a, [hli]