summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
Diffstat (limited to 'engine')
-rw-r--r--engine/joypad.asm2
-rw-r--r--engine/movement.asm829
-rw-r--r--engine/scripting.asm104
-rw-r--r--engine/vblank.asm6
4 files changed, 885 insertions, 56 deletions
diff --git a/engine/joypad.asm b/engine/joypad.asm
index b9702d33a..5266ef8a8 100644
--- a/engine/joypad.asm
+++ b/engine/joypad.asm
@@ -103,7 +103,7 @@ Joypad: ; 935
; For example, soft reset:
and BUTTON_A | BUTTON_B | SELECT | START
cp BUTTON_A | BUTTON_B | SELECT | START
- jp z, $0150 ; reset
+ jp z, Reset
ret
; 984
diff --git a/engine/movement.asm b/engine/movement.asm
new file mode 100644
index 000000000..da08280c1
--- /dev/null
+++ b/engine/movement.asm
@@ -0,0 +1,829 @@
+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
+; 5129
+
+
+Movement_teleport_from: ; 5129
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $c
+ ret
+; 5130
+
+Movement_teleport_to: ; 5130
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $d
+ ret
+; 5137
+
+Movement_skyfall: ; 5137
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $e
+ ret
+; 513e
+
+Function513e: ; 513e
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $19
+ ret
+; 5145
+
+Movement_step_wait5: ; 5145
+ call GetSpriteDirection
+ rlca
+ rlca
+ ld hl, $000c
+ add hl, bc
+ ld [hl], a
+ ld hl, $000b
+ add hl, bc
+ ld [hl], $4
+ call Function505e
+ ld hl, $000a
+ add hl, bc
+ ld [hl], a
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $3
+ ld hl, $0007
+ add hl, bc
+ ld [hl], $ff
+ ret
+; 516a
+
+Function516a: ; 516a
+ call GetSpriteDirection
+ rlca
+ rlca
+ ld hl, $000c
+ add hl, bc
+ ld [hl], a
+ call Function505e
+ ld hl, $000a
+ add hl, bc
+ ld [hl], a
+ ld hl, $0007
+ add hl, bc
+ ld [hl], $ff
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $12
+ ret
+; 5189
+
+Function5189: ; 5189
+ ld hl, $000b
+ add hl, bc
+ ld [hl], $6
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $10
+ ret
+; 5196
+
+Function5196: ; 5196
+ call Function505e
+ ld hl, $000a
+ add hl, bc
+ ld [hl], a
+ ld hl, $000b
+ add hl, bc
+ ld [hl], $1
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $11
+ ret
+; 51ab
+
+Function51ab: ; 51ab
+ ld hl, $000b
+ add hl, bc
+ ld [hl], $6
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $1
+ ret
+; 51b8
+
+Function51b8: ; 51b8
+ ld hl, $001b
+ add hl, bc
+ ld [hl], $0
+ jp Function5065
+; 51c1
+
+Movement_step_end: ; 51c1
+ call $4769
+ ld hl, $0003
+ add hl, bc
+ ld [hl], a
+ ld hl, $001b
+ add hl, bc
+ ld [hl], $0
+ ld hl, VramState
+ res 7, [hl]
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $1
+ ret
+; 51db
+
+Function51db: ; 51db
+ call $4769
+ ld hl, $0003
+ add hl, bc
+ ld [hl], a
+ ld hl, $001b
+ add hl, bc
+ ld [hl], $0
+ call Function505e
+ ld hl, $000a
+ add hl, bc
+ ld [hl], a
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $3
+ ld hl, VramState
+ res 7, [hl]
+ ret
+; 51fd
+
+Movement_remove_person: ; 51fd
+ call $4357
+ ld hl, $d4cd
+ ld a, [hConnectionStripLength]
+ cp [hl]
+ jr nz, .asm_520a
+ ld [hl], $ff
+
+.asm_520a
+ ld hl, VramState
+ res 7, [hl]
+ ret
+; 5210
+
+Function5210: ; 5210
+ ld hl, $000b
+ add hl, bc
+ ld [hl], $1
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $4
+ ld hl, VramState
+ res 7, [hl]
+ ret
+; 5222
+
+Movement_show_person: ; 5222
+ ld a, $1
+ jr Function5247
+
+Function5226: ; 5226
+ ld a, $2
+ jr Function5247
+
+Function522a: ; 522a
+ ld a, $3
+ jr Function5247
+
+Function522e: ; 522e
+ ld a, $4
+ jr Function5247
+
+Function5232: ; 5232
+ ld a, $5
+ jr Function5247
+
+Function5236: ; 5236
+ ld a, $6
+ jr Function5247
+
+Function523a: ; 523a
+ ld a, $7
+ jr Function5247
+
+Movement_accelerate_last: ; 523e
+ ld a, $8
+ jr Function5247
+
+Movement_step_sleep: ; 5242
+; parameters:
+; duration (DecimalParam)
+
+ call Function505e
+ jr Function5247
+
+Function5247: ; 5247
+ ld hl, $000a
+ add hl, bc
+ ld [hl], a
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $3
+ ld hl, $000b
+ add hl, bc
+ ld [hl], $1
+ ld hl, $0007
+ add hl, bc
+ ld [hl], $ff
+ ret
+; 525f
+
+Function525f: ; 525f
+ ld a, $1
+ ld hl, $000a
+ add hl, bc
+ ld [hl], a
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $b
+ ld hl, $000b
+ add hl, bc
+ ld [hl], $3
+ ld hl, $0007
+ add hl, bc
+ ld [hl], $ff
+ ret
+; 5279
+
+Function5279: ; 5279
+ ld a, $18
+ ld hl, $000a
+ add hl, bc
+ ld [hl], a
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $3
+ ld hl, $000b
+ add hl, bc
+ ld [hl], $b
+ ld hl, $0007
+ add hl, bc
+ ld [hl], $ff
+ ret
+; 5293
+
+Function5293: ; 5293
+ ld hl, $0004
+ add hl, bc
+ res 3, [hl]
+ jp Function5065
+; 529c
+
+Function529c: ; 529c
+ ld hl, $0004
+ add hl, bc
+ set 3, [hl]
+ jp Function5065
+; 52a5
+
+Movement_remove_fixed_facing: ; 52a5
+ ld hl, $0004
+ add hl, bc
+ res 2, [hl]
+ jp Function5065
+; 52ae
+
+Movement_fix_facing: ; 52ae
+ ld hl, $0004
+ add hl, bc
+ set 2, [hl]
+ jp Function5065
+; 52b7
+
+Function52b7: ; 52b7
+ ld hl, $0004
+ add hl, bc
+ res 0, [hl]
+ jp Function5065
+; 52c0
+
+Movement_hide_person: ; 52c0
+ ld hl, $0004
+ add hl, bc
+ set 0, [hl]
+ jp Function5065
+; 52c9
+
+Movement_hide_emote: ; 52c9
+ call $5579
+ jp Function5065
+; 52cf
+
+Movement_show_emote: ; 52cf
+ call $5547
+ jp Function5065
+; 52d5
+
+Movement_step_shake: ; 52d5
+; parameters:
+; displacement (DecimalParam)
+
+ call Function505e
+ call $5565
+ jp Function5065
+; 52de
+
+Movement_turn_head_down: ; 52de
+ ld a, $0
+ jr Function52ee
+
+Movement_turn_head_up: ; 52e2
+ ld a, $4
+ jr Function52ee
+
+Movement_turn_head_left: ; 52e6
+ ld a, $8
+ jr Function52ee
+
+Movement_turn_head_right: ; 52ea
+ ld a, $c
+ jr Function52ee
+
+Function52ee: ; 52ee
+ ld hl, $0008
+ add hl, bc
+ ld [hl], a
+ ld hl, $000b
+ add hl, bc
+ ld [hl], $1
+ ld hl, $0007
+ add hl, bc
+ ld [hl], $ff
+ ret
+; 5300
+
+Movement_slow_step_down: ; 5300
+ ld a, $0
+ jp Function5412
+; 5305
+
+Movement_slow_step_up: ; 5305
+ ld a, $1
+ jp Function5412
+; 530a
+
+Movement_slow_step_left: ; 530a
+ ld a, $2
+ jp Function5412
+; 530f
+
+Movement_slow_step_right: ; 530f
+ ld a, $3
+ jp Function5412
+; 5314
+
+Movement_step_down: ; 5314
+ ld a, $4
+ jp Function5412
+; 5319
+
+Movement_step_up: ; 5319
+ ld a, $5
+ jp Function5412
+; 531e
+
+Movement_step_left: ; 531e
+ ld a, $6
+ jp Function5412
+; 5323
+
+Movement_step_right: ; 5323
+ ld a, $7
+ jp Function5412
+; 5328
+
+Movement_big_step_down: ; 5328
+ ld a, $8
+ jp Function5412
+; 532d
+
+Movement_big_step_up: ; 532d
+ ld a, $9
+ jp Function5412
+; 5332
+
+Movement_big_step_left: ; 5332
+ ld a, $a
+ jp Function5412
+; 5337
+
+Movement_big_step_right: ; 5337
+ ld a, $b
+ jp Function5412
+; 533c
+
+
+Movement_turn_away_down: ; 533c
+ ld a, $0
+ jp Function5446
+; 5341
+
+Movement_turn_away_up: ; 5341
+ ld a, $1
+ jp Function5446
+; 5346
+
+Movement_turn_away_left: ; 5346
+ ld a, $2
+ jp Function5446
+; 534b
+
+Movement_turn_away_right: ; 534b
+ ld a, $3
+ jp Function5446
+; 5350
+
+Movement_turn_in_down: ; 5350
+ ld a, $4
+ jp Function5446
+; 5355
+
+Movement_turn_in_up: ; 5355
+ ld a, $5
+ jp Function5446
+; 535a
+
+Movement_turn_in_left: ; 535a
+ ld a, $6
+ jp Function5446
+; 535f
+
+Movement_turn_in_right: ; 535f
+ ld a, $7
+ jp Function5446
+; 5364
+
+Movement_turn_waterfall_down: ; 5364
+ ld a, $8
+ jp Function5446
+; 5369
+
+Movement_turn_waterfall_up: ; 5369
+ ld a, $9
+ jp Function5446
+; 536e
+
+Movement_turn_waterfall_left: ; 536e
+ ld a, $a
+ jp Function5446
+; 5373
+
+Movement_turn_waterfall_right: ; 5373
+ ld a, $b
+ jp Function5446
+; 5378
+
+
+Movement_slow_slide_step_down: ; 5378
+ ld a, $0
+ jp Function5468
+; 537d
+
+Movement_slow_slide_step_up: ; 537d
+ ld a, $1
+ jp Function5468
+; 5382
+
+Movement_slow_slide_step_left: ; 5382
+ ld a, $2
+ jp Function5468
+; 5387
+
+Movement_slow_slide_step_right: ; 5387
+ ld a, $3
+ jp Function5468
+; 538c
+
+Movement_slide_step_down: ; 538c
+ ld a, $4
+ jp Function5468
+; 5391
+
+Movement_slide_step_up: ; 5391
+ ld a, $5
+ jp Function5468
+; 5396
+
+Movement_slide_step_left: ; 5396
+ ld a, $6
+ jp Function5468
+; 539b
+
+Movement_slide_step_right: ; 539b
+ ld a, $7
+ jp Function5468
+; 53a0
+
+Movement_fast_slide_step_down: ; 53a0
+ ld a, $8
+ jp Function5468
+; 53a5
+
+Movement_fast_slide_step_up: ; 53a5
+ ld a, $9
+ jp Function5468
+; 53aa
+
+Movement_fast_slide_step_left: ; 53aa
+ ld a, $a
+ jp Function5468
+; 53af
+
+Movement_fast_slide_step_right: ; 53af
+ ld a, $b
+ jp Function5468
+; 53b4
+
+
+Movement_slow_jump_step_down: ; 53b4
+ ld a, $0
+ jp Function548a
+; 53b9
+
+Movement_slow_jump_step_up: ; 53b9
+ ld a, $1
+ jp Function548a
+; 53be
+
+Movement_slow_jump_step_left: ; 53be
+ ld a, $2
+ jp Function548a
+; 53c3
+
+Movement_slow_jump_step_right: ; 53c3
+ ld a, $3
+ jp Function548a
+; 53c8
+
+Movement_jump_step_down: ; 53c8
+ ld a, $4
+ jp Function548a
+; 53cd
+
+Movement_jump_step_up: ; 53cd
+ ld a, $5
+ jp Function548a
+; 53d2
+
+Movement_jump_step_left: ; 53d2
+ ld a, $6
+ jp Function548a
+; 53d7
+
+Movement_jump_step_right: ; 53d7
+ ld a, $7
+ jp Function548a
+; 53dc
+
+Movement_fast_jump_step_down: ; 53dc
+ ld a, $8
+ jp Function548a
+; 53e1
+
+Movement_fast_jump_step_up: ; 53e1
+ ld a, $9
+ jp Function548a
+; 53e6
+
+Movement_fast_jump_step_left: ; 53e6
+ ld a, $a
+ jp Function548a
+; 53eb
+
+Movement_fast_jump_step_right: ; 53eb
+ ld a, $b
+ jp Function548a
+; 53f0
+
+
+Movement_half_step_down: ; 53f0
+ ld a, $0
+ jr Function5400
+
+Movement_half_step_up: ; 53f4
+ ld a, $4
+ jr Function5400
+
+Movement_half_step_left: ; 53f8
+ ld a, $8
+ jr Function5400
+
+Movement_half_step_right: ; 53fc
+ ld a, $c
+ jr Function5400
+
+Function5400: ; 5400
+ ld hl, $001d
+ add hl, bc
+ ld [hl], a
+ ld hl, $000b
+ add hl, bc
+ ld [hl], $2
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $a
+ ret
+; 5412
+
+Function5412: ; 5412
+ call $4690
+ call $463f
+ ld hl, $000b
+ add hl, bc
+ ld [hl], $2
+ ld hl, $000e
+ add hl, bc
+ ld a, [hl]
+ call $188e
+ jr z, .asm_542d
+ call $1875
+ jr c, .asm_5430
+
+.asm_542d
+ call $5556
+
+.asm_5430
+ ld hl, $d4cf
+ ld a, [hConnectionStripLength]
+ cp [hl]
+ jr z, .asm_543f
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $2
+ ret
+
+.asm_543f
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $6
+ ret
+; 5446
+
+Function5446: ; 5446
+ call $4690
+ call $463f
+ ld hl, $000b
+ add hl, bc
+ ld [hl], $4
+ ld hl, $d4cf
+ ld a, [hConnectionStripLength]
+ cp [hl]
+ jr z, .asm_5461
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $2
+ ret
+
+.asm_5461
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $6
+ ret
+; 5468
+
+
+Function5468: ; 5468
+ call $4690
+ call $463f
+ ld hl, $000b
+ add hl, bc
+ ld [hl], $1
+ ld hl, $d4cf
+ ld a, [hConnectionStripLength]
+ cp [hl]
+ jr z, .asm_5483
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $2
+ ret
+
+.asm_5483
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $6
+ ret
+; 548a
+
+
+Function548a: ; 548a
+ call $4690
+ ld hl, $001f
+ add hl, bc
+ ld [hl], $0
+ ld hl, $0005
+ add hl, bc
+ res 3, [hl]
+ ld hl, $000b
+ add hl, bc
+ ld [hl], $2
+ call $5529
+ ld hl, $d4cf
+ ld a, [hConnectionStripLength]
+ cp [hl]
+ jr z, .asm_54b1
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $8
+ ret
+
+.asm_54b1
+ ld hl, $0009
+ add hl, bc
+ ld [hl], $9
+ ret
+; 54b8
+
+
diff --git a/engine/scripting.asm b/engine/scripting.asm
index f9ede0041..79fbe69ee 100644
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -485,11 +485,11 @@ Script_verbosegiveitem: ; 0x96f60
; item (ItemLabelByte)
; quantity (DecimalParam)
- call $77ca
+ call Script_giveitem
call CurItemName
ld de, StringBuffer1
ld a, $1
- call $76c8
+ call Function976c8
ld b, BANK(GiveItemScript)
ld de, GiveItemScript
jp ScriptCall
@@ -535,7 +535,7 @@ Script_verbosegiveitem2: ; 0x96f8e
.asm_96f98
ld [$d106], a
call GetScriptByte
- call $769e
+ call Unknown_0x9769e
ld a, [de]
ld [$d10c], a
ld hl, $d892
@@ -548,7 +548,7 @@ Script_verbosegiveitem2: ; 0x96f8e
call CurItemName
ld de, StringBuffer1
ld a, $1
- call $76c8
+ call Function976c8
ld b, BANK(GiveItemScript)
ld de, GiveItemScript
jp ScriptCall
@@ -1021,6 +1021,9 @@ Script_applymovement: ; 0x971f3
call GetScriptByte
call Unknown_0x971e3
ld c, a
+; 971fa
+
+Function971fa: ; 971fa
push bc
ld a, c
ld a, $1
@@ -1028,7 +1031,7 @@ Script_applymovement: ; 0x971f3
rst $8
pop bc
push bc
- call $7221
+ call Unknown_0x97221
pop bc
call GetScriptByte
ld l, a
@@ -1058,7 +1061,7 @@ Script_applymovement2: ; 0x97228
ld a, [$ffe0]
ld c, a
- jp $71fa
+ jp Function971fa
; 0x9722e
Script_faceplayer: ; 0x9722e
@@ -1079,7 +1082,7 @@ Script_faceplayer: ; 0x9722e
ld e, a
ld a, [$ffe0]
ld d, a
- call $728b
+ call Unknown_0x9728b
ret
; 0x97248
@@ -1114,7 +1117,7 @@ Script_faceperson: ; 0x97248
add a
ld e, a
ld d, c
- call $728b
+ call Unknown_0x9728b
ret
; 0x97274
@@ -1135,7 +1138,7 @@ Script_spriteface: ; 0x97274
add a
add a
ld e, a
- call $728b
+ call Unknown_0x9728b
ret
; 0x9728b
@@ -1161,7 +1164,7 @@ Unknown_0x9728b: ; 0x9728b
ld hl, $d0ed
bit 6, [hl]
jr nz, .asm_972b5 ; 0x972b0 $3
- call $72bc
+ call Unknown_0x972bc
.asm_972b5
call $1ad2
ret
@@ -1173,7 +1176,7 @@ Unknown_0x9728b: ; 0x9728b
Unknown_0x972bc: ; 0x972bc
call $217a
- ld hl, $c4a0
+ ld hl, TileMap
ld bc, $0168
.asm_972c5
res 7, [hl]
@@ -1211,7 +1214,7 @@ Script_appear: ; 0x972dd
call $1956
ld a, [$ffaf]
ld b, $0
- call $730b
+ call Unknown_0x9730b
ret
; 0x972ee
@@ -1229,7 +1232,7 @@ Script_disappear: ; 0x972ee
call $199f
ld a, [$ffaf]
ld b, $1
- call $730b
+ call Unknown_0x9730b
ld a, $1
ld hl, $5920
rst $8
@@ -1543,9 +1546,7 @@ Script_returnafterbattle: ; 0x97459
jr z, .asm_9748e ; 0x97481 $b
ld b, $24
ld de, $4255
- ld a, $25
- ld hl, $7c4f
- rst $8
+ callba Function97c4f
.asm_9748e
jp Script_reloadmap
; 0x97491
@@ -1978,7 +1979,7 @@ Script_random: ; 0x97640
and a
ret z
ld c, a
- call $7673
+ call Unknown_0x97673
and a
jr z, .asm_9765f ; 0x9764d $10
ld b, a
@@ -2027,7 +2028,7 @@ Script_checkcode: ; 0x9767d
; variable_id (SingleByteParam)
call GetScriptByte
- call $769e
+ call Unknown_0x9769e
ld a, [de]
ld [$c2dd], a
ret
@@ -2039,7 +2040,7 @@ Script_writevarcode: ; 0x97688
; variable_id (SingleByteParam)
call GetScriptByte
- call $769e
+ call Unknown_0x9769e
ld a, [$c2dd]
ld [de], a
ret
@@ -2052,7 +2053,7 @@ Script_writecode: ; 0x97693
; value (SingleByteParam)
call GetScriptByte
- call $769e
+ call Unknown_0x9769e
call GetScriptByte
ld [de], a
ret
@@ -2096,9 +2097,12 @@ Script_pokenamemem: ; 0x976ae
Unknown_976c0: ; 0x976c0
call GetScriptByte
cp $3
- jr c, .asm_976c8 ; 0x976c5 $1
+ jr c, .asm_976c8
xor a
.asm_976c8
+; 976c8
+
+Function976c8: ; 976c8
ld hl, StringBuffer3
ld bc, 19
call AddNTimes
@@ -2197,8 +2201,8 @@ Script_readmoney: ; 0x97732
; account (SingleByteParam)
; memory (SingleByteParam)
- call $7771
- call $7861
+ call Unknown_0x97771
+ call Unknown_0x97861
ld hl, StringBuffer1
ld bc, $4306
call $3198
@@ -2211,7 +2215,7 @@ Script_readcoins: ; 0x97747
; parameters:
; memory (SingleByteParam)
- call $7771
+ call Unknown_0x97771
ld hl, StringBuffer1
ld de, $d855
ld bc, $4206
@@ -2225,7 +2229,7 @@ Script_RAM2MEM: ; 0x9775c
; parameters:
; memory (SingleByteParam)
- call $7771
+ call Unknown_0x97771
ld de, $c2dd
ld hl, StringBuffer1
ld bc, $4103
@@ -2372,8 +2376,8 @@ Script_givemoney: ; 0x97829
; account (SingleByteParam)
; money (MoneyByteParam)
- call $7861
- call $786d
+ call Unknown_0x97861
+ call Unknown_0x9786d
ld a, $5
ld hl, $5fd7
rst $8
@@ -2386,8 +2390,8 @@ Script_takemoney: ; 0x97836
; account (SingleByteParam)
; money (MoneyByteParam)
- call $7861
- call $786d
+ call Unknown_0x97861
+ call Unknown_0x9786d
ld a, $5
ld hl, $5ffa
rst $8
@@ -2400,8 +2404,8 @@ Script_checkmoney: ; 0x97843
; account (SingleByteParam)
; money (MoneyByteParam)
- call $7861
- call $786d
+ call Unknown_0x97861
+ call Unknown_0x9786d
ld a, $5
ld hl, $600b
rst $8
@@ -2451,7 +2455,7 @@ Script_givecoins: ; 0x97881
; parameters:
; coins (CoinByteParam)
- call $78a0
+ call Function978a0
ld a, $5
ld hl, $606f
rst $8
@@ -2463,7 +2467,7 @@ Script_takecoins: ; 0x9788b
; parameters:
; coins (CoinByteParam)
- call $78a0
+ call Function978a0
ld a, $5
ld hl, $608f
rst $8
@@ -2475,11 +2479,14 @@ Script_checkcoins: ; 0x97895
; parameters:
; coins (CoinByteParam)
- call $78a0
+ call Function978a0
ld a, $5
ld hl, $60a1
rst $8
- jr Unknown_9784f ; 0x9789e $af
+ jr Unknown_9784f
+; 978a0
+
+Function978a0: ; 978a0
call GetScriptByte
ld [$ffc4], a
call GetScriptByte
@@ -2718,7 +2725,7 @@ Script_setbit2: ; 0x979bb
call GetScriptByte
ld d, a
ld b, $1
- call $79ee
+ call Unknown_0x979ee
ret
; 0x979c9
@@ -2732,7 +2739,7 @@ Script_clearbit2: ; 0x979c9
call GetScriptByte
ld d, a
ld b, $0
- call $79ee
+ call Unknown_0x979ee
ret
; 0x979d7
@@ -2746,7 +2753,7 @@ Script_checkbit2: ; 0x979d7
call GetScriptByte
ld d, a
ld b, $2
- call $79ee
+ call Unknown_0x979ee
ld a, c
and a
jr z, .asm_979ea ; 0x979e6 $2
@@ -2897,9 +2904,7 @@ Script_writecmdqueue: ; 0x97a8b
ld d, a
ld a, [ScriptBank]
ld b, a
- ld a, $25
- ld hl, $7e31
- rst $8
+ callba Function97e31
ret
; 0x97a9e
@@ -2912,9 +2917,7 @@ Script_delcmdqueue: ; 0x97a9e
ld [$c2dd], a
call GetScriptByte
ld b, a
- ld a, $25
- ld hl, $7e5c
- rst $8
+ callba Function97e5c
ret c
ld a, $1
ld [$c2dd], a
@@ -2976,16 +2979,12 @@ Script_warpcheck: ; 0x97af6
call $224a
ret nc
- ld a, $25
- ld hl, $66d0
- rst $8
+ callba Function966d0
ret
; 0x97b01
Unknown_0x97b01: ; 0x97b01
- ld a, $25
- ld hl, $66d0
- rst $8
+ callba Function966d0
ret
; 0x97b08
@@ -3005,7 +3004,7 @@ Script_newloadmap: ; 0x97b08
Script_reloadandreturn: ; 0x97b16
; script command 0x92
- call $7b08
+ call Script_newloadmap
jp Script_end
; 0x97b1c
@@ -3203,8 +3202,9 @@ Script_credits: ; 0x97bf3
ld hl, $6455
rst $8
; fallthrough
+
DisplayCredits:
- call $7bc0
+ call Script_resetfuncs
ld a, $3
call $261b
call StopScript
diff --git a/engine/vblank.asm b/engine/vblank.asm
index 5080a56ad..ea1d47260 100644
--- a/engine/vblank.asm
+++ b/engine/vblank.asm
@@ -146,12 +146,12 @@ VBlank0: ; 2b1
xor a
ld [VBlankOccurred], a
-; dec $cfb1 until 0
- ld a, [$cfb1]
+; dec OverworldDelay until 0
+ ld a, [OverworldDelay]
and a
jr z, .textdelay
dec a
- ld [$cfb1], a
+ ld [OverworldDelay], a
.textdelay
; dec text delay counter until 0