diff options
Diffstat (limited to 'engine')
-rw-r--r-- | engine/joypad.asm | 2 | ||||
-rw-r--r-- | engine/movement.asm | 829 | ||||
-rw-r--r-- | engine/scripting.asm | 104 | ||||
-rw-r--r-- | engine/vblank.asm | 6 |
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 |