ref: 0add51451cda9d4221af137f83e2429d3577310c
parent: da87d2a929b1d58175efe063833c124d8ba702c9
parent: 2a263629a40e201b1702e2f4e65f1c61360cc2b2
author: yenatch <[email protected]>
date: Mon Jan 4 02:41:19 EST 2016
Merge pull request #330 from PikalaxALT/scriptmacrorenaming Scriptmacrorenaming
--- a/audio/cries.asm
+++ b/audio/cries.asm
@@ -1,2306 +1,2306 @@
-Cry_26: ; f2d81
- dbw $84, Cry_26_Ch5
- dbw $05, Cry_26_Ch6
- dbw $07, Cry_26_Ch8
+Cry_Marill: ; f2d81
+ musicheader 3, 5, Cry_Marill_Ch5
+ musicheader 1, 6, Cry_Marill_Ch6
+ musicheader 1, 8, Cry_Marill_Ch8
; f2d8a
-Cry_28: ; f2d8a
- dbw $44, Cry_28_Ch5
- dbw $05, Cry_28_Ch6
+Cry_Togepi: ; f2d8a
+ musicheader 2, 5, Cry_Togepi_Ch5
+ musicheader 1, 6, Cry_Togepi_Ch6
; f2d90
-Cry_2C: ; f2d90
- dbw $44, Cry_2C_Ch5
- dbw $05, Cry_2C_Ch6
+Cry_Togetic: ; f2d90
+ musicheader 2, 5, Cry_Togetic_Ch5
+ musicheader 1, 6, Cry_Togetic_Ch6
; f2d96
-Cry_27: ; f2d96
- dbw $84, Cry_27_Ch5
- dbw $05, Cry_27_Ch6
- dbw $07, Cry_27_Ch8
+Cry_Spinarak: ; f2d96
+ musicheader 3, 5, Cry_Spinarak_Ch5
+ musicheader 1, 6, Cry_Spinarak_Ch6
+ musicheader 1, 8, Cry_Spinarak_Ch8
; f2d9f
-Cry_2A: ; f2d9f
- dbw $84, Cry_2A_Ch5
- dbw $05, Cry_2A_Ch6
- dbw $07, Cry_2A_Ch8
+Cry_Raikou: ; f2d9f
+ musicheader 3, 5, Cry_Raikou_Ch5
+ musicheader 1, 6, Cry_Raikou_Ch6
+ musicheader 1, 8, Cry_Raikou_Ch8
; f2da8
-Cry_2D: ; f2da8
- dbw $84, Cry_2D_Ch5
- dbw $05, Cry_2D_Ch6
- dbw $07, Cry_2D_Ch8
+Cry_Hoothoot: ; f2da8
+ musicheader 3, 5, Cry_Hoothoot_Ch5
+ musicheader 1, 6, Cry_Hoothoot_Ch6
+ musicheader 1, 8, Cry_Hoothoot_Ch8
; f2db1
-Cry_2E: ; f2db1
- dbw $44, Cry_2E_Ch5
- dbw $05, Cry_2E_Ch6
+Cry_Sentret: ; f2db1
+ musicheader 2, 5, Cry_Sentret_Ch5
+ musicheader 1, 6, Cry_Sentret_Ch6
; f2db7
-Cry_2F: ; f2db7
- dbw $84, Cry_2F_Ch5
- dbw $05, Cry_2F_Ch6
- dbw $07, Cry_2F_Ch8
+Cry_Slowking: ; f2db7
+ musicheader 3, 5, Cry_Slowking_Ch5
+ musicheader 1, 6, Cry_Slowking_Ch6
+ musicheader 1, 8, Cry_Slowking_Ch8
; f2dc0
-Cry_2B: ; f2dc0
- dbw $44, Cry_2B_Ch5
- dbw $05, Cry_2B_Ch6
+Cry_Mareep: ; f2dc0
+ musicheader 2, 5, Cry_Mareep_Ch5
+ musicheader 1, 6, Cry_Mareep_Ch6
; f2dc6
-Cry_30: ; f2dc6
- dbw $84, Cry_30_Ch5
- dbw $05, Cry_30_Ch6
- dbw $07, Cry_30_Ch8
+Cry_Cyndaquil: ; f2dc6
+ musicheader 3, 5, Cry_Cyndaquil_Ch5
+ musicheader 1, 6, Cry_Cyndaquil_Ch6
+ musicheader 1, 8, Cry_Cyndaquil_Ch8
; f2dcf
-Cry_31: ; f2dcf
- dbw $84, Cry_31_Ch5
- dbw $05, Cry_31_Ch6
- dbw $07, Cry_31_Ch8
+Cry_Chikorita: ; f2dcf
+ musicheader 3, 5, Cry_Chikorita_Ch5
+ musicheader 1, 6, Cry_Chikorita_Ch6
+ musicheader 1, 8, Cry_Chikorita_Ch8
; f2dd8
-Cry_33: ; f2dd8
- dbw $44, Cry_33_Ch5
- dbw $07, Cry_33_Ch8
+Cry_Gligar: ; f2dd8
+ musicheader 2, 5, Cry_Gligar_Ch5
+ musicheader 1, 8, Cry_Gligar_Ch8
; f2dde
-Cry_29: ; f2dde
- dbw $84, Cry_29_Ch5
- dbw $05, Cry_29_Ch6
- dbw $07, Cry_29_Ch8
+Cry_Girafarig: ; f2dde
+ musicheader 3, 5, Cry_Girafarig_Ch5
+ musicheader 1, 6, Cry_Girafarig_Ch6
+ musicheader 1, 8, Cry_Girafarig_Ch8
; f2de7
-Cry_35: ; f2de7
- dbw $44, Cry_35_Ch5
- dbw $07, Cry_35_Ch8
+Cry_Slugma: ; f2de7
+ musicheader 2, 5, Cry_Slugma_Ch5
+ musicheader 1, 8, Cry_Slugma_Ch8
; f2ded
-Cry_36: ; f2ded
- dbw $84, Cry_36_Ch5
- dbw $05, Cry_36_Ch6
- dbw $07, Cry_36_Ch8
+Cry_Ledyba: ; f2ded
+ musicheader 3, 5, Cry_Ledyba_Ch5
+ musicheader 1, 6, Cry_Ledyba_Ch6
+ musicheader 1, 8, Cry_Ledyba_Ch8
; f2df6
-Cry_38: ; f2df6
- dbw $84, Cry_38_Ch5
- dbw $05, Cry_38_Ch6
- dbw $07, Cry_38_Ch8
+Cry_Wooper: ; f2df6
+ musicheader 3, 5, Cry_Wooper_Ch5
+ musicheader 1, 6, Cry_Wooper_Ch6
+ musicheader 1, 8, Cry_Wooper_Ch8
; f2dff
-Cry_43: ; f2dff
- dbw $84, Cry_43_Ch5
- dbw $05, Cry_43_Ch6
- dbw $07, Cry_43_Ch8
+Cry_Donphan: ; f2dff
+ musicheader 3, 5, Cry_Donphan_Ch5
+ musicheader 1, 6, Cry_Donphan_Ch6
+ musicheader 1, 8, Cry_Donphan_Ch8
; f2e08
-Cry_3A: ; f2e08
- dbw $84, Cry_3A_Ch5
- dbw $05, Cry_3A_Ch6
- dbw $07, Cry_3A_Ch8
+Cry_Typhlosion: ; f2e08
+ musicheader 3, 5, Cry_Typhlosion_Ch5
+ musicheader 1, 6, Cry_Typhlosion_Ch6
+ musicheader 1, 8, Cry_Typhlosion_Ch8
; f2e11
-Cry_3B: ; f2e11
- dbw $84, Cry_3B_Ch5
- dbw $05, Cry_3B_Ch6
- dbw $07, Cry_3B_Ch8
+Cry_Natu: ; f2e11
+ musicheader 3, 5, Cry_Natu_Ch5
+ musicheader 1, 6, Cry_Natu_Ch6
+ musicheader 1, 8, Cry_Natu_Ch8
; f2e1a
-Cry_3C: ; f2e1a
- dbw $84, Cry_3C_Ch5
- dbw $05, Cry_3C_Ch6
- dbw $07, Cry_3C_Ch8
+Cry_Teddiursa: ; f2e1a
+ musicheader 3, 5, Cry_Teddiursa_Ch5
+ musicheader 1, 6, Cry_Teddiursa_Ch6
+ musicheader 1, 8, Cry_Teddiursa_Ch8
; f2e23
-Cry_3D: ; f2e23
- dbw $84, Cry_3D_Ch5
- dbw $05, Cry_3D_Ch6
- dbw $07, Cry_3D_Ch8
+Cry_Sunflora: ; f2e23
+ musicheader 3, 5, Cry_Sunflora_Ch5
+ musicheader 1, 6, Cry_Sunflora_Ch6
+ musicheader 1, 8, Cry_Sunflora_Ch8
; f2e2c
-Cry_3E: ; f2e2c
- dbw $84, Cry_3E_Ch5
- dbw $05, Cry_3E_Ch6
- dbw $07, Cry_3E_Ch8
+Cry_Ampharos: ; f2e2c
+ musicheader 3, 5, Cry_Ampharos_Ch5
+ musicheader 1, 6, Cry_Ampharos_Ch6
+ musicheader 1, 8, Cry_Ampharos_Ch8
; f2e35
-Cry_32: ; f2e35
- dbw $84, Cry_32_Ch5
- dbw $05, Cry_32_Ch6
- dbw $07, Cry_32_Ch8
+Cry_Totodile: ; f2e35
+ musicheader 3, 5, Cry_Totodile_Ch5
+ musicheader 1, 6, Cry_Totodile_Ch6
+ musicheader 1, 8, Cry_Totodile_Ch8
; f2e3e
-Cry_34: ; f2e3e
- dbw $84, Cry_34_Ch5
- dbw $05, Cry_34_Ch6
- dbw $07, Cry_34_Ch8
+Cry_Cleffa: ; f2e3e
+ musicheader 3, 5, Cry_Cleffa_Ch5
+ musicheader 1, 6, Cry_Cleffa_Ch6
+ musicheader 1, 8, Cry_Cleffa_Ch8
; f2e47
-Cry_40: ; f2e47
- dbw $84, Cry_40_Ch5
- dbw $05, Cry_40_Ch6
- dbw $07, Cry_40_Ch8
+Cry_Pichu: ; f2e47
+ musicheader 3, 5, Cry_Pichu_Ch5
+ musicheader 1, 6, Cry_Pichu_Ch6
+ musicheader 1, 8, Cry_Pichu_Ch8
; f2e50
-Cry_41: ; f2e50
- dbw $84, Cry_41_Ch5
- dbw $05, Cry_41_Ch6
- dbw $07, Cry_41_Ch8
+Cry_Aipom: ; f2e50
+ musicheader 3, 5, Cry_Aipom_Ch5
+ musicheader 1, 6, Cry_Aipom_Ch6
+ musicheader 1, 8, Cry_Aipom_Ch8
; f2e59
-Cry_42: ; f2e59
- dbw $84, Cry_42_Ch5
- dbw $05, Cry_42_Ch6
- dbw $07, Cry_42_Ch8
+Cry_Dunsparce: ; f2e59
+ musicheader 3, 5, Cry_Dunsparce_Ch5
+ musicheader 1, 6, Cry_Dunsparce_Ch6
+ musicheader 1, 8, Cry_Dunsparce_Ch8
; f2e62
-Cry_3F: ; f2e62
- dbw $84, Cry_3F_Ch5
- dbw $05, Cry_3F_Ch6
- dbw $07, Cry_3F_Ch8
+Cry_Magcargo: ; f2e62
+ musicheader 3, 5, Cry_Magcargo_Ch5
+ musicheader 1, 6, Cry_Magcargo_Ch6
+ musicheader 1, 8, Cry_Magcargo_Ch8
; f2e6b
-Cry_37: ; f2e6b
- dbw $84, Cry_37_Ch5
- dbw $05, Cry_37_Ch6
- dbw $07, Cry_37_Ch8
+Cry_Entei: ; f2e6b
+ musicheader 3, 5, Cry_Entei_Ch5
+ musicheader 1, 6, Cry_Entei_Ch6
+ musicheader 1, 8, Cry_Entei_Ch8
; f2e74
-Cry_39: ; f2e74
- dbw $84, Cry_39_Ch5
- dbw $05, Cry_39_Ch6
- dbw $07, Cry_39_Ch8
+Cry_Mantine: ; f2e74
+ musicheader 3, 5, Cry_Mantine_Ch5
+ musicheader 1, 6, Cry_Mantine_Ch6
+ musicheader 1, 8, Cry_Mantine_Ch8
; f2e7d
-Cry_37_Ch5: ; f2e7d
+Cry_Entei_Ch5: ; f2e7d
soundinput $ff
unknownmusic0xde $63
- sound $1, $f8, $05f8
- sound $8, $9f, $04d8
- sound $6, $f8, $05c4
- sound $14, $f2, $0574
+ sound __, 2, $f8, $05f8
+ sound __, 9, $9f, $04d8
+ sound __, 7, $f8, $05c4
+ sound C_, 5, $f2, $0574
soundinput $88
endchannel
; f2e94
-Cry_37_Ch6: ; f2e94
+Cry_Entei_Ch6: ; f2e94
unknownmusic0xde $33
- sound $1, $c8, $0640
- sound $6, $ff, $0668
- sound $7, $a8, $0534
- sound $14, $a2, $04a4
+ sound __, 2, $c8, $0640
+ sound __, 7, $ff, $0668
+ sound __, 8, $a8, $0534
+ sound C_, 5, $a2, $04a4
endchannel
; f2ea7
-Cry_37_Ch8: ; f2ea7
- noise $a, $d6, $6a
- noise $6, $bc, $6c
- noise $6, $e2, $5c
- noise $20, $b4, $6c
+Cry_Entei_Ch8: ; f2ea7
+ noise __, 11, $d6, $6a
+ noise __, 7, $bc, $6c
+ noise __, 7, $e2, $5c
+ noise C#, 1, $b4, $6c
endchannel
; f2eb4
-Cry_3F_Ch5: ; f2eb4
+Cry_Magcargo_Ch5: ; f2eb4
unknownmusic0xde $c4
- sound $4, $af, $0720
- sound $2, $f8, $071c
- sound $2, $f8, $0718
- sound $2, $f8, $0708
- sound $2, $f8, $070e
- sound $c, $c8, $0712
- sound $4, $91, $070e
+ sound __, 5, $af, $0720
+ sound __, 3, $f8, $071c
+ sound __, 3, $f8, $0718
+ sound __, 3, $f8, $0708
+ sound __, 3, $f8, $070e
+ sound __, 13, $c8, $0712
+ sound __, 5, $91, $070e
endchannel
; f2ed3
-Cry_3F_Ch6: ; f2ed3
+Cry_Magcargo_Ch6: ; f2ed3
unknownmusic0xde $a
- sound $1, $b8, $0710
- sound $3, $d8, $072c
- sound $4, $d8, $0665
- sound $1, $b8, $0656
- sound $1, $d8, $065c
- sound $c, $f8, $0760
- sound $4, $c1, $0750
+ sound __, 2, $b8, $0710
+ sound __, 4, $d8, $072c
+ sound __, 5, $d8, $0665
+ sound __, 2, $b8, $0656
+ sound __, 2, $d8, $065c
+ sound __, 13, $f8, $0760
+ sound __, 5, $c1, $0750
endchannel
; f2ef2
-Cry_3F_Ch8: ; f2ef2
- noise $2, $e8, $3b
-Cry_3F_branch_f2ef5: ; f2ef5
- noise $1, $f1, $4e
- loopchannel 5, Cry_3F_branch_f2ef5
- noise $2, $d8, $3f
- noise $14, $c2, $5f
+Cry_Magcargo_Ch8: ; f2ef2
+ noise __, 3, $e8, $3b
+Cry_Magcargo_branch_f2ef5: ; f2ef5
+ noise __, 2, $f1, $4e
+ loopchannel 5, Cry_Magcargo_branch_f2ef5
+ noise __, 3, $d8, $3f
+ noise C_, 5, $c2, $5f
endchannel
; f2f03
-Cry_42_Ch5: ; f2f03
+Cry_Dunsparce_Ch5: ; f2f03
unknownmusic0xde $22
- sound $1, $f8, $05b0
- sound $1, $f8, $04b4
- sound $1, $f8, $05b8
- sound $3, $f8, $05c0
- sound $8, $c8, $0490
- sound $8, $c8, $0480
+ sound __, 2, $f8, $05b0
+ sound __, 2, $f8, $04b4
+ sound __, 2, $f8, $05b8
+ sound __, 4, $f8, $05c0
+ sound __, 9, $c8, $0490
+ sound __, 9, $c8, $0480
soundinput $fe
- sound $10, $c3, $0490
+ sound C_, 1, $c3, $0490
soundinput $88
endchannel
; f2f26
-Cry_42_Ch6: ; f2f26
+Cry_Dunsparce_Ch6: ; f2f26
unknownmusic0xde $22
- sound $8, $b8, $04c8
- sound $20, $b5, $0410
+ sound __, 9, $b8, $04c8
+ sound C#, 1, $b5, $0410
endchannel
; f2f31
-Cry_42_Ch8: ; f2f31
- noise $3, $ff, $4b
- noise $3, $ef, $4c
- noise $20, $b5, $5f
+Cry_Dunsparce_Ch8: ; f2f31
+ noise __, 4, $ff, $4b
+ noise __, 4, $ef, $4c
+ noise C#, 1, $b5, $5f
endchannel
; f2f3b
-Cry_2F_Ch5: ; f2f3b
+Cry_Slowking_Ch5: ; f2f3b
unknownmusic0xde $33
- sound $2, $f1, $0550
- sound $2, $f1, $0530
- sound $2, $f1, $0510
- sound $2, $f2, $0650
- sound $2, $f2, $0640
- sound $2, $f2, $0630
- sound $10, $f2, $0550
+ sound __, 3, $f1, $0550
+ sound __, 3, $f1, $0530
+ sound __, 3, $f1, $0510
+ sound __, 3, $f2, $0650
+ sound __, 3, $f2, $0640
+ sound __, 3, $f2, $0630
+ sound C_, 1, $f2, $0550
endchannel
; f2f5a
-Cry_2F_Ch6: ; f2f5a
+Cry_Slowking_Ch6: ; f2f5a
unknownmusic0xde $f2
- sound $4, $e1, $0620
- sound $5, $e2, $0500
- sound $6, $e1, $0620
- sound $2, $e1, $0520
- sound $10, $e2, $0500
+ sound __, 5, $e1, $0620
+ sound __, 6, $e2, $0500
+ sound __, 7, $e1, $0620
+ sound __, 3, $e1, $0520
+ sound C_, 1, $e2, $0500
endchannel
; f2f71
-Cry_2F_Ch8: ; f2f71
- noise $2, $8a, $5d
- noise $2, $9a, $4c
- noise $5, $9a, $5d
- noise $2, $9a, $4d
- noise $2, $9a, $4b
- noise $2, $9a, $4d
- noise $2, $9a, $5f
- noise $10, $b2, $6f
+Cry_Slowking_Ch8: ; f2f71
+ noise __, 3, $8a, $5d
+ noise __, 3, $9a, $4c
+ noise __, 6, $9a, $5d
+ noise __, 3, $9a, $4d
+ noise __, 3, $9a, $4b
+ noise __, 3, $9a, $4d
+ noise __, 3, $9a, $5f
+ noise C_, 1, $b2, $6f
endchannel
; f2f8a
-Cry_40_Ch5: ; f2f8a
+Cry_Pichu_Ch5: ; f2f8a
dutycycle $0
soundinput $f7
- sound $2, $f8, $078d
- sound $2, $f8, $0791
+ sound __, 3, $f8, $078d
+ sound __, 3, $f8, $0791
soundinput $ff
- sound $2, $f8, $07ad
+ sound __, 3, $f8, $07ad
soundinput $88
- sound $2, $f8, $07b4
+ sound __, 3, $f8, $07b4
soundinput $f7
- sound $2, $f8, $07b8
+ sound __, 3, $f8, $07b8
soundinput $88
endchannel
; f2fab
-Cry_40_Ch6: ; f2fab
+Cry_Pichu_Ch6: ; f2fab
unknownmusic0xde $10
- sound $2, $c8, $076d
- sound $2, $c8, $0771
- sound $2, $c8, $078d
- sound $2, $c8, $0794
- sound $2, $c8, $0798
+ sound __, 3, $c8, $076d
+ sound __, 3, $c8, $0771
+ sound __, 3, $c8, $078d
+ sound __, 3, $c8, $0794
+ sound __, 3, $c8, $0798
endchannel
; f2fc2
-Cry_40_Ch8: ; f2fc2
- noise $2, $b8, $1
- noise $2, $b8, $19
- noise $2, $c8, $18
- noise $2, $b8, $10
- noise $8, $c2, $18
+Cry_Pichu_Ch8: ; f2fc2
+ noise __, 3, $b8, $1
+ noise __, 3, $b8, $19
+ noise __, 3, $c8, $18
+ noise __, 3, $b8, $10
+ noise __, 9, $c2, $18
endchannel
; f2fd2
-Cry_26_Ch5: ; f2fd2
+Cry_Marill_Ch5: ; f2fd2
unknownmusic0xde $22
- sound $2, $88, $06d8
- sound $8, $e2, $06e0
- sound $2, $61, $06e5
- sound $2, $e8, $06c0
- sound $2, $e8, $06b8
- sound $2, $d8, $06b0
- sound $8, $c1, $06aa
+ sound __, 3, $88, $06d8
+ sound __, 9, $e2, $06e0
+ sound __, 3, $61, $06e5
+ sound __, 3, $e8, $06c0
+ sound __, 3, $e8, $06b8
+ sound __, 3, $d8, $06b0
+ sound __, 9, $c1, $06aa
endchannel
; f2ff1
-Cry_26_Ch6: ; f2ff1
+Cry_Marill_Ch6: ; f2ff1
unknownmusic0xde $63
- sound $2, $68, $06b1
- sound $5, $c1, $06b9
- sound $5, $99, $0760
- sound $2, $b8, $068c
- sound $2, $a8, $0684
- sound $a, $92, $067b
+ sound __, 3, $68, $06b1
+ sound __, 6, $c1, $06b9
+ sound __, 6, $99, $0760
+ sound __, 3, $b8, $068c
+ sound __, 3, $a8, $0684
+ sound __, 11, $92, $067b
endchannel
; f300c
-Cry_26_Ch8: ; f300c
- noise $1, $99, $6c
- noise $1, $92, $5c
- noise $a, $62, $4c
- noise $2, $68, $6a
- noise $2, $68, $6b
- noise $a, $62, $6c
+Cry_Marill_Ch8: ; f300c
+ noise __, 2, $99, $6c
+ noise __, 2, $92, $5c
+ noise __, 11, $62, $4c
+ noise __, 3, $68, $6a
+ noise __, 3, $68, $6b
+ noise __, 11, $62, $6c
endchannel
; f301f
-Cry_28_Ch5: ; f301f
+Cry_Togepi_Ch5: ; f301f
tone $0002
-Cry_28_Ch6: ; f3022
-Cry_2C_branch_f3022: ; f3022
+Cry_Togepi_Ch6: ; f3022
+Cry_Togetic_branch_f3022: ; f3022
unknownmusic0xde $52
- sound $4, $f1, $0796
- sound $4, $f1, $072d
- sound $7, $0, 0
- sound $10, $f1, $07a7
+ sound __, 5, $f1, $0796
+ sound __, 5, $f1, $072d
+ sound __, 8, $0, 0
+ sound C_, 1, $f1, $07a7
endchannel
; f3035
-Cry_2C_Ch5: ; f3035
+Cry_Togetic_Ch5: ; f3035
tone $0002
-Cry_2C_Ch6: ; f3038
-Cry_2C_branch_f3038: ; f3038
- callchannel Cry_2C_branch_f3022
- loopchannel 2, Cry_2C_branch_f3038
- sound $e, $0, 0
- sound $8, $f2, $07c2
+Cry_Togetic_Ch6: ; f3038
+Cry_Togetic_branch_f3038: ; f3038
+ callchannel Cry_Togetic_branch_f3022
+ loopchannel 2, Cry_Togetic_branch_f3038
+ sound __, 15, $0, 0
+ sound __, 9, $f2, $07c2
endchannel
; f3048
-Cry_27_Ch5: ; f3048
+Cry_Spinarak_Ch5: ; f3048
dutycycle $1
- sound $3, $2c, $07c4
- sound $1, $0, $0001
- sound $5, $59, $07b9
- sound $6, $b4, $07bb
+ sound __, 4, $2c, $07c4
+ sound __, 2, $0, $0001
+ sound __, 6, $59, $07b9
+ sound __, 7, $b4, $07bb
endchannel
; f305b
-Cry_27_Ch6: ; f305b
+Cry_Spinarak_Ch6: ; f305b
unknownmusic0xde $2a
- sound $3, $2c, $07c7
- sound $1, $0, 0
- sound $5, $59, $07be
- sound $6, $b4, $07bd
+ sound __, 4, $2c, $07c7
+ sound __, 2, $0, 0
+ sound __, 6, $59, $07be
+ sound __, 7, $b4, $07bd
endchannel
; f306e
-Cry_27_Ch8: ; f306e
- noise $3, $92, $10
- noise $1, $39, $0
- noise $5, $69, $10
- noise $6, $93, $0
+Cry_Spinarak_Ch8: ; f306e
+ noise __, 4, $92, $10
+ noise __, 2, $39, $0
+ noise __, 6, $69, $10
+ noise __, 7, $93, $0
endchannel
; f307b
-Cry_2A_Ch5: ; f307b
+Cry_Raikou_Ch5: ; f307b
unknownmusic0xde $f8
- sound $2, $f1, $04b0
- sound $2, $f7, $0590
- sound $8, $f8, $0510
- sound $3, $f2, $06c0
- sound $3, $f8, $06ba
- sound $3, $f2, $06b0
- sound $10, $f2, $0690
+ sound __, 3, $f1, $04b0
+ sound __, 3, $f7, $0590
+ sound __, 9, $f8, $0510
+ sound __, 4, $f2, $06c0
+ sound __, 4, $f8, $06ba
+ sound __, 4, $f2, $06b0
+ sound C_, 1, $f2, $0690
endchannel
; f309a
-Cry_2A_Ch6: ; f309a
+Cry_Raikou_Ch6: ; f309a
unknownmusic0xde $f2
- sound $2, $f1, $0720
- sound $2, $e1, $0650
- sound $4, $f1, $0750
- sound $4, $d1, $03a0
- sound $3, $f1, $0670
- sound $3, $e1, $0680
- sound $3, $f2, $0690
- sound $10, $e2, $06a0
+ sound __, 3, $f1, $0720
+ sound __, 3, $e1, $0650
+ sound __, 5, $f1, $0750
+ sound __, 5, $d1, $03a0
+ sound __, 4, $f1, $0670
+ sound __, 4, $e1, $0680
+ sound __, 4, $f2, $0690
+ sound C_, 1, $e2, $06a0
endchannel
; f30bd
-Cry_2A_Ch8: ; f30bd
- noise $2, $89, $2e
- noise $2, $99, $1f
- noise $4, $89, $4e
- noise $4, $89, $7b
- noise $3, $d8, $4b
- noise $3, $e7, $4c
- noise $3, $ec, $4d
- noise $10, $d2, $4f
+Cry_Raikou_Ch8: ; f30bd
+ noise __, 3, $89, $2e
+ noise __, 3, $99, $1f
+ noise __, 5, $89, $4e
+ noise __, 5, $89, $7b
+ noise __, 4, $d8, $4b
+ noise __, 4, $e7, $4c
+ noise __, 4, $ec, $4d
+ noise C_, 1, $d2, $4f
endchannel
; f30d6
-Cry_2D_Ch5: ; f30d6
+Cry_Hoothoot_Ch5: ; f30d6
unknownmusic0xde $66
- sound $4, $78, $0650
- sound $4, $f8, $0660
- sound $4, $f8, $065c
- sound $1, $f8, $067c
- sound $4, $f8, $0680
- sound $4, $f8, $067c
- sound $4, $f8, $0678
- sound $4, $f1, $0674
+ sound __, 5, $78, $0650
+ sound __, 5, $f8, $0660
+ sound __, 5, $f8, $065c
+ sound __, 2, $f8, $067c
+ sound __, 5, $f8, $0680
+ sound __, 5, $f8, $067c
+ sound __, 5, $f8, $0678
+ sound __, 5, $f1, $0674
endchannel
; f30f9
-Cry_2D_Ch6: ; f30f9
+Cry_Hoothoot_Ch6: ; f30f9
unknownmusic0xde $22
-Cry_2D_branch_f30fb: ; f30fb
- sound $2, $a1, $0600
- loopchannel 3, Cry_2D_branch_f30fb
-Cry_2D_branch_f3103: ; f3103
- sound $2, $a1, $0630
- loopchannel 4, Cry_2D_branch_f3103
- sound $4, $a2, $0634
- sound $4, $91, $0638
+Cry_Hoothoot_branch_f30fb: ; f30fb
+ sound __, 3, $a1, $0600
+ loopchannel 3, Cry_Hoothoot_branch_f30fb
+Cry_Hoothoot_branch_f3103: ; f3103
+ sound __, 3, $a1, $0630
+ loopchannel 4, Cry_Hoothoot_branch_f3103
+ sound __, 5, $a2, $0634
+ sound __, 5, $91, $0638
endchannel
; f3114
-Cry_2D_Ch8: ; f3114
- noise $1, $68, $36
- noise $10, $88, $6a
- noise $1, $98, $5e
- noise $10, $a7, $6e
+Cry_Hoothoot_Ch8: ; f3114
+ noise __, 2, $68, $36
+ noise C_, 1, $88, $6a
+ noise __, 2, $98, $5e
+ noise C_, 1, $a7, $6e
endchannel
; f3121
-Cry_2E_Ch5: ; f3121
+Cry_Sentret_Ch5: ; f3121
tone $0020
dutycycle $0
- jumpchannel Cry_2E_branch_f312b
+ jumpchannel Cry_Sentret_branch_f312b
; f3129
-Cry_2E_Ch6: ; f3129
+Cry_Sentret_Ch6: ; f3129
unknownmusic0xde $1b
-Cry_2E_branch_f312b: ; f312b
- sound $8, $39, $072d
- sound $8, $f1, $0720
+Cry_Sentret_branch_f312b: ; f312b
+ sound __, 9, $39, $072d
+ sound __, 9, $f1, $0720
endchannel
; f3134
-Cry_2E_Ch8: ; f3134
- noise $8, $3b, $0
- noise $8, $92, $0
+Cry_Sentret_Ch8: ; f3134
+ noise __, 9, $3b, $0
+ noise __, 9, $92, $0
endchannel
; f313b
-Cry_2B_Ch5: ; f313b
+Cry_Mareep_Ch5: ; f313b
tone $0020
dutycycle $0
- jumpchannel Cry_2B_branch_f3145
+ jumpchannel Cry_Mareep_branch_f3145
; f3143
-Cry_2B_Ch6: ; f3143
+Cry_Mareep_Ch6: ; f3143
unknownmusic0xde $1
-Cry_2B_branch_f3145: ; f3145
-Cry_33_branch_f3145: ; f3145
- sound $4, $3a, $073d
- sound $6, $f8, $0762
- sound $6, $f8, $0760
- sound $6, $f1, $075e
+Cry_Mareep_branch_f3145: ; f3145
+Cry_Gligar_branch_f3145: ; f3145
+ sound __, 5, $3a, $073d
+ sound __, 7, $f8, $0762
+ sound __, 7, $f8, $0760
+ sound __, 7, $f1, $075e
endchannel
; f3156
-Cry_30_Ch5: ; f3156
+Cry_Cyndaquil_Ch5: ; f3156
tone $0020
-Cry_30_Ch6: ; f3159
+Cry_Cyndaquil_Ch6: ; f3159
dutycycle $2
- sound $8, $2f, $0107
-Cry_30_branch_f315f: ; f315f
- sound $0, $e1, $0483
- sound $0, $51, $044e
- loopchannel 4, Cry_30_branch_f315f
-Cry_30_branch_f316b: ; f316b
- sound $0, $e1, $03da
- sound $1, $51, $0312
- loopchannel 4, Cry_30_branch_f316b
+ sound __, 9, $2f, $0107
+Cry_Cyndaquil_branch_f315f: ; f315f
+ sound __, 1, $e1, $0483
+ sound __, 1, $51, $044e
+ loopchannel 4, Cry_Cyndaquil_branch_f315f
+Cry_Cyndaquil_branch_f316b: ; f316b
+ sound __, 1, $e1, $03da
+ sound __, 2, $51, $0312
+ loopchannel 4, Cry_Cyndaquil_branch_f316b
endchannel
; f3178
-Cry_30_Ch8: ; f3178
-Cry_33_Ch8: ; f3178
- noise $8, $3f, $52
- noise $20, $93, $4f
+Cry_Cyndaquil_Ch8: ; f3178
+Cry_Gligar_Ch8: ; f3178
+ noise __, 9, $3f, $52
+ noise C#, 1, $93, $4f
endchannel
; f317f
-Cry_31_Ch5: ; f317f
+Cry_Chikorita_Ch5: ; f317f
tone $0020
-Cry_31_Ch6: ; f3182
+Cry_Chikorita_Ch6: ; f3182
unknownmusic0xde $21
- sound $2, $c8, $0641
- sound $2, $48, $0641
- sound $6, $f8, $0790
- sound $4, $f8, $078e
- sound $4, $f1, $078b
+ sound __, 3, $c8, $0641
+ sound __, 3, $48, $0641
+ sound __, 7, $f8, $0790
+ sound __, 5, $f8, $078e
+ sound __, 5, $f1, $078b
endchannel
; f3199
-Cry_31_Ch8: ; f3199
- noise $4, $91, $10
- noise $8, $94, $3
+Cry_Chikorita_Ch8: ; f3199
+ noise __, 5, $91, $10
+ noise __, 9, $94, $3
endchannel
; f31a0
-Cry_33_Ch5: ; f31a0
+Cry_Gligar_Ch5: ; f31a0
unknownmusic0xde $a2
- jumpchannel Cry_33_branch_f3145
+ jumpchannel Cry_Gligar_branch_f3145
; f31a5
-Cry_29_Ch5: ; f31a5
+Cry_Girafarig_Ch5: ; f31a5
dutycycle $1
tone $0004
- jumpchannel Cry_29_branch_f31af
+ jumpchannel Cry_Girafarig_branch_f31af
; f31ad
-Cry_29_Ch6: ; f31ad
+Cry_Girafarig_Ch6: ; f31ad
unknownmusic0xde $41
-Cry_29_branch_f31af: ; f31af
- sound $4, $68, $0758
- sound $2, $e8, $0760
- sound $2, $e8, $0767
- sound $2, $e8, $076c
- sound $7, $f1, $0767
+Cry_Girafarig_branch_f31af: ; f31af
+ sound __, 5, $68, $0758
+ sound __, 3, $e8, $0760
+ sound __, 3, $e8, $0767
+ sound __, 3, $e8, $076c
+ sound __, 8, $f1, $0767
endchannel
; f31c4
-Cry_29_Ch8: ; f31c4
- noise $4, $29, $0
- noise $2, $39, $1
- noise $2, $49, $2
- noise $2, $59, $1
- noise $7, $41, $0
+Cry_Girafarig_Ch8: ; f31c4
+ noise __, 5, $29, $0
+ noise __, 3, $39, $1
+ noise __, 3, $49, $2
+ noise __, 3, $59, $1
+ noise __, 8, $41, $0
endchannel
; f31d4
-Cry_35_Ch5: ; f31d4
+Cry_Slugma_Ch5: ; f31d4
unknownmusic0xde $91
- sound $c, $f2, $07a6
- sound $4, $f8, $07b0
- sound $4, $e8, $03b0
- sound $6, $f8, $03a0
- sound $8, $e1, $0290
+ sound __, 13, $f2, $07a6
+ sound __, 5, $f8, $07b0
+ sound __, 5, $e8, $03b0
+ sound __, 7, $f8, $03a0
+ sound __, 9, $e1, $0290
endchannel
; f31eb
-Cry_35_Ch8: ; f31eb
- noise $c, $b2, $50
- noise $8, $a8, $60
- noise $6, $a8, $5b
- noise $8, $a1, $5c
+Cry_Slugma_Ch8: ; f31eb
+ noise __, 13, $b2, $50
+ noise __, 9, $a8, $60
+ noise __, 7, $a8, $5b
+ noise __, 9, $a1, $5c
endchannel
; f31f8
-Cry_36_Ch5: ; f31f8
+Cry_Ledyba_Ch5: ; f31f8
tone $0002
dutycycle $2
- jumpchannel Cry_36_branch_f3202
+ jumpchannel Cry_Ledyba_branch_f3202
; f3200
-Cry_36_Ch6: ; f3200
+Cry_Ledyba_Ch6: ; f3200
unknownmusic0xde $1
-Cry_36_branch_f3202: ; f3202
- sound $3, $f8, $0791
- sound $3, $d8, $078d
- sound $2, $0, 0
- sound $1, $78, $06c1
- sound $1, $f8, $0741
- sound $4, $e1, $0751
+Cry_Ledyba_branch_f3202: ; f3202
+ sound __, 4, $f8, $0791
+ sound __, 4, $d8, $078d
+ sound __, 3, $0, 0
+ sound __, 2, $78, $06c1
+ sound __, 2, $f8, $0741
+ sound __, 5, $e1, $0751
endchannel
; f321b
-Cry_36_Ch8: ; f321b
- noise $3, $59, $21
- noise $3, $81, $0
- noise $2, $20, $0
- noise $1, $80, $21
- noise $1, $80, $10
- noise $4, $87, $0
+Cry_Ledyba_Ch8: ; f321b
+ noise __, 4, $59, $21
+ noise __, 4, $81, $0
+ noise __, 3, $20, $0
+ noise __, 2, $80, $21
+ noise __, 2, $80, $10
+ noise __, 5, $87, $0
endchannel
; f322e
-Cry_38_Ch5: ; f322e
-Cry_43_Ch5: ; f322e
+Cry_Wooper_Ch5: ; f322e
+Cry_Donphan_Ch5: ; f322e
dutycycle $2
- sound $2, $99, $0718
- sound $4, $ab, $0722
- sound $8, $ab, $0734
- sound $4, $d6, $0716
- sound $8, $d1, $0712
- sound $8, $0, 0
+ sound __, 3, $99, $0718
+ sound __, 5, $ab, $0722
+ sound __, 9, $ab, $0734
+ sound __, 5, $d6, $0716
+ sound __, 9, $d1, $0712
+ sound __, 9, $0, 0
endchannel
; f3249
-Cry_38_Ch6: ; f3249
-Cry_43_Ch6: ; f3249
+Cry_Wooper_Ch6: ; f3249
+Cry_Donphan_Ch6: ; f3249
unknownmusic0xde $7
- sound $2, $b9, $0738
- sound $4, $cb, $0742
- sound $8, $cb, $0754
- sound $4, $f6, $0736
- sound $8, $f1, $0732
- sound $8, $0, 0
+ sound __, 3, $b9, $0738
+ sound __, 5, $cb, $0742
+ sound __, 9, $cb, $0754
+ sound __, 5, $f6, $0736
+ sound __, 9, $f1, $0732
+ sound __, 9, $0, 0
endchannel
; f3264
-Cry_38_Ch8: ; f3264
- noise $2, $5b, $4
- noise $4, $68, $13
- noise $8, $68, $20
- noise $4, $68, $13
- noise $10, $51, $4
+Cry_Wooper_Ch8: ; f3264
+ noise __, 3, $5b, $4
+ noise __, 5, $68, $13
+ noise __, 9, $68, $20
+ noise __, 5, $68, $13
+ noise C_, 1, $51, $4
endchannel
; f3274
-Cry_43_Ch8: ; f3274
- noise $2, $8b, $59
- noise $4, $a8, $6a
- noise $8, $a8, $70
- noise $4, $a8, $69
- noise $10, $92, $6c
+Cry_Donphan_Ch8: ; f3274
+ noise __, 3, $8b, $59
+ noise __, 5, $a8, $6a
+ noise __, 9, $a8, $70
+ noise __, 5, $a8, $69
+ noise C_, 1, $92, $6c
endchannel
; f3284
-Cry_3A_Ch5: ; f3284
-Cry_3C_Ch5: ; f3284
+Cry_Typhlosion_Ch5: ; f3284
+Cry_Teddiursa_Ch5: ; f3284
unknownmusic0xde $12
-Cry_3A_branch_f3286: ; f3286
-Cry_3C_branch_f3286: ; f3286
- sound $3, $c1, $0791
- loopchannel 3, Cry_3A_branch_f3286
-Cry_3A_branch_f328e: ; f328e
-Cry_3C_branch_f328e: ; f328e
- sound $3, $d1, $04b1
- loopchannel 6, Cry_3A_branch_f328e
-Cry_3A_branch_f3296: ; f3296
-Cry_3C_branch_f3296: ; f3296
- sound $1, $d1, $0491
- sound $1, $b1, $0451
- loopchannel 6, Cry_3A_branch_f3296
-Cry_3A_branch_f32a2: ; f32a2
-Cry_3C_branch_f32a2: ; f32a2
- sound $1, $a3, $0471
- sound $1, $81, $0441
- loopchannel 6, Cry_3A_branch_f32a2
-Cry_3A_branch_f32ae: ; f32ae
-Cry_3C_branch_f32ae: ; f32ae
- sound $1, $41, $0421
- sound $1, $21, $0401
- loopchannel 4, Cry_3A_branch_f32ae
+Cry_Typhlosion_branch_f3286: ; f3286
+Cry_Teddiursa_branch_f3286: ; f3286
+ sound __, 4, $c1, $0791
+ loopchannel 3, Cry_Typhlosion_branch_f3286
+Cry_Typhlosion_branch_f328e: ; f328e
+Cry_Teddiursa_branch_f328e: ; f328e
+ sound __, 4, $d1, $04b1
+ loopchannel 6, Cry_Typhlosion_branch_f328e
+Cry_Typhlosion_branch_f3296: ; f3296
+Cry_Teddiursa_branch_f3296: ; f3296
+ sound __, 2, $d1, $0491
+ sound __, 2, $b1, $0451
+ loopchannel 6, Cry_Typhlosion_branch_f3296
+Cry_Typhlosion_branch_f32a2: ; f32a2
+Cry_Teddiursa_branch_f32a2: ; f32a2
+ sound __, 2, $a3, $0471
+ sound __, 2, $81, $0441
+ loopchannel 6, Cry_Typhlosion_branch_f32a2
+Cry_Typhlosion_branch_f32ae: ; f32ae
+Cry_Teddiursa_branch_f32ae: ; f32ae
+ sound __, 2, $41, $0421
+ sound __, 2, $21, $0401
+ loopchannel 4, Cry_Typhlosion_branch_f32ae
endchannel
; f32bb
-Cry_3A_Ch6: ; f32bb
-Cry_3C_Ch6: ; f32bb
+Cry_Typhlosion_Ch6: ; f32bb
+Cry_Teddiursa_Ch6: ; f32bb
unknownmusic0xde $78
- sound $8, $99, $0740
- sound $8, $79, $0746
- sound $10, $f6, $078d
- sound $8, $f8, $0791
- sound $8, $f8, $078d
- sound $8, $f8, $0787
- sound $18, $e2, $0783
+ sound __, 9, $99, $0740
+ sound __, 9, $79, $0746
+ sound C_, 1, $f6, $078d
+ sound __, 9, $f8, $0791
+ sound __, 9, $f8, $078d
+ sound __, 9, $f8, $0787
+ sound C_, 9, $e2, $0783
endchannel
; f32da
-Cry_3A_Ch8: ; f32da
- noise $10, $a6, $16
- noise $18, $98, $3d
- noise $20, $98, $5c
- noise $20, $75, $5f
+Cry_Typhlosion_Ch8: ; f32da
+ noise C_, 1, $a6, $16
+ noise C_, 9, $98, $3d
+ noise C#, 1, $98, $5c
+ noise C#, 1, $75, $5f
endchannel
; f32e7
-Cry_3B_Ch5: ; f32e7
+Cry_Natu_Ch5: ; f32e7
unknownmusic0xde $de
-Cry_39_branch_f32e9: ; f32e9
-Cry_3D_branch_f32e9: ; f32e9
- sound $4, $f8, $07b1
- sound $4, $f8, $07b0
- sound $4, $48, $07af
-Cry_39_branch_f32f5: ; f32f5
- sound $4, $f8, $07b2
- sound $4, $f8, $07b3
- sound $4, $48, $07b4
+Cry_Mantine_branch_f32e9: ; f32e9
+Cry_Sunflora_branch_f32e9: ; f32e9
+ sound __, 5, $f8, $07b1
+ sound __, 5, $f8, $07b0
+ sound __, 5, $48, $07af
+Cry_Mantine_branch_f32f5: ; f32f5
+ sound __, 5, $f8, $07b2
+ sound __, 5, $f8, $07b3
+ sound __, 5, $48, $07b4
endchannel
; f3302
-Cry_39_branch_f3302: ; f3302
-Cry_3B_Ch6: ; f3302
-Cry_3D_Ch6: ; f3302
+Cry_Mantine_branch_f3302: ; f3302
+Cry_Natu_Ch6: ; f3302
+Cry_Sunflora_Ch6: ; f3302
unknownmusic0xde $f2
- sound $4, $f8, $07b2
- sound $4, $f8, $07b1
- sound $4, $28, $07b0
-Cry_39_branch_f3310: ; f3310
- sound $4, $f8, $07b4
- sound $4, $f8, $07b6
- sound $4, $48, $07b8
+ sound __, 5, $f8, $07b2
+ sound __, 5, $f8, $07b1
+ sound __, 5, $28, $07b0
+Cry_Mantine_branch_f3310: ; f3310
+ sound __, 5, $f8, $07b4
+ sound __, 5, $f8, $07b6
+ sound __, 5, $48, $07b8
endchannel
; f331d
-Cry_39_branch_f331d: ; f331d
-Cry_3B_Ch8: ; f331d
-Cry_3D_Ch8: ; f331d
- noise $4, $88, $5
- noise $4, $88, $4
- noise $4, $38, $3
-Cry_39_branch_f3326: ; f3326
- noise $4, $88, $5
- noise $4, $88, $4
- noise $4, $87, $4
+Cry_Mantine_branch_f331d: ; f331d
+Cry_Natu_Ch8: ; f331d
+Cry_Sunflora_Ch8: ; f331d
+ noise __, 5, $88, $5
+ noise __, 5, $88, $4
+ noise __, 5, $38, $3
+Cry_Mantine_branch_f3326: ; f3326
+ noise __, 5, $88, $5
+ noise __, 5, $88, $4
+ noise __, 5, $87, $4
endchannel
; f3330
-Cry_3C_Ch8: ; f3330
- noise $8, $a6, $3a
- noise $8, $a1, $5a
+Cry_Teddiursa_Ch8: ; f3330
+ noise __, 9, $a6, $3a
+ noise __, 9, $a1, $5a
endchannel
; f3337
-Cry_3D_Ch5: ; f3337
+Cry_Sunflora_Ch5: ; f3337
dutycycle $0
- jumpchannel Cry_3D_branch_f32e9
+ jumpchannel Cry_Sunflora_branch_f32e9
; f333c
-Cry_39_Ch5: ; f333c
+Cry_Mantine_Ch5: ; f333c
dutycycle $0
- callchannel Cry_39_branch_f32e9
- callchannel Cry_39_branch_f32f5
+ callchannel Cry_Mantine_branch_f32e9
+ callchannel Cry_Mantine_branch_f32f5
endchannel
; f3345
-Cry_39_Ch6: ; f3345
- callchannel Cry_39_branch_f3302
- callchannel Cry_39_branch_f3310
+Cry_Mantine_Ch6: ; f3345
+ callchannel Cry_Mantine_branch_f3302
+ callchannel Cry_Mantine_branch_f3310
endchannel
; f334c
-Cry_39_Ch8: ; f334c
- callchannel Cry_39_branch_f331d
- callchannel Cry_39_branch_f3326
+Cry_Mantine_Ch8: ; f334c
+ callchannel Cry_Mantine_branch_f331d
+ callchannel Cry_Mantine_branch_f3326
endchannel
; f3353
-Cry_3E_Ch5: ; f3353
+Cry_Ampharos_Ch5: ; f3353
unknownmusic0xde $de
-Cry_3E_branch_f3355: ; f3355
- sound $1, $c1, $0520
- sound $1, $a1, $0420
- loopchannel 4, Cry_3E_branch_f3355
+Cry_Ampharos_branch_f3355: ; f3355
+ sound __, 2, $c1, $0520
+ sound __, 2, $a1, $0420
+ loopchannel 4, Cry_Ampharos_branch_f3355
dutycycle $0
- sound $4, $78, $0760
- sound $4, $78, $0730
- sound $18, $c2, $0420
+ sound __, 5, $78, $0760
+ sound __, 5, $78, $0730
+ sound C_, 9, $c2, $0420
endchannel
; f3370
-Cry_3E_Ch6: ; f3370
+Cry_Ampharos_Ch6: ; f3370
unknownmusic0xde $32
- sound $8, $f8, $0700
- sound $7, $f8, $0720
- sound $4, $f8, $0790
- sound $4, $f8, $0760
- sound $18, $f2, $0730
+ sound __, 9, $f8, $0700
+ sound __, 8, $f8, $0720
+ sound __, 5, $f8, $0790
+ sound __, 5, $f8, $0760
+ sound C_, 9, $f2, $0730
endchannel
; f3387
-Cry_3E_Ch8: ; f3387
- noise $4, $88, $6d
- noise $4, $d8, $68
- noise $7, $c8, $69
- noise $4, $98, $3a
- noise $4, $98, $3c
- noise $18, $d2, $5b
+Cry_Ampharos_Ch8: ; f3387
+ noise __, 5, $88, $6d
+ noise __, 5, $d8, $68
+ noise __, 8, $c8, $69
+ noise __, 5, $98, $3a
+ noise __, 5, $98, $3c
+ noise C_, 9, $d2, $5b
endchannel
; f339a
-Cry_32_Ch5: ; f339a
+Cry_Totodile_Ch5: ; f339a
unknownmusic0xde $32
- sound $8, $f8, $0330
- sound $8, $f8, $0340
- sound $8, $c8, $07b2
- sound $8, $b8, $07b3
- sound $20, $b2, $07b4
+ sound __, 9, $f8, $0330
+ sound __, 9, $f8, $0340
+ sound __, 9, $c8, $07b2
+ sound __, 9, $b8, $07b3
+ sound C#, 1, $b2, $07b4
endchannel
; f33b1
-Cry_32_Ch6: ; f33b1
+Cry_Totodile_Ch6: ; f33b1
unknownmusic0xde $12
- sound $8, $e8, $0320
- sound $8, $e8, $0328
- sound $8, $98, $0780
- sound $8, $88, $0782
- sound $20, $72, $0784
+ sound __, 9, $e8, $0320
+ sound __, 9, $e8, $0328
+ sound __, 9, $98, $0780
+ sound __, 9, $88, $0782
+ sound C#, 1, $72, $0784
endchannel
; f33c8
-Cry_32_Ch8: ; f33c8
- noise $2, $be, $49
- noise $5, $be, $3a
- noise $2, $be, $29
- noise $28, $d3, $6e
+Cry_Totodile_Ch8: ; f33c8
+ noise __, 3, $be, $49
+ noise __, 6, $be, $3a
+ noise __, 3, $be, $29
+ noise C#, 9, $d3, $6e
endchannel
; f33d5
-Cry_34_Ch5: ; f33d5
+Cry_Cleffa_Ch5: ; f33d5
unknownmusic0xde $39
soundinput $ff
- sound $2, $f8, $0720
- sound $2, $f8, $0727
- sound $2, $f8, $0780
+ sound __, 3, $f8, $0720
+ sound __, 3, $f8, $0727
+ sound __, 3, $f8, $0780
soundinput $88
- sound $2, $f8, $0779
- sound $4, $f8, $0740
- sound $4, $f8, $073c
+ sound __, 3, $f8, $0779
+ sound __, 5, $f8, $0740
+ sound __, 5, $f8, $073c
soundinput $ff
- sound $8, $f1, $0737
+ sound __, 9, $f1, $0737
soundinput $88
endchannel
; f33fc
-Cry_34_Ch6: ; f33fc
+Cry_Cleffa_Ch6: ; f33fc
unknownmusic0xde $22
- sound $6, $b2, $071e
- sound $5, $92, $0779
- sound $4, $82, $073e
- sound $8, $a1, $0735
+ sound __, 7, $b2, $071e
+ sound __, 6, $92, $0779
+ sound __, 5, $82, $073e
+ sound __, 9, $a1, $0735
endchannel
; f340f
-Cry_34_Ch8: ; f340f
- noise $2, $64, $7f
- noise $2, $84, $7d
- noise $2, $a4, $6f
- noise $2, $64, $6c
- noise $2, $94, $6f
- noise $2, $61, $6b
+Cry_Cleffa_Ch8: ; f340f
+ noise __, 3, $64, $7f
+ noise __, 3, $84, $7d
+ noise __, 3, $a4, $6f
+ noise __, 3, $64, $6c
+ noise __, 3, $94, $6f
+ noise __, 3, $61, $6b
endchannel
; f3422
-Cry_41_Ch5: ; f3422
- unknownmusic0xde $d2
- sound $3, $f8, $06b0
- sound $1, $f8, $06a5
- sound $1, $f8, $069d
- sound $7, $f1, $068a
- sound $3, $f8, $0736
- sound $3, $f8, $0720
- sound $14, $f2, $070e
+Cry_Aipom_Ch5: ; f3422
+ unknownmusic0xde $d2
+ sound __, 4, $f8, $06b0
+ sound __, 2, $f8, $06a5
+ sound __, 2, $f8, $069d
+ sound __, 8, $f1, $068a
+ sound __, 4, $f8, $0736
+ sound __, 4, $f8, $0720
+ sound C_, 5, $f2, $070e
endchannel
; f3441
-Cry_41_Ch6: ; f3441
+Cry_Aipom_Ch6: ; f3441
unknownmusic0xde $27
-Cry_41_branch_f3443: ; f3443
- sound $1, $f1, $07b4
- loopchannel 8, Cry_41_branch_f3443
-Cry_41_branch_f344b: ; f344b
- sound $1, $c1, $0790
- loopchannel 3, Cry_41_branch_f344b
-Cry_41_branch_f3453: ; f3453
- sound $1, $b1, $078d
- loopchannel 2, Cry_41_branch_f3453
- sound $10, $92, $0795
+Cry_Aipom_branch_f3443: ; f3443
+ sound __, 2, $f1, $07b4
+ loopchannel 8, Cry_Aipom_branch_f3443
+Cry_Aipom_branch_f344b: ; f344b
+ sound __, 2, $c1, $0790
+ loopchannel 3, Cry_Aipom_branch_f344b
+Cry_Aipom_branch_f3453: ; f3453
+ sound __, 2, $b1, $078d
+ loopchannel 2, Cry_Aipom_branch_f3453
+ sound C_, 1, $92, $0795
endchannel
; f3460
-Cry_41_Ch8: ; f3460
-Cry_41_branch_f3460: ; f3460
- noise $0, $f1, $28
- loopchannel 4, Cry_41_branch_f3460
- noise $0, $91, $49
- noise $1, $a8, $4a
- noise $0, $e1, $4b
- noise $5, $d2, $4f
- noise $3, $c2, $4e
- noise $3, $b2, $4d
- noise $14, $a3, $4c
+Cry_Aipom_Ch8: ; f3460
+Cry_Aipom_branch_f3460: ; f3460
+ noise __, 1, $f1, $28
+ loopchannel 4, Cry_Aipom_branch_f3460
+ noise __, 1, $91, $49
+ noise __, 2, $a8, $4a
+ noise __, 1, $e1, $4b
+ noise __, 6, $d2, $4f
+ noise __, 4, $c2, $4e
+ noise __, 4, $b2, $4d
+ noise C_, 5, $a3, $4c
endchannel
; f347d
-Cry_00: ; f347d
- dbw $84, Cry_00_Ch5
- dbw $05, Cry_00_Ch6
- dbw $07, Cry_00_Ch8
+Cry_Nidoran_M: ; f347d
+ musicheader 3, 5, Cry_Nidoran_M_Ch5
+ musicheader 1, 6, Cry_Nidoran_M_Ch6
+ musicheader 1, 8, Cry_Nidoran_M_Ch8
; f3486
-Cry_01: ; f3486
- dbw $84, Cry_01_Ch5
- dbw $05, Cry_01_Ch6
- dbw $07, Cry_01_Ch8
+Cry_Nidoran_F: ; f3486
+ musicheader 3, 5, Cry_Nidoran_F_Ch5
+ musicheader 1, 6, Cry_Nidoran_F_Ch6
+ musicheader 1, 8, Cry_Nidoran_F_Ch8
; f348f
-Cry_02: ; f348f
- dbw $84, Cry_02_Ch5
- dbw $05, Cry_02_Ch6
- dbw $07, Cry_02_Ch8
+Cry_Slowpoke: ; f348f
+ musicheader 3, 5, Cry_Slowpoke_Ch5
+ musicheader 1, 6, Cry_Slowpoke_Ch6
+ musicheader 1, 8, Cry_Slowpoke_Ch8
; f3498
-Cry_03: ; f3498
- dbw $84, Cry_03_Ch5
- dbw $05, Cry_03_Ch6
- dbw $07, Cry_03_Ch8
+Cry_Kangaskhan: ; f3498
+ musicheader 3, 5, Cry_Kangaskhan_Ch5
+ musicheader 1, 6, Cry_Kangaskhan_Ch6
+ musicheader 1, 8, Cry_Kangaskhan_Ch8
; f34a1
-Cry_04: ; f34a1
- dbw $84, Cry_04_Ch5
- dbw $05, Cry_04_Ch6
- dbw $07, Cry_04_Ch8
+Cry_Charmander: ; f34a1
+ musicheader 3, 5, Cry_Charmander_Ch5
+ musicheader 1, 6, Cry_Charmander_Ch6
+ musicheader 1, 8, Cry_Charmander_Ch8
; f34aa
-Cry_05: ; f34aa
- dbw $84, Cry_05_Ch5
- dbw $05, Cry_05_Ch6
- dbw $07, Cry_05_Ch8
+Cry_Grimer: ; f34aa
+ musicheader 3, 5, Cry_Grimer_Ch5
+ musicheader 1, 6, Cry_Grimer_Ch6
+ musicheader 1, 8, Cry_Grimer_Ch8
; f34b3
-Cry_06: ; f34b3
- dbw $84, Cry_06_Ch5
- dbw $05, Cry_06_Ch6
- dbw $07, Cry_06_Ch8
+Cry_Voltorb: ; f34b3
+ musicheader 3, 5, Cry_Voltorb_Ch5
+ musicheader 1, 6, Cry_Voltorb_Ch6
+ musicheader 1, 8, Cry_Voltorb_Ch8
; f34bc
-Cry_07: ; f34bc
- dbw $84, Cry_07_Ch5
- dbw $05, Cry_07_Ch6
- dbw $07, Cry_07_Ch8
+Cry_Muk: ; f34bc
+ musicheader 3, 5, Cry_Muk_Ch5
+ musicheader 1, 6, Cry_Muk_Ch6
+ musicheader 1, 8, Cry_Muk_Ch8
; f34c5
-Cry_08: ; f34c5
- dbw $84, Cry_08_Ch5
- dbw $05, Cry_08_Ch6
- dbw $07, Cry_08_Ch8
+Cry_Oddish: ; f34c5
+ musicheader 3, 5, Cry_Oddish_Ch5
+ musicheader 1, 6, Cry_Oddish_Ch6
+ musicheader 1, 8, Cry_Oddish_Ch8
; f34ce
-Cry_09: ; f34ce
- dbw $84, Cry_09_Ch5
- dbw $05, Cry_09_Ch6
- dbw $07, Cry_09_Ch8
+Cry_Raichu: ; f34ce
+ musicheader 3, 5, Cry_Raichu_Ch5
+ musicheader 1, 6, Cry_Raichu_Ch6
+ musicheader 1, 8, Cry_Raichu_Ch8
; f34d7
-Cry_0A: ; f34d7
- dbw $84, Cry_0A_Ch5
- dbw $05, Cry_0A_Ch6
- dbw $07, Cry_0A_Ch8
+Cry_Nidoqueen: ; f34d7
+ musicheader 3, 5, Cry_Nidoqueen_Ch5
+ musicheader 1, 6, Cry_Nidoqueen_Ch6
+ musicheader 1, 8, Cry_Nidoqueen_Ch8
; f34e0
-Cry_0B: ; f34e0
- dbw $84, Cry_0B_Ch5
- dbw $05, Cry_0B_Ch6
- dbw $07, Cry_0B_Ch8
+Cry_Diglett: ; f34e0
+ musicheader 3, 5, Cry_Diglett_Ch5
+ musicheader 1, 6, Cry_Diglett_Ch6
+ musicheader 1, 8, Cry_Diglett_Ch8
; f34e9
-Cry_0C: ; f34e9
- dbw $84, Cry_0C_Ch5
- dbw $05, Cry_0C_Ch6
- dbw $07, Cry_0C_Ch8
+Cry_Seel: ; f34e9
+ musicheader 3, 5, Cry_Seel_Ch5
+ musicheader 1, 6, Cry_Seel_Ch6
+ musicheader 1, 8, Cry_Seel_Ch8
; f34f2
-Cry_0D: ; f34f2
- dbw $84, Cry_0D_Ch5
- dbw $05, Cry_0D_Ch6
- dbw $07, Cry_0D_Ch8
+Cry_Drowzee: ; f34f2
+ musicheader 3, 5, Cry_Drowzee_Ch5
+ musicheader 1, 6, Cry_Drowzee_Ch6
+ musicheader 1, 8, Cry_Drowzee_Ch8
; f34fb
-Cry_0E: ; f34fb
- dbw $84, Cry_0E_Ch5
- dbw $05, Cry_0E_Ch6
- dbw $07, Cry_0E_Ch8
+Cry_Pidgey: ; f34fb
+ musicheader 3, 5, Cry_Pidgey_Ch5
+ musicheader 1, 6, Cry_Pidgey_Ch6
+ musicheader 1, 8, Cry_Pidgey_Ch8
; f3504
-Cry_0F: ; f3504
- dbw $84, Cry_0F_Ch5
- dbw $05, Cry_0F_Ch6
- dbw $07, Cry_0F_Ch8
+Cry_Bulbasaur: ; f3504
+ musicheader 3, 5, Cry_Bulbasaur_Ch5
+ musicheader 1, 6, Cry_Bulbasaur_Ch6
+ musicheader 1, 8, Cry_Bulbasaur_Ch8
; f350d
-Cry_10: ; f350d
- dbw $84, Cry_10_Ch5
- dbw $05, Cry_10_Ch6
- dbw $07, Cry_10_Ch8
+Cry_Spearow: ; f350d
+ musicheader 3, 5, Cry_Spearow_Ch5
+ musicheader 1, 6, Cry_Spearow_Ch6
+ musicheader 1, 8, Cry_Spearow_Ch8
; f3516
-Cry_11: ; f3516
- dbw $84, Cry_11_Ch5
- dbw $05, Cry_11_Ch6
- dbw $07, Cry_11_Ch8
+Cry_Rhydon: ; f3516
+ musicheader 3, 5, Cry_Rhydon_Ch5
+ musicheader 1, 6, Cry_Rhydon_Ch6
+ musicheader 1, 8, Cry_Rhydon_Ch8
; f351f
-Cry_12: ; f351f
- dbw $84, Cry_12_Ch5
- dbw $05, Cry_12_Ch6
- dbw $07, Cry_12_Ch8
+Cry_Golem: ; f351f
+ musicheader 3, 5, Cry_Golem_Ch5
+ musicheader 1, 6, Cry_Golem_Ch6
+ musicheader 1, 8, Cry_Golem_Ch8
; f3528
-Cry_13: ; f3528
- dbw $84, Cry_13_Ch5
- dbw $05, Cry_13_Ch6
- dbw $07, Cry_13_Ch8
+Cry_Blastoise: ; f3528
+ musicheader 3, 5, Cry_Blastoise_Ch5
+ musicheader 1, 6, Cry_Blastoise_Ch6
+ musicheader 1, 8, Cry_Blastoise_Ch8
; f3531
-Cry_14: ; f3531
- dbw $84, Cry_14_Ch5
- dbw $05, Cry_14_Ch6
- dbw $07, Cry_14_Ch8
+Cry_Pidgeotto: ; f3531
+ musicheader 3, 5, Cry_Pidgeotto_Ch5
+ musicheader 1, 6, Cry_Pidgeotto_Ch6
+ musicheader 1, 8, Cry_Pidgeotto_Ch8
; f353a
-Cry_15: ; f353a
- dbw $84, Cry_15_Ch5
- dbw $05, Cry_15_Ch6
- dbw $07, Cry_15_Ch8
+Cry_Weedle: ; f353a
+ musicheader 3, 5, Cry_Weedle_Ch5
+ musicheader 1, 6, Cry_Weedle_Ch6
+ musicheader 1, 8, Cry_Weedle_Ch8
; f3543
-Cry_16: ; f3543
- dbw $84, Cry_16_Ch5
- dbw $05, Cry_16_Ch6
- dbw $07, Cry_16_Ch8
+Cry_Caterpie: ; f3543
+ musicheader 3, 5, Cry_Caterpie_Ch5
+ musicheader 1, 6, Cry_Caterpie_Ch6
+ musicheader 1, 8, Cry_Caterpie_Ch8
; f354c
-Cry_17: ; f354c
- dbw $84, Cry_17_Ch5
- dbw $05, Cry_17_Ch6
- dbw $07, Cry_17_Ch8
+Cry_Ekans: ; f354c
+ musicheader 3, 5, Cry_Ekans_Ch5
+ musicheader 1, 6, Cry_Ekans_Ch6
+ musicheader 1, 8, Cry_Ekans_Ch8
; f3555
-Cry_18: ; f3555
- dbw $84, Cry_18_Ch5
- dbw $05, Cry_18_Ch6
- dbw $07, Cry_18_Ch8
+Cry_Fearow: ; f3555
+ musicheader 3, 5, Cry_Fearow_Ch5
+ musicheader 1, 6, Cry_Fearow_Ch6
+ musicheader 1, 8, Cry_Fearow_Ch8
; f355e
-Cry_19: ; f355e
- dbw $84, Cry_19_Ch5
- dbw $05, Cry_19_Ch6
- dbw $07, Cry_19_Ch8
+Cry_Clefairy: ; f355e
+ musicheader 3, 5, Cry_Clefairy_Ch5
+ musicheader 1, 6, Cry_Clefairy_Ch6
+ musicheader 1, 8, Cry_Clefairy_Ch8
; f3567
-Cry_1A: ; f3567
- dbw $84, Cry_1A_Ch5
- dbw $05, Cry_1A_Ch6
- dbw $07, Cry_1A_Ch8
+Cry_Venonat: ; f3567
+ musicheader 3, 5, Cry_Venonat_Ch5
+ musicheader 1, 6, Cry_Venonat_Ch6
+ musicheader 1, 8, Cry_Venonat_Ch8
; f3570
-Cry_1B: ; f3570
- dbw $84, Cry_1B_Ch5
- dbw $05, Cry_1B_Ch6
- dbw $07, Cry_1B_Ch8
+Cry_Lapras: ; f3570
+ musicheader 3, 5, Cry_Lapras_Ch5
+ musicheader 1, 6, Cry_Lapras_Ch6
+ musicheader 1, 8, Cry_Lapras_Ch8
; f3579
-Cry_1C: ; f3579
- dbw $84, Cry_1C_Ch5
- dbw $05, Cry_1C_Ch6
- dbw $07, Cry_1C_Ch8
+Cry_Metapod: ; f3579
+ musicheader 3, 5, Cry_Metapod_Ch5
+ musicheader 1, 6, Cry_Metapod_Ch6
+ musicheader 1, 8, Cry_Metapod_Ch8
; f3582
-Cry_1D: ; f3582
- dbw $84, Cry_1D_Ch5
- dbw $05, Cry_1D_Ch6
- dbw $07, Cry_1D_Ch8
+Cry_Squirtle: ; f3582
+ musicheader 3, 5, Cry_Squirtle_Ch5
+ musicheader 1, 6, Cry_Squirtle_Ch6
+ musicheader 1, 8, Cry_Squirtle_Ch8
; f358b
-Cry_1E: ; f358b
- dbw $84, Cry_1E_Ch5
- dbw $05, Cry_1E_Ch6
- dbw $07, Cry_1E_Ch8
+Cry_Paras: ; f358b
+ musicheader 3, 5, Cry_Paras_Ch5
+ musicheader 1, 6, Cry_Paras_Ch6
+ musicheader 1, 8, Cry_Paras_Ch8
; f3594
-Cry_1F: ; f3594
- dbw $84, Cry_1F_Ch5
- dbw $05, Cry_1F_Ch6
- dbw $07, Cry_1F_Ch8
+Cry_Growlithe: ; f3594
+ musicheader 3, 5, Cry_Growlithe_Ch5
+ musicheader 1, 6, Cry_Growlithe_Ch6
+ musicheader 1, 8, Cry_Growlithe_Ch8
; f359d
-Cry_20: ; f359d
- dbw $84, Cry_20_Ch5
- dbw $05, Cry_20_Ch6
- dbw $07, Cry_20_Ch8
+Cry_Krabby: ; f359d
+ musicheader 3, 5, Cry_Krabby_Ch5
+ musicheader 1, 6, Cry_Krabby_Ch6
+ musicheader 1, 8, Cry_Krabby_Ch8
; f35a6
-Cry_21: ; f35a6
- dbw $84, Cry_21_Ch5
- dbw $05, Cry_21_Ch6
- dbw $07, Cry_21_Ch8
+Cry_Psyduck: ; f35a6
+ musicheader 3, 5, Cry_Psyduck_Ch5
+ musicheader 1, 6, Cry_Psyduck_Ch6
+ musicheader 1, 8, Cry_Psyduck_Ch8
; f35af
-Cry_22: ; f35af
- dbw $84, Cry_22_Ch5
- dbw $05, Cry_22_Ch6
- dbw $07, Cry_22_Ch8
+Cry_Rattata: ; f35af
+ musicheader 3, 5, Cry_Rattata_Ch5
+ musicheader 1, 6, Cry_Rattata_Ch6
+ musicheader 1, 8, Cry_Rattata_Ch8
; f35b8
-Cry_23: ; f35b8
- dbw $84, Cry_23_Ch5
- dbw $05, Cry_23_Ch6
- dbw $07, Cry_23_Ch8
+Cry_Vileplume: ; f35b8
+ musicheader 3, 5, Cry_Vileplume_Ch5
+ musicheader 1, 6, Cry_Vileplume_Ch6
+ musicheader 1, 8, Cry_Vileplume_Ch8
; f35c1
-Cry_24: ; f35c1
- dbw $84, Cry_24_Ch5
- dbw $05, Cry_24_Ch6
- dbw $07, Cry_24_Ch8
+Cry_Vulpix: ; f35c1
+ musicheader 3, 5, Cry_Vulpix_Ch5
+ musicheader 1, 6, Cry_Vulpix_Ch6
+ musicheader 1, 8, Cry_Vulpix_Ch8
; f35ca
-Cry_25: ; f35ca
- dbw $84, Cry_25_Ch5
- dbw $05, Cry_25_Ch6
- dbw $07, Cry_25_Ch8
+Cry_Weepinbell: ; f35ca
+ musicheader 3, 5, Cry_Weepinbell_Ch5
+ musicheader 1, 6, Cry_Weepinbell_Ch6
+ musicheader 1, 8, Cry_Weepinbell_Ch8
; f35d3
Unknown_Cry_Ch5: ; f35d3
unknownmusic0xde $f0
- sound $f, $e0, $0780
- sound $f, $f0, $0784
- sound $f, $c3, $05e0
- sound $f, $c4, $0600
- sound $a, $6c, $0780
- sound $8, $71, $0784
+ sound __, 16, $e0, $0780
+ sound __, 16, $f0, $0784
+ sound __, 16, $c3, $05e0
+ sound __, 16, $c4, $0600
+ sound __, 11, $6c, $0780
+ sound __, 9, $71, $0784
endchannel
; f35ee
Unknown_Cry_Ch6: ; f35ee
unknownmusic0xde $5
- sound $f, $a0, $0741
- sound $f, $b0, $0743
- sound $f, $93, $05b1
- sound $f, $94, $05c1
- sound $a, $4c, $0741
- sound $8, $31, $0746
+ sound __, 16, $a0, $0741
+ sound __, 16, $b0, $0743
+ sound __, 16, $93, $05b1
+ sound __, 16, $94, $05c1
+ sound __, 11, $4c, $0741
+ sound __, 9, $31, $0746
endchannel
; f3609
Unknown_Cry_Ch8: ; f3609
- noise $2, $f2, $4c
- noise $6, $e0, $3a
- noise $f, $d0, $3a
- noise $8, $d0, $2c
- noise $6, $e6, $4c
- noise $c, $7d, $4c
- noise $f, $d3, $4c
+ noise __, 3, $f2, $4c
+ noise __, 7, $e0, $3a
+ noise __, 16, $d0, $3a
+ noise __, 9, $d0, $2c
+ noise __, 7, $e6, $4c
+ noise __, 13, $7d, $4c
+ noise __, 16, $d3, $4c
endchannel
; f361f
-Cry_09_Ch5: ; f361f
+Cry_Raichu_Ch5: ; f361f
unknownmusic0xde $f0
- sound $f, $f7, $07a0
- sound $6, $e6, $07a3
- sound $a, $f4, $07a0
+ sound __, 16, $f7, $07a0
+ sound __, 7, $e6, $07a3
+ sound __, 11, $f4, $07a0
unknownmusic0xde $a5
- sound $a, $f6, $07d8
- sound $4, $e3, $07d7
- sound $f, $f2, $07d8
+ sound __, 11, $f6, $07d8
+ sound __, 5, $e3, $07d7
+ sound __, 16, $f2, $07d8
endchannel
; f363c
-Cry_09_Ch6: ; f363c
+Cry_Raichu_Ch6: ; f363c
unknownmusic0xde $5
- sound $2, $8, 0
- sound $f, $a7, $06a1
- sound $6, $86, $06a2
- sound $a, $74, $06a1
+ sound __, 3, $8, 0
+ sound __, 16, $a7, $06a1
+ sound __, 7, $86, $06a2
+ sound __, 11, $74, $06a1
unknownmusic0xde $5f
- sound $a, $76, $06d6
- sound $4, $83, $06d9
- sound $f, $a2, $06d7
+ sound __, 11, $76, $06d6
+ sound __, 5, $83, $06d9
+ sound __, 16, $a2, $06d7
endchannel
; f365d
-Cry_09_Ch8: ; f365d
- noise $2, $f2, $3c
- noise $8, $e4, $3e
- noise $f, $d7, $3c
- noise $6, $c5, $3b
- noise $6, $e4, $3d
- noise $8, $b6, $3c
- noise $6, $d4, $3d
- noise $8, $c1, $3b
+Cry_Raichu_Ch8: ; f365d
+ noise __, 3, $f2, $3c
+ noise __, 9, $e4, $3e
+ noise __, 16, $d7, $3c
+ noise __, 7, $c5, $3b
+ noise __, 7, $e4, $3d
+ noise __, 9, $b6, $3c
+ noise __, 7, $d4, $3d
+ noise __, 9, $c1, $3b
endchannel
; f3676
-Cry_23_Ch5: ; f3676
+Cry_Vileplume_Ch5: ; f3676
unknownmusic0xde $f0
- sound $f, $f7, $07c0
- sound $6, $e4, $07c1
- sound $a, $f6, $07c0
- sound $4, $d3, $07c2
- sound $8, $c1, $07c0
+ sound __, 16, $f7, $07c0
+ sound __, 7, $e4, $07c1
+ sound __, 11, $f6, $07c0
+ sound __, 5, $d3, $07c2
+ sound __, 9, $c1, $07c0
endchannel
; f368d
-Cry_23_Ch6: ; f368d
+Cry_Vileplume_Ch6: ; f368d
unknownmusic0xde $5f
- sound $f, $97, $0781
- sound $6, $84, $0780
- sound $a, $96, $0781
- sound $f, $83, $0781
+ sound __, 16, $97, $0781
+ sound __, 7, $84, $0780
+ sound __, 11, $96, $0781
+ sound __, 16, $83, $0781
endchannel
; f36a0
-Cry_23_Ch8: ; f36a0
- noise $3, $f2, $3c
- noise $d, $e6, $2c
- noise $f, $d7, $3c
- noise $8, $c1, $2c
+Cry_Vileplume_Ch8: ; f36a0
+ noise __, 4, $f2, $3c
+ noise __, 14, $e6, $2c
+ noise __, 16, $d7, $3c
+ noise __, 9, $c1, $2c
endchannel
; f36ad
-Cry_24_Ch5: ; f36ad
+Cry_Vulpix_Ch5: ; f36ad
unknownmusic0xde $f0
- sound $f, $f7, $0680
- sound $a, $e6, $0684
- sound $f, $d7, $0690
- sound $8, $d5, $0690
- sound $6, $c4, $0688
- sound $5, $d3, $0670
- sound $4, $d3, $0660
- sound $8, $c1, $0640
+ sound __, 16, $f7, $0680
+ sound __, 11, $e6, $0684
+ sound __, 16, $d7, $0690
+ sound __, 9, $d5, $0690
+ sound __, 7, $c4, $0688
+ sound __, 6, $d3, $0670
+ sound __, 5, $d3, $0660
+ sound __, 9, $c1, $0640
endchannel
; f36d0
-Cry_24_Ch6: ; f36d0
+Cry_Vulpix_Ch6: ; f36d0
unknownmusic0xde $5
- sound $f, $b7, $0641
- sound $a, $96, $0642
- sound $f, $a7, $0651
- sound $8, $a5, $0651
- sound $6, $94, $0647
- sound $5, $a3, $0631
- sound $4, $93, $0622
- sound $8, $71, $0601
+ sound __, 16, $b7, $0641
+ sound __, 11, $96, $0642
+ sound __, 16, $a7, $0651
+ sound __, 9, $a5, $0651
+ sound __, 7, $94, $0647
+ sound __, 6, $a3, $0631
+ sound __, 5, $93, $0622
+ sound __, 9, $71, $0601
endchannel
; f36f3
-Cry_24_Ch8: ; f36f3
- noise $f, $e4, $3c
- noise $a, $c7, $4c
- noise $a, $c7, $3c
- noise $c, $b7, $4c
- noise $f, $a2, $5c
+Cry_Vulpix_Ch8: ; f36f3
+ noise __, 16, $e4, $3c
+ noise __, 11, $c7, $4c
+ noise __, 11, $c7, $3c
+ noise __, 13, $b7, $4c
+ noise __, 16, $a2, $5c
endchannel
; f3703
-Cry_11_Ch5: ; f3703
+Cry_Rhydon_Ch5: ; f3703
unknownmusic0xde $f0
- sound $6, $f7, $07a0
- sound $8, $e6, $07a4
- sound $4, $d6, $07a0
- sound $f, $d3, $0720
- sound $8, $c3, $0723
- sound $2, $c2, $0728
- sound $8, $b1, $0730
+ sound __, 7, $f7, $07a0
+ sound __, 9, $e6, $07a4
+ sound __, 5, $d6, $07a0
+ sound __, 16, $d3, $0720
+ sound __, 9, $c3, $0723
+ sound __, 3, $c2, $0728
+ sound __, 9, $b1, $0730
endchannel
; f3722
-Cry_11_Ch6: ; f3722
+Cry_Rhydon_Ch6: ; f3722
unknownmusic0xde $a
- sound $4, $8, 0
- sound $6, $a7, $0741
- sound $8, $86, $0743
- sound $4, $76, $0741
- sound $d, $83, $06c2
- sound $7, $73, $06c1
- sound $3, $82, $06cc
- sound $8, $71, $06d8
+ sound __, 5, $8, 0
+ sound __, 7, $a7, $0741
+ sound __, 9, $86, $0743
+ sound __, 5, $76, $0741
+ sound __, 14, $83, $06c2
+ sound __, 8, $73, $06c1
+ sound __, 4, $82, $06cc
+ sound __, 9, $71, $06d8
endchannel
; f3745
-Cry_11_Ch8: ; f3745
- noise $2, $f2, $4c
- noise $6, $e6, $3a
- noise $4, $d7, $3a
- noise $6, $d6, $2c
- noise $8, $e5, $3c
- noise $c, $d2, $3d
- noise $8, $d1, $2c
+Cry_Rhydon_Ch8: ; f3745
+ noise __, 3, $f2, $4c
+ noise __, 7, $e6, $3a
+ noise __, 5, $d7, $3a
+ noise __, 7, $d6, $2c
+ noise __, 9, $e5, $3c
+ noise __, 13, $d2, $3d
+ noise __, 9, $d1, $2c
endchannel
; f375b
-Cry_25_Ch5: ; f375b
+Cry_Weepinbell_Ch5: ; f375b
unknownmusic0xde $a5
- sound $6, $f4, $0740
- sound $f, $e3, $0730
- sound $4, $f4, $0740
- sound $5, $b3, $0748
- sound $8, $d1, $0750
+ sound __, 7, $f4, $0740
+ sound __, 16, $e3, $0730
+ sound __, 5, $f4, $0740
+ sound __, 6, $b3, $0748
+ sound __, 9, $d1, $0750
endchannel
; f3772
-Cry_25_Ch6: ; f3772
+Cry_Weepinbell_Ch6: ; f3772
unknownmusic0xde $77
- sound $6, $c3, $0712
- sound $f, $b3, $0704
- sound $3, $c3, $0712
- sound $4, $c3, $0721
- sound $8, $b1, $0732
+ sound __, 7, $c3, $0712
+ sound __, 16, $b3, $0704
+ sound __, 4, $c3, $0712
+ sound __, 5, $c3, $0721
+ sound __, 9, $b1, $0732
endchannel
; f3789
-Cry_25_Ch8: ; f3789
- noise $8, $d6, $2c
- noise $c, $c6, $3c
- noise $a, $b6, $2c
- noise $8, $91, $1c
+Cry_Weepinbell_Ch8: ; f3789
+ noise __, 9, $d6, $2c
+ noise __, 13, $c6, $3c
+ noise __, 11, $b6, $2c
+ noise __, 9, $91, $1c
endchannel
; f3796
-Cry_03_Ch5: ; f3796
+Cry_Kangaskhan_Ch5: ; f3796
unknownmusic0xde $f0
- sound $4, $f7, $0608
- sound $6, $e6, $0600
- sound $6, $d7, $05f0
- sound $6, $c4, $05e0
- sound $5, $d3, $05c0
- sound $4, $d3, $05a0
- sound $8, $e1, $0580
+ sound __, 5, $f7, $0608
+ sound __, 7, $e6, $0600
+ sound __, 7, $d7, $05f0
+ sound __, 7, $c4, $05e0
+ sound __, 6, $d3, $05c0
+ sound __, 5, $d3, $05a0
+ sound __, 9, $e1, $0580
endchannel
; f37b5
-Cry_03_Ch6: ; f37b5
+Cry_Kangaskhan_Ch6: ; f37b5
unknownmusic0xde $a
- sound $4, $c7, $0504
- sound $6, $a6, $0502
- sound $6, $97, $04f1
- sound $4, $b4, $04e1
- sound $5, $a3, $04c2
- sound $4, $b3, $04a3
- sound $8, $c1, $0482
+ sound __, 5, $c7, $0504
+ sound __, 7, $a6, $0502
+ sound __, 7, $97, $04f1
+ sound __, 5, $b4, $04e1
+ sound __, 6, $a3, $04c2
+ sound __, 5, $b3, $04a3
+ sound __, 9, $c1, $0482
endchannel
; f37d4
-Cry_03_Ch8: ; f37d4
- noise $c, $e4, $4c
- noise $a, $c7, $5c
- noise $c, $b6, $4c
- noise $f, $a2, $5c
+Cry_Kangaskhan_Ch8: ; f37d4
+ noise __, 13, $e4, $4c
+ noise __, 11, $c7, $5c
+ noise __, 13, $b6, $4c
+ noise __, 16, $a2, $5c
endchannel
; f37e1
-Cry_0F_Ch5: ; f37e1
+Cry_Bulbasaur_Ch5: ; f37e1
unknownmusic0xde $f1
- sound $4, $f7, $07c0
- sound $c, $e6, $07c2
- sound $6, $b5, $0680
- sound $4, $c4, $0670
- sound $4, $b5, $0660
- sound $8, $c1, $0640
+ sound __, 5, $f7, $07c0
+ sound __, 13, $e6, $07c2
+ sound __, 7, $b5, $0680
+ sound __, 5, $c4, $0670
+ sound __, 5, $b5, $0660
+ sound __, 9, $c1, $0640
endchannel
; f37fc
-Cry_0F_Ch6: ; f37fc
+Cry_Bulbasaur_Ch6: ; f37fc
unknownmusic0xde $cc
- sound $3, $c7, $0781
- sound $c, $b6, $0780
- sound $6, $a5, $0641
- sound $4, $c4, $0632
- sound $6, $b5, $0621
- sound $8, $a1, $0602
+ sound __, 4, $c7, $0781
+ sound __, 13, $b6, $0780
+ sound __, 7, $a5, $0641
+ sound __, 5, $c4, $0632
+ sound __, 7, $b5, $0621
+ sound __, 9, $a1, $0602
endchannel
; f3817
-Cry_0F_Ch8: ; f3817
- noise $3, $e4, $3c
- noise $c, $d6, $2c
- noise $4, $e4, $3c
- noise $8, $b7, $5c
- noise $f, $c2, $5d
+Cry_Bulbasaur_Ch8: ; f3817
+ noise __, 4, $e4, $3c
+ noise __, 13, $d6, $2c
+ noise __, 5, $e4, $3c
+ noise __, 9, $b7, $5c
+ noise __, 16, $c2, $5d
endchannel
; f3827
-Cry_10_Ch5: ; f3827
+Cry_Spearow_Ch5: ; f3827
unknownmusic0xde $c9
- sound $8, $f7, $0680
- sound $2, $f7, $0660
- sound $1, $e7, $0640
- sound $1, $e7, $0620
- sound $f, $d1, $0600
- sound $4, $c7, $0740
- sound $4, $a7, $0730
- sound $f, $91, $0720
+ sound __, 9, $f7, $0680
+ sound __, 3, $f7, $0660
+ sound __, 2, $e7, $0640
+ sound __, 2, $e7, $0620
+ sound __, 16, $d1, $0600
+ sound __, 5, $c7, $0740
+ sound __, 5, $a7, $0730
+ sound __, 16, $91, $0720
endchannel
; f384a
-Cry_10_Ch6: ; f384a
+Cry_Spearow_Ch6: ; f384a
unknownmusic0xde $79
- sound $a, $e7, $0682
- sound $2, $e7, $0662
- sound $1, $d7, $0642
- sound $1, $d7, $0622
- sound $f, $c1, $0602
- sound $4, $b7, $0742
- sound $2, $97, $0732
- sound $f, $81, $0722
+ sound __, 11, $e7, $0682
+ sound __, 3, $e7, $0662
+ sound __, 2, $d7, $0642
+ sound __, 2, $d7, $0622
+ sound __, 16, $c1, $0602
+ sound __, 5, $b7, $0742
+ sound __, 3, $97, $0732
+ sound __, 16, $81, $0722
endchannel
; f386d
-Cry_10_Ch8: ; f386d
- noise $4, $74, $21
- noise $4, $74, $10
- noise $4, $71, $20
+Cry_Spearow_Ch8: ; f386d
+ noise __, 5, $74, $21
+ noise __, 5, $74, $10
+ noise __, 5, $71, $20
endchannel
; f3877
-Cry_00_Ch5: ; f3877
+Cry_Nidoran_M_Ch5: ; f3877
unknownmusic0xde $f5
- sound $4, $f3, $0718
- sound $f, $e5, $0798
- sound $8, $91, $0758
+ sound __, 5, $f3, $0718
+ sound __, 16, $e5, $0798
+ sound __, 9, $91, $0758
endchannel
; f3886
-Cry_00_Ch6: ; f3886
+Cry_Nidoran_M_Ch6: ; f3886
unknownmusic0xde $a0
- sound $5, $b3, $0708
- sound $f, $c5, $0788
- sound $8, $71, $0748
+ sound __, 6, $b3, $0708
+ sound __, 16, $c5, $0788
+ sound __, 9, $71, $0748
endchannel
; f3895
-Cry_00_Ch8: ; f3895
- noise $3, $a1, $1c
- noise $e, $94, $2c
- noise $8, $81, $1c
+Cry_Nidoran_M_Ch8: ; f3895
+ noise __, 4, $a1, $1c
+ noise __, 15, $94, $2c
+ noise __, 9, $81, $1c
endchannel
; f389f
-Cry_0E_Ch5: ; f389f
+Cry_Pidgey_Ch5: ; f389f
unknownmusic0xde $a5
- sound $4, $e1, $0700
- sound $4, $f2, $0780
- sound $2, $92, $0740
- sound $8, $e1, $0600
+ sound __, 5, $e1, $0700
+ sound __, 5, $f2, $0780
+ sound __, 3, $92, $0740
+ sound __, 9, $e1, $0600
endchannel
; f38b2
-Cry_0E_Ch6: ; f38b2
+Cry_Pidgey_Ch6: ; f38b2
unknownmusic0xde $a
- sound $4, $b1, $06e1
- sound $3, $c2, $06e1
- sound $3, $62, $0681
- sound $8, $b1, $05e1
+ sound __, 5, $b1, $06e1
+ sound __, 4, $c2, $06e1
+ sound __, 4, $62, $0681
+ sound __, 9, $b1, $05e1
endchannel
; f38c5
-Cry_0E_Ch8: ; f38c5
- noise $2, $61, $32
- noise $2, $61, $21
- noise $8, $61, $11
+Cry_Pidgey_Ch8: ; f38c5
+ noise __, 3, $61, $32
+ noise __, 3, $61, $21
+ noise __, 9, $61, $11
endchannel
; f38cf
-Cry_06_Ch5: ; f38cf
+Cry_Voltorb_Ch5: ; f38cf
unknownmusic0xde $fa
- sound $6, $83, $0247
- sound $f, $62, $0226
- sound $4, $52, $0245
- sound $9, $63, $0206
- sound $f, $82, $0225
- sound $f, $42, $0207
-Cry_06_Ch6: ; f38e9
+ sound __, 7, $83, $0247
+ sound __, 16, $62, $0226
+ sound __, 5, $52, $0245
+ sound __, 10, $63, $0206
+ sound __, 16, $82, $0225
+ sound __, 16, $42, $0207
+Cry_Voltorb_Ch6: ; f38e9
endchannel
; f38ea
-Cry_06_Ch8: ; f38ea
- noise $8, $d4, $8c
- noise $4, $e2, $9c
- noise $f, $c6, $8c
- noise $8, $e4, $ac
- noise $f, $d7, $9c
- noise $f, $f2, $ac
+Cry_Voltorb_Ch8: ; f38ea
+ noise __, 9, $d4, $8c
+ noise __, 5, $e2, $9c
+ noise __, 16, $c6, $8c
+ noise __, 9, $e4, $ac
+ noise __, 16, $d7, $9c
+ noise __, 16, $f2, $ac
endchannel
; f38fd
-Cry_07_Ch5: ; f38fd
+Cry_Muk_Ch5: ; f38fd
unknownmusic0xde $f0
- sound $4, $f3, $06e0
- sound $f, $e4, $0640
- sound $8, $c1, $0620
+ sound __, 5, $f3, $06e0
+ sound __, 16, $e4, $0640
+ sound __, 9, $c1, $0620
endchannel
; f390c
-Cry_07_Ch6: ; f390c
+Cry_Muk_Ch6: ; f390c
unknownmusic0xde $a
- sound $3, $c3, $0683
- sound $e, $b4, $0602
- sound $8, $a1, $0601
+ sound __, 4, $c3, $0683
+ sound __, 15, $b4, $0602
+ sound __, 9, $a1, $0601
endchannel
; f391b
-Cry_07_Ch8: ; f391b
- noise $4, $d3, $5c
- noise $f, $e6, $4c
- noise $8, $b1, $5c
+Cry_Muk_Ch8: ; f391b
+ noise __, 5, $d3, $5c
+ noise __, 16, $e6, $4c
+ noise __, 9, $b1, $5c
endchannel
; f3925
-Cry_05_Ch5: ; f3925
+Cry_Grimer_Ch5: ; f3925
unknownmusic0xde $a
- sound $6, $e2, $0500
- sound $6, $e3, $0580
- sound $6, $d3, $0570
- sound $8, $a1, $0560
+ sound __, 7, $e2, $0500
+ sound __, 7, $e3, $0580
+ sound __, 7, $d3, $0570
+ sound __, 9, $a1, $0560
endchannel
; f3938
-Cry_05_Ch6: ; f3938
+Cry_Grimer_Ch6: ; f3938
unknownmusic0xde $f5
- sound $6, $e2, $0482
- sound $6, $d3, $0501
- sound $6, $b2, $04e2
- sound $8, $81, $04c1
-Cry_05_Ch8: ; f394a
+ sound __, 7, $e2, $0482
+ sound __, 7, $d3, $0501
+ sound __, 7, $b2, $04e2
+ sound __, 9, $81, $04c1
+Cry_Grimer_Ch8: ; f394a
endchannel
; f394b
-Cry_0B_Ch5: ; f394b
+Cry_Diglett_Ch5: ; f394b
unknownmusic0xde $cc
- sound $4, $f1, $0700
- sound $4, $e1, $0780
- sound $4, $d1, $0740
- sound $4, $e1, $0740
- sound $4, $f1, $0780
- sound $4, $d1, $0700
- sound $4, $f1, $0701
- sound $4, $d1, $0782
- sound $4, $c1, $0742
- sound $8, $b1, $0741
+ sound __, 5, $f1, $0700
+ sound __, 5, $e1, $0780
+ sound __, 5, $d1, $0740
+ sound __, 5, $e1, $0740
+ sound __, 5, $f1, $0780
+ sound __, 5, $d1, $0700
+ sound __, 5, $f1, $0701
+ sound __, 5, $d1, $0782
+ sound __, 5, $c1, $0742
+ sound __, 9, $b1, $0741
endchannel
; f3976
-Cry_0B_Ch6: ; f3976
+Cry_Diglett_Ch6: ; f3976
unknownmusic0xde $44
- sound $c, $8, 0
- sound $4, $f1, $0701
- sound $4, $e1, $0782
- sound $4, $d1, $0741
- sound $4, $e1, $0741
- sound $4, $f1, $0782
- sound $8, $d1, $0701
+ sound __, 13, $8, 0
+ sound __, 5, $f1, $0701
+ sound __, 5, $e1, $0782
+ sound __, 5, $d1, $0741
+ sound __, 5, $e1, $0741
+ sound __, 5, $f1, $0782
+ sound __, 9, $d1, $0701
endchannel
; f3995
-Cry_0B_Ch8: ; f3995
- noise $f, $8, $0
- noise $4, $8, $0
- noise $4, $d1, $4c
- noise $4, $b1, $2c
- noise $4, $d1, $3c
- noise $4, $b1, $3c
- noise $4, $c1, $2c
- noise $8, $a1, $4c
+Cry_Diglett_Ch8: ; f3995
+ noise __, 16, $8, $0
+ noise __, 5, $8, $0
+ noise __, 5, $d1, $4c
+ noise __, 5, $b1, $2c
+ noise __, 5, $d1, $3c
+ noise __, 5, $b1, $3c
+ noise __, 5, $c1, $2c
+ noise __, 9, $a1, $4c
endchannel
; f39ae
-Cry_0C_Ch5: ; f39ae
+Cry_Seel_Ch5: ; f39ae
unknownmusic0xde $cc
- sound $8, $f5, $0600
- sound $2, $d2, $0638
- sound $2, $c2, $0630
- sound $2, $c2, $0628
- sound $2, $b2, $0620
- sound $2, $b2, $0610
- sound $2, $a2, $0618
- sound $2, $b2, $0610
- sound $8, $c1, $0620
+ sound __, 9, $f5, $0600
+ sound __, 3, $d2, $0638
+ sound __, 3, $c2, $0630
+ sound __, 3, $c2, $0628
+ sound __, 3, $b2, $0620
+ sound __, 3, $b2, $0610
+ sound __, 3, $a2, $0618
+ sound __, 3, $b2, $0610
+ sound __, 9, $c1, $0620
endchannel
; f39d5
-Cry_0C_Ch6: ; f39d5
+Cry_Seel_Ch6: ; f39d5
unknownmusic0xde $44
- sound $c, $c3, $05c0
- sound $3, $b1, $05f9
- sound $2, $a1, $05f1
- sound $2, $a1, $05e9
- sound $2, $91, $05e1
- sound $2, $91, $05d9
- sound $2, $81, $05d1
- sound $2, $91, $05d9
- sound $8, $91, $05e1
-Cry_0C_Ch8: ; f39fb
+ sound __, 13, $c3, $05c0
+ sound __, 4, $b1, $05f9
+ sound __, 3, $a1, $05f1
+ sound __, 3, $a1, $05e9
+ sound __, 3, $91, $05e1
+ sound __, 3, $91, $05d9
+ sound __, 3, $81, $05d1
+ sound __, 3, $91, $05d9
+ sound __, 9, $91, $05e1
+Cry_Seel_Ch8: ; f39fb
endchannel
; f39fc
-Cry_02_Ch5: ; f39fc
+Cry_Slowpoke_Ch5: ; f39fc
unknownmusic0xde $0
- sound $8, $f5, $0480
- sound $2, $e1, $05e0
- sound $8, $d1, $05dc
+ sound __, 9, $f5, $0480
+ sound __, 3, $e1, $05e0
+ sound __, 9, $d1, $05dc
endchannel
; f3a0b
-Cry_02_Ch6: ; f3a0b
+Cry_Slowpoke_Ch6: ; f3a0b
unknownmusic0xde $a5
- sound $7, $95, $0441
- sound $2, $81, $0521
- sound $8, $61, $051a
-Cry_02_Ch8: ; f3a19
+ sound __, 8, $95, $0441
+ sound __, 3, $81, $0521
+ sound __, 9, $61, $051a
+Cry_Slowpoke_Ch8: ; f3a19
endchannel
; f3a1a
-Cry_0D_Ch5: ; f3a1a
-Cry_0D_branch_f3a1a: ; f3a1a
+Cry_Drowzee_Ch5: ; f3a1a
+Cry_Drowzee_branch_f3a1a: ; f3a1a
unknownmusic0xde $88
- sound $5, $f2, $0650
- sound $9, $d1, $0660
- sound $5, $e2, $0612
- sound $9, $c1, $0622
- sound $5, $f2, $0610
- sound $6, $d1, $0620
- loopchannel 2, Cry_0D_branch_f3a1a
+ sound __, 6, $f2, $0650
+ sound __, 10, $d1, $0660
+ sound __, 6, $e2, $0612
+ sound __, 10, $c1, $0622
+ sound __, 6, $f2, $0610
+ sound __, 7, $d1, $0620
+ loopchannel 2, Cry_Drowzee_branch_f3a1a
endchannel
; f3a39
-Cry_0D_Ch6: ; f3a39
+Cry_Drowzee_Ch6: ; f3a39
unknownmusic0xde $40
- sound $4, $8, 0
- sound $5, $f2, $0651
- sound $9, $d1, $0661
- sound $5, $e2, $0614
- sound $8, $c1, $0624
- sound $5, $f2, $0611
- sound $c, $d1, $0621
- sound $5, $e2, $0614
- sound $8, $c1, $0624
- sound $5, $f2, $0611
- sound $4, $d1, $0621
+ sound __, 5, $8, 0
+ sound __, 6, $f2, $0651
+ sound __, 10, $d1, $0661
+ sound __, 6, $e2, $0614
+ sound __, 9, $c1, $0624
+ sound __, 6, $f2, $0611
+ sound __, 13, $d1, $0621
+ sound __, 6, $e2, $0614
+ sound __, 9, $c1, $0624
+ sound __, 6, $f2, $0611
+ sound __, 5, $d1, $0621
endchannel
; f3a68
-Cry_0D_Ch8: ; f3a68
- noise $6, $d2, $1c
- noise $9, $b1, $2c
- noise $8, $c2, $2c
- noise $9, $b1, $3c
- noise $6, $c2, $2c
- noise $9, $a2, $3c
- noise $7, $c2, $2c
- noise $5, $a1, $3c
- noise $9, $c2, $2c
- noise $4, $a1, $3c
+Cry_Drowzee_Ch8: ; f3a68
+ noise __, 7, $d2, $1c
+ noise __, 10, $b1, $2c
+ noise __, 9, $c2, $2c
+ noise __, 10, $b1, $3c
+ noise __, 7, $c2, $2c
+ noise __, 10, $a2, $3c
+ noise __, 8, $c2, $2c
+ noise __, 6, $a1, $3c
+ noise __, 10, $c2, $2c
+ noise __, 5, $a1, $3c
endchannel
; f3a87
-Cry_01_Ch5: ; f3a87
+Cry_Nidoran_F_Ch5: ; f3a87
unknownmusic0xde $a0
- sound $4, $f3, $0600
- sound $8, $d5, $0760
- sound $3, $e2, $0720
- sound $8, $d1, $0710
+ sound __, 5, $f3, $0600
+ sound __, 9, $d5, $0760
+ sound __, 4, $e2, $0720
+ sound __, 9, $d1, $0710
endchannel
; f3a9a
-Cry_01_Ch6: ; f3a9a
+Cry_Nidoran_F_Ch6: ; f3a9a
unknownmusic0xde $5a
- sound $5, $b3, $06f1
- sound $7, $c5, $0752
- sound $3, $a2, $0711
- sound $8, $b1, $0601
+ sound __, 6, $b3, $06f1
+ sound __, 8, $c5, $0752
+ sound __, 4, $a2, $0711
+ sound __, 9, $b1, $0601
endchannel
; f3aad
-Cry_01_Ch8: ; f3aad
- noise $3, $a2, $3c
- noise $c, $94, $2c
- noise $3, $82, $1c
- noise $8, $71, $2c
+Cry_Nidoran_F_Ch8: ; f3aad
+ noise __, 4, $a2, $3c
+ noise __, 13, $94, $2c
+ noise __, 4, $82, $1c
+ noise __, 9, $71, $2c
endchannel
; f3aba
-Cry_0A_Ch5: ; f3aba
+Cry_Nidoqueen_Ch5: ; f3aba
unknownmusic0xde $f0
- sound $8, $f7, $06e0
- sound $6, $e6, $06e5
- sound $3, $f4, $06e0
- sound $3, $f6, $06d0
- sound $3, $e3, $06c0
- sound $4, $f2, $06b0
- sound $f, $a2, $06c8
+ sound __, 9, $f7, $06e0
+ sound __, 7, $e6, $06e5
+ sound __, 4, $f4, $06e0
+ sound __, 4, $f6, $06d0
+ sound __, 4, $e3, $06c0
+ sound __, 5, $f2, $06b0
+ sound __, 16, $a2, $06c8
endchannel
; f3ad9
-Cry_0A_Ch6: ; f3ad9
+Cry_Nidoqueen_Ch6: ; f3ad9
unknownmusic0xde $5
- sound $3, $8, 0
- sound $8, $a7, $06a1
- sound $6, $86, $06a3
- sound $3, $74, $06a1
- sound $3, $76, $0691
- sound $3, $83, $0682
- sound $4, $a2, $0671
- sound $f, $72, $0689
+ sound __, 4, $8, 0
+ sound __, 9, $a7, $06a1
+ sound __, 7, $86, $06a3
+ sound __, 4, $74, $06a1
+ sound __, 4, $76, $0691
+ sound __, 4, $83, $0682
+ sound __, 5, $a2, $0671
+ sound __, 16, $72, $0689
endchannel
; f3afc
-Cry_0A_Ch8: ; f3afc
- noise $2, $f2, $3c
- noise $8, $e4, $3e
- noise $8, $d7, $3c
- noise $5, $c5, $3b
- noise $3, $d4, $2c
- noise $2, $b6, $3c
- noise $3, $a4, $2c
- noise $8, $91, $3c
+Cry_Nidoqueen_Ch8: ; f3afc
+ noise __, 3, $f2, $3c
+ noise __, 9, $e4, $3e
+ noise __, 9, $d7, $3c
+ noise __, 6, $c5, $3b
+ noise __, 4, $d4, $2c
+ noise __, 3, $b6, $3c
+ noise __, 4, $a4, $2c
+ noise __, 9, $91, $3c
endchannel
; f3b15
-Cry_08_Ch5: ; f3b15
+Cry_Oddish_Ch5: ; f3b15
unknownmusic0xde $f0
- sound $f, $f6, $0565
- sound $a, $e4, $057c
- sound $3, $c2, $055c
- sound $f, $b2, $053c
+ sound __, 16, $f6, $0565
+ sound __, 11, $e4, $057c
+ sound __, 4, $c2, $055c
+ sound __, 16, $b2, $053c
endchannel
; f3b28
-Cry_08_Ch6: ; f3b28
+Cry_Oddish_Ch6: ; f3b28
unknownmusic0xde $5a
- sound $e, $d6, $0503
- sound $9, $b4, $051b
- sound $4, $92, $04fa
- sound $f, $a2, $04db
+ sound __, 15, $d6, $0503
+ sound __, 10, $b4, $051b
+ sound __, 5, $92, $04fa
+ sound __, 16, $a2, $04db
endchannel
; f3b3b
-Cry_08_Ch8: ; f3b3b
- noise $c, $e6, $4c
- noise $b, $d7, $5c
- noise $f, $c2, $4c
+Cry_Oddish_Ch8: ; f3b3b
+ noise __, 13, $e6, $4c
+ noise __, 12, $d7, $5c
+ noise __, 16, $c2, $4c
endchannel
; f3b45
-Cry_04_Ch5: ; f3b45
+Cry_Charmander_Ch5: ; f3b45
unknownmusic0xde $f0
- sound $4, $f7, $06a0
- sound $8, $e6, $06a4
- sound $4, $d6, $06a0
- sound $c, $d3, $0620
- sound $8, $c3, $0624
- sound $4, $c2, $0620
- sound $8, $b1, $0610
+ sound __, 5, $f7, $06a0
+ sound __, 9, $e6, $06a4
+ sound __, 5, $d6, $06a0
+ sound __, 13, $d3, $0620
+ sound __, 9, $c3, $0624
+ sound __, 5, $c2, $0620
+ sound __, 9, $b1, $0610
endchannel
; f3b64
-Cry_04_Ch6: ; f3b64
+Cry_Charmander_Ch6: ; f3b64
unknownmusic0xde $5a
- sound $4, $e7, $0601
- sound $8, $d6, $0603
- sound $4, $c6, $0601
- sound $c, $c3, $0581
- sound $8, $b3, $0583
- sound $4, $b2, $0582
- sound $8, $a1, $0571
+ sound __, 5, $e7, $0601
+ sound __, 9, $d6, $0603
+ sound __, 5, $c6, $0601
+ sound __, 13, $c3, $0581
+ sound __, 9, $b3, $0583
+ sound __, 5, $b2, $0582
+ sound __, 9, $a1, $0571
endchannel
; f3b83
-Cry_04_Ch8: ; f3b83
- noise $7, $d6, $5c
- noise $8, $e6, $4c
- noise $4, $d4, $5c
- noise $4, $d4, $4c
- noise $7, $c3, $4c
- noise $8, $a1, $5c
+Cry_Charmander_Ch8: ; f3b83
+ noise __, 8, $d6, $5c
+ noise __, 9, $e6, $4c
+ noise __, 5, $d4, $5c
+ noise __, 5, $d4, $4c
+ noise __, 8, $c3, $4c
+ noise __, 9, $a1, $5c
endchannel
; f3b96
-Cry_19_Ch5: ; f3b96
+Cry_Clefairy_Ch5: ; f3b96
unknownmusic0xde $1b
- sound $7, $d2, $0740
- sound $f, $e5, $0760
- sound $18, $c1, $0730
+ sound __, 8, $d2, $0740
+ sound __, 16, $e5, $0760
+ sound C_, 9, $c1, $0730
endchannel
; f3ba5
-Cry_19_Ch6: ; f3ba5
+Cry_Clefairy_Ch6: ; f3ba5
unknownmusic0xde $81
- sound $2, $c2, $0701
- sound $4, $c2, $0708
- sound $f, $d7, $0741
- sound $18, $a2, $0701
-Cry_19_Ch8: ; f3bb7
+ sound __, 3, $c2, $0701
+ sound __, 5, $c2, $0708
+ sound __, 16, $d7, $0741
+ sound C_, 9, $a2, $0701
+Cry_Clefairy_Ch8: ; f3bb7
endchannel
; f3bb8
-Cry_16_Ch5: ; f3bb8
+Cry_Caterpie_Ch5: ; f3bb8
unknownmusic0xde $f0
- sound $f, $d7, $0780
- sound $4, $e6, $07a0
- sound $f, $d2, $0740
+ sound __, 16, $d7, $0780
+ sound __, 5, $e6, $07a0
+ sound __, 16, $d2, $0740
endchannel
; f3bc7
-Cry_16_Ch6: ; f3bc7
+Cry_Caterpie_Ch6: ; f3bc7
unknownmusic0xde $5a
- sound $f, $c7, $0753
- sound $5, $b6, $0772
- sound $f, $c2, $0711
+ sound __, 16, $c7, $0753
+ sound __, 6, $b6, $0772
+ sound __, 16, $c2, $0711
endchannel
; f3bd6
-Cry_16_Ch8: ; f3bd6
- noise $d, $f6, $4c
- noise $4, $e6, $3c
- noise $f, $f2, $4c
+Cry_Caterpie_Ch8: ; f3bd6
+ noise __, 14, $f6, $4c
+ noise __, 5, $e6, $3c
+ noise __, 16, $f2, $4c
endchannel
; f3be0
-Cry_1B_Ch5: ; f3be0
+Cry_Lapras_Ch5: ; f3be0
unknownmusic0xde $f0
- sound $6, $f7, $06c0
- sound $f, $e7, $0700
- sound $4, $f4, $06f0
- sound $4, $e4, $06e0
- sound $8, $d1, $06d0
+ sound __, 7, $f7, $06c0
+ sound __, 16, $e7, $0700
+ sound __, 5, $f4, $06f0
+ sound __, 5, $e4, $06e0
+ sound __, 9, $d1, $06d0
endchannel
; f3bf7
-Cry_1B_Ch6: ; f3bf7
+Cry_Lapras_Ch6: ; f3bf7
unknownmusic0xde $a
- sound $7, $e6, $0681
- sound $e, $d5, $06c1
- sound $4, $c4, $06b1
- sound $4, $d4, $06a1
- sound $8, $c1, $0691
+ sound __, 8, $e6, $0681
+ sound __, 15, $d5, $06c1
+ sound __, 5, $c4, $06b1
+ sound __, 5, $d4, $06a1
+ sound __, 9, $c1, $0691
endchannel
; f3c0e
-Cry_1B_Ch8: ; f3c0e
- noise $a, $a6, $3c
- noise $e, $94, $2c
- noise $5, $a3, $3c
- noise $8, $91, $2c
+Cry_Lapras_Ch8: ; f3c0e
+ noise __, 11, $a6, $3c
+ noise __, 15, $94, $2c
+ noise __, 6, $a3, $3c
+ noise __, 9, $91, $2c
endchannel
; f3c1b
-Cry_12_Ch5: ; f3c1b
+Cry_Golem_Ch5: ; f3c1b
unknownmusic0xde $a5
- sound $c, $f2, $0440
- sound $f, $e3, $04a0
- sound $4, $d2, $0490
- sound $8, $d1, $0480
+ sound __, 13, $f2, $0440
+ sound __, 16, $e3, $04a0
+ sound __, 5, $d2, $0490
+ sound __, 9, $d1, $0480
endchannel
; f3c2e
-Cry_12_Ch6: ; f3c2e
+Cry_Golem_Ch6: ; f3c2e
unknownmusic0xde $ee
- sound $b, $d2, $0438
- sound $e, $c6, $0498
- sound $3, $b2, $0488
- sound $8, $b1, $0478
+ sound __, 12, $d2, $0438
+ sound __, 15, $c6, $0498
+ sound __, 4, $b2, $0488
+ sound __, 9, $b1, $0478
endchannel
; f3c41
-Cry_12_Ch8: ; f3c41
- noise $a, $e6, $6c
- noise $f, $d2, $5c
- noise $3, $c2, $6c
- noise $8, $d1, $5c
+Cry_Golem_Ch8: ; f3c41
+ noise __, 11, $e6, $6c
+ noise __, 16, $d2, $5c
+ noise __, 4, $c2, $6c
+ noise __, 9, $d1, $5c
endchannel
; f3c4e
-Cry_13_Ch5: ; f3c4e
+Cry_Blastoise_Ch5: ; f3c4e
unknownmusic0xde $33
- sound $f, $f6, $05c0
- sound $8, $e3, $05bc
- sound $6, $d2, $05d0
- sound $6, $b2, $05e0
- sound $6, $c2, $05f0
- sound $8, $b1, $0600
+ sound __, 16, $f6, $05c0
+ sound __, 9, $e3, $05bc
+ sound __, 7, $d2, $05d0
+ sound __, 7, $b2, $05e0
+ sound __, 7, $c2, $05f0
+ sound __, 9, $b1, $0600
endchannel
; f3c69
-Cry_13_Ch6: ; f3c69
+Cry_Blastoise_Ch6: ; f3c69
unknownmusic0xde $99
- sound $e, $c6, $04b1
- sound $7, $c3, $04ad
- sound $5, $b2, $04c1
- sound $8, $92, $04d1
- sound $6, $a2, $04e1
- sound $8, $91, $04f1
+ sound __, 15, $c6, $04b1
+ sound __, 8, $c3, $04ad
+ sound __, 6, $b2, $04c1
+ sound __, 9, $92, $04d1
+ sound __, 7, $a2, $04e1
+ sound __, 9, $91, $04f1
endchannel
; f3c84
-Cry_13_Ch8: ; f3c84
- noise $a, $e6, $5c
- noise $a, $d6, $6c
- noise $4, $c2, $4c
- noise $6, $d3, $5c
- noise $8, $b3, $4c
- noise $8, $a1, $5c
+Cry_Blastoise_Ch8: ; f3c84
+ noise __, 11, $e6, $5c
+ noise __, 11, $d6, $6c
+ noise __, 5, $c2, $4c
+ noise __, 7, $d3, $5c
+ noise __, 9, $b3, $4c
+ noise __, 9, $a1, $5c
endchannel
; f3c97
-Cry_14_Ch5: ; f3c97
+Cry_Pidgeotto_Ch5: ; f3c97
unknownmusic0xde $f0
- sound $8, $e4, $0790
- sound $f, $f5, $07c0
- sound $8, $d1, $07d8
+ sound __, 9, $e4, $0790
+ sound __, 16, $f5, $07c0
+ sound __, 9, $d1, $07d8
endchannel
; f3ca6
-Cry_14_Ch6: ; f3ca6
+Cry_Pidgeotto_Ch6: ; f3ca6
unknownmusic0xde $a5
- sound $a, $c4, $0771
- sound $f, $b6, $07a2
- sound $8, $a1, $07b7
+ sound __, 11, $c4, $0771
+ sound __, 16, $b6, $07a2
+ sound __, 9, $a1, $07b7
endchannel
; f3cb5
-Cry_14_Ch8: ; f3cb5
- noise $8, $e4, $4c
- noise $e, $c4, $3c
- noise $8, $d1, $2c
+Cry_Pidgeotto_Ch8: ; f3cb5
+ noise __, 9, $e4, $4c
+ noise __, 15, $c4, $3c
+ noise __, 9, $d1, $2c
endchannel
; f3cbf
-Cry_1E_Ch5: ; f3cbf
+Cry_Paras_Ch5: ; f3cbf
unknownmusic0xde $f0
- sound $6, $f2, $0600
- sound $6, $e2, $0640
- sound $6, $d2, $0680
- sound $6, $e2, $06c0
- sound $6, $d2, $0700
- sound $6, $c2, $0740
- sound $6, $b2, $0780
- sound $8, $a1, $07c0
+ sound __, 7, $f2, $0600
+ sound __, 7, $e2, $0640
+ sound __, 7, $d2, $0680
+ sound __, 7, $e2, $06c0
+ sound __, 7, $d2, $0700
+ sound __, 7, $c2, $0740
+ sound __, 7, $b2, $0780
+ sound __, 9, $a1, $07c0
endchannel
; f3ce2
-Cry_1E_Ch6: ; f3ce2
+Cry_Paras_Ch6: ; f3ce2
unknownmusic0xde $11
- sound $3, $8, $0001
- sound $6, $c2, $05c1
- sound $6, $b2, $0602
- sound $6, $a2, $0641
- sound $6, $b2, $0682
- sound $6, $a2, $06c2
- sound $6, $92, $0701
- sound $6, $a2, $0742
- sound $8, $81, $0781
+ sound __, 4, $8, $0001
+ sound __, 7, $c2, $05c1
+ sound __, 7, $b2, $0602
+ sound __, 7, $a2, $0641
+ sound __, 7, $b2, $0682
+ sound __, 7, $a2, $06c2
+ sound __, 7, $92, $0701
+ sound __, 7, $a2, $0742
+ sound __, 9, $81, $0781
endchannel
; f3d09
-Cry_1E_Ch8: ; f3d09
- noise $6, $8, $1
- noise $5, $e2, $5c
- noise $5, $c2, $4c
- noise $5, $d2, $3c
- noise $5, $b2, $2c
- noise $5, $c2, $1c
- noise $5, $a2, $1b
- noise $5, $92, $1a
- noise $8, $81, $18
+Cry_Paras_Ch8: ; f3d09
+ noise __, 7, $8, $1
+ noise __, 6, $e2, $5c
+ noise __, 6, $c2, $4c
+ noise __, 6, $d2, $3c
+ noise __, 6, $b2, $2c
+ noise __, 6, $c2, $1c
+ noise __, 6, $a2, $1b
+ noise __, 6, $92, $1a
+ noise __, 9, $81, $18
endchannel
; f3d25
-Cry_15_Ch5: ; f3d25
+Cry_Weedle_Ch5: ; f3d25
unknownmusic0xde $f0
- sound $4, $f3, $0780
- sound $f, $e7, $0700
- sound $8, $d3, $0710
- sound $4, $c2, $0700
- sound $4, $d2, $06f0
- sound $8, $c1, $06e0
+ sound __, 5, $f3, $0780
+ sound __, 16, $e7, $0700
+ sound __, 9, $d3, $0710
+ sound __, 5, $c2, $0700
+ sound __, 5, $d2, $06f0
+ sound __, 9, $c1, $06e0
endchannel
; f3d40
-Cry_15_Ch6: ; f3d40
+Cry_Weedle_Ch6: ; f3d40
unknownmusic0xde $5a
- sound $6, $c3, $0701
- sound $e, $b7, $0681
- sound $7, $b3, $0692
- sound $3, $a2, $0681
- sound $4, $b2, $0672
- sound $8, $a1, $0661
+ sound __, 7, $c3, $0701
+ sound __, 15, $b7, $0681
+ sound __, 8, $b3, $0692
+ sound __, 4, $a2, $0681
+ sound __, 5, $b2, $0672
+ sound __, 9, $a1, $0661
endchannel
; f3d5b
-Cry_15_Ch8: ; f3d5b
- noise $6, $e3, $5c
- noise $e, $d6, $4c
- noise $6, $c6, $3c
- noise $3, $b3, $4c
- noise $3, $a2, $5c
- noise $8, $b1, $6c
+Cry_Weedle_Ch8: ; f3d5b
+ noise __, 7, $e3, $5c
+ noise __, 15, $d6, $4c
+ noise __, 7, $c6, $3c
+ noise __, 4, $b3, $4c
+ noise __, 4, $a2, $5c
+ noise __, 9, $b1, $6c
endchannel
; f3d6e
-Cry_17_Ch5: ; f3d6e
+Cry_Ekans_Ch5: ; f3d6e
unknownmusic0xde $f
- sound $f, $f7, $0500
- sound $f, $e7, $0508
- sound $8, $b4, $0480
- sound $f, $a2, $0460
+ sound __, 16, $f7, $0500
+ sound __, 16, $e7, $0508
+ sound __, 9, $b4, $0480
+ sound __, 16, $a2, $0460
endchannel
; f3d81
-Cry_17_Ch6: ; f3d81
+Cry_Ekans_Ch6: ; f3d81
unknownmusic0xde $44
- sound $e, $d7, $0481
- sound $e, $c7, $0489
- sound $a, $b4, $0401
- sound $f, $c2, $03e1
+ sound __, 15, $d7, $0481
+ sound __, 15, $c7, $0489
+ sound __, 11, $b4, $0401
+ sound __, 16, $c2, $03e1
endchannel
; f3d94
-Cry_17_Ch8: ; f3d94
- noise $e, $f7, $7c
- noise $c, $f6, $6c
- noise $9, $e4, $7c
- noise $f, $e2, $6c
+Cry_Ekans_Ch8: ; f3d94
+ noise __, 15, $f7, $7c
+ noise __, 13, $f6, $6c
+ noise __, 10, $e4, $7c
+ noise __, 16, $e2, $6c
endchannel
; f3da1
-Cry_1C_Ch5: ; f3da1
+Cry_Metapod_Ch5: ; f3da1
unknownmusic0xde $f5
- sound $7, $d6, $07e1
- sound $6, $c6, $07e2
- sound $9, $d6, $07e1
- sound $7, $c6, $07e0
- sound $5, $b6, $07e2
- sound $7, $c6, $07e1
- sound $6, $b6, $07e0
- sound $8, $a1, $07df
+ sound __, 8, $d6, $07e1
+ sound __, 7, $c6, $07e2
+ sound __, 10, $d6, $07e1
+ sound __, 8, $c6, $07e0
+ sound __, 6, $b6, $07e2
+ sound __, 8, $c6, $07e1
+ sound __, 7, $b6, $07e0
+ sound __, 9, $a1, $07df
endchannel
; f3dc4
-Cry_1C_Ch6: ; f3dc4
+Cry_Metapod_Ch6: ; f3dc4
unknownmusic0xde $44
- sound $6, $c3, $07c9
- sound $6, $b3, $07c7
- sound $a, $c4, $07c3
- sound $8, $b4, $07c7
- sound $6, $c3, $07c9
- sound $f, $a2, $07c5
+ sound __, 7, $c3, $07c9
+ sound __, 7, $b3, $07c7
+ sound __, 11, $c4, $07c3
+ sound __, 9, $b4, $07c7
+ sound __, 7, $c3, $07c9
+ sound __, 16, $a2, $07c5
endchannel
; f3ddf
-Cry_1C_Ch8: ; f3ddf
- noise $d, $19, $7c
- noise $d, $f7, $8c
- noise $c, $d6, $7c
- noise $8, $c4, $6c
- noise $f, $b3, $5c
+Cry_Metapod_Ch8: ; f3ddf
+ noise __, 14, $19, $7c
+ noise __, 14, $f7, $8c
+ noise __, 13, $d6, $7c
+ noise __, 9, $c4, $6c
+ noise __, 16, $b3, $5c
endchannel
; f3def
-Cry_1A_Ch5: ; f3def
+Cry_Venonat_Ch5: ; f3def
unknownmusic0xde $f0
- sound $6, $f7, $0740
- sound $c, $e6, $0744
- sound $6, $d5, $0750
- sound $4, $c3, $0760
- sound $3, $c3, $0780
- sound $8, $d1, $07a0
+ sound __, 7, $f7, $0740
+ sound __, 13, $e6, $0744
+ sound __, 7, $d5, $0750
+ sound __, 5, $c3, $0760
+ sound __, 4, $c3, $0780
+ sound __, 9, $d1, $07a0
endchannel
; f3e0a
-Cry_1A_Ch6: ; f3e0a
+Cry_Venonat_Ch6: ; f3e0a
unknownmusic0xde $a
- sound $6, $c7, $0701
- sound $b, $b6, $0702
- sound $6, $a5, $0711
- sound $4, $93, $0721
- sound $3, $a3, $0741
- sound $8, $91, $0762
+ sound __, 7, $c7, $0701
+ sound __, 12, $b6, $0702
+ sound __, 7, $a5, $0711
+ sound __, 5, $93, $0721
+ sound __, 4, $a3, $0741
+ sound __, 9, $91, $0762
endchannel
; f3e25
-Cry_1A_Ch8: ; f3e25
- noise $3, $e2, $3c
- noise $8, $d6, $4c
- noise $5, $d4, $3c
- noise $c, $c7, $4c
- noise $2, $e2, $3c
- noise $8, $d1, $2c
+Cry_Venonat_Ch8: ; f3e25
+ noise __, 4, $e2, $3c
+ noise __, 9, $d6, $4c
+ noise __, 6, $d4, $3c
+ noise __, 13, $c7, $4c
+ noise __, 3, $e2, $3c
+ noise __, 9, $d1, $2c
endchannel
; f3e38
-Cry_1D_Ch5: ; f3e38
+Cry_Squirtle_Ch5: ; f3e38
unknownmusic0xde $f4
- sound $f, $f0, $0705
- sound $a, $e0, $0700
- sound $6, $b4, $0710
- sound $4, $d3, $0700
- sound $6, $b2, $0620
- sound $8, $a1, $0624
+ sound __, 16, $f0, $0705
+ sound __, 11, $e0, $0700
+ sound __, 7, $b4, $0710
+ sound __, 5, $d3, $0700
+ sound __, 7, $b2, $0620
+ sound __, 9, $a1, $0624
endchannel
; f3e53
-Cry_1D_Ch6: ; f3e53
+Cry_Squirtle_Ch6: ; f3e53
unknownmusic0xde $22
- sound $f, $b0, $06c3
- sound $a, $a0, $06c1
- sound $6, $84, $06d2
- sound $4, $93, $06c1
- sound $6, $82, $05e1
- sound $8, $61, $05e8
+ sound __, 16, $b0, $06c3
+ sound __, 11, $a0, $06c1
+ sound __, 7, $84, $06d2
+ sound __, 5, $93, $06c1
+ sound __, 7, $82, $05e1
+ sound __, 9, $61, $05e8
endchannel
; f3e6e
-Cry_1D_Ch8: ; f3e6e
- noise $6, $e6, $4c
- noise $f, $d6, $3c
- noise $a, $c5, $4a
- noise $1, $b2, $5b
- noise $f, $c2, $4c
+Cry_Squirtle_Ch8: ; f3e6e
+ noise __, 7, $e6, $4c
+ noise __, 16, $d6, $3c
+ noise __, 11, $c5, $4a
+ noise __, 2, $b2, $5b
+ noise __, 16, $c2, $4c
endchannel
; f3e7e
-Cry_18_Ch5: ; f3e7e
+Cry_Fearow_Ch5: ; f3e7e
unknownmusic0xde $50
- sound $a, $f5, $0680
- sound $3, $e2, $06a0
- sound $3, $f2, $06c0
- sound $3, $e2, $06e0
- sound $3, $d2, $0700
- sound $3, $c2, $06e0
- sound $3, $d2, $06c0
- sound $8, $c1, $06a0
+ sound __, 11, $f5, $0680
+ sound __, 4, $e2, $06a0
+ sound __, 4, $f2, $06c0
+ sound __, 4, $e2, $06e0
+ sound __, 4, $d2, $0700
+ sound __, 4, $c2, $06e0
+ sound __, 4, $d2, $06c0
+ sound __, 9, $c1, $06a0
endchannel
; f3ea1
-Cry_18_Ch6: ; f3ea1
+Cry_Fearow_Ch6: ; f3ea1
unknownmusic0xde $f
- sound $9, $d5, $0631
- sound $3, $d2, $0652
- sound $3, $e2, $0671
- sound $3, $b2, $0691
- sound $3, $c2, $06b2
- sound $3, $b2, $0691
- sound $3, $c2, $0671
- sound $8, $b1, $0651
+ sound __, 10, $d5, $0631
+ sound __, 4, $d2, $0652
+ sound __, 4, $e2, $0671
+ sound __, 4, $b2, $0691
+ sound __, 4, $c2, $06b2
+ sound __, 4, $b2, $0691
+ sound __, 4, $c2, $0671
+ sound __, 9, $b1, $0651
endchannel
; f3ec4
-Cry_18_Ch8: ; f3ec4
- noise $6, $e3, $4c
- noise $4, $c3, $3c
- noise $5, $d4, $3c
- noise $4, $c4, $2c
- noise $6, $b4, $3c
- noise $8, $c1, $2c
+Cry_Fearow_Ch8: ; f3ec4
+ noise __, 7, $e3, $4c
+ noise __, 5, $c3, $3c
+ noise __, 6, $d4, $3c
+ noise __, 5, $c4, $2c
+ noise __, 7, $b4, $3c
+ noise __, 9, $c1, $2c
endchannel
; f3ed7
-Cry_1F_Ch5: ; f3ed7
+Cry_Growlithe_Ch5: ; f3ed7
unknownmusic0xde $a5
- sound $3, $f4, $0641
- sound $d, $d6, $0721
- sound $8, $f4, $0719
- sound $8, $c1, $071a
+ sound __, 4, $f4, $0641
+ sound __, 14, $d6, $0721
+ sound __, 9, $f4, $0719
+ sound __, 9, $c1, $071a
endchannel
; f3eea
-Cry_1F_Ch6: ; f3eea
+Cry_Growlithe_Ch6: ; f3eea
unknownmusic0xde $cc
- sound $4, $f4, $0580
- sound $e, $e6, $06e0
- sound $8, $d5, $06d8
- sound $8, $d1, $06dc
+ sound __, 5, $f4, $0580
+ sound __, 15, $e6, $06e0
+ sound __, 9, $d5, $06d8
+ sound __, 9, $d1, $06dc
endchannel
; f3efd
-Cry_1F_Ch8: ; f3efd
- noise $5, $c4, $46
- noise $d, $a5, $44
- noise $8, $c4, $45
- noise $8, $b1, $44
+Cry_Growlithe_Ch8: ; f3efd
+ noise __, 6, $c4, $46
+ noise __, 14, $a5, $44
+ noise __, 9, $c4, $45
+ noise __, 9, $b1, $44
endchannel
; f3f0a
-Cry_20_Ch5: ; f3f0a
+Cry_Krabby_Ch5: ; f3f0a
unknownmusic0xde $f0
- sound $d, $f1, $0511
- sound $d, $e1, $0515
- sound $d, $e1, $0511
- sound $8, $d1, $0511
+ sound __, 14, $f1, $0511
+ sound __, 14, $e1, $0515
+ sound __, 14, $e1, $0511
+ sound __, 9, $d1, $0511
endchannel
; f3f1d
-Cry_20_Ch6: ; f3f1d
+Cry_Krabby_Ch6: ; f3f1d
unknownmusic0xde $15
- sound $c, $e1, $050c
- sound $c, $d1, $0510
- sound $e, $c1, $050c
- sound $8, $c1, $050a
+ sound __, 13, $e1, $050c
+ sound __, 13, $d1, $0510
+ sound __, 15, $c1, $050c
+ sound __, 9, $c1, $050a
endchannel
; f3f30
-Cry_20_Ch8: ; f3f30
- noise $e, $f2, $65
- noise $d, $e2, $55
- noise $e, $d2, $56
- noise $8, $d1, $66
+Cry_Krabby_Ch8: ; f3f30
+ noise __, 15, $f2, $65
+ noise __, 14, $e2, $55
+ noise __, 15, $d2, $56
+ noise __, 9, $d1, $66
endchannel
; f3f3d
-Cry_21_Ch5: ; f3f3d
+Cry_Psyduck_Ch5: ; f3f3d
unknownmusic0xde $1b
- sound $3, $f3, $0564
- sound $2, $e2, $0544
- sound $5, $d1, $0522
- sound $2, $b2, $0484
- sound $8, $d1, $04a2
- sound $3, $f3, $0524
- sound $4, $e4, $04e4
- sound $8, $d1, $0502
+ sound __, 4, $f3, $0564
+ sound __, 3, $e2, $0544
+ sound __, 6, $d1, $0522
+ sound __, 3, $b2, $0484
+ sound __, 9, $d1, $04a2
+ sound __, 4, $f3, $0524
+ sound __, 5, $e4, $04e4
+ sound __, 9, $d1, $0502
endchannel
; f3f60
-Cry_21_Ch6: ; f3f60
+Cry_Psyduck_Ch6: ; f3f60
unknownmusic0xde $cc
- sound $3, $d3, $0560
- sound $2, $c2, $0540
- sound $5, $c1, $0520
- sound $2, $92, $0480
- sound $8, $c1, $04a0
- sound $3, $d3, $0520
- sound $3, $c4, $04e0
- sound $8, $c1, $0500
-Cry_21_Ch8: ; f3f82
+ sound __, 4, $d3, $0560
+ sound __, 3, $c2, $0540
+ sound __, 6, $c1, $0520
+ sound __, 3, $92, $0480
+ sound __, 9, $c1, $04a0
+ sound __, 4, $d3, $0520
+ sound __, 4, $c4, $04e0
+ sound __, 9, $c1, $0500
+Cry_Psyduck_Ch8: ; f3f82
endchannel
; f3f83
-Cry_22_Ch5: ; f3f83
+Cry_Rattata_Ch5: ; f3f83
unknownmusic0xde $11
- sound $2, $3d, $0381
- sound $7, $f5, $0601
- sound $1, $c2, $0481
- sound $8, $91, $0381
+ sound __, 3, $3d, $0381
+ sound __, 8, $f5, $0601
+ sound __, 2, $c2, $0481
+ sound __, 9, $91, $0381
endchannel
; f3f96
-Cry_22_Ch6: ; f3f96
+Cry_Rattata_Ch6: ; f3f96
unknownmusic0xde $ee
- sound $2, $3e, $05b0
- sound $7, $d5, $075d
- sound $1, $b2, $06b0
- sound $8, $61, $05b0
+ sound __, 3, $3e, $05b0
+ sound __, 8, $d5, $075d
+ sound __, 2, $b2, $06b0
+ sound __, 9, $61, $05b0
endchannel
; f3fa9
-Cry_22_Ch8: ; f3fa9
- noise $2, $92, $49
- noise $7, $b5, $29
- noise $1, $a2, $39
- noise $8, $91, $49
+Cry_Rattata_Ch8: ; f3fa9
+ noise __, 3, $92, $49
+ noise __, 8, $b5, $29
+ noise __, 2, $a2, $39
+ noise __, 9, $91, $49
endchannel
; f3fb6
--- a/audio/cry_headers.asm
+++ b/audio/cry_headers.asm
@@ -1,257 +1,258 @@
; f2787
-BulbasaurCryHeader: dw $0f, $080, $081
-IvysaurCryHeader: dw $0f, $020, $100
-VenusaurCryHeader: dw $0f, $000, $140
-CharmanderCryHeader: dw $04, $060, $0c0
-CharmeleonCryHeader: dw $04, $020, $0c0
-CharizardCryHeader: dw $04, $000, $100
-SquirtleCryHeader: dw $1d, $060, $0c0
-WartortleCryHeader: dw $1d, $020, $0c0
-BlastoiseCryHeader: dw $13, $000, $100
-CaterpieCryHeader: dw $16, $080, $0a0
-MetapodCryHeader: dw $1c, $0cc, $081
-ButterfreeCryHeader: dw $16, $077, $0c0
-WeedleCryHeader: dw $15, $0ee, $081
-KakunaCryHeader: dw $13, $0ff, $081
-BeedrillCryHeader: dw $13, $060, $100
-PidgeyCryHeader: dw $0e, $0df, $084
-PidgeottoCryHeader: dw $14, $028, $140
-PidgeotCryHeader: dw $14, $011, $17f
-RattataCryHeader: dw $22, $000, $100
-RaticateCryHeader: dw $22, $020, $17f
-SpearowCryHeader: dw $10, $000, $100
-FearowCryHeader: dw $18, $040, $120
-EkansCryHeader: dw $17, $012, $0c0
-ArbokCryHeader: dw $17, $0e0, $090
-PikachuCryHeader: dw $0f, $0ee, $081
-RaichuCryHeader: dw $09, $0ee, $088
-SandshrewCryHeader: dw $00, $020, $0c0
-SandslashCryHeader: dw $00, $0ff, $17f
-NidoranFCryHeader: dw $01, $000, $100
-NidorinaCryHeader: dw $01, $02c, $160
-NidoqueenCryHeader: dw $0a, $000, $100
-NidoranMCryHeader: dw $00, $000, $100
-NidorinoCryHeader: dw $00, $02c, $140
-NidokingCryHeader: dw $09, $000, $100
-ClefairyCryHeader: dw $19, $0cc, $081
-ClefableCryHeader: dw $19, $0aa, $0a0
-VulpixCryHeader: dw $24, $04f, $090
-NinetalesCryHeader: dw $24, $088, $0e0
-JigglypuffCryHeader: dw $0e, $0ff, $0b5
-WigglytuffCryHeader: dw $0e, $068, $0e0
-ZubatCryHeader: dw $1d, $0e0, $100
-GolbatCryHeader: dw $1d, $0fa, $100
-OddishCryHeader: dw $08, $0dd, $081
-GloomCryHeader: dw $08, $0aa, $0c0
-VileplumeCryHeader: dw $23, $022, $17f
-ParasCryHeader: dw $1e, $020, $160
-ParasectCryHeader: dw $1e, $042, $17f
-VenonatCryHeader: dw $1a, $044, $0c0
-VenomothCryHeader: dw $1a, $029, $100
-DiglettCryHeader: dw $0b, $0aa, $081
-DugtrioCryHeader: dw $0b, $02a, $090
-MeowthCryHeader: dw $19, $077, $090
-PersianCryHeader: dw $19, $099, $17f
-PsyduckCryHeader: dw $21, $020, $0e0
-GolduckCryHeader: dw $21, $0ff, $0c0
-MankeyCryHeader: dw $0a, $0dd, $0e0
-PrimeapeCryHeader: dw $0a, $0af, $0c0
-GrowlitheCryHeader: dw $1f, $020, $0c0
-ArcanineCryHeader: dw $15, $000, $100
-PoliwagCryHeader: dw $0e, $0ff, $17f
-PoliwhirlCryHeader: dw $0e, $077, $0e0
-PoliwrathCryHeader: dw $0e, $000, $17f
-AbraCryHeader: dw $1c, $0c0, $081
-KadabraCryHeader: dw $1c, $0a8, $140
-AlakazamCryHeader: dw $1c, $098, $17f
-MachopCryHeader: dw $1f, $0ee, $081
-MachokeCryHeader: dw $1f, $048, $0e0
-MachampCryHeader: dw $1f, $008, $140
-BellsproutCryHeader: dw $21, $055, $081
-WeepinbellCryHeader: dw $25, $044, $0a0
-VictreebelCryHeader: dw $25, $066, $14c
-TentacoolCryHeader: dw $1a, $000, $100
-TentacruelCryHeader: dw $1a, $0ee, $17f
-GeodudeCryHeader: dw $24, $0f0, $090
-GravelerCryHeader: dw $24, $000, $100
-GolemCryHeader: dw $12, $0e0, $0c0
-PonytaCryHeader: dw $25, $000, $100
-RapidashCryHeader: dw $25, $020, $140
-SlowpokeCryHeader: dw $02, $000, $100
-SlowbroCryHeader: dw $1f, $000, $100
-MagnemiteCryHeader: dw $1c, $080, $0e0
-MagnetonCryHeader: dw $1c, $020, $140
-FarfetchDCryHeader: dw $10, $0dd, $081
-DoduoCryHeader: dw $0b, $0bb, $081
-DodrioCryHeader: dw $0b, $099, $0a0
-SeelCryHeader: dw $0c, $088, $140
-DewgongCryHeader: dw $0c, $023, $17f
-GrimerCryHeader: dw $05, $000, $100
-MukCryHeader: dw $07, $0ef, $17f
-ShellderCryHeader: dw $18, $000, $100
-CloysterCryHeader: dw $18, $06f, $160
-GastlyCryHeader: dw $1c, $000, $100
-HaunterCryHeader: dw $1c, $030, $0c0
-GengarCryHeader: dw $07, $000, $17f
-OnixCryHeader: dw $17, $0ff, $140
-DrowzeeCryHeader: dw $0d, $088, $0a0
-HypnoCryHeader: dw $0d, $0ee, $0c0
-KrabbyCryHeader: dw $20, $020, $160
-KinglerCryHeader: dw $20, $0ee, $160
-VoltorbCryHeader: dw $06, $0ed, $100
-ElectrodeCryHeader: dw $06, $0a8, $110
-ExeggcuteCryHeader: dw $0b, $000, $100
-ExeggutorCryHeader: dw $0d, $000, $100
-CuboneCryHeader: dw $19, $000, $100
-MarowakCryHeader: dw $08, $04f, $0e0
-HitmonleeCryHeader: dw $12, $080, $140
-HitmonchanCryHeader: dw $0c, $0ee, $140
-LickitungCryHeader: dw $0c, $000, $100
-KoffingCryHeader: dw $12, $0e6, $15d
-WeezingCryHeader: dw $12, $0ff, $17f
-RhyhornCryHeader: dw $04, $000, $100
-RhydonCryHeader: dw $11, $000, $100
-ChanseyCryHeader: dw $14, $00a, $140
-TangelaCryHeader: dw $12, $000, $100
-KangaskhanCryHeader: dw $03, $000, $100
-HorseaCryHeader: dw $19, $099, $090
-SeadraCryHeader: dw $19, $03c, $081
-GoldeenCryHeader: dw $16, $080, $0c0
-SeakingCryHeader: dw $16, $010, $17f
-StaryuCryHeader: dw $1e, $002, $0a0
-StarmieCryHeader: dw $1e, $000, $100
-MrMimeCryHeader: dw $20, $008, $0c0
-ScytherCryHeader: dw $16, $000, $100
-JynxCryHeader: dw $0d, $0ff, $17f
-ElectabuzzCryHeader: dw $06, $08f, $17f
-MagmarCryHeader: dw $04, $0ff, $0b0
-PinsirCryHeader: dw $14, $000, $100
-TaurosCryHeader: dw $1d, $011, $0c0
-MagikarpCryHeader: dw $17, $080, $080
-GyaradosCryHeader: dw $17, $000, $100
-LaprasCryHeader: dw $1b, $000, $100
-DittoCryHeader: dw $0e, $0ff, $17f
-EeveeCryHeader: dw $1a, $088, $0e0
-VaporeonCryHeader: dw $1a, $0aa, $17f
-JolteonCryHeader: dw $1a, $03d, $100
-FlareonCryHeader: dw $1a, $010, $0a0
-PorygonCryHeader: dw $25, $0aa, $17f
-OmanyteCryHeader: dw $1f, $0f0, $081
-OmastarCryHeader: dw $1f, $0ff, $0c0
-KabutoCryHeader: dw $16, $0bb, $0c0
-KabutopsCryHeader: dw $18, $0ee, $081
-AerodactylCryHeader: dw $23, $020, $170
-SnorlaxCryHeader: dw $05, $055, $081
-ArticunoCryHeader: dw $09, $080, $0c0
-ZapdosCryHeader: dw $18, $0ff, $100
-MoltresCryHeader: dw $09, $0f8, $0c0
-DratiniCryHeader: dw $0f, $060, $0c0
-DragonairCryHeader: dw $0f, $040, $100
-DragoniteCryHeader: dw $0f, $03c, $140
-MewtwoCryHeader: dw $1e, $099, $17f
-MewCryHeader: dw $1e, $0ee, $17f
-ChikoritaCryHeader: dw $31, -$010, $0b0
-BayleefCryHeader: dw $31, -$022, $120
-MeganiumCryHeader: dw $31, -$0b7, $200
-CyndaquilCryHeader: dw $30, $347, $080
-QuilavaCryHeader: dw $30, $321, $120
-TyphlosionCryHeader: dw $3a, $f00, $0d4
-TotodileCryHeader: dw $32, $46c, $0e8
-CroconawCryHeader: dw $32, $440, $110
-FeraligatrCryHeader: dw $32, $3fc, $180
-SentretCryHeader: dw $2e, $08a, $0b8
-FurretCryHeader: dw $2e, $06b, $102
-HoothootCryHeader: dw $2d, $091, $0d8
-NoctowlCryHeader: dw $2d, $000, $1a0
-LedybaCryHeader: dw $36, $000, $0de
-LedianCryHeader: dw $36, -$096, $138
-SpinarakCryHeader: dw $27, $011, $200
-AriadosCryHeader: dw $27, -$0ae, $1e2
-CrobatCryHeader: dw $1d, -$010, $140
-ChinchouCryHeader: dw $30, $3c9, $140
-LanturnCryHeader: dw $30, $2d0, $110
-PichuCryHeader: dw $40, $000, $140
-CleffaCryHeader: dw $34, $061, $091
-IgglybuffCryHeader: dw $31, $0e8, $0e8
-TogepiCryHeader: dw $28, $010, $100
-TogeticCryHeader: dw $2c, $03b, $038
-NatuCryHeader: dw $3b, -$067, $100
-XatuCryHeader: dw $3b, -$0a7, $168
-MareepCryHeader: dw $2b, $022, $0d8
-FlaaffyCryHeader: dw $2b, -$007, $180
-AmpharosCryHeader: dw $3e, -$07c, $0e8
-BellossomCryHeader: dw $34, $084, $150
-MarillCryHeader: dw $26, $11b, $120
-AzumarillCryHeader: dw $26, $0b6, $180
-SudowoodoCryHeader: dw $34, $f40, $180
-PolitoedCryHeader: dw $34, -$2a3, $1c8
-HoppipCryHeader: dw $34, $03b, $0c8
-SkiploomCryHeader: dw $34, $027, $138
-JumpluffCryHeader: dw $34, $000, $180
-AipomCryHeader: dw $41, -$051, $0e8
-SunkernCryHeader: dw $26, $12b, $0b8
-SunfloraCryHeader: dw $3d, -$020, $180
-YanmaCryHeader: dw $32, $031, $0c8
-WooperCryHeader: dw $38, $093, $0af
-QuagsireCryHeader: dw $38, -$0c6, $140
-EspeonCryHeader: dw $41, $0a2, $140
-UmbreonCryHeader: dw $1a, -$0e9, $0f0
-MurkrowCryHeader: dw $26, -$01f, $180
-SlowkingCryHeader: dw $2f, $104, $200
-MisdreavusCryHeader: dw $2d, $130, $0e8
-UnownCryHeader: dw $2d, $162, $100
-WobbuffetCryHeader: dw $3e, $27b, $144
-GirafarigCryHeader: dw $29, $041, $200
-PinecoCryHeader: dw $2f, $080, $100
-ForretressCryHeader: dw $2f, $000, $180
-DunsparceCryHeader: dw $42, $1c4, $100
-GligarCryHeader: dw $33, -$102, $100
-SteelixCryHeader: dw $3a, $0ef, $0f7
-SnubbullCryHeader: dw $42, $112, $0e8
-GranbullCryHeader: dw $42, $000, $180
-QwilfishCryHeader: dw $2f, $160, $0e0
-ScizorCryHeader: dw $3e, $000, $160
-ShuckleCryHeader: dw $42, $290, $0a8
-HeracrossCryHeader: dw $3e, $035, $0e0
-SneaselCryHeader: dw $38, $053, $0af
-TeddiursaCryHeader: dw $3c, $7a2, $06e
-UrsaringCryHeader: dw $3c, $640, $0d8
-SlugmaCryHeader: dw $35, -$1d8, $140
-MagcargoCryHeader: dw $3f, -$20d, $1c0
-SwinubCryHeader: dw $30, $1fe, $140
-PiloswineCryHeader: dw $3f, -$109, $100
-CorsolaCryHeader: dw $3f, $0a1, $0e8
-RemoraidCryHeader: dw $3d, $00d, $100
-OctilleryCryHeader: dw $32, $000, $180
-DelibirdCryHeader: dw $3c, $002, $06a
-MantineCryHeader: dw $39, -$0be, $0f0
-SkarmoryCryHeader: dw $3e, $8a9, $180
-HoundourCryHeader: dw $30, $039, $140
-HoundoomCryHeader: dw $32, -$10a, $100
-KingdraCryHeader: dw $35, $2fb, $100
-PhanpyCryHeader: dw $2e, $048, $230
-DonphanCryHeader: dw $43, $000, $1a0
-Porygon2CryHeader: dw $29, $073, $240
-StantlerCryHeader: dw $41, -$160, $180
-SmeargleCryHeader: dw $40, -$21a, $1f0
-TyrogueCryHeader: dw $41, $02c, $108
-HitmontopCryHeader: dw $35, $000, $100
-SmoochumCryHeader: dw $26, $068, $100
-ElekidCryHeader: dw $3d, -$2d8, $0b4
-MagbyCryHeader: dw $3c, $176, $03a
-MiltankCryHeader: dw $33, -$1cd, $1a0
-BlisseyCryHeader: dw $2f, $293, $140
-RaikouCryHeader: dw $2a, $22e, $120
-EnteiCryHeader: dw $37, $000, $1a0
-SuicuneCryHeader: dw $3f, $000, $180
-LarvitarCryHeader: dw $2a, $05f, $0d0
-PupitarCryHeader: dw $27, -$1db, $150
-TyranitarCryHeader: dw $2a, -$100, $180
-LugiaCryHeader: dw $3a, $000, $100
-HoOhCryHeader: dw $41, $000, $180
-CelebiCryHeader: dw $37, $14a, $111
-CryHeader252: dw 0, 0, 0
-CryHeader253: dw 0, 0, 0
-CryHeader254: dw 0, 0, 0
-CryHeader255: dw 0, 0, 0
+; index, pitch, length
+BulbasaurCryHeader: cry_header CRY_BULBASAUR, $080, $081
+IvysaurCryHeader: cry_header CRY_BULBASAUR, $020, $100
+VenusaurCryHeader: cry_header CRY_BULBASAUR, $000, $140
+CharmanderCryHeader: cry_header CRY_CHARMANDER, $060, $0c0
+CharmeleonCryHeader: cry_header CRY_CHARMANDER, $020, $0c0
+CharizardCryHeader: cry_header CRY_CHARMANDER, $000, $100
+SquirtleCryHeader: cry_header CRY_SQUIRTLE, $060, $0c0
+WartortleCryHeader: cry_header CRY_SQUIRTLE, $020, $0c0
+BlastoiseCryHeader: cry_header CRY_BLASTOISE, $000, $100
+CaterpieCryHeader: cry_header CRY_CATERPIE, $080, $0a0
+MetapodCryHeader: cry_header CRY_METAPOD, $0cc, $081
+ButterfreeCryHeader: cry_header CRY_CATERPIE, $077, $0c0
+WeedleCryHeader: cry_header CRY_WEEDLE, $0ee, $081
+KakunaCryHeader: cry_header CRY_BLASTOISE, $0ff, $081
+BeedrillCryHeader: cry_header CRY_BLASTOISE, $060, $100
+PidgeyCryHeader: cry_header CRY_PIDGEY, $0df, $084
+PidgeottoCryHeader: cry_header CRY_PIDGEOTTO, $028, $140
+PidgeotCryHeader: cry_header CRY_PIDGEOTTO, $011, $17f
+RattataCryHeader: cry_header CRY_RATTATA, $000, $100
+RaticateCryHeader: cry_header CRY_RATTATA, $020, $17f
+SpearowCryHeader: cry_header CRY_SPEAROW, $000, $100
+FearowCryHeader: cry_header CRY_FEAROW, $040, $120
+EkansCryHeader: cry_header CRY_EKANS, $012, $0c0
+ArbokCryHeader: cry_header CRY_EKANS, $0e0, $090
+PikachuCryHeader: cry_header CRY_BULBASAUR, $0ee, $081
+RaichuCryHeader: cry_header CRY_RAICHU, $0ee, $088
+SandshrewCryHeader: cry_header CRY_NIDORAN_M, $020, $0c0
+SandslashCryHeader: cry_header CRY_NIDORAN_M, $0ff, $17f
+NidoranFCryHeader: cry_header CRY_NIDORAN_F, $000, $100
+NidorinaCryHeader: cry_header CRY_NIDORAN_F, $02c, $160
+NidoqueenCryHeader: cry_header CRY_NIDOQUEEN, $000, $100
+NidoranMCryHeader: cry_header CRY_NIDORAN_M, $000, $100
+NidorinoCryHeader: cry_header CRY_NIDORAN_M, $02c, $140
+NidokingCryHeader: cry_header CRY_RAICHU, $000, $100
+ClefairyCryHeader: cry_header CRY_CLEFAIRY, $0cc, $081
+ClefableCryHeader: cry_header CRY_CLEFAIRY, $0aa, $0a0
+VulpixCryHeader: cry_header CRY_VULPIX, $04f, $090
+NinetalesCryHeader: cry_header CRY_VULPIX, $088, $0e0
+JigglypuffCryHeader: cry_header CRY_PIDGEY, $0ff, $0b5
+WigglytuffCryHeader: cry_header CRY_PIDGEY, $068, $0e0
+ZubatCryHeader: cry_header CRY_SQUIRTLE, $0e0, $100
+GolbatCryHeader: cry_header CRY_SQUIRTLE, $0fa, $100
+OddishCryHeader: cry_header CRY_ODDISH, $0dd, $081
+GloomCryHeader: cry_header CRY_ODDISH, $0aa, $0c0
+VileplumeCryHeader: cry_header CRY_VILEPLUME, $022, $17f
+ParasCryHeader: cry_header CRY_PARAS, $020, $160
+ParasectCryHeader: cry_header CRY_PARAS, $042, $17f
+VenonatCryHeader: cry_header CRY_VENONAT, $044, $0c0
+VenomothCryHeader: cry_header CRY_VENONAT, $029, $100
+DiglettCryHeader: cry_header CRY_DIGLETT, $0aa, $081
+DugtrioCryHeader: cry_header CRY_DIGLETT, $02a, $090
+MeowthCryHeader: cry_header CRY_CLEFAIRY, $077, $090
+PersianCryHeader: cry_header CRY_CLEFAIRY, $099, $17f
+PsyduckCryHeader: cry_header CRY_PSYDUCK, $020, $0e0
+GolduckCryHeader: cry_header CRY_PSYDUCK, $0ff, $0c0
+MankeyCryHeader: cry_header CRY_NIDOQUEEN, $0dd, $0e0
+PrimeapeCryHeader: cry_header CRY_NIDOQUEEN, $0af, $0c0
+GrowlitheCryHeader: cry_header CRY_GROWLITHE, $020, $0c0
+ArcanineCryHeader: cry_header CRY_WEEDLE, $000, $100
+PoliwagCryHeader: cry_header CRY_PIDGEY, $0ff, $17f
+PoliwhirlCryHeader: cry_header CRY_PIDGEY, $077, $0e0
+PoliwrathCryHeader: cry_header CRY_PIDGEY, $000, $17f
+AbraCryHeader: cry_header CRY_METAPOD, $0c0, $081
+KadabraCryHeader: cry_header CRY_METAPOD, $0a8, $140
+AlakazamCryHeader: cry_header CRY_METAPOD, $098, $17f
+MachopCryHeader: cry_header CRY_GROWLITHE, $0ee, $081
+MachokeCryHeader: cry_header CRY_GROWLITHE, $048, $0e0
+MachampCryHeader: cry_header CRY_GROWLITHE, $008, $140
+BellsproutCryHeader: cry_header CRY_PSYDUCK, $055, $081
+WeepinbellCryHeader: cry_header CRY_WEEPINBELL, $044, $0a0
+VictreebelCryHeader: cry_header CRY_WEEPINBELL, $066, $14c
+TentacoolCryHeader: cry_header CRY_VENONAT, $000, $100
+TentacruelCryHeader: cry_header CRY_VENONAT, $0ee, $17f
+GeodudeCryHeader: cry_header CRY_VULPIX, $0f0, $090
+GravelerCryHeader: cry_header CRY_VULPIX, $000, $100
+GolemCryHeader: cry_header CRY_GOLEM, $0e0, $0c0
+PonytaCryHeader: cry_header CRY_WEEPINBELL, $000, $100
+RapidashCryHeader: cry_header CRY_WEEPINBELL, $020, $140
+SlowpokeCryHeader: cry_header CRY_SLOWPOKE, $000, $100
+SlowbroCryHeader: cry_header CRY_GROWLITHE, $000, $100
+MagnemiteCryHeader: cry_header CRY_METAPOD, $080, $0e0
+MagnetonCryHeader: cry_header CRY_METAPOD, $020, $140
+FarfetchDCryHeader: cry_header CRY_SPEAROW, $0dd, $081
+DoduoCryHeader: cry_header CRY_DIGLETT, $0bb, $081
+DodrioCryHeader: cry_header CRY_DIGLETT, $099, $0a0
+SeelCryHeader: cry_header CRY_SEEL, $088, $140
+DewgongCryHeader: cry_header CRY_SEEL, $023, $17f
+GrimerCryHeader: cry_header CRY_GRIMER, $000, $100
+MukCryHeader: cry_header CRY_MUK, $0ef, $17f
+ShellderCryHeader: cry_header CRY_FEAROW, $000, $100
+CloysterCryHeader: cry_header CRY_FEAROW, $06f, $160
+GastlyCryHeader: cry_header CRY_METAPOD, $000, $100
+HaunterCryHeader: cry_header CRY_METAPOD, $030, $0c0
+GengarCryHeader: cry_header CRY_MUK, $000, $17f
+OnixCryHeader: cry_header CRY_EKANS, $0ff, $140
+DrowzeeCryHeader: cry_header CRY_DROWZEE, $088, $0a0
+HypnoCryHeader: cry_header CRY_DROWZEE, $0ee, $0c0
+KrabbyCryHeader: cry_header CRY_KRABBY, $020, $160
+KinglerCryHeader: cry_header CRY_KRABBY, $0ee, $160
+VoltorbCryHeader: cry_header CRY_VOLTORB, $0ed, $100
+ElectrodeCryHeader: cry_header CRY_VOLTORB, $0a8, $110
+ExeggcuteCryHeader: cry_header CRY_DIGLETT, $000, $100
+ExeggutorCryHeader: cry_header CRY_DROWZEE, $000, $100
+CuboneCryHeader: cry_header CRY_CLEFAIRY, $000, $100
+MarowakCryHeader: cry_header CRY_ODDISH, $04f, $0e0
+HitmonleeCryHeader: cry_header CRY_GOLEM, $080, $140
+HitmonchanCryHeader: cry_header CRY_SEEL, $0ee, $140
+LickitungCryHeader: cry_header CRY_SEEL, $000, $100
+KoffingCryHeader: cry_header CRY_GOLEM, $0e6, $15d
+WeezingCryHeader: cry_header CRY_GOLEM, $0ff, $17f
+RhyhornCryHeader: cry_header CRY_CHARMANDER, $000, $100
+RhydonCryHeader: cry_header CRY_RHYDON, $000, $100
+ChanseyCryHeader: cry_header CRY_PIDGEOTTO, $00a, $140
+TangelaCryHeader: cry_header CRY_GOLEM, $000, $100
+KangaskhanCryHeader: cry_header CRY_KANGASKHAN, $000, $100
+HorseaCryHeader: cry_header CRY_CLEFAIRY, $099, $090
+SeadraCryHeader: cry_header CRY_CLEFAIRY, $03c, $081
+GoldeenCryHeader: cry_header CRY_CATERPIE, $080, $0c0
+SeakingCryHeader: cry_header CRY_CATERPIE, $010, $17f
+StaryuCryHeader: cry_header CRY_PARAS, $002, $0a0
+StarmieCryHeader: cry_header CRY_PARAS, $000, $100
+MrMimeCryHeader: cry_header CRY_KRABBY, $008, $0c0
+ScytherCryHeader: cry_header CRY_CATERPIE, $000, $100
+JynxCryHeader: cry_header CRY_DROWZEE, $0ff, $17f
+ElectabuzzCryHeader: cry_header CRY_VOLTORB, $08f, $17f
+MagmarCryHeader: cry_header CRY_CHARMANDER, $0ff, $0b0
+PinsirCryHeader: cry_header CRY_PIDGEOTTO, $000, $100
+TaurosCryHeader: cry_header CRY_SQUIRTLE, $011, $0c0
+MagikarpCryHeader: cry_header CRY_EKANS, $080, $080
+GyaradosCryHeader: cry_header CRY_EKANS, $000, $100
+LaprasCryHeader: cry_header CRY_LAPRAS, $000, $100
+DittoCryHeader: cry_header CRY_PIDGEY, $0ff, $17f
+EeveeCryHeader: cry_header CRY_VENONAT, $088, $0e0
+VaporeonCryHeader: cry_header CRY_VENONAT, $0aa, $17f
+JolteonCryHeader: cry_header CRY_VENONAT, $03d, $100
+FlareonCryHeader: cry_header CRY_VENONAT, $010, $0a0
+PorygonCryHeader: cry_header CRY_WEEPINBELL, $0aa, $17f
+OmanyteCryHeader: cry_header CRY_GROWLITHE, $0f0, $081
+OmastarCryHeader: cry_header CRY_GROWLITHE, $0ff, $0c0
+KabutoCryHeader: cry_header CRY_CATERPIE, $0bb, $0c0
+KabutopsCryHeader: cry_header CRY_FEAROW, $0ee, $081
+AerodactylCryHeader: cry_header CRY_VILEPLUME, $020, $170
+SnorlaxCryHeader: cry_header CRY_GRIMER, $055, $081
+ArticunoCryHeader: cry_header CRY_RAICHU, $080, $0c0
+ZapdosCryHeader: cry_header CRY_FEAROW, $0ff, $100
+MoltresCryHeader: cry_header CRY_RAICHU, $0f8, $0c0
+DratiniCryHeader: cry_header CRY_BULBASAUR, $060, $0c0
+DragonairCryHeader: cry_header CRY_BULBASAUR, $040, $100
+DragoniteCryHeader: cry_header CRY_BULBASAUR, $03c, $140
+MewtwoCryHeader: cry_header CRY_PARAS, $099, $17f
+MewCryHeader: cry_header CRY_PARAS, $0ee, $17f
+ChikoritaCryHeader: cry_header CRY_CHIKORITA, -$010, $0b0
+BayleefCryHeader: cry_header CRY_CHIKORITA, -$022, $120
+MeganiumCryHeader: cry_header CRY_CHIKORITA, -$0b7, $200
+CyndaquilCryHeader: cry_header CRY_CYNDAQUIL, $347, $080
+QuilavaCryHeader: cry_header CRY_CYNDAQUIL, $321, $120
+TyphlosionCryHeader: cry_header CRY_TYPHLOSION, $f00, $0d4
+TotodileCryHeader: cry_header CRY_TOTODILE, $46c, $0e8
+CroconawCryHeader: cry_header CRY_TOTODILE, $440, $110
+FeraligatrCryHeader: cry_header CRY_TOTODILE, $3fc, $180
+SentretCryHeader: cry_header CRY_SENTRET, $08a, $0b8
+FurretCryHeader: cry_header CRY_SENTRET, $06b, $102
+HoothootCryHeader: cry_header CRY_HOOTHOOT, $091, $0d8
+NoctowlCryHeader: cry_header CRY_HOOTHOOT, $000, $1a0
+LedybaCryHeader: cry_header CRY_LEDYBA, $000, $0de
+LedianCryHeader: cry_header CRY_LEDYBA, -$096, $138
+SpinarakCryHeader: cry_header CRY_SPINARAK, $011, $200
+AriadosCryHeader: cry_header CRY_SPINARAK, -$0ae, $1e2
+CrobatCryHeader: cry_header CRY_SQUIRTLE, -$010, $140
+ChinchouCryHeader: cry_header CRY_CYNDAQUIL, $3c9, $140
+LanturnCryHeader: cry_header CRY_CYNDAQUIL, $2d0, $110
+PichuCryHeader: cry_header CRY_PICHU, $000, $140
+CleffaCryHeader: cry_header CRY_CLEFFA, $061, $091
+IgglybuffCryHeader: cry_header CRY_CHIKORITA, $0e8, $0e8
+TogepiCryHeader: cry_header CRY_TOGEPI, $010, $100
+TogeticCryHeader: cry_header CRY_TOGETIC, $03b, $038
+NatuCryHeader: cry_header CRY_NATU, -$067, $100
+XatuCryHeader: cry_header CRY_NATU, -$0a7, $168
+MareepCryHeader: cry_header CRY_MAREEP, $022, $0d8
+FlaaffyCryHeader: cry_header CRY_MAREEP, -$007, $180
+AmpharosCryHeader: cry_header CRY_AMPHAROS, -$07c, $0e8
+BellossomCryHeader: cry_header CRY_CLEFFA, $084, $150
+MarillCryHeader: cry_header CRY_MARILL, $11b, $120
+AzumarillCryHeader: cry_header CRY_MARILL, $0b6, $180
+SudowoodoCryHeader: cry_header CRY_CLEFFA, $f40, $180
+PolitoedCryHeader: cry_header CRY_CLEFFA, -$2a3, $1c8
+HoppipCryHeader: cry_header CRY_CLEFFA, $03b, $0c8
+SkiploomCryHeader: cry_header CRY_CLEFFA, $027, $138
+JumpluffCryHeader: cry_header CRY_CLEFFA, $000, $180
+AipomCryHeader: cry_header CRY_AIPOM, -$051, $0e8
+SunkernCryHeader: cry_header CRY_MARILL, $12b, $0b8
+SunfloraCryHeader: cry_header CRY_SUNFLORA, -$020, $180
+YanmaCryHeader: cry_header CRY_TOTODILE, $031, $0c8
+WooperCryHeader: cry_header CRY_WOOPER, $093, $0af
+QuagsireCryHeader: cry_header CRY_WOOPER, -$0c6, $140
+EspeonCryHeader: cry_header CRY_AIPOM, $0a2, $140
+UmbreonCryHeader: cry_header CRY_VENONAT, -$0e9, $0f0
+MurkrowCryHeader: cry_header CRY_MARILL, -$01f, $180
+SlowkingCryHeader: cry_header CRY_SLOWKING, $104, $200
+MisdreavusCryHeader: cry_header CRY_HOOTHOOT, $130, $0e8
+UnownCryHeader: cry_header CRY_HOOTHOOT, $162, $100
+WobbuffetCryHeader: cry_header CRY_AMPHAROS, $27b, $144
+GirafarigCryHeader: cry_header CRY_GIRAFARIG, $041, $200
+PinecoCryHeader: cry_header CRY_SLOWKING, $080, $100
+ForretressCryHeader: cry_header CRY_SLOWKING, $000, $180
+DunsparceCryHeader: cry_header CRY_DUNSPARCE, $1c4, $100
+GligarCryHeader: cry_header CRY_GLIGAR, -$102, $100
+SteelixCryHeader: cry_header CRY_TYPHLOSION, $0ef, $0f7
+SnubbullCryHeader: cry_header CRY_DUNSPARCE, $112, $0e8
+GranbullCryHeader: cry_header CRY_DUNSPARCE, $000, $180
+QwilfishCryHeader: cry_header CRY_SLOWKING, $160, $0e0
+ScizorCryHeader: cry_header CRY_AMPHAROS, $000, $160
+ShuckleCryHeader: cry_header CRY_DUNSPARCE, $290, $0a8
+HeracrossCryHeader: cry_header CRY_AMPHAROS, $035, $0e0
+SneaselCryHeader: cry_header CRY_WOOPER, $053, $0af
+TeddiursaCryHeader: cry_header CRY_TEDDIURSA, $7a2, $06e
+UrsaringCryHeader: cry_header CRY_TEDDIURSA, $640, $0d8
+SlugmaCryHeader: cry_header CRY_SLUGMA, -$1d8, $140
+MagcargoCryHeader: cry_header CRY_MAGCARGO, -$20d, $1c0
+SwinubCryHeader: cry_header CRY_CYNDAQUIL, $1fe, $140
+PiloswineCryHeader: cry_header CRY_MAGCARGO, -$109, $100
+CorsolaCryHeader: cry_header CRY_MAGCARGO, $0a1, $0e8
+RemoraidCryHeader: cry_header CRY_SUNFLORA, $00d, $100
+OctilleryCryHeader: cry_header CRY_TOTODILE, $000, $180
+DelibirdCryHeader: cry_header CRY_TEDDIURSA, $002, $06a
+MantineCryHeader: cry_header CRY_MANTINE, -$0be, $0f0
+SkarmoryCryHeader: cry_header CRY_AMPHAROS, $8a9, $180
+HoundourCryHeader: cry_header CRY_CYNDAQUIL, $039, $140
+HoundoomCryHeader: cry_header CRY_TOTODILE, -$10a, $100
+KingdraCryHeader: cry_header CRY_SLUGMA, $2fb, $100
+PhanpyCryHeader: cry_header CRY_SENTRET, $048, $230
+DonphanCryHeader: cry_header CRY_DONPHAN, $000, $1a0
+Porygon2CryHeader: cry_header CRY_GIRAFARIG, $073, $240
+StantlerCryHeader: cry_header CRY_AIPOM, -$160, $180
+SmeargleCryHeader: cry_header CRY_PICHU, -$21a, $1f0
+TyrogueCryHeader: cry_header CRY_AIPOM, $02c, $108
+HitmontopCryHeader: cry_header CRY_SLUGMA, $000, $100
+SmoochumCryHeader: cry_header CRY_MARILL, $068, $100
+ElekidCryHeader: cry_header CRY_SUNFLORA, -$2d8, $0b4
+MagbyCryHeader: cry_header CRY_TEDDIURSA, $176, $03a
+MiltankCryHeader: cry_header CRY_GLIGAR, -$1cd, $1a0
+BlisseyCryHeader: cry_header CRY_SLOWKING, $293, $140
+RaikouCryHeader: cry_header CRY_RAIKOU, $22e, $120
+EnteiCryHeader: cry_header CRY_ENTEI, $000, $1a0
+SuicuneCryHeader: cry_header CRY_MAGCARGO, $000, $180
+LarvitarCryHeader: cry_header CRY_RAIKOU, $05f, $0d0
+PupitarCryHeader: cry_header CRY_SPINARAK, -$1db, $150
+TyranitarCryHeader: cry_header CRY_RAIKOU, -$100, $180
+LugiaCryHeader: cry_header CRY_TYPHLOSION, $000, $100
+HoOhCryHeader: cry_header CRY_AIPOM, $000, $180
+CelebiCryHeader: cry_header CRY_ENTEI, $14a, $111
+CryHeader252: cry_header CRY_NIDORAN_M, 0, 0
+CryHeader253: cry_header CRY_NIDORAN_M, 0, 0
+CryHeader254: cry_header CRY_NIDORAN_M, 0, 0
+CryHeader255: cry_header CRY_NIDORAN_M, 0, 0
; f2d81
--- a/audio/cry_pointers.asm
+++ b/audio/cry_pointers.asm
@@ -1,70 +1,70 @@
; e91b0
- dba Cry_00
- dba Cry_01
- dba Cry_02
- dba Cry_03
- dba Cry_04
- dba Cry_05
- dba Cry_06
- dba Cry_07
- dba Cry_08
- dba Cry_09
- dba Cry_0A
- dba Cry_0B
- dba Cry_0C
- dba Cry_0D
- dba Cry_0E
- dba Cry_0F
- dba Cry_10
- dba Cry_11
- dba Cry_12
- dba Cry_13
- dba Cry_14
- dba Cry_15
- dba Cry_16
- dba Cry_17
- dba Cry_18
- dba Cry_19
- dba Cry_1A
- dba Cry_1B
- dba Cry_1C
- dba Cry_1D
- dba Cry_1E
- dba Cry_1F
- dba Cry_20
- dba Cry_21
- dba Cry_22
- dba Cry_23
- dba Cry_24
- dba Cry_25
- dba Cry_26
- dba Cry_27
- dba Cry_28
- dba Cry_29
- dba Cry_2A
- dba Cry_2B
- dba Cry_2C
- dba Cry_2D
- dba Cry_2E
- dba Cry_2F
- dba Cry_30
- dba Cry_31
- dba Cry_32
- dba Cry_33
- dba Cry_34
- dba Cry_35
- dba Cry_36
- dba Cry_37
- dba Cry_38
- dba Cry_39
- dba Cry_3A
- dba Cry_3B
- dba Cry_3C
- dba Cry_3D
- dba Cry_3E
- dba Cry_3F
- dba Cry_40
- dba Cry_41
- dba Cry_42
- dba Cry_43
+ dba Cry_Nidoran_M
+ dba Cry_Nidoran_F
+ dba Cry_Slowpoke
+ dba Cry_Kangaskhan
+ dba Cry_Charmander
+ dba Cry_Grimer
+ dba Cry_Voltorb
+ dba Cry_Muk
+ dba Cry_Oddish
+ dba Cry_Raichu
+ dba Cry_Nidoqueen
+ dba Cry_Diglett
+ dba Cry_Seel
+ dba Cry_Drowzee
+ dba Cry_Pidgey
+ dba Cry_Bulbasaur
+ dba Cry_Spearow
+ dba Cry_Rhydon
+ dba Cry_Golem
+ dba Cry_Blastoise
+ dba Cry_Pidgeotto
+ dba Cry_Weedle
+ dba Cry_Caterpie
+ dba Cry_Ekans
+ dba Cry_Fearow
+ dba Cry_Clefairy
+ dba Cry_Venonat
+ dba Cry_Lapras
+ dba Cry_Metapod
+ dba Cry_Squirtle
+ dba Cry_Paras
+ dba Cry_Growlithe
+ dba Cry_Krabby
+ dba Cry_Psyduck
+ dba Cry_Rattata
+ dba Cry_Vileplume
+ dba Cry_Vulpix
+ dba Cry_Weepinbell
+ dba Cry_Marill
+ dba Cry_Spinarak
+ dba Cry_Togepi
+ dba Cry_Girafarig
+ dba Cry_Raikou
+ dba Cry_Mareep
+ dba Cry_Togetic
+ dba Cry_Hoothoot
+ dba Cry_Sentret
+ dba Cry_Slowking
+ dba Cry_Cyndaquil
+ dba Cry_Chikorita
+ dba Cry_Totodile
+ dba Cry_Gligar
+ dba Cry_Cleffa
+ dba Cry_Slugma
+ dba Cry_Ledyba
+ dba Cry_Entei
+ dba Cry_Wooper
+ dba Cry_Mantine
+ dba Cry_Typhlosion
+ dba Cry_Natu
+ dba Cry_Teddiursa
+ dba Cry_Sunflora
+ dba Cry_Ampharos
+ dba Cry_Magcargo
+ dba Cry_Pichu
+ dba Cry_Aipom
+ dba Cry_Dunsparce
+ dba Cry_Donphan
; e927c
--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -22,7 +22,7 @@
ld [hli], a ; ff26 ; music channels
ld hl, rNR10 ; sound channel registers
- ld e, $04 ; number of channels
+ ld e, $4 ; number of channels
.clearsound
; sound channel 1 2 3 4
xor a
@@ -29,7 +29,7 @@
ld [hli], a ; rNR10, rNR20, rNR30, rNR40 ; sweep = 0
ld [hli], a ; rNR11, rNR21, rNR31, rNR41 ; length/wavepattern = 0
- ld a, $08
+ ld a, $8
ld [hli], a ; rNR12, rNR22, rNR32, rNR42 ; envelope = 0
xor a
ld [hli], a ; rNR13, rNR23, rNR33, rNR43 ; frequency lo = 0
@@ -39,7 +39,7 @@
jr nz, .clearsound
ld hl, Channel1 ; start of channel data
- ld de, $01bf ; length of area to clear (entire sound wram area)
+ ld de, $1bf ; length of area to clear (entire sound wram area)
.clearchannels ; clear Channel1-$c2bf
xor a
ld [hli], a
@@ -55,6 +55,7 @@
pop de
pop hl
ret
+
; e803d
MusicFadeRestart: ; e803d
@@ -69,12 +70,14 @@
pop af
ld [MusicFadeIDHi], a
ret
+
; e8051
MusicOn: ; e8051
- ld a, $01
+ ld a, 1
ld [MusicPlaying], a
ret
+
; e8057
MusicOff: ; e8057
@@ -81,6 +84,7 @@
xor a
ld [MusicPlaying], a
ret
+
; e805c
_UpdateSound:: ; e805c
@@ -98,16 +102,17 @@
; is the channel active?
ld hl, Channel1Flags - Channel1
add hl, bc
- bit 0, [hl]
+ bit SOUND_CHANNEL_ON, [hl]
jp z, .nextchannel
; check time left in the current note
ld hl, Channel1NoteDuration - Channel1
add hl, bc
ld a, [hl]
- cp a, $02 ; 1 or 0?
+ cp $2 ; 1 or 0?
jr c, .noteover
dec [hl]
jr .asm_e8093
+
.noteover
; reset vibrato delay
ld hl, Channel1VibratoDelay - Channel1
@@ -119,7 +124,7 @@
; turn vibrato off for now
ld hl, Channel1Flags2 - Channel1
add hl, bc
- res 1, [hl]
+ res SOUND_UNKN_09, [hl]
; get next note
call ParseMusic
.asm_e8093
@@ -129,15 +134,15 @@
ld hl, Channel1DutyCycle - Channel1
add hl, bc
ld a, [hli]
- ld [wc292], a
+ ld [wCurTrackDuty], a
; intensity
ld a, [hli]
- ld [wc293], a
+ ld [wCurTrackIntensity], a
; frequency
ld a, [hli]
- ld [wc294], a
+ ld [wCurTrackFrequency], a
ld a, [hl]
- ld [wc295], a
+ ld [wCurTrackFrequency + 1], a
;
call Functione8466 ; handle vibrato and other things
call HandleNoise
@@ -147,34 +152,34 @@
jr z, .next
; are we in a sfx channel right now?
ld a, [CurChannel]
- cp a, $04
+ cp $4
jr nc, .next
; are any sfx channels active?
; if so, mute
ld hl, Channel5Flags
- bit 0, [hl]
+ bit SOUND_CHANNEL_ON, [hl]
jr nz, .restnote
ld hl, Channel6Flags
- bit 0, [hl]
+ bit SOUND_CHANNEL_ON, [hl]
jr nz, .restnote
ld hl, Channel7Flags
- bit 0, [hl]
+ bit SOUND_CHANNEL_ON, [hl]
jr nz, .restnote
ld hl, Channel8Flags
- bit 0, [hl]
+ bit SOUND_CHANNEL_ON, [hl]
jr z, .next
.restnote
ld hl, Channel1NoteFlags - Channel1
add hl, bc
- set 5, [hl] ; Rest
+ set NOTE_REST, [hl] ; Rest
.next
; are we in a sfx channel right now?
ld a, [CurChannel]
- cp a, $04 ; sfx
+ cp $4 ; sfx
jr nc, .asm_e80ee
- ld hl, $00cb
+ ld hl, Channel5Flags - Channel1
add hl, bc
- bit 0, [hl]
+ bit SOUND_CHANNEL_ON, [hl]
jr nz, .asm_e80fc
.asm_e80ee
call UpdateChannels
@@ -198,7 +203,7 @@
ld a, [CurChannel]
inc a
ld [CurChannel], a
- cp a, $08 ; are we done?
+ cp $8 ; are we done?
jp nz, .loop ; do it all again
call PlayDanger
@@ -211,15 +216,16 @@
ld a, [SoundOutput]
ld [rNR51], a
ret
+
; e8125
UpdateChannels: ; e8125
ld hl, .ChannelFnPtrs
ld a, [CurChannel]
- and a, $07
+ and $7
add a
ld e, a
- ld d, $00
+ ld d, 0
add hl, de
ld a, [hli]
ld h, [hl]
@@ -226,6 +232,7 @@
ld l, a
jp [hl]
+
.ChannelFnPtrs
dw .Channel1
dw .Channel2
@@ -245,64 +252,68 @@
.Channel5
ld hl, Channel1NoteFlags - Channel1
add hl, bc
- bit 3, [hl]
+ bit NOTE_UNKN_3, [hl]
jr z, .asm_e8159
;
ld a, [SoundInput]
ld [rNR10], a
.asm_e8159
- bit 5, [hl] ; rest
+ bit NOTE_REST, [hl] ; rest
jr nz, .ch1rest
- bit 4, [hl]
+ bit NOTE_UNKN_4, [hl]
jr nz, .asm_e81a2
- bit 1, [hl]
+ bit NOTE_UNKN_1, [hl]
jr nz, .asm_e816b
- bit 6, [hl]
+ bit NOTE_UNKN_6, [hl]
jr nz, .asm_e8184
jr .asm_e8175
+
.asm_e816b
- ld a, [wc294]
+ ld a, [wCurTrackFrequency]
ld [rNR13], a
- ld a, [wc295]
+ ld a, [wCurTrackFrequency + 1]
ld [rNR14], a
.asm_e8175
- bit 0, [hl]
+ bit NOTE_UNKN_0, [hl]
ret z
- ld a, [wc292]
+ ld a, [wCurTrackDuty]
ld d, a
ld a, [rNR11]
- and a, $3f ; sound length
+ and $3f ; sound length
or d
ld [rNR11], a
ret
+
.asm_e8184
- ld a, [wc292]
+ ld a, [wCurTrackDuty]
ld d, a
ld a, [rNR11]
- and a, $3f ; sound length
+ and $3f ; sound length
or d
ld [rNR11], a
- ld a, [wc294]
+ ld a, [wCurTrackFrequency]
ld [rNR13], a
ret
+
.ch1rest
ld a, [rNR52]
- and a, %10001110 ; ch1 off
+ and %10001110 ; ch1 off
ld [rNR52], a
ld hl, rNR10
call ClearChannel
ret
+
.asm_e81a2
- ld hl, wc292
+ ld hl, wCurTrackDuty
ld a, $3f ; sound length
or [hl]
ld [rNR11], a
- ld a, [wc293]
+ ld a, [wCurTrackIntensity]
ld [rNR12], a
- ld a, [wc294]
+ ld a, [wCurTrackFrequency]
ld [rNR13], a
- ld a, [wc295]
- or a, $80
+ ld a, [wCurTrackFrequency + 1]
+ or $80
ld [rNR14], a
ret
@@ -310,55 +321,59 @@
.Channel6
ld hl, Channel1NoteFlags - Channel1
add hl, bc
- bit 5, [hl] ; rest
+ bit NOTE_REST, [hl] ; rest
jr nz, .ch2rest
- bit 4, [hl]
+ bit NOTE_UNKN_4, [hl]
jr nz, .asm_e8204
- bit 6, [hl]
+ bit NOTE_UNKN_6, [hl]
jr nz, .asm_e81e6
- bit 0, [hl]
+ bit NOTE_UNKN_0, [hl]
ret z
- ld a, [wc292]
+ ld a, [wCurTrackDuty]
ld d, a
ld a, [rNR21]
- and a, $3f ; sound length
+ and $3f ; sound length
or d
ld [rNR21], a
ret
+
.asm_e81db ; unused
- ld a, [wc294]
+ ld a, [wCurTrackFrequency]
ld [rNR23], a
- ld a, [wc295]
+ ld a, [wCurTrackFrequency + 1]
ld [rNR24], a
ret
+
.asm_e81e6
- ld a, [wc292]
+ ld a, [wCurTrackDuty]
ld d, a
ld a, [rNR21]
- and a, $3f ; sound length
+ and $3f ; sound length
or d
ld [rNR21], a
- ld a, [wc294]
+ ld a, [wCurTrackFrequency]
ld [rNR23], a
ret
+
.ch2rest
ld a, [rNR52]
- and a, %10001101 ; ch2 off
+ and %10001101 ; ch2 off
ld [rNR52], a
ld hl, rNR20
call ClearChannel
ret
+
.asm_e8204
- ld hl, wc292
+ ld hl, wCurTrackDuty
ld a, $3f ; sound length
or [hl]
ld [rNR21], a
- ld a, [wc293]
+ ld a, [wCurTrackIntensity]
ld [rNR22], a
- ld a, [wc294]
+ ld a, [wCurTrackFrequency]
ld [rNR23], a
- ld a, [wc295]
- or a, $80 ; initial (restart)
+ ld a, [wCurTrackFrequency + 1]
+ or $80 ; initial (restart)
ld [rNR24], a
ret
@@ -366,30 +381,34 @@
.Channel7
ld hl, Channel1NoteFlags - Channel1
add hl, bc
- bit 5, [hl] ; rest
+ bit NOTE_REST, [hl] ; rest
jr nz, .ch3rest
- bit 4, [hl]
+ bit NOTE_UNKN_4, [hl]
jr nz, .asm_e824d
- bit 6, [hl]
+ bit NOTE_UNKN_6, [hl]
jr nz, .asm_e823a
ret
+
.asm_e822f ; unused
- ld a, [wc294]
+ ld a, [wCurTrackFrequency]
ld [rNR33], a
- ld a, [wc295]
+ ld a, [wCurTrackFrequency + 1]
ld [rNR34], a
ret
+
.asm_e823a
- ld a, [wc294]
+ ld a, [wCurTrackFrequency]
ld [rNR33], a
ret
+
.ch3rest
ld a, [rNR52]
- and a, %10001011 ; ch3 off
+ and %10001011 ; ch3 off
ld [rNR52], a
ld hl, rNR30
call ClearChannel
ret
+
.asm_e824d
ld a, $3f
ld [rNR31], a
@@ -398,20 +417,21 @@
call .asm_e8268
ld a, $80
ld [rNR30], a
- ld a, [wc294]
+ ld a, [wCurTrackFrequency]
ld [rNR33], a
- ld a, [wc295]
- or a, $80
+ ld a, [wCurTrackFrequency + 1]
+ or $80
ld [rNR34], a
ret
+
.asm_e8268
push hl
- ld a, [wc293]
- and a, $0f ; only 0-9 are valid
+ ld a, [wCurTrackIntensity]
+ and $f ; only 0-9 are valid
ld l, a
- ld h, $00
+ ld h, 0
; hl << 4
- ; each wavepattern is $0f bytes long
+ ; each wavepattern is $f bytes long
; so seeking is done in $10s
rept 4
add hl, hl
@@ -452,8 +472,8 @@
ld a, [hli]
ld [rWave_f], a
pop hl
- ld a, [wc293]
- and a, $f0
+ ld a, [wCurTrackIntensity]
+ and $f0
sla a
ld [rNR32], a
ret
@@ -462,53 +482,59 @@
.Channel8
ld hl, Channel1NoteFlags - Channel1
add hl, bc
- bit 5, [hl] ; rest
+ bit NOTE_REST, [hl] ; rest
jr nz, .ch4rest
- bit 4, [hl]
+ bit NOTE_UNKN_4, [hl]
jr nz, .asm_e82d4
ret
+
.asm_e82c1 ; unused
- ld a, [wc294]
+ ld a, [wCurTrackFrequency]
ld [rNR43], a
ret
+
.ch4rest
ld a, [rNR52]
- and a, %10000111 ; ch4 off
+ and %10000111 ; ch4 off
ld [rNR52], a
ld hl, rNR40
call ClearChannel
ret
+
.asm_e82d4
ld a, $3f ; sound length
ld [rNR41], a
- ld a, [wc293]
+ ld a, [wCurTrackIntensity]
ld [rNR42], a
- ld a, [wc294]
+ ld a, [wCurTrackFrequency]
ld [rNR43], a
ld a, $80
ld [rNR44], a
ret
+
; e82e7
_CheckSFX: ; e82e7
; return carry if any sfx channels are active
ld hl, Channel5Flags
- bit 0, [hl]
+ bit SOUND_CHANNEL_ON, [hl]
jr nz, .sfxon
ld hl, Channel6Flags
- bit 0, [hl]
+ bit SOUND_CHANNEL_ON, [hl]
jr nz, .sfxon
ld hl, Channel7Flags
- bit 0, [hl]
+ bit SOUND_CHANNEL_ON, [hl]
jr nz, .sfxon
ld hl, Channel8Flags
- bit 0, [hl]
+ bit SOUND_CHANNEL_ON, [hl]
jr nz, .sfxon
and a
ret
+
.sfxon
scf
ret
+
; e8307
PlayDanger: ; e8307
@@ -515,18 +541,20 @@
ld a, [Danger]
bit 7, a
ret z
- and a, $7f
+ and $7f
ld d, a
call _CheckSFX
jr c, .asm_e8335
and a
jr z, .asm_e8323
- cp a, 16 ; halfway
+ cp 16 ; halfway
jr z, .asm_e831e
jr .asm_e8335
+
.asm_e831e
ld hl, Tablee8354
jr .updatehw
+
.asm_e8323
ld hl, Tablee8350
.updatehw
@@ -543,26 +571,27 @@
.asm_e8335
ld a, d
inc a
- cp a, 30
+ cp 30
jr c, .asm_e833c
xor a
.asm_e833c
- or a, $80
+ or $80
ld [Danger], a
; is hw ch1 on?
ld a, [SoundOutput]
- and a, $11
+ and $11
ret nz
; if not, turn it on
ld a, [SoundOutput]
- or a, $11
+ or $11
ld [SoundOutput], a
ret
+
; e8350
Tablee8350: ; e8350
db $80 ; duty 50%
- db $e2 ; volume $e, envelope decrease sweep 2
+ db $e2 ; volume 14, envelope decrease sweep 2
db $50 ; frequency: $750
db $87 ; restart sound
; e8354
@@ -569,7 +598,7 @@
Tablee8354: ; e8354
db $80 ; duty 50%
- db $e2 ; volume $e, envelope decrease sweep 2
+ db $e2 ; volume 14, envelope decrease sweep 2
db $ee ; frequency: $6ee
db $86 ; restart sound
; e8358
@@ -596,15 +625,16 @@
dec a
ld [MusicFadeCount], a
ret
+
.update
ld a, [MusicFade]
ld d, a
; get new count
- and a, $3f
+ and $3f
ld [MusicFadeCount], a
; get SO1 volume
ld a, [Volume]
- and a, $07
+ and $7
; which way are we fading?
bit 7, d
jr nz, .fadein
@@ -614,6 +644,7 @@
dec a
jr .updatevolume
+
.novolume
; make sure volume is off
xor a
@@ -620,7 +651,7 @@
ld [Volume], a
; did we just get on a bike?
ld a, [PlayerState]
- cp a, $01 ; bicycle
+ cp $1 ; bicycle
jr z, .bicycle
push bc
; restart sound
@@ -641,6 +672,7 @@
xor a
ld [MusicFade], a
ret
+
.bicycle
push bc
; restart sound
@@ -664,16 +696,18 @@
.fadein
; are we done?
- cp a, $07
+ cp $7
jr nc, .maxvolume
; inc volume
inc a
jr .updatevolume
+
.maxvolume
; we're done
xor a
ld [MusicFade], a
ret
+
.updatevolume
; hi = lo
ld d, a
@@ -681,6 +715,7 @@
or d
ld [Volume], a
ret
+
; e83d1
LoadNote: ; e83d1
@@ -687,7 +722,7 @@
; check mute??
ld hl, Channel1Flags2 - Channel1
add hl, bc
- bit 1, [hl]
+ bit SOUND_UNKN_09, [hl]
ret z
; get note duration
ld hl, Channel1NoteDuration - Channel1
@@ -696,7 +731,7 @@
ld hl, wc297 ; ????
sub [hl]
jr nc, .ok
- ld a, $01
+ ld a, 1
.ok
ld [hl], a
; get frequency
@@ -706,23 +741,23 @@
inc hl
ld d, [hl]
; ????
- ld hl, $0021
+ ld hl, Channel1Field0x21 - Channel1
add hl, bc
ld a, e
sub [hl]
ld e, a
ld a, d
- sbc a, $00
+ sbc a, 0
ld d, a
; ????
- ld hl, $0022
+ ld hl, Channel1Field0x22 - Channel1
add hl, bc
sub [hl]
- jr nc, .asm_e8420
+ jr nc, .greater_than
; ????
ld hl, Channel1Flags3 - Channel1
add hl, bc
- set 1, [hl]
+ set SOUND_UNKN_11, [hl]
; get frequency
ld hl, Channel1Frequency - Channel1
add hl, bc
@@ -730,26 +765,27 @@
inc hl
ld d, [hl]
; ????
- ld hl, $0021
+ ld hl, Channel1Field0x21 - Channel1
add hl, bc
ld a, [hl]
sub e
ld e, a
ld a, d
- sbc a, $00
+ sbc a, 0
ld d, a
; ????
- ld hl, $0022
+ ld hl, Channel1Field0x22 - Channel1
add hl, bc
ld a, [hl]
sub d
ld d, a
- jr .asm_e843e
-.asm_e8420
+ jr .resume
+
+.greater_than
; ????
ld hl, Channel1Flags3 - Channel1
add hl, bc
- res 1, [hl]
+ res SOUND_UNKN_11, [hl]
; get frequency
ld hl, Channel1Frequency - Channel1
add hl, bc
@@ -757,23 +793,23 @@
inc hl
ld d, [hl]
; ????
- ld hl, $0021
+ ld hl, Channel1Field0x21 - Channel1
add hl, bc
ld a, e
sub [hl]
ld e, a
ld a, d
- sbc a, $00
+ sbc a, 0
ld d, a
; ????
- ld hl, $0022
+ ld hl, Channel1Field0x22 - Channel1
add hl, bc
sub [hl]
ld d, a
-.asm_e843e
+.resume
push bc
ld hl, wc297
- ld b, $00 ; loop count
+ ld b, 0; loop count
.loop
inc b
ld a, e
@@ -785,6 +821,7 @@
jr z, .quit
dec d
jr .loop
+
.quit
ld a, e ; result
add [hl]
@@ -791,42 +828,43 @@
ld d, b ; loop count
; ????
pop bc
- ld hl, $0023
+ ld hl, Channel1Field0x23 - Channel1
add hl, bc
ld [hl], d
- ld hl, $0024
+ ld hl, Channel1Field0x24 - Channel1
add hl, bc
ld [hl], a
; clear ????
- ld hl, $0025
+ ld hl, Channel1Field0x25 - Channel1
add hl, bc
xor a
ld [hl], a
ret
+
; e8466
Functione8466: ; e8466
; handle vibrato and other things
-; unknowns: wc292, wc294
+; unknowns: wCurTrackDuty, wCurTrackFrequency
ld hl, Channel1Flags2 - Channel1
add hl, bc
- bit 2, [hl]
+ bit SOUND_DUTY, [hl] ; duty
jr z, .next
- ld hl, $001c
+ ld hl, Channel1Field0x1c - Channel1
add hl, bc
ld a, [hl]
rlca
rlca
ld [hl], a
- and a, $c0
- ld [wc292], a
+ and $c0
+ ld [wCurTrackDuty], a
ld hl, Channel1NoteFlags - Channel1
add hl, bc
- set 0, [hl]
+ set NOTE_UNKN_0, [hl]
.next
ld hl, Channel1Flags2 - Channel1
add hl, bc
- bit 4, [hl]
+ bit SOUND_CRY_PITCH, [hl]
jr z, .vibrato
ld hl, Channel1CryPitch - Channel1
add hl, bc
@@ -833,7 +871,7 @@
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, wc294
+ ld hl, wCurTrackFrequency
ld a, [hli]
ld h, [hl]
ld l, a
@@ -840,7 +878,7 @@
add hl, de
ld e, l
ld d, h
- ld hl, wc294
+ ld hl, wCurTrackFrequency
ld [hl], e
inc hl
ld [hl], d
@@ -848,7 +886,7 @@
; is vibrato on?
ld hl, Channel1Flags2 - Channel1
add hl, bc
- bit 0, [hl] ; vibrato
+ bit SOUND_VIBRATO, [hl] ; vibrato
jr z, .quit
; is vibrato active for this note yet?
; is the delay over?
@@ -869,11 +907,12 @@
ld hl, Channel1VibratoRate - Channel1
add hl, bc
ld a, [hl]
- and a, $0f ; count
+ and $f ; count
jr z, .toggle
.subexit
dec [hl]
jr .quit
+
.toggle
; refresh count
ld a, [hl]
@@ -881,32 +920,33 @@
or [hl]
ld [hl], a
; ????
- ld a, [wc294]
+ ld a, [wCurTrackFrequency]
ld e, a
; toggle vibrato up/down
ld hl, Channel1Flags3 - Channel1
add hl, bc
- bit 0, [hl] ; vibrato up/down
+ bit SOUND_VIBRATO_DIR, [hl] ; vibrato up/down
jr z, .down
; up
; vibrato down
- res 0, [hl]
+ res SOUND_VIBRATO_DIR, [hl]
; get the delay
ld a, d
- and a, $0f ; lo
+ and $f ; lo
;
ld d, a
ld a, e
sub d
jr nc, .asm_e84ef
- ld a, $00
+ ld a, 0
jr .asm_e84ef
+
.down
; vibrato up
- set 0, [hl]
+ set SOUND_VIBRATO_DIR, [hl]
; get the delay
ld a, d
- and a, $f0 ; hi
+ and $f0 ; hi
swap a ; move it to lo
;
add e
@@ -913,13 +953,14 @@
jr nc, .asm_e84ef
ld a, $ff
.asm_e84ef
- ld [wc294], a
+ ld [wCurTrackFrequency], a
;
ld hl, Channel1NoteFlags - Channel1
add hl, bc
- set 6, [hl]
+ set NOTE_UNKN_6, [hl]
.quit
ret
+
; e84f9
Functione84f9: ; e84f9
@@ -926,7 +967,7 @@
; quit if ????
ld hl, Channel1Flags2 - Channel1
add hl, bc
- bit 1, [hl]
+ bit SOUND_UNKN_09, [hl]
ret z
; de = Frequency
ld hl, Channel1Frequency - Channel1
@@ -937,72 +978,73 @@
;
ld hl, Channel1Flags3 - Channel1
add hl, bc
- bit 1, [hl]
+ bit SOUND_UNKN_11, [hl]
jr z, .next
;
- ld hl, $0023
+ ld hl, Channel1Field0x23 - Channel1
add hl, bc
ld l, [hl]
- ld h, $00
+ ld h, 0
add hl, de
ld d, h
ld e, l
; get ????
- ld hl, $0024
+ ld hl, Channel1Field0x24 - Channel1
add hl, bc
ld a, [hl]
; add it to ????
- ld hl, $0025
+ ld hl, Channel1Field0x25 - Channel1
add hl, bc
add [hl]
ld [hl], a
- ld a, $00
+ ld a, 0
adc e
ld e, a
- ld a, $00
+ ld a, 0
adc d
ld d, a
;
- ld hl, $0022
+ ld hl, Channel1Field0x22 - Channel1
add hl, bc
ld a, [hl]
cp d
jp c, .quit1
jr nz, .quit2
- ld hl, $0021
+ ld hl, Channel1Field0x21 - Channel1
add hl, bc
ld a, [hl]
cp e
jp c, .quit1
jr .quit2
+
.next
ld a, e
- ld hl, $0023
+ ld hl, Channel1Field0x23 - Channel1
add hl, bc
ld e, [hl]
sub e
ld e, a
ld a, d
- sbc a, $00
+ sbc a, 0
ld d, a
- ld hl, $0024
+ ld hl, Channel1Field0x24 - Channel1
add hl, bc
ld a, [hl]
add a
ld [hl], a
ld a, e
- sbc a, $00
+ sbc a, 0
ld e, a
ld a, d
- sbc a, $00
+ sbc a, 0
ld d,a
- ld hl, $0022
+ ld hl, Channel1Field0x22 - Channel1
add hl, bc
ld a, d
cp [hl]
jr c, .quit1
jr nz, .quit2
- ld hl, $0021
+ ld hl, Channel1Field0x21 - Channel1
add hl, bc
ld a, e
cp [hl]
@@ -1010,11 +1052,12 @@
.quit1
ld hl, Channel1Flags2 - Channel1
add hl, bc
- res 1, [hl]
+ res SOUND_UNKN_09, [hl]
ld hl, Channel1Flags3 - Channel1
add hl, bc
- res 1, [hl]
+ res SOUND_UNKN_11, [hl]
ret
+
.quit2
ld hl, Channel1Frequency - Channel1
add hl, bc
@@ -1023,9 +1066,10 @@
ld [hl], d
ld hl, Channel1NoteFlags - Channel1
add hl, bc
- set 1, [hl]
- set 0, [hl]
+ set NOTE_UNKN_1, [hl]
+ set NOTE_UNKN_0, [hl]
ret
+
; e858c
HandleNoise: ; e858c
@@ -1032,7 +1076,7 @@
; is noise sampling on?
ld hl, Channel1Flags - Channel1
add hl, bc
- bit 4, [hl] ; noise sampling
+ bit SOUND_NOISE, [hl] ; noise sampling
ret z
; are we in a sfx channel?
ld a, [CurChannel]
@@ -1040,19 +1084,20 @@
jr nz, .next
; is ch8 on? (noise)
ld hl, Channel8Flags
- bit 0, [hl] ; on?
+ bit SOUND_CHANNEL_ON, [hl] ; on?
jr z, .next
; is ch8 playing noise?
- bit 4, [hl]
+ bit SOUND_NOISE, [hl]
ret nz ; quit if so
;
.next
- ld a, [wc2a2]
+ ld a, [wNoiseSampleDelay]
and a
jr z, ReadNoiseSample
dec a
- ld [wc2a2], a
+ ld [wNoiseSampleDelay], a
ret
+
; e85af
ReadNoiseSample: ; e85af
@@ -1082,15 +1127,15 @@
and $f
inc a
- ld [wc2a2], a
+ ld [wNoiseSampleDelay], a
ld a, [de]
inc de
- ld [wc293], a
+ ld [wCurTrackIntensity], a
ld a, [de]
inc de
- ld [wc294], a
+ ld [wCurTrackFrequency], a
xor a
- ld [wc295], a
+ ld [wCurTrackFrequency + 1], a
ld hl, NoiseSampleAddress
ld [hl], e
@@ -1099,18 +1144,20 @@
ld hl, Channel1NoteFlags - Channel1
add hl, bc
- set 4, [hl]
+ set NOTE_UNKN_4, [hl]
ret
+
.quit
ret
+
; e85e1
ParseMusic: ; e85e1
; parses until a note is read or the song is ended
call GetMusicByte ; store next byte in a
- cp a, $ff ; is the song over?
- jr z, .readff
- cp a, $d0 ; is it a note?
+ cp $ff ; is the song over?
+ jr z, .endchannel
+ cp $d0 ; is it a note?
jr c, .readnote
; then it's a command
.readcommand
@@ -1122,22 +1169,22 @@
; special notes
ld hl, Channel1Flags - Channel1
add hl, bc
- bit 3, [hl]
+ bit SOUND_SFX, [hl]
jp nz, Functione8698
- bit 5, [hl]
+ bit SOUND_REST, [hl] ; rest
jp nz, Functione8698
- bit 4, [hl] ; noise sample
+ bit SOUND_NOISE, [hl] ; noise sample
jp nz, GetNoiseSample
; normal note
; set note duration (bottom nybble)
ld a, [CurMusicByte]
- and a, $0f
+ and $f
call SetNoteDuration
; get note pitch (top nybble)
ld a, [CurMusicByte]
swap a
- and a, $0f
- jr z, .rest ; pitch $0 -> rest
+ and $f
+ jr z, .rest ; pitch 0-> rest
; update pitch
ld hl, Channel1Pitch - Channel1
add hl, bc
@@ -1158,37 +1205,41 @@
; ????
ld hl, Channel1NoteFlags - Channel1
add hl, bc
- set 4, [hl]
+ set NOTE_UNKN_4, [hl]
jp LoadNote
+
+
+
.rest
; note = rest
ld hl, Channel1NoteFlags - Channel1
add hl, bc
- set 5, [hl] ; Rest
+ set NOTE_REST, [hl] ; Rest
ret
+
;
-.readff
+.endchannel
; $ff is reached in music data
ld hl, Channel1Flags - Channel1
add hl, bc
- bit 1, [hl] ; in a subroutine?
+ bit SOUND_SUBROUTINE, [hl] ; in a subroutine?
jr nz, .readcommand ; execute
ld a, [CurChannel]
- cp a, $04 ; channels 0-3?
- jr nc, .asm_e8651
+ cp $4 ; channels 0-3?
+ jr nc, .chan_5to8
; ????
- ld hl, $00cb
+ ld hl, Channel5Flags - Channel1
add hl, bc
- bit 0, [hl]
+ bit SOUND_CHANNEL_ON, [hl]
jr nz, .ok
-.asm_e8651
+.chan_5to8
ld hl, Channel1Flags - Channel1
add hl, bc
- bit 5, [hl]
+ bit SOUND_REST, [hl]
call nz, RestoreVolume
; end music
ld a, [CurChannel]
- cp a, $04 ; channel 5?
+ cp $4 ; channel 5?
jr nz, .ok
; ????
xor a
@@ -1198,11 +1249,11 @@
; turn channel off
ld hl, Channel1Flags - Channel1
add hl, bc
- res 0, [hl]
+ res SOUND_CHANNEL_ON, [hl]
; note = rest
ld hl, Channel1NoteFlags - Channel1
add hl, bc
- set 5, [hl]
+ set NOTE_REST, [hl]
; clear music id & bank
ld hl, Channel1MusicID - Channel1
add hl, bc
@@ -1211,12 +1262,13 @@
ld [hli], a ; id lo
ld [hli], a ; bank
ret
+
; e8679
RestoreVolume: ; e8679
; ch5 only
ld a, [CurChannel]
- cp a, $04
+ cp $4
ret nz
xor a
ld hl, Channel6CryPitch
@@ -1231,6 +1283,7 @@
ld [LastVolume], a
ld [SFXPriority], a
ret
+
; e8698
Functione8698: ; e8698
@@ -1237,7 +1290,7 @@
; turn noise sampling on
ld hl, Channel1NoteFlags - Channel1
add hl, bc
- set 4, [hl] ; noise sample
+ set NOTE_UNKN_4, [hl] ; noise sample
; update note duration
ld a, [CurMusicByte]
call SetNoteDuration ; top nybble doesnt matter?
@@ -1253,8 +1306,8 @@
ld [hl], a
; are we on the last channel? (noise sampling)
ld a, [CurChannel]
- and a, $03
- cp a, $03
+ and $3
+ cp $3
ret z
; update hi frequency from next param
call GetMusicByte
@@ -1262,6 +1315,7 @@
add hl, bc
ld [hl], a
ret
+
; e86c5
GetNoiseSample: ; e86c5
@@ -1268,13 +1322,13 @@
; load ptr to sample header in NoiseSampleAddress
; are we on the last channel?
ld a, [CurChannel]
- and a, $03
- cp a, $03
+ and $3
+ cp $3
; ret if not
ret nz
; update note duration
ld a, [CurMusicByte]
- and a, $0f
+ and $f
call SetNoteDuration
; check current channel
ld a, [CurChannel]
@@ -1281,16 +1335,17 @@
bit 2, a ; are we in a sfx channel?
jr nz, .sfx
ld hl, Channel8Flags
- bit 0, [hl] ; is ch8 on? (noise)
+ bit SOUND_CHANNEL_ON, [hl] ; is ch8 on? (noise)
ret nz
ld a, [MusicNoiseSampleSet]
jr .next
+
.sfx
ld a, [SFXNoiseSampleSet]
.next
; load noise sample set id into de
ld e, a
- ld d, $00
+ ld d, 0
; load ptr to noise sample set in hl
ld hl, Drumkits
rept 2
@@ -1303,11 +1358,11 @@
ld a, [CurMusicByte]
swap a
; non-rest note?
- and a, $0f
+ and $f
ret z
; use 'pitch' to seek noise sample set
ld e, a
- ld d, $00
+ ld d, 0
rept 2
add hl, de
endr
@@ -1318,8 +1373,9 @@
ld [NoiseSampleAddressHi], a
; clear ????
xor a
- ld [wc2a2], a
+ ld [wNoiseSampleDelay], a
ret
+
; e870f
ParseMusicCommand: ; e870f
@@ -1328,7 +1384,7 @@
; get command #
sub a, $d0 ; first command
ld e, a
- ld d, $00
+ ld d, 0
; seek command pointer
ld hl, MusicCommands
rept 2
@@ -1339,44 +1395,45 @@
ld h, [hl]
ld l, a
jp [hl]
+
; e8720
MusicCommands: ; e8720
; pointer to each command in order
; octaves
- dw MusicD0 ; octave 8
- dw MusicD1 ; octave 7
- dw MusicD2 ; octave 6
- dw MusicD3 ; octave 5
- dw MusicD4 ; octave 4
- dw MusicD5 ; octave 3
- dw MusicD6 ; octave 2
- dw MusicD7 ; octave 1
- dw MusicD8 ; note length + intensity
- dw MusicD9 ; set starting octave
- dw MusicDA ; tempo
- dw MusicDB ; duty cycle
- dw MusicDC ; intensity
- dw MusicDD ; update sound status
+ dw Music_Octave8 ; octave 8
+ dw Music_Octave7 ; octave 7
+ dw Music_Octave6 ; octave 6
+ dw Music_Octave5 ; octave 5
+ dw Music_Octave4 ; octave 4
+ dw Music_Octave3 ; octave 3
+ dw Music_Octave2 ; octave 2
+ dw Music_Octave1 ; octave 1
+ dw Music_NoteType ; note length + intensity
+ dw Music_ForceOctave ; set starting octave
+ dw Music_Tempo ; tempo
+ dw Music_DutyCycle ; duty cycle
+ dw Music_Intensity ; intensity
+ dw Music_SoundStatus ; update sound status
dw MusicDE ; ???? + duty cycle
- dw MusicDF ;
+ dw Music_ToggleSFX ;
dw MusicE0 ;
- dw MusicE1 ; vibrato
- dw MusicE2 ;
- dw MusicE3 ; music noise sampling
- dw MusicE4 ; force panning
- dw MusicE5 ; volume
- dw MusicE6 ; tune
- dw MusicE7 ;
- dw MusicE8 ;
- dw MusicE9 ; global tempo
- dw MusicEA ; restart current channel from header
- dw MusicEB ; new song
- dw MusicEC ; sfx priority on
- dw MusicED ; sfx priority off
- dw MusicEE ;
- dw MusicEF ; stereo panning
- dw MusicF0 ; sfx noise sampling
+ dw Music_Vibrato ; vibrato
+ dw MusicE2 ; unused
+ dw Music_ToggleNoise ; music noise sampling
+ dw Music_Panning ; force panning
+ dw Music_Volume ; volume
+ dw Music_Tone ; tune
+ dw MusicE7 ; unused
+ dw MusicE8 ; unused
+ dw Music_TempoRelative ; global tempo
+ dw Music_RestartChannel ; restart current channel from header
+ dw Music_NewSong ; new song
+ dw Music_SFXPriorityOn ; sfx priority on
+ dw Music_SFXPriorityOff ; sfx priority off
+ dw MusicEE ; unused
+ dw Music_StereoPanning ; stereo panning
+ dw Music_SFXToggleNoise ; sfx noise sampling
dw MusicF1 ; nothing
dw MusicF2 ; nothing
dw MusicF3 ; nothing
@@ -1385,13 +1442,13 @@
dw MusicF6 ; nothing
dw MusicF7 ; nothing
dw MusicF8 ; nothing
- dw MusicF9 ;
- dw MusicFA ;
- dw MusicFB ;
- dw MusicFC ; jump
- dw MusicFD ; loop
- dw MusicFE ; call
- dw MusicFF ; return
+ dw MusicF9 ; unused
+ dw Music_SetCondition ;
+ dw Music_JumpIf ;
+ dw Music_JumpChannel ; jump
+ dw Music_LoopChannel ; loop
+ dw Music_CallChannel ; call
+ dw Music_EndChannel ; return
; e8780
MusicF1: ; e8780
@@ -1403,9 +1460,10 @@
MusicF7: ; e8780
MusicF8: ; e8780
ret
+
; e8781
-MusicFF: ; e8781
+Music_EndChannel: ; e8781
; called when $ff is encountered w/ subroutine flag set
; end music stream
; return to caller of the subroutine
@@ -1412,7 +1470,7 @@
; reset subroutine flag
ld hl, Channel1Flags - Channel1
add hl, bc
- res 1, [hl]
+ res SOUND_SUBROUTINE, [hl]
; copy LastMusicAddress to MusicAddress
ld hl, Channel1LastMusicAddress - Channel1
add hl, bc
@@ -1425,9 +1483,10 @@
inc hl
ld [hl], d
ret
+
; e8796
-MusicFE: ; e8796
+Music_CallChannel: ; e8796
; call music stream (subroutine)
; parameters: ll hh ; pointer to subroutine
; get pointer from next 2 bytes
@@ -1457,11 +1516,12 @@
; set subroutine flag
ld hl, Channel1Flags - Channel1
add hl, bc
- set 1, [hl]
+ set SOUND_SUBROUTINE, [hl]
ret
+
; e87bc
-MusicFC: ; e87bc
+Music_JumpChannel: ; e87bc
; jump
; parameters: ll hh ; pointer
; get pointer from next 2 bytes
@@ -1475,9 +1535,10 @@
inc hl
ld [hl], d
ret
+
; e87cc
-MusicFD: ; e87cc
+Music_LoopChannel: ; e87cc
; loops xx - 1 times
; 00: infinite
; params: 3
@@ -1489,13 +1550,13 @@
call GetMusicByte
ld hl, Channel1Flags - Channel1
add hl, bc
- bit 2, [hl] ; has the loop been initiated?
+ bit SOUND_LOOPING, [hl] ; has the loop been initiated?
jr nz, .checkloop
and a ; loop counter 0 = infinite
jr z, .loop
; initiate loop
dec a
- set 2, [hl] ; set loop flag
+ set SOUND_LOOPING, [hl] ; set loop flag
ld hl, Channel1LoopCount - Channel1
add hl, bc
ld [hl], a ; store loop counter
@@ -1524,7 +1585,7 @@
; reset loop flag
ld hl, Channel1Flags - Channel1
add hl, bc
- res 2, [hl]
+ res SOUND_LOOPING, [hl]
; skip to next command
ld hl, Channel1MusicAddress - Channel1
add hl, bc
@@ -1537,9 +1598,10 @@
dec hl
ld [hl], e
ret
+
; e880e
-MusicFA: ; e880e
+Music_SetCondition: ; e880e
; set condition for a jump
; used with FB
; params: 1
@@ -1551,9 +1613,10 @@
add hl, bc
ld [hl], a
ret
+
; e8817
-MusicFB: ; e8817
+Music_JumpIf: ; e8817
; conditional jump
; used with FA
; params: 3
@@ -1584,6 +1647,7 @@
dec hl
ld [hl], e
ret
+
.jump
; jump to the new address
; get pointer
@@ -1598,6 +1662,7 @@
inc hl
ld [hl], d
ret
+
; e883e
MusicEE; e883e
@@ -1610,11 +1675,11 @@
; if ????, jump
; get channel
ld a, [CurChannel]
- and a, $03 ; ch0-3
+ and $3 ; ch0-3
ld e, a
- ld d, $00
- ; hl = wc2b8 + channel id
- ld hl, wc2b8
+ ld d, 0
+ ; hl = Channel1JumpCondition + channel id
+ ld hl, Channel1JumpCondition
add hl, de
; if set, jump
ld a, [hl]
@@ -1636,9 +1701,10 @@
dec hl
ld [hl], e
ret
+
.jump
; reset jump flag
- ld [hl], $00
+ ld [hl], 0
; de = pointer
call GetMusicByte
ld e, a
@@ -1651,6 +1717,7 @@
inc hl
ld [hl], d
ret
+
; e886d
MusicF9: ; e886d
@@ -1657,9 +1724,10 @@
; sets some flag
; seems to be unused
; params: 0
- ld a, $01
+ ld a, 1
ld [wc2b5], a
ret
+
; e8873
MusicE2: ; e8873
@@ -1666,16 +1734,17 @@
; seems to have been dummied out
; params: 1
call GetMusicByte
- ld hl, $002c
+ ld hl, Channel1Field0x2c - Channel1
add hl, bc
ld [hl], a
ld hl, Channel1Flags2 - Channel1
add hl, bc
- set 3, [hl]
+ set SOUND_UNKN_0B, [hl]
ret
+
; e8882
-MusicE1: ; e8882
+Music_Vibrato: ; e8882
; vibrato
; params: 2
; 1: [xx]
@@ -1687,11 +1756,11 @@
; set vibrato flag?
ld hl, Channel1Flags2 - Channel1
add hl, bc
- set 0, [hl]
+ set SOUND_VIBRATO, [hl]
; start at lower frequency (extent is positive)
ld hl, Channel1Flags3 - Channel1
add hl, bc
- res 0, [hl]
+ res SOUND_VIBRATO_DIR, [hl]
; get delay
call GetMusicByte
; update delay
@@ -1710,11 +1779,11 @@
add hl, bc
ld d, a
; get top nybble
- and a, $f0
+ and $f0
swap a
srl a ; halve
ld e, a
- adc a, $00 ; round up
+ adc a, 0; round up
swap a
or e
ld [hl], a
@@ -1723,12 +1792,13 @@
add hl, bc
; get bottom nybble
ld a, d
- and a, $0f
+ and $f
ld d, a
swap a
or d
ld [hl], a
ret
+
; e88bd
MusicE0: ; e88bd
@@ -1736,33 +1806,36 @@
; params: 2
call GetMusicByte
ld [wc297], a
+
call GetMusicByte
ld d, a
- and a, $0f
+ and $f
ld e, a
+
ld a, d
swap a
- and a, $0f
+ and $f
ld d, a
call GetFrequency
- ld hl, $0021
+ ld hl, Channel1Field0x21 - Channel1
add hl, bc
ld [hl], e
- ld hl, $0022
+ ld hl, Channel1Field0x22 - Channel1
add hl, bc
ld [hl], d
ld hl, Channel1Flags2 - Channel1
add hl, bc
- set 1, [hl]
+ set SOUND_UNKN_09, [hl]
ret
+
; e88e4
-MusicE6: ; e88e4
+Music_Tone: ; e88e4
; tone
; params: 2
ld hl, Channel1Flags2 - Channel1
add hl, bc
- set 4, [hl]
+ set SOUND_CRY_PITCH, [hl]
ld hl, Channel1CryPitch + 1 - Channel1
add hl, bc
call GetMusicByte
@@ -1770,19 +1843,21 @@
call GetMusicByte
ld [hl], a
ret
+
; e88f7
MusicE7: ; e88f7
-; shrug
+; unused
; params: 1
ld hl, Channel1Flags2 - Channel1
add hl, bc
- set 6, [hl]
+ set SOUND_UNKN_0E, [hl]
call GetMusicByte
- ld hl, $0029
+ ld hl, Channel1Field0x29 - Channel1
add hl, bc
ld [hl], a
ret
+
; e8906
MusicDE: ; e8906
@@ -1791,50 +1866,54 @@
;
ld hl, Channel1Flags2 - Channel1
add hl, bc
- set 2, [hl] ; duty cycle
+ set SOUND_DUTY, [hl] ; duty cycle
;
call GetMusicByte
rrca
rrca
- ld hl, $001c
+ ld hl, Channel1Field0x1c - Channel1
add hl, bc
ld [hl], a
; update duty cycle
- and a, $c0 ; only uses top 2 bits
+ and $c0 ; only uses top 2 bits
ld hl, Channel1DutyCycle - Channel1
add hl, bc
ld [hl], a
ret
+
; e891e
MusicE8: ; e891e
-; shrug
+; unused
; params: 1
ld hl, Channel1Flags2 - Channel1
add hl, bc
- set 5, [hl]
+ set SOUND_UNKN_0D, [hl]
call GetMusicByte
- ld hl, $002a
+ ld hl, Channel1Field0x2a - Channel1
add hl, bc
ld [hl], a
ret
+
; e892d
-MusicDF: ; e892d
+Music_ToggleSFX: ; e892d
; toggle something
; params: none
ld hl, Channel1Flags - Channel1
add hl, bc
- bit 3, [hl]
+ bit SOUND_SFX, [hl]
jr z, .on
- res 3, [hl]
+ res SOUND_SFX, [hl]
ret
+
.on
- set 3, [hl]
+ set SOUND_SFX, [hl]
ret
+
; e893b
-MusicE3: ; e893b
+Music_ToggleNoise: ; e893b
; toggle music noise sampling
; can't be used as a straight toggle since the param is not read from on->off
; params:
@@ -1843,20 +1922,22 @@
; check if noise sampling is on
ld hl, Channel1Flags - Channel1
add hl, bc
- bit 4, [hl]
+ bit SOUND_NOISE, [hl]
jr z, .on
; turn noise sampling off
- res 4, [hl]
+ res SOUND_NOISE, [hl]
ret
+
.on
; turn noise sampling on
- set 4, [hl]
+ set SOUND_NOISE, [hl]
call GetMusicByte
ld [MusicNoiseSampleSet], a
ret
+
; e894f
-MusicF0: ; e894f
+Music_SFXToggleNoise: ; e894f
; toggle sfx noise sampling
; params:
; on: 1
@@ -1864,39 +1945,42 @@
; check if noise sampling is on
ld hl, Channel1Flags - Channel1
add hl, bc
- bit 4, [hl]
+ bit SOUND_NOISE, [hl]
jr z, .on
; turn noise sampling off
- res 4, [hl]
+ res SOUND_NOISE, [hl]
ret
+
.on
; turn noise sampling on
- set 4, [hl]
+ set SOUND_NOISE, [hl]
call GetMusicByte
ld [SFXNoiseSampleSet], a
ret
+
; e8963
-MusicD8: ; e8963
+Music_NoteType: ; e8963
; note length
; # frames per 16th note
-; intensity: see MusicDC
+; intensity: see Music_Intensity
; params: 2
; note length
call GetMusicByte
- ld hl, $002d
+ ld hl, Channel1NoteLength - Channel1
add hl, bc
ld [hl], a
ld a, [CurChannel]
- and a, $03
- cp a, $03
+ and $3
+ cp CHAN4 ; CHAN8 & $3
ret z
; intensity
- call MusicDC
+ call Music_Intensity
ret
+
; e8977
-MusicDD: ; e8977
+Music_SoundStatus: ; e8977
; update sound status
; params: 1
call GetMusicByte
@@ -1903,24 +1987,26 @@
ld [SoundInput], a
ld hl, Channel1NoteFlags - Channel1
add hl, bc
- set 3, [hl]
+ set NOTE_UNKN_3, [hl]
ret
+
; e8984
-MusicDB: ; e8984
+Music_DutyCycle: ; e8984
; duty cycle
; params: 1
call GetMusicByte
rrca
rrca
- and a, $c0
+ and $c0
ld hl, Channel1DutyCycle - Channel1
add hl, bc
ld [hl], a
ret
+
; e8991
-MusicDC: ; e8991
+Music_Intensity: ; e8991
; intensity
; params: 1
; hi: pressure
@@ -1930,9 +2016,10 @@
add hl, bc
ld [hl], a
ret
+
; e899a
-MusicDA: ; e899a
+Music_Tempo: ; e899a
; global tempo
; params: 2
; de: tempo
@@ -1942,16 +2029,17 @@
ld e, a
call SetGlobalTempo
ret
+
; e89a6
-MusicD0: ; e89a6
-MusicD1: ; e89a6
-MusicD2: ; e89a6
-MusicD3: ; e89a6
-MusicD4: ; e89a6
-MusicD5: ; e89a6
-MusicD6: ; e89a6
-MusicD7: ; e89a6
+Music_Octave8: ; e89a6
+Music_Octave7: ; e89a6
+Music_Octave6: ; e89a6
+Music_Octave5: ; e89a6
+Music_Octave4: ; e89a6
+Music_Octave3: ; e89a6
+Music_Octave2: ; e89a6
+Music_Octave1: ; e89a6
; set octave based on lo nybble of the command
ld hl, Channel1Octave - Channel1
add hl, bc
@@ -1959,9 +2047,10 @@
and 7
ld [hl], a
ret
+
; e89b1
-MusicD9: ; e89b1
+Music_ForceOctave: ; e89b1
; set starting octave
; this forces all notes up by the starting octave
; params: 1
@@ -1970,21 +2059,23 @@
add hl, bc
ld [hl], a
ret
+
; e89ba
-MusicEF: ; e89ba
+Music_StereoPanning: ; e89ba
; stereo panning
; params: 1
; stereo on?
ld a, [Options]
bit 5, a ; stereo
- jr nz, MusicE4
+ jr nz, Music_Panning
; skip param
call GetMusicByte
ret
+
; e89c5
-MusicE4: ; e89c5
+Music_Panning: ; e89c5
; force panning
; params: 1
call SetLRTracks
@@ -1994,9 +2085,10 @@
and [hl]
ld [hl], a
ret
+
; e89d2
-MusicE5: ; e89d2
+Music_Volume: ; e89d2
; set volume
; params: 1
; see Volume
@@ -2011,21 +2103,23 @@
; set volume
ld [Volume], a
ret
+
; e89e1
-MusicE9: ; e89e1
+Music_TempoRelative: ; e89e1
; set global tempo to current channel tempo +- param
; params: 1 signed
call GetMusicByte
ld e, a
; check sign
- cp a, $80
+ cp $80
jr nc, .negative
;positive
- ld d, $00
+ ld d, 0
jr .ok
+
.negative
- ld d, $ff
+ ld d, -1
.ok
ld hl, Channel1Tempo - Channel1
add hl, bc
@@ -2037,25 +2131,28 @@
ld d, h
call SetGlobalTempo
ret
+
; e89fd
-MusicEC: ; e89fd
+Music_SFXPriorityOn: ; e89fd
; turn sfx priority on
; params: none
- ld a, $01
+ ld a, 1
ld [SFXPriority], a
ret
+
; e8a03
-MusicED: ; e8a03
+Music_SFXPriorityOff: ; e8a03
; turn sfx priority off
; params: none
xor a
ld [SFXPriority], a
ret
+
; e8a08
-MusicEA: ; e8a08
+Music_RestartChannel: ; e8a08
; restart current channel from channel header (same bank)
; params: 2 (5)
; ll hh: pointer to new channel header
@@ -2088,9 +2185,10 @@
call StartChannel
pop bc ; restore current channel
ret
+
; e8a30
-MusicEB: ; e8a30
+Music_NewSong: ; e8a30
; new song
; params: 2
; de: song id
@@ -2102,6 +2200,7 @@
call _PlayMusic
pop bc
ret
+
; e8a3e
GetMusicByte: ; e8a3e
@@ -2135,6 +2234,7 @@
; store channeldata in a
ld a, [CurMusicByte]
ret
+
; e8a5d
GetFrequency: ; e8a5d
@@ -2151,7 +2251,7 @@
add hl, bc
ld a, [hl]
swap a ; hi nybble
- and a, $0f
+ and $f
; add current octave
add d
push af ; we'll use this later
@@ -2159,10 +2259,10 @@
ld hl, Channel1StartingOctave - Channel1
add hl, bc
ld a, [hl]
- and a, $0f ; lo nybble
+ and $f ; lo nybble
;
ld l, a ; ok
- ld d, $00
+ ld d, 0
ld h, d
add hl, de ; add current pitch
add hl, hl ; skip 2 bytes for each
@@ -2173,9 +2273,10 @@
ld d, [hl]
; get our octave
pop af
+ ; shift right by [7 - octave] bits
.loop
; [7 - octave] loops
- cp a, $07
+ cp $7
jr nc, .ok
; sra de
sra d
@@ -2182,11 +2283,13 @@
rr e
inc a
jr .loop
+
.ok
ld a, d
- and a, $07 ; top 3 bits for frequency (11 total)
+ and $7 ; top 3 bits for frequency (11 total)
ld d, a
ret
+
; e8a8d
SetNoteDuration: ; e8a8d
@@ -2194,14 +2297,14 @@
; store delay units in de
inc a
ld e, a
- ld d, $00
+ ld d, 0
; store NoteLength in a
ld hl, Channel1NoteLength - Channel1
add hl, bc
ld a, [hl]
; multiply NoteLength by delay units
- ld l, $00 ; just multiply
- call MultiplySimple
+ ld l, 0; just multiply
+ call .Multiply
ld a, l ; % $100
; store Tempo in de
ld hl, Channel1Tempo - Channel1
@@ -2210,16 +2313,16 @@
inc hl
ld d, [hl]
; add ???? to the next result
- ld hl, $0016
+ ld hl, Channel1Field0x16 - Channel1
add hl, bc
ld l, [hl]
; multiply Tempo by last result (NoteLength * delay % $100)
- call MultiplySimple
+ call .Multiply
; copy result to de
ld e, l
ld d, h
; store result in ????
- ld hl, $0016
+ ld hl, Channel1Field0x16 - Channel1
add hl, bc
ld [hl], e
; store result in NoteDuration
@@ -2227,13 +2330,14 @@
add hl, bc
ld [hl], d
ret
+
; e8ab8
-MultiplySimple: ; e8ab8
+.Multiply: ; e8ab8
; multiplies a and de
; adds the result to l
; stores the result in hl
- ld h, $00
+ ld h, 0
.loop
; halve a
srl a
@@ -2249,6 +2353,7 @@
and a
jr nz, .loop
ret
+
; e8ac7
SetGlobalTempo: ; e8ac7
@@ -2255,32 +2360,34 @@
push bc ; save current channel
; are we dealing with music or sfx?
ld a, [CurChannel]
- cp a, $04
+ cp CHAN5
jr nc, .sfxchannels
ld bc, Channel1
- call SetTempo
+ call Tempo
ld bc, Channel2
- call SetTempo
+ call Tempo
ld bc, Channel3
- call SetTempo
+ call Tempo
ld bc, Channel4
- call SetTempo
+ call Tempo
jr .end
+
.sfxchannels
ld bc, Channel5
- call SetTempo
+ call Tempo
ld bc, Channel6
- call SetTempo
+ call Tempo
ld bc, Channel7
- call SetTempo
+ call Tempo
ld bc, Channel8
- call SetTempo
+ call Tempo
.end
pop bc ; restore current channel
ret
+
; e8b03
-SetTempo: ; e8b03
+Tempo: ; e8b03
; input:
; de: note length
; update Tempo
@@ -2291,10 +2398,11 @@
ld [hl], d
; clear ????
xor a
- ld hl, $0016
+ ld hl, Channel1Field0x16 - Channel1
add hl, bc
ld [hl], a
ret
+
; e8b11
StartChannel: ; e8b11
@@ -2301,8 +2409,9 @@
call SetLRTracks
ld hl, Channel1Flags - Channel1
add hl, bc
- set 0, [hl] ; turn channel on
+ set SOUND_CHANNEL_ON, [hl] ; turn channel on
ret
+
; e8b1b
SetLRTracks: ; e8b1b
@@ -2311,9 +2420,9 @@
push de
; store current channel in de
ld a, [CurChannel]
- and a, $03
+ and $3
ld e, a
- ld d, $00
+ ld d, 0
; get this channel's lr tracks
call GetLRTracks
add hl, de ; de = channel 0-3
@@ -2324,6 +2433,7 @@
ld [hl], a
pop de
ret
+
; e8b30
_PlayMusic:: ; e8b30
@@ -2332,7 +2442,7 @@
ld hl, MusicID
ld [hl], e ; song number
inc hl
- ld [hl], d ; MusicIDHi (always $00)
+ ld [hl], d ; MusicIDHi (always $)
ld hl, Music
add hl, de ; three
add hl, de ; byte
@@ -2345,7 +2455,7 @@
call LoadMusicByte ; store first byte of music header in a
rlca
rlca
- and a, $03 ; get number of channels
+ and $3 ; get number of channels
inc a
.loop
; start playing channels
@@ -2357,16 +2467,17 @@
jr nz, .loop
xor a
ld [wc2b5], a
- ld [wc2b8], a
- ld [wc2b9], a
- ld [wc2ba], a
- ld [wc2bb], a
+ ld [Channel1JumpCondition], a
+ ld [Channel2JumpCondition], a
+ ld [Channel3JumpCondition], a
+ ld [Channel4JumpCondition], a
ld [NoiseSampleAddressLo], a
ld [NoiseSampleAddressHi], a
- ld [wc2a2], a
+ ld [wNoiseSampleDelay], a
ld [MusicNoiseSampleSet], a
call MusicOn
ret
+
; e8b79
_PlayCryHeader:: ; e8b79
@@ -2400,7 +2511,7 @@
; Top 2 bits contain the number of channels
rlca
rlca
- and a, 3
+ and 3
; For each channel:
inc a
@@ -2410,11 +2521,11 @@
ld hl, Channel1Flags - Channel1
add hl, bc
- set 5, [hl]
+ set SOUND_REST, [hl]
ld hl, Channel1Flags2 - Channel1
add hl, bc
- set 4, [hl]
+ set SOUND_CRY_PITCH, [hl]
ld hl, Channel1CryPitch - Channel1
add hl, bc
@@ -2425,7 +2536,7 @@
; No tempo for channel 4
ld a, [CurChannel]
- and a, 3
+ and 3
cp 3
jr nc, .start
@@ -2438,7 +2549,7 @@
ld [hl], a
.start
call StartChannel
- ld a, [wc2bc]
+ ld a, [wStereoPanningMask]
and a
jr z, .next
@@ -2454,7 +2565,7 @@
add hl, bc
ld a, [hl]
ld hl, CryTracks
- and a, [hl]
+ and [hl]
ld hl, Channel1Tracks - Channel1
add hl, bc
ld [hl], a
@@ -2480,6 +2591,7 @@
ld [SFXPriority], a
call MusicOn
ret
+
; e8c04
_PlaySFX:: ; e8c04
@@ -2486,12 +2598,12 @@
; clear channels if they aren't already
call MusicOff
ld hl, Channel5Flags
- bit 0, [hl] ; ch5 on?
+ bit SOUND_CHANNEL_ON, [hl] ; ch5 on?
jr z, .ch6
- res 0, [hl] ; turn it off
+ res SOUND_CHANNEL_ON, [hl] ; turn it off
xor a
ld [rNR11], a ; length/wavepattern = 0
- ld a, $08
+ ld a, $8
ld [rNR12], a ; envelope = 0
xor a
ld [rNR13], a ; frequency lo = 0
@@ -2502,12 +2614,12 @@
ld [rNR10], a ; sweep = 0
.ch6
ld hl, Channel6Flags
- bit 0, [hl]
+ bit SOUND_CHANNEL_ON, [hl]
jr z, .ch7
- res 0, [hl] ; turn it off
+ res SOUND_CHANNEL_ON, [hl] ; turn it off
xor a
ld [rNR21], a ; length/wavepattern = 0
- ld a, $08
+ ld a, $8
ld [rNR22], a ; envelope = 0
xor a
ld [rNR23], a ; frequency lo = 0
@@ -2515,13 +2627,13 @@
ld [rNR24], a ; restart sound (freq hi = 0)
.ch7
ld hl, Channel7Flags
- bit 0, [hl]
+ bit SOUND_CHANNEL_ON, [hl]
jr z, .ch8
- res 0, [hl] ; turn it off
+ res SOUND_CHANNEL_ON, [hl] ; turn it off
xor a
ld [rNR30], a ; sound mode #3 off
ld [rNR31], a ; length/wavepattern = 0
- ld a, $08
+ ld a, $8
ld [rNR32], a ; envelope = 0
xor a
ld [rNR33], a ; frequency lo = 0
@@ -2529,12 +2641,12 @@
ld [rNR34], a ; restart sound (freq hi = 0)
.ch8
ld hl, Channel8Flags
- bit 0, [hl]
+ bit SOUND_CHANNEL_ON, [hl]
jr z, .chscleared
- res 0, [hl] ; turn it off
+ res SOUND_CHANNEL_ON, [hl] ; turn it off
xor a
ld [rNR41], a ; length/wavepattern = 0
- ld a, $08
+ ld a, $8
ld [rNR42], a ; envelope = 0
xor a
ld [rNR43], a ; frequency lo = 0
@@ -2564,7 +2676,7 @@
call LoadMusicByte
rlca ; top 2
rlca ; bits
- and a, $03
+ and $3
inc a ; # channels -> # loops
.startchannels
push af
@@ -2571,7 +2683,7 @@
call LoadChannel ; bc = current channel
ld hl, Channel1Flags - Channel1
add hl, bc
- set 3, [hl]
+ set SOUND_SFX, [hl]
call StartChannel
pop af
dec a
@@ -2580,6 +2692,7 @@
xor a
ld [SFXPriority], a
ret
+
; e8ca6
@@ -2626,7 +2739,7 @@
ld hl, Channel1Flags - Channel1
add hl, bc
- set 3, [hl]
+ set SOUND_SFX, [hl]
push de
; get tracks for this channel
@@ -2633,11 +2746,11 @@
ld a, [CurChannel]
and 3 ; ch1-4
ld e, a
- ld d, $0
+ ld d, 0
call GetLRTracks
add hl, de
ld a, [hl]
- ld hl, wc2bc
+ ld hl, wStereoPanningMask
and [hl]
ld hl, Channel1Tracks - Channel1
@@ -2644,36 +2757,36 @@
add hl, bc
ld [hl], a
- ld hl, $0030 ; $c131 - Channel1
+ ld hl, Channel1Field0x30 - Channel1 ; $c131 - Channel1
add hl, bc
ld [hl], a
ld a, [CryTracks]
cp 2 ; ch 1-2
- jr c, .asm_e8d0c
+ jr c, .skip
; ch3-4
- ld a, [wc2be]
+ ld a, [wSFXDuration]
- ld hl, $002e ; $c12f - Channel1
+ ld hl, Channel1Field0x2e - Channel1 ; $c12f - Channel1
add hl, bc
ld [hl], a
- ld hl, $002f ; $c130 - Channel1
+ ld hl, Channel1Field0x2f - Channel1 ; $c130 - Channel1
add hl, bc
ld [hl], a
ld hl, Channel1Flags2 - Channel1
add hl, bc
- set 7, [hl]
+ set SOUND_UNKN_0F, [hl]
-.asm_e8d0c
+.skip
pop de
; turn channel on
ld hl, Channel1Flags - Channel1
add hl, bc
- set 0, [hl] ; on
+ set SOUND_CHANNEL_ON, [hl] ; on
; done?
pop af
@@ -2683,6 +2796,7 @@
; we're done
call MusicOn
ret
+
; e8d1b
@@ -2693,10 +2807,10 @@
; get pointer to current channel
call LoadMusicByte
inc de
- and a, $07 ; bit 0-2 (current channel)
+ and $7 ; bit 0-2 (current channel)
ld [CurChannel], a
ld c, a
- ld b, $00
+ ld b, 0
ld hl, ChannelPointers
rept 2
add hl, bc
@@ -2706,7 +2820,7 @@
ld b, [hl] ; bc = channel pointer
ld hl, Channel1Flags - Channel1
add hl, bc
- res 0, [hl] ; channel off
+ res SOUND_CHANNEL_ON, [hl] ; channel off
call ChannelInit
; load music pointer
ld hl, Channel1MusicAddress - Channel1
@@ -2730,6 +2844,7 @@
ld a, [MusicBank]
ld [hl], a
ret
+
; e8d5b
ChannelInit: ; e8d5b
@@ -2755,12 +2870,13 @@
ld [hli], a
inc a
ld [hl], a
- ; set note length to default ($01) (fast)
+ ; set note length to default ($1) (fast)
ld hl, Channel1NoteLength - Channel1
add hl, bc
ld [hl], a
pop de
ret
+
; e8d76
LoadMusicByte:: ; e8d76
@@ -2772,6 +2888,7 @@
call _LoadMusicByte
ld a, [CurMusicByte]
ret
+
; e8d80
FrequencyTable: ; e8d80
@@ -2805,16 +2922,16 @@
WaveSamples: ; e8db2
; these are streams of 32 4-bit values used as wavepatterns
; nothing interesting here!
- db $02, $46, $8a, $ce, $ff, $fe, $ed, $dc, $cb, $a9, $87, $65, $44, $33, $22, $11
- db $02, $46, $8a, $ce, $ef, $ff, $fe, $ee, $dd, $cb, $a9, $87, $65, $43, $22, $11
- db $13, $69, $bd, $ee, $ee, $ff, $ff, $ed, $de, $ff, $ff, $ee, $ee, $db, $96, $31
- db $02, $46, $8a, $cd, $ef, $fe, $de, $ff, $ee, $dc, $ba, $98, $76, $54, $32, $10
- db $01, $23, $45, $67, $8a, $cd, $ee, $f7, $7f, $ee, $dc, $a8, $76, $54, $32, $10
- db $00, $11, $22, $33, $44, $33, $22, $11, $ff, $ee, $cc, $aa, $88, $aa, $cc, $ee
- db $02, $46, $8a, $ce, $cb, $a9, $87, $65, $ff, $fe, $ed, $dc, $44, $33, $22, $11
- db $c0, $a9, $87, $f5, $ff, $fe, $ed, $dc, $44, $33, $22, $f1, $02, $46, $8a, $ce
- db $44, $33, $22, $1f, $00, $46, $8a, $ce, $f8, $fe, $ed, $dc, $cb, $a9, $87, $65
- db $11, $00, $00, $08, $00, $13, $57, $9a, $b4, $ba, $a9, $98, $87, $65, $43, $21
+ dn 0, 2, 4, 6, 8, 10, 12, 14, 15, 15, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 4, 3, 3, 2, 2, 1, 1
+ dn 0, 2, 4, 6, 8, 10, 12, 14, 14, 15, 15, 15, 15, 14, 14, 14, 13, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 1, 1
+ dn 1, 3, 6, 9, 11, 13, 14, 14, 14, 14, 15, 15, 15, 15, 14, 13, 13, 14, 15, 15, 15, 15, 14, 14, 14, 14, 13, 11, 9, 6, 3, 1
+ dn 0, 2, 4, 6, 8, 10, 12, 13, 14, 15, 15, 14, 13, 14, 15, 15, 14, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
+ dn 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 14, 15, 7, 7, 15, 14, 14, 13, 12, 10, 8, 7, 6, 5, 4, 3, 2, 1, 0
+ dn 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 2, 2, 1, 1, 15, 15, 14, 14, 12, 12, 10, 10, 8, 8, 10, 10, 12, 12, 14, 14
+ dn 0, 2, 4, 6, 8, 10, 12, 14, 12, 11, 10, 9, 8, 7, 6, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 1, 1
+ dn 12, 0, 10, 9, 8, 7, 15, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 15, 1, 0, 2, 4, 6, 8, 10, 12, 14
+ dn 4, 4, 3, 3, 2, 2, 1, 15, 0, 0, 4, 6, 8, 10, 12, 14, 15, 8, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5
+ dn 1, 1, 0, 0, 0, 0, 0, 8, 0, 0, 1, 3, 5, 7, 9, 10, 11, 4, 11, 10, 10, 9, 9, 8, 8, 7, 6, 5, 4, 3, 2, 1
; e8e52
Drumkits: ; e8e52
@@ -2914,209 +3031,209 @@
Drum00: ; e8efa
; unused
- noise $20, $11, $00
- db $ff ; end
+ noise C#, 1, $11, $00
+ endchannel
; e8efe
Snare1: ; e8efe
- noise $20, $c1, $33
- db $ff ; end
+ noise C#, 1, $c1, $33
+ endchannel
; e8f02
Snare2: ; e8f02
- noise $20, $b1, $33
- db $ff ; end
+ noise C#, 1, $b1, $33
+ endchannel
; e8f06
Snare3: ; e8f06
- noise $20, $a1, $33
- db $ff ; end
+ noise C#, 1, $a1, $33
+ endchannel
; e8f0a
Snare4: ; e8f0a
- noise $20, $81, $33
- db $ff ; end
+ noise C#, 1, $81, $33
+ endchannel
; e8f0e
Drum05: ; e8f0e
- noise $27, $84, $37
- noise $26, $84, $36
- noise $25, $83, $35
- noise $24, $83, $34
- noise $23, $82, $33
- noise $22, $81, $32
- db $ff ; end
+ noise C#, 8, $84, $37
+ noise C#, 7, $84, $36
+ noise C#, 6, $83, $35
+ noise C#, 5, $83, $34
+ noise C#, 4, $82, $33
+ noise C#, 3, $81, $32
+ endchannel
; e8f21
Triangle1: ; e8f21
- noise $20, $51, $2a
- db $ff ; end
+ noise C#, 1, $51, $2a
+ endchannel
; e8f25
Triangle2: ; e8f25
- noise $21, $41, $2b
- noise $20, $61, $2a
- db $ff ; end
+ noise C#, 2, $41, $2b
+ noise C#, 1, $61, $2a
+ endchannel
; e8f2c
HiHat1: ; e8f2c
- noise $20, $81, $10
- db $ff ; end
+ noise C#, 1, $81, $10
+ endchannel
; e8f30
Snare5: ; e8f30
- noise $20, $82, $23
- db $ff ; end
+ noise C#, 1, $82, $23
+ endchannel
; e8f34
Snare6: ; e8f34
- noise $20, $82, $25
- db $ff ; end
+ noise C#, 1, $82, $25
+ endchannel
; e8f38
Snare7: ; e8f38
- noise $20, $82, $26
- db $ff ; end
+ noise C#, 1, $82, $26
+ endchannel
; e8f3c
HiHat2: ; e8f3c
- noise $20, $a1, $10
- db $ff ; end
+ noise C#, 1, $a1, $10
+ endchannel
; e8f40
HiHat3: ; e8f40
- noise $20, $a2, $11
- db $ff ; end
+ noise C#, 1, $a2, $11
+ endchannel
; e8f44
Snare8: ; e8f44
- noise $20, $a2, $50
- db $ff ; end
+ noise C#, 1, $a2, $50
+ endchannel
; e8f48
Triangle3: ; e8f48
- noise $20, $a1, $18
- noise $20, $31, $33
- db $ff ; end
+ noise C#, 1, $a1, $18
+ noise C#, 1, $31, $33
+ endchannel
; e8f4f
Triangle4: ; e8f4f
- noise $22, $91, $28
- noise $20, $71, $18
- db $ff ; end
+ noise C#, 3, $91, $28
+ noise C#, 1, $71, $18
+ endchannel
; e8f56
Snare9: ; e8f56
- noise $20, $91, $22
- db $ff ; end
+ noise C#, 1, $91, $22
+ endchannel
; e8f5a
Snare10: ; e8f5a
- noise $20, $71, $22
- db $ff ; end
+ noise C#, 1, $71, $22
+ endchannel
; e8f5e
Snare11: ; e8f5e
- noise $20, $61, $22
- db $ff ; end
+ noise C#, 1, $61, $22
+ endchannel
; e8f62
Drum20: ; e8f62
- noise $20, $11, $11
- db $ff ; end
+ noise C#, 1, $11, $11
+ endchannel
; e8f66
Drum21: ; e8f66
- db $ff
+ endchannel
; e8f67
Snare12: ; e8f67
- noise $20, $91, $33
- db $ff ; end
+ noise C#, 1, $91, $33
+ endchannel
; e8f6b
Snare13: ; e8f6b
- noise $20, $51, $32
- db $ff ; end
+ noise C#, 1, $51, $32
+ endchannel
; e8f6f
Snare14: ; e8f6f
- noise $20, $81, $31
- db $ff ; end
+ noise C#, 1, $81, $31
+ endchannel
; e8f73
Kick1: ; e8f73
- noise $20, $88, $6b
- noise $20, $71, $00
- db $ff ; end
+ noise C#, 1, $88, $6b
+ noise C#, 1, $71, $00
+ endchannel
; e8f7a
Triangle5: ; e8f7a
- noise $30, $91, $18
- db $ff ; end
+ noise D_, 1, $91, $18
+ endchannel
; e8f7e
Drum27: ; e8f7e
- noise $27, $92, $10
- db $ff ; end
+ noise C#, 8, $92, $10
+ endchannel
; e8f82
Drum28: ; e8f82
- noise $33, $91, $00
- noise $33, $11, $00
- db $ff ; end
+ noise D_, 4, $91, $00
+ noise D_, 4, $11, $00
+ endchannel
; e8f89
Drum29: ; e8f89
- noise $33, $91, $11
- noise $33, $11, $00
- db $ff ; end
+ noise D_, 4, $91, $11
+ noise D_, 4, $11, $00
+ endchannel
; e8f90
Crash1: ; e8f90
- noise $33, $88, $15
- noise $20, $65, $12
- db $ff ; end
+ noise D_, 4, $88, $15
+ noise C#, 1, $65, $12
+ endchannel
; e8f97
Drum31: ; e8f97
- noise $33, $51, $21
- noise $33, $11, $11
- db $ff ; end
+ noise D_, 4, $51, $21
+ noise D_, 4, $11, $11
+ endchannel
; e8f9e
Drum32: ; e8f9e
- noise $33, $51, $50
- noise $33, $11, $11
- db $ff ; end
+ noise D_, 4, $51, $50
+ noise D_, 4, $11, $11
+ endchannel
; e8fa5
Drum33: ; e8fa5
- noise $20, $a1, $31
- db $ff ; end
+ noise C#, 1, $a1, $31
+ endchannel
; e8fa9
Crash2: ; e8fa9
- noise $20, $84, $12
- db $ff ; end
+ noise C#, 1, $84, $12
+ endchannel
; e8fad
Drum35: ; e8fad
- noise $33, $81, $00
- noise $33, $11, $00
- db $ff ; end
+ noise D_, 4, $81, $00
+ noise D_, 4, $11, $00
+ endchannel
; e8fb4
Drum36: ; e8fb4
- noise $33, $81, $21
- noise $33, $11, $11
- db $ff ; end
+ noise D_, 4, $81, $21
+ noise D_, 4, $11, $11
+ endchannel
; e8fbb
Kick2: ; e8fbb
- noise $20, $a8, $6b
- noise $20, $71, $00
- db $ff ; end
+ noise C#, 1, $a8, $6b
+ noise C#, 1, $71, $00
+ endchannel
; e8fc2
GetLRTracks: ; e8fc2
@@ -3128,9 +3245,11 @@
jr nz, .stereo
ld hl, MonoTracks
ret
+
.stereo
ld hl, StereoTracks
ret
+
; e8fd1
MonoTracks: ; e8fd1
@@ -3170,12 +3289,13 @@
ld a, $80
ld [hli], a
ld hl, rNR10
- ld e, $04
+ ld e, $4
.loop
call ClearChannel
dec e
jr nz, .loop
ret
+
; e8ffe
ClearChannel: ; e8ffe
@@ -3187,7 +3307,7 @@
ld [hli], a ; rNR10, rNR20, rNR30, rNR40 ; sweep = 0
ld [hli], a ; rNR11, rNR21, rNR31, rNR41 ; length/wavepattern = 0
- ld a, $08
+ ld a, $8
ld [hli], a ; rNR12, rNR22, rNR32, rNR42 ; envelope = 0
xor a
ld [hli], a ; rNR13, rNR23, rNR33, rNR43 ; frequency lo = 0
@@ -3194,4 +3314,5 @@
ld a, $80
ld [hli], a ; rNR14, rNR24, rNR34, rNR44 ; restart sound (freq hi = 0)
ret
+
; e900a
--- a/audio/music/aftertherivalfight.asm
+++ b/audio/music/aftertherivalfight.asm
@@ -1,8 +1,8 @@
Music_AfterTheRivalFight: ; f5127
- dbw $c0, Music_AfterTheRivalFight_Ch1
- dbw $01, Music_AfterTheRivalFight_Ch2
- dbw $02, Music_AfterTheRivalFight_Ch3
- dbw $03, Music_AfterTheRivalFight_Ch4
+ musicheader 4, 1, Music_AfterTheRivalFight_Ch1
+ musicheader 1, 2, Music_AfterTheRivalFight_Ch2
+ musicheader 1, 3, Music_AfterTheRivalFight_Ch3
+ musicheader 1, 4, Music_AfterTheRivalFight_Ch4
; f5133
Music_AfterTheRivalFight_Ch1: ; f5133
--- a/audio/music/azaleatown.asm
+++ b/audio/music/azaleatown.asm
@@ -1,8 +1,8 @@
Music_AzaleaTown: ; f57e8
- dbw $c0, Music_AzaleaTown_Ch1
- dbw $01, Music_AzaleaTown_Ch2
- dbw $02, Music_AzaleaTown_Ch3
- dbw $03, Music_AzaleaTown_Ch4
+ musicheader 4, 1, Music_AzaleaTown_Ch1
+ musicheader 1, 2, Music_AzaleaTown_Ch2
+ musicheader 1, 3, Music_AzaleaTown_Ch3
+ musicheader 1, 4, Music_AzaleaTown_Ch4
; f57f4
Music_AzaleaTown_Ch1: ; f57f4
--- a/audio/music/battletowerlobby.asm
+++ b/audio/music/battletowerlobby.asm
@@ -1,8 +1,8 @@
Music_BattleTowerLobby: ; 17948b
- dbw $c0, Music_BattleTowerLobby_Ch1
- dbw $01, Music_BattleTowerLobby_Ch2
- dbw $02, Music_BattleTowerLobby_Ch3
- dbw $03, Music_BattleTowerLobby_Ch4
+ musicheader 4, 1, Music_BattleTowerLobby_Ch1
+ musicheader 1, 2, Music_BattleTowerLobby_Ch2
+ musicheader 1, 3, Music_BattleTowerLobby_Ch3
+ musicheader 1, 4, Music_BattleTowerLobby_Ch4
; 179497
Music_BattleTowerLobby_Ch1: ; 179497
--- a/audio/music/battletowertheme.asm
+++ b/audio/music/battletowertheme.asm
@@ -1,8 +1,8 @@
Music_BattleTowerTheme: ; 178889
- dbw $c0, Music_BattleTowerTheme_Ch1
- dbw $01, Music_BattleTowerTheme_Ch2
- dbw $02, Music_BattleTowerTheme_Ch3
- dbw $03, Music_BattleTowerTheme_Ch4
+ musicheader 4, 1, Music_BattleTowerTheme_Ch1
+ musicheader 1, 2, Music_BattleTowerTheme_Ch2
+ musicheader 1, 3, Music_BattleTowerTheme_Ch3
+ musicheader 1, 4, Music_BattleTowerTheme_Ch4
; 178895
Music_BattleTowerTheme_Ch1: ; 178895
--- a/audio/music/bicycle.asm
+++ b/audio/music/bicycle.asm
@@ -1,8 +1,8 @@
Music_Bicycle: ; ee119
- dbw $c0, Music_Bicycle_Ch1
- dbw $01, Music_Bicycle_Ch2
- dbw $02, Music_Bicycle_Ch3
- dbw $03, Music_Bicycle_Ch4
+ musicheader 4, 1, Music_Bicycle_Ch1
+ musicheader 1, 2, Music_Bicycle_Ch2
+ musicheader 1, 3, Music_Bicycle_Ch3
+ musicheader 1, 4, Music_Bicycle_Ch4
; ee125
Music_Bicycle_Ch1: ; ee125
--- a/audio/music/buenaspassword.asm
+++ b/audio/music/buenaspassword.asm
@@ -1,8 +1,8 @@
Music_BuenasPassword: ; 178153
- dbw $c0, Music_BuenasPassword_Ch1
- dbw $01, Music_BuenasPassword_Ch2
- dbw $02, Music_BuenasPassword_Ch3
- dbw $03, Music_BuenasPassword_Ch4
+ musicheader 4, 1, Music_BuenasPassword_Ch1
+ musicheader 1, 2, Music_BuenasPassword_Ch2
+ musicheader 1, 3, Music_BuenasPassword_Ch3
+ musicheader 1, 4, Music_BuenasPassword_Ch4
; 17815f
Music_BuenasPassword_Ch1: ; 17815f
--- a/audio/music/bugcatchingcontest.asm
+++ b/audio/music/bugcatchingcontest.asm
@@ -1,8 +1,8 @@
Music_BugCatchingContest: ; f7c16
- dbw $c0, Music_BugCatchingContest_Ch1
- dbw $01, Music_BugCatchingContest_Ch2
- dbw $02, Music_BugCatchingContest_Ch3
- dbw $03, Music_BugCatchingContest_Ch4
+ musicheader 4, 1, Music_BugCatchingContest_Ch1
+ musicheader 1, 2, Music_BugCatchingContest_Ch2
+ musicheader 1, 3, Music_BugCatchingContest_Ch3
+ musicheader 1, 4, Music_BugCatchingContest_Ch4
; f7c22
Music_BugCatchingContest_Ch1: ; f7c22
--- a/audio/music/burnedtower.asm
+++ b/audio/music/burnedtower.asm
@@ -1,8 +1,8 @@
Music_BurnedTower: ; f6a99
- dbw $c0, Music_BurnedTower_Ch1
- dbw $01, Music_BurnedTower_Ch2
- dbw $02, Music_BurnedTower_Ch3
- dbw $03, Music_BurnedTower_Ch4
+ musicheader 4, 1, Music_BurnedTower_Ch1
+ musicheader 1, 2, Music_BurnedTower_Ch2
+ musicheader 1, 3, Music_BurnedTower_Ch3
+ musicheader 1, 4, Music_BurnedTower_Ch4
; f6aa5
Music_BurnedTower_Ch1: ; f6aa5
--- a/audio/music/celadoncity.asm
+++ b/audio/music/celadoncity.asm
@@ -1,7 +1,7 @@
Music_CeladonCity: ; f435b
- dbw $80, Music_CeladonCity_Ch1
- dbw $01, Music_CeladonCity_Ch2
- dbw $02, Music_CeladonCity_Ch3
+ musicheader 3, 1, Music_CeladonCity_Ch1
+ musicheader 1, 2, Music_CeladonCity_Ch2
+ musicheader 1, 3, Music_CeladonCity_Ch3
; f4364
Music_CeladonCity_Ch1: ; f4364
--- a/audio/music/championbattle.asm
+++ b/audio/music/championbattle.asm
@@ -1,7 +1,7 @@
Music_ChampionBattle: ; ea9c1
- dbw $80, Music_ChampionBattle_Ch1
- dbw $01, Music_ChampionBattle_Ch2
- dbw $02, Music_ChampionBattle_Ch3
+ musicheader 3, 1, Music_ChampionBattle_Ch1
+ musicheader 1, 2, Music_ChampionBattle_Ch2
+ musicheader 1, 3, Music_ChampionBattle_Ch3
; ea9ca
Music_ChampionBattle_Ch1: ; ea9ca
--- a/audio/music/cherrygrovecity.asm
+++ b/audio/music/cherrygrovecity.asm
@@ -1,8 +1,8 @@
Music_CherrygroveCity: ; f5b03
- dbw $c0, Music_CherrygroveCity_Ch1
- dbw $01, Music_CherrygroveCity_Ch2
- dbw $02, Music_CherrygroveCity_Ch3
- dbw $03, Music_CherrygroveCity_Ch4
+ musicheader 4, 1, Music_CherrygroveCity_Ch1
+ musicheader 1, 2, Music_CherrygroveCity_Ch2
+ musicheader 1, 3, Music_CherrygroveCity_Ch3
+ musicheader 1, 4, Music_CherrygroveCity_Ch4
; f5b0f
Music_CherrygroveCity_Ch1: ; f5b0f
--- a/audio/music/clair.asm
+++ b/audio/music/clair.asm
@@ -1,8 +1,8 @@
Music_Clair: ; 1fa8d
- dbw $c0, Music_Clair_Ch1
- dbw $01, Music_Clair_Ch2
- dbw $02, Music_Clair_Ch3
- dbw $03, Music_Clair_Ch4
+ musicheader 4, 1, Music_Clair_Ch1
+ musicheader 1, 2, Music_Clair_Ch2
+ musicheader 1, 3, Music_Clair_Ch3
+ musicheader 1, 4, Music_Clair_Ch4
; 1fa99
Music_Clair_Ch1: ; 1fa99
--- a/audio/music/contestresults.asm
+++ b/audio/music/contestresults.asm
@@ -1,8 +1,8 @@
Music_ContestResults: ; efb3e
- dbw $c0, Music_ContestResults_Ch1
- dbw $01, Music_ContestResults_Ch2
- dbw $02, Music_ContestResults_Ch3
- dbw $03, Music_ContestResults_Ch4
+ musicheader 4, 1, Music_ContestResults_Ch1
+ musicheader 1, 2, Music_ContestResults_Ch2
+ musicheader 1, 3, Music_ContestResults_Ch3
+ musicheader 1, 4, Music_ContestResults_Ch4
; efb4a
Music_ContestResults_Ch1: ; efb4a
--- a/audio/music/credits.asm
+++ b/audio/music/credits.asm
@@ -1,8 +1,8 @@
Music_Credits: ; 1f31c
- dbw $c0, Music_Credits_Ch1
- dbw $01, Music_Credits_Ch2
- dbw $02, Music_Credits_Ch3
- dbw $03, Music_Credits_Ch4
+ musicheader 4, 1, Music_Credits_Ch1
+ musicheader 1, 2, Music_Credits_Ch2
+ musicheader 1, 3, Music_Credits_Ch3
+ musicheader 1, 4, Music_Credits_Ch4
; 1f328
Music_Credits_Ch1: ; 1f328
--- a/audio/music/crystalopening.asm
+++ b/audio/music/crystalopening.asm
@@ -1,8 +1,8 @@
Music_CrystalOpening: ; 1786e8
- dbw $c0, Music_CrystalOpening_Ch1
- dbw $01, Music_CrystalOpening_Ch2
- dbw $02, Music_CrystalOpening_Ch3
- dbw $03, Music_CrystalOpening_Ch4
+ musicheader 4, 1, Music_CrystalOpening_Ch1
+ musicheader 1, 2, Music_CrystalOpening_Ch2
+ musicheader 1, 3, Music_CrystalOpening_Ch3
+ musicheader 1, 4, Music_CrystalOpening_Ch4
; 1786f4
Music_CrystalOpening_Ch1: ; 1786f4
--- a/audio/music/dancinghall.asm
+++ b/audio/music/dancinghall.asm
@@ -1,7 +1,7 @@
Music_DancingHall: ; ef9bc
- dbw $80, Music_DancingHall_Ch1
- dbw $01, Music_DancingHall_Ch2
- dbw $02, Music_DancingHall_Ch3
+ musicheader 3, 1, Music_DancingHall_Ch1
+ musicheader 1, 2, Music_DancingHall_Ch2
+ musicheader 1, 3, Music_DancingHall_Ch3
; ef9c5
db $3
--- a/audio/music/darkcave.asm
+++ b/audio/music/darkcave.asm
@@ -1,8 +1,8 @@
Music_DarkCave: ; ea2be
- dbw $c0, Music_DarkCave_Ch1
- dbw $01, Music_DarkCave_Ch2
- dbw $02, Music_DarkCave_Ch3
- dbw $03, Music_DarkCave_Ch4
+ musicheader 4, 1, Music_DarkCave_Ch1
+ musicheader 1, 2, Music_DarkCave_Ch2
+ musicheader 1, 3, Music_DarkCave_Ch3
+ musicheader 1, 4, Music_DarkCave_Ch4
; ea2ca
Music_DarkCave_Ch1: ; ea2ca
--- a/audio/music/dragonsden.asm
+++ b/audio/music/dragonsden.asm
@@ -1,8 +1,8 @@
Music_DragonsDen: ; eece8
- dbw $c0, Music_DragonsDen_Ch1
- dbw $01, Music_DragonsDen_Ch2
- dbw $02, Music_DragonsDen_Ch3
- dbw $03, Music_DragonsDen_Ch4
+ musicheader 4, 1, Music_DragonsDen_Ch1
+ musicheader 1, 2, Music_DragonsDen_Ch2
+ musicheader 1, 3, Music_DragonsDen_Ch3
+ musicheader 1, 4, Music_DragonsDen_Ch4
; eecf4
Music_DragonsDen_Ch1: ; eecf4
--- a/audio/music/ecruteakcity.asm
+++ b/audio/music/ecruteakcity.asm
@@ -1,7 +1,7 @@
Music_EcruteakCity: ; ef2d0
- dbw $80, Music_EcruteakCity_Ch1
- dbw $01, Music_EcruteakCity_Ch2
- dbw $02, Music_EcruteakCity_Ch3
+ musicheader 3, 1, Music_EcruteakCity_Ch1
+ musicheader 1, 2, Music_EcruteakCity_Ch2
+ musicheader 1, 3, Music_EcruteakCity_Ch3
; ef2d9
Music_EcruteakCity_Ch1: ; ef2d9
--- a/audio/music/elmslab.asm
+++ b/audio/music/elmslab.asm
@@ -1,8 +1,8 @@
Music_ElmsLab: ; ea040
- dbw $c0, Music_ElmsLab_Ch1
- dbw $01, Music_ElmsLab_Ch2
- dbw $02, Music_ElmsLab_Ch3
- dbw $03, Music_ElmsLab_Ch4
+ musicheader 4, 1, Music_ElmsLab_Ch1
+ musicheader 1, 2, Music_ElmsLab_Ch2
+ musicheader 1, 3, Music_ElmsLab_Ch3
+ musicheader 1, 4, Music_ElmsLab_Ch4
; ea04c
Music_ElmsLab_Ch1: ; ea04c
--- a/audio/music/evolution.asm
+++ b/audio/music/evolution.asm
@@ -1,8 +1,8 @@
Music_Evolution: ; f06e1
- dbw $c0, Music_Evolution_Ch1
- dbw $01, Music_Evolution_Ch2
- dbw $02, Music_Evolution_Ch3
- dbw $03, Music_Evolution_Ch4
+ musicheader 4, 1, Music_Evolution_Ch1
+ musicheader 1, 2, Music_Evolution_Ch2
+ musicheader 1, 3, Music_Evolution_Ch3
+ musicheader 1, 4, Music_Evolution_Ch4
; f06ed
Music_Evolution_Ch1: ; f06ed
@@ -13,13 +13,13 @@
dutycycle $2
notetype $c, $92
octave 3
- unknownmusic0xe0 $0, $4a
+ unknownmusic0xe0 $0, 4, A_
note C_, 1
- unknownmusic0xe0 $0, $4a
+ unknownmusic0xe0 $0, 4, A_
note G_, 1
- unknownmusic0xe0 $0, $4a
+ unknownmusic0xe0 $0, 4, A_
note C_, 1
- unknownmusic0xe0 $0, $4a
+ unknownmusic0xe0 $0, 4, A_
note G_, 1
note __, 4
dutycycle $3
--- a/audio/music/gamecorner.asm
+++ b/audio/music/gamecorner.asm
@@ -1,8 +1,8 @@
Music_GameCorner: ; edd6d
- dbw $c0, Music_GameCorner_Ch1
- dbw $01, Music_GameCorner_Ch2
- dbw $02, Music_GameCorner_Ch3
- dbw $03, Music_GameCorner_Ch4
+ musicheader 4, 1, Music_GameCorner_Ch1
+ musicheader 1, 2, Music_GameCorner_Ch2
+ musicheader 1, 3, Music_GameCorner_Ch3
+ musicheader 1, 4, Music_GameCorner_Ch4
; edd79
Music_GameCorner_Ch1: ; edd79
--- a/audio/music/goldenrodcity.asm
+++ b/audio/music/goldenrodcity.asm
@@ -1,8 +1,8 @@
Music_GoldenrodCity: ; eb453
- dbw $c0, Music_GoldenrodCity_Ch1
- dbw $01, Music_GoldenrodCity_Ch2
- dbw $02, Music_GoldenrodCity_Ch3
- dbw $03, Music_GoldenrodCity_Ch4
+ musicheader 4, 1, Music_GoldenrodCity_Ch1
+ musicheader 1, 2, Music_GoldenrodCity_Ch2
+ musicheader 1, 3, Music_GoldenrodCity_Ch3
+ musicheader 1, 4, Music_GoldenrodCity_Ch4
; eb45f
Music_GoldenrodCity_Ch1: ; eb45f
--- a/audio/music/goldsilveropening.asm
+++ b/audio/music/goldsilveropening.asm
@@ -1,7 +1,7 @@
Music_GoldSilverOpening: ; f7055
- dbw $80, Music_GoldSilverOpening_Ch1
- dbw $01, Music_GoldSilverOpening_Ch2
- dbw $02, Music_GoldSilverOpening_Ch3
+ musicheader 3, 1, Music_GoldSilverOpening_Ch1
+ musicheader 1, 2, Music_GoldSilverOpening_Ch2
+ musicheader 1, 3, Music_GoldSilverOpening_Ch3
; f705e
Music_GoldSilverOpening_Ch1: ; f705e
--- a/audio/music/goldsilveropening2.asm
+++ b/audio/music/goldsilveropening2.asm
@@ -1,8 +1,8 @@
Music_GoldSilverOpening2: ; f7308
- dbw $c0, Music_GoldSilverOpening2_Ch1
- dbw $01, Music_GoldSilverOpening2_Ch2
- dbw $02, Music_GoldSilverOpening2_Ch3
- dbw $03, Music_GoldSilverOpening2_Ch4
+ musicheader 4, 1, Music_GoldSilverOpening2_Ch1
+ musicheader 1, 2, Music_GoldSilverOpening2_Ch2
+ musicheader 1, 3, Music_GoldSilverOpening2_Ch3
+ musicheader 1, 4, Music_GoldSilverOpening2_Ch4
; f7314
Music_GoldSilverOpening2_Ch1: ; f7314
--- a/audio/music/gym.asm
+++ b/audio/music/gym.asm
@@ -1,8 +1,8 @@
Music_Gym: ; f48ae
- dbw $c0, Music_Gym_Ch1
- dbw $01, Music_Gym_Ch2
- dbw $02, Music_Gym_Ch3
- dbw $03, Music_Gym_Ch4
+ musicheader 4, 1, Music_Gym_Ch1
+ musicheader 1, 2, Music_Gym_Ch2
+ musicheader 1, 3, Music_Gym_Ch3
+ musicheader 1, 4, Music_Gym_Ch4
; f48ba
Music_Gym_Ch1: ; f48ba
--- a/audio/music/gymleadervictory.asm
+++ b/audio/music/gymleadervictory.asm
@@ -1,8 +1,8 @@
Music_GymLeaderVictory: ; f462c
- dbw $c0, Music_GymLeaderVictory_Ch1
- dbw $01, Music_GymLeaderVictory_Ch2
- dbw $02, Music_GymLeaderVictory_Ch3
- dbw $03, Music_GymLeaderVictory_Ch4
+ musicheader 4, 1, Music_GymLeaderVictory_Ch1
+ musicheader 1, 2, Music_GymLeaderVictory_Ch2
+ musicheader 1, 3, Music_GymLeaderVictory_Ch3
+ musicheader 1, 4, Music_GymLeaderVictory_Ch4
; f4638
Music_GymLeaderVictory_Ch1: ; f4638
--- a/audio/music/halloffame.asm
+++ b/audio/music/halloffame.asm
@@ -1,8 +1,8 @@
Music_HallOfFame: ; f05bf
- dbw $c0, Music_HallOfFame_Ch1
- dbw $01, Music_HallOfFame_Ch2
- dbw $02, Music_HallOfFame_Ch3
- dbw $03, Music_HallOfFame_Ch4
+ musicheader 4, 1, Music_HallOfFame_Ch1
+ musicheader 1, 2, Music_HallOfFame_Ch2
+ musicheader 1, 3, Music_HallOfFame_Ch3
+ musicheader 1, 4, Music_HallOfFame_Ch4
; f05cb
Music_HallOfFame_Ch1: ; f05cb
--- a/audio/music/healpokemon.asm
+++ b/audio/music/healpokemon.asm
@@ -1,7 +1,7 @@
Music_HealPokemon: ; f0697
- dbw $80, Music_HealPokemon_Ch1
- dbw $01, Music_HealPokemon_Ch2
- dbw $02, Music_HealPokemon_Ch3
+ musicheader 3, 1, Music_HealPokemon_Ch1
+ musicheader 1, 2, Music_HealPokemon_Ch2
+ musicheader 1, 3, Music_HealPokemon_Ch3
; f06a0
Music_HealPokemon_Ch1: ; f06a0
@@ -11,16 +11,16 @@
tone $0001
notetype $c, $81
note __, 2
- unknownmusic0xe0 $0, $40
+ unknownmusic0xe0 $0, 4, __
note B_, 2
- unknownmusic0xe0 $0, $55
+ unknownmusic0xe0 $0, 5, E_
note B_, 2
- unknownmusic0xe0 $0, $45
+ unknownmusic0xe0 $0, 4, E_
note E_, 2
note __, 4
- unknownmusic0xe0 $0, $30
+ unknownmusic0xe0 $0, 3, __
note E_, 4
- unknownmusic0xe0 $0, $40
+ unknownmusic0xe0 $0, 4, __
note B_, 4
endchannel
; f06c4
--- a/audio/music/indigoplateau.asm
+++ b/audio/music/indigoplateau.asm
@@ -1,8 +1,8 @@
Music_IndigoPlateau: ; ee852
- dbw $c0, Music_IndigoPlateau_Ch1
- dbw $01, Music_IndigoPlateau_Ch2
- dbw $02, Music_IndigoPlateau_Ch3
- dbw $03, Music_IndigoPlateau_Ch4
+ musicheader 4, 1, Music_IndigoPlateau_Ch1
+ musicheader 1, 2, Music_IndigoPlateau_Ch2
+ musicheader 1, 3, Music_IndigoPlateau_Ch3
+ musicheader 1, 4, Music_IndigoPlateau_Ch4
; ee85e
Music_IndigoPlateau_Ch1: ; ee85e
--- a/audio/music/johtogymbattle.asm
+++ b/audio/music/johtogymbattle.asm
@@ -1,7 +1,7 @@
Music_JohtoGymBattle: ; ea50d
- dbw $80, Music_JohtoGymBattle_Ch1
- dbw $01, Music_JohtoGymBattle_Ch2
- dbw $02, Music_JohtoGymBattle_Ch3
+ musicheader 3, 1, Music_JohtoGymBattle_Ch1
+ musicheader 1, 2, Music_JohtoGymBattle_Ch2
+ musicheader 1, 3, Music_JohtoGymBattle_Ch3
; ea516
Music_JohtoGymBattle_Ch1: ; ea516
--- a/audio/music/johtotrainerbattle.asm
+++ b/audio/music/johtotrainerbattle.asm
@@ -1,7 +1,7 @@
Music_JohtoTrainerBattle: ; f6096
- dbw $80, Music_JohtoTrainerBattle_Ch1
- dbw $01, Music_JohtoTrainerBattle_Ch2
- dbw $02, Music_JohtoTrainerBattle_Ch3
+ musicheader 3, 1, Music_JohtoTrainerBattle_Ch1
+ musicheader 1, 2, Music_JohtoTrainerBattle_Ch2
+ musicheader 1, 3, Music_JohtoTrainerBattle_Ch3
; f609f
Music_JohtoTrainerBattle_Ch1: ; f609f
--- a/audio/music/johtowildbattle.asm
+++ b/audio/music/johtowildbattle.asm
@@ -1,7 +1,7 @@
Music_JohtoWildBattle: ; f5dc5
- dbw $80, Music_JohtoWildBattle_Ch1
- dbw $01, Music_JohtoWildBattle_Ch2
- dbw $02, Music_JohtoWildBattle_Ch3
+ musicheader 3, 1, Music_JohtoWildBattle_Ch1
+ musicheader 1, 2, Music_JohtoWildBattle_Ch2
+ musicheader 1, 3, Music_JohtoWildBattle_Ch3
; f5dce
Music_JohtoWildBattle_Ch1: ; f5dce
--- a/audio/music/johtowildbattlenight.asm
+++ b/audio/music/johtowildbattlenight.asm
@@ -1,7 +1,7 @@
Music_JohtoWildBattleNight: ; f605c
- dbw $80, Music_JohtoWildBattleNight_Ch1
- dbw $01, Music_JohtoWildBattleNight_Ch2
- dbw $02, Music_JohtoWildBattleNight_Ch3
+ musicheader 3, 1, Music_JohtoWildBattleNight_Ch1
+ musicheader 1, 2, Music_JohtoWildBattleNight_Ch2
+ musicheader 1, 3, Music_JohtoWildBattleNight_Ch3
; f6065
Music_JohtoWildBattleNight_Ch1: ; f6065
--- a/audio/music/kantogymbattle.asm
+++ b/audio/music/kantogymbattle.asm
@@ -1,7 +1,7 @@
Music_KantoGymBattle: ; ec720
- dbw $80, Music_KantoGymBattle_Ch1
- dbw $01, Music_KantoGymBattle_Ch2
- dbw $02, Music_KantoGymBattle_Ch3
+ musicheader 3, 1, Music_KantoGymBattle_Ch1
+ musicheader 1, 2, Music_KantoGymBattle_Ch2
+ musicheader 1, 3, Music_KantoGymBattle_Ch3
; ec729
Music_KantoGymBattle_Ch1: ; ec729
--- a/audio/music/kantotrainerbattle.asm
+++ b/audio/music/kantotrainerbattle.asm
@@ -1,7 +1,7 @@
Music_KantoTrainerBattle: ; ec9fa
- dbw $80, Music_KantoTrainerBattle_Ch1
- dbw $01, Music_KantoTrainerBattle_Ch2
- dbw $02, Music_KantoTrainerBattle_Ch3
+ musicheader 3, 1, Music_KantoTrainerBattle_Ch1
+ musicheader 1, 2, Music_KantoTrainerBattle_Ch2
+ musicheader 1, 3, Music_KantoTrainerBattle_Ch3
; eca03
db $3
--- a/audio/music/kantowildbattle.asm
+++ b/audio/music/kantowildbattle.asm
@@ -1,7 +1,7 @@
Music_KantoWildBattle: ; ed06d
- dbw $80, Music_KantoWildBattle_Ch1
- dbw $01, Music_KantoWildBattle_Ch2
- dbw $02, Music_KantoWildBattle_Ch3
+ musicheader 3, 1, Music_KantoWildBattle_Ch1
+ musicheader 1, 2, Music_KantoWildBattle_Ch2
+ musicheader 1, 3, Music_KantoWildBattle_Ch3
; ed076
db $3
--- a/audio/music/lakeofrage.asm
+++ b/audio/music/lakeofrage.asm
@@ -1,8 +1,8 @@
Music_LakeOfRage: ; ee6c5
- dbw $c0, Music_LakeOfRage_Ch1
- dbw $01, Music_LakeOfRage_Ch2
- dbw $02, Music_LakeOfRage_Ch3
- dbw $03, Music_LakeOfRage_Ch4
+ musicheader 4, 1, Music_LakeOfRage_Ch1
+ musicheader 1, 2, Music_LakeOfRage_Ch2
+ musicheader 1, 3, Music_LakeOfRage_Ch3
+ musicheader 1, 4, Music_LakeOfRage_Ch4
; ee6d1
Music_LakeOfRage_Ch1: ; ee6d1
--- a/audio/music/lakeofragerocketradio.asm
+++ b/audio/music/lakeofragerocketradio.asm
@@ -1,7 +1,7 @@
Music_LakeOfRageRocketRadio: ; ef5b1
- dbw $80, Music_LakeOfRageRocketRadio_Ch1
- dbw $01, Music_LakeOfRageRocketRadio_Ch2
- dbw $02, Music_LakeOfRageRocketRadio_Ch3
+ musicheader 3, 1, Music_LakeOfRageRocketRadio_Ch1
+ musicheader 1, 2, Music_LakeOfRageRocketRadio_Ch2
+ musicheader 1, 3, Music_LakeOfRageRocketRadio_Ch3
; ef5ba
Music_LakeOfRageRocketRadio_Ch1: ; ef5ba
--- a/audio/music/lavendertown.asm
+++ b/audio/music/lavendertown.asm
@@ -1,7 +1,7 @@
Music_LavenderTown: ; ef72f
- dbw $80, Music_LavenderTown_Ch1
- dbw $01, Music_LavenderTown_Ch2
- dbw $02, Music_LavenderTown_Ch3
+ musicheader 3, 1, Music_LavenderTown_Ch1
+ musicheader 1, 2, Music_LavenderTown_Ch2
+ musicheader 1, 3, Music_LavenderTown_Ch3
; ef738
db $3
--- a/audio/music/lighthouse.asm
+++ b/audio/music/lighthouse.asm
@@ -1,8 +1,8 @@
Music_Lighthouse: ; ee569
- dbw $c0, Music_Lighthouse_Ch1
- dbw $01, Music_Lighthouse_Ch2
- dbw $02, Music_Lighthouse_Ch3
- dbw $03, Music_Lighthouse_Ch4
+ musicheader 4, 1, Music_Lighthouse_Ch1
+ musicheader 1, 2, Music_Lighthouse_Ch2
+ musicheader 1, 3, Music_Lighthouse_Ch3
+ musicheader 1, 4, Music_Lighthouse_Ch4
; ee575
Music_Lighthouse_Ch1: ; ee575
--- a/audio/music/lookbeauty.asm
+++ b/audio/music/lookbeauty.asm
@@ -1,8 +1,8 @@
Music_LookBeauty: ; eee3e
- dbw $c0, Music_LookBeauty_Ch1
- dbw $01, Music_LookBeauty_Ch2
- dbw $02, Music_LookBeauty_Ch3
- dbw $03, Music_LookBeauty_Ch4
+ musicheader 4, 1, Music_LookBeauty_Ch1
+ musicheader 1, 2, Music_LookBeauty_Ch2
+ musicheader 1, 3, Music_LookBeauty_Ch3
+ musicheader 1, 4, Music_LookBeauty_Ch4
; eee4a
Music_LookBeauty_Ch1: ; eee4a
--- a/audio/music/lookhiker.asm
+++ b/audio/music/lookhiker.asm
@@ -1,8 +1,8 @@
Music_LookHiker: ; f7411
- dbw $c0, Music_LookHiker_Ch1
- dbw $01, Music_LookHiker_Ch2
- dbw $02, Music_LookHiker_Ch3
- dbw $03, Music_LookHiker_Ch4
+ musicheader 4, 1, Music_LookHiker_Ch1
+ musicheader 1, 2, Music_LookHiker_Ch2
+ musicheader 1, 3, Music_LookHiker_Ch3
+ musicheader 1, 4, Music_LookHiker_Ch4
; f741d
Music_LookHiker_Ch1: ; f741d
--- a/audio/music/lookkimonogirl.asm
+++ b/audio/music/lookkimonogirl.asm
@@ -1,7 +1,7 @@
Music_LookKimonoGirl: ; f79b8
- dbw $80, Music_LookKimonoGirl_Ch1
- dbw $01, Music_LookKimonoGirl_Ch2
- dbw $02, Music_LookKimonoGirl_Ch3
+ musicheader 3, 1, Music_LookKimonoGirl_Ch1
+ musicheader 1, 2, Music_LookKimonoGirl_Ch2
+ musicheader 1, 3, Music_LookKimonoGirl_Ch3
; f79c1
db $3
--- a/audio/music/looklass.asm
+++ b/audio/music/looklass.asm
@@ -1,8 +1,8 @@
Music_LookLass: ; ed79b
- dbw $c0, Music_LookLass_Ch1
- dbw $01, Music_LookLass_Ch2
- dbw $02, Music_LookLass_Ch3
- dbw $03, Music_LookLass_Ch4
+ musicheader 4, 1, Music_LookLass_Ch1
+ musicheader 1, 2, Music_LookLass_Ch2
+ musicheader 1, 3, Music_LookLass_Ch3
+ musicheader 1, 4, Music_LookLass_Ch4
; ed7a7
Music_LookLass_Ch1: ; ed7a7
--- a/audio/music/lookmysticalman.asm
+++ b/audio/music/lookmysticalman.asm
@@ -1,8 +1,8 @@
Music_LookMysticalMan: ; 17843b
- dbw $c0, Music_LookMysticalMan_Ch1
- dbw $01, Music_LookMysticalMan_Ch2
- dbw $02, Music_LookMysticalMan_Ch3
- dbw $03, Music_LookMysticalMan_Ch4
+ musicheader 4, 1, Music_LookMysticalMan_Ch1
+ musicheader 1, 2, Music_LookMysticalMan_Ch2
+ musicheader 1, 3, Music_LookMysticalMan_Ch3
+ musicheader 1, 4, Music_LookMysticalMan_Ch4
; 178447
Music_LookMysticalMan_Ch1: ; 178447
--- a/audio/music/lookofficer.asm
+++ b/audio/music/lookofficer.asm
@@ -1,7 +1,7 @@
Music_LookOfficer: ; ed82d
- dbw $80, Music_LookOfficer_Ch1
- dbw $01, Music_LookOfficer_Ch2
- dbw $02, Music_LookOfficer_Ch3
+ musicheader 3, 1, Music_LookOfficer_Ch1
+ musicheader 1, 2, Music_LookOfficer_Ch2
+ musicheader 1, 3, Music_LookOfficer_Ch3
; ed836
Music_LookOfficer_Ch1: ; ed836
--- a/audio/music/lookpokemaniac.asm
+++ b/audio/music/lookpokemaniac.asm
@@ -1,7 +1,7 @@
Music_LookPokemaniac: ; ebde1
- dbw $80, Music_LookPokemaniac_Ch1
- dbw $01, Music_LookPokemaniac_Ch2
- dbw $02, Music_LookPokemaniac_Ch3
+ musicheader 3, 1, Music_LookPokemaniac_Ch1
+ musicheader 1, 2, Music_LookPokemaniac_Ch2
+ musicheader 1, 3, Music_LookPokemaniac_Ch3
; ebdea
Music_LookPokemaniac_Ch1: ; ebdea
--- a/audio/music/lookrival.asm
+++ b/audio/music/lookrival.asm
@@ -1,8 +1,8 @@
Music_LookRival: ; f4f79
- dbw $c0, Music_LookRival_Ch1
- dbw $01, Music_LookRival_Ch2
- dbw $02, Music_LookRival_Ch3
- dbw $03, Music_LookRival_Ch4
+ musicheader 4, 1, Music_LookRival_Ch1
+ musicheader 1, 2, Music_LookRival_Ch2
+ musicheader 1, 3, Music_LookRival_Ch3
+ musicheader 1, 4, Music_LookRival_Ch4
; f4f85
Music_LookRival_Ch1: ; f4f85
--- a/audio/music/lookrocket.asm
+++ b/audio/music/lookrocket.asm
@@ -1,8 +1,8 @@
Music_LookRocket: ; f74a2
- dbw $c0, Music_LookRocket_Ch1
- dbw $01, Music_LookRocket_Ch2
- dbw $02, Music_LookRocket_Ch3
- dbw $03, Music_LookRocket_Ch4
+ musicheader 4, 1, Music_LookRocket_Ch1
+ musicheader 1, 2, Music_LookRocket_Ch2
+ musicheader 1, 3, Music_LookRocket_Ch3
+ musicheader 1, 4, Music_LookRocket_Ch4
; f74ae
Music_LookRocket_Ch1: ; f74ae
--- a/audio/music/looksage.asm
+++ b/audio/music/looksage.asm
@@ -1,6 +1,6 @@
Music_LookSage: ; ee35e
- dbw $40, Music_LookSage_Ch1
- dbw $02, Music_LookSage_Ch3
+ musicheader 2, 1, Music_LookSage_Ch1
+ musicheader 1, 3, Music_LookSage_Ch3
; ee364
Music_LookSage_Ch1: ; ee364
--- a/audio/music/lookyoungster.asm
+++ b/audio/music/lookyoungster.asm
@@ -1,7 +1,7 @@
Music_LookYoungster: ; f66c3
- dbw $80, Music_LookYoungster_Ch1
- dbw $01, Music_LookYoungster_Ch2
- dbw $02, Music_LookYoungster_Ch3
+ musicheader 3, 1, Music_LookYoungster_Ch1
+ musicheader 1, 2, Music_LookYoungster_Ch2
+ musicheader 1, 3, Music_LookYoungster_Ch3
; f66cc
Music_LookYoungster_Ch1: ; f66cc
--- a/audio/music/magnettrain.asm
+++ b/audio/music/magnettrain.asm
@@ -1,8 +1,8 @@
Music_MagnetTrain: ; ef5f0
- dbw $c0, Music_MagnetTrain_Ch1
- dbw $01, Music_MagnetTrain_Ch2
- dbw $02, Music_MagnetTrain_Ch3
- dbw $03, Music_MagnetTrain_Ch4
+ musicheader 4, 1, Music_MagnetTrain_Ch1
+ musicheader 1, 2, Music_MagnetTrain_Ch2
+ musicheader 1, 3, Music_MagnetTrain_Ch3
+ musicheader 1, 4, Music_MagnetTrain_Ch4
; ef5fc
Music_MagnetTrain_Ch1: ; ef5fc
--- a/audio/music/mainmenu.asm
+++ b/audio/music/mainmenu.asm
@@ -1,8 +1,8 @@
Music_MainMenu: ; f78fd
- dbw $c0, Music_MainMenu_Ch1
- dbw $01, Music_MainMenu_Ch2
- dbw $02, Music_MainMenu_Ch3
- dbw $03, Music_MainMenu_Ch4
+ musicheader 4, 1, Music_MainMenu_Ch1
+ musicheader 1, 2, Music_MainMenu_Ch2
+ musicheader 1, 3, Music_MainMenu_Ch3
+ musicheader 1, 4, Music_MainMenu_Ch4
; f7909
Music_MainMenu_Ch1: ; f7909
--- a/audio/music/mobileadapter.asm
+++ b/audio/music/mobileadapter.asm
@@ -1,8 +1,8 @@
Music_MobileAdapter: ; 1fc87
- dbw $c0, Music_MobileAdapter_Ch1
- dbw $01, Music_MobileAdapter_Ch2
- dbw $02, Music_MobileAdapter_Ch3
- dbw $03, Music_MobileAdapter_Ch4
+ musicheader 4, 1, Music_MobileAdapter_Ch1
+ musicheader 1, 2, Music_MobileAdapter_Ch2
+ musicheader 1, 3, Music_MobileAdapter_Ch3
+ musicheader 1, 4, Music_MobileAdapter_Ch4
; 1fc93
Music_MobileAdapter_Ch1: ; 1fc93
--- a/audio/music/mobileadaptermenu.asm
+++ b/audio/music/mobileadaptermenu.asm
@@ -1,7 +1,7 @@
Music_MobileAdapterMenu: ; 17801f
- dbw $80, Music_MobileAdapterMenu_Ch1
- dbw $01, Music_MobileAdapterMenu_Ch2
- dbw $02, Music_MobileAdapterMenu_Ch3
+ musicheader 3, 1, Music_MobileAdapterMenu_Ch1
+ musicheader 1, 2, Music_MobileAdapterMenu_Ch2
+ musicheader 1, 3, Music_MobileAdapterMenu_Ch3
; 178028
Music_MobileAdapterMenu_Ch1: ; 178028
--- a/audio/music/mobilecenter.asm
+++ b/audio/music/mobilecenter.asm
@@ -1,8 +1,8 @@
Music_MobileCenter: ; 17961d
- dbw $c0, Music_MobileCenter_Ch1
- dbw $01, Music_MobileCenter_Ch2
- dbw $02, Music_MobileCenter_Ch3
- dbw $03, Music_MobileCenter_Ch4
+ musicheader 4, 1, Music_MobileCenter_Ch1
+ musicheader 1, 2, Music_MobileCenter_Ch2
+ musicheader 1, 3, Music_MobileCenter_Ch3
+ musicheader 1, 4, Music_MobileCenter_Ch4
; 179629
Music_MobileCenter_Ch1: ; 179629
--- a/audio/music/mom.asm
+++ b/audio/music/mom.asm
@@ -1,7 +1,7 @@
Music_Mom: ; f6bf2
- dbw $81, Music_Mom_Ch2
- dbw $02, Music_Mom_Ch3
- dbw $03, Music_Mom_Ch4
+ musicheader 3, 2, Music_Mom_Ch2
+ musicheader 1, 3, Music_Mom_Ch3
+ musicheader 1, 4, Music_Mom_Ch4
; f6bfb
Music_Mom_Ch2: ; f6bfb
--- a/audio/music/mtmoon.asm
+++ b/audio/music/mtmoon.asm
@@ -1,8 +1,8 @@
Music_MtMoon: ; edb29
- dbw $c0, Music_MtMoon_Ch1
- dbw $01, Music_MtMoon_Ch2
- dbw $02, Music_MtMoon_Ch3
- dbw $03, Music_MtMoon_Ch4
+ musicheader 4, 1, Music_MtMoon_Ch1
+ musicheader 1, 2, Music_MtMoon_Ch2
+ musicheader 1, 3, Music_MtMoon_Ch3
+ musicheader 1, 4, Music_MtMoon_Ch4
; edb35
Music_MtMoon_Ch1: ; edb35
--- a/audio/music/mtmoonsquare.asm
+++ b/audio/music/mtmoonsquare.asm
@@ -1,6 +1,6 @@
Music_MtMoonSquare: ; f4815
- dbw $40, Music_MtMoonSquare_Ch1
- dbw $01, Music_MtMoonSquare_Ch2
+ musicheader 2, 1, Music_MtMoonSquare_Ch1
+ musicheader 1, 2, Music_MtMoonSquare_Ch2
; f481b
Music_MtMoonSquare_Ch1: ; f481b
--- a/audio/music/nationalpark.asm
+++ b/audio/music/nationalpark.asm
@@ -1,8 +1,8 @@
Music_NationalPark: ; f54e8
- dbw $c0, Music_NationalPark_Ch1
- dbw $01, Music_NationalPark_Ch2
- dbw $02, Music_NationalPark_Ch3
- dbw $03, Music_NationalPark_Ch4
+ musicheader 4, 1, Music_NationalPark_Ch1
+ musicheader 1, 2, Music_NationalPark_Ch2
+ musicheader 1, 3, Music_NationalPark_Ch3
+ musicheader 1, 4, Music_NationalPark_Ch4
; f54f4
Music_NationalPark_Ch1: ; f54f4
--- a/audio/music/newbarktown.asm
+++ b/audio/music/newbarktown.asm
@@ -1,7 +1,7 @@
Music_NewBarkTown: ; eb2d3
- dbw $80, Music_NewBarkTown_Ch1
- dbw $01, Music_NewBarkTown_Ch2
- dbw $02, Music_NewBarkTown_Ch3
+ musicheader 3, 1, Music_NewBarkTown_Ch1
+ musicheader 1, 2, Music_NewBarkTown_Ch2
+ musicheader 1, 3, Music_NewBarkTown_Ch3
; eb2dc
db $3
--- a/audio/music/nothing.asm
+++ b/audio/music/nothing.asm
@@ -1,8 +1,8 @@
Music_Nothing: ; e91a3
- dbw $c0, Music_Nothing_Ch1
- dbw $01, Music_Nothing_Ch2
- dbw $02, Music_Nothing_Ch3
- dbw $03, Music_Nothing_Ch4
+ musicheader 4, 1, Music_Nothing_Ch1
+ musicheader 1, 2, Music_Nothing_Ch2
+ musicheader 1, 3, Music_Nothing_Ch3
+ musicheader 1, 4, Music_Nothing_Ch4
; e91af
Music_Nothing_Ch1: ; e91af
--- a/audio/music/pallettown.asm
+++ b/audio/music/pallettown.asm
@@ -1,7 +1,7 @@
Music_PalletTown: ; f4b0c
- dbw $80, Music_PalletTown_Ch1
- dbw $01, Music_PalletTown_Ch2
- dbw $02, Music_PalletTown_Ch3
+ musicheader 3, 1, Music_PalletTown_Ch1
+ musicheader 1, 2, Music_PalletTown_Ch2
+ musicheader 1, 3, Music_PalletTown_Ch3
; f4b15
Music_PalletTown_Ch1: ; f4b15
--- a/audio/music/pokeflutechannel.asm
+++ b/audio/music/pokeflutechannel.asm
@@ -1,7 +1,7 @@
Music_PokeFluteChannel: ; f7b13
- dbw $80, Music_PokeFluteChannel_Ch1
- dbw $01, Music_PokeFluteChannel_Ch2
- dbw $02, Music_PokeFluteChannel_Ch3
+ musicheader 3, 1, Music_PokeFluteChannel_Ch1
+ musicheader 1, 2, Music_PokeFluteChannel_Ch2
+ musicheader 1, 3, Music_PokeFluteChannel_Ch3
; f7b1c
Music_PokeFluteChannel_Ch1: ; f7b1c
--- a/audio/music/pokemoncenter.asm
+++ b/audio/music/pokemoncenter.asm
@@ -1,8 +1,8 @@
Music_PokemonCenter: ; ed5c6
- dbw $c0, Music_PokemonCenter_Ch1
- dbw $01, Music_PokemonCenter_Ch2
- dbw $02, Music_PokemonCenter_Ch3
- dbw $03, Music_PokemonCenter_Ch4
+ musicheader 4, 1, Music_PokemonCenter_Ch1
+ musicheader 1, 2, Music_PokemonCenter_Ch2
+ musicheader 1, 3, Music_PokemonCenter_Ch3
+ musicheader 1, 4, Music_PokemonCenter_Ch4
; ed5d2
Music_PokemonCenter_Ch1: ; ed5d2
--- a/audio/music/pokemonchannel.asm
+++ b/audio/music/pokemonchannel.asm
@@ -1,8 +1,8 @@
Music_PokemonChannel: ; ee45f
- dbw $c0, Music_PokemonChannel_Ch1
- dbw $01, Music_PokemonChannel_Ch2
- dbw $02, Music_PokemonChannel_Ch3
- dbw $03, Music_PokemonChannel_Ch4
+ musicheader 4, 1, Music_PokemonChannel_Ch1
+ musicheader 1, 2, Music_PokemonChannel_Ch2
+ musicheader 1, 3, Music_PokemonChannel_Ch3
+ musicheader 1, 4, Music_PokemonChannel_Ch4
; ee46b
Music_PokemonChannel_Ch1: ; ee46b
--- a/audio/music/pokemonlullaby.asm
+++ b/audio/music/pokemonlullaby.asm
@@ -1,7 +1,7 @@
Music_PokemonLullaby: ; f6d79
- dbw $80, Music_PokemonLullaby_Ch1
- dbw $01, Music_PokemonLullaby_Ch2
- dbw $02, Music_PokemonLullaby_Ch3
+ musicheader 3, 1, Music_PokemonLullaby_Ch1
+ musicheader 1, 2, Music_PokemonLullaby_Ch2
+ musicheader 1, 3, Music_PokemonLullaby_Ch3
; f6d82
Music_PokemonLullaby_Ch1: ; f6d82
--- a/audio/music/pokemonmarch.asm
+++ b/audio/music/pokemonmarch.asm
@@ -1,8 +1,8 @@
Music_PokemonMarch: ; f6e23
- dbw $c0, Music_PokemonMarch_Ch1
- dbw $01, Music_PokemonMarch_Ch2
- dbw $02, Music_PokemonMarch_Ch3
- dbw $03, Music_PokemonMarch_Ch4
+ musicheader 4, 1, Music_PokemonMarch_Ch1
+ musicheader 1, 2, Music_PokemonMarch_Ch2
+ musicheader 1, 3, Music_PokemonMarch_Ch3
+ musicheader 1, 4, Music_PokemonMarch_Ch4
; f6e2f
Music_PokemonMarch_Ch1: ; f6e2f
--- a/audio/music/postcredits.asm
+++ b/audio/music/postcredits.asm
@@ -1,6 +1,6 @@
Music_PostCredits: ; cfd9e
- dbw $40, Music_PostCredits_Ch1
- dbw $01, Music_PostCredits_Ch2
+ musicheader 2, 1, Music_PostCredits_Ch1
+ musicheader 1, 2, Music_PostCredits_Ch2
; cfda4
db $2
--- a/audio/music/printer.asm
+++ b/audio/music/printer.asm
@@ -1,5 +1,5 @@
Music_Printer: ; f07fd
- dbw $02, Music_Printer_Ch3
+ musicheader 1, 3, Music_Printer_Ch3
; f0800
Music_Printer_Ch3: ; f0800
--- a/audio/music/profoak.asm
+++ b/audio/music/profoak.asm
@@ -1,7 +1,7 @@
Music_ProfOak: ; f4dea
- dbw $80, Music_ProfOak_Ch1
- dbw $01, Music_ProfOak_Ch2
- dbw $02, Music_ProfOak_Ch3
+ musicheader 3, 1, Music_ProfOak_Ch1
+ musicheader 1, 2, Music_ProfOak_Ch2
+ musicheader 1, 3, Music_ProfOak_Ch3
; f4df3
Music_ProfOak_Ch1: ; f4df3
--- a/audio/music/profoakspokemontalk.asm
+++ b/audio/music/profoakspokemontalk.asm
@@ -1,7 +1,7 @@
Music_ProfOaksPokemonTalk: ; f4c9f
- dbw $80, Music_ProfOaksPokemonTalk_Ch1
- dbw $01, Music_ProfOaksPokemonTalk_Ch2
- dbw $02, Music_ProfOaksPokemonTalk_Ch3
+ musicheader 3, 1, Music_ProfOaksPokemonTalk_Ch1
+ musicheader 1, 2, Music_ProfOaksPokemonTalk_Ch2
+ musicheader 1, 3, Music_ProfOaksPokemonTalk_Ch3
; f4ca8
db $3
--- a/audio/music/rivalbattle.asm
+++ b/audio/music/rivalbattle.asm
@@ -1,7 +1,7 @@
Music_RivalBattle: ; e974f
- dbw $80, Music_RivalBattle_Ch1
- dbw $01, Music_RivalBattle_Ch2
- dbw $02, Music_RivalBattle_Ch3
+ musicheader 3, 1, Music_RivalBattle_Ch1
+ musicheader 1, 2, Music_RivalBattle_Ch2
+ musicheader 1, 3, Music_RivalBattle_Ch3
; e9758
Music_RivalBattle_Ch1: ; e9758
--- a/audio/music/rocketbattle.asm
+++ b/audio/music/rocketbattle.asm
@@ -1,7 +1,7 @@
Music_RocketBattle: ; e9b6f
- dbw $80, Music_RocketBattle_Ch1
- dbw $01, Music_RocketBattle_Ch2
- dbw $02, Music_RocketBattle_Ch3
+ musicheader 3, 1, Music_RocketBattle_Ch1
+ musicheader 1, 2, Music_RocketBattle_Ch2
+ musicheader 1, 3, Music_RocketBattle_Ch3
; e9b78
Music_RocketBattle_Ch1: ; e9b78
--- a/audio/music/rockethideout.asm
+++ b/audio/music/rockethideout.asm
@@ -1,8 +1,8 @@
Music_RocketHideout: ; eeb75
- dbw $c0, Music_RocketHideout_Ch1
- dbw $01, Music_RocketHideout_Ch2
- dbw $02, Music_RocketHideout_Ch3
- dbw $03, Music_RocketHideout_Ch4
+ musicheader 4, 1, Music_RocketHideout_Ch1
+ musicheader 1, 2, Music_RocketHideout_Ch2
+ musicheader 1, 3, Music_RocketHideout_Ch3
+ musicheader 1, 4, Music_RocketHideout_Ch4
; eeb81
Music_RocketHideout_Ch1: ; eeb81
--- a/audio/music/rockettheme.asm
+++ b/audio/music/rockettheme.asm
@@ -1,8 +1,8 @@
Music_RocketTheme: ; f766d
- dbw $c0, Music_RocketTheme_Ch1
- dbw $01, Music_RocketTheme_Ch2
- dbw $02, Music_RocketTheme_Ch3
- dbw $03, Music_RocketTheme_Ch4
+ musicheader 4, 1, Music_RocketTheme_Ch1
+ musicheader 1, 2, Music_RocketTheme_Ch2
+ musicheader 1, 3, Music_RocketTheme_Ch3
+ musicheader 1, 4, Music_RocketTheme_Ch4
; f7679
Music_RocketTheme_Ch1: ; f7679
--- a/audio/music/route1.asm
+++ b/audio/music/route1.asm
@@ -1,7 +1,7 @@
Music_Route1: ; ec000
- dbw $80, Music_Route1_Ch1
- dbw $01, Music_Route1_Ch2
- dbw $02, Music_Route1_Ch3
+ musicheader 3, 1, Music_Route1_Ch1
+ musicheader 1, 2, Music_Route1_Ch2
+ musicheader 1, 3, Music_Route1_Ch3
; ec009
db $3
--- a/audio/music/route12.asm
+++ b/audio/music/route12.asm
@@ -1,8 +1,8 @@
Music_Route12: ; ec506
- dbw $c0, Music_Route12_Ch1
- dbw $01, Music_Route12_Ch2
- dbw $02, Music_Route12_Ch3
- dbw $03, Music_Route12_Ch4
+ musicheader 4, 1, Music_Route12_Ch1
+ musicheader 1, 2, Music_Route12_Ch2
+ musicheader 1, 3, Music_Route12_Ch3
+ musicheader 1, 4, Music_Route12_Ch4
; ec512
Music_Route12_Ch1: ; ec512
--- a/audio/music/route2.asm
+++ b/audio/music/route2.asm
@@ -1,8 +1,8 @@
Music_Route2: ; ed8dd
- dbw $c0, Music_Route2_Ch1
- dbw $01, Music_Route2_Ch2
- dbw $02, Music_Route2_Ch3
- dbw $03, Music_Route2_Ch4
+ musicheader 4, 1, Music_Route2_Ch1
+ musicheader 1, 2, Music_Route2_Ch2
+ musicheader 1, 3, Music_Route2_Ch3
+ musicheader 1, 4, Music_Route2_Ch4
; ed8e9
Music_Route2_Ch1: ; ed8e9
--- a/audio/music/route26.asm
+++ b/audio/music/route26.asm
@@ -1,8 +1,8 @@
Music_Route26: ; eefb2
- dbw $c0, Music_Route26_Ch1
- dbw $01, Music_Route26_Ch2
- dbw $02, Music_Route26_Ch3
- dbw $03, Music_Route26_Ch4
+ musicheader 4, 1, Music_Route26_Ch1
+ musicheader 1, 2, Music_Route26_Ch2
+ musicheader 1, 3, Music_Route26_Ch3
+ musicheader 1, 4, Music_Route26_Ch4
; eefbe
Music_Route26_Ch1: ; eefbe
--- a/audio/music/route29.asm
+++ b/audio/music/route29.asm
@@ -1,8 +1,8 @@
Music_Route29: ; f0386
- dbw $c0, Music_Route29_Ch1
- dbw $01, Music_Route29_Ch2
- dbw $02, Music_Route29_Ch3
- dbw $03, Music_Route29_Ch4
+ musicheader 4, 1, Music_Route29_Ch1
+ musicheader 1, 2, Music_Route29_Ch2
+ musicheader 1, 3, Music_Route29_Ch3
+ musicheader 1, 4, Music_Route29_Ch4
; f0392
Music_Route29_Ch1: ; f0392
--- a/audio/music/route3.asm
+++ b/audio/music/route3.asm
@@ -1,8 +1,8 @@
Music_Route3: ; ec2ca
- dbw $c0, Music_Route3_Ch1
- dbw $01, Music_Route3_Ch2
- dbw $02, Music_Route3_Ch3
- dbw $03, Music_Route3_Ch4
+ musicheader 4, 1, Music_Route3_Ch1
+ musicheader 1, 2, Music_Route3_Ch2
+ musicheader 1, 3, Music_Route3_Ch3
+ musicheader 1, 4, Music_Route3_Ch4
; ec2d6
Music_Route3_Ch1: ; ec2d6
--- a/audio/music/route30.asm
+++ b/audio/music/route30.asm
@@ -1,8 +1,8 @@
Music_Route30: ; efc01
- dbw $c0, Music_Route30_Ch1
- dbw $01, Music_Route30_Ch2
- dbw $02, Music_Route30_Ch3
- dbw $03, Music_Route30_Ch4
+ musicheader 4, 1, Music_Route30_Ch1
+ musicheader 1, 2, Music_Route30_Ch2
+ musicheader 1, 3, Music_Route30_Ch3
+ musicheader 1, 4, Music_Route30_Ch4
; efc0d
Music_Route30_Ch1: ; efc0d
--- a/audio/music/route36.asm
+++ b/audio/music/route36.asm
@@ -1,8 +1,8 @@
Music_Route36: ; e94e9
- dbw $c0, Music_Route36_Ch1
- dbw $01, Music_Route36_Ch2
- dbw $02, Music_Route36_Ch3
- dbw $03, Music_Route36_Ch4
+ musicheader 4, 1, Music_Route36_Ch1
+ musicheader 1, 2, Music_Route36_Ch2
+ musicheader 1, 3, Music_Route36_Ch3
+ musicheader 1, 4, Music_Route36_Ch4
; e94f5
Music_Route36_Ch1: ; e94f5
--- a/audio/music/route37.asm
+++ b/audio/music/route37.asm
@@ -1,8 +1,8 @@
Music_Route37: ; ee94b
- dbw $c0, Music_Route37_Ch1
- dbw $01, Music_Route37_Ch2
- dbw $02, Music_Route37_Ch3
- dbw $03, Music_Route37_Ch4
+ musicheader 4, 1, Music_Route37_Ch1
+ musicheader 1, 2, Music_Route37_Ch2
+ musicheader 1, 3, Music_Route37_Ch3
+ musicheader 1, 4, Music_Route37_Ch4
; ee957
Music_Route37_Ch1: ; ee957
--- a/audio/music/ruinsofalphinterior.asm
+++ b/audio/music/ruinsofalphinterior.asm
@@ -1,7 +1,7 @@
Music_RuinsOfAlphInterior: ; ebd9e
- dbw $80, Music_RuinsOfAlphInterior_Ch1
- dbw $01, Music_RuinsOfAlphInterior_Ch2
- dbw $02, Music_RuinsOfAlphInterior_Ch3
+ musicheader 3, 1, Music_RuinsOfAlphInterior_Ch1
+ musicheader 1, 2, Music_RuinsOfAlphInterior_Ch2
+ musicheader 1, 3, Music_RuinsOfAlphInterior_Ch3
; ebda7
Music_RuinsOfAlphInterior_Ch1: ; ebda7
--- a/audio/music/ruinsofalphradio.asm
+++ b/audio/music/ruinsofalphradio.asm
@@ -1,7 +1,7 @@
Music_RuinsOfAlphRadio: ; eedcb
- dbw $80, Music_RuinsOfAlphRadio_Ch1
- dbw $01, Music_RuinsOfAlphRadio_Ch2
- dbw $02, Music_RuinsOfAlphRadio_Ch3
+ musicheader 3, 1, Music_RuinsOfAlphRadio_Ch1
+ musicheader 1, 2, Music_RuinsOfAlphRadio_Ch2
+ musicheader 1, 3, Music_RuinsOfAlphRadio_Ch3
; eedd4
Music_RuinsOfAlphRadio_Ch1: ; eedd4
--- a/audio/music/showmearound.asm
+++ b/audio/music/showmearound.asm
@@ -1,8 +1,8 @@
Music_ShowMeAround: ; edbd8
- dbw $c0, Music_ShowMeAround_Ch1
- dbw $01, Music_ShowMeAround_Ch2
- dbw $02, Music_ShowMeAround_Ch3
- dbw $03, Music_ShowMeAround_Ch4
+ musicheader 4, 1, Music_ShowMeAround_Ch1
+ musicheader 1, 2, Music_ShowMeAround_Ch2
+ musicheader 1, 3, Music_ShowMeAround_Ch3
+ musicheader 1, 4, Music_ShowMeAround_Ch4
; edbe4
Music_ShowMeAround_Ch1: ; edbe4
--- a/audio/music/sprouttower.asm
+++ b/audio/music/sprouttower.asm
@@ -1,8 +1,8 @@
Music_SproutTower: ; f6974
- dbw $c0, Music_SproutTower_Ch1
- dbw $01, Music_SproutTower_Ch2
- dbw $02, Music_SproutTower_Ch3
- dbw $03, Music_SproutTower_Ch4
+ musicheader 4, 1, Music_SproutTower_Ch1
+ musicheader 1, 2, Music_SproutTower_Ch2
+ musicheader 1, 3, Music_SproutTower_Ch3
+ musicheader 1, 4, Music_SproutTower_Ch4
; f6980
Music_SproutTower_Ch1: ; f6980
--- a/audio/music/ssaqua.asm
+++ b/audio/music/ssaqua.asm
@@ -1,8 +1,8 @@
Music_SSAqua: ; ead99
- dbw $c0, Music_SSAqua_Ch1
- dbw $01, Music_SSAqua_Ch2
- dbw $02, Music_SSAqua_Ch3
- dbw $03, Music_SSAqua_Ch4
+ musicheader 4, 1, Music_SSAqua_Ch1
+ musicheader 1, 2, Music_SSAqua_Ch2
+ musicheader 1, 3, Music_SSAqua_Ch3
+ musicheader 1, 4, Music_SSAqua_Ch4
; eada5
Music_SSAqua_Ch1: ; eada5
--- a/audio/music/successfulcapture.asm
+++ b/audio/music/successfulcapture.asm
@@ -1,7 +1,7 @@
Music_SuccessfulCapture: ; f4602
- dbw $80, Music_SuccessfulCapture_Ch1
- dbw $01, Music_SuccessfulCapture_Ch2
- dbw $02, Music_SuccessfulCapture_Ch3
+ musicheader 3, 1, Music_SuccessfulCapture_Ch1
+ musicheader 1, 2, Music_SuccessfulCapture_Ch2
+ musicheader 1, 3, Music_SuccessfulCapture_Ch3
; f460b
Music_SuccessfulCapture_Ch1: ; f460b
--- a/audio/music/suicunebattle.asm
+++ b/audio/music/suicunebattle.asm
@@ -1,7 +1,7 @@
Music_SuicuneBattle: ; 178b81
- dbw $80, Music_SuicuneBattle_Ch1
- dbw $01, Music_SuicuneBattle_Ch2
- dbw $02, Music_SuicuneBattle_Ch3
+ musicheader 3, 1, Music_SuicuneBattle_Ch1
+ musicheader 1, 2, Music_SuicuneBattle_Ch2
+ musicheader 1, 3, Music_SuicuneBattle_Ch3
; 178b8a
Music_SuicuneBattle_Ch1: ; 178b8a
--- a/audio/music/surf.asm
+++ b/audio/music/surf.asm
@@ -1,7 +1,7 @@
Music_Surf: ; f518a
- dbw $80, Music_Surf_Ch1
- dbw $01, Music_Surf_Ch2
- dbw $02, Music_Surf_Ch3
+ musicheader 3, 1, Music_Surf_Ch1
+ musicheader 1, 2, Music_Surf_Ch2
+ musicheader 1, 3, Music_Surf_Ch3
; f5193
db $3
--- a/audio/music/tintower.asm
+++ b/audio/music/tintower.asm
@@ -1,8 +1,8 @@
Music_TinTower: ; f6811
- dbw $c0, Music_TinTower_Ch1
- dbw $01, Music_TinTower_Ch2
- dbw $02, Music_TinTower_Ch3
- dbw $03, Music_TinTower_Ch4
+ musicheader 4, 1, Music_TinTower_Ch1
+ musicheader 1, 2, Music_TinTower_Ch2
+ musicheader 1, 3, Music_TinTower_Ch3
+ musicheader 1, 4, Music_TinTower_Ch4
; f681d
Music_TinTower_Ch1: ; f681d
--- a/audio/music/titlescreen.asm
+++ b/audio/music/titlescreen.asm
@@ -1,8 +1,8 @@
Music_TitleScreen: ; eb808
- dbw $c0, Music_TitleScreen_Ch1
- dbw $01, Music_TitleScreen_Ch2
- dbw $02, Music_TitleScreen_Ch3
- dbw $03, Music_TitleScreen_Ch4
+ musicheader 4, 1, Music_TitleScreen_Ch1
+ musicheader 1, 2, Music_TitleScreen_Ch2
+ musicheader 1, 3, Music_TitleScreen_Ch3
+ musicheader 1, 4, Music_TitleScreen_Ch4
; eb814
Music_TitleScreen_Ch1: ; eb814
--- a/audio/music/trainervictory.asm
+++ b/audio/music/trainervictory.asm
@@ -1,7 +1,7 @@
Music_TrainerVictory: ; ebeab
- dbw $80, Music_TrainerVictory_Ch1
- dbw $01, Music_TrainerVictory_Ch2
- dbw $02, Music_TrainerVictory_Ch3
+ musicheader 3, 1, Music_TrainerVictory_Ch1
+ musicheader 1, 2, Music_TrainerVictory_Ch2
+ musicheader 1, 3, Music_TrainerVictory_Ch3
; ebeb4
Music_TrainerVictory_Ch1: ; ebeb4
--- a/audio/music/unioncave.asm
+++ b/audio/music/unioncave.asm
@@ -1,8 +1,8 @@
Music_UnionCave: ; f5c60
- dbw $c0, Music_UnionCave_Ch1
- dbw $01, Music_UnionCave_Ch2
- dbw $02, Music_UnionCave_Ch3
- dbw $03, Music_UnionCave_Ch4
+ musicheader 4, 1, Music_UnionCave_Ch1
+ musicheader 1, 2, Music_UnionCave_Ch2
+ musicheader 1, 3, Music_UnionCave_Ch3
+ musicheader 1, 4, Music_UnionCave_Ch4
; f5c6c
Music_UnionCave_Ch1: ; f5c6c
--- a/audio/music/vermilioncity.asm
+++ b/audio/music/vermilioncity.asm
@@ -1,7 +1,7 @@
Music_VermilionCity: ; eb676
- dbw $80, Music_VermilionCity_Ch1
- dbw $01, Music_VermilionCity_Ch2
- dbw $02, Music_VermilionCity_Ch3
+ musicheader 3, 1, Music_VermilionCity_Ch1
+ musicheader 1, 2, Music_VermilionCity_Ch2
+ musicheader 1, 3, Music_VermilionCity_Ch3
; eb67f
db $3
--- a/audio/music/victoryroad.asm
+++ b/audio/music/victoryroad.asm
@@ -1,8 +1,8 @@
Music_VictoryRoad: ; f6c72
- dbw $c0, Music_VictoryRoad_Ch1
- dbw $01, Music_VictoryRoad_Ch2
- dbw $02, Music_VictoryRoad_Ch3
- dbw $03, Music_VictoryRoad_Ch4
+ musicheader 4, 1, Music_VictoryRoad_Ch1
+ musicheader 1, 2, Music_VictoryRoad_Ch2
+ musicheader 1, 3, Music_VictoryRoad_Ch3
+ musicheader 1, 4, Music_VictoryRoad_Ch4
; f6c7e
Music_VictoryRoad_Ch1: ; f6c7e
--- a/audio/music/violetcity.asm
+++ b/audio/music/violetcity.asm
@@ -1,8 +1,8 @@
Music_VioletCity: ; f0000
- dbw $c0, Music_VioletCity_Ch1
- dbw $01, Music_VioletCity_Ch2
- dbw $02, Music_VioletCity_Ch3
- dbw $03, Music_VioletCity_Ch4
+ musicheader 4, 1, Music_VioletCity_Ch1
+ musicheader 1, 2, Music_VioletCity_Ch2
+ musicheader 1, 3, Music_VioletCity_Ch3
+ musicheader 1, 4, Music_VioletCity_Ch4
; f000c
Music_VioletCity_Ch1: ; f000c
--- a/audio/music/viridiancity.asm
+++ b/audio/music/viridiancity.asm
@@ -1,8 +1,8 @@
Music_ViridianCity: ; f4000
- dbw $c0, Music_ViridianCity_Ch1
- dbw $01, Music_ViridianCity_Ch2
- dbw $02, Music_ViridianCity_Ch3
- dbw $03, Music_ViridianCity_Ch4
+ musicheader 4, 1, Music_ViridianCity_Ch1
+ musicheader 1, 2, Music_ViridianCity_Ch2
+ musicheader 1, 3, Music_ViridianCity_Ch3
+ musicheader 1, 4, Music_ViridianCity_Ch4
; f400c
Music_ViridianCity_Ch1: ; f400c
--- a/audio/music/wildpokemonvictory.asm
+++ b/audio/music/wildpokemonvictory.asm
@@ -1,7 +1,7 @@
Music_WildPokemonVictory: ; f4518
- dbw $80, Music_WildPokemonVictory_Ch1
- dbw $01, Music_WildPokemonVictory_Ch2
- dbw $02, Music_WildPokemonVictory_Ch3
+ musicheader 3, 1, Music_WildPokemonVictory_Ch1
+ musicheader 1, 2, Music_WildPokemonVictory_Ch2
+ musicheader 1, 3, Music_WildPokemonVictory_Ch3
; f4521
Music_WildPokemonVictory_Ch1: ; f4521
--- a/audio/sfx.asm
+++ b/audio/sfx.asm
@@ -1,496 +1,496 @@
Sfx_PokeballsPlacedOnTable: ; f0941
- dbw $04, Sfx_PokeballsPlacedOnTable_Ch5
+ musicheader 1, 5, Sfx_PokeballsPlacedOnTable_Ch5
; f0944
Sfx_BallWiggle: ; f0944
- dbw $04, Sfx_BallWiggle_Ch5
+ musicheader 1, 5, Sfx_BallWiggle_Ch5
; f0947
Sfx_Potion: ; f0947
- dbw $04, Sfx_Potion_Ch5
+ musicheader 1, 5, Sfx_Potion_Ch5
; f094a
Sfx_FullHeal: ; f094a
- dbw $04, Sfx_FullHeal_Ch5
+ musicheader 1, 5, Sfx_FullHeal_Ch5
; f094d
Sfx_Menu: ; f094d
- dbw $07, Sfx_Menu_Ch8
+ musicheader 1, 8, Sfx_Menu_Ch8
; f0950
Sfx_ReadText2: ; f0950
Sfx_ReadText: ; f0950
- dbw $04, Sfx_ReadText2_Ch5
+ musicheader 1, 5, Sfx_ReadText2_Ch5
; f0953
Sfx_Poison: ; f0953
- dbw $04, Sfx_Poison_Ch5
+ musicheader 1, 5, Sfx_Poison_Ch5
; f0956
Sfx_GotSafariBalls: ; f0956
- dbw $04, Sfx_GotSafariBalls_Ch5
+ musicheader 1, 5, Sfx_GotSafariBalls_Ch5
; f0959
Sfx_BootPc: ; f0959
- dbw $04, Sfx_BootPc_Ch5
+ musicheader 1, 5, Sfx_BootPc_Ch5
; f095c
Sfx_ShutDownPc: ; f095c
- dbw $04, Sfx_ShutDownPc_Ch5
+ musicheader 1, 5, Sfx_ShutDownPc_Ch5
; f095f
Sfx_ChoosePcOption: ; f095f
- dbw $04, Sfx_ChoosePcOption_Ch5
+ musicheader 1, 5, Sfx_ChoosePcOption_Ch5
; f0962
Sfx_EscapeRope: ; f0962
- dbw $04, Sfx_EscapeRope_Ch5
+ musicheader 1, 5, Sfx_EscapeRope_Ch5
; f0965
Sfx_PushButton: ; f0965
- dbw $04, Sfx_PushButton_Ch5
+ musicheader 1, 5, Sfx_PushButton_Ch5
; f0968
Sfx_SecondPartOfItemfinder: ; f0968
- dbw $04, Sfx_SecondPartOfItemfinder_Ch5
+ musicheader 1, 5, Sfx_SecondPartOfItemfinder_Ch5
; f096b
Sfx_WarpTo: ; f096b
- dbw $04, Sfx_WarpTo_Ch5
+ musicheader 1, 5, Sfx_WarpTo_Ch5
; f096e
Sfx_WarpFrom: ; f096e
- dbw $04, Sfx_WarpFrom_Ch5
+ musicheader 1, 5, Sfx_WarpFrom_Ch5
; f0971
Sfx_ChangeDexMode: ; f0971
- dbw $04, Sfx_ChangeDexMode_Ch5
+ musicheader 1, 5, Sfx_ChangeDexMode_Ch5
; f0974
Sfx_JumpOverLedge: ; f0974
- dbw $04, Sfx_JumpOverLedge_Ch5
+ musicheader 1, 5, Sfx_JumpOverLedge_Ch5
; f0977
Sfx_GrassRustle: ; f0977
- dbw $07, Sfx_GrassRustle_Ch8
+ musicheader 1, 8, Sfx_GrassRustle_Ch8
; f097a
Sfx_Fly: ; f097a
- dbw $07, Sfx_Fly_Ch8
+ musicheader 1, 8, Sfx_Fly_Ch8
; f097d
Sfx_Wrong: ; f097d
- dbw $44, Sfx_Wrong_Ch5
- dbw $05, Sfx_Wrong_Ch6
+ musicheader 2, 5, Sfx_Wrong_Ch5
+ musicheader 1, 6, Sfx_Wrong_Ch6
; f0983
Sfx_Squeak: ; f0983
- dbw $04, Sfx_Squeak_Ch5
+ musicheader 1, 5, Sfx_Squeak_Ch5
; f0986
Sfx_Strength: ; f0986
- dbw $07, Sfx_Strength_Ch8
+ musicheader 1, 8, Sfx_Strength_Ch8
; f0989
Sfx_Boat: ; f0989
- dbw $44, Sfx_Boat_Ch5
- dbw $05, Sfx_Boat_Ch6
+ musicheader 2, 5, Sfx_Boat_Ch5
+ musicheader 1, 6, Sfx_Boat_Ch6
; f098f
Sfx_WallOpen: ; f098f
- dbw $04, Sfx_WallOpen_Ch5
+ musicheader 1, 5, Sfx_WallOpen_Ch5
; f0992
Sfx_PlacePuzzlePieceDown: ; f0992
- dbw $07, Sfx_PlacePuzzlePieceDown_Ch8
+ musicheader 1, 8, Sfx_PlacePuzzlePieceDown_Ch8
; f0995
Sfx_EnterDoor: ; f0995
- dbw $07, Sfx_EnterDoor_Ch8
+ musicheader 1, 8, Sfx_EnterDoor_Ch8
; f0998
Sfx_SwitchPokemon: ; f0998
- dbw $44, Sfx_SwitchPokemon_Ch5
- dbw $05, Sfx_SwitchPokemon_Ch6
+ musicheader 2, 5, Sfx_SwitchPokemon_Ch5
+ musicheader 1, 6, Sfx_SwitchPokemon_Ch6
; f099e
Sfx_Tally: ; f099e
- dbw $44, Sfx_Tally_Ch5
- dbw $05, Sfx_Tally_Ch6
+ musicheader 2, 5, Sfx_Tally_Ch5
+ musicheader 1, 6, Sfx_Tally_Ch6
; f09a4
Sfx_Transaction: ; f09a4
- dbw $44, Sfx_Transaction_Ch5
- dbw $05, Sfx_Transaction_Ch6
+ musicheader 2, 5, Sfx_Transaction_Ch5
+ musicheader 1, 6, Sfx_Transaction_Ch6
; f09aa
Sfx_Bump: ; f09aa
- dbw $04, Sfx_Bump_Ch5
+ musicheader 1, 5, Sfx_Bump_Ch5
; f09ad
Sfx_ExitBuilding: ; f09ad
- dbw $07, Sfx_ExitBuilding_Ch8
+ musicheader 1, 8, Sfx_ExitBuilding_Ch8
; f09b0
Sfx_Save: ; f09b0
- dbw $44, Sfx_Save_Ch5
- dbw $05, Sfx_Save_Ch6
+ musicheader 2, 5, Sfx_Save_Ch5
+ musicheader 1, 6, Sfx_Save_Ch6
; f09b6
Sfx_Save_Ch5: ; f09b6
dutycycle $2
- sound $2, $f1, $0700
- sound $1, $e1, $0600
- sound $1, $e1, $0680
- sound $1, $e1, $06c0
- sound $2, $e1, $0700
- sound $2, $e1, $07c0
- sound $f, $f2, $07e0
+ sound __, 3, $f1, $0700
+ sound __, 2, $e1, $0600
+ sound __, 2, $e1, $0680
+ sound __, 2, $e1, $06c0
+ sound __, 3, $e1, $0700
+ sound __, 3, $e1, $07c0
+ sound __, 16, $f2, $07e0
endchannel
; f09d5
Sfx_Save_Ch6: ; f09d5
dutycycle $2
- sound $2, $8, 0
- sound $2, $a1, $0701
- sound $1, $91, $0601
- sound $1, $91, $0681
- sound $1, $91, $06c1
- sound $2, $91, $0701
- sound $2, $91, $07c1
- sound $f, $d2, $07e1
+ sound __, 3, $8, 0
+ sound __, 3, $a1, $0701
+ sound __, 2, $91, $0601
+ sound __, 2, $91, $0681
+ sound __, 2, $91, $06c1
+ sound __, 3, $91, $0701
+ sound __, 3, $91, $07c1
+ sound __, 16, $d2, $07e1
endchannel
; f09f8
Sfx_Pokeflute: ; f09f8
- dbw $06, Sfx_Pokeflute_Ch7
+ musicheader 1, 7, Sfx_Pokeflute_Ch7
; f09fb
Sfx_ElevatorEnd: ; f09fb
- dbw $04, Sfx_ElevatorEnd_Ch5
+ musicheader 1, 5, Sfx_ElevatorEnd_Ch5
; f09fe
Sfx_ThrowBall: ; f09fe
- dbw $44, Sfx_ThrowBall_Ch5
- dbw $05, Sfx_ThrowBall_Ch6
+ musicheader 2, 5, Sfx_ThrowBall_Ch5
+ musicheader 1, 6, Sfx_ThrowBall_Ch6
; f0a04
Sfx_BallPoof: ; f0a04
- dbw $44, Sfx_BallPoof_Ch5
- dbw $07, Sfx_BallPoof_Ch8
+ musicheader 2, 5, Sfx_BallPoof_Ch5
+ musicheader 1, 8, Sfx_BallPoof_Ch8
; f0a0a
Sfx_Unknown3A: ; f0a0a
- dbw $44, Sfx_Unknown3A_Ch5
- dbw $07, Sfx_Unknown3A_Ch8
+ musicheader 2, 5, Sfx_Unknown3A_Ch5
+ musicheader 1, 8, Sfx_Unknown3A_Ch8
; f0a10
Sfx_Run: ; f0a10
- dbw $07, Sfx_Run_Ch8
+ musicheader 1, 8, Sfx_Run_Ch8
; f0a13
Sfx_SlotMachineStart: ; f0a13
- dbw $44, Sfx_SlotMachineStart_Ch5
- dbw $05, Sfx_SlotMachineStart_Ch6
+ musicheader 2, 5, Sfx_SlotMachineStart_Ch5
+ musicheader 1, 6, Sfx_SlotMachineStart_Ch6
; f0a19
Sfx_Call: ; f0a19
- dbw $04, Sfx_Call_Ch5
+ musicheader 1, 5, Sfx_Call_Ch5
; f0a1c
Sfx_Unknown60: ; f0a1c
- dbw $07, Sfx_Unknown60_Ch8
+ musicheader 1, 8, Sfx_Unknown60_Ch8
; f0a1f
Sfx_Unknown61: ; f0a1f
- dbw $07, Sfx_Unknown61_Ch8
+ musicheader 1, 8, Sfx_Unknown61_Ch8
; f0a22
-Sfx_Unknown62: ; f0a22
- dbw $07, Sfx_Unknown62_Ch8
+Sfx_SwitchPockets: ; f0a22
+ musicheader 1, 8, Sfx_SwitchPockets_Ch8
; f0a25
Sfx_Unknown63: ; f0a25
- dbw $07, Sfx_Unknown63_Ch8
+ musicheader 1, 8, Sfx_Unknown63_Ch8
; f0a28
Sfx_Burn: ; f0a28
- dbw $07, Sfx_Burn_Ch8
+ musicheader 1, 8, Sfx_Burn_Ch8
; f0a2b
Sfx_TitleScreenEntrance: ; f0a2b
- dbw $07, Sfx_TitleScreenEntrance_Ch8
+ musicheader 1, 8, Sfx_TitleScreenEntrance_Ch8
; f0a2e
Sfx_Unknown66: ; f0a2e
- dbw $04, Sfx_Unknown66_Ch5
+ musicheader 1, 5, Sfx_Unknown66_Ch5
; f0a31
Sfx_GetCoinFromSlots: ; f0a31
- dbw $04, Sfx_GetCoinFromSlots_Ch5
+ musicheader 1, 5, Sfx_GetCoinFromSlots_Ch5
; f0a34
Sfx_PayDay: ; f0a34
- dbw $44, Sfx_PayDay_Ch5
- dbw $05, Sfx_PayDay_Ch6
+ musicheader 2, 5, Sfx_PayDay_Ch5
+ musicheader 1, 6, Sfx_PayDay_Ch6
; f0a3a
Sfx_Metronome: ; f0a3a
- dbw $04, Sfx_Metronome_Ch5
+ musicheader 1, 5, Sfx_Metronome_Ch5
; f0a3d
Sfx_Peck: ; f0a3d
- dbw $07, Sfx_Peck_Ch8
+ musicheader 1, 8, Sfx_Peck_Ch8
; f0a40
Sfx_Kinesis: ; f0a40
- dbw $04, Sfx_Kinesis_Ch5
+ musicheader 1, 5, Sfx_Kinesis_Ch5
; f0a43
Sfx_Lick: ; f0a43
- dbw $04, Sfx_Lick_Ch5
+ musicheader 1, 5, Sfx_Lick_Ch5
; f0a46
Sfx_Pound: ; f0a46
- dbw $07, Sfx_Pound_Ch8
+ musicheader 1, 8, Sfx_Pound_Ch8
; f0a49
Sfx_MovePuzzlePiece: ; f0a49
- dbw $07, Sfx_MovePuzzlePiece_Ch8
+ musicheader 1, 8, Sfx_MovePuzzlePiece_Ch8
; f0a4c
Sfx_CometPunch: ; f0a4c
- dbw $07, Sfx_CometPunch_Ch8
+ musicheader 1, 8, Sfx_CometPunch_Ch8
; f0a4f
Sfx_MegaPunch: ; f0a4f
- dbw $07, Sfx_MegaPunch_Ch8
+ musicheader 1, 8, Sfx_MegaPunch_Ch8
; f0a52
Sfx_Scratch: ; f0a52
- dbw $07, Sfx_Scratch_Ch8
+ musicheader 1, 8, Sfx_Scratch_Ch8
; f0a55
Sfx_Vicegrip: ; f0a55
- dbw $07, Sfx_Vicegrip_Ch8
+ musicheader 1, 8, Sfx_Vicegrip_Ch8
; f0a58
Sfx_RazorWind: ; f0a58
- dbw $07, Sfx_RazorWind_Ch8
+ musicheader 1, 8, Sfx_RazorWind_Ch8
; f0a5b
Sfx_Cut: ; f0a5b
- dbw $07, Sfx_Cut_Ch8
+ musicheader 1, 8, Sfx_Cut_Ch8
; f0a5e
Sfx_WingAttack: ; f0a5e
- dbw $07, Sfx_WingAttack_Ch8
+ musicheader 1, 8, Sfx_WingAttack_Ch8
; f0a61
Sfx_Whirlwind: ; f0a61
- dbw $07, Sfx_Whirlwind_Ch8
+ musicheader 1, 8, Sfx_Whirlwind_Ch8
; f0a64
Sfx_Bind: ; f0a64
- dbw $07, Sfx_Bind_Ch8
+ musicheader 1, 8, Sfx_Bind_Ch8
; f0a67
Sfx_VineWhip: ; f0a67
- dbw $07, Sfx_VineWhip_Ch8
+ musicheader 1, 8, Sfx_VineWhip_Ch8
; f0a6a
Sfx_DoubleKick: ; f0a6a
- dbw $07, Sfx_DoubleKick_Ch8
+ musicheader 1, 8, Sfx_DoubleKick_Ch8
; f0a6d
Sfx_MegaKick: ; f0a6d
- dbw $07, Sfx_MegaKick_Ch8
+ musicheader 1, 8, Sfx_MegaKick_Ch8
; f0a70
Sfx_Headbutt: ; f0a70
- dbw $07, Sfx_Headbutt_Ch8
+ musicheader 1, 8, Sfx_Headbutt_Ch8
; f0a73
Sfx_HornAttack: ; f0a73
- dbw $07, Sfx_HornAttack_Ch8
+ musicheader 1, 8, Sfx_HornAttack_Ch8
; f0a76
Sfx_Tackle: ; f0a76
- dbw $07, Sfx_Tackle_Ch8
+ musicheader 1, 8, Sfx_Tackle_Ch8
; f0a79
Sfx_PoisonSting: ; f0a79
- dbw $07, Sfx_PoisonSting_Ch8
+ musicheader 1, 8, Sfx_PoisonSting_Ch8
; f0a7c
Sfx_Powder: ; f0a7c
- dbw $07, Sfx_Powder_Ch8
+ musicheader 1, 8, Sfx_Powder_Ch8
; f0a7f
Sfx_Doubleslap: ; f0a7f
- dbw $07, Sfx_Doubleslap_Ch8
+ musicheader 1, 8, Sfx_Doubleslap_Ch8
; f0a82
Sfx_Bite: ; f0a82
- dbw $44, Sfx_Bite_Ch5
- dbw $07, Sfx_Bite_Ch8
+ musicheader 2, 5, Sfx_Bite_Ch5
+ musicheader 1, 8, Sfx_Bite_Ch8
; f0a88
Sfx_JumpKick: ; f0a88
- dbw $07, Sfx_JumpKick_Ch8
+ musicheader 1, 8, Sfx_JumpKick_Ch8
; f0a8b
Sfx_Stomp: ; f0a8b
- dbw $07, Sfx_Stomp_Ch8
+ musicheader 1, 8, Sfx_Stomp_Ch8
; f0a8e
Sfx_TailWhip: ; f0a8e
- dbw $07, Sfx_TailWhip_Ch8
+ musicheader 1, 8, Sfx_TailWhip_Ch8
; f0a91
Sfx_KarateChop: ; f0a91
- dbw $07, Sfx_KarateChop_Ch8
+ musicheader 1, 8, Sfx_KarateChop_Ch8
; f0a94
Sfx_Submission: ; f0a94
- dbw $07, Sfx_Submission_Ch8
+ musicheader 1, 8, Sfx_Submission_Ch8
; f0a97
Sfx_WaterGun: ; f0a97
- dbw $44, Sfx_WaterGun_Ch5
- dbw $07, Sfx_WaterGun_Ch8
+ musicheader 2, 5, Sfx_WaterGun_Ch5
+ musicheader 1, 8, Sfx_WaterGun_Ch8
; f0a9d
Sfx_SwordsDance: ; f0a9d
- dbw $07, Sfx_SwordsDance_Ch8
+ musicheader 1, 8, Sfx_SwordsDance_Ch8
; f0aa0
Sfx_Thunder: ; f0aa0
- dbw $07, Sfx_Thunder_Ch8
+ musicheader 1, 8, Sfx_Thunder_Ch8
; f0aa3
Sfx_Supersonic: ; f0aa3
- dbw $84, Sfx_Supersonic_Ch5
- dbw $05, Sfx_Supersonic_Ch6
- dbw $07, Sfx_Supersonic_Ch8
+ musicheader 3, 5, Sfx_Supersonic_Ch5
+ musicheader 1, 6, Sfx_Supersonic_Ch6
+ musicheader 1, 8, Sfx_Supersonic_Ch8
; f0aac
Sfx_Leer: ; f0aac
- dbw $84, Sfx_Leer_Ch5
- dbw $05, Sfx_Leer_Ch6
- dbw $07, Sfx_Leer_Ch8
+ musicheader 3, 5, Sfx_Leer_Ch5
+ musicheader 1, 6, Sfx_Leer_Ch6
+ musicheader 1, 8, Sfx_Leer_Ch8
; f0ab5
Sfx_Ember: ; f0ab5
- dbw $44, Sfx_Ember_Ch5
- dbw $07, Sfx_Ember_Ch8
+ musicheader 2, 5, Sfx_Ember_Ch5
+ musicheader 1, 8, Sfx_Ember_Ch8
; f0abb
Sfx_Bubblebeam: ; f0abb
- dbw $84, Sfx_Bubblebeam_Ch5
- dbw $05, Sfx_Bubblebeam_Ch6
- dbw $07, Sfx_Bubblebeam_Ch8
+ musicheader 3, 5, Sfx_Bubblebeam_Ch5
+ musicheader 1, 6, Sfx_Bubblebeam_Ch6
+ musicheader 1, 8, Sfx_Bubblebeam_Ch8
; f0ac4
Sfx_HydroPump: ; f0ac4
- dbw $44, Sfx_HydroPump_Ch5
- dbw $07, Sfx_HydroPump_Ch8
+ musicheader 2, 5, Sfx_HydroPump_Ch5
+ musicheader 1, 8, Sfx_HydroPump_Ch8
; f0aca
Sfx_Surf: ; f0aca
- dbw $84, Sfx_Surf_Ch5
- dbw $05, Sfx_Surf_Ch6
- dbw $07, Sfx_Surf_Ch8
+ musicheader 3, 5, Sfx_Surf_Ch5
+ musicheader 1, 6, Sfx_Surf_Ch6
+ musicheader 1, 8, Sfx_Surf_Ch8
; f0ad3
Sfx_Psybeam: ; f0ad3
- dbw $84, Sfx_Psybeam_Ch5
- dbw $05, Sfx_Psybeam_Ch6
- dbw $07, Sfx_Psybeam_Ch8
+ musicheader 3, 5, Sfx_Psybeam_Ch5
+ musicheader 1, 6, Sfx_Psybeam_Ch6
+ musicheader 1, 8, Sfx_Psybeam_Ch8
; f0adc
Sfx_Charge: ; f0adc
- dbw $84, Sfx_Charge_Ch5
- dbw $05, Sfx_Charge_Ch6
- dbw $07, Sfx_Charge_Ch8
+ musicheader 3, 5, Sfx_Charge_Ch5
+ musicheader 1, 6, Sfx_Charge_Ch6
+ musicheader 1, 8, Sfx_Charge_Ch8
; f0ae5
Sfx_Thundershock: ; f0ae5
- dbw $84, Sfx_Thundershock_Ch5
- dbw $05, Sfx_Thundershock_Ch6
- dbw $07, Sfx_Thundershock_Ch8
+ musicheader 3, 5, Sfx_Thundershock_Ch5
+ musicheader 1, 6, Sfx_Thundershock_Ch6
+ musicheader 1, 8, Sfx_Thundershock_Ch8
; f0aee
Sfx_Psychic: ; f0aee
- dbw $84, Sfx_Psychic_Ch5
- dbw $05, Sfx_Psychic_Ch6
- dbw $07, Sfx_Psychic_Ch8
+ musicheader 3, 5, Sfx_Psychic_Ch5
+ musicheader 1, 6, Sfx_Psychic_Ch6
+ musicheader 1, 8, Sfx_Psychic_Ch8
; f0af7
Sfx_Screech: ; f0af7
- dbw $44, Sfx_Screech_Ch5
- dbw $05, Sfx_Screech_Ch6
+ musicheader 2, 5, Sfx_Screech_Ch5
+ musicheader 1, 6, Sfx_Screech_Ch6
; f0afd
Sfx_BoneClub: ; f0afd
- dbw $44, Sfx_BoneClub_Ch5
- dbw $05, Sfx_BoneClub_Ch6
+ musicheader 2, 5, Sfx_BoneClub_Ch5
+ musicheader 1, 6, Sfx_BoneClub_Ch6
; f0b03
Sfx_Sharpen: ; f0b03
- dbw $44, Sfx_Sharpen_Ch5
- dbw $05, Sfx_Sharpen_Ch6
+ musicheader 2, 5, Sfx_Sharpen_Ch5
+ musicheader 1, 6, Sfx_Sharpen_Ch6
; f0b09
Sfx_EggBomb: ; f0b09
- dbw $84, Sfx_EggBomb_Ch5
- dbw $05, Sfx_EggBomb_Ch6
- dbw $07, Sfx_EggBomb_Ch8
+ musicheader 3, 5, Sfx_EggBomb_Ch5
+ musicheader 1, 6, Sfx_EggBomb_Ch6
+ musicheader 1, 8, Sfx_EggBomb_Ch8
; f0b12
Sfx_Sing: ; f0b12
- dbw $44, Sfx_Sing_Ch5
- dbw $05, Sfx_Sing_Ch6
+ musicheader 2, 5, Sfx_Sing_Ch5
+ musicheader 1, 6, Sfx_Sing_Ch6
; f0b18
Sfx_HyperBeam: ; f0b18
- dbw $84, Sfx_HyperBeam_Ch5
- dbw $05, Sfx_HyperBeam_Ch6
- dbw $07, Sfx_HyperBeam_Ch8
+ musicheader 3, 5, Sfx_HyperBeam_Ch5
+ musicheader 1, 6, Sfx_HyperBeam_Ch6
+ musicheader 1, 8, Sfx_HyperBeam_Ch8
; f0b21
Sfx_Shine: ; f0b21
- dbw $04, Sfx_Shine_Ch5
+ musicheader 1, 5, Sfx_Shine_Ch5
; f0b24
Sfx_Unknown5F: ; f0b24
- dbw $84, Sfx_Unknown5F_Ch5
- dbw $05, Sfx_Unknown5F_Ch6
+ musicheader 3, 5, Sfx_Unknown5F_Ch5
+ musicheader 1, 6, Sfx_Unknown5F_Ch6
Sfx_Sandstorm: ; f0b2a
- dbw $07, Sfx_Sandstorm_Ch8
+ musicheader 1, 8, Sfx_Sandstorm_Ch8
; f0b2d
Sfx_HangUp: ; f0b2d
- dbw $04, Sfx_HangUp_Ch5
+ musicheader 1, 5, Sfx_HangUp_Ch5
; f0b30
Sfx_NoSignal: ; f0b30
- dbw $04, Sfx_NoSignal_Ch5
+ musicheader 1, 5, Sfx_NoSignal_Ch5
; f0b33
Sfx_Elevator: ; f0b33
- dbw $c4, Sfx_Elevator_Ch5
- dbw $05, Sfx_Elevator_Ch6
- dbw $06, Sfx_Elevator_Ch7
- dbw $07, Sfx_Elevator_Ch8
+ musicheader 4, 5, Sfx_Elevator_Ch5
+ musicheader 1, 6, Sfx_Elevator_Ch6
+ musicheader 1, 7, Sfx_Elevator_Ch7
+ musicheader 1, 8, Sfx_Elevator_Ch8
; f0b3f
Sfx_DexFanfare5079: ; f0b3f
Sfx_LevelUp: ; f0b3f
- dbw $c4, Sfx_DexFanfare5079_Ch5
- dbw $05, Sfx_DexFanfare5079_Ch6
- dbw $06, Sfx_DexFanfare5079_Ch7
- dbw $07, Sfx_DexFanfare5079_Ch8
+ musicheader 4, 5, Sfx_DexFanfare5079_Ch5
+ musicheader 1, 6, Sfx_DexFanfare5079_Ch6
+ musicheader 1, 7, Sfx_DexFanfare5079_Ch7
+ musicheader 1, 8, Sfx_DexFanfare5079_Ch8
; f0b4b
Sfx_DexFanfare5079_Ch5: ; f0b4b
@@ -553,10 +553,10 @@
; f0b86
Sfx_KeyItem: ; f0b86
- dbw $c4, Sfx_KeyItem_Ch5
- dbw $05, Sfx_KeyItem_Ch6
- dbw $06, Sfx_KeyItem_Ch7
- dbw $07, Sfx_KeyItem_Ch8
+ musicheader 4, 5, Sfx_KeyItem_Ch5
+ musicheader 1, 6, Sfx_KeyItem_Ch6
+ musicheader 1, 7, Sfx_KeyItem_Ch7
+ musicheader 1, 8, Sfx_KeyItem_Ch8
; f0b92
Sfx_KeyItem_Ch5: ; f0b92
@@ -623,10 +623,10 @@
; f0bd5
Sfx_DexFanfare2049: ; f0bd5
- dbw $c4, Sfx_DexFanfare2049_Ch5
- dbw $05, Sfx_DexFanfare2049_Ch6
- dbw $06, Sfx_DexFanfare2049_Ch7
- dbw $07, Sfx_DexFanfare2049_Ch8
+ musicheader 4, 5, Sfx_DexFanfare2049_Ch5
+ musicheader 1, 6, Sfx_DexFanfare2049_Ch6
+ musicheader 1, 7, Sfx_DexFanfare2049_Ch7
+ musicheader 1, 8, Sfx_DexFanfare2049_Ch8
; f0be1
Sfx_DexFanfare2049_Ch5: ; f0be1
@@ -707,10 +707,10 @@
; f0c2f
Sfx_Item: ; f0c2f
- dbw $c4, Sfx_Item_Ch5
- dbw $05, Sfx_Item_Ch6
- dbw $06, Sfx_Item_Ch7
- dbw $07, Sfx_Item_Ch8
+ musicheader 4, 5, Sfx_Item_Ch5
+ musicheader 1, 6, Sfx_Item_Ch6
+ musicheader 1, 7, Sfx_Item_Ch7
+ musicheader 1, 8, Sfx_Item_Ch8
; f0c3b
Sfx_Item_Ch5: ; f0c3b
@@ -786,10 +786,10 @@
; f0c89
Sfx_CaughtMon: ; f0c89
- dbw $c4, Sfx_CaughtMon_Ch5
- dbw $05, Sfx_CaughtMon_Ch6
- dbw $06, Sfx_CaughtMon_Ch7
- dbw $07, Sfx_CaughtMon_Ch8
+ musicheader 4, 5, Sfx_CaughtMon_Ch5
+ musicheader 1, 6, Sfx_CaughtMon_Ch6
+ musicheader 1, 7, Sfx_CaughtMon_Ch7
+ musicheader 1, 8, Sfx_CaughtMon_Ch8
; f0c95
Sfx_CaughtMon_Ch5: ; f0c95
@@ -868,10 +868,10 @@
; f0cea
Sfx_DexFanfare80109: ; f0cea
- dbw $c4, Sfx_DexFanfare80109_Ch5
- dbw $05, Sfx_DexFanfare80109_Ch6
- dbw $06, Sfx_DexFanfare80109_Ch7
- dbw $07, Sfx_DexFanfare80109_Ch8
+ musicheader 4, 5, Sfx_DexFanfare80109_Ch5
+ musicheader 1, 6, Sfx_DexFanfare80109_Ch6
+ musicheader 1, 7, Sfx_DexFanfare80109_Ch7
+ musicheader 1, 8, Sfx_DexFanfare80109_Ch8
; f0cf6
Sfx_DexFanfare80109_Ch5: ; f0cf6
@@ -963,16 +963,16 @@
; f0d56
Sfx_Fanfare2: ; f0d56
- dbw $84, Sfx_Fanfare2_Ch5
- dbw $05, Sfx_Fanfare2_Ch6
- dbw $07, Sfx_Fanfare2_Ch8
+ musicheader 3, 5, Sfx_Fanfare2_Ch5
+ musicheader 1, 6, Sfx_Fanfare2_Ch6
+ musicheader 1, 8, Sfx_Fanfare2_Ch8
; f0d5f
UnknownSfx: ; f0d5f
- dbw $c4, UnknownSfx_Ch5
- dbw $05, UnknownSfx_Ch6
- dbw $06, UnknownSfx_Ch7
- dbw $07, UnknownSfx_Ch8
+ musicheader 4, 5, UnknownSfx_Ch5
+ musicheader 1, 6, UnknownSfx_Ch6
+ musicheader 1, 7, UnknownSfx_Ch7
+ musicheader 1, 8, UnknownSfx_Ch8
; f0d6b
UnknownSfx_Ch5: ; f0d6b
@@ -1051,16 +1051,16 @@
; f0dbe
Sfx_Fanfare: ; f0dbe
- dbw $84, Sfx_Fanfare_Ch5
- dbw $05, Sfx_Fanfare_Ch6
- dbw $07, Sfx_Fanfare_Ch8
+ musicheader 3, 5, Sfx_Fanfare_Ch5
+ musicheader 1, 6, Sfx_Fanfare_Ch6
+ musicheader 1, 8, Sfx_Fanfare_Ch8
; f0dc7
Sfx_RegisterPhoneNumber: ; f0dc7
- dbw $c4, Sfx_RegisterPhoneNumber_Ch5
- dbw $05, Sfx_RegisterPhoneNumber_Ch6
- dbw $06, Sfx_RegisterPhoneNumber_Ch7
- dbw $07, Sfx_RegisterPhoneNumber_Ch8
+ musicheader 4, 5, Sfx_RegisterPhoneNumber_Ch5
+ musicheader 1, 6, Sfx_RegisterPhoneNumber_Ch6
+ musicheader 1, 7, Sfx_RegisterPhoneNumber_Ch7
+ musicheader 1, 8, Sfx_RegisterPhoneNumber_Ch8
; f0dd3
Sfx_RegisterPhoneNumber_Ch5: ; f0dd3
@@ -1088,7 +1088,7 @@
endchannel
; f0def
- db $df
+ togglesfx
Sfx_RegisterPhoneNumber_Ch6: ; f0df0
togglesfx
@@ -1113,7 +1113,7 @@
endchannel
; f0e07
- db $df
+ togglesfx
Sfx_RegisterPhoneNumber_Ch7: ; f0e08
togglesfx
@@ -1135,7 +1135,7 @@
endchannel
; f0e1b
- db $df
+ togglesfx
Sfx_RegisterPhoneNumber_Ch8: ; f0e1c
togglesfx
@@ -1147,12 +1147,12 @@
endchannel
; f0e25
- db $df
+ togglesfx
Sfx_3RdPlace: ; f0e26
- dbw $84, Sfx_3RdPlace_Ch5
- dbw $05, Sfx_3RdPlace_Ch6
- dbw $06, Sfx_3RdPlace_Ch7
+ musicheader 3, 5, Sfx_3RdPlace_Ch5
+ musicheader 1, 6, Sfx_3RdPlace_Ch6
+ musicheader 1, 7, Sfx_3RdPlace_Ch7
; f0e2f
Sfx_3RdPlace_Ch5: ; f0e2f
@@ -1173,7 +1173,7 @@
endchannel
; f0e44
- db $df
+ togglesfx
Sfx_3RdPlace_Ch6: ; f0e45
togglesfx
@@ -1191,7 +1191,7 @@
endchannel
; f0e55
- db $df
+ togglesfx
Sfx_3RdPlace_Ch7: ; f0e56
togglesfx
@@ -1209,14 +1209,14 @@
endchannel
; f0e65
- db $df
+ togglesfx
Sfx_GetEggFromDaycareLady: ; f0e66
Sfx_GetEggFromDaycareMan: ; f0e66
- dbw $c4, Sfx_GetEggFromDaycareLady_Ch5
- dbw $05, Sfx_GetEggFromDaycareLady_Ch6
- dbw $06, Sfx_GetEggFromDaycareLady_Ch7
- dbw $07, Sfx_GetEggFromDaycareLady_Ch8
+ musicheader 4, 5, Sfx_GetEggFromDaycareLady_Ch5
+ musicheader 1, 6, Sfx_GetEggFromDaycareLady_Ch6
+ musicheader 1, 7, Sfx_GetEggFromDaycareLady_Ch7
+ musicheader 1, 8, Sfx_GetEggFromDaycareLady_Ch8
; f0e72
Sfx_GetEggFromDaycareLady_Ch5: ; f0e72
@@ -1251,7 +1251,7 @@
endchannel
; f0e9a
- db $df
+ togglesfx
Sfx_GetEggFromDaycareLady_Ch6: ; f0e9b
Sfx_GetEggFromDaycareMan_Ch6: ; f0e9b
@@ -1282,7 +1282,7 @@
endchannel
; f0ebd
- db $df
+ togglesfx
Sfx_GetEggFromDaycareLady_Ch7: ; f0ebe
Sfx_GetEggFromDaycareMan_Ch7: ; f0ebe
@@ -1303,7 +1303,7 @@
endchannel
; f0ecf
- db $df
+ togglesfx
Sfx_GetEggFromDaycareLady_Ch8: ; f0ed0
Sfx_GetEggFromDaycareMan_Ch8: ; f0ed0
@@ -1317,13 +1317,13 @@
endchannel
; f0edb
- db $df
+ togglesfx
Sfx_MoveDeleted: ; f0edc
- dbw $c4, Sfx_MoveDeleted_Ch5
- dbw $05, Sfx_MoveDeleted_Ch6
- dbw $06, Sfx_MoveDeleted_Ch7
- dbw $07, Sfx_MoveDeleted_Ch8
+ musicheader 4, 5, Sfx_MoveDeleted_Ch5
+ musicheader 1, 6, Sfx_MoveDeleted_Ch6
+ musicheader 1, 7, Sfx_MoveDeleted_Ch7
+ musicheader 1, 8, Sfx_MoveDeleted_Ch8
; f0ee8
Sfx_MoveDeleted_Ch5: ; f0ee8
@@ -1355,7 +1355,7 @@
endchannel
; f0f0c
- db $df
+ togglesfx
Sfx_MoveDeleted_Ch6: ; f0f0d
togglesfx
@@ -1392,7 +1392,7 @@
endchannel
; f0f36
- db $df
+ togglesfx
Sfx_MoveDeleted_Ch7: ; f0f37
togglesfx
@@ -1420,7 +1420,7 @@
endchannel
; f0f52
- db $df
+ togglesfx
Sfx_MoveDeleted_Ch8: ; f0f53
togglesfx
@@ -1433,13 +1433,13 @@
endchannel
; f0f5d
- db $df
+ togglesfx
Sfx_2ndPlace: ; f0f5e
- dbw $c4, Sfx_2ndPlace_Ch5
- dbw $05, Sfx_2ndPlace_Ch6
- dbw $06, Sfx_2ndPlace_Ch7
- dbw $07, Sfx_2ndPlace_Ch8
+ musicheader 4, 5, Sfx_2ndPlace_Ch5
+ musicheader 1, 6, Sfx_2ndPlace_Ch6
+ musicheader 1, 7, Sfx_2ndPlace_Ch7
+ musicheader 1, 8, Sfx_2ndPlace_Ch8
; f0f6a
Sfx_2ndPlace_Ch5: ; f0f6a
@@ -1475,7 +1475,7 @@
endchannel
; f0f91
- db $df
+ togglesfx
Sfx_2ndPlace_Ch6: ; f0f92
togglesfx
@@ -1500,7 +1500,7 @@
endchannel
; f0fac
- db $df
+ togglesfx
Sfx_2ndPlace_Ch7: ; f0fad
togglesfx
@@ -1539,7 +1539,7 @@
endchannel
; f0fd1
- db $df
+ togglesfx
Sfx_2ndPlace_Ch8: ; f0fd2
togglesfx
@@ -1555,13 +1555,13 @@
endchannel
; f0fe1
- db $df
+ togglesfx
Sfx_1stPlace: ; f0fe2
- dbw $c4, Sfx_1stPlace_Ch5
- dbw $05, Sfx_1stPlace_Ch6
- dbw $06, Sfx_1stPlace_Ch7
- dbw $07, Sfx_1stPlace_Ch8
+ musicheader 4, 5, Sfx_1stPlace_Ch5
+ musicheader 1, 6, Sfx_1stPlace_Ch6
+ musicheader 1, 7, Sfx_1stPlace_Ch7
+ musicheader 1, 8, Sfx_1stPlace_Ch8
; f0fee
Sfx_1stPlace_Ch5: ; f0fee
@@ -1604,7 +1604,7 @@
endchannel
; f101f
- db $df
+ togglesfx
Sfx_1stPlace_Ch6: ; f1020
togglesfx
@@ -1629,7 +1629,7 @@
endchannel
; f103c
- db $df
+ togglesfx
Sfx_1stPlace_Ch7: ; f103d
togglesfx
@@ -1654,7 +1654,7 @@
endchannel
; f1053
- db $df
+ togglesfx
Sfx_1stPlace_Ch8: ; f1054
togglesfx
@@ -1676,13 +1676,13 @@
endchannel
; f1068
- db $df
+ togglesfx
Sfx_ChooseACard: ; f1069
- dbw $c4, Sfx_ChooseACard_Ch5
- dbw $05, Sfx_ChooseACard_Ch6
- dbw $06, Sfx_ChooseACard_Ch7
- dbw $07, Sfx_ChooseACard_Ch8
+ musicheader 4, 5, Sfx_ChooseACard_Ch5
+ musicheader 1, 6, Sfx_ChooseACard_Ch6
+ musicheader 1, 7, Sfx_ChooseACard_Ch7
+ musicheader 1, 8, Sfx_ChooseACard_Ch8
; f1075
Sfx_ChooseACard_Ch5: ; f1075
@@ -1730,7 +1730,7 @@
endchannel
; f10a8
- db $df
+ togglesfx
Sfx_ChooseACard_Ch6: ; f10a9
togglesfx
@@ -1763,7 +1763,7 @@
endchannel
; f10c8
- db $df
+ togglesfx
Sfx_ChooseACard_Ch7: ; f10c9
togglesfx
@@ -1800,7 +1800,7 @@
endchannel
; f10eb
- db $df
+ togglesfx
Sfx_ChooseACard_Ch8: ; f10ec
togglesfx
@@ -1826,13 +1826,13 @@
endchannel
; f1103
- db $df
+ togglesfx
Sfx_GetTm: ; f1104
- dbw $c4, Sfx_GetTm_Ch5
- dbw $05, Sfx_GetTm_Ch6
- dbw $06, Sfx_GetTm_Ch7
- dbw $07, Sfx_GetTm_Ch8
+ musicheader 4, 5, Sfx_GetTm_Ch5
+ musicheader 1, 6, Sfx_GetTm_Ch6
+ musicheader 1, 7, Sfx_GetTm_Ch7
+ musicheader 1, 8, Sfx_GetTm_Ch8
; f1110
Sfx_GetTm_Ch5: ; f1110
@@ -1860,7 +1860,7 @@
endchannel
; f1130
- db $df
+ togglesfx
Sfx_GetTm_Ch6: ; f1131
togglesfx
@@ -1884,7 +1884,7 @@
endchannel
; f114b
- db $df
+ togglesfx
Sfx_GetTm_Ch7: ; f114c
togglesfx
@@ -1916,7 +1916,7 @@
endchannel
; f1169
- db $df
+ togglesfx
Sfx_GetTm_Ch8: ; f116a
togglesfx
@@ -1937,13 +1937,13 @@
endchannel
; f117c
- db $df
+ togglesfx
Sfx_GetBadge: ; f117d
- dbw $c4, Sfx_GetBadge_Ch5
- dbw $05, Sfx_GetBadge_Ch6
- dbw $06, Sfx_GetBadge_Ch7
- dbw $07, Sfx_GetBadge_Ch8
+ musicheader 4, 5, Sfx_GetBadge_Ch5
+ musicheader 1, 6, Sfx_GetBadge_Ch6
+ musicheader 1, 7, Sfx_GetBadge_Ch7
+ musicheader 1, 8, Sfx_GetBadge_Ch8
; f1189
Sfx_GetBadge_Ch5: ; f1189
@@ -1966,7 +1966,7 @@
endchannel
; f11a9
- db $df
+ togglesfx
Sfx_GetBadge_branch_f11aa: ; f11aa
note __, 5
@@ -2039,7 +2039,7 @@
endchannel
; f11f4
- db $df
+ togglesfx
Sfx_GetBadge_Ch7: ; f11f5
togglesfx
@@ -2079,7 +2079,7 @@
endchannel
; f121a
- db $df
+ togglesfx
Sfx_GetBadge_Ch8: ; f121b
togglesfx
@@ -2106,13 +2106,13 @@
endchannel
; f1235
- db $df
+ togglesfx
Sfx_QuitSlots: ; f1236
- dbw $c4, Sfx_QuitSlots_Ch5
- dbw $05, Sfx_QuitSlots_Ch6
- dbw $06, Sfx_QuitSlots_Ch7
- dbw $07, Sfx_QuitSlots_Ch8
+ musicheader 4, 5, Sfx_QuitSlots_Ch5
+ musicheader 1, 6, Sfx_QuitSlots_Ch6
+ musicheader 1, 7, Sfx_QuitSlots_Ch7
+ musicheader 1, 8, Sfx_QuitSlots_Ch8
; f1242
Sfx_QuitSlots_Ch5: ; f1242
@@ -2146,7 +2146,7 @@
endchannel
; f1265
- db $df
+ togglesfx
Sfx_QuitSlots_Ch6: ; f1266
togglesfx
@@ -2174,7 +2174,7 @@
endchannel
; f1282
- db $df
+ togglesfx
Sfx_QuitSlots_Ch7: ; f1283
togglesfx
@@ -2206,7 +2206,7 @@
endchannel
; f12a0
- db $df
+ togglesfx
Sfx_QuitSlots_Ch8: ; f12a1
togglesfx
@@ -2227,11 +2227,11 @@
endchannel
; f12b3
- db $df
+ togglesfx
Sfx_Protect: ; f12b4
- dbw $44, Sfx_Protect_Ch5
- dbw $07, Sfx_Protect_Ch8
+ musicheader 2, 5, Sfx_Protect_Ch5
+ musicheader 1, 8, Sfx_Protect_Ch8
; f12ba
Sfx_Protect_Ch5: ; f12ba
@@ -2273,16 +2273,16 @@
Sfx_Protect_Ch8: ; f12e5
Sfx_Protect_branch_f12e5: ; f12e5
- noise $9, $9e, $0
- noise $9, $be, $11
+ noise __, 10, $9e, $0
+ noise __, 10, $be, $11
loopchannel 6, Sfx_Protect_branch_f12e5
- noise $9, $a7, $0
- noise $10, $75, $11
+ noise __, 10, $a7, $0
+ noise C_, 1, $75, $11
endchannel
; f12f6
Sfx_Sketch: ; f12f6
- dbw $04, Sfx_Sketch_Ch5
+ musicheader 1, 5, Sfx_Sketch_Ch5
; f12f9
Sfx_Sketch_Ch5: ; f12f9
@@ -2289,10 +2289,10 @@
dutycycle $1
soundinput $a5
Sfx_Sketch_branch_f12fd: ; f12fd
- sound $2, $f1, $06e0
- sound $d, $af, $05b0
- sound $4, $0, 0
- sound $9, $f4, $0718
+ sound __, 3, $f1, $06e0
+ sound __, 14, $af, $05b0
+ sound __, 5, $0, 0
+ sound __, 10, $f4, $0718
loopchannel 3, Sfx_Sketch_branch_f12fd
soundinput $8
endchannel
@@ -2299,111 +2299,111 @@
; f1314
Sfx_RainDance: ; f1314
- dbw $07, Sfx_RainDance_Ch8
+ musicheader 1, 8, Sfx_RainDance_Ch8
; f1317
Sfx_RainDance_Ch8: ; f1317
Sfx_RainDance_branch_f1317: ; f1317
- noise $b, $7d, $50
- noise $6, $7d, $4f
- noise $b, $7f, $47
- noise $f, $6e, $22
+ noise __, 12, $7d, $50
+ noise __, 7, $7d, $4f
+ noise __, 12, $7f, $47
+ noise __, 16, $6e, $22
loopchannel 3, Sfx_RainDance_branch_f1317
- noise $6, $6d, $50
- noise $5, $5d, $4f
- noise $5, $4f, $47
- noise $a, $32, $46
+ noise __, 7, $6d, $50
+ noise __, 6, $5d, $4f
+ noise __, 6, $4f, $47
+ noise __, 11, $32, $46
endchannel
; f1334
Sfx_Aeroblast: ; f1334
- dbw $44, Sfx_Aeroblast_Ch5
- dbw $07, Sfx_Aeroblast_Ch8
+ musicheader 2, 5, Sfx_Aeroblast_Ch5
+ musicheader 1, 8, Sfx_Aeroblast_Ch8
; f133a
Sfx_Aeroblast_Ch5: ; f133a
unknownmusic0xde $f2
soundinput $f5
- sound $1c, $f8, $0580
+ sound C_, 13, $f8, $0580
soundinput $8
endchannel
; f1345
Sfx_Aeroblast_Ch8: ; f1345
- noise $4, $f8, $6c
- noise $4, $c8, $5c
- noise $4, $78, $5b
- noise $10, $31, $5a
+ noise __, 5, $f8, $6c
+ noise __, 5, $c8, $5c
+ noise __, 5, $78, $5b
+ noise C_, 1, $31, $5a
endchannel
; f1352
Sfx_Spark: ; f1352
- dbw $07, Sfx_Spark_Ch8
+ musicheader 1, 8, Sfx_Spark_Ch8
; f1355
Sfx_Spark_Ch8: ; f1355
Sfx_Spark_branch_f1355: ; f1355
- noise $4, $f8, $5d
- noise $4, $d8, $6f
+ noise __, 5, $f8, $5d
+ noise __, 5, $d8, $6f
loopchannel 2, Sfx_Spark_branch_f1355
endchannel
; f1360
Sfx_Curse: ; f1360
- dbw $44, Sfx_Curse_Ch5
- dbw $07, Sfx_Curse_Ch8
+ musicheader 2, 5, Sfx_Curse_Ch5
+ musicheader 1, 8, Sfx_Curse_Ch8
; f1366
Sfx_Curse_Ch5: ; f1366
dutycycle $3
- sound $4, $f2, $0483
- sound $4, $f2, $0511
- sound $4, $f2, $0589
- sound $4, $f2, $05ed
+ sound __, 5, $f2, $0483
+ sound __, 5, $f2, $0511
+ sound __, 5, $f2, $0589
+ sound __, 5, $f2, $05ed
endchannel
; f1379
Sfx_Curse_Ch8: ; f1379
- noise $14, $9a, $9
+ noise C_, 5, $9a, $9
endchannel
; f137d
Sfx_Rage: ; f137d
- dbw $44, Sfx_Rage_Ch5
- dbw $07, Sfx_Rage_Ch8
+ musicheader 2, 5, Sfx_Rage_Ch5
+ musicheader 1, 8, Sfx_Rage_Ch8
; f1383
Sfx_Rage_Ch5: ; f1383
dutycycle $0
- sound $3, $d1, $07b0
- sound $3, $d1, $07c2
- sound $18, $d2, $07d5
+ sound __, 4, $d1, $07b0
+ sound __, 4, $d1, $07c2
+ sound C_, 9, $d2, $07d5
endchannel
; f1392
Sfx_Rage_Ch8: ; f1392
- noise $3, $f4, $1a
- noise $3, $f4, $19
- noise $18, $f2, $18
+ noise __, 4, $f4, $1a
+ noise __, 4, $f4, $19
+ noise C_, 9, $f2, $18
endchannel
; f139c
Sfx_Thief: ; f139c
- dbw $07, Sfx_Thief_Ch8
+ musicheader 1, 8, Sfx_Thief_Ch8
; f139f
Sfx_Thief_Ch8: ; f139f
Sfx_Thief_branch_f139f: ; f139f
- noise $0, $0, $0
- noise $4, $e1, $12
- noise $0, $0, $0
- noise $2, $b1, $22
+ noise __, 1, $0, $0
+ noise __, 5, $e1, $12
+ noise __, 1, $0, $0
+ noise __, 3, $b1, $22
loopchannel 2, Sfx_Thief_branch_f139f
endchannel
; f13b0
Sfx_Thief2: ; f13b0
- dbw $04, Sfx_Thief2_Ch5
+ musicheader 1, 5, Sfx_Thief2_Ch5
; f13b3
Sfx_Thief2_Ch5: ; f13b3
@@ -2427,32 +2427,32 @@
; f13ca
Sfx_SpiderWeb: ; f13ca
- dbw $44, Sfx_SpiderWeb_Ch5
- dbw $07, Sfx_SpiderWeb_Ch8
+ musicheader 2, 5, Sfx_SpiderWeb_Ch5
+ musicheader 1, 8, Sfx_SpiderWeb_Ch8
; f13d0
Sfx_SpiderWeb_Ch5: ; f13d0
dutycycle $0
- sound $20, $7f, $0720
+ sound C#, 1, $7f, $0720
soundinput $95
- sound $4, $f8, $0620
- sound $4, $e8, $0630
- sound $4, $d8, $0640
- sound $4, $95, $0620
- sound $4, $73, $0630
- sound $4, $51, $0640
+ sound __, 5, $f8, $0620
+ sound __, 5, $e8, $0630
+ sound __, 5, $d8, $0640
+ sound __, 5, $95, $0620
+ sound __, 5, $73, $0630
+ sound __, 5, $51, $0640
soundinput $8
endchannel
; f13f3
Sfx_SpiderWeb_Ch8: ; f13f3
- noise $20, $ef, $0
+ noise C#, 1, $ef, $0
endchannel
; f13f7
Sfx_MindReader: ; f13f7
- dbw $44, Sfx_MindReader_Ch5
- dbw $07, Sfx_MindReader_Ch8
+ musicheader 2, 5, Sfx_MindReader_Ch5
+ musicheader 1, 8, Sfx_MindReader_Ch8
; f13fd
Sfx_MindReader_Ch5: ; f13fd
@@ -2476,13 +2476,13 @@
; f1416
Sfx_MindReader_Ch8: ; f1416
- noise $11, $af, $19
- noise $12, $af, $18
+ noise C_, 2, $af, $19
+ noise C_, 3, $af, $18
endchannel
; f141d
Sfx_Nightmare: ; f141d
- dbw $04, Sfx_Nightmare_Ch5
+ musicheader 1, 5, Sfx_Nightmare_Ch5
; f1420
Sfx_Nightmare_Ch5: ; f1420
@@ -2489,16 +2489,16 @@
dutycycle $0
soundinput $34
Sfx_Nightmare_branch_f1424: ; f1424
- sound $3, $ba, $0631
- sound $2, $0, 0
- sound $3, $f8, $0621
- sound $2, $0, 0
- sound $3, $f8, $0611
- sound $2, $0, 0
- sound $3, $e8, $0601
- sound $2, $0, 0
- sound $3, $e8, $05f1
- sound $2, $0, 0
+ sound __, 4, $ba, $0631
+ sound __, 3, $0, 0
+ sound __, 4, $f8, $0621
+ sound __, 3, $0, 0
+ sound __, 4, $f8, $0611
+ sound __, 3, $0, 0
+ sound __, 4, $e8, $0601
+ sound __, 3, $0, 0
+ sound __, 4, $e8, $05f1
+ sound __, 3, $0, 0
loopchannel 2, Sfx_Nightmare_branch_f1424
soundinput $8
endchannel
@@ -2505,123 +2505,123 @@
; f1453
Sfx_Snore: ; f1453
- dbw $07, Sfx_Snore_Ch8
+ musicheader 1, 8, Sfx_Snore_Ch8
; f1456
Sfx_Snore_Ch8: ; f1456
- noise $2, $ea, $4b
- noise $2, $ea, $5b
- noise $2, $0, $0
- noise $4, $ee, $47
- noise $4, $ee, $46
- noise $4, $ee, $45
+ noise __, 3, $ea, $4b
+ noise __, 3, $ea, $5b
+ noise __, 3, $0, $0
+ noise __, 5, $ee, $47
+ noise __, 5, $ee, $46
+ noise __, 5, $ee, $45
endchannel
; f1469
Sfx_SweetKiss: ; f1469
- dbw $04, Sfx_SweetKiss_Ch5
+ musicheader 1, 5, Sfx_SweetKiss_Ch5
; f146c
Sfx_SweetKiss_Ch5: ; f146c
dutycycle $2
Sfx_SweetKiss_branch_f146e: ; f146e
- sound $2, $c1, $07c8
- sound $2, $d1, $07da
+ sound __, 3, $c1, $07c8
+ sound __, 3, $d1, $07da
loopchannel 2, Sfx_SweetKiss_branch_f146e
- sound $1a, $f1, $07e2
+ sound C_, 11, $f1, $07e2
endchannel
; f147f
Sfx_SweetKiss2: ; f147f
- dbw $04, Sfx_SweetKiss2_Ch5
+ musicheader 1, 5, Sfx_SweetKiss2_Ch5
; f1482
Sfx_SweetKiss2_Ch5: ; f1482
dutycycle $0
soundinput $97
- sound $2, $f4, $0772
- sound $4, $0, 0
- sound $2, $c4, $0772
- sound $4, $0, 0
- sound $2, $b4, $0772
- sound $4, $0, 0
- sound $2, $a1, $0772
+ sound __, 3, $f4, $0772
+ sound __, 5, $0, 0
+ sound __, 3, $c4, $0772
+ sound __, 5, $0, 0
+ sound __, 3, $b4, $0772
+ sound __, 5, $0, 0
+ sound __, 3, $a1, $0772
soundinput $8
endchannel
; f14a5
Sfx_BellyDrum: ; f14a5
- dbw $44, Sfx_BellyDrum_Ch5
- dbw $07, Sfx_BellyDrum_Ch8
+ musicheader 2, 5, Sfx_BellyDrum_Ch5
+ musicheader 1, 8, Sfx_BellyDrum_Ch8
; f14ab
Sfx_BellyDrum_Ch5: ; f14ab
dutycycle $2
soundinput $ac
- sound $c, $f1, $05a3
+ sound __, 13, $f1, $05a3
soundinput $8
endchannel
; f14b6
Sfx_BellyDrum_Ch8: ; f14b6
- noise $c, $b1, $6c
+ noise __, 13, $b1, $6c
endchannel
; f14ba
Sfx_Unknown7F: ; f14ba
- dbw $04, Sfx_Unknown7F_Ch5
+ musicheader 1, 5, Sfx_Unknown7F_Ch5
; f14bd
Sfx_Unknown7F_Ch5: ; f14bd
dutycycle $2
soundinput $95
- sound $2, $c9, $03b3
- sound $5, $f8, $0463
- sound $4, $d1, $0543
+ sound __, 3, $c9, $03b3
+ sound __, 6, $f8, $0463
+ sound __, 5, $d1, $0543
soundinput $8
endchannel
; f14d0
Sfx_SludgeBomb: ; f14d0
- dbw $44, Sfx_SludgeBomb_Ch5
- dbw $07, Sfx_SludgeBomb_Ch8
+ musicheader 2, 5, Sfx_SludgeBomb_Ch5
+ musicheader 1, 8, Sfx_SludgeBomb_Ch8
; f14d6
Sfx_SludgeBomb_Ch5: ; f14d6
dutycycle $2
soundinput $c5
- sound $3, $f8, $0581
- sound $1, $0, 0
+ sound __, 4, $f8, $0581
+ sound __, 2, $0, 0
soundinput $cb
- sound $10, $f2, $05d1
+ sound C_, 1, $f2, $05d1
soundinput $8
endchannel
; f14eb
Sfx_SludgeBomb_Ch8: ; f14eb
- noise $3, $e2, $6e
- noise $1, $0, $0
- noise $10, $e2, $6d
+ noise __, 4, $e2, $6e
+ noise __, 2, $0, $0
+ noise C_, 1, $e2, $6d
endchannel
; f14f5
Sfx_Foresight: ; f14f5
- dbw $04, Sfx_Foresight_Ch5
+ musicheader 1, 5, Sfx_Foresight_Ch5
; f14f8
Sfx_Foresight_Ch5: ; f14f8
- sound $3, $f4, $07b5
- sound $3, $f5, $07c8
- sound $8, $f4, $07da
- sound $2, $0, 0
- sound $8, $c1, $07da
- sound $2, $0, 0
- sound $8, $91, $07da
+ sound __, 4, $f4, $07b5
+ sound __, 4, $f5, $07c8
+ sound __, 9, $f4, $07da
+ sound __, 3, $0, 0
+ sound __, 9, $c1, $07da
+ sound __, 3, $0, 0
+ sound __, 9, $91, $07da
endchannel
; f1515
Sfx_Spite: ; f1515
- dbw $04, Sfx_Spite_Ch5
+ musicheader 1, 5, Sfx_Spite_Ch5
; f1518
Sfx_Spite_Ch5: ; f1518
@@ -2652,21 +2652,21 @@
; f153a
Sfx_Outrage: ; f153a
- dbw $07, Sfx_Outrage_Ch8
+ musicheader 1, 8, Sfx_Outrage_Ch8
; f153d
Sfx_Outrage_Ch8: ; f153d
- noise $b, $ea, $6c
- noise $b, $ea, $6b
- noise $b, $ea, $6a
- noise $b, $ea, $69
- noise $b, $e1, $59
+ noise __, 12, $ea, $6c
+ noise __, 12, $ea, $6b
+ noise __, 12, $ea, $6a
+ noise __, 12, $ea, $69
+ noise __, 12, $e1, $59
endchannel
; f154d
Sfx_PerishSong: ; f154d
- dbw $44, Sfx_PerishSong_Ch5
- dbw $05, Sfx_PerishSong_Ch6
+ musicheader 2, 5, Sfx_PerishSong_Ch5
+ musicheader 1, 6, Sfx_PerishSong_Ch6
; f1553
Sfx_PerishSong_Ch5: ; f1553
@@ -2695,113 +2695,113 @@
; f1570
Sfx_GigaDrain: ; f1570
- dbw $44, Sfx_GigaDrain_Ch5
- dbw $07, Sfx_GigaDrain_Ch8
+ musicheader 2, 5, Sfx_GigaDrain_Ch5
+ musicheader 1, 8, Sfx_GigaDrain_Ch8
; f1576
Sfx_GigaDrain_Ch5: ; f1576
dutycycle $2
soundinput $97
- sound $4, $f8, $0680
- sound $14, $f8, $0680
- sound $14, $c8, $0660
- sound $14, $a8, $0670
- sound $14, $88, $0680
- sound $14, $f8, $0561
- sound $14, $c8, $0541
- sound $14, $a8, $0521
- sound $14, $88, $0511
+ sound __, 5, $f8, $0680
+ sound C_, 5, $f8, $0680
+ sound C_, 5, $c8, $0660
+ sound C_, 5, $a8, $0670
+ sound C_, 5, $88, $0680
+ sound C_, 5, $f8, $0561
+ sound C_, 5, $c8, $0541
+ sound C_, 5, $a8, $0521
+ sound C_, 5, $88, $0511
soundinput $8
endchannel
; f15a1
Sfx_GigaDrain_Ch8: ; f15a1
- noise $4, $c8, $44
- noise $14, $c8, $50
- noise $14, $c8, $52
- noise $14, $c8, $54
- noise $14, $c8, $56
- noise $40, $c7, $57
+ noise __, 5, $c8, $44
+ noise C_, 5, $c8, $50
+ noise C_, 5, $c8, $52
+ noise C_, 5, $c8, $54
+ noise C_, 5, $c8, $56
+ noise D#, 1, $c7, $57
endchannel
; f15b4
Sfx_Attract: ; f15b4
- dbw $04, Sfx_Attract_Ch5
+ musicheader 1, 5, Sfx_Attract_Ch5
; f15b7
Sfx_Attract_Ch5: ; f15b7
dutycycle $0
soundinput $77
- sound $4, $a9, $06f0
- sound $c, $f8, $0720
+ sound __, 5, $a9, $06f0
+ sound __, 13, $f8, $0720
soundinput $7f
- sound $8, $f1, $0740
+ sound __, 9, $f1, $0740
soundinput $8
endchannel
; f15cc
Sfx_Kinesis2: ; f15cc
- dbw $04, Sfx_Kinesis2_Ch5
+ musicheader 1, 5, Sfx_Kinesis2_Ch5
; f15cf
Sfx_Kinesis2_Ch5: ; f15cf
dutycycle $0
- sound $2, $f3, $0796
- sound $2, $23, $0796
- sound $14, $f1, $07c4
+ sound __, 3, $f3, $0796
+ sound __, 3, $23, $0796
+ sound C_, 5, $f1, $07c4
endchannel
; f15de
Sfx_ZapCannon: ; f15de
- dbw $07, Sfx_ZapCannon_Ch8
+ musicheader 1, 8, Sfx_ZapCannon_Ch8
; f15e1
Sfx_ZapCannon_Ch8: ; f15e1
Sfx_ZapCannon_branch_f15e1: ; f15e1
- noise $2, $e1, $49
- noise $0, $0, $0
+ noise __, 3, $e1, $49
+ noise __, 1, $0, $0
loopchannel 8, Sfx_ZapCannon_branch_f15e1
- noise $8, $e1, $49
+ noise __, 9, $e1, $49
endchannel
; f15ef
Sfx_MeanLook: ; f15ef
- dbw $04, Sfx_MeanLook_Ch5
+ musicheader 1, 5, Sfx_MeanLook_Ch5
; f15f2
Sfx_MeanLook_Ch5: ; f15f2
soundinput $77
dutycycle $3
- sound $2, $f8, $0720
+ sound __, 3, $f8, $0720
Sfx_MeanLook_branch_f15fa: ; f15fa
- sound $1, $88, $0660
- sound $2, $f8, $0790
+ sound __, 2, $88, $0660
+ sound __, 3, $f8, $0790
loopchannel 5, Sfx_MeanLook_branch_f15fa
- sound $c, $f8, $0700
- sound $c, $c8, $0720
- sound $c, $a8, $0700
- sound $c, $78, $0720
- sound $c, $48, $0700
- sound $c, $28, $0720
+ sound __, 13, $f8, $0700
+ sound __, 13, $c8, $0720
+ sound __, 13, $a8, $0700
+ sound __, 13, $78, $0720
+ sound __, 13, $48, $0700
+ sound __, 13, $28, $0720
soundinput $8
endchannel
; f1621
Sfx_HealBell: ; f1621
- dbw $04, Sfx_HealBell_Ch5
+ musicheader 1, 5, Sfx_HealBell_Ch5
; f1624
Sfx_HealBell_Ch5: ; f1624
dutycycle $1
- sound $1, $f1, $07da
- sound $1, $d1, $07d9
- sound $1, $f1, $07da
- sound $8, $d1, $07db
+ sound __, 2, $f1, $07da
+ sound __, 2, $d1, $07d9
+ sound __, 2, $f1, $07da
+ sound __, 9, $d1, $07db
endchannel
; f1637
Sfx_Return: ; f1637
- dbw $04, Sfx_Return_Ch5
+ musicheader 1, 5, Sfx_Return_Ch5
; f163a
Sfx_Return_Ch5: ; f163a
@@ -2808,10 +2808,10 @@
dutycycle $0
Sfx_Return_branch_f163c: ; f163c
soundinput $bf
- sound $8, $f1, $0759
+ sound __, 9, $f1, $0759
soundinput $57
- sound $8, $f1, $0759
- sound $10, $0, 0
+ sound __, 9, $f1, $0759
+ sound C_, 1, $0, 0
loopchannel 2, Sfx_Return_branch_f163c
soundinput $8
endchannel
@@ -2818,27 +2818,27 @@
; f1653
Sfx_ExpBar: ; f1653
- dbw $04, Sfx_ExpBar_Ch5
+ musicheader 1, 5, Sfx_ExpBar_Ch5
; f1656
Sfx_ExpBar_Ch5: ; f1656
dutycycle $2
soundinput $d7
- sound $8, $e1, $0750
+ sound __, 9, $e1, $0750
soundinput $e7
- sound $8, $48, $06e0
- sound $8, $58, $06f8
- sound $8, $68, $0710
- sound $8, $78, $0728
- sound $8, $88, $0740
- sound $8, $98, $0758
- sound $10, $a8, $0770
+ sound __, 9, $48, $06e0
+ sound __, 9, $58, $06f8
+ sound __, 9, $68, $0710
+ sound __, 9, $78, $0728
+ sound __, 9, $88, $0740
+ sound __, 9, $98, $0758
+ sound C_, 1, $a8, $0770
soundinput $8
endchannel
; f167f
Sfx_MilkDrink: ; f167f
- dbw $04, Sfx_MilkDrink_Ch5
+ musicheader 1, 5, Sfx_MilkDrink_Ch5
; f1682
Sfx_MilkDrink_Ch5: ; f1682
@@ -2845,11 +2845,11 @@
dutycycle $2
Sfx_MilkDrink_branch_f1684: ; f1684
soundinput $a4
- sound $2, $ea, $04e0
- sound $d, $f7, $0290
+ sound __, 3, $ea, $04e0
+ sound __, 14, $f7, $0290
soundinput $9e
- sound $4, $c9, $05e1
- sound $2, $0, 0
+ sound __, 5, $c9, $05e1
+ sound __, 3, $0, 0
loopchannel 6, Sfx_MilkDrink_branch_f1684
soundinput $8
endchannel
@@ -2856,7 +2856,7 @@
; f169f
Sfx_Present: ; f169f
- dbw $04, Sfx_Present_Ch5
+ musicheader 1, 5, Sfx_Present_Ch5
; f16a2
Sfx_Present_Ch5: ; f16a2
@@ -2863,60 +2863,60 @@
dutycycle $2
soundinput $d6
Sfx_Present_branch_f16a6: ; f16a6
- sound $2, $f1, $0740
- sound $1, $0, 0
+ sound __, 3, $f1, $0740
+ sound __, 2, $0, 0
loopchannel 3, Sfx_Present_branch_f16a6
- sound $10, $f1, $0780
+ sound C_, 1, $f1, $0780
soundinput $8
endchannel
; f16b9
Sfx_MorningSun: ; f16b9
- dbw $04, Sfx_MorningSun_Ch5
+ musicheader 1, 5, Sfx_MorningSun_Ch5
; f16bc
Sfx_MorningSun_Ch5: ; f16bc
dutycycle $3
Sfx_MorningSun_branch_f16be: ; f16be
- sound $2, $f1, $07e4
- sound $2, $f1, $07e0
- sound $5, $f2, $07e7
+ sound __, 3, $f1, $07e4
+ sound __, 3, $f1, $07e0
+ sound __, 6, $f2, $07e7
loopchannel 3, Sfx_MorningSun_branch_f16be
- sound $1, $0, 0
- sound $8, $c2, $07e7
- sound $1, $0, 0
- sound $8, $82, $07e7
+ sound __, 2, $0, 0
+ sound __, 9, $c2, $07e7
+ sound __, 2, $0, 0
+ sound __, 9, $82, $07e7
endchannel
; f16df
Sfx_Moonlight: ; f16df
- dbw $04, Sfx_Moonlight_Ch5
+ musicheader 1, 5, Sfx_Moonlight_Ch5
; f16e2
Sfx_Moonlight_Ch5: ; f16e2
dutycycle $2
Sfx_Moonlight_branch_f16e4: ; f16e4
- sound $1, $f8, $07d0
- sound $4, $f1, $07e0
+ sound __, 2, $f8, $07d0
+ sound __, 5, $f1, $07e0
loopchannel 2, Sfx_Moonlight_branch_f16e4
- sound $10, $f1, $07e0
- sound $10, $d1, $07e0
- sound $10, $81, $07e0
+ sound C_, 1, $f1, $07e0
+ sound C_, 1, $d1, $07e0
+ sound C_, 1, $81, $07e0
endchannel
; f16fd
Sfx_Encore: ; f16fd
- dbw $44, Sfx_Encore_Ch5
- dbw $07, Sfx_Encore_Ch8
+ musicheader 2, 5, Sfx_Encore_Ch5
+ musicheader 1, 8, Sfx_Encore_Ch8
; f1703
Sfx_Encore_Ch5: ; f1703
dutycycle $2
soundinput $ce
- sound $10, $0, 0
+ sound C_, 1, $0, 0
Sfx_Encore_branch_f170b: ; f170b
- sound $2, $f8, $0774
- sound $24, $0, 0
+ sound __, 3, $f8, $0774
+ sound C#, 5, $0, 0
loopchannel 2, Sfx_Encore_branch_f170b
soundinput $8
endchannel
@@ -2923,64 +2923,64 @@
; f171a
Sfx_Encore_Ch8: ; f171a
- noise $30, $1f, $36
- noise $30, $76, $36
+ noise D_, 1, $1f, $36
+ noise D_, 1, $76, $36
endchannel
; f1721
Sfx_BeatUp: ; f1721
- dbw $07, Sfx_BeatUp_Ch8
+ musicheader 1, 8, Sfx_BeatUp_Ch8
; f1724
Sfx_BeatUp_Ch8: ; f1724
- noise $2, $e8, $69
- noise $6, $d8, $24
- noise $2, $e8, $6c
- noise $4, $c8, $46
- noise $6, $d1, $24
+ noise __, 3, $e8, $69
+ noise __, 7, $d8, $24
+ noise __, 3, $e8, $6c
+ noise __, 5, $c8, $46
+ noise __, 7, $d1, $24
endchannel
; f1734
Sfx_SweetScent: ; f1734
- dbw $04, Sfx_SweetScent_Ch5
+ musicheader 1, 5, Sfx_SweetScent_Ch5
; f1737
Sfx_SweetScent_Ch5: ; f1737
dutycycle $2
soundinput $96
- sound $6, $f8, $0760
- sound $6, $e8, $0720
+ sound __, 7, $f8, $0760
+ sound __, 7, $e8, $0720
soundinput $df
- sound $16, $f1, $0730
+ sound C_, 7, $f1, $0730
soundinput $8
endchannel
; f174c
Sfx_BatonPass: ; f174c
- dbw $44, Sfx_BatonPass_Ch5
- dbw $07, Sfx_BatonPass_Ch8
+ musicheader 2, 5, Sfx_BatonPass_Ch5
+ musicheader 1, 8, Sfx_BatonPass_Ch8
; f1752
Sfx_BatonPass_Ch5: ; f1752
dutycycle $2
soundinput $f7
- sound $20, $f2, $0680
- sound $1, $f1, $0760
- sound $20, $0, 0
- sound $1, $f1, $0760
- sound $1a, $0, 0
- sound $1, $f1, $0760
+ sound C#, 1, $f2, $0680
+ sound __, 2, $f1, $0760
+ sound C#, 1, $0, 0
+ sound __, 2, $f1, $0760
+ sound C_, 11, $0, 0
+ sound __, 2, $f1, $0760
soundinput $8
endchannel
; f1771
Sfx_BatonPass_Ch8: ; f1771
- noise $20, $f2, $20
+ noise C#, 1, $f2, $20
endchannel
; f1775
Sfx_EggCrack: ; f1775
- dbw $04, Sfx_EggCrack_Ch5
+ musicheader 1, 5, Sfx_EggCrack_Ch5
; f1778
Sfx_EggCrack_Ch5: ; f1778
@@ -2996,7 +2996,7 @@
; f1784
Sfx_Evolved: ; f1784
- dbw $04, Sfx_Evolved_Ch5
+ musicheader 1, 5, Sfx_Evolved_Ch5
; f1787
Sfx_Evolved_Ch5: ; f1787
@@ -3021,7 +3021,7 @@
; f179b
Sfx_MasterBall: ; f179b
- dbw $04, Sfx_MasterBall_Ch5
+ musicheader 1, 5, Sfx_MasterBall_Ch5
; f179e
Sfx_MasterBall_Ch5: ; f179e
@@ -3056,7 +3056,7 @@
; f17c0
Sfx_EggHatch: ; f17c0
- dbw $04, Sfx_EggHatch_Ch5
+ musicheader 1, 5, Sfx_EggHatch_Ch5
; f17c3
Sfx_EggHatch_Ch5: ; f17c3
@@ -3079,86 +3079,86 @@
; f17d9
Sfx_GsIntroCharizardFireball: ; f17d9
- dbw $07, Sfx_GsIntroCharizardFireball_Ch8
+ musicheader 1, 8, Sfx_GsIntroCharizardFireball_Ch8
; f17dc
Sfx_GsIntroCharizardFireball_Ch8: ; f17dc
- noise $8, $cf, $4d
- noise $8, $f1, $37
+ noise __, 9, $cf, $4d
+ noise __, 9, $f1, $37
Sfx_GsIntroCharizardFireball_branch_f17e2: ; f17e2
- noise $1, $f8, $4f
- noise $0, $c8, $26
- noise $1, $d8, $5f
- noise $0, $a8, $37
+ noise __, 2, $f8, $4f
+ noise __, 1, $c8, $26
+ noise __, 2, $d8, $5f
+ noise __, 1, $a8, $37
loopchannel 12, Sfx_GsIntroCharizardFireball_branch_f17e2
- noise $3, $f8, $6f
- noise $4, $d8, $5f
- noise $c, $d8, $5c
- noise $28, $d3, $4f
+ noise __, 4, $f8, $6f
+ noise __, 5, $d8, $5f
+ noise __, 13, $d8, $5c
+ noise C#, 9, $d3, $4f
endchannel
; f17ff
Sfx_GsIntroPokemonAppears: ; f17ff
- dbw $07, Sfx_GsIntroPokemonAppears_Ch8
+ musicheader 1, 8, Sfx_GsIntroPokemonAppears_Ch8
; f1802
Sfx_GsIntroPokemonAppears_Ch8: ; f1802
- noise $1, $88, $4f
- noise $2, $8f, $2
- noise $2, $5f, $12
- noise $2, $3f, $22
- noise $0, $f8, $27
- noise $1, $f8, $4f
- noise $8, $f1, $0
+ noise __, 2, $88, $4f
+ noise __, 3, $8f, $2
+ noise __, 3, $5f, $12
+ noise __, 3, $3f, $22
+ noise __, 1, $f8, $27
+ noise __, 2, $f8, $4f
+ noise __, 9, $f1, $0
endchannel
; f1818
Sfx_Flash: ; f1818
- dbw $04, Sfx_Flash_Ch5
+ musicheader 1, 5, Sfx_Flash_Ch5
; f181b
Sfx_Flash_Ch5: ; f181b
dutycycle $1
soundinput $ef
- sound $1, $40, $07e8
- sound $1, $60, $07e8
- sound $2, $80, $07e8
- sound $5, $a0, $07e8
- sound $6, $a0, $07e8
- sound $7, $80, $07e8
- sound $8, $60, $07e8
- sound $9, $30, $07e8
- sound $f, $12, $07e8
+ sound __, 2, $40, $07e8
+ sound __, 2, $60, $07e8
+ sound __, 3, $80, $07e8
+ sound __, 6, $a0, $07e8
+ sound __, 7, $a0, $07e8
+ sound __, 8, $80, $07e8
+ sound __, 9, $60, $07e8
+ sound __, 10, $30, $07e8
+ sound __, 16, $12, $07e8
soundinput $8
endchannel
; f1846
Sfx_GameFreakLogoGs: ; f1846
- dbw $04, Sfx_GameFreakLogoGs_Ch5
+ musicheader 1, 5, Sfx_GameFreakLogoGs_Ch5
; f1849
Sfx_GameFreakLogoGs_Ch5: ; f1849
dutycycle $3
soundinput $7f
- sound $4, $55, $07e2
- sound $5, $75, $07e2
- sound $6, $94, $07e2
- sound $7, $b4, $07e2
- sound $8, $b3, $07e2
- sound $9, $93, $07e2
- sound $a, $72, $07e2
- sound $a, $53, $07e2
- sound $a, $34, $07e2
- sound $a, $15, $07e2
+ sound __, 5, $55, $07e2
+ sound __, 6, $75, $07e2
+ sound __, 7, $94, $07e2
+ sound __, 8, $b4, $07e2
+ sound __, 9, $b3, $07e2
+ sound __, 10, $93, $07e2
+ sound __, 11, $72, $07e2
+ sound __, 11, $53, $07e2
+ sound __, 11, $34, $07e2
+ sound __, 11, $15, $07e2
soundinput $8
endchannel
; f1878
Sfx_DexFanfareLessThan20: ; f1878
- dbw $c4, Sfx_DexFanfareLessThan20_Ch5
- dbw $05, Sfx_DexFanfareLessThan20_Ch6
- dbw $06, Sfx_DexFanfareLessThan20_Ch7
- dbw $07, Sfx_DexFanfareLessThan20_Ch8
+ musicheader 4, 5, Sfx_DexFanfareLessThan20_Ch5
+ musicheader 1, 6, Sfx_DexFanfareLessThan20_Ch6
+ musicheader 1, 7, Sfx_DexFanfareLessThan20_Ch7
+ musicheader 1, 8, Sfx_DexFanfareLessThan20_Ch8
; f1884
Sfx_DexFanfareLessThan20_Ch5: ; f1884
@@ -3181,7 +3181,7 @@
endchannel
; f189a
- db $df
+ togglesfx
Sfx_DexFanfareLessThan20_Ch6: ; f189b
togglesfx
@@ -3201,7 +3201,7 @@
endchannel
; f18ac
- db $df
+ togglesfx
Sfx_DexFanfareLessThan20_Ch7: ; f18ad
togglesfx
@@ -3230,7 +3230,7 @@
endchannel
; f18c7
- db $df
+ togglesfx
Sfx_DexFanfareLessThan20_Ch8: ; f18c8
togglesfx
@@ -3242,13 +3242,13 @@
endchannel
; f18d1
- db $df
+ togglesfx
Sfx_DexFanfare140169: ; f18d2
- dbw $c4, Sfx_DexFanfare140169_Ch5
- dbw $05, Sfx_DexFanfare140169_Ch6
- dbw $06, Sfx_DexFanfare140169_Ch7
- dbw $07, Sfx_DexFanfare140169_Ch8
+ musicheader 4, 5, Sfx_DexFanfare140169_Ch5
+ musicheader 1, 6, Sfx_DexFanfare140169_Ch6
+ musicheader 1, 7, Sfx_DexFanfare140169_Ch7
+ musicheader 1, 8, Sfx_DexFanfare140169_Ch8
; f18de
Sfx_DexFanfare140169_Ch5: ; f18de
@@ -3279,7 +3279,7 @@
endchannel
; f1900
- db $df
+ togglesfx
Sfx_DexFanfare140169_Ch6: ; f1901
togglesfx
@@ -3306,7 +3306,7 @@
endchannel
; f191d
- db $df
+ togglesfx
Sfx_DexFanfare140169_Ch7: ; f191e
togglesfx
@@ -3341,7 +3341,7 @@
endchannel
; f193e
- db $df
+ togglesfx
Sfx_DexFanfare140169_Ch8: ; f193f
togglesfx
@@ -3359,13 +3359,13 @@
endchannel
; f1950
- db $df
+ togglesfx
Sfx_DexFanfare170199: ; f1951
- dbw $c4, Sfx_DexFanfare170199_Ch5
- dbw $05, Sfx_DexFanfare170199_Ch6
- dbw $06, Sfx_DexFanfare170199_Ch7
- dbw $07, Sfx_DexFanfare170199_Ch8
+ musicheader 4, 5, Sfx_DexFanfare170199_Ch5
+ musicheader 1, 6, Sfx_DexFanfare170199_Ch6
+ musicheader 1, 7, Sfx_DexFanfare170199_Ch7
+ musicheader 1, 8, Sfx_DexFanfare170199_Ch8
; f195d
Sfx_DexFanfare170199_Ch5: ; f195d
@@ -3396,7 +3396,7 @@
endchannel
; f1981
- db $df
+ togglesfx
Sfx_DexFanfare170199_Ch6: ; f1982
togglesfx
@@ -3425,7 +3425,7 @@
endchannel
; f19a2
- db $df
+ togglesfx
Sfx_DexFanfare170199_Ch7: ; f19a3
togglesfx
@@ -3454,7 +3454,7 @@
endchannel
; f19bf
- db $df
+ togglesfx
Sfx_DexFanfare170199_Ch8: ; f19c0
togglesfx
@@ -3480,10 +3480,10 @@
db $fd
Sfx_DexFanfare200229: ; f19d6
- dbw $c4, Sfx_DexFanfare200229_Ch5
- dbw $05, Sfx_DexFanfare200229_Ch6
- dbw $06, Sfx_DexFanfare200229_Ch7
- dbw $07, Sfx_DexFanfare200229_Ch8
+ musicheader 4, 5, Sfx_DexFanfare200229_Ch5
+ musicheader 1, 6, Sfx_DexFanfare200229_Ch6
+ musicheader 1, 7, Sfx_DexFanfare200229_Ch7
+ musicheader 1, 8, Sfx_DexFanfare200229_Ch8
; f19e2
Sfx_DexFanfare200229_Ch5: ; f19e2
@@ -3512,7 +3512,7 @@
endchannel
; f1a03
- db $df
+ togglesfx
Sfx_DexFanfare200229_Ch6: ; f1a04
togglesfx
@@ -3536,7 +3536,7 @@
endchannel
; f1a1e
- db $df
+ togglesfx
Sfx_DexFanfare200229_Ch7: ; f1a1f
togglesfx
@@ -3581,7 +3581,7 @@
endchannel
; f1a49
- db $df
+ togglesfx
Sfx_DexFanfare200229_Ch8: ; f1a4a
togglesfx
@@ -3611,13 +3611,13 @@
endchannel
; f1a65
- db $df
+ togglesfx
Sfx_DexFanfare230Plus: ; f1a66
- dbw $c4, Sfx_DexFanfare230Plus_Ch5
- dbw $05, Sfx_DexFanfare230Plus_Ch6
- dbw $06, Sfx_DexFanfare230Plus_Ch7
- dbw $07, Sfx_DexFanfare230Plus_Ch8
+ musicheader 4, 5, Sfx_DexFanfare230Plus_Ch5
+ musicheader 1, 6, Sfx_DexFanfare230Plus_Ch6
+ musicheader 1, 7, Sfx_DexFanfare230Plus_Ch7
+ musicheader 1, 8, Sfx_DexFanfare230Plus_Ch8
; f1a72
Sfx_DexFanfare230Plus_Ch5: ; f1a72
@@ -3667,7 +3667,7 @@
endchannel
; f1ab1
- db $df
+ togglesfx
Sfx_DexFanfare230Plus_Ch6: ; f1ab2
togglesfx
@@ -3703,7 +3703,7 @@
endchannel
; f1ad9
- db $df
+ togglesfx
Sfx_DexFanfare230Plus_Ch7: ; f1ada
togglesfx
@@ -3753,7 +3753,7 @@
endchannel
; f1b0b
- db $df
+ togglesfx
Sfx_DexFanfare230Plus_Ch8: ; f1b0c
togglesfx
@@ -3790,202 +3790,202 @@
endchannel
; f1b32
- db $df
+ togglesfx
Sfx_NotVeryEffective: ; f1b33
- dbw $07, Sfx_NotVeryEffective_Ch8
+ musicheader 1, 8, Sfx_NotVeryEffective_Ch8
; f1b36
Sfx_NotVeryEffective_Ch8: ; f1b36
- noise $4, $f1, $5f
- noise $1, $a0, $42
- noise $10, $f1, $53
+ noise __, 5, $f1, $5f
+ noise __, 2, $a0, $42
+ noise C_, 1, $f1, $53
endchannel
; f1b40
Sfx_Damage: ; f1b40
- dbw $07, Sfx_Damage_Ch8
+ musicheader 1, 8, Sfx_Damage_Ch8
; f1b43
Sfx_Damage_Ch8: ; f1b43
- noise $4, $f1, $5e
- noise $1, $a0, $12
- noise $4, $f0, $32
- noise $10, $f1, $44
+ noise __, 5, $f1, $5e
+ noise __, 2, $a0, $12
+ noise __, 5, $f0, $32
+ noise C_, 1, $f1, $44
endchannel
; f1b50
Sfx_SuperEffective: ; f1b50
- dbw $07, Sfx_SuperEffective_Ch8
+ musicheader 1, 8, Sfx_SuperEffective_Ch8
; f1b53
Sfx_SuperEffective_Ch8: ; f1b53
- noise $3, $f1, $4f
- noise $1, $c8, $22
- noise $2, $f8, $3f
- noise $3, $d0, $15
- noise $20, $f2, $35
+ noise __, 4, $f1, $4f
+ noise __, 2, $c8, $22
+ noise __, 3, $f8, $3f
+ noise __, 4, $d0, $15
+ noise C#, 1, $f2, $35
endchannel
; f1b63
Sfx_BallBounce: ; f1b63
- dbw $44, Sfx_BallBounce_Ch5
- dbw $05, Sfx_BallBounce_Ch6
+ musicheader 2, 5, Sfx_BallBounce_Ch5
+ musicheader 1, 6, Sfx_BallBounce_Ch6
; f1b69
Sfx_BallBounce_Ch5: ; f1b69
dutycycle $2
- sound $8, $e1, $0740
- sound $17, $0, 0
- sound $8, $b1, $0740
- sound $17, $0, 0
- sound $8, $81, $0740
- sound $17, $0, 0
- sound $8, $51, $0740
- sound $17, $0, 0
+ sound __, 9, $e1, $0740
+ sound C_, 8, $0, 0
+ sound __, 9, $b1, $0740
+ sound C_, 8, $0, 0
+ sound __, 9, $81, $0740
+ sound C_, 8, $0, 0
+ sound __, 9, $51, $0740
+ sound C_, 8, $0, 0
endchannel
; f1b8c
Sfx_BallBounce_Ch6: ; f1b8c
dutycycle $2
- sound $2, $8, 0
- sound $8, $b1, $0741
- sound $17, $0, 0
- sound $8, $81, $0741
- sound $17, $0, 0
- sound $8, $51, $0741
- sound $17, $0, 0
- sound $8, $21, $0741
- sound $17, $0, 0
+ sound __, 3, $8, 0
+ sound __, 9, $b1, $0741
+ sound C_, 8, $0, 0
+ sound __, 9, $81, $0741
+ sound C_, 8, $0, 0
+ sound __, 9, $51, $0741
+ sound C_, 8, $0, 0
+ sound __, 9, $21, $0741
+ sound C_, 8, $0, 0
endchannel
; f1bb3
Sfx_SweetScent2: ; f1bb3
- dbw $44, Sfx_SweetScent2_Ch5
- dbw $07, Sfx_SweetScent2_Ch8
+ musicheader 2, 5, Sfx_SweetScent2_Ch5
+ musicheader 1, 8, Sfx_SweetScent2_Ch8
; f1bb9
Sfx_SweetScent2_Ch5: ; f1bb9
soundinput $af
dutycycle $1
- sound $6, $f8, $05f0
- sound $2, $f1, $0620
- sound $10, $f1, $0650
+ sound __, 7, $f8, $05f0
+ sound __, 3, $f1, $0620
+ sound C_, 1, $f1, $0650
soundinput $8
endchannel
; f1bcc
Sfx_SweetScent2_Ch8: ; f1bcc
- noise $2, $e8, $22
- noise $11, $aa, $0
+ noise __, 3, $e8, $22
+ noise C_, 2, $aa, $0
Sfx_SweetScent2_branch_f1bd2: ; f1bd2
- noise $4, $d9, $10
- noise $8, $91, $0
- noise $2, $61, $7
+ noise __, 5, $d9, $10
+ noise __, 9, $91, $0
+ noise __, 3, $61, $7
loopchannel 5, Sfx_SweetScent2_branch_f1bd2
- noise $4, $99, $0
- noise $a, $61, $0
- noise $6, $59, $0
- noise $2, $21, $7
+ noise __, 5, $99, $0
+ noise __, 11, $61, $0
+ noise __, 7, $59, $0
+ noise __, 3, $21, $7
endchannel
; f1bec
Sfx_HitEndOfExpBar: ; f1bec
- dbw $44, Sfx_HitEndOfExpBar_Ch5
- dbw $05, Sfx_HitEndOfExpBar_Ch6
+ musicheader 2, 5, Sfx_HitEndOfExpBar_Ch5
+ musicheader 1, 6, Sfx_HitEndOfExpBar_Ch6
; f1bf2
Sfx_HitEndOfExpBar_Ch5: ; f1bf2
dutycycle $2
- sound $1, $e1, $0789
- sound $1, $e1, $07a2
- sound $10, $e1, $07b1
+ sound __, 2, $e1, $0789
+ sound __, 2, $e1, $07a2
+ sound C_, 1, $e1, $07b1
endchannel
; f1c01
Sfx_HitEndOfExpBar_Ch6: ; f1c01
dutycycle $2
- sound $1, $e1, $07a2
- sound $1, $e1, $07b1
- sound $10, $e1, $07c4
+ sound __, 2, $e1, $07a2
+ sound __, 2, $e1, $07b1
+ sound C_, 1, $e1, $07c4
endchannel
; f1c10
Sfx_GiveTrademon: ; f1c10
- dbw $04, Sfx_GiveTrademon_Ch5
+ musicheader 1, 5, Sfx_GiveTrademon_Ch5
; f1c13
Sfx_GiveTrademon_Ch5: ; f1c13
- sound $20, $0, 0
+ sound C#, 1, $0, 0
dutycycle $1
soundinput $a7
- sound $1b, $f4, $0750
- sound $1b, $d4, $0750
- sound $1b, $b4, $0750
- sound $1b, $94, $0750
- sound $1b, $74, $0750
- sound $1b, $54, $0750
- sound $1b, $34, $0750
- sound $1b, $14, $0750
+ sound C_, 12, $f4, $0750
+ sound C_, 12, $d4, $0750
+ sound C_, 12, $b4, $0750
+ sound C_, 12, $94, $0750
+ sound C_, 12, $74, $0750
+ sound C_, 12, $54, $0750
+ sound C_, 12, $34, $0750
+ sound C_, 12, $14, $0750
soundinput $8
endchannel
; f1c3e
Sfx_GetTrademon: ; f1c3e
- dbw $04, Sfx_GetTrademon_Ch5
+ musicheader 1, 5, Sfx_GetTrademon_Ch5
; f1c41
Sfx_GetTrademon_Ch5: ; f1c41
- sound $20, $0, 0
+ sound C#, 1, $0, 0
dutycycle $2
soundinput $bf
- sound $1b, $14, $07bc
- sound $1b, $34, $07bc
- sound $1b, $54, $07bc
- sound $1b, $74, $07bc
- sound $1b, $94, $07bc
- sound $1b, $b4, $07bc
- sound $1b, $d4, $07bc
- sound $1b, $f4, $07bc
+ sound C_, 12, $14, $07bc
+ sound C_, 12, $34, $07bc
+ sound C_, 12, $54, $07bc
+ sound C_, 12, $74, $07bc
+ sound C_, 12, $94, $07bc
+ sound C_, 12, $b4, $07bc
+ sound C_, 12, $d4, $07bc
+ sound C_, 12, $f4, $07bc
soundinput $8
endchannel
; f1c6c
Sfx_TrainArrived: ; f1c6c
- dbw $84, Sfx_TrainArrived_Ch5
- dbw $05, Sfx_TrainArrived_Ch6
- dbw $07, Sfx_TrainArrived_Ch8
+ musicheader 3, 5, Sfx_TrainArrived_Ch5
+ musicheader 1, 6, Sfx_TrainArrived_Ch6
+ musicheader 1, 8, Sfx_TrainArrived_Ch8
; f1c75
Sfx_TrainArrived_Ch6: ; f1c75
tone $0008
- sound $8, $0, 0
+ sound __, 9, $0, 0
Sfx_TrainArrived_Ch5: ; f1c7c
dutycycle $2
- sound $4, $5f, $0691
- sound $4, $6f, $0694
- sound $4, $78, $0697
- sound $4, $7f, $069a
- sound $4, $68, $06ae
- sound $10, $6f, $06ab
- sound $68, $65, $06a8
+ sound __, 5, $5f, $0691
+ sound __, 5, $6f, $0694
+ sound __, 5, $78, $0697
+ sound __, 5, $7f, $069a
+ sound __, 5, $68, $06ae
+ sound C_, 1, $6f, $06ab
+ sound F_, 9, $65, $06a8
endchannel
; f1c9b
Sfx_TrainArrived_Ch8: ; f1c9b
- noise $5, $af, $10
- noise $4, $9f, $20
- noise $4, $8f, $21
- noise $4, $7f, $22
- noise $4, $8f, $21
- noise $4, $9f, $20
- noise $4, $9f, $10
- noise $68, $a3, $0
+ noise __, 6, $af, $10
+ noise __, 5, $9f, $20
+ noise __, 5, $8f, $21
+ noise __, 5, $7f, $22
+ noise __, 5, $8f, $21
+ noise __, 5, $9f, $20
+ noise __, 5, $9f, $10
+ noise F_, 9, $a3, $0
endchannel
; f1cb4
Sfx_2Boops: ; f1cb4
- dbw $04, Sfx_2Boops_Ch5
+ musicheader 1, 5, Sfx_2Boops_Ch5
; f1cb7
Sfx_2Boops_Ch5: ; f1cb7
@@ -3992,10 +3992,10 @@
dutycycle $2
Sfx_2Boops_branch_f1cb9: ; f1cb9
soundinput $79
- sound $1, $99, $0563
- sound $4, $f2, $04b5
+ sound __, 2, $99, $0563
+ sound __, 5, $f2, $04b5
soundinput $43
- sound $10, $f8, $05cd
+ sound C_, 1, $f8, $05cd
loopchannel 2, Sfx_2Boops_branch_f1cb9
soundinput $8
endchannel
@@ -4002,12 +4002,12 @@
; f1cd0
Sfx_UnknownCB: ; f1cd0
- dbw $07, Sfx_UnknownCB_Ch8
+ musicheader 1, 8, Sfx_UnknownCB_Ch8
; f1cd3
Sfx_Menu_Ch8: ; f1cd3
- noise $1, $e2, $33
- noise $8, $e1, $22
+ noise __, 2, $e2, $33
+ noise __, 9, $e1, $22
endchannel
; f1cda
@@ -4038,30 +4038,30 @@
; f1cf8
Sfx_PlacePuzzlePieceDown_Ch8: ; f1cf8
- noise $2, $f7, $24
- noise $2, $f7, $34
- noise $4, $f7, $44
- noise $8, $f4, $55
- noise $8, $f1, $44
+ noise __, 3, $f7, $24
+ noise __, 3, $f7, $34
+ noise __, 5, $f7, $44
+ noise __, 9, $f4, $55
+ noise __, 9, $f1, $44
endchannel
; f1d08
Sfx_EnterDoor_Ch8: ; f1d08
- noise $9, $f1, $44
- noise $8, $d1, $43
+ noise __, 10, $f1, $44
+ noise __, 9, $d1, $43
endchannel
; f1d0f
Sfx_SwitchPokemon_Ch5: ; f1d0f
dutycycle $2
- sound $8, $e1, $0740
+ sound __, 9, $e1, $0740
endchannel
; f1d16
Sfx_SwitchPokemon_Ch6: ; f1d16
dutycycle $2
- sound $2, $8, 0
- sound $8, $b1, $0741
+ sound __, 3, $8, 0
+ sound __, 9, $b1, $0741
endchannel
; f1d21
@@ -4068,9 +4068,9 @@
Sfx_PokeballsPlacedOnTable_Ch5: ; f1d21
dutycycle $2
soundinput $3a
- sound $4, $f2, $0200
+ sound __, 5, $f2, $0200
soundinput $22
- sound $8, $e2, $0200
+ sound __, 9, $e2, $0200
soundinput $8
endchannel
; f1d32
@@ -4078,9 +4078,9 @@
Sfx_BallWiggle_Ch5: ; f1d32
dutycycle $2
soundinput $3a
- sound $4, $f2, $0400
+ sound __, 5, $f2, $0400
soundinput $22
- sound $8, $e2, $0400
+ sound __, 9, $e2, $0400
soundinput $8
endchannel
; f1d43
@@ -4087,29 +4087,29 @@
Sfx_Tally_Ch5: ; f1d43
dutycycle $2
- sound $4, $f1, $0780
+ sound __, 5, $f1, $0780
endchannel
; f1d4a
Sfx_Tally_Ch6: ; f1d4a
dutycycle $2
- sound $1, $8, 0
- sound $4, $a1, $0761
+ sound __, 2, $8, 0
+ sound __, 5, $a1, $0761
endchannel
; f1d55
Sfx_Transaction_Ch5: ; f1d55
dutycycle $2
- sound $4, $e1, $0700
- sound $18, $f2, $07e0
+ sound __, 5, $e1, $0700
+ sound C_, 9, $f2, $07e0
endchannel
; f1d60
Sfx_Transaction_Ch6: ; f1d60
dutycycle $2
- sound $1, $8, 0
- sound $4, $91, $06c1
- sound $18, $a2, $07a1
+ sound __, 2, $8, 0
+ sound __, 5, $91, $06c1
+ sound C_, 9, $a2, $07a1
endchannel
; f1d6f
@@ -4116,17 +4116,17 @@
Sfx_Bump_Ch5: ; f1d6f
dutycycle $2
soundinput $5a
- sound $f, $f1, $0300
+ sound __, 16, $f1, $0300
soundinput $8
endchannel
; f1d7a
Sfx_ExitBuilding_Ch8: ; f1d7a
- noise $2, $f1, $54
- noise $c, $71, $23
- noise $2, $b1, $54
- noise $c, $61, $23
- noise $6, $41, $54
+ noise __, 3, $f1, $54
+ noise __, 13, $71, $23
+ noise __, 3, $b1, $54
+ noise __, 13, $61, $23
+ noise __, 7, $41, $54
endchannel
; f1d8a
@@ -4133,10 +4133,10 @@
Sfx_ReadText2_Ch5: ; f1d8a
Sfx_ReadText_Ch5: ; f1d8a
dutycycle $2
- sound $0, $91, $07c0
- sound $0, $81, $07d0
- sound $0, $91, $07c0
- sound $c, $a1, $07d0
+ sound __, 1, $91, $07c0
+ sound __, 1, $81, $07d0
+ sound __, 1, $91, $07c0
+ sound __, 13, $a1, $07d0
endchannel
; f1d9d
@@ -4143,8 +4143,8 @@
Sfx_Potion_Ch5: ; f1d9d
dutycycle $2
soundinput $17
- sound $f, $f0, $04f0
- sound $f, $f2, $0650
+ sound __, 16, $f0, $04f0
+ sound __, 16, $f2, $0650
soundinput $8
endchannel
; f1dac
@@ -4153,9 +4153,9 @@
Sfx_Poison_branch_f1dac: ; f1dac
dutycycle $0
soundinput $14
- sound $4, $f2, $0600
+ sound __, 5, $f2, $0600
loopchannel 4, Sfx_Poison_branch_f1dac
- sound $f, $f3, $0600
+ sound __, 16, $f3, $0600
soundinput $8
endchannel
; f1dbf
@@ -4163,10 +4163,10 @@
Sfx_FullHeal_Ch5: ; f1dbf
dutycycle $2
soundinput $14
- sound $4, $f2, $0600
- sound $4, $f2, $0600
+ sound __, 5, $f2, $0600
+ sound __, 5, $f2, $0600
soundinput $17
- sound $f, $f2, $0600
+ sound __, 16, $f2, $0600
soundinput $8
endchannel
; f1dd4
@@ -4174,8 +4174,8 @@
Sfx_GotSafariBalls_Ch5: ; f1dd4
dutycycle $2
soundinput $15
- sound $f, $f0, $04f0
- sound $f, $f2, $0650
+ sound __, 16, $f0, $04f0
+ sound __, 16, $f2, $0650
soundinput $8
endchannel
; f1de3
@@ -4182,34 +4182,34 @@
Sfx_BootPc_Ch5: ; f1de3
dutycycle $2
- sound $f, $f2, $07c0
- sound $f, $0, 0
- sound $3, $a1, $0780
- sound $3, $a1, $0700
- sound $3, $a1, $0740
- sound $3, $a1, $0700
- sound $3, $a1, $0780
- sound $3, $a1, $0700
- sound $3, $a1, $07c0
- sound $8, $a1, $0700
+ sound __, 16, $f2, $07c0
+ sound __, 16, $0, 0
+ sound __, 4, $a1, $0780
+ sound __, 4, $a1, $0700
+ sound __, 4, $a1, $0740
+ sound __, 4, $a1, $0700
+ sound __, 4, $a1, $0780
+ sound __, 4, $a1, $0700
+ sound __, 4, $a1, $07c0
+ sound __, 9, $a1, $0700
endchannel
; f1e0e
Sfx_ShutDownPc_Ch5: ; f1e0e
dutycycle $2
- sound $4, $f0, $0600
- sound $4, $f0, $0400
- sound $4, $f0, $0200
- sound $1, $0, 0
+ sound __, 5, $f0, $0600
+ sound __, 5, $f0, $0400
+ sound __, 5, $f0, $0200
+ sound __, 2, $0, 0
endchannel
; f1e21
Sfx_ChoosePcOption_Ch5: ; f1e21
dutycycle $2
- sound $6, $f0, $0700
- sound $4, $0, 0
- sound $6, $f0, $0700
- sound $1, $0, 0
+ sound __, 7, $f0, $0700
+ sound __, 5, $0, 0
+ sound __, 7, $f0, $0700
+ sound __, 2, $0, 0
endchannel
; f1e34
@@ -4216,11 +4216,11 @@
Sfx_EscapeRope_Ch5: ; f1e34
dutycycle $1
soundinput $17
- sound $f, $d7, $0600
- sound $f, $b7, $0580
- sound $f, $87, $0500
- sound $f, $47, $0480
- sound $f, $17, $0400
+ sound __, 16, $d7, $0600
+ sound __, 16, $b7, $0580
+ sound __, 16, $87, $0500
+ sound __, 16, $47, $0480
+ sound __, 16, $17, $0400
soundinput $8
endchannel
; f1e4f
@@ -4227,11 +4227,11 @@
Sfx_PushButton_Ch5: ; f1e4f
dutycycle $2
- sound $4, $0, 0
- sound $2, $f1, $0680
- sound $1, $0, 0
- sound $4, $f1, $0780
- sound $4, $0, 0
+ sound __, 5, $0, 0
+ sound __, 3, $f1, $0680
+ sound __, 2, $0, 0
+ sound __, 5, $f1, $0780
+ sound __, 5, $0, 0
endchannel
; f1e66
@@ -4238,11 +4238,11 @@
Sfx_SecondPartOfItemfinder_Ch5: ; f1e66
dutycycle $2
soundinput $2c
- sound $4, $f2, $0500
+ sound __, 5, $f2, $0500
soundinput $22
- sound $2, $f1, $0500
+ sound __, 3, $f1, $0500
soundinput $8
- sound $1, $0, 0
+ sound __, 2, $0, 0
endchannel
; f1e7b
@@ -4249,11 +4249,11 @@
Sfx_WarpTo_Ch5: ; f1e7b
dutycycle $1
soundinput $17
- sound $f, $d7, $0500
- sound $f, $b7, $0580
- sound $f, $87, $0600
- sound $f, $47, $0680
- sound $f, $17, $0700
+ sound __, 16, $d7, $0500
+ sound __, 16, $b7, $0580
+ sound __, 16, $87, $0600
+ sound __, 16, $47, $0680
+ sound __, 16, $17, $0700
soundinput $8
endchannel
; f1e96
@@ -4261,11 +4261,11 @@
Sfx_WarpFrom_Ch5: ; f1e96
dutycycle $1
soundinput $17
- sound $f, $d7, $0700
- sound $f, $b7, $0680
- sound $f, $87, $0600
- sound $f, $47, $0580
- sound $f, $17, $0500
+ sound __, 16, $d7, $0700
+ sound __, 16, $b7, $0680
+ sound __, 16, $87, $0600
+ sound __, 16, $47, $0580
+ sound __, 16, $17, $0500
soundinput $8
endchannel
; f1eb1
@@ -4273,7 +4273,7 @@
Sfx_ChangeDexMode_Ch5: ; f1eb1
dutycycle $1
soundinput $16
- sound $f, $d2, $0500
+ sound __, 16, $d2, $0500
soundinput $8
endchannel
; f1ebc
@@ -4281,36 +4281,36 @@
Sfx_JumpOverLedge_Ch5: ; f1ebc
dutycycle $2
soundinput $95
- sound $f, $f2, $0400
+ sound __, 16, $f2, $0400
soundinput $8
endchannel
; f1ec7
Sfx_GrassRustle_Ch8: ; f1ec7
- noise $2, $f1, $32
- noise $2, $0, $0
- noise $2, $f1, $22
- noise $1, $0, $0
+ noise __, 3, $f1, $32
+ noise __, 3, $0, $0
+ noise __, 3, $f1, $22
+ noise __, 2, $0, $0
endchannel
; f1ed4
Sfx_Fly_Ch8: ; f1ed4
- noise $2, $f1, $12
- noise $2, $0, $0
- noise $2, $a1, $12
- noise $2, $0, $0
- noise $2, $d1, $12
- noise $2, $0, $0
- noise $2, $81, $12
- noise $2, $0, $0
- noise $2, $b1, $12
- noise $2, $0, $0
- noise $2, $61, $12
- noise $2, $0, $0
- noise $2, $91, $12
- noise $2, $0, $0
- noise $2, $41, $12
- noise $2, $0, $0
+ noise __, 3, $f1, $12
+ noise __, 3, $0, $0
+ noise __, 3, $a1, $12
+ noise __, 3, $0, $0
+ noise __, 3, $d1, $12
+ noise __, 3, $0, $0
+ noise __, 3, $81, $12
+ noise __, 3, $0, $0
+ noise __, 3, $b1, $12
+ noise __, 3, $0, $0
+ noise __, 3, $61, $12
+ noise __, 3, $0, $0
+ noise __, 3, $91, $12
+ noise __, 3, $0, $0
+ noise __, 3, $41, $12
+ noise __, 3, $0, $0
endchannel
; f1f05
@@ -4317,20 +4317,20 @@
Sfx_Wrong_Ch5: ; f1f05
dutycycle $3
soundinput $5a
- sound $4, $f0, $0500
+ sound __, 5, $f0, $0500
soundinput $8
- sound $4, $0, 0
- sound $f, $f0, $0500
- sound $1, $0, 0
+ sound __, 5, $0, 0
+ sound __, 16, $f0, $0500
+ sound __, 2, $0, 0
endchannel
; f1f1c
Sfx_Wrong_Ch6: ; f1f1c
dutycycle $3
- sound $4, $f0, $0401
- sound $4, $0, 0
- sound $f, $f0, $0401
- sound $1, $0, 0
+ sound __, 5, $f0, $0401
+ sound __, 5, $0, 0
+ sound __, 16, $f0, $0401
+ sound __, 2, $0, 0
endchannel
; f1f2f
@@ -4337,44 +4337,44 @@
Sfx_Squeak_Ch5: ; f1f2f
dutycycle $0
soundinput $17
- sound $f, $d2, $0700
+ sound __, 16, $d2, $0700
soundinput $8
endchannel
; f1f3a
Sfx_Strength_Ch8: ; f1f3a
- noise $4, $a2, $23
- noise $8, $f1, $34
- noise $f, $0, $0
- noise $2, $f7, $24
- noise $2, $f7, $34
- noise $4, $f7, $44
- noise $8, $f4, $55
- noise $8, $f1, $44
+ noise __, 5, $a2, $23
+ noise __, 9, $f1, $34
+ noise __, 16, $0, $0
+ noise __, 3, $f7, $24
+ noise __, 3, $f7, $34
+ noise __, 5, $f7, $44
+ noise __, 9, $f4, $55
+ noise __, 9, $f1, $44
endchannel
; f1f53
Sfx_Boat_Ch5: ; f1f53
dutycycle $2
- sound $f, $f0, $0500
- sound $4, $0, 0
- sound $f, $f0, $0500
- sound $f, $f0, $0500
- sound $f, $f0, $0500
- sound $f, $f0, $0500
- sound $f, $f2, $0500
+ sound __, 16, $f0, $0500
+ sound __, 5, $0, 0
+ sound __, 16, $f0, $0500
+ sound __, 16, $f0, $0500
+ sound __, 16, $f0, $0500
+ sound __, 16, $f0, $0500
+ sound __, 16, $f2, $0500
endchannel
; f1f72
Sfx_Boat_Ch6: ; f1f72
dutycycle $3
- sound $f, $f0, $0482
- sound $4, $0, 0
- sound $f, $f0, $0482
- sound $f, $f0, $0482
- sound $f, $f0, $0482
- sound $f, $f0, $0482
- sound $f, $f2, $0482
+ sound __, 16, $f0, $0482
+ sound __, 5, $0, 0
+ sound __, 16, $f0, $0482
+ sound __, 16, $f0, $0482
+ sound __, 16, $f0, $0482
+ sound __, 16, $f0, $0482
+ sound __, 16, $f2, $0482
endchannel
; f1f91
@@ -4381,13 +4381,13 @@
Sfx_WallOpen_Ch5: ; f1f91
dutycycle $1
soundinput $3a
- sound $4, $f2, $0500
+ sound __, 5, $f2, $0500
soundinput $22
- sound $4, $e2, $0500
+ sound __, 5, $e2, $0500
soundinput $3a
- sound $4, $f2, $0700
+ sound __, 5, $f2, $0700
soundinput $22
- sound $f, $e2, $0700
+ sound __, 16, $e2, $0700
soundinput $8
endchannel
; f1fae
@@ -4394,12 +4394,12 @@
Sfx_ElevatorEnd_Ch5: ; f1fae
dutycycle $2
- sound $f, $f3, $0730
- sound $8, $65, $0730
- sound $f, $f4, $0700
- sound $f, $74, $0700
- sound $f, $44, $0700
- sound $f, $24, $0700
+ sound __, 16, $f3, $0730
+ sound __, 9, $65, $0730
+ sound __, 16, $f4, $0700
+ sound __, 16, $74, $0700
+ sound __, 16, $44, $0700
+ sound __, 16, $24, $0700
endchannel
; f1fc9
@@ -4406,24 +4406,24 @@
Sfx_ThrowBall_Ch5: ; f1fc9
dutycycle $2
soundinput $2f
- sound $f, $f2, $0780
+ sound __, 16, $f2, $0780
endchannel
; f1fd2
Sfx_ThrowBall_Ch6: ; f1fd2
dutycycle $2
- sound $f, $c2, $0782
+ sound __, 16, $c2, $0782
endchannel
; f1fd9
Sfx_Shine_Ch5: ; f1fd9
dutycycle $0
- sound $0, $d2, $0700
- sound $0, $d2, $0740
- sound $0, $d2, $0780
- sound $0, $d2, $07c0
- sound $a, $e1, $07e0
- sound $1, $0, 0
+ sound __, 1, $d2, $0700
+ sound __, 1, $d2, $0740
+ sound __, 1, $d2, $0780
+ sound __, 1, $d2, $07c0
+ sound __, 11, $e1, $07e0
+ sound __, 2, $0, 0
endchannel
; f1ff4
@@ -4430,41 +4430,41 @@
Sfx_BallPoof_Ch5: ; f1ff4
dutycycle $2
soundinput $16
- sound $f, $f2, $0400
+ sound __, 16, $f2, $0400
soundinput $8
endchannel
; f1fff
Sfx_BallPoof_Ch8: ; f1fff
- noise $f, $a2, $22
+ noise __, 16, $a2, $22
endchannel
; f2003
Sfx_Unknown3A_Ch5: ; f2003
- sound $f, $d1, $0200
+ sound __, 16, $d1, $0200
soundinput $8
endchannel
; f200a
Sfx_Unknown3A_Ch8: ; f200a
- noise $4, $f5, $33
- noise $8, $f4, $22
- noise $f, $f2, $21
+ noise __, 5, $f5, $33
+ noise __, 9, $f4, $22
+ noise __, 16, $f2, $21
endchannel
; f2014
Sfx_Run_Ch8: ; f2014
- noise $2, $61, $23
- noise $2, $a1, $33
- noise $2, $c1, $33
- noise $2, $51, $11
- noise $2, $f1, $33
- noise $2, $41, $11
- noise $2, $c1, $33
- noise $2, $31, $11
- noise $2, $81, $33
- noise $2, $31, $11
- noise $8, $41, $33
+ noise __, 3, $61, $23
+ noise __, 3, $a1, $33
+ noise __, 3, $c1, $33
+ noise __, 3, $51, $11
+ noise __, 3, $f1, $33
+ noise __, 3, $41, $11
+ noise __, 3, $c1, $33
+ noise __, 3, $31, $11
+ noise __, 3, $81, $33
+ noise __, 3, $31, $11
+ noise __, 9, $41, $33
endchannel
; f2036
@@ -4471,9 +4471,9 @@
Sfx_SlotMachineStart_Ch5: ; f2036
dutycycle $2
soundinput $44
- sound $f, $f0, $04f0
+ sound __, 16, $f0, $04f0
soundinput $17
- sound $f, $f2, $0650
+ sound __, 16, $f2, $0650
soundinput $8
endchannel
; f2047
@@ -4480,25 +4480,25 @@
Sfx_SlotMachineStart_Ch6: ; f2047
dutycycle $2
- sound $f, $92, $0600
- sound $f, $92, $0782
+ sound __, 16, $92, $0600
+ sound __, 16, $92, $0782
endchannel
; f2052
Sfx_Call_Ch5: ; f2052
soundinput $67
- sound $4, $f7, $07a0
- sound $4, $f7, $07a0
- sound $4, $f7, $07a0
- sound $4, $f7, $07a0
- sound $4, $f7, $07a0
+ sound __, 5, $f7, $07a0
+ sound __, 5, $f7, $07a0
+ sound __, 5, $f7, $07a0
+ sound __, 5, $f7, $07a0
+ sound __, 5, $f7, $07a0
soundinput $8
- sound $4, $0, 0
+ sound __, 5, $0, 0
endchannel
; f206f
Sfx_Peck_Ch8: ; f206f
- noise $2, $a1, $12
+ noise __, 3, $a1, $12
endchannel
; f2073
@@ -4505,7 +4505,7 @@
Sfx_Kinesis_Ch5: ; f2073
dutycycle $1
soundinput $af
- sound $f, $f2, $0780
+ sound __, 16, $f2, $0780
soundinput $8
endchannel
; f207e
@@ -4513,151 +4513,151 @@
Sfx_Lick_Ch5: ; f207e
dutycycle $1
soundinput $97
- sound $f, $f2, $0500
+ sound __, 16, $f2, $0500
soundinput $8
endchannel
; f2089
Sfx_Pound_Ch8: ; f2089
- noise $2, $a1, $22
+ noise __, 3, $a1, $22
endchannel
; f208d
Sfx_MovePuzzlePiece_Ch8: ; f208d
- noise $8, $f1, $54
+ noise __, 9, $f1, $54
endchannel
; f2091
Sfx_CometPunch_Ch8: ; f2091
- noise $f, $8f, $11
- noise $4, $ff, $12
- noise $a, $f1, $55
+ noise __, 16, $8f, $11
+ noise __, 5, $ff, $12
+ noise __, 11, $f1, $55
endchannel
; f209b
Sfx_MegaPunch_Ch8: ; f209b
- noise $f, $8f, $34
- noise $8, $f2, $35
- noise $a, $f1, $55
+ noise __, 16, $8f, $34
+ noise __, 9, $f2, $35
+ noise __, 11, $f1, $55
endchannel
; f20a5
Sfx_Scratch_Ch8: ; f20a5
- noise $f, $9f, $23
- noise $8, $f1, $21
+ noise __, 16, $9f, $23
+ noise __, 9, $f1, $21
endchannel
; f20ac
Sfx_Vicegrip_Ch8: ; f20ac
- noise $2, $e1, $4b
- noise $a, $f1, $44
- noise $2, $e1, $3a
- noise $6, $f1, $34
+ noise __, 3, $e1, $4b
+ noise __, 11, $f1, $44
+ noise __, 3, $e1, $3a
+ noise __, 7, $f1, $34
endchannel
; f20b9
Sfx_RazorWind_Ch8: ; f20b9
- noise $2, $f4, $44
- noise $2, $f4, $14
- noise $f, $f1, $32
+ noise __, 3, $f4, $44
+ noise __, 3, $f4, $14
+ noise __, 16, $f1, $32
endchannel
; f20c3
Sfx_Cut_Ch8: ; f20c3
- noise $4, $8f, $55
- noise $2, $f4, $44
- noise $8, $f4, $22
- noise $f, $f2, $21
+ noise __, 5, $8f, $55
+ noise __, 3, $f4, $44
+ noise __, 9, $f4, $22
+ noise __, 16, $f2, $21
endchannel
; f20d0
Sfx_WingAttack_Ch8: ; f20d0
Sfx_WingAttack_branch_f20d0: ; f20d0
- noise $8, $4f, $23
- noise $4, $c4, $22
- noise $6, $f2, $23
+ noise __, 9, $4f, $23
+ noise __, 5, $c4, $22
+ noise __, 7, $f2, $23
loopchannel 4, Sfx_WingAttack_branch_f20d0
endchannel
; f20de
Sfx_Whirlwind_Ch8: ; f20de
- noise $8, $4f, $33
- noise $4, $c4, $22
- noise $6, $f2, $23
- noise $f, $f2, $22
+ noise __, 9, $4f, $33
+ noise __, 5, $c4, $22
+ noise __, 7, $f2, $23
+ noise __, 16, $f2, $22
endchannel
; f20eb
Sfx_Bind_Ch8: ; f20eb
- noise $8, $ff, $32
- noise $8, $f4, $43
- noise $8, $f2, $54
- noise $8, $f1, $65
+ noise __, 9, $ff, $32
+ noise __, 9, $f4, $43
+ noise __, 9, $f2, $54
+ noise __, 9, $f1, $65
endchannel
; f20f8
Sfx_VineWhip_Ch8: ; f20f8
- noise $1, $c2, $33
- noise $2, $f2, $21
- noise $1, $e2, $33
- noise $1, $c2, $32
- noise $1, $92, $12
- noise $1, $b2, $31
- noise $c, $91, $10
- noise $8, $f2, $41
+ noise __, 2, $c2, $33
+ noise __, 3, $f2, $21
+ noise __, 2, $e2, $33
+ noise __, 2, $c2, $32
+ noise __, 2, $92, $12
+ noise __, 2, $b2, $31
+ noise __, 13, $91, $10
+ noise __, 9, $f2, $41
endchannel
; f2111
Sfx_DoubleKick_Ch8: ; f2111
- noise $1, $94, $23
- noise $1, $b4, $22
- noise $8, $f1, $44
+ noise __, 2, $94, $23
+ noise __, 2, $b4, $22
+ noise __, 9, $f1, $44
endchannel
; f211b
Sfx_MegaKick_Ch8: ; f211b
- noise $2, $94, $33
- noise $4, $b4, $22
- noise $4, $f1, $44
- noise $8, $f1, $55
+ noise __, 3, $94, $33
+ noise __, 5, $b4, $22
+ noise __, 5, $f1, $44
+ noise __, 9, $f1, $55
endchannel
; f2128
Sfx_Headbutt_Ch8: ; f2128
- noise $4, $ff, $55
- noise $8, $f1, $65
+ noise __, 5, $ff, $55
+ noise __, 9, $f1, $65
endchannel
; f212f
Sfx_HornAttack_Ch8: ; f212f
- noise $2, $84, $43
- noise $2, $c4, $22
- noise $8, $f2, $34
+ noise __, 3, $84, $43
+ noise __, 3, $c4, $22
+ noise __, 9, $f2, $34
endchannel
; f2139
Sfx_Tackle_Ch8: ; f2139
- noise $4, $f1, $34
- noise $f, $f2, $64
+ noise __, 5, $f1, $34
+ noise __, 16, $f2, $64
endchannel
; f2140
Sfx_PoisonSting_Ch8: ; f2140
- noise $2, $f1, $22
- noise $f, $f2, $12
+ noise __, 3, $f1, $22
+ noise __, 16, $f2, $12
endchannel
; f2147
Sfx_Powder_Ch8: ; f2147
- noise $2, $c2, $1
- noise $f, $f4, $1
- noise $f, $f2, $1
+ noise __, 3, $c2, $1
+ noise __, 16, $f4, $1
+ noise __, 16, $f2, $1
endchannel
; f2151
Sfx_Doubleslap_Ch8: ; f2151
- noise $8, $f1, $32
- noise $8, $f1, $33
+ noise __, 9, $f1, $32
+ noise __, 9, $f1, $33
endchannel
; f2158
@@ -4664,56 +4664,56 @@
Sfx_Bite_Ch5: ; f2158
dutycycle $0
soundinput $3a
- sound $4, $f2, $0200
+ sound __, 5, $f2, $0200
soundinput $22
- sound $8, $e2, $0200
+ sound __, 9, $e2, $0200
soundinput $8
endchannel
; f2169
Sfx_Bite_Ch8: ; f2169
- noise $0, $d1, $42
- noise $4, $a1, $32
- noise $0, $d1, $22
- noise $6, $a1, $32
+ noise __, 1, $d1, $42
+ noise __, 5, $a1, $32
+ noise __, 1, $d1, $22
+ noise __, 7, $a1, $32
endchannel
; f2176
Sfx_JumpKick_Ch8: ; f2176
- noise $3, $92, $31
- noise $3, $b2, $32
- noise $3, $c2, $33
- noise $8, $f1, $54
+ noise __, 4, $92, $31
+ noise __, 4, $b2, $32
+ noise __, 4, $c2, $33
+ noise __, 9, $f1, $54
endchannel
; f2183
Sfx_Stomp_Ch8: ; f2183
- noise $c, $f1, $54
- noise $8, $f1, $64
+ noise __, 13, $f1, $54
+ noise __, 9, $f1, $64
endchannel
; f218a
Sfx_TailWhip_Ch8: ; f218a
- noise $2, $f1, $33
- noise $2, $c1, $32
- noise $2, $a1, $31
- noise $f, $82, $32
- noise $8, $f1, $34
+ noise __, 3, $f1, $33
+ noise __, 3, $c1, $32
+ noise __, 3, $a1, $31
+ noise __, 16, $82, $32
+ noise __, 9, $f1, $34
endchannel
; f219a
Sfx_KarateChop_Ch8: ; f219a
- noise $2, $d2, $32
- noise $f, $f2, $43
+ noise __, 3, $d2, $32
+ noise __, 16, $f2, $43
endchannel
; f21a1
Sfx_Submission_Ch8: ; f21a1
- noise $2, $f2, $43
- noise $4, $b5, $32
- noise $9, $86, $31
- noise $7, $64, $0
- noise $f, $f2, $55
+ noise __, 3, $f2, $43
+ noise __, 5, $b5, $32
+ noise __, 10, $86, $31
+ noise __, 8, $64, $0
+ noise __, 16, $f2, $55
endchannel
; f21b1
@@ -4720,61 +4720,61 @@
Sfx_WaterGun_Ch5: ; f21b1
dutycycle $1
soundinput $97
- sound $f, $f2, $0700
+ sound __, 16, $f2, $0700
soundinput $8
endchannel
; f21bc
Sfx_WaterGun_Ch8: ; f21bc
- noise $f, $3f, $22
- noise $f, $f2, $21
+ noise __, 16, $3f, $22
+ noise __, 16, $f2, $21
endchannel
; f21c3
Sfx_SwordsDance_Ch8: ; f21c3
- noise $f, $4f, $41
- noise $8, $8f, $41
- noise $8, $cf, $41
- noise $8, $f2, $42
- noise $f, $f2, $41
+ noise __, 16, $4f, $41
+ noise __, 9, $8f, $41
+ noise __, 9, $cf, $41
+ noise __, 9, $f2, $42
+ noise __, 16, $f2, $41
endchannel
; f21d3
Sfx_Thunder_Ch8: ; f21d3
- noise $a, $ff, $50
- noise $f, $ff, $51
- noise $8, $f2, $51
- noise $6, $ff, $52
- noise $6, $ff, $53
- noise $8, $ff, $54
- noise $f, $f2, $54
+ noise __, 11, $ff, $50
+ noise __, 16, $ff, $51
+ noise __, 9, $f2, $51
+ noise __, 7, $ff, $52
+ noise __, 7, $ff, $53
+ noise __, 9, $ff, $54
+ noise __, 16, $f2, $54
endchannel
; f21e9
Sfx_Supersonic_Ch5: ; f21e9
dutycycle $2
- sound $f, $3f, $07c0
+ sound __, 16, $3f, $07c0
Sfx_Supersonic_branch_f21ef: ; f21ef
- sound $f, $df, $07c0
+ sound __, 16, $df, $07c0
loopchannel 4, Sfx_Supersonic_branch_f21ef
- sound $f, $d1, $07c0
+ sound __, 16, $d1, $07c0
endchannel
; f21fc
Sfx_Supersonic_Ch6: ; f21fc
unknownmusic0xde $b3
- sound $f, $2f, $07c8
+ sound __, 16, $2f, $07c8
Sfx_Supersonic_branch_f2202: ; f2202
- sound $f, $cf, $07c7
+ sound __, 16, $cf, $07c7
loopchannel 4, Sfx_Supersonic_branch_f2202
- sound $f, $c1, $07c8
+ sound __, 16, $c1, $07c8
endchannel
; f220f
Sfx_Supersonic_Ch8: ; f220f
Sfx_Supersonic_branch_f220f: ; f220f
- noise $3, $97, $12
- noise $3, $a1, $11
+ noise __, 4, $97, $12
+ noise __, 4, $a1, $11
loopchannel 10, Sfx_Supersonic_branch_f220f
endchannel
; f221a
@@ -4782,8 +4782,8 @@
Sfx_Leer_Ch5: ; f221a
Sfx_Leer_branch_f221a: ; f221a
dutycycle $0
- sound $0, $f1, $07c0
- sound $0, $f1, $0700
+ sound __, 1, $f1, $07c0
+ sound __, 1, $f1, $0700
loopchannel 12, Sfx_Leer_branch_f221a
endchannel
; f2229
@@ -4791,8 +4791,8 @@
Sfx_Leer_Ch6: ; f2229
Sfx_Leer_branch_f2229: ; f2229
unknownmusic0xde $b3
- sound $0, $e1, $07c1
- sound $0, $e1, $0701
+ sound __, 1, $e1, $07c1
+ sound __, 1, $e1, $0701
loopchannel 12, Sfx_Leer_branch_f2229
endchannel
; f2238
@@ -4799,8 +4799,8 @@
Sfx_Leer_Ch8: ; f2238
Sfx_Leer_branch_f2238: ; f2238
- noise $1, $d1, $49
- noise $1, $d1, $29
+ noise __, 2, $d1, $49
+ noise __, 2, $d1, $29
loopchannel 6, Sfx_Leer_branch_f2238
endchannel
; f2243
@@ -4808,22 +4808,22 @@
Sfx_Ember_Ch5: ; f2243
Sfx_Ember_branch_f2243: ; f2243
unknownmusic0xde $c9
- sound $b, $f3, $0120
- sound $9, $d3, $0150
+ sound __, 12, $f3, $0120
+ sound __, 10, $d3, $0150
loopchannel 5, Sfx_Ember_branch_f2243
- sound $8, $e3, $0130
- sound $f, $c2, $0110
+ sound __, 9, $e3, $0130
+ sound __, 16, $c2, $0110
endchannel
; f225a
Sfx_Ember_Ch8: ; f225a
Sfx_Ember_branch_f225a: ; f225a
- noise $a, $f3, $35
- noise $e, $f6, $45
+ noise __, 11, $f3, $35
+ noise __, 15, $f6, $45
loopchannel 4, Sfx_Ember_branch_f225a
- noise $c, $f4, $bc
- noise $c, $f5, $9c
- noise $f, $f4, $ac
+ noise __, 13, $f4, $bc
+ noise __, 13, $f5, $9c
+ noise __, 16, $f4, $ac
endchannel
; f226e
@@ -4830,12 +4830,12 @@
Sfx_Bubblebeam_Ch5: ; f226e
Sfx_Bubblebeam_branch_f226e: ; f226e
unknownmusic0xde $39
- sound $4, $f4, $0600
- sound $3, $c4, $0500
- sound $5, $b5, $0600
- sound $d, $e2, $06c0
+ sound __, 5, $f4, $0600
+ sound __, 4, $c4, $0500
+ sound __, 6, $b5, $0600
+ sound __, 14, $e2, $06c0
loopchannel 3, Sfx_Bubblebeam_branch_f226e
- sound $8, $d1, $0600
+ sound __, 9, $d1, $0600
endchannel
; f2289
@@ -4842,10 +4842,10 @@
Sfx_Bubblebeam_Ch6: ; f2289
Sfx_Bubblebeam_branch_f2289: ; f2289
unknownmusic0xde $8d
- sound $5, $e4, $05e0
- sound $4, $b4, $04e0
- sound $6, $a5, $05e8
- sound $e, $d1, $06a0
+ sound __, 6, $e4, $05e0
+ sound __, 5, $b4, $04e0
+ sound __, 7, $a5, $05e8
+ sound __, 15, $d1, $06a0
loopchannel 3, Sfx_Bubblebeam_branch_f2289
endchannel
; f22a0
@@ -4852,10 +4852,10 @@
Sfx_Bubblebeam_Ch8: ; f22a0
Sfx_Bubblebeam_branch_f22a0: ; f22a0
- noise $5, $c3, $33
- noise $3, $92, $43
- noise $a, $b5, $33
- noise $f, $c3, $32
+ noise __, 6, $c3, $33
+ noise __, 4, $92, $43
+ noise __, 11, $b5, $33
+ noise __, 16, $c3, $32
loopchannel 2, Sfx_Bubblebeam_branch_f22a0
endchannel
; f22b1
@@ -4863,25 +4863,25 @@
Sfx_HydroPump_Ch5: ; f22b1
Sfx_HydroPump_branch_f22b1: ; f22b1
unknownmusic0xde $d2
- sound $3, $81, $0300
- sound $3, $c1, $0400
- sound $3, $f1, $0500
- sound $3, $b1, $0400
- sound $3, $71, $0300
+ sound __, 4, $81, $0300
+ sound __, 4, $c1, $0400
+ sound __, 4, $f1, $0500
+ sound __, 4, $b1, $0400
+ sound __, 4, $71, $0300
loopchannel 5, Sfx_HydroPump_branch_f22b1
- sound $8, $81, $0400
+ sound __, 9, $81, $0400
endchannel
; f22d0
Sfx_HydroPump_Ch8: ; f22d0
Sfx_HydroPump_branch_f22d0: ; f22d0
- noise $3, $62, $22
- noise $3, $a2, $32
- noise $3, $d2, $33
- noise $3, $92, $23
- noise $3, $52, $12
+ noise __, 4, $62, $22
+ noise __, 4, $a2, $32
+ noise __, 4, $d2, $33
+ noise __, 4, $92, $23
+ noise __, 4, $52, $12
loopchannel 5, Sfx_HydroPump_branch_f22d0
- noise $8, $81, $12
+ noise __, 9, $81, $12
endchannel
; f22e7
@@ -4888,9 +4888,9 @@
Sfx_Surf_Ch5: ; f22e7
Sfx_Surf_branch_f22e7: ; f22e7
unknownmusic0xde $39
- sound $f, $f4, $0500
- sound $f, $c4, $0400
- sound $f, $e2, $05c0
+ sound __, 16, $f4, $0500
+ sound __, 16, $c4, $0400
+ sound __, 16, $e2, $05c0
loopchannel 3, Sfx_Surf_branch_f22e7
endchannel
; f22fa
@@ -4898,9 +4898,9 @@
Sfx_Surf_Ch6: ; f22fa
Sfx_Surf_branch_f22fa: ; f22fa
unknownmusic0xde $8d
- sound $7, $e4, $0430
- sound $f, $b4, $0330
- sound $f, $a2, $0438
+ sound __, 8, $e4, $0430
+ sound __, 16, $b4, $0330
+ sound __, 16, $a2, $0438
loopchannel 4, Sfx_Surf_branch_f22fa
endchannel
; f230d
@@ -4907,10 +4907,10 @@
Sfx_Surf_Ch8: ; f230d
Sfx_Surf_branch_f230d: ; f230d
- noise $9, $f4, $44
- noise $9, $f2, $43
- noise $f, $f4, $42
- noise $f, $f4, $41
+ noise __, 10, $f4, $44
+ noise __, 10, $f2, $43
+ noise __, 16, $f4, $42
+ noise __, 16, $f4, $41
loopchannel 3, Sfx_Surf_branch_f230d
endchannel
; f231e
@@ -4918,11 +4918,11 @@
Sfx_Psybeam_Ch5: ; f231e
Sfx_Psybeam_branch_f231e: ; f231e
unknownmusic0xde $a1
- sound $a, $f1, $0640
- sound $a, $f3, $0680
- sound $a, $f2, $0620
+ sound __, 11, $f1, $0640
+ sound __, 11, $f3, $0680
+ sound __, 11, $f2, $0620
loopchannel 4, Sfx_Psybeam_branch_f231e
- sound $a, $f1, $0640
+ sound __, 11, $f1, $0640
endchannel
; f2335
@@ -4929,18 +4929,18 @@
Sfx_Psybeam_Ch6: ; f2335
Sfx_Psybeam_branch_f2335: ; f2335
unknownmusic0xde $b3
- sound $a, $f3, $0571
- sound $7, $e3, $0531
- sound $a, $f1, $0551
+ sound __, 11, $f3, $0571
+ sound __, 8, $e3, $0531
+ sound __, 11, $f1, $0551
loopchannel 4, Sfx_Psybeam_branch_f2335
- sound $a, $f1, $0571
+ sound __, 11, $f1, $0571
endchannel
; f234c
Sfx_Psybeam_Ch8: ; f234c
Sfx_Psybeam_branch_f234c: ; f234c
- noise $2, $d1, $4a
- noise $2, $d2, $2a
+ noise __, 3, $d1, $4a
+ noise __, 3, $d2, $2a
loopchannel 21, Sfx_Psybeam_branch_f234c
endchannel
; f2357
@@ -4948,10 +4948,10 @@
Sfx_Charge_Ch5: ; f2357
Sfx_Charge_branch_f2357: ; f2357
dutycycle $0
- sound $2, $f1, $0200
- sound $3, $f1, $0700
- sound $4, $f1, $0500
- sound $5, $f1, $07f0
+ sound __, 3, $f1, $0200
+ sound __, 4, $f1, $0700
+ sound __, 5, $f1, $0500
+ sound __, 6, $f1, $07f0
loopchannel 8, Sfx_Charge_branch_f2357
endchannel
; f236e
@@ -4959,10 +4959,10 @@
Sfx_Charge_Ch6: ; f236e
Sfx_Charge_branch_f236e: ; f236e
unknownmusic0xde $b3
- sound $2, $e1, $0302
- sound $3, $e1, $07f2
- sound $4, $e1, $0602
- sound $5, $e1, $0702
+ sound __, 3, $e1, $0302
+ sound __, 4, $e1, $07f2
+ sound __, 5, $e1, $0602
+ sound __, 6, $e1, $0702
loopchannel 8, Sfx_Charge_branch_f236e
endchannel
; f2385
@@ -4969,10 +4969,10 @@
Sfx_Charge_Ch8: ; f2385
Sfx_Charge_branch_f2385: ; f2385
- noise $2, $d3, $10
- noise $3, $d3, $11
- noise $2, $d2, $10
- noise $5, $d2, $12
+ noise __, 3, $d3, $10
+ noise __, 4, $d3, $11
+ noise __, 3, $d2, $10
+ noise __, 6, $d2, $12
loopchannel 9, Sfx_Charge_branch_f2385
endchannel
; f2396
@@ -4980,8 +4980,8 @@
Sfx_Thundershock_Ch5: ; f2396
Sfx_Thundershock_branch_f2396: ; f2396
unknownmusic0xde $2b
- sound $3, $f1, $07f0
- sound $4, $f2, $0200
+ sound __, 4, $f1, $07f0
+ sound __, 5, $f2, $0200
loopchannel 8, Sfx_Thundershock_branch_f2396
endchannel
; f23a5
@@ -4989,8 +4989,8 @@
Sfx_Thundershock_Ch6: ; f23a5
Sfx_Thundershock_branch_f23a5: ; f23a5
unknownmusic0xde $b3
- sound $4, $e2, $0202
- sound $4, $e1, $07e2
+ sound __, 5, $e2, $0202
+ sound __, 5, $e1, $07e2
loopchannel 9, Sfx_Thundershock_branch_f23a5
endchannel
; f23b4
@@ -4997,8 +4997,8 @@
Sfx_Thundershock_Ch8: ; f23b4
Sfx_Thundershock_branch_f23b4: ; f23b4
- noise $4, $ff, $43
- noise $4, $f2, $44
+ noise __, 5, $ff, $43
+ noise __, 5, $f2, $44
loopchannel 9, Sfx_Thundershock_branch_f23b4
endchannel
; f23bf
@@ -5006,12 +5006,12 @@
Sfx_Psychic_Ch5: ; f23bf
dutycycle $2
soundinput $f7
- sound $8, $c4, $07bd
- sound $8, $c4, $07be
- sound $8, $c4, $07bf
- sound $8, $c4, $07c0
- sound $f, $c4, $07c1
- sound $f, $f2, $07c0
+ sound __, 9, $c4, $07bd
+ sound __, 9, $c4, $07be
+ sound __, 9, $c4, $07bf
+ sound __, 9, $c4, $07c0
+ sound __, 16, $c4, $07c1
+ sound __, 16, $f2, $07c0
soundinput $8
endchannel
; f23de
@@ -5018,42 +5018,42 @@
Sfx_Psychic_Ch6: ; f23de
dutycycle $2
- sound $8, $c4, $0770
- sound $8, $c4, $0761
- sound $8, $c4, $0762
- sound $8, $c4, $0763
- sound $f, $c4, $0764
- sound $f, $f2, $0764
+ sound __, 9, $c4, $0770
+ sound __, 9, $c4, $0761
+ sound __, 9, $c4, $0762
+ sound __, 9, $c4, $0763
+ sound __, 16, $c4, $0764
+ sound __, 16, $f2, $0764
endchannel
; f23f9
Sfx_Psychic_Ch8: ; f23f9
- noise $f, $3f, $14
- noise $f, $cf, $13
- noise $f, $cf, $12
- noise $f, $cf, $11
- noise $f, $cf, $10
- noise $f, $c2, $10
+ noise __, 16, $3f, $14
+ noise __, 16, $cf, $13
+ noise __, 16, $cf, $12
+ noise __, 16, $cf, $11
+ noise __, 16, $cf, $10
+ noise __, 16, $c2, $10
endchannel
; f240c
Sfx_Screech_Ch5: ; f240c
dutycycle $2
- sound $f, $ff, $07e0
- sound $f, $ff, $07e0
- sound $f, $ff, $07e0
- sound $f, $ff, $07e0
- sound $f, $f2, $07e0
+ sound __, 16, $ff, $07e0
+ sound __, 16, $ff, $07e0
+ sound __, 16, $ff, $07e0
+ sound __, 16, $ff, $07e0
+ sound __, 16, $f2, $07e0
endchannel
; f2423
Sfx_Screech_Ch6: ; f2423
dutycycle $3
- sound $f, $ff, $07e2
- sound $f, $ff, $07e1
- sound $f, $ff, $07e2
- sound $f, $ff, $07e1
- sound $f, $f2, $07e2
+ sound __, 16, $ff, $07e2
+ sound __, 16, $ff, $07e1
+ sound __, 16, $ff, $07e2
+ sound __, 16, $ff, $07e1
+ sound __, 16, $f2, $07e2
endchannel
; f243a
@@ -5060,7 +5060,7 @@
Sfx_BoneClub_Ch5: ; f243a
dutycycle $2
soundinput $af
- sound $8, $f1, $0700
+ sound __, 9, $f1, $0700
soundinput $8
endchannel
; f2445
@@ -5067,51 +5067,51 @@
Sfx_BoneClub_Ch6: ; f2445
dutycycle $3
- sound $8, $f1, $0701
+ sound __, 9, $f1, $0701
endchannel
; f244c
Sfx_Sharpen_Ch5: ; f244c
dutycycle $2
- sound $6, $f1, $0500
- sound $6, $f1, $0580
- sound $6, $f1, $0600
- sound $6, $f1, $0680
- sound $8, $f1, $0700
+ sound __, 7, $f1, $0500
+ sound __, 7, $f1, $0580
+ sound __, 7, $f1, $0600
+ sound __, 7, $f1, $0680
+ sound __, 9, $f1, $0700
endchannel
; f2463
Sfx_Sharpen_Ch6: ; f2463
dutycycle $3
- sound $6, $e1, $0510
- sound $6, $e1, $0590
- sound $6, $e1, $0610
- sound $6, $e1, $0690
- sound $8, $e1, $0710
+ sound __, 7, $e1, $0510
+ sound __, 7, $e1, $0590
+ sound __, 7, $e1, $0610
+ sound __, 7, $e1, $0690
+ sound __, 9, $e1, $0710
endchannel
; f247a
Sfx_EggBomb_Ch5: ; f247a
unknownmusic0xde $ed
- sound $8, $ff, $03f8
- sound $f, $ff, $0400
- sound $f, $f3, $0400
+ sound __, 9, $ff, $03f8
+ sound __, 16, $ff, $0400
+ sound __, 16, $f3, $0400
endchannel
; f2489
Sfx_EggBomb_Ch6: ; f2489
unknownmusic0xde $b4
- sound $8, $ef, $03c0
- sound $f, $ef, $03c0
- sound $f, $e3, $03c0
+ sound __, 9, $ef, $03c0
+ sound __, 16, $ef, $03c0
+ sound __, 16, $e3, $03c0
endchannel
; f2498
Sfx_EggBomb_Ch8: ; f2498
- noise $4, $ff, $51
- noise $8, $ff, $54
- noise $f, $ff, $55
- noise $f, $f3, $56
+ noise __, 5, $ff, $51
+ noise __, 9, $ff, $54
+ noise __, 16, $ff, $55
+ noise __, 16, $f3, $56
endchannel
; f24a5
@@ -5148,140 +5148,140 @@
Sfx_HyperBeam_Ch5: ; f24ca
dutycycle $0
- sound $2, $f1, $0780
- sound $2, $f1, $0700
- sound $2, $f1, $0790
- sound $2, $f1, $0700
- sound $2, $f1, $07a0
- sound $2, $f1, $0700
- sound $2, $f1, $07b0
- sound $2, $f1, $0700
- sound $2, $f1, $07c0
- sound $2, $f1, $0700
- sound $2, $f1, $07d0
+ sound __, 3, $f1, $0780
+ sound __, 3, $f1, $0700
+ sound __, 3, $f1, $0790
+ sound __, 3, $f1, $0700
+ sound __, 3, $f1, $07a0
+ sound __, 3, $f1, $0700
+ sound __, 3, $f1, $07b0
+ sound __, 3, $f1, $0700
+ sound __, 3, $f1, $07c0
+ sound __, 3, $f1, $0700
+ sound __, 3, $f1, $07d0
Sfx_HyperBeam_branch_f24f8: ; f24f8
- sound $2, $f1, $0700
- sound $2, $f1, $07e0
+ sound __, 3, $f1, $0700
+ sound __, 3, $f1, $07e0
loopchannel 12, Sfx_HyperBeam_branch_f24f8
- sound $f, $f1, $0700
+ sound __, 16, $f1, $0700
endchannel
; f2509
Sfx_HyperBeam_Ch6: ; f2509
unknownmusic0xde $b3
- sound $2, $f1, $0781
- sound $2, $f1, $0701
- sound $2, $f1, $0791
- sound $2, $f1, $0701
- sound $2, $f1, $07a1
- sound $2, $f1, $0701
- sound $2, $f1, $07b1
- sound $2, $f1, $0701
- sound $2, $f1, $07c1
- sound $2, $f1, $0701
- sound $2, $f1, $07d1
+ sound __, 3, $f1, $0781
+ sound __, 3, $f1, $0701
+ sound __, 3, $f1, $0791
+ sound __, 3, $f1, $0701
+ sound __, 3, $f1, $07a1
+ sound __, 3, $f1, $0701
+ sound __, 3, $f1, $07b1
+ sound __, 3, $f1, $0701
+ sound __, 3, $f1, $07c1
+ sound __, 3, $f1, $0701
+ sound __, 3, $f1, $07d1
Sfx_HyperBeam_branch_f2537: ; f2537
- sound $2, $f1, $0701
- sound $2, $f1, $07e1
+ sound __, 3, $f1, $0701
+ sound __, 3, $f1, $07e1
loopchannel 12, Sfx_HyperBeam_branch_f2537
- sound $f, $f1, $0701
+ sound __, 16, $f1, $0701
endchannel
; f2548
Sfx_HyperBeam_Ch8: ; f2548
Sfx_HyperBeam_branch_f2548: ; f2548
- noise $1, $d1, $49
- noise $1, $d1, $29
+ noise __, 2, $d1, $49
+ noise __, 2, $d1, $29
loopchannel 26, Sfx_HyperBeam_branch_f2548
endchannel
; f2553
Sfx_Unknown60_Ch8: ; f2553
- noise $6, $20, $10
- noise $6, $2f, $40
- noise $6, $4f, $41
- noise $6, $8f, $41
- noise $6, $cf, $42
- noise $8, $d7, $42
- noise $f, $e7, $43
- noise $f, $f2, $43
+ noise __, 7, $20, $10
+ noise __, 7, $2f, $40
+ noise __, 7, $4f, $41
+ noise __, 7, $8f, $41
+ noise __, 7, $cf, $42
+ noise __, 9, $d7, $42
+ noise __, 16, $e7, $43
+ noise __, 16, $f2, $43
endchannel
; f256c
Sfx_UnknownCB_Ch8: ; f256c
- noise $1, $10, $10
- noise $2, $20, $10
- noise $2, $30, $20
- noise $2, $40, $20
- noise $2, $50, $21
- noise $2, $60, $22
- noise $4, $70, $22
- noise $8, $80, $22
- noise $f, $94, $22
+ noise __, 2, $10, $10
+ noise __, 3, $20, $10
+ noise __, 3, $30, $20
+ noise __, 3, $40, $20
+ noise __, 3, $50, $21
+ noise __, 3, $60, $22
+ noise __, 5, $70, $22
+ noise __, 9, $80, $22
+ noise __, 16, $94, $22
endchannel
; f2588
Sfx_Unknown61_Ch8: ; f2588
- noise $4, $d1, $41
+ noise __, 5, $d1, $41
endchannel
; f258c
-Sfx_Unknown62_Ch8: ; f258c
- noise $4, $c1, $42
+Sfx_SwitchPockets_Ch8: ; f258c
+ noise __, 5, $c1, $42
endchannel
; f2590
Sfx_Unknown63_Ch8: ; f2590
- noise $2, $6f, $21
- noise $2, $af, $31
- noise $f, $f2, $41
+ noise __, 3, $6f, $21
+ noise __, 3, $af, $31
+ noise __, 16, $f2, $41
endchannel
; f259a
Sfx_Burn_Ch8: ; f259a
- noise $2, $d2, $32
- noise $f, $f2, $43
+ noise __, 3, $d2, $32
+ noise __, 16, $f2, $43
endchannel
; f25a1
Sfx_TitleScreenEntrance_Ch8: ; f25a1
- noise $2, $70, $22
- noise $2, $80, $23
- noise $2, $90, $24
- noise $2, $a0, $25
- noise $2, $b0, $26
- noise $f, $c2, $26
+ noise __, 3, $70, $22
+ noise __, 3, $80, $23
+ noise __, 3, $90, $24
+ noise __, 3, $a0, $25
+ noise __, 3, $b0, $26
+ noise __, 16, $c2, $26
endchannel
; f25b4
Sfx_Unknown66_Ch5: ; f25b4
dutycycle $2
- sound $1, $f2, $06a0
- sound $1, $f2, $06e0
- sound $8, $f1, $0700
+ sound __, 2, $f2, $06a0
+ sound __, 2, $f2, $06e0
+ sound __, 9, $f1, $0700
endchannel
; f25c3
Sfx_GetCoinFromSlots_Ch5: ; f25c3
dutycycle $2
- sound $2, $f1, $0700
- sound $8, $81, $07e0
+ sound __, 3, $f1, $0700
+ sound __, 9, $81, $07e0
endchannel
; f25ce
Sfx_PayDay_Ch5: ; f25ce
dutycycle $3
- sound $5, $e1, $0700
- sound $2, $e1, $0780
- sound $f, $f1, $07c0
+ sound __, 6, $e1, $0700
+ sound __, 3, $e1, $0780
+ sound __, 16, $f1, $07c0
endchannel
; f25dd
Sfx_PayDay_Ch6: ; f25dd
dutycycle $2
- sound $4, $c1, $06c1
- sound $2, $c1, $0741
- sound $f, $d1, $0781
+ sound __, 5, $c1, $06c1
+ sound __, 3, $c1, $0741
+ sound __, 16, $d1, $0781
endchannel
; f25ec
@@ -5288,15 +5288,15 @@
Sfx_Metronome_Ch5: ; f25ec
dutycycle $2
soundinput $5f
- sound $4, $40, $07e0
- sound $4, $60, $07e0
- sound $4, $80, $07e0
- sound $8, $a0, $07e0
- sound $8, $a0, $07e0
- sound $8, $80, $07e0
- sound $8, $60, $07e0
- sound $8, $30, $07e0
- sound $f, $12, $07e0
+ sound __, 5, $40, $07e0
+ sound __, 5, $60, $07e0
+ sound __, 5, $80, $07e0
+ sound __, 9, $a0, $07e0
+ sound __, 9, $a0, $07e0
+ sound __, 9, $80, $07e0
+ sound __, 9, $60, $07e0
+ sound __, 9, $30, $07e0
+ sound __, 16, $12, $07e0
soundinput $8
endchannel
; f2617
@@ -5303,16 +5303,16 @@
Sfx_Unknown5F_Ch5: ; f2617
Sfx_Unknown5F_branch_f2617: ; f2617
- sound $2, $f7, $0601
- sound $2, $f7, $0701
+ sound __, 3, $f7, $0601
+ sound __, 3, $f7, $0701
loopchannel 8, Sfx_Unknown5F_branch_f2617
endchannel
; f2624
Sfx_Unknown5F_Ch6: ; f2624
- sound $1, $f7, $ffff
- sound $2, $f7, $0602
- sound $2, $f7, $0702
+ sound __, 2, $f7, $ffff
+ sound __, 3, $f7, $0602
+ sound __, 3, $f7, $0702
loopchannel 8, Sfx_Unknown5F_branch_f2617
endchannel
; f2635
@@ -5481,15 +5481,15 @@
Sfx_HangUp_Ch5: ; f26f1
dutycycle $2
- sound $4, $b8, $077b
- sound $2, $21, $077b
- sound $10, $0, 0
+ sound __, 5, $b8, $077b
+ sound __, 3, $21, $077b
+ sound C_, 1, $0, 0
Sfx_HangUp_branch_f26ff: ; f26ff
Sfx_NoSignal_Ch5: ; f26ff
Sfx_NoSignal_branch_f26ff: ; f26ff
dutycycle $2
- sound $14, $e8, $070b
- sound $1c, $0, 0
+ sound C_, 5, $e8, $070b
+ sound C_, 13, $0, 0
loopchannel 3, Sfx_HangUp_branch_f26ff
endchannel
; f270e
@@ -5498,11 +5498,11 @@
Sfx_Sandstorm_branch_f270e: ; f270e
Sfx_Unknown5F_Ch8: ; f270e
Sfx_Unknown5F_branch_f270e: ; f270e
- noise $1, $f8, $41
- noise $2, $9c, $24
- noise $0, $0, $0
- noise $3, $59, $16
- noise $2, $0, $0
+ noise __, 2, $f8, $41
+ noise __, 3, $9c, $24
+ noise __, 1, $0, $0
+ noise __, 4, $59, $16
+ noise __, 3, $0, $0
loopchannel 3, Sfx_Sandstorm_branch_f270e
endchannel
; f2722
@@ -5511,66 +5511,66 @@
dutycycle $2
soundinput $5a
Sfx_Elevator_branch_f2726: ; f2726
- sound $2, $f1, $0300
+ sound __, 3, $f1, $0300
loopchannel 48, Sfx_Elevator_branch_f2726
soundinput $8
dutycycle $2
- sound $f, $f3, $0730
- sound $8, $65, $0730
- sound $f, $f4, $0700
- sound $f, $74, $0700
- sound $f, $44, $0700
- sound $f, $24, $0700
+ sound __, 16, $f3, $0730
+ sound __, 9, $65, $0730
+ sound __, 16, $f4, $0700
+ sound __, 16, $74, $0700
+ sound __, 16, $44, $0700
+ sound __, 16, $24, $0700
endchannel
; f274b
Sfx_Elevator_Ch6: ; f274b
Sfx_Elevator_Ch7: ; f274b
- sound $60, $0, 0
- sound $53, $0, 0
+ sound F_, 1, $0, 0
+ sound E_, 4, $0, 0
endchannel
; f2754
Sfx_Elevator_Ch8: ; f2754
- noise $60, $0, $0
- noise $53, $0, $0
+ noise F_, 1, $0, $0
+ noise E_, 4, $0, $0
endchannel
; f275b
Sfx_StopSlot: ; f275b
- dbw $04, Sfx_StopSlot_Ch5
+ musicheader 1, 5, Sfx_StopSlot_Ch5
; f275e
Sfx_StopSlot_Ch5: ; f275e
dutycycle $2
- sound $1, $f8, $0760
- sound $4, $82, $0760
+ sound __, 2, $f8, $0760
+ sound __, 5, $82, $0760
endchannel
; f2769
Sfx_GlassTing: ; f2769
- dbw $04, Sfx_GlassTing_Ch5
+ musicheader 1, 5, Sfx_GlassTing_Ch5
; f276c
Sfx_GlassTing_Ch5: ; f276c
dutycycle $2
- sound $20, $d1, $07dc
+ sound C#, 1, $d1, $07dc
endchannel
; f2773
Sfx_GlassTing2: ; f2773
- dbw $44, Sfx_GlassTing2_Ch5
- dbw $05, Sfx_GlassTing2_Ch6
+ musicheader 2, 5, Sfx_GlassTing2_Ch5
+ musicheader 1, 6, Sfx_GlassTing2_Ch6
; f2779
Sfx_GlassTing2_Ch5: ; f2779
dutycycle $2
- sound $10, $f1, $07dc
+ sound C_, 1, $f1, $07dc
endchannel
; f2780
Sfx_GlassTing2_Ch6: ; f2780
dutycycle $2
- sound $10, $d1, $07dd
+ sound C_, 1, $d1, $07dd
endchannel
; f2787
--- a/audio/sfx_crystal.asm
+++ b/audio/sfx_crystal.asm
@@ -1,167 +1,167 @@
Sfx_IntroUnown1: ; 17982d
- dbw $04, Sfx_IntroUnown1_Ch5
+ musicheader 1, 5, Sfx_IntroUnown1_Ch5
; 179830
Sfx_IntroUnown1_Ch5: ; 179830
vibrato $1, $a3
dutycycle $2
- sound $8, $39, $0705
- sound $20, $e2, $0705
+ sound __, 9, $39, $0705
+ sound C#, 1, $e2, $0705
endchannel
; 17983e
Sfx_IntroUnown2: ; 17983e
- dbw $05, Sfx_IntroUnown2_Ch6
+ musicheader 1, 6, Sfx_IntroUnown2_Ch6
; 179841
Sfx_IntroUnown2_Ch6: ; 179841
vibrato $1, $73
dutycycle $2
- sound $8, $39, $0758
- sound $20, $e2, $0758
+ sound __, 9, $39, $0758
+ sound C#, 1, $e2, $0758
endchannel
; 17984f
Sfx_IntroUnown3: ; 17984f
- dbw $06, Sfx_IntroUnown3_Ch7
+ musicheader 1, 7, Sfx_IntroUnown3_Ch7
; 179852
Sfx_IntroUnown3_Ch7: ; 179852
vibrato $1, $53
- sound $3, $32, $07c2
- sound $3, $22, $07c2
- sound $3, $12, $07c2
- sound $10, $12, $07c2
- sound $6, $22, $07c2
- sound $6, $32, $07c2
+ sound __, 4, $32, $07c2
+ sound __, 4, $22, $07c2
+ sound __, 4, $12, $07c2
+ sound C_, 1, $12, $07c2
+ sound __, 7, $22, $07c2
+ sound __, 7, $32, $07c2
endchannel
; 17986e
Sfx_DittoPopUp: ; 17986e
- dbw $04, Sfx_DittoPopUp_Ch5
+ musicheader 1, 5, Sfx_DittoPopUp_Ch5
; 179871
Sfx_DittoPopUp_Ch5: ; 179871
dutycycle $2
soundinput $1e
- sound $3, $82, $0700
- sound $1, $31, $0701
+ sound __, 4, $82, $0700
+ sound __, 2, $31, $0701
soundinput $16
- sound $4, $b1, $0640
- sound $10, $31, $0641
+ sound __, 5, $b1, $0640
+ sound C_, 1, $31, $0641
endchannel
; 179888
Sfx_DittoTransform: ; 179888
- dbw $04, Sfx_DittoTransform_Ch5
+ musicheader 1, 5, Sfx_DittoTransform_Ch5
; 17988b
Sfx_DittoTransform_Ch5: ; 17988b
dutycycle $1
soundinput $26
- sound $14, $3b, $0440
- sound $4, $97, $04c0
- sound $4, $67, $04c1
- sound $4, $42, $04c2
+ sound C_, 5, $3b, $0440
+ sound __, 5, $97, $04c0
+ sound __, 5, $67, $04c1
+ sound __, 5, $42, $04c2
endchannel
; 1798a0
Sfx_IntroSuicune1: ; 1798a0
- dbw $07, Sfx_IntroSuicune1_Ch8
+ musicheader 1, 8, Sfx_IntroSuicune1_Ch8
; 1798a3
Sfx_IntroSuicune1_Ch8: ; 1798a3
- noise $1, $58, $59
- noise $2, $91, $23
+ noise __, 2, $58, $59
+ noise __, 3, $91, $23
endchannel
; 1798aa
Sfx_IntroPichu: ; 1798aa
- dbw $04, Sfx_IntroPichu_Ch5
+ musicheader 1, 5, Sfx_IntroPichu_Ch5
; 1798ad
Sfx_IntroPichu_Ch5: ; 1798ad
dutycycle $3
soundinput $4d
- sound $1, $88, $0770
- sound $3, $0, 0
+ sound __, 2, $88, $0770
+ sound __, 4, $0, 0
soundinput $17
- sound $2, $88, $0776
+ sound __, 3, $88, $0776
endchannel
; 1798c0
Sfx_IntroSuicune2: ; 1798c0
- dbw $07, Sfx_IntroSuicune2_Ch8
+ musicheader 1, 8, Sfx_IntroSuicune2_Ch8
; 1798c3
Sfx_IntroSuicune2_Ch8: ; 1798c3
- noise $1, $a7, $31
- noise $1, $91, $0
- noise $1, $92, $21
- noise $1, $91, $0
- noise $1, $92, $22
- noise $1, $82, $11
- noise $1, $82, $22
- noise $1, $72, $11
- noise $1, $72, $12
- noise $1, $62, $10
- noise $1, $63, $0
- noise $1, $53, $10
- noise $1, $43, $0
- noise $1, $33, $10
- noise $1, $23, $0
- noise $1, $13, $10
+ noise __, 2, $a7, $31
+ noise __, 2, $91, $0
+ noise __, 2, $92, $21
+ noise __, 2, $91, $0
+ noise __, 2, $92, $22
+ noise __, 2, $82, $11
+ noise __, 2, $82, $22
+ noise __, 2, $72, $11
+ noise __, 2, $72, $12
+ noise __, 2, $62, $10
+ noise __, 2, $63, $0
+ noise __, 2, $53, $10
+ noise __, 2, $43, $0
+ noise __, 2, $33, $10
+ noise __, 2, $23, $0
+ noise __, 2, $13, $10
endchannel
; 1798f4
Sfx_IntroSuicune3: ; 1798f4
- dbw $07, Sfx_IntroSuicune3_Ch8
+ musicheader 1, 8, Sfx_IntroSuicune3_Ch8
; 1798f7
Sfx_IntroSuicune3_Ch8: ; 1798f7
- noise $1, $88, $31
- noise $8, $39, $11
- noise $4, $a4, $10
- noise $4, $44, $10
- noise $4, $24, $10
+ noise __, 2, $88, $31
+ noise __, 9, $39, $11
+ noise __, 5, $a4, $10
+ noise __, 5, $44, $10
+ noise __, 5, $24, $10
endchannel
; 179907
Sfx_DittoBounce: ; 179907
- dbw $04, Sfx_DittoBounce_Ch5
+ musicheader 1, 5, Sfx_DittoBounce_Ch5
; 17990a
Sfx_DittoBounce_Ch5: ; 17990a
dutycycle $2
soundinput $2c
- sound $2, $82, $04b0
- sound $0, $31, $04b0
+ sound __, 3, $82, $04b0
+ sound __, 1, $31, $04b0
soundinput $34
- sound $10, $b1, $0420
+ sound C_, 1, $b1, $0420
endchannel
; 17991d
Sfx_IntroSuicune4: ; 17991d
- dbw $07, Sfx_IntroSuicune4_Ch8
+ musicheader 1, 8, Sfx_IntroSuicune4_Ch8
; 179920
Sfx_IntroSuicune4_Ch8: ; 179920
- noise $1, $a1, $5c
- noise $0, $0, $0
- noise $1, $c1, $4d
- noise $0, $0, $0
- noise $4, $b2, $31
- noise $0, $0, $0
- noise $4, $a2, $2
- noise $0, $0, $0
- noise $4, $92, $1
- noise $0, $0, $0
- noise $20, $72, $0
+ noise __, 2, $a1, $5c
+ noise __, 1, $0, $0
+ noise __, 2, $c1, $4d
+ noise __, 1, $0, $0
+ noise __, 5, $b2, $31
+ noise __, 1, $0, $0
+ noise __, 5, $a2, $2
+ noise __, 1, $0, $0
+ noise __, 5, $92, $1
+ noise __, 1, $0, $0
+ noise C#, 1, $72, $0
endchannel
; 179942
Sfx_GameFreakPresents: ; 179942
- dbw $04, Sfx_GameFreakPresents_Ch5
+ musicheader 1, 5, Sfx_GameFreakPresents_Ch5
; 179945
Sfx_GameFreakPresents_Ch5: ; 179945
@@ -188,7 +188,7 @@
; 179961
Sfx_Tingle: ; 179961
- dbw $04, Sfx_Tingle_Ch5
+ musicheader 1, 5, Sfx_Tingle_Ch5
; 179964
Sfx_Tingle_Ch5: ; 179964
@@ -212,22 +212,22 @@
; 17997c
Sfx_TwoPcBeeps: ; 17997c
- dbw $04, Sfx_TwoPcBeeps_Ch5
+ musicheader 1, 5, Sfx_TwoPcBeeps_Ch5
; 17997f
Sfx_TwoPcBeeps_Ch5: ; 17997f
dutycycle $2
- sound $2, $e8, $07c2
- sound $2, $28, $07c2
- sound $2, $e8, $07c2
- sound $2, $28, $07c2
+ sound __, 3, $e8, $07c2
+ sound __, 3, $28, $07c2
+ sound __, 3, $e8, $07c2
+ sound __, 3, $28, $07c2
endchannel
; 179992
Sfx_4NoteDitty: ; 179992
- dbw $84, Sfx_4NoteDitty_Ch5
- dbw $05, Sfx_4NoteDitty_Ch6
- dbw $06, Sfx_4NoteDitty_Ch7
+ musicheader 3, 5, Sfx_4NoteDitty_Ch5
+ musicheader 1, 6, Sfx_4NoteDitty_Ch6
+ musicheader 1, 7, Sfx_4NoteDitty_Ch7
; 17999b
Sfx_4NoteDitty_Ch5: ; 17999b
@@ -273,7 +273,7 @@
; 1799cb
Sfx_Twinkle: ; 1799cb
- dbw $04, Sfx_Twinkle_Ch5
+ musicheader 1, 5, Sfx_Twinkle_Ch5
; 1799ce
Sfx_Twinkle_Ch5: ; 1799ce
--- a/audio/sfx_pointers.asm
+++ b/audio/sfx_pointers.asm
@@ -97,7 +97,7 @@
dba Sfx_Unknown5F
dba Sfx_Unknown60
dba Sfx_Unknown61
- dba Sfx_Unknown62
+ dba Sfx_SwitchPockets
dba Sfx_Unknown63
dba Sfx_Burn
dba Sfx_TitleScreenEntrance
--- a/battle/ai/items.asm
+++ b/battle/ai/items.asm
@@ -20,7 +20,7 @@
and a
jr nz, DontSwitch
- ld hl, TrainerClassAttributes + 5
+ ld hl, TrainerClassAttributes + TRNATTR_AI_ITEM_SWITCH
ld a, [InBattleTowerBattle] ; Load always the first TrainerClass for BattleTower-Trainers
and a
jr nz, .ok
@@ -663,7 +663,7 @@
call PrintText_UsedItemOn
hlcoord 2, 2
xor a
- ld [wd10a], a
+ ld [wWhichHPBar], a
call AIUsedItemSound
predef AnimateHPBar
jp AIUpdateHUD
@@ -866,7 +866,7 @@
ld [wd265], a
call GetItemName
ld hl, StringBuffer1
- ld de, wd050
+ ld de, wMonOrItemNameBuffer
ld bc, ITEM_NAME_LENGTH
call CopyBytes
ld hl, TextJump_EnemyUsedOn
--- /dev/null
+++ b/battle/ai/move.asm
@@ -1,0 +1,222 @@
+AIChooseMove: ; 440ce
+; Score each move in EnemyMonMoves starting from Buffer1. Lower is better.
+; Pick the move with the lowest score.
+
+; Wildmons attack at random.
+ ld a, [wBattleMode]
+ dec a
+ ret z
+
+ ld a, [wLinkMode]
+ and a
+ ret nz
+
+; No use picking a move if there's no choice.
+ callba CheckSubstatus_RechargeChargedRampageBideRollout
+ ret nz
+
+
+; The default score is 20. Unusable moves are given a score of 80.
+ ld a, 20
+ ld hl, Buffer1
+rept 3
+ ld [hli], a
+endr
+ ld [hl], a
+
+; Don't pick disabled moves.
+ ld a, [EnemyDisabledMove]
+ and a
+ jr z, .CheckPP
+
+ ld hl, EnemyMonMoves
+ ld c, 0
+.CheckDisabledMove
+ cp [hl]
+ jr z, .ScoreDisabledMove
+ inc c
+ inc hl
+ jr .CheckDisabledMove
+.ScoreDisabledMove
+ ld hl, Buffer1
+ ld b, 0
+ add hl, bc
+ ld [hl], 80
+
+; Don't pick moves with 0 PP.
+.CheckPP
+ ld hl, Buffer1 - 1
+ ld de, EnemyMonPP
+ ld b, 0
+.CheckMovePP
+ inc b
+ ld a, b
+ cp EnemyMonMovesEnd - EnemyMonMoves + 1
+ jr z, .ApplyLayers
+ inc hl
+ ld a, [de]
+ inc de
+ and $3f
+ jr nz, .CheckMovePP
+ ld [hl], 80
+ jr .CheckMovePP
+
+
+; Apply AI scoring layers depending on the trainer class.
+.ApplyLayers
+ ld hl, TrainerClassAttributes + TRNATTR_AI_MOVE_WEIGHTS
+
+ ; If we have a battle in BattleTower just load the Attributes of the first TrainerClass (Falkner)
+ ; so we have always the same AI, regardless of the loaded class of trainer
+ ld a, [InBattleTowerBattle]
+ bit 0, a
+ jr nz, .battle_tower_skip
+
+ ld a, [TrainerClass]
+ dec a
+ ld bc, 7 ; Trainer2AI - Trainer1AI
+ call AddNTimes
+
+.battle_tower_skip
+ lb bc, CHECK_FLAG, 0
+ push bc
+ push hl
+
+.CheckLayer
+ pop hl
+ pop bc
+
+ ld a, c
+ cp 16 ; up to 16 scoring layers
+ jr z, .DecrementScores
+
+ push bc
+ ld d, BANK(TrainerClassAttributes)
+ predef FlagPredef
+ ld d, c
+ pop bc
+
+ inc c
+ push bc
+ push hl
+
+ ld a, d
+ and a
+ jr z, .CheckLayer
+
+ ld hl, AIScoringPointers
+ dec c
+ ld b, 0
+rept 2
+ add hl, bc
+endr
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, BANK(AIScoring)
+ call FarCall_hl
+
+ jr .CheckLayer
+
+; Decrement the scores of all moves one by one until one reaches 0.
+.DecrementScores
+ ld hl, Buffer1
+ ld de, EnemyMonMoves
+ ld c, EnemyMonMovesEnd - EnemyMonMoves
+
+.DecrementNextScore
+ ; If the enemy has no moves, this will infinite.
+ ld a, [de]
+ inc de
+ and a
+ jr z, .DecrementScores
+
+ ; We are done whenever a score reaches 0
+ dec [hl]
+ jr z, .PickLowestScoreMoves
+
+ ; If we just decremented the fourth move's score, go back to the first move
+ inc hl
+ dec c
+ jr z, .DecrementScores
+
+ jr .DecrementNextScore
+
+; In order to avoid bias towards the moves located first in memory, increment the scores
+; that were decremented one more time than the rest (in case there was a tie).
+; This means that the minimum score will be 1.
+.PickLowestScoreMoves
+ ld a, c
+
+.move_loop
+ inc [hl]
+ dec hl
+ inc a
+ cp NUM_MOVES + 1
+ jr nz, .move_loop
+
+ ld hl, Buffer1
+ ld de, EnemyMonMoves
+ ld c, NUM_MOVES
+
+; Give a score of 0 to a blank move
+.loop2
+ ld a, [de]
+ and a
+ jr nz, .skip_load
+ ld [hl], a
+
+; Disregard the move if its score is not 1
+.skip_load
+ ld a, [hl]
+ dec a
+ jr z, .keep
+ xor a
+ ld [hli], a
+ jr .after_toss
+
+.keep
+ ld a, [de]
+ ld [hli], a
+.after_toss
+ inc de
+ dec c
+ jr nz, .loop2
+
+; Randomly choose one of the moves with a score of 1
+.ChooseMove
+ ld hl, Buffer1
+ call Random
+ and 3
+ ld c, a
+ ld b, 0
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .ChooseMove
+
+ ld [CurEnemyMove], a
+ ld a, c
+ ld [CurEnemyMoveNum], a
+ ret
+; 441af
+
+
+AIScoringPointers: ; 441af
+ dw AI_Basic
+ dw AI_Setup
+ dw AI_Types
+ dw AI_Offensive
+ dw AI_Smart
+ dw AI_Opportunist
+ dw AI_Aggressive
+ dw AI_Cautious
+ dw AI_Status
+ dw AI_Risky
+ dw AI_None
+ dw AI_None
+ dw AI_None
+ dw AI_None
+ dw AI_None
+ dw AI_None
+; 441cf
--- /dev/null
+++ b/battle/ai/redundant.asm
@@ -1,0 +1,198 @@
+AI_Redundant: ; 2c41a
+; Check if move effect c will fail because it's already been used.
+; Return z if the move is a good choice.
+; Return nz if the move is a bad choice.
+ ld a, c
+ ld de, 3
+ ld hl, .Moves
+ call IsInArray
+ jp nc, .NotRedundant
+ inc hl
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+.Moves: ; 2c42c
+ dbw EFFECT_DREAM_EATER, .DreamEater
+ dbw EFFECT_HEAL, .Heal
+ dbw EFFECT_LIGHT_SCREEN, .LightScreen
+ dbw EFFECT_MIST, .Mist
+ dbw EFFECT_FOCUS_ENERGY, .FocusEnergy
+ dbw EFFECT_CONFUSE, .Confuse
+ dbw EFFECT_TRANSFORM, .Transform
+ dbw EFFECT_REFLECT, .Reflect
+ dbw EFFECT_SUBSTITUTE, .Substitute
+ dbw EFFECT_LEECH_SEED, .LeechSeed
+ dbw EFFECT_DISABLE, .Disable
+ dbw EFFECT_ENCORE, .Encore
+ dbw EFFECT_SNORE, .Snore
+ dbw EFFECT_SLEEP_TALK, .SleepTalk
+ dbw EFFECT_MEAN_LOOK, .MeanLook
+ dbw EFFECT_NIGHTMARE, .Nightmare
+ dbw EFFECT_SPIKES, .Spikes
+ dbw EFFECT_FORESIGHT, .Foresight
+ dbw EFFECT_PERISH_SONG, .PerishSong
+ dbw EFFECT_SANDSTORM, .Sandstorm
+ dbw EFFECT_ATTRACT, .Attract
+ dbw EFFECT_SAFEGUARD, .Safeguard
+ dbw EFFECT_RAIN_DANCE, .RainDance
+ dbw EFFECT_SUNNY_DAY, .SunnyDay
+ dbw EFFECT_TELEPORT, .Teleport
+ dbw EFFECT_MORNING_SUN, .MorningSun
+ dbw EFFECT_SYNTHESIS, .Synthesis
+ dbw EFFECT_MOONLIGHT, .Moonlight
+ dbw EFFECT_SWAGGER, .Swagger
+ dbw EFFECT_FUTURE_SIGHT, .FutureSight
+ db -1
+
+.LightScreen: ; 2c487
+ ld a, [EnemyScreens]
+ bit SCREENS_LIGHT_SCREEN, a
+ ret
+
+.Mist: ; 2c48d
+ ld a, [EnemySubStatus4]
+ bit SUBSTATUS_MIST, a
+ ret
+
+.FocusEnergy: ; 2c493
+ ld a, [EnemySubStatus4]
+ bit SUBSTATUS_FOCUS_ENERGY, a
+ ret
+
+.Confuse: ; 2c499
+ ld a, [PlayerSubStatus3]
+ bit SUBSTATUS_CONFUSED, a
+ ret nz
+ ld a, [PlayerScreens]
+ bit SCREENS_SAFEGUARD, a
+ ret
+
+.Transform: ; 2c4a5
+ ld a, [EnemySubStatus5]
+ bit SUBSTATUS_TRANSFORMED, a
+ ret
+
+.Reflect: ; 2c4ab
+ ld a, [EnemyScreens]
+ bit SCREENS_REFLECT, a
+ ret
+
+.Substitute: ; 2c4b1
+ ld a, [EnemySubStatus4]
+ bit SUBSTATUS_SUBSTITUTE, a
+ ret
+
+.LeechSeed: ; 2c4b7
+ ld a, [PlayerSubStatus4]
+ bit SUBSTATUS_LEECH_SEED, a
+ ret
+
+.Disable: ; 2c4bd
+ ld a, [PlayerDisableCount]
+ and a
+ ret
+
+.Encore: ; 2c4c2
+ ld a, [PlayerSubStatus5]
+ bit SUBSTATUS_ENCORED, a
+ ret
+
+.Snore:
+.SleepTalk: ; 2c4c8
+ ld a, [EnemyMonStatus]
+ and SLP
+ jr z, .Redundant
+ jr .NotRedundant
+
+.MeanLook: ; 2c4d1
+ ld a, [EnemySubStatus5]
+ bit SUBSTATUS_CANT_RUN, a
+ ret
+
+.Nightmare: ; 2c4d7
+ ld a, [BattleMonStatus]
+ and a
+ jr z, .Redundant
+ ld a, [PlayerSubStatus1]
+ bit SUBSTATUS_NIGHTMARE, a
+ ret
+
+.Spikes: ; 2c4e3
+ ld a, [PlayerScreens]
+ bit SCREENS_SPIKES, a
+ ret
+
+.Foresight: ; 2c4e9
+ ld a, [PlayerSubStatus1]
+ bit SUBSTATUS_IDENTIFIED, a
+ ret
+
+.PerishSong: ; 2c4ef
+ ld a, [PlayerSubStatus1]
+ bit SUBSTATUS_PERISH, a
+ ret
+
+.Sandstorm: ; 2c4f5
+ ld a, [Weather]
+ cp WEATHER_SANDSTORM
+ jr z, .Redundant
+ jr .NotRedundant
+
+.Attract: ; 2c4fe
+ callba CheckOppositeGender
+ jr c, .Redundant
+ ld a, [PlayerSubStatus1]
+ bit SUBSTATUS_IN_LOVE, a
+ ret
+
+.Safeguard: ; 2c50c
+ ld a, [EnemyScreens]
+ bit SCREENS_SAFEGUARD, a
+ ret
+
+.RainDance: ; 2c512
+ ld a, [Weather]
+ cp WEATHER_RAIN
+ jr z, .Redundant
+ jr .NotRedundant
+
+.SunnyDay: ; 2c51b
+ ld a, [Weather]
+ cp WEATHER_SUN
+ jr z, .Redundant
+ jr .NotRedundant
+
+.DreamEater: ; 2c524
+ ld a, [BattleMonStatus]
+ and SLP
+ jr z, .Redundant
+ jr .NotRedundant
+
+.Swagger: ; 2c52d
+ ld a, [PlayerSubStatus3]
+ bit SUBSTATUS_CONFUSED, a
+ ret
+
+.FutureSight: ; 2c533
+ ld a, [EnemyScreens]
+ bit 5, a
+ ret
+
+.Heal:
+.MorningSun:
+.Synthesis:
+.Moonlight: ; 2c539
+ callba AICheckEnemyMaxHP
+ jr nc, .NotRedundant
+
+.Teleport:
+.Redundant: ; 2c541
+ ld a, 1
+ and a
+ ret
+
+.NotRedundant: ; 2c545
+ xor a
+ ret
--- a/battle/anim_commands.asm
+++ b/battle/anim_commands.asm
@@ -77,7 +77,7 @@
call BattleAnimRestoreHuds
.disabled
- ld a, [wcfca]
+ ld a, [wNumHits]
and a
jr z, .done
@@ -92,22 +92,22 @@
.hi_byte
call WaitSFX
- call Functioncc881
+ call PlayHitSound
call RunBattleAnimScript
.done
- call Functioncc8f6
+ call BattleAnim_RevertPals
ret
; cc163
RunBattleAnimScript: ; cc163
- call Functioncc8d3
+ call ClearBattleAnims
.playframe
- call Functioncc25f
- call Functionccb48
- call Functioncc96e
+ call RunBattleAnimCommand
+ call _ExecuteBGEffects
+ call BattleAnim_UpdateOAM_All
call Function3b0c
call BattleAnimRequestPals
@@ -114,32 +114,32 @@
; Speed up Rollout's animation.
ld a, [FXAnimIDHi]
or a
- jr nz, .asm_cc193
+ jr nz, .not_rollout
ld a, [FXAnimIDLo]
cp ROLLOUT
- jr nz, .asm_cc193
+ jr nz, .not_rollout
ld a, $2e
ld b, 5
ld de, 4
ld hl, ActiveBGEffects
-.asm_cc18c
+.find
cp [hl]
- jr z, .asm_cc196
+ jr z, .done
add hl, de
dec b
- jr nz, .asm_cc18c
+ jr nz, .find
-.asm_cc193
+.not_rollout
call BattleAnimDelayFrame
-.asm_cc196
+.done
ld a, [BattleAnimFlags]
bit 0, a
jr z, .playframe
- call Functioncc23d
+ call BattleAnim_ClearCGB_OAMFlags
ret
; cc1a1
@@ -191,15 +191,15 @@
ld a, [rBGP]
ld b, a
- ld a, [wcfc7]
+ ld a, [wBGP]
cp b
- call nz, Functioncc91a
+ call nz, BattleAnim_SetBGPals
ld a, [rOBP0]
ld b, a
- ld a, [wcfc8]
+ ld a, [wOBP0]
cp b
- call nz, Functioncc94b
+ call nz, BattleAnim_SetOBPals
ret
; cc1fb
@@ -241,7 +241,7 @@
ld [hBGMapAddress], a
ld a, (VBGMap0 tile $28) / $100
ld [hBGMapAddress + 1], a
- call Function3200
+ call WaitBGMap2
ld a, $60
ld [hWY], a
xor a
@@ -253,11 +253,11 @@
; cc23d
-Functioncc23d: ; cc23d
+BattleAnim_ClearCGB_OAMFlags: ; cc23d
ld a, [BattleAnimFlags]
bit 3, a
- jr z, .skip
+ jr z, .delete
ld hl, Sprites + 3
ld c, (SpritesEnd - Sprites) / 4
@@ -272,7 +272,7 @@
jr nz, .loop
ret
-.skip
+.delete
ld hl, Sprites
ld c, SpritesEnd - Sprites
xor a
@@ -283,7 +283,7 @@
ret
; cc25f
-Functioncc25f: ; cc25f
+RunBattleAnimCommand: ; cc25f
call .CheckTimer
ret nc
call .RunScript
@@ -341,9 +341,8 @@
ld e, a
ld d, 0
ld hl, BattleAnimCommands
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
@@ -460,19 +459,19 @@
call GetBattleAnimByte
ld hl, BattleAnimFlags
bit 2, [hl]
- jr nz, .asm_cc35b
+ jr nz, .continue_loop
and a
- jr z, .asm_cc363
+ jr z, .perpetual
dec a
set 2, [hl]
ld [BattleAnimLoops], a
-.asm_cc35b
+.continue_loop
ld hl, BattleAnimLoops
ld a, [hl]
and a
- jr z, .asm_cc372
+ jr z, .return_from_loop
dec [hl]
-.asm_cc363
+.perpetual
call GetBattleAnimByte
ld e, a
call GetBattleAnimByte
@@ -482,7 +481,8 @@
inc hl
ld [hl], d
ret
-.asm_cc372
+
+.return_from_loop
ld hl, BattleAnimFlags
res 2, [hl]
ld hl, BattleAnimAddress
@@ -489,9 +489,8 @@
ld e, [hl]
inc hl
ld d, [hl]
-rept 2
inc de
-endr
+ inc de
ld [hl], d
dec hl
ld [hl], e
@@ -498,10 +497,10 @@
ret
BattleAnimCmd_JumpUntil: ; cc383 (33:4383)
- ld hl, wKickCounter
+ ld hl, wBattleAnimParam
ld a, [hl]
and a
- jr z, .asm_cc39a
+ jr z, .dont_jump
dec [hl]
call GetBattleAnimByte
@@ -514,14 +513,13 @@
ld [hl], d
ret
-.asm_cc39a
+.dont_jump
ld hl, BattleAnimAddress
ld e, [hl]
inc hl
ld d, [hl]
-rept 2
inc de
-endr
+ inc de
ld [hl], d
dec hl
ld [hl], e
@@ -547,9 +545,8 @@
ld e, [hl]
inc hl
ld d, [hl]
-rept 2
inc de
-endr
+ inc de
ld [hl], d
dec hl
ld [hl], e
@@ -568,7 +565,7 @@
BattleAnimCmd_JumpIf: ; cc3d6 (33:43d6)
call GetBattleAnimByte
- ld hl, wKickCounter
+ ld hl, wBattleAnimParam
cp [hl]
jr z, .jump
@@ -576,9 +573,8 @@
ld e, [hl]
inc hl
ld d, [hl]
-rept 2
inc de
-endr
+ inc de
ld [hl], d
dec hl
ld [hl], e
@@ -598,7 +594,7 @@
BattleAnimCmd_JumpAnd: ; cc3fa (33:43fa)
call GetBattleAnimByte
ld e, a
- ld a, [wKickCounter]
+ ld a, [wBattleAnimParam]
and e
jr nz, .jump
@@ -606,9 +602,8 @@
ld e, [hl]
inc hl
ld d, [hl]
-rept 2
inc de
-endr
+ inc de
ld [hl], d
dec hl
ld [hl], e
@@ -625,42 +620,43 @@
ret
BattleAnimCmd_Obj: ; cc41f (33:441f)
+; index, x, y, param
call GetBattleAnimByte
- ld [BattleAnimTemps], a
+ ld [wBattleAnimTemp0], a
call GetBattleAnimByte
- ld [BattleAnimTemps + 1], a
+ ld [wBattleAnimTemp1], a
call GetBattleAnimByte
- ld [BattleAnimTemps + 2], a
+ ld [wBattleAnimTemp2], a
call GetBattleAnimByte
- ld [BattleAnimTemps + 3], a
- call Functioncc9a1
+ ld [wBattleAnimTemp3], a
+ call QueueBattleAnimation
ret
BattleAnimCmd_BGEffect: ; cc43b (33:443b)
call GetBattleAnimByte
- ld [BattleAnimTemps], a
+ ld [wBattleAnimTemp0], a
call GetBattleAnimByte
- ld [BattleAnimTemps + 1], a
+ ld [wBattleAnimTemp1], a
call GetBattleAnimByte
- ld [BattleAnimTemps + 2], a
+ ld [wBattleAnimTemp2], a
call GetBattleAnimByte
- ld [BattleAnimTemps + 3], a
- call Functionccb4f
+ ld [wBattleAnimTemp3], a
+ call _QueueBGEffect
ret
BattleAnimCmd_BGP: ; cc457 (33:4457)
call GetBattleAnimByte
- ld [wcfc7], a
+ ld [wBGP], a
ret
BattleAnimCmd_OBP0: ; cc45e (33:445e)
call GetBattleAnimByte
- ld [wcfc8], a
+ ld [wOBP0], a
ret
BattleAnimCmd_OBP1: ; cc465 (33:4465)
call GetBattleAnimByte
- ld [wcfc9], a
+ ld [wOBP1], a
ret
BattleAnimCmd_ResetObp0: ; cc46c (33:446c)
@@ -667,20 +663,20 @@
ld a, [hSGB]
and a
ld a, $e0
- jr z, .asm_cc475
+ jr z, .not_sgb
ld a, $f0
-.asm_cc475
- ld [wcfc8], a
+.not_sgb
+ ld [wOBP0], a
ret
BattleAnimCmd_ClearObjs: ; cc479 (33:4479)
- ld hl, OTPartyMon3HP
+ ld hl, ActiveAnimObjects
ld a, $a0
-.asm_cc47e
+.loop
ld [hl], $0
inc hl
dec a
- jr nz, .asm_cc47e
+ jr nz, .loop
ret
BattleAnimCmd_1GFX:
@@ -691,16 +687,16 @@
ld a, [BattleAnimByte]
and $f
ld c, a
- ld hl, w5_d300
+ ld hl, wBattleAnimTileDict
xor a
- ld [BattleAnimTemps], a
-.asm_cc492
- ld a, [BattleAnimTemps]
- cp $4f
+ ld [wBattleAnimTemp0], a
+.loop
+ ld a, [wBattleAnimTemp0]
+ cp (VTiles1 - VTiles0) / $10 - $31
ret nc
call GetBattleAnimByte
ld [hli], a
- ld a, [BattleAnimTemps]
+ ld a, [wBattleAnimTemp0]
ld [hli], a
push bc
push hl
@@ -712,36 +708,37 @@
ld de, VTiles0 tile $31
add hl, de
ld a, [BattleAnimByte]
- call Functionce846
- ld a, [BattleAnimTemps]
+ call LoadBattleAnimObj
+ ld a, [wBattleAnimTemp0]
add c
- ld [BattleAnimTemps], a
+ ld [wBattleAnimTemp0], a
pop hl
pop bc
dec c
- jr nz, .asm_cc492
+ jr nz, .loop
ret
BattleAnimCmd_IncObj: ; cc4c0 (33:44c0)
call GetBattleAnimByte
- ld e, $a
- ld bc, OTPartyMon3HP
-.asm_cc4c8
- ld hl, $0
+ ld e, 10
+ ld bc, ActiveAnimObjects
+.loop
+ ld hl, BATTLEANIMSTRUCT_INDEX
add hl, bc
ld d, [hl]
ld a, [BattleAnimByte]
cp d
- jr z, .asm_cc4dd
- ld hl, $18
+ jr z, .found
+ ld hl, BATTLEANIMSTRUCT_LENGTH
add hl, bc
ld c, l
ld b, h
dec e
- jr nz, .asm_cc4c8
+ jr nz, .loop
ret
-.asm_cc4dd
- ld hl, $e
+
+.found
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
add hl, bc
inc [hl]
ret
@@ -748,24 +745,25 @@
BattleAnimCmd_IncBGEffect: ; cc4e3 (33:44e3)
call GetBattleAnimByte
- ld e, $5
+ ld e, 5
ld bc, ActiveBGEffects
-.asm_cc4eb
+.loop
ld hl, $0
add hl, bc
ld d, [hl]
ld a, [BattleAnimByte]
cp d
- jr z, .asm_cc500
- ld hl, $4
+ jr z, .found
+ ld hl, 4
add hl, bc
ld c, l
ld b, h
dec e
- jr nz, .asm_cc4eb
+ jr nz, .loop
ret
-.asm_cc500
- ld hl, $1
+
+.found
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
inc [hl]
ret
@@ -772,25 +770,26 @@
BattleAnimCmd_SetObj: ; cc506 (33:4506)
call GetBattleAnimByte
- ld e, $a
- ld bc, OTPartyMon3HP
-.asm_cc50e
- ld hl, $0
+ ld e, 10
+ ld bc, ActiveAnimObjects
+.loop
+ ld hl, BATTLEANIMSTRUCT_INDEX
add hl, bc
ld d, [hl]
ld a, [BattleAnimByte]
cp d
- jr z, .asm_cc523
- ld hl, $18
+ jr z, .found
+ ld hl, BATTLEANIMSTRUCT_LENGTH
add hl, bc
ld c, l
ld b, h
dec e
- jr nz, .asm_cc50e
+ jr nz, .loop
ret
-.asm_cc523
+
+.found
call GetBattleAnimByte
- ld hl, $e
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
add hl, bc
ld [hl], a
ret
@@ -797,17 +796,16 @@
BattleAnimCmd_EnemyFeetObj: ; cc52c (33:452c)
- ld hl, w5_d300
-.asm_cc52f
+ ld hl, wBattleAnimTileDict
+.loop
ld a, [hl]
and a
- jr z, .asm_cc537
-rept 2
+ jr z, .okay
inc hl
-endr
- jr .asm_cc52f
+ inc hl
+ jr .loop
-.asm_cc537
+.okay
ld a, $28
ld [hli], a
ld a, $42
@@ -820,50 +818,49 @@
ld hl, VTiles0 tile $73
ld de, VTiles2 tile $06
ld a, $70
- ld [BattleAnimTemps], a
+ ld [wBattleAnimTemp0], a
ld a, $7
- call Functioncc561
+ call .LoadFootprint
ld de, VTiles2 tile $31
ld a, $60
- ld [BattleAnimTemps], a
+ ld [wBattleAnimTemp0], a
ld a, $6
- call Functioncc561
+ call .LoadFootprint
ret
-Functioncc561: ; cc561 (33:4561)
+.LoadFootprint: ; cc561 (33:4561)
push af
push hl
push de
- ld bc, $3301
+ lb bc, BANK(BattleAnimCmd_EnemyFeetObj), 1
call Request2bpp
pop de
- ld a, [BattleAnimTemps]
+ ld a, [wBattleAnimTemp0]
ld l, a
- ld h, $0
+ ld h, 0
add hl, de
ld e, l
ld d, h
pop hl
- ld bc, $10
+ ld bc, 1 tiles
add hl, bc
pop af
dec a
- jr nz, Functioncc561
+ jr nz, .LoadFootprint
ret
BattleAnimCmd_PlayerHeadObj: ; cc57e (33:457e)
- ld hl, w5_d300
-.asm_cc581
+ ld hl, wBattleAnimTileDict
+.loop
ld a, [hl]
and a
- jr z, .asm_cc589
-rept 2
+ jr z, .okay
inc hl
-endr
- jr .asm_cc581
+ inc hl
+ jr .loop
-.asm_cc589
+.okay
ld a, $28
ld [hli], a
ld a, $35
@@ -876,35 +873,35 @@
ld hl, VTiles0 tile $66
ld de, VTiles2 tile $05
ld a, $70
- ld [BattleAnimTemps], a
+ ld [wBattleAnimTemp0], a
ld a, $7
- call Functioncc5b3
+ call .LoadHead
ld de, VTiles2 tile $31
ld a, $60
- ld [BattleAnimTemps], a
+ ld [wBattleAnimTemp0], a
ld a, $6
- call Functioncc5b3
+ call .LoadHead
ret
-Functioncc5b3: ; cc5b3 (33:45b3)
+.LoadHead: ; cc5b3 (33:45b3)
push af
push hl
push de
- ld bc, $3302
+ lb bc, BANK(BattleAnimCmd_EnemyFeetObj), 2
call Request2bpp
pop de
- ld a, [BattleAnimTemps]
+ ld a, [wBattleAnimTemp0]
ld l, a
- ld h, $0
+ ld h, 0
add hl, de
ld e, l
ld d, h
pop hl
- ld bc, $20
+ ld bc, 2 tiles
add hl, bc
pop af
dec a
- jr nz, Functioncc5b3
+ jr nz, .LoadHead
ret
BattleAnimCmd_CheckPokeball: ; cc5d0 (33:45d0)
@@ -996,18 +993,18 @@
and a
jr z, .player
- ld hl, MonsterSpriteGFX
- ld de, sScratch + $130
- call CopyMonsterSpriteTile
- ld hl, MonsterSpriteGFX + $10
- ld de, sScratch + $1a0
- call CopyMonsterSpriteTile
- ld hl, MonsterSpriteGFX + $20
- ld de, sScratch + $140
- call CopyMonsterSpriteTile
- ld hl, MonsterSpriteGFX + $30
- ld de, sScratch + $1b0
- call CopyMonsterSpriteTile
+ ld hl, MonsterSpriteGFX + 0 tiles
+ ld de, sScratch + $13 tiles
+ call .CopyTile
+ ld hl, MonsterSpriteGFX + 1 tiles
+ ld de, sScratch + $1a tiles
+ call .CopyTile
+ ld hl, MonsterSpriteGFX + 2 tiles
+ ld de, sScratch + $14 tiles
+ call .CopyTile
+ ld hl, MonsterSpriteGFX + 3 tiles
+ ld de, sScratch + $1b tiles
+ call .CopyTile
ld hl, VTiles2 tile $00
ld de, sScratch
@@ -1016,18 +1013,18 @@
jr .done
.player
- ld hl, MonsterSpriteGFX + $40
- ld de, sScratch + $100
- call CopyMonsterSpriteTile
- ld hl, MonsterSpriteGFX + $50
- ld de, sScratch + $160
- call CopyMonsterSpriteTile
- ld hl, MonsterSpriteGFX + $60
- ld de, sScratch + $110
- call CopyMonsterSpriteTile
- ld hl, MonsterSpriteGFX + $70
- ld de, sScratch + $170
- call CopyMonsterSpriteTile
+ ld hl, MonsterSpriteGFX + 4 tiles
+ ld de, sScratch + $10 tiles
+ call .CopyTile
+ ld hl, MonsterSpriteGFX + 5 tiles
+ ld de, sScratch + $16 tiles
+ call .CopyTile
+ ld hl, MonsterSpriteGFX + 6 tiles
+ ld de, sScratch + $11 tiles
+ call .CopyTile
+ ld hl, MonsterSpriteGFX + 7 tiles
+ ld de, sScratch + $17 tiles
+ call .CopyTile
ld hl, VTiles2 tile $31
ld de, sScratch
@@ -1040,8 +1037,8 @@
ld [rSVBK], a
ret
-CopyMonsterSpriteTile: ; cc6c6 (33:46c6)
- ld bc, $10
+.CopyTile: ; cc6c6 (33:46c6)
+ ld bc, 1 tiles
ld a, BANK(MonsterSpriteGFX)
call FarCopyBytes
ret
@@ -1062,7 +1059,7 @@
GetMinimizePic: ; cc6e7 (33:46e7)
ld hl, sScratch
- ld bc, $310
+ ld bc, $31 tiles
.loop
xor a
ld [hli], a
@@ -1075,7 +1072,7 @@
and a
jr z, .player
- ld de, sScratch + $1a0
+ ld de, sScratch + $1a tiles
call CopyMinimizePic
ld hl, VTiles2 tile $00
ld de, sScratch
@@ -1129,11 +1126,11 @@
and a
jr z, .player
- callab Function3f486
+ callab DropEnemySub
jr .done
.player
- callab Function3f447
+ callab DropPlayerSub
.done
pop af
@@ -1150,7 +1147,7 @@
ld a, [CurPartySpecies] ; CurPartySpecies
push af
- ld a, [wKickCounter]
+ ld a, [wBattleAnimParam]
ld [CurPartySpecies], a ; CurPartySpecies
ld a, [hBattleTurn]
@@ -1157,7 +1154,7 @@
and a
jr z, .player
- ld hl, BattleMonDVs ; BattleMonDVs
+ ld hl, BattleMonDVs
predef GetUnownLetter
ld de, VTiles2 tile $00
predef GetFrontpic
@@ -1164,7 +1161,7 @@
jr .done
.player
- ld hl, EnemyMonDVs ; EnemyMonDVs
+ ld hl, EnemyMonDVs
predef GetUnownLetter
ld de, VTiles2 tile $31
predef GetBackpic
@@ -1172,7 +1169,7 @@
.done
pop af
ld [CurPartySpecies], a ; CurPartySpecies
- ld b, SCGB_01
+ ld b, SCGB_BATTLE_COLORS
call GetSGBLayout
pop af
ld [rSVBK], a
@@ -1207,17 +1204,17 @@
ld e, a
srl a
srl a
- ld [wc2be], a
- call Functioncc7fc
+ ld [wSFXDuration], a
+ call .GetCryTrack
and 3
ld [CryTracks], a ; CryTracks
ld e, a
ld d, 0
- ld hl, Datacc7f8
+ ld hl, .GetPanning
add hl, de
ld a, [hl]
- ld [wc2bc], a
+ ld [wStereoPanningMask], a
call GetBattleAnimByte
ld e, a
@@ -1227,11 +1224,11 @@
ret
; cc7f8 (33:47f8)
-Datacc7f8: ; cc7f8
+.GetPanning: ; cc7f8
db $f0, $0f, $f0, $0f
; cc7fc
-Functioncc7fc: ; cc7fc (33:47fc)
+.GetCryTrack: ; cc7fc (33:47fc)
ld a, [hBattleTurn]
and a
jr nz, .enemy
@@ -1249,7 +1246,7 @@
and 3
ld e, a
ld d, 0
- ld hl, Datacc871
+ ld hl, .CryData
rept 4
add hl, de
endr
@@ -1266,7 +1263,7 @@
ld a, $f0
ld [CryTracks], a ; CryTracks
ld a, [BattleMonSpecies] ; BattleMonSpecies
- jr .asm_cc834
+ jr .done_cry_tracks
.enemy
ld a, $0f
@@ -1273,7 +1270,7 @@
ld [CryTracks], a ; CryTracks
ld a, [EnemyMonSpecies] ; EnemyMon
-.asm_cc834
+.done_cry_tracks
push hl
call LoadCryHeader
pop hl
@@ -1310,7 +1307,7 @@
ld a, h
ld [CryLength + 1], a
ld a, 1
- ld [wc2bc], a
+ ld [wStereoPanningMask], a
callab _PlayCryHeader
@@ -1320,17 +1317,17 @@
ret
; cc871 (33:4871)
-Datacc871: ; cc871
+.CryData: ; cc871
; +pitch, +length
- dw 0, $c0
- dw 0, $40
- dw 0, $00
- dw 0, $00
+ dw $0000, $00c0
+ dw $0000, $0040
+ dw $0000, $0000
+ dw $0000, $0000
; cc881
-Functioncc881: ; cc881
- ld a, [wcfca]
+PlayHitSound: ; cc881
+ ld a, [wNumHits]
cp $1
jr z, .okay
cp $4
@@ -1366,17 +1363,17 @@
ld a, %11110000
.sgb
- ld [wcfc8], a
+ ld [wOBP0], a
ld a, %11100100
- ld [wcfc7], a
- ld [wcfc9], a
+ ld [wBGP], a
+ ld [wOBP1], a
ret
.cgb
ld a, %11100100
- ld [wcfc7], a
- ld [wcfc8], a
- ld [wcfc9], a
+ ld [wBGP], a
+ ld [wOBP0], a
+ ld [wOBP1], a
call DmgToCgbBGPals
lb de, %11100100, %11100100
call DmgToCgbObjPals
@@ -1383,7 +1380,7 @@
ret
; cc8d3
-Functioncc8d3: ; cc8d3
+ClearBattleAnims: ; cc8d3
; Clear animation block
ld hl, LYOverrides
ld bc, wBattleAnimEnd - LYOverrides
@@ -1400,9 +1397,8 @@
inc hl
ld d, [hl]
ld hl, BattleAnimations
-rept 2
add hl, de
-endr
+ add hl, de
call GetBattleAnimPointer
call BattleAnimAssignPals
call BattleAnimDelayFrame
@@ -1409,12 +1405,12 @@
ret
; cc8f6
-Functioncc8f6: ; cc8f6
+BattleAnim_RevertPals: ; cc8f6
call WaitTop
ld a, %11100100
- ld [wcfc7], a
- ld [wcfc8], a
- ld [wcfc9], a
+ ld [wBGP], a
+ ld [wOBP0], a
+ ld [wOBP1], a
call DmgToCgbBGPals
lb de, %11100100, %11100100
call DmgToCgbObjPals
@@ -1427,7 +1423,7 @@
ret
; cc91a
-Functioncc91a: ; cc91a
+BattleAnim_SetBGPals: ; cc91a
ld [rBGP], a
ld a, [hCGB]
and a
@@ -1455,7 +1451,7 @@
ret
; cc94b
-Functioncc94b: ; cc94b
+BattleAnim_SetOBPals: ; cc94b
ld [rOBP0], a
ld a, [hCGB]
and a
@@ -1477,41 +1473,41 @@
ret
; cc96e
-Functioncc96e: ; cc96e
+BattleAnim_UpdateOAM_All: ; cc96e
ld a, $0
- ld [w5_d418], a
- ld hl, OTPartyMon3HP
- ld e, $a
-.asm_cc978
+ ld [wBattleAnimOAMPointerLo], a
+ ld hl, ActiveAnimObjects
+ ld e, 10
+.loop
ld a, [hl]
and a
- jr z, .asm_cc98a
+ jr z, .next
ld c, l
ld b, h
push hl
push de
- call Functionccfbe
- call Functioncca09
+ call DoBattleAnimFrame
+ call BattleAnimOAMUpdate
pop de
pop hl
- jr c, .asm_cc9a0
+ jr c, .done
-.asm_cc98a
- ld bc, $0018
+.next
+ ld bc, BATTLEANIMSTRUCT_LENGTH
add hl, bc
dec e
- jr nz, .asm_cc978
- ld a, [w5_d418]
+ jr nz, .loop
+ ld a, [wBattleAnimOAMPointerLo]
ld l, a
- ld h, $c4
-.asm_cc997
+ ld h, Sprites / $100
+.loop2
ld a, l
- cp $a0
- jr nc, .asm_cc9a0
+ cp SpritesEnd % $100
+ jr nc, .done
xor a
ld [hli], a
- jr .asm_cc997
+ jr .loop2
-.asm_cc9a0
+.done
ret
; cc9a1
--- a/battle/anim_objects.asm
+++ b/battle/anim_objects.asm
@@ -1,6474 +1,9 @@
; Objects used in battle animations.
-
-Functioncc9a1: ; cc9a1 (33:49a1)
- ld hl, OTPartyMon3HP
- ld e, $a
-.asm_cc9a6
- ld a, [hl]
- and a
- jr z, .asm_cc9b3
- ld bc, $18
- add hl, bc
- dec e
- jr nz, .asm_cc9a6
- scf
- ret
-.asm_cc9b3
- ld c, l
- ld b, h
- ld hl, w5_d40e
- inc [hl]
- call Functioncc9c4
- ret
-
-
-Functioncc9bd: ; cc9bd
- ld hl, 0
- add hl, bc
- ld [hl], $0
- ret
-; cc9c4
-
-
-Functioncc9c4: ; cc9c4 (33:49c4)
- ld a, [BattleAnimTemps]
- ld e, a
- ld d, 0
- ld hl, BattleAnimObjects
-rept 6
- add hl, de
-endr
- ld e, l
- ld d, h
- ld hl, $0
- add hl, bc
- ld a, [w5_d40e]
- ld [hli], a
- ld a, [de]
- inc de
- ld [hli], a
- ld a, [de]
- inc de
- ld [hli], a
- ld a, [de]
- inc de
- ld [hli], a
- ld a, [de]
- inc de
- ld [hli], a
- ld a, [de]
- inc de
- ld [hli], a
- ld a, [de]
- call Functionccb31
- ld [hli], a
- ld a, [BattleAnimTemps + 1]
- ld [hli], a
- ld a, [BattleAnimTemps + 2]
- ld [hli], a
- xor a
-rept 2
- ld [hli], a
-endr
- ld a, [BattleAnimTemps + 3]
- ld [hli], a
- xor a
- ld [hli], a
- dec a
- ld [hli], a
- xor a
-rept 2
- ld [hli], a
-endr
- ld [hl], a
- ret
-
-
-Functioncca09: ; cca09
- call Functionccaaa
- call Functionce7d1
- cp $fd
- jp z, .asm_ccaa5
- cp $fc
- jp z, .asm_ccaa2
- push af
- ld hl, BattleAnimTemps
- ld a, [BattleAnimTemps + 7]
- xor [hl]
- and $e0
- ld [hl], a
- pop af
- push bc
- call Functionce83c
- ld a, [BattleAnimTemps + 2]
- add [hl]
- ld [BattleAnimTemps + 2], a
- inc hl
- ld a, [hli]
- ld c, a
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [w5_d418]
- ld e, a
- ld d, $c4
-.asm_cca3c
- ld a, [BattleAnimTemps + 4]
- ld b, a
- ld a, [BattleAnimTemps + 6]
- add b
- ld b, a
- push hl
- ld a, [hl]
- ld hl, BattleAnimTemps
- bit 6, [hl]
- jr z, .asm_cca53
- add $8
- xor $ff
- inc a
-
-.asm_cca53
- pop hl
- add b
- ld [de], a
- inc hl
- inc de
- ld a, [BattleAnimTemps + 3]
- ld b, a
- ld a, [BattleAnimTemps + 5]
- add b
- ld b, a
- push hl
- ld a, [hl]
- ld hl, BattleAnimTemps
- bit 5, [hl]
- jr z, .asm_cca6f
- add $8
- xor $ff
- inc a
-
-.asm_cca6f
- pop hl
- add b
- ld [de], a
- inc hl
- inc de
- ld a, [BattleAnimTemps + 2]
- add $31
- add [hl]
- ld [de], a
- inc hl
- inc de
- ld a, [BattleAnimTemps]
- ld b, a
- ld a, [hl]
- xor b
- and $e0
- ld b, a
- ld a, [hl]
- and $10
- or b
- ld b, a
- ld a, [BattleAnimTemps + 8]
- and $f
- or b
- ld [de], a
- inc hl
- inc de
- ld a, e
- ld [w5_d418], a
- cp $a0
- jr nc, .asm_ccaa7
- dec c
- jr nz, .asm_cca3c
- pop bc
- jr .asm_ccaa5
-
-.asm_ccaa2
- call Functioncc9bd
-
-.asm_ccaa5
- and a
- ret
-
-.asm_ccaa7
- pop bc
- scf
- ret
-; ccaaa
-
-Functionccaaa: ; ccaaa
- ld hl, $0001
- add hl, bc
- ld a, [hl]
- and $80
- ld [BattleAnimTemps], a
- xor a
- ld [BattleAnimTemps + 7], a
- ld hl, $0005
- add hl, bc
- ld a, [hl]
- ld [BattleAnimTemps + 8], a
- ld hl, $0002
- add hl, bc
- ld a, [hl]
- ld [BattleAnimTemps + 1], a
- ld hl, $0006
- add hl, bc
- ld a, [hli]
- ld [BattleAnimTemps + 2], a
- ld a, [hli]
- ld [BattleAnimTemps + 3], a
- ld a, [hli]
- ld [BattleAnimTemps + 4], a
- ld a, [hli]
- ld [BattleAnimTemps + 5], a
- ld a, [hli]
- ld [BattleAnimTemps + 6], a
- ld a, [hBattleTurn]
- and a
- ret z
- ld hl, $0001
- add hl, bc
- ld a, [hl]
- ld [BattleAnimTemps], a
- bit 0, [hl]
- ret z
- ld hl, $0007
- add hl, bc
- ld a, [hli]
- ld d, a
- ld a, $b4
- sub d
- ld [BattleAnimTemps + 3], a
- ld a, [hli]
- ld d, a
- ld a, [BattleAnimTemps + 1]
- cp $ff
- jr nz, .asm_ccb09
- ld a, $28
- add d
- jr .asm_ccb26
-
-.asm_ccb09
- sub d
- push af
- ld a, [FXAnimIDHi]
- or a
- jr nz, .asm_ccb25
- ld a, [FXAnimIDLo]
- cp $86
- jr z, .asm_ccb20
- cp $87
- jr z, .asm_ccb20
- cp $d0
- jr nz, .asm_ccb25
-
-.asm_ccb20
- pop af
- sub $8
- jr .asm_ccb26
-
-.asm_ccb25
- pop af
-
-.asm_ccb26
- ld [BattleAnimTemps + 4], a
- ld a, [hli]
- xor $ff
- inc a
- ld [BattleAnimTemps + 5], a
- ret
-; ccb31
-
-
-Functionccb31: ; ccb31 (33:4b31)
- push hl
- push bc
- ld hl, w5_d300
- ld b, a
- ld c, $5
-.asm_ccb39
- ld a, [hli]
- cp b
- jr z, .asm_ccb44
- inc hl
- dec c
- jr nz, .asm_ccb39
- xor a
- jr .asm_ccb45
-.asm_ccb44
- ld a, [hl]
-.asm_ccb45
- pop bc
- pop hl
- ret
-
-
-Functionccb48: ; ccb48
- callab Functionc8000
- ret
-; ccb4f
-
-
-Functionccb4f: ; ccb4f (33:4b4f)
- callab Functionc801a
- ret
-; ccb56 (33:4b56)
-
-BattleAnimObjects: ; ccb56
- db $01, $ff, $00, $00, $02, $01
- db $01, $ff, $01, $00, $02, $01
- db $01, $ff, $02, $00, $02, $01
- db $01, $90, $00, $00, $02, $01
- db $01, $90, $01, $00, $02, $01
- db $01, $90, $02, $00, $02, $01
- db $01, $ff, $03, $00, $02, $01
- db $01, $ff, $04, $1b, $02, $01
- db $01, $ff, $05, $00, $02, $01
- db $01, $ff, $06, $00, $02, $01
- db $01, $90, $07, $09, $02, $01
- db $01, $aa, $10, $10, $04, $03
- db $01, $90, $0e, $04, $04, $03
- db $01, $90, $0f, $03, $04, $03
- db $01, $90, $10, $08, $04, $03
- db $01, $90, $0f, $0a, $04, $03
- db $01, $90, $11, $03, $04, $03
- db $01, $90, $12, $08, $06, $0a
- db $01, $90, $13, $00, $06, $0a
- db $01, $90, $14, $01, $06, $0a
- db $21, $78, $16, $0b, $05, $06
- db $00, $00, $09, $12, $04, $0b
- db $00, $00, $09, $13, $04, $0b
- db $01, $90, $18, $00, $04, $08
- db $01, $ff, $18, $00, $04, $08
- db $01, $90, $1d, $06, $02, $0c
- db $01, $b4, $1f, $38, $02, $0c
- db $01, $90, $08, $00, $02, $07
- db $01, $a0, $08, $00, $02, $07
- db $01, $ff, $19, $07, $07, $09
- db $01, $ff, $1a, $07, $07, $09
- db $01, $b0, $1b, $36, $07, $09
- db $01, $b0, $84, $36, $06, $21
- db $01, $90, $21, $0c, $06, $0d
- db $00, $00, $23, $0d, $06, $0d
- db $01, $90, $24, $0e, $02, $0e
- db $61, $80, $27, $0f, $06, $04
- db $01, $b4, $2a, $00, $06, $04
- db $01, $40, $2b, $11, $05, $0f
- db $61, $98, $2c, $00, $03, $10
- db $61, $98, $2d, $09, $03, $10
- db $01, $b8, $2e, $00, $06, $0a
- db $01, $b8, $2f, $00, $06, $0a
- db $01, $b8, $30, $14, $07, $11
- db $01, $90, $21, $14, $03, $0d
- db $21, $b0, $31, $00, $03, $05
- db $21, $b0, $32, $00, $03, $05
- db $21, $b0, $33, $00, $03, $05
- db $21, $90, $34, $15, $03, $05
- db $21, $90, $36, $00, $03, $05
- db $21, $90, $37, $03, $02, $08
- db $21, $90, $38, $00, $03, $05
- db $21, $90, $39, $03, $02, $08
- db $21, $90, $3a, $16, $02, $02
- db $01, $90, $3c, $17, $02, $02
- db $21, $ff, $3e, $00, $02, $02
- db $21, $ff, $3f, $00, $02, $02
- db $21, $ff, $40, $00, $02, $02
- db $21, $ff, $41, $00, $02, $02
- db $21, $ff, $42, $00, $02, $02
- db $01, $88, $43, $18, $05, $12
- db $01, $88, $44, $00, $05, $12
- db $21, $b8, $45, $19, $02, $13
- db $21, $ff, $46, $00, $02, $14
- db $21, $ff, $47, $00, $02, $14
- db $21, $ff, $48, $1a, $02, $14
- db $21, $ff, $49, $1a, $02, $14
- db $21, $98, $4a, $01, $02, $14
- db $21, $80, $4b, $00, $03, $11
- db $01, $88, $4c, $1c, $05, $12
- db $21, $b0, $4d, $1d, $02, $15
- db $01, $b0, $51, $1e, $03, $11
- db $21, $ff, $52, $1f, $05, $16
- db $21, $ff, $54, $1f, $05, $16
- db $21, $68, $56, $20, $05, $06
- db $21, $90, $59, $21, $02, $0e
- db $21, $90, $5c, $02, $02, $17
- db $01, $90, $5d, $22, $03, $11
- db $61, $88, $5f, $00, $03, $10
- db $61, $88, $2d, $09, $03, $10
- db $21, $88, $60, $00, $03, $18
- db $21, $80, $60, $00, $02, $18
- db $21, $50, $61, $23, $03, $19
- db $01, $80, $63, $24, $02, $19
- db $01, $80, $66, $25, $02, $19
- db $01, $50, $1c, $00, $02, $0c
- db $21, $a8, $67, $26, $07, $1a
- db $21, $a8, $68, $00, $07, $1a
- db $21, $90, $69, $01, $02, $1a
- db $21, $90, $6d, $28, $03, $19
- db $21, $90, $6a, $27, $02, $1b
- db $00, $00, $6f, $29, $02, $1c
- db $21, $48, $70, $29, $02, $1c
- db $21, $48, $6f, $29, $02, $1c
- db $21, $78, $6f, $2a, $02, $1c
- db $61, $90, $71, $2b, $02, $1d
- db $61, $90, $72, $2c, $02, $1d
- db $01, $48, $73, $2d, $04, $1e
- db $01, $90, $74, $06, $02, $15
- db $01, $ff, $75, $2e, $07, $19
- db $21, $90, $4a, $02, $02, $14
- db $01, $80, $30, $2f, $02, $11
- db $01, $78, $76, $2a, $04, $23
- db $01, $80, $77, $30, $02, $1f
- db $01, $90, $77, $02, $02, $1f
- db $01, $ff, $77, $00, $02, $1f
- db $01, $80, $78, $08, $03, $23
- db $21, $90, $79, $00, $02, $1f
- db $01, $ff, $7a, $31, $03, $11
- db $01, $88, $7a, $31, $03, $11
- db $21, $88, $7b, $32, $02, $20
- db $21, $98, $7c, $00, $02, $04
- db $21, $80, $7d, $00, $02, $18
- db $01, $80, $21, $2f, $06, $0d
- db $01, $b0, $7e, $33, $03, $12
- db $01, $80, $7f, $2f, $02, $08
- db $21, $a0, $6f, $34, $02, $1c
- db $21, $a0, $74, $35, $02, $15
- db $21, $b0, $80, $33, $02, $14
- db $01, $88, $81, $37, $02, $11
- db $01, $88, $85, $00, $02, $22
- db $01, $88, $86, $00, $02, $22
- db $01, $90, $87, $39, $02, $1f
- db $01, $80, $30, $3a, $03, $11
- db $21, $90, $34, $00, $03, $05
- db $a1, $88, $88, $3b, $06, $13
- db $01, $80, $76, $25, $04, $23
- db $01, $98, $10, $34, $04, $03
- db $01, $a8, $0f, $3c, $04, $03
- db $21, $68, $89, $29, $02, $1f
- db $21, $b0, $8a, $00, $02, $1f
- db $21, $80, $8c, $00, $02, $1f
- db $21, $50, $8d, $00, $03, $1f
- db $01, $40, $24, $40, $02, $0e
- db $21, $a8, $8e, $41, $04, $1f
- db $21, $88, $8f, $3e, $02, $1f
- db $21, $88, $93, $3e, $02, $1f
- db $21, $90, $97, $3d, $02, $1f
- db $21, $90, $78, $3d, $03, $23
- db $01, $ff, $99, $2e, $02, $19
- db $21, $a0, $74, $02, $02, $15
- db $21, $a0, $99, $35, $04, $19
- db $21, $70, $8b, $3f, $02, $1f
- db $01, $90, $15, $08, $02, $0a
- db $01, $90, $11, $02, $04, $03
- db $01, $80, $7f, $42, $02, $08
- db $01, $90, $9a, $00, $02, $1b
- db $21, $a0, $9b, $35, $04, $23
- db $21, $80, $9c, $23, $02, $25
- db $21, $80, $9d, $25, $02, $25
- db $21, $80, $9c, $00, $02, $25
- db $21, $80, $9e, $00, $06, $25
- db $61, $80, $9f, $3a, $05, $23
- db $21, $80, $a0, $16, $02, $23
- db $21, $70, $78, $43, $03, $23
- db $21, $c0, $a2, $01, $02, $25
- db $21, $40, $a3, $44, $03, $24
- db $01, $80, $a4, $00, $02, $24
- db $01, $80, $a5, $00, $03, $24
- db $01, $88, $43, $45, $04, $12
- db $21, $ff, $a6, $00, $02, $02
- db $21, $ff, $a7, $00, $02, $02
- db $21, $00, $b4, $4a, $07, $0f
- db $21, $90, $a8, $02, $03, $05
- db $21, $40, $9c, $11, $02, $25
- db $61, $90, $a9, $46, $02, $23
- db $00, $00, $24, $47, $02, $0e
- db $01, $80, $aa, $00, $02, $24
- db $21, $b8, $ab, $48, $02, $13
- db $21, $90, $ac, $44, $02, $13
- db $01, $a8, $05, $00, $02, $01
- db $01, $90, $24, $43, $02, $0e
- db $01, $88, $ad, $00, $06, $17
- db $01, $a8, $ae, $49, $02, $01
- db $21, $90, $af, $01, $03, $11
- db $21, $00, $b0, $4a, $02, $04
- db $00, $00, $70, $4b, $04, $1c
- db $01, $88, $b1, $4c, $02, $19
- db $01, $b8, $19, $4d, $07, $09
- db $61, $98, $b3, $00, $03, $27
- db $61, $98, $74, $04, $06, $15
- db $21, $ff, $19, $4e, $07, $09
- db $01, $90, $73, $08, $04, $1e
- db $01, $ff, $89, $4f, $04, $1f
- db $00, $00, $b5, $00, $00, $28
- db $00, $00, $b6, $00, $01, $29
- db $00, $00, $b7, $00, $00, $28
- db $00, $00, $b8, $00, $01, $29
-; ccfbe
-
-
-Functionccfbe: ; ccfbe
- ld hl, $0004
- add hl, bc
- ld e, [hl]
- ld d, 0
- ld hl, Jumptable_ccfce
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; ccfce
-
-
-Jumptable_ccfce: ; ccfce (33:4fce)
- dw Functioncd06e
- dw Functioncd12a
- dw Functioncd146
- dw Functioncd0e3
- dw Functioncd0a6
- dw Functioncd081
- dw Functioncd079
- dw Functioncd2be
- dw Functioncd306
- dw Functioncd3ae
- dw Functioncd3f2
- dw Functioncd478
- dw Functioncd5e9
- dw Functioncd66a
- dw Functioncd6e3
- dw Functioncd71a
- dw Functioncd284
- dw Functioncd777
- dw Functioncd15c
- dw Functioncd212
- dw Functioncd7a4
- dw Functioncd80c
- dw Functioncd824
- dw Functioncd89a
- dw Functioncd900
- dw Functioncd954
- dw Functioncdafa
- dw Functioncdb06
- dw Functioncda0a
- dw Functioncdb80
- dw Functioncdca6
- dw Functioncda31
- dw Functioncda4d
- dw Functioncdcc3
- dw Functioncdd2a
- dw Functioncdd90
- dw Functioncddf9
- dw Functioncde28
- dw Functioncde54
- dw Functioncde6b
- dw Functioncde89
- dw Functioncdedd
- dw Functioncdf59
- dw Functionce063
- dw Functionce0c5
- dw Functioncdf1b
- dw Functionce10e
- dw Functionce15c
- dw Functionce1e7
- dw Functionce226
- dw Functionce255
- dw Functionce2cc
- dw Functioncdf8c
- dw Functionce00b
- dw Functionce2fd
- dw Functionce35f
- dw Functionce389
- dw Functionce3b4
- dw Functionce3d2
- dw Functionce3ff
- dw Functioncdfcb
- dw Functionce416
- dw Functionce43a
- dw Functioncdad6
- dw Functionce49c
- dw Functionce4dc
- dw Functionce1b0
- dw Functionce508
- dw Functionce532
- dw Functionce55b
- dw Functionce593
- dw Functionce5b4
- dw Functionce5dc
- dw Functionce5ee
- dw Functionce62f
- dw Functionce688
- dw Functionce6b3
- dw Functionce6d2
- dw Functioncd58a
- dw Functionce6bf
-
-
-Functioncd06e: ; cd06e (33:506e)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd071: ; cd071 (33:5071)
- dw Functioncd078
- dw Functioncd075
-
-
-Functioncd075: ; cd075 (33:5075)
- call Functioncc9bd
-
-Functioncd078: ; cd078 (33:5078)
- ret
-
-Functioncd079: ; cd079 (33:5079)
- call Functioncd081
- ret c
- call Functioncc9bd
- ret
-
-Functioncd081: ; cd081 (33:5081)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $88
- ret nc
- add $2
- ld [hl], a
- ld hl, $8
- add hl, bc
- dec [hl]
- ld hl, $f
- add hl, bc
- ld a, [hl]
- dec [hl]
- ld hl, $b
- add hl, bc
- ld d, [hl]
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- scf
- ret
-
-Functioncd0a6: ; cd0a6 (33:50a6)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $88
- jr c, .asm_cd0b3
- call Functioncc9bd
- ret
-.asm_cd0b3
- add $2
- ld [hl], a
- ld hl, $8
- add hl, bc
- dec [hl]
- ld hl, $f
- add hl, bc
- ld a, [hl]
-rept 4
- inc [hl]
-endr
- ld d, $10
- push af
- push de
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- sra a
- sra a
- sra a
- sra a
- ld [hl], a
- ret
-
-Functioncd0e3: ; cd0e3 (33:50e3)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd0e6: ; cd0e6 (33:50e6)
- dw Functioncd0ea
- dw Functioncd106
-
-
-Functioncd0ea: ; cd0ea (33:50ea)
- call Functionce72c
- ld hl, $b
- add hl, bc
- bit 7, [hl]
- ld a, $0
- jr z, .asm_cd0f9
- ld a, $20
-.asm_cd0f9
- ld hl, $f
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $7f
- ld [hl], a
-
-Functioncd106: ; cd106 (33:5106)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld hl, $b
- add hl, bc
- ld d, [hl]
- push af
- push de
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- inc [hl]
- ret
-
-Functioncd12a: ; cd12a (33:512a)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd12d: ; cd12d (33:512d)
- dw Functioncd135
- dw Functioncd131
-
-
-Functioncd131: ; cd131 (33:5131)
- call Functioncc9bd
- ret
-
-Functioncd135: ; cd135 (33:5135)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $84
- ret nc
- ld hl, $b
- add hl, bc
- ld a, [hl]
- call Functionce70a
- ret
-
-Functioncd146: ; cd146 (33:5146)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $84
- jr nc, .asm_cd158
- ld hl, $b
- add hl, bc
- ld a, [hl]
- call Functionce70a
- ret
-.asm_cd158
- call Functioncc9bd
- ret
-
-Functioncd15c: ; cd15c (33:515c)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd15f: ; cd15f (33:515f)
- dw Functioncd177
- dw Functioncd17e
- dw Functioncd1dc
- dw Functioncd196
- dw Functioncd1a7
- dw Functioncd1dc
- dw Functioncd1d2
- dw Functioncd1dd
- dw Functioncd1ee
- dw Functioncd1dc
- dw Functioncd1ee
- dw Functioncd20e
-
-
-Functioncd177: ; cd177 (33:5177)
- call Functioncd249
- call Functionce72c
- ret
-
-Functioncd17e: ; cd17e (33:517e)
- call Functioncd081
- ret c
- ld hl, $a
- add hl, bc
- ld a, [hl]
- ld hl, $8
- add hl, bc
- add [hl]
- ld [hl], a
- ld a, $b
- call Functionce7bf
- call Functionce72c
- ret
-
-Functioncd196: ; cd196 (33:5196)
- call Functionce72c
- ld a, $9
- call Functionce7bf
- ld hl, $f
- add hl, bc
- ld [hl], $0
- inc hl
- ld [hl], $10
-
-Functioncd1a7: ; cd1a7 (33:51a7)
- ld hl, $f
- add hl, bc
- ld a, [hli]
- ld d, [hl]
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- dec a
- ld [hl], a
- and $1f
- ret nz
- ld [hl], a
- ld hl, $10
- add hl, bc
- ld a, [hl]
- sub $4
- ld [hl], a
- ret nz
- ld a, $c
- call Functionce7bf
- call Functionce72c
- ret
-
-Functioncd1d2: ; cd1d2 (33:51d2)
- ld a, $d
- call Functionce7bf
- ld hl, $e
- add hl, bc
- dec [hl]
-
-Functioncd1dc: ; cd1dc (33:51dc)
- ret
-
-Functioncd1dd: ; cd1dd (33:51dd)
- call Functioncd249
- ld a, $a
- call Functionce7bf
- call Functionce72c
- ld hl, $10
- add hl, bc
- ld [hl], $20
-
-Functioncd1ee: ; cd1ee (33:51ee)
- ld hl, $f
- add hl, bc
- ld a, [hli]
- ld d, [hl]
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- dec a
- ld [hl], a
- and $1f
- jr z, Functioncd20e
- and $f
- ret nz
- call Functionce72c
- ret
-
-Functioncd20e: ; cd20e (33:520e)
- call Functioncc9bd
- ret
-
-Functioncd212: ; cd212 (33:5212)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd215: ; cd215 (33:5215)
- dw Functioncd21b
- dw Functioncd222
- dw Functioncd232
-
-
-Functioncd21b: ; cd21b (33:521b)
- call Functioncd249
- call Functionce72c
- ret
-
-Functioncd222: ; cd222 (33:5222)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $70
- jr nc, .asm_cd22f
- call Functioncd081
- ret
-.asm_cd22f
- call Functionce72c
-
-Functioncd232: ; cd232 (33:5232)
- ld hl, $8
- add hl, bc
- ld a, [hl]
- cp $80
- jr nc, .asm_cd245
- add $4
- ld [hl], a
- ld hl, $7
- add hl, bc
-rept 2
- dec [hl]
-endr
- ret
-.asm_cd245
- call Functioncc9bd
- ret
-
-Functioncd249: ; cd249 (33:5249)
- ld hl, Unknown_cd26c
- ld a, [rSVBK]
- push af
- ld a, $1
- ld [rSVBK], a
- ld a, [CurItem] ; CurItem
- ld e, a
- pop af
- ld [rSVBK], a
-.asm_cd25a
- ld a, [hli]
- cp $ff
- jr z, .asm_cd265
- cp e
- jr z, .asm_cd265
- inc hl
- jr .asm_cd25a
-.asm_cd265
- ld a, [hl]
- ld hl, $5
- add hl, bc
- ld [hl], a
- ret
-; cd26c (33:526c)
-
-Unknown_cd26c: ; cd26c
- db MASTER_BALL, 5
- db ULTRA_BALL, 3
- db GREAT_BALL, 6
- db POKE_BALL, 4
- db HEAVY_BALL, 2
- db LEVEL_BALL, 7
- db LURE_BALL, 6
- db FAST_BALL, 6
- db FRIEND_BALL, 3
- db MOON_BALL, 2
- db LOVE_BALL, 4
- db $ff, 2
-; cd284
-
-Functioncd284: ; cd284 (33:5284)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd287: ; cd287 (33:5287)
- dw Functioncd291
- dw Functioncd2a0
- dw Functioncd2b1
- dw Functioncd2b5
- dw Functioncd2bd
-
-
-Functioncd291: ; cd291 (33:5291)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- swap a
- and $f
- ld hl, $e
- add hl, bc
- ld [hl], a
- ret
-
-Functioncd2a0: ; cd2a0 (33:52a0)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $88
- ret nc
- ld hl, $b
- add hl, bc
- ld a, [hl]
- call Functionce70a
- ret
-
-Functioncd2b1: ; cd2b1 (33:52b1)
- call Functioncc9bd
- ret
-
-Functioncd2b5: ; cd2b5 (33:52b5)
- call Functionce72c
- ld a, $f
- call Functionce7bf
-
-Functioncd2bd: ; cd2bd (33:52bd)
- ret
-
-Functioncd2be: ; cd2be (33:52be)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd2c1: ; cd2c1 (33:52c1)
- dw Functioncd2c5
- dw Functioncd2d1
-
-
-Functioncd2c5: ; cd2c5 (33:52c5)
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $30
- inc hl
- ld [hl], $48
-
-Functioncd2d1: ; cd2d1 (33:52d1)
- ld hl, $f
- add hl, bc
- ld a, [hli]
- ld d, [hl]
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $3f
- ret nz
- ld hl, $f
- add hl, bc
- ld [hl], $20
- ld hl, $10
- add hl, bc
- ld a, [hl]
- ld hl, $b
- add hl, bc
- sub [hl]
- jr z, .asm_cd302
- jr c, .asm_cd302
- ld hl, $10
- add hl, bc
- ld [hl], a
- ret
-.asm_cd302
- call Functioncc9bd
- ret
-
-Functioncd306: ; cd306 (33:5306)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd309: ; cd309 (33:5309)
- dw Functioncd311
- dw Functioncd321
- dw Functioncd32a
- dw Functioncd37d
-
-
-Functioncd311: ; cd311 (33:5311)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $80
- jr nc, .asm_cd31e
- call Functioncd38e
- ret
-.asm_cd31e
- call Functionce72c
-
-Functioncd321: ; cd321 (33:5321)
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $0
-
-Functioncd32a: ; cd32a (33:532a)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- cp $40
- jr nc, .asm_cd363
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld d, $18
- call Functionce732
- sub $18
- sra a
- ld hl, $a
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld d, $18
- call Functionce734
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $f
- ld hl, $f
- add hl, bc
- add [hl]
- ld [hl], a
- ret
-.asm_cd363
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $f0
- jr z, .asm_cd37a
- sub $10
- ld d, a
- ld a, [hl]
- and $f
- or d
- ld [hl], a
- ld hl, $e
- add hl, bc
- dec [hl]
- ret
-.asm_cd37a
- call Functionce72c
-
-Functioncd37d: ; cd37d (33:537d)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $b0
- jr c, .asm_cd38a
- call Functioncc9bd
- ret
-.asm_cd38a
- call Functioncd38e
- ret
-
-Functioncd38e: ; cd38e (33:538e)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $f
- ld hl, $7
- add hl, bc
- add [hl]
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $f
- ld e, a
- srl e
- ld hl, $8
- add hl, bc
-.asm_cd3a9
- dec [hl]
- dec e
- jr nz, .asm_cd3a9
- ret
-
-Functioncd3ae: ; cd3ae (33:53ae)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd3b1: ; cd3b1 (33:53b1)
- dw Functioncd3b7
- dw Functioncd3cc
- dw Functioncd3ee
-
-
-Functioncd3b7: ; cd3b7 (33:53b7)
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $0
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $f
- ld hl, $9
- add hl, bc
- ld [hl], a
-
-Functioncd3cc: ; cd3cc (33:53cc)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cd3d6
- dec [hl]
- ret
-.asm_cd3d6
- ld hl, $b
- add hl, bc
- ld a, [hl]
- swap a
- and $f
- ld hl, $f
- add hl, bc
- ld [hl], a
- ld hl, $9
- add hl, bc
- ld a, [hl]
- xor $ff
- inc a
- ld [hl], a
- ret
-
-Functioncd3ee: ; cd3ee (33:53ee)
- call Functioncc9bd
- ret
-
-Functioncd3f2: ; cd3f2 (33:53f2)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd3f5: ; cd3f5 (33:53f5)
- dw Functioncd409
- dw Functioncd45c
- dw Functioncd467
- dw Functioncd472
- dw Functioncd462
- dw Functioncd46d
- dw Functioncd477
- dw Functioncd41d
- dw Functioncd437
- dw Functioncd458
-
-
-Functioncd409: ; cd409 (33:5409)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld hl, $e
- add hl, bc
- ld [hl], a
- cp $7
- jr z, Functioncd41d
- ld a, $11
- call Functionce7bf
- ret
-
-Functioncd41d: ; cd41d (33:541d)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $88
- jr nc, .asm_cd42f
- add $2
- ld [hl], a
- ld hl, $8
- add hl, bc
- dec [hl]
- ret
-.asm_cd42f
- call Functionce72c
- ld a, $10
- call Functionce7bf
-
-Functioncd437: ; cd437 (33:5437)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld d, $10
- push af
- push de
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- inc [hl]
- ret
-
-Functioncd458: ; cd458 (33:5458)
- call Functioncc9bd
- ret
-
-Functioncd45c: ; cd45c (33:545c)
- ld hl, $a
- add hl, bc
- dec [hl]
- ret
-
-Functioncd462: ; cd462 (33:5462)
- ld hl, $a
- add hl, bc
- inc [hl]
-
-Functioncd467: ; cd467 (33:5467)
- ld hl, $9
- add hl, bc
- dec [hl]
- ret
-
-Functioncd46d: ; cd46d (33:546d)
- ld hl, $a
- add hl, bc
- inc [hl]
-
-Functioncd472: ; cd472 (33:5472)
- ld hl, $9
- add hl, bc
- inc [hl]
-
-Functioncd477: ; cd477 (33:5477)
- ret
-
-Functioncd478: ; cd478 (33:5478)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd47b: ; cd47b (33:547b)
- dw Functioncd48d
- dw Functioncd496
- dw Functioncd4ee
- dw Functioncd53a
- dw Functioncd545
- dw Functioncd545
- dw Functioncd545
- dw Functioncd545
- dw Functioncd549
-
-
-Functioncd48d: ; cd48d (33:548d)
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $40
-
-Functioncd496: ; cd496 (33:5496)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- cp $30
- jr nc, .asm_cd4bc
- call Functionce72c
- xor a
- ld hl, $f
- add hl, bc
- ld [hli], a
- ld [hl], a
- ld a, $17
- call Functionce7bf
- ld hl, $b
- add hl, bc
- bit 6, [hl]
- ret z
- ld hl, $d
- add hl, bc
- ld [hl], $5
- ret
-.asm_cd4bc
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $3f
- ld d, a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- dec [hl]
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- call Functioncd557
- ld hl, $10
- add hl, bc
- ld a, [hl]
- ld hl, $7
- add hl, bc
- ld h, [hl]
- ld l, a
- add hl, de
- ld e, l
- ld d, h
- ld hl, $7
- add hl, bc
- ld [hl], d
- ld hl, $10
- add hl, bc
- ld [hl], e
- ret
-
-Functioncd4ee: ; cd4ee (33:54ee)
- ld hl, $a
- add hl, bc
- ld a, [hl]
- cp $20
- jr nz, .asm_cd4fb
- call Functioncc9bd
- ret
-.asm_cd4fb
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld d, $10
- call Functionce734
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- bit 6, [hl]
- jr nz, .asm_cd519
- ld hl, $f
- add hl, bc
- inc [hl]
- jr .asm_cd51e
-.asm_cd519
- ld hl, $f
- add hl, bc
- dec [hl]
-.asm_cd51e
- ld de, $80
- ld hl, $10
- add hl, bc
- ld a, [hl]
- ld hl, $a
- add hl, bc
- ld h, [hl]
- ld l, a
- add hl, de
- ld e, l
- ld d, h
- ld hl, $a
- add hl, bc
- ld [hl], d
- ld hl, $10
- add hl, bc
- ld [hl], e
- ret
-
-Functioncd53a: ; cd53a (33:553a)
- ld a, $16
- call Functionce7bf
- ld hl, $1
- add hl, bc
- res 5, [hl]
-
-Functioncd545: ; cd545 (33:5545)
- call Functionce72c
- ret
-
-Functioncd549: ; cd549 (33:5549)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $c0
- ret nc
- ld a, $8
- call Functionce70a
- ret
-
-Functioncd557: ; cd557 (33:5557)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- bit 7, a
- jr nz, .asm_cd574
- cp $20
- jr nc, .asm_cd570
- cp $18
- jr nc, .asm_cd56c
- ld de, $200
- ret
-.asm_cd56c
- ld de, $180
- ret
-.asm_cd570
- ld de, $100
- ret
-.asm_cd574
- and $3f
- cp $20
- jr nc, .asm_cd586
- cp $18
- jr nc, .asm_cd582
- ld de, $fe00
- ret
-.asm_cd582
- ld de, $fe80
- ret
-.asm_cd586
- ld de, rJOYP ; $ff00
- ret
-
-Functioncd58a: ; cd58a (33:558a)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd58d: ; cd58d (33:558d)
- dw Functioncd591
- dw Functioncd5aa
-
-
-Functioncd591: ; cd591 (33:5591)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $40
- rlca
- rlca
- add $19
- ld hl, $3
- add hl, bc
- ld [hl], a
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $40
-
-Functioncd5aa: ; cd5aa (33:55aa)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- cp $30
- jr nc, .asm_cd5b7
- call Functioncc9bd
- ret
-.asm_cd5b7
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $3f
- ld d, a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- dec [hl]
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- call Functioncd557
- ld hl, $10
- add hl, bc
- ld a, [hl]
- ld hl, $7
- add hl, bc
- ld h, [hl]
- ld l, a
- add hl, de
- ld e, l
- ld d, h
- ld hl, $7
- add hl, bc
- ld [hl], d
- ld hl, $10
- add hl, bc
- ld [hl], e
- ret
-
-Functioncd5e9: ; cd5e9 (33:55e9)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd5ec: ; cd5ec (33:55ec)
- dw Functioncd5f2
- dw Functioncd5fb
- dw Functioncd61b
-
-
-Functioncd5f2: ; cd5f2 (33:55f2)
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $c
-
-Functioncd5fb: ; cd5fb (33:55fb)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cd60d
- dec [hl]
- ld hl, $b
- add hl, bc
- ld a, [hl]
- call Functionce70a
- ret
-.asm_cd60d
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $0
- ld a, $22
- call Functionce7bf
-
-Functioncd61b: ; cd61b (33:561b)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $98
- jr nc, .asm_cd63f
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld hl, $7
- add hl, bc
- ld h, [hl]
- ld l, a
- ld de, $60
- add hl, de
- ld e, l
- ld d, h
- ld hl, $f
- add hl, bc
- ld [hl], e
- ld hl, $7
- add hl, bc
- ld [hl], d
-.asm_cd63f
- ld hl, $8
- add hl, bc
- ld a, [hl]
- cp $20
- ret c
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $f0
- ld e, a
- ld d, $ff
- ld hl, $10
- add hl, bc
- ld a, [hl]
- ld hl, $8
- add hl, bc
- ld h, [hl]
- ld l, a
- add hl, de
- ld e, l
- ld d, h
- ld hl, $10
- add hl, bc
- ld [hl], e
- ld hl, $8
- add hl, bc
- ld [hl], d
- ret
-
-Functioncd66a: ; cd66a (33:566a)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd66d: ; cd66d (33:566d)
- dw Functioncd677
- dw Functioncd687
- dw Functioncd6c5
- dw Functioncd6c6
- dw Functioncd6d6
-
-
-Functioncd677: ; cd677 (33:5677)
- call Functionce72c
- ld a, $42
- ld [hLCDStatCustom], a
- ld a, $58
- ld [hLCDStatCustom + 1], a
- ld a, $5e
- ld [hLCDStatCustom + 2], a
- ret
-
-Functioncd687: ; cd687 (33:5687)
- ld hl, $b
- add hl, bc
- ld e, [hl]
- ld hl, $8
- add hl, bc
- ld a, [hl]
- cp e
- jr nc, .asm_cd69b
- call Functionce72c
- xor a
- ld [hLCDStatCustom + 1], a
- ret
-.asm_cd69b
- dec a
- ld [hl], a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld d, $10
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- ld hl, $8
- add hl, bc
- add [hl]
- sub $10
- ret c
- ld [hLCDStatCustom + 1], a
- ld hl, $9
- add hl, bc
- ld a, [hl]
- inc a
- and $7
- ld [hl], a
- ld hl, $f
- add hl, bc
-rept 2
- inc [hl]
-endr
-
-Functioncd6c5: ; cd6c5 (33:56c5)
- ret
-
-Functioncd6c6: ; cd6c6 (33:56c6)
- ld hl, $8
- add hl, bc
- ld a, [hl]
- cp $70
- jr c, asm_cd6da
- xor a
- ld [hLCDStatCustom], a
- ld [hLCDStatCustom + 1], a
- ld [hLCDStatCustom + 2], a
-
-Functioncd6d6: ; cd6d6 (33:56d6)
- call Functioncc9bd
- ret
-asm_cd6da: ; cd6da (33:56da)
-rept 2
- inc a
-endr
- ld [hl], a
- sub $10
- ret c
- ld [hLCDStatCustom + 1], a
- ret
-
-Functioncd6e3: ; cd6e3 (33:56e3)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd6e6: ; cd6e6 (33:56e6)
- dw Functioncd6ea
- dw Functioncd6f7
-
-
-Functioncd6ea: ; cd6ea (33:56ea)
- call Functionce72c
- ld hl, $b
- add hl, bc
- ld a, $24
- add [hl]
- call Functionce7bf
-
-Functioncd6f7: ; cd6f7 (33:56f7)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $b8
- jr c, .asm_cd704
- call Functioncc9bd
- ret
-.asm_cd704
- ld a, $2
- call Functionce70a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- dec [hl]
- ld d, $8
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- ret
-
-Functioncd71a: ; cd71a (33:571a)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd71d: ; cd71d (33:571d)
- dw Functioncd725
- dw Functioncd728
- dw Functioncd763
- dw Functioncd776
-
-
-Functioncd725: ; cd725 (33:5725)
- call Functionce72c
-
-Functioncd728: ; cd728 (33:5728)
- ld hl, $8
- add hl, bc
- ld a, [hl]
- cp $30
- jr c, .asm_cd747
- ld a, $2
- call Functionce70a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- dec [hl]
- ld d, $8
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- ret
-.asm_cd747
- call Functionce72c
- ld a, $28
- call Functionce7bf
- ld hl, $a
- add hl, bc
- ld [hl], $0
- ld hl, $8
- add hl, bc
- ld [hl], $30
- ld hl, $1
- add hl, bc
- ld a, [hl]
- and $1
- ld [hl], a
-
-Functioncd763: ; cd763 (33:5763)
- ld hl, $a
- add hl, bc
- ld a, [hl]
- cp $18
- jr nc, .asm_cd76e
- inc [hl]
- ret
-.asm_cd76e
- call Functionce72c
- ld a, $29
- call Functionce7bf
-
-Functioncd776: ; cd776 (33:5776)
- ret
-
-Functioncd777: ; cd777 (33:5777)
- ld hl, $a
- add hl, bc
- ld a, [hl]
- cp $38
- jr c, .asm_cd784
- call Functioncc9bd
- ret
-.asm_cd784
- ld a, [hl]
- ld hl, $f
- add hl, bc
- ld l, [hl]
- ld h, a
- ld de, $80
- add hl, de
- ld e, l
- ld d, h
- ld hl, $f
- add hl, bc
- ld [hl], e
- ld hl, $a
- add hl, bc
- ld [hl], d
- ld hl, $9
- add hl, bc
- ld a, [hl]
- xor $10
- ld [hl], a
- ret
-
-Functioncd7a4: ; cd7a4 (33:57a4)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd7a7: ; cd7a7 (33:57a7)
- dw Functioncd7ab
- dw Functioncd7d2
-
-
-Functioncd7ab: ; cd7ab (33:57ab)
- call Functionce72c
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $f0
- ld hl, $10
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $f
- sla a
- sla a
- sla a
- ld hl, $f
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld [hl], $1
-
-Functioncd7d2: ; cd7d2 (33:57d2)
- ld hl, $10
- add hl, bc
- ld a, [hl]
- and a
- jr nz, .asm_cd7de
- call Functioncc9bd
- ret
-.asm_cd7de
- ld hl, $f
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld hl, $10
- add hl, bc
- ld d, [hl]
- push af
- push de
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- xor $1
- ld [hl], a
- ret z
- ld hl, $10
- add hl, bc
- dec [hl]
- ret
-
-Functioncd80c: ; cd80c (33:580c)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd80f: ; cd80f (33:580f)
- dw Functioncd81f
- dw Functioncd817
- dw Functioncd81f
- dw Functioncd820
-
-
-Functioncd817: ; cd817 (33:5817)
- call Functionce72c
- ld a, $35
- call Functionce7bf
-
-Functioncd81f: ; cd81f (33:581f)
- ret
-
-Functioncd820: ; cd820 (33:5820)
- call Functioncc9bd
- ret
-
-Functioncd824: ; cd824 (33:5824)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd827: ; cd827 (33:5827)
- dw Functioncd835
- dw Functioncd860
- dw Functioncd88f
- dw Functioncd88f
- dw Functioncd88f
- dw Functioncd88f
- dw Functioncd893
-
-
-Functioncd835: ; cd835 (33:5835)
- call Functionce72c
- ld hl, $3
- add hl, bc
- ld a, [hl]
- ld hl, $10
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- bit 7, [hl]
- jr nz, .asm_cd852
- ld hl, $f
- add hl, bc
- ld [hl], $10
- jr .asm_cd858
-.asm_cd852
- ld hl, $f
- add hl, bc
- ld [hl], $30
-.asm_cd858
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $7f
- ld [hl], a
-
-Functioncd860: ; cd860 (33:5860)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld hl, $b
- add hl, bc
- ld d, [hl]
- call Functionce734
- ld hl, $9
- add hl, bc
- ld [hl], a
- bit 7, a
- jr nz, .asm_cd87e
- ld hl, $10
- add hl, bc
- ld a, [hl]
- inc a
- jr .asm_cd883
-.asm_cd87e
- ld hl, $10
- add hl, bc
- ld a, [hl]
-.asm_cd883
- call Functionce7bf
- ld hl, $f
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $1f
- ret nz
-
-Functioncd88f: ; cd88f (33:588f)
- call Functionce72c
- ret
-
-Functioncd893: ; cd893 (33:5893)
- ld hl, $e
- add hl, bc
- ld [hl], $1
- ret
-
-Functioncd89a: ; cd89a (33:589a)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd89d: ; cd89d (33:589d)
- dw Functioncd8ab
- dw Functioncd8cc
- dw Functioncd8f5
- dw Functioncd8f5
- dw Functioncd8f5
- dw Functioncd8f5
- dw Functioncd8f9
-
-
-Functioncd8ab: ; cd8ab (33:58ab)
- call Functionce72c
- ld hl, $b
- add hl, bc
- bit 7, [hl]
- jr nz, .asm_cd8be
- ld hl, $f
- add hl, bc
- ld [hl], $10
- jr .asm_cd8c4
-.asm_cd8be
- ld hl, $f
- add hl, bc
- ld [hl], $30
-.asm_cd8c4
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $7f
- ld [hl], a
-
-Functioncd8cc: ; cd8cc (33:58cc)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld hl, $b
- add hl, bc
- ld d, [hl]
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- bit 7, a
- jr nz, .asm_cd8e6
- ld a, $3d
- jr .asm_cd8e8
-.asm_cd8e6
- ld a, $3c
-.asm_cd8e8
- call Functionce7bf
- ld hl, $f
- add hl, bc
-rept 2
- inc [hl]
-endr
- ld a, [hl]
- and $1f
- ret nz
-
-Functioncd8f5: ; cd8f5 (33:58f5)
- call Functionce72c
- ret
-
-Functioncd8f9: ; cd8f9 (33:58f9)
- ld hl, $e
- add hl, bc
- ld [hl], $1
- ret
-
-Functioncd900: ; cd900 (33:5900)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd903: ; cd903 (33:5903)
- dw Functioncd907
- dw Functioncd913
-
-
-Functioncd907: ; cd907 (33:5907)
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $28
- inc hl
- ld [hl], $0
-
-Functioncd913: ; cd913 (33:5913)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld hl, $f
- add hl, bc
- ld d, [hl]
- push af
- push de
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cd950
- ld d, a
- ld hl, $10
- add hl, bc
- ld e, [hl]
- ld hl, hPushOAM ; $ff80
- add hl, de
- ld e, l
- ld d, h
- ld hl, $10
- add hl, bc
- ld [hl], e
- ld hl, $f
- add hl, bc
- ld [hl], d
- ret
-.asm_cd950
- call Functioncc9bd
- ret
-
-Functioncd954: ; cd954 (33:5954)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cd957: ; cd957 (33:5957)
- dw Functioncd961
- dw Functioncd96a
- dw Functioncd96e
- dw Functioncd96a
- dw Functioncd97b
-
-
-Functioncd961: ; cd961 (33:5961)
- call Functionce72c
- ld hl, $b
- add hl, bc
- ld [hl], $0
-
-Functioncd96a: ; cd96a (33:596a)
- call Functioncd99a
- ret
-
-Functioncd96e: ; cd96e (33:596e)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $88
- jr c, asm_cd988
- call Functionce72c
- ret
-
-Functioncd97b: ; cd97b (33:597b)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $b8
- jr c, asm_cd988
- call Functioncc9bd
- ret
-
-asm_cd988: ; cd988 (33:5988)
- call Functioncd99a
- ld hl, $7
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $1
- ret nz
- ld hl, $8
- add hl, bc
- dec [hl]
- ret
-
-Functioncd99a: ; cd99a (33:599a)
- call Functioncd9f4
- ld hl, $f
- add hl, bc
- ld a, [hl]
- push af
- push de
- call Functionce734
- sra a
- sra a
- sra a
- sra a
- ld hl, $b
- add hl, bc
- add [hl]
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- sub $8
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cd9d7
- cp $c2
- jr c, .asm_cd9e2
-.asm_cd9d7
- dec a
- ld [hl], a
- and $7
- ret nz
- ld hl, $10
- add hl, bc
- inc [hl]
- ret
-.asm_cd9e2
- xor a
- ld hl, $10
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld [hl], a
- ld hl, $9
- add hl, bc
- ld [hli], a
- ld [hl], a
- ret
-
-Functioncd9f4: ; cd9f4 (33:59f4)
- ld hl, $10
- add hl, bc
- ld e, [hl]
- ld d, 0
- ld hl, Unknown_cda01
- add hl, de
- ld d, [hl]
- ret
-; cda01 (33:5a01)
-
-Unknown_cda01: ; cda01
- db 8, 6, 5, 4, 5, 6, 8, 12, 16
-; cda0a
-
-Functioncda0a: ; cda0a (33:5a0a)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $30
- jr nc, .asm_cda17
- call Functioncc9bd
- ret
-.asm_cda17
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $f
- ld e, a
- ld hl, $7
- add hl, bc
- ld a, [hl]
- sub e
- ld [hl], a
- srl e
- ld hl, $8
- add hl, bc
-.asm_cda2c
- inc [hl]
- dec e
- jr nz, .asm_cda2c
- ret
-
-Functioncda31: ; cda31 (33:5a31)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cda34: ; cda34 (33:5a34)
- dw Functioncda4c
- dw Functioncda3a
- dw Functioncda4c
-
-
-Functioncda3a: ; cda3a (33:5a3a)
- ld hl, $3
- add hl, bc
- ld a, [hl]
- inc a
- call Functionce7bf
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $8
-
-Functioncda4c: ; cda4c (33:5a4c)
- ret
-
-Functioncda4d: ; cda4d (33:5a4d)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cda50: ; cda50 (33:5a50)
- dw Functioncda58
- dw Functioncda62
- dw Functioncda7a
- dw Functioncda8c
-
-
-Functioncda58: ; cda58 (33:5a58)
- call Functionce72c
- ld hl, $10
- add hl, bc
- ld [hl], $40
- ret
-
-Functioncda62: ; cda62 (33:5a62)
- ld hl, $10
- add hl, bc
- ld a, [hl]
- cp $20
- jr c, .asm_cda6f
- call Functioncda8d
- ret
-.asm_cda6f
- ld [hl], $40
- ld a, $57
- call Functionce7bf
- call Functionce72c
- ret
-
-Functioncda7a: ; cda7a (33:5a7a)
- ld hl, $10
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cda84
- dec [hl]
- ret
-.asm_cda84
- call Functionce72c
- ld a, $58
- call Functionce7bf
-
-Functioncda8c: ; cda8c (33:5a8c)
- ret
-
-Functioncda8d: ; cda8d (33:5a8d)
- dec [hl]
- ld d, $20
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- ld hl, $2
- add hl, bc
- ld a, [hl]
- add $2
- ld [hl], a
- ld hl, $f
- add hl, bc
- ld e, [hl]
- ld hl, $7
- add hl, bc
- ld d, [hl]
- ld hl, $b
- add hl, bc
- ld h, [hl]
- ld a, h
- and $f
- swap a
- ld l, a
- ld a, h
- and $f0
- swap a
- ld h, a
- add hl, de
- ld e, l
- ld d, h
- ld hl, $f
- add hl, bc
- ld [hl], e
- ld hl, $7
- add hl, bc
- ld [hl], d
- ld hl, $10
- add hl, bc
- ld a, [hl]
- and $1
- ret nz
- ld hl, $8
- add hl, bc
- dec [hl]
- ret
-
-Functioncdad6: ; cdad6 (33:5ad6)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cdad9: ; cdad9 (33:5ad9)
- dw Functioncdadf
- dw Functioncdae9
- dw Functioncdaf9
-
-
-Functioncdadf: ; cdadf (33:5adf)
- call Functionce72c
- ld hl, $10
- add hl, bc
- ld [hl], $40
- ret
-
-Functioncdae9: ; cdae9 (33:5ae9)
- ld hl, $10
- add hl, bc
- ld a, [hl]
- cp $20
- jr c, .asm_cdaf6
- call Functioncda8d
- ret
-.asm_cdaf6
- call Functionce72c
-
-Functioncdaf9: ; cdaf9 (33:5af9)
- ret
-
-Functioncdafa: ; cdafa (33:5afa)
- call Functioncd0e3
- ld hl, $f
- add hl, bc
- ld a, [hl]
- add $f
- ld [hl], a
- ret
-
-Functioncdb06: ; cdb06 (33:5b06)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cdb09: ; cdb09 (33:5b09)
- dw Functioncdb13
- dw Functioncdb14
- dw Functioncdb28
- dw Functioncdb50
- dw Functioncdb65
-
-
-Functioncdb13: ; cdb13 (33:5b13)
- ret
-
-Functioncdb14: ; cdb14 (33:5b14)
- ld hl, $8
- add hl, bc
- ld a, [hl]
- cp $30
- jr c, .asm_cdb24
- ld hl, $e
- add hl, bc
- ld [hl], $0
- ret
-.asm_cdb24
- add $4
- ld [hl], a
- ret
-
-Functioncdb28: ; cdb28 (33:5b28)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $98
- ret nc
-rept 2
- inc [hl]
-endr
- ld hl, $1
- add hl, bc
- set 0, [hl]
- ld hl, $2
- add hl, bc
- ld [hl], $90
- ld hl, $d
- add hl, bc
- ld [hl], $0
- ld hl, $c
- add hl, bc
- ld [hl], $2
- ld hl, $8
- add hl, bc
- dec [hl]
- ret
-
-Functioncdb50: ; cdb50 (33:5b50)
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $2c
- ld hl, $d
- add hl, bc
- ld [hl], $0
- ld hl, $c
- add hl, bc
- ld [hl], $80
-
-Functioncdb65: ; cdb65 (33:5b65)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $98
- ret nc
-rept 2
- inc [hl]
-endr
- ld hl, $f
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld d, $8
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- ret
-
-Functioncdb80: ; cdb80 (33:5b80)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cdb83: ; cdb83 (33:5b83)
- dw Functioncdb9f
- dw Functioncdbb3
- dw Functioncdbcf
- dw Functioncdbeb
- dw Functioncdc74
- dw Functioncdc1a
- dw Functioncdbc1
- dw Functioncdc1e
- dw Functioncdc27
- dw Functioncdc39
- dw Functioncdc74
- dw Functioncdc48
- dw Functioncdc57
- dw Functioncdc74
-
-
-Functioncdb9f: ; cdb9f (33:5b9f)
- ld hl, $f
- add hl, bc
- ld [hl], $28
- inc hl
- ld [hl], $10
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld hl, $e
- add hl, bc
- ld [hl], a
- ret
-
-Functioncdbb3: ; cdbb3 (33:5bb3)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $40
- jr nc, .asm_cdbbd
- inc [hl]
-.asm_cdbbd
- call Functioncdc75
- ret
-
-Functioncdbc1: ; cdbc1 (33:5bc1)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $4b
- jr nc, .asm_cdbcb
- inc [hl]
-.asm_cdbcb
- call Functioncdc75
- ret
-
-Functioncdbcf: ; cdbcf (33:5bcf)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $88
- jr nc, .asm_cdbe6
- and $f
- jr nz, asm_cdbfa
- ld hl, $10
- add hl, bc
- ld [hl], $10
- call Functionce72c
- ret
-.asm_cdbe6
- call Functionce72c
- inc [hl]
- ret
-
-Functioncdbeb: ; cdbeb (33:5beb)
- ld hl, $10
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cdbf5
- dec [hl]
- ret
-.asm_cdbf5
- ld hl, $e
- add hl, bc
- dec [hl]
-asm_cdbfa: ; cdbfa (33:5bfa)
- ld hl, $7
- add hl, bc
- inc [hl]
- ld hl, $8
- add hl, bc
- ld d, [hl]
- ld hl, $f
- add hl, bc
- ld e, [hl]
- ld hl, hPushOAM ; $ff80
- add hl, de
- ld e, l
- ld d, h
- ld hl, $8
- add hl, bc
- ld [hl], d
- ld hl, $f
- add hl, bc
- ld [hl], e
- ret
-
-Functioncdc1a: ; cdc1a (33:5c1a)
- call Functioncc9bd
- ret
-
-Functioncdc1e: ; cdc1e (33:5c1e)
- ld a, $4e
- call Functionce7bf
- call Functionce72c
- ret
-
-Functioncdc27: ; cdc27 (33:5c27)
- ld hl, $f
- add hl, bc
- ld a, [hl]
-rept 2
- inc [hl]
-endr
- ld d, $2
- call Functionce734
- ld hl, $9
- add hl, bc
- ld [hl], a
- ret
-
-Functioncdc39: ; cdc39 (33:5c39)
- ld a, $50
- call Functionce7bf
- ld hl, $a
- add hl, bc
- ld [hl], $4
- call Functionce72c
- ret
-
-Functioncdc48: ; cdc48 (33:5c48)
- ld a, $4f
- call Functionce7bf
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $40
- ret
-
-Functioncdc57: ; cdc57 (33:5c57)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld d, $20
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- cp $30
- jr c, .asm_cdc71
- dec [hl]
- ret
-.asm_cdc71
- call Functionce72c
-
-Functioncdc74: ; cdc74 (33:5c74)
- ret
-
-Functioncdc75: ; cdc75 (33:5c75)
- ld hl, $f
- add hl, bc
- ld a, [hli]
- ld d, [hl]
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $3f
- ret nz
- ld hl, $f
- add hl, bc
- ld [hl], $20
- ld hl, $10
- add hl, bc
- ld a, [hl]
- sub $8
- ld [hl], a
- ret nz
- xor a
- ld hl, $f
- add hl, bc
- ld [hli], a
- ld [hl], a
- call Functionce72c
- ret
-
-Functioncdca6: ; cdca6 (33:5ca6)
- ld hl, $a
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cdcb6
- cp $d8
- jr nc, .asm_cdcb6
- call Functioncc9bd
- ret
-.asm_cdcb6
- ld hl, $b
- add hl, bc
- ld d, [hl]
- ld hl, $a
- add hl, bc
- ld a, [hl]
- sub d
- ld [hl], a
- ret
-
-Functioncdcc3: ; cdcc3 (33:5cc3)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cdcc6: ; cdcc6 (33:5cc6)
- dw Functioncdcca
- dw Functioncdced
-
-
-Functioncdcca: ; cdcca (33:5cca)
- ld a, [hBattleTurn]
- and a
- jr z, .asm_cdcd9
- ld hl, $b
- add hl, bc
- ld a, [hl]
- xor $ff
- add $3
- ld [hl], a
-.asm_cdcd9
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $8
- ld hl, $b
- add hl, bc
- ld a, $59
- add [hl]
- call Functionce7bf
- ret
-
-Functioncdced: ; cdced (33:5ced)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cdcfa
- dec [hl]
- call Functioncdcfe
- ret
-.asm_cdcfa
- call Functioncc9bd
- ret
-
-Functioncdcfe: ; cdcfe (33:5cfe)
- ld hl, $10
- add hl, bc
- ld a, [hl]
-rept 2
- inc [hl]
-endr
- ld d, $10
- call Functionce734
- ld d, a
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cdd20
- dec a
- ret z
- ld hl, $a
- add hl, bc
- ld [hl], d
- ret
-.asm_cdd20
- ld hl, $a
- add hl, bc
- ld a, d
- xor $ff
- inc a
- ld [hl], a
- ret
-
-Functioncdd2a: ; cdd2a (33:5d2a)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cdd2d: ; cdd2d (33:5d2d)
- dw Functioncdd31
- dw Functioncdd4f
-
-
-Functioncdd31: ; cdd31 (33:5d31)
- call Functionce72c
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $3f
- ld hl, $10
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $80
- rlca
- ld [hl], a
- add $5d
- call Functionce7bf
- ret
-
-Functioncdd4f: ; cdd4f (33:5d4f)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- swap a
- ld d, a
- ld hl, $10
- add hl, bc
- ld a, [hl]
- inc [hl]
- push af
- push de
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $80
- ret nc
- ld hl, $10
- add hl, bc
- ld a, [hl]
- and $3
- jr nz, .asm_cdd87
- ld hl, $8
- add hl, bc
- dec [hl]
-.asm_cdd87
- and $1
- ret nz
- ld hl, $7
- add hl, bc
- inc [hl]
- ret
-
-Functioncdd90: ; cdd90 (33:5d90)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cdd93: ; cdd93 (33:5d93)
- dw Functioncdd97
- dw Functioncddbc
-
-
-Functioncdd97: ; cdd97 (33:5d97)
- call Functionce72c
- ld hl, $3
- add hl, bc
- ld a, [hl]
- ld hl, $f
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $80
- rlca
- ld hl, $f
- add hl, bc
- add [hl]
- call Functionce7bf
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $7f
- ld [hl], a
-
-Functioncddbc: ; cddbc (33:5dbc)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld d, $10
- push af
- push de
- call Functionce734
- sra a
- sra a
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- inc [hl]
- and $3f
- jr z, .asm_cddf0
- and $1f
- ret nz
- ld hl, $f
- add hl, bc
- ld a, [hl]
- inc a
- jr .asm_cddf5
-.asm_cddf0
- ld hl, $f
- add hl, bc
- ld a, [hl]
-.asm_cddf5
- call Functionce7bf
- ret
-
-Functioncddf9: ; cddf9 (33:5df9)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cddfc: ; cddfc (33:5dfc)
- dw Functioncde02
- dw Functioncde20
- dw Functioncde21
-
-
-Functioncde02: ; cde02 (33:5e02)
- call Functionce72c
- ld hl, $b
- add hl, bc
- ld a, [hl]
- add $63
- call Functionce7bf
- ld hl, $b
- add hl, bc
- ld e, [hl]
- ld d, 0
- ld hl, Unknown_cde25
- add hl, de
- ld a, [hl]
- ld hl, $a
- add hl, bc
- ld [hl], a
-
-Functioncde20: ; cde20 (33:5e20)
- ret
-
-Functioncde21: ; cde21 (33:5e21)
- call Functioncc9bd
- ret
-; cde25 (33:5e25)
-
-Unknown_cde25: ; cde25
- db $ec, $f8, $00
-; cde28
-
-Functioncde28: ; cde28 (33:5e28)
- ld hl, $f
- add hl, bc
- ld a, [hl]
-rept 2
- inc [hl]
-endr
- ld d, $4
- call Functionce734
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $a
- add hl, bc
- ld d, [hl]
- ld hl, $10
- add hl, bc
- ld e, [hl]
- ld hl, $ffa0
- add hl, de
- ld e, l
- ld d, h
- ld hl, $a
- add hl, bc
- ld [hl], d
- ld hl, $10
- add hl, bc
- ld [hl], e
- ret
-
-Functioncde54: ; cde54 (33:5e54)
- ld hl, $f
- add hl, bc
- ld a, [hl]
-rept 2
- dec [hl]
-endr
- ld d, $10
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- ld hl, $7
- add hl, bc
- inc [hl]
- ret
-
-Functioncde6b: ; cde6b (33:5e6b)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cde6e: ; cde6e (33:5e6e)
- dw Functioncde72
- dw Functioncde88
-
-
-Functioncde72: ; cde72 (33:5e72)
- call Functionce72c
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and a
- jr nz, .asm_cde83
- ld hl, $1
- add hl, bc
- set 6, [hl]
-.asm_cde83
- add $6a
- call Functionce7bf
-
-Functioncde88: ; cde88 (33:5e88)
- ret
-
-Functioncde89: ; cde89 (33:5e89)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cde8c: ; cde8c (33:5e8c)
- dw Functioncde90
- dw Functioncdebf
-
-
-Functioncde90: ; cde90 (33:5e90)
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $0
- ld hl, $b
- add hl, bc
- ld e, [hl]
- ld a, e
- and $70
- swap a
- ld [hl], a
- ld hl, $9
- add hl, bc
- ld a, e
- and $80
- jr nz, .asm_cdeb2
- ld a, e
- and $f
- ld [hl], a
- ret
-.asm_cdeb2
- ld a, e
- and $f
- xor $ff
- inc a
- ld [hl], a
- ld a, $6e
- call Functionce7bf
- ret
-
-Functioncdebf: ; cdebf (33:5ebf)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cdec9
- dec [hl]
- ret
-.asm_cdec9
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld hl, $f
- add hl, bc
- ld [hl], a
- ld hl, $9
- add hl, bc
- ld a, [hl]
- xor $ff
- inc a
- ld [hl], a
- ret
-
-Functioncdedd: ; cdedd (33:5edd)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld d, $18
- push af
- push de
- call Functionce734
- sra a
- sra a
- sra a
- ld hl, $10
- add hl, bc
- add [hl]
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $7
- ret nz
- ld hl, $10
- add hl, bc
- ld a, [hl]
- cp $28
- jr nc, .asm_cdf17
- inc [hl]
- ret
-.asm_cdf17
- call Functioncc9bd
- ret
-
-Functioncdf1b: ; cdf1b (33:5f1b)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld d, $18
- push af
- push de
- call Functionce734
- sra a
- sra a
- sra a
- ld hl, $10
- add hl, bc
- add [hl]
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $3
- ret nz
- ld hl, $10
- add hl, bc
- ld a, [hl]
- cp $28
- jr nc, .asm_cdf55
- inc [hl]
- ret
-.asm_cdf55
- call Functioncc9bd
- ret
-
-Functioncdf59: ; cdf59 (33:5f59)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_cdf5c: ; cdf5c (33:5f5c)
- dw Functioncdf60
- dw Functioncdedd
-
-
-Functioncdf60: ; cdf60 (33:5f60)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $84
- jr nc, .asm_cdf88
- inc [hl]
- ld hl, $f
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld d, $18
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $7
- add hl, bc
- ld a, [hl]
- and $1
- ret nz
- ld hl, $8
- add hl, bc
- dec [hl]
- ret
-.asm_cdf88
- call Functionce72c
- ret
-
-Functioncdf8c: ; cdf8c (33:5f8c)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld d, $18
- push af
- push de
- call Functionce734
- sra a
- sra a
- sra a
- ld hl, $10
- add hl, bc
- add [hl]
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
-rept 2
- inc [hl]
-endr
- ld a, [hl]
- and $7
- ret nz
- ld hl, $10
- add hl, bc
- ld a, [hl]
- cp $e8
- jr z, .asm_cdfc7
- dec [hl]
- ret
-.asm_cdfc7
- call Functioncc9bd
- ret
-
-Functioncdfcb: ; cdfcb (33:5fcb)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld d, $18
- push af
- push de
- call Functionce734
- sra a
- sra a
- sra a
- ld hl, $10
- add hl, bc
- add [hl]
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
-rept 2
- inc [hl]
-endr
- ld a, [hl]
- and $3
- ret nz
- ld hl, $10
- add hl, bc
- ld a, [hl]
- cp $d0
- jr z, .asm_ce007
-rept 2
- dec [hl]
-endr
- ret
-.asm_ce007
- call Functioncc9bd
- ret
-
-Functionce00b: ; ce00b (33:600b)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce00e: ; ce00e (33:600e)
- dw Functionce014
- dw Functionce023
- dw Functionce05f
-
-
-Functionce014: ; ce014 (33:6014)
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $34
- ld hl, $10
- add hl, bc
- ld [hl], $10
-
-Functionce023: ; ce023 (33:6023)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $6c
- jr c, .asm_ce02d
- ret
-.asm_ce02d
- ld a, $2
- call Functionce70a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld hl, $10
- add hl, bc
- ld d, [hl]
- call Functionce734
- bit 7, a
- jr nz, .asm_ce046
- xor $ff
- inc a
-.asm_ce046
- ld hl, $a
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- sub $4
- ld [hl], a
- and $1f
- cp $20
- ret nz
- ld hl, $10
- add hl, bc
- srl [hl]
- ret
-
-Functionce05f: ; ce05f (33:605f)
- call Functioncc9bd
- ret
-
-Functionce063: ; ce063 (33:6063)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce066: ; ce066 (33:6066)
- dw Functionce06e
- dw Functionce083
- dw Functionce091
- dw Functionce09e
-
-
-Functionce06e: ; ce06e (33:606e)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld hl, $e
- add hl, bc
- ld [hl], a
- ld hl, $8
- add hl, bc
- ld a, [hl]
- ld hl, $f
- add hl, bc
- ld [hl], a
- ret
-
-Functionce083: ; ce083 (33:6083)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $58
- ret nc
- ld a, $2
- call Functionce70a
- ret
-
-Functionce091: ; ce091 (33:6091)
- ld hl, $10
- add hl, bc
- ld a, [hl]
- cp $20
- jr c, Functionce09e
- call Functioncc9bd
- ret
-
-Functionce09e: ; ce09e (33:609e)
- ld hl, $10
- add hl, bc
- ld a, [hl]
- ld d, $8
- call Functionce734
- ld hl, $9
- add hl, bc
- ld [hl], a
- sra a
- xor $ff
- inc a
- ld hl, $f
- add hl, bc
- add [hl]
- ld hl, $8
- add hl, bc
- ld [hl], a
- ld hl, $10
- add hl, bc
- ld a, [hl]
- add $8
- ld [hl], a
- ret
-
-Functionce0c5: ; ce0c5 (33:60c5)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce0c8: ; ce0c8 (33:60c8)
- dw Functionce0ce
- dw Functionce0f8
- dw Functionce0dd
-
-
-Functionce0ce: ; ce0ce (33:60ce)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $f0
- swap a
- ld hl, $e
- add hl, bc
- ld [hl], a
- ret
-
-Functionce0dd: ; ce0dd (33:60dd)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld d, $10
- call Functionce734
- ld hl, $a
- add hl, bc
- bit 7, a
- jr z, .asm_ce0f0
- ld [hl], a
-.asm_ce0f0
- ld hl, $f
- add hl, bc
- ld a, [hl]
- sub $4
- ld [hl], a
-
-Functionce0f8: ; ce0f8 (33:60f8)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $84
- jr c, .asm_ce105
- call Functioncc9bd
- ret
-.asm_ce105
- ld hl, $b
- add hl, bc
- ld a, [hl]
- call Functionce70a
- ret
-
-Functionce10e: ; ce10e (33:610e)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce111: ; ce111 (33:6111)
- dw Functionce115
- dw Functionce12a
-
-
-Functionce115: ; ce115 (33:6115)
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $28
- ld hl, $8
- add hl, bc
- ld a, [hl]
- sub $28
- ld hl, $10
- add hl, bc
- ld [hl], a
-
-Functionce12a: ; ce12a (33:612a)
- ld hl, $f
- add hl, bc
- ld a, [hli]
- ld d, [hl]
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld hl, $b
- add hl, bc
- and [hl]
- jr nz, .asm_ce149
- ld hl, $7
- add hl, bc
- dec [hl]
-.asm_ce149
- ld hl, $f
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $3f
- ret nz
- ld hl, $f
- add hl, bc
- ld [hl], $20
- inc hl
- srl [hl]
- ret
-
-Functionce15c: ; ce15c (33:615c)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld hl, $f
- add hl, bc
- ld d, [hl]
- push af
- push de
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $1
- jr nz, .asm_ce189
- ld hl, $7
- add hl, bc
- dec [hl]
-.asm_ce189
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $3
- jr nz, .asm_ce197
- ld hl, $8
- add hl, bc
- inc [hl]
-.asm_ce197
- ld hl, $7
- add hl, bc
- ld a, [hl]
- ld hl, $f
- add hl, bc
- cp $5a
- jr nc, .asm_ce1aa
- ld a, [hl]
- and a
- jr z, .asm_ce1ac
- dec [hl]
- ret
-.asm_ce1aa
- inc [hl]
- ret
-.asm_ce1ac
- call Functioncc9bd
- ret
-
-Functionce1b0: ; ce1b0 (33:61b0)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld hl, $f
- add hl, bc
- ld d, [hl]
- push af
- push de
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $10
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld hl, $f
- add hl, bc
- cp $40
- jr nc, .asm_ce1df
- inc [hl]
- ret
-.asm_ce1df
- ld a, [hl]
- dec [hl]
- and a
- ret nz
- call Functioncc9bd
- ret
-
-Functionce1e7: ; ce1e7 (33:61e7)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce1ea: ; ce1ea (33:61ea)
- dw Functionce1ee
- dw Functionce1fb
-
-
-Functionce1ee: ; ce1ee (33:61ee)
- call Functionce72c
- ld hl, $8
- add hl, bc
- ld a, [hl]
- ld hl, $10
- add hl, bc
- ld [hl], a
-
-Functionce1fb: ; ce1fb (33:61fb)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld d, $30
- call Functionce734
- ld hl, $10
- add hl, bc
- add [hl]
- ld hl, $8
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- add $8
- ld d, $30
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- inc [hl]
- ret
-
-Functionce226: ; ce226 (33:6226)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce229: ; ce229 (33:6229)
- dw Functionce22d
- dw Functionce254
-
-
-Functionce22d: ; ce22d (33:622d)
- call Functionce72c
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld d, $10
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld d, $10
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $10
- add hl, bc
- ld [hl], $f
-
-Functionce254: ; ce254 (33:6254)
- ret
-
-Functionce255: ; ce255 (33:6255)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce258: ; ce258 (33:6258)
- dw Functionce260
- dw Functionce274
- dw Functionce278
- dw Functionce289
-
-
-Functionce260: ; ce260 (33:6260)
- call Functionce72c
- ld a, [hBattleTurn]
- and a
- jr nz, .asm_ce26c
- ld a, $f0
- jr .asm_ce26e
-.asm_ce26c
- ld a, $cc
-.asm_ce26e
- ld hl, $f
- add hl, bc
- ld [hl], a
- ret
-
-Functionce274: ; ce274 (33:6274)
- call Functionce29f
- ret
-
-Functionce278: ; ce278 (33:6278)
- call Functionce29f
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $84
- ret nc
- ld a, $4
- call Functionce70a
- ret
-
-Functionce289: ; ce289 (33:6289)
- call Functionce29f
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $d0
- jr nc, .asm_ce29b
- ld a, $4
- call Functionce70a
- ret
-.asm_ce29b
- call Functioncc9bd
- ret
-
-Functionce29f: ; ce29f (33:629f)
- ld hl, $10
- add hl, bc
- ld a, [hl]
- and $7
- inc [hl]
- srl a
- ld e, a
- ld d, $0
- ld a, [hSGB]
- and a
- jr nz, .asm_ce2b6
- ld hl, Unknown_ce2c4
- jr .asm_ce2b9
-.asm_ce2b6
- ld hl, Unknown_ce2c8
-.asm_ce2b9
- add hl, de
- ld a, [hl]
- ld hl, $f
- add hl, bc
- and [hl]
- ld [wcfc8], a
- ret
-; ce2c4 (33:62c4)
-
-Unknown_ce2c4: ; ce2c4
- db $ff, $aa, $55, $aa
-Unknown_ce2c8: ; ce2c8
- db $ff, $ff, $00, $00
-; ce2cc
-
-Functionce2cc: ; ce2cc (33:62cc)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld d, $18
- call Functionce734
- sra a
- sra a
- sra a
- ld hl, $10
- add hl, bc
- add [hl]
- ld hl, $a
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld d, $18
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $10
- add hl, bc
-rept 2
- dec [hl]
-endr
- ret
-
-Functionce2fd: ; ce2fd (33:62fd)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce300: ; ce300 (33:6300)
- dw Functionce306
- dw Functionce330
- dw Functionce34c
-
-
-Functionce306: ; ce306 (33:6306)
- ld hl, $a
- add hl, bc
- ld a, [hl]
- cp $e0
- jr nz, .asm_ce319
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $2
- ret
-.asm_ce319
- ld d, a
- ld hl, $f
- add hl, bc
- ld e, [hl]
- ld hl, hPushOAM ; $ff80
- add hl, de
- ld e, l
- ld d, h
- ld hl, $a
- add hl, bc
- ld [hl], d
- ld hl, $f
- add hl, bc
- ld [hl], e
- ret
-
-Functionce330: ; ce330 (33:6330)
- ld hl, $10
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_ce33a
- dec [hl]
- ret
-.asm_ce33a
- ld [hl], $4
- ld hl, $f
- add hl, bc
- ld a, [hl]
- xor $ff
- inc a
- ld [hl], a
- ld hl, $a
- add hl, bc
- add [hl]
- ld [hl], a
- ret
-
-Functionce34c: ; ce34c (33:634c)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $84
- jr nc, .asm_ce35b
- ld a, $4
- call Functionce70a
- ret
-.asm_ce35b
- call Functioncc9bd
- ret
-
-Functionce35f: ; ce35f (33:635f)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce362: ; ce362 (33:6362)
- dw Functionce366
- dw Functionce375
-
-
-Functionce366: ; ce366 (33:6366)
- call Functionce72c
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $7f
- add $81
- call Functionce7bf
-
-Functionce375: ; ce375 (33:6375)
- ld hl, $b
- add hl, bc
- bit 7, [hl]
- jr nz, .asm_ce383
- ld hl, $9
- add hl, bc
- inc [hl]
- ret
-.asm_ce383
- ld hl, $9
- add hl, bc
- dec [hl]
- ret
-
-Functionce389: ; ce389 (33:6389)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce38c: ; ce38c (33:638c)
- dw Functionce392
- dw Functionce39c
- dw Functionce3ae
-
-
-Functionce392: ; ce392 (33:6392)
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $c
- ret
-
-Functionce39c: ; ce39c (33:639c)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_ce3a6
- dec [hl]
- ret
-.asm_ce3a6
- call Functionce72c
- ld a, $20
- call Functionce7bf
-
-Functionce3ae: ; ce3ae (33:63ae)
- ld hl, $a
- add hl, bc
- dec [hl]
- ret
-
-Functionce3b4: ; ce3b4 (33:63b4)
- ld hl, $f
- add hl, bc
- ld a, [hl]
-rept 2
- inc [hl]
-endr
- push af
- ld d, $2
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop af
- ld d, $8
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ret
-
-Functionce3d2: ; ce3d2 (33:63d2)
- ld hl, $a
- add hl, bc
- ld a, [hl]
- cp $20
- jr c, .asm_ce3df
- call Functioncc9bd
- ret
-.asm_ce3df
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld d, $8
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- add $2
- ld [hl], a
- and $7
- ret nz
- ld hl, $a
- add hl, bc
- inc [hl]
- ret
-
-Functionce3ff: ; ce3ff (33:63ff)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce402: ; ce402 (33:6402)
- dw Functionce406
- dw Functionce412
-
-
-Functionce406: ; ce406 (33:6406)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld hl, $7
- add hl, bc
- add [hl]
- ld [hl], a
- ret
-
-Functionce412: ; ce412 (33:6412)
- call Functioncc9bd
- ret
-
-Functionce416: ; ce416 (33:6416)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld d, $18
- push af
- push de
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- sra a
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- inc [hl]
- ret
-
-Functionce43a: ; ce43a (33:643a)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce43d: ; ce43d (33:643d)
- dw Functionce443
- dw Functionce465
- dw Functionce490
-
-
-Functionce443: ; ce443 (33:6443)
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $28
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $f
- ld hl, $3
- add hl, bc
- add [hl]
- call Functionce7bf
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and $f0
- or $8
- ld [hl], a
-
-Functionce465: ; ce465 (33:6465)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_ce48b
- dec [hl]
- add $8
- ld d, a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- push af
- push de
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ret
-.asm_ce48b
- ld [hl], $10
- call Functionce72c
-
-Functionce490: ; ce490 (33:6490)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- dec [hl]
- and a
- ret nz
- call Functioncc9bd
- ret
-
-Functionce49c: ; ce49c (33:649c)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce49f: ; ce49f (33:649f)
- dw Functionce4a3
- dw Functionce4b0
-
-
-Functionce4a3: ; ce4a3 (33:64a3)
- call Functionce72c
- ld hl, $b
- add hl, bc
- ld a, $24
- add [hl]
- call Functionce7bf
-
-Functionce4b0: ; ce4b0 (33:64b0)
- ld hl, $a
- add hl, bc
- ld a, [hl]
- cp $38
- jr nc, .asm_ce4d8
- inc [hl]
- ld hl, $f
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld d, $18
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ld hl, $8
- add hl, bc
- ld a, [hl]
- and $1
- ret nz
- ld hl, $7
- add hl, bc
- dec [hl]
- ret
-.asm_ce4d8
- call Functioncc9bd
- ret
-
-Functionce4dc: ; ce4dc (33:64dc)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and a
- ret z
- ld d, a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- inc [hl]
- call Functionce734
- bit 7, a
- jr nz, .asm_ce4f4
- xor $ff
- inc a
-.asm_ce4f4
- ld hl, $a
- add hl, bc
- ld [hl], a
- ld hl, $f
- add hl, bc
- ld a, [hl]
- and $1f
- ret nz
- ld hl, $b
- add hl, bc
- srl [hl]
- ret
-
-Functionce508: ; ce508 (33:6508)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- cp $10
- jr nc, .asm_ce52e
-rept 2
- inc [hl]
-endr
- ld d, a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- push af
- push de
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ret
-.asm_ce52e
- call Functioncc9bd
- ret
-
-Functionce532: ; ce532 (33:6532)
- ld hl, $b
- add hl, bc
- ld e, [hl]
- ld hl, $f
- add hl, bc
- ld d, [hl]
- ld a, e
- and $c0
- rlca
- rlca
- add [hl]
- ld [hl], a
- ld a, e
- and $3f
- push af
- push de
- call Functionce734
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ret
-
-Functionce55b: ; ce55b (33:655b)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce55e: ; ce55e (33:655e)
- dw Functionce564
- dw Functionce56e
- dw Functionce577
-
-
-Functionce564: ; ce564 (33:6564)
- ld d, $18
- ld hl, $b
- add hl, bc
- ld a, [hl]
- inc [hl]
- jr asm_ce58f
-
-Functionce56e: ; ce56e (33:656e)
- call Functionce72c
- ld hl, $f
- add hl, bc
- ld [hl], $18
-
-Functionce577: ; ce577 (33:6577)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- cp $80
- jr nc, .asm_ce58b
- ld d, a
- add $8
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- jr asm_ce58f
-.asm_ce58b
- call Functioncc9bd
- ret
-asm_ce58f: ; ce58f (33:658f)
- call Functionce6f1
- ret
-
-Functionce593: ; ce593 (33:6593)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce596: ; ce596 (33:6596)
- dw Functionce5b3
- dw Functionce59a
-
-
-Functionce59a: ; ce59a (33:659a)
- ld hl, $7
- add hl, bc
- ld a, [hl]
- cp $30
- jr c, .asm_ce5b0
- ld hl, $7
- add hl, bc
-rept 2
- dec [hl]
-endr
- ld hl, $8
- add hl, bc
-rept 2
- inc [hl]
-endr
- ret
-.asm_ce5b0
- call Functioncc9bd
-
-Functionce5b3: ; ce5b3 (33:65b3)
- ret
-
-Functionce5b4: ; ce5b4 (33:65b4)
- ld d, $50
- ld hl, $b
- add hl, bc
- ld a, [hl]
-rept 2
- inc [hl]
-endr
- push af
- push de
- call Functionce734
- sra a
- sra a
- ld hl, $f
- add hl, bc
- add [hl]
- inc [hl]
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ret
-
-Functionce5dc: ; ce5dc (33:65dc)
- ld hl, $a
- add hl, bc
- ld a, [hl]
- cp $d0
- jr z, .asm_ce5ea
-rept 4
- dec [hl]
-endr
- ret
-.asm_ce5ea
- call Functioncc9bd
- ret
-
-Functionce5ee: ; ce5ee (33:65ee)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce5f1: ; ce5f1 (33:65f1)
- dw Functionce5f9
- dw Functionce60a
- dw Functionce622
- dw Functionce618
-
-
-Functionce5f9: ; ce5f9 (33:65f9)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- and a
- jr nz, asm_ce61c
- call Functionce72c
- ld hl, $a
- add hl, bc
- ld [hl], $ec
-
-Functionce60a: ; ce60a (33:660a)
- ld hl, $a
- add hl, bc
- ld a, [hl]
- cp $4
- jr z, Functionce618
-rept 4
- inc [hl]
-endr
- ret
-
-Functionce618: ; ce618 (33:6618)
- call Functioncc9bd
- ret
-asm_ce61c: ; ce61c (33:661c)
- call Functionce72c
- call Functionce72c
-
-Functionce622: ; ce622 (33:6622)
- ld hl, $a
- add hl, bc
- ld a, [hl]
- cp $d8
- ret z
-rept 4
- dec [hl]
-endr
- ret
-
-Functionce62f: ; ce62f (33:662f)
- call Functionce71e ; ; ; call does not return
-
-Jumptable_ce632: ; ce632 (33:6632)
- dw Functionce63a
- dw Functionce648
- dw Functionce65c
- dw Functionce672
-
-
-Functionce63a: ; ce63a (33:663a)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld hl, $e
- add hl, bc
- ld [hl], a
- call Functionce72c
- ret
-
-Functionce648: ; ce648 (33:6648)
- ld hl, $a
- add hl, bc
- ld a, [hl]
- add $4
- cp $70
- jr c, .asm_ce654
- xor a
-.asm_ce654
- ld [hl], a
- ld hl, $9
- add hl, bc
-rept 2
- inc [hl]
-endr
- ret
-
-Functionce65c: ; ce65c (33:665c)
- ld hl, $a
- add hl, bc
- ld a, [hl]
- add $4
- cp $70
- jr c, .asm_ce668
- xor a
-.asm_ce668
- ld [hl], a
- ld hl, $9
- add hl, bc
- ld a, [hl]
- add $8
- ld [hl], a
- ret
-
-Functionce672: ; ce672 (33:6672)
- ld hl, $a
- add hl, bc
- ld a, [hl]
- add $4
- cp $70
- jr c, .asm_ce67e
- xor a
-.asm_ce67e
- ld [hl], a
- ld hl, $9
- add hl, bc
- ld a, [hl]
- add $4
- ld [hl], a
- ret
-
-Functionce688: ; ce688 (33:6688)
- ld hl, $7
- add hl, bc
- ld d, [hl]
- ld hl, $f
- add hl, bc
- ld e, [hl]
- ld hl, $b
- add hl, bc
- ld a, [hl]
- ld l, a
- and $f0
- ld h, a
- swap a
- or h
- ld h, a
- ld a, l
- and $f
- swap a
- ld l, a
- add hl, de
- ld e, l
- ld d, h
- ld hl, $7
- add hl, bc
- ld [hl], d
- ld hl, $f
- add hl, bc
- ld [hl], e
- ret
-
-Functionce6b3: ; ce6b3 (33:66b3)
- ld d, $18
- ld hl, $b
- add hl, bc
- ld a, [hl]
- inc [hl]
- call Functionce6f1
- ret
-
-Functionce6bf: ; ce6bf (33:66bf)
- ld d, $18
- ld hl, $10
- add hl, bc
- ld a, [hl]
- inc [hl]
- srl a
- ld hl, $b
- add hl, bc
- add [hl]
- call Functionce6f1
- ret
-
-Functionce6d2: ; ce6d2 (33:66d2)
- ld hl, $f
- add hl, bc
- ld a, [hl]
- cp $20
- jr nc, .asm_ce6ed
- inc [hl]
- ld hl, $b
- add hl, bc
- ld d, [hl]
- call Functionce734
- xor $ff
- inc a
- ld hl, $a
- add hl, bc
- ld [hl], a
- ret
-.asm_ce6ed
- call Functioncc9bd
- ret
-
-Functionce6f1: ; ce6f1 (33:66f1)
- push af
- push de
- call Functionce734
- sra a
- sra a
- ld hl, $a
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call Functionce732
- ld hl, $9
- add hl, bc
- ld [hl], a
- ret
-
-Functionce70a: ; ce70a (33:670a)
- and $f
- ld e, a
- ld hl, $7
- add hl, bc
- add [hl]
- ld [hl], a
- srl e
- ld hl, $8
- add hl, bc
-.asm_ce719
- dec [hl]
- dec e
- jr nz, .asm_ce719
- ret
-
-Functionce71e: ; ce71e (33:671e)
- pop de
- ld hl, $e
- add hl, bc
- ld l, [hl]
- ld h, $0
- add hl, hl
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-
-Functionce72c: ; ce72c (33:672c)
- ld hl, $e
- add hl, bc
- inc [hl]
- ret
-
-Functionce732: ; ce732 (33:6732)
- add $10
-
-Functionce734: ; ce734 (33:6734)
- and $3f
- cp $20
- jr nc, .asm_ce73f
- call Functionce749
- ld a, h
- ret
-.asm_ce73f
- and $1f
- call Functionce749
- ld a, h
- xor $ff
- inc a
- ret
-
-Functionce749: ; ce749 (33:6749)
- ld e, a
- ld a, d
- ld d, 0
- ld hl, Unknown_ce77f
-rept 2
- add hl, de
-endr
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld hl, $0
-.asm_ce758
- srl a
- jr nc, .asm_ce75d
- add hl, de
-.asm_ce75d
- sla e
- rl d
- and a
- jr nz, .asm_ce758
- ret
-
-Functionce765: ; ce765 (33:6765)
- ld a, e
- call Functionce734
- ld e, a
- ret
-
-Functionce76b: ; ce76b (33:676b)
- ld a, e
- call Functionce732
- ld e, a
- ret
-; ce771 (33:6771)
-
-Functionce771: ; ce771
- ld a, e
- call Functionce734
- ld e, l
- ld d, h
- ret
-; ce778
-
-Functionce778: ; ce778
- ld a, e
- call Functionce732
- ld e, l
- ld d, h
- ret
-; ce77f
-
-Unknown_ce77f: ; ce77f
- sine_wave $100
-; ce7bf
-
-Functionce7bf: ; ce7bf (33:67bf)
- ld hl, $3
- add hl, bc
- ld [hl], a
- ld hl, $c
- add hl, bc
- ld [hl], $0
- ld hl, $d
- add hl, bc
- ld [hl], $ff
- ret
-
-
-Functionce7d1: ; ce7d1
-.asm_ce7d1
- ld hl, $000c
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_ce7e1
- dec [hl]
- call Functionce823
- ld a, [hli]
- push af
- jr .asm_ce7fd
-
-.asm_ce7e1
- ld hl, $000d
- add hl, bc
- inc [hl]
- call Functionce823
- ld a, [hli]
- cp $fe
- jr z, .asm_ce815
- cp $ff
- jr z, .asm_ce807
- push af
- ld a, [hl]
- push hl
- and $3f
- ld hl, $000c
- add hl, bc
- ld [hl], a
- pop hl
-
-.asm_ce7fd
- ld a, [hl]
- and $c0
- srl a
- ld [BattleAnimTemps + 7], a
- pop af
- ret
-
-.asm_ce807
- xor a
- ld hl, $000c
- add hl, bc
- ld [hl], a
- ld hl, $000d
- add hl, bc
-rept 2
- dec [hl]
-endr
- jr .asm_ce7d1
-
-.asm_ce815
- xor a
- ld hl, $000c
- add hl, bc
- ld [hl], a
- dec a
- ld hl, $000d
- add hl, bc
- ld [hl], a
- jr .asm_ce7d1
-; ce823
-
-Functionce823: ; ce823
- ld hl, $0003
- add hl, bc
- ld e, [hl]
- ld d, 0
- ld hl, Unknown_ce85e
-rept 2
- add hl, de
-endr
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld hl, $000d
- add hl, bc
- ld l, [hl]
- ld h, $0
- add hl, hl
- add hl, de
- ret
-; ce83c
-
-Functionce83c: ; ce83c
- ld l, a
- ld h, 0
- ld de, Unknown_ceeae
-rept 2
- add hl, hl
-endr
- add hl, de
- ret
-; ce846
-
-
-Functionce846: ; ce846 (33:6846)
- push hl
- ld l, a
- ld h, 0
-rept 2
- add hl, hl
-endr
- ld de, AnimObjGFX
- add hl, de
- ld c, [hl]
- inc hl
- ld b, [hl]
- inc hl
- ld a, [hli]
- ld h, [hl]
- ld l, a
- pop de
- push bc
- call DecompressRequest2bpp
- pop bc
- ret
-; ce85e (33:685e)
-
-
-Unknown_ce85e: ; ce85e
- dw Unknown_ce9d0
- dw Unknown_ce9d3
- dw Unknown_ce9d6
- dw Unknown_ce9d9
- dw Unknown_ce9dc
- dw Unknown_ce9df
- dw Unknown_ce9e2
- dw Unknown_ce9e5
- dw Unknown_cea6b
- dw Unknown_cea74
- dw Unknown_cea7d
- dw Unknown_cea80
- dw Unknown_cea83
- dw Unknown_cea86
- dw Unknown_cea91
- dw Unknown_cea94
- dw Unknown_cea99
- dw Unknown_cea9e
- dw Unknown_ceaaf
- dw Unknown_ceabc
- dw Unknown_cead3
- dw Unknown_cead6
- dw Unknown_ceadb
- dw Unknown_ceade
- dw Unknown_ceb06
- dw Unknown_ceb0d
- dw Unknown_ceb10
- dw Unknown_ceb13
- dw Unknown_ceb16
- dw Unknown_ceb19
- dw Unknown_ceb1c
- dw Unknown_ceb1f
- dw Unknown_ceb26
- dw Unknown_ceb2b
- dw Unknown_ceb2e
- dw Unknown_ceb37
- dw Unknown_ceb3a
- dw Unknown_ceb3d
- dw Unknown_ceb40
- dw Unknown_ceb43
- dw Unknown_ceb46
- dw Unknown_ceb4b
- dw Unknown_ceb50
- dw Unknown_ceb63
- dw Unknown_ceb68
- dw Unknown_ceb6d
- dw Unknown_ceb70
- dw Unknown_ceb78
- dw Unknown_ceb89
- dw Unknown_ceb8e
- dw Unknown_ceb97
- dw Unknown_ceba0
- dw Unknown_ceba9
- dw Unknown_cebb0
- dw Unknown_cebc1
- dw Unknown_cebca
- dw Unknown_cebcf
- dw Unknown_cebd4
- dw Unknown_cebd9
- dw Unknown_cebdc
- dw Unknown_cebdf
- dw Unknown_cebe2
- dw Unknown_ce9f6
- dw Unknown_cea0b
- dw Unknown_cea20
- dw Unknown_cea35
- dw Unknown_cea50
- dw Unknown_cebe5
- dw Unknown_cebf3
- dw Unknown_cec0f
- dw Unknown_cec20
- dw Unknown_cec25
- dw Unknown_cec2a
- dw Unknown_cec37
- dw Unknown_cec44
- dw Unknown_cec4d
- dw Unknown_cebec
- dw Unknown_cec56
- dw Unknown_cec67
- dw Unknown_cec72
- dw Unknown_cec77
- dw Unknown_cec7c
- dw Unknown_cec7f
- dw Unknown_cec86
- dw Unknown_cec8b
- dw Unknown_cec92
- dw Unknown_ceaf3
- dw Unknown_ceaf6
- dw Unknown_ceb01
- dw Unknown_cec97
- dw Unknown_cec9a
- dw Unknown_cec9d
- dw Unknown_ceca0
- dw Unknown_cecab
- dw Unknown_cecb0
- dw Unknown_cecc9
- dw Unknown_ceccc
- dw Unknown_cece7
- dw Unknown_cecec
- dw Unknown_cecf1
- dw Unknown_cecf4
- dw Unknown_cecf7
- dw Unknown_cecfa
- dw Unknown_ced09
- dw Unknown_ced0c
- dw Unknown_ced19
- dw Unknown_ced22
- dw Unknown_ced2b
- dw Unknown_ced32
- dw Unknown_ced39
- dw Unknown_ced3c
- dw Unknown_ced3f
- dw Unknown_ced44
- dw Unknown_ced49
- dw Unknown_ced4c
- dw Unknown_ced4f
- dw Unknown_ced54
- dw Unknown_ced57
- dw Unknown_ced5a
- dw Unknown_ced5d
- dw Unknown_ced62
- dw Unknown_ced65
- dw Unknown_cecb3
- dw Unknown_ced72
- dw Unknown_ced75
- dw Unknown_ced88
- dw Unknown_cec08
- dw Unknown_ced8b
- dw Unknown_ced8e
- dw Unknown_ced91
- dw Unknown_ced93
- dw Unknown_ced95
- dw Unknown_ced98
- dw Unknown_ced9b
- dw Unknown_ceda8
- dw Unknown_cedb5
- dw Unknown_cedb8
- dw Unknown_cedbb
- dw Unknown_cedbe
- dw Unknown_cedc1
- dw Unknown_cedc4
- dw Unknown_cedc7
- dw Unknown_cedcc
- dw Unknown_cedcf
- dw Unknown_cedd2
- dw Unknown_cedd5
- dw Unknown_cedd8
- dw Unknown_ceddb
- dw Unknown_cedde
- dw Unknown_cede1
- dw Unknown_cede4
- dw Unknown_cede7
- dw Unknown_cedea
- dw Unknown_ceded
- dw Unknown_cedf0
- dw Unknown_cedf3
- dw Unknown_cedf6
- dw Unknown_cedf9
- dw Unknown_cedfc
- dw Unknown_cedff
- dw Unknown_cee02
- dw Unknown_cee05
- dw Unknown_cee08
- dw Unknown_cee0b
- dw Unknown_cee12
- dw Unknown_cee19
- dw Unknown_cee1e
- dw Unknown_cee3d
- dw Unknown_cee5c
- dw Unknown_cee61
- dw Unknown_cee64
- dw Unknown_cee6b
- dw Unknown_cee70
- dw Unknown_cee75
- dw Unknown_cee7e
- dw Unknown_cecbe
- dw Unknown_cee81
- dw Unknown_cee84
- dw Unknown_cee8d
- dw Unknown_cee96
- dw Unknown_cee9f
- dw Unknown_ceea2
- dw Unknown_ceea5
- dw Unknown_ceea8
- dw Unknown_ceeab
-; ce9d0
-
-Unknown_ce9d0: db $00,$06, $fc
-Unknown_ce9d3: db $01,$06, $fc
-Unknown_ce9d6: db $02,$06, $fc
-Unknown_ce9d9: db $03,$06, $fc
-Unknown_ce9dc: db $04,$06, $fc
-Unknown_ce9df: db $05,$06, $fc
-Unknown_ce9e2: db $06,$06, $fc
-Unknown_ce9e5: db $03,$04, $01,$01, $03,$04, $01,$01, $03,$04, $01,$01, $03,$04, $01,$01, $fc
-Unknown_ce9f6: db $4b,$02, $4c,$02, $4d,$04, $4e,$02, $fd,$02, $4e,$02, $fd,$02, $4e,$02, $fd,$02, $4e,$02, $fc
-Unknown_cea0b: db $4b,$42, $4c,$42, $4d,$44, $4e,$42, $fd,$02, $4e,$42, $fd,$02, $4e,$42, $fd,$02, $4e,$42, $fc
-Unknown_cea20: db $4b,$c2, $4c,$c2, $4d,$c4, $4e,$c2, $fd,$02, $4e,$c2, $fd,$02, $4e,$c2, $fd,$02, $4e,$c2, $fc
-Unknown_cea35: db $4b,$01, $4c,$01, $4d,$01, $4f,$01, $50,$01, $51,$01, $52,$02, $fd,$02, $52,$02, $fd,$02, $52,$02, $fd,$02, $52,$02, $fc
-Unknown_cea50: db $4b,$41, $4c,$41, $4d,$41, $4f,$41, $50,$41, $51,$41, $52,$42, $fd,$02, $52,$42, $fd,$02, $52,$42, $fd,$02, $52,$42, $fc
-Unknown_cea6b: db $00,$03, $07,$03, $08,$03, $09,$03, $fc
-Unknown_cea74: db $0a,$07, $0b,$07, $0a,$07, $0b,$47, $fe
-Unknown_cea7d: db $0c,$08, $ff
-Unknown_cea80: db $0d,$08, $ff
-Unknown_cea83: db $0a,$08, $ff
-Unknown_cea86: db $0a,$07, $0b,$07, $0a,$07, $0b,$47, $0a,$07, $ff
-Unknown_cea91: db $0a,$08, $ff
-Unknown_cea94: db $0a,$04, $0e,$04, $fe
-Unknown_cea99: db $0f,$04, $10,$04, $fe
-Unknown_cea9e: db $10,$04, $0f,$04, $0e,$04, $0a,$04, $0e,$04, $0a,$04, $0e,$04, $0a,$04, $fc
-Unknown_ceaaf: db $10,$01, $0f,$01, $12,$01, $11,$01, $12,$01, $0f,$01, $fe
-Unknown_ceabc: db $10,$03, $0f,$03, $12,$01, $fd,$01, $12,$01, $fd,$01, $12,$01, $fd,$01, $12,$01, $fd,$01, $12,$03, $fc
-Unknown_cead3: db $13,$14, $fc
-Unknown_cead6: db $10,$01, $0f,$01, $fe
-Unknown_ceadb: db $14,$08, $ff
-Unknown_ceade: db $17,$04, $16,$08, $15,$08, $16,$08, $17,$04, $17,$04, $16,$48, $15,$48, $16,$48, $17,$04, $fe
-Unknown_ceaf3: db $69,$08, $ff
-Unknown_ceaf6: db $69,$20, $6a,$04, $6b,$04, $6d,$04, $6c,$04, $ff
-Unknown_ceb01: db $6c,$08, $6d,$08, $fe
-Unknown_ceb06: db $18,$04, $19,$04, $1a,$04, $fc
-Unknown_ceb0d: db $1b,$08, $ff
-Unknown_ceb10: db $0f,$08, $ff
-Unknown_ceb13: db $1c,$08, $ff
-Unknown_ceb16: db $0a,$08, $fc
-Unknown_ceb19: db $1d,$08, $ff
-Unknown_ceb1c: db $17,$08, $ff
-Unknown_ceb1f: db $0f,$03, $10,$03, $1e,$03, $ff
-Unknown_ceb26: db $1f,$10, $20,$03, $fc
-Unknown_ceb2b: db $20,$08, $ff
-Unknown_ceb2e: db $20,$08, $21,$08, $1b,$08, $21,$08, $fe
-Unknown_ceb37: db $22,$08, $ff
-Unknown_ceb3a: db $1b,$08, $ff
-Unknown_ceb3d: db $23,$08, $ff
-Unknown_ceb40: db $24,$08, $ff
-Unknown_ceb43: db $25,$08, $ff
-Unknown_ceb46: db $26,$08, $27,$08, $ff
-Unknown_ceb4b: db $28,$08, $29,$08, $fc
-Unknown_ceb50: db $2a,$01, $2b,$01, $2c,$01, $2d,$01, $2e,$01, $2d,$01, $2c,$01, $2b,$01, $2a,$01, $fc
-Unknown_ceb63: db $14,$01, $15,$01, $fe
-Unknown_ceb68: db $2f,$04, $30,$28, $fc
-Unknown_ceb6d: db $31,$08, $ff
-Unknown_ceb70: db $32,$20, $33,$20, $34,$20, $35,$20 ; fallthrough
-Unknown_ceb78: db $fd,$02, $35,$04, $fd,$02, $35,$04, $fd,$02, $35,$04, $fd,$02, $35,$04, $fc
-Unknown_ceb89: db $14,$04, $15,$04, $fe
-Unknown_ceb8e: db $36,$02, $37,$02, $38,$02, $39,$20, $fc
-Unknown_ceb97: db $3a,$02, $3b,$02, $3c,$02, $3d,$20, $fc
-Unknown_ceba0: db $3a,$42, $3b,$42, $3c,$42, $3d,$60, $fc
-Unknown_ceba9: db $3e,$08, $3f,$08, $40,$08, $ff
-Unknown_cebb0: db $40,$02, $fd,$02, $40,$02, $fd,$02, $41,$02, $fd,$02, $41,$02, $fd,$02, $fe
-Unknown_cebc1: db $42,$02, $43,$02, $44,$02, $45,$02, $fe
-Unknown_cebca: db $19,$02, $fd,$02, $fe
-Unknown_cebcf: db $46,$04, $47,$04, $fe
-Unknown_cebd4: db $18,$02, $fd,$02, $fe
-Unknown_cebd9: db $48,$08, $ff
-Unknown_cebdc: db $48,$48, $ff
-Unknown_cebdf: db $49,$08, $ff
-Unknown_cebe2: db $4a,$08, $ff
-Unknown_cebe5: db $20,$10, $1f,$10, $1e,$10, $ff
-Unknown_cebec: db $20,$08, $1f,$08, $1e,$08, $ff
-Unknown_cebf3: db $fd,$14, $55,$28, $54,$28, $53,$14, $fd,$04, $53,$04, $fd,$04, $53,$04, $fd,$04, $53,$04, $fc
-Unknown_cec08: db $1e,$08, $1f,$08, $20,$08, $fc
-Unknown_cec0f: db $fd,$00, $14,$00, $15,$00, $14,$40, $fd,$00, $16,$40, $15,$00, $16,$00, $fe
-Unknown_cec20: db $56,$02, $57,$04, $fc
-Unknown_cec25: db $56,$c2, $57,$c4, $fc
-Unknown_cec2a: db $56,$01, $57,$01, $58,$01, $57,$c1, $58,$c1, $57,$02, $fc
-Unknown_cec37: db $56,$c1, $57,$c1, $58,$c1, $57,$01, $58,$01, $57,$c2, $fc
-Unknown_cec44: db $57,$c1, $58,$c1, $57,$01, $58,$01, $fe
-Unknown_cec4d: db $59,$01, $5a,$01, $5b,$01, $5c,$02, $fc
-Unknown_cec56: db $0a,$0a, $0b,$43, $5d,$43, $0b,$c3, $0a,$82, $0b,$81, $5d,$01, $0b,$01, $fe
-Unknown_cec67: db $0a,$03, $0b,$47, $0a,$07, $0b,$07, $0a,$03, $fe
-Unknown_cec72: db $5e,$20, $5e,$20, $fc
-Unknown_cec77: db $5f,$20, $5f,$20, $fc
-Unknown_cec7c: db $60,$08, $ff
-Unknown_cec7f: db $61,$01, $62,$01, $63,$01, $ff
-Unknown_cec86: db $63,$07, $64,$07, $fe
-Unknown_cec8b: db $65,$01, $66,$01, $67,$01, $ff
-Unknown_cec92: db $67,$07, $68,$07, $fe
-Unknown_cec97: db $6e,$08, $ff
-Unknown_cec9a: db $6f,$08, $ff
-Unknown_cec9d: db $6e,$88, $ff
-Unknown_ceca0: db $18,$04, $70,$04, $71,$04, $72,$04, $73,$04, $fc
-Unknown_cecab: db $74,$04, $75,$04, $fe
-Unknown_cecb0: db $14,$08, $ff
-Unknown_cecb3: db $74,$03, $14,$03, $15,$03, $14,$03, $15,$03, $fc
-Unknown_cecbe: db $14,$00, $15,$00, $14,$00, $15,$00, $74,$0c, $fc
-Unknown_cecc9: db $76,$08, $ff
-Unknown_ceccc: db $77,$01, $78,$01, $79,$01, $7a,$01, $7b,$01, $7c,$01, $7d,$01, $7c,$c1, $7b,$c1, $7a,$c1, $79,$c1, $78,$c1, $77,$c1, $fc
-Unknown_cece7: db $1b,$04, $7e,$04, $fe
-Unknown_cecec: db $1b,$44, $7e,$44, $fe
-Unknown_cecf1: db $7f,$08, $ff
-Unknown_cecf4: db $25,$08, $ff
-Unknown_cecf7: db $80,$08, $ff
-Unknown_cecfa: db $83,$07, $82,$07, $81,$07, $82,$07, $83,$07, $82,$07, $81,$07, $fc
-Unknown_ced09: db $1b,$10, $fc
-Unknown_ced0c: db $fd,$0f, $84,$0f, $85,$0f, $29,$0f, $28,$0f, $86,$20, $fc
-Unknown_ced19: db $1b,$03, $87,$03, $88,$03, $89,$03, $fc
-Unknown_ced22: db $8a,$02, $8b,$02, $8c,$02, $8d,$02, $fc
-Unknown_ced2b: db $61,$02, $62,$02, $63,$02, $ff
-Unknown_ced32: db $65,$02, $66,$02, $67,$02, $ff
-Unknown_ced39: db $8e,$08, $ff
-Unknown_ced3c: db $8e,$48, $ff
-Unknown_ced3f: db $8f,$10, $90,$10, $fe
-Unknown_ced44: db $91,$10, $92,$10, $fe
-Unknown_ced49: db $93,$08, $ff
-Unknown_ced4c: db $1e,$08, $ff
-Unknown_ced4f: db $1b,$07, $94,$07, $fe
-Unknown_ced54: db $95,$08, $ff
-Unknown_ced57: db $96,$08, $ff
-Unknown_ced5a: db $95,$08, $ff
-Unknown_ced5d: db $97,$01, $97,$41, $fe
-Unknown_ced62: db $98,$08, $ff
-Unknown_ced65: db $99,$20, $99,$20, $99,$20, $99,$20, $99,$20, $9a,$08, $ff
-Unknown_ced72: db $9b,$08, $ff
-Unknown_ced75: db $9c,$02, $9d,$02, $9e,$08, $fd,$02, $9e,$02, $fd,$02, $9e,$02, $fd,$02, $9e,$02, $fc
-Unknown_ced88: db $9f,$08, $ff
-Unknown_ced8b: db $0f,$08, $ff
-Unknown_ced8e: db $6b,$18, $fc
-Unknown_ced91: db $a0,$01 ; fallthrough
-Unknown_ced93: db $a1,$01 ; fallthrough
-Unknown_ced95: db $a2,$01, $fc
-Unknown_ced98: db $a3,$08, $ff
-Unknown_ced9b: db $a4,$04, $a5,$04, $a6,$04, $a7,$04, $a6,$44, $a5,$44, $fe
-Unknown_ceda8: db $a8,$04, $a9,$04, $aa,$04, $ab,$04, $aa,$44, $a9,$44, $fe
-Unknown_cedb5: db $1b,$08, $ff
-Unknown_cedb8: db $ac,$08, $ff
-Unknown_cedbb: db $ad,$08, $ff
-Unknown_cedbe: db $ae,$08, $ff
-Unknown_cedc1: db $af,$08, $ff
-Unknown_cedc4: db $b0,$20, $fc
-Unknown_cedc7: db $b1,$07, $b1,$47, $fe
-Unknown_cedcc: db $b2,$08, $ff
-Unknown_cedcf: db $b3,$08, $ff
-Unknown_cedd2: db $b3,$48, $ff
-Unknown_cedd5: db $b3,$88, $ff
-Unknown_cedd8: db $b3,$c8, $ff
-Unknown_ceddb: db $b5,$08, $ff
-Unknown_cedde: db $b5,$48, $ff
-Unknown_cede1: db $b5,$88, $ff
-Unknown_cede4: db $b5,$c8, $ff
-Unknown_cede7: db $b4,$08, $ff
-Unknown_cedea: db $6b,$08, $ff
-Unknown_ceded: db $b6,$08, $ff
-Unknown_cedf0: db $b7,$20, $ff
-Unknown_cedf3: db $1b,$20, $ff
-Unknown_cedf6: db $b8,$20, $ff
-Unknown_cedf9: db $b8,$60, $ff
-Unknown_cedfc: db $b9,$20, $ff
-Unknown_cedff: db $ba,$20, $ff
-Unknown_cee02: db $bb,$60, $ff
-Unknown_cee05: db $bb,$20, $ff
-Unknown_cee08: db $bc,$20, $ff
-Unknown_cee0b: db $bd,$0b, $be,$0b, $1b,$0b, $fc
-Unknown_cee12: db $bf,$04, $c0,$04, $c1,$04, $fc
-Unknown_cee19: db $c2,$20, $c2,$20, $fc
-Unknown_cee1e: db $4b,$02, $4c,$02, $4d,$20, $4d,$20, $4d,$20, $4f,$01, $50,$01, $51,$01, $52,$02, $fd,$02, $52,$02, $fd,$02, $52,$02, $fd,$02, $52,$02, $fc
-Unknown_cee3d: db $4b,$c2, $4c,$c2, $4d,$e0, $4d,$e0, $4d,$e0, $4f,$c1, $50,$c1, $51,$c1, $52,$c2, $fd,$02, $52,$c2, $fd,$02, $52,$c2, $fd,$02, $52,$c2, $fc
-Unknown_cee5c: db $c3,$01, $c3,$c1, $fe
-Unknown_cee61: db $c4,$20, $ff
-Unknown_cee64: db $c5,$04, $c6,$04, $c7,$04, $fc
-Unknown_cee6b: db $c8,$01, $c8,$41, $fe
-Unknown_cee70: db $c9,$03, $05,$03, $fc
-Unknown_cee75: db $ca,$20, $cb,$03, $ca,$03, $cb,$03, $fe
-Unknown_cee7e: db $03,$a0, $ff
-Unknown_cee81: db $cc,$20, $ff
-Unknown_cee84: db $7f,$02, $25,$02, $80,$02, $25,$02, $fe
-Unknown_cee8d: db $cd,$04, $ce,$04, $cd,$c4, $ce,$c4, $fe
-Unknown_cee96: db $cf,$04, $d0,$04, $d1,$04, $d2,$04, $fc
-Unknown_cee9f: db $d3,$20, $ff
-Unknown_ceea2: db $d4,$08, $ff
-Unknown_ceea5: db $d5,$08, $ff
-Unknown_ceea8: db $d6,$08, $ff
-Unknown_ceeab: db $d7,$08, $ff
-; ceeae
-
-
-Unknown_ceeae: ; ceeae
-; ?, length, address
- dbbw $00, $10, Unknown_cf2f6
- dbbw $04, $09, Unknown_cf262
- dbbw $08, $04, Unknown_cf22e
- dbbw $09, $04, Unknown_cf21e
- dbbw $0d, $04, Unknown_cf386
- dbbw $0f, $04, Unknown_cf21e
- dbbw $13, $04, Unknown_cf386
- dbbw $04, $10, Unknown_cf2f6
- dbbw $08, $10, Unknown_cf2f6
- dbbw $08, $10, Unknown_cf336
- dbbw $00, $04, Unknown_cf386
- dbbw $02, $04, Unknown_cf21e
- dbbw $06, $02, Unknown_cf376
- dbbw $07, $02, Unknown_cf376
- dbbw $02, $04, Unknown_cf386
- dbbw $04, $01, Unknown_cf736
- dbbw $05, $01, Unknown_cf736
- dbbw $00, $02, Unknown_cf20e
- dbbw $02, $02, Unknown_cf20e
- dbbw $00, $04, Unknown_cf3a6
- dbbw $00, $01, Unknown_cf736
- dbbw $01, $01, Unknown_cf736
- dbbw $02, $01, Unknown_cf736
- dbbw $03, $01, Unknown_cf736
- dbbw $00, $04, Unknown_cf22e
- dbbw $01, $10, Unknown_cf2f6
- dbbw $05, $10, Unknown_cf2f6
- dbbw $00, $04, Unknown_cf21e
- dbbw $05, $0c, Unknown_cf2b6
- dbbw $02, $04, Unknown_cf22e
- dbbw $06, $01, Unknown_cf736
- dbbw $07, $01, Unknown_cf736
- dbbw $08, $01, Unknown_cf736
- dbbw $04, $04, Unknown_cf21e
- dbbw $09, $16, Unknown_cf3b6
- dbbw $04, $02, Unknown_cf20e
- dbbw $06, $02, Unknown_cf20e
- dbbw $0c, $01, Unknown_cf736
- dbbw $0a, $01, Unknown_cf736
- dbbw $0b, $04, Unknown_cf22e
- dbbw $08, $04, Unknown_cf386
- dbbw $06, $04, Unknown_cf386
- dbbw $00, $05, Unknown_cf40e
- dbbw $03, $06, Unknown_cf422
- dbbw $00, $07, Unknown_cf43a
- dbbw $03, $08, Unknown_cf456
- dbbw $00, $09, Unknown_cf476
- dbbw $00, $04, Unknown_cf49a
- dbbw $02, $04, Unknown_cf4aa
- dbbw $04, $06, Unknown_cf4ba
- dbbw $00, $02, Unknown_cf4da
- dbbw $00, $07, Unknown_cf512
- dbbw $00, $0e, Unknown_cf4da
- dbbw $00, $15, Unknown_cf512
- dbbw $00, $02, Unknown_cf566
- dbbw $00, $06, Unknown_cf566
- dbbw $00, $0a, Unknown_cf566
- dbbw $00, $0e, Unknown_cf566
- dbbw $00, $02, Unknown_cf59e
- dbbw $00, $06, Unknown_cf59e
- dbbw $00, $0a, Unknown_cf59e
- dbbw $00, $0e, Unknown_cf59e
- dbbw $00, $04, Unknown_cf5d6
- dbbw $00, $10, Unknown_cf5d6
- dbbw $00, $1a, Unknown_cf5d6
- dbbw $00, $1a, Unknown_cf63e
- dbbw $0e, $04, Unknown_cf6a6
- dbbw $0e, $08, Unknown_cf6a6
- dbbw $0e, $04, Unknown_cf6c6
- dbbw $0e, $08, Unknown_cf6c6
- dbbw $0e, $04, Unknown_cf6e6
- dbbw $0e, $04, Unknown_cf6f6
- dbbw $00, $06, Unknown_cf706
- dbbw $03, $04, Unknown_cf71e
- dbbw $03, $02, Unknown_cf72e
- dbbw $01, $05, Unknown_cf736
- dbbw $01, $06, Unknown_cf74a
- dbbw $01, $07, Unknown_cf762
- dbbw $01, $03, Unknown_cf762
- dbbw $01, $08, Unknown_cf77e
- dbbw $01, $09, Unknown_cf79e
- dbbw $01, $0a, Unknown_cf7c2
- dbbw $01, $06, Unknown_cf7c2
- dbbw $00, $09, Unknown_cf262
- dbbw $04, $04, Unknown_cf22e
- dbbw $05, $04, Unknown_cf22e
- dbbw $00, $02, Unknown_cf216
- dbbw $02, $02, Unknown_cf216
- dbbw $04, $02, Unknown_cf216
- dbbw $02, $04, Unknown_cf7ea
- dbbw $02, $04, Unknown_cf7fa
- dbbw $02, $02, Unknown_cf376
- dbbw $04, $02, Unknown_cf376
- dbbw $06, $04, Unknown_cf396
- dbbw $08, $02, Unknown_cf376
- dbbw $09, $02, Unknown_cf376
- dbbw $05, $02, Unknown_cf80a
- dbbw $00, $02, Unknown_cf812
- dbbw $00, $05, Unknown_cf812
- dbbw $00, $09, Unknown_cf812
- dbbw $09, $09, Unknown_cf812
- dbbw $00, $04, Unknown_cf836
- dbbw $00, $07, Unknown_cf836
- dbbw $00, $09, Unknown_cf836
- dbbw $09, $09, Unknown_cf836
- dbbw $04, $01, Unknown_cf80e
- dbbw $05, $02, Unknown_cf37e
- dbbw $06, $04, Unknown_cf21e
- dbbw $0a, $04, Unknown_cf21e
- dbbw $0e, $04, Unknown_cf21e
- dbbw $08, $05, Unknown_cf8f6
- dbbw $0d, $03, Unknown_cf90a
- dbbw $01, $08, Unknown_cfa06
- dbbw $03, $08, Unknown_cfa06
- dbbw $05, $08, Unknown_cfa06
- dbbw $07, $08, Unknown_cfa06
- dbbw $06, $04, Unknown_cf22e
- dbbw $07, $04, Unknown_cf22e
- dbbw $0a, $02, Unknown_cf4d2
- dbbw $00, $01, Unknown_cf916
- dbbw $00, $03, Unknown_cf91a
- dbbw $00, $06, Unknown_cf926
- dbbw $00, $09, Unknown_cf93e
- dbbw $00, $0c, Unknown_cf962
- dbbw $00, $0e, Unknown_cf992
- dbbw $00, $0f, Unknown_cf9ca
- dbbw $04, $04, Unknown_cf21e
- dbbw $08, $04, Unknown_cf21e
- dbbw $0d, $01, Unknown_cf736
- dbbw $0e, $04, Unknown_cfa26
- dbbw $10, $01, Unknown_cf736
- dbbw $11, $01, Unknown_cf736
- dbbw $04, $02, Unknown_cf37e
- dbbw $05, $02, Unknown_cf37e
- dbbw $0a, $04, Unknown_cf386
- dbbw $00, $08, Unknown_cfa36
- dbbw $00, $0c, Unknown_cfa76
- dbbw $00, $10, Unknown_cfa36
- dbbw $09, $02, Unknown_cfaa6
- dbbw $09, $04, Unknown_cfaa6
- dbbw $09, $06, Unknown_cfaa6
- dbbw $09, $08, Unknown_cfaa6
- dbbw $12, $05, Unknown_cfac6
- dbbw $00, $04, Unknown_cfada
- dbbw $04, $04, Unknown_cfada
- dbbw $08, $04, Unknown_cfada
- dbbw $0c, $04, Unknown_cfada
- dbbw $00, $06, Unknown_cfaea
- dbbw $04, $04, Unknown_cf21e
- dbbw $0a, $04, Unknown_cf386
- dbbw $15, $04, Unknown_cf4aa
- dbbw $04, $04, Unknown_cf4aa
- dbbw $0c, $04, Unknown_cf386
- dbbw $0a, $04, Unknown_cfb02
- dbbw $0c, $04, Unknown_cf21e
- dbbw $00, $24, Unknown_cfb12
- dbbw $0d, $02, Unknown_cfba2
- dbbw $0d, $04, Unknown_cfba2
- dbbw $0d, $06, Unknown_cfba2
- dbbw $02, $08, Unknown_cfbba
- dbbw $08, $07, Unknown_cfbda
- dbbw $08, $05, Unknown_cfbda
- dbbw $08, $03, Unknown_cfbda
- dbbw $00, $10, Unknown_cf2b6
- dbbw $00, $09, Unknown_cfbf6
- dbbw $06, $09, Unknown_cfbf6
- dbbw $0c, $09, Unknown_cfbf6
- dbbw $12, $09, Unknown_cfbf6
- dbbw $18, $09, Unknown_cfbf6
- dbbw $1e, $09, Unknown_cfbf6
- dbbw $24, $09, Unknown_cfbf6
- dbbw $2a, $09, Unknown_cfbf6
- dbbw $03, $04, Unknown_cfc1a
- dbbw $12, $04, Unknown_cf21e
- dbbw $10, $04, Unknown_cf386
- dbbw $16, $01, Unknown_cf736
- dbbw $17, $04, Unknown_cf22e
- dbbw $18, $04, Unknown_cf21e
- dbbw $1c, $04, Unknown_cf21e
- dbbw $20, $03, Unknown_cf21e
- dbbw $23, $04, Unknown_cf386
- dbbw $25, $03, Unknown_cf21e
- dbbw $17, $04, Unknown_cf21e
- dbbw $0a, $10, Unknown_cf2f6
- dbbw $10, $10, Unknown_cf2b6
- dbbw $00, $10, Unknown_cf2b6
- dbbw $04, $04, Unknown_cf21e
- dbbw $08, $02, Unknown_cf20e
- dbbw $20, $06, Unknown_cfc2a
- dbbw $08, $01, Unknown_cf736
- dbbw $04, $04, Unknown_cf21e
- dbbw $1a, $04, Unknown_cf4aa
- dbbw $16, $09, Unknown_cf262
- dbbw $10, $10, Unknown_cfc42
- dbbw $09, $06, Unknown_cfc82
- dbbw $11, $09, Unknown_cf23e
- dbbw $0e, $04, Unknown_cf21e
- dbbw $0b, $04, Unknown_cf4aa
- dbbw $1c, $06, Unknown_cf22e
- dbbw $20, $10, Unknown_cfc42
- dbbw $05, $06, Unknown_cfc9a
- dbbw $0b, $04, Unknown_cf21e
- dbbw $09, $04, Unknown_cfcb2
- dbbw $0b, $04, Unknown_cf386
- dbbw $11, $0d, Unknown_cfcc2
- dbbw $00, $09, Unknown_cf23e
- dbbw $09, $09, Unknown_cf23e
- dbbw $00, $0c, Unknown_cf286
- dbbw $06, $0c, Unknown_cf286
- dbbw $0c, $0c, Unknown_cf286
- dbbw $12, $0c, Unknown_cf286
- dbbw $00, $0d, Unknown_cfcc2
- dbbw $00, $07, Unknown_cf85a
- dbbw $00, $06, Unknown_cf8ae
- dbbw $00, $0e, Unknown_cf876
- dbbw $00, $0c, Unknown_cf8c6
-; cf20e
-
-
-Unknown_cf20e:
- db $f8, $fc, $00, $00
- db $00, $fc, $01, $00
-
-Unknown_cf216:
- db $fc, $f8, $00, $00
- db $fc, $00, $01, $00
-
-Unknown_cf21e:
- db $f8, $f8, $00, $00
- db $f8, $00, $01, $00
- db $00, $f8, $02, $00
- db $00, $00, $03, $00
-
-Unknown_cf22e:
- db $f8, $f8, $00, $00
- db $f8, $00, $00, $20
- db $00, $f8, $00, $40
- db $00, $00, $00, $60
-
-Unknown_cf23e:
- db $f4, $f4, $00, $00
- db $f4, $fc, $01, $00
- db $f4, $04, $02, $00
- db $fc, $f4, $03, $00
- db $fc, $fc, $04, $00
- db $fc, $04, $05, $00
- db $04, $f4, $06, $00
- db $04, $fc, $07, $00
- db $04, $04, $08, $00
-
-Unknown_cf262:
- db $f4, $f4, $00, $00
- db $f4, $fc, $01, $00
- db $f4, $04, $00, $20
- db $fc, $f4, $02, $00
- db $fc, $fc, $03, $00
- db $fc, $04, $02, $60
- db $04, $f4, $00, $40
- db $04, $fc, $01, $60
- db $04, $04, $00, $60
-
-Unknown_cf286:
- db $f0, $f4, $00, $00
- db $f0, $fc, $01, $00
- db $f0, $04, $02, $00
- db $f8, $f4, $03, $00
- db $f8, $fc, $04, $00
- db $f8, $04, $05, $00
- db $00, $f4, $05, $60
- db $00, $fc, $04, $60
- db $00, $04, $03, $60
- db $08, $f4, $02, $60
- db $08, $fc, $01, $60
- db $08, $04, $00, $60
-
-Unknown_cf2b6:
- db $f0, $f0, $00, $00
- db $f0, $f8, $01, $00
- db $f0, $00, $02, $00
- db $f0, $08, $03, $00
- db $f8, $f0, $04, $00
- db $f8, $f8, $05, $00
- db $f8, $00, $06, $00
- db $f8, $08, $07, $00
- db $00, $f0, $08, $00
- db $00, $f8, $09, $00
- db $00, $00, $0a, $00
- db $00, $08, $0b, $00
- db $08, $f0, $0c, $00
- db $08, $f8, $0d, $00
- db $08, $00, $0e, $00
- db $08, $08, $0f, $00
-
-Unknown_cf2f6:
- db $f0, $f0, $00, $00
- db $f0, $f8, $01, $00
- db $f8, $f0, $02, $00
- db $f8, $f8, $03, $00
- db $f0, $00, $01, $20
- db $f0, $08, $00, $20
- db $f8, $00, $03, $20
- db $f8, $08, $02, $20
- db $00, $f0, $02, $40
- db $00, $f8, $03, $40
- db $08, $f0, $00, $40
- db $08, $f8, $01, $40
- db $00, $00, $03, $60
- db $00, $08, $02, $60
- db $08, $00, $01, $60
- db $08, $08, $00, $60
-
-Unknown_cf336:
- db $ec, $ec, $00, $00
- db $ec, $f4, $01, $00
- db $f4, $ec, $02, $00
- db $f4, $f4, $03, $00
- db $ec, $04, $01, $20
- db $ec, $0c, $00, $20
- db $f4, $04, $03, $20
- db $f4, $0c, $02, $20
- db $04, $ec, $02, $40
- db $04, $f4, $03, $40
- db $0c, $ec, $00, $40
- db $0c, $f4, $01, $40
- db $04, $04, $03, $60
- db $04, $0c, $02, $60
- db $0c, $04, $01, $60
- db $0c, $0c, $00, $60
-
-Unknown_cf376:
- db $fc, $f8, $00, $00
- db $fc, $00, $00, $20
-
-Unknown_cf37e:
- db $00, $f8, $00, $00
- db $00, $00, $00, $20
-
-Unknown_cf386:
- db $f8, $f8, $00, $00
- db $f8, $00, $00, $20
- db $00, $f8, $01, $00
- db $00, $00, $01, $20
-
-Unknown_cf396:
- db $f8, $f8, $00, $00
- db $f8, $00, $01, $00
- db $00, $f8, $00, $40
- db $00, $00, $01, $40
-
-Unknown_cf3a6:
- db $fa, $f8, $02, $00
- db $02, $f8, $03, $00
- db $f6, $00, $02, $00
- db $fe, $00, $03, $00
-
-Unknown_cf3b6:
- db $08, $a8, $01, $00
- db $00, $b0, $02, $00
- db $00, $b8, $03, $00
- db $00, $c0, $00, $00
- db $00, $c8, $03, $00
- db $00, $d0, $00, $00
- db $00, $d8, $03, $00
- db $00, $e0, $00, $00
- db $00, $e8, $03, $00
- db $00, $f0, $00, $00
- db $00, $f8, $01, $00
- db $f8, $00, $02, $00
- db $f8, $08, $03, $00
- db $f8, $10, $00, $00
- db $f8, $18, $03, $00
- db $f8, $20, $00, $00
- db $f8, $28, $03, $00
- db $f8, $30, $00, $00
- db $f8, $38, $03, $00
- db $f8, $40, $00, $00
- db $f8, $48, $01, $00
- db $f0, $50, $02, $00
-
-Unknown_cf40e:
- db $ec, $f8, $00, $00
- db $ec, $00, $00, $20
- db $f4, $f8, $01, $00
- db $f4, $00, $01, $20
- db $fc, $fc, $02, $00
-
-Unknown_cf422:
- db $e4, $f8, $00, $00
- db $e4, $00, $00, $20
- db $ec, $f8, $01, $00
- db $ec, $00, $01, $20
- db $f4, $fc, $02, $00
- db $fc, $fc, $02, $00
-
-Unknown_cf43a:
- db $dc, $f8, $00, $00
- db $dc, $00, $00, $20
- db $e4, $f8, $01, $00
- db $e4, $00, $01, $20
- db $ec, $fc, $02, $00
- db $f4, $fc, $02, $00
- db $fc, $fc, $02, $00
-
-Unknown_cf456:
- db $d4, $f8, $00, $00
- db $d4, $00, $00, $20
- db $dc, $f8, $01, $00
- db $dc, $00, $01, $20
- db $e4, $fc, $02, $00
- db $ec, $fc, $02, $00
- db $f4, $fc, $02, $00
- db $fc, $fc, $02, $00
-
-Unknown_cf476:
- db $cc, $f8, $00, $00
- db $cc, $00, $00, $20
- db $d4, $f8, $01, $00
- db $d4, $00, $01, $20
- db $dc, $fc, $02, $00
- db $e4, $fc, $02, $00
- db $ec, $fc, $02, $00
- db $f4, $fc, $02, $00
- db $fc, $fc, $02, $00
-
-Unknown_cf49a:
- db $f8, $f8, $00, $00
- db $f8, $00, $00, $20
- db $00, $f8, $01, $00
- db $00, $00, $00, $60
-
-Unknown_cf4aa:
- db $f8, $f8, $00, $00
- db $f8, $00, $01, $00
- db $00, $f8, $01, $60
- db $00, $00, $00, $60
-
-Unknown_cf4ba:
- db $f4, $f8, $00, $00
- db $f4, $00, $01, $00
- db $fc, $f8, $02, $00
- db $fc, $00, $03, $00
- db $04, $f8, $04, $00
- db $04, $00, $05, $00
-
-Unknown_cf4d2:
- db $fd, $f8, $00, $00
- db $f9, $00, $00, $00
-
-Unknown_cf4da:
- db $f8, $f4, $00, $00
- db $f8, $04, $00, $00
- db $e8, $f4, $00, $00
- db $e8, $04, $00, $00
- db $f0, $ec, $00, $00
- db $f0, $f4, $01, $00
- db $f0, $fc, $00, $00
- db $f0, $04, $01, $00
- db $f0, $0c, $00, $00
- db $f8, $e4, $00, $00
- db $f8, $ec, $01, $00
- db $f8, $fc, $01, $00
- db $f8, $0c, $01, $00
- db $f8, $14, $00, $00
-
-Unknown_cf512:
- db $f0, $f4, $00, $00
- db $f0, $04, $00, $00
- db $f8, $ec, $00, $00
- db $f8, $f4, $01, $00
- db $f8, $fc, $00, $00
- db $f8, $04, $01, $00
- db $f8, $0c, $00, $00
- db $e0, $f4, $00, $00
- db $e0, $04, $00, $00
- db $e8, $ec, $00, $00
- db $e8, $f4, $01, $00
- db $e8, $fc, $00, $00
- db $e8, $04, $01, $00
- db $e8, $0c, $00, $00
- db $f0, $e4, $00, $00
- db $f0, $ec, $01, $00
- db $f0, $fc, $01, $00
- db $f0, $0c, $01, $00
- db $f0, $14, $00, $00
- db $f8, $e4, $01, $00
- db $f8, $14, $01, $00
-
-Unknown_cf566:
- db $cc, $f8, $00, $00
- db $cc, $00, $01, $00
- db $d4, $f8, $02, $00
- db $d4, $00, $03, $00
- db $dc, $f8, $04, $00
- db $dc, $00, $05, $00
- db $e4, $f8, $06, $00
- db $e4, $00, $07, $00
- db $ec, $f8, $08, $00
- db $ec, $00, $09, $00
- db $f4, $f8, $0a, $00
- db $f4, $00, $0b, $00
- db $fc, $f8, $0c, $00
- db $fc, $00, $0d, $00
-
-Unknown_cf59e:
- db $cc, $f8, $0c, $00
- db $cc, $00, $0d, $00
- db $d4, $f8, $08, $00
- db $d4, $00, $09, $00
- db $dc, $f8, $04, $00
- db $dc, $00, $05, $00
- db $e4, $f8, $00, $00
- db $e4, $00, $01, $00
- db $ec, $f8, $02, $00
- db $ec, $00, $03, $00
- db $f4, $00, $02, $00
- db $f4, $08, $03, $00
- db $fc, $00, $0a, $00
- db $fc, $08, $0b, $00
-
-Unknown_cf5d6:
- db $0c, $f0, $00, $40
- db $0c, $f8, $02, $40
- db $0c, $00, $02, $60
- db $0c, $08, $00, $60
- db $fc, $e8, $09, $20
- db $fc, $f0, $08, $20
- db $fc, $f8, $06, $00
- db $fc, $00, $07, $00
- db $fc, $08, $08, $00
- db $fc, $10, $09, $00
- db $04, $e8, $01, $20
- db $04, $f0, $00, $20
- db $04, $f8, $0c, $00
- db $04, $00, $0d, $00
- db $04, $08, $00, $00
- db $04, $10, $01, $00
- db $ec, $f0, $00, $00
- db $ec, $f8, $02, $00
- db $ec, $00, $02, $20
- db $ec, $08, $00, $20
- db $f4, $e8, $03, $20
- db $f4, $f0, $02, $20
- db $f4, $f8, $04, $00
- db $f4, $00, $05, $00
- db $f4, $08, $02, $00
- db $f4, $10, $03, $00
-
-Unknown_cf63e:
- db $ec, $f0, $00, $00
- db $ec, $f8, $02, $00
- db $ec, $00, $02, $20
- db $ec, $08, $00, $20
- db $f4, $ec, $00, $00
- db $f4, $f4, $01, $00
- db $f4, $f8, $05, $20
- db $f4, $00, $04, $20
- db $f4, $04, $01, $20
- db $f4, $0c, $00, $20
- db $fc, $ec, $02, $00
- db $fc, $f4, $03, $00
- db $fc, $f8, $07, $20
- db $fc, $00, $06, $20
- db $fc, $04, $03, $20
- db $fc, $0c, $02, $20
- db $04, $ec, $04, $00
- db $04, $f4, $05, $00
- db $04, $f8, $0d, $20
- db $04, $00, $0c, $20
- db $04, $04, $05, $20
- db $04, $0c, $04, $20
- db $0c, $f0, $00, $40
- db $0c, $f8, $02, $40
- db $0c, $00, $02, $60
- db $0c, $08, $00, $60
-
-Unknown_cf6a6:
- db $e8, $fc, $02, $00
- db $10, $fc, $02, $60
- db $fc, $e8, $01, $00
- db $fc, $10, $01, $60
- db $e0, $fc, $02, $00
- db $18, $fc, $02, $60
- db $fc, $e0, $01, $00
- db $fc, $18, $01, $60
-
-Unknown_cf6c6:
- db $ed, $ed, $00, $20
- db $ed, $0b, $00, $00
- db $0b, $ed, $00, $60
- db $0b, $0b, $00, $40
- db $e5, $e5, $00, $20
- db $e5, $13, $00, $00
- db $13, $e5, $00, $60
- db $13, $13, $00, $40
-
-Unknown_cf6e6:
- db $ec, $fc, $02, $00
- db $0c, $fc, $02, $60
- db $fc, $ec, $01, $00
- db $fc, $0c, $01, $60
-
-Unknown_cf6f6:
- db $f0, $f0, $00, $20
- db $f0, $08, $00, $00
- db $08, $f0, $00, $60
- db $08, $08, $00, $40
-
-Unknown_cf706:
- db $e8, $fc, $00, $00
- db $f0, $fa, $00, $00
- db $f8, $f8, $00, $00
- db $00, $f8, $00, $00
- db $08, $fa, $00, $00
- db $10, $fc, $00, $00
-
-Unknown_cf71e:
- db $fc, $f0, $00, $20
- db $fa, $f8, $00, $20
- db $fa, $00, $00, $00
- db $fc, $08, $00, $00
-
-Unknown_cf72e:
- db $fc, $f8, $00, $60
- db $fc, $00, $00, $40
-
-Unknown_cf736:
- db $fc, $fc, $00, $00
- db $fc, $f4, $01, $00
- db $fc, $fc, $01, $20
- db $04, $f4, $01, $40
- db $04, $fc, $01, $60
-
-Unknown_cf74a:
- db $fc, $fc, $00, $00
- db $02, $f6, $00, $00
- db $02, $ee, $01, $00
- db $02, $f6, $01, $20
- db $0a, $ee, $01, $40
- db $0a, $f6, $01, $60
-
-Unknown_cf762:
- db $fc, $fc, $00, $00
- db $02, $f6, $00, $00
- db $08, $f0, $00, $00
- db $08, $e8, $01, $00
- db $08, $f0, $01, $20
- db $10, $e8, $01, $40
- db $10, $f0, $01, $60
-
-Unknown_cf77e:
- db $fc, $fc, $00, $00
- db $02, $f6, $00, $00
- db $08, $f0, $00, $00
- db $0e, $ea, $00, $00
- db $0e, $e2, $01, $00
- db $0e, $ea, $01, $20
- db $16, $e2, $01, $40
- db $16, $ea, $01, $60
-
-Unknown_cf79e:
- db $fc, $fc, $00, $00
- db $02, $f6, $00, $00
- db $08, $f0, $00, $00
- db $0e, $ea, $00, $00
- db $14, $e4, $00, $00
- db $14, $dc, $01, $00
- db $14, $e4, $01, $20
- db $1c, $dc, $01, $40
- db $1c, $e4, $01, $60
-
-Unknown_cf7c2:
- db $fc, $fc, $00, $00
- db $02, $f6, $00, $00
- db $08, $f0, $00, $00
- db $0e, $ea, $00, $00
- db $14, $e4, $00, $00
- db $1a, $de, $00, $00
- db $1a, $d6, $01, $00
- db $1a, $de, $01, $20
- db $22, $d6, $01, $40
- db $22, $de, $01, $60
-
-Unknown_cf7ea:
- db $fc, $f0, $00, $00
- db $fc, $f8, $01, $00
- db $fc, $00, $01, $20
- db $fc, $08, $00, $20
-
-Unknown_cf7fa:
- db $fc, $f0, $02, $00
- db $fc, $f8, $01, $00
- db $fc, $00, $01, $20
- db $fc, $08, $02, $20
-
-Unknown_cf80a:
- db $f8, $fc, $00, $00
-
-Unknown_cf80e:
- db $00, $fc, $00, $00
-
-Unknown_cf812:
- db $fc, $e4, $00, $00
- db $fc, $ec, $01, $00
- db $fc, $f4, $02, $00
- db $fc, $fc, $03, $00
- db $fc, $04, $04, $00
- db $fc, $0c, $05, $00
- db $fc, $14, $06, $00
- db $f4, $0c, $07, $00
- db $f4, $14, $08, $00
-
-Unknown_cf836:
- db $f4, $e4, $08, $20
- db $f4, $ec, $07, $20
- db $fc, $e4, $06, $20
- db $fc, $ec, $05, $20
- db $fc, $f4, $04, $20
- db $fc, $fc, $03, $20
- db $fc, $04, $02, $20
- db $fc, $0c, $01, $20
- db $fc, $14, $00, $20
-
-Unknown_cf85a:
- db $00, $e4, $00, $10
- db $00, $ec, $01, $10
- db $00, $f4, $02, $10
- db $00, $fc, $03, $10
- db $00, $04, $04, $10
- db $00, $0c, $05, $10
- db $00, $14, $06, $10
-
-Unknown_cf876:
- db $f8, $e4, $00, $10
- db $00, $e4, $01, $10
- db $f8, $ec, $02, $10
- db $00, $ec, $03, $10
- db $f8, $f4, $04, $10
- db $00, $f4, $05, $10
- db $f8, $fc, $06, $10
- db $00, $fc, $07, $10
- db $f8, $04, $08, $10
- db $00, $04, $09, $10
- db $f8, $0c, $0a, $10
- db $00, $0c, $0b, $10
- db $f8, $14, $0c, $10
- db $00, $14, $0d, $10
-
-Unknown_cf8ae:
- db $00, $e8, $00, $11
- db $00, $f0, $01, $11
- db $00, $f8, $02, $11
- db $00, $00, $03, $11
- db $00, $08, $04, $11
- db $00, $10, $05, $11
-
-Unknown_cf8c6:
- db $00, $e8, $00, $11
- db $08, $e8, $01, $11
- db $00, $f0, $02, $11
- db $08, $f0, $03, $11
- db $00, $f8, $04, $11
- db $08, $f8, $05, $11
- db $00, $00, $06, $11
- db $08, $00, $07, $11
- db $00, $08, $08, $11
- db $08, $08, $09, $11
- db $00, $10, $0a, $11
- db $08, $10, $0b, $11
-
-Unknown_cf8f6:
- db $f4, $04, $00, $00
- db $fc, $f4, $01, $00
- db $fc, $fc, $02, $00
- db $fc, $04, $03, $00
- db $04, $f4, $04, $00
-
-Unknown_cf90a:
- db $fc, $f4, $00, $00
- db $fc, $fc, $01, $00
- db $fc, $04, $02, $00
-
-Unknown_cf916:
- db $e4, $0c, $01, $60
-
-Unknown_cf91a:
- db $e4, $0c, $00, $00
- db $e4, $04, $01, $60
- db $ec, $0c, $01, $60
-
-Unknown_cf926:
- db $e4, $0c, $01, $00
- db $e4, $04, $00, $00
- db $e4, $fc, $01, $60
- db $ec, $0c, $00, $00
- db $ec, $04, $01, $60
- db $f4, $0c, $01, $60
-
-Unknown_cf93e:
- db $e4, $f4, $01, $60
- db $e4, $fc, $00, $00
- db $e4, $04, $01, $00
- db $ec, $fc, $01, $60
- db $ec, $04, $00, $00
- db $ec, $0c, $01, $00
- db $f4, $04, $01, $60
- db $f4, $0c, $00, $00
- db $fc, $0c, $01, $60
-
-Unknown_cf962:
- db $e4, $ec, $01, $60
- db $e4, $f4, $00, $00
- db $e4, $fc, $01, $00
- db $ec, $f4, $01, $60
- db $ec, $fc, $00, $00
- db $ec, $04, $01, $00
- db $f4, $fc, $01, $60
- db $f4, $04, $00, $00
- db $f4, $0c, $01, $00
- db $fc, $04, $01, $60
- db $fc, $0c, $00, $00
- db $04, $0c, $01, $60
-
-Unknown_cf992:
- db $e4, $ec, $00, $00
- db $e4, $f4, $01, $00
- db $ec, $ec, $01, $60
- db $ec, $f4, $00, $00
- db $ec, $fc, $01, $00
- db $f4, $f4, $01, $60
- db $f4, $fc, $00, $00
- db $f4, $04, $01, $00
- db $fc, $fc, $01, $60
- db $fc, $04, $00, $00
- db $fc, $0c, $01, $00
- db $04, $04, $01, $60
- db $04, $0c, $00, $00
- db $0c, $0c, $01, $60
-
-Unknown_cf9ca:
- db $e4, $ec, $01, $00
- db $ec, $ec, $00, $00
- db $ec, $f4, $01, $00
- db $f4, $ec, $01, $60
- db $f4, $f4, $00, $00
- db $f4, $fc, $01, $00
- db $fc, $f4, $01, $60
- db $fc, $fc, $00, $00
- db $fc, $04, $01, $00
- db $04, $fc, $01, $60
- db $04, $04, $00, $00
- db $04, $0c, $01, $00
- db $0c, $04, $01, $60
- db $0c, $0c, $00, $00
- db $14, $0c, $01, $60
-
-Unknown_cfa06:
- db $f0, $f8, $00, $00
- db $f8, $f8, $01, $00
- db $f0, $00, $00, $20
- db $f8, $00, $01, $20
- db $00, $f8, $01, $40
- db $08, $f8, $00, $40
- db $00, $00, $01, $60
- db $08, $00, $00, $60
-
-Unknown_cfa26:
- db $f8, $f8, $00, $00
- db $f8, $00, $01, $00
- db $00, $f8, $01, $60
- db $00, $00, $00, $60
-
-Unknown_cfa36:
- db $f4, $f8, $00, $00
- db $f4, $00, $01, $00
- db $fc, $f8, $02, $00
- db $fc, $00, $03, $00
- db $fc, $f8, $00, $00
- db $fc, $00, $01, $00
- db $04, $f8, $02, $00
- db $04, $00, $03, $00
- db $ec, $f8, $00, $00
- db $ec, $00, $01, $00
- db $f4, $f8, $02, $00
- db $f4, $00, $03, $00
- db $04, $f8, $00, $00
- db $04, $00, $01, $00
- db $0c, $f8, $02, $00
- db $0c, $00, $03, $00
-
-Unknown_cfa76:
- db $f0, $f8, $00, $00
- db $f0, $00, $01, $00
- db $f8, $f8, $02, $00
- db $f8, $00, $03, $00
- db $f8, $f8, $00, $00
- db $f8, $00, $01, $00
- db $00, $f8, $02, $00
- db $00, $00, $03, $00
- db $00, $f8, $00, $00
- db $00, $00, $01, $00
- db $08, $f8, $02, $00
- db $08, $00, $03, $00
-
-Unknown_cfaa6:
- db $fc, $fc, $00, $00
- db $f8, $04, $00, $00
- db $f4, $0c, $00, $00
- db $f0, $14, $00, $00
- db $ec, $1c, $00, $00
- db $e8, $24, $00, $00
- db $e0, $2c, $00, $00
- db $dc, $34, $00, $00
-
-Unknown_cfac6:
- db $ec, $fc, $00, $00
- db $f4, $fc, $01, $00
- db $fc, $fc, $02, $00
- db $04, $fc, $01, $40
- db $0c, $fc, $00, $40
-
-Unknown_cfada:
- db $fc, $f0, $00, $00
- db $fc, $f8, $01, $00
- db $fc, $00, $02, $00
- db $fc, $08, $03, $00
-
-Unknown_cfaea:
- db $f8, $f4, $00, $00
- db $f8, $fc, $01, $00
- db $f8, $04, $02, $00
- db $00, $f4, $03, $00
- db $00, $fc, $04, $00
- db $00, $04, $05, $00
-
-Unknown_cfb02:
- db $f8, $f8, $00, $00
- db $f8, $00, $05, $00
- db $00, $f8, $01, $00
- db $00, $00, $05, $00
-
-Unknown_cfb12:
- db $e4, $08, $00, $00
- db $e4, $10, $01, $00
- db $ec, $f8, $02, $00
- db $ec, $00, $03, $00
- db $ec, $08, $04, $00
- db $ec, $10, $05, $00
- db $ec, $18, $06, $00
- db $f4, $f0, $07, $00
- db $f4, $f8, $08, $00
- db $f4, $00, $09, $00
- db $f4, $08, $0a, $00
- db $f4, $10, $0b, $00
- db $f4, $18, $0c, $00
- db $f4, $20, $0d, $00
- db $fc, $e8, $0e, $00
- db $fc, $f0, $0f, $00
- db $fc, $f8, $10, $00
- db $fc, $00, $11, $00
- db $fc, $08, $12, $00
- db $fc, $10, $13, $00
- db $04, $d8, $14, $00
- db $04, $e0, $15, $00
- db $04, $e8, $16, $00
- db $04, $f0, $17, $00
- db $04, $f8, $18, $00
- db $04, $00, $19, $00
- db $04, $08, $1a, $00
- db $04, $10, $1b, $00
- db $04, $18, $1c, $00
- db $0c, $d8, $1d, $00
- db $0c, $e0, $1e, $00
- db $0c, $f0, $1f, $00
- db $0c, $f8, $20, $00
- db $0c, $00, $21, $00
- db $0c, $08, $22, $00
- db $14, $00, $23, $00
-
-Unknown_cfba2:
- db $04, $f8, $02, $00
- db $04, $00, $03, $00
- db $fc, $f8, $01, $00
- db $fc, $00, $01, $20
- db $f4, $f8, $00, $00
- db $f4, $00, $00, $20
-
-Unknown_cfbba:
- db $f8, $f0, $00, $00
- db $f8, $f8, $01, $00
- db $f8, $00, $02, $00
- db $f8, $08, $03, $00
- db $00, $f0, $04, $00
- db $00, $f8, $05, $00
- db $00, $00, $06, $00
- db $00, $08, $07, $00
-
-Unknown_cfbda:
- db $f4, $fc, $00, $00
- db $fc, $fc, $00, $00
- db $04, $fc, $00, $00
- db $ec, $fc, $00, $00
- db $0c, $fc, $00, $00
- db $e4, $fc, $00, $00
- db $14, $fc, $00, $00
-
-Unknown_cfbf6:
- db $f4, $f4, $00, $00
- db $f4, $fc, $01, $00
- db $f4, $04, $02, $00
- db $fc, $f4, $03, $00
- db $fc, $fc, $04, $00
- db $fc, $04, $05, $00
- db $04, $f4, $00, $40
- db $04, $fc, $01, $40
- db $04, $04, $02, $40
-
-Unknown_cfc1a:
- db $fc, $f0, $00, $00
- db $fc, $f8, $01, $00
- db $fc, $00, $01, $20
- db $fc, $08, $00, $20
-
-Unknown_cfc2a:
- db $fc, $e8, $00, $00
- db $fc, $f0, $01, $00
- db $fc, $f8, $02, $00
- db $fc, $00, $02, $20
- db $fc, $08, $01, $20
- db $fc, $10, $00, $20
-
-Unknown_cfc42:
- db $f0, $f0, $00, $00
- db $f0, $f8, $01, $00
- db $f0, $00, $02, $00
- db $f0, $08, $00, $20
- db $f8, $f0, $03, $00
- db $f8, $f8, $04, $00
- db $f8, $00, $04, $20
- db $f8, $08, $05, $00
- db $00, $f0, $05, $60
- db $00, $f8, $04, $40
- db $00, $00, $04, $60
- db $00, $08, $03, $60
- db $08, $f0, $00, $40
- db $08, $f8, $02, $60
- db $08, $00, $01, $60
- db $08, $08, $00, $60
-
-Unknown_cfc82:
- db $f8, $f0, $00, $00
- db $f8, $f8, $01, $00
- db $f8, $00, $00, $60
- db $00, $f8, $00, $00
- db $00, $00, $01, $00
- db $00, $08, $00, $60
-
-Unknown_cfc9a:
- db $f8, $0c, $00, $00
- db $f8, $14, $01, $00
- db $00, $fc, $02, $00
- db $00, $04, $03, $00
- db $00, $0c, $04, $00
- db $00, $14, $05, $00
-
-Unknown_cfcb2:
- db $f8, $f8, $00, $00
- db $f8, $00, $01, $60
- db $00, $f8, $01, $00
- db $00, $00, $01, $20
-
-Unknown_cfcc2:
- db $f0, $9c, $00, $00
- db $e0, $ac, $00, $00
- db $f8, $bc, $00, $00
- db $d8, $cc, $00, $00
- db $e8, $dc, $00, $00
- db $d8, $ec, $00, $00
- db $e8, $fc, $00, $00
- db $e8, $04, $00, $00
- db $d8, $14, $00, $00
- db $00, $24, $00, $00
- db $f0, $34, $00, $00
- db $e0, $44, $00, $00
- db $f0, $54, $00, $00
-; cfcf6
-
-
-AnimObjGFX: ; cfcf6
-
-object_gfx: MACRO
-; label, # tiles
- db \2
- db BANK(\1)
- dw \1
-ENDM
-
- object_gfx AnimObj00GFX, 0
- object_gfx AnimObj01GFX, 21
- object_gfx AnimObj02GFX, 6
- object_gfx AnimObj03GFX, 6
- object_gfx AnimObj04GFX, 20
- object_gfx AnimObj05GFX, 26
- object_gfx AnimObj06GFX, 18
- object_gfx AnimObj07GFX, 12
- object_gfx AnimObj08GFX, 9
- object_gfx AnimObj09GFX, 17
- object_gfx AnimObj10GFX, 6
- object_gfx AnimObj11GFX, 10
- object_gfx AnimObj12GFX, 9
- object_gfx AnimObj13GFX, 13
- object_gfx AnimObj14GFX, 16
- object_gfx AnimObj15GFX, 2
- object_gfx AnimObj16GFX, 11
- object_gfx AnimObj17GFX, 9
- object_gfx AnimObj18GFX, 9
- object_gfx AnimObj19GFX, 19
- object_gfx AnimObj20GFX, 10
- object_gfx AnimObj21GFX, 12
- object_gfx AnimObj22GFX, 18
- object_gfx AnimObj23GFX, 13
- object_gfx AnimObj24GFX, 10
- object_gfx AnimObj25GFX, 27
- object_gfx AnimObj26GFX, 12
- object_gfx AnimObj27GFX, 14
- object_gfx AnimObj28GFX, 16
- object_gfx AnimObj29GFX, 7
- object_gfx AnimObj30GFX, 8
- object_gfx AnimObj31GFX, 40
- object_gfx AnimObj32GFX, 36
- object_gfx AnimObj33GFX, 16
- object_gfx AnimObj34GFX, 48
- object_gfx AnimObj35GFX, 18
- object_gfx AnimObj36GFX, 38
- object_gfx AnimObj37GFX, 35
- object_gfx AnimObj38GFX, 18
- object_gfx AnimObj39GFX, 24
- object_gfx NULL, 1
- object_gfx NULL, 1
-; cfd9e
+INCLUDE "battle/objects/engine.asm"
+INCLUDE "battle/objects/data.asm"
+INCLUDE "battle/objects/functions.asm"
+INCLUDE "battle/objects/helpers.asm"
+INCLUDE "battle/objects/framesets.asm"
+INCLUDE "battle/objects/oam.asm"
+INCLUDE "battle/objects/gfx_headers.asm"
--- a/battle/anims.asm
+++ b/battle/anims.asm
@@ -290,19 +290,19 @@
BattleAnim_SweetScent2: ; c929c
anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_MISC
- anim_obj ANIM_OBJ_FLOWER, 64, 96, $2
+ anim_obj ANIM_OBJ_FLOWER, 8, 0, 12, 0, $2
anim_wait 2
- anim_obj ANIM_OBJ_FLOWER, 64, 80, $2
+ anim_obj ANIM_OBJ_FLOWER, 8, 0, 10, 0, $2
anim_wait 64
- anim_obj ANIM_OBJ_COTTON, 136, 40, $15
- anim_obj ANIM_OBJ_COTTON, 136, 40, $2a
- anim_obj ANIM_OBJ_COTTON, 136, 40, $3f
- anim_bgeffect $6, $0, $2, $0
+ anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $15
+ anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $2a
+ anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $3f
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_wait 128
anim_ret
; c92c1
-BattleAnim_ThrowPokeBall: ; c92c1
+BattleAnim_ThrowPokeBall
anim_jumpif NO_ITEM, .TheTrainerBlockedTheBall
anim_jumpif MASTER_BALL, .MasterBall
anim_jumpif ULTRA_BALL, .UltraBall
@@ -309,110 +309,110 @@
anim_jumpif GREAT_BALL, .GreatBall
; any other ball
anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
- anim_sound $1a, SFX_THROW_BALL
- anim_obj $15, 68, 92, $40
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40
anim_wait 36
- anim_obj $15, 136, 65, $0
+ anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0
anim_setobj $2, $7
anim_wait 16
- anim_sound $1, SFX_BALL_POOF
- anim_obj $1c, 136, 64, $10
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_1C, -15, 0, 8, 0, $10
anim_wait 16
anim_jump .Shake
; c92f2
-.TheTrainerBlockedTheBall: ; c92f2
+.TheTrainerBlockedTheBall
anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_HIT
- anim_sound $1a, SFX_THROW_BALL
- anim_obj $16, 64, 92, $20
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_16, 8, 0, 11, 4, $20
anim_wait 20
- anim_obj $1, 112, 40, $0
+ anim_obj ANIM_OBJ_01, 14, 0, 5, 0, $0
anim_wait 32
anim_ret
; c9305
-.UltraBall: ; c9305
+.UltraBall
anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
- anim_sound $1a, SFX_THROW_BALL
- anim_obj $15, 68, 92, $40
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40
anim_wait 36
- anim_obj $15, 136, 65, $0
+ anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0
anim_setobj $2, $7
anim_wait 16
- anim_sound $1, SFX_BALL_POOF
- anim_obj $1c, 136, 64, $10
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_1C, -15, 0, 8, 0, $10
anim_wait 16
anim_jump .Shake
; c9326
-.GreatBall: ; c9326
+.GreatBall
anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
- anim_sound $1a, SFX_THROW_BALL
- anim_obj $15, 68, 92, $40
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40
anim_wait 36
- anim_obj $15, 136, 65, $0
+ anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0
anim_setobj $2, $7
anim_wait 16
- anim_sound $1, SFX_BALL_POOF
- anim_obj $1c, 136, 64, $10
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_1C, -15, 0, 8, 0, $10
anim_wait 16
anim_jump .Shake
; c9347
-.MasterBall: ; c9347
+.MasterBall
anim_3gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE, ANIM_GFX_SPEED
- anim_sound $1a, SFX_THROW_BALL
- anim_obj $15, 64, 92, $20
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_POKE_BALL, 8, 0, 11, 4, $20
anim_wait 36
- anim_obj $15, 136, 65, $0
+ anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0
anim_setobj $2, $7
anim_wait 16
- anim_sound $1, SFX_BALL_POOF
- anim_obj $1c, 136, 64, $10
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_1C, -15, 0, 8, 0, $10
anim_wait 24
- anim_sound $1, SFX_MASTER_BALL
- anim_obj $2b, 136, 56, $30
- anim_obj $2b, 136, 56, $31
- anim_obj $2b, 136, 56, $32
- anim_obj $2b, 136, 56, $33
- anim_obj $2b, 136, 56, $34
- anim_obj $2b, 136, 56, $35
- anim_obj $2b, 136, 56, $36
- anim_obj $2b, 136, 56, $37
+ anim_sound 0, 1, SFX_MASTER_BALL
+ anim_obj ANIM_OBJ_2B, -15, 0, 7, 0, $30
+ anim_obj ANIM_OBJ_2B, -15, 0, 7, 0, $31
+ anim_obj ANIM_OBJ_2B, -15, 0, 7, 0, $32
+ anim_obj ANIM_OBJ_2B, -15, 0, 7, 0, $33
+ anim_obj ANIM_OBJ_2B, -15, 0, 7, 0, $34
+ anim_obj ANIM_OBJ_2B, -15, 0, 7, 0, $35
+ anim_obj ANIM_OBJ_2B, -15, 0, 7, 0, $36
+ anim_obj ANIM_OBJ_2B, -15, 0, 7, 0, $37
anim_wait 64
-.Shake: ; c9392
+.Shake
anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0
anim_wait 8
- anim_incobj $2
+ anim_incobj 2
anim_wait 16
- anim_sound $1, SFX_CHANGE_DEX_MODE
- anim_incobj $1
+ anim_sound 0, 1, SFX_CHANGE_DEX_MODE
+ anim_incobj 1
anim_wait 32
- anim_sound $1, SFX_BALL_BOUNCE
+ anim_sound 0, 1, SFX_BALL_BOUNCE
anim_wait 32
anim_wait 32
anim_wait 32
anim_wait 8
anim_setvar $0
-.Loop: ; c93aa
+.Loop
anim_wait 48
anim_checkpokeball
anim_jumpvar $1, .Click
anim_jumpvar $2, .BreakFree
- anim_incobj $1
- anim_sound $1, SFX_BALL_WIGGLE
+ anim_incobj 1
+ anim_sound 0, 1, SFX_BALL_WIGGLE
anim_jump .Loop
; c93bc
-.Click: ; c93bc
+.Click
anim_clearsprites
anim_ret
; c93be
-.BreakFree: ; c93be
+.BreakFree
anim_setobj $1, $b
- anim_sound $1, SFX_BALL_POOF
- anim_obj $1c, 136, 64, $10
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_1C, -15, 0, 8, 0, $10
anim_wait 2
anim_bgeffect ANIM_BG_ENTER_MON, $0, $0, $0
anim_wait 32
@@ -420,72 +420,69 @@
; c93d1
BattleAnim_SendOutMon: ; c93d1
- anim_jumpif $0, BattleAnim_SendOutMon_branch_c9471
- anim_jumpif $1, BattleAnim_SendOutMon_branch_c941c
- anim_jumpif $2, BattleAnim_SendOutMon_branch_c93fa
+ anim_jumpif $0, .Normal
+ anim_jumpif $1, .Shiny
+ anim_jumpif $2, .Unknown
anim_1gfx ANIM_GFX_SMOKE
- anim_call BattleAnim_SendOutMon_branch_cbca7
- anim_bgeffect $2b, $0, $1, $0
- anim_sound $0, SFX_BALL_POOF
- anim_obj $1b, 48, 96, $0
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_2B, $0, $1, $0
+ anim_sound 0, 0, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_1B, 6, 0, 12, 0, $0
anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
anim_wait 128
anim_wait 4
- anim_call BattleAnim_SendOutMon_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
-; c93fa
-BattleAnim_SendOutMon_branch_c93fa: ; c93fa
+.Unknown
anim_1gfx ANIM_GFX_SMOKE
- anim_call BattleAnim_SendOutMon_branch_cbca7
- anim_bgeffect $2a, $0, $1, $0
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_2A, $0, $1, $0
anim_wait 1
anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
anim_wait 4
- anim_sound $0, SFX_BALL_POOF
- anim_obj $1b, 48, 96, $0
- anim_incbgeffect $2a
+ anim_sound 0, 0, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_1B, 6, 0, 12, 0, $0
+ anim_incbgeffect ANIM_BG_2A
anim_wait 96
- anim_incbgeffect $2a
- anim_call BattleAnim_SendOutMon_branch_cbcb7
+ anim_incbgeffect ANIM_BG_2A
+ anim_call BattleAnim_ShowMon_0
anim_ret
-; c941c
-BattleAnim_SendOutMon_branch_c941c: ; c941c
+.Shiny
anim_1gfx ANIM_GFX_SPEED
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
- anim_bgeffect $6, $0, $2, $0
- anim_sound $0, SFX_SHINE
- anim_obj $6d, 48, 96, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $0
anim_wait 4
- anim_sound $0, SFX_SHINE
- anim_obj $6d, 48, 96, $8
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $8
anim_wait 4
- anim_sound $0, SFX_SHINE
- anim_obj $6d, 48, 96, $10
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $10
anim_wait 4
- anim_sound $0, SFX_SHINE
- anim_obj $6d, 48, 96, $18
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $18
anim_wait 4
- anim_sound $0, SFX_SHINE
- anim_obj $6d, 48, 96, $20
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $20
anim_wait 4
- anim_sound $0, SFX_SHINE
- anim_obj $6d, 48, 96, $28
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $28
anim_wait 4
- anim_sound $0, SFX_SHINE
- anim_obj $6d, 48, 96, $30
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $30
anim_wait 4
- anim_sound $0, SFX_SHINE
- anim_obj $6d, 48, 96, $38
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $38
anim_wait 32
anim_ret
-; c9471
-BattleAnim_SendOutMon_branch_c9471: ; c9471
+.Normal
anim_1gfx ANIM_GFX_SMOKE
- anim_sound $0, SFX_BALL_POOF
- anim_obj $1c, 44, 96, $0
+ anim_sound 0, 0, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_1C, 5, 4, 12, 0, $0
anim_wait 4
anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
anim_wait 32
@@ -493,7 +490,7 @@
; c9483
BattleAnim_ReturnMon: ; c9483
- anim_sound $0, SFX_BALL_POOF
+ anim_sound 0, 0, SFX_BALL_POOF
BattleAnim_BatonPass_branch_c9486: ; c9486
anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0
anim_wait 32
@@ -502,10 +499,10 @@
BattleAnim_Confused: ; c948d
anim_1gfx ANIM_GFX_STATUS
- anim_sound $0, SFX_KINESIS
- anim_obj ANIM_OBJ_CHICK, 44, 56, $15
- anim_obj ANIM_OBJ_CHICK, 44, 56, $aa
- anim_obj ANIM_OBJ_CHICK, 44, 56, $bf
+ anim_sound 0, 0, SFX_KINESIS
+ anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $15
+ anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $aa
+ anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $bf
anim_wait 96
anim_ret
; c94a3
@@ -512,11 +509,11 @@
BattleAnim_Slp: ; c94a3
anim_1gfx ANIM_GFX_STATUS
- anim_sound $0, SFX_TAIL_WHIP
-BattleAnim_Slp_branch_c94a8: ; c94a8
- anim_obj $54, 64, 80, $0
+ anim_sound 0, 0, SFX_TAIL_WHIP
+.loop
+ anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0
anim_wait 40
- anim_loop $3, BattleAnim_Slp_branch_c94a8
+ anim_loop 3, .loop
anim_wait 32
anim_ret
; c94b4
@@ -523,11 +520,11 @@
BattleAnim_Brn: ; c94b4
anim_1gfx ANIM_GFX_FIRE
-BattleAnim_Brn_branch_c94b6: ; c94b6
- anim_sound $0, SFX_BURN
- anim_obj $10, 56, 88, $10
+.loop
+ anim_sound 0, 0, SFX_BURN
+ anim_obj ANIM_OBJ_BURNED, 7, 0, 11, 0, $10
anim_wait 4
- anim_loop $3, BattleAnim_Brn_branch_c94b6
+ anim_loop 3, .loop
anim_wait 6
anim_ret
; c94c5
@@ -534,11 +531,11 @@
BattleAnim_Psn: ; c94c5
anim_1gfx ANIM_GFX_POISON
- anim_sound $0, SFX_POISON
- anim_obj ANIM_OBJ_SKULL, 64, 56, $0
+ anim_sound 0, 0, SFX_POISON
+ anim_obj ANIM_OBJ_SKULL, 8, 0, 7, 0, $0
anim_wait 8
- anim_sound $0, SFX_POISON
- anim_obj ANIM_OBJ_SKULL, 48, 56, $0
+ anim_sound 0, 0, SFX_POISON
+ anim_obj ANIM_OBJ_SKULL, 6, 0, 7, 0, $0
anim_wait 8
anim_ret
; c94da
@@ -545,14 +542,14 @@
BattleAnim_Sap: ; c94da
anim_1gfx ANIM_GFX_CHARGE
- anim_sound $1b, SFX_WATER_GUN
- anim_obj $45, 128, 48, $2
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_45, 16, 0, 6, 0, $2
anim_wait 6
- anim_sound $1b, SFX_WATER_GUN
- anim_obj $45, 136, 64, $3
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_45, -15, 0, 8, 0, $3
anim_wait 6
- anim_sound $1b, SFX_WATER_GUN
- anim_obj $45, 136, 32, $4
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_45, -15, 0, 4, 0, $4
anim_wait 16
anim_ret
; c94f8
@@ -559,10 +556,10 @@
BattleAnim_Frz: ; c94f8
anim_1gfx ANIM_GFX_ICE
- anim_obj ANIM_OBJ_FROZEN, 44, 110, $0
- anim_sound $0, SFX_SHINE
+ anim_obj ANIM_OBJ_FROZEN, 5, 4, 13, 6, $0
+ anim_sound 0, 0, SFX_SHINE
anim_wait 16
- anim_sound $0, SFX_SHINE
+ anim_sound 0, 0, SFX_SHINE
anim_wait 16
anim_ret
; c9508
@@ -569,10 +566,10 @@
BattleAnim_Par: ; c9508
anim_1gfx ANIM_GFX_STATUS
- anim_bgeffect $6, $0, $2, $0
- anim_sound $0, SFX_THUNDERSHOCK
- anim_obj ANIM_OBJ_PARALYZED, 20, 88, $42
- anim_obj ANIM_OBJ_PARALYZED, 76, 88, $c2
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_sound 0, 0, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_PARALYZED, 2, 4, 11, 0, $42
+ anim_obj ANIM_OBJ_PARALYZED, 9, 4, 11, 0, $c2
anim_wait 128
anim_ret
; c951e
@@ -579,11 +576,11 @@
BattleAnim_InLove: ; c951e
anim_1gfx ANIM_GFX_OBJECTS
- anim_sound $0, SFX_LICK
- anim_obj ANIM_OBJ_HEART, 64, 76, $0
+ anim_sound 0, 0, SFX_LICK
+ anim_obj ANIM_OBJ_HEART, 8, 0, 9, 4, $0
anim_wait 32
- anim_sound $0, SFX_LICK
- anim_obj ANIM_OBJ_HEART, 36, 72, $0
+ anim_sound 0, 0, SFX_LICK
+ anim_obj ANIM_OBJ_HEART, 4, 4, 9, 0, $0
anim_wait 32
anim_ret
; c9533
@@ -590,15 +587,15 @@
BattleAnim_InSandstorm: ; c9533
anim_1gfx ANIM_GFX_POWDER
- anim_obj $a2, 88, 0, $0
+ anim_obj ANIM_OBJ_A2, 11, 0, 0, 0, $0
anim_wait 8
- anim_obj $a2, 72, 0, $1
+ anim_obj ANIM_OBJ_A2, 9, 0, 0, 0, $1
anim_wait 8
- anim_obj $a2, 56, 0, $2
-BattleAnim_InSandstorm_branch_c9546: ; c9546
- anim_sound $1, SFX_MENU
+ anim_obj ANIM_OBJ_A2, 7, 0, 0, 0, $2
+.loop
+ anim_sound 0, 1, SFX_MENU
anim_wait 8
- anim_loop $6, BattleAnim_InSandstorm_branch_c9546
+ anim_loop 6, .loop
anim_wait 8
anim_ret
; c9550
@@ -605,8 +602,8 @@
BattleAnim_InNightmare: ; c9550
anim_1gfx ANIM_GFX_ANGELS
- anim_sound $0, SFX_BUBBLEBEAM
- anim_obj $95, 68, 80, $0
+ anim_sound 0, 0, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_95, 8, 4, 10, 0, $0
anim_wait 40
anim_ret
; c955c
@@ -614,11 +611,11 @@
BattleAnim_InWhirlpool: ; c955c
anim_1gfx ANIM_GFX_WIND
anim_bgeffect ANIM_BG_WHIRLPOOL, $0, $0, $0
- anim_sound $1, SFX_SURF
-BattleAnim_InWhirlpool_branch_c9566: ; c9566
- anim_obj ANIM_OBJ_GUST, 132, 72, $0
+ anim_sound 0, 1, SFX_SURF
+.loop
+ anim_obj ANIM_OBJ_GUST, -16, 4, 9, 0, $0
anim_wait 6
- anim_loop $6, BattleAnim_InWhirlpool_branch_c9566
+ anim_loop 6, .loop
anim_incbgeffect ANIM_BG_WHIRLPOOL
anim_wait 1
anim_ret
@@ -626,8 +623,8 @@
BattleAnim_HitConfusion: ; c9574
anim_1gfx ANIM_GFX_HIT
- anim_sound $0, SFX_POUND
- anim_obj $4, 44, 96, $0
+ anim_sound 0, 0, SFX_POUND
+ anim_obj ANIM_OBJ_04, 5, 4, 12, 0, $0
anim_wait 16
anim_ret
; c9580
@@ -637,47 +634,47 @@
; c9581
BattleAnim_EnemyDamage: ; c9581
-BattleAnim_EnemyDamage_branch_c9581: ; c9581
+.loop
anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0
anim_wait 5
anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
anim_wait 5
- anim_loop $3, BattleAnim_EnemyDamage_branch_c9581
+ anim_loop 3, .loop
anim_ret
; c9592
BattleAnim_EnemyStatDown: ; c9592
- anim_call BattleAnim_EnemyStatDown_branch_cbcc2
+ anim_call BattleAnim_FollowEnemyFeet_1
anim_bgeffect ANIM_BG_VIBRATE_MON, $0, $0, $0
anim_wait 40
- anim_call BattleAnim_EnemyStatDown_branch_cbcd2
+ anim_call BattleAnim_ShowMon_1
anim_wait 1
anim_ret
; c95a0
BattleAnim_PlayerStatDown: ; c95a0
- anim_call BattleAnim_PlayerStatDown_branch_cbcc2
+ anim_call BattleAnim_FollowEnemyFeet_1
anim_bgeffect ANIM_BG_WOBBLE_MON, $0, $0, $0
anim_wait 40
- anim_call BattleAnim_PlayerStatDown_branch_cbcd2
+ anim_call BattleAnim_ShowMon_1
anim_wait 1
anim_ret
; c95ae
BattleAnim_PlayerDamage: ; c95ae
- anim_bgeffect $20, $20, $2, $20
+ anim_bgeffect ANIM_BG_20, $20, $2, $20
anim_wait 40
anim_ret
; c95b5
BattleAnim_Wobble: ; c95b5
- anim_bgeffect $35, $0, $0, $0
+ anim_bgeffect ANIM_BG_35, $0, $0, $0
anim_wait 40
anim_ret
; c95bc
BattleAnim_Shake: ; c95bc
- anim_bgeffect $1f, $20, $2, $40
+ anim_bgeffect ANIM_BG_1F, $20, $2, $40
anim_wait 40
anim_ret
; c95c3
@@ -684,10 +681,10 @@
BattleAnim_Pound: ; c95c3
anim_1gfx ANIM_GFX_HIT
- anim_sound $1, SFX_POUND
- anim_obj $8, 136, 56, $0
+ anim_sound 0, 1, SFX_POUND
+ anim_obj ANIM_OBJ_08, -15, 0, 7, 0, $0
anim_wait 6
- anim_obj $1, 136, 56, $0
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 16
anim_ret
; c95d5
@@ -694,20 +691,20 @@
BattleAnim_KarateChop: ; c95d5
anim_1gfx ANIM_GFX_HIT
- anim_sound $1, SFX_KARATE_CHOP
- anim_obj $8, 136, 40, $0
+ anim_sound 0, 1, SFX_KARATE_CHOP
+ anim_obj ANIM_OBJ_08, -15, 0, 5, 0, $0
anim_wait 6
- anim_obj $1, 136, 40, $0
+ anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0
anim_wait 6
- anim_sound $1, SFX_KARATE_CHOP
- anim_obj $8, 136, 44, $0
+ anim_sound 0, 1, SFX_KARATE_CHOP
+ anim_obj ANIM_OBJ_08, -15, 0, 5, 4, $0
anim_wait 6
- anim_obj $1, 136, 44, $0
+ anim_obj ANIM_OBJ_01, -15, 0, 5, 4, $0
anim_wait 6
- anim_sound $1, SFX_KARATE_CHOP
- anim_obj $8, 136, 48, $0
+ anim_sound 0, 1, SFX_KARATE_CHOP
+ anim_obj ANIM_OBJ_08, -15, 0, 6, 0, $0
anim_wait 6
- anim_obj $1, 136, 48, $0
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
anim_wait 16
anim_ret
; c9605
@@ -715,19 +712,19 @@
BattleAnim_Doubleslap: ; c9605
anim_1gfx ANIM_GFX_HIT
anim_jumpif $1, BattleAnim_Doubleslap_branch_c961b
- anim_sound $1, SFX_DOUBLESLAP
- anim_obj $8, 144, 48, $0
+ anim_sound 0, 1, SFX_DOUBLESLAP
+ anim_obj ANIM_OBJ_08, -14, 0, 6, 0, $0
anim_wait 6
- anim_obj $1, 144, 48, $0
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
anim_wait 8
anim_ret
; c961b
BattleAnim_Doubleslap_branch_c961b: ; c961b
- anim_sound $1, SFX_DOUBLESLAP
- anim_obj $8, 120, 48, $0
+ anim_sound 0, 1, SFX_DOUBLESLAP
+ anim_obj ANIM_OBJ_08, 15, 0, 6, 0, $0
anim_wait 6
- anim_obj $1, 120, 48, $0
+ anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
anim_wait 8
anim_ret
; c962b
@@ -735,19 +732,19 @@
BattleAnim_CometPunch: ; c962b
anim_1gfx ANIM_GFX_HIT
anim_jumpif $1, BattleAnim_CometPunch_branch_c9641
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $6, 144, 48, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_06, -14, 0, 6, 0, $0
anim_wait 6
- anim_obj $1, 144, 48, $0
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
anim_wait 8
anim_ret
; c9641
BattleAnim_CometPunch_branch_c9641: ; c9641
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $6, 120, 64, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_06, 15, 0, 8, 0, $0
anim_wait 6
- anim_obj $1, 120, 64, $0
+ anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0
anim_wait 8
anim_ret
; c9651
@@ -755,37 +752,36 @@
BattleAnim_Bide_branch_c9651: ; c9651
BattleAnim_MegaPunch: ; c9651
anim_1gfx ANIM_GFX_HIT
- anim_bgeffect $1f, $40, $2, $0
+ anim_bgeffect ANIM_BG_1F, $40, $2, $0
anim_wait 48
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
-BattleAnim_Bide_branch_c965e: ; c965e
-BattleAnim_MegaPunch_branch_c965e: ; c965e
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $6, 136, 56, $0
- anim_obj $0, 136, 56, $0
+.loop
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
anim_wait 6
- anim_obj $6, 136, 56, $0
+ anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0
anim_wait 6
- anim_loop $3, BattleAnim_Bide_branch_c965e
+ anim_loop 3, .loop
anim_ret
; c9677
BattleAnim_Stomp: ; c9677
anim_1gfx ANIM_GFX_HIT
- anim_sound $1, SFX_STOMP
- anim_obj $7, 136, 40, $0
+ anim_sound 0, 1, SFX_STOMP
+ anim_obj ANIM_OBJ_07, -15, 0, 5, 0, $0
anim_wait 6
- anim_obj $1, 136, 40, $0
+ anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0
anim_wait 6
- anim_sound $1, SFX_STOMP
- anim_obj $7, 136, 44, $0
+ anim_sound 0, 1, SFX_STOMP
+ anim_obj ANIM_OBJ_07, -15, 0, 5, 4, $0
anim_wait 6
- anim_obj $1, 136, 44, $0
+ anim_obj ANIM_OBJ_01, -15, 0, 5, 4, $0
anim_wait 6
- anim_sound $1, SFX_STOMP
- anim_obj $7, 136, 48, $0
+ anim_sound 0, 1, SFX_STOMP
+ anim_obj ANIM_OBJ_07, -15, 0, 6, 0, $0
anim_wait 6
- anim_obj $1, 136, 48, $0
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
anim_wait 16
anim_ret
; c96a7
@@ -793,19 +789,19 @@
BattleAnim_DoubleKick: ; c96a7
anim_1gfx ANIM_GFX_HIT
anim_jumpif $1, BattleAnim_DoubleKick_branch_c96bd
- anim_sound $1, SFX_DOUBLE_KICK
- anim_obj $7, 144, 48, $0
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, -14, 0, 6, 0, $0
anim_wait 6
- anim_obj $1, 144, 48, $0
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
anim_wait 8
anim_ret
; c96bd
BattleAnim_DoubleKick_branch_c96bd: ; c96bd
- anim_sound $1, SFX_DOUBLE_KICK
- anim_obj $7, 120, 64, $0
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, 15, 0, 8, 0, $0
anim_wait 6
- anim_obj $1, 120, 64, $0
+ anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0
anim_wait 8
anim_ret
; c96cd
@@ -813,14 +809,14 @@
BattleAnim_JumpKick: ; c96cd
anim_1gfx ANIM_GFX_HIT
anim_jumpif $1, BattleAnim_JumpKick_branch_c96f1
- anim_sound $1, SFX_JUMP_KICK
- anim_obj $7, 112, 72, $0
- anim_obj $7, 100, 60, $0
+ anim_sound 0, 1, SFX_JUMP_KICK
+ anim_obj ANIM_OBJ_07, 14, 0, 9, 0, $0
+ anim_obj ANIM_OBJ_07, 12, 4, 7, 4, $0
anim_setobj $1, $2
anim_setobj $2, $2
anim_wait 24
- anim_sound $1, SFX_DOUBLE_KICK
- anim_obj $4, 136, 48, $0
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0
anim_wait 16
anim_ret
; c96f1
@@ -827,8 +823,8 @@
BattleAnim_JumpKick_branch_c96f1: ; c96f1
anim_wait 8
- anim_sound $0, SFX_DOUBLE_KICK
- anim_obj $4, 44, 88, $0
+ anim_sound 0, 0, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_04, 5, 4, 11, 0, $0
anim_wait 16
anim_ret
; c96fc
@@ -835,15 +831,15 @@
BattleAnim_HiJumpKick: ; c96fc
anim_1gfx ANIM_GFX_HIT
- anim_bgeffect $1f, $40, $2, $0
+ anim_bgeffect ANIM_BG_1F, $40, $2, $0
anim_jumpif $1, BattleAnim_HiJumpKick_branch_c971e
anim_wait 32
- anim_sound $1, SFX_JUMP_KICK
- anim_obj $7, 112, 72, $0
+ anim_sound 0, 1, SFX_JUMP_KICK
+ anim_obj ANIM_OBJ_07, 14, 0, 9, 0, $0
anim_setobj $1, $2
anim_wait 16
- anim_sound $1, SFX_DOUBLE_KICK
- anim_obj $4, 136, 48, $0
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0
anim_wait 16
anim_ret
; c971e
@@ -850,8 +846,8 @@
BattleAnim_HiJumpKick_branch_c971e: ; c971e
anim_wait 16
- anim_sound $0, SFX_DOUBLE_KICK
- anim_obj $4, 44, 88, $0
+ anim_sound 0, 0, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_04, 5, 4, 11, 0, $0
anim_wait 16
anim_ret
; c9729
@@ -858,11 +854,11 @@
BattleAnim_RollingKick: ; c9729
anim_1gfx ANIM_GFX_HIT
- anim_sound $1, SFX_DOUBLE_KICK
- anim_obj $7, 112, 56, $0
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, 14, 0, 7, 0, $0
anim_setobj $1, $3
anim_wait 12
- anim_obj $1, 136, 48, $0
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
anim_wait 16
anim_ret
; c973e
@@ -869,27 +865,27 @@
BattleAnim_MegaKick: ; c973e
anim_1gfx ANIM_GFX_HIT
- anim_bgeffect $1f, $40, $2, $0
+ anim_bgeffect ANIM_BG_1F, $40, $2, $0
anim_wait 67
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
-BattleAnim_MegaKick_branch_c974b: ; c974b
- anim_sound $1, SFX_MEGA_KICK
- anim_obj $7, 136, 56, $0
- anim_obj $0, 136, 56, $0
+.loop
+ anim_sound 0, 1, SFX_MEGA_KICK
+ anim_obj ANIM_OBJ_07, -15, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
anim_wait 6
- anim_obj $7, 136, 56, $0
+ anim_obj ANIM_OBJ_07, -15, 0, 7, 0, $0
anim_wait 6
- anim_loop $3, BattleAnim_MegaKick_branch_c974b
+ anim_loop 3, .loop
anim_ret
; c9764
BattleAnim_HyperFang: ; c9764
anim_1gfx ANIM_GFX_HIT
- anim_bgeffect $1f, $20, $1, $0
- anim_sound $1, SFX_BITE
- anim_obj $9, 136, 56, $0
+ anim_bgeffect ANIM_BG_1F, $20, $1, $0
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0
anim_wait 6
- anim_obj $1, 136, 56, $0
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 16
anim_ret
; c977b
@@ -896,38 +892,38 @@
BattleAnim_SuperFang: ; c977b
anim_1gfx ANIM_GFX_HIT
- anim_bgeffect $1f, $40, $2, $0
+ anim_bgeffect ANIM_BG_1F, $40, $2, $0
anim_wait 48
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
-BattleAnim_SuperFang_branch_c9788: ; c9788
- anim_sound $1, SFX_BITE
- anim_obj $9, 136, 56, $0
- anim_obj $0, 136, 56, $0
+.loop
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
anim_wait 6
- anim_obj $9, 136, 56, $0
+ anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0
anim_wait 6
- anim_loop $3, BattleAnim_SuperFang_branch_c9788
+ anim_loop 3, .loop
anim_ret
; c97a1
BattleAnim_Ember: ; c97a1
anim_1gfx ANIM_GFX_FIRE
- anim_sound $1a, SFX_EMBER
- anim_obj $b, 64, 96, $12
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0B, 8, 0, 12, 0, $12
anim_wait 4
- anim_sound $1a, SFX_EMBER
- anim_obj $b, 64, 100, $14
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0B, 8, 0, 12, 4, $14
anim_wait 4
- anim_sound $1a, SFX_EMBER
- anim_obj $b, 64, 84, $13
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0B, 8, 0, 10, 4, $13
anim_wait 16
- anim_incobj $1
- anim_incobj $2
- anim_incobj $3
- anim_sound $1, SFX_EMBER
- anim_obj $b, 120, 68, $30
- anim_obj $b, 132, 68, $30
- anim_obj $b, 144, 68, $30
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_sound 0, 1, SFX_EMBER
+ anim_obj ANIM_OBJ_0B, 15, 0, 8, 4, $30
+ anim_obj ANIM_OBJ_0B, -16, 4, 8, 4, $30
+ anim_obj ANIM_OBJ_0B, -14, 0, 8, 4, $30
anim_wait 32
anim_ret
; c97d8
@@ -934,7 +930,7 @@
BattleAnim_FirePunch: ; c97d8
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_FIRE
- anim_obj $a, 136, 56, $43
+ anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43
anim_call BattleAnim_FirePunch_branch_cbbcc
anim_wait 16
anim_ret
@@ -942,20 +938,20 @@
BattleAnim_FireSpin: ; c97e5
anim_1gfx ANIM_GFX_FIRE
-BattleAnim_FireSpin_branch_c97e7: ; c97e7
- anim_sound $1a, SFX_EMBER
- anim_obj $e, 64, 88, $4
+.loop
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0E, 8, 0, 11, 0, $4
anim_wait 2
- anim_sound $1a, SFX_EMBER
- anim_obj $e, 64, 96, $3
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0E, 8, 0, 12, 0, $3
anim_wait 2
- anim_sound $1a, SFX_EMBER
- anim_obj $e, 64, 88, $3
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0E, 8, 0, 11, 0, $3
anim_wait 2
- anim_sound $1a, SFX_EMBER
- anim_obj $e, 64, 96, $4
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0E, 8, 0, 12, 0, $4
anim_wait 2
- anim_loop $2, BattleAnim_FireSpin_branch_c97e7
+ anim_loop 2, .loop
anim_wait 96
anim_ret
; c9811
@@ -962,11 +958,11 @@
BattleAnim_DragonRage: ; c9811
anim_1gfx ANIM_GFX_FIRE
-BattleAnim_DragonRage_branch_c9813: ; c9813
- anim_sound $1a, SFX_EMBER
- anim_obj $c, 64, 92, $0
+.loop
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0C, 8, 0, 11, 4, $0
anim_wait 3
- anim_loop $10, BattleAnim_DragonRage_branch_c9813
+ anim_loop 16, .loop
anim_wait 64
anim_ret
; c9822
@@ -973,27 +969,27 @@
BattleAnim_Flamethrower: ; c9822
anim_1gfx ANIM_GFX_FIRE
- anim_sound $1a, SFX_EMBER
- anim_obj $d, 64, 92, $3
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0D, 8, 0, 11, 4, $3
anim_wait 2
- anim_obj $d, 75, 86, $5
+ anim_obj ANIM_OBJ_0D, 9, 3, 10, 6, $5
anim_wait 2
- anim_obj $d, 85, 81, $7
+ anim_obj ANIM_OBJ_0D, 10, 5, 10, 1, $7
anim_wait 2
- anim_obj $d, 96, 76, $9
+ anim_obj ANIM_OBJ_0D, 12, 0, 9, 4, $9
anim_wait 2
- anim_obj $d, 106, 71, $b
+ anim_obj ANIM_OBJ_0D, 13, 2, 8, 7, $b
anim_wait 2
- anim_obj $d, 116, 66, $c
+ anim_obj ANIM_OBJ_0D, 14, 4, 8, 2, $c
anim_wait 2
- anim_obj $d, 126, 61, $a
+ anim_obj ANIM_OBJ_0D, 15, 6, 7, 5, $a
anim_wait 2
- anim_obj $d, 136, 56, $8
+ anim_obj ANIM_OBJ_0D, -15, 0, 7, 0, $8
anim_wait 16
-BattleAnim_Flamethrower_branch_c9857: ; c9857
- anim_sound $1, SFX_EMBER
+.loop
+ anim_sound 0, 1, SFX_EMBER
anim_wait 16
- anim_loop $6, BattleAnim_Flamethrower_branch_c9857
+ anim_loop 6, .loop
anim_wait 16
anim_ret
; c9861
@@ -1000,35 +996,35 @@
BattleAnim_FireBlast: ; c9861
anim_1gfx ANIM_GFX_FIRE
-BattleAnim_FireBlast_branch_c9863: ; c9863
- anim_sound $1a, SFX_EMBER
- anim_obj $f, 64, 92, $7
+.loop1
+ anim_sound 6, 2, SFX_EMBER
+ anim_obj ANIM_OBJ_0F, 8, 0, 11, 4, $7
anim_wait 6
- anim_loop $a, BattleAnim_FireBlast_branch_c9863
-BattleAnim_FireBlast_branch_c9870: ; c9870
- anim_sound $1, SFX_EMBER
+ anim_loop 10, .loop1
+.loop2
+ anim_sound 0, 1, SFX_EMBER
anim_wait 8
- anim_loop $a, BattleAnim_FireBlast_branch_c9870
- anim_incobj $1
- anim_incobj $2
- anim_incobj $3
- anim_incobj $4
- anim_incobj $5
- anim_incobj $6
- anim_incobj $7
- anim_incobj $8
- anim_incobj $9
- anim_incobj $a
+ anim_loop 10, .loop2
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_incobj 4
+ anim_incobj 5
+ anim_incobj 6
+ anim_incobj 7
+ anim_incobj 8
+ anim_incobj 9
+ anim_incobj 10
anim_wait 2
-BattleAnim_FireBlast_branch_c988d: ; c988d
- anim_sound $1, SFX_EMBER
- anim_obj $f, 136, 56, $1
- anim_obj $f, 136, 56, $2
- anim_obj $f, 136, 56, $3
- anim_obj $f, 136, 56, $4
- anim_obj $f, 136, 56, $5
+.loop3
+ anim_sound 0, 1, SFX_EMBER
+ anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $1
+ anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $2
+ anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $3
+ anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $4
+ anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $5
anim_wait 16
- anim_loop $2, BattleAnim_FireBlast_branch_c988d
+ anim_loop 2, .loop3
anim_wait 32
anim_ret
; c98b0
@@ -1035,7 +1031,7 @@
BattleAnim_IcePunch: ; c98b0
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_ICE
- anim_obj $a, 136, 56, $43
+ anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43
anim_call BattleAnim_IcePunch_branch_cbbdf
anim_wait 32
anim_ret
@@ -1043,21 +1039,21 @@
BattleAnim_IceBeam: ; c98bd
anim_1gfx ANIM_GFX_ICE
-BattleAnim_IceBeam_branch_c98bf: ; c98bf
- anim_sound $1a, SFX_SHINE
- anim_obj $13, 64, 92, $4
+.loop
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_13, 8, 0, 11, 4, $4
anim_wait 4
- anim_loop $5, BattleAnim_IceBeam_branch_c98bf
- anim_obj $29, 136, 74, $10
-BattleAnim_IceBeam_branch_c98d1: ; c98d1
- anim_sound $1a, SFX_SHINE
- anim_obj $13, 64, 92, $4
+ anim_loop 5, .loop
+ anim_obj ANIM_OBJ_29, -15, 0, 9, 2, $10
+.loop2
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_13, 8, 0, 11, 4, $4
anim_wait 4
- anim_loop $f, BattleAnim_IceBeam_branch_c98d1
+ anim_loop 15, .loop2
anim_wait 48
- anim_sound $1, SFX_SHINE
+ anim_sound 0, 1, SFX_SHINE
anim_wait 8
- anim_sound $1, SFX_SHINE
+ anim_sound 0, 1, SFX_SHINE
anim_wait 8
anim_ret
; c98e8
@@ -1064,24 +1060,24 @@
BattleAnim_Blizzard: ; c98e8
anim_1gfx ANIM_GFX_ICE
-BattleAnim_Blizzard_branch_c98ea: ; c98ea
- anim_sound $1a, SFX_SHINE
- anim_obj $11, 64, 88, $63
+.loop
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_11, 8, 0, 11, 0, $63
anim_wait 2
- anim_sound $1a, SFX_SHINE
- anim_obj $11, 64, 80, $64
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_11, 8, 0, 10, 0, $64
anim_wait 2
- anim_sound $1a, SFX_SHINE
- anim_obj $11, 64, 96, $63
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_11, 8, 0, 12, 0, $63
anim_wait 2
- anim_loop $3, BattleAnim_Blizzard_branch_c98ea
+ anim_loop 3, .loop
anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0
anim_wait 32
- anim_obj $29, 136, 74, $10
+ anim_obj ANIM_OBJ_29, -15, 0, 9, 2, $10
anim_wait 128
- anim_sound $1, SFX_SHINE
+ anim_sound 0, 1, SFX_SHINE
anim_wait 8
- anim_sound $1, SFX_SHINE
+ anim_sound 0, 1, SFX_SHINE
anim_wait 24
anim_ret
; c991e
@@ -1088,14 +1084,14 @@
BattleAnim_Bubble: ; c991e
anim_1gfx ANIM_GFX_BUBBLE
- anim_sound $82, SFX_WATER_GUN
- anim_obj $21, 64, 92, $c1
+ anim_sound 32, 2, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_21, 8, 0, 11, 4, $c1
anim_wait 6
- anim_sound $82, SFX_WATER_GUN
- anim_obj $21, 64, 92, $e1
+ anim_sound 32, 2, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_21, 8, 0, 11, 4, $e1
anim_wait 6
- anim_sound $82, SFX_WATER_GUN
- anim_obj $21, 64, 92, $d1
+ anim_sound 32, 2, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_21, 8, 0, 11, 4, $d1
anim_wait 128
anim_wait 32
anim_ret
@@ -1103,87 +1099,87 @@
BattleAnim_Bubblebeam: ; c993d
anim_1gfx ANIM_GFX_BUBBLE
-BattleAnim_Bubblebeam_branch_c993f: ; c993f
- anim_sound $42, SFX_BUBBLEBEAM
- anim_obj $21, 64, 92, $92
+.loop
+ anim_sound 16, 2, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_21, 8, 0, 11, 4, $92
anim_wait 6
- anim_sound $42, SFX_BUBBLEBEAM
- anim_obj $21, 64, 92, $b3
+ anim_sound 16, 2, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_21, 8, 0, 11, 4, $b3
anim_wait 6
- anim_sound $42, SFX_BUBBLEBEAM
- anim_obj $21, 64, 92, $f4
+ anim_sound 16, 2, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_21, 8, 0, 11, 4, $f4
anim_wait 8
- anim_loop $3, BattleAnim_Bubblebeam_branch_c993f
+ anim_loop 3, .loop
anim_wait 64
anim_clearobjs
- anim_bgeffect $30, $0, $0, $0
+ anim_bgeffect ANIM_BG_30, $0, $0, $0
anim_wait 1
- anim_call BattleAnim_Bubblebeam_branch_cbcca
- anim_bgeffect $31, $1c, $0, $0
+ anim_call BattleAnim_FollowPlayerHead_1
+ anim_bgeffect ANIM_BG_31, $1c, $0, $0
anim_wait 19
- anim_call BattleAnim_Bubblebeam_branch_cbcd2
- anim_bgeffect $32, $0, $0, $0
+ anim_call BattleAnim_ShowMon_1
+ anim_bgeffect ANIM_BG_32, $0, $0, $0
anim_wait 8
anim_ret
; c9979
BattleAnim_WaterGun: ; c9979
- anim_bgeffect $30, $0, $0, $0
+ anim_bgeffect ANIM_BG_30, $0, $0, $0
anim_1gfx ANIM_GFX_WATER
- anim_call BattleAnim_WaterGun_branch_cbcca
- anim_sound $42, SFX_WATER_GUN
- anim_obj $24, 64, 88, $0
+ anim_call BattleAnim_FollowPlayerHead_1
+ anim_sound 16, 2, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_24, 8, 0, 11, 0, $0
anim_wait 8
- anim_obj $24, 64, 76, $0
+ anim_obj ANIM_OBJ_24, 8, 0, 9, 4, $0
anim_wait 8
- anim_obj $24, 64, 82, $0
+ anim_obj ANIM_OBJ_24, 8, 0, 10, 2, $0
anim_wait 24
- anim_bgeffect $31, $1c, $0, $0
+ anim_bgeffect ANIM_BG_31, $1c, $0, $0
anim_wait 8
- anim_bgeffect $31, $8, $0, $0
+ anim_bgeffect ANIM_BG_31, $8, $0, $0
anim_wait 8
- anim_bgeffect $31, $30, $0, $0
+ anim_bgeffect ANIM_BG_31, $30, $0, $0
anim_wait 32
- anim_call BattleAnim_WaterGun_branch_cbcd2
- anim_bgeffect $32, $0, $0, $0
+ anim_call BattleAnim_ShowMon_1
+ anim_bgeffect ANIM_BG_32, $0, $0, $0
anim_wait 16
anim_ret
; c99b4
BattleAnim_HydroPump: ; c99b4
- anim_bgeffect $30, $0, $0, $0
+ anim_bgeffect ANIM_BG_30, $0, $0, $0
anim_1gfx ANIM_GFX_WATER
- anim_call BattleAnim_HydroPump_branch_cbcca
- anim_sound $1, SFX_HYDRO_PUMP
- anim_obj $25, 108, 72, $0
- anim_bgeffect $31, $1c, $0, $0
+ anim_call BattleAnim_FollowPlayerHead_1
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_25, 13, 4, 9, 0, $0
+ anim_bgeffect ANIM_BG_31, $1c, $0, $0
anim_wait 8
- anim_sound $1, SFX_HYDRO_PUMP
- anim_obj $25, 116, 72, $0
- anim_bgeffect $31, $8, $0, $0
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_25, 14, 4, 9, 0, $0
+ anim_bgeffect ANIM_BG_31, $8, $0, $0
anim_wait 8
- anim_sound $1, SFX_HYDRO_PUMP
- anim_obj $25, 124, 72, $0
- anim_bgeffect $31, $30, $0, $0
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_25, 15, 4, 9, 0, $0
+ anim_bgeffect ANIM_BG_31, $30, $0, $0
anim_wait 8
- anim_sound $1, SFX_HYDRO_PUMP
- anim_obj $25, 132, 72, $0
- anim_bgeffect $31, $1c, $0, $0
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_25, -16, 4, 9, 0, $0
+ anim_bgeffect ANIM_BG_31, $1c, $0, $0
anim_wait 8
- anim_sound $1, SFX_HYDRO_PUMP
- anim_obj $25, 140, 72, $0
- anim_bgeffect $31, $8, $0, $0
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_25, -15, 4, 9, 0, $0
+ anim_bgeffect ANIM_BG_31, $8, $0, $0
anim_wait 8
- anim_sound $1, SFX_HYDRO_PUMP
- anim_obj $25, 148, 72, $0
- anim_bgeffect $31, $30, $0, $0
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_25, -14, 4, 9, 0, $0
+ anim_bgeffect ANIM_BG_31, $30, $0, $0
anim_wait 8
- anim_sound $1, SFX_HYDRO_PUMP
- anim_obj $25, 156, 72, $0
- anim_bgeffect $31, $1c, $0, $0
+ anim_sound 0, 1, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_25, -13, 4, 9, 0, $0
+ anim_bgeffect ANIM_BG_31, $1c, $0, $0
anim_wait 32
- anim_call BattleAnim_HydroPump_branch_cbcd2
- anim_bgeffect $32, $0, $0, $0
+ anim_call BattleAnim_ShowMon_1
+ anim_bgeffect ANIM_BG_32, $0, $0, $0
anim_wait 16
anim_ret
; c9a2a
@@ -1191,12 +1187,12 @@
BattleAnim_Surf: ; c9a2a
anim_1gfx ANIM_GFX_BUBBLE
anim_bgeffect ANIM_BG_SURF, $0, $0, $0
- anim_obj $22, 88, 104, $8
-BattleAnim_Surf_branch_c9a36: ; c9a36
- anim_sound $1, SFX_SURF
+ anim_obj ANIM_OBJ_22, 11, 0, 13, 0, $8
+.loop
+ anim_sound 0, 1, SFX_SURF
anim_wait 32
- anim_loop $4, BattleAnim_Surf_branch_c9a36
- anim_incobj $1
+ anim_loop 4, .loop
+ anim_incobj 1
anim_wait 56
anim_ret
; c9a42
@@ -1203,13 +1199,13 @@
BattleAnim_VineWhip: ; c9a42
anim_1gfx ANIM_GFX_WHIP
- anim_sound $1, SFX_VINE_WHIP
- anim_obj $40, 116, 52, $80
+ anim_sound 0, 1, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_40, 14, 4, 6, 4, $80
anim_wait 4
- anim_sound $1, SFX_VINE_WHIP
- anim_obj $3f, 128, 60, $0
+ anim_sound 0, 1, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_3F, 16, 0, 7, 4, $0
anim_wait 4
- anim_incobj $1
+ anim_incobj 1
anim_wait 4
anim_ret
; c9a5a
@@ -1216,16 +1212,16 @@
BattleAnim_LeechSeed: ; c9a5a
anim_1gfx ANIM_GFX_PLANT
- anim_sound $42, SFX_VINE_WHIP
- anim_obj $4a, 48, 80, $20
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_4A, 6, 0, 10, 0, $20
anim_wait 8
- anim_sound $42, SFX_VINE_WHIP
- anim_obj $4a, 48, 80, $30
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_4A, 6, 0, 10, 0, $30
anim_wait 8
- anim_sound $42, SFX_VINE_WHIP
- anim_obj $4a, 48, 80, $28
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_4A, 6, 0, 10, 0, $28
anim_wait 32
- anim_sound $1, SFX_CHARGE
+ anim_sound 0, 1, SFX_CHARGE
anim_wait 128
anim_ret
; c9a7c
@@ -1232,48 +1228,48 @@
BattleAnim_RazorLeaf: ; c9a7c
anim_1gfx ANIM_GFX_PLANT
- anim_sound $0, SFX_VINE_WHIP
- anim_obj $14, 48, 80, $28
- anim_obj $14, 48, 80, $5c
- anim_obj $14, 48, 80, $10
- anim_obj $14, 48, 80, $e8
- anim_obj $14, 48, 80, $9c
- anim_obj $14, 48, 80, $d0
+ anim_sound 0, 0, SFX_VINE_WHIP
+ anim_obj ANIM_OBJ_14, 6, 0, 10, 0, $28
+ anim_obj ANIM_OBJ_14, 6, 0, 10, 0, $5c
+ anim_obj ANIM_OBJ_14, 6, 0, 10, 0, $10
+ anim_obj ANIM_OBJ_14, 6, 0, 10, 0, $e8
+ anim_obj ANIM_OBJ_14, 6, 0, 10, 0, $9c
+ anim_obj ANIM_OBJ_14, 6, 0, 10, 0, $d0
anim_wait 6
- anim_obj $14, 48, 80, $1c
- anim_obj $14, 48, 80, $50
- anim_obj $14, 48, 80, $dc
- anim_obj $14, 48, 80, $90
+ anim_obj ANIM_OBJ_14, 6, 0, 10, 0, $1c
+ anim_obj ANIM_OBJ_14, 6, 0, 10, 0, $50
+ anim_obj ANIM_OBJ_14, 6, 0, 10, 0, $dc
+ anim_obj ANIM_OBJ_14, 6, 0, 10, 0, $90
anim_wait 80
- anim_sound $42, SFX_VINE_WHIP
- anim_incobj $3
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 3
anim_wait 2
- anim_sound $42, SFX_VINE_WHIP
- anim_incobj $5
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 5
anim_wait 2
- anim_sound $42, SFX_VINE_WHIP
- anim_incobj $7
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 7
anim_wait 2
- anim_sound $42, SFX_VINE_WHIP
- anim_incobj $9
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 9
anim_wait 2
- anim_sound $42, SFX_VINE_WHIP
- anim_incobj $1
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 1
anim_wait 2
- anim_sound $42, SFX_VINE_WHIP
- anim_incobj $2
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 2
anim_wait 2
- anim_sound $42, SFX_VINE_WHIP
- anim_incobj $4
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 4
anim_wait 2
- anim_sound $42, SFX_VINE_WHIP
- anim_incobj $6
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 6
anim_wait 2
- anim_sound $42, SFX_VINE_WHIP
- anim_incobj $8
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 8
anim_wait 2
- anim_sound $42, SFX_VINE_WHIP
- anim_incobj $a
+ anim_sound 16, 2, SFX_VINE_WHIP
+ anim_incobj 10
anim_wait 64
anim_ret
; c9af2
@@ -1281,16 +1277,16 @@
BattleAnim_Solarbeam: ; c9af2
anim_jumpif $0, BattleAnim_Solarbeam_branch_c9b30
anim_1gfx ANIM_GFX_CHARGE
- anim_sound $0, SFX_CHARGE
- anim_obj $3d, 48, 84, $0
- anim_obj $3c, 48, 84, $0
- anim_obj $3c, 48, 84, $8
- anim_obj $3c, 48, 84, $10
- anim_obj $3c, 48, 84, $18
- anim_obj $3c, 48, 84, $20
- anim_obj $3c, 48, 84, $28
- anim_obj $3c, 48, 84, $30
- anim_obj $3c, 48, 84, $38
+ anim_sound 0, 0, SFX_CHARGE
+ anim_obj ANIM_OBJ_3D, 6, 0, 10, 4, $0
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $0
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $8
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $10
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $18
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $20
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $28
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $30
+ anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $38
anim_wait 104
anim_bgeffect ANIM_BG_FLASH_WHITE, $0, $4, $2
anim_wait 64
@@ -1299,7 +1295,7 @@
BattleAnim_Solarbeam_branch_c9b30: ; c9b30
anim_1gfx ANIM_GFX_BEAM
- anim_bgeffect $6, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_call BattleAnim_Solarbeam_branch_cbb39
anim_wait 48
anim_ret
@@ -1307,10 +1303,10 @@
BattleAnim_Thunderpunch: ; c9b3c
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_LIGHTNING
- anim_obj $a, 136, 56, $43
+ anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $2
- anim_sound $1, SFX_THUNDER
- anim_obj $2f, 152, 68, $0
+ anim_sound 0, 1, SFX_THUNDER
+ anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0
anim_wait 64
anim_ret
; c9b53
@@ -1317,10 +1313,10 @@
BattleAnim_Thundershock: ; c9b53
anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
- anim_obj $34, 136, 56, $2
+ anim_obj ANIM_OBJ_34, -15, 0, 7, 0, $2
anim_wait 16
- anim_sound $1, SFX_THUNDERSHOCK
- anim_obj $33, 136, 56, $0
+ anim_sound 0, 1, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0
anim_wait 96
anim_ret
; c9b66
@@ -1327,11 +1323,11 @@
BattleAnim_Thunderbolt: ; c9b66
anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
- anim_obj $32, 136, 56, $2
+ anim_obj ANIM_OBJ_32, -15, 0, 7, 0, $2
anim_wait 16
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_sound $1, SFX_THUNDERSHOCK
- anim_obj $31, 136, 56, $0
+ anim_sound 0, 1, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0
anim_wait 64
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
anim_wait 64
@@ -1341,11 +1337,11 @@
BattleAnim_ThunderWave: ; c9b84
anim_1gfx ANIM_GFX_LIGHTNING
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
- anim_sound $1, SFX_THUNDERSHOCK
- anim_obj $30, 136, 56, $0
+ anim_sound 0, 1, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_30, -15, 0, 7, 0, $0
anim_wait 20
anim_bgp $1b
- anim_incobj $1
+ anim_incobj 1
anim_wait 96
anim_ret
; c9b9a
@@ -1353,14 +1349,14 @@
BattleAnim_Thunder: ; c9b9a
anim_1gfx ANIM_GFX_LIGHTNING
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $20
- anim_sound $1, SFX_THUNDER
- anim_obj $2e, 120, 68, $0
+ anim_sound 0, 1, SFX_THUNDER
+ anim_obj ANIM_OBJ_2E, 15, 0, 8, 4, $0
anim_wait 16
- anim_sound $1, SFX_THUNDER
- anim_obj $2f, 152, 68, $0
+ anim_sound 0, 1, SFX_THUNDER
+ anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0
anim_wait 16
- anim_sound $1, SFX_THUNDER
- anim_obj $2d, 136, 68, $0
+ anim_sound 0, 1, SFX_THUNDER
+ anim_obj ANIM_OBJ_2D, -15, 0, 8, 4, $0
anim_wait 48
anim_ret
; c9bbd
@@ -1368,25 +1364,25 @@
BattleAnim_RazorWind: ; c9bbd
anim_jumpif $1, BattleAnim_RazorWind_branch_c9fb5
anim_1gfx ANIM_GFX_WHIP
- anim_bgeffect $6, $0, $1, $0
-BattleAnim_RazorWind_branch_c9bc8: ; c9bc8
+ anim_bgeffect ANIM_BG_06, $0, $1, $0
+.loop
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_sound $1, SFX_RAZOR_WIND
- anim_obj $42, 152, 40, $3
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_42, -13, 0, 5, 0, $3
anim_wait 4
- anim_sound $1, SFX_RAZOR_WIND
- anim_obj $42, 136, 56, $3
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_42, -15, 0, 7, 0, $3
anim_wait 4
- anim_sound $1, SFX_RAZOR_WIND
- anim_obj $42, 152, 64, $3
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_42, -13, 0, 8, 0, $3
anim_wait 4
- anim_sound $1, SFX_RAZOR_WIND
- anim_obj $41, 120, 40, $83
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_41, 15, 0, 5, 0, $83
anim_wait 4
- anim_sound $1, SFX_RAZOR_WIND
- anim_obj $41, 120, 64, $83
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_41, 15, 0, 8, 0, $83
anim_wait 4
- anim_loop $3, BattleAnim_RazorWind_branch_c9bc8
+ anim_loop 3, .loop
anim_wait 24
anim_ret
; c9c00
@@ -1393,25 +1389,25 @@
BattleAnim_Sonicboom_JP: ; c9c00
anim_2gfx ANIM_GFX_WHIP, ANIM_GFX_HIT
-BattleAnim_Sonicboom_JP_branch_c9c03: ; c9c03
- anim_sound $c, SFX_RAZOR_WIND
- anim_obj $43, 64, 80, $3
+.loop
+ anim_sound 3, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_43, 8, 0, 10, 0, $3
anim_wait 8
- anim_sound $c, SFX_RAZOR_WIND
- anim_obj $43, 64, 88, $2
+ anim_sound 3, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_43, 8, 0, 11, 0, $2
anim_wait 8
- anim_sound $c, SFX_RAZOR_WIND
- anim_obj $43, 64, 96, $4
+ anim_sound 3, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_43, 8, 0, 12, 0, $4
anim_wait 8
- anim_loop $2, BattleAnim_Sonicboom_JP_branch_c9c03
+ anim_loop 2, .loop
anim_wait 32
- anim_incobj $1
- anim_incobj $2
- anim_incobj $3
- anim_incobj $4
- anim_incobj $5
- anim_incobj $6
- anim_obj $1, 136, 56, $0
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_incobj 4
+ anim_incobj 5
+ anim_incobj 6
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 16
anim_ret
; c9c36
@@ -1419,15 +1415,14 @@
BattleAnim_Gust: ; c9c36
BattleAnim_Sonicboom: ; c9c36
anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT
-BattleAnim_Gust_branch_c9c39: ; c9c39
-BattleAnim_Sonicboom_branch_c9c39: ; c9c39
- anim_sound $1, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_GUST, 136, 72, $0
+.loop
+ anim_sound 0, 1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_GUST, -15, 0, 9, 0, $0
anim_wait 6
- anim_loop $9, BattleAnim_Gust_branch_c9c39
- anim_obj $1, 144, 64, $18
+ anim_loop 9, .loop
+ anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $18
anim_wait 8
- anim_obj $1, 128, 32, $18
+ anim_obj ANIM_OBJ_01, 16, 0, 4, 0, $18
anim_wait 16
anim_ret
; c9c53
@@ -1435,17 +1430,17 @@
BattleAnim_Selfdestruct: ; c9c53
anim_1gfx ANIM_GFX_EXPLOSION
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24
- anim_jumpif $1, BattleAnim_Selfdestruct_branch_c9c63
+ anim_jumpif $1, .loop
anim_call BattleAnim_Selfdestruct_branch_cbb8f
anim_wait 16
anim_ret
; c9c63
-BattleAnim_Selfdestruct_branch_c9c63: ; c9c63
+.loop
anim_call BattleAnim_Selfdestruct_branch_cbb62
anim_wait 5
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_loop $2, BattleAnim_Selfdestruct_branch_c9c63
+ anim_loop 2, .loop
anim_wait 16
anim_ret
; c9c72
@@ -1452,19 +1447,19 @@
BattleAnim_Explosion: ; c9c72
anim_1gfx ANIM_GFX_EXPLOSION
- anim_bgeffect $1f, $60, $4, $10
+ anim_bgeffect ANIM_BG_1F, $60, $4, $10
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24
- anim_jumpif $1, BattleAnim_Explosion_branch_c9c87
+ anim_jumpif $1, .loop
anim_call BattleAnim_Explosion_branch_cbb8f
anim_wait 16
anim_ret
; c9c87
-BattleAnim_Explosion_branch_c9c87: ; c9c87
+.loop
anim_call BattleAnim_Explosion_branch_cbb62
anim_wait 5
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_loop $2, BattleAnim_Explosion_branch_c9c87
+ anim_loop 2, .loop
anim_wait 16
anim_ret
; c9c96
@@ -1478,21 +1473,21 @@
BattleAnim_RockThrow: ; c9c9d
anim_1gfx ANIM_GFX_ROCKS
- anim_bgeffect $1f, $60, $1, $0
- anim_sound $1, SFX_STRENGTH
- anim_obj $1e, 128, 64, $40
+ anim_bgeffect ANIM_BG_1F, $60, $1, $0
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40
anim_wait 2
- anim_sound $1, SFX_STRENGTH
- anim_obj $1d, 120, 68, $30
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1D, 15, 0, 8, 4, $30
anim_wait 2
- anim_sound $1, SFX_STRENGTH
- anim_obj $1e, 152, 68, $30
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30
anim_wait 2
- anim_sound $1, SFX_STRENGTH
- anim_obj $1d, 144, 64, $40
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1D, -14, 0, 8, 0, $40
anim_wait 2
- anim_sound $1, SFX_STRENGTH
- anim_obj $1e, 136, 68, $30
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30
anim_wait 96
anim_ret
; c9cd2
@@ -1499,24 +1494,24 @@
BattleAnim_RockSlide: ; c9cd2
anim_1gfx ANIM_GFX_ROCKS
- anim_bgeffect $1f, $c0, $1, $0
-BattleAnim_RockSlide_branch_c9cd9: ; c9cd9
- anim_sound $1, SFX_STRENGTH
- anim_obj $1e, 128, 64, $40
+ anim_bgeffect ANIM_BG_1F, $c0, $1, $0
+.loop
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40
anim_wait 4
- anim_sound $1, SFX_STRENGTH
- anim_obj $1d, 120, 68, $30
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1D, 15, 0, 8, 4, $30
anim_wait 4
- anim_sound $1, SFX_STRENGTH
- anim_obj $1e, 152, 68, $30
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30
anim_wait 4
- anim_sound $1, SFX_STRENGTH
- anim_obj $1d, 144, 64, $40
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1D, -14, 0, 8, 0, $40
anim_wait 4
- anim_sound $1, SFX_STRENGTH
- anim_obj $1e, 136, 68, $30
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30
anim_wait 16
- anim_loop $4, BattleAnim_RockSlide_branch_c9cd9
+ anim_loop 4, .loop
anim_wait 96
anim_ret
; c9d0c
@@ -1523,19 +1518,19 @@
BattleAnim_Sing: ; c9d0c
anim_1gfx ANIM_GFX_NOISE
- anim_sound $42, SFX_SING
-BattleAnim_Sing_branch_c9d11: ; c9d11
- anim_obj $23, 64, 92, $0
+ anim_sound 16, 2, SFX_SING
+.loop
+ anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $0
anim_wait 8
- anim_obj $23, 64, 92, $1
+ anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $1
anim_wait 8
- anim_obj $23, 64, 92, $2
+ anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $2
anim_wait 8
- anim_obj $23, 64, 92, $0
+ anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $0
anim_wait 8
- anim_obj $23, 64, 92, $2
+ anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $2
anim_wait 8
- anim_loop $4, BattleAnim_Sing_branch_c9d11
+ anim_loop 4, .loop
anim_wait 64
anim_ret
; c9d35
@@ -1545,26 +1540,23 @@
BattleAnim_Spore: ; c9d35
BattleAnim_StunSpore: ; c9d35
anim_1gfx ANIM_GFX_POWDER
-BattleAnim_Poisonpowder_branch_c9d37: ; c9d37
-BattleAnim_SleepPowder_branch_c9d37: ; c9d37
-BattleAnim_Spore_branch_c9d37: ; c9d37
-BattleAnim_StunSpore_branch_c9d37: ; c9d37
- anim_sound $1, SFX_POWDER
- anim_obj $26, 104, 16, $0
+.loop
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_26, 13, 0, 2, 0, $0
anim_wait 4
- anim_sound $1, SFX_POWDER
- anim_obj $26, 136, 16, $0
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_26, -15, 0, 2, 0, $0
anim_wait 4
- anim_sound $1, SFX_POWDER
- anim_obj $26, 112, 16, $0
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_26, 14, 0, 2, 0, $0
anim_wait 4
- anim_sound $1, SFX_POWDER
- anim_obj $26, 128, 16, $0
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_26, 16, 0, 2, 0, $0
anim_wait 4
- anim_sound $1, SFX_POWDER
- anim_obj $26, 120, 16, $0
+ anim_sound 0, 1, SFX_POWDER
+ anim_obj ANIM_OBJ_26, 15, 0, 2, 0, $0
anim_wait 4
- anim_loop $2, BattleAnim_Poisonpowder_branch_c9d37
+ anim_loop 2, .loop
anim_wait 96
anim_ret
; c9d6a
@@ -1571,9 +1563,9 @@
BattleAnim_HyperBeam: ; c9d6a
anim_1gfx ANIM_GFX_BEAM
- anim_bgeffect $1f, $30, $4, $10
+ anim_bgeffect ANIM_BG_1F, $30, $4, $10
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40
- anim_bgeffect $6, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_call BattleAnim_HyperBeam_branch_cbb39
anim_wait 48
anim_ret
@@ -1581,12 +1573,12 @@
BattleAnim_AuroraBeam: ; c9d80
anim_1gfx ANIM_GFX_BEAM
- anim_bgeffect $6, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
anim_wait 64
anim_call BattleAnim_AuroraBeam_branch_cbb39
anim_wait 48
- anim_incobj $5
+ anim_incobj 5
anim_wait 64
anim_ret
; c9d95
@@ -1593,9 +1585,9 @@
BattleAnim_Vicegrip: ; c9d95
anim_1gfx ANIM_GFX_CUT
- anim_sound $1, SFX_VICEGRIP
- anim_obj $37, 152, 40, $0
- anim_obj $39, 120, 72, $0
+ anim_sound 0, 1, SFX_VICEGRIP
+ anim_obj ANIM_OBJ_37, -13, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0
anim_wait 32
anim_ret
; c9da6
@@ -1602,10 +1594,10 @@
BattleAnim_Scratch: ; c9da6
anim_1gfx ANIM_GFX_CUT
- anim_sound $1, SFX_SCRATCH
- anim_obj $37, 144, 48, $0
- anim_obj $37, 140, 44, $0
- anim_obj $37, 136, 40, $0
+ anim_sound 0, 1, SFX_SCRATCH
+ anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0
+ anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0
anim_wait 32
anim_ret
; c9dbc
@@ -1613,21 +1605,21 @@
BattleAnim_FurySwipes: ; c9dbc
anim_1gfx ANIM_GFX_CUT
anim_jumpif $1, BattleAnim_FurySwipes_branch_c9dd9
- anim_sound $1, SFX_SCRATCH
- anim_obj $37, 144, 48, $0
- anim_obj $37, 140, 44, $0
- anim_obj $37, 136, 40, $0
- anim_sound $1, SFX_SCRATCH
+ anim_sound 0, 1, SFX_SCRATCH
+ anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0
+ anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0
+ anim_sound 0, 1, SFX_SCRATCH
anim_wait 32
anim_ret
; c9dd9
BattleAnim_FurySwipes_branch_c9dd9: ; c9dd9
- anim_sound $1, SFX_SCRATCH
- anim_obj $38, 120, 48, $0
- anim_obj $38, 124, 44, $0
- anim_obj $38, 128, 40, $0
- anim_sound $1, SFX_SCRATCH
+ anim_sound 0, 1, SFX_SCRATCH
+ anim_obj ANIM_OBJ_38, 15, 0, 6, 0, $0
+ anim_obj ANIM_OBJ_38, 15, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_38, 16, 0, 5, 0, $0
+ anim_sound 0, 1, SFX_SCRATCH
anim_wait 32
anim_ret
; c9df0
@@ -1634,8 +1626,8 @@
BattleAnim_Cut: ; c9df0
anim_1gfx ANIM_GFX_CUT
- anim_sound $1, SFX_CUT
- anim_obj $3a, 152, 40, $0
+ anim_sound 0, 1, SFX_CUT
+ anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
anim_wait 32
anim_ret
; c9dfc
@@ -1642,9 +1634,9 @@
BattleAnim_Slash: ; c9dfc
anim_1gfx ANIM_GFX_CUT
- anim_sound $1, SFX_CUT
- anim_obj $3a, 152, 40, $0
- anim_obj $3a, 148, 36, $0
+ anim_sound 0, 1, SFX_CUT
+ anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_3A, -14, 4, 4, 4, $0
anim_wait 32
anim_ret
; c9e0d
@@ -1651,14 +1643,14 @@
BattleAnim_Clamp: ; c9e0d
anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
- anim_obj $35, 136, 56, $a0
- anim_obj $35, 136, 56, $20
+ anim_obj ANIM_OBJ_35, -15, 0, 7, 0, $a0
+ anim_obj ANIM_OBJ_35, -15, 0, 7, 0, $20
anim_wait 16
- anim_sound $1, SFX_BITE
- anim_obj $1, 144, 48, $18
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $18
anim_wait 32
- anim_sound $1, SFX_BITE
- anim_obj $1, 128, 64, $18
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_01, 16, 0, 8, 0, $18
anim_wait 16
anim_ret
; c9e2e
@@ -1665,14 +1657,14 @@
BattleAnim_Bite: ; c9e2e
anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
- anim_obj $36, 136, 56, $98
- anim_obj $36, 136, 56, $18
+ anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $98
+ anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $18
anim_wait 8
- anim_sound $1, SFX_BITE
- anim_obj $1, 144, 48, $18
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $18
anim_wait 16
- anim_sound $1, SFX_BITE
- anim_obj $1, 128, 64, $18
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_01, 16, 0, 8, 0, $18
anim_wait 8
anim_ret
; c9e4f
@@ -1679,14 +1671,14 @@
BattleAnim_Teleport: ; c9e4f
anim_1gfx ANIM_GFX_SPEED
- anim_call BattleAnim_Teleport_branch_cbca7
+ anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_TELEPORT, $0, $1, $0
anim_wait 32
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
anim_wait 3
anim_incbgeffect ANIM_BG_TELEPORT
- anim_call BattleAnim_Teleport_branch_cbcb7
- anim_bgeffect $6, $0, $1, $0
+ anim_call BattleAnim_ShowMon_0
+ anim_bgeffect ANIM_BG_06, $0, $1, $0
anim_call BattleAnim_Teleport_branch_cbb12
anim_wait 64
anim_ret
@@ -1696,8 +1688,8 @@
anim_jumpif $1, BattleAnim_Fly_branch_c9e89
anim_jumpif $2, BattleAnim_Fly_branch_c9e82
anim_1gfx ANIM_GFX_HIT
- anim_sound $1, SFX_WING_ATTACK
- anim_obj $1, 136, 56, $0
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 32
BattleAnim_Fly_branch_c9e82: ; c9e82
anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
@@ -1707,7 +1699,7 @@
BattleAnim_Fly_branch_c9e89: ; c9e89
anim_1gfx ANIM_GFX_SPEED
- anim_bgeffect $6, $0, $1, $0
+ anim_bgeffect ANIM_BG_06, $0, $1, $0
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
anim_call BattleAnim_Fly_branch_cbb12
anim_wait 64
@@ -1715,50 +1707,50 @@
; c9e9a
BattleAnim_DoubleTeam: ; c9e9a
- anim_call BattleAnim_DoubleTeam_branch_cbcaf
- anim_sound $0, SFX_PSYBEAM
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_sound 0, 0, SFX_PSYBEAM
anim_bgeffect ANIM_BG_DOUBLE_TEAM, $0, $1, $0
anim_wait 96
anim_incbgeffect ANIM_BG_DOUBLE_TEAM
anim_wait 24
anim_incbgeffect ANIM_BG_DOUBLE_TEAM
- anim_call BattleAnim_DoubleTeam_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; c9eaf
BattleAnim_Recover: ; c9eaf
anim_1gfx ANIM_GFX_BUBBLE
- anim_call BattleAnim_Recover_branch_cbca7
- anim_sound $0, SFX_FULL_HEAL
- anim_bgeffect $18, $0, $1, $40
- anim_obj $2c, 44, 88, $30
- anim_obj $2c, 44, 88, $31
- anim_obj $2c, 44, 88, $32
- anim_obj $2c, 44, 88, $33
- anim_obj $2c, 44, 88, $34
- anim_obj $2c, 44, 88, $35
- anim_obj $2c, 44, 88, $36
- anim_obj $2c, 44, 88, $37
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_sound 0, 0, SFX_FULL_HEAL
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $30
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $31
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $32
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $33
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $34
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $35
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $36
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $37
anim_wait 64
- anim_incbgeffect $18
- anim_call BattleAnim_Recover_branch_cbcb7
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
anim_ret
; c9eeb
BattleAnim_Absorb: ; c9eeb
anim_1gfx ANIM_GFX_CHARGE
- anim_obj $3d, 44, 88, $0
-BattleAnim_Absorb_branch_c9ef2: ; c9ef2
- anim_sound $1b, SFX_WATER_GUN
- anim_obj $45, 128, 48, $2
+ anim_obj ANIM_OBJ_3D, 5, 4, 11, 0, $0
+.loop
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_45, 16, 0, 6, 0, $2
anim_wait 6
- anim_sound $1b, SFX_WATER_GUN
- anim_obj $45, 136, 64, $3
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_45, -15, 0, 8, 0, $3
anim_wait 6
- anim_sound $1b, SFX_WATER_GUN
- anim_obj $45, 136, 32, $4
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_45, -15, 0, 4, 0, $4
anim_wait 6
- anim_loop $5, BattleAnim_Absorb_branch_c9ef2
+ anim_loop 5, .loop
anim_wait 32
anim_ret
; c9f13
@@ -1765,53 +1757,53 @@
BattleAnim_MegaDrain: ; c9f13
anim_1gfx ANIM_GFX_CHARGE
- anim_call BattleAnim_MegaDrain_branch_cbca7
- anim_bgeffect $1c, $0, $0, $10
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1C, $0, $0, $10
anim_setvar $0
-BattleAnim_MegaDrain_branch_c9f1f: ; c9f1f
- anim_sound $1b, SFX_WATER_GUN
- anim_obj $45, 128, 48, $2
+.loop
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_45, 16, 0, 6, 0, $2
anim_wait 6
- anim_sound $1b, SFX_WATER_GUN
- anim_obj $45, 136, 64, $3
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_45, -15, 0, 8, 0, $3
anim_wait 6
- anim_sound $1b, SFX_WATER_GUN
- anim_obj $45, 136, 32, $4
+ anim_sound 6, 3, SFX_WATER_GUN
+ anim_obj ANIM_OBJ_45, -15, 0, 4, 0, $4
anim_wait 6
anim_incvar
- anim_jumpvar $7, BattleAnim_MegaDrain_branch_c9f4e
- anim_jumpvar $2, BattleAnim_MegaDrain_branch_c9f46
- anim_jump BattleAnim_MegaDrain_branch_c9f1f
+ anim_jumpvar $7, .done
+ anim_jumpvar $2, .spawn
+ anim_jump .loop
; c9f46
-BattleAnim_MegaDrain_branch_c9f46: ; c9f46
- anim_obj $3d, 44, 88, $0
- anim_jump BattleAnim_MegaDrain_branch_c9f1f
+.spawn
+ anim_obj ANIM_OBJ_3D, 5, 4, 11, 0, $0
+ anim_jump .loop
; c9f4e
-BattleAnim_MegaDrain_branch_c9f4e: ; c9f4e
+.done
anim_wait 32
- anim_incbgeffect $1c
- anim_call BattleAnim_MegaDrain_branch_cbcb7
+ anim_incbgeffect ANIM_BG_1C
+ anim_call BattleAnim_ShowMon_0
anim_ret
; c9f55
BattleAnim_EggBomb: ; c9f55
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION
- anim_sound $0, SFX_SWITCH_POKEMON
- anim_obj $46, 44, 104, $1
+ anim_sound 0, 0, SFX_SWITCH_POKEMON
+ anim_obj ANIM_OBJ_46, 5, 4, 13, 0, $1
anim_wait 128
anim_wait 96
- anim_incobj $1
+ anim_incobj 1
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
- anim_sound $1, SFX_EGG_BOMB
- anim_obj $18, 128, 64, $0
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_18, 16, 0, 8, 0, $0
anim_wait 8
- anim_sound $1, SFX_EGG_BOMB
- anim_obj $18, 144, 68, $0
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_18, -14, 0, 8, 4, $0
anim_wait 8
- anim_sound $1, SFX_EGG_BOMB
- anim_obj $18, 136, 72, $0
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_18, -15, 0, 9, 0, $0
anim_wait 24
anim_ret
; c9f85
@@ -1818,22 +1810,22 @@
BattleAnim_Softboiled: ; c9f85
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_BUBBLE
- anim_call BattleAnim_Softboiled_branch_cbca7
- anim_sound $0, SFX_SWITCH_POKEMON
- anim_obj $46, 44, 104, $6
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_sound 0, 0, SFX_SWITCH_POKEMON
+ anim_obj ANIM_OBJ_46, 5, 4, 13, 0, $6
anim_wait 128
- anim_incobj $2
- anim_obj $46, 76, 104, $b
+ anim_incobj 2
+ anim_obj ANIM_OBJ_46, 9, 4, 13, 0, $b
anim_wait 16
- anim_bgeffect $18, $0, $1, $40
- anim_sound $0, SFX_METRONOME
-BattleAnim_Softboiled_branch_c9fa4: ; c9fa4
- anim_obj $2c, 44, 88, $20
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_sound 0, 0, SFX_METRONOME
+.loop
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $20
anim_wait 8
- anim_loop $8, BattleAnim_Softboiled_branch_c9fa4
+ anim_loop 8, .loop
anim_wait 128
- anim_incbgeffect $18
- anim_call BattleAnim_Softboiled_branch_cbcb7
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
anim_ret
; c9fb5
@@ -1842,32 +1834,29 @@
BattleAnim_SkullBash_branch_c9fb5: ; c9fb5
BattleAnim_SkyAttack_branch_c9fb5: ; c9fb5
anim_1gfx ANIM_GFX_SPEED
- anim_call BattleAnim_FocusEnergy_branch_cbca7
- anim_bgeffect $16, $0, $1, $40
- anim_bgeffect $6, $0, $2, $0
-BattleAnim_FocusEnergy_branch_c9fc4: ; c9fc4
-BattleAnim_RazorWind_branch_c9fc4: ; c9fc4
-BattleAnim_SkullBash_branch_c9fc4: ; c9fc4
-BattleAnim_SkyAttack_branch_c9fc4: ; c9fc4
- anim_sound $0, SFX_SWORDS_DANCE
- anim_obj $47, 44, 108, $6
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_16, $0, $1, $40
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+.loop
+ anim_sound 0, 0, SFX_SWORDS_DANCE
+ anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6
anim_wait 2
- anim_obj $47, 36, 108, $6
+ anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6
anim_wait 2
- anim_obj $47, 52, 108, $8
+ anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8
anim_wait 2
- anim_obj $47, 28, 108, $8
+ anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8
anim_wait 2
- anim_obj $47, 60, 108, $6
+ anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6
anim_wait 2
- anim_obj $47, 20, 108, $8
+ anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8
anim_wait 2
- anim_obj $47, 68, 108, $8
+ anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8
anim_wait 2
- anim_loop $3, BattleAnim_FocusEnergy_branch_c9fc4
+ anim_loop 3, .loop
anim_wait 8
- anim_incbgeffect $16
- anim_call BattleAnim_FocusEnergy_branch_cbcb7
+ anim_incbgeffect ANIM_BG_16
+ anim_call BattleAnim_ShowMon_0
anim_ret
; c9ffc
@@ -1874,28 +1863,28 @@
BattleAnim_Bide: ; c9ffc
anim_jumpif $0, BattleAnim_Bide_branch_c9651
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_Bide_branch_cbca7
- anim_sound $0, SFX_ESCAPE_ROPE
- anim_bgeffect $1a, $0, $1, $20
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_sound 0, 0, SFX_ESCAPE_ROPE
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
anim_wait 72
- anim_incbgeffect $1a
- anim_call BattleAnim_Bide_branch_cbcb7
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
anim_ret
; ca014
BattleAnim_Bind: ; ca014
anim_1gfx ANIM_GFX_ROPE
- anim_sound $1, SFX_BIND
- anim_obj $48, 132, 64, $0
+ anim_sound 0, 1, SFX_BIND
+ anim_obj ANIM_OBJ_48, -16, 4, 8, 0, $0
anim_wait 8
- anim_obj $49, 132, 56, $0
+ anim_obj ANIM_OBJ_49, -16, 4, 7, 0, $0
anim_wait 8
- anim_obj $48, 132, 48, $0
+ anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0
anim_wait 64
- anim_sound $1, SFX_BIND
- anim_incobj $1
- anim_incobj $2
- anim_incobj $3
+ anim_sound 0, 1, SFX_BIND
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
anim_wait 96
anim_ret
; ca036
@@ -1902,17 +1891,17 @@
BattleAnim_Wrap: ; ca036
anim_1gfx ANIM_GFX_ROPE
- anim_sound $1, SFX_BIND
- anim_obj $48, 132, 64, $0
+ anim_sound 0, 1, SFX_BIND
+ anim_obj ANIM_OBJ_48, -16, 4, 8, 0, $0
anim_wait 8
- anim_obj $48, 132, 56, $0
+ anim_obj ANIM_OBJ_48, -16, 4, 7, 0, $0
anim_wait 8
- anim_obj $48, 132, 48, $0
+ anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0
anim_wait 64
- anim_sound $1, SFX_BIND
- anim_incobj $1
- anim_incobj $2
- anim_incobj $3
+ anim_sound 0, 1, SFX_BIND
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
anim_wait 96
anim_ret
; ca058
@@ -1919,45 +1908,45 @@
BattleAnim_Confusion: ; ca058
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_Confusion_branch_cbcca
- anim_sound $1, SFX_PSYCHIC
+ anim_call BattleAnim_FollowPlayerHead_1
+ anim_sound 0, 1, SFX_PSYCHIC
anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8
anim_wait 128
anim_incbgeffect ANIM_BG_NIGHT_SHADE
- anim_call BattleAnim_Confusion_branch_cbcd2
+ anim_call BattleAnim_ShowMon_1
anim_ret
; ca06c
BattleAnim_Constrict: ; ca06c
anim_1gfx ANIM_GFX_ROPE
- anim_sound $1, SFX_BIND
- anim_obj $49, 132, 64, $0
+ anim_sound 0, 1, SFX_BIND
+ anim_obj ANIM_OBJ_49, -16, 4, 8, 0, $0
anim_wait 8
- anim_obj $48, 132, 48, $0
+ anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0
anim_wait 8
- anim_obj $49, 132, 40, $0
+ anim_obj ANIM_OBJ_49, -16, 4, 5, 0, $0
anim_wait 8
- anim_obj $48, 132, 56, $0
+ anim_obj ANIM_OBJ_48, -16, 4, 7, 0, $0
anim_wait 64
anim_ret
; ca08a
BattleAnim_Earthquake: ; ca08a
- anim_bgeffect $1f, $60, $4, $10
-BattleAnim_Earthquake_branch_ca08f: ; ca08f
- anim_sound $1, SFX_EMBER
+ anim_bgeffect ANIM_BG_1F, $60, $4, $10
+.loop
+ anim_sound 0, 1, SFX_EMBER
anim_wait 24
- anim_loop $4, BattleAnim_Earthquake_branch_ca08f
+ anim_loop 4, .loop
anim_ret
; ca098
BattleAnim_Fissure: ; ca098
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40
- anim_bgeffect $1f, $60, $4, $0
-BattleAnim_Fissure_branch_ca0a2: ; ca0a2
- anim_sound $1, SFX_EMBER
+ anim_bgeffect ANIM_BG_1F, $60, $4, $0
+.loop
+ anim_sound 0, 1, SFX_EMBER
anim_wait 24
- anim_loop $4, BattleAnim_Fissure_branch_ca0a2
+ anim_loop 4, .loop
anim_ret
; ca0ab
@@ -1964,22 +1953,22 @@
BattleAnim_Growl: ; ca0ab
anim_1gfx ANIM_GFX_NOISE
anim_enemyfeetobj
- anim_bgeffect $6, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_cry $0
-BattleAnim_Growl_branch_ca0b5: ; ca0b5
+.loop
anim_call BattleAnim_Growl_branch_cbbbc
anim_wait 16
- anim_loop $3, BattleAnim_Growl_branch_ca0b5
+ anim_loop 3, .loop
anim_wait 9
anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $1, $0
anim_wait 8
- anim_bgeffect $19, $0, $0, $40
+ anim_bgeffect ANIM_BG_19, $0, $0, $40
anim_wait 64
- anim_incbgeffect $19
+ anim_incbgeffect ANIM_BG_19
anim_wait 1
anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
anim_wait 5
- anim_incobj $a
+ anim_incobj 10
anim_wait 8
anim_ret
; ca0d7
@@ -1986,27 +1975,27 @@
BattleAnim_Roar: ; ca0d7
anim_1gfx ANIM_GFX_NOISE
- anim_bgeffect $6, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_cry $1
-BattleAnim_Roar_branch_ca0e0: ; ca0e0
+.loop
anim_call BattleAnim_Roar_branch_cbbbc
anim_wait 16
- anim_loop $3, BattleAnim_Roar_branch_ca0e0
+ anim_loop 3, .loop
anim_wait 16
- anim_jumpif $0, BattleAnim_Roar_branch_ca0f3
- anim_bgeffect $27, $0, $0, $0
+ anim_jumpif $0, .done
+ anim_bgeffect ANIM_BG_27, $0, $0, $0
anim_wait 64
-BattleAnim_Roar_branch_ca0f3: ; ca0f3
+.done
anim_ret
; ca0f4
BattleAnim_Supersonic: ; ca0f4
anim_1gfx ANIM_GFX_PSYCHIC
-BattleAnim_Supersonic_branch_ca0f6: ; ca0f6
- anim_sound $1a, SFX_SUPERSONIC
- anim_obj $4c, 64, 88, $2
+.loop
+ anim_sound 6, 2, SFX_SUPERSONIC
+ anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2
anim_wait 4
- anim_loop $a, BattleAnim_Supersonic_branch_ca0f6
+ anim_loop 10, .loop
anim_wait 64
anim_ret
; ca105
@@ -2013,12 +2002,12 @@
BattleAnim_Screech: ; ca105
anim_1gfx ANIM_GFX_PSYCHIC
- anim_bgeffect $1f, $8, $1, $20
- anim_sound $1a, SFX_SCREECH
-BattleAnim_Screech_branch_ca10f: ; ca10f
- anim_obj $4c, 64, 88, $2
+ anim_bgeffect ANIM_BG_1F, $8, $1, $20
+ anim_sound 6, 2, SFX_SCREECH
+.loop
+ anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2
anim_wait 2
- anim_loop $2, BattleAnim_Screech_branch_ca10f
+ anim_loop 2, .loop
anim_wait 64
anim_ret
; ca11b
@@ -2025,21 +2014,21 @@
BattleAnim_ConfuseRay: ; ca11b
anim_1gfx ANIM_GFX_SPEED
- anim_bgeffect $6, $0, $2, $0
- anim_bgeffect $8, $0, $4, $0
- anim_obj $4d, 64, 88, $0
- anim_obj $4d, 64, 88, $80
- anim_obj $4d, 64, 88, $88
- anim_obj $4d, 64, 88, $90
- anim_obj $4d, 64, 88, $98
- anim_obj $4d, 64, 88, $a0
- anim_obj $4d, 64, 88, $a8
- anim_obj $4d, 64, 88, $b0
- anim_obj $4d, 64, 88, $b8
-BattleAnim_ConfuseRay_branch_ca154: ; ca154
- anim_sound $1a, SFX_WHIRLWIND
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_bgeffect ANIM_BG_08, $0, $4, $0
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $0
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $80
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $88
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $90
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $98
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $a0
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $a8
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $b0
+ anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $b8
+.loop
+ anim_sound 6, 2, SFX_WHIRLWIND
anim_wait 16
- anim_loop $8, BattleAnim_ConfuseRay_branch_ca154
+ anim_loop 8, .loop
anim_wait 32
anim_ret
; ca15e
@@ -2046,7 +2035,7 @@
BattleAnim_Leer: ; ca15e
anim_1gfx ANIM_GFX_BEAM
- anim_bgeffect $6, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_call BattleAnim_Leer_branch_cbadc
anim_wait 16
anim_ret
@@ -2054,14 +2043,14 @@
BattleAnim_Reflect: ; ca16a
anim_1gfx ANIM_GFX_REFLECT
- anim_bgeffect $6, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_sound $0, SFX_SHINE
- anim_obj $50, 72, 80, $0
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
anim_wait 24
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_sound $0, SFX_SHINE
- anim_obj $50, 72, 80, $0
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
anim_wait 64
anim_ret
; ca18e
@@ -2068,26 +2057,26 @@
BattleAnim_LightScreen: ; ca18e
anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_REFLECT
- anim_bgeffect $6, $0, $2, $0
- anim_sound $0, SFX_FLASH
- anim_obj $50, 72, 80, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_sound 0, 0, SFX_FLASH
+ anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
anim_wait 4
- anim_obj $6d, 72, 80, $0
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $0
anim_wait 4
- anim_obj $6d, 72, 80, $8
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $8
anim_wait 4
- anim_obj $6d, 72, 80, $10
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $10
anim_wait 4
- anim_obj $6d, 72, 80, $18
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $18
anim_wait 4
- anim_obj $50, 72, 80, $0
- anim_obj $6d, 72, 80, $20
+ anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $20
anim_wait 4
- anim_obj $6d, 72, 80, $28
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $28
anim_wait 4
- anim_obj $6d, 72, 80, $30
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $30
anim_wait 4
- anim_obj $6d, 72, 80, $38
+ anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $38
anim_wait 64
anim_ret
; ca1d5
@@ -2094,12 +2083,12 @@
BattleAnim_Amnesia: ; ca1d5
anim_1gfx ANIM_GFX_STATUS
- anim_sound $0, SFX_LICK
- anim_obj $53, 64, 80, $2
+ anim_sound 0, 0, SFX_LICK
+ anim_obj ANIM_OBJ_53, 8, 0, 10, 0, $2
anim_wait 16
- anim_obj $53, 68, 80, $1
+ anim_obj ANIM_OBJ_53, 8, 4, 10, 0, $1
anim_wait 16
- anim_obj $53, 72, 80, $0
+ anim_obj ANIM_OBJ_53, 9, 0, 10, 0, $0
anim_wait 64
anim_ret
; ca1ed
@@ -2106,14 +2095,14 @@
BattleAnim_DizzyPunch: ; ca1ed
anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_HIT
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $0, 136, 40, $0
- anim_obj $2, 136, 64, $0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, -15, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_02, -15, 0, 8, 0, $0
anim_wait 16
- anim_sound $1, SFX_KINESIS
- anim_obj ANIM_OBJ_CHICK, 136, 24, $15
- anim_obj ANIM_OBJ_CHICK, 136, 24, $aa
- anim_obj ANIM_OBJ_CHICK, 136, 24, $bf
+ anim_sound 0, 1, SFX_KINESIS
+ anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $15
+ anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $aa
+ anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $bf
anim_wait 96
anim_ret
; ca212
@@ -2120,11 +2109,11 @@
BattleAnim_Rest: ; ca212
anim_1gfx ANIM_GFX_STATUS
- anim_sound $0, SFX_TAIL_WHIP
-BattleAnim_Rest_branch_ca217: ; ca217
- anim_obj $54, 64, 80, $0
+ anim_sound 0, 0, SFX_TAIL_WHIP
+.loop
+ anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0
anim_wait 40
- anim_loop $3, BattleAnim_Rest_branch_ca217
+ anim_loop 3, .loop
anim_wait 32
anim_ret
; ca223
@@ -2131,51 +2120,50 @@
BattleAnim_AcidArmor: ; ca223
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_AcidArmor_branch_cbcaf
+ anim_call BattleAnim_FollowPlayerHead_0
anim_bgeffect ANIM_BG_ACID_ARMOR, $0, $1, $8
- anim_sound $0, SFX_MEGA_PUNCH
+ anim_sound 0, 0, SFX_MEGA_PUNCH
anim_wait 64
anim_incbgeffect ANIM_BG_ACID_ARMOR
- anim_call BattleAnim_AcidArmor_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; ca237
BattleAnim_Splash: ; ca237
anim_1gfx ANIM_GFX_HIT
- anim_sound $0, SFX_VICEGRIP
- anim_call BattleAnim_Splash_branch_cbcaf
- anim_bgeffect $22, $0, $1, $0
+ anim_sound 0, 0, SFX_VICEGRIP
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0
anim_wait 96
- anim_incbgeffect $22
- anim_call BattleAnim_Splash_branch_cbcb7
+ anim_incbgeffect ANIM_BG_BOUNCE_DOWN
+ anim_call BattleAnim_ShowMon_0
anim_ret
; ca24b
BattleAnim_Dig: ; ca24b
anim_2gfx ANIM_GFX_SAND, ANIM_GFX_HIT
- anim_jumpif $0, BattleAnim_Dig_branch_ca27d
- anim_jumpif $2, BattleAnim_Dig_branch_ca286
- anim_call BattleAnim_Dig_branch_cbcaf
- anim_bgeffect $23, $0, $1, $1
- anim_obj $57, 72, 104, $0
-BattleAnim_Dig_branch_ca263: ; ca263
- anim_sound $0, SFX_RAZOR_WIND
- anim_obj $56, 56, 104, $0
+ anim_jumpif $0, .hit
+ anim_jumpif $2, .fail
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_DIG, $0, $1, $1
+ anim_obj ANIM_OBJ_57, 9, 0, 13, 0, $0
+.loop
+ anim_sound 0, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_56, 7, 0, 13, 0, $0
anim_wait 16
- anim_loop $6, BattleAnim_Dig_branch_ca263
+ anim_loop 6, .loop
anim_wait 32
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
anim_wait 8
- anim_incbgeffect $23
- anim_call BattleAnim_Dig_branch_cbcb7
+ anim_incbgeffect ANIM_BG_DIG
+ anim_call BattleAnim_ShowMon_0
anim_ret
-; ca27d
-BattleAnim_Dig_branch_ca27d: ; ca27d
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $1, 136, 56, $0
+.hit
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 32
-BattleAnim_Dig_branch_ca286: ; ca286
+.fail
anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
anim_wait 32
anim_ret
@@ -2189,24 +2177,24 @@
BattleAnim_StringShot: ; ca293
anim_1gfx ANIM_GFX_WEB
- anim_bgeffect $7, $0, $2, $0
- anim_sound $1a, SFX_MENU
- anim_obj $5a, 64, 80, $0
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_5A, 8, 0, 10, 0, $0
anim_wait 4
- anim_sound $1, SFX_MENU
- anim_obj $5a, 132, 48, $1
+ anim_sound 0, 1, SFX_MENU
+ anim_obj ANIM_OBJ_5A, -16, 4, 6, 0, $1
anim_wait 4
- anim_sound $1a, SFX_MENU
- anim_obj $5a, 64, 88, $0
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_5A, 8, 0, 11, 0, $0
anim_wait 4
- anim_sound $1, SFX_MENU
- anim_obj $5a, 132, 64, $1
+ anim_sound 0, 1, SFX_MENU
+ anim_obj ANIM_OBJ_5A, -16, 4, 8, 0, $1
anim_wait 4
- anim_sound $1a, SFX_MENU
- anim_obj $5a, 64, 84, $0
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_5A, 8, 0, 10, 4, $0
anim_wait 4
- anim_sound $1, SFX_MENU
- anim_obj $5a, 132, 56, $2
+ anim_sound 0, 1, SFX_MENU
+ anim_obj ANIM_OBJ_5A, -16, 4, 7, 0, $2
anim_wait 64
anim_ret
; ca2d1
@@ -2213,132 +2201,132 @@
BattleAnim_Headbutt: ; ca2d1
anim_1gfx ANIM_GFX_HIT
- anim_bgeffect $1f, $14, $2, $0
+ anim_bgeffect ANIM_BG_1F, $14, $2, $0
anim_wait 32
- anim_call BattleAnim_Headbutt_branch_cbca7
+ anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
anim_wait 4
- anim_sound $1, SFX_HEADBUTT
- anim_obj $1, 136, 56, $0
+ anim_sound 0, 1, SFX_HEADBUTT
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 8
- anim_call BattleAnim_Headbutt_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; ca2ef
BattleAnim_Tackle: ; ca2ef
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_Tackle_branch_cbcaf
+ anim_call BattleAnim_FollowPlayerHead_0
anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
anim_wait 4
- anim_sound $1, SFX_TACKLE
- anim_obj $0, 136, 48, $0
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0
anim_wait 8
- anim_call BattleAnim_Tackle_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; ca307
BattleAnim_BodySlam: ; ca307
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_BodySlam_branch_cbcaf
- anim_bgeffect $22, $0, $1, $0
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0
anim_wait 32
- anim_incbgeffect $22
+ anim_incbgeffect ANIM_BG_BOUNCE_DOWN
anim_wait 4
- anim_bgeffect $25, $0, $1, $0
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
anim_wait 3
- anim_sound $1, SFX_TACKLE
- anim_obj $1, 136, 48, $0
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
anim_wait 6
- anim_sound $1, SFX_TACKLE
- anim_obj $1, 144, 48, $0
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
anim_wait 3
- anim_call BattleAnim_BodySlam_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; ca331
BattleAnim_TakeDown: ; ca331
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_TakeDown_branch_cbca7
+ anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
anim_wait 3
- anim_sound $1, SFX_TACKLE
+ anim_sound 0, 1, SFX_TACKLE
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_obj $1, 128, 56, $0
+ anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0
anim_wait 6
- anim_sound $1, SFX_TACKLE
+ anim_sound 0, 1, SFX_TACKLE
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_obj $1, 144, 48, $0
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
anim_wait 3
- anim_call BattleAnim_TakeDown_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; ca35c
BattleAnim_DoubleEdge: ; ca35c
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_DoubleEdge_branch_cbca7
+ anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $10
anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
anim_wait 3
- anim_sound $1, SFX_TACKLE
- anim_obj $0, 128, 48, $0
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_00, 16, 0, 6, 0, $0
anim_wait 6
- anim_sound $1, SFX_TACKLE
- anim_obj $0, 144, 48, $0
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_00, -14, 0, 6, 0, $0
anim_wait 3
- anim_call BattleAnim_DoubleEdge_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; ca382
BattleAnim_Submission: ; ca382
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_Submission_branch_cbcc2
- anim_bgeffect $26, $0, $0, $0
- anim_sound $1, SFX_SUBMISSION
+ anim_call BattleAnim_FollowEnemyFeet_1
+ anim_bgeffect ANIM_BG_26, $0, $0, $0
+ anim_sound 0, 1, SFX_SUBMISSION
anim_wait 32
- anim_obj $1, 120, 48, $0
+ anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
anim_wait 32
- anim_obj $1, 152, 56, $0
+ anim_obj ANIM_OBJ_01, -13, 0, 7, 0, $0
anim_wait 32
- anim_obj $1, 136, 52, $0
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 4, $0
anim_wait 32
- anim_incbgeffect $26
- anim_call BattleAnim_Submission_branch_cbcd2
+ anim_incbgeffect ANIM_BG_26
+ anim_call BattleAnim_ShowMon_1
anim_ret
; ca3a8
BattleAnim_Whirlwind: ; ca3a8
anim_1gfx ANIM_GFX_WIND
-BattleAnim_Whirlwind_branch_ca3aa: ; ca3aa
- anim_sound $0, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_GUST, 64, 112, $0
+.loop
+ anim_sound 0, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_GUST, 8, 0, 14, 0, $0
anim_wait 6
- anim_loop $9, BattleAnim_Whirlwind_branch_ca3aa
- anim_incobj $1
- anim_incobj $2
- anim_incobj $3
- anim_incobj $4
- anim_incobj $5
- anim_incobj $6
- anim_incobj $7
- anim_incobj $8
- anim_incobj $9
- anim_sound $42, SFX_WHIRLWIND
+ anim_loop 9, .loop
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_incobj 4
+ anim_incobj 5
+ anim_incobj 6
+ anim_incobj 7
+ anim_incobj 8
+ anim_incobj 9
+ anim_sound 16, 2, SFX_WHIRLWIND
anim_wait 128
- anim_jumpif $0, BattleAnim_Whirlwind_branch_ca3d7
- anim_bgeffect $27, $0, $0, $0
+ anim_jumpif $0, .done
+ anim_bgeffect ANIM_BG_27, $0, $0, $0
anim_wait 64
-BattleAnim_Whirlwind_branch_ca3d7: ; ca3d7
+.done
anim_ret
; ca3d8
BattleAnim_Hypnosis: ; ca3d8
anim_1gfx ANIM_GFX_PSYCHIC
-BattleAnim_Hypnosis_branch_ca3da: ; ca3da
- anim_sound $1a, SFX_SUPERSONIC
- anim_obj $4c, 64, 88, $2
- anim_obj $4c, 56, 80, $2
+.loop
+ anim_sound 6, 2, SFX_SUPERSONIC
+ anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2
+ anim_obj ANIM_OBJ_4C, 7, 0, 10, 0, $2
anim_wait 8
- anim_loop $3, BattleAnim_Hypnosis_branch_ca3da
+ anim_loop 3, .loop
anim_wait 56
anim_ret
; ca3ee
@@ -2345,12 +2333,12 @@
BattleAnim_Haze: ; ca3ee
anim_1gfx ANIM_GFX_HAZE
- anim_sound $1, SFX_SURF
-BattleAnim_Haze_branch_ca3f3: ; ca3f3
- anim_obj $5b, 48, 56, $0
- anim_obj $5b, 132, 16, $0
+ anim_sound 0, 1, SFX_SURF
+.loop
+ anim_obj ANIM_OBJ_5B, 6, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_5B, -16, 4, 2, 0, $0
anim_wait 12
- anim_loop $5, BattleAnim_Haze_branch_ca3f3
+ anim_loop 5, .loop
anim_wait 96
anim_ret
; ca404
@@ -2358,11 +2346,11 @@
BattleAnim_Mist: ; ca404
anim_obp0 $54
anim_1gfx ANIM_GFX_HAZE
- anim_sound $0, SFX_SURF
-BattleAnim_Mist_branch_ca40b: ; ca40b
- anim_obj $5c, 48, 56, $0
+ anim_sound 0, 0, SFX_SURF
+.loop
+ anim_obj ANIM_OBJ_5C, 6, 0, 7, 0, $0
anim_wait 8
- anim_loop $a, BattleAnim_Mist_branch_ca40b
+ anim_loop 10, .loop
anim_wait 96
anim_ret
; ca417
@@ -2369,11 +2357,11 @@
BattleAnim_Smog: ; ca417
anim_1gfx ANIM_GFX_HAZE
- anim_sound $1, SFX_BUBBLEBEAM
-BattleAnim_Smog_branch_ca41c: ; ca41c
- anim_obj $5d, 132, 16, $0
+ anim_sound 0, 1, SFX_BUBBLEBEAM
+.loop
+ anim_obj ANIM_OBJ_5D, -16, 4, 2, 0, $0
anim_wait 8
- anim_loop $a, BattleAnim_Smog_branch_ca41c
+ anim_loop 10, .loop
anim_wait 96
anim_ret
; ca428
@@ -2380,11 +2368,11 @@
BattleAnim_PoisonGas: ; ca428
anim_1gfx ANIM_GFX_HAZE
- anim_sound $42, SFX_BUBBLEBEAM
-BattleAnim_PoisonGas_branch_ca42d: ; ca42d
- anim_obj $5e, 44, 80, $2
+ anim_sound 16, 2, SFX_BUBBLEBEAM
+.loop
+ anim_obj ANIM_OBJ_5E, 5, 4, 10, 0, $2
anim_wait 8
- anim_loop $a, BattleAnim_PoisonGas_branch_ca42d
+ anim_loop 10, .loop
anim_wait 128
anim_ret
; ca439
@@ -2391,10 +2379,10 @@
BattleAnim_HornAttack: ; ca439
anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
- anim_obj $5f, 72, 80, $1
+ anim_obj ANIM_OBJ_5F, 9, 0, 10, 0, $1
anim_wait 16
- anim_sound $1, SFX_HORN_ATTACK
- anim_obj $1, 136, 56, $0
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 16
anim_ret
; ca44c
@@ -2401,20 +2389,20 @@
BattleAnim_FuryAttack: ; ca44c
anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
- anim_obj $5f, 72, 72, $2
+ anim_obj ANIM_OBJ_5F, 9, 0, 9, 0, $2
anim_wait 8
- anim_sound $1, SFX_HORN_ATTACK
- anim_obj $4, 128, 40, $0
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_04, 16, 0, 5, 0, $0
anim_wait 8
- anim_obj $5f, 80, 88, $2
+ anim_obj ANIM_OBJ_5F, 10, 0, 11, 0, $2
anim_wait 8
- anim_sound $1, SFX_HORN_ATTACK
- anim_obj $4, 136, 56, $0
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_04, -15, 0, 7, 0, $0
anim_wait 8
- anim_obj $5f, 76, 80, $2
+ anim_obj ANIM_OBJ_5F, 9, 4, 10, 0, $2
anim_wait 8
- anim_sound $1, SFX_HORN_ATTACK
- anim_obj $4, 132, 48, $0
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_04, -16, 4, 6, 0, $0
anim_wait 8
anim_ret
; ca47d
@@ -2422,31 +2410,31 @@
BattleAnim_HornDrill: ; ca47d
anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40
- anim_obj $5f, 72, 80, $3
+ anim_obj ANIM_OBJ_5F, 9, 0, 10, 0, $3
anim_wait 8
-BattleAnim_HornDrill_branch_ca48b: ; ca48b
- anim_sound $1, SFX_HORN_ATTACK
- anim_obj $0, 132, 40, $0
+.loop
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0
anim_wait 8
- anim_sound $1, SFX_HORN_ATTACK
- anim_obj $0, 140, 48, $0
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_00, -15, 4, 6, 0, $0
anim_wait 8
- anim_sound $1, SFX_HORN_ATTACK
- anim_obj $0, 132, 56, $0
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_00, -16, 4, 7, 0, $0
anim_wait 8
- anim_sound $1, SFX_HORN_ATTACK
- anim_obj $0, 124, 48, $0
+ anim_sound 0, 1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_00, 15, 4, 6, 0, $0
anim_wait 8
- anim_loop $3, BattleAnim_HornDrill_branch_ca48b
+ anim_loop 3, .loop
anim_ret
; ca4b4
BattleAnim_PoisonSting: ; ca4b4
anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
- anim_obj $60, 64, 92, $14
+ anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $14
anim_wait 16
- anim_sound $1, SFX_POISON_STING
- anim_obj $5, 136, 56, $0
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0
anim_wait 16
anim_ret
; ca4c7
@@ -2453,13 +2441,13 @@
BattleAnim_Twineedle: ; ca4c7
anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
- anim_sound $1, SFX_POISON_STING
- anim_obj $60, 64, 92, $14
- anim_obj $60, 56, 84, $14
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $14
+ anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $14
anim_wait 16
- anim_sound $1, SFX_POISON_STING
- anim_obj $5, 136, 56, $0
- anim_obj $5, 128, 48, $0
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0
anim_wait 16
anim_ret
; ca4e7
@@ -2466,20 +2454,20 @@
BattleAnim_PinMissile: ; ca4e7
anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
-BattleAnim_PinMissile_branch_ca4ea: ; ca4ea
- anim_obj $60, 64, 92, $28
+.loop
+ anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $28
anim_wait 8
- anim_obj $60, 56, 84, $28
- anim_sound $1, SFX_POISON_STING
- anim_obj $5, 136, 56, $0
+ anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $28
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0
anim_wait 8
- anim_obj $60, 52, 88, $28
- anim_sound $1, SFX_POISON_STING
- anim_obj $5, 128, 48, $0
+ anim_obj ANIM_OBJ_60, 6, 4, 11, 0, $28
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0
anim_wait 8
- anim_sound $1, SFX_POISON_STING
- anim_obj $5, 132, 52, $0
- anim_loop $3, BattleAnim_PinMissile_branch_ca4ea
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, -16, 4, 6, 4, $0
+ anim_loop 3, .loop
anim_wait 16
anim_ret
; ca51a
@@ -2486,20 +2474,20 @@
BattleAnim_SpikeCannon: ; ca51a
anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
-BattleAnim_SpikeCannon_branch_ca51d: ; ca51d
- anim_obj $60, 64, 92, $18
+.loop
+ anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $18
anim_wait 8
- anim_obj $60, 56, 84, $18
- anim_sound $1, SFX_POISON_STING
- anim_obj $5, 136, 56, $0
+ anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $18
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0
anim_wait 8
- anim_obj $60, 52, 88, $18
- anim_sound $1, SFX_POISON_STING
- anim_obj $5, 128, 48, $0
+ anim_obj ANIM_OBJ_60, 6, 4, 11, 0, $18
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0
anim_wait 8
- anim_sound $1, SFX_POISON_STING
- anim_obj $5, 132, 52, $0
- anim_loop $3, BattleAnim_SpikeCannon_branch_ca51d
+ anim_sound 0, 1, SFX_POISON_STING
+ anim_obj ANIM_OBJ_05, -16, 4, 6, 4, $0
+ anim_loop 3, .loop
anim_wait 16
anim_ret
; ca54d
@@ -2506,29 +2494,29 @@
BattleAnim_Transform: ; ca54d
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_Transform_branch_cbcaf
+ anim_call BattleAnim_FollowPlayerHead_0
anim_transform
- anim_sound $0, SFX_PSYBEAM
- anim_bgeffect $28, $0, $1, $0
+ anim_sound 0, 0, SFX_PSYBEAM
+ anim_bgeffect ANIM_BG_28, $0, $1, $0
anim_wait 48
anim_updateactorpic
- anim_incbgeffect $28
+ anim_incbgeffect ANIM_BG_28
anim_wait 48
- anim_call BattleAnim_Transform_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; ca564
BattleAnim_PetalDance: ; ca564
- anim_sound $0, SFX_MENU
+ anim_sound 0, 0, SFX_MENU
anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_HIT
-BattleAnim_PetalDance_branch_ca56a: ; ca56a
- anim_obj $61, 48, 56, $0
+.loop
+ anim_obj ANIM_OBJ_61, 6, 0, 7, 0, $0
anim_wait 11
- anim_loop $8, BattleAnim_PetalDance_branch_ca56a
+ anim_loop 8, .loop
anim_wait 128
anim_wait 64
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $0, 136, 56, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
anim_wait 16
anim_ret
; ca580
@@ -2535,11 +2523,11 @@
BattleAnim_Barrage: ; ca580
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION
- anim_sound $1a, SFX_THROW_BALL
- anim_obj $62, 64, 92, $10
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_62, 8, 0, 11, 4, $10
anim_wait 36
- anim_sound $1, SFX_EGG_BOMB
- anim_obj $18, 136, 56, $0
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_18, -15, 0, 7, 0, $0
anim_wait 16
anim_ret
; ca596
@@ -2546,11 +2534,11 @@
BattleAnim_PayDay: ; ca596
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_STATUS
- anim_sound $1, SFX_POUND
- anim_obj $1, 128, 56, $0
+ anim_sound 0, 1, SFX_POUND
+ anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0
anim_wait 16
- anim_sound $1, SFX_PAY_DAY
- anim_obj $63, 120, 76, $1
+ anim_sound 0, 1, SFX_PAY_DAY
+ anim_obj ANIM_OBJ_63, 15, 0, 9, 4, $1
anim_wait 64
anim_ret
; ca5ac
@@ -2558,15 +2546,15 @@
BattleAnim_Mimic: ; ca5ac
anim_1gfx ANIM_GFX_SPEED
anim_obp0 $fc
- anim_sound $ff, SFX_LICK
- anim_obj $65, 132, 44, $0
- anim_obj $65, 132, 44, $8
- anim_obj $65, 132, 44, $10
- anim_obj $65, 132, 44, $18
- anim_obj $65, 132, 44, $20
- anim_obj $65, 132, 44, $28
- anim_obj $65, 132, 44, $30
- anim_obj $65, 132, 44, $38
+ anim_sound 63, 3, SFX_LICK
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $8
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $10
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $18
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $20
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $28
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $30
+ anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $38
anim_wait 128
anim_wait 48
anim_ret
@@ -2574,11 +2562,11 @@
BattleAnim_LovelyKiss: ; ca5de
anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS
- anim_bgeffect $7, $0, $2, $0
- anim_obj $96, 152, 40, $0
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_96, -13, 0, 5, 0, $0
anim_wait 32
- anim_sound $1, SFX_LICK
- anim_obj ANIM_OBJ_HEART, 128, 40, $0
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_HEART, 16, 0, 5, 0, $0
anim_wait 40
anim_ret
; ca5f6
@@ -2585,11 +2573,11 @@
BattleAnim_Bonemerang: ; ca5f6
anim_2gfx ANIM_GFX_MISC, ANIM_GFX_HIT
- anim_sound $1a, SFX_HYDRO_PUMP
- anim_obj $67, 88, 56, $1c
+ anim_sound 6, 2, SFX_HYDRO_PUMP
+ anim_obj ANIM_OBJ_67, 11, 0, 7, 0, $1c
anim_wait 24
- anim_sound $1, SFX_MOVE_PUZZLE_PIECE
- anim_obj $1, 136, 56, $0
+ anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 24
anim_ret
; ca60c
@@ -2596,12 +2584,12 @@
BattleAnim_Swift: ; ca60c
anim_1gfx ANIM_GFX_OBJECTS
- anim_sound $1a, SFX_METRONOME
- anim_obj $6a, 64, 88, $4
+ anim_sound 6, 2, SFX_METRONOME
+ anim_obj ANIM_OBJ_6A, 8, 0, 11, 0, $4
anim_wait 4
- anim_obj $6a, 64, 72, $4
+ anim_obj ANIM_OBJ_6A, 8, 0, 9, 0, $4
anim_wait 4
- anim_obj $6a, 64, 76, $4
+ anim_obj ANIM_OBJ_6A, 8, 0, 9, 4, $4
anim_wait 64
anim_ret
; ca624
@@ -2608,14 +2596,14 @@
BattleAnim_Crabhammer: ; ca624
anim_1gfx ANIM_GFX_HIT
- anim_bgeffect $1f, $40, $2, $0
+ anim_bgeffect ANIM_BG_1F, $40, $2, $0
anim_wait 48
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
-BattleAnim_Crabhammer_branch_ca631: ; ca631
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $0, 136, 56, $0
+.loop
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
anim_wait 12
- anim_loop $3, BattleAnim_Crabhammer_branch_ca631
+ anim_loop 3, .loop
anim_ret
; ca63f
@@ -2622,33 +2610,33 @@
BattleAnim_SkullBash: ; ca63f
anim_jumpif $1, BattleAnim_SkullBash_branch_c9fb5
anim_1gfx ANIM_GFX_HIT
- anim_bgeffect $1f, $14, $2, $0
+ anim_bgeffect ANIM_BG_1F, $14, $2, $0
anim_wait 32
- anim_call BattleAnim_SkullBash_branch_cbca7
+ anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
anim_wait 4
-BattleAnim_SkullBash_branch_ca659: ; ca659
- anim_sound $1, SFX_HEADBUTT
- anim_obj $1, 136, 56, $0
+.loop
+ anim_sound 0, 1, SFX_HEADBUTT
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 8
- anim_loop $3, BattleAnim_SkullBash_branch_ca659
- anim_call BattleAnim_SkullBash_branch_cbcb7
+ anim_loop 3, .loop
+ anim_call BattleAnim_ShowMon_0
anim_ret
; ca66a
BattleAnim_Kinesis: ; ca66a
anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE
- anim_bgeffect $6, $0, $2, $0
- anim_obj $6b, 80, 76, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_obj ANIM_OBJ_6B, 10, 0, 9, 4, $0
anim_wait 32
-BattleAnim_Kinesis_branch_ca678: ; ca678
- anim_sound $0, SFX_KINESIS
- anim_obj $4b, 64, 88, $0
+.loop
+ anim_sound 0, 0, SFX_KINESIS
+ anim_obj ANIM_OBJ_4B, 8, 0, 11, 0, $0
anim_wait 32
- anim_loop $3, BattleAnim_Kinesis_branch_ca678
+ anim_loop 3, .loop
anim_wait 32
- anim_sound $0, SFX_KINESIS_2
+ anim_sound 0, 0, SFX_KINESIS_2
anim_wait 32
anim_ret
; ca68b
@@ -2655,11 +2643,11 @@
BattleAnim_Peck: ; ca68b
anim_1gfx ANIM_GFX_HIT
- anim_sound $1, SFX_PECK
- anim_obj $2, 128, 48, $0
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, 16, 0, 6, 0, $0
anim_wait 8
- anim_sound $1, SFX_PECK
- anim_obj $2, 136, 56, $0
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, -15, 0, 7, 0, $0
anim_wait 16
anim_ret
; ca6a0
@@ -2666,20 +2654,20 @@
BattleAnim_DrillPeck: ; ca6a0
anim_1gfx ANIM_GFX_HIT
-BattleAnim_DrillPeck_branch_ca6a2: ; ca6a2
- anim_sound $1, SFX_PECK
- anim_obj $2, 124, 56, $0
+.loop
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, 15, 4, 7, 0, $0
anim_wait 4
- anim_sound $1, SFX_PECK
- anim_obj $2, 132, 48, $0
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, -16, 4, 6, 0, $0
anim_wait 4
- anim_sound $1, SFX_PECK
- anim_obj $2, 140, 56, $0
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, -15, 4, 7, 0, $0
anim_wait 4
- anim_sound $1, SFX_PECK
- anim_obj $2, 132, 64, $0
+ anim_sound 0, 1, SFX_PECK
+ anim_obj ANIM_OBJ_02, -16, 4, 8, 0, $0
anim_wait 4
- anim_loop $5, BattleAnim_DrillPeck_branch_ca6a2
+ anim_loop 5, .loop
anim_wait 16
anim_ret
; ca6cc
@@ -2687,15 +2675,15 @@
BattleAnim_Guillotine: ; ca6cc
anim_1gfx ANIM_GFX_CUT
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $10
- anim_bgeffect $1f, $40, $2, $0
- anim_sound $1, SFX_VICEGRIP
- anim_obj $37, 156, 44, $0
- anim_obj $37, 152, 40, $0
- anim_obj $37, 148, 36, $0
- anim_obj $39, 124, 76, $0
- anim_obj $39, 120, 72, $0
- anim_obj $39, 116, 68, $0
- anim_obj $39, 120, 72, $0
+ anim_bgeffect ANIM_BG_1F, $40, $2, $0
+ anim_sound 0, 1, SFX_VICEGRIP
+ anim_obj ANIM_OBJ_37, -13, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_37, -13, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_37, -14, 4, 4, 4, $0
+ anim_obj ANIM_OBJ_39, 15, 4, 9, 4, $0
+ anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0
+ anim_obj ANIM_OBJ_39, 14, 4, 8, 4, $0
+ anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0
anim_wait 32
anim_ret
; ca700
@@ -2702,38 +2690,38 @@
BattleAnim_Flash: ; ca700
anim_1gfx ANIM_GFX_SPEED
- anim_sound $1, SFX_FLASH
+ anim_sound 0, 1, SFX_FLASH
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $20
anim_wait 4
- anim_obj $6c, 136, 56, $0
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $0
anim_wait 4
- anim_obj $6c, 136, 56, $8
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $8
anim_wait 4
- anim_obj $6c, 136, 56, $10
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $10
anim_wait 4
- anim_obj $6c, 136, 56, $18
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $18
anim_wait 4
- anim_obj $6c, 136, 56, $20
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $20
anim_wait 4
- anim_obj $6c, 136, 56, $28
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $28
anim_wait 4
- anim_obj $6c, 136, 56, $30
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $30
anim_wait 4
- anim_obj $6c, 136, 56, $38
+ anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $38
anim_wait 32
anim_ret
; ca73c
BattleAnim_Substitute: ; ca73c
- anim_sound $0, SFX_SURF
+ anim_sound 0, 0, SFX_SURF
anim_jumpif $3, BattleAnim_Substitute_branch_ca77c
anim_jumpif $2, BattleAnim_Substitute_branch_ca76e
anim_jumpif $1, BattleAnim_Substitute_branch_ca760
anim_1gfx ANIM_GFX_SMOKE
- anim_bgeffect $27, $0, $1, $0
+ anim_bgeffect ANIM_BG_27, $0, $1, $0
anim_wait 48
anim_raisesub
- anim_obj $1c, 48, 96, $0
+ anim_obj ANIM_OBJ_1C, 6, 0, 12, 0, $0
anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
anim_wait 32
anim_ret
@@ -2740,7 +2728,7 @@
; ca760
BattleAnim_Substitute_branch_ca760: ; ca760
- anim_bgeffect $27, $0, $1, $0
+ anim_bgeffect ANIM_BG_27, $0, $1, $0
anim_wait 48
anim_dropsub
anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
@@ -2749,7 +2737,7 @@
; ca76e
BattleAnim_Substitute_branch_ca76e: ; ca76e
- anim_bgeffect $27, $0, $1, $0
+ anim_bgeffect ANIM_BG_27, $0, $1, $0
anim_wait 48
anim_raisesub
anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
@@ -2767,16 +2755,16 @@
; ca78a
BattleAnim_Minimize: ; ca78a
- anim_sound $0, SFX_SURF
+ anim_sound 0, 0, SFX_SURF
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_Minimize_branch_cbcaf
+ anim_call BattleAnim_FollowPlayerHead_0
anim_minimize
- anim_bgeffect $28, $0, $1, $0
+ anim_bgeffect ANIM_BG_28, $0, $1, $0
anim_wait 48
anim_updateactorpic
- anim_incbgeffect $28
+ anim_incbgeffect ANIM_BG_28
anim_wait 48
- anim_call BattleAnim_Minimize_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; ca7a1
@@ -2783,17 +2771,17 @@
BattleAnim_SkyAttack: ; ca7a1
anim_jumpif $1, BattleAnim_SkyAttack_branch_c9fb5
anim_1gfx ANIM_GFX_SKY_ATTACK
- anim_bgeffect $27, $0, $1, $0
+ anim_bgeffect ANIM_BG_27, $0, $1, $0
anim_wait 32
- anim_sound $0, SFX_HYPER_BEAM
- anim_obj $6e, 48, 88, $40
+ anim_sound 0, 0, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_6E, 6, 0, 11, 0, $40
anim_wait 64
- anim_incobj $1
+ anim_incobj 1
anim_wait 21
- anim_sound $1, SFX_HYPER_BEAM
+ anim_sound 0, 1, SFX_HYPER_BEAM
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
anim_wait 64
- anim_incobj $1
+ anim_incobj 1
anim_wait 32
anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
anim_wait 16
@@ -2805,19 +2793,19 @@
anim_bgp $1b
anim_obp1 $1b
anim_wait 32
- anim_call BattleAnim_NightShade_branch_cbcca
+ anim_call BattleAnim_FollowPlayerHead_1
anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8
- anim_sound $1, SFX_PSYCHIC
+ anim_sound 0, 1, SFX_PSYCHIC
anim_wait 96
anim_incbgeffect ANIM_BG_NIGHT_SHADE
- anim_call BattleAnim_NightShade_branch_cbcd2
+ anim_call BattleAnim_ShowMon_1
anim_ret
; ca7e5
BattleAnim_Lick: ; ca7e5
anim_1gfx ANIM_GFX_WATER
- anim_sound $1, SFX_LICK
- anim_obj $6f, 136, 56, $0
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_6F, -15, 0, 7, 0, $0
anim_wait 64
anim_ret
; ca7f1
@@ -2829,8 +2817,8 @@
anim_call BattleAnim_TriAttack_branch_cbbdf
anim_wait 16
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $4
- anim_sound $1, SFX_THUNDER
- anim_obj $2f, 152, 68, $0
+ anim_sound 0, 1, SFX_THUNDER
+ anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0
anim_wait 16
anim_ret
; ca80c
@@ -2837,28 +2825,28 @@
BattleAnim_Withdraw: ; ca80c
anim_1gfx ANIM_GFX_REFLECT
- anim_call BattleAnim_Withdraw_branch_cbcaf
- anim_bgeffect $21, $0, $1, $50
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_21, $0, $1, $50
anim_wait 48
- anim_sound $0, SFX_SHINE
- anim_obj $70, 48, 88, $0
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_70, 6, 0, 11, 0, $0
anim_wait 64
- anim_incobj $2
+ anim_incobj 2
anim_wait 1
- anim_incbgeffect $21
- anim_call BattleAnim_Withdraw_branch_cbcb7
+ anim_incbgeffect ANIM_BG_21
+ anim_call BattleAnim_ShowMon_0
anim_ret
; ca829
BattleAnim_Psybeam: ; ca829
anim_1gfx ANIM_GFX_PSYCHIC
- anim_bgeffect $6, $0, $2, $0
- anim_bgeffect $8, $0, $4, $0
-BattleAnim_Psybeam_branch_ca835: ; ca835
- anim_sound $1a, SFX_PSYBEAM
- anim_obj $4c, 64, 88, $4
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_bgeffect ANIM_BG_08, $0, $4, $0
+.loop
+ anim_sound 6, 2, SFX_PSYBEAM
+ anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $4
anim_wait 4
- anim_loop $a, BattleAnim_Psybeam_branch_ca835
+ anim_loop 10, .loop
anim_wait 48
anim_ret
; ca844
@@ -2867,7 +2855,7 @@
anim_1gfx ANIM_GFX_BUBBLE
anim_bgp $1b
anim_obp0 $27
- anim_sound $1b, SFX_WATER_GUN
+ anim_sound 6, 3, SFX_WATER_GUN
anim_call BattleAnim_DreamEater_branch_cbab3
anim_wait 128
anim_wait 48
@@ -2876,7 +2864,7 @@
BattleAnim_LeechLife: ; ca853
anim_1gfx ANIM_GFX_BUBBLE
- anim_sound $1b, SFX_WATER_GUN
+ anim_sound 6, 3, SFX_WATER_GUN
anim_call BattleAnim_LeechLife_branch_cbab3
anim_wait 128
anim_wait 48
@@ -2886,9 +2874,9 @@
BattleAnim_Harden: ; ca85e
anim_1gfx ANIM_GFX_REFLECT
anim_obp0 $0
- anim_call BattleAnim_Harden_branch_cbca7
+ anim_call BattleAnim_FollowEnemyFeet_0
anim_call BattleAnim_Harden_branch_cbc43
- anim_call BattleAnim_Harden_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; ca86c
@@ -2895,17 +2883,17 @@
BattleAnim_Psywave: ; ca86c
anim_1gfx ANIM_GFX_PSYCHIC
anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
-BattleAnim_Psywave_branch_ca873: ; ca873
- anim_sound $1a, SFX_PSYCHIC
- anim_obj $4c, 64, 80, $2
+.loop
+ anim_sound 6, 2, SFX_PSYCHIC
+ anim_obj ANIM_OBJ_4C, 8, 0, 10, 0, $2
anim_wait 8
- anim_sound $1a, SFX_PSYCHIC
- anim_obj $4c, 64, 88, $3
+ anim_sound 6, 2, SFX_PSYCHIC
+ anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $3
anim_wait 8
- anim_sound $1a, SFX_PSYCHIC
- anim_obj $4c, 64, 96, $4
+ anim_sound 6, 2, SFX_PSYCHIC
+ anim_obj ANIM_OBJ_4C, 8, 0, 12, 0, $4
anim_wait 8
- anim_loop $3, BattleAnim_Psywave_branch_ca873
+ anim_loop 3, .loop
anim_wait 32
anim_incbgeffect ANIM_BG_PSYCHIC
anim_wait 4
@@ -2915,7 +2903,7 @@
BattleAnim_Glare: ; ca897
anim_1gfx ANIM_GFX_BEAM
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $20
- anim_bgeffect $6, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_call BattleAnim_Glare_branch_cbadc
anim_wait 16
anim_ret
@@ -2923,17 +2911,17 @@
BattleAnim_Thrash: ; ca8a8
anim_1gfx ANIM_GFX_HIT
- anim_sound $1, SFX_POUND
- anim_obj $8, 120, 72, $0
- anim_obj $0, 120, 72, $0
+ anim_sound 0, 1, SFX_POUND
+ anim_obj ANIM_OBJ_08, 15, 0, 9, 0, $0
+ anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0
anim_wait 6
- anim_sound $1, SFX_MOVE_PUZZLE_PIECE
- anim_obj $6, 136, 56, $0
- anim_obj $0, 136, 56, $0
+ anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
+ anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
anim_wait 6
- anim_sound $1, SFX_DOUBLE_KICK
- anim_obj $7, 152, 40, $0
- anim_obj $0, 152, 40, $0
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, -13, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0
anim_wait 16
anim_ret
; ca8d5
@@ -2941,15 +2929,15 @@
BattleAnim_Growth: ; ca8d5
anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0
anim_1gfx ANIM_GFX_CHARGE
- anim_sound $0, SFX_SWORDS_DANCE
- anim_obj $72, 48, 108, $0
- anim_obj $72, 48, 108, $8
- anim_obj $72, 48, 108, $10
- anim_obj $72, 48, 108, $18
- anim_obj $72, 48, 108, $20
- anim_obj $72, 48, 108, $28
- anim_obj $72, 48, 108, $30
- anim_obj $72, 48, 108, $38
+ anim_sound 0, 0, SFX_SWORDS_DANCE
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $0
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $8
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $10
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $18
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $20
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $28
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $30
+ anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $38
anim_wait 64
anim_ret
; ca909
@@ -2956,15 +2944,15 @@
BattleAnim_Conversion2: ; ca909
anim_1gfx ANIM_GFX_EXPLOSION
- anim_sound $ff, SFX_SHARPEN
- anim_obj $73, 132, 44, $0
- anim_obj $73, 132, 44, $8
- anim_obj $73, 132, 44, $10
- anim_obj $73, 132, 44, $18
- anim_obj $73, 132, 44, $20
- anim_obj $73, 132, 44, $28
- anim_obj $73, 132, 44, $30
- anim_obj $73, 132, 44, $38
+ anim_sound 63, 3, SFX_SHARPEN
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $8
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $10
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $18
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $20
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $28
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $30
+ anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $38
anim_wait 128
anim_wait 48
anim_ret
@@ -2972,18 +2960,18 @@
BattleAnim_Smokescreen: ; ca939
anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE
- anim_sound $1a, SFX_THROW_BALL
- anim_obj $75, 64, 92, $6c
+ anim_sound 6, 2, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_75, 8, 0, 11, 4, $6c
anim_wait 24
- anim_incobj $1
- anim_sound $1, SFX_BALL_POOF
- anim_obj $1c, 108, 70, $10
+ anim_incobj 1
+ anim_sound 0, 1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_1C, 13, 4, 8, 6, $10
anim_wait 8
-BattleAnim_Smokescreen_branch_ca951: ; ca951
- anim_sound $1, SFX_MENU
- anim_obj $74, 132, 60, $20
+.loop
+ anim_sound 0, 1, SFX_MENU
+ anim_obj ANIM_OBJ_74, -16, 4, 7, 4, $20
anim_wait 8
- anim_loop $5, BattleAnim_Smokescreen_branch_ca951
+ anim_loop 5, .loop
anim_wait 128
anim_ret
; ca960
@@ -2990,14 +2978,14 @@
BattleAnim_Strength: ; ca960
anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
- anim_bgeffect $20, $10, $1, $20
- anim_sound $0, SFX_STRENGTH
- anim_obj $1f, 64, 104, $1
+ anim_bgeffect ANIM_BG_20, $10, $1, $20
+ anim_sound 0, 0, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1F, 8, 0, 13, 0, $1
anim_wait 128
- anim_incobj $1
+ anim_incobj 1
anim_wait 20
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $0, 132, 40, $0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0
anim_wait 16
anim_ret
; ca97e
@@ -3004,12 +2992,12 @@
BattleAnim_SwordsDance: ; ca97e
anim_1gfx ANIM_GFX_WHIP
- anim_sound $0, SFX_SWORDS_DANCE
- anim_obj $76, 48, 108, $0
- anim_obj $76, 48, 108, $d
- anim_obj $76, 48, 108, $1a
- anim_obj $76, 48, 108, $27
- anim_obj $76, 48, 108, $34
+ anim_sound 0, 0, SFX_SWORDS_DANCE
+ anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $0
+ anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $d
+ anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $1a
+ anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $27
+ anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $34
anim_wait 56
anim_ret
; ca99e
@@ -3016,17 +3004,17 @@
BattleAnim_QuickAttack: ; ca99e
anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT
- anim_sound $0, SFX_MENU
+ anim_sound 0, 0, SFX_MENU
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_obj $77, 24, 88, $2
- anim_obj $77, 32, 88, $1
- anim_obj $77, 40, 88, $0
- anim_obj $77, 48, 88, $80
- anim_obj $77, 56, 88, $81
- anim_obj $77, 64, 88, $82
+ anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2
+ anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1
+ anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0
+ anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80
+ anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81
+ anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82
anim_wait 12
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $1, 136, 56, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 8
anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
anim_wait 16
@@ -3035,13 +3023,13 @@
BattleAnim_Meditate: ; ca9d8
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_Meditate_branch_cbca7
- anim_sound $0, SFX_PSYBEAM
- anim_bgeffect $28, $0, $1, $0
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_sound 0, 0, SFX_PSYBEAM
+ anim_bgeffect ANIM_BG_28, $0, $1, $0
anim_wait 48
- anim_incbgeffect $28
+ anim_incbgeffect ANIM_BG_28
anim_wait 48
- anim_call BattleAnim_Meditate_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; ca9ed
@@ -3048,14 +3036,14 @@
BattleAnim_Sharpen: ; ca9ed
anim_1gfx ANIM_GFX_SHAPES
anim_obp0 $e4
- anim_call BattleAnim_Sharpen_branch_cbca7
- anim_sound $0, SFX_SHARPEN
- anim_bgeffect $18, $0, $1, $40
- anim_obj $78, 48, 88, $0
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_sound 0, 0, SFX_SHARPEN
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_obj ANIM_OBJ_78, 6, 0, 11, 0, $0
anim_wait 96
- anim_incobj $2
- anim_incbgeffect $18
- anim_call BattleAnim_Sharpen_branch_cbcb7
+ anim_incobj 2
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
anim_ret
; caa0a
@@ -3062,27 +3050,27 @@
BattleAnim_DefenseCurl: ; caa0a
anim_1gfx ANIM_GFX_SHAPES
anim_obp0 $e4
- anim_call BattleAnim_DefenseCurl_branch_cbca7
- anim_sound $0, SFX_SHARPEN
- anim_bgeffect $18, $0, $1, $40
- anim_obj $79, 48, 88, $0
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_sound 0, 0, SFX_SHARPEN
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_obj ANIM_OBJ_79, 6, 0, 11, 0, $0
anim_wait 96
- anim_incobj $2
- anim_incbgeffect $18
- anim_call BattleAnim_DefenseCurl_branch_cbcb7
+ anim_incobj 2
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
anim_ret
; caa27
BattleAnim_SeismicToss: ; caa27
anim_2gfx ANIM_GFX_GLOBE, ANIM_GFX_HIT
- anim_bgeffect $20, $10, $1, $20
- anim_sound $0, SFX_STRENGTH
- anim_obj $20, 64, 104, $1
+ anim_bgeffect ANIM_BG_20, $10, $1, $20
+ anim_sound 0, 0, SFX_STRENGTH
+ anim_obj ANIM_OBJ_20, 8, 0, 13, 0, $1
anim_wait 128
- anim_incobj $1
+ anim_incobj 1
anim_wait 20
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $0, 132, 40, $0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0
anim_wait 16
anim_ret
; caa45
@@ -3089,20 +3077,20 @@
BattleAnim_Rage: ; caa45
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_Rage_branch_cbca7
- anim_bgeffect $1a, $0, $1, $20
- anim_sound $0, SFX_RAGE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_sound 0, 0, SFX_RAGE
anim_wait 72
- anim_incbgeffect $1a
- anim_call BattleAnim_Rage_branch_cbcb7
- anim_sound $1, SFX_MOVE_PUZZLE_PIECE
- anim_obj $0, 120, 72, $0
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
+ anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
+ anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0
anim_wait 6
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $0, 136, 56, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
anim_wait 6
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $0, 152, 40, $0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0
anim_wait 16
anim_ret
; caa74
@@ -3110,31 +3098,31 @@
BattleAnim_Agility: ; caa74
anim_1gfx ANIM_GFX_WIND
anim_obp0 $fc
- anim_call BattleAnim_Agility_branch_cbca7
- anim_bgeffect $18, $0, $1, $40
- anim_obj $7d, 8, 24, $10
- anim_obj $7d, 8, 48, $2
- anim_obj $7d, 8, 88, $8
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_obj ANIM_OBJ_7D, 1, 0, 3, 0, $10
+ anim_obj ANIM_OBJ_7D, 1, 0, 6, 0, $2
+ anim_obj ANIM_OBJ_7D, 1, 0, 11, 0, $8
anim_wait 4
- anim_obj $7d, 8, 32, $6
- anim_obj $7d, 8, 56, $c
- anim_obj $7d, 8, 80, $4
- anim_obj $7d, 8, 104, $e
-BattleAnim_Agility_branch_caaa4: ; caaa4
- anim_sound $0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_7D, 1, 0, 4, 0, $6
+ anim_obj ANIM_OBJ_7D, 1, 0, 7, 0, $c
+ anim_obj ANIM_OBJ_7D, 1, 0, 10, 0, $4
+ anim_obj ANIM_OBJ_7D, 1, 0, 13, 0, $e
+.loop
+ anim_sound 0, 0, SFX_RAZOR_WIND
anim_wait 4
- anim_loop $12, BattleAnim_Agility_branch_caaa4
- anim_incbgeffect $18
- anim_call BattleAnim_Agility_branch_cbcb7
+ anim_loop 18, .loop
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
anim_ret
; caab2
BattleAnim_BoneClub: ; caab2
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC
- anim_obj $68, 64, 88, $2
+ anim_obj ANIM_OBJ_68, 8, 0, 11, 0, $2
anim_wait 32
- anim_sound $1, SFX_BONE_CLUB
- anim_obj $1, 136, 56, $0
+ anim_sound 0, 1, SFX_BONE_CLUB
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 16
anim_ret
; caac5
@@ -3142,13 +3130,13 @@
BattleAnim_Barrier: ; caac5
anim_1gfx ANIM_GFX_REFLECT
anim_enemyfeetobj
- anim_bgeffect $6, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_wait 8
- anim_sound $0, SFX_SHINE
- anim_obj $50, 72, 80, $0
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
anim_wait 32
- anim_sound $0, SFX_SHINE
- anim_obj $50, 72, 80, $0
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
anim_wait 32
anim_ret
; caae1
@@ -3155,24 +3143,24 @@
BattleAnim_Waterfall: ; caae1
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_Waterfall_branch_cbcaf
- anim_bgeffect $25, $0, $1, $0
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
anim_wait 16
- anim_call BattleAnim_Waterfall_branch_cbcb7
- anim_sound $1, SFX_LICK
- anim_obj $1, 136, 56, $0
+ anim_call BattleAnim_ShowMon_0
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 3
- anim_sound $1, SFX_LICK
- anim_obj $1, 136, 48, $0
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
anim_wait 3
- anim_sound $1, SFX_LICK
- anim_obj $1, 136, 40, $0
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0
anim_wait 3
- anim_sound $1, SFX_LICK
- anim_obj $1, 136, 32, $0
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, -15, 0, 4, 0, $0
anim_wait 3
- anim_sound $1, SFX_LICK
- anim_obj $1, 136, 24, $0
+ anim_sound 0, 1, SFX_LICK
+ anim_obj ANIM_OBJ_01, -15, 0, 3, 0, $0
anim_wait 8
anim_ret
; cab1d
@@ -3181,11 +3169,11 @@
anim_1gfx ANIM_GFX_PSYCHIC
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
-BattleAnim_PsychicM_branch_cab29: ; cab29
- anim_sound $1a, SFX_PSYCHIC
- anim_obj $4c, 64, 88, $2
+.loop
+ anim_sound 6, 2, SFX_PSYCHIC
+ anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2
anim_wait 8
- anim_loop $8, BattleAnim_PsychicM_branch_cab29
+ anim_loop 8, .loop
anim_wait 96
anim_incbgeffect ANIM_BG_PSYCHIC
anim_wait 4
@@ -3211,12 +3199,12 @@
BattleAnim_Metronome: ; cab52
anim_2gfx ANIM_GFX_MISC, ANIM_GFX_SPEED
- anim_sound $0, SFX_METRONOME
- anim_obj $7a, 72, 88, $0
-BattleAnim_Metronome_branch_cab5d: ; cab5d
- anim_obj $7b, 72, 80, $0
+ anim_sound 0, 0, SFX_METRONOME
+ anim_obj ANIM_OBJ_7A, 9, 0, 11, 0, $0
+.loop
+ anim_obj ANIM_OBJ_7B, 9, 0, 10, 0, $0
anim_wait 8
- anim_loop $5, BattleAnim_Metronome_branch_cab5d
+ anim_loop 5, .loop
anim_wait 48
anim_ret
; cab69
@@ -3223,23 +3211,23 @@
BattleAnim_Counter: ; cab69
anim_1gfx ANIM_GFX_HIT
-BattleAnim_Counter_branch_cab6b: ; cab6b
+.loop
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2
- anim_sound $1, SFX_POUND
- anim_obj $8, 120, 72, $0
- anim_obj $0, 120, 72, $0
+ anim_sound 0, 1, SFX_POUND
+ anim_obj ANIM_OBJ_08, 15, 0, 9, 0, $0
+ anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0
anim_wait 6
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $6, 136, 40, $0
- anim_obj $0, 136, 40, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_06, -15, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_00, -15, 0, 5, 0, $0
anim_wait 6
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2
- anim_sound $1, SFX_MEGA_KICK
- anim_obj $7, 152, 56, $0
- anim_obj $0, 152, 56, $0
+ anim_sound 0, 1, SFX_MEGA_KICK
+ anim_obj ANIM_OBJ_07, -13, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_00, -13, 0, 7, 0, $0
anim_wait 6
- anim_loop $3, BattleAnim_Counter_branch_cab6b
+ anim_loop 3, .loop
anim_wait 16
anim_ret
; cabaa
@@ -3247,19 +3235,19 @@
BattleAnim_LowKick: ; cabaa
anim_1gfx ANIM_GFX_HIT
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_sound $1, SFX_DOUBLE_KICK
- anim_obj $7, 124, 64, $0
- anim_obj $0, 124, 64, $0
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, 15, 4, 8, 0, $0
+ anim_obj ANIM_OBJ_00, 15, 4, 8, 0, $0
anim_wait 6
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_sound $1, SFX_DOUBLE_KICK
- anim_obj $7, 132, 64, $0
- anim_obj $0, 132, 64, $0
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, -16, 4, 8, 0, $0
+ anim_obj ANIM_OBJ_00, -16, 4, 8, 0, $0
anim_wait 6
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
- anim_sound $1, SFX_DOUBLE_KICK
- anim_obj $7, 140, 64, $0
- anim_obj $0, 140, 64, $0
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, -15, 4, 8, 0, $0
+ anim_obj ANIM_OBJ_00, -15, 4, 8, 0, $0
anim_wait 16
anim_ret
; cabe6
@@ -3266,17 +3254,17 @@
BattleAnim_WingAttack: ; cabe6
anim_1gfx ANIM_GFX_HIT
- anim_sound $1, SFX_WING_ATTACK
- anim_obj $1, 148, 56, $0
- anim_obj $1, 116, 56, $0
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, -14, 4, 7, 0, $0
+ anim_obj ANIM_OBJ_01, 14, 4, 7, 0, $0
anim_wait 6
- anim_sound $1, SFX_WING_ATTACK
- anim_obj $1, 144, 56, $0
- anim_obj $1, 120, 56, $0
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, -14, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_01, 15, 0, 7, 0, $0
anim_wait 6
- anim_sound $1, SFX_WING_ATTACK
- anim_obj $1, 140, 56, $0
- anim_obj $1, 124, 56, $0
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, -15, 4, 7, 0, $0
+ anim_obj ANIM_OBJ_01, 15, 4, 7, 0, $0
anim_wait 16
anim_ret
; cac13
@@ -3283,9 +3271,9 @@
BattleAnim_Slam: ; cac13
anim_1gfx ANIM_GFX_HIT
- anim_sound $1, SFX_WING_ATTACK
+ anim_sound 0, 1, SFX_WING_ATTACK
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $2
- anim_obj $1, 124, 40, $0
+ anim_obj ANIM_OBJ_01, 15, 4, 5, 0, $0
anim_wait 16
anim_ret
; cac24
@@ -3292,12 +3280,12 @@
BattleAnim_Disable: ; cac24
anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_STATUS
- anim_bgeffect $6, $0, $2, $0
- anim_obj $7c, 132, 56, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_obj ANIM_OBJ_7C, -16, 4, 7, 0, $0
anim_wait 16
- anim_sound $1, SFX_BIND
- anim_obj ANIM_OBJ_PARALYZED, 104, 56, $42
- anim_obj ANIM_OBJ_PARALYZED, 160, 56, $c2
+ anim_sound 0, 1, SFX_BIND
+ anim_obj ANIM_OBJ_PARALYZED, 13, 0, 7, 0, $42
+ anim_obj ANIM_OBJ_PARALYZED, -12, 0, 7, 0, $c2
anim_wait 96
anim_ret
; cac41
@@ -3304,19 +3292,19 @@
BattleAnim_TailWhip: ; cac41
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_TailWhip_branch_cbcaf
- anim_sound $0, SFX_TAIL_WHIP
- anim_bgeffect $26, $0, $1, $0
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_sound 0, 0, SFX_TAIL_WHIP
+ anim_bgeffect ANIM_BG_26, $0, $1, $0
anim_wait 32
- anim_incbgeffect $26
- anim_call BattleAnim_TailWhip_branch_cbcb7
+ anim_incbgeffect ANIM_BG_26
+ anim_call BattleAnim_ShowMon_0
anim_ret
; cac55
BattleAnim_Struggle: ; cac55
anim_1gfx ANIM_GFX_HIT
- anim_sound $1, SFX_POUND
- anim_obj $1, 136, 56, $0
+ anim_sound 0, 1, SFX_POUND
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 16
anim_ret
; cac61
@@ -3323,13 +3311,13 @@
BattleAnim_Sketch: ; cac61
anim_1gfx ANIM_GFX_OBJECTS
- anim_call BattleAnim_Sketch_branch_cbca7
- anim_bgeffect $1a, $0, $1, $20
- anim_sound $0, SFX_SKETCH
- anim_obj $98, 72, 80, $0
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_sound 0, 0, SFX_SKETCH
+ anim_obj ANIM_OBJ_98, 9, 0, 10, 0, $0
anim_wait 80
- anim_incbgeffect $1a
- anim_call BattleAnim_Sketch_branch_cbcb7
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
anim_wait 1
anim_ret
; cac7b
@@ -3338,28 +3326,28 @@
anim_1gfx ANIM_GFX_HIT
anim_jumpif $1, BattleAnim_TripleKick_branch_cac95
anim_jumpif $2, BattleAnim_TripleKick_branch_caca5
- anim_sound $1, SFX_MEGA_KICK
- anim_obj $7, 144, 48, $0
+ anim_sound 0, 1, SFX_MEGA_KICK
+ anim_obj ANIM_OBJ_07, -14, 0, 6, 0, $0
anim_wait 6
- anim_obj $1, 144, 48, $0
+ anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0
anim_wait 8
anim_ret
; cac95
BattleAnim_TripleKick_branch_cac95: ; cac95
- anim_sound $1, SFX_DOUBLE_KICK
- anim_obj $7, 120, 64, $0
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, 15, 0, 8, 0, $0
anim_wait 6
- anim_obj $1, 120, 64, $0
+ anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0
anim_wait 8
anim_ret
; caca5
BattleAnim_TripleKick_branch_caca5: ; caca5
- anim_sound $1, SFX_DOUBLE_KICK
- anim_obj $7, 132, 32, $0
+ anim_sound 0, 1, SFX_DOUBLE_KICK
+ anim_obj ANIM_OBJ_07, -16, 4, 4, 0, $0
anim_wait 6
- anim_obj $1, 132, 32, $0
+ anim_obj ANIM_OBJ_01, -16, 4, 4, 0, $0
anim_wait 8
anim_ret
; cacb5
@@ -3366,17 +3354,17 @@
BattleAnim_Thief: ; cacb5
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_Thief_branch_cbca7
+ anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
anim_wait 16
- anim_sound $1, SFX_THIEF
- anim_obj $1, 128, 48, $0
+ anim_sound 0, 1, SFX_THIEF
+ anim_obj ANIM_OBJ_01, 16, 0, 6, 0, $0
anim_wait 16
- anim_call BattleAnim_Thief_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_wait 1
anim_1gfx ANIM_GFX_STATUS
- anim_sound $1, SFX_THIEF_2
- anim_obj $8b, 120, 76, $1
+ anim_sound 0, 1, SFX_THIEF_2
+ anim_obj ANIM_OBJ_8B, 15, 0, 9, 4, $1
anim_wait 64
anim_ret
; cacd9
@@ -3383,14 +3371,14 @@
BattleAnim_SpiderWeb: ; cacd9
anim_1gfx ANIM_GFX_WEB
- anim_bgeffect $7, $0, $2, $0
- anim_obj $92, 132, 48, $0
- anim_sound $1a, SFX_SPIDER_WEB
- anim_obj $5a, 64, 80, $0
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_92, -16, 4, 6, 0, $0
+ anim_sound 6, 2, SFX_SPIDER_WEB
+ anim_obj ANIM_OBJ_5A, 8, 0, 10, 0, $0
anim_wait 4
- anim_obj $5a, 64, 88, $0
+ anim_obj ANIM_OBJ_5A, 8, 0, 11, 0, $0
anim_wait 4
- anim_obj $5a, 64, 84, $0
+ anim_obj ANIM_OBJ_5A, 8, 0, 10, 4, $0
anim_wait 64
anim_ret
; cacfb
@@ -3397,14 +3385,14 @@
BattleAnim_MindReader: ; cacfb
anim_1gfx ANIM_GFX_MISC
- anim_sound $1, SFX_MIND_READER
-BattleAnim_MindReader_branch_cad00: ; cad00
- anim_obj $88, 132, 48, $3
- anim_obj $88, 132, 48, $12
- anim_obj $88, 132, 48, $20
- anim_obj $88, 132, 48, $31
+ anim_sound 0, 1, SFX_MIND_READER
+.loop
+ anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $3
+ anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $12
+ anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $20
+ anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $31
anim_wait 16
- anim_loop $2, BattleAnim_MindReader_branch_cad00
+ anim_loop 2, .loop
anim_wait 32
anim_ret
; cad1b
@@ -3413,9 +3401,9 @@
anim_1gfx ANIM_GFX_ANGELS
anim_bgp $1b
anim_obp0 $f
- anim_obj $94, 132, 40, $0
- anim_obj $94, 132, 40, $a0
- anim_sound $1, SFX_NIGHTMARE
+ anim_obj ANIM_OBJ_94, -16, 4, 5, 0, $0
+ anim_obj ANIM_OBJ_94, -16, 4, 5, 0, $a0
+ anim_sound 0, 1, SFX_NIGHTMARE
anim_wait 96
anim_ret
; cad30
@@ -3422,24 +3410,24 @@
BattleAnim_FlameWheel: ; cad30
anim_1gfx ANIM_GFX_FIRE
-BattleAnim_FlameWheel_branch_cad32: ; cad32
- anim_sound $0, SFX_EMBER
- anim_obj $7f, 48, 96, $0
+.loop
+ anim_sound 0, 0, SFX_EMBER
+ anim_obj ANIM_OBJ_7F, 6, 0, 12, 0, $0
anim_wait 6
- anim_loop $8, BattleAnim_FlameWheel_branch_cad32
+ anim_loop 8, .loop
anim_wait 96
- anim_call BattleAnim_FlameWheel_branch_cbca7
+ anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
anim_wait 4
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
- anim_sound $1, SFX_EMBER
- anim_obj $f, 136, 48, $1
- anim_obj $f, 136, 48, $4
- anim_obj $f, 136, 48, $5
+ anim_sound 0, 1, SFX_EMBER
+ anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $1
+ anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $4
+ anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $5
anim_wait 8
anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
anim_wait 4
- anim_incobj $9
+ anim_incobj 9
anim_wait 8
anim_ret
; cad6b
@@ -3446,78 +3434,78 @@
BattleAnim_Snore: ; cad6b
anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_NOISE
- anim_obj $54, 64, 80, $0
+ anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0
anim_wait 32
- anim_bgeffect $1f, $60, $2, $0
- anim_sound $0, SFX_SNORE
-BattleAnim_Snore_branch_cad7c: ; cad7c
+ anim_bgeffect ANIM_BG_1F, $60, $2, $0
+ anim_sound 0, 0, SFX_SNORE
+.loop
anim_call BattleAnim_Snore_branch_cbbbc
anim_wait 16
- anim_loop $2, BattleAnim_Snore_branch_cad7c
+ anim_loop 2, .loop
anim_wait 8
anim_ret
; cad86
BattleAnim_Curse: ; cad86
- anim_jumpif $1, BattleAnim_Curse_branch_cada3
+ anim_jumpif $1, .NotGhost
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS
- anim_obj $a5, 68, 72, $0
- anim_sound $0, SFX_CURSE
+ anim_obj ANIM_OBJ_A5, 8, 4, 9, 0, $0
+ anim_sound 0, 0, SFX_CURSE
anim_wait 32
- anim_incobj $1
+ anim_incobj 1
anim_wait 12
- anim_sound $0, SFX_POISON_STING
- anim_obj $4, 44, 96, $0
+ anim_sound 0, 0, SFX_POISON_STING
+ anim_obj ANIM_OBJ_04, 5, 4, 12, 0, $0
anim_wait 16
anim_ret
; cada3
-BattleAnim_Curse_branch_cada3: ; cada3
+.NotGhost: ; cada3
anim_1gfx ANIM_GFX_SPEED
- anim_call BattleAnim_Curse_branch_cbca7
- anim_bgeffect $19, $0, $1, $40
- anim_sound $0, SFX_SHARPEN
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_19, $0, $1, $40
+ anim_sound 0, 0, SFX_SHARPEN
anim_wait 64
- anim_incbgeffect $19
+ anim_incbgeffect ANIM_BG_19
anim_wait 1
- anim_bgeffect $16, $0, $1, $40
-BattleAnim_Curse_branch_cadb9: ; cadb9
- anim_sound $0, SFX_SWORDS_DANCE
- anim_obj $47, 44, 108, $6
+ anim_bgeffect ANIM_BG_16, $0, $1, $40
+.loop
+ anim_sound 0, 0, SFX_SWORDS_DANCE
+ anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6
anim_wait 2
- anim_obj $47, 36, 108, $6
+ anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6
anim_wait 2
- anim_obj $47, 52, 108, $8
+ anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8
anim_wait 2
- anim_obj $47, 28, 108, $8
+ anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8
anim_wait 2
- anim_obj $47, 60, 108, $6
+ anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6
anim_wait 2
- anim_obj $47, 20, 108, $8
+ anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8
anim_wait 2
- anim_obj $47, 68, 108, $8
+ anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8
anim_wait 2
- anim_loop $3, BattleAnim_Curse_branch_cadb9
+ anim_loop 3, .loop
anim_wait 8
- anim_incbgeffect $16
- anim_call BattleAnim_Curse_branch_cbcb7
+ anim_incbgeffect ANIM_BG_16
+ anim_call BattleAnim_ShowMon_0
anim_ret
; cadf1
BattleAnim_Flail: ; cadf1
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_Flail_branch_cbca7
- anim_sound $0, SFX_SUBMISSION
- anim_bgeffect $2c, $0, $1, $0
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_sound 0, 0, SFX_SUBMISSION
+ anim_bgeffect ANIM_BG_2C, $0, $1, $0
anim_wait 8
- anim_obj $1, 120, 48, $0
+ anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
anim_wait 8
- anim_obj $1, 152, 48, $0
+ anim_obj ANIM_OBJ_01, -13, 0, 6, 0, $0
anim_wait 8
- anim_obj $1, 136, 48, $0
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
anim_wait 8
- anim_incbgeffect $2c
- anim_call BattleAnim_Flail_branch_cbcb7
+ anim_incbgeffect ANIM_BG_2C
+ anim_call BattleAnim_ShowMon_0
anim_ret
; cae17
@@ -3524,15 +3512,15 @@
BattleAnim_Conversion: ; cae17
anim_1gfx ANIM_GFX_EXPLOSION
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
- anim_sound $ff, SFX_SHARPEN
- anim_obj $91, 48, 88, $0
- anim_obj $91, 48, 88, $8
- anim_obj $91, 48, 88, $10
- anim_obj $91, 48, 88, $18
- anim_obj $91, 48, 88, $20
- anim_obj $91, 48, 88, $28
- anim_obj $91, 48, 88, $30
- anim_obj $91, 48, 88, $38
+ anim_sound 63, 3, SFX_SHARPEN
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $0
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $8
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $10
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $18
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $20
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $28
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $30
+ anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $38
anim_wait 128
anim_ret
; cae4b
@@ -3540,20 +3528,20 @@
BattleAnim_Aeroblast: ; cae4b
anim_2gfx ANIM_GFX_BEAM, ANIM_GFX_AEROBLAST
anim_bgp $1b
- anim_bgeffect $1f, $50, $4, $10
- anim_bgeffect $6, $0, $2, $0
- anim_sound $0, SFX_AEROBLAST
- anim_obj $b3, 72, 88, $0
+ anim_bgeffect ANIM_BG_1F, $50, $4, $10
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_sound 0, 0, SFX_AEROBLAST
+ anim_obj ANIM_OBJ_B3, 9, 0, 11, 0, $0
anim_wait 32
- anim_sound $0, SFX_HYPER_BEAM
- anim_obj $27, 80, 84, $0
+ anim_sound 0, 0, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 10, 0, 10, 4, $0
anim_wait 2
- anim_sound $1, SFX_HYPER_BEAM
- anim_obj $27, 96, 76, $0
+ anim_sound 0, 1, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 12, 0, 9, 4, $0
anim_wait 2
- anim_sound $1, SFX_HYPER_BEAM
- anim_obj $27, 112, 68, $0
- anim_obj $28, 126, 62, $0
+ anim_sound 0, 1, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 14, 0, 8, 4, $0
+ anim_obj ANIM_OBJ_28, 15, 6, 7, 6, $0
anim_wait 48
anim_ret
; cae84
@@ -3561,11 +3549,11 @@
BattleAnim_CottonSpore: ; cae84
anim_obp0 $54
anim_1gfx ANIM_GFX_MISC
- anim_sound $1, SFX_POWDER
-BattleAnim_CottonSpore_branch_cae8b: ; cae8b
- anim_obj $81, 132, 32, $0
+ anim_sound 0, 1, SFX_POWDER
+.loop: ; cae8b
+ anim_obj ANIM_OBJ_81, -16, 4, 4, 0, $0
anim_wait 8
- anim_loop $5, BattleAnim_CottonSpore_branch_cae8b
+ anim_loop 5, .loop
anim_wait 96
anim_ret
; cae97
@@ -3572,24 +3560,24 @@
BattleAnim_Reversal: ; cae97
anim_2gfx ANIM_GFX_SHINE, ANIM_GFX_HIT
- anim_bgeffect $7, $0, $0, $0
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $4, 112, 64, $0
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_04, 14, 0, 8, 0, $0
anim_wait 2
- anim_sound $1, SFX_SHINE
- anim_obj $a7, 120, 56, $0
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_A7, 15, 0, 7, 0, $0
anim_wait 2
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $4, 128, 56, $0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_04, 16, 0, 7, 0, $0
anim_wait 2
- anim_sound $1, SFX_SHINE
- anim_obj $a7, 136, 48, $0
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_A7, -15, 0, 6, 0, $0
anim_wait 2
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $4, 144, 48, $0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_04, -14, 0, 6, 0, $0
anim_wait 2
- anim_sound $1, SFX_SHINE
- anim_obj $a7, 152, 40, $0
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_A7, -13, 0, 5, 0, $0
anim_wait 24
anim_ret
; caed6
@@ -3596,8 +3584,8 @@
BattleAnim_Spite: ; caed6
anim_1gfx ANIM_GFX_ANGELS
- anim_obj $a4, 132, 16, $0
- anim_sound $1, SFX_SPITE
+ anim_obj ANIM_OBJ_A4, -16, 4, 2, 0, $0
+ anim_sound 0, 1, SFX_SPITE
anim_wait 96
anim_ret
; caee2
@@ -3604,17 +3592,17 @@
BattleAnim_PowderSnow: ; caee2
anim_1gfx ANIM_GFX_ICE
-BattleAnim_PowderSnow_branch_caee4: ; caee4
- anim_sound $1a, SFX_SHINE
- anim_obj $8f, 64, 88, $23
+.loop: ; caee4
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_8F, 8, 0, 11, 0, $23
anim_wait 2
- anim_sound $1a, SFX_SHINE
- anim_obj $8f, 64, 80, $24
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_8F, 8, 0, 10, 0, $24
anim_wait 2
- anim_sound $1a, SFX_SHINE
- anim_obj $8f, 64, 96, $23
+ anim_sound 6, 2, SFX_SHINE
+ anim_obj ANIM_OBJ_8F, 8, 0, 12, 0, $23
anim_wait 2
- anim_loop $2, BattleAnim_PowderSnow_branch_caee4
+ anim_loop 2, .loop
anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0
anim_wait 40
anim_call BattleAnim_PowderSnow_branch_cbbdf
@@ -3624,13 +3612,13 @@
BattleAnim_Protect: ; caf0e
anim_1gfx ANIM_GFX_OBJECTS
- anim_bgeffect $7, $0, $2, $0
- anim_obj $8a, 80, 80, $0
- anim_obj $8a, 80, 80, $d
- anim_obj $8a, 80, 80, $1a
- anim_obj $8a, 80, 80, $27
- anim_obj $8a, 80, 80, $34
- anim_sound $0, SFX_PROTECT
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $0
+ anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $d
+ anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $1a
+ anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $27
+ anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $34
+ anim_sound 0, 0, SFX_PROTECT
anim_wait 96
anim_ret
; caf33
@@ -3638,18 +3626,18 @@
BattleAnim_MachPunch: ; caf33
anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_sound $0, SFX_MENU
- anim_obj $77, 24, 88, $2
- anim_obj $77, 32, 88, $1
- anim_obj $77, 40, 88, $0
- anim_obj $77, 48, 88, $80
- anim_obj $77, 56, 88, $81
- anim_obj $77, 64, 88, $82
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2
+ anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1
+ anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0
+ anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80
+ anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81
+ anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82
anim_wait 12
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $6, 136, 56, $0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0
anim_wait 6
- anim_obj $1, 136, 56, $0
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 8
anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
anim_wait 16
@@ -3659,7 +3647,7 @@
BattleAnim_ScaryFace: ; caf73
anim_1gfx ANIM_GFX_BEAM
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
- anim_bgeffect $6, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_call BattleAnim_ScaryFace_branch_cbadc
anim_wait 64
anim_ret
@@ -3667,21 +3655,21 @@
BattleAnim_FaintAttack: ; caf84
anim_1gfx ANIM_GFX_HIT
- anim_sound $0, SFX_CURSE
- anim_call BattleAnim_FaintAttack_branch_cbca7
- anim_bgeffect $1d, $0, $1, $80
+ anim_sound 0, 0, SFX_CURSE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1D, $0, $1, $80
anim_wait 96
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $4, 120, 32, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_04, 15, 0, 4, 0, $0
anim_wait 8
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $4, 152, 40, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_04, -13, 0, 5, 0, $0
anim_wait 8
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $4, 136, 48, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0
anim_wait 32
- anim_incbgeffect $1d
- anim_call BattleAnim_FaintAttack_branch_cbcb7
+ anim_incbgeffect ANIM_BG_1D
+ anim_call BattleAnim_ShowMon_0
anim_wait 4
anim_ret
; cafb4
@@ -3688,12 +3676,12 @@
BattleAnim_SweetKiss: ; cafb4
anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS
- anim_bgeffect $7, $0, $2, $0
- anim_obj $97, 96, 40, $0
- anim_sound $1, SFX_SWEET_KISS
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_97, 12, 0, 5, 0, $0
+ anim_sound 0, 1, SFX_SWEET_KISS
anim_wait 32
- anim_sound $1, SFX_SWEET_KISS_2
- anim_obj ANIM_OBJ_HEART, 120, 40, $0
+ anim_sound 0, 1, SFX_SWEET_KISS_2
+ anim_obj ANIM_OBJ_HEART, 15, 0, 5, 0, $0
anim_wait 40
anim_ret
; cafcf
@@ -3700,41 +3688,41 @@
BattleAnim_BellyDrum: ; cafcf
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_NOISE
- anim_sound $0, SFX_BELLY_DRUM
- anim_obj $aa, 64, 104, $0
- anim_obj $ab, 64, 92, $f8
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
anim_wait 24
- anim_sound $0, SFX_BELLY_DRUM
- anim_obj $aa, 64, 104, $0
- anim_obj $ab, 64, 92, $f8
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
anim_wait 24
- anim_sound $0, SFX_BELLY_DRUM
- anim_obj $aa, 64, 104, $0
- anim_obj $ab, 64, 92, $f8
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
anim_wait 12
- anim_sound $0, SFX_BELLY_DRUM
- anim_obj $aa, 64, 104, $0
- anim_obj $ab, 64, 92, $f8
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
anim_wait 12
- anim_sound $0, SFX_BELLY_DRUM
- anim_obj $aa, 64, 104, $0
- anim_obj $ab, 64, 92, $f8
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
anim_wait 24
- anim_sound $0, SFX_BELLY_DRUM
- anim_obj $aa, 64, 104, $0
- anim_obj $ab, 64, 92, $f8
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
anim_wait 12
- anim_sound $0, SFX_BELLY_DRUM
- anim_obj $aa, 64, 104, $0
- anim_obj $ab, 64, 92, $f8
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
anim_wait 12
- anim_sound $0, SFX_BELLY_DRUM
- anim_obj $aa, 64, 104, $0
- anim_obj $ab, 64, 92, $f8
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
anim_wait 12
- anim_sound $0, SFX_BELLY_DRUM
- anim_obj $aa, 64, 104, $0
- anim_obj $ab, 64, 92, $f8
+ anim_sound 0, 0, SFX_BELLY_DRUM
+ anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0
+ anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8
anim_wait 12
anim_ret
; cb051
@@ -3742,8 +3730,8 @@
BattleAnim_SludgeBomb: ; cb051
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_POISON
anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0
- anim_sound $1a, SFX_SLUDGE_BOMB
- anim_obj $62, 64, 92, $10
+ anim_sound 6, 2, SFX_SLUDGE_BOMB
+ anim_obj ANIM_OBJ_62, 8, 0, 11, 4, $10
anim_wait 36
anim_call BattleAnim_SludgeBomb_branch_cbc15
anim_wait 64
@@ -3759,31 +3747,31 @@
BattleAnim_Octazooka: ; cb06f
anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE
- anim_sound $1a, SFX_SLUDGE_BOMB
- anim_obj $8c, 64, 92, $4
+ anim_sound 6, 2, SFX_SLUDGE_BOMB
+ anim_obj ANIM_OBJ_8C, 8, 0, 11, 4, $4
anim_wait 16
- anim_obj $1c, 132, 56, $10
+ anim_obj ANIM_OBJ_1C, -16, 4, 7, 0, $10
anim_wait 8
- anim_jumpif $0, BattleAnim_Octazooka_branch_cb091
-BattleAnim_Octazooka_branch_cb086: ; cb086
- anim_obj $74, 132, 60, $20
+ anim_jumpif $0, .done
+.loop
+ anim_obj ANIM_OBJ_74, -16, 4, 7, 4, $20
anim_wait 8
- anim_loop $5, BattleAnim_Octazooka_branch_cb086
+ anim_loop 5, .loop
anim_wait 128
-BattleAnim_Octazooka_branch_cb091: ; cb091
+.done
anim_ret
; cb092
BattleAnim_Spikes: ; cb092
anim_1gfx ANIM_GFX_MISC
- anim_sound $1a, SFX_MENU
- anim_obj $8e, 48, 88, $20
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_8E, 6, 0, 11, 0, $20
anim_wait 8
- anim_sound $1a, SFX_MENU
- anim_obj $8e, 48, 88, $30
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_8E, 6, 0, 11, 0, $30
anim_wait 8
- anim_sound $1a, SFX_MENU
- anim_obj $8e, 48, 88, $28
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_8E, 6, 0, 11, 0, $28
anim_wait 64
anim_ret
; cb0b0
@@ -3792,13 +3780,13 @@
anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
anim_bgp $1b
anim_obp0 $30
- anim_sound $1a, SFX_ZAP_CANNON
- anim_obj $a3, 64, 92, $2
+ anim_sound 6, 2, SFX_ZAP_CANNON
+ anim_obj ANIM_OBJ_A3, 8, 0, 11, 4, $2
anim_wait 40
- anim_sound $1, SFX_THUNDERSHOCK
- anim_obj $32, 136, 56, $2
+ anim_sound 0, 1, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_32, -15, 0, 7, 0, $2
anim_wait 16
- anim_obj $31, 136, 56, $0
+ anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0
anim_wait 128
anim_ret
; cb0d0
@@ -3805,15 +3793,15 @@
BattleAnim_Foresight: ; cb0d0
anim_1gfx ANIM_GFX_SHINE
- anim_call BattleAnim_Foresight_branch_cbcc2
- anim_bgeffect $7, $0, $0, $0
- anim_sound $1, SFX_FORESIGHT
- anim_obj $a7, 132, 40, $0
+ anim_call BattleAnim_FollowEnemyFeet_1
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_sound 0, 1, SFX_FORESIGHT
+ anim_obj ANIM_OBJ_A7, -16, 4, 5, 0, $0
anim_wait 24
- anim_bgeffect $19, $0, $0, $40
+ anim_bgeffect ANIM_BG_19, $0, $0, $40
anim_wait 64
- anim_incbgeffect $19
- anim_call BattleAnim_Foresight_branch_cbcd2
+ anim_incbgeffect ANIM_BG_19
+ anim_call BattleAnim_ShowMon_1
anim_wait 8
anim_ret
; cb0f0
@@ -3823,15 +3811,15 @@
anim_bgp $1b
anim_obp0 $0
anim_jumpif $1, BattleAnim_DestinyBond_branch_cb104
- anim_sound $1a, SFX_WHIRLWIND
- anim_obj $9b, 44, 120, $2
+ anim_sound 6, 2, SFX_WHIRLWIND
+ anim_obj ANIM_OBJ_9B, 5, 4, 15, 0, $2
anim_wait 128
anim_ret
; cb104
BattleAnim_DestinyBond_branch_cb104: ; cb104
- anim_obj $9b, 132, 76, $0
- anim_sound $1, SFX_KINESIS
+ anim_obj ANIM_OBJ_9B, -16, 4, 9, 4, $0
+ anim_sound 0, 1, SFX_KINESIS
anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0
anim_wait 32
anim_ret
@@ -3839,17 +3827,17 @@
BattleAnim_PerishSong: ; cb113
anim_1gfx ANIM_GFX_NOISE
- anim_bgeffect $6, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
- anim_sound $2, SFX_PERISH_SONG
- anim_obj $a6, 88, 0, $0
- anim_obj $a6, 88, 0, $8
- anim_obj $a6, 88, 0, $10
- anim_obj $a6, 88, 0, $18
- anim_obj $a6, 88, 0, $20
- anim_obj $a6, 88, 0, $28
- anim_obj $a6, 88, 0, $30
- anim_obj $a6, 88, 0, $38
+ anim_sound 0, 2, SFX_PERISH_SONG
+ anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $0
+ anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $8
+ anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $10
+ anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $18
+ anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $20
+ anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $28
+ anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $30
+ anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $38
anim_wait 112
anim_ret
; cb14c
@@ -3856,19 +3844,19 @@
BattleAnim_IcyWind: ; cb14c
anim_1gfx ANIM_GFX_SPEED
- anim_bgeffect $6, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
anim_playerheadobj
- anim_sound $0, SFX_PSYCHIC
-BattleAnim_IcyWind_branch_cb15c: ; cb15c
+ anim_sound 0, 0, SFX_PSYCHIC
+.loop
anim_wait 8
- anim_obj $ae, 64, 88, $4
+ anim_obj ANIM_OBJ_AE, 8, 0, 11, 0, $4
anim_wait 8
- anim_obj $ae, 64, 80, $4
+ anim_obj ANIM_OBJ_AE, 8, 0, 10, 0, $4
anim_wait 8
- anim_obj $ae, 64, 96, $4
+ anim_obj ANIM_OBJ_AE, 8, 0, 12, 0, $4
anim_wait 8
- anim_loop $2, BattleAnim_IcyWind_branch_cb15c
+ anim_loop 2, .loop
anim_wait 16
anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $1, $0
anim_wait 6
@@ -3877,7 +3865,7 @@
anim_incbgeffect ANIM_BG_NIGHT_SHADE
anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
anim_wait 4
- anim_incobj $7
+ anim_incobj 7
anim_wait 1
anim_ret
; cb18c
@@ -3884,9 +3872,9 @@
BattleAnim_Detect: ; cb18c
anim_1gfx ANIM_GFX_SHINE
- anim_bgeffect $7, $0, $0, $0
- anim_sound $0, SFX_FORESIGHT
- anim_obj $a7, 64, 88, $0
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_sound 0, 0, SFX_FORESIGHT
+ anim_obj ANIM_OBJ_A7, 8, 0, 11, 0, $0
anim_wait 24
anim_ret
; cb19d
@@ -3893,14 +3881,14 @@
BattleAnim_BoneRush: ; cb19d
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC
- anim_sound $1, SFX_BONE_CLUB
- anim_obj $69, 132, 56, $2
+ anim_sound 0, 1, SFX_BONE_CLUB
+ anim_obj ANIM_OBJ_69, -16, 4, 7, 0, $2
anim_wait 16
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $1, 120, 48, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
anim_wait 16
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $1, 144, 64, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $0
anim_wait 16
anim_ret
; cb1bc
@@ -3907,14 +3895,14 @@
BattleAnim_LockOn: ; cb1bc
anim_1gfx ANIM_GFX_MISC
- anim_sound $1, SFX_MIND_READER
-BattleAnim_LockOn_branch_cb1c1: ; cb1c1
- anim_obj $87, 132, 48, $3
- anim_obj $87, 132, 48, $12
- anim_obj $87, 132, 48, $20
- anim_obj $87, 132, 48, $31
+ anim_sound 0, 1, SFX_MIND_READER
+.loop
+ anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $3
+ anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $12
+ anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $20
+ anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $31
anim_wait 16
- anim_loop $2, BattleAnim_LockOn_branch_cb1c1
+ anim_loop 2, .loop
anim_wait 32
anim_ret
; cb1dc
@@ -3921,21 +3909,21 @@
BattleAnim_Outrage: ; cb1dc
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_Outrage_branch_cbca7
- anim_bgeffect $1a, $0, $1, $20
- anim_sound $0, SFX_OUTRAGE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_sound 0, 0, SFX_OUTRAGE
anim_wait 72
- anim_incbgeffect $1a
- anim_call BattleAnim_Outrage_branch_cbcb7
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
- anim_sound $1, SFX_MOVE_PUZZLE_PIECE
- anim_obj $0, 120, 72, $0
+ anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
+ anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0
anim_wait 6
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $0, 136, 56, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
anim_wait 6
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $0, 152, 40, $0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0
anim_wait 16
anim_ret
; cb210
@@ -3942,15 +3930,15 @@
BattleAnim_Sandstorm: ; cb210
anim_1gfx ANIM_GFX_POWDER
- anim_obj $a2, 88, 0, $0
+ anim_obj ANIM_OBJ_A2, 11, 0, 0, 0, $0
anim_wait 8
- anim_obj $a2, 72, 0, $1
+ anim_obj ANIM_OBJ_A2, 9, 0, 0, 0, $1
anim_wait 8
- anim_obj $a2, 56, 0, $2
-BattleAnim_Sandstorm_branch_cb223: ; cb223
- anim_sound $1, SFX_MENU
+ anim_obj ANIM_OBJ_A2, 7, 0, 0, 0, $2
+.loop
+ anim_sound 0, 1, SFX_MENU
anim_wait 8
- anim_loop $10, BattleAnim_Sandstorm_branch_cb223
+ anim_loop 16, .loop
anim_wait 8
anim_ret
; cb22d
@@ -3957,30 +3945,30 @@
BattleAnim_GigaDrain: ; cb22d
anim_2gfx ANIM_GFX_BUBBLE, ANIM_GFX_CHARGE
- anim_call BattleAnim_GigaDrain_branch_cbca7
- anim_bgeffect $1c, $0, $0, $10
- anim_sound $1b, SFX_GIGA_DRAIN
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1C, $0, $0, $10
+ anim_sound 6, 3, SFX_GIGA_DRAIN
anim_call BattleAnim_GigaDrain_branch_cbab3
anim_wait 48
anim_wait 128
- anim_incbgeffect $1c
- anim_call BattleAnim_GigaDrain_branch_cbcb7
+ anim_incbgeffect ANIM_BG_1C
+ anim_call BattleAnim_ShowMon_0
anim_wait 1
anim_1gfx ANIM_GFX_SHINE
- anim_bgeffect $7, $0, $0, $0
-BattleAnim_GigaDrain_branch_cb24d: ; cb24d
- anim_sound $0, SFX_METRONOME
- anim_obj $9d, 24, 64, $0
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+.loop
+ anim_sound 0, 0, SFX_METRONOME
+ anim_obj ANIM_OBJ_9D, 3, 0, 8, 0, $0
anim_wait 5
- anim_obj $9d, 56, 104, $0
+ anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0
anim_wait 5
- anim_obj $9d, 24, 104, $0
+ anim_obj ANIM_OBJ_9D, 3, 0, 13, 0, $0
anim_wait 5
- anim_obj $9d, 56, 64, $0
+ anim_obj ANIM_OBJ_9D, 7, 0, 8, 0, $0
anim_wait 5
- anim_obj $9d, 40, 84, $0
+ anim_obj ANIM_OBJ_9D, 5, 0, 10, 4, $0
anim_wait 5
- anim_loop $2, BattleAnim_GigaDrain_branch_cb24d
+ anim_loop 2, .loop
anim_wait 32
anim_ret
; cb274
@@ -3987,41 +3975,41 @@
BattleAnim_Endure: ; cb274
anim_1gfx ANIM_GFX_SPEED
- anim_call BattleAnim_Endure_branch_cbca7
- anim_bgeffect $1a, $0, $1, $20
- anim_bgeffect $7, $0, $2, $0
-BattleAnim_Endure_branch_cb283: ; cb283
- anim_sound $0, SFX_SWORDS_DANCE
- anim_obj $47, 44, 108, $6
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+.loop
+ anim_sound 0, 0, SFX_SWORDS_DANCE
+ anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6
anim_wait 2
- anim_obj $47, 36, 108, $6
+ anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6
anim_wait 2
- anim_obj $47, 52, 108, $8
+ anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8
anim_wait 2
- anim_obj $47, 28, 108, $8
+ anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8
anim_wait 2
- anim_obj $47, 60, 108, $6
+ anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6
anim_wait 2
- anim_obj $47, 20, 108, $8
+ anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8
anim_wait 2
- anim_obj $47, 68, 108, $8
+ anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8
anim_wait 2
- anim_loop $5, BattleAnim_Endure_branch_cb283
+ anim_loop 5, .loop
anim_wait 8
- anim_incbgeffect $1a
- anim_call BattleAnim_Endure_branch_cbcb7
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
anim_ret
; cb2bb
BattleAnim_Charm: ; cb2bb
anim_1gfx ANIM_GFX_OBJECTS
- anim_call BattleAnim_Charm_branch_cbca7
- anim_bgeffect $26, $0, $1, $0
- anim_sound $0, SFX_ATTRACT
- anim_obj ANIM_OBJ_HEART, 64, 80, $0
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_26, $0, $1, $0
+ anim_sound 0, 0, SFX_ATTRACT
+ anim_obj ANIM_OBJ_HEART, 8, 0, 10, 0, $0
anim_wait 32
- anim_incbgeffect $26
- anim_call BattleAnim_Charm_branch_cbcb7
+ anim_incbgeffect ANIM_BG_26
+ anim_call BattleAnim_ShowMon_0
anim_wait 4
anim_ret
; cb2d5
@@ -4028,25 +4016,25 @@
BattleAnim_Rollout: ; cb2d5
anim_1gfx ANIM_GFX_HIT
- anim_sound $0, SFX_SPARK
- anim_call BattleAnim_Rollout_branch_cbcaf
- anim_bgeffect $2e, $60, $1, $1
- anim_bgeffect $25, $0, $1, $0
+ anim_sound 0, 0, SFX_SPARK
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_2E, $60, $1, $1
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
anim_wait 4
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $3, 136, 40, $0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_03, -15, 0, 5, 0, $0
anim_wait 8
- anim_call BattleAnim_Rollout_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; cb2f5
BattleAnim_FalseSwipe: ; cb2f5
anim_2gfx ANIM_GFX_SHINE, ANIM_GFX_CUT
- anim_bgeffect $7, $0, $0, $0
- anim_sound $1, SFX_CUT
- anim_obj $3a, 152, 40, $0
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_sound 0, 1, SFX_CUT
+ anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
anim_wait 4
- anim_obj $9d, 136, 40, $0
+ anim_obj ANIM_OBJ_9D, -15, 0, 5, 0, $0
anim_wait 32
anim_ret
; cb30d
@@ -4053,14 +4041,14 @@
BattleAnim_Swagger: ; cb30d
anim_2gfx ANIM_GFX_MISC, ANIM_GFX_WIND
-BattleAnim_Swagger_branch_cb310: ; cb310
- anim_sound $0, SFX_MENU
- anim_obj $a9, 72, 88, $44
+.loop
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_A9, 9, 0, 11, 0, $44
anim_wait 32
- anim_loop $2, BattleAnim_Swagger_branch_cb310
+ anim_loop 2, .loop
anim_wait 32
- anim_sound $1, SFX_KINESIS_2
- anim_obj $83, 104, 40, $0
+ anim_sound 0, 1, SFX_KINESIS_2
+ anim_obj ANIM_OBJ_83, 13, 0, 5, 0, $0
anim_wait 40
anim_ret
; cb328
@@ -4067,40 +4055,40 @@
BattleAnim_MilkDrink: ; cb328
anim_2gfx ANIM_GFX_MISC, ANIM_GFX_BUBBLE
- anim_call BattleAnim_MilkDrink_branch_cbca7
- anim_obj $82, 74, 104, $0
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_obj ANIM_OBJ_82, 9, 2, 13, 0, $0
anim_wait 16
- anim_bgeffect $18, $0, $1, $40
- anim_sound $0, SFX_MILK_DRINK
-BattleAnim_MilkDrink_branch_cb33c: ; cb33c
- anim_obj $2c, 44, 88, $20
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_sound 0, 0, SFX_MILK_DRINK
+.loop
+ anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $20
anim_wait 8
- anim_loop $8, BattleAnim_MilkDrink_branch_cb33c
+ anim_loop 8, .loop
anim_wait 128
- anim_incbgeffect $18
- anim_call BattleAnim_MilkDrink_branch_cbcb7
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
anim_ret
; cb34d
BattleAnim_Spark: ; cb34d
anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
- anim_sound $0, SFX_ZAP_CANNON
+ anim_sound 0, 0, SFX_ZAP_CANNON
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
- anim_obj $30, 48, 92, $0
+ anim_obj ANIM_OBJ_30, 6, 0, 11, 4, $0
anim_wait 24
anim_setobj $1, $3
anim_wait 1
- anim_call BattleAnim_Spark_branch_cbca7
+ anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
- anim_sound $0, SFX_SPARK
+ anim_sound 0, 0, SFX_SPARK
anim_wait 16
anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
anim_wait 4
- anim_incobj $2
+ anim_incobj 2
anim_wait 1
- anim_sound $1, SFX_THUNDERSHOCK
- anim_obj $32, 136, 56, $2
- anim_obj $33, 136, 56, $0
+ anim_sound 0, 1, SFX_THUNDERSHOCK
+ anim_obj ANIM_OBJ_32, -15, 0, 7, 0, $2
+ anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0
anim_wait 32
anim_ret
; cb386
@@ -4107,18 +4095,17 @@
BattleAnim_FuryCutter: ; cb386
anim_1gfx ANIM_GFX_CUT
-BattleAnim_FuryCutter_branch_cb388: ; cb388
- anim_sound $1, SFX_CUT
- anim_jumpand $1, BattleAnim_FuryCutter_branch_cb397
- anim_obj $3a, 152, 40, $0
- anim_jump BattleAnim_FuryCutter_branch_cb39c
-; cb397
+.loop
+ anim_sound 0, 1, SFX_CUT
+ anim_jumpand $1, .obj1
+ anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
+ anim_jump .okay
-BattleAnim_FuryCutter_branch_cb397: ; cb397
- anim_obj $3b, 112, 40, $0
-BattleAnim_FuryCutter_branch_cb39c: ; cb39c
+.obj1
+ anim_obj ANIM_OBJ_3B, 14, 0, 5, 0, $0
+.okay
anim_wait 16
- anim_jumpuntil BattleAnim_FuryCutter_branch_cb388
+ anim_jumpuntil .loop
anim_ret
; cb3a1
@@ -4125,23 +4112,23 @@
BattleAnim_SteelWing: ; cb3a1
anim_1gfx ANIM_GFX_REFLECT
anim_obp0 $0
- anim_sound $0, SFX_RAGE
- anim_call BattleAnim_SteelWing_branch_cbca7
+ anim_sound 0, 0, SFX_RAGE
+ anim_call BattleAnim_FollowEnemyFeet_0
anim_call BattleAnim_SteelWing_branch_cbc43
- anim_call BattleAnim_SteelWing_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_1gfx ANIM_GFX_HIT
anim_resetobp0
- anim_sound $1, SFX_WING_ATTACK
- anim_obj $1, 148, 56, $0
- anim_obj $1, 116, 56, $0
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, -14, 4, 7, 0, $0
+ anim_obj ANIM_OBJ_01, 14, 4, 7, 0, $0
anim_wait 6
- anim_sound $1, SFX_WING_ATTACK
- anim_obj $1, 144, 56, $0
- anim_obj $1, 120, 56, $0
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, -14, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_01, 15, 0, 7, 0, $0
anim_wait 6
- anim_sound $1, SFX_WING_ATTACK
- anim_obj $1, 140, 56, $0
- anim_obj $1, 124, 56, $0
+ anim_sound 0, 1, SFX_WING_ATTACK
+ anim_obj ANIM_OBJ_01, -15, 4, 7, 0, $0
+ anim_obj ANIM_OBJ_01, 15, 4, 7, 0, $0
anim_wait 16
anim_ret
; cb3df
@@ -4149,16 +4136,16 @@
BattleAnim_MeanLook: ; cb3df
anim_1gfx ANIM_GFX_PSYCHIC
anim_obp0 $e0
- anim_sound $1, SFX_MEAN_LOOK
- anim_obj $ac, 148, 32, $0
+ anim_sound 0, 1, SFX_MEAN_LOOK
+ anim_obj ANIM_OBJ_AC, -14, 4, 4, 0, $0
anim_wait 5
- anim_obj $ac, 116, 64, $0
+ anim_obj ANIM_OBJ_AC, 14, 4, 8, 0, $0
anim_wait 5
- anim_obj $ac, 148, 64, $0
+ anim_obj ANIM_OBJ_AC, -14, 4, 8, 0, $0
anim_wait 5
- anim_obj $ac, 116, 32, $0
+ anim_obj ANIM_OBJ_AC, 14, 4, 4, 0, $0
anim_wait 5
- anim_obj $ac, 132, 48, $0
+ anim_obj ANIM_OBJ_AC, -16, 4, 6, 0, $0
anim_wait 128
anim_ret
; cb405
@@ -4165,11 +4152,11 @@
BattleAnim_Attract: ; cb405
anim_1gfx ANIM_GFX_OBJECTS
-BattleAnim_Attract_branch_cb407: ; cb407
- anim_sound $0, SFX_ATTRACT
- anim_obj $66, 44, 80, $2
+.loop
+ anim_sound 0, 0, SFX_ATTRACT
+ anim_obj ANIM_OBJ_66, 5, 4, 10, 0, $2
anim_wait 8
- anim_loop $5, BattleAnim_Attract_branch_cb407
+ anim_loop 5, .loop
anim_wait 128
anim_wait 64
anim_ret
@@ -4177,11 +4164,11 @@
BattleAnim_SleepTalk: ; cb417
anim_1gfx ANIM_GFX_STATUS
-BattleAnim_SleepTalk_branch_cb419: ; cb419
- anim_sound $0, SFX_STRENGTH
- anim_obj $54, 64, 80, $0
+.loop
+ anim_sound 0, 0, SFX_STRENGTH
+ anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0
anim_wait 40
- anim_loop $2, BattleAnim_SleepTalk_branch_cb419
+ anim_loop 2, .loop
anim_wait 32
anim_ret
; cb428
@@ -4188,25 +4175,25 @@
BattleAnim_HealBell: ; cb428
anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE
- anim_obj $84, 72, 56, $0
+ anim_obj ANIM_OBJ_84, 9, 0, 7, 0, $0
anim_wait 32
-BattleAnim_HealBell_branch_cb431: ; cb431
- anim_sound $0, SFX_HEAL_BELL
- anim_obj $85, 72, 52, $0
+.loop
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $0
anim_wait 8
- anim_sound $0, SFX_HEAL_BELL
- anim_obj $85, 72, 52, $1
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $1
anim_wait 8
- anim_sound $0, SFX_HEAL_BELL
- anim_obj $85, 72, 52, $2
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $2
anim_wait 8
- anim_sound $0, SFX_HEAL_BELL
- anim_obj $85, 72, 52, $0
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $0
anim_wait 8
- anim_sound $0, SFX_HEAL_BELL
- anim_obj $85, 72, 52, $2
+ anim_sound 0, 0, SFX_HEAL_BELL
+ anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $2
anim_wait 8
- anim_loop $4, BattleAnim_HealBell_branch_cb431
+ anim_loop 4, .loop
anim_wait 64
anim_ret
; cb464
@@ -4213,47 +4200,46 @@
BattleAnim_Return: ; cb464
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_Return_branch_cbcaf
- anim_bgeffect $22, $0, $1, $0
- anim_sound $0, SFX_RETURN
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0
+ anim_sound 0, 0, SFX_RETURN
anim_wait 64
- anim_incbgeffect $22
+ anim_incbgeffect ANIM_BG_BOUNCE_DOWN
anim_wait 32
- anim_bgeffect $25, $0, $1, $0
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
anim_wait 4
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $3, 136, 40, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_03, -15, 0, 5, 0, $0
anim_wait 8
- anim_call BattleAnim_Return_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; cb488
BattleAnim_Present: ; cb488
anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_BUBBLE
- anim_sound $1, SFX_PRESENT
- anim_obj $8d, 64, 88, $6c
+ anim_sound 0, 1, SFX_PRESENT
+ anim_obj ANIM_OBJ_8D, 8, 0, 11, 0, $6c
anim_wait 56
- anim_obj $53, 104, 48, $0
+ anim_obj ANIM_OBJ_53, 13, 0, 6, 0, $0
anim_wait 48
- anim_incobj $2
- anim_jumpif $3, BattleAnim_Present_branch_cb4b2
- anim_incobj $1
+ anim_incobj 2
+ anim_jumpif $3, .heal
+ anim_incobj 1
anim_wait 1
anim_1gfx ANIM_GFX_EXPLOSION
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12
-BattleAnim_Present_branch_cb4aa: ; cb4aa
+.loop
anim_call BattleAnim_Present_branch_cbb8f
anim_wait 16
- anim_jumpuntil BattleAnim_Present_branch_cb4aa
+ anim_jumpuntil .loop
anim_ret
-; cb4b2
-BattleAnim_Present_branch_cb4b2: ; cb4b2
- anim_sound $1, SFX_METRONOME
-BattleAnim_Present_branch_cb4b5: ; cb4b5
- anim_obj $2c, 132, 48, $24
+.heal
+ anim_sound 0, 1, SFX_METRONOME
+.loop2
+ anim_obj ANIM_OBJ_2C, -16, 4, 6, 0, $24
anim_wait 8
- anim_loop $8, BattleAnim_Present_branch_cb4b5
+ anim_loop 8, .loop2
anim_wait 128
anim_ret
; cb4c1
@@ -4260,37 +4246,37 @@
BattleAnim_Frustration: ; cb4c1
anim_1gfx ANIM_GFX_MISC
- anim_sound $0, SFX_KINESIS_2
- anim_obj $83, 72, 80, $0
+ anim_sound 0, 0, SFX_KINESIS_2
+ anim_obj ANIM_OBJ_83, 9, 0, 10, 0, $0
anim_wait 40
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_Frustration_branch_cbca7
- anim_bgeffect $26, $0, $1, $0
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_26, $0, $1, $0
anim_wait 8
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $1, 120, 48, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0
anim_wait 8
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $1, 152, 48, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, -13, 0, 6, 0, $0
anim_wait 8
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $1, 136, 48, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0
anim_wait 8
- anim_incbgeffect $26
+ anim_incbgeffect ANIM_BG_26
anim_wait 1
- anim_call BattleAnim_Frustration_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; cb4f9
BattleAnim_Safeguard: ; cb4f9
anim_1gfx ANIM_GFX_MISC
- anim_bgeffect $6, $0, $2, $0
- anim_obj $89, 80, 80, $0
- anim_obj $89, 80, 80, $d
- anim_obj $89, 80, 80, $1a
- anim_obj $89, 80, 80, $27
- anim_obj $89, 80, 80, $34
- anim_sound $0, SFX_PROTECT
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+ anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $0
+ anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $d
+ anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $1a
+ anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $27
+ anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $34
+ anim_sound 0, 0, SFX_PROTECT
anim_wait 96
anim_ret
; cb51e
@@ -4297,14 +4283,14 @@
BattleAnim_PainSplit: ; cb51e
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS
- anim_call BattleAnim_PainSplit_branch_cbcaf
- anim_bgeffect $25, $0, $1, $0
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
anim_wait 4
- anim_sound $1, SFX_TACKLE
- anim_obj $4, 112, 48, $0
- anim_obj $4, 76, 96, $0
+ anim_sound 0, 1, SFX_TACKLE
+ anim_obj ANIM_OBJ_04, 14, 0, 6, 0, $0
+ anim_obj ANIM_OBJ_04, 9, 4, 12, 0, $0
anim_wait 8
- anim_call BattleAnim_PainSplit_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_wait 1
anim_ret
; cb53d
@@ -4311,25 +4297,25 @@
BattleAnim_SacredFire: ; cb53d
anim_1gfx ANIM_GFX_FIRE
- anim_bgeffect $6, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
-BattleAnim_SacredFire_branch_cb549: ; cb549
- anim_sound $0, SFX_EMBER
- anim_obj $80, 48, 104, $0
+.loop
+ anim_sound 0, 0, SFX_EMBER
+ anim_obj ANIM_OBJ_80, 6, 0, 13, 0, $0
anim_wait 8
- anim_loop $8, BattleAnim_SacredFire_branch_cb549
+ anim_loop 8, .loop
anim_wait 96
- anim_call BattleAnim_SacredFire_branch_cbca7
+ anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
anim_wait 4
- anim_sound $1, SFX_EMBER
- anim_obj $f, 136, 48, $1
- anim_obj $f, 136, 48, $4
- anim_obj $f, 136, 48, $5
+ anim_sound 0, 1, SFX_EMBER
+ anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $1
+ anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $4
+ anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $5
anim_wait 8
anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
anim_wait 4
- anim_incobj $9
+ anim_incobj 9
anim_wait 8
anim_ret
; cb57d
@@ -4336,20 +4322,20 @@
BattleAnim_Magnitude: ; cb57d
anim_1gfx ANIM_GFX_ROCKS
-BattleAnim_Magnitude_branch_cb57f: ; cb57f
- anim_bgeffect $1f, $e, $4, $0
- anim_sound $1, SFX_STRENGTH
- anim_obj $1e, 128, 64, $40
+.loop
+ anim_bgeffect ANIM_BG_1F, $e, $4, $0
+ anim_sound 0, 1, SFX_STRENGTH
+ anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40
anim_wait 2
- anim_obj $1e, 120, 68, $30
+ anim_obj ANIM_OBJ_1E, 15, 0, 8, 4, $30
anim_wait 2
- anim_obj $1e, 152, 68, $30
+ anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30
anim_wait 2
- anim_obj $1e, 144, 64, $40
+ anim_obj ANIM_OBJ_1E, -14, 0, 8, 0, $40
anim_wait 2
- anim_obj $1e, 136, 68, $30
+ anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30
anim_wait 2
- anim_jumpuntil BattleAnim_Magnitude_branch_cb57f
+ anim_jumpuntil .loop
anim_wait 96
anim_ret
; cb5aa
@@ -4356,8 +4342,8 @@
BattleAnim_Dynamicpunch: ; cb5aa
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_EXPLOSION
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $a, 136, 56, $43
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43
anim_wait 16
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12
anim_call BattleAnim_Dynamicpunch_branch_cbb8f
@@ -4367,13 +4353,13 @@
BattleAnim_Megahorn: ; cb5c0
anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT
- anim_bgeffect $1f, $40, $2, $0
+ anim_bgeffect ANIM_BG_1F, $40, $2, $0
anim_wait 48
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
- anim_obj $5f, 72, 80, $1
- anim_sound $1, SFX_HORN_ATTACK
+ anim_obj ANIM_OBJ_5F, 9, 0, 10, 0, $1
+ anim_sound 0, 1, SFX_HORN_ATTACK
anim_wait 16
- anim_obj $0, 136, 56, $0
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
anim_wait 16
anim_ret
; cb5de
@@ -4380,11 +4366,11 @@
BattleAnim_Dragonbreath: ; cb5de
anim_1gfx ANIM_GFX_FIRE
- anim_sound $1a, SFX_EMBER
-BattleAnim_Dragonbreath_branch_cb5e3: ; cb5e3
- anim_obj $90, 64, 92, $4
+ anim_sound 6, 2, SFX_EMBER
+.loop
+ anim_obj ANIM_OBJ_90, 8, 0, 11, 4, $4
anim_wait 4
- anim_loop $a, BattleAnim_Dragonbreath_branch_cb5e3
+ anim_loop 10, .loop
anim_wait 64
anim_ret
; cb5ef
@@ -4391,8 +4377,8 @@
BattleAnim_BatonPass: ; cb5ef
anim_1gfx ANIM_GFX_MISC
- anim_obj $86, 44, 104, $20
- anim_sound $0, SFX_BATON_PASS
+ anim_obj ANIM_OBJ_86, 5, 4, 13, 0, $20
+ anim_sound 0, 0, SFX_BATON_PASS
anim_call BattleAnim_BatonPass_branch_c9486
anim_wait 64
anim_ret
@@ -4400,13 +4386,13 @@
BattleAnim_Encore: ; cb5fe
anim_1gfx ANIM_GFX_OBJECTS
- anim_obj $99, 64, 80, $90
- anim_obj $99, 64, 80, $10
- anim_sound $0, SFX_ENCORE
+ anim_obj ANIM_OBJ_99, 8, 0, 10, 0, $90
+ anim_obj ANIM_OBJ_99, 8, 0, 10, 0, $10
+ anim_sound 0, 0, SFX_ENCORE
anim_wait 16
- anim_obj $9a, 64, 72, $2c
+ anim_obj ANIM_OBJ_9A, 8, 0, 9, 0, $2c
anim_wait 32
- anim_obj $9a, 64, 72, $34
+ anim_obj ANIM_OBJ_9A, 8, 0, 9, 0, $34
anim_wait 16
anim_ret
; cb61b
@@ -4414,8 +4400,8 @@
BattleAnim_Pursuit: ; cb61b
anim_1gfx ANIM_GFX_HIT
anim_jumpif $1, BattleAnim_Pursuit_branch_cb62b
- anim_sound $1, SFX_COMET_PUNCH
- anim_obj $1, 136, 56, $0
+ anim_sound 0, 1, SFX_COMET_PUNCH
+ anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0
anim_wait 16
anim_ret
; cb62b
@@ -4423,20 +4409,20 @@
BattleAnim_Pursuit_branch_cb62b: ; cb62b
anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0
anim_wait 4
- anim_call BattleAnim_Pursuit_branch_cbcc2
- anim_obj $ad, 132, 64, $0
+ anim_call BattleAnim_FollowEnemyFeet_1
+ anim_obj ANIM_OBJ_AD, -16, 4, 8, 0, $0
anim_wait 64
- anim_obj $ad, 132, 64, $1
- anim_sound $1, SFX_BALL_POOF
+ anim_obj ANIM_OBJ_AD, -16, 4, 8, 0, $1
+ anim_sound 0, 1, SFX_BALL_POOF
anim_bgeffect ANIM_BG_ENTER_MON, $0, $0, $0
anim_wait 64
- anim_incobj $3
+ anim_incobj 3
anim_wait 16
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $0, 120, 56, $0
- anim_bgeffect $2d, $0, $0, $0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_00, 15, 0, 7, 0, $0
+ anim_bgeffect ANIM_BG_2D, $0, $0, $0
anim_wait 16
- anim_call BattleAnim_Pursuit_branch_cbcd2
+ anim_call BattleAnim_ShowMon_1
anim_wait 1
anim_ret
; cb65e
@@ -4444,22 +4430,22 @@
BattleAnim_RapidSpin: ; cb65e
anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT
anim_obp0 $e4
-BattleAnim_RapidSpin_branch_cb663: ; cb663
- anim_sound $0, SFX_MENU
- anim_obj $a8, 44, 112, $0
+.loop
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_A8, 5, 4, 14, 0, $0
anim_wait 2
- anim_loop $5, BattleAnim_RapidSpin_branch_cb663
+ anim_loop 5, .loop
anim_wait 24
- anim_call BattleAnim_RapidSpin_branch_cbcaf
- anim_bgeffect $25, $0, $1, $0
+ anim_call BattleAnim_FollowPlayerHead_0
+ anim_bgeffect ANIM_BG_25, $0, $1, $0
anim_wait 4
anim_resetobp0
- anim_sound $1, SFX_MEGA_KICK
- anim_obj $4, 136, 40, $0
+ anim_sound 0, 1, SFX_MEGA_KICK
+ anim_obj ANIM_OBJ_04, -15, 0, 5, 0, $0
anim_wait 8
anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
anim_wait 4
- anim_incobj $6
+ anim_incobj 6
anim_wait 1
anim_ret
; cb68e
@@ -4466,16 +4452,16 @@
BattleAnim_SweetScent: ; cb68e
anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_MISC
- anim_sound $0, SFX_SWEET_SCENT
- anim_obj ANIM_OBJ_FLOWER, 64, 96, $2
+ anim_sound 0, 0, SFX_SWEET_SCENT
+ anim_obj ANIM_OBJ_FLOWER, 8, 0, 12, 0, $2
anim_wait 2
- anim_obj ANIM_OBJ_FLOWER, 64, 80, $2
+ anim_obj ANIM_OBJ_FLOWER, 8, 0, 10, 0, $2
anim_wait 96
anim_obp0 $54
- anim_sound $1, SFX_SWEET_SCENT_2
- anim_obj ANIM_OBJ_COTTON, 136, 40, $15
- anim_obj ANIM_OBJ_COTTON, 136, 40, $2a
- anim_obj ANIM_OBJ_COTTON, 136, 40, $3f
+ anim_sound 0, 1, SFX_SWEET_SCENT_2
+ anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $15
+ anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $2a
+ anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $3f
anim_wait 128
anim_ret
; cb6b6
@@ -4483,19 +4469,19 @@
BattleAnim_IronTail: ; cb6b6
anim_1gfx ANIM_GFX_REFLECT
anim_obp0 $0
- anim_sound $0, SFX_RAGE
- anim_call BattleAnim_IronTail_branch_cbca7
+ anim_sound 0, 0, SFX_RAGE
+ anim_call BattleAnim_FollowEnemyFeet_0
anim_call BattleAnim_IronTail_branch_cbc43
anim_wait 4
anim_1gfx ANIM_GFX_HIT
anim_resetobp0
- anim_bgeffect $26, $0, $1, $0
+ anim_bgeffect ANIM_BG_26, $0, $1, $0
anim_wait 16
- anim_sound $1, SFX_MEGA_KICK
- anim_obj $0, 136, 48, $0
+ anim_sound 0, 1, SFX_MEGA_KICK
+ anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0
anim_wait 16
- anim_incbgeffect $26
- anim_call BattleAnim_IronTail_branch_cbcb7
+ anim_incbgeffect ANIM_BG_26
+ anim_call BattleAnim_ShowMon_0
anim_ret
; cb6dc
@@ -4502,16 +4488,16 @@
BattleAnim_MetalClaw: ; cb6dc
anim_1gfx ANIM_GFX_REFLECT
anim_obp0 $0
- anim_sound $0, SFX_RAGE
- anim_call BattleAnim_MetalClaw_branch_cbca7
+ anim_sound 0, 0, SFX_RAGE
+ anim_call BattleAnim_FollowEnemyFeet_0
anim_call BattleAnim_MetalClaw_branch_cbc43
- anim_call BattleAnim_MetalClaw_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_1gfx ANIM_GFX_CUT
anim_resetobp0
- anim_sound $1, SFX_SCRATCH
- anim_obj $37, 144, 48, $0
- anim_obj $37, 140, 44, $0
- anim_obj $37, 136, 40, $0
+ anim_sound 0, 1, SFX_SCRATCH
+ anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0
+ anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0
anim_wait 32
anim_ret
; cb703
@@ -4518,23 +4504,23 @@
BattleAnim_VitalThrow: ; cb703
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_VitalThrow_branch_cbca7
- anim_bgeffect $2f, $0, $1, $0
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_2F, $0, $1, $0
anim_wait 16
- anim_sound $0, SFX_MENU
- anim_obj $4, 64, 96, $0
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_04, 8, 0, 12, 0, $0
anim_wait 8
- anim_sound $0, SFX_MENU
- anim_obj $4, 56, 88, $0
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_04, 7, 0, 11, 0, $0
anim_wait 8
- anim_sound $0, SFX_MENU
- anim_obj $4, 68, 104, $0
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_04, 8, 4, 13, 0, $0
anim_wait 8
- anim_incbgeffect $2f
+ anim_incbgeffect ANIM_BG_2F
anim_wait 16
- anim_call BattleAnim_VitalThrow_branch_cbcb7
- anim_sound $1, SFX_MEGA_PUNCH
- anim_obj $3, 132, 56, $0
+ anim_call BattleAnim_ShowMon_0
+ anim_sound 0, 1, SFX_MEGA_PUNCH
+ anim_obj ANIM_OBJ_03, -16, 4, 7, 0, $0
anim_wait 16
anim_ret
; cb739
@@ -4541,19 +4527,19 @@
BattleAnim_MorningSun: ; cb739
anim_1gfx ANIM_GFX_SHINE
- anim_bgeffect $7, $0, $0, $0
- anim_sound $0, SFX_MORNING_SUN
-BattleAnim_MorningSun_branch_cb743: ; cb743
- anim_obj $9c, 16, 48, $88
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_sound 0, 0, SFX_MORNING_SUN
+.loop
+ anim_obj ANIM_OBJ_9C, 2, 0, 6, 0, $88
anim_wait 6
- anim_loop $5, BattleAnim_MorningSun_branch_cb743
+ anim_loop 5, .loop
anim_wait 32
- anim_jumpif $0, BattleAnim_MorningSun_branch_cb756
+ anim_jumpif $0, .zero
anim_call BattleAnim_MorningSun_branch_cbc6a
anim_ret
; cb756
-BattleAnim_MorningSun_branch_cb756: ; cb756
+.zero
anim_call BattleAnim_MorningSun_branch_cbc80
anim_ret
; cb75a
@@ -4560,13 +4546,13 @@
BattleAnim_Synthesis: ; cb75a
anim_1gfx ANIM_GFX_SHINE
- anim_call BattleAnim_Synthesis_branch_cbca7
- anim_bgeffect $18, $0, $1, $40
- anim_bgeffect $7, $0, $0, $0
- anim_sound $0, SFX_OUTRAGE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_18, $0, $1, $40
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_sound 0, 0, SFX_OUTRAGE
anim_wait 72
- anim_incbgeffect $18
- anim_call BattleAnim_Synthesis_branch_cbcb7
+ anim_incbgeffect ANIM_BG_18
+ anim_call BattleAnim_ShowMon_0
anim_jumpif $1, BattleAnim_Synthesis_branch_cb77a
anim_call BattleAnim_Synthesis_branch_cbc6a
anim_ret
@@ -4581,15 +4567,15 @@
anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
anim_bgp $1b
anim_obp0 $c0
- anim_bgeffect $1f, $20, $2, $0
- anim_obj $36, 136, 56, $a8
- anim_obj $36, 136, 56, $28
+ anim_bgeffect ANIM_BG_1F, $20, $2, $0
+ anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $a8
+ anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $28
anim_wait 8
- anim_sound $1, SFX_BITE
- anim_obj $0, 144, 48, $18
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_00, -14, 0, 6, 0, $18
anim_wait 16
- anim_sound $1, SFX_BITE
- anim_obj $0, 128, 64, $18
+ anim_sound 0, 1, SFX_BITE
+ anim_obj ANIM_OBJ_00, 16, 0, 8, 0, $18
anim_wait 8
anim_ret
; cb7a8
@@ -4597,14 +4583,14 @@
BattleAnim_Moonlight: ; cb7a8
anim_1gfx ANIM_GFX_SHINE
anim_bgp $1b
- anim_bgeffect $7, $0, $0, $0
- anim_obj $9e, 0, 40, $0
- anim_obj $9e, 16, 56, $0
- anim_obj $9e, 32, 72, $0
- anim_obj $9e, 48, 88, $0
- anim_obj $9e, 64, 104, $0
+ anim_bgeffect ANIM_BG_07, $0, $0, $0
+ anim_obj ANIM_OBJ_9E, 0, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_9E, 2, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_9E, 4, 0, 9, 0, $0
+ anim_obj ANIM_OBJ_9E, 6, 0, 11, 0, $0
+ anim_obj ANIM_OBJ_9E, 8, 0, 13, 0, $0
anim_wait 1
- anim_sound $0, SFX_MOONLIGHT
+ anim_sound 0, 0, SFX_MOONLIGHT
anim_wait 63
anim_jumpif $3, BattleAnim_Moonlight_branch_cb7d7
anim_call BattleAnim_Moonlight_branch_cbc6a
@@ -4618,35 +4604,35 @@
BattleAnim_HiddenPower: ; cb7db
anim_1gfx ANIM_GFX_CHARGE
- anim_call BattleAnim_HiddenPower_branch_cbca7
- anim_bgeffect $1a, $0, $1, $20
- anim_bgeffect $7, $0, $2, $0
- anim_obj $9f, 44, 88, $0
- anim_obj $9f, 44, 88, $8
- anim_obj $9f, 44, 88, $10
- anim_obj $9f, 44, 88, $18
- anim_obj $9f, 44, 88, $20
- anim_obj $9f, 44, 88, $28
- anim_obj $9f, 44, 88, $30
- anim_obj $9f, 44, 88, $38
-BattleAnim_HiddenPower_branch_cb812: ; cb812
- anim_sound $0, SFX_SWORDS_DANCE
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_bgeffect ANIM_BG_07, $0, $2, $0
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $0
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $8
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $10
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $18
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $20
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $28
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $30
+ anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $38
+.loop
+ anim_sound 0, 0, SFX_SWORDS_DANCE
anim_wait 8
- anim_loop $c, BattleAnim_HiddenPower_branch_cb812
- anim_incbgeffect $1a
- anim_call BattleAnim_HiddenPower_branch_cbcb7
+ anim_loop 12, .loop
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
anim_wait 1
- anim_incobj $2
- anim_incobj $3
- anim_incobj $4
- anim_incobj $5
- anim_incobj $6
- anim_incobj $7
- anim_incobj $8
- anim_incobj $9
+ anim_incobj 2
+ anim_incobj 3
+ anim_incobj 4
+ anim_incobj 5
+ anim_incobj 6
+ anim_incobj 7
+ anim_incobj 8
+ anim_incobj 9
anim_wait 16
anim_1gfx ANIM_GFX_HIT
- anim_obj $0, 136, 56, $0
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
anim_wait 32
anim_ret
; cb83a
@@ -4653,13 +4639,13 @@
BattleAnim_CrossChop: ; cb83a
anim_1gfx ANIM_GFX_CUT
- anim_sound $1, SFX_CUT
- anim_obj $a0, 152, 40, $0
- anim_obj $a1, 120, 72, $0
+ anim_sound 0, 1, SFX_CUT
+ anim_obj ANIM_OBJ_A0, -13, 0, 5, 0, $0
+ anim_obj ANIM_OBJ_A1, 15, 0, 9, 0, $0
anim_wait 8
- anim_bgeffect $1f, $58, $2, $0
+ anim_bgeffect ANIM_BG_1F, $58, $2, $0
anim_wait 92
- anim_sound $1, SFX_VICEGRIP
+ anim_sound 0, 1, SFX_VICEGRIP
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $10
anim_wait 16
anim_ret
@@ -4667,44 +4653,44 @@
BattleAnim_Twister: ; cb85a
anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT
-BattleAnim_Twister_branch_cb85d: ; cb85d
- anim_sound $0, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_GUST, 64, 112, $0
+.loop1
+ anim_sound 0, 0, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_GUST, 8, 0, 14, 0, $0
anim_wait 6
- anim_loop $9, BattleAnim_Twister_branch_cb85d
-BattleAnim_Twister_branch_cb86a: ; cb86a
- anim_sound $0, SFX_RAZOR_WIND
+ anim_loop 9, .loop1
+.loop2
+ anim_sound 0, 0, SFX_RAZOR_WIND
anim_wait 8
- anim_loop $8, BattleAnim_Twister_branch_cb86a
- anim_incobj $1
- anim_incobj $2
- anim_incobj $3
- anim_incobj $4
- anim_incobj $5
- anim_incobj $6
- anim_incobj $7
- anim_incobj $8
- anim_incobj $9
+ anim_loop 8, .loop2
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_incobj 4
+ anim_incobj 5
+ anim_incobj 6
+ anim_incobj 7
+ anim_incobj 8
+ anim_incobj 9
anim_wait 64
- anim_obj $1, 144, 64, $18
-BattleAnim_Twister_branch_cb88a: ; cb88a
- anim_sound $1, SFX_RAZOR_WIND
+ anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $18
+.loop3
+ anim_sound 0, 1, SFX_RAZOR_WIND
anim_wait 8
- anim_loop $4, BattleAnim_Twister_branch_cb88a
- anim_obj $1, 128, 32, $18
-BattleAnim_Twister_branch_cb897: ; cb897
- anim_sound $1, SFX_RAZOR_WIND
+ anim_loop 4, .loop3
+ anim_obj ANIM_OBJ_01, 16, 0, 4, 0, $18
+.loop4
+ anim_sound 0, 1, SFX_RAZOR_WIND
anim_wait 8
- anim_loop $4, BattleAnim_Twister_branch_cb897
- anim_incobj $1
- anim_incobj $2
- anim_incobj $3
- anim_incobj $4
- anim_incobj $5
- anim_incobj $6
- anim_incobj $7
- anim_incobj $8
- anim_incobj $9
+ anim_loop 4, .loop4
+ anim_incobj 1
+ anim_incobj 2
+ anim_incobj 3
+ anim_incobj 4
+ anim_incobj 5
+ anim_incobj 6
+ anim_incobj 7
+ anim_incobj 8
+ anim_incobj 9
anim_wait 32
anim_ret
; cb8b3
@@ -4713,12 +4699,12 @@
anim_1gfx ANIM_GFX_WATER
anim_bgp $f8
anim_obp0 $7c
- anim_sound $1, SFX_RAIN_DANCE
- anim_obj $af, 88, 0, $0
+ anim_sound 0, 1, SFX_RAIN_DANCE
+ anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $0
anim_wait 8
- anim_obj $af, 88, 0, $1
+ anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $1
anim_wait 8
- anim_obj $af, 88, 0, $2
+ anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2
anim_wait 128
anim_ret
; cb8cf
@@ -4726,12 +4712,12 @@
BattleAnim_SunnyDay: ; cb8cf
anim_1gfx ANIM_GFX_WATER
anim_bgp $90
- anim_sound $1, SFX_MORNING_SUN
- anim_obj $af, 88, 0, $2
+ anim_sound 0, 1, SFX_MORNING_SUN
+ anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2
anim_wait 8
- anim_obj $af, 88, 0, $2
+ anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2
anim_wait 8
- anim_obj $af, 88, 0, $2
+ anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2
anim_wait 128
anim_ret
; cb8e9
@@ -4738,19 +4724,19 @@
BattleAnim_MirrorCoat: ; cb8e9
anim_2gfx ANIM_GFX_REFLECT, ANIM_GFX_SPEED
- anim_bgeffect $6, $0, $2, $0
-BattleAnim_MirrorCoat_branch_cb8f1: ; cb8f1
- anim_sound $0, SFX_SHINE
- anim_obj $50, 72, 80, $0
- anim_obj $ae, 64, 72, $4
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
+.loop
+ anim_sound 0, 0, SFX_SHINE
+ anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0
+ anim_obj ANIM_OBJ_AE, 8, 0, 9, 0, $4
anim_wait 8
- anim_obj $ae, 64, 88, $4
+ anim_obj ANIM_OBJ_AE, 8, 0, 11, 0, $4
anim_wait 8
- anim_obj $ae, 64, 80, $4
+ anim_obj ANIM_OBJ_AE, 8, 0, 10, 0, $4
anim_wait 8
- anim_obj $ae, 64, 96, $4
+ anim_obj ANIM_OBJ_AE, 8, 0, 12, 0, $4
anim_wait 8
- anim_loop $3, BattleAnim_MirrorCoat_branch_cb8f1
+ anim_loop 3, .loop
anim_wait 32
anim_ret
; cb917
@@ -4757,16 +4743,16 @@
BattleAnim_PsychUp: ; cb917
anim_1gfx ANIM_GFX_STATUS
- anim_call BattleAnim_PsychUp_branch_cbca7
- anim_bgeffect $1a, $0, $1, $20
- anim_sound $0, SFX_PSYBEAM
- anim_obj $b1, 44, 88, $0
- anim_obj $b1, 44, 88, $10
- anim_obj $b1, 44, 88, $20
- anim_obj $b1, 44, 88, $30
+ anim_call BattleAnim_FollowEnemyFeet_0
+ anim_bgeffect ANIM_BG_1A, $0, $1, $20
+ anim_sound 0, 0, SFX_PSYBEAM
+ anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $0
+ anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $10
+ anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $20
+ anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $30
anim_wait 64
- anim_incbgeffect $1a
- anim_call BattleAnim_PsychUp_branch_cbcb7
+ anim_incbgeffect ANIM_BG_1A
+ anim_call BattleAnim_ShowMon_0
anim_wait 16
anim_ret
; cb940
@@ -4774,16 +4760,16 @@
BattleAnim_Extremespeed: ; cb940
anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_CUT
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_sound $0, SFX_MENU
- anim_obj $77, 24, 88, $2
- anim_obj $77, 32, 88, $1
- anim_obj $77, 40, 88, $0
- anim_obj $77, 48, 88, $80
- anim_obj $77, 56, 88, $81
- anim_obj $77, 64, 88, $82
+ anim_sound 0, 0, SFX_MENU
+ anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2
+ anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1
+ anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0
+ anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80
+ anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81
+ anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82
anim_wait 12
- anim_sound $1, SFX_CUT
- anim_obj $3a, 152, 40, $0
+ anim_sound 0, 1, SFX_CUT
+ anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0
anim_wait 32
anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
anim_wait 16
@@ -4792,29 +4778,29 @@
BattleAnim_Ancientpower: ; cb97a
anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
- anim_sound $0, SFX_SPARK
- anim_obj $b2, 64, 108, $20
+ anim_sound 0, 0, SFX_SPARK
+ anim_obj ANIM_OBJ_B2, 8, 0, 13, 4, $20
anim_wait 8
- anim_sound $0, SFX_SPARK
- anim_obj $b2, 75, 102, $20
+ anim_sound 0, 0, SFX_SPARK
+ anim_obj ANIM_OBJ_B2, 9, 3, 12, 6, $20
anim_wait 8
- anim_sound $0, SFX_SPARK
- anim_obj $b2, 85, 97, $20
+ anim_sound 0, 0, SFX_SPARK
+ anim_obj ANIM_OBJ_B2, 10, 5, 12, 1, $20
anim_wait 8
- anim_sound $0, SFX_SPARK
- anim_obj $b2, 96, 92, $20
+ anim_sound 0, 0, SFX_SPARK
+ anim_obj ANIM_OBJ_B2, 12, 0, 11, 4, $20
anim_wait 8
- anim_sound $1, SFX_SPARK
- anim_obj $b2, 106, 87, $20
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B2, 13, 2, 10, 7, $20
anim_wait 8
- anim_sound $1, SFX_SPARK
- anim_obj $b2, 116, 82, $20
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B2, 14, 4, 10, 2, $20
anim_wait 8
- anim_sound $1, SFX_SPARK
- anim_obj $b2, 126, 77, $20
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B2, 15, 6, 9, 5, $20
anim_wait 8
- anim_sound $1, SFX_SPARK
- anim_obj $0, 136, 56, $0
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0
anim_wait 6
anim_ret
; cb9c6
@@ -4822,10 +4808,10 @@
BattleAnim_ShadowBall: ; cb9c6
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_SMOKE
anim_bgp $1b
- anim_sound $1a, SFX_SLUDGE_BOMB
- anim_obj $b4, 64, 92, $2
+ anim_sound 6, 2, SFX_SLUDGE_BOMB
+ anim_obj ANIM_OBJ_B4, 8, 0, 11, 4, $2
anim_wait 32
- anim_obj $1c, 132, 56, $10
+ anim_obj ANIM_OBJ_1C, -16, 4, 7, 0, $10
anim_wait 24
anim_ret
; cb9db
@@ -4832,21 +4818,21 @@
BattleAnim_FutureSight: ; cb9db
anim_1gfx ANIM_GFX_WIND
- anim_bgeffect $6, $0, $2, $0
+ anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
- anim_obj $7d, 8, 24, $10
- anim_obj $7d, 8, 48, $2
- anim_obj $7d, 8, 88, $8
+ anim_obj ANIM_OBJ_7D, 1, 0, 3, 0, $10
+ anim_obj ANIM_OBJ_7D, 1, 0, 6, 0, $2
+ anim_obj ANIM_OBJ_7D, 1, 0, 11, 0, $8
anim_wait 4
- anim_obj $7d, 8, 32, $6
- anim_obj $7d, 8, 56, $c
- anim_obj $7d, 8, 80, $4
- anim_obj $7d, 8, 104, $e
-BattleAnim_FutureSight_branch_cba10: ; cba10
- anim_sound $0, SFX_THROW_BALL
+ anim_obj ANIM_OBJ_7D, 1, 0, 4, 0, $6
+ anim_obj ANIM_OBJ_7D, 1, 0, 7, 0, $c
+ anim_obj ANIM_OBJ_7D, 1, 0, 10, 0, $4
+ anim_obj ANIM_OBJ_7D, 1, 0, 13, 0, $e
+.loop
+ anim_sound 0, 0, SFX_THROW_BALL
anim_wait 16
- anim_loop $4, BattleAnim_FutureSight_branch_cba10
+ anim_loop 4, .loop
anim_incbgeffect ANIM_BG_PSYCHIC
anim_ret
; cba1b
@@ -4853,24 +4839,24 @@
BattleAnim_RockSmash: ; cba1b
anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
- anim_sound $1, SFX_SPARK
- anim_obj $1, 128, 56, $0
- anim_sound $1, SFX_SPARK
- anim_obj $b5, 128, 64, $28
- anim_obj $b5, 128, 64, $5c
- anim_sound $1, SFX_SPARK
- anim_obj $b5, 128, 64, $10
- anim_obj $b5, 128, 64, $e8
- anim_sound $1, SFX_SPARK
- anim_obj $b5, 128, 64, $9c
- anim_obj $b5, 128, 64, $d0
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $28
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $5c
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $10
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $e8
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $9c
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $d0
anim_wait 6
- anim_sound $1, SFX_SPARK
- anim_obj $b5, 128, 64, $1c
- anim_obj $b5, 128, 64, $50
- anim_sound $1, SFX_SPARK
- anim_obj $b5, 128, 64, $dc
- anim_obj $b5, 128, 64, $90
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $1c
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $50
+ anim_sound 0, 1, SFX_SPARK
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $dc
+ anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $90
anim_wait 32
anim_ret
; cba6a
@@ -4878,12 +4864,12 @@
BattleAnim_Whirlpool: ; cba6a
anim_1gfx ANIM_GFX_WIND
anim_bgeffect ANIM_BG_WHIRLPOOL, $0, $0, $0
- anim_sound $1, SFX_SURF
+ anim_sound 0, 1, SFX_SURF
anim_wait 16
-BattleAnim_Whirlpool_branch_cba75: ; cba75
- anim_obj ANIM_OBJ_GUST, 132, 72, $0
+.loop
+ anim_obj ANIM_OBJ_GUST, -16, 4, 9, 0, $0
anim_wait 6
- anim_loop $9, BattleAnim_Whirlpool_branch_cba75
+ anim_loop 9, .loop
anim_wait 64
anim_incbgeffect ANIM_BG_WHIRLPOOL
anim_wait 1
@@ -4891,23 +4877,23 @@
; cba84
BattleAnim_BeatUp: ; cba84
- anim_jumpif $0, BattleAnim_BeatUp_branch_cba9b
- anim_sound $0, SFX_BALL_POOF
+ anim_jumpif $0, .current_mon
+ anim_sound 0, 0, SFX_BALL_POOF
anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0
anim_wait 16
anim_beatup
- anim_sound $0, SFX_BALL_POOF
+ anim_sound 0, 0, SFX_BALL_POOF
anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
anim_wait 16
-BattleAnim_BeatUp_branch_cba9b: ; cba9b
+.current_mon
anim_1gfx ANIM_GFX_HIT
- anim_call BattleAnim_BeatUp_branch_cbca7
+ anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
anim_wait 4
- anim_sound $1, SFX_BEAT_UP
- anim_obj $0, 136, 48, $0
+ anim_sound 0, 1, SFX_BEAT_UP
+ anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0
anim_wait 8
- anim_call BattleAnim_BeatUp_branch_cbcb7
+ anim_call BattleAnim_ShowMon_0
anim_ret
; cbab3
@@ -4914,14 +4900,14 @@
BattleAnim_DreamEater_branch_cbab3: ; cbab3
BattleAnim_GigaDrain_branch_cbab3: ; cbab3
BattleAnim_LeechLife_branch_cbab3: ; cbab3
- anim_obj $71, 132, 44, $0
- anim_obj $71, 132, 44, $8
- anim_obj $71, 132, 44, $10
- anim_obj $71, 132, 44, $18
- anim_obj $71, 132, 44, $20
- anim_obj $71, 132, 44, $28
- anim_obj $71, 132, 44, $30
- anim_obj $71, 132, 44, $38
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $0
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $8
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $10
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $18
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $20
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $28
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $30
+ anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $38
anim_ret
; cbadc
@@ -4928,30 +4914,30 @@
BattleAnim_Glare_branch_cbadc: ; cbadc
BattleAnim_Leer_branch_cbadc: ; cbadc
BattleAnim_ScaryFace_branch_cbadc: ; cbadc
- anim_sound $1a, SFX_LEER
- anim_obj $4e, 72, 84, $0
- anim_obj $4e, 64, 80, $0
- anim_obj $4e, 88, 76, $0
- anim_obj $4e, 80, 72, $0
- anim_obj $4e, 104, 68, $0
- anim_obj $4e, 96, 64, $0
- anim_obj $4e, 120, 60, $0
- anim_obj $4e, 112, 56, $0
- anim_obj $4f, 130, 54, $0
- anim_obj $4f, 122, 50, $0
+ anim_sound 6, 2, SFX_LEER
+ anim_obj ANIM_OBJ_4E, 9, 0, 10, 4, $0
+ anim_obj ANIM_OBJ_4E, 8, 0, 10, 0, $0
+ anim_obj ANIM_OBJ_4E, 11, 0, 9, 4, $0
+ anim_obj ANIM_OBJ_4E, 10, 0, 9, 0, $0
+ anim_obj ANIM_OBJ_4E, 13, 0, 8, 4, $0
+ anim_obj ANIM_OBJ_4E, 12, 0, 8, 0, $0
+ anim_obj ANIM_OBJ_4E, 15, 0, 7, 4, $0
+ anim_obj ANIM_OBJ_4E, 14, 0, 7, 0, $0
+ anim_obj ANIM_OBJ_4F, -16, 2, 6, 6, $0
+ anim_obj ANIM_OBJ_4F, 15, 2, 6, 2, $0
anim_ret
; cbb12
BattleAnim_Fly_branch_cbb12: ; cbb12
BattleAnim_Teleport_branch_cbb12: ; cbb12
- anim_sound $0, SFX_WARP_TO
- anim_obj $44, 44, 108, $0
- anim_obj $44, 44, 100, $0
- anim_obj $44, 44, 92, $0
- anim_obj $44, 44, 84, $0
- anim_obj $44, 44, 76, $0
- anim_obj $44, 44, 68, $0
- anim_obj $44, 44, 60, $0
+ anim_sound 0, 0, SFX_WARP_TO
+ anim_obj ANIM_OBJ_44, 5, 4, 13, 4, $0
+ anim_obj ANIM_OBJ_44, 5, 4, 12, 4, $0
+ anim_obj ANIM_OBJ_44, 5, 4, 11, 4, $0
+ anim_obj ANIM_OBJ_44, 5, 4, 10, 4, $0
+ anim_obj ANIM_OBJ_44, 5, 4, 9, 4, $0
+ anim_obj ANIM_OBJ_44, 5, 4, 8, 4, $0
+ anim_obj ANIM_OBJ_44, 5, 4, 7, 4, $0
anim_ret
; cbb39
@@ -4958,37 +4944,37 @@
BattleAnim_AuroraBeam_branch_cbb39: ; cbb39
BattleAnim_HyperBeam_branch_cbb39: ; cbb39
BattleAnim_Solarbeam_branch_cbb39: ; cbb39
- anim_sound $0, SFX_HYPER_BEAM
- anim_obj $27, 64, 92, $0
+ anim_sound 0, 0, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 8, 0, 11, 4, $0
anim_wait 4
- anim_sound $0, SFX_HYPER_BEAM
- anim_obj $27, 80, 84, $0
+ anim_sound 0, 0, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 10, 0, 10, 4, $0
anim_wait 4
- anim_sound $1, SFX_HYPER_BEAM
- anim_obj $27, 96, 76, $0
+ anim_sound 0, 1, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 12, 0, 9, 4, $0
anim_wait 4
- anim_sound $1, SFX_HYPER_BEAM
- anim_obj $27, 112, 68, $0
- anim_obj $28, 126, 62, $0
+ anim_sound 0, 1, SFX_HYPER_BEAM
+ anim_obj ANIM_OBJ_27, 14, 0, 8, 4, $0
+ anim_obj ANIM_OBJ_28, 15, 6, 7, 6, $0
anim_ret
; cbb62
BattleAnim_Explosion_branch_cbb62: ; cbb62
BattleAnim_Selfdestruct_branch_cbb62: ; cbb62
- anim_sound $0, SFX_EGG_BOMB
- anim_obj $17, 24, 64, $0
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 3, 0, 8, 0, $0
anim_wait 5
- anim_sound $0, SFX_EGG_BOMB
- anim_obj $17, 56, 104, $0
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 7, 0, 13, 0, $0
anim_wait 5
- anim_sound $0, SFX_EGG_BOMB
- anim_obj $17, 24, 104, $0
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 3, 0, 13, 0, $0
anim_wait 5
- anim_sound $0, SFX_EGG_BOMB
- anim_obj $17, 56, 64, $0
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 7, 0, 8, 0, $0
anim_wait 5
- anim_sound $0, SFX_EGG_BOMB
- anim_obj $17, 40, 84, $0
+ anim_sound 0, 0, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 5, 0, 10, 4, $0
anim_ret
; cbb8f
@@ -4996,20 +4982,20 @@
BattleAnim_Explosion_branch_cbb8f: ; cbb8f
BattleAnim_Present_branch_cbb8f: ; cbb8f
BattleAnim_Selfdestruct_branch_cbb8f: ; cbb8f
- anim_sound $1, SFX_EGG_BOMB
- anim_obj $17, 148, 32, $0
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, -14, 4, 4, 0, $0
anim_wait 5
- anim_sound $1, SFX_EGG_BOMB
- anim_obj $17, 116, 72, $0
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 14, 4, 9, 0, $0
anim_wait 5
- anim_sound $1, SFX_EGG_BOMB
- anim_obj $17, 148, 72, $0
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, -14, 4, 9, 0, $0
anim_wait 5
- anim_sound $1, SFX_EGG_BOMB
- anim_obj $17, 116, 32, $0
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, 14, 4, 4, 0, $0
anim_wait 5
- anim_sound $1, SFX_EGG_BOMB
- anim_obj $17, 132, 52, $0
+ anim_sound 0, 1, SFX_EGG_BOMB
+ anim_obj ANIM_OBJ_17, -16, 4, 6, 4, $0
anim_ret
; cbbbc
@@ -5016,21 +5002,20 @@
BattleAnim_Growl_branch_cbbbc: ; cbbbc
BattleAnim_Roar_branch_cbbbc: ; cbbbc
BattleAnim_Snore_branch_cbbbc: ; cbbbc
- anim_obj $4b, 64, 76, $0
- anim_obj $4b, 64, 88, $1
- anim_obj $4b, 64, 100, $2
+ anim_obj ANIM_OBJ_4B, 8, 0, 9, 4, $0
+ anim_obj ANIM_OBJ_4B, 8, 0, 11, 0, $1
+ anim_obj ANIM_OBJ_4B, 8, 0, 12, 4, $2
anim_ret
; cbbcc
BattleAnim_FirePunch_branch_cbbcc: ; cbbcc
BattleAnim_TriAttack_branch_cbbcc: ; cbbcc
- anim_sound $1, SFX_EMBER
-BattleAnim_FirePunch_branch_cbbcf: ; cbbcf
-BattleAnim_TriAttack_branch_cbbcf: ; cbbcf
- anim_obj $10, 136, 56, $10
- anim_obj $10, 136, 56, $90
+ anim_sound 0, 1, SFX_EMBER
+.loop
+ anim_obj ANIM_OBJ_BURNED, -15, 0, 7, 0, $10
+ anim_obj ANIM_OBJ_BURNED, -15, 0, 7, 0, $90
anim_wait 4
- anim_loop $4, BattleAnim_FirePunch_branch_cbbcf
+ anim_loop 4, .loop
anim_ret
; cbbdf
@@ -5037,23 +5022,23 @@
BattleAnim_IcePunch_branch_cbbdf: ; cbbdf
BattleAnim_PowderSnow_branch_cbbdf: ; cbbdf
BattleAnim_TriAttack_branch_cbbdf: ; cbbdf
- anim_sound $1, SFX_SHINE
- anim_obj $12, 128, 42, $0
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, 16, 0, 5, 2, $0
anim_wait 6
- anim_sound $1, SFX_SHINE
- anim_obj $12, 144, 70, $0
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, -14, 0, 8, 6, $0
anim_wait 6
- anim_sound $1, SFX_SHINE
- anim_obj $12, 120, 56, $0
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, 15, 0, 7, 0, $0
anim_wait 6
- anim_sound $1, SFX_SHINE
- anim_obj $12, 152, 56, $0
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, -13, 0, 7, 0, $0
anim_wait 6
- anim_sound $1, SFX_SHINE
- anim_obj $12, 144, 42, $0
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, -14, 0, 5, 2, $0
anim_wait 6
- anim_sound $1, SFX_SHINE
- anim_obj $12, 128, 70, $0
+ anim_sound 0, 1, SFX_SHINE
+ anim_obj ANIM_OBJ_12, 16, 0, 8, 6, $0
anim_ret
; cbc15
@@ -5060,25 +5045,27 @@
BattleAnim_SludgeBomb_branch_cbc15: ; cbc15
BattleAnim_Sludge_branch_cbc15: ; cbc15
BattleAnim_Toxic_branch_cbc15: ; cbc15
- anim_sound $1, SFX_UNKNOWN_7F
- anim_obj $1a, 132, 72, $0
+.loop
+ anim_sound 0, 1, SFX_UNKNOWN_7F
+ anim_obj ANIM_OBJ_1A, -16, 4, 9, 0, $0
anim_wait 8
- anim_sound $1, SFX_UNKNOWN_7F
- anim_obj $1a, 116, 72, $0
+ anim_sound 0, 1, SFX_UNKNOWN_7F
+ anim_obj ANIM_OBJ_1A, 14, 4, 9, 0, $0
anim_wait 8
- anim_sound $1, SFX_UNKNOWN_7F
- anim_obj $1a, 148, 72, $0
+ anim_sound 0, 1, SFX_UNKNOWN_7F
+ anim_obj ANIM_OBJ_1A, -14, 4, 9, 0, $0
anim_wait 8
- anim_loop $5, BattleAnim_SludgeBomb_branch_cbc15
+ anim_loop 5, .loop
anim_ret
; cbc35
BattleAnim_Acid_branch_cbc35: ; cbc35
BattleAnim_Toxic_branch_cbc35: ; cbc35
- anim_sound $1a, SFX_BUBBLEBEAM
- anim_obj $19, 64, 92, $10
+.loop
+ anim_sound 6, 2, SFX_BUBBLEBEAM
+ anim_obj ANIM_OBJ_19, 8, 0, 11, 4, $10
anim_wait 5
- anim_loop $8, BattleAnim_Acid_branch_cbc35
+ anim_loop 8, .loop
anim_ret
; cbc43
@@ -5086,23 +5073,24 @@
BattleAnim_IronTail_branch_cbc43: ; cbc43
BattleAnim_MetalClaw_branch_cbc43: ; cbc43
BattleAnim_SteelWing_branch_cbc43: ; cbc43
- anim_sound $0, SFX_SHINE
- anim_bgeffect $17, $0, $1, $40
+ anim_sound 0, 0, SFX_SHINE
+ anim_bgeffect ANIM_BG_17, $0, $1, $40
anim_wait 8
- anim_obj $51, 48, 84, $0
+ anim_obj ANIM_OBJ_51, 6, 0, 10, 4, $0
anim_wait 32
- anim_obj $51, 48, 84, $0
+ anim_obj ANIM_OBJ_51, 6, 0, 10, 4, $0
anim_wait 64
- anim_incbgeffect $17
+ anim_incbgeffect ANIM_BG_17
anim_ret
; cbc5b
BattleAnim_MudSlap_branch_cbc5b: ; cbc5b
BattleAnim_SandAttack_branch_cbc5b: ; cbc5b
- anim_sound $1a, SFX_MENU
- anim_obj $58, 64, 92, $4
+.loop
+ anim_sound 6, 2, SFX_MENU
+ anim_obj ANIM_OBJ_58, 8, 0, 11, 4, $4
anim_wait 4
- anim_loop $8, BattleAnim_MudSlap_branch_cbc5b
+ anim_loop 8, .loop
anim_wait 32
anim_ret
; cbc6a
@@ -5110,12 +5098,12 @@
BattleAnim_Moonlight_branch_cbc6a: ; cbc6a
BattleAnim_MorningSun_branch_cbc6a: ; cbc6a
BattleAnim_Synthesis_branch_cbc6a: ; cbc6a
- anim_sound $0, SFX_METRONOME
- anim_obj $9d, 44, 64, $0
+ anim_sound 0, 0, SFX_METRONOME
+ anim_obj ANIM_OBJ_9D, 5, 4, 8, 0, $0
anim_wait 5
- anim_obj $9d, 24, 96, $0
+ anim_obj ANIM_OBJ_9D, 3, 0, 12, 0, $0
anim_wait 5
- anim_obj $9d, 56, 104, $0
+ anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0
anim_wait 21
anim_ret
; cbc80
@@ -5123,66 +5111,24 @@
BattleAnim_Moonlight_branch_cbc80: ; cbc80
BattleAnim_MorningSun_branch_cbc80: ; cbc80
BattleAnim_Synthesis_branch_cbc80: ; cbc80
- anim_sound $0, SFX_METRONOME
-BattleAnim_Moonlight_branch_cbc83: ; cbc83
-BattleAnim_MorningSun_branch_cbc83: ; cbc83
-BattleAnim_Synthesis_branch_cbc83: ; cbc83
- anim_obj $9d, 24, 64, $0
+ anim_sound 0, 0, SFX_METRONOME
+.loop
+ anim_obj ANIM_OBJ_9D, 3, 0, 8, 0, $0
anim_wait 5
- anim_obj $9d, 56, 104, $0
+ anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0
anim_wait 5
- anim_obj $9d, 24, 104, $0
+ anim_obj ANIM_OBJ_9D, 3, 0, 13, 0, $0
anim_wait 5
- anim_obj $9d, 56, 64, $0
+ anim_obj ANIM_OBJ_9D, 7, 0, 8, 0, $0
anim_wait 5
- anim_obj $9d, 40, 84, $0
+ anim_obj ANIM_OBJ_9D, 5, 0, 10, 4, $0
anim_wait 5
- anim_loop $2, BattleAnim_Moonlight_branch_cbc83
+ anim_loop 2, .loop
anim_wait 16
anim_ret
; cbca7
-BattleAnim_Agility_branch_cbca7: ; cbca7
-BattleAnim_BeatUp_branch_cbca7: ; cbca7
-BattleAnim_Bide_branch_cbca7: ; cbca7
-BattleAnim_Charm_branch_cbca7: ; cbca7
-BattleAnim_Curse_branch_cbca7: ; cbca7
-BattleAnim_DefenseCurl_branch_cbca7: ; cbca7
-BattleAnim_DoubleEdge_branch_cbca7: ; cbca7
-BattleAnim_Endure_branch_cbca7: ; cbca7
-BattleAnim_FaintAttack_branch_cbca7: ; cbca7
-BattleAnim_Flail_branch_cbca7: ; cbca7
-BattleAnim_FlameWheel_branch_cbca7: ; cbca7
-BattleAnim_FocusEnergy_branch_cbca7: ; cbca7
-BattleAnim_Frustration_branch_cbca7: ; cbca7
-BattleAnim_GigaDrain_branch_cbca7: ; cbca7
-BattleAnim_Harden_branch_cbca7: ; cbca7
-BattleAnim_Headbutt_branch_cbca7: ; cbca7
-BattleAnim_HiddenPower_branch_cbca7: ; cbca7
-BattleAnim_IronTail_branch_cbca7: ; cbca7
-BattleAnim_Meditate_branch_cbca7: ; cbca7
-BattleAnim_MegaDrain_branch_cbca7: ; cbca7
-BattleAnim_MetalClaw_branch_cbca7: ; cbca7
-BattleAnim_MilkDrink_branch_cbca7: ; cbca7
-BattleAnim_Outrage_branch_cbca7: ; cbca7
-BattleAnim_PsychUp_branch_cbca7: ; cbca7
-BattleAnim_Rage_branch_cbca7: ; cbca7
-BattleAnim_RazorWind_branch_cbca7: ; cbca7
-BattleAnim_Recover_branch_cbca7: ; cbca7
-BattleAnim_SacredFire_branch_cbca7: ; cbca7
-BattleAnim_SendOutMon_branch_cbca7: ; cbca7
-BattleAnim_Sharpen_branch_cbca7: ; cbca7
-BattleAnim_Sketch_branch_cbca7: ; cbca7
-BattleAnim_SkullBash_branch_cbca7: ; cbca7
-BattleAnim_SkyAttack_branch_cbca7: ; cbca7
-BattleAnim_Softboiled_branch_cbca7: ; cbca7
-BattleAnim_Spark_branch_cbca7: ; cbca7
-BattleAnim_SteelWing_branch_cbca7: ; cbca7
-BattleAnim_Synthesis_branch_cbca7: ; cbca7
-BattleAnim_TakeDown_branch_cbca7: ; cbca7
-BattleAnim_Teleport_branch_cbca7: ; cbca7
-BattleAnim_Thief_branch_cbca7: ; cbca7
-BattleAnim_VitalThrow_branch_cbca7: ; cbca7
+BattleAnim_FollowEnemyFeet_0: ; cbca7
anim_enemyfeetobj
anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $0, $0
anim_wait 6
@@ -5189,21 +5135,7 @@
anim_ret
; cbcaf
-BattleAnim_AcidArmor_branch_cbcaf: ; cbcaf
-BattleAnim_BodySlam_branch_cbcaf: ; cbcaf
-BattleAnim_Dig_branch_cbcaf: ; cbcaf
-BattleAnim_DoubleTeam_branch_cbcaf: ; cbcaf
-BattleAnim_Minimize_branch_cbcaf: ; cbcaf
-BattleAnim_PainSplit_branch_cbcaf: ; cbcaf
-BattleAnim_RapidSpin_branch_cbcaf: ; cbcaf
-BattleAnim_Return_branch_cbcaf: ; cbcaf
-BattleAnim_Rollout_branch_cbcaf: ; cbcaf
-BattleAnim_Splash_branch_cbcaf: ; cbcaf
-BattleAnim_Tackle_branch_cbcaf: ; cbcaf
-BattleAnim_TailWhip_branch_cbcaf: ; cbcaf
-BattleAnim_Transform_branch_cbcaf: ; cbcaf
-BattleAnim_Waterfall_branch_cbcaf: ; cbcaf
-BattleAnim_Withdraw_branch_cbcaf: ; cbcaf
+BattleAnim_FollowPlayerHead_0: ; cbcaf
anim_playerheadobj
anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $0, $0
anim_wait 6
@@ -5210,71 +5142,16 @@
anim_ret
; cbcb7
-BattleAnim_AcidArmor_branch_cbcb7: ; cbcb7
-BattleAnim_Agility_branch_cbcb7: ; cbcb7
-BattleAnim_BeatUp_branch_cbcb7: ; cbcb7
-BattleAnim_Bide_branch_cbcb7: ; cbcb7
-BattleAnim_BodySlam_branch_cbcb7: ; cbcb7
-BattleAnim_Charm_branch_cbcb7: ; cbcb7
-BattleAnim_Curse_branch_cbcb7: ; cbcb7
-BattleAnim_DefenseCurl_branch_cbcb7: ; cbcb7
-BattleAnim_Dig_branch_cbcb7: ; cbcb7
-BattleAnim_DoubleEdge_branch_cbcb7: ; cbcb7
-BattleAnim_DoubleTeam_branch_cbcb7: ; cbcb7
-BattleAnim_Endure_branch_cbcb7: ; cbcb7
-BattleAnim_FaintAttack_branch_cbcb7: ; cbcb7
-BattleAnim_Flail_branch_cbcb7: ; cbcb7
-BattleAnim_FocusEnergy_branch_cbcb7: ; cbcb7
-BattleAnim_Frustration_branch_cbcb7: ; cbcb7
-BattleAnim_GigaDrain_branch_cbcb7: ; cbcb7
-BattleAnim_Harden_branch_cbcb7: ; cbcb7
-BattleAnim_Headbutt_branch_cbcb7: ; cbcb7
-BattleAnim_HiddenPower_branch_cbcb7: ; cbcb7
-BattleAnim_IronTail_branch_cbcb7: ; cbcb7
-BattleAnim_Meditate_branch_cbcb7: ; cbcb7
-BattleAnim_MegaDrain_branch_cbcb7: ; cbcb7
-BattleAnim_MetalClaw_branch_cbcb7: ; cbcb7
-BattleAnim_MilkDrink_branch_cbcb7: ; cbcb7
-BattleAnim_Minimize_branch_cbcb7: ; cbcb7
-BattleAnim_Outrage_branch_cbcb7: ; cbcb7
-BattleAnim_PainSplit_branch_cbcb7: ; cbcb7
-BattleAnim_PsychUp_branch_cbcb7: ; cbcb7
-BattleAnim_Rage_branch_cbcb7: ; cbcb7
-BattleAnim_RazorWind_branch_cbcb7: ; cbcb7
-BattleAnim_Recover_branch_cbcb7: ; cbcb7
-BattleAnim_Return_branch_cbcb7: ; cbcb7
-BattleAnim_Rollout_branch_cbcb7: ; cbcb7
-BattleAnim_SendOutMon_branch_cbcb7: ; cbcb7
-BattleAnim_Sharpen_branch_cbcb7: ; cbcb7
-BattleAnim_Sketch_branch_cbcb7: ; cbcb7
-BattleAnim_SkullBash_branch_cbcb7: ; cbcb7
-BattleAnim_SkyAttack_branch_cbcb7: ; cbcb7
-BattleAnim_Softboiled_branch_cbcb7: ; cbcb7
-BattleAnim_Splash_branch_cbcb7: ; cbcb7
-BattleAnim_SteelWing_branch_cbcb7: ; cbcb7
-BattleAnim_Synthesis_branch_cbcb7: ; cbcb7
-BattleAnim_Tackle_branch_cbcb7: ; cbcb7
-BattleAnim_TailWhip_branch_cbcb7: ; cbcb7
-BattleAnim_TakeDown_branch_cbcb7: ; cbcb7
-BattleAnim_Teleport_branch_cbcb7: ; cbcb7
-BattleAnim_Thief_branch_cbcb7: ; cbcb7
-BattleAnim_Transform_branch_cbcb7: ; cbcb7
-BattleAnim_VitalThrow_branch_cbcb7: ; cbcb7
-BattleAnim_Waterfall_branch_cbcb7: ; cbcb7
-BattleAnim_Withdraw_branch_cbcb7: ; cbcb7
+BattleAnim_ShowMon_0: ; cbcb7
anim_wait 1
anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
anim_wait 5
- anim_incobj $1
+ anim_incobj 1
anim_wait 1
anim_ret
; cbcc2
-BattleAnim_EnemyStatDown_branch_cbcc2: ; cbcc2
-BattleAnim_Foresight_branch_cbcc2: ; cbcc2
-BattleAnim_PlayerStatDown_branch_cbcc2: ; cbcc2
-BattleAnim_Pursuit_branch_cbcc2: ; cbcc2
-BattleAnim_Submission_branch_cbcc2: ; cbcc2
+BattleAnim_FollowEnemyFeet_1: ; cbcc2
anim_enemyfeetobj
anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $1, $0
anim_wait 6
@@ -5281,11 +5158,7 @@
anim_ret
; cbcca
-BattleAnim_Bubblebeam_branch_cbcca: ; cbcca
-BattleAnim_Confusion_branch_cbcca: ; cbcca
-BattleAnim_HydroPump_branch_cbcca: ; cbcca
-BattleAnim_NightShade_branch_cbcca: ; cbcca
-BattleAnim_WaterGun_branch_cbcca: ; cbcca
+BattleAnim_FollowPlayerHead_1: ; cbcca
anim_playerheadobj
anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $1, $0
anim_wait 4
@@ -5292,20 +5165,11 @@
anim_ret
; cbcd2
-BattleAnim_Bubblebeam_branch_cbcd2: ; cbcd2
-BattleAnim_Confusion_branch_cbcd2: ; cbcd2
-BattleAnim_EnemyStatDown_branch_cbcd2: ; cbcd2
-BattleAnim_Foresight_branch_cbcd2: ; cbcd2
-BattleAnim_HydroPump_branch_cbcd2: ; cbcd2
-BattleAnim_NightShade_branch_cbcd2: ; cbcd2
-BattleAnim_PlayerStatDown_branch_cbcd2: ; cbcd2
-BattleAnim_Pursuit_branch_cbcd2: ; cbcd2
-BattleAnim_Submission_branch_cbcd2: ; cbcd2
-BattleAnim_WaterGun_branch_cbcd2: ; cbcd2
+BattleAnim_ShowMon_1: ; cbcd2
anim_wait 1
anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
anim_wait 4
- anim_incobj $1
+ anim_incobj 1
anim_wait 1
anim_ret
; cbcdd
--- a/battle/bg_effects.asm
+++ b/battle/bg_effects.asm
@@ -1,69 +1,77 @@
+ const_def
+ const BGSQUARE_SIX
+ const BGSQUARE_FOUR
+ const BGSQUARE_TWO
+ const BGSQUARE_SEVEN
+ const BGSQUARE_FIVE
+ const BGSQUARE_THREE
+
; BG effects for use in battle animations.
-Functionc8000: ; c8000 (32:4000)
+ExecuteBGEffects: ; c8000 (32:4000)
ld hl, ActiveBGEffects
- ld e, $5
-.asm_c8005
+ ld e, 5
+.loop
ld a, [hl]
and a
- jr z, .asm_c8012
+ jr z, .next
ld c, l
ld b, h
push hl
push de
- call Functionc804a
+ call DoBattleBGEffectFunction
pop de
pop hl
-.asm_c8012
- ld bc, $4
+.next
+ ld bc, 4
add hl, bc
dec e
- jr nz, .asm_c8005
+ jr nz, .loop
ret
-Functionc801a: ; c801a (32:401a)
+QueueBGEffect: ; c801a (32:401a)
ld hl, ActiveBGEffects
- ld e, $5
-.asm_c801f
+ ld e, 5
+.loop
ld a, [hl]
and a
- jr z, .asm_c802c
- ld bc, $4
+ jr z, .load
+ ld bc, 4
add hl, bc
dec e
- jr nz, .asm_c801f
+ jr nz, .loop
scf
ret
-.asm_c802c
+
+.load
ld c, l
ld b, h
- ld hl, $0
+ ld hl, BG_EFFECT_STRUCT_FUNCTION
add hl, bc
- ld a, [BattleAnimTemps]
+ ld a, [wBattleAnimTemp0]
ld [hli], a
- ld a, [BattleAnimTemps + 1]
+ ld a, [wBattleAnimTemp1]
ld [hli], a
- ld a, [BattleAnimTemps + 2]
+ ld a, [wBattleAnimTemp2]
ld [hli], a
- ld a, [BattleAnimTemps + 3]
+ ld a, [wBattleAnimTemp3]
ld [hl], a
ret
EndBattleBGEffect: ; c8043 (32:4043)
- ld hl, 0
+ ld hl, BG_EFFECT_STRUCT_FUNCTION
add hl, bc
ld [hl], 0
ret
-Functionc804a: ; c804a (32:404a)
- ld hl, 0
+DoBattleBGEffectFunction: ; c804a (32:404a)
+ ld hl, BG_EFFECT_STRUCT_FUNCTION
add hl, bc
ld e, [hl]
ld d, 0
ld hl, BattleBGEffects
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -70,71 +78,71 @@
jp [hl]
BattleBGEffects: ; c805a (32:405a)
- dw BattleBGEffect_0
- dw Functionc80eb
- dw Functionc80f3
- dw Functionc812d
- dw Functionc8141
- dw Functionc8155
- dw Functionc8171
- dw Functionc818b
- dw Functionc81a5
- dw Functionc81b3
- dw Functionc81ea
- dw Functionc837b
- dw Functionc83a8
- dw Functionc8545
- dw Functionc8599
- dw Functionc863f
- dw Functionc8662
- dw Functionc8214
- dw Functionc8281
- dw Functionc8689
- dw Functionc8709
- dw Functionc8be8
- dw Functionc8bf2
- dw Functionc8bfd
- dw Functionc8c08
- dw Functionc8c14
- dw Functionc8c20
- dw Functionc8c30
- dw Functionc8b00
- dw Functionc8c3c
- dw Functionc8c55
- dw Functionc8cf9
- dw Functionc8d02
- dw Functionc8761
- dw Functionc89ee
- dw Functionc87a7
- dw Functionc8805
- dw Functionc8837
- dw Functionc892a
- dw Functionc82f5
- dw Functionc89b5
- dw Functionc8607
- dw Functionc8a3a
- dw Functionc8acc
- dw Functionc8964
- dw Functionc88e7
- dw Functionc8ce1
- dw Functionc8919
- dw Functionc85c2
- dw Functionc85ce
- dw Functionc8603
- dw Functionc8c61
- dw Functionc8ca2
- dw Functionc8d3a
+ dw BattleBGEffect_End
+ dw BattleBGEffect_FlashInverted
+ dw BattleBGEffect_FlashWhite
+ dw BattleBGEffect_WhiteHues
+ dw BattleBGEffect_BlackHues
+ dw BattleBGEffect_AlternateHues
+ dw BattleBGEffect_06
+ dw BattleBGEffect_07
+ dw BattleBGEffect_08
+ dw BattleBGEffect_HideMon
+ dw BattleBGEffect_ShowMon
+ dw BattleBGEffect_EnterMon
+ dw BattleBGEffect_ReturnMon
+ dw BattleBGEffect_Surf
+ dw BattleBGEffect_Whirlpool
+ dw BattleBGEffect_Teleport
+ dw BattleBGEffect_NightShade
+ dw BattleBGEffect_FeetFollow
+ dw BattleBGEffect_HeadFollow
+ dw BattleBGEffect_DoubleTeam
+ dw BattleBGEffect_AcidArmor
+ dw BattleBGEffect_RapidFlash
+ dw BattleBGEffect_16
+ dw BattleBGEffect_17
+ dw BattleBGEffect_18
+ dw BattleBGEffect_19
+ dw BattleBGEffect_1a
+ dw BattleBGEffect_1b
+ dw BattleBGEffect_1c
+ dw BattleBGEffect_1d
+ dw BattleBGEffect_1e
+ dw BattleBGEffect_1f
+ dw BattleBGEffect_20
+ dw BattleBGEffect_21
+ dw BattleBGEffect_BounceDown
+ dw BattleBGEffect_Dig
+ dw BattleBGEffect_Tackle
+ dw BattleBGEffect_25
+ dw BattleBGEffect_26
+ dw BattleBGEffect_27
+ dw BattleBGEffect_28
+ dw BattleBGEffect_Psychic
+ dw BattleBGEffect_2a
+ dw BattleBGEffect_2b
+ dw BattleBGEffect_2c
+ dw BattleBGEffect_2d
+ dw BattleBGEffect_2e
+ dw BattleBGEffect_2f
+ dw BattleBGEffect_30
+ dw BattleBGEffect_31
+ dw BattleBGEffect_32
+ dw BattleBGEffect_VibrateMon
+ dw BattleBGEffect_WobbleMon
+ dw BattleBGEffect_35
-BattleBGEffect_0: ; c80c6 (32:40c6)
+BattleBGEffect_End: ; c80c6 (32:40c6)
call EndBattleBGEffect
ret
-Functionc80ca: ; c80ca (32:40ca)
- ld hl, $1
+BatttleBGEffects_GetNamedJumptablePointer: ; c80ca (32:40ca)
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
ld l, [hl]
- ld h, $0
+ ld h, 0
add hl, hl
add hl, de
ld a, [hli]
@@ -142,12 +150,12 @@
ld l, a
ret
-Functionc80d7: ; c80d7 (32:40d7)
+BattleBGEffects_AnonJumptable: ; c80d7 (32:40d7)
pop de
- ld hl, $1
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
ld l, [hl]
- ld h, $0
+ ld h, 0
add hl, hl
add hl, de
ld a, [hli]
@@ -155,16 +163,15 @@
ld l, a
jp [hl]
-Functionc80e5: ; c80e5 (32:40e5)
- ld hl, $1
+BattleBGEffects_IncrementJumptable: ; c80e5 (32:40e5)
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
inc [hl]
ret
-Functionc80eb: ; c80eb (32:40eb)
+BattleBGEffect_FlashInverted: ; c80eb (32:40eb)
ld de, .inverted
- jp Functionc80fb
-; c80f1 (32:40f1)
+ jp BattleBGEffect_FlashContinue
.inverted
db %11100100 ; 3210
@@ -171,10 +178,9 @@
db %00011011 ; 0123
; c80f3
-Functionc80f3: ; c80f3 (32:40f3)
+BattleBGEffect_FlashWhite: ; c80f3 (32:40f3)
ld de, .white
- jp Functionc80fb
-; c80f9 (32:40f9)
+ jp BattleBGEffect_FlashContinue
.white
db %11100100 ; 3210
@@ -181,33 +187,34 @@
db %00000000 ; 0000
; c80fb
-Functionc80fb: ; c80fb (32:40fb)
+BattleBGEffect_FlashContinue: ; c80fb (32:40fb)
+; current timer, flash duration, number of flashes
ld a, $1
- ld [BattleAnimTemps], a
- ld hl, $1
+ ld [wBattleAnimTemp0], a
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
ld a, [hl]
and a
- jr z, .asm_c810a
+ jr z, .init
dec [hl]
ret
-.asm_c810a
- ld hl, $2
+.init
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
- ld hl, $1
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
ld [hl], a
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
and a
- jr nz, .asm_c8120
+ jr nz, .apply_pal
call EndBattleBGEffect
ret
-.asm_c8120
+.apply_pal
dec a
ld [hl], a
and 1
@@ -215,131 +222,153 @@
ld h, 0
add hl, de
ld a, [hl]
- ld [wcfc7], a
+ ld [wBGP], a
ret
-Functionc812d: ; c812d (32:412d)
- ld de, Unknown_c813d
- call Functionc8d57
- jr c, .asm_c8139
- ld [wcfc7], a
+BattleBGEffect_WhiteHues: ; c812d (32:412d)
+ ld de, .Pals
+ call BattleBGEffect_GetNthDMGPal
+ jr c, .quit
+ ld [wBGP], a
ret
-.asm_c8139
+
+.quit
call EndBattleBGEffect
ret
-; c813d (32:413d)
-Unknown_c813d:
- db $e4, $e0, $d0, $ff
+.Pals
+ db %11100100
+ db %11100000
+ db %11010000
+ db -1
; c8141
-Functionc8141: ; c8141 (32:4141)
- ld de, Unknown_c8151
- call Functionc8d57
- jr c, .asm_c814d
- ld [wcfc7], a
+BattleBGEffect_BlackHues: ; c8141 (32:4141)
+ ld de, .Pals
+ call BattleBGEffect_GetNthDMGPal
+ jr c, .quit
+ ld [wBGP], a
ret
-.asm_c814d
+
+.quit
call EndBattleBGEffect
ret
-; c8151 (32:4151)
-Unknown_c8151:
- db $e4, $f4, $f8, $ff
+.Pals
+ db %11100100
+ db %11110100
+ db %11111000
+ db -1
; c8155
-Functionc8155: ; c8155 (32:4155)
- ld de, Unknown_c8168
- call Functionc8d57
- jr c, .asm_c8164
- ld [wcfc7], a
- ld [wcfc9], a
+BattleBGEffect_AlternateHues: ; c8155 (32:4155)
+ ld de, .Pals
+ call BattleBGEffect_GetNthDMGPal
+ jr c, .quit
+ ld [wBGP], a
+ ld [wOBP1], a
ret
-.asm_c8164
+
+.quit
call EndBattleBGEffect
ret
-; c8168 (32:4168)
-Unknown_c8168:
- db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe
+.Pals
+ db %11100100
+ db %11111000
+ db %11111100
+ db %11111000
+ db %11100100
+ db %10010000
+ db %01000000
+ db %10010000
+ db -2
; c8171
-Functionc8171: ; c8171 (32:4171)
- call Functionc9059
- jr nz, .asm_c817b
- ld de, Unknown_c8185
- jr .asm_c817e
-.asm_c817b
- ld de, Unknown_c8188
-.asm_c817e
- call Functionc8d57
- ld [wcfc8], a
+BattleBGEffect_06: ; c8171 (32:4171)
+ call BattleBGEffects_CheckSGB
+ jr nz, .sgb
+ ld de, .PalsCGB
+ jr .okay
+
+.sgb
+ ld de, .PalsSGB
+.okay
+ call BattleBGEffect_GetNthDMGPal
+ ld [wOBP0], a
ret
-; c8185 (32:4185)
-Unknown_c8185:
- db $e4, $90, $fe
-; c8188
+.PalsCGB
+ db %11100100
+ db %10010000
+ db -2
-Unknown_c8188:
- db $f0, $c0, $fe
+.PalsSGB
+ db %11110000
+ db %11000000
+ db -2
; c818b
-Functionc818b: ; c818b (32:418b)
- call Functionc9059
- jr nz, .asm_c8195
- ld de, Unknown_c819f
- jr .asm_c8198
-.asm_c8195
- ld de, Unknown_c81a2
-.asm_c8198
- call Functionc8d57
- ld [wcfc8], a
+BattleBGEffect_07: ; c818b (32:418b)
+ call BattleBGEffects_CheckSGB
+ jr nz, .sgb
+ ld de, .PalsCGB
+ jr .okay
+
+.sgb
+ ld de, .PalsSGB
+.okay
+ call BattleBGEffect_GetNthDMGPal
+ ld [wOBP0], a
ret
-; c819f (32:419f)
-Unknown_c819f:
- db $e4, $d8, $fe
-; c81a2
+.PalsCGB
+ db %11100100
+ db %11011000
+ db -2
-Unknown_c81a2:
- db $f0, $cc, $fe
+.PalsSGB
+ db %11110000
+ db %11001100
+ db -2
; c81a5
-Functionc81a5: ; c81a5 (32:41a5)
- ld de, Unknown_c81af
- call Functionc8d57
- ld [wcfc7], a
+BattleBGEffect_08: ; c81a5 (32:41a5)
+ ld de, .Pals
+ call BattleBGEffect_GetNthDMGPal
+ ld [wBGP], a
ret
-; c81af (32:41af)
-Unknown_c81af:
- db $1b, $63, $87, $fe
+.Pals
+ db %00011011
+ db %01100011
+ db %10000111
+ db -2
; c81b3
-Functionc81b3: ; c81b3 (32:41b3)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_HideMon: ; c81b3 (32:41b3)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw .four
-Jumptable_c81b6: ; c81b6 (32:41b6)
- dw Functionc81c0
- dw Functionc80e5
- dw Functionc80e5
- dw Functionc80e5
- dw Functionc81e3
-
-Functionc81c0: ; c81c0 (32:41c0)
- call Functionc80e5
+.zero
+ call BattleBGEffects_IncrementJumptable
push bc
- call Functionc9038
- jr nz, .asm_c81d1
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_side
hlcoord 12, 0
- ld bc, $707
- jr .asm_c81d7
-.asm_c81d1
+ lb bc, 7, 7
+ jr .got_pointer
+
+.player_side
hlcoord 2, 6
lb bc, 6, 6
-.asm_c81d7
+.got_pointer
call ClearBox
pop bc
xor a
@@ -348,97 +377,98 @@
ld [hBGMapMode], a
ret
-Functionc81e3: ; c81e3 (32:41e3)
+.four
xor a
ld [hBGMapMode], a
call EndBattleBGEffect
ret
-Functionc81ea: ; c81ea (32:41ea)
- call Functionc9042
- jr z, .asm_c81f3
+BattleBGEffect_ShowMon: ; c81ea (32:41ea)
+ call BGEffect_CheckFlyDigStatus
+ jr z, .not_flying
call EndBattleBGEffect
ret
-.asm_c81f3
- call Functionc9038
- jr nz, .asm_c81fd
- ld de, Unknown_c8210
- jr .asm_c8200
-.asm_c81fd
- ld de, Unknown_c820c
-.asm_c8200
+
+.not_flying
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_side
+ ld de, .EnemyData
+ jr .got_pointer
+
+.player_side
+ ld de, .PlayerData
+.got_pointer
ld a, e
- ld [BattleAnimTemps + 1], a
+ ld [wBattleAnimTemp1], a
ld a, d
- ld [BattleAnimTemps + 2], a
- call Functionc83ed
+ ld [wBattleAnimTemp2], a
+ call BattleBGEffect_RunPicResizeScript
ret
-; c820c (32:420c)
-Unknown_c820c:
- db $00, $31, $00
- db $ff
-; c8210
-
-Unknown_c8210:
- db $03, $00, $03
- db $ff
+.PlayerData
+ db 0, $31, 0
+ db -1
+.EnemyData
+ db 3, $00, 3
+ db -1
; c8214
-Functionc8214: ; c8214 (32:4214)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_FeetFollow: ; c8214 (32:4214)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw .five
-Jumptable_c8217: ; c8217 (32:4217)
- dw Functionc8223
- dw Functionc825a
- dw Functionc80e5
- dw Functionc80e5
- dw Functionc80e5
- dw Functionc827a
-
-Functionc8223: ; c8223 (32:4223)
- call Functionc9042
- jr z, .asm_c8230
- ld hl, w5_d40e
+.zero
+ call BGEffect_CheckFlyDigStatus
+ jr z, .not_flying_digging
+ ld hl, wNumActiveBattleAnims
inc [hl]
call EndBattleBGEffect
ret
-.asm_c8230
- call Functionc80e5
+
+.not_flying_digging
+ call BattleBGEffects_IncrementJumptable
push bc
- call Functionc9038
- jr nz, .asm_c8242
- ld a, $b8
- ld [BattleAnimTemps], a
- ld a, $84
- jr .asm_c8249
-.asm_c8242
- ld a, $b9
- ld [BattleAnimTemps], a
- ld a, $30
-.asm_c8249
- ld [BattleAnimTemps + 1], a
- ld a, $40
- ld [BattleAnimTemps + 2], a
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn
+ ld a, ANIM_OBJ_PLAYERFEETFOLLOW
+ ld [wBattleAnimTemp0], a
+ ld a, 16 * 8 + 4
+ jr .okay
+
+.player_turn
+ ld a, ANIM_OBJ_ENEMYFEETFOLLOW
+ ld [wBattleAnimTemp0], a
+ ld a, 6 * 8
+.okay
+ ld [wBattleAnimTemp1], a
+ ld a, 8 * 8
+ ld [wBattleAnimTemp2], a
xor a
- ld [BattleAnimTemps + 3], a
- call Functionc82ee
+ ld [wBattleAnimTemp3], a
+ call _QueueBattleAnimation
pop bc
ret
-Functionc825a: ; c825a (32:425a)
- call Functionc80e5
+.one
+ call BattleBGEffects_IncrementJumptable
push bc
- call Functionc9038
- jr nz, .asm_c826b
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn_2
hlcoord 12, 6
- ld bc, $107
- jr .asm_c8271
-.asm_c826b
+ lb bc, 1, 7
+ jr .okay2
+
+.player_turn_2
hlcoord 2, 6
lb bc, 1, 6
-.asm_c8271
+.okay2
call ClearBox
ld a, $1
ld [hBGMapMode], a
@@ -445,66 +475,68 @@
pop bc
ret
-Functionc827a: ; c827a (32:427a)
+.five
xor a
ld [hBGMapMode], a
call EndBattleBGEffect
ret
-Functionc8281: ; c8281 (32:4281)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_HeadFollow: ; c8281 (32:4281)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw .five
-Jumptable_c8284: ; c8284 (32:4284)
- dw Functionc8290
- dw Functionc82c7
- dw Functionc80e5
- dw Functionc80e5
- dw Functionc80e5
- dw Functionc82e7
-
-Functionc8290: ; c8290 (32:4290)
- call Functionc9042
- jr z, .asm_c829d
- ld hl, w5_d40e
+.zero
+ call BGEffect_CheckFlyDigStatus
+ jr z, .not_flying_digging
+ ld hl, wNumActiveBattleAnims
inc [hl]
call EndBattleBGEffect
ret
-.asm_c829d
- call Functionc80e5
+
+.not_flying_digging
+ call BattleBGEffects_IncrementJumptable
push bc
- call Functionc9038
- jr nz, .asm_c82af
- ld a, $ba
- ld [BattleAnimTemps], a
- ld a, $84
- jr .asm_c82b6
-.asm_c82af
- ld a, $bb
- ld [BattleAnimTemps], a
- ld a, $30
-.asm_c82b6
- ld [BattleAnimTemps + 1], a
- ld a, $40
- ld [BattleAnimTemps + 2], a
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn
+ ld a, ANIM_OBJ_BA
+ ld [wBattleAnimTemp0], a
+ ld a, 16 * 8 + 4
+ jr .okay
+
+.player_turn
+ ld a, ANIM_OBJ_BB
+ ld [wBattleAnimTemp0], a
+ ld a, 6 * 8
+.okay
+ ld [wBattleAnimTemp1], a
+ ld a, 8 * 8
+ ld [wBattleAnimTemp2], a
xor a
- ld [BattleAnimTemps + 3], a
- call Functionc82ee
+ ld [wBattleAnimTemp3], a
+ call _QueueBattleAnimation
pop bc
ret
-Functionc82c7: ; c82c7 (32:42c7)
- call Functionc80e5
+.one
+ call BattleBGEffects_IncrementJumptable
push bc
- call Functionc9038
- jr nz, .asm_c82d8
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn_2
hlcoord 12, 5
- ld bc, $207
- jr .asm_c82de
-.asm_c82d8
+ lb bc, 2, 7
+ jr .okay2
+
+.player_turn_2
hlcoord 2, 6
lb bc, 2, 6
-.asm_c82de
+.okay2
call ClearBox
ld a, $1
ld [hBGMapMode], a
@@ -511,239 +543,238 @@
pop bc
ret
-Functionc82e7: ; c82e7 (32:42e7)
+.five
xor a
ld [hBGMapMode], a
call EndBattleBGEffect
ret
-Functionc82ee: ; c82ee (32:42ee)
- callab Functioncc9a1
+_QueueBattleAnimation: ; c82ee (32:42ee)
+ callab QueueBattleAnimation
ret
-Functionc82f5: ; c82f5 (32:42f5)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_27: ; c82f5 (32:42f5)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw .four
-Jumptable_c82f8: ; c82f8 (32:42f8)
- dw Functionc8302
- dw Functionc831d
- dw Functionc80e5
- dw Functionc80e5
- dw Functionc8365
-
-Functionc8302: ; c8302 (32:4302)
- call Functionc80e5
- call Functionc9038
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BGEffect_CheckBattleTurn
ld [hl], a
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
and a
- jr z, .asm_c8315
+ jr z, .user
ld a, $9
- jr .asm_c8317
-.asm_c8315
+ jr .okay
+
+.user
ld a, $8
-.asm_c8317
- ld hl, $3
+.okay
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], a
ret
-Functionc831d: ; c831d (32:431d)
- ld hl, $2
+.one
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
and a
- jr z, .asm_c833e
+ jr z, .user_2
hlcoord 0, 6
- ld de, $806
-.asm_c832b
+ lb de, 8, 6
+.row1
push de
push hl
-.asm_c832d
+.col1
inc hl
ld a, [hld]
ld [hli], a
dec d
- jr nz, .asm_c832d
+ jr nz, .col1
pop hl
- ld de, $14
+ ld de, SCREEN_WIDTH
add hl, de
pop de
dec e
- jr nz, .asm_c832b
- jr .asm_c8355
-.asm_c833e
+ jr nz, .row1
+ jr .okay2
+
+.user_2
hlcoord 19, 0
- ld de, $807
-.asm_c8344
+ lb de, 8, 7
+.row2
push de
push hl
-.asm_c8346
+.col2
dec hl
ld a, [hli]
ld [hld], a
dec d
- jr nz, .asm_c8346
+ jr nz, .col2
pop hl
- ld de, $14
+ ld de, SCREEN_WIDTH
add hl, de
pop de
dec e
- jr nz, .asm_c8344
-.asm_c8355
+ jr nz, .row2
+.okay2
xor a
ld [hBGMapThird], a
ld a, $1
ld [hBGMapMode], a
- call Functionc80e5
- ld hl, $3
+ call BattleBGEffects_IncrementJumptable
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
dec [hl]
ret
-Functionc8365: ; c8365 (32:4365)
+.four
xor a
ld [hBGMapMode], a
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
and a
- jr z, .asm_c8377
- ld hl, $1
+ jr z, .done
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
ld [hl], $1
ret
-.asm_c8377
+
+.done
call EndBattleBGEffect
ret
-Functionc837b: ; c837b (32:437b)
- call Functionc9038
- jr nz, .asm_c8385
- ld de, Unknown_c839e
- jr .asm_c8388
-.asm_c8385
- ld de, Unknown_c8394
-.asm_c8388
+BattleBGEffect_EnterMon: ; c837b (32:437b)
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn
+ ld de, .EnemyData
+ jr .okay
+
+.player_turn
+ ld de, .PlayerData
+.okay
ld a, e
- ld [BattleAnimTemps + 1], a
+ ld [wBattleAnimTemp1], a
ld a, d
- ld [BattleAnimTemps + 2], a
- call Functionc83ed
+ ld [wBattleAnimTemp2], a
+ call BattleBGEffect_RunPicResizeScript
ret
-; c8394 (32:4394)
-Unknown_c8394:
- db $02, $31, $02
- db $01, $31, $01
- db $00, $31, $00
- db $ff
-; c839e
-
-Unknown_c839e:
- db $05, $00, $05
- db $04, $00, $04
- db $03, $00, $03
- db $ff
+.PlayerData
+ db 2, $31, 2
+ db 1, $31, 1
+ db 0, $31, 0
+ db -1
+.EnemyData
+ db 5, $00, 5
+ db 4, $00, 4
+ db 3, $00, 3
+ db -1
; c83a8
-Functionc83a8: ; c83a8 (32:43a8)
- call Functionc9038
- jr nz, .asm_c83b2
- ld de, Unknown_c83d7
- jr .asm_c83b5
-.asm_c83b2
- ld de, Unknown_c83c1
-.asm_c83b5
+BattleBGEffect_ReturnMon: ; c83a8 (32:43a8)
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn
+ ld de, .EnemyData
+ jr .okay
+
+.player_turn
+ ld de, .PlayerData
+.okay
ld a, e
- ld [BattleAnimTemps + 1], a
+ ld [wBattleAnimTemp1], a
ld a, d
- ld [BattleAnimTemps + 2], a
- call Functionc83ed
+ ld [wBattleAnimTemp2], a
+ call BattleBGEffect_RunPicResizeScript
ret
-; c83c1 (32:43c1)
-Unknown_c83c1:
- db $00, $31, $00
- db $fe, $66, $00
- db $01, $31, $01
- db $fe, $44, $01
- db $02, $31, $02
- db $fe, $22, $02
- db $fd, $00, $00
- db $ff
-; c83d7
-
-Unknown_c83d7:
- db $03, $00, $03
- db $fe, $77, $03
- db $04, $00, $04
- db $fe, $55, $04
- db $05, $00, $05
- db $fe, $33, $05
- db $fd, $00, $00
- db $ff
+.PlayerData
+ db 0, $31, 0
+ db -2, $66, 0
+ db 1, $31, 1
+ db -2, $44, 1
+ db 2, $31, 2
+ db -2, $22, 2
+ db -3, $00, 0
+ db -1
+.EnemyData
+ db 3, $00, 3
+ db -2, $77, 3
+ db 4, $00, 4
+ db -2, $55, 4
+ db 5, $00, 5
+ db -2, $33, 5
+ db -3, $00, 0
+ db -1
; c83ed
-Functionc83ed: ; c83ed (32:43ed)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_RunPicResizeScript: ; c83ed (32:43ed)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw .restart
+ dw .end
-Jumptable_c83f0: ; c83f0 (32:43f0)
- dw Functionc83fa
- dw Functionc80e5
- dw Functionc80e5
- dw Functionc842a
- dw Functionc8434
-
-Functionc83fa: ; c83fa (32:43fa)
- ld hl, $3
+.zero
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld e, [hl]
ld d, $0
inc [hl]
- ld a, [BattleAnimTemps + 1]
+ ld a, [wBattleAnimTemp1]
ld l, a
- ld a, [BattleAnimTemps + 2]
+ ld a, [wBattleAnimTemp2]
ld h, a
rept 3
add hl, de
endr
ld a, [hl]
- cp $ff
- jr z, Functionc8434
- cp $fe
- jr z, .asm_c8425
- cp $fd
- jr z, .asm_c841d
- call Functionc8458
-.asm_c841d
- call Functionc80e5
+ cp -1
+ jr z, .end
+ cp -2
+ jr z, .clear
+ cp -3
+ jr z, .skip
+ call .FillBox
+.skip
+ call BattleBGEffects_IncrementJumptable
ld a, $1
ld [hBGMapMode], a
ret
-.asm_c8425
- call Functionc843b
- jr Functionc83fa
-Functionc842a: ; c842a (32:442a)
+.clear
+ call .ClearBox
+ jr .zero
+
+.restart
xor a
ld [hBGMapMode], a
- ld hl, $1
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
ld [hl], $0
ret
-Functionc8434: ; c8434 (32:4434)
+.end
xor a
ld [hBGMapMode], a
call EndBattleBGEffect
ret
-Functionc843b: ; c843b (32:443b)
+.ClearBox
+; get dims
push bc
inc hl
ld a, [hli]
@@ -754,12 +785,12 @@
swap a
and $f
ld b, a
+; get coords
ld e, [hl]
ld d, 0
- ld hl, Unknown_c849c
-rept 2
+ ld hl, .Coords
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -767,12 +798,13 @@
pop bc
ret
-Functionc8458: ; c8458 (32:4458)
+.FillBox
+; get dims
push bc
push hl
ld e, [hl]
ld d, 0
- ld hl, Unknown_c84a8
+ ld hl, .BGSquares
rept 3
add hl, de
endr
@@ -784,47 +816,49 @@
swap a
and $f
ld b, a
+; store pointer
ld e, [hl]
inc hl
ld d, [hl]
+; get byte
pop hl
inc hl
ld a, [hli]
- ld [BattleAnimTemps], a
+ ld [wBattleAnimTemp0], a
+; get coord
push de
ld e, [hl]
ld d, 0
- ld hl, Unknown_c849c
-rept 2
+ ld hl, .Coords
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
pop de
-.asm_c8484
+; fill box
+.row
push bc
push hl
- ld a, [BattleAnimTemps]
+ ld a, [wBattleAnimTemp0]
ld b, a
-.asm_c848a
+.col
ld a, [de]
add b
ld [hli], a
inc de
dec c
- jr nz, .asm_c848a
+ jr nz, .col
pop hl
- ld bc, $14
+ ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
- jr nz, .asm_c8484
+ jr nz, .row
pop bc
ret
-; c849c (32:449c)
-Unknown_c849c: ; c849c
+.Coords
dwcoord 2, 6
dwcoord 3, 8
dwcoord 4, 10
@@ -831,18 +865,21 @@
dwcoord 12, 0
dwcoord 13, 2
dwcoord 14, 4
-; c84a8
-Unknown_c84a8: ; c84a8
- dbw $66, Unknown_c84ba
- dbw $44, Unknown_c84de
- dbw $22, Unknown_c84ee
- dbw $77, Unknown_c84f2
- dbw $55, Unknown_c8523
- dbw $33, Unknown_c853c
-; c84ba
+.BGSquares
+bgsquare: MACRO
+ dn \1,\2
+ dw \3
+endm
-Unknown_c84ba: ; c84ba
+ bgsquare 6, 6, .SixBySix
+ bgsquare 4, 4, .FourByFour
+ bgsquare 2, 2, .TwoByTwo
+ bgsquare 7, 7, .SevenBySeven
+ bgsquare 5, 5, .FiveByFive
+ bgsquare 3, 3, .ThreeByThree
+
+.SixBySix
db $00, $06, $0c, $12, $18, $1e
db $01, $07, $0d, $13, $19, $1f
db $02, $08, $0e, $14, $1a, $20
@@ -849,21 +886,18 @@
db $03, $09, $0f, $15, $1b, $21
db $04, $0a, $10, $16, $1c, $22
db $05, $0b, $11, $17, $1d, $23
-; c84de
-Unknown_c84de: ; c84de
+.FourByFour
db $00, $0c, $12, $1e
db $02, $0e, $14, $20
db $03, $0f, $15, $21
db $05, $11, $17, $23
-; c84ee
-Unknown_c84ee: ; c84ee
+.TwoByTwo
db $00, $1e
db $05, $23
-; c84f2
-Unknown_c84f2: ; c84f2
+.SevenBySeven
db $00, $07, $0e, $15, $1c, $23, $2a
db $01, $08, $0f, $16, $1d, $24, $2b
db $02, $09, $10, $17, $1e, $25, $2c
@@ -871,78 +905,76 @@
db $04, $0b, $12, $19, $20, $27, $2e
db $05, $0c, $13, $1a, $21, $28, $2f
db $06, $0d, $14, $1b, $22, $29, $30
-; c8523
-Unknown_c8523: ; c8523
+.FiveByFive
db $00, $07, $15, $23, $2a
db $01, $08, $16, $24, $2b
db $03, $0a, $18, $26, $2d
db $05, $0c, $1a, $28, $2f
db $06, $0d, $1b, $29, $30
-; c853c
-Unknown_c853c: ; c853c
+.ThreeByThree
db $00, $15, $2a
db $03, $18, $2d
db $06, $1b, $30
; c8545
-Functionc8545: ; c8545 (32:4545)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_Surf: ; c8545 (32:4545)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
-Jumptable_c8548: ; c8548 (32:4548)
- dw Functionc854e
- dw Functionc8557
- dw Functionc8561
+.zero
+ call BattleBGEffects_IncrementJumptable
+ lb de, 2, 2
+ call InitSurfWaves
-Functionc854e: ; c854e (32:454e)
- call Functionc80e5
- ld de, $202
- call Functionc8f69
-
-Functionc8557: ; c8557 (32:4557)
- ld a, [hLCDStatCustom]
+.one
+ ld a, [hFFC6]
and a
ret z
push bc
- call Functionc8565
+ call .RotatewSurfWaveBGEffect
pop bc
ret
-Functionc8561: ; c8561 (32:4561)
- call Functionc8f0a
+.two
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc8565: ; c8565 (32:4565)
- ld hl, w5_d422
- ld de, w5_d422 + 1
- ld c, $3f
+.RotatewSurfWaveBGEffect
+ ld hl, wSurfWaveBGEffect
+ ld de, wSurfWaveBGEffect + 1
+ ld c, wSurfWaveBGEffectEnd - wSurfWaveBGEffect - 1
ld a, [hl]
push af
-.asm_c856f
+.loop
ld a, [de]
inc de
ld [hli], a
dec c
- jr nz, .asm_c856f
+ jr nz, .loop
pop af
ld [hl], a
ld de, LYOverridesBackup
- ld hl, w5_d422
+ ld hl, wSurfWaveBGEffect
ld bc, $0
-.asm_c8580
- ld a, [hLCDStatCustom + 1]
+.loop2
+ ld a, [hFFC7]
cp e
- jr nc, .asm_c858b
+ jr nc, .load_zero
push hl
add hl, bc
ld a, [hl]
pop hl
- jr .asm_c858c
-.asm_c858b
+ jr .okay
+
+.load_zero
xor a
-.asm_c858c
+.okay
ld [de], a
ld a, c
inc a
@@ -951,54 +983,53 @@
inc de
ld a, e
cp $5f
- jr c, .asm_c8580
+ jr c, .loop2
ret
-Functionc8599: ; c8599 (32:4599)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_Whirlpool: ; c8599 (32:4599)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
-Jumptable_c859c: ; c859c (32:459c)
- dw Functionc85a2
- dw Functionc85ba
- dw Functionc85be
-
-Functionc85a2: ; c85a2 (32:45a2)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $42
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
xor a
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, $5e
- ld [hLCDStatCustom + 2], a
- ld de, $202
+ ld [hFFC8], a
+ lb de, 2, 2
call Functionc8f2e
ret
-Functionc85ba: ; c85ba (32:45ba)
- call Functionc8fef
+.one
+ call BattleBGEffect_WavyScreenFX
ret
-Functionc85be: ; c85be (32:45be)
- call Functionc8f0a
+.two
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc85c2: ; c85c2 (32:45c2)
- call Functionc8eca
+BattleBGEffect_30: ; c85c2 (32:45c2)
+ call BattleBGEffects_ClearLYOverrides
ld a, $42
- call Functionc8ede
+ call BattleBGEffect_SetLCDStatCustoms1
call EndBattleBGEffect
ret
-Functionc85ce: ; c85ce (32:45ce)
- ld hl, $3
+BattleBGEffect_31: ; c85ce (32:45ce)
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
ld e, a
add $4
ld [hl], a
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
and $f0
@@ -1006,239 +1037,235 @@
xor $ff
add $4
ld d, a
- ld hl, $1
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
ld a, [hl]
- ld [BattleAnimTemps], a
- ld hl, $2
+ ld [wBattleAnimTemp0], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
cp $20
- jr nc, .asm_c85fc
-rept 2
+ jr nc, .done
inc [hl]
-endr
+ inc [hl]
call Functionc8f9a
ret
-.asm_c85fc
- call Functionc8eca
+
+.done
+ call BattleBGEffects_ClearLYOverrides
call EndBattleBGEffect
ret
-Functionc8603: ; c8603 (32:4603)
- call Functionc8f0a
+BattleBGEffect_32: ; c8603 (32:4603)
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc8607: ; c8607 (32:4607)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_Psychic: ; c8607 (32:4607)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
-Jumptable_c860a: ; c860a (32:460a)
- dw Functionc8610
- dw Functionc862e
- dw Functionc863b
-
-Functionc8610: ; c8610 (32:4610)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $43
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
xor a
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, $5f
- ld [hLCDStatCustom + 2], a
- ld de, $605
+ ld [hFFC8], a
+ lb de, 6, 5
call Functionc8f2e
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
ret
-Functionc862e: ; c862e (32:462e)
- ld hl, $3
+.one
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
inc [hl]
and $3
ret nz
- call Functionc8fef
+ call BattleBGEffect_WavyScreenFX
ret
-Functionc863b: ; c863b (32:463b)
- call Functionc8f0a
+.two
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc863f: ; c863f (32:463f)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_Teleport: ; c863f (32:463f)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
-Jumptable_c8642: ; c8642 (32:4642)
- dw Functionc8648
- dw Functionc865a
- dw Functionc865e
-
-Functionc8648: ; c8648 (32:4648)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
- ld de, $605
+ call BattleBGEffect_SetLCDStatCustoms1
+ lb de, 6, 5
call Functionc8f2e
ret
-Functionc865a: ; c865a (32:465a)
- call Functionc8fef
+.one
+ call BattleBGEffect_WavyScreenFX
ret
-Functionc865e: ; c865e (32:465e)
- call Functionc8f0a
+.two
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc8662: ; c8662 (32:4662)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_NightShade: ; c8662 (32:4662)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
-Jumptable_c8665: ; c8665 (32:4665)
- dw Functionc866b
- dw Functionc8681
- dw Functionc8685
-
-Functionc866b: ; c866b (32:466b)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $42
- call Functionc8ede
- ld hl, $3
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld e, [hl]
- ld d, $2
+ ld d, 2
call Functionc8f2e
ret
-Functionc8681: ; c8681 (32:4681)
- call Functionc8fef
+.one
+ call BattleBGEffect_WavyScreenFX
ret
-Functionc8685: ; c8685 (32:4685)
- call Functionc8f0a
+.two
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc8689: ; c8689 (32:4689)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_DoubleTeam: ; c8689 (32:4689)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
-Jumptable_c868c: ; c868c (32:468c)
- dw Functionc8698
- dw Functionc86af
- dw Functionc86cf
- dw Functionc86bd
- dw Functionc86e9
- dw Functionc8705
-
-Functionc8698: ; c8698 (32:4698)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
- ld hl, $2
+ ld [hFFC8], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hl], $0
ret
-Functionc86af: ; c86af (32:46af)
- ld hl, $3
+.one
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
cp $10
- jr nc, asm_c86cb
+ jr nc, .next
inc [hl]
- call Functionc86ea
+ call .UpdateLYOverrides
ret
-Functionc86bd: ; c86bd (32:46bd)
- ld hl, $3
+.three
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
cp $ff
- jr z, asm_c86cb
+ jr z, .next
dec [hl]
- call Functionc86ea
+ call .UpdateLYOverrides
ret
-asm_c86cb: ; c86cb (32:46cb)
- call Functionc80e5
+
+.next
+ call BattleBGEffects_IncrementJumptable
ret
-Functionc86cf: ; c86cf (32:46cf)
- ld hl, $2
+.two
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
ld d, $2
- call Functionc905d
- ld hl, $3
+ call BattleBGEffects_Sine
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
add [hl]
- call Functionc86ea
- ld hl, $2
+ call .UpdateLYOverrides
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
add $4
ld [hl], a
-Functionc86e9: ; c86e9 (32:46e9)
+.four
ret
-Functionc86ea: ; c86ea (32:46ea)
+.UpdateLYOverrides
ld e, a
xor $ff
inc a
ld d, a
- ld h, $d2
- ld a, [hLCDStatCustom + 1]
+ ld h, LYOverridesBackup / $100
+ ld a, [hFFC7]
ld l, a
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
sub l
srl a
push af
-.asm_c86fa
+.loop
ld [hl], e
inc hl
ld [hl], d
inc hl
dec a
- jr nz, .asm_c86fa
+ jr nz, .loop
pop af
ret nc
ld [hl], e
ret
-Functionc8705: ; c8705 (32:4705)
- call Functionc8f0a
+.five
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc8709: ; c8709 (32:4709)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_AcidArmor: ; c8709 (32:4709)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
-Jumptable_c870c: ; c870c (32:470c)
- dw Functionc8712
- dw Functionc8732
- dw Functionc875d
-
-Functionc8712: ; c8712 (32:4712)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $42
- call Functionc8ede
- ld hl, $3
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld e, [hl]
- ld d, $2
+ ld d, 2
call Functionc8f2e
ld h, $d2
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
ld l, a
ld [hl], $0
dec l
@@ -1245,30 +1272,30 @@
ld [hl], $0
ret
-Functionc8732: ; c8732 (32:4732)
- ld a, [hLCDStatCustom + 2]
+.one
+ ld a, [hFFC8]
ld l, a
ld h, $d2
ld e, l
ld d, h
dec de
-.asm_c873a
+.loop
ld a, [de]
dec de
ld [hld], a
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
cp l
- jr nz, .asm_c873a
+ jr nz, .loop
ld [hl], $90
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
ld l, a
ld a, [hl]
cp $1
- jr c, .asm_c8752
+ jr c, .okay
cp $90
- jr z, .asm_c8752
+ jr z, .okay
ld [hl], $0
-.asm_c8752
+.okay
dec l
ld a, [hl]
cp $2
@@ -1278,105 +1305,103 @@
ld [hl], $0
ret
-Functionc875d: ; c875d (32:475d)
- call Functionc8f0a
+.two
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc8761: ; c8761 (32:4761)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_21: ; c8761 (32:4761)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
-Jumptable_c8764: ; c8764 (32:4764)
- dw Functionc876a
- dw Functionc8781
- dw Functionc87a3
-
-Functionc876a: ; c876a (32:476a)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $42
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
- ld hl, $2
+ ld [hFFC8], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hl], $1
ret
-Functionc8781: ; c8781 (32:4781)
- ld hl, $3
+.one
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
and $3f
ld d, a
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
cp d
ret nc
call Functionc901b
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
rlca
rlca
and $3
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
add [hl]
ld [hl], a
ret
-Functionc87a3: ; c87a3 (32:47a3)
- call Functionc8f0a
+.two
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc87a7: ; c87a7 (32:47a7)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_Dig: ; c87a7 (32:47a7)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
-Jumptable_c87aa: ; c87aa (32:47aa)
- dw Functionc87b2
- dw Functionc87cf
- dw Functionc87de
- dw Functionc8801
-
-Functionc87b2: ; c87b2 (32:47b2)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $42
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
- ld hl, $2
+ ld [hFFC8], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hl], $2
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
ret
-Functionc87cf: ; c87cf (32:47cf)
- ld hl, $3
+.one
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
and a
- jr z, .asm_c87d9
+ jr z, .next
dec [hl]
ret
-.asm_c87d9
- ld [hl], $10
- call Functionc80e5
-Functionc87de: ; c87de (32:47de)
- ld a, [hLCDStatCustom + 1]
+.next
+ ld [hl], $10
+ call BattleBGEffects_IncrementJumptable
+.two
+ ld a, [hFFC7]
ld l, a
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
sub l
dec a
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
cp [hl]
ret c
@@ -1383,130 +1408,129 @@
ld a, [hl]
push af
and $7
- jr nz, .asm_c87f6
- ld hl, $1
+ jr nz, .skip
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
dec [hl]
-.asm_c87f6
+.skip
pop af
call Functionc901b
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
-rept 2
inc [hl]
-endr
+ inc [hl]
ret
-Functionc8801: ; c8801 (32:4801)
- call Functionc8f0a
+.three
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc8805: ; c8805 (32:4805)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_Tackle: ; c8805 (32:4805)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw Tackle_BGEffect25_2d_one
+ dw Tackle_BGEffect25_2d_two
+ dw .three
-Jumptable_c8808: ; c8808 (32:4808)
- dw Functionc8810
- dw Functionc8869
- dw Functionc8888
- dw Functionc8833
-
-Functionc8810: ; c8810 (32:4810)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
- ld hl, $3
+ ld [hFFC8], a
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
- call Functionc9038
- jr nz, .asm_c882f
- ld a, $2
- jr .asm_c8831
-.asm_c882f
- ld a, $fe
-.asm_c8831
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_side
+ ld a, 2
+ jr .okay
+
+.player_side
+ ld a, -2
+.okay
ld [hl], a
ret
-Functionc8833: ; c8833 (32:4833)
- call Functionc8f0a
+.three
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc8837: ; c8837 (32:4837)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_25: ; c8837 (32:4837)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw Tackle_BGEffect25_2d_one
+ dw Tackle_BGEffect25_2d_two
+ dw .three
-Jumptable_c883a: ; c883a (32:483a)
- dw Functionc8842
- dw Functionc8869
- dw Functionc8888
- dw Functionc8865
-
-Functionc8842: ; c8842 (32:4842)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ef4
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms2
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
- ld hl, $3
+ ld [hFFC8], a
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
- call Functionc9038
- jr nz, .asm_c8861
- ld a, $2
- jr .asm_c8863
-.asm_c8861
- ld a, $fe
-.asm_c8863
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_side
+ ld a, 2
+ jr .okay
+
+.player_side
+ ld a, -2
+.okay
ld [hl], a
ret
-Functionc8865: ; c8865 (32:4865)
- call Functionc8f0a
+.three
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc8869: ; c8869 (32:4869)
- ld hl, $3
+Tackle_BGEffect25_2d_one:
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
- cp $f8
- jr z, .asm_c8876
- cp $8
- jr nz, .asm_c8879
-.asm_c8876
- call Functionc80e5
-.asm_c8879
+ cp -8
+ jr z, .reached_limit
+ cp 8
+ jr nz, .finish
+.reached_limit
+ call BattleBGEffects_IncrementJumptable
+.finish
call Functionc88a5
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
add [hl]
ld [hl], a
ret
-Functionc8888: ; c8888 (32:4888)
- ld hl, $3
+Tackle_BGEffect25_2d_two:
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
and a
jr nz, .asm_c8893
- call Functionc80e5
+ call BattleBGEffects_IncrementJumptable
.asm_c8893
call Functionc88a5
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
xor $ff
inc a
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
add [hl]
ld [hl], a
@@ -1516,134 +1540,132 @@
push af
ld a, [FXAnimIDHi] ; FXAnimIDHi
or a
- jr nz, .asm_c88b3
+ jr nz, .not_rollout
ld a, [FXAnimIDLo] ; FXAnimID
cp ROLLOUT
- jr z, .asm_c88b7
-.asm_c88b3
+ jr z, .rollout
+.not_rollout
pop af
jp Functionc900b
-.asm_c88b7
- ld a, [hLCDStatCustom + 1]
+
+.rollout
+ ld a, [hFFC7]
ld d, a
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
sub d
ld d, a
ld h, LYOverridesBackup / $100
ld a, [hSCY]
or a
- jr nz, .asm_c88d0
- ld a, [hLCDStatCustom + 1]
+ jr nz, .skip1
+ ld a, [hFFC7]
or a
- jr z, .asm_c88d6
+ jr z, .skip2
dec a
ld l, a
ld [hl], $0
- jr .asm_c88d6
-.asm_c88d0
- ld a, [hLCDStatCustom + 2]
+ jr .skip2
+
+.skip1
+ ld a, [hFFC8]
dec a
ld l, a
ld [hl], $0
-.asm_c88d6
+.skip2
ld a, [hSCY]
ld l, a
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
sub l
- jr nc, .asm_c88e0
+ jr nc, .skip3
xor a
dec d
-.asm_c88e0
+.skip3
ld l, a
pop af
-.asm_c88e2
+.loop
ld [hli], a
dec d
- jr nz, .asm_c88e2
+ jr nz, .loop
ret
-Functionc88e7: ; c88e7 (32:48e7)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_2d: ; c88e7 (32:48e7)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw BGEffect2d_2f_zero
+ dw Tackle_BGEffect25_2d_one
+ dw Tackle_BGEffect25_2d_two
+ dw .three
-Jumptable_c88ea: ; c88ea (32:48ea)
- dw Functionc88f6
- dw Functionc8869
- dw Functionc8888
- dw Functionc88f2
-
-Functionc88f2: ; c88f2 (32:48f2)
- call Functionc8f0a
+.three
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc88f6: ; c88f6 (32:48f6)
- call Functionc80e5
- call Functionc8eca
+BGEffect2d_2f_zero:
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
- ld hl, $3
+ ld [hFFC8], a
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
- call Functionc9038
- jr nz, .asm_c8915
- ld a, $fe
- jr .asm_c8917
-.asm_c8915
- ld a, $2
-.asm_c8917
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn
+ ld a, -2
+ jr .okay
+
+.player_turn
+ ld a, 2
+.okay
ld [hl], a
ret
-Functionc8919: ; c8919 (32:4919)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_2f: ; c8919 (32:4919)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw BGEffect2d_2f_zero
+ dw Tackle_BGEffect25_2d_one
+ dw .two
+ dw Tackle_BGEffect25_2d_two
+ dw .four
-Jumptable_c891c: ; c891c (32:491c)
- dw Functionc88f6
- dw Functionc8869
- dw Functionc8929
- dw Functionc8888
- dw Functionc8926
-
-
-Functionc8926: ; c8926 (32:4926)
- call Functionc8f0a
-
-Functionc8929: ; c8929 (32:4929)
+.four
+ call BattleAnim_ResetLCDStatCustom
+.two
ret
-Functionc892a: ; c892a (32:492a)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_26: ; c892a (32:492a)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
-Jumptable_c892d: ; c892d (32:492d)
- dw Functionc8933
- dw Functionc894a
- dw Functionc8960
-
-Functionc8933: ; c8933 (32:4933)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
- ld hl, $3
+ ld [hFFC8], a
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
ret
-Functionc894a: ; c894a (32:494a)
- ld hl, $3
+.one
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
ld d, $8
- call Functionc905d
+ call BattleBGEffects_Sine
call Functionc900b
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
add $4
@@ -1650,56 +1672,55 @@
ld [hl], a
ret
-Functionc8960: ; c8960 (32:4960)
- call Functionc8f0a
+.two
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc8964: ; c8964 (32:4964)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_2c: ; c8964 (32:4964)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
-Jumptable_c8967: ; c8967 (32:4967)
- dw Functionc896d
- dw Functionc8985
- dw Functionc89b1
-
-Functionc896d: ; c896d (32:496d)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
xor a
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hli], a
ld [hl], a
ret
-Functionc8985: ; c8985 (32:4985)
- ld hl, $3
+.one
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
ld d, $6
- call Functionc905d
+ call BattleBGEffects_Sine
push af
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
ld d, $2
- call Functionc905d
+ call BattleBGEffects_Sine
ld e, a
pop af
add e
call Functionc900b
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
add $8
ld [hl], a
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
add $2
@@ -1706,28 +1727,27 @@
ld [hl], a
ret
-Functionc89b1: ; c89b1 (32:49b1)
- call Functionc8f0a
+.two
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc89b5: ; c89b5 (32:49b5)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_28: ; c89b5 (32:49b5)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
-Jumptable_c89b8: ; c89b8 (32:49b8)
- dw Functionc89be
- dw Functionc89ca
- dw Functionc89da
-
-Functionc89be: ; c89be (32:49be)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
+ call BattleBGEffect_SetLCDStatCustoms1
ret
-Functionc89ca: ; c89ca (32:49ca)
- ld hl, $3
+.one
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
cp $20
@@ -1734,168 +1754,167 @@
ret nc
inc [hl]
ld d, a
- ld e, $4
+ ld e, 4
call Functionc8f2e
ret
-Functionc89da: ; c89da (32:49da)
- ld hl, $3
+.two
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
and a
- jr z, .asm_c89ea
+ jr z, .reset
dec [hl]
ld d, a
- ld e, $4
+ ld e, 4
call Functionc8f2e
ret
-.asm_c89ea
- call Functionc8f0a
+
+.reset
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc89ee: ; c89ee (32:49ee)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_BounceDown: ; c89ee (32:49ee)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
-Jumptable_c89f1: ; c89f1 (32:49f1)
- dw Functionc89f7
- dw Functionc8a14
- dw Functionc8a36
-
-Functionc89f7: ; c89f7 (32:49f7)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $42
- call Functionc8ef4
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms2
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
- ld hl, $2
+ ld [hFFC8], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hl], $1
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $20
ret
-Functionc8a14: ; c8a14 (32:4a14)
- ld hl, $2
+.one
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
cp $38
ret nc
push af
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
ld d, $10
- call Functionc9066
+ call BattleBGEffects_Cosine
add $10
ld d, a
pop af
add d
call Functionc901b
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
-rept 2
inc [hl]
-endr
+ inc [hl]
ret
-Functionc8a36: ; c8a36 (32:4a36)
- call Functionc8f0a
+.two
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc8a3a: ; c8a3a (32:4a3a)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_2a: ; c8a3a (32:4a3a)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
-Jumptable_c8a3d: ; c8a3d (32:4a3d)
- dw Functionc8a49
- dw Functionc8a6f
- dw Functionc8a70
- dw Functionc8a88
- dw Functionc8a6f
- dw Functionc8aac
-
-
-Functionc8a49: ; c8a49 (32:4a49)
- call Functionc80e5
+.zero
+ call BattleBGEffects_IncrementJumptable
ld a, $e4
- call Functionc8ecb
+ call BattleBGEffects_SetLYOverrides
ld a, $47
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
- ld a, [hLCDStatCustom + 1]
+ ld [hFFC8], a
+ ld a, [hFFC7]
ld l, a
ld h, $d2
-.asm_c8a60
- ld a, [hLCDStatCustom + 2]
+.loop
+ ld a, [hFFC8]
cp l
- jr z, .asm_c8a69
+ jr z, .done
xor a
ld [hli], a
- jr .asm_c8a60
-.asm_c8a69
- ld hl, $3
+ jr .loop
+
+.done
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
-
-Functionc8a6f: ; c8a6f (32:4a6f)
+.one
+.four
ret
-Functionc8a70: ; c8a70 (32:4a70)
- call Functionc8ab0
- jr nc, .asm_c8a79
- call Functionc8a9a
+.two
+ call .GetLYOverride
+ jr nc, .next
+ call .SetLYOverridesBackup
ret
-.asm_c8a79
- ld hl, $3
+
+.next
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
inc a
- ld [hLCDStatCustom + 1], a
- call Functionc80e5
+ ld [hFFC7], a
+ call BattleBGEffects_IncrementJumptable
ret
-Functionc8a88: ; c8a88 (32:4a88)
- call Functionc8ab0
- jr nc, .asm_c8a96
- call Functionc8a9a
- ld a, [hLCDStatCustom + 2]
+.three
+ call .GetLYOverride
+ jr nc, .finish
+ call .SetLYOverridesBackup
+ ld a, [hFFC8]
dec a
ld l, a
ld [hl], e
ret
-.asm_c8a96
- call Functionc80e5
+
+.finish
+ call BattleBGEffects_IncrementJumptable
ret
-Functionc8a9a: ; c8a9a (32:4a9a)
+.SetLYOverridesBackup
ld e, a
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
ld l, a
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
sub l
srl a
- ld h, $d2
-.asm_c8aa5
+ ld h, LYOverridesBackup / $100
+.loop2
ld [hl], e
-rept 2
inc hl
-endr
+ inc hl
dec a
- jr nz, .asm_c8aa5
+ jr nz, .loop2
ret
-Functionc8aac: ; c8aac (32:4aac)
- call Functionc8f19
+.five
+ call BattleBGEffects_ResetVideoHRAM
ret
-Functionc8ab0: ; c8ab0 (32:4ab0)
- ld hl, $3
+.GetLYOverride
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
inc [hl]
@@ -1904,41 +1923,40 @@
srl a
ld e, a
ld d, 0
- ld hl, Unknown_c8ac7
+ ld hl, .data
add hl, de
ld a, [hl]
cp $ff
ret
-; c8ac7 (32:4ac7)
-Unknown_c8ac7:
- db $00, $40, $90, $e4, $ff
+.data
+ db $00, $40, $90, $e4
+ db -1
; c8acc
-Functionc8acc: ; c8acc (32:4acc)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_2b: ; c8acc (32:4acc)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
-Jumptable_c8acf: ; c8acf (32:4acf)
- dw Functionc8ad3
- dw Functionc8ae5
-
-Functionc8ad3: ; c8ad3 (32:4ad3)
- call Functionc80e5
- call Functionc8eca
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
- ld hl, $2
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hl], $40
ret
-Functionc8ae5: ; c8ae5 (32:4ae5)
- ld hl, $2
+.one
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
and a
- jr z, .asm_c8afc
+ jr z, .done
dec [hl]
srl a
srl a
@@ -1948,36 +1966,36 @@
ld e, a
call Functionc8f2e
ret
-.asm_c8afc
- call Functionc8f0a
+
+.done
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc8b00: ; c8b00 (32:4b00)
+BattleBGEffect_1c: ; c8b00 (32:4b00)
ld a, [hCGB]
and a
- jr nz, asm_c8b7a
- call Functionc80d7 ; ; ; call does not return
+ jr nz, .cgb
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
-Jumptable_c8b08: ; c8b08 (32:4b08)
- dw Functionc8b0e
- dw Functionc8b22
- dw Functionc8b60
-
-Functionc8b0e: ; c8b0e (32:4b0e)
- call Functionc80e5
+.zero
+ call BattleBGEffects_IncrementJumptable
ld a, $e4
- call Functionc8ecb
+ call BattleBGEffects_SetLYOverrides
ld a, $47
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
xor a
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, $60
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ret
-Functionc8b22: ; c8b22 (32:4b22)
- ld hl, $3
+.one
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
inc [hl]
@@ -1992,72 +2010,70 @@
ld e, a
ld d, $0
push bc
- call Functionc9038
- jr nz, .asm_c8b4d
- ld hl, Unknown_c8bd8
+ call BGEffect_CheckBattleTurn
+ jr nz, .player
+ ld hl, .CGB_DMGEnemyData
add hl, de
ld a, [hli]
- ld [wcfc9], a
+ ld [wOBP1], a
ld d, a
ld e, [hl]
- ld bc, $2f30
- jr .asm_c8b5b
-.asm_c8b4d
- ld hl, Unknown_c8be0
+ lb bc, $2f, $30
+ jr .okay
+
+.player
+ ld hl, .DMG_PlayerData
add hl, de
ld d, [hl]
inc hl
ld a, [hl]
- ld [wcfc9], a
+ ld [wOBP1], a
ld e, a
- ld bc, $3728
-.asm_c8b5b
- call Functionc8b6c
+ lb bc, $37, $28
+.okay
+ call .DMG_LYOverrideLoads
pop bc
ret
-Functionc8b60: ; c8b60 (32:4b60)
- call Functionc8f19
+.two
+ call BattleBGEffects_ResetVideoHRAM
ld a, $e4
- ld [wcfc7], a
- ld [wcfc9], a
+ ld [wBGP], a
+ ld [wOBP1], a
ret
-Functionc8b6c: ; c8b6c (32:4b6c)
+.DMG_LYOverrideLoads
ld hl, LYOverridesBackup
-.asm_c8b6f
+.loop1
ld [hl], d
inc hl
dec b
- jr nz, .asm_c8b6f
-.asm_c8b74
+ jr nz, .loop1
+.loop2
ld [hl], e
inc hl
dec c
- jr nz, .asm_c8b74
+ jr nz, .loop2
ret
-asm_c8b7a: ; c8b7a (32:4b7a)
- ld de, Jumptable_c8b81
- call Functionc80ca
+
+.cgb
+ ld de, .Jumptable
+ call BatttleBGEffects_GetNamedJumptablePointer
jp [hl]
-; c8b81 (32:4b81)
-Jumptable_c8b81: ; c8b81
- dw Functionc8b87
- dw Functionc8b91
- dw Functionc8bca
-; c8b87
-
-Functionc8b87: ; c8b87
- call Functionc80e5
- ld hl, $0003
+.Jumptable
+ dw .cgb_zero
+ dw .cgb_one
+ dw .cgb_two
+.cgb_zero
+ call BattleBGEffects_IncrementJumptable
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
ret
-; c8b91
-Functionc8b91: ; c8b91
- ld hl, $0003
+.cgb_one
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
inc [hl]
@@ -2071,47 +2087,43 @@
sla a
ld e, a
ld d, 0
- call Functionc9038
- jr nz, .asm_c8bbb
- ld hl, Unknown_c8bd8
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_2
+ ld hl, .CGB_DMGEnemyData
add hl, de
ld a, [hli]
push hl
- call Functionc8e7f
+ call BGEffects_LoadBGPal1_OBPal0
pop hl
ld a, [hl]
- call Functionc8e52
+ call BGEffects_LoadBGPal0_OBPal1
ret
-.asm_c8bbb
- ld hl, Unknown_c8bd8
+.player_2
+ ld hl, .CGB_DMGEnemyData
add hl, de
ld a, [hli]
push hl
- call Functionc8e52
+ call BGEffects_LoadBGPal0_OBPal1
pop hl
ld a, [hl]
- call Functionc8e7f
+ call BGEffects_LoadBGPal1_OBPal0
ret
-; c8bca
-Functionc8bca: ; c8bca
+.cgb_two
ld a, $e4
- call Functionc8e52
+ call BGEffects_LoadBGPal0_OBPal1
ld a, $e4
- call Functionc8e7f
+ call BGEffects_LoadBGPal1_OBPal0
call EndBattleBGEffect
ret
-; c8bd8
-Unknown_c8bd8: ; c8bd8
+.CGB_DMGEnemyData
db $e4, $e4
db $f8, $90
db $fc, $40
db $f8, $90
-; c8be0
-
-Unknown_c8be0: ; c8be0
+.DMG_PlayerData
db $e4, $e4
db $90, $f8
db $40, $fc
@@ -2118,130 +2130,120 @@
db $90, $f8
; c8be8
-Functionc8be8: ; c8be8 (32:4be8)
- ld de, Unknown_c8bef
- call Functionc8d77
+BattleBGEffect_RapidFlash: ; c8be8 (32:4be8)
+ ld de, .FlashPals
+ call BGEffect_RapidCyclePals
ret
-; c8bef (32:4bef)
-Unknown_c8bef: ; c8bef
+.FlashPals
db $e4, $6c, $fe
; c8bf2
-Functionc8bf2: ; c8bf2 (32:4bf2)
- ld de, Unknown_c8bf9
- call Functionc8d77
+BattleBGEffect_16: ; c8bf2 (32:4bf2)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
ret
-; c8bf9 (32:4bf9)
-Unknown_c8bf9: ; c8bf9
+.Pals
db $e4, $90, $40, $ff
; c8bfd
-Functionc8bfd: ; c8bfd (32:4bfd)
- ld de, Unknown_c8c04
- call Functionc8d77
+BattleBGEffect_17: ; c8bfd (32:4bfd)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
ret
-; c8c04 (32:4c04)
-Unknown_c8c04: ; c8c04
+.Pals
db $e4, $f8, $fc, $ff
; c8c08
-Functionc8c08: ; c8c08 (32:4c08)
- ld de, Unknown_c8c0f
- call Functionc8d77
+BattleBGEffect_18: ; c8c08 (32:4c08)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
ret
-; c8c0f (32:4c0f)
-Unknown_c8c0f: ; c8c0f
+.Pals
db $e4, $90, $40, $90, $fe
; c8c14
-Functionc8c14: ; c8c14 (32:4c14)
- ld de, Unknown_c8c1b
- call Functionc8d77
+BattleBGEffect_19: ; c8c14 (32:4c14)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
ret
-; c8c1b (32:4c1b)
-Unknown_c8c1b: ; c8c1b
+.Pals
db $e4, $f8, $fc, $f8, $fe
; c8c20
-Functionc8c20: ; c8c20 (32:4c20)
- ld de, Unknown_c8c27
- call Functionc8d77
+BattleBGEffect_1a: ; c8c20 (32:4c20)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
ret
-; c8c27 (32:4c27)
-Unknown_c8c27: ; c8c27
+.Pals
db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe
; c8c30
-Functionc8c30: ; c8c30 (32:4c30)
- ld de, Unknown_c8c37
- call Functionc8d77
+BattleBGEffect_1b: ; c8c30 (32:4c30)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
ret
-; c8c37 (32:4c37)
-Unknown_c8c37:
+.Pals
db $e4, $fc, $e4, $00, $fe
; c8c3c
-Functionc8c3c: ; c8c3c (32:4c3c)
- ld de, Unknown_c8c43
- call Functionc8d77
+BattleBGEffect_1d: ; c8c3c (32:4c3c)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
ret
-; c8c43 (32:4c43)
-Unknown_c8c43:
+.Pals
db $e4, $90, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $90, $e4, $ff
; c8c55
-Functionc8c55: ; c8c55 (32:4c55)
- ld de, Unknown_c8c5c
- call Functionc8d77
+BattleBGEffect_1e: ; c8c55 (32:4c55)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
ret
-; c8c5c (32:4c5c)
-Unknown_c8c5c:
+.Pals
db $00, $40, $90, $e4, $ff
; c8c61
-Functionc8c61: ; c8c61 (32:4c61)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_VibrateMon: ; c8c61 (32:4c61)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
-Jumptable_c8c64: ; c8c64 (32:4c64)
- dw Functionc8c68
- dw Functionc8c85
-
-Functionc8c68: ; c8c68 (32:4c68)
- call Functionc80e5
- call Functionc8eca
+.zero: ; c8c68 (32:4c68)
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
- ld hl, $2
+ ld [hFFC8], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hl], $1
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $20
ret
-Functionc8c85: ; c8c85 (32:4c85)
- ld hl, $3
+.one: ; c8c85 (32:4c85)
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
and a
- jr z, .asm_c8c9e
+ jr z, .finish
dec [hl]
and $1
ret nz
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
xor $ff
@@ -2249,43 +2251,43 @@
ld [hl], a
call Functionc900b
ret
-.asm_c8c9e
- call Functionc8f0a
+
+.finish
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc8ca2: ; c8ca2 (32:4ca2)
- call Functionc80d7 ; ; ; call does not return
+BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
-Jumptable_c8ca5: ; c8ca5 (32:4ca5)
- dw Functionc8cab
- dw Functionc8cc3
- dw Functionc8cdd
-
-Functionc8cab: ; c8cab (32:4cab)
- call Functionc80e5
- call Functionc8eca
+.zero: ; c8cab (32:4cab)
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
ld a, $43
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
xor a
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, $37
- ld [hLCDStatCustom + 2], a
- ld hl, $3
+ ld [hFFC8], a
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
ret
-Functionc8cc3: ; c8cc3 (32:4cc3)
- ld hl, $3
+.one: ; c8cc3 (32:4cc3)
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
cp $40
- jr nc, Functionc8cdd
+ jr nc, .two
ld d, $6
- call Functionc905d
+ call BattleBGEffects_Sine
call Functionc900b
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
add $2
@@ -2292,18 +2294,18 @@
ld [hl], a
ret
-Functionc8cdd: ; c8cdd (32:4cdd)
- call Functionc8f0a
+.two: ; c8cdd (32:4cdd)
+ call BattleAnim_ResetLCDStatCustom
ret
-Functionc8ce1: ; c8ce1 (32:4ce1)
+BattleBGEffect_2e: ; c8ce1 (32:4ce1)
call Functionc8d0b
- jr c, .asm_c8cea
+ jr c, .xor_a
bit 7, a
- jr z, .asm_c8ceb
-.asm_c8cea
+ jr z, .okay
+.xor_a
xor a
-.asm_c8ceb
+.okay
push af
call DelayFrame
pop af
@@ -2310,53 +2312,55 @@
ld [hSCY], a
xor $ff
inc a
- ld [OTPartyMon3SpclAtk], a
+ ld [AnimObject01_YOffset], a
ret
-Functionc8cf9: ; c8cf9 (32:4cf9)
+BattleBGEffect_1f: ; c8cf9 (32:4cf9)
call Functionc8d0b
- jr nc, .asm_c8cff
+ jr nc, .skip
xor a
-.asm_c8cff
+.skip
ld [hSCX], a
ret
-Functionc8d02: ; c8d02 (32:4d02)
+BattleBGEffect_20: ; c8d02 (32:4d02)
call Functionc8d0b
- jr nc, .asm_c8d08
+ jr nc, .skip
xor a
-.asm_c8d08
+.skip
ld [hSCY], a
ret
Functionc8d0b: ; c8d0b (32:4d0b)
- ld hl, $1
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
ld a, [hl]
and a
- jr nz, .asm_c8d18
+ jr nz, .okay
call EndBattleBGEffect
scf
ret
-.asm_c8d18
+
+.okay
dec [hl]
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
and $f
- jr z, .asm_c8d2a
+ jr z, .every_16_frames
dec [hl]
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
and a
ret
-.asm_c8d2a
+
+.every_16_frames
ld a, [hl]
swap a
or [hl]
ld [hl], a
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
xor $ff
@@ -2365,203 +2369,210 @@
and a
ret
-Functionc8d3a: ; c8d3a (32:4d3a)
- ld hl, $3
+BattleBGEffect_35: ; c8d3a (32:4d3a)
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
cp $40
- jr nc, .asm_c8d53
+ jr nc, .finish
ld d, $6
- call Functionc905d
+ call BattleBGEffects_Sine
ld [hSCX], a
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
add $2
ld [hl], a
ret
-.asm_c8d53
+
+.finish
xor a
ld [hSCX], a
ret
-Functionc8d57: ; c8d57 (32:4d57)
- ld hl, $1
+BattleBGEffect_GetNthDMGPal: ; c8d57 (32:4d57)
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
ld a, [hl]
and a
- jr z, .asm_c8d69
-
+ jr z, .zero
dec [hl]
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
- call Functionc8eb2
+ call BattleBGEffect_GetNextDMGPal
ret
-.asm_c8d69
- ld hl, $2
+.zero
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
- ld hl, $1
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
ld [hl], a
- call Functionc8eac
+ call BattleBGEffect_GetFirstDMGPal
ret
-Functionc8d77: ; c8d77 (32:4d77)
+BGEffect_RapidCyclePals: ; c8d77 (32:4d77)
ld a, [hCGB]
and a
- jr nz, asm_c8dd4
+ jr nz, .cgb
push de
- ld de, Jumptable_c8d85
- call Functionc80ca
+ ld de, .Jumptable_DMG
+ call BatttleBGEffects_GetNamedJumptablePointer
pop de
jp [hl]
-Jumptable_c8d85: ; c8d85 (32:4d85)
- dw Functionc8d8b
- dw Functionc8daa
- dw Functionc8dc9
+.Jumptable_DMG
+ dw .zero_dmg
+ dw .one_dmg
+ dw .two_dmg
-Functionc8d8b: ; c8d8b (32:4d8b)
- call Functionc80e5
+.zero_dmg: ; c8d8b (32:4d8b)
+ call BattleBGEffects_IncrementJumptable
ld a, $e4
- call Functionc8ecb
+ call BattleBGEffects_SetLYOverrides
ld a, $47
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
- ld hl, $3
+ ld [hFFC8], a
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
ld [hl], $0
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hl], a
ret
-Functionc8daa: ; c8daa (32:4daa)
- ld hl, $2
+.one_dmg: ; c8daa (32:4daa)
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
and $f
- jr z, .asm_c8db5
+ jr z, .okay_1_dmg
dec [hl]
ret
-.asm_c8db5
+
+.okay_1_dmg
ld a, [hl]
swap a
or [hl]
ld [hl], a
- call Functionc8eac
- jr c, .asm_c8dc3
+ call BattleBGEffect_GetFirstDMGPal
+ jr c, .okay_2_dmg
call Functionc900b
ret
-.asm_c8dc3
- ld hl, $3
+
+.okay_2_dmg
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
dec [hl]
ret
-Functionc8dc9: ; c8dc9 (32:4dc9)
- call Functionc8f19
- ld a, $e4
+.two_dmg: ; c8dc9 (32:4dc9)
+ call BattleBGEffects_ResetVideoHRAM
+ ld a, %11100100
ld [rBGP], a
call EndBattleBGEffect
ret
-asm_c8dd4: ; c8dd4 (32:4dd4)
+
+.cgb
push de
- ld de, Jumptable_c8ddd
- call Functionc80ca
+ ld de, .Jumptable_CGB
+ call BatttleBGEffects_GetNamedJumptablePointer
pop de
jp [hl]
-Jumptable_c8ddd: ; c8ddd (32:4ddd)
- dw Functionc8de7
- dw Functionc8e02
- dw Functionc8e21
- dw Functionc8e2a
- dw Functionc8e49
+.Jumptable_CGB: ; c8ddd (32:4ddd)
+ dw .zero_cgb
+ dw .one_cgb
+ dw .two_cgb
+ dw .three_cgb
+ dw .four_cgb
-Functionc8de7: ; c8de7 (32:4de7)
- call Functionc9038
- jr nz, .asm_c8df2
- call Functionc80e5
- call Functionc80e5
-.asm_c8df2
- call Functionc80e5
- ld hl, $3
+.zero_cgb: ; c8de7 (32:4de7)
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn_cgb
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_IncrementJumptable
+.player_turn_cgb
+ call BattleBGEffects_IncrementJumptable
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
ld [hl], $0
- ld hl, $2
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hl], a
ret
-Functionc8e02: ; c8e02 (32:4e02)
- ld hl, $2
+.one_cgb: ; c8e02 (32:4e02)
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
and $f
- jr z, .asm_c8e0d
+ jr z, .okay_1_cgb
dec [hl]
ret
-.asm_c8e0d
+
+.okay_1_cgb
ld a, [hl]
swap a
or [hl]
ld [hl], a
- call Functionc8eac
- jr c, .asm_c8e1b
- call Functionc8e52
+ call BattleBGEffect_GetFirstDMGPal
+ jr c, .okay_2_cgb
+ call BGEffects_LoadBGPal0_OBPal1
ret
-.asm_c8e1b
- ld hl, $3
+
+.okay_2_cgb
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
dec [hl]
ret
-Functionc8e21: ; c8e21 (32:4e21)
+.two_cgb: ; c8e21 (32:4e21)
ld a, $e4
- call Functionc8e52
+ call BGEffects_LoadBGPal0_OBPal1
call EndBattleBGEffect
ret
-Functionc8e2a: ; c8e2a (32:4e2a)
- ld hl, $2
+.three_cgb: ; c8e2a (32:4e2a)
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hl]
and $f
- jr z, .asm_c8e35
+ jr z, .okay_3_cgb
dec [hl]
ret
-.asm_c8e35
+
+.okay_3_cgb
ld a, [hl]
swap a
or [hl]
ld [hl], a
- call Functionc8eac
- jr c, .asm_c8e43
- call Functionc8e7f
+ call BattleBGEffect_GetFirstDMGPal
+ jr c, .okay_4_cgb
+ call BGEffects_LoadBGPal1_OBPal0
ret
-.asm_c8e43
- ld hl, $3
+
+.okay_4_cgb
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
dec [hl]
ret
-Functionc8e49: ; c8e49 (32:4e49)
+.four_cgb: ; c8e49 (32:4e49)
ld a, $e4
- call Functionc8e7f
+ call BGEffects_LoadBGPal1_OBPal0
call EndBattleBGEffect
ret
-Functionc8e52: ; c8e52 (32:4e52)
+BGEffects_LoadBGPal0_OBPal1: ; c8e52 (32:4e52)
ld h, a
ld a, [rSVBK]
push af
@@ -2588,7 +2599,7 @@
ld [hCGBPalUpdate], a
ret
-Functionc8e7f: ; c8e7f (32:4e7f)
+BGEffects_LoadBGPal1_OBPal0: ; c8e7f (32:4e7f)
ld h, a
ld a, [rSVBK]
push af
@@ -2615,247 +2626,249 @@
ld [hCGBPalUpdate], a
ret
-Functionc8eac: ; c8eac (32:4eac)
- ld hl, $3
+BattleBGEffect_GetFirstDMGPal: ; c8eac (32:4eac)
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
inc [hl]
-
-Functionc8eb2: ; c8eb2 (32:4eb2)
+BattleBGEffect_GetNextDMGPal: ; c8eb2 (32:4eb2)
ld l, a
ld h, $0
add hl, de
ld a, [hl]
- cp $ff
- jr z, .asm_c8ec8
- cp $fe
- jr nz, .asm_c8ec6
+ cp -1
+ jr z, .quit
+ cp -2
+ jr nz, .repeat
ld a, [de]
- ld hl, $3
+ ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
-.asm_c8ec6
+.repeat
and a
ret
-.asm_c8ec8
+
+.quit
scf
ret
-Functionc8eca: ; c8eca (32:4eca)
+BattleBGEffects_ClearLYOverrides: ; c8eca (32:4eca)
xor a
-
-Functionc8ecb: ; c8ecb (32:4ecb)
+BattleBGEffects_SetLYOverrides: ; c8ecb (32:4ecb)
ld hl, LYOverrides ; wd100
ld e, $99
-.asm_c8ed0
+.loop1
ld [hli], a
dec e
- jr nz, .asm_c8ed0
+ jr nz, .loop1
ld hl, LYOverridesBackup
ld e, $91
-.asm_c8ed9
+.loop2
ld [hli], a
dec e
- jr nz, .asm_c8ed9
+ jr nz, .loop2
ret
-Functionc8ede: ; c8ede (32:4ede)
- ld [hLCDStatCustom], a
- call Functionc9038
- jr nz, .asm_c8eea
- ld de, $36
- jr .asm_c8eed
-.asm_c8eea
- ld de, $2f5e
-.asm_c8eed
+BattleBGEffect_SetLCDStatCustoms1: ; c8ede (32:4ede)
+ ld [hFFC6], a
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn
+ lb de, $00, $36
+ jr .okay
+
+.player_turn
+ lb de, $2f, $5e
+.okay
ld a, d
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, e
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ret
-Functionc8ef4: ; c8ef4 (32:4ef4)
- ld [hLCDStatCustom], a
- call Functionc9038
- jr nz, .asm_c8f00
- ld de, $36
- jr .asm_c8f03
-.asm_c8f00
- ld de, $2d5e
-.asm_c8f03
+BattleBGEffect_SetLCDStatCustoms2: ; c8ef4 (32:4ef4)
+ ld [hFFC6], a
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn
+ lb de, $00, $36
+ jr .okay
+
+.player_turn
+ lb de, $2d, $5e
+.okay
ld a, d
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, e
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ret
-Functionc8f0a: ; c8f0a (32:4f0a)
+BattleAnim_ResetLCDStatCustom: ; c8f0a (32:4f0a)
xor a
- ld [hLCDStatCustom + 1], a
- ld [hLCDStatCustom + 2], a
- call Functionc8eca
+ ld [hFFC7], a
+ ld [hFFC8], a
+ call BattleBGEffects_ClearLYOverrides
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
call EndBattleBGEffect
ret
-Functionc8f19: ; c8f19 (32:4f19)
+BattleBGEffects_ResetVideoHRAM: ; c8f19 (32:4f19)
xor a
- ld [hLCDStatCustom], a
- ld a, $e4
+ ld [hFFC6], a
+ ld a, %11100100
ld [rBGP], a
- ld [wcfc7], a
- ld [wcfc9], a
- ld [hLCDStatCustom + 1], a
- ld [hLCDStatCustom + 2], a
- call Functionc8eca
+ ld [wBGP], a
+ ld [wOBP1], a
+ ld [hFFC7], a
+ ld [hFFC8], a
+ call BattleBGEffects_ClearLYOverrides
ret
Functionc8f2e: ; c8f2e (32:4f2e)
push bc
xor a
- ld [BattleAnimTemps], a
+ ld [wBattleAnimTemp0], a
ld a, e
- ld [BattleAnimTemps + 1], a
+ ld [wBattleAnimTemp1], a
ld a, d
- ld [BattleAnimTemps + 2], a
+ ld [wBattleAnimTemp2], a
ld a, $80
- ld [BattleAnimTemps + 3], a
+ ld [wBattleAnimTemp3], a
ld bc, LYOverridesBackup
-.asm_c8f43
- ld a, [hLCDStatCustom + 1]
+.loop
+ ld a, [hFFC7]
cp c
- jr nc, .asm_c8f58
- ld a, [hLCDStatCustom + 2]
+ jr nc, .next
+ ld a, [hFFC8]
cp c
- jr c, .asm_c8f58
- ld a, [BattleAnimTemps + 2]
+ jr c, .next
+ ld a, [wBattleAnimTemp2]
ld d, a
- ld a, [BattleAnimTemps]
- call Functionc905d
+ ld a, [wBattleAnimTemp0]
+ call BattleBGEffects_Sine
ld [bc], a
-.asm_c8f58
+.next
inc bc
- ld a, [BattleAnimTemps + 1]
- ld hl, BattleAnimTemps
+ ld a, [wBattleAnimTemp1]
+ ld hl, wBattleAnimTemp0
add [hl]
ld [hl], a
- ld hl, BattleAnimTemps + 3
+ ld hl, wBattleAnimTemp3
dec [hl]
- jr nz, .asm_c8f43
+ jr nz, .loop
pop bc
ret
-Functionc8f69: ; c8f69 (32:4f69)
+InitSurfWaves: ; c8f69 (32:4f69)
push bc
xor a
- ld [BattleAnimTemps], a
+ ld [wBattleAnimTemp0], a
ld a, e
- ld [BattleAnimTemps + 1], a
+ ld [wBattleAnimTemp1], a
ld a, d
- ld [BattleAnimTemps + 2], a
+ ld [wBattleAnimTemp2], a
ld a, $40
- ld [BattleAnimTemps + 3], a
- ld bc, w5_d422
-.asm_c8f7e
- ld a, [BattleAnimTemps + 2]
+ ld [wBattleAnimTemp3], a
+ ld bc, wSurfWaveBGEffect
+.loop
+ ld a, [wBattleAnimTemp2]
ld d, a
- ld a, [BattleAnimTemps]
- call Functionc905d
+ ld a, [wBattleAnimTemp0]
+ call BattleBGEffects_Sine
ld [bc], a
inc bc
- ld a, [BattleAnimTemps + 1]
- ld hl, BattleAnimTemps
+ ld a, [wBattleAnimTemp1]
+ ld hl, wBattleAnimTemp0
add [hl]
ld [hl], a
- ld hl, BattleAnimTemps + 3
+ ld hl, wBattleAnimTemp3
dec [hl]
- jr nz, .asm_c8f7e
+ jr nz, .loop
pop bc
ret
Functionc8f9a: ; c8f9a (32:4f9a)
push bc
- ld [BattleAnimTemps + 3], a
+ ld [wBattleAnimTemp3], a
ld a, e
- ld [BattleAnimTemps + 1], a
+ ld [wBattleAnimTemp1], a
ld a, d
- ld [BattleAnimTemps + 2], a
- call Functionc8fe4
+ ld [wBattleAnimTemp2], a
+ call .GetLYOverrideBackupAddrOffset
ld hl, LYOverridesBackup
add hl, de
ld c, l
ld b, h
-.asm_c8faf
- ld a, [BattleAnimTemps + 3]
+.loop
+ ld a, [wBattleAnimTemp3]
and a
- jr z, .asm_c8fe1
+ jr z, .done
dec a
- ld [BattleAnimTemps + 3], a
+ ld [wBattleAnimTemp3], a
push af
- ld a, [BattleAnimTemps + 2]
+ ld a, [wBattleAnimTemp2]
ld d, a
- ld a, [BattleAnimTemps + 1]
+ ld a, [wBattleAnimTemp1]
push hl
- call Functionc905d
+ call BattleBGEffects_Sine
ld e, a
pop hl
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
cp c
- jr c, .asm_c8fcf
+ jr c, .skip1
ld a, e
ld [bc], a
inc bc
-.asm_c8fcf
- ld a, [hLCDStatCustom + 1]
+.skip1
+ ld a, [hFFC7]
cp l
- jr nc, .asm_c8fd6
+ jr nc, .skip2
ld [hl], e
dec hl
-.asm_c8fd6
- ld a, [BattleAnimTemps + 1]
+.skip2
+ ld a, [wBattleAnimTemp1]
add $4
- ld [BattleAnimTemps + 1], a
+ ld [wBattleAnimTemp1], a
pop af
- jr .asm_c8faf
-.asm_c8fe1
+ jr .loop
+
+.done
pop bc
and a
ret
-Functionc8fe4: ; c8fe4 (32:4fe4)
- ld a, [hLCDStatCustom + 1]
+.GetLYOverrideBackupAddrOffset
+ ld a, [hFFC7]
ld e, a
- ld a, [BattleAnimTemps]
+ ld a, [wBattleAnimTemp0]
add e
ld e, a
ld d, $0
ret
-Functionc8fef: ; c8fef (32:4fef)
+BattleBGEffect_WavyScreenFX: ; c8fef (32:4fef)
push bc
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
ld l, a
inc a
ld e, a
ld h, $d2
ld d, h
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
sub l
and a
- jr z, .asm_c9009
+ jr z, .done
ld c, a
ld a, [hl]
push af
-.asm_c9001
+.loop
ld a, [de]
inc de
ld [hli], a
dec c
- jr nz, .asm_c9001
+ jr nz, .loop
pop af
ld [hl], a
-.asm_c9009
+.done
pop bc
ret
@@ -2862,9 +2875,9 @@
Functionc900b: ; c900b (32:500b)
push af
ld h, $d2
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
ld l, a
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
sub l
ld d, a
pop af
@@ -2877,14 +2890,14 @@
Functionc901b: ; c901b (32:501b)
push af
ld e, a
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
ld l, a
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
sub l
sub e
ld d, a
ld h, $d2
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
ld l, a
ld a, $90
.asm_c902c
@@ -2899,8 +2912,8 @@
jr nz, .asm_c9033
ret
-Functionc9038: ; c9038 (32:5038)
- ld hl, $2
+BGEffect_CheckBattleTurn: ; c9038 (32:5038)
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hBattleTurn]
and $1
@@ -2907,35 +2920,37 @@
xor [hl]
ret
-Functionc9042: ; c9042 (32:5042)
- ld hl, $2
+BGEffect_CheckFlyDigStatus: ; c9042 (32:5042)
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld a, [hBattleTurn]
and $1
xor [hl]
- jr nz, .asm_c9053
+ jr nz, .player
ld a, [EnemySubStatus3] ; EnemySubStatus3
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
ret
-.asm_c9053
+
+.player
ld a, [PlayerSubStatus3] ; PlayerSubStatus3
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
ret
-Functionc9059: ; c9059 (32:5059)
+BattleBGEffects_CheckSGB: ; c9059 (32:5059)
ld a, [hSGB]
and a
ret
-Functionc905d: ; c905d (32:505d)
+BattleBGEffects_Sine: ; c905d (32:505d)
ld e, a
- callab Functionce765
+ callab BattleAnim_Sine_e
ld a, e
ret
-Functionc9066: ; c9066 (32:5066)
+BattleBGEffects_Cosine: ; c9066 (32:5066)
ld e, a
- callab Functionce76b
+ callab BattleAnim_Cosine_e
ld a, e
ret
+
; c906f (32:506f)
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -1,9 +1,6 @@
-BattleCore:
-
; Core components of the battle engine.
-
-
-SendOutFirstMons: ; 3c000
+BattleCore:
+DoBattle: ; 3c000
xor a
ld [wBattleParticipantsNotFainted], a
ld [wc6fc], a
@@ -83,8 +80,8 @@
ld [CurPartySpecies], a
ld [TempBattleMonSpecies], a
hlcoord 1, 5
- ld a, $9
- call Function3d490
+ ld a, 9
+ call SlideBattlePicOut
call LoadTileMapToTempTileMap
call ResetBattleParticipants
call InitBattleMon
@@ -113,7 +110,7 @@
call SpikesDamage
.not_linked_2
- jp Function3c12f
+ jp BattleTurn
.tutorial_debug
jp BattleMenu
@@ -130,7 +127,7 @@
ld a, [wLinkMode]
and a
ld hl, BattleText_WildFled
- jr z, .asm_3c115
+ jr z, .print_text
ld a, [wBattleResult]
and $c0
@@ -137,26 +134,26 @@
ld [wBattleResult], a
ld hl, BattleText_EnemyFled
call CheckMobileBattleError
- jr nc, .asm_3c115
+ jr nc, .print_text
ld hl, wcd2a
bit 4, [hl]
- jr nz, .asm_3c118
+ jr nz, .skip_text
ld hl, BattleText_LinkErrorBattleCanceled
-.asm_3c115
+.print_text
call StdBattleTextBox
-.asm_3c118
+.skip_text
call StopDangerSound
call CheckMobileBattleError
- jr c, .asm_3c126
+ jr c, .skip_sfx
ld de, SFX_RUN
call PlaySFX
-.asm_3c126
+.skip_sfx
call SetPlayerTurn
ld a, 1
ld [BattleEnded], a
@@ -164,7 +161,7 @@
; 3c12f
-Function3c12f: ; 3c12f
+BattleTurn: ; 3c12f
.loop
call MobileFn_3c1bf
call CheckContestBattleOver
@@ -424,7 +421,7 @@
bit SUBSTATUS_CONFUSED, a
ret nz
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld de, ANIM_CONFUSED
call Call_PlayBattleAnim_OnlyIfVisible
call SwitchTurnCore
@@ -1101,7 +1098,7 @@
pop de
xor a
- ld [wcfca], a
+ ld [wNumHits], a
call Call_PlayBattleAnim_OnlyIfVisible
call GetEighthMaxHP
ld de, PlayerToxicCount
@@ -1141,7 +1138,7 @@
call SwitchTurnCore
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld de, ANIM_SAP
ld a, BATTLE_VARS_SUBSTATUS3_OPP
call GetBattleVar
@@ -1166,7 +1163,7 @@
bit SUBSTATUS_NIGHTMARE, [hl]
jr z, .not_nightmare
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld de, ANIM_IN_NIGHTMARE
call Call_PlayBattleAnim_OnlyIfVisible
call GetQuarterMaxHP
@@ -1184,7 +1181,7 @@
jr z, .not_cursed
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld de, ANIM_IN_NIGHTMARE
call Call_PlayBattleAnim_OnlyIfVisible
call GetQuarterMaxHP
@@ -1328,7 +1325,7 @@
call SwitchTurnCore
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld [FXAnimIDHi], a
predef PlayBattleAnim
call SwitchTurnCore
@@ -1433,8 +1430,8 @@
ld a, [hBattleTurn]
and a
jr z, .wild
- ld de, wc739
- ld hl, wc735
+ ld de, wWildMonPP
+ ld hl, wWildMonMoves
ld a, [wBattleMode]
dec a
jr z, .wild
@@ -1830,7 +1827,7 @@
call SwitchTurnCore
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld de, ANIM_IN_SANDSTORM
call Call_PlayBattleAnim
call SwitchTurnCore
@@ -1852,9 +1849,8 @@
dec a
ld c, a
ld b, 0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1892,26 +1888,26 @@
.ok
inc hl
ld a, [hl]
- ld [wd1ec], a
+ ld [Buffer3], a
sub c
ld [hld], a
- ld [wd1ee], a
+ ld [Buffer5], a
ld a, [hl]
- ld [wd1ed], a
+ ld [Buffer4], a
sbc b
ld [hl], a
- ld [wd1ef], a
+ ld [Buffer6], a
ret nc
- ld a, [wd1ec]
+ ld a, [Buffer3]
ld c, a
- ld a, [wd1ed]
+ ld a, [Buffer4]
ld b, a
xor a
ld [hli], a
ld [hl], a
- ld [wd1ee], a
- ld [wd1ef], a
+ ld [Buffer5], a
+ ld [Buffer6], a
ret
; 3cc76
@@ -2101,7 +2097,7 @@
xor a
.ok
push bc
- ld [wd10a], a
+ ld [wWhichHPBar], a
predef AnimateHPBar
pop bc
ret
@@ -2415,7 +2411,7 @@
ld e, HP_BAR_LENGTH_PX
call UpdateHPPal
call WaitBGMap
- callba Function2c012
+ callba EnemySwitch_TrainerHud
ld a, [wLinkMode]
and a
jr z, .not_linked
@@ -2489,8 +2485,8 @@
bit 0, a
jr nz, .battle_tower
- call Function3ebd8
- ld c, $28
+ call BattleWinSlideInEnemyTrainerFrontpic
+ ld c, 40
call DelayFrames
ld a, [BattleType]
cp BATTLETYPE_CANLOSE
@@ -2497,7 +2493,7 @@
jr nz, .skip_heal
predef HealParty
.skip_heal
- ld a, [wc2cc]
+ ld a, [wMonStatusFlags]
bit 0, a
jr nz, .skip_win_loss_text
call PrintWinLossText
@@ -2506,7 +2502,7 @@
jp Function3d02b
.mobile
- call Function3ebd8
+ call BattleWinSlideInEnemyTrainerFrontpic
ld c, 40
call DelayFrames
ld c, $4
@@ -2514,7 +2510,7 @@
ret
.battle_tower
- call Function3ebd8
+ call BattleWinSlideInEnemyTrainerFrontpic
ld c, 40
call DelayFrames
call EmptyBattleTextBox
@@ -2578,9 +2574,8 @@
dec a
ld c, a
ld b, 0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2618,9 +2613,8 @@
rl [hl]
ret nc
ld a, $ff
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
ret
; 3d0ab
@@ -2874,13 +2868,13 @@
.loop
lb bc, 1, 7
call PlaceYesNoBox
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
jr c, .pressed_b
and a
ret
.pressed_b
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1 ; YES
jr z, .loop
ld hl, PartyMon1Speed
@@ -2891,7 +2885,7 @@
ForcePlayerMonChoice: ; 3d227
call EmptyBattleTextBox
call LoadStandardMenuDataHeader
- call Function3d2f7
+ call SetUpBattlePartyMenu_NoLoop
call ForcePickPartyMonInBattle
ld a, [wLinkMode]
and a
@@ -2935,7 +2929,7 @@
call ClearPalettes
call DelayFrame
call _LoadHPBar
- call WriteBackup
+ call CloseWindow
call GetMemSGBLayout
call SetPalettes
call SendOutPkmnText
@@ -2995,12 +2989,12 @@
ret
; 3d2f7
-Function3d2f7: ; 3d2f7
+SetUpBattlePartyMenu_NoLoop: ; 3d2f7
call ClearBGPalettes
-Function3d2fa: ; switch to fullscreen menu?
+SetUpBattlePartyMenu: ; switch to fullscreen menu?
callba LoadPartyMenuGFX
callba InitPartyMenuWithCancel
- callba Function8e85
+ callba InitPartyMenuBGPal7
callba InitPartyMenuGFX
ret
; 3d313
@@ -3111,12 +3105,12 @@
hlcoord 0, 0
lb bc, 8, 21
call ClearBox
- call Function3ebd8
+ call BattleWinSlideInEnemyTrainerFrontpic
ld c, 40
call DelayFrames
- ld a, [wc2cc]
+ ld a, [wMonStatusFlags]
bit 0, a
jr nz, .skip_win_loss_text
call PrintWinLossText
@@ -3128,7 +3122,7 @@
hlcoord 0, 0
lb bc, 8, 21
call ClearBox
- call Function3ebd8
+ call BattleWinSlideInEnemyTrainerFrontpic
ld c, 40
call DelayFrames
@@ -3147,7 +3141,7 @@
jr nz, .LostLinkBattle
; Greyscale
- ld b, SCGB_00
+ ld b, SCGB_BATTLE_GRAYSCALE
call GetSGBLayout
call SetPalettes
jr .end
@@ -3180,7 +3174,7 @@
hlcoord 0, 0
lb bc, 8, 21
call ClearBox
- call Function3ebd8
+ call BattleWinSlideInEnemyTrainerFrontpic
ld c, 40
call DelayFrames
@@ -3260,31 +3254,31 @@
; 3d490
-Function3d490: ; 3d490
+SlideBattlePicOut: ; 3d490
ld [hMapObjectIndexBuffer], a
ld c, a
-.asm_3d493
+.loop
push bc
push hl
ld b, $7
-.asm_3d497
+.loop2
push hl
- call Function3d4ae
+ call .DoFrame
pop hl
ld de, SCREEN_WIDTH
add hl, de
dec b
- jr nz, .asm_3d497
+ jr nz, .loop2
ld c, 2
call DelayFrames
pop hl
pop bc
dec c
- jr nz, .asm_3d493
+ jr nz, .loop
ret
; 3d4ae
-Function3d4ae: ; 3d4ae
+.DoFrame: ; 3d4ae
ld a, [hMapObjectIndexBuffer]
ld c, a
cp $8
@@ -3413,8 +3407,8 @@
xor a
ld [wPlayerWrapCount], a
hlcoord 18, 0
- ld a, $8
- call Function3d490
+ ld a, 8
+ call SlideBattlePicOut
call EmptyBattleTextBox
jp LoadStandardMenuDataHeader
; 3d57a
@@ -3646,13 +3640,13 @@
ld a, [CurPartySpecies]
cp UNOWN
jr nz, .skip_unown
- ld a, [wdef4]
+ ld a, [wFirstUnownSeen]
and a
jr nz, .skip_unown
ld hl, EnemyMonDVs
predef GetUnownLetter
ld a, [UnownLetter]
- ld [wdef4], a
+ ld [wFirstUnownSeen], a
.skip_unown
ld hl, EnemyMonHP
@@ -3701,10 +3695,10 @@
call StdBattleTextBox
lb bc, 1, 7
call PlaceYesNoBox
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
jr nz, .said_no
- call Function3d2f7
+ call SetUpBattlePartyMenu_NoLoop
call PickSwitchMonInBattle
jr c, .canceled_switch
ld a, [CurBattleMon]
@@ -3764,8 +3758,8 @@
call GetMonFrontpic
xor a
- ld [wcfca], a
- ld [wKickCounter], a
+ ld [wNumHits], a
+ ld [wBattleAnimParam], a
call SetEnemyTurn
ld de, ANIM_SEND_OUT_MON
call Call_PlayBattleAnim
@@ -3773,7 +3767,7 @@
call BattleCheckEnemyShininess
jr nc, .not_shiny
ld a, 1 ; shiny anim
- ld [wKickCounter], a
+ ld [wBattleAnimParam], a
ld de, ANIM_SEND_OUT_MON
call Call_PlayBattleAnim
.not_shiny
@@ -4270,14 +4264,14 @@
ld [wEnemyWrapCount], a
call SetPlayerTurn
xor a
- ld [wcfca], a
- ld [wKickCounter], a
+ ld [wNumHits], a
+ ld [wBattleAnimParam], a
ld de, ANIM_SEND_OUT_MON
call Call_PlayBattleAnim
call BattleCheckPlayerShininess
jr nc, .not_shiny
- ld a, $1
- ld [wKickCounter], a
+ ld a, 1
+ ld [wBattleAnimParam], a
ld de, ANIM_SEND_OUT_MON
call Call_PlayBattleAnim
@@ -4463,7 +4457,7 @@
push af
xor a
ld [hBattleTurn], a
- ld [wcfca], a
+ ld [wNumHits], a
ld de, ANIM_RETURN_MON
call Call_PlayBattleAnim
pop af
@@ -4478,21 +4472,21 @@
call SetPlayerTurn
call HandleHPHealingItem
call UseHeldStatusHealingItem
- call HandleStatusHealingItem
+ call UseConfusionHealingItem
call SetEnemyTurn
call HandleHPHealingItem
call UseHeldStatusHealingItem
- jp HandleStatusHealingItem
+ jp UseConfusionHealingItem
.player_1
call SetEnemyTurn
call HandleHPHealingItem
call UseHeldStatusHealingItem
- call HandleStatusHealingItem
+ call UseConfusionHealingItem
call SetPlayerTurn
call HandleHPHealingItem
call UseHeldStatusHealingItem
- jp HandleStatusHealingItem
+ jp UseConfusionHealingItem
; 3dd2f
HandleHPHealingItem: ; 3dd2f
@@ -4511,13 +4505,13 @@
.go
push bc
ld a, [de]
- ld [wd1ec], a
+ ld [Buffer3], a
add a
ld c, a
dec de
ld a, [de]
inc de
- ld [wd1ed], a
+ ld [Buffer4], a
adc a
ld b, a
ld a, b
@@ -4542,12 +4536,12 @@
ld [Buffer1], a
ld a, [de]
add c
- ld [wd1ee], a
+ ld [Buffer5], a
ld c, a
dec de
ld a, [de]
adc $0
- ld [wd1ef], a
+ ld [Buffer6], a
ld b, a
ld a, [hld]
cp c
@@ -4555,18 +4549,18 @@
sbc b
jr nc, .okay
ld a, [hli]
- ld [wd1ef], a
+ ld [Buffer6], a
ld a, [hl]
- ld [wd1ee], a
+ ld [Buffer5], a
.okay
- ld a, [wd1ef]
+ ld a, [Buffer6]
ld [de], a
inc de
- ld a, [wd1ee]
+ ld a, [Buffer5]
ld [de], a
ld a, [hBattleTurn]
- ld [wd10a], a
+ ld [wWhichHPBar], a
and a
hlcoord 2, 2
jr z, .got_hp_bar_coords
@@ -4573,7 +4567,7 @@
hlcoord 10, 9
.got_hp_bar_coords
- ld [wd10a], a
+ ld [wWhichHPBar], a
predef AnimateHPBar
UseOpponentItem:
call RefreshBattleHuds
@@ -4596,7 +4590,7 @@
ld [FXAnimIDLo], a
call SwitchTurnCore
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld [FXAnimIDHi], a
predef PlayBattleAnim
call SwitchTurnCore
@@ -4672,7 +4666,7 @@
; 3de51
-HandleStatusHealingItem: ; 3de51
+UseConfusionHealingItem: ; 3de51
ld a, BATTLE_VARS_SUBSTATUS3_OPP
call GetBattleVar
bit SUBSTATUS_CONFUSED, a
@@ -4692,7 +4686,7 @@
res SUBSTATUS_CONFUSED, [hl]
call GetItemName
call ItemRecoveryAnim
- ld hl, BattleText_0x80dab
+ ld hl, BattleText_ItemHealedConfusion
call StdBattleTextBox
ld a, [hBattleTurn]
and a
@@ -4750,9 +4744,8 @@
ld a, [hli]
cp $ff
jr z, .finish
-rept 2
inc hl
-endr
+ inc hl
cp b
jr nz, .loop
pop bc
@@ -4759,9 +4752,8 @@
ld a, [bc]
ld [wd265], a
push bc
-rept 2
dec hl
-endr
+ dec hl
ld a, [hli]
ld h, [hl]
ld l, a
@@ -4856,7 +4848,7 @@
lb bc, 5, 11
call ClearBox
- callba DrawPlayerExpBar
+ callba DrawPlayerHUDBorder
hlcoord 18, 9
ld [hl], $73 ; vertical bar
@@ -4998,7 +4990,7 @@
lb bc, 4, 11
call ClearBox
- callba Function2c0c5
+ callba DrawEnemyHUDBorder
ld a, [TempEnemyMonSpecies]
ld [CurSpecies], a
@@ -5116,7 +5108,7 @@
.draw_bar
xor a
- ld [wd10a], a
+ ld [wWhichHPBar], a
hlcoord 2, 2
ld b, 0
call DrawBattleHPBar
@@ -5228,11 +5220,11 @@
BattleMenu_Pack: ; 3e1c7
ld a, [wLinkMode]
and a
- jp nz, ItemsCantBeUsed
+ jp nz, .ItemsCantBeUsed
ld a, [InBattleTowerBattle]
and a
- jp nz, ItemsCantBeUsed
+ jp nz, .ItemsCantBeUsed
call LoadStandardMenuDataHeader
@@ -5261,7 +5253,7 @@
call DoItemEffect
.got_item
- call Function3e234
+ call .UseItem
ret
.didnt_use_item
@@ -5277,23 +5269,23 @@
jp BattleMenu
; 3e22b
-ItemsCantBeUsed: ; 3e22b
+.ItemsCantBeUsed: ; 3e22b
ld hl, BattleText_ItemsCantBeUsedHere
call StdBattleTextBox
jp BattleMenu
; 3e234
-Function3e234: ; 3e234
- ld a, [wc64e]
+.UseItem: ; 3e234
+ ld a, [wWildMon]
and a
- jr nz, .asm_3e279
+ jr nz, .run
callab CheckItemPocket
ld a, [wItemAttributeParamBuffer]
- cp $3
- jr z, .asm_3e24a
+ cp BALL
+ jr z, .ball
call ClearBGPalettes
-.asm_3e24a
+.ball
xor a
ld [hBGMapMode], a
call _LoadBattleFontsHPBar
@@ -5300,29 +5292,29 @@
call ClearSprites
ld a, [BattleType]
cp BATTLETYPE_TUTORIAL
- jr z, .asm_3e25d
+ jr z, .tutorial2
call GetMonBackpic
-.asm_3e25d
+.tutorial2
call GetMonFrontpic
ld a, $1
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
call ExitMenu
call UpdateBattleHUDs
call WaitBGMap
call LoadTileMapToTempTileMap
- call ResetTextRelatedRAM
+ call ClearWindowData
call FinishBattleAnim
and a
ret
-.asm_3e279
+.run
xor a
- ld [wc64e], a
+ ld [wWildMon], a
ld a, [wBattleResult]
and $c0
ld [wBattleResult], a
- call ResetTextRelatedRAM
+ call ClearWindowData
call SetPalettes
scf
ret
@@ -5334,44 +5326,44 @@
call ExitMenu
call LoadStandardMenuDataHeader
call ClearBGPalettes
-Function3e299:
- call Function3d2fa
+BattleMenuPKMN_Loop:
+ call SetUpBattlePartyMenu
xor a
ld [PartyMenuActionText], a
call Function3d313
call Function3d329
- jr c, .asm_3e2da
-.asm_3e2a8
- callba Function8ea4a
- call Function3e2f5
- jr c, .asm_3e2c8
- call Function1bee
- ld a, [MenuSelection2]
- cp $1
- jp z, Function3e358
- cp $2
- jr z, .asm_3e2cf
- cp $3
- jr z, .asm_3e2da
- jr .asm_3e2a8
+ jr c, .Cancel
+.loop
+ callba FreezeMonIcons
+ call .GetMenu
+ jr c, .PressedB
+ call PlaceHollowCursor
+ ld a, [wMenuCursorY]
+ cp $1 ; SWITCH
+ jp z, TryPlayerSwitch
+ cp $2 ; STATS
+ jr z, .Stats
+ cp $3 ; CANCEL
+ jr z, .Cancel
+ jr .loop
-.asm_3e2c8
+.PressedB
call CheckMobileBattleError
- jr c, .asm_3e2da
- jr Function3e299
+ jr c, .Cancel
+ jr BattleMenuPKMN_Loop
-.asm_3e2cf
- call Function3e308
+.Stats
+ call Battle_StatsScreen
call CheckMobileBattleError
- jr c, .asm_3e2da
+ jr c, .Cancel
jp Function3e290
-.asm_3e2da
+.Cancel
call ClearSprites
call ClearPalettes
call DelayFrame
call _LoadHPBar
- call WriteBackup
+ call CloseWindow
call LoadTileMapToTempTileMap
call GetMemSGBLayout
call SetPalettes
@@ -5378,18 +5370,18 @@
jp BattleMenu
; 3e2f5
-Function3e2f5: ; 3e2f5
+.GetMenu: ; 3e2f5
call IsMobileBattle
- jr z, .asm_3e301
- callba Function24e99
+ jr z, .mobile
+ callba BattleMonMenu
ret
-.asm_3e301
- callba Function100d22
+.mobile
+ callba MobileBattleMonMenu
ret
; 3e308
-Function3e308: ; 3e308
+Battle_StatsScreen: ; 3e308
call DisableLCD
ld hl, VTiles2 tile $31
ld de, VTiles0
@@ -5397,7 +5389,7 @@
call CopyBytes
ld hl, VTiles2
ld de, VTiles0 tile $11
- ld bc, $0310
+ ld bc, $31 tiles
call CopyBytes
call EnableLCD
call ClearSprites
@@ -5404,16 +5396,16 @@
call LowVolume
xor a ; PARTYMON
ld [MonType], a
- callba Function4dc7b
+ callba BattleStatsScreenInit
call MaxVolume
call DisableLCD
ld hl, VTiles0
ld de, VTiles2 tile $31
- ld bc, $0110
+ ld bc, $11 tiles
call CopyBytes
ld hl, VTiles0 tile $11
ld de, VTiles2
- ld bc, $0310
+ ld bc, $31 tiles
call CopyBytes
call EnableLCD
ret
@@ -5420,32 +5412,32 @@
; 3e358
-Function3e358: ; 3e358
+TryPlayerSwitch: ; 3e358
ld a, [CurBattleMon]
ld d, a
ld a, [CurPartyMon]
cp d
- jr nz, .asm_3e36b
+ jr nz, .check_trapped
ld hl, BattleText_PkmnIsAlreadyOut
call StdBattleTextBox
- jp Function3e299
+ jp BattleMenuPKMN_Loop
-.asm_3e36b
+.check_trapped
ld a, [wPlayerWrapCount]
and a
- jr nz, .asm_3e378
+ jr nz, .trapped
ld a, [EnemySubStatus5]
bit SUBSTATUS_CANT_RUN, a
- jr z, .asm_3e381
+ jr z, .try_switch
-.asm_3e378
+.trapped
ld hl, BattleText_PkmnCantBeRecalled
call StdBattleTextBox
- jp Function3e299
+ jp BattleMenuPKMN_Loop
-.asm_3e381
+.try_switch
call CheckIfPartyHasPkmnToBattleWith
- jp z, Function3e299
+ jp z, BattleMenuPKMN_Loop
ld a, [CurBattleMon]
ld [LastPlayerMon], a
ld a, $2
@@ -5454,14 +5446,11 @@
call DelayFrame
call ClearSprites
call _LoadHPBar
- call WriteBackup
+ call CloseWindow
call GetMemSGBLayout
call SetPalettes
ld a, [CurPartyMon]
ld [CurBattleMon], a
- ; fallthrough
-; 3e3ad
-
PlayerSwitch: ; 3e3ad
ld a, 1
ld [wPlayerIsSwitching], a
@@ -5470,7 +5459,7 @@
jr z, .not_linked
call LoadStandardMenuDataHeader
call LinkBattleSendReceiveAction
- call WriteBackup
+ call CloseWindow
.not_linked
call ParseEnemyAction
@@ -5519,7 +5508,7 @@
; 3e40b
BattleMonEntrance: ; 3e40b
- call BattleMonNickComma_TextBox
+ call WithdrawPkmnText
ld c, 50
call DelayFrames
@@ -5551,7 +5540,7 @@
call SetPlayerTurn
call SpikesDamage
ld a, $2
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ret
; 3e459
@@ -5581,7 +5570,7 @@
BattleMenu_Run: ; 3e489
call Call_LoadTempTileMapToTileMap
ld a, $3
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld hl, BattleMonSpeed
ld de, EnemyMonSpeed
call TryToRunAwayFromBattle
@@ -5667,9 +5656,9 @@
ld a, 17 - NUM_MOVES - 4
.got_default_coord
- ld [wcfa1], a
+ ld [w2DMenuCursorInitY], a
ld a, b
- ld [wcfa2], a
+ ld [w2DMenuCursorInitX], a
ld a, [wMoveSelectionMenuType]
cp $1
jr z, .skip_inc
@@ -5677,14 +5666,14 @@
inc a
.skip_inc
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld a, $1
- ld [wcfaa], a
- ld a, [wd0eb]
+ ld [wMenuCursorX], a
+ ld a, [wNumMoves]
inc a
- ld [wcfa3], a
+ ld [w2DMenuNumRows], a
ld a, $1
- ld [wcfa4], a
+ ld [w2DMenuNumCols], a
ld c, $2c
ld a, [wMoveSelectionMenuType]
dec a
@@ -5700,13 +5689,13 @@
.okay
ld a, b
- ld [wcfa8], a
+ ld [wMenuJoypadFilter], a
ld a, c
- ld [wcfa5], a
+ ld [w2DMenuFlags1], a
xor a
- ld [wcfa6], a
+ ld [w2DMenuFlags2], a
ld a, $10
- ld [wcfa7], a
+ ld [w2DMenuCursorOffsets], a
.menu_loop
ld a, [wMoveSelectionMenuType]
and a
@@ -5732,7 +5721,7 @@
.interpret_joypad
ld a, $1
ld [hBGMapMode], a
- call Function1bd3
+ call ScrollingMenuJoypad
bit D_UP_F, a
jp nz, .pressed_up
bit D_DOWN_F, a
@@ -5744,9 +5733,9 @@
xor a
ld [wMoveSwapBuffer], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld b, a
ld a, [wMoveSelectionMenuType]
dec a
@@ -5769,7 +5758,7 @@
ret nz
ld hl, BattleMonPP
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld c, a
ld b, 0
add hl, bc
@@ -5785,7 +5774,7 @@
ld a, [wc6e1]
and a
jr nz, .skip2
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld hl, BattleMonMoves
ld c, a
ld b, 0
@@ -5815,26 +5804,25 @@
; 3e61d
.pressed_up
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
and a
jp nz, .menu_loop
- ld a, [wd0eb]
+ ld a, [wNumMoves]
inc a
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
jp .menu_loop
; 3e62e
.pressed_down ; 3e62e
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld b, a
- ld a, [wd0eb]
-rept 2
+ ld a, [wNumMoves]
inc a
-endr
+ inc a
cp b
jp nz, .menu_loop
ld a, $1
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
jp .menu_loop
; 3e643
@@ -5851,7 +5839,7 @@
swap a
and $f
ld b, a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp b
jr nz, .not_swapping_disabled_move
ld a, [hl]
@@ -5870,7 +5858,7 @@
ld a, [hl]
and $f
ld b, a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
swap a
add b
ld [hl], a
@@ -5905,7 +5893,7 @@
ld d, h
ld e, l
pop hl
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld c, a
ld b, 0
@@ -5918,7 +5906,7 @@
ret
.start_swap
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wMoveSwapBuffer], a
jp MoveSelectionScreen
; 3e6c8
@@ -5940,7 +5928,7 @@
swap a
and $f
ld b, a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp b
jr nz, .not_disabled
@@ -5950,11 +5938,11 @@
jr .done
.not_disabled
- ld hl, MenuSelection2
+ ld hl, wMenuCursorY
dec [hl]
call SetPlayerTurn
ld hl, BattleMonMoves
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld c, a
ld b, 0
add hl, bc
@@ -5967,7 +5955,7 @@
ld [MonType], a
callab GetMaxPPOfMove
- ld hl, MenuSelection2
+ ld hl, wMenuCursorY
ld c, [hl]
inc [hl]
ld b, 0
@@ -6014,9 +6002,8 @@
lb bc, 1, 2
call PrintNum
pop hl
-rept 2
inc hl
-endr
+ inc hl
ld [hl], "/"
inc hl
ld de, wNamedObjectIndexBuffer
@@ -6537,7 +6524,7 @@
ld [EnemyMonLevel], a
; Fill stats
ld de, EnemyMonMaxHP
- ld b, $00
+ ld b, FALSE
ld hl, LinkBattleRNs + 7 ; ?
predef CalcPkmnStats
@@ -6714,7 +6701,7 @@
ld bc, PKMN_NAME_LENGTH
call CopyBytes
-; Caught this mon
+; Saw this mon
ld a, [TempEnemyMonSpecies]
dec a
ld c, a
@@ -6824,9 +6811,8 @@
.next
; Make sure we haven't gone past the end of the table
-rept 2
inc e
-endr
+ inc e
ld a, e
cp a, .Set1 - .LetterSets
jr c, .loop
@@ -6874,7 +6860,7 @@
ret
; 3ebd8
-Function3ebd8: ; 3ebd8
+BattleWinSlideInEnemyTrainerFrontpic: ; 3ebd8
xor a
ld [TempEnemyMonSpecies], a
call FinishBattleAnim
@@ -6883,12 +6869,12 @@
ld de, VTiles2
callab GetTrainerPic
hlcoord 19, 0
- ld c, $0
+ ld c, 0
.outer_loop
inc c
ld a, c
- cp $7
+ cp 7
ret z
xor a
ld [hBGMapMode], a
@@ -6898,9 +6884,9 @@
push hl
.inner_loop
- call Function3ec1a
+ call .CopyColumn
inc hl
- ld a, $7
+ ld a, 7
add d
ld d, a
dec c
@@ -6908,7 +6894,7 @@
ld a, $1
ld [hBGMapMode], a
- ld c, $4
+ ld c, 4
call DelayFrames
pop hl
pop bc
@@ -6916,11 +6902,11 @@
jr .outer_loop
; 3ec1a
-Function3ec1a: ; 3ec1a
+.CopyColumn: ; 3ec1a
push hl
push de
push bc
- ld e, $7
+ ld e, 7
.loop
ld [hl], d
@@ -6970,7 +6956,7 @@
ld [hli], a
or b
jr nz, .player_ok
- ld b, $1
+ ld b, $1 ; min speed
.player_ok
ld [hl], b
@@ -6991,7 +6977,7 @@
ld [hli], a
or b
jr nz, .enemy_ok
- ld b, $1
+ ld b, $1 ; min speed
.enemy_ok
ld [hl], b
@@ -7014,7 +7000,7 @@
ld [hli], a
or b
jr nz, .player_ok
- ld b, $1
+ ld b, $1 ; min attack
.player_ok
ld [hl], b
@@ -7033,7 +7019,7 @@
ld [hli], a
or b
jr nz, .enemy_ok
- ld b, $1
+ ld b, $1 ; min attack
.enemy_ok
ld [hl], b
@@ -7182,9 +7168,8 @@
; Swap badges 3 (PlainBadge) and 5 (MineralBadge).
ld d, a
and (1 << PLAINBADGE)
-rept 2
add a
-endr
+ add a
ld b, a
ld a, d
and (1 << MINERALBADGE)
@@ -7203,9 +7188,8 @@
ld a, b
srl b
call c, BoostStat
-rept 2
inc hl
-endr
+ inc hl
; Check every other badge.
srl b
dec c
@@ -7334,9 +7318,8 @@
; a * 5 + 1
ld c, a
-rept 2
add a
-endr
+ add a
add c
inc a
@@ -7377,7 +7360,7 @@
push bc
push de
push hl
- ld b, SCGB_01
+ ld b, SCGB_BATTLE_COLORS
call GetSGBLayout
call SetPalettes
call DelayFrame
@@ -7423,6 +7406,7 @@
and a
pop bc
jp z, .skip_stats
+
ld hl, MON_STAT_EXP + 1
add hl, bc
ld d, h
@@ -7472,9 +7456,8 @@
ld [de], a
.skip
-rept 2
inc de
-endr
+ inc de
dec c
jr nz, .loop1
xor a
@@ -7534,7 +7517,7 @@
push bc
call LoadTileMapToTempTileMap
pop bc
- ld hl, MON_EXP + 2
+ ld hl, MON_STAT_EXP - 1
add hl, bc
ld d, [hl]
ld a, [hQuotient + 2]
@@ -7549,9 +7532,8 @@
inc [hl]
jr nz, .skip2
ld a, $ff
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
.skip2
@@ -7567,7 +7549,7 @@
ld d, MAX_LEVEL
callab CalcExpAtLevel
pop bc
- ld hl, MON_EXP + 2
+ ld hl, MON_STAT_EXP - 1
add hl, bc
push bc
ld a, [hQuotient]
@@ -7582,7 +7564,7 @@
sbc c
ld a, [hl]
sbc b
- jr c, .max_exp
+ jr c, .not_max_exp
ld a, b
ld [hli], a
ld a, c
@@ -7590,7 +7572,7 @@
ld a, d
ld [hld], a
-.max_exp
+.not_max_exp
xor a ; PARTYMON
ld [MonType], a
predef CopyPkmnToTempMon
@@ -7604,7 +7586,7 @@
cp d
jp z, .skip_stats
; <NICKNAME> grew to level ##!
- ld [wc719], a
+ ld [wTempLevel], a
ld a, [CurPartyLevel]
push af
ld a, d
@@ -7626,10 +7608,10 @@
add hl, bc
ld d, h
ld e, l
- ld hl, MON_EXP + 2
+ ld hl, MON_STAT_EXP - 1
add hl, bc
push bc
- ld b, $1
+ ld b, TRUE
predef CalcPkmnStats
pop bc
pop de
@@ -7712,7 +7694,7 @@
ld c, $9
call TextBox
hlcoord 11, 1
- ld bc, $0004
+ ld bc, 4
predef PrintTempMonStats
ld c, $1e
call DelayFrames
@@ -7725,7 +7707,7 @@
ld a, [CurPartyLevel]
push af
ld c, a
- ld a, [wc719]
+ ld a, [wTempLevel]
ld b, a
.level_loop
@@ -7767,23 +7749,25 @@
; 3f0d4
Function3f0d4: ; 3f0d4
+; count number of battle participants
ld a, [wBattleParticipantsNotFainted]
ld b, a
- ld c, $6
- ld d, $0
-.asm_3f0dc
+ ld c, PARTY_LENGTH
+ ld d, 0
+.loop
xor a
srl b
adc d
ld d, a
dec c
- jr nz, .asm_3f0dc
- cp $2
+ jr nz, .loop
+ cp 2
ret c
+
ld [wd265], a
ld hl, EnemyMonBaseStats
- ld c, $7
-.asm_3f0ef
+ ld c, EnemyMonEnd - EnemyMonBaseStats
+.loop2
xor a
ld [hDividend + 0], a
ld a, [hl]
@@ -7790,12 +7774,12 @@
ld [hDividend + 1], a
ld a, [wd265]
ld [hDivisor], a
- ld b, $2
+ ld b, 2
call Divide
ld a, [hQuotient + 2]
ld [hli], a
dec c
- jr nz, .asm_3f0ef
+ jr nz, .loop2
ret
; 3f106
@@ -7884,9 +7868,8 @@
inc [hl]
jr nz, .asm_3f186
ld a, $ff
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
.asm_3f186
@@ -7941,12 +7924,12 @@
call PrintPlayerHUD
ld hl, BattleMonNick
ld de, StringBuffer1
- ld bc, $000b
+ ld bc, PKMN_NAME_LENGTH
call CopyBytes
call Function3dfe
ld de, SFX_HIT_END_OF_EXP_BAR
call PlaySFX
- callba Function8e79d
+ callba AnimateEndOfExpBar
call WaitSFX
ld hl, BattleText_StringBuffer1GrewToLevel
call StdBattleTextBox
@@ -8120,8 +8103,6 @@
JumpText_YourFoesWeakGetmPkmn: ; 3f2e6
text_jump Text_YourFoesWeakGetmPkmn
start_asm
-; 3f2eb
-
Function_TextJump_BattleMonNick01: ; 3f2eb
ld hl, TextJump_BattleMonNick01
ret
@@ -8132,18 +8113,13 @@
db "@"
; 3f2f4
-
-BattleMonNickComma_TextBox: ; 3f2f4
- ld hl, TextJump_BattleMonNickComma
+WithdrawPkmnText: ; 3f2f4
+ ld hl, .WithdrawPkmnText
jp BattleTextBox
-; 3f2fa
-TextJump_BattleMonNickComma: ; 3f2fa
+.WithdrawPkmnText
text_jump Text_BattleMonNickComma
start_asm
-; 3f2ff
-
-WithdrawPkmnText: ; 3f2ff
; Print text to withdraw Pkmn
; depending on HP the message is different
push de
@@ -8401,7 +8377,7 @@
ld hl, BattleAnimCmd_RaiseSub
jr nz, GetBackpic_DoAnim ; substitute
-Function3f447: ; 3f447
+DropPlayerSub: ; 3f447
ld a, [wPlayerMinimized]
and a
ld hl, BattleAnimCmd_MinimizeOpp
@@ -8437,7 +8413,7 @@
ld hl, BattleAnimCmd_RaiseSub
jr nz, GetFrontpic_DoAnim
-Function3f486: ; 3f486
+DropEnemySub: ; 3f486
ld a, [wEnemyMinimized]
and a
ld hl, BattleAnimCmd_MinimizeOpp
@@ -8481,7 +8457,7 @@
ld a, [TimeOfDayPal]
push af
call BattleIntro
- call SendOutFirstMons
+ call DoBattle
call ExitBattle
pop af
ld [TimeOfDayPal], a
@@ -8490,9 +8466,9 @@
; 3f4d9
-_SendOutFirstMons: ; 3f4d9
+_DoBattle: ; 3f4d9
; unreferenced
- call SendOutFirstMons
+ call DoBattle
ret
; 3f4dd
@@ -8512,7 +8488,7 @@
callba ClearBattleRAM
call InitEnemy
call BackUpVBGMap2
- ld b, SCGB_00
+ ld b, SCGB_BATTLE_GRAYSCALE
call GetSGBLayout
ld hl, rLCDC
res 6, [hl]
@@ -8531,7 +8507,7 @@
call ClearBox
call ClearSprites
ld a, [wBattleMode]
- cp $1
+ cp WILD_BATTLE
call z, UpdateEnemyHUD
ld a, $1
ld [hBGMapMode], a
@@ -8560,9 +8536,9 @@
BackUpVBGMap2: ; 3f568
ld a, [rSVBK]
push af
- ld a, $6 ; BANK(w6_d000)
+ ld a, $6 ; BANK(wDecompressScratch)
ld [rSVBK], a
- ld hl, w6_d000
+ ld hl, wDecompressScratch
ld bc, $40 tiles ; VBGMap3 - VBGMap2
ld a, $2
call ByteFill
@@ -8570,7 +8546,7 @@
push af
ld a, $1
ld [rVBK], a
- ld de, w6_d000
+ ld de, wDecompressScratch
hlbgcoord 0, 0 ; VBGMap2
lb bc, BANK(BackUpVBGMap2), $40
call Request2bpp
@@ -8586,7 +8562,7 @@
callba MobileFn_10606a
xor a
ld [TempEnemyMonSpecies], a
- callab Function3957b
+ callab GetTrainerAttributes
callab ReadTrainerParty
ld a, [TrainerClass]
@@ -8637,16 +8613,16 @@
; 3f607
InitEnemyWildmon: ; 3f607
- ld a, $1
+ ld a, WILD_BATTLE
ld [wBattleMode], a
callba MobileFn_10605d
call LoadEnemyMon
ld hl, EnemyMonMoves
- ld de, wc735
+ ld de, wWildMonMoves
ld bc, NUM_MOVES
call CopyBytes
ld hl, EnemyMonPP
- ld de, wc739
+ ld de, wWildMonPP
ld bc, NUM_MOVES
call CopyBytes
ld hl, EnemyMonDVs
@@ -8654,11 +8630,11 @@
ld a, [CurPartySpecies]
cp UNOWN
jr nz, .skip_unown
- ld a, [wdef4]
+ ld a, [wFirstUnownSeen]
and a
jr nz, .skip_unown
ld a, [UnownLetter]
- ld [wdef4], a
+ ld [wFirstUnownSeen], a
.skip_unown
ld de, VTiles2
predef FrontpicPredef
@@ -8725,12 +8701,12 @@
ExitBattle: ; 3f69e
- call Function3f6a5
+ call .HandleEndOfBattle
call CleanUpBattleRAM
ret
; 3f6a5
-Function3f6a5: ; 3f6a5
+.HandleEndOfBattle: ; 3f6a5
ld a, [wLinkMode]
and a
jr z, .not_linked
@@ -8737,7 +8713,7 @@
call ShowLinkBattleParticipantsAfterEnd
ld c, 150
call DelayFrames
- call Function3f77c
+ call DetermineMobileBattleResult
ret
.not_linked
@@ -8746,14 +8722,14 @@
ret nz
call CheckPayDay
xor a
- ld [wd1e9], a
+ ld [wForceEvolution], a
predef EvolveAfterBattle
- callba Function2ed44
+ callba GivePokerusAndConvertBerries
ret
; 3f6d0
CleanUpBattleRAM: ; 3f6d0
- call Function3f998
+ call BattleEnd_HandleRoamMons
xor a
ld [Danger], a
ld [wBattleMode], a
@@ -8764,7 +8740,7 @@
ld [wFailedToFlee], a
ld [wNumFleeAttempts], a
ld [wForcedSwitch], a
- ld [wd0d8], a
+ ld [wPartyMenuCursor], a
ld [wKeyItemsPocketCursor], a
ld [wItemsPocketCursor], a
ld [wd0d2], a
@@ -8803,9 +8779,8 @@
rl [hl]
jr nc, .okay
ld a, $ff
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
.okay
@@ -8812,7 +8787,7 @@
ld hl, wPayDayMoney + 2
ld de, Money + 2
call AddBattleMoneyToAccount
- ld hl, BattleText_PlayerPickuedUpPayDayMoney
+ ld hl, BattleText_PlayerPickedUpPayDayMoney
call StdBattleTextBox
ld a, [InBattleTowerBattle]
bit 0, a
@@ -8835,7 +8810,7 @@
ret
; 3f77c
-Function3f77c: ; 3f77c
+DetermineMobileBattleResult: ; 3f77c
callba CheckMobileBattleError
jp c, .Mobile_InvalidBattle
call IsMobileBattle2
@@ -8937,7 +8912,7 @@
xor a
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
call ByteFill
- call Function3200
+ call WaitBGMap2
ld b, SCGB_08
call GetSGBLayout
call SetPalettes
@@ -9083,19 +9058,19 @@
; 3f998
-Function3f998: ; 3f998
+BattleEnd_HandleRoamMons: ; 3f998
ld a, [BattleType]
cp BATTLETYPE_ROAMING
- jr nz, .asm_3f9c4
+ jr nz, .not_roaming
ld a, [wBattleResult]
and $f
- jr z, .asm_3f9af
+ jr z, .caught_or_defeated_roam_mon
call GetRoamMonHP
ld a, [EnemyMonHP + 1]
ld [hl], a
- jr .asm_3f9ca
+ jr .update_roam_mons
-.asm_3f9af
+.caught_or_defeated_roam_mon
call GetRoamMonHP
ld [hl], $0
call GetRoamMonMapGroup
@@ -9106,12 +9081,12 @@
ld [hl], $0
ret
-.asm_3f9c4
+.not_roaming
call BattleRandom
and $f
ret nz
-.asm_3f9ca
+.update_roam_mons
callab UpdateRoamMons
ret
; 3f9d1
@@ -9205,13 +9180,11 @@
ld d, 5
.loop
push hl
-rept 2
inc hl
-endr
+ inc hl
ld a, [hl]
-rept 2
dec hl
-endr
+ dec hl
and a
jr z, .copy
push de
@@ -9311,9 +9284,8 @@
ld c, $1
.loop2
ld a, b
-rept 2
add b
-endr
+ add b
ld e, a
ld d, $0
ld hl, wd002
@@ -9320,9 +9292,8 @@
add hl, de
push hl
ld a, c
-rept 2
add c
-endr
+ add c
ld e, a
ld d, $0
ld hl, wd002
@@ -9427,7 +9398,7 @@
call WaitBGMap
xor a
ld [hBGMapMode], a
- callba SlideBattlePics
+ callba BattleIntroSlidingPics
ld a, $1
ld [hBGMapMode], a
ld a, $31
@@ -9440,7 +9411,7 @@
ld [rWY], a
call WaitBGMap
call HideSprites
- ld b, SCGB_01
+ ld b, SCGB_BATTLE_COLORS
call GetSGBLayout
call SetPalettes
ld a, $90
@@ -9456,12 +9427,12 @@
ld a, $6
ld [rSVBK], a
- ld hl, w6_d000
- ld bc, w6_d400 - w6_d000
+ ld hl, wDecompressScratch
+ ld bc, wBackupAttrMap - wDecompressScratch
ld a, " "
call ByteFill
- ld de, w6_d000
+ ld de, wDecompressScratch
hlbgcoord 0, 0
lb bc, BANK(.BlankBGMap), $40
call Request2bpp
@@ -9479,7 +9450,7 @@
GetTrainerBackpic: ; 3fbff
-; Load the player character's backpic (6x6) into VRAM starting from $9310.
+; Load the player character's backpic (6x6) into VRAM starting from VTiles2 tile $31.
; Special exception for Dude.
ld b, BANK(DudeBackpic)
@@ -9594,11 +9565,11 @@
jr nc, .not_shiny
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld a, 1
ld [hBattleTurn], a
ld a, 1
- ld [wKickCounter], a
+ ld [wBattleAnimParam], a
ld de, ANIM_SEND_OUT_MON
call Call_PlayBattleAnim
@@ -9613,7 +9584,7 @@
ld d, $0
ld e, ANIM_MON_NORMAL
predef AnimateFrontpic
- jr .skip_cry
+ jr .skip_cry ; cry is played during the animation
.cry_no_anim
ld a, $0f
@@ -9626,7 +9597,7 @@
cp BATTLETYPE_FISH
jr nz, .NotFishing
- callba MobileFn_106086
+ callba MobileFn_106086 ; update fishing records?
ld hl, HookedPokemonAttackedText
jr .PlaceBattleStartText
@@ -9642,7 +9613,7 @@
.PlaceBattleStartText
push hl
- callba Function2c000
+ callba BattleStart_TrainerHuds
pop hl
call StdBattleTextBox
--- a/battle/effect_commands.asm
+++ b/battle/effect_commands.asm
@@ -1,11 +1,12 @@
DoPlayerTurn: ; 34000
call SetPlayerTurn
- ld a, [wd0ec]
+ ld a, [wPlayerAction]
and a
ret nz
jr DoTurn
+
; 3400a
@@ -50,9 +51,8 @@
ld c, a
ld b, 0
ld hl, MoveEffectsPointers
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, BANK(MoveEffectsPointers)
call GetFarHalfword
@@ -101,9 +101,8 @@
ld c, a
ld b, 0
ld hl, BattleCommandPointers
-rept 2
add hl, bc
-endr
+ add hl, bc
pop bc
ld a, BANK(BattleCommandPointers)
@@ -115,6 +114,7 @@
.DoMoveEffectCommand
jp [hl]
+
; 34084
@@ -172,7 +172,7 @@
jr z, .woke_up
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld de, ANIM_SLP
call FarPlayBattleAnimation
jr .fast_asleep
@@ -276,7 +276,7 @@
ld hl, IsConfusedText
call StdBattleTextBox
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld de, ANIM_CONFUSED
call FarPlayBattleAnimation
@@ -305,7 +305,7 @@
ld hl, InLoveWithText
call StdBattleTextBox
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld de, ANIM_IN_LOVE
call FarPlayBattleAnimation
@@ -352,6 +352,7 @@
call StdBattleTextBox
call CantMove
jp EndTurn
+
; 341f0
@@ -380,6 +381,7 @@
res SUBSTATUS_UNDERGROUND, [hl]
res SUBSTATUS_FLYING, [hl]
jp AppearUserRaiseSub
+
; 34216
@@ -388,6 +390,7 @@
call BattleCommand_SwitchTurn
call CantMove
jp BattleCommand_SwitchTurn
+
; 3421f
@@ -420,7 +423,7 @@
ld hl, FastAsleepText
call StdBattleTextBox
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld de, ANIM_SLP
call FarPlayBattleAnimation
jr .fast_asleep
@@ -521,7 +524,7 @@
call StdBattleTextBox
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld de, ANIM_CONFUSED
call FarPlayBattleAnimation
@@ -542,7 +545,7 @@
call BattleCommand_DamageCalc
call BattleCommand_LowerSub
xor a
- ld [wcfca], a
+ ld [wNumHits], a
; Flicker the monster pic unless flying or underground.
ld de, ANIM_HIT_CONFUSION
@@ -567,7 +570,7 @@
ld hl, InLoveWithText
call StdBattleTextBox
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld de, ANIM_IN_LOVE
call FarPlayBattleAnimation
@@ -623,6 +626,7 @@
ld a, $1
ld [wTurnEnded], a
jp ResetDamage
+
; 3438d
@@ -640,6 +644,7 @@
ld hl, DisabledMoveText
jp StdBattleTextBox
+
; 343a5
@@ -656,7 +661,7 @@
call BattleCommand_LowerSub
xor a
- ld [wcfca], a
+ ld [wNumHits], a
; Flicker the monster pic unless flying or underground.
ld de, ANIM_HIT_CONFUSION
@@ -672,6 +677,7 @@
ld c, $1
call PlayerHurtItself
jp BattleCommand_RaiseSub
+
; 343db
@@ -821,7 +827,7 @@
ld hl, WontObeyText
call StdBattleTextBox
call HitConfusion
- jp .asm_3450c
+ jp .EndDisobedience
.Nap
@@ -857,7 +863,7 @@
call StdBattleTextBox
- jp .asm_3450c
+ jp .EndDisobedience
.UseInstead
@@ -912,7 +918,7 @@
ld a, 1
ld [AlreadyDisobeyed], a
- ld a, [wcfa3]
+ ld a, [w2DMenuNumRows]
ld b, a
; Save the move we originally picked for afterward.
@@ -962,7 +968,7 @@
ld [CurMoveNum], a
-.asm_3450c
+.EndDisobedience
xor a
ld [LastPlayerMove], a
ld [LastEnemyCounterMove], a
@@ -974,6 +980,7 @@
ld [PlayerEncoreCount], a
jp EndMoveEffect
+
; 3451f
@@ -1003,6 +1010,7 @@
scf
ret
+
; 34541
@@ -1010,6 +1018,7 @@
; usedmovetext
callba DisplayUsedMoveText
ret
+
; 34548
@@ -1023,6 +1032,7 @@
.end
and a
ret
+
; 34555
@@ -1064,9 +1074,8 @@
jp nz, EndMoveEffect
; SubStatus5
-rept 2
inc de
-endr
+ inc de
ld a, [de]
bit SUBSTATUS_TRANSFORMED, a
@@ -1151,6 +1160,7 @@
call StdBattleTextBox
ld b, 1
ret
+
; 34602
.continuousmoves ; 34602
@@ -1194,6 +1204,7 @@
.mimic
and a
ret
+
; 34631
@@ -1262,9 +1273,8 @@
jr nc, .ScopeLens
; +2 critical level
-rept 2
inc c
-endr
+ inc c
.ScopeLens
push bc
@@ -1324,6 +1334,7 @@
ld [hld], a
ld [hl], a
ret
+
; 346cd
@@ -1333,6 +1344,7 @@
ld hl, wKickCounter
inc [hl]
ret
+
; 346d2
@@ -1506,9 +1518,8 @@
pop hl
.SkipType
-rept 2
inc hl
-endr
+ inc hl
jr .TypesLoop
.end
@@ -1520,6 +1531,7 @@
or b
ld [TypeModifier], a
ret
+
; 347c8
@@ -1558,6 +1570,7 @@
bit SUBSTATUS_IDENTIFIED, a
jr nz, .End
jr .TypesLoop
+
.Next
cp d
jr nz, .Nope
@@ -1567,11 +1580,13 @@
cp c
jr z, .Yup
jr .Nope2
+
.Nope
inc hl
.Nope2
inc hl
jr .TypesLoop
+
.Yup
xor a
ld [hDividend + 0], a
@@ -1597,6 +1612,7 @@
pop de
pop hl
ret
+
; 34833
@@ -1618,6 +1634,7 @@
.reset
ld [wTypeMatchup], a
ret
+
; 3484e
INCLUDE "battle/ai/switch.asm"
@@ -1679,6 +1696,7 @@
ld a, [hQuotient + 2]
ld [hl], a
ret
+
; 34d32
@@ -1729,16 +1747,16 @@
cp HELD_BRIGHTPOWDER
ld a, c ; % miss
pop bc
- jr nz, .asm_34d81
+ jr nz, .skip_brightpowder
ld c, a
ld a, b
sub c
ld b, a
- jr nc, .asm_34d81
+ jr nc, .skip_brightpowder
ld b, 0
-.asm_34d81
+.skip_brightpowder
ld a, b
cp $ff
jr z, .Hit
@@ -1834,7 +1852,7 @@
.DrainSub
; Return z if using an HP drain move on a substitute.
call CheckSubstituteOpp
- jr z, .asm_34e00
+ jr z, .not_draining_sub
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVar
@@ -1844,7 +1862,7 @@
cp EFFECT_DREAM_EATER
ret z
-.asm_34e00
+.not_draining_sub
ld a, 1
and a
ret
@@ -1916,7 +1934,7 @@
ld a, [EnemyEvaLevel]
ld c, a
- jr z, .asm_34e60
+ jr z, .got_acc_eva
ld hl, wEnemyMoveStruct + MOVE_ACC
ld a, [EnemyAccLevel]
@@ -1924,9 +1942,9 @@
ld a, [PlayerEvaLevel]
ld c, a
-.asm_34e60
+.got_acc_eva
cp b
- jr c, .asm_34e6b
+ jr c, .eva_less_than_acc
ld a, BATTLE_VARS_SUBSTATUS1_OPP
call GetBattleVar
@@ -1933,8 +1951,8 @@
bit SUBSTATUS_IDENTIFIED, a
ret nz
-.asm_34e6b
- ld a, $e
+.eva_less_than_acc
+ ld a, 14
sub c
ld c, a
xor a
@@ -1943,9 +1961,9 @@
ld a, [hl]
ld [hMultiplicand + 2], a
push hl
- ld d, $2
+ ld d, 2
-.asm_34e7a
+.accuracy_loop
push bc
ld hl, .AccProb
dec b
@@ -1959,29 +1977,29 @@
call Multiply
ld a, [hl]
ld [hDivisor], a
- ld b, $4
+ ld b, 4
call Divide
ld a, [hQuotient + 2]
ld b, a
ld a, [hQuotient + 1]
or b
- jr nz, .asm_34ea2
+ jr nz, .min_accuracy
ld [hQuotient + 1], a
ld a, $1
ld [hQuotient + 2], a
-.asm_34ea2
+.min_accuracy
ld b, c
dec d
- jr nz, .asm_34e7a
+ jr nz, .accuracy_loop
ld a, [hQuotient + 1]
and a
ld a, [hQuotient + 2]
- jr z, .asm_34eaf
+ jr z, .finish_accuracy
ld a, $ff
-.asm_34eaf
+.finish_accuracy
pop hl
ld [hl], a
ret
@@ -2016,9 +2034,9 @@
ld hl, wPlayerMoveStruct + MOVE_CHANCE
ld a, [hBattleTurn]
and a
- jr z, .asm_34ee1
+ jr z, .got_move_chance
ld hl, wEnemyMoveStruct + MOVE_CHANCE
-.asm_34ee1
+.got_move_chance
call BattleRandom
cp [hl]
@@ -2030,6 +2048,7 @@
ld [EffectFailed], a
and a
ret
+
; 34eee
@@ -2071,7 +2090,7 @@
jr c, .mimic_anims
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld [FXAnimIDHi], a
inc a
ld [wKickCounter], a
@@ -2100,6 +2119,7 @@
ld a, 0
ld [wc73e], a
ret
+
; 34f57
@@ -2108,6 +2128,7 @@
call BattleCommand_LowerSub
call BattleCommand_HitTargetNoSub
jp BattleCommand_RaiseSub
+
; 34f60
@@ -2125,7 +2146,7 @@
ld a, BATTLEANIM_PLAYER_DAMAGE
.got_rollout_count
- ld [wcfca], a
+ ld [wNumHits], a
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVar
cp EFFECT_MULTI_HIT
@@ -2159,6 +2180,7 @@
.fly_dig
; clear sprite
jp AppearUserLowerSub
+
.multihit
.conversion
.doublehit
@@ -2177,8 +2199,9 @@
pop af
jp z, PlayFXAnimID
xor a
- ld [wcfca], a
+ ld [wNumHits], a
jp PlayFXAnimID
+
; 34fd1
@@ -2189,6 +2212,7 @@
xor a
jr BattleCommand_StatUpDownAnim
+
; 34fdb
@@ -2208,7 +2232,7 @@
BattleCommand_StatUpDownAnim: ; 34feb
- ld [wcfca], a
+ ld [wNumHits], a
xor a
ld [wKickCounter], a
ld a, BATTLE_VARS_MOVE_ANIM
@@ -2216,6 +2240,7 @@
ld e, a
ld d, 0
jp PlayFXAnimID
+
; 34ffd
@@ -2226,6 +2251,7 @@
xor 1
ld [hBattleTurn], a
ret
+
; 35004
@@ -2241,12 +2267,13 @@
jp c, BattleCommand_RaiseSubNoAnim
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld [FXAnimIDHi], a
ld a, $2
ld [wKickCounter], a
ld a, SUBSTITUTE
jp LoadAnim
+
; 35023
@@ -2291,6 +2318,7 @@
res SUBSTATUS_FLYING, [hl]
call AppearUserRaiseSub
jp EndMoveEffect
+
; 3505e
@@ -2382,6 +2410,7 @@
inc de
ld [de], a
ret
+
; 350e4
@@ -2452,6 +2481,7 @@
ld l, e
.not_protected
jp StdBattleTextBox
+
; 35165
@@ -2464,6 +2494,7 @@
and $7f
jp z, PrintDoesntAffect
jp PrintButItFailed
+
; 35175
@@ -2512,6 +2543,7 @@
xor a
ld [hl], a
ret
+
; 351a5
@@ -2539,6 +2571,7 @@
ld hl, NotVeryEffectiveText
jp StdBattleTextBox
+
; 351c0
@@ -2550,10 +2583,10 @@
ld hl, EnemyMonHP
ld a, [hBattleTurn]
and a
- jr z, .asm_351cb
+ jr z, .got_hp
ld hl, BattleMonHP
-.asm_351cb
+.got_hp
ld a, [hli]
or [hl]
ret nz
@@ -2561,7 +2594,7 @@
ld a, BATTLE_VARS_SUBSTATUS5_OPP
call GetBattleVar
bit SUBSTATUS_DESTINY_BOND, a
- jr z, .asm_35231
+ jr z, .no_dbond
ld hl, TookDownWithItText
call StdBattleTextBox
@@ -2571,13 +2604,13 @@
ld hl, EnemyMonMaxHP + 1
bccoord 2, 2 ; hp bar
ld a, 0
- jr nz, .asm_351f2
+ jr nz, .got_max_hp
ld hl, BattleMonMaxHP + 1
bccoord 10, 9 ; hp bar
ld a, 1
-.asm_351f2
- ld [wd10a], a
+.got_max_hp
+ ld [wWhichHPBar], a
ld a, [hld]
ld [Buffer1], a
ld a, [hld]
@@ -2599,7 +2632,7 @@
call BattleCommand_SwitchTurn
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld [FXAnimIDHi], a
inc a
ld [wKickCounter], a
@@ -2607,27 +2640,28 @@
call LoadAnim
call BattleCommand_SwitchTurn
- jr .asm_3524d ; 3522f $1c
+ jr .finish
-.asm_35231
+.no_dbond
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVar
cp EFFECT_MULTI_HIT
- jr z, .asm_3524a
+ jr z, .multiple_hit_raise_sub
cp EFFECT_DOUBLE_HIT
- jr z, .asm_3524a
+ jr z, .multiple_hit_raise_sub
cp EFFECT_TWINEEDLE
- jr z, .asm_3524a
+ jr z, .multiple_hit_raise_sub
cp EFFECT_TRIPLE_KICK
- jr z, .asm_3524a
+ jr z, .multiple_hit_raise_sub
cp EFFECT_BEAT_UP
- jr nz, .asm_3524d
+ jr nz, .finish
-.asm_3524a
+.multiple_hit_raise_sub
call BattleCommand_RaiseSub
-.asm_3524d
+.finish
jp EndMoveEffect
+
; 35250
@@ -2635,6 +2669,7 @@
; buildopponentrage
jp .start
+
.start
ld a, [AttackMissed]
and a
@@ -2660,6 +2695,7 @@
ld hl, RageBuildingText
call StdBattleTextBox
jp BattleCommand_SwitchTurn
+
; 3527b
@@ -2675,21 +2711,22 @@
ld a, [hBattleTurn]
and a
ld a, [wPlayerRageCounter]
- jr z, .asm_35290
+ jr z, .rage_loop
ld a, [wEnemyRageCounter]
-.asm_35290
+.rage_loop
and a
- jr z, .asm_3529a
+ jr z, .done
dec a
add hl, bc
- jr nc, .asm_35290
+ jr nc, .rage_loop
ld hl, -1
-.asm_3529a
+.done
ld a, h
ld [CurDamage], a
ld a, l
ld [CurDamage + 1], a
ret
+
; 352a3
@@ -2699,11 +2736,11 @@
ld a, [BattleScriptBufferLoc + 1]
ld h, a
ld a, $ff
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
ret
+
; 352b1
@@ -2736,12 +2773,13 @@
srl b
ld a, b
and a
- jr nz, .asm_352d8
+ jr nz, .done
inc b
-.asm_352d8
+.done
scf
rr c
ret
+
; 352dc
@@ -2837,6 +2875,7 @@
ld a, 1
and a
ret
+
; 3534d
@@ -2882,6 +2921,7 @@
.done
ld b, l
ret
+
; 35378
@@ -2936,6 +2976,7 @@
pop bc
pop hl
ret
+
; 353b5
@@ -2953,6 +2994,7 @@
pop de
pop bc
ret
+
; 353c3
@@ -2970,6 +3012,7 @@
pop de
pop bc
ret
+
; 353d1
@@ -3012,6 +3055,7 @@
sla l
rl h
ret
+
; 353f6
@@ -3092,6 +3136,7 @@
ld a, 1
and a
ret
+
; 35461
@@ -3275,6 +3320,7 @@
ld a, [wEnemyMoveStruct + MOVE_POWER]
ld d, a
ret
+
; 355b0
@@ -3281,6 +3327,7 @@
.beatup_fail: ; 355b0
ld b, buildopponentrage_command
jp SkipToBattleCommand
+
; 355b5
@@ -3290,6 +3337,7 @@
ret nz
jp PrintButItFailed
+
; 355bd
@@ -3300,10 +3348,10 @@
ld a, [hBattleTurn]
and a
ld hl, PartyMon1Species
- jr z, .asm_355cc
+ jr z, .got_species
ld hl, OTPartyMon1Species
-.asm_355cc
+.got_species
ld a, [wd002]
add hl, bc
call GetPartyLocation
@@ -3318,6 +3366,7 @@
ret z
jp ResetDamage
+
; 355dd
@@ -3356,6 +3405,7 @@
pop af
ld e, a
ret
+
; 35612
@@ -3401,9 +3451,8 @@
xor a
ld hl, hDividend
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
; Level * 2
@@ -3424,9 +3473,8 @@
pop bc
; + 2
-rept 2
inc [hl]
-endr
+ inc [hl]
; * bp
inc hl
@@ -3592,6 +3640,7 @@
ld [hProduct + 3], a
ret
+
; 35703
@@ -3659,18 +3708,18 @@
.psywave_loop
call BattleRandom
and a
- jr z, .psywave_loop ; 35761 $fa
+ jr z, .psywave_loop
cp b
- jr nc, .psywave_loop ; 35764 $f7
+ jr nc, .psywave_loop
ld b, a
ld a, $0
- jr .got_power ; 35769 $21
+ jr .got_power
.super_fang
ld hl, EnemyMonHP
ld a, [hBattleTurn]
and a
- jr z, .got_hp ; 35771 $3
+ jr z, .got_hp
ld hl, BattleMonHP
.got_hp
ld a, [hli]
@@ -3682,12 +3731,12 @@
ld a, b
pop bc
and a
- jr nz, .got_power ; 35781 $9
+ jr nz, .got_power
or b
ld a, $0
- jr nz, .got_power ; 35786 $4
+ jr nz, .got_power
ld b, $1
- jr .got_power ; 3578a $0
+ jr .got_power
.got_power
ld hl, CurDamage
@@ -3699,7 +3748,7 @@
ld hl, BattleMonHP
ld a, [hBattleTurn]
and a
- jr z, .reversal_got_hp ; 35798 $3
+ jr z, .reversal_got_hp
ld hl, EnemyMonHP
.reversal_got_hp
xor a
@@ -3844,6 +3893,7 @@
xor a
ld [AttackMissed], a
ret
+
; 35864
@@ -3870,12 +3920,12 @@
jp z, .failed
ld b, a
-.asm_3588e
+.got_move
ld a, [hli]
cp b
- jr nz, .asm_3588e
+ jr nz, .got_move
- ld bc, $0005
+ ld bc, BattleMonPP - BattleMonMoves - 1
add hl, bc
ld a, [hl]
and $3f
@@ -3895,10 +3945,10 @@
endr
ld [de], a
call CheckOpponentWentFirst
- jr nz, .asm_3591a
+ jr nz, .finish_move
ld a, [hBattleTurn]
and a
- jr z, .asm_358ef
+ jr z, .force_last_enemy_move
push hl
ld a, [LastPlayerMove]
@@ -3905,14 +3955,14 @@
ld b, a
ld c, 0
ld hl, BattleMonMoves
-.asm_358cc
+.find_player_move
ld a, [hli]
cp b
- jr z, .asm_358dd
+ jr z, .got_player_move
inc c
ld a, c
cp NUM_MOVES
- jr c, .asm_358cc
+ jr c, .find_player_move
pop hl
res SUBSTATUS_ENCORED, [hl]
xor a
@@ -3919,9 +3969,8 @@
ld [de], a
jr .failed
-.asm_358dd
+.got_player_move
pop hl
-
ld a, c
ld [CurMoveNum], a
ld a, b
@@ -3929,30 +3978,30 @@
dec a
ld de, wPlayerMoveStruct
call GetMoveData
- jr .asm_3591a
+ jr .finish_move
-.asm_358ef
+.force_last_enemy_move
push hl
ld a, [LastEnemyMove]
ld b, a
ld c, 0
ld hl, EnemyMonMoves
-.asm_358f9
+.find_enemy_move
ld a, [hli]
cp b
- jr z, .asm_3590a
+ jr z, .got_enemy_move
inc c
ld a, c
cp NUM_MOVES
- jr c, .asm_358f9
+ jr c, .find_enemy_move
pop hl
res SUBSTATUS_ENCORED, [hl]
xor a
ld [de], a
jr .failed
-.asm_3590a
- pop hl
+.got_enemy_move
+ pop hl
ld a, c
ld [CurEnemyMoveNum], a
ld a, b
@@ -3961,7 +4010,7 @@
ld de, wEnemyMoveStruct
call GetMoveData
-.asm_3591a
+.finish_move
call AnimateCurrentMove
ld hl, GotAnEncoreText
jp StdBattleTextBox
@@ -3968,6 +4017,7 @@
.failed
jp PrintDidntAffect2
+
; 35926
@@ -3976,15 +4026,15 @@
ld a, [AttackMissed]
and a
- jp nz, PainSplit_PrintButItFailed
+ jp nz, .ButItFailed
call CheckSubstituteOpp
- jp nz, PainSplit_PrintButItFailed
+ jp nz, .ButItFailed
call AnimateCurrentMove
ld hl, BattleMonMaxHP + 1
ld de, EnemyMonMaxHP + 1
call .PlayerShareHP
ld a, $1
- ld [wd10a], a
+ ld [wWhichHPBar], a
hlcoord 10, 9
predef AnimateHPBar
ld hl, EnemyMonHP
@@ -3998,7 +4048,7 @@
ld [Buffer1], a
call .EnemyShareHP
xor a
- ld [wd10a], a
+ ld [wWhichHPBar], a
call ResetDamage
hlcoord 2, 2
predef AnimateHPBar
@@ -4017,9 +4067,8 @@
ld [Buffer3], a
ld a, [hl]
ld [Buffer4], a
-rept 2
dec de
-endr
+ dec de
ld a, [de]
dec de
add b
@@ -4062,10 +4111,12 @@
ld [hli], a
ld [Buffer6], a
ret
+
; 359cd
-PainSplit_PrintButItFailed: ; 359cd
+.ButItFailed
jp PrintDidntAffect2
+
; 359d0
@@ -4080,6 +4131,7 @@
ld [AttackMissed], a
call FailSnore
jp EndMoveEffect
+
; 359e6
@@ -4088,17 +4140,17 @@
ld a, [AttackMissed]
and a
- jr nz, .asm_35a50
+ jr nz, .failed
ld hl, BattleMonType1
ld a, [hBattleTurn]
and a
- jr z, .asm_359f7
+ jr z, .got_type
ld hl, EnemyMonType1
-.asm_359f7
+.got_type
ld a, BATTLE_VARS_LAST_COUNTER_MOVE_OPP
call GetBattleVar
and a
- jr z, .asm_35a50
+ jr z, .failed
push hl
dec a
ld hl, Moves + MOVE_TYPE
@@ -4106,20 +4158,20 @@
ld d, a
pop hl
cp CURSE_T
- jr z, .asm_35a50
+ jr z, .failed
call AnimateCurrentMove
call BattleCommand_SwitchTurn
-.asm_35a13
+.loop
call BattleRandom
and $1f
cp UNUSED_TYPES
- jr c, .asm_35a24
+ jr c, .okay
cp UNUSED_TYPES_END
- jr c, .asm_35a13
+ jr c, .loop
cp TYPES_END
- jr nc, .asm_35a13
-.asm_35a24
+ jr nc, .loop
+.okay
ld [hli], a
ld [hld], a
push hl
@@ -4136,7 +4188,7 @@
pop hl
ld a, [wTypeMatchup]
cp 10
- jr nc, .asm_35a13
+ jr nc, .loop
call BattleCommand_SwitchTurn
ld a, [hl]
@@ -4145,8 +4197,9 @@
ld hl, TransformedTypeText
jp StdBattleTextBox
-.asm_35a50
+.failed
jp FailConversion2
+
; 35a53
@@ -4171,6 +4224,7 @@
.fail
call AnimateFailedMove
jp PrintDidntAffect
+
; 35a74
@@ -4291,6 +4345,7 @@
.fail
call AnimateFailedMove
jp PrintDidntAffect
+
; 35b16
@@ -4319,6 +4374,7 @@
pop hl
ld [hl], a
ret
+
; 35b33
@@ -4334,11 +4390,11 @@
ld hl, BattleMonMoves + 1
ld a, [DisabledMove]
ld d, a
- jr z, .asm_35b4f
+ jr z, .got_moves
ld hl, EnemyMonMoves + 1
ld a, [EnemyDisabledMove]
ld d, a
-.asm_35b4f
+.got_moves
ld a, BATTLE_VARS_STATUS
call GetBattleVar
and SLP
@@ -4346,10 +4402,10 @@
ld a, [hl]
and a
jr z, .fail
- call .asm_35ba9
+ call .safely_check_has_usable_move
jr c, .fail
dec hl
-.asm_35b62
+.sample_move
push hl
call BattleRandom
and 3 ; TODO factor in NUM_MOVES
@@ -4359,17 +4415,17 @@
ld a, [hl]
pop hl
and a
- jr z, .asm_35b62
+ jr z, .sample_move
ld e, a
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
cp e
- jr z, .asm_35b62
+ jr z, .sample_move
ld a, e
cp d
- jr z, .asm_35b62
- call .asm_35bdf
- jr z, .asm_35b62
+ jr z, .sample_move
+ call .check_two_turn_move
+ jr z, .sample_move
ld a, BATTLE_VARS_MOVE
call GetBattleVarAddr
ld a, e
@@ -4390,24 +4446,24 @@
call AnimateFailedMove
jp TryPrintButItFailed
-.asm_35ba9
+.safely_check_has_usable_move
push hl
push de
push bc
- call .asm_35bb3
+ call .check_has_usable_move
pop bc
pop de
pop hl
ret
-.asm_35bb3
+.check_has_usable_move
ld a, [hBattleTurn]
and a
ld a, [DisabledMove]
- jr z, .asm_35bbe
+ jr z, .got_move_2
ld a, [EnemyDisabledMove]
-.asm_35bbe
+.got_move_2
ld b, a
ld a, BATTLE_VARS_MOVE
call GetBattleVar
@@ -4414,33 +4470,33 @@
ld c, a
dec hl
ld d, NUM_MOVES
-.asm_35bc8
+.loop2
ld a, [hl]
and a
- jr z, .asm_35bdb
+ jr z, .carry
cp c
- jr z, .asm_35bd7
+ jr z, .nope
cp b
- jr z, .asm_35bd7
+ jr z, .nope
- call .asm_35bdf
- jr nz, .asm_35bdd
+ call .check_two_turn_move
+ jr nz, .no_carry
-.asm_35bd7
+.nope
inc hl
dec d
- jr nz, .asm_35bc8
+ jr nz, .loop2
-.asm_35bdb
+.carry
scf
ret
-.asm_35bdd
+.no_carry
and a
ret
-.asm_35bdf
+.check_two_turn_move
push hl
push de
push bc
@@ -4465,6 +4521,7 @@
ret z
cp EFFECT_BIDE
ret
+
; 35bff
@@ -4477,6 +4534,7 @@
call AnimateCurrentMove
ld hl, DestinyBondEffectText
jp StdBattleTextBox
+
; 35c0f
@@ -4485,27 +4543,27 @@
ld a, [AttackMissed]
and a
- jp nz, .asm_35c91
+ jp nz, .failed
ld bc, PARTYMON_STRUCT_LENGTH ; ????
ld hl, EnemyMonMoves
ld a, [hBattleTurn]
and a
- jr z, .asm_35c24
+ jr z, .got_moves
ld hl, BattleMonMoves
-.asm_35c24
+.got_moves
ld a, BATTLE_VARS_LAST_COUNTER_MOVE_OPP
call GetBattleVar
and a
- jr z, .asm_35c91
+ jr z, .failed
cp STRUGGLE
- jr z, .asm_35c91
+ jr z, .failed
ld b, a
ld c, -1
-.asm_35c33
+.loop
inc c
ld a, [hli]
cp b
- jr nz, .asm_35c33
+ jr nz, .loop
ld [wTypeMatchup], a
dec hl
ld b, 0
@@ -4515,21 +4573,20 @@
pop bc
ld a, [hl]
and $3f
- jr z, .asm_35c91
+ jr z, .failed
push bc
call GetMoveName
call BattleRandom
and 3
-rept 2
inc a
-endr
+ inc a
ld b, a
ld a, [hl]
and $3f
cp b
- jr nc, .asm_35c5b
+ jr nc, .deplete_pp
ld b, a
-.asm_35c5b
+.deplete_pp
ld a, [hl]
sub b
ld [hl], a
@@ -4544,18 +4601,18 @@
ld a, BATTLE_VARS_SUBSTATUS5_OPP
call GetBattleVar
bit SUBSTATUS_TRANSFORMED, a
- jr nz, .asm_35c82
+ jr nz, .transformed
ld a, [hBattleTurn]
and a
- jr nz, .asm_35c81
+ jr nz, .not_wildmon
ld a, [wBattleMode]
dec a
- jr nz, .asm_35c81
- ld hl, wc739
+ jr nz, .not_wildmon
+ ld hl, wWildMonPP
add hl, bc
-.asm_35c81
+.not_wildmon
ld [hl], e
-.asm_35c82
+.transformed
push de
call AnimateCurrentMove
pop de
@@ -4563,8 +4620,10 @@
ld [wTypeMatchup], a
ld hl, SpiteEffectText
jp StdBattleTextBox
-.asm_35c91
+
+.failed
jp PrintDidntAffect2
+
; 35c94
@@ -4574,17 +4633,17 @@
ld hl, EnemyMonHP
ld a, [hBattleTurn]
and a
- jr z, .asm_35c9f
+ jr z, .got_hp
ld hl, BattleMonHP
-.asm_35c9f
+.got_hp
ld de, CurDamage
- ld c, $2
+ ld c, 2
push hl
push de
call StringCmp
pop de
pop hl
- jr c, .asm_35cc7
+ jr c, .done
ld a, [hli]
ld [de], a
inc de
@@ -4592,23 +4651,25 @@
dec a
ld [de], a
inc a
- jr nz, .asm_35cba
+ jr nz, .okay
dec de
ld a, [de]
dec a
ld [de], a
-.asm_35cba
+.okay
ld a, [CriticalHit]
cp $2
- jr nz, .asm_35cc5
+ jr nz, .carry
xor a
ld [CriticalHit], a
-.asm_35cc5
+.carry
scf
ret
-.asm_35cc7
+
+.done
and a
ret
+
; 35cc9
@@ -4621,9 +4682,9 @@
ld de, PartyMon1Status
ld a, [hBattleTurn]
and a
- jr z, .asm_35cdb
+ jr z, .got_status
ld de, OTPartyMon1Status
-.asm_35cdb
+.got_status
ld a, BATTLE_VARS_STATUS
call GetBattleVarAddr
xor a
@@ -4631,12 +4692,12 @@
ld h, d
ld l, e
ld bc, PARTYMON_STRUCT_LENGTH
- ld d, PartyEnd - PartySpecies
-.asm_35ce9
+ ld d, PARTY_LENGTH
+.loop
ld [hl], a
add hl, bc
dec d
- jr nz, .asm_35ce9
+ jr nz, .loop
call AnimateCurrentMove
ld hl, BellChimedText
@@ -4646,6 +4707,7 @@
and a
jp z, CalcPlayerStats
jp CalcEnemyStats
+
; 35d00
@@ -4672,6 +4734,7 @@
callab PlayBattleAnim
ret
+
; 35d1c
@@ -4729,10 +4792,11 @@
ld [Buffer5], a
hlcoord 2, 2
xor a
- ld [wd10a], a
+ ld [wWhichHPBar], a
predef AnimateHPBar
.did_no_damage
jp RefreshBattleHuds
+
; 35d7e
@@ -4788,10 +4852,11 @@
ld [Buffer1], a
hlcoord 10, 9
ld a, $1
- ld [wd10a], a
+ ld [wWhichHPBar], a
predef AnimateHPBar
.did_no_damage
jp RefreshBattleHuds
+
; 35de0
@@ -4852,6 +4917,7 @@
call RefreshBattleHuds
.done
jp ResetDamage
+
; 35e40
@@ -4871,6 +4937,7 @@
call GetMoveData
call GetMoveName
jp CopyName1
+
; 35e5c
@@ -4944,6 +5011,7 @@
call AnimateFailedMove
pop hl
jp StdBattleTextBox
+
; 35ece
@@ -4974,6 +5042,7 @@
.dont_fail
xor a
ret
+
; 35eee
@@ -5011,6 +5080,7 @@
callba UseHeldStatusHealingItem
ret
+
; 35f2c
@@ -5101,6 +5171,7 @@
call AnimateFailedMove
pop hl
jp StdBattleTextBox
+
; 35fc0
@@ -5108,6 +5179,7 @@
call AnimateCurrentMove
call PoisonOpponent
jp RefreshBattleHuds
+
; 35fc9
@@ -5124,6 +5196,7 @@
call GetBattleVar
cp EFFECT_TOXIC
ret
+
; 35fe1
@@ -5141,6 +5214,7 @@
ld a, [de]
cp POISON
ret
+
; 35ff5
@@ -5149,6 +5223,7 @@
call GetBattleVarAddr
set PSN, [hl]
jp UpdateOpponentInParty
+
; 35fff
@@ -5157,6 +5232,7 @@
call SapHealth
ld hl, SuckedHealthText
jp StdBattleTextBox
+
; 36008
@@ -5165,6 +5241,7 @@
call SapHealth
ld hl, DreamEatenText
jp StdBattleTextBox
+
; 36011
@@ -5178,7 +5255,7 @@
rr a
ld [hDividend + 1], a
or b
- jr nz, .ok1 ; 0x36020 $4
+ jr nz, .ok1
ld a, $1
ld [hDividend + 1], a
.ok1
@@ -5186,7 +5263,7 @@
ld de, BattleMonMaxHP
ld a, [hBattleTurn]
and a
- jr z, .battlemonhp ; 0x3602f $6
+ jr z, .battlemonhp
ld hl, EnemyMonHP
ld de, EnemyMonMaxHP
.battlemonhp
@@ -5213,7 +5290,7 @@
adc b
ld [hli], a
ld [Buffer6], a
- jr c, .okay2 ; 0x36056 $c
+ jr c, .okay2
ld a, [hld]
ld b, a
ld a, [de]
@@ -5224,7 +5301,7 @@
ld a, [de]
inc de
sbc b
- jr nc, .okay3 ; 0x36062 $c
+ jr nc, .okay3
.okay2
ld a, [de]
ld [hld], a
@@ -5239,14 +5316,15 @@
and a
hlcoord 10, 9
ld a, $1
- jr z, .hp_bar ; 0x36078 $4
+ jr z, .hp_bar
hlcoord 2, 2
xor a
.hp_bar
- ld [wd10a], a
+ ld [wWhichHPBar], a
predef AnimateHPBar
call RefreshBattleHuds
jp UpdateBattleMonInParty
+
; 3608c
@@ -5254,7 +5332,7 @@
; burntarget
xor a
- ld [wcfca], a
+ ld [wNumHits], a
call CheckSubstituteOpp
ret nz
ld a, BATTLE_VARS_STATUS_OPP
@@ -5290,6 +5368,7 @@
callba UseHeldStatusHealingItem
ret
+
; 360dd
@@ -5317,6 +5396,7 @@
ld hl, DefrostedOpponentText
jp StdBattleTextBox
+
; 36102
@@ -5324,7 +5404,7 @@
; freezetarget
xor a
- ld [wcfca], a
+ ld [wNumHits], a
call CheckSubstituteOpp
ret nz
ld a, BATTLE_VARS_STATUS_OPP
@@ -5372,6 +5452,7 @@
.finish
ld [hl], $1
ret
+
; 36165
@@ -5379,7 +5460,7 @@
; paralyzetarget
xor a
- ld [wcfca], a
+ ld [wNumHits], a
call CheckSubstituteOpp
ret nz
ld a, BATTLE_VARS_STATUS_OPP
@@ -5410,6 +5491,7 @@
call PrintParalyze
ld hl, UseHeldStatusHealingItem
jp CallBattleCore
+
; 361ac
@@ -5417,58 +5499,72 @@
; attackup
ld b, ATTACK
jr BattleCommand_StatUp
+
BattleCommand_DefenseUp: ; 361b0
; defenseup
ld b, DEFENSE
jr BattleCommand_StatUp
+
BattleCommand_SpeedUp: ; 361b4
; speedup
ld b, SPEED
jr BattleCommand_StatUp
+
BattleCommand_SpecialAttackUp: ; 361b8
; specialattackup
ld b, SP_ATTACK
jr BattleCommand_StatUp
+
BattleCommand_SpecialDefenseUp: ; 361bc
; specialdefenseup
ld b, SP_DEFENSE
jr BattleCommand_StatUp
+
BattleCommand_AccuracyUp: ; 361c0
; accuracyup
ld b, ACCURACY
jr BattleCommand_StatUp
+
BattleCommand_EvasionUp: ; 361c4
; evasionup
ld b, EVASION
jr BattleCommand_StatUp
+
BattleCommand_AttackUp2: ; 361c8
; attackup2
ld b, $10 | ATTACK
jr BattleCommand_StatUp
+
BattleCommand_DefenseUp2: ; 361cc
; defenseup2
ld b, $10 | DEFENSE
jr BattleCommand_StatUp
+
BattleCommand_SpeedUp2: ; 361d0
; speedup2
ld b, $10 | SPEED
jr BattleCommand_StatUp
+
BattleCommand_SpecialAttackUp2: ; 361d4
; specialattackup2
ld b, $10 | SP_ATTACK
jr BattleCommand_StatUp
+
BattleCommand_SpecialDefenseUp2: ; 361d8
; specialdefenseup2
ld b, $10 | SP_DEFENSE
jr BattleCommand_StatUp
+
BattleCommand_AccuracyUp2: ; 361dc
; accuracyup2
ld b, $10 | ACCURACY
jr BattleCommand_StatUp
+
BattleCommand_EvasionUp2: ; 361e0
; evasionup2
ld b, $10 | EVASION
jr BattleCommand_StatUp
+
BattleCommand_StatUp: ; 361e4
; statup
call CheckIfStatCanBeRaised
@@ -5476,6 +5572,7 @@
and a
ret nz
jp StatUpAnimation
+
; 361ef
@@ -5485,7 +5582,7 @@
ld hl, PlayerStatLevels
ld a, [hBattleTurn]
and a
- jr z, .got_stat_levels ; 0x361f9 $3
+ jr z, .got_stat_levels
ld hl, EnemyStatLevels
.got_stat_levels
ld a, [AttackMissed]
@@ -5506,11 +5603,11 @@
jp c, .cant_raise_stat
ld a, [LoweredStat]
and $f0
- jr z, .got_num_stages ; 0x36222 $7
+ jr z, .got_num_stages
inc b
ld a, $d
cp b
- jr nc, .got_num_stages ; 0x36228 $1
+ jr nc, .got_num_stages
ld b, a
.got_num_stages
ld [hl], b
@@ -5517,12 +5614,12 @@
push hl
ld a, c
cp $5
- jr nc, .done_calcing_stats ; 0x36230 $36
+ jr nc, .done_calcing_stats
ld hl, BattleMonStats + 1
ld de, PlayerStats
ld a, [hBattleTurn]
and a
- jr z, .got_stats_pointer ; 0x3623b $6
+ jr z, .got_stats_pointer
ld hl, EnemyMonStats + 1
ld de, EnemyStats
.got_stats_pointer
@@ -5533,13 +5630,13 @@
ld a, c
add e
ld e, a
- jr nc, .no_carry ; 0x3624c $1
+ jr nc, .no_carry
inc d
.no_carry
pop bc
ld a, [hld]
sub 999 % $100
- jr nz, .not_already_max ; 0x36253 $6
+ jr nz, .not_already_max
ld a, [hl]
sbc 999 / $100
jp z, .stats_already_max
@@ -5546,9 +5643,10 @@
.not_already_max
ld a, [hBattleTurn]
and a
- jr z, .calc_player_stats ; 0x3625e $5
+ jr z, .calc_player_stats
call CalcEnemyStats
- jr .done_calcing_stats ; 0x36263 $3
+ jr .done_calcing_stats
+
.calc_player_stats
call CalcPlayerStats
.done_calcing_stats
@@ -5556,6 +5654,7 @@
xor a
ld [FailedMessage], a
ret
+
; 3626e
@@ -5572,6 +5671,7 @@
ld a, $1
ld [AttackMissed], a
ret
+
; 3627b
@@ -5579,17 +5679,18 @@
ld a, $1
ld [FailedMessage], a
ret
+
; 36281
StatUpAnimation: ; 36281
ld bc, wPlayerMinimized
- ld hl, Function3f447
+ ld hl, DropPlayerSub
ld a, [hBattleTurn]
and a
- jr z, .do_player ; 0x3628a $6
+ jr z, .do_player
ld bc, wEnemyMinimized
- ld hl, Function3f486
+ ld hl, DropEnemySub
.do_player
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
@@ -5606,6 +5707,7 @@
call CallBattleCore
call WaitBGMap
jp BattleCommand_MoveDelay
+
; 362ad
@@ -5613,54 +5715,67 @@
; attackdown
ld a, ATTACK
jr BattleCommand_StatDown
+
BattleCommand_DefenseDown: ; 362b1
; defensedown
ld a, DEFENSE
jr BattleCommand_StatDown
+
BattleCommand_SpeedDown: ; 362b5
; speeddown
ld a, SPEED
jr BattleCommand_StatDown
+
BattleCommand_SpecialAttackDown: ; 362b9
; specialattackdown
ld a, SP_ATTACK
jr BattleCommand_StatDown
+
BattleCommand_SpecialDefenseDown: ; 362bd
; specialdefensedown
ld a, SP_DEFENSE
jr BattleCommand_StatDown
+
BattleCommand_AccuracyDown: ; 362c1
; accuracydown
ld a, ACCURACY
jr BattleCommand_StatDown
+
BattleCommand_EvasionDown: ; 362c5
; evasiondown
ld a, EVASION
jr BattleCommand_StatDown
+
BattleCommand_AttackDown2: ; 362c9
; attackdown2
ld a, $10 | ATTACK
jr BattleCommand_StatDown
+
BattleCommand_DefenseDown2: ; 362cd
; defensedown2
ld a, $10 | DEFENSE
jr BattleCommand_StatDown
+
BattleCommand_SpeedDown2: ; 362d1
; speeddown2
ld a, $10 | SPEED
jr BattleCommand_StatDown
+
BattleCommand_SpecialAttackDown2: ; 362d5
; specialattackdown2
ld a, $10 | SP_ATTACK
jr BattleCommand_StatDown
+
BattleCommand_SpecialDefenseDown2: ; 362d9
; specialdefensedown2
ld a, $10 | SP_DEFENSE
jr BattleCommand_StatDown
+
BattleCommand_AccuracyDown2: ; 362dd
; accuracydown2
ld a, $10 | ACCURACY
jr BattleCommand_StatDown
+
BattleCommand_EvasionDown2: ; 362e1
; evasiondown2
ld a, $10 | EVASION
@@ -5787,6 +5902,7 @@
ld a, 1
ld [AttackMissed], a
ret
+
; 36391
@@ -5814,6 +5930,7 @@
call GetBattleVar
bit SUBSTATUS_MIST, a
ret
+
; 363b8
@@ -5832,7 +5949,6 @@
.stat
text_jump UnknownText_0x1c0cc6
start_asm
-
ld hl, .up
ld a, [LoweredStat]
and $f0
@@ -5866,7 +5982,6 @@
.stat
text_jump UnknownText_0x1c0ceb
start_asm
-
ld hl, .fell
ld a, [LoweredStat]
and $f0
@@ -5926,6 +6041,7 @@
ld a, 1
and a
ret
+
; 3644c
@@ -5946,6 +6062,7 @@
call GetStatName
ld hl, WontRiseAnymoreText
jp StdBattleTextBox
+
; 3646a
@@ -5969,6 +6086,7 @@
call GetStatName
ld hl, WontDropAnymoreText
jp StdBattleTextBox
+
; 3648f
@@ -5983,6 +6101,7 @@
cp c
jr z, .CheckName
jr .GetName
+
.Copy
ld de, StringBuffer2
ld bc, StringBuffer3 - StringBuffer2
@@ -6051,6 +6170,7 @@
xor a
ld [AttackMissed], a
ret
+
; 36532
@@ -6124,6 +6244,7 @@
ld a, 2
ld [FailedMessage], a
ret
+
; 3658f
@@ -6143,6 +6264,7 @@
ld hl, .ptrs
rst JumpTable
ret
+
.ptrs
dw BattleCommand_ParalyzeTarget ; paralyze
dw BattleCommand_FreezeTarget ; freeze
@@ -6156,6 +6278,7 @@
call GetBattleVarAddr
set SUBSTATUS_CURLED, [hl]
ret
+
; 365af
@@ -6163,7 +6286,7 @@
ld hl, GetMonBackpic
ld a, [hBattleTurn]
and a
- jr z, .PlayerTurn ; 365b5 $3
+ jr z, .PlayerTurn
ld hl, GetMonFrontpic
.PlayerTurn
xor a
@@ -6170,20 +6293,22 @@
ld [hBGMapMode], a
call CallBattleCore
jp WaitBGMap
+
; 365c3
BattleCommand_LowerSubNoAnim: ; 365c3
- ld hl, Function3f447
+ ld hl, DropPlayerSub
ld a, [hBattleTurn]
and a
- jr z, .PlayerTurn ; 365c9 $3
- ld hl, Function3f486
+ jr z, .PlayerTurn
+ ld hl, DropEnemySub
.PlayerTurn
xor a
ld [hBGMapMode], a
call CallBattleCore
jp WaitBGMap
+
; 365d7
@@ -6207,6 +6332,7 @@
call CallBattleCore
jp BattleCommand_SwitchTurn
+
; 365fd
@@ -6227,6 +6353,7 @@
call CallBattleCore
jp BattleCommand_SwitchTurn
+
; 3661d
@@ -6241,9 +6368,8 @@
dec c
ld b, 0
ld hl, StatLevelMultipliers
-rept 2
add hl, bc
-endr
+ add hl, bc
xor a
ld [hMultiplicand + 0], a
@@ -6299,6 +6425,7 @@
jr nz, .loop
ret
+
; 36671
@@ -6372,6 +6499,7 @@
ld hl, StoringEnergyText
call StdBattleTextBox
jp EndMoveEffect
+
; 366e5
@@ -6382,10 +6510,10 @@
ld bc, PlayerRolloutCount
ld a, [hBattleTurn]
and a
- jr z, .asm_366f6
+ jr z, .got_damage
ld de, EnemyDamageTaken
ld bc, EnemyRolloutCount
-.asm_366f6
+.got_damage
ld a, BATTLE_VARS_SUBSTATUS3
call GetBattleVarAddr
set SUBSTATUS_BIDE, [hl]
@@ -6397,14 +6525,14 @@
ld [wEnemyMoveStruct + MOVE_EFFECT], a
call BattleRandom
and 1
-rept 2
inc a
-endr
+ inc a
ld [bc], a
ld a, 1
ld [wKickCounter], a
call AnimateCurrentMove
jp EndMoveEffect
+
; 3671a
@@ -6414,7 +6542,7 @@
ld de, PlayerRolloutCount
ld a, [hBattleTurn]
and a
- jr z, .player ; 36720 $3
+ jr z, .player
ld de, EnemyRolloutCount
.player
ld a, BATTLE_VARS_SUBSTATUS3
@@ -6424,7 +6552,7 @@
ld a, [de]
dec a
ld [de], a
- jr nz, .continue_rampage ; 36730 $1a
+ jr nz, .continue_rampage
res SUBSTATUS_RAMPAGE, [hl]
call BattleCommand_SwitchTurn
@@ -6432,19 +6560,19 @@
push af
call BattleCommand_SwitchTurn
pop af
- jr nz, .continue_rampage ; 3673f $b
+ jr nz, .continue_rampage
set SUBSTATUS_CONFUSED, [hl]
call BattleRandom
and %00000001
-rept 2
inc a
-endr
+ inc a
inc de ; ConfuseCount
ld [de], a
.continue_rampage
ld b, rampage_command
jp SkipToBattleCommand
+
; 36751
@@ -6474,6 +6602,7 @@
ld a, 1
ld [wc73e], a
ret
+
; 36778
@@ -6515,12 +6644,12 @@
.loop_player
call BattleRandom
cp c
- jr nc, .loop_player ; 367b0 $fa
+ jr nc, .loop_player
; If that number is greater than 4 times your level, run away.
srl b
srl b
cp b
- jr nc, .run_away ; 367b7 $26
+ jr nc, .run_away
.failed
call AnimateFailedMove
@@ -6534,7 +6663,7 @@
ld b, a
ld a, [CurPartyLevel]
cp b
- jr nc, .run_away ; 367cd $10
+ jr nc, .run_away
add b
ld c, a
inc c
@@ -6541,15 +6670,15 @@
.loop_enemy
call BattleRandom
cp c
- jr nc, .loop_enemy ; 367d6 $fa
+ jr nc, .loop_enemy
srl b
srl b
cp b
- jr nc, .run_away ; 367dd $0
+ jr nc, .run_away
.run_away
call UpdateBattleMonInParty
xor a
- ld [wcfca], a
+ ld [wNumHits], a
inc a
ld [wForcedSwitch], a
ld [wKickCounter], a
@@ -6562,6 +6691,7 @@
ld hl, FledFromBattleText
jp StdBattleTextBox
+
; 36804
@@ -6571,6 +6701,7 @@
or $2
ld [wBattleResult], a
ret
+
; 3680f
@@ -6591,15 +6722,15 @@
jp nz, .force_player_switch
ld a, [AttackMissed]
and a
- jr nz, .missed ; 36830 $20
+ jr nz, .missed
ld a, [wBattleMode]
dec a
- jr nz, .trainer ; 36836 $31
+ jr nz, .trainer
ld a, [CurPartyLevel]
ld b, a
ld a, [BattleMonLevel]
cp b
- jr nc, .wild_force_flee ; 36840 $13
+ jr nc, .wild_force_flee
add b
ld c, a
inc c
@@ -6606,11 +6737,11 @@
.random_loop_wild
call BattleRandom
cp c
- jr nc, .random_loop_wild ; 36849 $fa
+ jr nc, .random_loop_wild
srl b
srl b
cp b
- jr nc, .wild_force_flee ; 36850 $3
+ jr nc, .wild_force_flee
.missed
jp .fail
@@ -6617,7 +6748,7 @@
.wild_force_flee
call UpdateBattleMonInParty
xor a
- ld [wcfca], a
+ ld [wNumHits], a
inc a
ld [wForcedSwitch], a
call SetBattleDraw
@@ -6626,10 +6757,10 @@
.trainer
call FindAliveEnemyMons
- jr c, .switch_fail ; 3686c $5c
+ jr c, .switch_fail
ld a, [wEnemyGoesFirst]
and a
- jr z, .switch_fail ; 36872 $56
+ jr z, .switch_fail
call UpdateEnemyMonInParty
ld a, $1
ld [wKickCounter], a
@@ -6650,9 +6781,9 @@
call BattleRandom
and $7
cp b
- jr nc, .random_loop_trainer ; 368a0 $f8
+ jr nc, .random_loop_trainer
cp c
- jr z, .random_loop_trainer ; 368a3 $f5
+ jr z, .random_loop_trainer
push af
push bc
ld hl, OTPartyMon1HP
@@ -6661,7 +6792,7 @@
or [hl]
pop bc
pop de
- jr z, .random_loop_trainer ; 368b1 $e7
+ jr z, .random_loop_trainer
ld a, d
inc a
ld [wEnemySwitchMonIndex], a
@@ -6710,7 +6841,7 @@
.wild_succeed_playeristarget
call UpdateBattleMonInParty
xor a
- ld [wcfca], a
+ ld [wNumHits], a
inc a
ld [wForcedSwitch], a
call SetBattleDraw
@@ -6792,6 +6923,7 @@
ld hl, BlownAwayText
.do_text
jp StdBattleTextBox
+
; 36994
@@ -6823,6 +6955,7 @@
.not_fainted
and a
ret
+
; 369b6
@@ -6835,87 +6968,91 @@
ld bc, PlayerDamageTaken
ld a, [hBattleTurn]
and a
- jr z, .asm_369c7
+ jr z, .got_addrs
ld de, EnemyRolloutCount
ld bc, EnemyDamageTaken
-.asm_369c7
+.got_addrs
ld a, BATTLE_VARS_SUBSTATUS3
call GetBattleVarAddr
bit SUBSTATUS_IN_LOOP, [hl]
- jp nz, .asm_36a43
+ jp nz, .in_loop
set SUBSTATUS_IN_LOOP, [hl]
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVarAddr
ld a, [hl]
cp EFFECT_TWINEEDLE
- jr z, .asm_36a3f
+ jr z, .twineedle
cp EFFECT_DOUBLE_HIT
- ld a, $1
- jr z, .asm_36a3a
+ ld a, 1
+ jr z, .double_hit
ld a, [hl]
cp EFFECT_BEAT_UP
- jr z, .asm_369fb
+ jr z, .beat_up
cp EFFECT_TRIPLE_KICK
- jr nz, .asm_36a2b
-.asm_369ec
+ jr nz, .not_triple_kick
+.reject_triple_kick_sample
call BattleRandom
and $3
- jr z, .asm_369ec
+ jr z, .reject_triple_kick_sample
dec a
- jr nz, .asm_36a3a
- ld a, $1
+ jr nz, .double_hit
+ ld a, 1
ld [bc], a
- jr .asm_36a48
-.asm_369fb
+ jr .done_loop
+
+.beat_up
ld a, [hBattleTurn]
and a
- jr nz, .asm_36a0b
+ jr nz, .check_ot_beat_up
ld a, [PartyCount]
- cp $1
- jp z, .asm_36a1e
+ cp 1
+ jp z, .only_one_beatup
dec a
- jr .asm_36a3a
-.asm_36a0b
+ jr .double_hit
+
+.check_ot_beat_up
ld a, [wBattleMode]
- cp $1
- jp z, .asm_36a1e
+ cp WILD_BATTLE
+ jp z, .only_one_beatup
ld a, [OTPartyCount]
- cp $1
- jp z, .asm_36a1e
+ cp 1
+ jp z, .only_one_beatup
dec a
- jr .asm_36a3a
+ jr .double_hit
-.asm_36a1e
+.only_one_beatup
ld a, BATTLE_VARS_SUBSTATUS3
call GetBattleVarAddr
res SUBSTATUS_IN_LOOP, [hl]
call BattleCommanda8
jp EndMoveEffect
-.asm_36a2b
+
+.not_triple_kick
call BattleRandom
and $3
- cp $2
- jr c, .asm_36a39
+ cp 2
+ jr c, .got_number_hits
call BattleRandom
and $3
-.asm_36a39
+.got_number_hits
inc a
-.asm_36a3a
+.double_hit
ld [de], a
inc a
ld [bc], a
- jr .asm_36a6b
-.asm_36a3f
- ld a, $1
- jr .asm_36a3a
+ jr .loop_back_to_critical
-.asm_36a43
+.twineedle
+ ld a, 1
+ jr .double_hit
+
+.in_loop
ld a, [de]
dec a
ld [de], a
- jr nz, .asm_36a6b
-.asm_36a48
+ jr nz, .loop_back_to_critical
+.done_loop
ld a, BATTLE_VARS_SUBSTATUS3
call GetBattleVarAddr
res SUBSTATUS_IN_LOOP, [hl]
@@ -6923,17 +7060,17 @@
ld hl, PlayerHitTimesText
ld a, [hBattleTurn]
and a
- jr z, .asm_36a5a
+ jr z, .got_hit_n_times_text
ld hl, EnemyHitTimesText
-.asm_36a5a
+.got_hit_n_times_text
push bc
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVar
cp EFFECT_BEAT_UP
- jr z, .asm_36a67
+ jr z, .beat_up_2
call StdBattleTextBox
-.asm_36a67
+.beat_up_2
pop bc
xor a
@@ -6941,15 +7078,15 @@
ret
; Loop back to the command before 'critical'.
-.asm_36a6b
+.loop_back_to_critical
ld a, [BattleScriptBufferLoc + 1]
ld h, a
ld a, [BattleScriptBufferLoc]
ld l, a
-.asm_36a73
+.not_critical
ld a, [hld]
- cp $5 ; critical
- jr nz, .asm_36a73
+ cp critical_command
+ jr nz, .not_critical
inc hl
ld a, h
ld [BattleScriptBufferLoc + 1], a
@@ -6956,6 +7093,7 @@
ld a, l
ld [BattleScriptBufferLoc], a
ret
+
; 36a82
@@ -6979,6 +7117,7 @@
ld a, 1
ld [AttackMissed], a
ret
+
; 36aa0
@@ -7007,6 +7146,7 @@
call GetBattleVarAddr
set SUBSTATUS_FLINCHED, [hl]
jp EndRechargeOpp
+
; 36abf
@@ -7020,6 +7160,7 @@
xor b ; 1 if opponent went first
pop bc
ret
+
; 36ac9
@@ -7050,6 +7191,7 @@
call GetBattleVarAddr
set SUBSTATUS_FLINCHED, [hl]
ret
+
; 36af3
@@ -7059,29 +7201,29 @@
call ResetDamage
ld a, [TypeModifier]
and $7f
- jr z, .asm_36b2f
+ jr z, .no_effect
ld hl, EnemyMonLevel
ld de, BattleMonLevel
ld bc, wPlayerMoveStruct + MOVE_ACC
ld a, [hBattleTurn]
and a
- jr z, .asm_36b12
+ jr z, .got_move_accuracy
push hl
ld h, d
ld l, e
pop de
ld bc, wEnemyMoveStruct + MOVE_ACC
-.asm_36b12
+.got_move_accuracy
ld a, [de]
sub [hl]
- jr c, .asm_36b2f
+ jr c, .no_effect
add a
ld e, a
ld a, [bc]
add e
- jr nc, .asm_36b1e
+ jr nc, .finish_ohko
ld a, $ff
-.asm_36b1e
+.finish_ohko
ld [bc], a
call BattleCommand_CheckHit
ld hl, CurDamage
@@ -7091,12 +7233,14 @@
ld a, $2
ld [CriticalHit], a
ret
-.asm_36b2f
+
+.no_effect
ld a, $ff
ld [CriticalHit], a
ld a, $1
ld [AttackMissed], a
ret
+
; 36b3a
@@ -7112,6 +7256,7 @@
res SUBSTATUS_FLYING, [hl]
ld b, charge_command
jp SkipToBattleCommand
+
; 36b4d
@@ -7141,7 +7286,7 @@
call BattleCommand_LowerSub
xor a
- ld [wcfca], a
+ ld [wNumHits], a
inc a
ld [wKickCounter], a
call LoadMoveAnim
@@ -7153,6 +7298,7 @@
jr z, .flying
call BattleCommand_RaiseSub
jr .not_flying
+
.flying
call DisappearUser
.not_flying
@@ -7197,7 +7343,6 @@
.UsedText
text_jump UnknownText_0x1c0d0e ; "[USER]"
start_asm
-
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
cp RAZOR_WIND
@@ -7261,6 +7406,7 @@
BattleCommand3c: ; 36c2c
; unused
ret
+
; 36c2d
@@ -7274,11 +7420,11 @@
ld de, wEnemyTrappingMove
ld a, [hBattleTurn]
and a
- jr z, .asm_36c43
+ jr z, .got_trap
ld hl, wPlayerWrapCount
ld de, wPlayerTrappingMove
-.asm_36c43
+.got_trap
ld a, [hl]
and a
ret nz
@@ -7298,16 +7444,15 @@
ld b, a
ld hl, .Traps
-.asm_36c61
+.find_trap_text
ld a, [hli]
cp b
- jr z, .asm_36c69
-rept 2
+ jr z, .found_trap_text
inc hl
-endr
- jr .asm_36c61
+ inc hl
+ jr .find_trap_text
-.asm_36c69
+.found_trap_text
ld a, [hli]
ld h, [hl]
ld l, a
@@ -7328,14 +7473,16 @@
ld a, BATTLE_VARS_SUBSTATUS4
call GetBattleVarAddr
bit SUBSTATUS_MIST, [hl]
- jr nz, .asm_36c92
+ jr nz, .already_mist
set SUBSTATUS_MIST, [hl]
call AnimateCurrentMove
ld hl, MistText
jp StdBattleTextBox
-.asm_36c92
+
+.already_mist
call AnimateFailedMove
jp PrintButItFailed
+
; 36c98
@@ -7345,14 +7492,16 @@
ld a, BATTLE_VARS_SUBSTATUS4
call GetBattleVarAddr
bit SUBSTATUS_FOCUS_ENERGY, [hl]
- jr nz, .asm_36cac
+ jr nz, .already_pumped
set SUBSTATUS_FOCUS_ENERGY, [hl]
call AnimateCurrentMove
ld hl, GettingPumpedText
jp StdBattleTextBox
-.asm_36cac
+
+.already_pumped
call AnimateFailedMove
jp PrintButItFailed
+
; 36cb2
@@ -7362,12 +7511,13 @@
ld hl, BattleMonMaxHP
ld a, [hBattleTurn]
and a
- jr z, .asm_36cbd
+ jr z, .got_hp
ld hl, EnemyMonMaxHP
-.asm_36cbd
+.got_hp
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
ld d, a
+; get 1/4 damage or 1 HP, whichever is higher
ld a, [CurDamage]
ld b, a
ld a, [CurDamage + 1]
@@ -7378,16 +7528,15 @@
rr c
ld a, b
or c
- jr nz, .asm_36cd8
+ jr nz, .min_damage
inc c
-.asm_36cd8
+.min_damage
ld a, [hli]
ld [Buffer2], a
ld a, [hl]
ld [Buffer1], a
-rept 2
dec hl
-endr
+ dec hl
ld a, [hl]
ld [Buffer3], a
sub c
@@ -7398,7 +7547,7 @@
sbc b
ld [hl], a
ld [Buffer6], a
- jr nc, .asm_36cfe
+ jr nc, .dont_ko
xor a
ld [hli], a
ld [hl], a
@@ -7405,20 +7554,21 @@
ld hl, Buffer5
ld [hli], a
ld [hl], a
-.asm_36cfe
+.dont_ko
hlcoord 10, 9
ld a, [hBattleTurn]
and a
- ld a, $1
- jr z, .asm_36d0c
+ ld a, 1
+ jr z, .animate_hp_bar
hlcoord 2, 2
xor a
-.asm_36d0c
- ld [wd10a], a
+.animate_hp_bar
+ ld [wWhichHPBar], a
predef AnimateHPBar
call RefreshBattleHuds
ld hl, RecoilText
jp StdBattleTextBox
+
; 36d1d
@@ -7440,7 +7590,7 @@
call GetBattleVarAddr
bit SUBSTATUS_CONFUSED, [hl]
ret nz
- jr Function36d70
+ jr BattleCommand_FinishConfusingTarget
BattleCommand_Confuse: ; 36d3b
@@ -7449,7 +7599,7 @@
call GetOpponentItem
ld a, b
cp HELD_PREVENT_CONFUSE
- jr nz, .asm_36d53
+ jr nz, .no_item_protection
ld a, [hl]
ld [wNamedObjectIndexBuffer], a
call GetItemName
@@ -7457,53 +7607,47 @@
ld hl, ProtectedByText
jp StdBattleTextBox
-.asm_36d53
+.no_item_protection
ld a, BATTLE_VARS_SUBSTATUS3_OPP
call GetBattleVarAddr
bit SUBSTATUS_CONFUSED, [hl]
- jr z, .asm_36d65
+ jr z, .not_already_confused
call AnimateFailedMove
ld hl, AlreadyConfusedText
jp StdBattleTextBox
-.asm_36d65
+.not_already_confused
call CheckSubstituteOpp
- jr nz, Function36db6
+ jr nz, BattleCommand_Confuse_CheckSnore_Swagger_ConfuseHit
ld a, [AttackMissed]
and a
- jr nz, Function36db6
-
- ; fallthrough
-; 36d70
-
-
-Function36d70: ; 36d70
+ jr nz, BattleCommand_Confuse_CheckSnore_Swagger_ConfuseHit
+BattleCommand_FinishConfusingTarget: ; 36d70
ld bc, EnemyConfuseCount
ld a, [hBattleTurn]
and a
- jr z, .asm_36d7b
+ jr z, .got_confuse_count
ld bc, PlayerConfuseCount
-.asm_36d7b
+.got_confuse_count
set SUBSTATUS_CONFUSED, [hl]
call BattleRandom
and 3
-rept 2
inc a
-endr
+ inc a
ld [bc], a
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVar
cp EFFECT_CONFUSE_HIT
- jr z, .asm_36d99
+ jr z, .got_effect
cp EFFECT_SNORE
- jr z, .asm_36d99
+ jr z, .got_effect
cp EFFECT_SWAGGER
- jr z, .asm_36d99
+ jr z, .got_effect
call AnimateCurrentMove
-.asm_36d99
+.got_effect
ld de, ANIM_CONFUSED
call PlayOpponentBattleAnim
@@ -7513,15 +7657,16 @@
call GetOpponentItem
ld a, b
cp HELD_HEAL_STATUS
- jr z, .asm_36db0
+ jr z, .heal_confusion
cp HELD_HEAL_CONFUSION
ret nz
-.asm_36db0
- ld hl, HandleStatusHealingItem
+.heal_confusion
+ ld hl, UseConfusionHealingItem
jp CallBattleCore
+
; 36db6
-Function36db6: ; 36db6
+BattleCommand_Confuse_CheckSnore_Swagger_ConfuseHit: ; 36db6
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVar
cp EFFECT_CONFUSE_HIT
@@ -7531,6 +7676,7 @@
cp EFFECT_SWAGGER
ret z
jp PrintDidntAffect2
+
; 36dc7
@@ -7540,14 +7686,14 @@
ld a, BATTLE_VARS_STATUS_OPP
call GetBattleVar
bit PAR, a
- jr nz, .asm_36e49
+ jr nz, .paralyzed
ld a, [TypeModifier]
and $7f
- jr z, .asm_36e55
+ jr z, .didnt_affect
call GetOpponentItem
ld a, b
cp HELD_PREVENT_PARALYZE
- jr nz, .asm_36def
+ jr nz, .no_item_protection
ld a, [hl]
ld [wNamedObjectIndexBuffer], a
call GetItemName
@@ -7555,37 +7701,37 @@
ld hl, ProtectedByText
jp StdBattleTextBox
-.asm_36def
+.no_item_protection
ld a, [hBattleTurn]
and a
- jr z, .asm_36e0e
+ jr z, .dont_sample_failure
ld a, [wLinkMode]
and a
- jr nz, .asm_36e0e
+ jr nz, .dont_sample_failure
ld a, [InBattleTowerBattle]
and a
- jr nz, .asm_36e0e
+ jr nz, .dont_sample_failure
ld a, [PlayerSubStatus5]
bit SUBSTATUS_LOCK_ON, a
- jr nz, .asm_36e0e
+ jr nz, .dont_sample_failure
call BattleRandom
- cp $40
- jr c, .asm_36e52
+ cp 1 + 25 percent
+ jr c, .failed
-.asm_36e0e
+.dont_sample_failure
ld a, BATTLE_VARS_STATUS_OPP
call GetBattleVarAddr
and a
- jr nz, .asm_36e52
+ jr nz, .failed
ld a, [AttackMissed]
and a
- jr nz, .asm_36e52
+ jr nz, .failed
call CheckSubstituteOpp
- jr nz, .asm_36e52
+ jr nz, .failed
ld c, 30
call DelayFrames
call AnimateCurrentMove
@@ -7601,15 +7747,19 @@
call PrintParalyze
ld hl, UseHeldStatusHealingItem
jp CallBattleCore
-.asm_36e49
+
+.paralyzed
call AnimateFailedMove
ld hl, AlreadyParalyzedText
jp StdBattleTextBox
-.asm_36e52
+
+.failed
jp PrintDidntAffect2
-.asm_36e55
+
+.didnt_affect
call AnimateFailedMove
jp PrintDoesntAffect
+
; 36e5b
@@ -7647,6 +7797,7 @@
and a
pop hl
ret
+
; 36e7c
@@ -7674,9 +7825,8 @@
rr b
srl a
rr b
-rept 2
dec hl
-endr
+ dec hl
ld a, b
ld [de], a
ld a, [hld]
@@ -7713,7 +7863,7 @@
jr c, .mobile
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld [FXAnimIDHi], a
ld [wKickCounter], a
ld a, SUBSTITUTE
@@ -7739,6 +7889,7 @@
ld hl, TooWeakSubText
.jp_stdbattletextbox
jp StdBattleTextBox
+
; 36f0b
BattleCommand_RechargeNextTurn: ; 36f0b
@@ -7747,6 +7898,7 @@
call GetBattleVarAddr
set SUBSTATUS_RECHARGE, [hl]
ret
+
; 36f13
@@ -7757,6 +7909,7 @@
res SUBSTATUS_RECHARGE, [hl]
pop hl
ret
+
; 36f1d
@@ -7766,6 +7919,7 @@
call GetBattleVarAddr
set SUBSTATUS_RAGE, [hl]
ret
+
; 36f25
@@ -7776,6 +7930,7 @@
bit SUBSTATUS_FLYING, a
ret z
jr DoubleDamage
+
; 36f2f
@@ -7802,6 +7957,7 @@
ld [hl], a
.quit
ret
+
; 36f46
@@ -7855,6 +8011,7 @@
.fail
jp FailMimic
+
; 36f9d
@@ -7898,6 +8055,7 @@
call AnimateFailedMove
ld hl, EvadedText
jp StdBattleTextBox
+
; 36fe1
@@ -7905,6 +8063,7 @@
call AnimateCurrentMove
callba MobileFn_1060e5
jp PrintNothingHappened
+
; 36fed
@@ -7913,51 +8072,51 @@
ld a, [AttackMissed]
and a
- jr nz, .asm_37059
+ jr nz, .failed
ld de, EnemyDisableCount
ld hl, EnemyMonMoves
ld a, [hBattleTurn]
and a
- jr z, .asm_37004
+ jr z, .got_moves
ld de, PlayerDisableCount
ld hl, BattleMonMoves
-.asm_37004
+.got_moves
ld a, [de]
and a
- jr nz, .asm_37059
+ jr nz, .failed
ld a, BATTLE_VARS_LAST_COUNTER_MOVE_OPP
call GetBattleVar
and a
- jr z, .asm_37059
+ jr z, .failed
cp STRUGGLE
- jr z, .asm_37059
+ jr z, .failed
ld b, a
ld c, $ff
-.asm_37017
+.loop
inc c
ld a, [hli]
cp b
- jr nz, .asm_37017
+ jr nz, .loop
ld a, [hBattleTurn]
and a
ld hl, EnemyMonPP
- jr z, .asm_37027
+ jr z, .got_pp
ld hl, BattleMonPP
-.asm_37027
+.got_pp
ld b, 0
add hl, bc
ld a, [hl]
and a
- jr z, .asm_37059
-.asm_3702e
+ jr z, .failed
+.loop2
call BattleRandom
and 7
- jr z, .asm_3702e
+ jr z, .loop2
inc a
inc c
swap c
@@ -7967,9 +8126,9 @@
ld hl, DisabledMove
ld a, [hBattleTurn]
and a
- jr nz, .asm_37047
+ jr nz, .got_disabled_move_pointer
inc hl
-.asm_37047
+.got_disabled_move_pointer
ld a, BATTLE_VARS_LAST_COUNTER_MOVE_OPP
call GetBattleVar
ld [hl], a
@@ -7977,8 +8136,10 @@
call GetMoveName
ld hl, WasDisabledText
jp StdBattleTextBox
-.asm_37059
+
+.failed
jp FailDisable
+
; 3705c
@@ -8008,6 +8169,7 @@
.done
ld hl, CoinsScatteredText
jp StdBattleTextBox
+
; 3707f
@@ -8018,14 +8180,14 @@
ld de, BattleMonType1
ld a, [hBattleTurn]
and a
- jr z, .asm_37090
+ jr z, .got_moves
ld hl, EnemyMonMoves
ld de, EnemyMonType1
-.asm_37090
+.got_moves
push de
ld c, 0
ld de, StringBuffer1
-.asm_37096
+.loop
push hl
ld b, 0
add hl, bc
@@ -8032,7 +8194,7 @@
ld a, [hl]
pop hl
and a
- jr z, .asm_370b2
+ jr z, .okay
push hl
push bc
dec a
@@ -8045,8 +8207,8 @@
inc c
ld a, c
cp NUM_MOVES
- jr c, .asm_37096
-.asm_370b2
+ jr c, .loop
+.okay
ld a, $ff
ld [de], a
inc de
@@ -8055,28 +8217,30 @@
ld [de], a
pop de
ld hl, StringBuffer1
-.asm_370bd
+.loop2
ld a, [hl]
- cp $ff
- jr z, .asm_370d3
+ cp -1
+ jr z, .fail
cp CURSE_T
- jr z, .asm_370d0
+ jr z, .next
ld a, [de]
cp [hl]
- jr z, .asm_370d0
+ jr z, .next
inc de
ld a, [de]
dec de
cp [hl]
- jr nz, .asm_370d9_a
-.asm_370d0
+ jr nz, .done
+.next
inc hl
- jr .asm_370bd
-.asm_370d3
+ jr .loop2
+
+.fail
call AnimateFailedMove
jp PrintButItFailed
-.asm_370d9_a
-.asm_370d9_b
+
+.done
+.loop3
call BattleRandom
and 3 ; TODO factor in NUM_MOVES
ld c, a
@@ -8084,18 +8248,18 @@
ld hl, StringBuffer1
add hl, bc
ld a, [hl]
- cp $ff
- jr z, .asm_370d9_b
+ cp -1
+ jr z, .loop3
cp CURSE_T
- jr z, .asm_370d9_b
+ jr z, .loop3
ld a, [de]
cp [hl]
- jr z, .asm_370d9_b
+ jr z, .loop3
inc de
ld a, [de]
dec de
cp [hl]
- jr z, .asm_370d9_b
+ jr z, .loop3
ld a, [hl]
ld [de], a
inc de
@@ -8105,6 +8269,7 @@
call AnimateCurrentMove
ld hl, TransformedTypeText
jp StdBattleTextBox
+
; 3710e
@@ -8140,6 +8305,7 @@
dec b
jr nz, .next
ret
+
; 3713e
@@ -8150,10 +8316,10 @@
ld hl, BattleMonMaxHP
ld a, [hBattleTurn]
and a
- jr z, .asm_3714f
+ jr z, .got_hp
ld de, EnemyMonHP
ld hl, EnemyMonMaxHP
-.asm_3714f
+.got_hp
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
ld b, a
@@ -8165,10 +8331,11 @@
pop bc
pop de
pop hl
- jp z, .asm_371c4
+ jp z, .hp_full
ld a, b
cp REST
- jr nz, .asm_37199
+ jr nz, .not_rest
+
push hl
push de
push af
@@ -8182,30 +8349,33 @@
and a
ld [hl], REST_TURNS + 1
ld hl, WentToSleepText
- jr z, .asm_37186
+ jr z, .no_status_to_heal
ld hl, RestedText
-.asm_37186
+.no_status_to_heal
call StdBattleTextBox
ld a, [hBattleTurn]
and a
- jr nz, .asm_37193
+ jr nz, .calc_enemy_stats
call CalcPlayerStats
- jr .asm_37196
-.asm_37193
+ jr .got_stats
+
+.calc_enemy_stats
call CalcEnemyStats
-.asm_37196
+.got_stats
pop af
pop de
pop hl
-.asm_37199
- jr z, .asm_371a3
+
+.not_rest
+ jr z, .restore_full_hp
ld hl, GetHalfMaxHP
call CallBattleCore
- jr .asm_371a9
-.asm_371a3
+ jr .finish
+
+.restore_full_hp
ld hl, GetMaxHP
call CallBattleCore
-.asm_371a9
+.finish
call AnimateCurrentMove
call BattleCommand_SwitchTurn
ld hl, RestoreHP
@@ -8216,10 +8386,11 @@
ld hl, RegainedHealthText
jp StdBattleTextBox
-.asm_371c4
+.hp_full
call AnimateFailedMove
ld hl, HPIsFullText
jp StdBattleTextBox
+
; 371cd
@@ -8230,11 +8401,11 @@
ld a, BATTLE_VARS_SUBSTATUS5_OPP
call GetBattleVarAddr
bit SUBSTATUS_TRANSFORMED, [hl]
- jp nz, Function372d2
+ jp nz, BattleEffect_ButItFailed
call CheckHiddenOpponent
- jp nz, Function372d2
+ jp nz, BattleEffect_ButItFailed
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld [FXAnimIDHi], a
ld a, $1
ld [wKickCounter], a
@@ -8266,9 +8437,8 @@
ld a, [hli]
ld [de], a
inc hl
-rept 2
inc de
-endr
+ inc de
ld bc, NUM_MOVES
call CopyBytes
ld a, [hBattleTurn]
@@ -8347,12 +8517,13 @@
jr nz, .mimic_anims
call LoadMoveAnim
jr .after_anim
+
.mimic_anims
call BattleCommand_MoveDelay
call BattleCommand_RaiseSubNoAnim
.after_anim
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld [FXAnimIDHi], a
ld a, $2
ld [wKickCounter], a
@@ -8361,6 +8532,7 @@
call nz, LoadAnim
ld hl, TransformedText
jp StdBattleTextBox
+
; 372c6
@@ -8378,12 +8550,14 @@
pop de
.copy
jp CopyBytes
+
; 372d2
-Function372d2: ; 372d2
+BattleEffect_ButItFailed: ; 372d2
call AnimateFailedMove
jp PrintButItFailed
+
; 372d8
@@ -8398,6 +8572,7 @@
xor a
ld [hl], a
ret
+
; 372e7
@@ -8416,6 +8591,7 @@
ld [PlayerDisableCount], a
ld [DisabledMove], a
ret
+
; 372fc
@@ -8426,11 +8602,11 @@
ld bc, PlayerLightScreenCount
ld a, [hBattleTurn]
and a
- jr z, .asm_3730d
+ jr z, .got_screens_pointer
ld hl, EnemyScreens
ld bc, EnemyLightScreenCount
-.asm_3730d
+.got_screens_pointer
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVar
cp EFFECT_LIGHT_SCREEN
@@ -8442,7 +8618,7 @@
ld a, 5
ld [bc], a
ld hl, LightScreenEffectText
- jr .asm_37331
+ jr .good
.Reflect
bit SCREENS_REFLECT, [hl]
@@ -8456,7 +8632,7 @@
ld [bc], a
ld hl, ReflectEffectText
-.asm_37331
+.good
call AnimateCurrentMove
jp StdBattleTextBox
@@ -8463,6 +8639,7 @@
.failed
call AnimateFailedMove
jp PrintButItFailed
+
; 3733d
@@ -8470,6 +8647,7 @@
; 'it doesn't affect'
ld hl, DoesntAffectText
jp StdBattleTextBox
+
; 37343
@@ -8477,6 +8655,7 @@
; 'but nothing happened!'
ld hl, NothingHappenedText
jp StdBattleTextBox
+
; 37349
@@ -8493,6 +8672,7 @@
; 'but it failed!'
ld hl, ButItFailedText
jp StdBattleTextBox
+
; 37354
@@ -8510,6 +8690,7 @@
ld hl, ButItFailedText ; 'but it failed!'
ld de, ItFailedText ; 'it failed!'
jp FailText_CheckOpponentProtect
+
; 37360
@@ -8517,6 +8698,7 @@
; 'it didn't affect'
ld hl, DidntAffect1Text
jp StdBattleTextBox
+
; 37366
@@ -8525,6 +8707,7 @@
ld hl, DidntAffect1Text ; 'it didn't affect'
ld de, DidntAffect2Text ; 'it didn't affect'
jp FailText_CheckOpponentProtect
+
; 37372
@@ -8532,6 +8715,7 @@
; 'paralyzed! maybe it can't attack!'
ld hl, ParalyzedText
jp StdBattleTextBox
+
; 37378
@@ -8540,6 +8724,7 @@
call GetBattleVar
bit SUBSTATUS_SUBSTITUTE, a
ret
+
; 37380
@@ -8546,7 +8731,7 @@
BattleCommand_SelfDestruct: ; 37380
callba MobileFn_10610d
ld a, BATTLEANIM_PLAYER_DAMAGE
- ld [wcfca], a
+ ld [wNumHits], a
ld c, 3
call DelayFrames
ld a, BATTLE_VARS_STATUS
@@ -8572,6 +8757,7 @@
callba DrawEnemyHUD
call WaitBGMap
jp RefreshBattleHuds
+
; 373c9
@@ -8603,6 +8789,7 @@
ld a, 1
and a
ret
+
; 3747b
@@ -8619,6 +8806,7 @@
ld [AlreadyDisobeyed], a
call DoMove
jp EndMoveEffect
+
; 37492
@@ -8650,6 +8838,7 @@
.failed
call AnimateFailedMove
jp PrintButItFailed
+
; 37536
@@ -8686,6 +8875,7 @@
call RefreshBattleHuds
ld hl, WasDefrostedText
jp StdBattleTextBox
+
; 37588
@@ -8709,6 +8899,7 @@
BattleCommand5d: ; 37791
; unused
ret
+
; 37792
@@ -8751,6 +8942,7 @@
ld [hli], a
ld [hl], a
ret
+
; 377be
@@ -8770,6 +8962,7 @@
pop hl
ret
+
; 377ce
@@ -8800,6 +8993,7 @@
ld d, a
pop bc
ret
+
; 37874
@@ -8812,9 +9006,9 @@
ld hl, BattleMonHappiness
ld a, [hBattleTurn]
and a
- jr z, .asm_3791a ; 37915 $3
+ jr z, .got_happiness
ld hl, EnemyMonHappiness
-.asm_3791a
+.got_happiness
ld a, $ff
sub [hl]
ld [hMultiplicand + 2], a
@@ -8832,6 +9026,7 @@
ld d, a
pop bc
ret
+
; 37939
@@ -8854,9 +9049,11 @@
call AnimateCurrentMove
ld hl, CoveredByVeilText
jp StdBattleTextBox
+
.failed
call AnimateFailedMove
jp PrintButItFailed
+
; 37962
@@ -8872,6 +9069,7 @@
bit SCREENS_SAFEGUARD, [hl]
pop hl
ret
+
; 37972
@@ -8880,7 +9078,7 @@
ld hl, EnemyScreens
ld a, [hBattleTurn]
and a
- jr z, .got_turn ; 37978 $3
+ jr z, .got_turn
ld hl, PlayerScreens
.got_turn
bit SCREENS_SAFEGUARD, [hl]
@@ -8891,6 +9089,7 @@
ld hl, SafeguardProtectText
call StdBattleTextBox
jp EndMoveEffect
+
; 37991
@@ -8905,10 +9104,10 @@
ld a, [hli]
cp b
jr nc, .ok
-rept 2
inc hl
-endr
+ inc hl
jr .loop
+
.ok
ld d, [hl]
push de
@@ -8954,7 +9153,7 @@
; Transition into switchmon menu
call LoadStandardMenuDataHeader
- callba Function3d2f7
+ callba SetUpBattlePartyMenu_NoLoop
callba ForcePickSwitchMonInBattle
@@ -8961,12 +9160,12 @@
; Return to battle scene
call ClearPalettes
callba _LoadBattleFontsHPBar
- call WriteBackup
+ call CloseWindow
call ClearSprites
hlcoord 1, 0
lb bc, 4, 10
call ClearBox
- ld b, SCGB_01
+ ld b, SCGB_BATTLE_COLORS
call GetSGBLayout
call SetPalettes
call BatonPass_LinkPlayerSwitch
@@ -9016,6 +9215,7 @@
call CallBattleCore
jr ResetBatonPassStatus
+
; 37a67
@@ -9025,16 +9225,17 @@
ret z
ld a, 1
- ld [wd0ec], a
+ ld [wPlayerAction], a
call LoadStandardMenuDataHeader
ld hl, LinkBattleSendReceiveAction
call CallBattleCore
- call WriteBackup
+ call CloseWindow
xor a
- ld [wd0ec], a
+ ld [wPlayerAction], a
ret
+
; 37a82
@@ -9061,7 +9262,8 @@
add BATTLEACTION_SWITCH1
ld [wBattleAction], a
.switch
- jp WriteBackup
+ jp CloseWindow
+
; 37aab
@@ -9068,6 +9270,7 @@
FailedBatonPass: ; 37aab
call AnimateFailedMove
jp PrintButItFailed
+
; 37ab1
@@ -9109,6 +9312,7 @@
ld [wPlayerWrapCount], a
ld [wEnemyWrapCount], a
ret
+
; 37ae9
@@ -9119,6 +9323,7 @@
ld a, [CurBattleMon]
ld e, a
jr CheckAnyOtherAliveMons
+
; 37af6
@@ -9167,6 +9372,7 @@
ld a, b
and a
ret
+
; 37b1d
@@ -9194,6 +9400,7 @@
ld [hli], a
ld [hl], a
ret
+
; 37b39
@@ -9203,28 +9410,28 @@
ld a, BATTLE_VARS_SUBSTATUS4
call GetBattleVarAddr
bit SUBSTATUS_LEECH_SEED, [hl]
- jr z, .asm_37b4a ; 37b40 $8
+ jr z, .not_leeched
res SUBSTATUS_LEECH_SEED, [hl]
ld hl, ShedLeechSeedText
call StdBattleTextBox
-.asm_37b4a
+.not_leeched
ld hl, PlayerScreens
ld de, wPlayerWrapCount
ld a, [hBattleTurn]
and a
- jr z, .asm_37b5b ; 37b53 $6
+ jr z, .got_screens_wrap
ld hl, EnemyScreens
ld de, wEnemyWrapCount
-.asm_37b5b
+.got_screens_wrap
bit SCREENS_SPIKES, [hl]
- jr z, .asm_37b69 ; 37b5d $a
+ jr z, .no_spikes
res SCREENS_SPIKES, [hl]
ld hl, BlewSpikesText
push de
call StdBattleTextBox
pop de
-.asm_37b69
+.no_spikes
ld a, [de]
and a
@@ -9233,6 +9440,7 @@
ld [de], a
ld hl, ReleasedByText
jp StdBattleTextBox
+
; 37b74
@@ -9239,13 +9447,15 @@
BattleCommand_HealMorn: ; 37b74
; healmorn
ld b, MORN
- jr BattleCommand_HealMorn6c
+ jr BattleCommand_TimeBasedHealContinue
+
; 37b78
BattleCommand_HealDay: ; 37b78
; healday
ld b, DAY
- jr BattleCommand_HealMorn6c
+ jr BattleCommand_TimeBasedHealContinue
+
; 37b7c
BattleCommand_HealNite: ; 37b7c
@@ -9254,7 +9464,7 @@
; fallthrough
; 37b7e
-BattleCommand_HealMorn6c: ; 37b7e
+BattleCommand_TimeBasedHealContinue: ; 37b7e
; Time- and weather-sensitive heal.
ld hl, BattleMonMaxHP
@@ -9284,7 +9494,7 @@
ld a, [TimeOfDay]
cp b
jr z, .Weather
- dec c
+ dec c ; double
.Weather
ld a, [Weather]
@@ -9296,16 +9506,14 @@
inc c
cp WEATHER_SUN
jr z, .Heal
-rept 2
dec c
-endr
+ dec c
.Heal
ld b, 0
ld hl, .Multipliers
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
@@ -9348,6 +9556,7 @@
ret nz
callba HiddenPowerDamage
ret
+
; 37bf4
@@ -9360,6 +9569,7 @@
call AnimateCurrentMove
ld hl, DownpourText
jp StdBattleTextBox
+
; 37c07
@@ -9372,6 +9582,7 @@
call AnimateCurrentMove
ld hl, SunGotBrightText
jp StdBattleTextBox
+
; 37c1a
@@ -9409,6 +9620,7 @@
.failed
call AnimateFailedMove
jp PrintButItFailed
+
; 37c55
@@ -9419,7 +9631,7 @@
ld de, PlayerStatLevels
ld a, [hBattleTurn]
and a
- jr z, .pointers_correct ; 37c5e $4
+ jr z, .pointers_correct
; It's the enemy's turn, so swap the pointers.
push hl
ld h, d
@@ -9433,9 +9645,9 @@
.loop
ld a, [hli]
cp BASE_STAT_LEVEL
- jr nz, .break ; 37c6a $a
+ jr nz, .break
dec b
- jr nz, .loop ; 37c6d $f8
+ jr nz, .loop
pop hl
call AnimateFailedMove
jp PrintButItFailed
@@ -9448,12 +9660,12 @@
ld [de], a
inc de
dec b
- jr nz, .loop2 ; 37c7d $fa
+ jr nz, .loop2
ld a, [hBattleTurn]
and a
- jr nz, .calc_enemy_stats ; 37c82 $5
+ jr nz, .calc_enemy_stats
call CalcPlayerStats
- jr .merge ; 37c87 $3
+ jr .merge
.calc_enemy_stats
call CalcEnemyStats
@@ -9461,6 +9673,7 @@
call AnimateCurrentMove
ld hl, CopiedStatsText
jp StdBattleTextBox
+
; 37c95
@@ -9523,6 +9736,7 @@
xor a
ld [AttackMissed], a
ret
+
; 37ce6
@@ -9547,6 +9761,7 @@
ld [hli], a
ld [hl], a
ret
+
; 37d02
@@ -9557,6 +9772,7 @@
ret nz
ld b, charge_command
jp SkipToBattleCommand
+
; 37d0d
@@ -9564,12 +9780,12 @@
; checkfuturesight
ld hl, wPlayerFutureSightCount
- ld de, wc727
+ ld de, wPlayerFutureSightDamage
ld a, [hBattleTurn]
and a
jr z, .ok
ld hl, wEnemyFutureSightCount
- ld de, wc729
+ ld de, wEnemyFutureSightDamage
.ok
ld a, [hl]
@@ -9586,6 +9802,7 @@
ld [CurDamage + 1], a
ld b, futuresight_command
jp SkipToBattleCommand
+
; 37d34
BattleCommand_FutureSight: ; 37d34
@@ -9592,7 +9809,7 @@
; futuresight
call CheckUserIsCharging
- jr nz, .asm_37d4b ; 37d37 $12
+ jr nz, .AlreadyChargingFutureSight
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
ld b, a
@@ -9602,17 +9819,17 @@
ld a, BATTLE_VARS_LAST_MOVE
call GetBattleVarAddr
ld [hl], b
-.asm_37d4b
+.AlreadyChargingFutureSight
ld hl, wPlayerFutureSightCount
ld a, [hBattleTurn]
and a
- jr z, .asm_37d56 ; 37d51 $3
+ jr z, .GotFutureSightCount
ld hl, wEnemyFutureSightCount
-.asm_37d56
+.GotFutureSightCount
ld a, [hl]
and a
- jr nz, .asm_37d87 ; 37d58 $2d
- ld a, $4
+ jr nz, .failed
+ ld a, 4
ld [hl], a
call BattleCommand_LowerSub
call BattleCommand_MoveDelay
@@ -9619,12 +9836,12 @@
ld hl, ForesawAttackText
call StdBattleTextBox
call BattleCommand_RaiseSub
- ld de, wc727
+ ld de, wPlayerFutureSightDamage
ld a, [hBattleTurn]
and a
- jr z, .asm_37d77 ; 37d72 $3
- ld de, wc729
-.asm_37d77
+ jr z, .StoreDamage
+ ld de, wEnemyFutureSightDamage
+.StoreDamage
ld hl, CurDamage
ld a, [hl]
ld [de], a
@@ -9635,12 +9852,14 @@
ld [de], a
ld [hl], 0
jp EndMoveEffect
-.asm_37d87
+
+.failed
pop bc
call ResetDamage
call AnimateFailedMove
call PrintButItFailed
jp EndMoveEffect
+
; 37d94
@@ -9657,9 +9876,11 @@
ret nz
ld [hl], 50 percent + 1
ret
+
.rain
ld [hl], 100 percent
ret
+
; 37daa
@@ -9668,6 +9889,7 @@
call GetBattleVar
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
ret
+
; 37db2
@@ -9681,6 +9903,7 @@
.go
ld b, [hl]
jp GetItemHeldEffect
+
; 37dc1
@@ -9694,6 +9917,7 @@
.go
ld b, [hl]
jp GetItemHeldEffect
+
; 37dd0
@@ -9716,6 +9940,7 @@
ld c, h
pop hl
ret
+
; 37de9
@@ -9734,6 +9959,7 @@
pop de
pop hl
ret
+
; 37e01
@@ -9752,6 +9978,7 @@
pop de
pop hl
ret
+
; 37e19
@@ -9773,15 +10000,16 @@
ld a, BATTLEANIM_PLAYER_DAMAGE
.player
- ld [wcfca], a
+ ld [wNumHits], a
jp PlayUserBattleAnim
+
; 37e36
LoadMoveAnim: ; 37e36
xor a
- ld [wcfca], a
+ ld [wNumHits], a
ld [FXAnimIDHi], a
ld a, BATTLE_VARS_MOVE_ANIM
@@ -9810,6 +10038,7 @@
pop de
pop hl
ret
+
; 37e54
@@ -9819,7 +10048,7 @@
ld a, d
ld [FXAnimIDHi], a
xor a
- ld [wcfca], a
+ ld [wNumHits], a
push hl
push de
@@ -9833,6 +10062,7 @@
pop de
pop hl
ret
+
; 37e73
@@ -9840,6 +10070,7 @@
ld a, BANK(BattleCore)
rst FarCall
ret
+
; 37e77
@@ -9847,6 +10078,7 @@
call BattleCommand_LowerSub
call BattleCommand_MoveDelay
jp BattleCommand_RaiseSub
+
; 37e80
@@ -9855,6 +10087,7 @@
; Wait 40 frames.
ld c, 40
jp DelayFrames
+
; 37e85
@@ -9864,6 +10097,7 @@
; Used in multi-hit moves.
ld hl, .text
jp BattleTextBox
+
.text
db "@"
; 37e8c
@@ -9885,6 +10119,7 @@
ld a, l
ld [BattleScriptBufferLoc], a
ret
+
; 37ea1
@@ -9896,6 +10131,7 @@
call GetMoveByte
pop bc
ret
+
; 37ead
@@ -9906,6 +10142,7 @@
call AddNTimes
ld a, Bank(Moves)
jp FarCopyBytes
+
; 37ebb
@@ -9912,6 +10149,7 @@
GetMoveByte: ; 37ebb
ld a, BANK(Moves)
jp GetFarByte
+
; 37ec0
@@ -9918,6 +10156,7 @@
DisappearUser: ; 37ec0
callba _DisappearUser
ret
+
; 37ec7
@@ -9924,6 +10163,7 @@
AppearUserLowerSub: ; 37ec7
callba _AppearUserLowerSub
ret
+
; 37ece
@@ -9930,6 +10170,7 @@
AppearUserRaiseSub: ; 37ece
callba _AppearUserRaiseSub
ret
+
; 37ed5
@@ -9943,4 +10184,5 @@
pop de
pop hl
ret
+
; 37ee2
--- /dev/null
+++ b/battle/menu.asm
@@ -1,0 +1,118 @@
+LoadBattleMenu: ; 24ef2
+ ld hl, BattleMenuDataHeader
+ call LoadMenuDataHeader
+ ld a, [wd0d2]
+ ld [wMenuCursorBuffer], a
+ call InterpretBattleMenu
+ ld a, [wMenuCursorBuffer]
+ ld [wd0d2], a
+ call ExitMenu
+ ret
+; 24f0b
+
+SafariBattleMenu: ; 24f0b
+; untranslated
+ ld hl, MenuDataHeader_0x24f4e
+ call LoadMenuDataHeader
+ jr Function24f19
+; 24f13
+
+ContestBattleMenu: ; 24f13
+ ld hl, MenuDataHeader_0x24f89
+ call LoadMenuDataHeader
+; 24f19
+
+Function24f19: ; 24f19
+ ld a, [wd0d2]
+ ld [wMenuCursorBuffer], a
+ call _2DMenu
+ ld a, [wMenuCursorBuffer]
+ ld [wd0d2], a
+ call ExitMenu
+ ret
+; 24f2c
+
+BattleMenuDataHeader: ; 24f2c
+ db $40 ; flags
+ db 12, 08 ; start coords
+ db 17, 19 ; end coords
+ dw MenuData_0x24f34
+ db 1 ; default option
+; 24f34
+
+MenuData_0x24f34: ; 0x24f34
+ db $81 ; flags
+ dn 2, 2 ; rows, columns
+ db 6 ; spacing
+ dba Strings24f3d
+ dbw BANK(MenuData_0x24f34), 0
+; 0x24f3d
+
+Strings24f3d: ; 0x24f3d
+ db "FIGHT@"
+ db "<PKMN>@"
+ db "PACK@"
+ db "RUN@"
+; 24f4e
+
+MenuDataHeader_0x24f4e: ; 24f4e
+ db $40 ; flags
+ db 12, 00 ; start coords
+ db 17, 19 ; end coords
+ dw MenuData_0x24f56
+ db 1 ; default option
+; 24f56
+
+MenuData_0x24f56: ; 24f56
+ db $81 ; flags
+ dn 2, 2 ; rows, columns
+ db 11 ; spacing
+ dba Strings24f5f
+ dba Function24f7c
+; 24f5f
+
+Strings24f5f: ; 24f5f
+ db "サファりボール× @" ; "SAFARI BALL× @"
+ db "エサをなげる@" ; "THROW BAIT"
+ db "いしをなげる@" ; "THROW ROCK"
+ db "にげる@" ; "RUN"
+; 24f7c
+
+Function24f7c: ; 24f7c
+ hlcoord 17, 13
+ ld de, wSafariBallsRemaining
+ lb bc, PRINTNUM_LEADINGZEROS | 1, 2
+ call PrintNum
+ ret
+; 24f89
+
+MenuDataHeader_0x24f89: ; 24f89
+ db $40 ; flags
+ db 12, 02 ; start coords
+ db 17, 19 ; end coords
+ dw MenuData_0x24f91
+ db 1 ; default option
+; 24f91
+
+MenuData_0x24f91: ; 24f91
+ db $81 ; flags
+ dn 2, 2 ; rows, columns
+ db 12 ; spacing
+ dba Strings24f9a
+ dba Function24fb2
+; 24f9a
+
+Strings24f9a: ; 24f9a
+ db "FIGHT@"
+ db "<PKMN>", "@"
+ db "PARKBALL× @"
+ db "RUN@"
+; 24fb2
+
+Function24fb2: ; 24fb2
+ hlcoord 13, 16
+ ld de, wParkBallsRemaining
+ lb bc, PRINTNUM_LEADINGZEROS | 1, 2
+ call PrintNum
+ ret
+; 24fbf
--- /dev/null
+++ b/battle/objects/data.asm
@@ -1,0 +1,573 @@
+BattleAnimObjects: ; ccb56
+battleanimobj: MACRO
+
+; ??, ??, frameset, function, ??, tile offset
+ db \1, \2, \3, \4, \5, \6
+endm
+
+
+; ANIM_OBJ_00
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, $02, $01
+
+; ANIM_OBJ_01
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, $02, $01
+
+; ANIM_OBJ_02
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, $02, $01
+
+; ANIM_OBJ_03
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, $02, $01
+
+; ANIM_OBJ_04
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, $02, $01
+
+; ANIM_OBJ_05
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, $02, $01
+
+; ANIM_OBJ_06
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, $02, $01
+
+; ANIM_OBJ_07
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, $02, $01
+
+; ANIM_OBJ_08
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, $02, $01
+
+; ANIM_OBJ_09
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, $02, $01
+
+; ANIM_OBJ_0A
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, $02, $01
+
+; ANIM_OBJ_0B
+ battleanimobj $01, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, $04, $03
+
+; ANIM_OBJ_0C
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, $04, $03
+
+; ANIM_OBJ_0D
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, $04, $03
+
+; ANIM_OBJ_0E
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, $04, $03
+
+; ANIM_OBJ_0F
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, $04, $03
+
+; ANIM_OBJ_BURNED
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, $04, $03
+
+; ANIM_OBJ_11
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, $06, $0a
+
+; ANIM_OBJ_12
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, $06, $0a
+
+; ANIM_OBJ_13
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, $06, $0a
+
+; ANIM_OBJ_14
+ battleanimobj $21, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_0B, $05, $06
+
+; ANIM_OBJ_POKE_BALL
+ battleanimobj $00, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, $04, $0b
+
+; ANIM_OBJ_16
+ battleanimobj $00, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, $04, $0b
+
+; ANIM_OBJ_17
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, $04, $08
+
+; ANIM_OBJ_18
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, $04, $08
+
+; ANIM_OBJ_19
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, $02, $0c
+
+; ANIM_OBJ_1A
+ battleanimobj $01, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, $02, $0c
+
+; ANIM_OBJ_1B
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, $02, $07
+
+; ANIM_OBJ_1C
+ battleanimobj $01, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, $02, $07
+
+; ANIM_OBJ_1D
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, $07, $09
+
+; ANIM_OBJ_1E
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, $07, $09
+
+; ANIM_OBJ_1F
+ battleanimobj $01, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, $07, $09
+
+; ANIM_OBJ_20
+ battleanimobj $01, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, $06, $21
+
+; ANIM_OBJ_21
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, $06, $0d
+
+; ANIM_OBJ_22
+ battleanimobj $00, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, $06, $0d
+
+; ANIM_OBJ_23
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, $02, $0e
+
+; ANIM_OBJ_24
+ battleanimobj $61, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, $06, $04
+
+; ANIM_OBJ_25
+ battleanimobj $01, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, $06, $04
+
+; ANIM_OBJ_26
+ battleanimobj $01, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, $05, $0f
+
+; ANIM_OBJ_27
+ battleanimobj $61, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, $03, $10
+
+; ANIM_OBJ_28
+ battleanimobj $61, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, $03, $10
+
+; ANIM_OBJ_29
+ battleanimobj $01, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, $06, $0a
+
+; ANIM_OBJ_FROZEN
+ battleanimobj $01, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, $06, $0a
+
+; ANIM_OBJ_2B
+ battleanimobj $01, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, $07, $11
+
+; ANIM_OBJ_2C
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, $03, $0d
+
+; ANIM_OBJ_2D
+ battleanimobj $21, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, $03, $05
+
+; ANIM_OBJ_2E
+ battleanimobj $21, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, $03, $05
+
+; ANIM_OBJ_2F
+ battleanimobj $21, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, $03, $05
+
+; ANIM_OBJ_30
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, $03, $05
+
+; ANIM_OBJ_31
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, $03, $05
+
+; ANIM_OBJ_32
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, $02, $08
+
+; ANIM_OBJ_33
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, $03, $05
+
+; ANIM_OBJ_34
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, $02, $08
+
+; ANIM_OBJ_35
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, $02, $02
+
+; ANIM_OBJ_36
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, $02, $02
+
+; ANIM_OBJ_37
+ battleanimobj $21, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, $02, $02
+
+; ANIM_OBJ_38
+ battleanimobj $21, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, $02, $02
+
+; ANIM_OBJ_39
+ battleanimobj $21, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, $02, $02
+
+; ANIM_OBJ_3A
+ battleanimobj $21, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, $02, $02
+
+; ANIM_OBJ_3B
+ battleanimobj $21, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, $02, $02
+
+; ANIM_OBJ_3C
+ battleanimobj $01, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, $05, $12
+
+; ANIM_OBJ_3D
+ battleanimobj $01, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, $05, $12
+
+; ANIM_OBJ_GUST
+ battleanimobj $21, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, $02, $13
+
+; ANIM_OBJ_3F
+ battleanimobj $21, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, $02, $14
+
+; ANIM_OBJ_40
+ battleanimobj $21, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, $02, $14
+
+; ANIM_OBJ_41
+ battleanimobj $21, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, $02, $14
+
+; ANIM_OBJ_42
+ battleanimobj $21, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, $02, $14
+
+; ANIM_OBJ_43
+ battleanimobj $21, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, $02, $14
+
+; ANIM_OBJ_44
+ battleanimobj $21, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, $03, $11
+
+; ANIM_OBJ_45
+ battleanimobj $01, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, $05, $12
+
+; ANIM_OBJ_46
+ battleanimobj $21, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, $02, $15
+
+; ANIM_OBJ_47
+ battleanimobj $01, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, $03, $11
+
+; ANIM_OBJ_48
+ battleanimobj $21, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, $05, $16
+
+; ANIM_OBJ_49
+ battleanimobj $21, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, $05, $16
+
+; ANIM_OBJ_4A
+ battleanimobj $21, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_20, $05, $06
+
+; ANIM_OBJ_4B
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, $02, $0e
+
+; ANIM_OBJ_4C
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, $02, $17
+
+; ANIM_OBJ_4D
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, $03, $11
+
+; ANIM_OBJ_4E
+ battleanimobj $61, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, $03, $10
+
+; ANIM_OBJ_4F
+ battleanimobj $61, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, $03, $10
+
+; ANIM_OBJ_50
+ battleanimobj $21, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, $03, $18
+
+; ANIM_OBJ_51
+ battleanimobj $21, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, $02, $18
+
+; ANIM_OBJ_CHICK
+ battleanimobj $21, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, $03, $19
+
+; ANIM_OBJ_53
+ battleanimobj $01, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, $02, $19
+
+; ANIM_OBJ_54
+ battleanimobj $01, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, $02, $19
+
+; ANIM_OBJ_SKULL
+ battleanimobj $01, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, $02, $0c
+
+; ANIM_OBJ_56
+ battleanimobj $21, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, $07, $1a
+
+; ANIM_OBJ_57
+ battleanimobj $21, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, $07, $1a
+
+; ANIM_OBJ_58
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, $02, $1a
+
+; ANIM_OBJ_PARALYZED
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, $03, $19
+
+; ANIM_OBJ_5A
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, $02, $1b
+
+; ANIM_OBJ_5B
+ battleanimobj $00, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_29, $02, $1c
+
+; ANIM_OBJ_5C
+ battleanimobj $21, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_29, $02, $1c
+
+; ANIM_OBJ_5D
+ battleanimobj $21, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_29, $02, $1c
+
+; ANIM_OBJ_5E
+ battleanimobj $21, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_2A, $02, $1c
+
+; ANIM_OBJ_5F
+ battleanimobj $61, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_2B, $02, $1d
+
+; ANIM_OBJ_60
+ battleanimobj $61, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, $02, $1d
+
+; ANIM_OBJ_61
+ battleanimobj $01, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, $04, $1e
+
+; ANIM_OBJ_62
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, $02, $15
+
+; ANIM_OBJ_63
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, $07, $19
+
+; ANIM_OBJ_64
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, $02, $14
+
+; ANIM_OBJ_65
+ battleanimobj $01, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, $02, $11
+
+; ANIM_OBJ_66
+ battleanimobj $01, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_2A, $04, $23
+
+; ANIM_OBJ_67
+ battleanimobj $01, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, $02, $1f
+
+; ANIM_OBJ_68
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, $02, $1f
+
+; ANIM_OBJ_69
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, $02, $1f
+
+; ANIM_OBJ_6A
+ battleanimobj $01, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, $03, $23
+
+; ANIM_OBJ_6B
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, $02, $1f
+
+; ANIM_OBJ_6C
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, $03, $11
+
+; ANIM_OBJ_6D
+ battleanimobj $01, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, $03, $11
+
+; ANIM_OBJ_6E
+ battleanimobj $21, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, $02, $20
+
+; ANIM_OBJ_6F
+ battleanimobj $21, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, $02, $04
+
+; ANIM_OBJ_70
+ battleanimobj $21, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, $02, $18
+
+; ANIM_OBJ_71
+ battleanimobj $01, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, $06, $0d
+
+; ANIM_OBJ_72
+ battleanimobj $01, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, $03, $12
+
+; ANIM_OBJ_73
+ battleanimobj $01, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, $02, $08
+
+; ANIM_OBJ_74
+ battleanimobj $21, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, $02, $1c
+
+; ANIM_OBJ_75
+ battleanimobj $21, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, $02, $15
+
+; ANIM_OBJ_76
+ battleanimobj $21, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, $02, $14
+
+; ANIM_OBJ_77
+ battleanimobj $01, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, $02, $11
+
+; ANIM_OBJ_78
+ battleanimobj $01, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, $02, $22
+
+; ANIM_OBJ_79
+ battleanimobj $01, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, $02, $22
+
+; ANIM_OBJ_7A
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, $02, $1f
+
+; ANIM_OBJ_7B
+ battleanimobj $01, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, $03, $11
+
+; ANIM_OBJ_7C
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, $03, $05
+
+; ANIM_OBJ_7D
+ battleanimobj $a1, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, $06, $13
+
+; ANIM_OBJ_HEART
+ battleanimobj $01, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, $04, $23
+
+; ANIM_OBJ_7F
+ battleanimobj $01, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, $04, $03
+
+; ANIM_OBJ_80
+ battleanimobj $01, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, $04, $03
+
+; ANIM_OBJ_81
+ battleanimobj $21, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_29, $02, $1f
+
+; ANIM_OBJ_82
+ battleanimobj $21, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, $02, $1f
+
+; ANIM_OBJ_83
+ battleanimobj $21, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, $02, $1f
+
+; ANIM_OBJ_84
+ battleanimobj $21, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, $03, $1f
+
+; ANIM_OBJ_85
+ battleanimobj $01, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, $02, $0e
+
+; ANIM_OBJ_86
+ battleanimobj $21, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, $04, $1f
+
+; ANIM_OBJ_87
+ battleanimobj $21, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, $02, $1f
+
+; ANIM_OBJ_88
+ battleanimobj $21, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, $02, $1f
+
+; ANIM_OBJ_89
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, $02, $1f
+
+; ANIM_OBJ_8A
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, $03, $23
+
+; ANIM_OBJ_8B
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, $02, $19
+
+; ANIM_OBJ_8C
+ battleanimobj $21, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, $02, $15
+
+; ANIM_OBJ_8D
+ battleanimobj $21, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, $04, $19
+
+; ANIM_OBJ_8E
+ battleanimobj $21, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, $02, $1f
+
+; ANIM_OBJ_8F
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, $02, $0a
+
+; ANIM_OBJ_90
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, $04, $03
+
+; ANIM_OBJ_91
+ battleanimobj $01, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, $02, $08
+
+; ANIM_OBJ_92
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, $02, $1b
+
+; ANIM_OBJ_93
+ battleanimobj $21, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, $04, $23
+
+; ANIM_OBJ_94
+ battleanimobj $21, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, $02, $25
+
+; ANIM_OBJ_95
+ battleanimobj $21, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, $02, $25
+
+; ANIM_OBJ_96
+ battleanimobj $21, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, $02, $25
+
+; ANIM_OBJ_97
+ battleanimobj $21, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, $06, $25
+
+; ANIM_OBJ_98
+ battleanimobj $61, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, $05, $23
+
+; ANIM_OBJ_99
+ battleanimobj $21, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, $02, $23
+
+; ANIM_OBJ_9A
+ battleanimobj $21, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, $03, $23
+
+; ANIM_OBJ_9B
+ battleanimobj $21, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, $02, $25
+
+; ANIM_OBJ_9C
+ battleanimobj $21, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, $03, $24
+
+; ANIM_OBJ_9D
+ battleanimobj $01, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, $02, $24
+
+; ANIM_OBJ_9E
+ battleanimobj $01, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, $03, $24
+
+; ANIM_OBJ_9F
+ battleanimobj $01, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, $04, $12
+
+; ANIM_OBJ_A0
+ battleanimobj $21, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, $02, $02
+
+; ANIM_OBJ_A1
+ battleanimobj $21, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, $02, $02
+
+; ANIM_OBJ_A2
+ battleanimobj $21, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, $07, $0f
+
+; ANIM_OBJ_A3
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, $03, $05
+
+; ANIM_OBJ_A4
+ battleanimobj $21, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, $02, $25
+
+; ANIM_OBJ_A5
+ battleanimobj $61, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, $02, $23
+
+; ANIM_OBJ_A6
+ battleanimobj $00, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, $02, $0e
+
+; ANIM_OBJ_A7
+ battleanimobj $01, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, $02, $24
+
+; ANIM_OBJ_A8
+ battleanimobj $21, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, $02, $13
+
+; ANIM_OBJ_A9
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, $02, $13
+
+; ANIM_OBJ_AA
+ battleanimobj $01, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, $02, $01
+
+; ANIM_OBJ_AB
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, $02, $0e
+
+; ANIM_OBJ_AC
+ battleanimobj $01, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, $06, $17
+
+; ANIM_OBJ_AD
+ battleanimobj $01, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, $02, $01
+
+; ANIM_OBJ_AE
+ battleanimobj $21, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, $03, $11
+
+; ANIM_OBJ_AF
+ battleanimobj $21, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, $02, $04
+
+; ANIM_OBJ_B0
+ battleanimobj $00, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, $04, $1c
+
+; ANIM_OBJ_B1
+ battleanimobj $01, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, $02, $19
+
+; ANIM_OBJ_B2
+ battleanimobj $01, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, $07, $09
+
+; ANIM_OBJ_B3
+ battleanimobj $61, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, $03, $27
+
+; ANIM_OBJ_B4
+ battleanimobj $61, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, $06, $15
+
+; ANIM_OBJ_B5
+ battleanimobj $21, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, $07, $09
+
+; ANIM_OBJ_FLOWER
+ battleanimobj $01, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, $04, $1e
+
+; ANIM_OBJ_COTTON
+ battleanimobj $01, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, $04, $1f
+
+; ANIM_OBJ_PLAYERFEETFOLLOW
+ battleanimobj $00, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, $00, $28
+
+; ANIM_OBJ_ENEMYFEETFOLLOW
+ battleanimobj $00, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, $01, $29
+
+; ANIM_OBJ_BA
+ battleanimobj $00, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, $00, $28
+
+; ANIM_OBJ_BB
+ battleanimobj $00, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, $01, $29
+
+; ccfbe
--- /dev/null
+++ b/battle/objects/engine.asm
@@ -1,0 +1,314 @@
+QueueBattleAnimation: ; cc9a1 (33:49a1)
+ ld hl, ActiveAnimObjects
+ ld e, 10
+.loop
+ ld a, [hl]
+ and a
+ jr z, .done
+ ld bc, BATTLEANIMSTRUCT_LENGTH
+ add hl, bc
+ dec e
+ jr nz, .loop
+ scf
+ ret
+
+.done
+ ld c, l
+ ld b, h
+ ld hl, wNumActiveBattleAnims
+ inc [hl]
+ call InitBattleAnimation
+ ret
+
+DeinitBattleAnimation: ; cc9bd
+ ld hl, BATTLEANIMSTRUCT_INDEX
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; cc9c4
+
+InitBattleAnimation: ; cc9c4 (33:49c4)
+ ld a, [wBattleAnimTemp0]
+ ld e, a
+ ld d, 0
+ ld hl, BattleAnimObjects
+rept 6
+ add hl, de
+endr
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_INDEX
+ add hl, bc
+ ld a, [wNumActiveBattleAnims]
+ ld [hli], a ; Index
+ ld a, [de]
+ inc de
+ ld [hli], a ; 01
+ ld a, [de]
+ inc de
+ ld [hli], a ; 02
+ ld a, [de]
+ inc de
+ ld [hli], a ; Frameset ID
+ ld a, [de]
+ inc de
+ ld [hli], a ; Function
+ ld a, [de]
+ inc de
+ ld [hli], a ; 05
+ ld a, [de]
+ call GetBattleAnimTileOffset
+ ld [hli], a ; Tile ID
+ ld a, [wBattleAnimTemp1]
+ ld [hli], a ; X Coord
+ ld a, [wBattleAnimTemp2]
+ ld [hli], a ; Y Coord
+ xor a
+ ld [hli], a ; X Offset
+ ld [hli], a ; Y Offset
+ ld a, [wBattleAnimTemp3]
+ ld [hli], a ; 0b
+ xor a
+ ld [hli], a ; 0c
+ dec a
+ ld [hli], a ; 0d
+ xor a
+ ld [hli], a ; 0e
+ ld [hli], a ; 0f
+ ld [hl], a ; 10
+ ret
+
+BattleAnimOAMUpdate: ; cca09
+ call InitBattleAnimBuffer
+ call GetBattleAnimFrame
+ cp -3
+ jp z, .done
+ cp -4
+ jp z, .delete
+ push af
+ ld hl, wBattleAnimTempOAMFlags
+ ld a, [wBattleAnimTemp7]
+ xor [hl]
+ and $e0
+ ld [hl], a
+ pop af
+ push bc
+ call GetBattleAnimOAMPointer
+ ld a, [wBattleAnimTempTileID]
+ add [hl]
+ ld [wBattleAnimTempTileID], a
+ inc hl
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [wBattleAnimOAMPointerLo]
+ ld e, a
+ ld d, Sprites / $100
+.loop
+ ld a, [wBattleAnimTempYCoord]
+ ld b, a
+ ld a, [wBattleAnimTempYOffset]
+ add b
+ ld b, a
+ push hl
+ ld a, [hl]
+ ld hl, wBattleAnimTempOAMFlags
+ bit 6, [hl]
+ jr z, .no_yflip
+ add $8
+ xor $ff
+ inc a
+
+.no_yflip
+ pop hl
+ add b
+ ld [de], a
+ inc hl
+ inc de
+ ld a, [wBattleAnimTempXCoord]
+ ld b, a
+ ld a, [wBattleAnimTempXOffset]
+ add b
+ ld b, a
+ push hl
+ ld a, [hl]
+ ld hl, wBattleAnimTempOAMFlags
+ bit 5, [hl]
+ jr z, .no_xflip
+ add $8
+ xor $ff
+ inc a
+
+.no_xflip
+ pop hl
+ add b
+ ld [de], a
+ inc hl
+ inc de
+ ld a, [wBattleAnimTempTileID]
+ add $31
+ add [hl]
+ ld [de], a
+ inc hl
+ inc de
+ ld a, [wBattleAnimTempOAMFlags]
+ ld b, a
+ ld a, [hl]
+ xor b
+ and $e0
+ ld b, a
+ ld a, [hl]
+ and $10
+ or b
+ ld b, a
+ ld a, [wBattleAnimTempPalette]
+ and $f
+ or b
+ ld [de], a
+ inc hl
+ inc de
+ ld a, e
+ ld [wBattleAnimOAMPointerLo], a
+ cp $a0
+ jr nc, .exit_set_carry
+ dec c
+ jr nz, .loop
+ pop bc
+ jr .done
+
+.delete
+ call DeinitBattleAnimation
+
+.done
+ and a
+ ret
+
+.exit_set_carry
+ pop bc
+ scf
+ ret
+
+; ccaaa
+
+InitBattleAnimBuffer: ; ccaaa
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ ld a, [hl]
+ and %10000000
+ ld [wBattleAnimTempOAMFlags], a
+ xor a
+ ld [wBattleAnimTemp7], a
+ ld hl, BATTLEANIMSTRUCT_PALETTE
+ add hl, bc
+ ld a, [hl]
+ ld [wBattleAnimTempPalette], a
+ ld hl, BATTLEANIMSTRUCT_02
+ add hl, bc
+ ld a, [hl]
+ ld [wBattleAnimTemp1], a
+ ld hl, BATTLEANIMSTRUCT_TILEID
+ add hl, bc
+ ld a, [hli]
+ ld [wBattleAnimTempTileID], a
+ ld a, [hli]
+ ld [wBattleAnimTempXCoord], a
+ ld a, [hli]
+ ld [wBattleAnimTempYCoord], a
+ ld a, [hli]
+ ld [wBattleAnimTempXOffset], a
+ ld a, [hli]
+ ld [wBattleAnimTempYOffset], a
+ ld a, [hBattleTurn]
+ and a
+ ret z
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ ld a, [hl]
+ ld [wBattleAnimTempOAMFlags], a
+ bit 0, [hl]
+ ret z
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hli]
+ ld d, a
+ ld a, (-10 * 8) + 4
+ sub d
+ ld [wBattleAnimTempXCoord], a
+ ld a, [hli]
+ ld d, a
+ ld a, [wBattleAnimTemp1]
+ cp $ff
+ jr nz, .check_kinesis_softboiled_milkdrink
+ ld a, 5 * 8
+ add d
+ jr .done
+
+.check_kinesis_softboiled_milkdrink
+ sub d
+ push af
+ ld a, [FXAnimIDHi]
+ or a
+ jr nz, .no_sub
+ ld a, [FXAnimIDLo]
+ cp KINESIS
+ jr z, .kinesis
+ cp SOFTBOILED
+ jr z, .softboiled
+ cp MILK_DRINK
+ jr nz, .no_sub
+.kinesis
+.softboiled
+.milk_drink
+ pop af
+ sub 1 * 8
+ jr .done
+
+.no_sub
+ pop af
+.done
+ ld [wBattleAnimTempYCoord], a
+ ld a, [hli]
+ xor $ff
+ inc a
+ ld [wBattleAnimTempXOffset], a
+ ret
+
+; ccb31
+
+GetBattleAnimTileOffset: ; ccb31 (33:4b31)
+ push hl
+ push bc
+ ld hl, wBattleAnimTileDict
+ ld b, a
+ ld c, 10 / 2
+.loop
+ ld a, [hli]
+ cp b
+ jr z, .load
+ inc hl
+ dec c
+ jr nz, .loop
+ xor a
+ jr .done
+
+.load
+ ld a, [hl]
+.done
+ pop bc
+ pop hl
+ ret
+
+_ExecuteBGEffects: ; ccb48
+ callab ExecuteBGEffects
+ ret
+
+; ccb4f
+
+_QueueBGEffect: ; ccb4f (33:4b4f)
+ callab QueueBGEffect
+ ret
+
+; ccb56 (33:4b56)
--- /dev/null
+++ b/battle/objects/framesets.asm
@@ -1,0 +1,1270 @@
+BattleAnimFrameData: ; ce85e
+ dw .Frameset_00 ; 00
+ dw .Frameset_01 ; 01
+ dw .Frameset_02 ; 02
+ dw .Frameset_03 ; 03
+ dw .Frameset_04 ; 04
+ dw .Frameset_05 ; 05
+ dw .Frameset_06 ; 06
+ dw .Frameset_07 ; 07
+ dw .Frameset_08 ; 08
+ dw .Frameset_09 ; 09
+ dw .Frameset_0a ; 0a
+ dw .Frameset_0b ; 0b
+ dw .Frameset_0c ; 0c
+ dw .Frameset_0d ; 0d
+ dw .Frameset_0e ; 0e
+ dw .Frameset_0f ; 0f
+ dw .Frameset_10 ; 10
+ dw .Frameset_11 ; 11
+ dw .Frameset_12 ; 12
+ dw .Frameset_13 ; 13
+ dw .Frameset_14 ; 14
+ dw .Frameset_15 ; 15
+ dw .Frameset_16 ; 16
+ dw .Frameset_17 ; 17
+ dw .Frameset_18 ; 18
+ dw .Frameset_19 ; 19
+ dw .Frameset_1a ; 1a
+ dw .Frameset_1b ; 1b
+ dw .Frameset_1c ; 1c
+ dw .Frameset_1d ; 1d
+ dw .Frameset_1e ; 1e
+ dw .Frameset_1f ; 1f
+ dw .Frameset_20 ; 20
+ dw .Frameset_21 ; 21
+ dw .Frameset_22 ; 22
+ dw .Frameset_23 ; 23
+ dw .Frameset_24 ; 24
+ dw .Frameset_25 ; 25
+ dw .Frameset_26 ; 26
+ dw .Frameset_27 ; 27
+ dw .Frameset_28 ; 28
+ dw .Frameset_29 ; 29
+ dw .Frameset_2a ; 2a
+ dw .Frameset_2b ; 2b
+ dw .Frameset_2c ; 2c
+ dw .Frameset_2d ; 2d
+ dw .Frameset_2e ; 2e
+ dw .Frameset_2f ; 2f
+ dw .Frameset_30 ; 30
+ dw .Frameset_31 ; 31
+ dw .Frameset_32 ; 32
+ dw .Frameset_33 ; 33
+ dw .Frameset_34 ; 34
+ dw .Frameset_35 ; 35
+ dw .Frameset_36 ; 36
+ dw .Frameset_37 ; 37
+ dw .Frameset_38 ; 38
+ dw .Frameset_39 ; 39
+ dw .Frameset_3a ; 3a
+ dw .Frameset_3b ; 3b
+ dw .Frameset_3c ; 3c
+ dw .Frameset_3d ; 3d
+ dw .Frameset_3e ; 3e
+ dw .Frameset_3f ; 3f
+ dw .Frameset_40 ; 40
+ dw .Frameset_41 ; 41
+ dw .Frameset_42 ; 42
+ dw .Frameset_43 ; 43
+ dw .Frameset_44 ; 44
+ dw .Frameset_45 ; 45
+ dw .Frameset_46 ; 46
+ dw .Frameset_47 ; 47
+ dw .Frameset_48 ; 48
+ dw .Frameset_49 ; 49
+ dw .Frameset_4a ; 4a
+ dw .Frameset_4b ; 4b
+ dw .Frameset_4c ; 4c
+ dw .Frameset_4d ; 4d
+ dw .Frameset_4e ; 4e
+ dw .Frameset_4f ; 4f
+ dw .Frameset_50 ; 50
+ dw .Frameset_51 ; 51
+ dw .Frameset_52 ; 52
+ dw .Frameset_53 ; 53
+ dw .Frameset_54 ; 54
+ dw .Frameset_55 ; 55
+ dw .Frameset_56 ; 56
+ dw .Frameset_57 ; 57
+ dw .Frameset_58 ; 58
+ dw .Frameset_59 ; 59
+ dw .Frameset_5a ; 5a
+ dw .Frameset_5b ; 5b
+ dw .Frameset_5c ; 5c
+ dw .Frameset_5d ; 5d
+ dw .Frameset_5e ; 5e
+ dw .Frameset_5f ; 5f
+ dw .Frameset_60 ; 60
+ dw .Frameset_61 ; 61
+ dw .Frameset_62 ; 62
+ dw .Frameset_63 ; 63
+ dw .Frameset_64 ; 64
+ dw .Frameset_65 ; 65
+ dw .Frameset_66 ; 66
+ dw .Frameset_67 ; 67
+ dw .Frameset_68 ; 68
+ dw .Frameset_69 ; 69
+ dw .Frameset_6a ; 6a
+ dw .Frameset_6b ; 6b
+ dw .Frameset_6c ; 6c
+ dw .Frameset_6d ; 6d
+ dw .Frameset_6e ; 6e
+ dw .Frameset_6f ; 6f
+ dw .Frameset_70 ; 70
+ dw .Frameset_71 ; 71
+ dw .Frameset_72 ; 72
+ dw .Frameset_73 ; 73
+ dw .Frameset_74 ; 74
+ dw .Frameset_75 ; 75
+ dw .Frameset_76 ; 76
+ dw .Frameset_77 ; 77
+ dw .Frameset_78 ; 78
+ dw .Frameset_79 ; 79
+ dw .Frameset_7a ; 7a
+ dw .Frameset_7b ; 7b
+ dw .Frameset_7c ; 7c
+ dw .Frameset_7d ; 7d
+ dw .Frameset_7e ; 7e
+ dw .Frameset_7f ; 7f
+ dw .Frameset_80 ; 80
+ dw .Frameset_81 ; 81
+ dw .Frameset_82 ; 82
+ dw .Frameset_83 ; 83
+ dw .Frameset_84 ; 84
+ dw .Frameset_85 ; 85
+ dw .Frameset_86 ; 86
+ dw .Frameset_87 ; 87
+ dw .Frameset_88 ; 88
+ dw .Frameset_89 ; 89
+ dw .Frameset_8a ; 8a
+ dw .Frameset_8b ; 8b
+ dw .Frameset_8c ; 8c
+ dw .Frameset_8d ; 8d
+ dw .Frameset_8e ; 8e
+ dw .Frameset_8f ; 8f
+ dw .Frameset_90 ; 90
+ dw .Frameset_91 ; 91
+ dw .Frameset_92 ; 92
+ dw .Frameset_93 ; 93
+ dw .Frameset_94 ; 94
+ dw .Frameset_95 ; 95
+ dw .Frameset_96 ; 96
+ dw .Frameset_97 ; 97
+ dw .Frameset_98 ; 98
+ dw .Frameset_99 ; 99
+ dw .Frameset_9a ; 9a
+ dw .Frameset_9b ; 9b
+ dw .Frameset_9c ; 9c
+ dw .Frameset_9d ; 9d
+ dw .Frameset_9e ; 9e
+ dw .Frameset_9f ; 9f
+ dw .Frameset_a0 ; a0
+ dw .Frameset_a1 ; a1
+ dw .Frameset_a2 ; a2
+ dw .Frameset_a3 ; a3
+ dw .Frameset_a4 ; a4
+ dw .Frameset_a5 ; a5
+ dw .Frameset_a6 ; a6
+ dw .Frameset_a7 ; a7
+ dw .Frameset_a8 ; a8
+ dw .Frameset_a9 ; a9
+ dw .Frameset_aa ; aa
+ dw .Frameset_ab ; ab
+ dw .Frameset_ac ; ac
+ dw .Frameset_ad ; ad
+ dw .Frameset_ae ; ae
+ dw .Frameset_af ; af
+ dw .Frameset_b0 ; b0
+ dw .Frameset_b1 ; b1
+ dw .Frameset_b2 ; b2
+ dw .Frameset_b3 ; b3
+ dw .Frameset_b4 ; b4
+ dw .Frameset_b5 ; b5
+ dw .Frameset_b6 ; b6
+ dw .Frameset_b7 ; b7
+ dw .Frameset_b8 ; b8
+
+ ; OAM index (see battle/objects/oam.asm), flip flags / duration
+.Frameset_00
+ db BATTLEANIMOAMSET_00, $06
+ db -4
+
+.Frameset_01
+ db BATTLEANIMOAMSET_01, $06
+ db -4
+
+.Frameset_02
+ db BATTLEANIMOAMSET_02, $06
+ db -4
+
+.Frameset_03
+ db BATTLEANIMOAMSET_03, $06
+ db -4
+
+.Frameset_04
+ db BATTLEANIMOAMSET_04, $06
+ db -4
+
+.Frameset_05
+ db BATTLEANIMOAMSET_05, $06
+ db -4
+
+.Frameset_06
+ db BATTLEANIMOAMSET_06, $06
+ db -4
+
+.Frameset_07
+ db BATTLEANIMOAMSET_03, $04
+ db BATTLEANIMOAMSET_01, $01
+ db BATTLEANIMOAMSET_03, $04
+ db BATTLEANIMOAMSET_01, $01
+ db BATTLEANIMOAMSET_03, $04
+ db BATTLEANIMOAMSET_01, $01
+ db BATTLEANIMOAMSET_03, $04
+ db BATTLEANIMOAMSET_01, $01
+ db -4
+
+.Frameset_3e
+ db BATTLEANIMOAMSET_4B, $02
+ db BATTLEANIMOAMSET_4C, $02
+ db BATTLEANIMOAMSET_4D, $04
+ db BATTLEANIMOAMSET_4E, $02
+ db -3, $02
+ db BATTLEANIMOAMSET_4E, $02
+ db -3, $02
+ db BATTLEANIMOAMSET_4E, $02
+ db -3, $02
+ db BATTLEANIMOAMSET_4E, $02
+ db -4
+
+.Frameset_3f
+ db BATTLEANIMOAMSET_4B, $42
+ db BATTLEANIMOAMSET_4C, $42
+ db BATTLEANIMOAMSET_4D, $44
+ db BATTLEANIMOAMSET_4E, $42
+ db -3, $02
+ db BATTLEANIMOAMSET_4E, $42
+ db -3, $02
+ db BATTLEANIMOAMSET_4E, $42
+ db -3, $02
+ db BATTLEANIMOAMSET_4E, $42
+ db -4
+
+.Frameset_40
+ db BATTLEANIMOAMSET_4B, $c2
+ db BATTLEANIMOAMSET_4C, $c2
+ db BATTLEANIMOAMSET_4D, $c4
+ db BATTLEANIMOAMSET_4E, $c2
+ db -3, $02
+ db BATTLEANIMOAMSET_4E, $c2
+ db -3, $02
+ db BATTLEANIMOAMSET_4E, $c2
+ db -3, $02
+ db BATTLEANIMOAMSET_4E, $c2
+ db -4
+
+.Frameset_41
+ db BATTLEANIMOAMSET_4B, $01
+ db BATTLEANIMOAMSET_4C, $01
+ db BATTLEANIMOAMSET_4D, $01
+ db BATTLEANIMOAMSET_4F, $01
+ db BATTLEANIMOAMSET_50, $01
+ db BATTLEANIMOAMSET_51, $01
+ db BATTLEANIMOAMSET_52, $02
+ db -3, $02
+ db BATTLEANIMOAMSET_52, $02
+ db -3, $02
+ db BATTLEANIMOAMSET_52, $02
+ db -3, $02
+ db BATTLEANIMOAMSET_52, $02
+ db -4
+
+.Frameset_42
+ db BATTLEANIMOAMSET_4B, $41
+ db BATTLEANIMOAMSET_4C, $41
+ db BATTLEANIMOAMSET_4D, $41
+ db BATTLEANIMOAMSET_4F, $41
+ db BATTLEANIMOAMSET_50, $41
+ db BATTLEANIMOAMSET_51, $41
+ db BATTLEANIMOAMSET_52, $42
+ db -3, $02
+ db BATTLEANIMOAMSET_52, $42
+ db -3, $02
+ db BATTLEANIMOAMSET_52, $42
+ db -3, $02
+ db BATTLEANIMOAMSET_52, $42
+ db -4
+
+.Frameset_08
+ db BATTLEANIMOAMSET_00, $03
+ db BATTLEANIMOAMSET_07, $03
+ db BATTLEANIMOAMSET_08, $03
+ db BATTLEANIMOAMSET_09, $03
+ db -4
+
+.Frameset_09
+ db BATTLEANIMOAMSET_0A, $07
+ db BATTLEANIMOAMSET_0B, $07
+ db BATTLEANIMOAMSET_0A, $07
+ db BATTLEANIMOAMSET_0B, $47
+ db -2
+
+.Frameset_0a
+ db BATTLEANIMOAMSET_0C, $08
+ db -1
+
+.Frameset_0b
+ db BATTLEANIMOAMSET_0D, $08
+ db -1
+
+.Frameset_0c
+ db BATTLEANIMOAMSET_0A, $08
+ db -1
+
+.Frameset_0d
+ db BATTLEANIMOAMSET_0A, $07
+ db BATTLEANIMOAMSET_0B, $07
+ db BATTLEANIMOAMSET_0A, $07
+ db BATTLEANIMOAMSET_0B, $47
+ db BATTLEANIMOAMSET_0A, $07
+ db -1
+
+.Frameset_0e
+ db BATTLEANIMOAMSET_0A, $08
+ db -1
+
+.Frameset_0f
+ db BATTLEANIMOAMSET_0A, $04
+ db BATTLEANIMOAMSET_0E, $04
+ db -2
+
+.Frameset_10
+ db BATTLEANIMOAMSET_0F, $04
+ db BATTLEANIMOAMSET_10, $04
+ db -2
+
+.Frameset_11
+ db BATTLEANIMOAMSET_10, $04
+ db BATTLEANIMOAMSET_0F, $04
+ db BATTLEANIMOAMSET_0E, $04
+ db BATTLEANIMOAMSET_0A, $04
+ db BATTLEANIMOAMSET_0E, $04
+ db BATTLEANIMOAMSET_0A, $04
+ db BATTLEANIMOAMSET_0E, $04
+ db BATTLEANIMOAMSET_0A, $04
+ db -4
+
+.Frameset_12
+ db BATTLEANIMOAMSET_10, $01
+ db BATTLEANIMOAMSET_0F, $01
+ db BATTLEANIMOAMSET_12, $01
+ db BATTLEANIMOAMSET_11, $01
+ db BATTLEANIMOAMSET_12, $01
+ db BATTLEANIMOAMSET_0F, $01
+ db -2
+
+.Frameset_13
+ db BATTLEANIMOAMSET_10, $03
+ db BATTLEANIMOAMSET_0F, $03
+ db BATTLEANIMOAMSET_12, $01
+ db -3, $01
+ db BATTLEANIMOAMSET_12, $01
+ db -3, $01
+ db BATTLEANIMOAMSET_12, $01
+ db -3, $01
+ db BATTLEANIMOAMSET_12, $01
+ db -3, $01
+ db BATTLEANIMOAMSET_12, $03
+ db -4
+
+.Frameset_14
+ db BATTLEANIMOAMSET_13, $14
+ db -4
+
+.Frameset_15
+ db BATTLEANIMOAMSET_10, $01
+ db BATTLEANIMOAMSET_0F, $01
+ db -2
+
+.Frameset_16
+ db BATTLEANIMOAMSET_14, $08
+ db -1
+
+.Frameset_17
+ db BATTLEANIMOAMSET_17, $04
+ db BATTLEANIMOAMSET_16, $08
+ db BATTLEANIMOAMSET_15, $08
+ db BATTLEANIMOAMSET_16, $08
+ db BATTLEANIMOAMSET_17, $04
+ db BATTLEANIMOAMSET_17, $04
+ db BATTLEANIMOAMSET_16, $48
+ db BATTLEANIMOAMSET_15, $48
+ db BATTLEANIMOAMSET_16, $48
+ db BATTLEANIMOAMSET_17, $04
+ db -2
+
+.Frameset_56
+ db BATTLEANIMOAMSET_69, $08
+ db -1
+
+.Frameset_57
+ db BATTLEANIMOAMSET_69, $20
+ db BATTLEANIMOAMSET_6A, $04
+ db BATTLEANIMOAMSET_6B, $04
+ db BATTLEANIMOAMSET_6D, $04
+ db BATTLEANIMOAMSET_6C, $04
+ db -1
+
+.Frameset_58
+ db BATTLEANIMOAMSET_6C, $08
+ db BATTLEANIMOAMSET_6D, $08
+ db -2
+
+.Frameset_18
+ db BATTLEANIMOAMSET_18, $04
+ db BATTLEANIMOAMSET_19, $04
+ db BATTLEANIMOAMSET_1A, $04
+ db -4
+
+.Frameset_19
+ db BATTLEANIMOAMSET_1B, $08
+ db -1
+
+.Frameset_1a
+ db BATTLEANIMOAMSET_0F, $08
+ db -1
+
+.Frameset_1b
+ db BATTLEANIMOAMSET_1C, $08
+ db -1
+
+.Frameset_1c
+ db BATTLEANIMOAMSET_0A, $08
+ db -4
+
+.Frameset_1d
+ db BATTLEANIMOAMSET_1D, $08
+ db -1
+
+.Frameset_1e
+ db BATTLEANIMOAMSET_17, $08
+ db -1
+
+.Frameset_1f
+ db BATTLEANIMOAMSET_0F, $03
+ db BATTLEANIMOAMSET_10, $03
+ db BATTLEANIMOAMSET_1E, $03
+ db -1
+
+.Frameset_20
+ db BATTLEANIMOAMSET_1F, $10
+ db BATTLEANIMOAMSET_20, $03
+ db -4
+
+.Frameset_21
+ db BATTLEANIMOAMSET_20, $08
+ db -1
+
+.Frameset_22
+ db BATTLEANIMOAMSET_20, $08
+ db BATTLEANIMOAMSET_21, $08
+ db BATTLEANIMOAMSET_1B, $08
+ db BATTLEANIMOAMSET_21, $08
+ db -2
+
+.Frameset_23
+ db BATTLEANIMOAMSET_22, $08
+ db -1
+
+.Frameset_24
+ db BATTLEANIMOAMSET_1B, $08
+ db -1
+
+.Frameset_25
+ db BATTLEANIMOAMSET_23, $08
+ db -1
+
+.Frameset_26
+ db BATTLEANIMOAMSET_24, $08
+ db -1
+
+.Frameset_27
+ db BATTLEANIMOAMSET_25, $08
+ db -1
+
+.Frameset_28
+ db BATTLEANIMOAMSET_26, $08
+ db BATTLEANIMOAMSET_27, $08
+ db -1
+
+.Frameset_29
+ db BATTLEANIMOAMSET_28, $08
+ db BATTLEANIMOAMSET_29, $08
+ db -4
+
+.Frameset_2a
+ db BATTLEANIMOAMSET_2A, $01
+ db BATTLEANIMOAMSET_2B, $01
+ db BATTLEANIMOAMSET_2C, $01
+ db BATTLEANIMOAMSET_2D, $01
+ db BATTLEANIMOAMSET_2E, $01
+ db BATTLEANIMOAMSET_2D, $01
+ db BATTLEANIMOAMSET_2C, $01
+ db BATTLEANIMOAMSET_2B, $01
+ db BATTLEANIMOAMSET_2A, $01
+ db -4
+
+.Frameset_2b
+ db BATTLEANIMOAMSET_14, $01
+ db BATTLEANIMOAMSET_15, $01
+ db -2
+
+.Frameset_2c
+ db BATTLEANIMOAMSET_2F, $04
+ db BATTLEANIMOAMSET_30, $28
+ db -4
+
+.Frameset_2d
+ db BATTLEANIMOAMSET_31, $08
+ db -1
+
+.Frameset_2e
+ db BATTLEANIMOAMSET_32, $20
+ db BATTLEANIMOAMSET_33, $20
+ db BATTLEANIMOAMSET_34, $20
+ db BATTLEANIMOAMSET_35, $20 ; fallthrough
+.Frameset_2f
+ db -3, $02
+ db BATTLEANIMOAMSET_35, $04
+ db -3, $02
+ db BATTLEANIMOAMSET_35, $04
+ db -3, $02
+ db BATTLEANIMOAMSET_35, $04
+ db -3, $02
+ db BATTLEANIMOAMSET_35, $04
+ db -4
+
+.Frameset_30
+ db BATTLEANIMOAMSET_14, $04
+ db BATTLEANIMOAMSET_15, $04
+ db -2
+
+.Frameset_31
+ db BATTLEANIMOAMSET_36, $02
+ db BATTLEANIMOAMSET_37, $02
+ db BATTLEANIMOAMSET_38, $02
+ db BATTLEANIMOAMSET_39, $20
+ db -4
+
+.Frameset_32
+ db BATTLEANIMOAMSET_3A, $02
+ db BATTLEANIMOAMSET_3B, $02
+ db BATTLEANIMOAMSET_3C, $02
+ db BATTLEANIMOAMSET_3D, $20
+ db -4
+
+.Frameset_33
+ db BATTLEANIMOAMSET_3A, $42
+ db BATTLEANIMOAMSET_3B, $42
+ db BATTLEANIMOAMSET_3C, $42
+ db BATTLEANIMOAMSET_3D, $60
+ db -4
+
+.Frameset_34
+ db BATTLEANIMOAMSET_3E, $08
+ db BATTLEANIMOAMSET_3F, $08
+ db BATTLEANIMOAMSET_40, $08
+ db -1
+
+.Frameset_35
+ db BATTLEANIMOAMSET_40, $02
+ db -3, $02
+ db BATTLEANIMOAMSET_40, $02
+ db -3, $02
+ db BATTLEANIMOAMSET_41, $02
+ db -3, $02
+ db BATTLEANIMOAMSET_41, $02
+ db -3, $02
+ db -2
+
+.Frameset_36
+ db BATTLEANIMOAMSET_42, $02
+ db BATTLEANIMOAMSET_43, $02
+ db BATTLEANIMOAMSET_44, $02
+ db BATTLEANIMOAMSET_45, $02
+ db -2
+
+.Frameset_37
+ db BATTLEANIMOAMSET_19, $02
+ db -3, $02
+ db -2
+
+.Frameset_38
+ db BATTLEANIMOAMSET_46, $04
+ db BATTLEANIMOAMSET_47, $04
+ db -2
+
+.Frameset_39
+ db BATTLEANIMOAMSET_18, $02
+ db -3, $02
+ db -2
+
+.Frameset_3a
+ db BATTLEANIMOAMSET_48, $08
+ db -1
+
+.Frameset_3b
+ db BATTLEANIMOAMSET_48, $48
+ db -1
+
+.Frameset_3c
+ db BATTLEANIMOAMSET_49, $08
+ db -1
+
+.Frameset_3d
+ db BATTLEANIMOAMSET_4A, $08
+ db -1
+
+.Frameset_43
+ db BATTLEANIMOAMSET_20, $10
+ db BATTLEANIMOAMSET_1F, $10
+ db BATTLEANIMOAMSET_1E, $10
+ db -1
+
+.Frameset_4c
+ db BATTLEANIMOAMSET_20, $08
+ db BATTLEANIMOAMSET_1F, $08
+ db BATTLEANIMOAMSET_1E, $08
+ db -1
+
+.Frameset_44
+ db -3, $14
+ db BATTLEANIMOAMSET_55, $28
+ db BATTLEANIMOAMSET_54, $28
+ db BATTLEANIMOAMSET_53, $14
+ db -3, $04
+ db BATTLEANIMOAMSET_53, $04
+ db -3, $04
+ db BATTLEANIMOAMSET_53, $04
+ db -3, $04
+ db BATTLEANIMOAMSET_53, $04
+ db -4
+
+.Frameset_7e
+ db BATTLEANIMOAMSET_1E, $08
+ db BATTLEANIMOAMSET_1F, $08
+ db BATTLEANIMOAMSET_20, $08
+ db -4
+
+.Frameset_45
+ db -3, $00
+ db BATTLEANIMOAMSET_14, $00
+ db BATTLEANIMOAMSET_15, $00
+ db BATTLEANIMOAMSET_14, $40
+ db -3, $00
+ db BATTLEANIMOAMSET_16, $40
+ db BATTLEANIMOAMSET_15, $00
+ db BATTLEANIMOAMSET_16, $00
+ db -2
+
+.Frameset_46
+ db BATTLEANIMOAMSET_56, $02
+ db BATTLEANIMOAMSET_57, $04
+ db -4
+
+.Frameset_47
+ db BATTLEANIMOAMSET_56, $c2
+ db BATTLEANIMOAMSET_57, $c4
+ db -4
+
+.Frameset_48
+ db BATTLEANIMOAMSET_56, $01
+ db BATTLEANIMOAMSET_57, $01
+ db BATTLEANIMOAMSET_58, $01
+ db BATTLEANIMOAMSET_57, $c1
+ db BATTLEANIMOAMSET_58, $c1
+ db BATTLEANIMOAMSET_57, $02
+ db -4
+
+.Frameset_49
+ db BATTLEANIMOAMSET_56, $c1
+ db BATTLEANIMOAMSET_57, $c1
+ db BATTLEANIMOAMSET_58, $c1
+ db BATTLEANIMOAMSET_57, $01
+ db BATTLEANIMOAMSET_58, $01
+ db BATTLEANIMOAMSET_57, $c2
+ db -4
+
+.Frameset_4a
+ db BATTLEANIMOAMSET_57, $c1
+ db BATTLEANIMOAMSET_58, $c1
+ db BATTLEANIMOAMSET_57, $01
+ db BATTLEANIMOAMSET_58, $01
+ db -2
+
+.Frameset_4b
+ db BATTLEANIMOAMSET_59, $01
+ db BATTLEANIMOAMSET_5A, $01
+ db BATTLEANIMOAMSET_5B, $01
+ db BATTLEANIMOAMSET_5C, $02
+ db -4
+
+.Frameset_4d
+ db BATTLEANIMOAMSET_0A, $0a
+ db BATTLEANIMOAMSET_0B, $43
+ db BATTLEANIMOAMSET_5D, $43
+ db BATTLEANIMOAMSET_0B, $c3
+ db BATTLEANIMOAMSET_0A, $82
+ db BATTLEANIMOAMSET_0B, $81
+ db BATTLEANIMOAMSET_5D, $01
+ db BATTLEANIMOAMSET_0B, $01
+ db -2
+
+.Frameset_4e
+ db BATTLEANIMOAMSET_0A, $03
+ db BATTLEANIMOAMSET_0B, $47
+ db BATTLEANIMOAMSET_0A, $07
+ db BATTLEANIMOAMSET_0B, $07
+ db BATTLEANIMOAMSET_0A, $03
+ db -2
+
+.Frameset_4f
+ db BATTLEANIMOAMSET_5E, $20
+ db BATTLEANIMOAMSET_5E, $20
+ db -4
+
+.Frameset_50
+ db BATTLEANIMOAMSET_5F, $20
+ db BATTLEANIMOAMSET_5F, $20
+ db -4
+
+.Frameset_51
+ db BATTLEANIMOAMSET_60, $08
+ db -1
+
+.Frameset_52
+ db BATTLEANIMOAMSET_61, $01
+ db BATTLEANIMOAMSET_62, $01
+ db BATTLEANIMOAMSET_63, $01
+ db -1
+
+.Frameset_53
+ db BATTLEANIMOAMSET_63, $07
+ db BATTLEANIMOAMSET_64, $07
+ db -2
+
+.Frameset_54
+ db BATTLEANIMOAMSET_65, $01
+ db BATTLEANIMOAMSET_66, $01
+ db BATTLEANIMOAMSET_67, $01
+ db -1
+
+.Frameset_55
+ db BATTLEANIMOAMSET_67, $07
+ db BATTLEANIMOAMSET_68, $07
+ db -2
+
+.Frameset_59
+ db BATTLEANIMOAMSET_6E, $08
+ db -1
+
+.Frameset_5a
+ db BATTLEANIMOAMSET_6F, $08
+ db -1
+
+.Frameset_5b
+ db BATTLEANIMOAMSET_6E, $88
+ db -1
+
+.Frameset_5c
+ db BATTLEANIMOAMSET_18, $04
+ db BATTLEANIMOAMSET_70, $04
+ db BATTLEANIMOAMSET_71, $04
+ db BATTLEANIMOAMSET_72, $04
+ db BATTLEANIMOAMSET_73, $04
+ db -4
+
+.Frameset_5d
+ db BATTLEANIMOAMSET_74, $04
+ db BATTLEANIMOAMSET_75, $04
+ db -2
+
+.Frameset_5e
+ db BATTLEANIMOAMSET_14, $08
+ db -1
+
+.Frameset_7a
+ db BATTLEANIMOAMSET_74, $03
+ db BATTLEANIMOAMSET_14, $03
+ db BATTLEANIMOAMSET_15, $03
+ db BATTLEANIMOAMSET_14, $03
+ db BATTLEANIMOAMSET_15, $03
+ db -4
+
+.Frameset_af
+ db BATTLEANIMOAMSET_14, $00
+ db BATTLEANIMOAMSET_15, $00
+ db BATTLEANIMOAMSET_14, $00
+ db BATTLEANIMOAMSET_15, $00
+ db BATTLEANIMOAMSET_74, $0c
+ db -4
+
+.Frameset_5f
+ db BATTLEANIMOAMSET_76, $08
+ db -1
+
+.Frameset_60
+ db BATTLEANIMOAMSET_77, $01
+ db BATTLEANIMOAMSET_78, $01
+ db BATTLEANIMOAMSET_79, $01
+ db BATTLEANIMOAMSET_7A, $01
+ db BATTLEANIMOAMSET_7B, $01
+ db BATTLEANIMOAMSET_7C, $01
+ db BATTLEANIMOAMSET_7D, $01
+ db BATTLEANIMOAMSET_7C, $c1
+ db BATTLEANIMOAMSET_7B, $c1
+ db BATTLEANIMOAMSET_7A, $c1
+ db BATTLEANIMOAMSET_79, $c1
+ db BATTLEANIMOAMSET_78, $c1
+ db BATTLEANIMOAMSET_77, $c1
+ db -4
+
+.Frameset_61
+ db BATTLEANIMOAMSET_1B, $04
+ db BATTLEANIMOAMSET_7E, $04
+ db -2
+
+.Frameset_62
+ db BATTLEANIMOAMSET_1B, $44
+ db BATTLEANIMOAMSET_7E, $44
+ db -2
+
+.Frameset_63
+ db BATTLEANIMOAMSET_7F, $08
+ db -1
+
+.Frameset_64
+ db BATTLEANIMOAMSET_25, $08
+ db -1
+
+.Frameset_65
+ db BATTLEANIMOAMSET_80, $08
+ db -1
+
+.Frameset_66
+ db BATTLEANIMOAMSET_83, $07
+ db BATTLEANIMOAMSET_82, $07
+ db BATTLEANIMOAMSET_81, $07
+ db BATTLEANIMOAMSET_82, $07
+ db BATTLEANIMOAMSET_83, $07
+ db BATTLEANIMOAMSET_82, $07
+ db BATTLEANIMOAMSET_81, $07
+ db -4
+
+.Frameset_67
+ db BATTLEANIMOAMSET_1B, $10
+ db -4
+
+.Frameset_68
+ db -3, $0f
+ db BATTLEANIMOAMSET_84, $0f
+ db BATTLEANIMOAMSET_85, $0f
+ db BATTLEANIMOAMSET_29, $0f
+ db BATTLEANIMOAMSET_28, $0f
+ db BATTLEANIMOAMSET_86, $20
+ db -4
+
+.Frameset_69
+ db BATTLEANIMOAMSET_1B, $03
+ db BATTLEANIMOAMSET_87, $03
+ db BATTLEANIMOAMSET_88, $03
+ db BATTLEANIMOAMSET_89, $03
+ db -4
+
+.Frameset_6a
+ db BATTLEANIMOAMSET_8A, $02
+ db BATTLEANIMOAMSET_8B, $02
+ db BATTLEANIMOAMSET_8C, $02
+ db BATTLEANIMOAMSET_8D, $02
+ db -4
+
+.Frameset_6b
+ db BATTLEANIMOAMSET_61, $02
+ db BATTLEANIMOAMSET_62, $02
+ db BATTLEANIMOAMSET_63, $02
+ db -1
+
+.Frameset_6c
+ db BATTLEANIMOAMSET_65, $02
+ db BATTLEANIMOAMSET_66, $02
+ db BATTLEANIMOAMSET_67, $02
+ db -1
+
+.Frameset_6d
+ db BATTLEANIMOAMSET_8E, $08
+ db -1
+
+.Frameset_6e
+ db BATTLEANIMOAMSET_8E, $48
+ db -1
+
+.Frameset_6f
+ db BATTLEANIMOAMSET_8F, $10
+ db BATTLEANIMOAMSET_90, $10
+ db -2
+
+.Frameset_70
+ db BATTLEANIMOAMSET_91, $10
+ db BATTLEANIMOAMSET_92, $10
+ db -2
+
+.Frameset_71
+ db BATTLEANIMOAMSET_93, $08
+ db -1
+
+.Frameset_72
+ db BATTLEANIMOAMSET_1E, $08
+ db -1
+
+.Frameset_73
+ db BATTLEANIMOAMSET_1B, $07
+ db BATTLEANIMOAMSET_94, $07
+ db -2
+
+.Frameset_74
+ db BATTLEANIMOAMSET_95, $08
+ db -1
+
+.Frameset_75
+ db BATTLEANIMOAMSET_96, $08
+ db -1
+
+.Frameset_76
+ db BATTLEANIMOAMSET_95, $08
+ db -1
+
+.Frameset_77
+ db BATTLEANIMOAMSET_97, $01
+ db BATTLEANIMOAMSET_97, $41
+ db -2
+
+.Frameset_78
+ db BATTLEANIMOAMSET_98, $08
+ db -1
+
+.Frameset_79
+ db BATTLEANIMOAMSET_99, $20
+ db BATTLEANIMOAMSET_99, $20
+ db BATTLEANIMOAMSET_99, $20
+ db BATTLEANIMOAMSET_99, $20
+ db BATTLEANIMOAMSET_99, $20
+ db BATTLEANIMOAMSET_9A, $08
+ db -1
+
+.Frameset_7b
+ db BATTLEANIMOAMSET_9B, $08
+ db -1
+
+.Frameset_7c
+ db BATTLEANIMOAMSET_9C, $02
+ db BATTLEANIMOAMSET_9D, $02
+ db BATTLEANIMOAMSET_9E, $08
+ db -3, $02
+ db BATTLEANIMOAMSET_9E, $02
+ db -3, $02
+ db BATTLEANIMOAMSET_9E, $02
+ db -3, $02
+ db BATTLEANIMOAMSET_9E, $02
+ db -4
+
+.Frameset_7d
+ db BATTLEANIMOAMSET_9F, $08
+ db -1
+
+.Frameset_7f
+ db BATTLEANIMOAMSET_0F, $08
+ db -1
+
+.Frameset_80
+ db BATTLEANIMOAMSET_6B, $18
+ db -4
+
+.Frameset_81
+ db BATTLEANIMOAMSET_A0, $01 ; fallthrough
+.Frameset_82
+ db BATTLEANIMOAMSET_A1, $01 ; fallthrough
+.Frameset_83
+ db BATTLEANIMOAMSET_A2, $01
+ db -4
+
+.Frameset_84
+ db BATTLEANIMOAMSET_A3, $08
+ db -1
+
+.Frameset_85
+ db BATTLEANIMOAMSET_A4, $04
+ db BATTLEANIMOAMSET_A5, $04
+ db BATTLEANIMOAMSET_A6, $04
+ db BATTLEANIMOAMSET_A7, $04
+ db BATTLEANIMOAMSET_A6, $44
+ db BATTLEANIMOAMSET_A5, $44
+ db -2
+
+.Frameset_86
+ db BATTLEANIMOAMSET_A8, $04
+ db BATTLEANIMOAMSET_A9, $04
+ db BATTLEANIMOAMSET_AA, $04
+ db BATTLEANIMOAMSET_AB, $04
+ db BATTLEANIMOAMSET_AA, $44
+ db BATTLEANIMOAMSET_A9, $44
+ db -2
+
+.Frameset_87
+ db BATTLEANIMOAMSET_1B, $08
+ db -1
+
+.Frameset_88
+ db BATTLEANIMOAMSET_AC, $08
+ db -1
+
+.Frameset_89
+ db BATTLEANIMOAMSET_AD, $08
+ db -1
+
+.Frameset_8a
+ db BATTLEANIMOAMSET_AE, $08
+ db -1
+
+.Frameset_8b
+ db BATTLEANIMOAMSET_AF, $08
+ db -1
+
+.Frameset_8c
+ db BATTLEANIMOAMSET_B0, $20
+ db -4
+
+.Frameset_8d
+ db BATTLEANIMOAMSET_B1, $07
+ db BATTLEANIMOAMSET_B1, $47
+ db -2
+
+.Frameset_8e
+ db BATTLEANIMOAMSET_B2, $08
+ db -1
+
+.Frameset_8f
+ db BATTLEANIMOAMSET_B3, $08
+ db -1
+
+.Frameset_90
+ db BATTLEANIMOAMSET_B3, $48
+ db -1
+
+.Frameset_91
+ db BATTLEANIMOAMSET_B3, $88
+ db -1
+
+.Frameset_92
+ db BATTLEANIMOAMSET_B3, $c8
+ db -1
+
+.Frameset_93
+ db BATTLEANIMOAMSET_B5, $08
+ db -1
+
+.Frameset_94
+ db BATTLEANIMOAMSET_B5, $48
+ db -1
+
+.Frameset_95
+ db BATTLEANIMOAMSET_B5, $88
+ db -1
+
+.Frameset_96
+ db BATTLEANIMOAMSET_B5, $c8
+ db -1
+
+.Frameset_97
+ db BATTLEANIMOAMSET_B4, $08
+ db -1
+
+.Frameset_98
+ db BATTLEANIMOAMSET_6B, $08
+ db -1
+
+.Frameset_99
+ db BATTLEANIMOAMSET_B6, $08
+ db -1
+
+.Frameset_9a
+ db BATTLEANIMOAMSET_B7, $20
+ db -1
+
+.Frameset_9b
+ db BATTLEANIMOAMSET_1B, $20
+ db -1
+
+.Frameset_9c
+ db BATTLEANIMOAMSET_B8, $20
+ db -1
+
+.Frameset_9d
+ db BATTLEANIMOAMSET_B8, $60
+ db -1
+
+.Frameset_9e
+ db BATTLEANIMOAMSET_B9, $20
+ db -1
+
+.Frameset_9f
+ db BATTLEANIMOAMSET_BA, $20
+ db -1
+
+.Frameset_a0
+ db BATTLEANIMOAMSET_BB, $60
+ db -1
+
+.Frameset_a1
+ db BATTLEANIMOAMSET_BB, $20
+ db -1
+
+.Frameset_a2
+ db BATTLEANIMOAMSET_BC, $20
+ db -1
+
+.Frameset_a3
+ db BATTLEANIMOAMSET_BD, $0b
+ db BATTLEANIMOAMSET_BE, $0b
+ db BATTLEANIMOAMSET_1B, $0b
+ db -4
+
+.Frameset_a4
+ db BATTLEANIMOAMSET_BF, $04
+ db BATTLEANIMOAMSET_C0, $04
+ db BATTLEANIMOAMSET_C1, $04
+ db -4
+
+.Frameset_a5
+ db BATTLEANIMOAMSET_C2, $20
+ db BATTLEANIMOAMSET_C2, $20
+ db -4
+
+.Frameset_a6
+ db BATTLEANIMOAMSET_4B, $02
+ db BATTLEANIMOAMSET_4C, $02
+ db BATTLEANIMOAMSET_4D, $20
+ db BATTLEANIMOAMSET_4D, $20
+ db BATTLEANIMOAMSET_4D, $20
+ db BATTLEANIMOAMSET_4F, $01
+ db BATTLEANIMOAMSET_50, $01
+ db BATTLEANIMOAMSET_51, $01
+ db BATTLEANIMOAMSET_52, $02
+ db -3, $02
+ db BATTLEANIMOAMSET_52, $02
+ db -3, $02
+ db BATTLEANIMOAMSET_52, $02
+ db -3, $02
+ db BATTLEANIMOAMSET_52, $02
+ db -4
+
+.Frameset_a7
+ db BATTLEANIMOAMSET_4B, $c2
+ db BATTLEANIMOAMSET_4C, $c2
+ db BATTLEANIMOAMSET_4D, $e0
+ db BATTLEANIMOAMSET_4D, $e0
+ db BATTLEANIMOAMSET_4D, $e0
+ db BATTLEANIMOAMSET_4F, $c1
+ db BATTLEANIMOAMSET_50, $c1
+ db BATTLEANIMOAMSET_51, $c1
+ db BATTLEANIMOAMSET_52, $c2
+ db -3, $02
+ db BATTLEANIMOAMSET_52, $c2
+ db -3, $02
+ db BATTLEANIMOAMSET_52, $c2
+ db -3, $02
+ db BATTLEANIMOAMSET_52, $c2
+ db -4
+
+.Frameset_a8
+ db BATTLEANIMOAMSET_C3, $01
+ db BATTLEANIMOAMSET_C3, $c1
+ db -2
+
+.Frameset_a9
+ db BATTLEANIMOAMSET_C4, $20
+ db -1
+
+.Frameset_aa
+ db BATTLEANIMOAMSET_C5, $04
+ db BATTLEANIMOAMSET_C6, $04
+ db BATTLEANIMOAMSET_C7, $04
+ db -4
+
+.Frameset_ab
+ db BATTLEANIMOAMSET_C8, $01
+ db BATTLEANIMOAMSET_C8, $41
+ db -2
+
+.Frameset_ac
+ db BATTLEANIMOAMSET_C9, $03
+ db BATTLEANIMOAMSET_05, $03
+ db -4
+
+.Frameset_ad
+ db BATTLEANIMOAMSET_CA, $20
+ db BATTLEANIMOAMSET_CB, $03
+ db BATTLEANIMOAMSET_CA, $03
+ db BATTLEANIMOAMSET_CB, $03
+ db -2
+
+.Frameset_ae
+ db BATTLEANIMOAMSET_03, $a0
+ db -1
+
+.Frameset_b0
+ db BATTLEANIMOAMSET_CC, $20
+ db -1
+
+.Frameset_b1
+ db BATTLEANIMOAMSET_7F, $02
+ db BATTLEANIMOAMSET_25, $02
+ db BATTLEANIMOAMSET_80, $02
+ db BATTLEANIMOAMSET_25, $02
+ db -2
+
+.Frameset_b2
+ db BATTLEANIMOAMSET_CD, $04
+ db BATTLEANIMOAMSET_CE, $04
+ db BATTLEANIMOAMSET_CD, $c4
+ db BATTLEANIMOAMSET_CE, $c4
+ db -2
+
+.Frameset_b3
+ db BATTLEANIMOAMSET_CF, $04
+ db BATTLEANIMOAMSET_D0, $04
+ db BATTLEANIMOAMSET_D1, $04
+ db BATTLEANIMOAMSET_D2, $04
+ db -4
+
+.Frameset_b4
+ db BATTLEANIMOAMSET_D3, $20
+ db -1
+
+.Frameset_b5
+ db BATTLEANIMOAMSET_D4, $08
+ db -1
+
+.Frameset_b6
+ db BATTLEANIMOAMSET_D5, $08
+ db -1
+
+.Frameset_b7
+ db BATTLEANIMOAMSET_D6, $08
+ db -1
+
+.Frameset_b8
+ db BATTLEANIMOAMSET_D7, $08
+ db -1
+
+; ceeae
--- /dev/null
+++ b/battle/objects/functions.asm
@@ -1,0 +1,4156 @@
+DoBattleAnimFrame: ; ccfbe
+ ld hl, BATTLEANIMSTRUCT_FUNCTION
+ add hl, bc
+ ld e, [hl]
+ ld d, 0
+ ld hl, .Jumptable
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+; ccfce
+
+.Jumptable
+ dw BattleAnimFunction_00 ; 00
+ dw BattleAnimFunction_01 ; 01
+ dw BattleAnimFunction_02 ; 02
+ dw BattleAnimFunction_03 ; 03
+ dw BattleAnimFunction_04 ; 04
+ dw BattleAnimFunction_05 ; 05
+ dw BattleAnimFunction_06 ; 06
+ dw BattleAnimFunction_07 ; 07
+ dw BattleAnimFunction_08 ; 08
+ dw BattleAnimFunction_09 ; 09
+ dw BattleAnimFunction_0A ; 0a
+ dw BattleAnimFunction_0B ; 0b
+ dw BattleAnimFunction_0C ; 0c
+ dw BattleAnimFunction_0D ; 0d
+ dw BattleAnimFunction_0E ; 0e
+ dw BattleAnimFunction_0F ; 0f
+ dw BattleAnimFunction_10 ; 10
+ dw BattleAnimFunction_11 ; 11
+ dw BattleAnimFunction_12 ; 12
+ dw BattleAnimFunction_13 ; 13
+ dw BattleAnimFunction_14 ; 14
+ dw BattleAnimFunction_15 ; 15
+ dw BattleAnimFunction_16 ; 16
+ dw BattleAnimFunction_17 ; 17
+ dw BattleAnimFunction_18 ; 18
+ dw BattleAnimFunction_19 ; 19
+ dw BattleAnimFunction_1A ; 1a
+ dw BattleAnimFunction_1B ; 1b
+ dw BattleAnimFunction_1C ; 1c
+ dw BattleAnimFunction_1D ; 1d
+ dw BattleAnimFunction_1E ; 1e
+ dw BattleAnimFunction_1F ; 1f
+ dw BattleAnimFunction_20 ; 20
+ dw BattleAnimFunction_21 ; 21
+ dw BattleAnimFunction_22 ; 22
+ dw BattleAnimFunction_23 ; 23
+ dw BattleAnimFunction_24 ; 24
+ dw BattleAnimFunction_25 ; 25
+ dw BattleAnimFunction_26 ; 26
+ dw BattleAnimFunction_27 ; 27
+ dw BattleAnimFunction_28 ; 28
+ dw BattleAnimFunction_29 ; 29
+ dw BattleAnimFunction_2A ; 2a
+ dw BattleAnimFunction_2B ; 2b
+ dw BattleAnimFunction_2C ; 2c
+ dw BattleAnimFunction_2D ; 2d
+ dw BattleAnimFunction_2E ; 2e
+ dw BattleAnimFunction_2F ; 2f
+ dw BattleAnimFunction_30 ; 30
+ dw BattleAnimFunction_31 ; 31
+ dw BattleAnimFunction_32 ; 32
+ dw BattleAnimFunction_33 ; 33
+ dw BattleAnimFunction_34 ; 34
+ dw BattleAnimFunction_35 ; 35
+ dw BattleAnimFunction_36 ; 36
+ dw BattleAnimFunction_37 ; 37
+ dw BattleAnimFunction_38 ; 38
+ dw BattleAnimFunction_39 ; 39
+ dw BattleAnimFunction_3A ; 3a
+ dw BattleAnimFunction_3B ; 3b
+ dw BattleAnimFunction_3C ; 3c
+ dw BattleAnimFunction_3D ; 3d
+ dw BattleAnimFunction_3E ; 3e
+ dw BattleAnimFunction_3F ; 3f
+ dw BattleAnimFunction_40 ; 40
+ dw BattleAnimFunction_41 ; 41
+ dw BattleAnimFunction_42 ; 42
+ dw BattleAnimFunction_43 ; 43
+ dw BattleAnimFunction_44 ; 44
+ dw BattleAnimFunction_45 ; 45
+ dw BattleAnimFunction_46 ; 46
+ dw BattleAnimFunction_47 ; 47
+ dw BattleAnimFunction_48 ; 48
+ dw BattleAnimFunction_49 ; 49
+ dw BattleAnimFunction_4A ; 4a
+ dw BattleAnimFunction_4B ; 4b
+ dw BattleAnimFunction_4C ; 4c
+ dw BattleAnimFunction_4D ; 4d
+ dw BattleAnimFunction_4E ; 4e
+ dw BattleAnimFunction_4F ; 4f
+
+BattleAnimFunction_00: ; cd06e (33:506e)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+.one
+ call DeinitBattleAnimation
+.zero
+ ret
+
+BattleAnimFunction_06: ; cd079 (33:5079)
+ call BattleAnimFunction_05
+ ret c
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_05: ; cd081 (33:5081)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ ret nc
+ add $2
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ scf
+ ret
+
+BattleAnimFunction_04: ; cd0a6 (33:50a6)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr c, .asm_cd0b3
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd0b3
+ add $2
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+rept 4
+ inc [hl]
+endr
+ ld d, $10
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ sra a
+ sra a
+ sra a
+ sra a
+ ld [hl], a
+ ret
+
+BattleAnimFunction_03: ; cd0e3 (33:50e3)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+.zero
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 7, [hl]
+ ld a, $0
+ jr z, .asm_cd0f9
+ ld a, $20
+.asm_cd0f9
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+.one
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_01: ; cd12a (33:512a)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+.one
+ call DeinitBattleAnimation
+ ret
+
+.zero
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ ret nc
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+BattleAnimFunction_02: ; cd146 (33:5146)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .asm_cd158
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+.asm_cd158
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_12: ; cd15c (33:515c)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
+ dw .six
+ dw .seven
+ dw .eight
+ dw .nine
+ dw .ten
+ dw .eleven
+.zero
+ call GetBallAnimFunction
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.one
+ call BattleAnimFunction_05
+ ret c
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ld a, $b
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.three
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $9
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+ inc hl
+ ld [hl], $10
+.four
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec a
+ ld [hl], a
+ and $1f
+ ret nz
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+ ret nz
+ ld a, $c
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.six
+ ld a, $d
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ dec [hl]
+.two
+.five
+.nine
+ ret
+
+.seven
+ call GetBallAnimFunction
+ ld a, $a
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], $20
+.eight
+.ten
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec a
+ ld [hl], a
+ and $1f
+ jr z, .eleven
+ and $f
+ ret nz
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.eleven
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_13: ; cd212 (33:5212)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+.zero
+ call GetBallAnimFunction
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.one
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $70
+ jr nc, .next
+ call BattleAnimFunction_05
+ ret
+
+.next
+ call BattleAnim_IncAnonJumptableIndex
+.two
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .done
+ add $4
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ret
+
+.done
+ call DeinitBattleAnimation
+ ret
+
+GetBallAnimFunction: ; cd249 (33:5249)
+ ld hl, .balls
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ ld a, [CurItem] ; CurItem
+ ld e, a
+ pop af
+ ld [rSVBK], a
+.IsInArray
+ ld a, [hli]
+ cp -1
+ jr z, .load
+ cp e
+ jr z, .load
+ inc hl
+ jr .IsInArray
+
+.load
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_PALETTE
+ add hl, bc
+ ld [hl], a
+ ret
+
+; cd26c (33:526c)
+.balls
+ db MASTER_BALL, 5
+ db ULTRA_BALL, 3
+ db GREAT_BALL, 6
+ db POKE_BALL, 4
+ db HEAVY_BALL, 2
+ db LEVEL_BALL, 7
+ db LURE_BALL, 6
+ db FAST_BALL, 6
+ db FRIEND_BALL, 3
+ db MOON_BALL, 2
+ db LOVE_BALL, 4
+ db -1, 2
+; cd284
+BattleAnimFunction_10: ; cd284 (33:5284)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+.zero
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ swap a
+ and $f
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ ret
+
+.one
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ ret nc
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+.two
+ call DeinitBattleAnimation
+ ret
+
+.three
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $f
+ call ReinitBattleAnimFrameset
+.four
+ ret
+
+BattleAnimFunction_07: ; cd2be (33:52be)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+.zero
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $30
+ inc hl
+ ld [hl], $48
+.one
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $20
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ sub [hl]
+ jr z, .done
+ jr c, .done
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], a
+ ret
+
+.done
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_08: ; cd306 (33:5306)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+.zero
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .next
+ call .SetCoords
+ ret
+
+.next
+ call BattleAnim_IncAnonJumptableIndex
+.one
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+.two
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, .loop_back
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call BattleAnim_Cosine
+ sub $18
+ sra a
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+.loop_back
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ jr z, .finish
+ sub $10
+ ld d, a
+ ld a, [hl]
+ and $f
+ or d
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ dec [hl]
+ ret
+
+.finish
+ call BattleAnim_IncAnonJumptableIndex
+.three
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $b0
+ jr c, .retain
+ call DeinitBattleAnimation
+ ret
+
+.retain
+ call .SetCoords
+ ret
+
+.SetCoords
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld e, a
+ srl e
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+.loop
+ dec [hl]
+ dec e
+ jr nz, .loop
+ ret
+
+BattleAnimFunction_09: ; cd3ae (33:53ae)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+.zero
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+.one
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .done_one
+ dec [hl]
+ ret
+
+.done_one
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ swap a
+ and $f
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+.two
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_0A: ; cd3f2 (33:53f2)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
+ dw .six
+ dw .seven
+ dw .eight
+ dw .nine
+.zero
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ cp $7
+ jr z, .seven
+ ld a, $11
+ call ReinitBattleAnimFrameset
+ ret
+
+.seven
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr nc, .set_up_eight
+ add $2
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ ret
+
+.set_up_eight
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $10
+ call ReinitBattleAnimFrameset
+.eight
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ret
+
+.nine
+ call DeinitBattleAnimation
+ ret
+
+.one
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ dec [hl]
+ ret
+
+.four
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ inc [hl]
+.two
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ dec [hl]
+ ret
+
+.five
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ inc [hl]
+.three
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ inc [hl]
+.six
+ ret
+
+BattleAnimFunction_0B: ; cd478 (33:5478)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
+ dw .six
+ dw .seven
+ dw .eight
+.zero
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $40
+.one
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .sine_cosine
+ call BattleAnim_IncAnonJumptableIndex
+ xor a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ ld a, $17
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 6, [hl]
+ ret z
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], $5
+ ret
+
+.sine_cosine
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ call Functioncd557
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], e
+ ret
+
+.two
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr nz, .sine_cosine_2
+ call DeinitBattleAnimation
+ ret
+
+.sine_cosine_2
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 6, [hl]
+ jr nz, .decrease
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ jr .finish
+
+.decrease
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ dec [hl]
+.finish
+ ld de, $80
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], e
+ ret
+
+.three
+ ld a, $16
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ res 5, [hl]
+.four
+.five
+.six
+.seven
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.eight
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $c0
+ ret nc
+ ld a, $8
+ call Functionce70a
+ ret
+
+Functioncd557: ; cd557 (33:5557)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ bit 7, a
+ jr nz, .negative
+ cp $20
+ jr nc, .plus_256
+ cp $18
+ jr nc, .plus_384
+ ld de, $200
+ ret
+
+.plus_384
+ ld de, $180
+ ret
+
+.plus_256
+ ld de, $100
+ ret
+
+.negative
+ and $3f
+ cp $20
+ jr nc, .minus_256
+ cp $18
+ jr nc, .minus_384
+ ld de, -$200
+ ret
+
+.minus_384
+ ld de, -$180
+ ret
+
+.minus_256
+ ld de, -$100
+ ret
+
+BattleAnimFunction_4E: ; cd58a (33:558a)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+.zero
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $40
+ rlca
+ rlca
+ add $19
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld [hl], a
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $40
+.one
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .sine_cosine
+ call DeinitBattleAnimation
+ ret
+
+.sine_cosine
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ call Functioncd557
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], e
+ ret
+
+BattleAnimFunction_0C: ; cd5e9 (33:55e9)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+.zero
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $c
+.one
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .next
+ dec [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+.next
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+ ld a, $22
+ call ReinitBattleAnimFrameset
+.two
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ jr nc, .okay
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ ld de, $60
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], d
+.okay
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ ret c
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ ld e, a
+ ld d, $ff
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld [hl], d
+ ret
+
+BattleAnimFunction_0D: ; cd66a (33:566a)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+.zero
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $42
+ ld [hFFC6], a
+ ld a, $58
+ ld [hFFC7], a
+ ld a, $5e
+ ld [hFFC8], a
+ ret
+
+.one
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld e, [hl]
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ cp e
+ jr nc, .asm_cd69b
+ call BattleAnim_IncAnonJumptableIndex
+ xor a
+ ld [hFFC7], a
+ ret
+
+.asm_cd69b
+ dec a
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ add [hl]
+ sub $10
+ ret c
+ ld [hFFC7], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld a, [hl]
+ inc a
+ and $7
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ inc [hl]
+.two
+ ret
+
+.three
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $70
+ jr c, asm_cd6da
+ xor a
+ ld [hFFC6], a
+ ld [hFFC7], a
+ ld [hFFC8], a
+.four
+ call DeinitBattleAnimation
+ ret
+
+asm_cd6da: ; cd6da (33:56da)
+ inc a
+ inc a
+ ld [hl], a
+ sub $10
+ ret c
+ ld [hFFC7], a
+ ret
+
+BattleAnimFunction_0E: ; cd6e3 (33:56e3)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd6ea
+ dw Functioncd6f7
+Functioncd6ea: ; cd6ea (33:56ea)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, $24
+ add [hl]
+ call ReinitBattleAnimFrameset
+Functioncd6f7: ; cd6f7 (33:56f7)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $b8
+ jr c, .asm_cd704
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd704
+ ld a, $2
+ call Functionce70a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld d, $8
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_0F: ; cd71a (33:571a)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd725
+ dw Functioncd728
+ dw Functioncd763
+ dw Functioncd776
+Functioncd725: ; cd725 (33:5725)
+ call BattleAnim_IncAnonJumptableIndex
+Functioncd728: ; cd728 (33:5728)
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cd747
+ ld a, $2
+ call Functionce70a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld d, $8
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.asm_cd747
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $28
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld [hl], $30
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ld [hl], a
+Functioncd763: ; cd763 (33:5763)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $18
+ jr nc, .asm_cd76e
+ inc [hl]
+ ret
+
+.asm_cd76e
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $29
+ call ReinitBattleAnimFrameset
+Functioncd776: ; cd776 (33:5776)
+ ret
+
+BattleAnimFunction_11: ; cd777 (33:5777)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $38
+ jr c, .asm_cd784
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd784
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld l, [hl]
+ ld h, a
+ ld de, $80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld a, [hl]
+ xor $10
+ ld [hl], a
+ ret
+
+BattleAnimFunction_14: ; cd7a4 (33:57a4)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd7ab
+ dw Functioncd7d2
+Functioncd7ab: ; cd7ab (33:57ab)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ sla a
+ sla a
+ sla a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld [hl], $1
+Functioncd7d2: ; cd7d2 (33:57d2)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_cd7de
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd7de
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ xor $1
+ ld [hl], a
+ ret z
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ dec [hl]
+ ret
+
+BattleAnimFunction_15: ; cd80c (33:580c)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd81f
+ dw Functioncd817
+ dw Functioncd81f
+ dw Functioncd820
+Functioncd817: ; cd817 (33:5817)
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $35
+ call ReinitBattleAnimFrameset
+Functioncd81f: ; cd81f (33:581f)
+ ret
+
+Functioncd820: ; cd820 (33:5820)
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_16: ; cd824 (33:5824)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd835
+ dw Functioncd860
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd893
+Functioncd835: ; cd835 (33:5835)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_cd852
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $10
+ jr .asm_cd858
+
+.asm_cd852
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $30
+.asm_cd858
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+Functioncd860: ; cd860 (33:5860)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ bit 7, a
+ jr nz, .asm_cd87e
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ inc a
+ jr .asm_cd883
+
+.asm_cd87e
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+.asm_cd883
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1f
+ ret nz
+Functioncd88f: ; cd88f (33:588f)
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncd893: ; cd893 (33:5893)
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], $1
+ ret
+
+BattleAnimFunction_17: ; cd89a (33:589a)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd8ab
+ dw Functioncd8cc
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f9
+Functioncd8ab: ; cd8ab (33:58ab)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_cd8be
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $10
+ jr .asm_cd8c4
+
+.asm_cd8be
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $30
+.asm_cd8c4
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+Functioncd8cc: ; cd8cc (33:58cc)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ bit 7, a
+ jr nz, .asm_cd8e6
+ ld a, $3d
+ jr .asm_cd8e8
+
+.asm_cd8e6
+ ld a, $3c
+.asm_cd8e8
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $1f
+ ret nz
+Functioncd8f5: ; cd8f5 (33:58f5)
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncd8f9: ; cd8f9 (33:58f9)
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], $1
+ ret
+
+BattleAnimFunction_18: ; cd900 (33:5900)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd907
+ dw Functioncd913
+Functioncd907: ; cd907 (33:5907)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $28
+ inc hl
+ ld [hl], $0
+Functioncd913: ; cd913 (33:5913)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd950
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], d
+ ret
+
+.asm_cd950
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_19: ; cd954 (33:5954)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd961
+ dw Functioncd96a
+ dw Functioncd96e
+ dw Functioncd96a
+ dw Functioncd97b
+Functioncd961: ; cd961 (33:5961)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld [hl], $0
+Functioncd96a: ; cd96a (33:596a)
+ call Functioncd99a
+ ret
+
+Functioncd96e: ; cd96e (33:596e)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr c, asm_cd988
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncd97b: ; cd97b (33:597b)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $b8
+ jr c, asm_cd988
+ call DeinitBattleAnimation
+ ret
+
+asm_cd988: ; cd988 (33:5988)
+ call Functioncd99a
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ ret
+
+Functioncd99a: ; cd99a (33:599a)
+ call Functioncd9f4
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ sub $8
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd9d7
+ cp $c2
+ jr c, .asm_cd9e2
+.asm_cd9d7
+ dec a
+ ld [hl], a
+ and $7
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ inc [hl]
+ ret
+
+.asm_cd9e2
+ xor a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ ret
+
+Functioncd9f4: ; cd9f4 (33:59f4)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld e, [hl]
+ ld d, 0
+ ld hl, Unknown_cda01
+ add hl, de
+ ld d, [hl]
+ ret
+
+; cda01 (33:5a01)
+Unknown_cda01: ; cda01
+ db 8, 6, 5, 4, 5, 6, 8, 12, 16
+; cda0a
+BattleAnimFunction_1C: ; cda0a (33:5a0a)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .asm_cda17
+ call DeinitBattleAnimation
+ ret
+
+.asm_cda17
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld e, a
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ sub e
+ ld [hl], a
+ srl e
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+.asm_cda2c
+ inc [hl]
+ dec e
+ jr nz, .asm_cda2c
+ ret
+
+BattleAnimFunction_1F: ; cda31 (33:5a31)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncda4c
+ dw Functioncda3a
+ dw Functioncda4c
+Functioncda3a: ; cda3a (33:5a3a)
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld a, [hl]
+ inc a
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $8
+Functioncda4c: ; cda4c (33:5a4c)
+ ret
+
+BattleAnimFunction_20: ; cda4d (33:5a4d)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncda58
+ dw Functioncda62
+ dw Functioncda7a
+ dw Functioncda8c
+Functioncda58: ; cda58 (33:5a58)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], $40
+ ret
+
+Functioncda62: ; cda62 (33:5a62)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, .asm_cda6f
+ call Functioncda8d
+ ret
+
+.asm_cda6f
+ ld [hl], $40
+ ld a, $57
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncda7a: ; cda7a (33:5a7a)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cda84
+ dec [hl]
+ ret
+
+.asm_cda84
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $58
+ call ReinitBattleAnimFrameset
+Functioncda8c: ; cda8c (33:5a8c)
+ ret
+
+Functioncda8d: ; cda8d (33:5a8d)
+ dec [hl]
+ ld d, $20
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_02
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld e, [hl]
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld h, [hl]
+ ld a, h
+ and $f
+ swap a
+ ld l, a
+ ld a, h
+ and $f0
+ swap a
+ ld h, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ ret
+
+BattleAnimFunction_3F: ; cdad6 (33:5ad6)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncdadf
+ dw Functioncdae9
+ dw Functioncdaf9
+Functioncdadf: ; cdadf (33:5adf)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], $40
+ ret
+
+Functioncdae9: ; cdae9 (33:5ae9)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, .asm_cdaf6
+ call Functioncda8d
+ ret
+
+.asm_cdaf6
+ call BattleAnim_IncAnonJumptableIndex
+Functioncdaf9: ; cdaf9 (33:5af9)
+ ret
+
+BattleAnimFunction_1A: ; cdafa (33:5afa)
+ call BattleAnimFunction_03
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ add $f
+ ld [hl], a
+ ret
+
+BattleAnimFunction_1B: ; cdb06 (33:5b06)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncdb13
+ dw Functioncdb14
+ dw Functioncdb28
+ dw Functioncdb50
+ dw Functioncdb65
+Functioncdb13: ; cdb13 (33:5b13)
+ ret
+
+Functioncdb14: ; cdb14 (33:5b14)
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cdb24
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], $0
+ ret
+
+.asm_cdb24
+ add $4
+ ld [hl], a
+ ret
+
+Functioncdb28: ; cdb28 (33:5b28)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ ret nc
+ inc [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ set 0, [hl]
+ ld hl, BATTLEANIMSTRUCT_02
+ add hl, bc
+ ld [hl], $90
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], $2
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ ret
+
+Functioncdb50: ; cdb50 (33:5b50)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $2c
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], $80
+Functioncdb65: ; cdb65 (33:5b65)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ ret nc
+ inc [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $8
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_1D: ; cdb80 (33:5b80)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncdb9f
+ dw Functioncdbb3
+ dw Functioncdbcf
+ dw Functioncdbeb
+ dw Functioncdc74
+ dw Functioncdc1a
+ dw Functioncdbc1
+ dw Functioncdc1e
+ dw Functioncdc27
+ dw Functioncdc39
+ dw Functioncdc74
+ dw Functioncdc48
+ dw Functioncdc57
+ dw Functioncdc74
+Functioncdb9f: ; cdb9f (33:5b9f)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $28
+ inc hl
+ ld [hl], $10
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functioncdbb3: ; cdbb3 (33:5bb3)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, .asm_cdbbd
+ inc [hl]
+.asm_cdbbd
+ call Functioncdc75
+ ret
+
+Functioncdbc1: ; cdbc1 (33:5bc1)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $4b
+ jr nc, .asm_cdbcb
+ inc [hl]
+.asm_cdbcb
+ call Functioncdc75
+ ret
+
+Functioncdbcf: ; cdbcf (33:5bcf)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr nc, .asm_cdbe6
+ and $f
+ jr nz, asm_cdbfa
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], $10
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.asm_cdbe6
+ call BattleAnim_IncAnonJumptableIndex
+ inc [hl]
+ ret
+
+Functioncdbeb: ; cdbeb (33:5beb)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdbf5
+ dec [hl]
+ ret
+
+.asm_cdbf5
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ dec [hl]
+asm_cdbfa: ; cdbfa (33:5bfa)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ret
+
+Functioncdc1a: ; cdc1a (33:5c1a)
+ call DeinitBattleAnimation
+ ret
+
+Functioncdc1e: ; cdc1e (33:5c1e)
+ ld a, $4e
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncdc27: ; cdc27 (33:5c27)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $2
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functioncdc39: ; cdc39 (33:5c39)
+ ld a, $50
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], $4
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncdc48: ; cdc48 (33:5c48)
+ ld a, $4f
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $40
+ ret
+
+Functioncdc57: ; cdc57 (33:5c57)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $20
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cdc71
+ dec [hl]
+ ret
+
+.asm_cdc71
+ call BattleAnim_IncAnonJumptableIndex
+Functioncdc74: ; cdc74 (33:5c74)
+ ret
+
+Functioncdc75: ; cdc75 (33:5c75)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $20
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ sub $8
+ ld [hl], a
+ ret nz
+ xor a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+BattleAnimFunction_1E: ; cdca6 (33:5ca6)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdcb6
+ cp $d8
+ jr nc, .asm_cdcb6
+ call DeinitBattleAnimation
+ ret
+
+.asm_cdcb6
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ sub d
+ ld [hl], a
+ ret
+
+BattleAnimFunction_21: ; cdcc3 (33:5cc3)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncdcca
+ dw Functioncdced
+Functioncdcca: ; cdcca (33:5cca)
+ ld a, [hBattleTurn]
+ and a
+ jr z, .asm_cdcd9
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ add $3
+ ld [hl], a
+.asm_cdcd9
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $8
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, $59
+ add [hl]
+ call ReinitBattleAnimFrameset
+ ret
+
+Functioncdced: ; cdced (33:5ced)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdcfa
+ dec [hl]
+ call Functioncdcfe
+ ret
+
+.asm_cdcfa
+ call DeinitBattleAnimation
+ ret
+
+Functioncdcfe: ; cdcfe (33:5cfe)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdd20
+ dec a
+ ret z
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], d
+ ret
+
+.asm_cdd20
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, d
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+BattleAnimFunction_22: ; cdd2a (33:5d2a)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncdd31
+ dw Functioncdd4f
+Functioncdd31: ; cdd31 (33:5d31)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $80
+ rlca
+ ld [hl], a
+ add $5d
+ call ReinitBattleAnimFrameset
+ ret
+
+Functioncdd4f: ; cdd4f (33:5d4f)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ swap a
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ ret nc
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ and $3
+ jr nz, .asm_cdd87
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+.asm_cdd87
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_23: ; cdd90 (33:5d90)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncdd97
+ dw Functioncddbc
+Functioncdd97: ; cdd97 (33:5d97)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $80
+ rlca
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ add [hl]
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+Functioncddbc: ; cddbc (33:5dbc)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ and $3f
+ jr z, .asm_cddf0
+ and $1f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc a
+ jr .asm_cddf5
+
+.asm_cddf0
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+.asm_cddf5
+ call ReinitBattleAnimFrameset
+ ret
+
+BattleAnimFunction_24: ; cddf9 (33:5df9)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncde02
+ dw Functioncde20
+ dw Functioncde21
+Functioncde02: ; cde02 (33:5e02)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ add $63
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld e, [hl]
+ ld d, 0
+ ld hl, Unknown_cde25
+ add hl, de
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+Functioncde20: ; cde20 (33:5e20)
+ ret
+
+Functioncde21: ; cde21 (33:5e21)
+ call DeinitBattleAnimation
+ ret
+
+; cde25 (33:5e25)
+Unknown_cde25: ; cde25
+ db $ec, $f8, $00
+; cde28
+BattleAnimFunction_25: ; cde28 (33:5e28)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $4
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld e, [hl]
+ ld hl, $ffa0
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], e
+ ret
+
+BattleAnimFunction_26: ; cde54 (33:5e54)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ dec [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_27: ; cde6b (33:5e6b)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncde72
+ dw Functioncde88
+Functioncde72: ; cde72 (33:5e72)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_cde83
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ set 6, [hl]
+.asm_cde83
+ add $6a
+ call ReinitBattleAnimFrameset
+Functioncde88: ; cde88 (33:5e88)
+ ret
+
+BattleAnimFunction_28: ; cde89 (33:5e89)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncde90
+ dw Functioncdebf
+Functioncde90: ; cde90 (33:5e90)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld e, [hl]
+ ld a, e
+ and $70
+ swap a
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld a, e
+ and $80
+ jr nz, .asm_cdeb2
+ ld a, e
+ and $f
+ ld [hl], a
+ ret
+
+.asm_cdeb2
+ ld a, e
+ and $f
+ xor $ff
+ inc a
+ ld [hl], a
+ ld a, $6e
+ call ReinitBattleAnimFrameset
+ ret
+
+Functioncdebf: ; cdebf (33:5ebf)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdec9
+ dec [hl]
+ ret
+
+.asm_cdec9
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+BattleAnimFunction_29: ; cdedd (33:5edd)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $7
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ cp $28
+ jr nc, .asm_cdf17
+ inc [hl]
+ ret
+
+.asm_cdf17
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_2D: ; cdf1b (33:5f1b)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ cp $28
+ jr nc, .asm_cdf55
+ inc [hl]
+ ret
+
+.asm_cdf55
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_2A: ; cdf59 (33:5f59)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncdf60
+ dw BattleAnimFunction_29
+Functioncdf60: ; cdf60 (33:5f60)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .asm_cdf88
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ ret
+
+.asm_cdf88
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+BattleAnimFunction_34: ; cdf8c (33:5f8c)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $7
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ cp $e8
+ jr z, .asm_cdfc7
+ dec [hl]
+ ret
+
+.asm_cdfc7
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_3C: ; cdfcb (33:5fcb)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $3
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ cp $d0
+ jr z, .asm_ce007
+ dec [hl]
+ dec [hl]
+ ret
+
+.asm_ce007
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_35: ; ce00b (33:600b)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce014
+ dw Functionce023
+ dw Functionce05f
+Functionce014: ; ce014 (33:6014)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $34
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], $10
+Functionce023: ; ce023 (33:6023)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $6c
+ jr c, .asm_ce02d
+ ret
+
+.asm_ce02d
+ ld a, $2
+ call Functionce70a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld d, [hl]
+ call BattleAnim_Sine
+ bit 7, a
+ jr nz, .asm_ce046
+ xor $ff
+ inc a
+.asm_ce046
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+ and $1f
+ cp $20
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ srl [hl]
+ ret
+
+Functionce05f: ; ce05f (33:605f)
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_2B: ; ce063 (33:6063)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce06e
+ dw Functionce083
+ dw Functionce091
+ dw Functionce09e
+Functionce06e: ; ce06e (33:606e)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functionce083: ; ce083 (33:6083)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $58
+ ret nc
+ ld a, $2
+ call Functionce70a
+ ret
+
+Functionce091: ; ce091 (33:6091)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, Functionce09e
+ call DeinitBattleAnimation
+ ret
+
+Functionce09e: ; ce09e (33:609e)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ ld d, $8
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ sra a
+ xor $ff
+ inc a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld [hl], a
+ ret
+
+BattleAnimFunction_2C: ; ce0c5 (33:60c5)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce0ce
+ dw Functionce0f8
+ dw Functionce0dd
+Functionce0ce: ; ce0ce (33:60ce)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ swap a
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functionce0dd: ; ce0dd (33:60dd)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ bit 7, a
+ jr z, .asm_ce0f0
+ ld [hl], a
+.asm_ce0f0
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+Functionce0f8: ; ce0f8 (33:60f8)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr c, .asm_ce105
+ call DeinitBattleAnimation
+ ret
+
+.asm_ce105
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+BattleAnimFunction_2E: ; ce10e (33:610e)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce115
+ dw Functionce12a
+Functionce115: ; ce115 (33:6115)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $28
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ sub $28
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], a
+Functionce12a: ; ce12a (33:612a)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ and [hl]
+ jr nz, .asm_ce149
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ dec [hl]
+.asm_ce149
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $20
+ inc hl
+ srl [hl]
+ ret
+
+BattleAnimFunction_2F: ; ce15c (33:615c)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1
+ jr nz, .asm_ce189
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ dec [hl]
+.asm_ce189
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $3
+ jr nz, .asm_ce197
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ inc [hl]
+.asm_ce197
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ cp $5a
+ jr nc, .asm_ce1aa
+ ld a, [hl]
+ and a
+ jr z, .asm_ce1ac
+ dec [hl]
+ ret
+
+.asm_ce1aa
+ inc [hl]
+ ret
+
+.asm_ce1ac
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_42: ; ce1b0 (33:61b0)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ cp $40
+ jr nc, .asm_ce1df
+ inc [hl]
+ ret
+
+.asm_ce1df
+ ld a, [hl]
+ dec [hl]
+ and a
+ ret nz
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_30: ; ce1e7 (33:61e7)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce1ee
+ dw Functionce1fb
+Functionce1ee: ; ce1ee (33:61ee)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], a
+Functionce1fb: ; ce1fb (33:61fb)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $30
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld d, $30
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_31: ; ce226 (33:6226)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce22d
+ dw Functionce254
+Functionce22d: ; ce22d (33:622d)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], $f
+Functionce254: ; ce254 (33:6254)
+ ret
+
+BattleAnimFunction_32: ; ce255 (33:6255)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce260
+ dw Functionce274
+ dw Functionce278
+ dw Functionce289
+Functionce260: ; ce260 (33:6260)
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, [hBattleTurn]
+ and a
+ jr nz, .asm_ce26c
+ ld a, $f0
+ jr .asm_ce26e
+
+.asm_ce26c
+ ld a, $cc
+.asm_ce26e
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functionce274: ; ce274 (33:6274)
+ call Functionce29f
+ ret
+
+Functionce278: ; ce278 (33:6278)
+ call Functionce29f
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ ret nc
+ ld a, $4
+ call Functionce70a
+ ret
+
+Functionce289: ; ce289 (33:6289)
+ call Functionce29f
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $d0
+ jr nc, .asm_ce29b
+ ld a, $4
+ call Functionce70a
+ ret
+
+.asm_ce29b
+ call DeinitBattleAnimation
+ ret
+
+Functionce29f: ; ce29f (33:629f)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ and $7
+ inc [hl]
+ srl a
+ ld e, a
+ ld d, $0
+ ld a, [hSGB]
+ and a
+ jr nz, .asm_ce2b6
+ ld hl, Unknown_ce2c4
+ jr .asm_ce2b9
+
+.asm_ce2b6
+ ld hl, Unknown_ce2c8
+.asm_ce2b9
+ add hl, de
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ and [hl]
+ ld [wOBP0], a
+ ret
+
+; ce2c4 (33:62c4)
+Unknown_ce2c4: ; ce2c4
+ db $ff, $aa, $55, $aa
+Unknown_ce2c8: ; ce2c8
+ db $ff, $ff, $00, $00
+; ce2cc
+BattleAnimFunction_33: ; ce2cc (33:62cc)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ret
+
+BattleAnimFunction_36: ; ce2fd (33:62fd)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce306
+ dw Functionce330
+ dw Functionce34c
+Functionce306: ; ce306 (33:6306)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $e0
+ jr nz, .asm_ce319
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $2
+ ret
+
+.asm_ce319
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ret
+
+Functionce330: ; ce330 (33:6330)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce33a
+ dec [hl]
+ ret
+
+.asm_ce33a
+ ld [hl], $4
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+Functionce34c: ; ce34c (33:634c)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .asm_ce35b
+ ld a, $4
+ call Functionce70a
+ ret
+
+.asm_ce35b
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_37: ; ce35f (33:635f)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce366
+ dw Functionce375
+Functionce366: ; ce366 (33:6366)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ add $81
+ call ReinitBattleAnimFrameset
+Functionce375: ; ce375 (33:6375)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_ce383
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ inc [hl]
+ ret
+
+.asm_ce383
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ dec [hl]
+ ret
+
+BattleAnimFunction_38: ; ce389 (33:6389)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce392
+ dw Functionce39c
+ dw Functionce3ae
+Functionce392: ; ce392 (33:6392)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $c
+ ret
+
+Functionce39c: ; ce39c (33:639c)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce3a6
+ dec [hl]
+ ret
+
+.asm_ce3a6
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $20
+ call ReinitBattleAnimFrameset
+Functionce3ae: ; ce3ae (33:63ae)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ dec [hl]
+ ret
+
+BattleAnimFunction_39: ; ce3b4 (33:63b4)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ push af
+ ld d, $2
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop af
+ ld d, $8
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_3A: ; ce3d2 (33:63d2)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, .asm_ce3df
+ call DeinitBattleAnimation
+ ret
+
+.asm_ce3df
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $8
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ and $7
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_3B: ; ce3ff (33:63ff)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce406
+ dw Functionce412
+Functionce406: ; ce406 (33:6406)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+Functionce412: ; ce412 (33:6412)
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_3D: ; ce416 (33:6416)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ sra a
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ret
+
+BattleAnimFunction_3E: ; ce43a (33:643a)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce443
+ dw Functionce465
+ dw Functionce490
+Functionce443: ; ce443 (33:6443)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $28
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ add [hl]
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ or $8
+ ld [hl], a
+Functionce465: ; ce465 (33:6465)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce48b
+ dec [hl]
+ add $8
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.asm_ce48b
+ ld [hl], $10
+ call BattleAnim_IncAnonJumptableIndex
+Functionce490: ; ce490 (33:6490)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ and a
+ ret nz
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_40: ; ce49c (33:649c)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce4a3
+ dw Functionce4b0
+Functionce4a3: ; ce4a3 (33:64a3)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, $24
+ add [hl]
+ call ReinitBattleAnimFrameset
+Functionce4b0: ; ce4b0 (33:64b0)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $38
+ jr nc, .asm_ce4d8
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ dec [hl]
+ ret
+
+.asm_ce4d8
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_41: ; ce4dc (33:64dc)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret z
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call BattleAnim_Sine
+ bit 7, a
+ jr nz, .asm_ce4f4
+ xor $ff
+ inc a
+.asm_ce4f4
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and $1f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ srl [hl]
+ ret
+
+BattleAnimFunction_43: ; ce508 (33:6508)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $10
+ jr nc, .asm_ce52e
+ inc [hl]
+ inc [hl]
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.asm_ce52e
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_44: ; ce532 (33:6532)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld e, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld d, [hl]
+ ld a, e
+ and $c0
+ rlca
+ rlca
+ add [hl]
+ ld [hl], a
+ ld a, e
+ and $3f
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_45: ; ce55b (33:655b)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce564
+ dw Functionce56e
+ dw Functionce577
+Functionce564: ; ce564 (33:6564)
+ ld d, $18
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ jr asm_ce58f
+
+Functionce56e: ; ce56e (33:656e)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $18
+Functionce577: ; ce577 (33:6577)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .asm_ce58b
+ ld d, a
+ add $8
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ jr asm_ce58f
+
+.asm_ce58b
+ call DeinitBattleAnimation
+ ret
+
+asm_ce58f: ; ce58f (33:658f)
+ call Functionce6f1
+ ret
+
+BattleAnimFunction_46: ; ce593 (33:6593)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce5b3
+ dw Functionce59a
+Functionce59a: ; ce59a (33:659a)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_ce5b0
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+
+.asm_ce5b0
+ call DeinitBattleAnimation
+Functionce5b3: ; ce5b3 (33:65b3)
+ ret
+
+BattleAnimFunction_47: ; ce5b4 (33:65b4)
+ ld d, $50
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ add [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_48: ; ce5dc (33:65dc)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $d0
+ jr z, .asm_ce5ea
+rept 4
+ dec [hl]
+endr
+ ret
+
+.asm_ce5ea
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_49: ; ce5ee (33:65ee)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce5f9
+ dw Functionce60a
+ dw Functionce622
+ dw Functionce618
+Functionce5f9: ; ce5f9 (33:65f9)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, asm_ce61c
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], $ec
+Functionce60a: ; ce60a (33:660a)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $4
+ jr z, Functionce618
+rept 4
+ inc [hl]
+endr
+ ret
+
+Functionce618: ; ce618 (33:6618)
+ call DeinitBattleAnimation
+ ret
+
+asm_ce61c: ; ce61c (33:661c)
+ call BattleAnim_IncAnonJumptableIndex
+ call BattleAnim_IncAnonJumptableIndex
+Functionce622: ; ce622 (33:6622)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $d8
+ ret z
+rept 4
+ dec [hl]
+endr
+ ret
+
+BattleAnimFunction_4A: ; ce62f (33:662f)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce63a
+ dw Functionce648
+ dw Functionce65c
+ dw Functionce672
+Functionce63a: ; ce63a (33:663a)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functionce648: ; ce648 (33:6648)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce654
+ xor a
+.asm_ce654
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+
+Functionce65c: ; ce65c (33:665c)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce668
+ xor a
+.asm_ce668
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld [hl], a
+ ret
+
+Functionce672: ; ce672 (33:6672)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce67e
+ xor a
+.asm_ce67e
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld a, [hl]
+ add $4
+ ld [hl], a
+ ret
+
+BattleAnimFunction_4B: ; ce688 (33:6688)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld e, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld l, a
+ and $f0
+ ld h, a
+ swap a
+ or h
+ ld h, a
+ ld a, l
+ and $f
+ swap a
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ret
+
+BattleAnimFunction_4C: ; ce6b3 (33:66b3)
+ ld d, $18
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call Functionce6f1
+ ret
+
+BattleAnimFunction_4F: ; ce6bf (33:66bf)
+ ld d, $18
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ srl a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ add [hl]
+ call Functionce6f1
+ ret
+
+BattleAnimFunction_4D: ; ce6d2 (33:66d2)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr nc, .asm_ce6ed
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ call BattleAnim_Sine
+ xor $ff
+ inc a
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.asm_ce6ed
+ call DeinitBattleAnimation
+ ret
+
+Functionce6f1: ; ce6f1 (33:66f1)
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functionce70a: ; ce70a (33:670a)
+ and $f
+ ld e, a
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ srl e
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+.asm_ce719
+ dec [hl]
+ dec e
+ jr nz, .asm_ce719
+ ret
+
+BattleAnim_AnonJumptable: ; ce71e (33:671e)
+ pop de
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+BattleAnim_IncAnonJumptableIndex: ; ce72c (33:672c)
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnim_Cosine: ; ce732 (33:6732)
+ add $10
+BattleAnim_Sine: ; ce734 (33:6734)
+ and $3f
+ cp $20
+ jr nc, .negative
+ call .ApplySineWave
+ ld a, h
+ ret
+
+.negative
+ and $1f
+ call .ApplySineWave
+ ld a, h
+ xor $ff
+ inc a
+ ret
+
+.ApplySineWave
+ ld e, a
+ ld a, d
+ ld d, 0
+ ld hl, BattleAnimSineWave
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $0
+.multiply
+ srl a
+ jr nc, .even
+ add hl, de
+.even
+ sla e
+ rl d
+ and a
+ jr nz, .multiply
+ ret
+
+BattleAnim_Sine_e: ; ce765 (33:6765)
+ ld a, e
+ call BattleAnim_Sine
+ ld e, a
+ ret
+
+BattleAnim_Cosine_e: ; ce76b (33:676b)
+ ld a, e
+ call BattleAnim_Cosine
+ ld e, a
+ ret
+
+; ce771 (33:6771)
+BattleAnim_AbsSinePrecise: ; ce771
+ ld a, e
+ call BattleAnim_Sine
+ ld e, l
+ ld d, h
+ ret
+
+; ce778
+BattleAnim_AbsCosinePrecise: ; ce778
+ ld a, e
+ call BattleAnim_Cosine
+ ld e, l
+ ld d, h
+ ret
+
+; ce77f
+BattleAnimSineWave: ; ce77f
+ sine_wave $100
+; ce7bf
--- /dev/null
+++ b/battle/objects/gfx_headers.asm
@@ -1,0 +1,52 @@
+
+AnimObjGFX: ; cfcf6
+
+object_gfx: MACRO
+; label, # tiles
+ db \1
+ dba \2
+ENDM
+
+ object_gfx 0, AnimObj00GFX
+ object_gfx 21, AnimObj01GFX
+ object_gfx 6, AnimObj02GFX
+ object_gfx 6, AnimObj03GFX
+ object_gfx 20, AnimObj04GFX
+ object_gfx 26, AnimObj05GFX
+ object_gfx 18, AnimObj06GFX
+ object_gfx 12, AnimObj07GFX
+ object_gfx 9, AnimObj08GFX
+ object_gfx 17, AnimObj09GFX
+ object_gfx 6, AnimObj10GFX
+ object_gfx 10, AnimObj11GFX
+ object_gfx 9, AnimObj12GFX
+ object_gfx 13, AnimObj13GFX
+ object_gfx 16, AnimObj14GFX
+ object_gfx 2, AnimObj15GFX
+ object_gfx 11, AnimObj16GFX
+ object_gfx 9, AnimObj17GFX
+ object_gfx 9, AnimObj18GFX
+ object_gfx 19, AnimObj19GFX
+ object_gfx 10, AnimObj20GFX
+ object_gfx 12, AnimObj21GFX
+ object_gfx 18, AnimObj22GFX
+ object_gfx 13, AnimObj23GFX
+ object_gfx 10, AnimObj24GFX
+ object_gfx 27, AnimObj25GFX
+ object_gfx 12, AnimObj26GFX
+ object_gfx 14, AnimObj27GFX
+ object_gfx 16, AnimObj28GFX
+ object_gfx 7, AnimObj29GFX
+ object_gfx 8, AnimObj30GFX
+ object_gfx 40, AnimObj31GFX
+ object_gfx 36, AnimObj32GFX
+ object_gfx 16, AnimObj33GFX
+ object_gfx 48, AnimObj34GFX
+ object_gfx 18, AnimObj35GFX
+ object_gfx 38, AnimObj36GFX
+ object_gfx 35, AnimObj37GFX
+ object_gfx 18, AnimObj38GFX
+ object_gfx 24, AnimObj39GFX
+ object_gfx 1, NULL
+ object_gfx 1, NULL
+; cfd9e
--- /dev/null
+++ b/battle/objects/helpers.asm
@@ -1,0 +1,130 @@
+ReinitBattleAnimFrameset: ; ce7bf (33:67bf)
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], 0
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], -1
+ ret
+
+GetBattleAnimFrame: ; ce7d1
+.loop
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .next_frame
+ dec [hl]
+ call .GetPointer
+ ld a, [hli]
+ push af
+ jr .okay
+
+.next_frame
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ inc [hl]
+ call .GetPointer
+ ld a, [hli]
+ cp -2
+ jr z, .restart
+ cp -1
+ jr z, .repeat_last
+ push af
+ ld a, [hl]
+ push hl
+ and $3f
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], a
+ pop hl
+
+.okay
+ ld a, [hl]
+ and $c0
+ srl a
+ ld [wBattleAnimTemp7], a
+ pop af
+ ret
+
+.repeat_last
+ xor a
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ jr .loop
+
+.restart
+ xor a
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], a
+ dec a
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], a
+ jr .loop
+
+; ce823
+
+.GetPointer: ; ce823
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld e, [hl]
+ ld d, 0
+ ld hl, BattleAnimFrameData
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ret
+
+; ce83c
+
+GetBattleAnimOAMPointer: ; ce83c
+ ld l, a
+ ld h, 0
+ ld de, BattleAnimOAMData
+ add hl, hl
+ add hl, hl
+ add hl, de
+ ret
+
+; ce846
+
+LoadBattleAnimObj: ; ce846 (33:6846)
+ push hl
+ ld l, a
+ ld h, 0
+ add hl, hl
+ add hl, hl
+ ld de, AnimObjGFX
+ add hl, de
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+ inc hl
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ pop de
+ push bc
+ call DecompressRequest2bpp
+ pop bc
+ ret
+
+; ce85e (33:685e)
--- /dev/null
+++ b/battle/objects/oam.asm
@@ -1,0 +1,1086 @@
+
+BattleAnimOAMData: ; ceeae
+; vtile offset (?), length, address
+ dbbw $00, 16, .OAMData_00 ; 00
+ dbbw $04, 9, .OAMData_01 ; 01
+ dbbw $08, 4, .OAMData_02 ; 02
+ dbbw $09, 4, .OAMData_03 ; 03
+ dbbw $0d, 4, .OAMData_04 ; 04
+ dbbw $0f, 4, .OAMData_03 ; 05
+ dbbw $13, 4, .OAMData_04 ; 06
+ dbbw $04, 16, .OAMData_00 ; 07
+ dbbw $08, 16, .OAMData_00 ; 08
+ dbbw $08, 16, .OAMData_09 ; 09
+ dbbw $00, 4, .OAMData_04 ; 0a
+ dbbw $02, 4, .OAMData_03 ; 0b
+ dbbw $06, 2, .OAMData_0c ; 0c
+ dbbw $07, 2, .OAMData_0c ; 0d
+ dbbw $02, 4, .OAMData_04 ; 0e
+ dbbw $04, 1, .OAMData_0f ; 0f
+ dbbw $05, 1, .OAMData_0f ; 10
+ dbbw $00, 2, .OAMData_11 ; 11
+ dbbw $02, 2, .OAMData_11 ; 12
+ dbbw $00, 4, .OAMData_13 ; 13
+ dbbw $00, 1, .OAMData_0f ; 14
+ dbbw $01, 1, .OAMData_0f ; 15
+ dbbw $02, 1, .OAMData_0f ; 16
+ dbbw $03, 1, .OAMData_0f ; 17
+ dbbw $00, 4, .OAMData_02 ; 18
+ dbbw $01, 16, .OAMData_00 ; 19
+ dbbw $05, 16, .OAMData_00 ; 1a
+ dbbw $00, 4, .OAMData_03 ; 1b
+ dbbw $05, 12, .OAMData_1c ; 1c
+ dbbw $02, 4, .OAMData_02 ; 1d
+ dbbw $06, 1, .OAMData_0f ; 1e
+ dbbw $07, 1, .OAMData_0f ; 1f
+ dbbw $08, 1, .OAMData_0f ; 20
+ dbbw $04, 4, .OAMData_03 ; 21
+ dbbw $09, 22, .OAMData_22 ; 22
+ dbbw $04, 2, .OAMData_11 ; 23
+ dbbw $06, 2, .OAMData_11 ; 24
+ dbbw $0c, 1, .OAMData_0f ; 25
+ dbbw $0a, 1, .OAMData_0f ; 26
+ dbbw $0b, 4, .OAMData_02 ; 27
+ dbbw $08, 4, .OAMData_04 ; 28
+ dbbw $06, 4, .OAMData_04 ; 29
+ dbbw $00, 5, .OAMData_2a ; 2a
+ dbbw $03, 6, .OAMData_2b ; 2b
+ dbbw $00, 7, .OAMData_2c ; 2c
+ dbbw $03, 8, .OAMData_2d ; 2d
+ dbbw $00, 9, .OAMData_2e ; 2e
+ dbbw $00, 4, .OAMData_2f ; 2f
+ dbbw $02, 4, .OAMData_30 ; 30
+ dbbw $04, 6, .OAMData_31 ; 31
+ dbbw $00, 2, .OAMData_32 ; 32
+ dbbw $00, 7, .OAMData_33 ; 33
+ dbbw $00, 14, .OAMData_32 ; 34
+ dbbw $00, 21, .OAMData_33 ; 35
+ dbbw $00, 2, .OAMData_36 ; 36
+ dbbw $00, 6, .OAMData_36 ; 37
+ dbbw $00, 10, .OAMData_36 ; 38
+ dbbw $00, 14, .OAMData_36 ; 39
+ dbbw $00, 2, .OAMData_3a ; 3a
+ dbbw $00, 6, .OAMData_3a ; 3b
+ dbbw $00, 10, .OAMData_3a ; 3c
+ dbbw $00, 14, .OAMData_3a ; 3d
+ dbbw $00, 4, .OAMData_3e ; 3e
+ dbbw $00, 16, .OAMData_3e ; 3f
+ dbbw $00, 26, .OAMData_3e ; 40
+ dbbw $00, 26, .OAMData_41 ; 41
+ dbbw $0e, 4, .OAMData_42 ; 42
+ dbbw $0e, 8, .OAMData_42 ; 43
+ dbbw $0e, 4, .OAMData_44 ; 44
+ dbbw $0e, 8, .OAMData_44 ; 45
+ dbbw $0e, 4, .OAMData_46 ; 46
+ dbbw $0e, 4, .OAMData_47 ; 47
+ dbbw $00, 6, .OAMData_48 ; 48
+ dbbw $03, 4, .OAMData_49 ; 49
+ dbbw $03, 2, .OAMData_4a ; 4a
+ dbbw $01, 5, .OAMData_0f ; 4b
+ dbbw $01, 6, .OAMData_4c ; 4c
+ dbbw $01, 7, .OAMData_4d ; 4d
+ dbbw $01, 3, .OAMData_4d ; 4e
+ dbbw $01, 8, .OAMData_4f ; 4f
+ dbbw $01, 9, .OAMData_50 ; 50
+ dbbw $01, 10, .OAMData_51 ; 51
+ dbbw $01, 6, .OAMData_51 ; 52
+ dbbw $00, 9, .OAMData_01 ; 53
+ dbbw $04, 4, .OAMData_02 ; 54
+ dbbw $05, 4, .OAMData_02 ; 55
+ dbbw $00, 2, .OAMData_56 ; 56
+ dbbw $02, 2, .OAMData_56 ; 57
+ dbbw $04, 2, .OAMData_56 ; 58
+ dbbw $02, 4, .OAMData_59 ; 59
+ dbbw $02, 4, .OAMData_5a ; 5a
+ dbbw $02, 2, .OAMData_0c ; 5b
+ dbbw $04, 2, .OAMData_0c ; 5c
+ dbbw $06, 4, .OAMData_5d ; 5d
+ dbbw $08, 2, .OAMData_0c ; 5e
+ dbbw $09, 2, .OAMData_0c ; 5f
+ dbbw $05, 2, .OAMData_60 ; 60
+ dbbw $00, 2, .OAMData_61 ; 61
+ dbbw $00, 5, .OAMData_61 ; 62
+ dbbw $00, 9, .OAMData_61 ; 63
+ dbbw $09, 9, .OAMData_61 ; 64
+ dbbw $00, 4, .OAMData_65 ; 65
+ dbbw $00, 7, .OAMData_65 ; 66
+ dbbw $00, 9, .OAMData_65 ; 67
+ dbbw $09, 9, .OAMData_65 ; 68
+ dbbw $04, 1, .OAMData_69 ; 69
+ dbbw $05, 2, .OAMData_6a ; 6a
+ dbbw $06, 4, .OAMData_03 ; 6b
+ dbbw $0a, 4, .OAMData_03 ; 6c
+ dbbw $0e, 4, .OAMData_03 ; 6d
+ dbbw $08, 5, .OAMData_6e ; 6e
+ dbbw $0d, 3, .OAMData_6f ; 6f
+ dbbw $01, 8, .OAMData_70 ; 70
+ dbbw $03, 8, .OAMData_70 ; 71
+ dbbw $05, 8, .OAMData_70 ; 72
+ dbbw $07, 8, .OAMData_70 ; 73
+ dbbw $06, 4, .OAMData_02 ; 74
+ dbbw $07, 4, .OAMData_02 ; 75
+ dbbw $0a, 2, .OAMData_76 ; 76
+ dbbw $00, 1, .OAMData_77 ; 77
+ dbbw $00, 3, .OAMData_78 ; 78
+ dbbw $00, 6, .OAMData_79 ; 79
+ dbbw $00, 9, .OAMData_7a ; 7a
+ dbbw $00, 12, .OAMData_7b ; 7b
+ dbbw $00, 14, .OAMData_7c ; 7c
+ dbbw $00, 15, .OAMData_7d ; 7d
+ dbbw $04, 4, .OAMData_03 ; 7e
+ dbbw $08, 4, .OAMData_03 ; 7f
+ dbbw $0d, 1, .OAMData_0f ; 80
+ dbbw $0e, 4, .OAMData_81 ; 81
+ dbbw $10, 1, .OAMData_0f ; 82
+ dbbw $11, 1, .OAMData_0f ; 83
+ dbbw $04, 2, .OAMData_6a ; 84
+ dbbw $05, 2, .OAMData_6a ; 85
+ dbbw $0a, 4, .OAMData_04 ; 86
+ dbbw $00, 8, .OAMData_87 ; 87
+ dbbw $00, 12, .OAMData_88 ; 88
+ dbbw $00, 16, .OAMData_87 ; 89
+ dbbw $09, 2, .OAMData_8a ; 8a
+ dbbw $09, 4, .OAMData_8a ; 8b
+ dbbw $09, 6, .OAMData_8a ; 8c
+ dbbw $09, 8, .OAMData_8a ; 8d
+ dbbw $12, 5, .OAMData_8e ; 8e
+ dbbw $00, 4, .OAMData_8f ; 8f
+ dbbw $04, 4, .OAMData_8f ; 90
+ dbbw $08, 4, .OAMData_8f ; 91
+ dbbw $0c, 4, .OAMData_8f ; 92
+ dbbw $00, 6, .OAMData_93 ; 93
+ dbbw $04, 4, .OAMData_03 ; 94
+ dbbw $0a, 4, .OAMData_04 ; 95
+ dbbw $15, 4, .OAMData_30 ; 96
+ dbbw $04, 4, .OAMData_30 ; 97
+ dbbw $0c, 4, .OAMData_04 ; 98
+ dbbw $0a, 4, .OAMData_99 ; 99
+ dbbw $0c, 4, .OAMData_03 ; 9a
+ dbbw $00, 36, .OAMData_9b ; 9b
+ dbbw $0d, 2, .OAMData_9c ; 9c
+ dbbw $0d, 4, .OAMData_9c ; 9d
+ dbbw $0d, 6, .OAMData_9c ; 9e
+ dbbw $02, 8, .OAMData_9f ; 9f
+ dbbw $08, 7, .OAMData_a0 ; a0
+ dbbw $08, 5, .OAMData_a0 ; a1
+ dbbw $08, 3, .OAMData_a0 ; a2
+ dbbw $00, 16, .OAMData_1c ; a3
+ dbbw $00, 9, .OAMData_a4 ; a4
+ dbbw $06, 9, .OAMData_a4 ; a5
+ dbbw $0c, 9, .OAMData_a4 ; a6
+ dbbw $12, 9, .OAMData_a4 ; a7
+ dbbw $18, 9, .OAMData_a4 ; a8
+ dbbw $1e, 9, .OAMData_a4 ; a9
+ dbbw $24, 9, .OAMData_a4 ; aa
+ dbbw $2a, 9, .OAMData_a4 ; ab
+ dbbw $03, 4, .OAMData_ac ; ac
+ dbbw $12, 4, .OAMData_03 ; ad
+ dbbw $10, 4, .OAMData_04 ; ae
+ dbbw $16, 1, .OAMData_0f ; af
+ dbbw $17, 4, .OAMData_02 ; b0
+ dbbw $18, 4, .OAMData_03 ; b1
+ dbbw $1c, 4, .OAMData_03 ; b2
+ dbbw $20, 3, .OAMData_03 ; b3
+ dbbw $23, 4, .OAMData_04 ; b4
+ dbbw $25, 3, .OAMData_03 ; b5
+ dbbw $17, 4, .OAMData_03 ; b6
+ dbbw $0a, 16, .OAMData_00 ; b7
+ dbbw $10, 16, .OAMData_1c ; b8
+ dbbw $00, 16, .OAMData_1c ; b9
+ dbbw $04, 4, .OAMData_03 ; ba
+ dbbw $08, 2, .OAMData_11 ; bb
+ dbbw $20, 6, .OAMData_bc ; bc
+ dbbw $08, 1, .OAMData_0f ; bd
+ dbbw $04, 4, .OAMData_03 ; be
+ dbbw $1a, 4, .OAMData_30 ; bf
+ dbbw $16, 9, .OAMData_01 ; c0
+ dbbw $10, 16, .OAMData_c1 ; c1
+ dbbw $09, 6, .OAMData_c2 ; c2
+ dbbw $11, 9, .OAMData_c3 ; c3
+ dbbw $0e, 4, .OAMData_03 ; c4
+ dbbw $0b, 4, .OAMData_30 ; c5
+ dbbw $1c, 6, .OAMData_02 ; c6
+ dbbw $20, 16, .OAMData_c1 ; c7
+ dbbw $05, 6, .OAMData_c8 ; c8
+ dbbw $0b, 4, .OAMData_03 ; c9
+ dbbw $09, 4, .OAMData_ca ; ca
+ dbbw $0b, 4, .OAMData_04 ; cb
+ dbbw $11, 13, .OAMData_cc ; cc
+ dbbw $00, 9, .OAMData_c3 ; cd
+ dbbw $09, 9, .OAMData_c3 ; ce
+ dbbw $00, 12, .OAMData_cf ; cf
+ dbbw $06, 12, .OAMData_cf ; d0
+ dbbw $0c, 12, .OAMData_cf ; d1
+ dbbw $12, 12, .OAMData_cf ; d2
+ dbbw $00, 13, .OAMData_cc ; d3
+ dbbw $00, 7, .OAMData_d4 ; d4
+ dbbw $00, 6, .OAMData_d5 ; d5
+ dbbw $00, 14, .OAMData_d6 ; d6
+ dbbw $00, 12, .OAMData_d7 ; d7
+
+.OAMData_11
+ dsprite -1, 0, -1, 4, $00, $00
+ dsprite 0, 0, -1, 4, $01, $00
+
+.OAMData_56
+ dsprite -1, 4, -1, 0, $00, $00
+ dsprite -1, 4, 0, 0, $01, $00
+
+.OAMData_03
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $02, $00
+ dsprite 0, 0, 0, 0, $03, $00
+
+.OAMData_02
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $00, $20
+ dsprite 0, 0, -1, 0, $00, $40
+ dsprite 0, 0, 0, 0, $00, $60
+
+.OAMData_c3
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $02, $00
+ dsprite -1, 4, -2, 4, $03, $00
+ dsprite -1, 4, -1, 4, $04, $00
+ dsprite -1, 4, 0, 4, $05, $00
+ dsprite 0, 4, -2, 4, $06, $00
+ dsprite 0, 4, -1, 4, $07, $00
+ dsprite 0, 4, 0, 4, $08, $00
+
+.OAMData_01
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $00, $20
+ dsprite -1, 4, -2, 4, $02, $00
+ dsprite -1, 4, -1, 4, $03, $00
+ dsprite -1, 4, 0, 4, $02, $60
+ dsprite 0, 4, -2, 4, $00, $40
+ dsprite 0, 4, -1, 4, $01, $60
+ dsprite 0, 4, 0, 4, $00, $60
+
+.OAMData_cf
+ dsprite -2, 0, -2, 4, $00, $00
+ dsprite -2, 0, -1, 4, $01, $00
+ dsprite -2, 0, 0, 4, $02, $00
+ dsprite -1, 0, -2, 4, $03, $00
+ dsprite -1, 0, -1, 4, $04, $00
+ dsprite -1, 0, 0, 4, $05, $00
+ dsprite 0, 0, -2, 4, $05, $60
+ dsprite 0, 0, -1, 4, $04, $60
+ dsprite 0, 0, 0, 4, $03, $60
+ dsprite 1, 0, -2, 4, $02, $60
+ dsprite 1, 0, -1, 4, $01, $60
+ dsprite 1, 0, 0, 4, $00, $60
+
+.OAMData_1c
+ dsprite -2, 0, -2, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -2, 0, 0, 0, $02, $00
+ dsprite -2, 0, 1, 0, $03, $00
+ dsprite -1, 0, -2, 0, $04, $00
+ dsprite -1, 0, -1, 0, $05, $00
+ dsprite -1, 0, 0, 0, $06, $00
+ dsprite -1, 0, 1, 0, $07, $00
+ dsprite 0, 0, -2, 0, $08, $00
+ dsprite 0, 0, -1, 0, $09, $00
+ dsprite 0, 0, 0, 0, $0a, $00
+ dsprite 0, 0, 1, 0, $0b, $00
+ dsprite 1, 0, -2, 0, $0c, $00
+ dsprite 1, 0, -1, 0, $0d, $00
+ dsprite 1, 0, 0, 0, $0e, $00
+ dsprite 1, 0, 1, 0, $0f, $00
+
+.OAMData_00
+ dsprite -2, 0, -2, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -1, 0, -2, 0, $02, $00
+ dsprite -1, 0, -1, 0, $03, $00
+ dsprite -2, 0, 0, 0, $01, $20
+ dsprite -2, 0, 1, 0, $00, $20
+ dsprite -1, 0, 0, 0, $03, $20
+ dsprite -1, 0, 1, 0, $02, $20
+ dsprite 0, 0, -2, 0, $02, $40
+ dsprite 0, 0, -1, 0, $03, $40
+ dsprite 1, 0, -2, 0, $00, $40
+ dsprite 1, 0, -1, 0, $01, $40
+ dsprite 0, 0, 0, 0, $03, $60
+ dsprite 0, 0, 1, 0, $02, $60
+ dsprite 1, 0, 0, 0, $01, $60
+ dsprite 1, 0, 1, 0, $00, $60
+
+.OAMData_09
+ dsprite -3, 4, -3, 4, $00, $00
+ dsprite -3, 4, -2, 4, $01, $00
+ dsprite -2, 4, -3, 4, $02, $00
+ dsprite -2, 4, -2, 4, $03, $00
+ dsprite -3, 4, 0, 4, $01, $20
+ dsprite -3, 4, 1, 4, $00, $20
+ dsprite -2, 4, 0, 4, $03, $20
+ dsprite -2, 4, 1, 4, $02, $20
+ dsprite 0, 4, -3, 4, $02, $40
+ dsprite 0, 4, -2, 4, $03, $40
+ dsprite 1, 4, -3, 4, $00, $40
+ dsprite 1, 4, -2, 4, $01, $40
+ dsprite 0, 4, 0, 4, $03, $60
+ dsprite 0, 4, 1, 4, $02, $60
+ dsprite 1, 4, 0, 4, $01, $60
+ dsprite 1, 4, 1, 4, $00, $60
+
+.OAMData_0c
+ dsprite -1, 4, -1, 0, $00, $00
+ dsprite -1, 4, 0, 0, $00, $20
+
+.OAMData_6a
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite 0, 0, 0, 0, $00, $20
+
+.OAMData_04
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $00, $20
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite 0, 0, 0, 0, $01, $20
+
+.OAMData_5d
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $00, $40
+ dsprite 0, 0, 0, 0, $01, $40
+
+.OAMData_13
+ dsprite -1, 2, -1, 0, $02, $00
+ dsprite 0, 2, -1, 0, $03, $00
+ dsprite -2, 6, 0, 0, $02, $00
+ dsprite -1, 6, 0, 0, $03, $00
+
+.OAMData_22
+ dsprite 1, 0, -11, 0, $01, $00
+ dsprite 0, 0, -10, 0, $02, $00
+ dsprite 0, 0, -9, 0, $03, $00
+ dsprite 0, 0, -8, 0, $00, $00
+ dsprite 0, 0, -7, 0, $03, $00
+ dsprite 0, 0, -6, 0, $00, $00
+ dsprite 0, 0, -5, 0, $03, $00
+ dsprite 0, 0, -4, 0, $00, $00
+ dsprite 0, 0, -3, 0, $03, $00
+ dsprite 0, 0, -2, 0, $00, $00
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite -1, 0, 0, 0, $02, $00
+ dsprite -1, 0, 1, 0, $03, $00
+ dsprite -1, 0, 2, 0, $00, $00
+ dsprite -1, 0, 3, 0, $03, $00
+ dsprite -1, 0, 4, 0, $00, $00
+ dsprite -1, 0, 5, 0, $03, $00
+ dsprite -1, 0, 6, 0, $00, $00
+ dsprite -1, 0, 7, 0, $03, $00
+ dsprite -1, 0, 8, 0, $00, $00
+ dsprite -1, 0, 9, 0, $01, $00
+ dsprite -2, 0, 10, 0, $02, $00
+
+.OAMData_2a
+ dsprite -3, 4, -1, 0, $00, $00
+ dsprite -3, 4, 0, 0, $00, $20
+ dsprite -2, 4, -1, 0, $01, $00
+ dsprite -2, 4, 0, 0, $01, $20
+ dsprite -1, 4, -1, 4, $02, $00
+
+.OAMData_2b
+ dsprite -4, 4, -1, 0, $00, $00
+ dsprite -4, 4, 0, 0, $00, $20
+ dsprite -3, 4, -1, 0, $01, $00
+ dsprite -3, 4, 0, 0, $01, $20
+ dsprite -2, 4, -1, 4, $02, $00
+ dsprite -1, 4, -1, 4, $02, $00
+
+.OAMData_2c
+ dsprite -5, 4, -1, 0, $00, $00
+ dsprite -5, 4, 0, 0, $00, $20
+ dsprite -4, 4, -1, 0, $01, $00
+ dsprite -4, 4, 0, 0, $01, $20
+ dsprite -3, 4, -1, 4, $02, $00
+ dsprite -2, 4, -1, 4, $02, $00
+ dsprite -1, 4, -1, 4, $02, $00
+
+.OAMData_2d
+ dsprite -6, 4, -1, 0, $00, $00
+ dsprite -6, 4, 0, 0, $00, $20
+ dsprite -5, 4, -1, 0, $01, $00
+ dsprite -5, 4, 0, 0, $01, $20
+ dsprite -4, 4, -1, 4, $02, $00
+ dsprite -3, 4, -1, 4, $02, $00
+ dsprite -2, 4, -1, 4, $02, $00
+ dsprite -1, 4, -1, 4, $02, $00
+
+.OAMData_2e
+ dsprite -7, 4, -1, 0, $00, $00
+ dsprite -7, 4, 0, 0, $00, $20
+ dsprite -6, 4, -1, 0, $01, $00
+ dsprite -6, 4, 0, 0, $01, $20
+ dsprite -5, 4, -1, 4, $02, $00
+ dsprite -4, 4, -1, 4, $02, $00
+ dsprite -3, 4, -1, 4, $02, $00
+ dsprite -2, 4, -1, 4, $02, $00
+ dsprite -1, 4, -1, 4, $02, $00
+
+.OAMData_2f
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $00, $20
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite 0, 0, 0, 0, $00, $60
+
+.OAMData_30
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $01, $60
+ dsprite 0, 0, 0, 0, $00, $60
+
+.OAMData_31
+ dsprite -2, 4, -1, 0, $00, $00
+ dsprite -2, 4, 0, 0, $01, $00
+ dsprite -1, 4, -1, 0, $02, $00
+ dsprite -1, 4, 0, 0, $03, $00
+ dsprite 0, 4, -1, 0, $04, $00
+ dsprite 0, 4, 0, 0, $05, $00
+
+.OAMData_76
+ dsprite -1, 5, -1, 0, $00, $00
+ dsprite -1, 1, 0, 0, $00, $00
+
+.OAMData_32
+ dsprite -1, 0, -2, 4, $00, $00
+ dsprite -1, 0, 0, 4, $00, $00
+ dsprite -3, 0, -2, 4, $00, $00
+ dsprite -3, 0, 0, 4, $00, $00
+ dsprite -2, 0, -3, 4, $00, $00
+ dsprite -2, 0, -2, 4, $01, $00
+ dsprite -2, 0, -1, 4, $00, $00
+ dsprite -2, 0, 0, 4, $01, $00
+ dsprite -2, 0, 1, 4, $00, $00
+ dsprite -1, 0, -4, 4, $00, $00
+ dsprite -1, 0, -3, 4, $01, $00
+ dsprite -1, 0, -1, 4, $01, $00
+ dsprite -1, 0, 1, 4, $01, $00
+ dsprite -1, 0, 2, 4, $00, $00
+
+.OAMData_33
+ dsprite -2, 0, -2, 4, $00, $00
+ dsprite -2, 0, 0, 4, $00, $00
+ dsprite -1, 0, -3, 4, $00, $00
+ dsprite -1, 0, -2, 4, $01, $00
+ dsprite -1, 0, -1, 4, $00, $00
+ dsprite -1, 0, 0, 4, $01, $00
+ dsprite -1, 0, 1, 4, $00, $00
+ dsprite -4, 0, -2, 4, $00, $00
+ dsprite -4, 0, 0, 4, $00, $00
+ dsprite -3, 0, -3, 4, $00, $00
+ dsprite -3, 0, -2, 4, $01, $00
+ dsprite -3, 0, -1, 4, $00, $00
+ dsprite -3, 0, 0, 4, $01, $00
+ dsprite -3, 0, 1, 4, $00, $00
+ dsprite -2, 0, -4, 4, $00, $00
+ dsprite -2, 0, -3, 4, $01, $00
+ dsprite -2, 0, -1, 4, $01, $00
+ dsprite -2, 0, 1, 4, $01, $00
+ dsprite -2, 0, 2, 4, $00, $00
+ dsprite -1, 0, -4, 4, $01, $00
+ dsprite -1, 0, 2, 4, $01, $00
+
+.OAMData_36
+ dsprite -7, 4, -1, 0, $00, $00
+ dsprite -7, 4, 0, 0, $01, $00
+ dsprite -6, 4, -1, 0, $02, $00
+ dsprite -6, 4, 0, 0, $03, $00
+ dsprite -5, 4, -1, 0, $04, $00
+ dsprite -5, 4, 0, 0, $05, $00
+ dsprite -4, 4, -1, 0, $06, $00
+ dsprite -4, 4, 0, 0, $07, $00
+ dsprite -3, 4, -1, 0, $08, $00
+ dsprite -3, 4, 0, 0, $09, $00
+ dsprite -2, 4, -1, 0, $0a, $00
+ dsprite -2, 4, 0, 0, $0b, $00
+ dsprite -1, 4, -1, 0, $0c, $00
+ dsprite -1, 4, 0, 0, $0d, $00
+
+.OAMData_3a
+ dsprite -7, 4, -1, 0, $0c, $00
+ dsprite -7, 4, 0, 0, $0d, $00
+ dsprite -6, 4, -1, 0, $08, $00
+ dsprite -6, 4, 0, 0, $09, $00
+ dsprite -5, 4, -1, 0, $04, $00
+ dsprite -5, 4, 0, 0, $05, $00
+ dsprite -4, 4, -1, 0, $00, $00
+ dsprite -4, 4, 0, 0, $01, $00
+ dsprite -3, 4, -1, 0, $02, $00
+ dsprite -3, 4, 0, 0, $03, $00
+ dsprite -2, 4, 0, 0, $02, $00
+ dsprite -2, 4, 1, 0, $03, $00
+ dsprite -1, 4, 0, 0, $0a, $00
+ dsprite -1, 4, 1, 0, $0b, $00
+
+.OAMData_3e
+ dsprite 1, 4, -2, 0, $00, $40
+ dsprite 1, 4, -1, 0, $02, $40
+ dsprite 1, 4, 0, 0, $02, $60
+ dsprite 1, 4, 1, 0, $00, $60
+ dsprite -1, 4, -3, 0, $09, $20
+ dsprite -1, 4, -2, 0, $08, $20
+ dsprite -1, 4, -1, 0, $06, $00
+ dsprite -1, 4, 0, 0, $07, $00
+ dsprite -1, 4, 1, 0, $08, $00
+ dsprite -1, 4, 2, 0, $09, $00
+ dsprite 0, 4, -3, 0, $01, $20
+ dsprite 0, 4, -2, 0, $00, $20
+ dsprite 0, 4, -1, 0, $0c, $00
+ dsprite 0, 4, 0, 0, $0d, $00
+ dsprite 0, 4, 1, 0, $00, $00
+ dsprite 0, 4, 2, 0, $01, $00
+ dsprite -3, 4, -2, 0, $00, $00
+ dsprite -3, 4, -1, 0, $02, $00
+ dsprite -3, 4, 0, 0, $02, $20
+ dsprite -3, 4, 1, 0, $00, $20
+ dsprite -2, 4, -3, 0, $03, $20
+ dsprite -2, 4, -2, 0, $02, $20
+ dsprite -2, 4, -1, 0, $04, $00
+ dsprite -2, 4, 0, 0, $05, $00
+ dsprite -2, 4, 1, 0, $02, $00
+ dsprite -2, 4, 2, 0, $03, $00
+
+.OAMData_41
+ dsprite -3, 4, -2, 0, $00, $00
+ dsprite -3, 4, -1, 0, $02, $00
+ dsprite -3, 4, 0, 0, $02, $20
+ dsprite -3, 4, 1, 0, $00, $20
+ dsprite -2, 4, -3, 4, $00, $00
+ dsprite -2, 4, -2, 4, $01, $00
+ dsprite -2, 4, -1, 0, $05, $20
+ dsprite -2, 4, 0, 0, $04, $20
+ dsprite -2, 4, 0, 4, $01, $20
+ dsprite -2, 4, 1, 4, $00, $20
+ dsprite -1, 4, -3, 4, $02, $00
+ dsprite -1, 4, -2, 4, $03, $00
+ dsprite -1, 4, -1, 0, $07, $20
+ dsprite -1, 4, 0, 0, $06, $20
+ dsprite -1, 4, 0, 4, $03, $20
+ dsprite -1, 4, 1, 4, $02, $20
+ dsprite 0, 4, -3, 4, $04, $00
+ dsprite 0, 4, -2, 4, $05, $00
+ dsprite 0, 4, -1, 0, $0d, $20
+ dsprite 0, 4, 0, 0, $0c, $20
+ dsprite 0, 4, 0, 4, $05, $20
+ dsprite 0, 4, 1, 4, $04, $20
+ dsprite 1, 4, -2, 0, $00, $40
+ dsprite 1, 4, -1, 0, $02, $40
+ dsprite 1, 4, 0, 0, $02, $60
+ dsprite 1, 4, 1, 0, $00, $60
+
+.OAMData_42
+ dsprite -3, 0, -1, 4, $02, $00
+ dsprite 2, 0, -1, 4, $02, $60
+ dsprite -1, 4, -3, 0, $01, $00
+ dsprite -1, 4, 2, 0, $01, $60
+ dsprite -4, 0, -1, 4, $02, $00
+ dsprite 3, 0, -1, 4, $02, $60
+ dsprite -1, 4, -4, 0, $01, $00
+ dsprite -1, 4, 3, 0, $01, $60
+
+.OAMData_44
+ dsprite -3, 5, -3, 5, $00, $20
+ dsprite -3, 5, 1, 3, $00, $00
+ dsprite 1, 3, -3, 5, $00, $60
+ dsprite 1, 3, 1, 3, $00, $40
+ dsprite -4, 5, -4, 5, $00, $20
+ dsprite -4, 5, 2, 3, $00, $00
+ dsprite 2, 3, -4, 5, $00, $60
+ dsprite 2, 3, 2, 3, $00, $40
+
+.OAMData_46
+ dsprite -3, 4, -1, 4, $02, $00
+ dsprite 1, 4, -1, 4, $02, $60
+ dsprite -1, 4, -3, 4, $01, $00
+ dsprite -1, 4, 1, 4, $01, $60
+
+.OAMData_47
+ dsprite -2, 0, -2, 0, $00, $20
+ dsprite -2, 0, 1, 0, $00, $00
+ dsprite 1, 0, -2, 0, $00, $60
+ dsprite 1, 0, 1, 0, $00, $40
+
+.OAMData_48
+ dsprite -3, 0, -1, 4, $00, $00
+ dsprite -2, 0, -1, 2, $00, $00
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite 1, 0, -1, 2, $00, $00
+ dsprite 2, 0, -1, 4, $00, $00
+
+.OAMData_49
+ dsprite -1, 4, -2, 0, $00, $20
+ dsprite -1, 2, -1, 0, $00, $20
+ dsprite -1, 2, 0, 0, $00, $00
+ dsprite -1, 4, 1, 0, $00, $00
+
+.OAMData_4a
+ dsprite -1, 4, -1, 0, $00, $60
+ dsprite -1, 4, 0, 0, $00, $40
+
+.OAMData_0f
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite -1, 4, -2, 4, $01, $00
+ dsprite -1, 4, -1, 4, $01, $20
+ dsprite 0, 4, -2, 4, $01, $40
+ dsprite 0, 4, -1, 4, $01, $60
+
+.OAMData_4c
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 0, 2, -3, 6, $01, $00
+ dsprite 0, 2, -2, 6, $01, $20
+ dsprite 1, 2, -3, 6, $01, $40
+ dsprite 1, 2, -2, 6, $01, $60
+
+.OAMData_4d
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 1, 0, -3, 0, $01, $00
+ dsprite 1, 0, -2, 0, $01, $20
+ dsprite 2, 0, -3, 0, $01, $40
+ dsprite 2, 0, -2, 0, $01, $60
+
+.OAMData_4f
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 1, 6, -3, 2, $00, $00
+ dsprite 1, 6, -4, 2, $01, $00
+ dsprite 1, 6, -3, 2, $01, $20
+ dsprite 2, 6, -4, 2, $01, $40
+ dsprite 2, 6, -3, 2, $01, $60
+
+.OAMData_50
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 1, 6, -3, 2, $00, $00
+ dsprite 2, 4, -4, 4, $00, $00
+ dsprite 2, 4, -5, 4, $01, $00
+ dsprite 2, 4, -4, 4, $01, $20
+ dsprite 3, 4, -5, 4, $01, $40
+ dsprite 3, 4, -4, 4, $01, $60
+
+.OAMData_51
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 1, 6, -3, 2, $00, $00
+ dsprite 2, 4, -4, 4, $00, $00
+ dsprite 3, 2, -5, 6, $00, $00
+ dsprite 3, 2, -6, 6, $01, $00
+ dsprite 3, 2, -5, 6, $01, $20
+ dsprite 4, 2, -6, 6, $01, $40
+ dsprite 4, 2, -5, 6, $01, $60
+
+.OAMData_59
+ dsprite -1, 4, -2, 0, $00, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $01, $20
+ dsprite -1, 4, 1, 0, $00, $20
+
+.OAMData_5a
+ dsprite -1, 4, -2, 0, $02, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $01, $20
+ dsprite -1, 4, 1, 0, $02, $20
+
+.OAMData_60
+ dsprite -1, 0, -1, 4, $00, $00
+
+.OAMData_69
+ dsprite 0, 0, -1, 4, $00, $00
+
+.OAMData_61
+ dsprite -1, 4, -4, 4, $00, $00
+ dsprite -1, 4, -3, 4, $01, $00
+ dsprite -1, 4, -2, 4, $02, $00
+ dsprite -1, 4, -1, 4, $03, $00
+ dsprite -1, 4, 0, 4, $04, $00
+ dsprite -1, 4, 1, 4, $05, $00
+ dsprite -1, 4, 2, 4, $06, $00
+ dsprite -2, 4, 1, 4, $07, $00
+ dsprite -2, 4, 2, 4, $08, $00
+
+.OAMData_65
+ dsprite -2, 4, -4, 4, $08, $20
+ dsprite -2, 4, -3, 4, $07, $20
+ dsprite -1, 4, -4, 4, $06, $20
+ dsprite -1, 4, -3, 4, $05, $20
+ dsprite -1, 4, -2, 4, $04, $20
+ dsprite -1, 4, -1, 4, $03, $20
+ dsprite -1, 4, 0, 4, $02, $20
+ dsprite -1, 4, 1, 4, $01, $20
+ dsprite -1, 4, 2, 4, $00, $20
+
+.OAMData_d4
+ dsprite 0, 0, -4, 4, $00, $10
+ dsprite 0, 0, -3, 4, $01, $10
+ dsprite 0, 0, -2, 4, $02, $10
+ dsprite 0, 0, -1, 4, $03, $10
+ dsprite 0, 0, 0, 4, $04, $10
+ dsprite 0, 0, 1, 4, $05, $10
+ dsprite 0, 0, 2, 4, $06, $10
+
+.OAMData_d6
+ dsprite -1, 0, -4, 4, $00, $10
+ dsprite 0, 0, -4, 4, $01, $10
+ dsprite -1, 0, -3, 4, $02, $10
+ dsprite 0, 0, -3, 4, $03, $10
+ dsprite -1, 0, -2, 4, $04, $10
+ dsprite 0, 0, -2, 4, $05, $10
+ dsprite -1, 0, -1, 4, $06, $10
+ dsprite 0, 0, -1, 4, $07, $10
+ dsprite -1, 0, 0, 4, $08, $10
+ dsprite 0, 0, 0, 4, $09, $10
+ dsprite -1, 0, 1, 4, $0a, $10
+ dsprite 0, 0, 1, 4, $0b, $10
+ dsprite -1, 0, 2, 4, $0c, $10
+ dsprite 0, 0, 2, 4, $0d, $10
+
+.OAMData_d5
+ dsprite 0, 0, -3, 0, $00, $11
+ dsprite 0, 0, -2, 0, $01, $11
+ dsprite 0, 0, -1, 0, $02, $11
+ dsprite 0, 0, 0, 0, $03, $11
+ dsprite 0, 0, 1, 0, $04, $11
+ dsprite 0, 0, 2, 0, $05, $11
+
+.OAMData_d7
+ dsprite 0, 0, -3, 0, $00, $11
+ dsprite 1, 0, -3, 0, $01, $11
+ dsprite 0, 0, -2, 0, $02, $11
+ dsprite 1, 0, -2, 0, $03, $11
+ dsprite 0, 0, -1, 0, $04, $11
+ dsprite 1, 0, -1, 0, $05, $11
+ dsprite 0, 0, 0, 0, $06, $11
+ dsprite 1, 0, 0, 0, $07, $11
+ dsprite 0, 0, 1, 0, $08, $11
+ dsprite 1, 0, 1, 0, $09, $11
+ dsprite 0, 0, 2, 0, $0a, $11
+ dsprite 1, 0, 2, 0, $0b, $11
+
+.OAMData_6e
+ dsprite -2, 4, 0, 4, $00, $00
+ dsprite -1, 4, -2, 4, $01, $00
+ dsprite -1, 4, -1, 4, $02, $00
+ dsprite -1, 4, 0, 4, $03, $00
+ dsprite 0, 4, -2, 4, $04, $00
+
+.OAMData_6f
+ dsprite -1, 4, -2, 4, $00, $00
+ dsprite -1, 4, -1, 4, $01, $00
+ dsprite -1, 4, 0, 4, $02, $00
+
+.OAMData_77
+ dsprite -4, 4, 1, 4, $01, $60
+
+.OAMData_78
+ dsprite -4, 4, 1, 4, $00, $00
+ dsprite -4, 4, 0, 4, $01, $60
+ dsprite -3, 4, 1, 4, $01, $60
+
+.OAMData_79
+ dsprite -4, 4, 1, 4, $01, $00
+ dsprite -4, 4, 0, 4, $00, $00
+ dsprite -4, 4, -1, 4, $01, $60
+ dsprite -3, 4, 1, 4, $00, $00
+ dsprite -3, 4, 0, 4, $01, $60
+ dsprite -2, 4, 1, 4, $01, $60
+
+.OAMData_7a
+ dsprite -4, 4, -2, 4, $01, $60
+ dsprite -4, 4, -1, 4, $00, $00
+ dsprite -4, 4, 0, 4, $01, $00
+ dsprite -3, 4, -1, 4, $01, $60
+ dsprite -3, 4, 0, 4, $00, $00
+ dsprite -3, 4, 1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $01, $60
+ dsprite -2, 4, 1, 4, $00, $00
+ dsprite -1, 4, 1, 4, $01, $60
+
+.OAMData_7b
+ dsprite -4, 4, -3, 4, $01, $60
+ dsprite -4, 4, -2, 4, $00, $00
+ dsprite -4, 4, -1, 4, $01, $00
+ dsprite -3, 4, -2, 4, $01, $60
+ dsprite -3, 4, -1, 4, $00, $00
+ dsprite -3, 4, 0, 4, $01, $00
+ dsprite -2, 4, -1, 4, $01, $60
+ dsprite -2, 4, 0, 4, $00, $00
+ dsprite -2, 4, 1, 4, $01, $00
+ dsprite -1, 4, 0, 4, $01, $60
+ dsprite -1, 4, 1, 4, $00, $00
+ dsprite 0, 4, 1, 4, $01, $60
+
+.OAMData_7c
+ dsprite -4, 4, -3, 4, $00, $00
+ dsprite -4, 4, -2, 4, $01, $00
+ dsprite -3, 4, -3, 4, $01, $60
+ dsprite -3, 4, -2, 4, $00, $00
+ dsprite -3, 4, -1, 4, $01, $00
+ dsprite -2, 4, -2, 4, $01, $60
+ dsprite -2, 4, -1, 4, $00, $00
+ dsprite -2, 4, 0, 4, $01, $00
+ dsprite -1, 4, -1, 4, $01, $60
+ dsprite -1, 4, 0, 4, $00, $00
+ dsprite -1, 4, 1, 4, $01, $00
+ dsprite 0, 4, 0, 4, $01, $60
+ dsprite 0, 4, 1, 4, $00, $00
+ dsprite 1, 4, 1, 4, $01, $60
+
+.OAMData_7d
+ dsprite -4, 4, -3, 4, $01, $00
+ dsprite -3, 4, -3, 4, $00, $00
+ dsprite -3, 4, -2, 4, $01, $00
+ dsprite -2, 4, -3, 4, $01, $60
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -1, 4, -2, 4, $01, $60
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite -1, 4, 0, 4, $01, $00
+ dsprite 0, 4, -1, 4, $01, $60
+ dsprite 0, 4, 0, 4, $00, $00
+ dsprite 0, 4, 1, 4, $01, $00
+ dsprite 1, 4, 0, 4, $01, $60
+ dsprite 1, 4, 1, 4, $00, $00
+ dsprite 2, 4, 1, 4, $01, $60
+
+.OAMData_70
+ dsprite -2, 0, -1, 0, $00, $00
+ dsprite -1, 0, -1, 0, $01, $00
+ dsprite -2, 0, 0, 0, $00, $20
+ dsprite -1, 0, 0, 0, $01, $20
+ dsprite 0, 0, -1, 0, $01, $40
+ dsprite 1, 0, -1, 0, $00, $40
+ dsprite 0, 0, 0, 0, $01, $60
+ dsprite 1, 0, 0, 0, $00, $60
+
+.OAMData_81
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $01, $60
+ dsprite 0, 0, 0, 0, $00, $60
+
+.OAMData_87
+ dsprite -2, 4, -1, 0, $00, $00
+ dsprite -2, 4, 0, 0, $01, $00
+ dsprite -1, 4, -1, 0, $02, $00
+ dsprite -1, 4, 0, 0, $03, $00
+ dsprite -1, 4, -1, 0, $00, $00
+ dsprite -1, 4, 0, 0, $01, $00
+ dsprite 0, 4, -1, 0, $02, $00
+ dsprite 0, 4, 0, 0, $03, $00
+ dsprite -3, 4, -1, 0, $00, $00
+ dsprite -3, 4, 0, 0, $01, $00
+ dsprite -2, 4, -1, 0, $02, $00
+ dsprite -2, 4, 0, 0, $03, $00
+ dsprite 0, 4, -1, 0, $00, $00
+ dsprite 0, 4, 0, 0, $01, $00
+ dsprite 1, 4, -1, 0, $02, $00
+ dsprite 1, 4, 0, 0, $03, $00
+
+.OAMData_88
+ dsprite -2, 0, -1, 0, $00, $00
+ dsprite -2, 0, 0, 0, $01, $00
+ dsprite -1, 0, -1, 0, $02, $00
+ dsprite -1, 0, 0, 0, $03, $00
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $02, $00
+ dsprite 0, 0, 0, 0, $03, $00
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite 0, 0, 0, 0, $01, $00
+ dsprite 1, 0, -1, 0, $02, $00
+ dsprite 1, 0, 0, 0, $03, $00
+
+.OAMData_8a
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite -1, 0, 0, 4, $00, $00
+ dsprite -2, 4, 1, 4, $00, $00
+ dsprite -2, 0, 2, 4, $00, $00
+ dsprite -3, 4, 3, 4, $00, $00
+ dsprite -3, 0, 4, 4, $00, $00
+ dsprite -4, 0, 5, 4, $00, $00
+ dsprite -5, 4, 6, 4, $00, $00
+
+.OAMData_8e
+ dsprite -3, 4, -1, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -1, 4, -1, 4, $02, $00
+ dsprite 0, 4, -1, 4, $01, $40
+ dsprite 1, 4, -1, 4, $00, $40
+
+.OAMData_8f
+ dsprite -1, 4, -2, 0, $00, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $02, $00
+ dsprite -1, 4, 1, 0, $03, $00
+
+.OAMData_93
+ dsprite -1, 0, -2, 4, $00, $00
+ dsprite -1, 0, -1, 4, $01, $00
+ dsprite -1, 0, 0, 4, $02, $00
+ dsprite 0, 0, -2, 4, $03, $00
+ dsprite 0, 0, -1, 4, $04, $00
+ dsprite 0, 0, 0, 4, $05, $00
+
+.OAMData_99
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $05, $00
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite 0, 0, 0, 0, $05, $00
+
+.OAMData_9b
+ dsprite -4, 4, 1, 0, $00, $00
+ dsprite -4, 4, 2, 0, $01, $00
+ dsprite -3, 4, -1, 0, $02, $00
+ dsprite -3, 4, 0, 0, $03, $00
+ dsprite -3, 4, 1, 0, $04, $00
+ dsprite -3, 4, 2, 0, $05, $00
+ dsprite -3, 4, 3, 0, $06, $00
+ dsprite -2, 4, -2, 0, $07, $00
+ dsprite -2, 4, -1, 0, $08, $00
+ dsprite -2, 4, 0, 0, $09, $00
+ dsprite -2, 4, 1, 0, $0a, $00
+ dsprite -2, 4, 2, 0, $0b, $00
+ dsprite -2, 4, 3, 0, $0c, $00
+ dsprite -2, 4, 4, 0, $0d, $00
+ dsprite -1, 4, -3, 0, $0e, $00
+ dsprite -1, 4, -2, 0, $0f, $00
+ dsprite -1, 4, -1, 0, $10, $00
+ dsprite -1, 4, 0, 0, $11, $00
+ dsprite -1, 4, 1, 0, $12, $00
+ dsprite -1, 4, 2, 0, $13, $00
+ dsprite 0, 4, -5, 0, $14, $00
+ dsprite 0, 4, -4, 0, $15, $00
+ dsprite 0, 4, -3, 0, $16, $00
+ dsprite 0, 4, -2, 0, $17, $00
+ dsprite 0, 4, -1, 0, $18, $00
+ dsprite 0, 4, 0, 0, $19, $00
+ dsprite 0, 4, 1, 0, $1a, $00
+ dsprite 0, 4, 2, 0, $1b, $00
+ dsprite 0, 4, 3, 0, $1c, $00
+ dsprite 1, 4, -5, 0, $1d, $00
+ dsprite 1, 4, -4, 0, $1e, $00
+ dsprite 1, 4, -2, 0, $1f, $00
+ dsprite 1, 4, -1, 0, $20, $00
+ dsprite 1, 4, 0, 0, $21, $00
+ dsprite 1, 4, 1, 0, $22, $00
+ dsprite 2, 4, 0, 0, $23, $00
+
+.OAMData_9c
+ dsprite 0, 4, -1, 0, $02, $00
+ dsprite 0, 4, 0, 0, $03, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $01, $20
+ dsprite -2, 4, -1, 0, $00, $00
+ dsprite -2, 4, 0, 0, $00, $20
+
+.OAMData_9f
+ dsprite -1, 0, -2, 0, $00, $00
+ dsprite -1, 0, -1, 0, $01, $00
+ dsprite -1, 0, 0, 0, $02, $00
+ dsprite -1, 0, 1, 0, $03, $00
+ dsprite 0, 0, -2, 0, $04, $00
+ dsprite 0, 0, -1, 0, $05, $00
+ dsprite 0, 0, 0, 0, $06, $00
+ dsprite 0, 0, 1, 0, $07, $00
+
+.OAMData_a0
+ dsprite -2, 4, -1, 4, $00, $00
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 4, -1, 4, $00, $00
+ dsprite -3, 4, -1, 4, $00, $00
+ dsprite 1, 4, -1, 4, $00, $00
+ dsprite -4, 4, -1, 4, $00, $00
+ dsprite 2, 4, -1, 4, $00, $00
+
+.OAMData_a4
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $02, $00
+ dsprite -1, 4, -2, 4, $03, $00
+ dsprite -1, 4, -1, 4, $04, $00
+ dsprite -1, 4, 0, 4, $05, $00
+ dsprite 0, 4, -2, 4, $00, $40
+ dsprite 0, 4, -1, 4, $01, $40
+ dsprite 0, 4, 0, 4, $02, $40
+
+.OAMData_ac
+ dsprite -1, 4, -2, 0, $00, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $01, $20
+ dsprite -1, 4, 1, 0, $00, $20
+
+.OAMData_bc
+ dsprite -1, 4, -3, 0, $00, $00
+ dsprite -1, 4, -2, 0, $01, $00
+ dsprite -1, 4, -1, 0, $02, $00
+ dsprite -1, 4, 0, 0, $02, $20
+ dsprite -1, 4, 1, 0, $01, $20
+ dsprite -1, 4, 2, 0, $00, $20
+
+.OAMData_c1
+ dsprite -2, 0, -2, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -2, 0, 0, 0, $02, $00
+ dsprite -2, 0, 1, 0, $00, $20
+ dsprite -1, 0, -2, 0, $03, $00
+ dsprite -1, 0, -1, 0, $04, $00
+ dsprite -1, 0, 0, 0, $04, $20
+ dsprite -1, 0, 1, 0, $05, $00
+ dsprite 0, 0, -2, 0, $05, $60
+ dsprite 0, 0, -1, 0, $04, $40
+ dsprite 0, 0, 0, 0, $04, $60
+ dsprite 0, 0, 1, 0, $03, $60
+ dsprite 1, 0, -2, 0, $00, $40
+ dsprite 1, 0, -1, 0, $02, $60
+ dsprite 1, 0, 0, 0, $01, $60
+ dsprite 1, 0, 1, 0, $00, $60
+
+.OAMData_c2
+ dsprite -1, 0, -2, 0, $00, $00
+ dsprite -1, 0, -1, 0, $01, $00
+ dsprite -1, 0, 0, 0, $00, $60
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite 0, 0, 0, 0, $01, $00
+ dsprite 0, 0, 1, 0, $00, $60
+
+.OAMData_c8
+ dsprite -1, 0, 1, 4, $00, $00
+ dsprite -1, 0, 2, 4, $01, $00
+ dsprite 0, 0, -1, 4, $02, $00
+ dsprite 0, 0, 0, 4, $03, $00
+ dsprite 0, 0, 1, 4, $04, $00
+ dsprite 0, 0, 2, 4, $05, $00
+
+.OAMData_ca
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $60
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite 0, 0, 0, 0, $01, $20
+
+.OAMData_cc
+ dsprite -2, 0, -13, 4, $00, $00
+ dsprite -4, 0, -11, 4, $00, $00
+ dsprite -1, 0, -9, 4, $00, $00
+ dsprite -5, 0, -7, 4, $00, $00
+ dsprite -3, 0, -5, 4, $00, $00
+ dsprite -5, 0, -3, 4, $00, $00
+ dsprite -3, 0, -1, 4, $00, $00
+ dsprite -3, 0, 0, 4, $00, $00
+ dsprite -5, 0, 2, 4, $00, $00
+ dsprite 0, 0, 4, 4, $00, $00
+ dsprite -2, 0, 6, 4, $00, $00
+ dsprite -4, 0, 8, 4, $00, $00
+ dsprite -2, 0, 10, 4, $00, $00
+; cfcf6
--- a/battle/sliding_intro.asm
+++ b/battle/sliding_intro.asm
@@ -1,4 +1,4 @@
-SlideBattlePics: ; 4e980
+BattleIntroSlidingPics: ; 4e980
ld a, [rSVBK]
push af
ld a, $5
@@ -5,10 +5,10 @@
ld [rSVBK], a
call .subfunction1
ld a, rSCX - $ff00
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
call .subfunction2
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
pop af
ld [rSVBK], a
ret
@@ -62,7 +62,7 @@
; 4e9d6
.subfunction3: ; 4e9d6
- ld hl, Sprites + 1
+ ld hl, Sprites + 1 ; x pixel
ld c, $12 ; 18
ld de, $4
.loop3
--- /dev/null
+++ b/battle/trainer_huds.asm
@@ -1,0 +1,269 @@
+BattleStart_TrainerHuds: ; 2c000
+ ld a, $e4
+ ld [rOBP0], a
+ call LoadBallIconGFX
+ call ShowPlayerMonsRemaining
+ ld a, [wBattleMode]
+ dec a
+ ret z
+ jp ShowOTTrainerMonsRemaining
+; 2c012
+
+EnemySwitch_TrainerHud: ; 2c012
+ ld a, $e4
+ ld [rOBP0], a
+ call LoadBallIconGFX
+ jp ShowOTTrainerMonsRemaining
+; 2c01c
+
+ShowPlayerMonsRemaining: ; 2c01c
+ call DrawPlayerPartyIconHUDBorder
+ ld hl, PartyMon1HP
+ ld de, PartyCount
+ call StageBallTilesData
+ ; ldpixel wPlaceBallsX, 12, 12
+ ld a, 12 * 8
+ ld hl, wPlaceBallsX
+ ld [hli], a
+ ld [hl], a
+ ld a, 8
+ ld [wPlaceBallsDirection], a
+ ld hl, Sprites
+ jp LoadTrainerHudOAM
+; 2c03a
+
+ShowOTTrainerMonsRemaining: ; 2c03a
+ call DrawEnemyHUDBorder
+ ld hl, OTPartyMon1HP
+ ld de, OTPartyCount
+ call StageBallTilesData
+ ; ldpixel wPlaceBallsX, 9, 4
+ ld hl, wPlaceBallsX
+ ld a, 9 * 8
+ ld [hli], a
+ ld [hl], 4 * 8
+ ld a, -8
+ ld [wPlaceBallsDirection], a
+ ld hl, Sprites + PARTY_LENGTH * 4
+ jp LoadTrainerHudOAM
+; 2c059
+
+StageBallTilesData: ; 2c059
+ ld a, [de]
+ push af
+ ld de, Buffer1
+ ld c, PARTY_LENGTH
+ ld a, $34 ; empty slot
+.loop1
+ ld [de], a
+ inc de
+ dec c
+ jr nz, .loop1
+ pop af
+ ld de, Buffer1
+.loop2
+ push af
+ call .GetHUDTile
+ inc de
+ pop af
+ dec a
+ jr nz, .loop2
+ ret
+; 2c075
+
+.GetHUDTile: ; 2c075
+ ld a, [hli]
+ and a
+ jr nz, .got_hp
+ ld a, [hl]
+ and a
+ ld b, $33 ; fainted
+ jr z, .fainted
+
+.got_hp
+rept 3
+ dec hl
+endr
+ ld a, [hl]
+ and a
+ ld b, $32 ; statused
+ jr nz, .load
+ dec b ; normal
+ jr .load
+
+.fainted
+rept 3
+ dec hl
+endr
+
+.load
+ ld a, b
+ ld [de], a
+ ld bc, PARTYMON_STRUCT_LENGTH + MON_HP - MON_STATUS
+ add hl, bc
+ ret
+; 2c095
+
+DrawPlayerHUDBorder: ; 2c095
+ ld hl, .tiles
+ ld de, wTrainerHUDTiles
+ ld bc, 4
+ call CopyBytes
+ hlcoord 18, 10
+ ld de, -1 ; start on right
+ jr PlaceHUDBorderTiles
+
+.tiles
+ db $73 ; right side
+ db $77 ; bottom right
+ db $6f ; bottom left
+ db $76 ; bottom side
+; 2c0ad
+
+DrawPlayerPartyIconHUDBorder: ; 2c0ad
+ ld hl, .tiles
+ ld de, wTrainerHUDTiles
+ ld bc, 4
+ call CopyBytes
+ hlcoord 18, 10
+ ld de, -1 ; start on right
+ jr PlaceHUDBorderTiles
+
+.tiles
+ db $73 ; right side
+ db $5c ; bottom right
+ db $6f ; bottom left
+ db $76 ; bottom side
+; 2c0c5
+
+DrawEnemyHUDBorder: ; 2c0c5
+ ld hl, .tiles
+ ld de, wTrainerHUDTiles
+ ld bc, 4
+ call CopyBytes
+ hlcoord 1, 2
+ ld de, 1 ; start on left
+ call PlaceHUDBorderTiles
+ ld a, [wBattleMode]
+ dec a
+ ret nz
+ ld a, [TempEnemyMonSpecies]
+ dec a
+ call CheckCaughtMon
+ ret z
+ hlcoord 1, 1
+ ld [hl], $5d
+ ret
+
+.tiles
+ db $6d ; left side
+ db $74 ; bottom left
+ db $78 ; bottom right
+ db $76 ; bottom side
+; 2c0f1
+
+PlaceHUDBorderTiles: ; 2c0f1
+ ld a, [wTrainerHUDTiles]
+ ld [hl], a
+ ld bc, SCREEN_WIDTH
+ add hl, bc
+ ld a, [StartFlypoint]
+ ld [hl], a
+ ld b, $8
+.loop
+ add hl, de
+ ld a, [MovementBuffer]
+ ld [hl], a
+ dec b
+ jr nz, .loop
+ add hl, de
+ ld a, [EndFlypoint]
+ ld [hl], a
+ ret
+; 2c10d
+
+LinkBattle_TrainerHuds: ; 2c10d
+ call LoadBallIconGFX
+ ld hl, PartyMon1HP
+ ld de, PartyCount
+ call StageBallTilesData
+ ld hl, wPlaceBallsX
+ ld a, 10 * 8
+ ld [hli], a
+ ld [hl], 8 * 8
+ ld a, $8
+ ld [wPlaceBallsDirection], a
+ ld hl, Sprites
+ call LoadTrainerHudOAM
+
+ ld hl, OTPartyMon1HP
+ ld de, OTPartyCount
+ call StageBallTilesData
+ ld hl, wPlaceBallsX
+ ld a, 10 * 8
+ ld [hli], a
+ ld [hl], 13 * 8
+ ld hl, Sprites + PARTY_LENGTH * 4
+ jp LoadTrainerHudOAM
+; 2c143
+
+LoadTrainerHudOAM: ; 2c143
+ ld de, Buffer1
+ ld c, PARTY_LENGTH
+.loop
+ ld a, [wPlaceBallsY]
+ ld [hli], a
+ ld a, [wPlaceBallsX]
+ ld [hli], a
+ ld a, [de]
+ ld [hli], a
+ ld a, $3
+ ld [hli], a
+ ld a, [wPlaceBallsX]
+ ld b, a
+ ld a, [wPlaceBallsDirection]
+ add b
+ ld [wPlaceBallsX], a
+ inc de
+ dec c
+ jr nz, .loop
+ ret
+; 2c165
+
+LoadBallIconGFX: ; 2c165
+ ld de, .gfx
+ ld hl, VTiles0 tile $31
+ lb bc, BANK(LoadBallIconGFX), 4
+ call Get2bpp_2
+ ret
+; 2c172
+
+.gfx: ; 2c172
+INCBIN "gfx/battle/balls.2bpp"
+; 2c1b2
+
+_ShowLinkBattleParticipants: ; 2c1b2
+ call ClearBGPalettes
+ call LoadFontsExtra
+ hlcoord 2, 3
+ ld b, 9
+ ld c, 14
+ call TextBox
+ hlcoord 4, 5
+ ld de, PlayerName
+ call PlaceString
+ hlcoord 4, 10
+ ld de, OTPlayerName
+ call PlaceString
+ hlcoord 9, 8
+ ld a, $69 ; "V"
+ ld [hli], a
+ ld [hl], $6a ; "S"
+ callba LinkBattle_TrainerHuds ; no need to callba
+ ld b, SCGB_08
+ call GetSGBLayout
+ call SetPalettes
+ ld a, $e4
+ ld [rOBP0], a
+ ret
+; 2c1ef
--- a/battle/used_move_text.asm
+++ b/battle/used_move_text.asm
@@ -11,7 +11,6 @@
text_jump _ActorNameText
start_asm
-
ld a, [hBattleTurn]
and a
jr nz, .start
@@ -67,30 +66,26 @@
UsedMove1Text: ; 105e04
text_jump _UsedMove1Text
start_asm
- jr Function105e10
+ jr UsedMoveText_CheckObedience
; 105e0b
UsedMove2Text: ; 105e0b
text_jump _UsedMove2Text
start_asm
-; 105e10
-
-Function105e10: ; 105e10
+UsedMoveText_CheckObedience: ; 105e10
; check obedience
ld a, [AlreadyDisobeyed]
and a
- jr z, GetMoveNameText
+ jr z, .GetMoveNameText
; print "instead,"
- ld hl, UsedInsteadText
+ ld hl, .UsedInsteadText
ret
; 105e1a
-UsedInsteadText: ; 105e1a
+.UsedInsteadText
text_jump _UsedInsteadText
start_asm
-; 105e1f
-
-GetMoveNameText: ; 105e1f
+.GetMoveNameText
ld hl, MoveNameText
ret
; 105e23
@@ -98,9 +93,6 @@
MoveNameText: ; 105e23
text_jump _MoveNameText
start_asm
-; 105e28
-
-GetUsedMoveTextEnder: ; 105e28
; get start address
ld hl, .endusedmovetexts
--- a/constants.asm
+++ b/constants.asm
@@ -4,6 +4,7 @@
INCLUDE "hram.asm"
INCLUDE "constants/wram_constants.asm"
+INCLUDE "constants/sram_constants.asm"
INCLUDE "constants/pokemon_constants.asm"
INCLUDE "constants/type_constants.asm"
INCLUDE "constants/move_constants.asm"
@@ -30,3 +31,5 @@
INCLUDE "constants/tilemap_constants.asm"
INCLUDE "constants/cgb_constants.asm"
INCLUDE "constants/battle_tower_constants.asm"
+INCLUDE "constants/cry_constants.asm"
+INCLUDE "constants/audio_constants.asm"
--- a/constants/animation_constants.asm
+++ b/constants/animation_constants.asm
@@ -1,42 +1,761 @@
+ const_def
+ const BATTLEANIMSTRUCT_INDEX
+ const BATTLEANIMSTRUCT_01
+ const BATTLEANIMSTRUCT_02
+ const BATTLEANIMSTRUCT_FRAMESET_ID
+ const BATTLEANIMSTRUCT_FUNCTION
+ const BATTLEANIMSTRUCT_PALETTE
+ const BATTLEANIMSTRUCT_TILEID
+ const BATTLEANIMSTRUCT_XCOORD
+ const BATTLEANIMSTRUCT_YCOORD
+ const BATTLEANIMSTRUCT_XOFFSET
+ const BATTLEANIMSTRUCT_YOFFSET
+ const BATTLEANIMSTRUCT_0B
+ const BATTLEANIMSTRUCT_DURATION
+ const BATTLEANIMSTRUCT_FRAME
+ const BATTLEANIMSTRUCT_ANON_JT_INDEX
+ const BATTLEANIMSTRUCT_0F
+ const BATTLEANIMSTRUCT_10
+ const BATTLEANIMSTRUCT_11
+ const BATTLEANIMSTRUCT_12
+ const BATTLEANIMSTRUCT_13
+ const BATTLEANIMSTRUCT_14
+ const BATTLEANIMSTRUCT_15
+ const BATTLEANIMSTRUCT_16
+ const BATTLEANIMSTRUCT_17
+BATTLEANIMSTRUCT_LENGTH EQU const_value
-ANIM_OBJ_BURNED EQU $10
-ANIM_OBJ_FROZEN EQU $2a
-ANIM_OBJ_GUST EQU $3e
-ANIM_OBJ_CHICK EQU $52
-ANIM_OBJ_SKULL EQU $55
-ANIM_OBJ_PARALYZED EQU $59
-ANIM_OBJ_HEART EQU $7e
-ANIM_OBJ_FLOWER EQU $b6
-ANIM_OBJ_COTTON EQU $b7
+ const_def
+ const ANIM_OBJ_00
+ const ANIM_OBJ_01
+ const ANIM_OBJ_02
+ const ANIM_OBJ_03
+ const ANIM_OBJ_04
+ const ANIM_OBJ_05
+ const ANIM_OBJ_06
+ const ANIM_OBJ_07
+ const ANIM_OBJ_08
+ const ANIM_OBJ_09
+ const ANIM_OBJ_0A
+ const ANIM_OBJ_0B
+ const ANIM_OBJ_0C
+ const ANIM_OBJ_0D
+ const ANIM_OBJ_0E
+ const ANIM_OBJ_0F
+ const ANIM_OBJ_BURNED
+ const ANIM_OBJ_11
+ const ANIM_OBJ_12
+ const ANIM_OBJ_13
+ const ANIM_OBJ_14
+ const ANIM_OBJ_POKE_BALL
+ const ANIM_OBJ_16
+ const ANIM_OBJ_17
+ const ANIM_OBJ_18
+ const ANIM_OBJ_19
+ const ANIM_OBJ_1A
+ const ANIM_OBJ_1B
+ const ANIM_OBJ_1C
+ const ANIM_OBJ_1D
+ const ANIM_OBJ_1E
+ const ANIM_OBJ_1F
+ const ANIM_OBJ_20
+ const ANIM_OBJ_21
+ const ANIM_OBJ_22
+ const ANIM_OBJ_23
+ const ANIM_OBJ_24
+ const ANIM_OBJ_25
+ const ANIM_OBJ_26
+ const ANIM_OBJ_27
+ const ANIM_OBJ_28
+ const ANIM_OBJ_29
+ const ANIM_OBJ_FROZEN
+ const ANIM_OBJ_2B
+ const ANIM_OBJ_2C
+ const ANIM_OBJ_2D
+ const ANIM_OBJ_2E
+ const ANIM_OBJ_2F
+ const ANIM_OBJ_30
+ const ANIM_OBJ_31
+ const ANIM_OBJ_32
+ const ANIM_OBJ_33
+ const ANIM_OBJ_34
+ const ANIM_OBJ_35
+ const ANIM_OBJ_36
+ const ANIM_OBJ_37
+ const ANIM_OBJ_38
+ const ANIM_OBJ_39
+ const ANIM_OBJ_3A
+ const ANIM_OBJ_3B
+ const ANIM_OBJ_3C
+ const ANIM_OBJ_3D
+ const ANIM_OBJ_GUST
+ const ANIM_OBJ_3F
+ const ANIM_OBJ_40
+ const ANIM_OBJ_41
+ const ANIM_OBJ_42
+ const ANIM_OBJ_43
+ const ANIM_OBJ_44
+ const ANIM_OBJ_45
+ const ANIM_OBJ_46
+ const ANIM_OBJ_47
+ const ANIM_OBJ_48
+ const ANIM_OBJ_49
+ const ANIM_OBJ_4A
+ const ANIM_OBJ_4B
+ const ANIM_OBJ_4C
+ const ANIM_OBJ_4D
+ const ANIM_OBJ_4E
+ const ANIM_OBJ_4F
+ const ANIM_OBJ_50
+ const ANIM_OBJ_51
+ const ANIM_OBJ_CHICK
+ const ANIM_OBJ_53
+ const ANIM_OBJ_54
+ const ANIM_OBJ_SKULL
+ const ANIM_OBJ_56
+ const ANIM_OBJ_57
+ const ANIM_OBJ_58
+ const ANIM_OBJ_PARALYZED
+ const ANIM_OBJ_5A
+ const ANIM_OBJ_5B
+ const ANIM_OBJ_5C
+ const ANIM_OBJ_5D
+ const ANIM_OBJ_5E
+ const ANIM_OBJ_5F
+ const ANIM_OBJ_60
+ const ANIM_OBJ_61
+ const ANIM_OBJ_62
+ const ANIM_OBJ_63
+ const ANIM_OBJ_64
+ const ANIM_OBJ_65
+ const ANIM_OBJ_66
+ const ANIM_OBJ_67
+ const ANIM_OBJ_68
+ const ANIM_OBJ_69
+ const ANIM_OBJ_6A
+ const ANIM_OBJ_6B
+ const ANIM_OBJ_6C
+ const ANIM_OBJ_6D
+ const ANIM_OBJ_6E
+ const ANIM_OBJ_6F
+ const ANIM_OBJ_70
+ const ANIM_OBJ_71
+ const ANIM_OBJ_72
+ const ANIM_OBJ_73
+ const ANIM_OBJ_74
+ const ANIM_OBJ_75
+ const ANIM_OBJ_76
+ const ANIM_OBJ_77
+ const ANIM_OBJ_78
+ const ANIM_OBJ_79
+ const ANIM_OBJ_7A
+ const ANIM_OBJ_7B
+ const ANIM_OBJ_7C
+ const ANIM_OBJ_7D
+ const ANIM_OBJ_HEART
+ const ANIM_OBJ_7F
+ const ANIM_OBJ_80
+ const ANIM_OBJ_81
+ const ANIM_OBJ_82
+ const ANIM_OBJ_83
+ const ANIM_OBJ_84
+ const ANIM_OBJ_85
+ const ANIM_OBJ_86
+ const ANIM_OBJ_87
+ const ANIM_OBJ_88
+ const ANIM_OBJ_89
+ const ANIM_OBJ_8A
+ const ANIM_OBJ_8B
+ const ANIM_OBJ_8C
+ const ANIM_OBJ_8D
+ const ANIM_OBJ_8E
+ const ANIM_OBJ_8F
+ const ANIM_OBJ_90
+ const ANIM_OBJ_91
+ const ANIM_OBJ_92
+ const ANIM_OBJ_93
+ const ANIM_OBJ_94
+ const ANIM_OBJ_95
+ const ANIM_OBJ_96
+ const ANIM_OBJ_97
+ const ANIM_OBJ_98
+ const ANIM_OBJ_99
+ const ANIM_OBJ_9A
+ const ANIM_OBJ_9B
+ const ANIM_OBJ_9C
+ const ANIM_OBJ_9D
+ const ANIM_OBJ_9E
+ const ANIM_OBJ_9F
+ const ANIM_OBJ_A0
+ const ANIM_OBJ_A1
+ const ANIM_OBJ_A2
+ const ANIM_OBJ_A3
+ const ANIM_OBJ_A4
+ const ANIM_OBJ_A5
+ const ANIM_OBJ_A6
+ const ANIM_OBJ_A7
+ const ANIM_OBJ_A8
+ const ANIM_OBJ_A9
+ const ANIM_OBJ_AA
+ const ANIM_OBJ_AB
+ const ANIM_OBJ_AC
+ const ANIM_OBJ_AD
+ const ANIM_OBJ_AE
+ const ANIM_OBJ_AF
+ const ANIM_OBJ_B0
+ const ANIM_OBJ_B1
+ const ANIM_OBJ_B2
+ const ANIM_OBJ_B3
+ const ANIM_OBJ_B4
+ const ANIM_OBJ_B5
+ const ANIM_OBJ_FLOWER
+ const ANIM_OBJ_COTTON
+ const ANIM_OBJ_PLAYERFEETFOLLOW
+ const ANIM_OBJ_ENEMYFEETFOLLOW
+ const ANIM_OBJ_BA
+ const ANIM_OBJ_BB
-ANIM_BG_FLASH_INVERTED EQU $01
-ANIM_BG_FLASH_WHITE EQU $02
-ANIM_BG_WHITE_HUES EQU $03
-ANIM_BG_BLACK_HUES EQU $04
-ANIM_BG_ALTERNATE_HUES EQU $05
-; ???? EQU $06
-; ???? EQU $07
-; ???? EQU $08
-ANIM_BG_HIDE_MON EQU $09
-ANIM_BG_SHOW_MON EQU $0a
-ANIM_BG_ENTER_MON EQU $0b
-ANIM_BG_RETURN_MON EQU $0c
-ANIM_BG_SURF EQU $0d
-ANIM_BG_WHIRLPOOL EQU $0e
-ANIM_BG_TELEPORT EQU $0f
-ANIM_BG_NIGHT_SHADE EQU $10
-ANIM_BG_FEET_FOLLOW EQU $11
-ANIM_BG_HEAD_FOLLOW EQU $12
-ANIM_BG_DOUBLE_TEAM EQU $13
-ANIM_BG_ACID_ARMOR EQU $14
-ANIM_BG_RAPID_FLASH EQU $15 ; unused
+ const_def
+ const BATTLEANIMFUNC_00
+ const BATTLEANIMFUNC_01
+ const BATTLEANIMFUNC_02
+ const BATTLEANIMFUNC_03
+ const BATTLEANIMFUNC_04
+ const BATTLEANIMFUNC_05
+ const BATTLEANIMFUNC_06
+ const BATTLEANIMFUNC_07
+ const BATTLEANIMFUNC_08
+ const BATTLEANIMFUNC_09
+ const BATTLEANIMFUNC_0A
+ const BATTLEANIMFUNC_0B
+ const BATTLEANIMFUNC_0C
+ const BATTLEANIMFUNC_0D
+ const BATTLEANIMFUNC_0E
+ const BATTLEANIMFUNC_0F
+ const BATTLEANIMFUNC_10
+ const BATTLEANIMFUNC_11
+ const BATTLEANIMFUNC_12
+ const BATTLEANIMFUNC_13
+ const BATTLEANIMFUNC_14
+ const BATTLEANIMFUNC_15
+ const BATTLEANIMFUNC_16
+ const BATTLEANIMFUNC_17
+ const BATTLEANIMFUNC_18
+ const BATTLEANIMFUNC_19
+ const BATTLEANIMFUNC_1A
+ const BATTLEANIMFUNC_1B
+ const BATTLEANIMFUNC_1C
+ const BATTLEANIMFUNC_1D
+ const BATTLEANIMFUNC_1E
+ const BATTLEANIMFUNC_1F
+ const BATTLEANIMFUNC_20
+ const BATTLEANIMFUNC_21
+ const BATTLEANIMFUNC_22
+ const BATTLEANIMFUNC_23
+ const BATTLEANIMFUNC_24
+ const BATTLEANIMFUNC_25
+ const BATTLEANIMFUNC_26
+ const BATTLEANIMFUNC_27
+ const BATTLEANIMFUNC_28
+ const BATTLEANIMFUNC_29
+ const BATTLEANIMFUNC_2A
+ const BATTLEANIMFUNC_2B
+ const BATTLEANIMFUNC_2C
+ const BATTLEANIMFUNC_2D
+ const BATTLEANIMFUNC_2E
+ const BATTLEANIMFUNC_2F
+ const BATTLEANIMFUNC_30
+ const BATTLEANIMFUNC_31
+ const BATTLEANIMFUNC_32
+ const BATTLEANIMFUNC_33
+ const BATTLEANIMFUNC_34
+ const BATTLEANIMFUNC_35
+ const BATTLEANIMFUNC_36
+ const BATTLEANIMFUNC_37
+ const BATTLEANIMFUNC_38
+ const BATTLEANIMFUNC_39
+ const BATTLEANIMFUNC_3A
+ const BATTLEANIMFUNC_3B
+ const BATTLEANIMFUNC_3C
+ const BATTLEANIMFUNC_3D
+ const BATTLEANIMFUNC_3E
+ const BATTLEANIMFUNC_3F
+ const BATTLEANIMFUNC_40
+ const BATTLEANIMFUNC_41
+ const BATTLEANIMFUNC_42
+ const BATTLEANIMFUNC_43
+ const BATTLEANIMFUNC_44
+ const BATTLEANIMFUNC_45
+ const BATTLEANIMFUNC_46
+ const BATTLEANIMFUNC_47
+ const BATTLEANIMFUNC_48
+ const BATTLEANIMFUNC_49
+ const BATTLEANIMFUNC_4A
+ const BATTLEANIMFUNC_4B
+ const BATTLEANIMFUNC_4C
+ const BATTLEANIMFUNC_4D
+ const BATTLEANIMFUNC_4E
+ const BATTLEANIMFUNC_4F
-ANIM_BG_TACKLE EQU $24
+ const_def
+ const BATTLEANIMFRAMESET_00
+ const BATTLEANIMFRAMESET_01
+ const BATTLEANIMFRAMESET_02
+ const BATTLEANIMFRAMESET_03
+ const BATTLEANIMFRAMESET_04
+ const BATTLEANIMFRAMESET_05
+ const BATTLEANIMFRAMESET_06
+ const BATTLEANIMFRAMESET_07
+ const BATTLEANIMFRAMESET_08
+ const BATTLEANIMFRAMESET_09
+ const BATTLEANIMFRAMESET_0A
+ const BATTLEANIMFRAMESET_0B
+ const BATTLEANIMFRAMESET_0C
+ const BATTLEANIMFRAMESET_0D
+ const BATTLEANIMFRAMESET_0E
+ const BATTLEANIMFRAMESET_0F
+ const BATTLEANIMFRAMESET_10
+ const BATTLEANIMFRAMESET_11
+ const BATTLEANIMFRAMESET_12
+ const BATTLEANIMFRAMESET_13
+ const BATTLEANIMFRAMESET_14
+ const BATTLEANIMFRAMESET_15
+ const BATTLEANIMFRAMESET_16
+ const BATTLEANIMFRAMESET_17
+ const BATTLEANIMFRAMESET_18
+ const BATTLEANIMFRAMESET_19
+ const BATTLEANIMFRAMESET_1A
+ const BATTLEANIMFRAMESET_1B
+ const BATTLEANIMFRAMESET_1C
+ const BATTLEANIMFRAMESET_1D
+ const BATTLEANIMFRAMESET_1E
+ const BATTLEANIMFRAMESET_1F
+ const BATTLEANIMFRAMESET_20
+ const BATTLEANIMFRAMESET_21
+ const BATTLEANIMFRAMESET_22
+ const BATTLEANIMFRAMESET_23
+ const BATTLEANIMFRAMESET_24
+ const BATTLEANIMFRAMESET_25
+ const BATTLEANIMFRAMESET_26
+ const BATTLEANIMFRAMESET_27
+ const BATTLEANIMFRAMESET_28
+ const BATTLEANIMFRAMESET_29
+ const BATTLEANIMFRAMESET_2A
+ const BATTLEANIMFRAMESET_2B
+ const BATTLEANIMFRAMESET_2C
+ const BATTLEANIMFRAMESET_2D
+ const BATTLEANIMFRAMESET_2E
+ const BATTLEANIMFRAMESET_2F
+ const BATTLEANIMFRAMESET_30
+ const BATTLEANIMFRAMESET_31
+ const BATTLEANIMFRAMESET_32
+ const BATTLEANIMFRAMESET_33
+ const BATTLEANIMFRAMESET_34
+ const BATTLEANIMFRAMESET_35
+ const BATTLEANIMFRAMESET_36
+ const BATTLEANIMFRAMESET_37
+ const BATTLEANIMFRAMESET_38
+ const BATTLEANIMFRAMESET_39
+ const BATTLEANIMFRAMESET_3A
+ const BATTLEANIMFRAMESET_3B
+ const BATTLEANIMFRAMESET_3C
+ const BATTLEANIMFRAMESET_3D
+ const BATTLEANIMFRAMESET_3E
+ const BATTLEANIMFRAMESET_3F
+ const BATTLEANIMFRAMESET_40
+ const BATTLEANIMFRAMESET_41
+ const BATTLEANIMFRAMESET_42
+ const BATTLEANIMFRAMESET_43
+ const BATTLEANIMFRAMESET_44
+ const BATTLEANIMFRAMESET_45
+ const BATTLEANIMFRAMESET_46
+ const BATTLEANIMFRAMESET_47
+ const BATTLEANIMFRAMESET_48
+ const BATTLEANIMFRAMESET_49
+ const BATTLEANIMFRAMESET_4A
+ const BATTLEANIMFRAMESET_4B
+ const BATTLEANIMFRAMESET_4C
+ const BATTLEANIMFRAMESET_4D
+ const BATTLEANIMFRAMESET_4E
+ const BATTLEANIMFRAMESET_4F
+ const BATTLEANIMFRAMESET_50
+ const BATTLEANIMFRAMESET_51
+ const BATTLEANIMFRAMESET_52
+ const BATTLEANIMFRAMESET_53
+ const BATTLEANIMFRAMESET_54
+ const BATTLEANIMFRAMESET_55
+ const BATTLEANIMFRAMESET_56
+ const BATTLEANIMFRAMESET_57
+ const BATTLEANIMFRAMESET_58
+ const BATTLEANIMFRAMESET_59
+ const BATTLEANIMFRAMESET_5A
+ const BATTLEANIMFRAMESET_5B
+ const BATTLEANIMFRAMESET_5C
+ const BATTLEANIMFRAMESET_5D
+ const BATTLEANIMFRAMESET_5E
+ const BATTLEANIMFRAMESET_5F
+ const BATTLEANIMFRAMESET_60
+ const BATTLEANIMFRAMESET_61
+ const BATTLEANIMFRAMESET_62
+ const BATTLEANIMFRAMESET_63
+ const BATTLEANIMFRAMESET_64
+ const BATTLEANIMFRAMESET_65
+ const BATTLEANIMFRAMESET_66
+ const BATTLEANIMFRAMESET_67
+ const BATTLEANIMFRAMESET_68
+ const BATTLEANIMFRAMESET_69
+ const BATTLEANIMFRAMESET_6A
+ const BATTLEANIMFRAMESET_6B
+ const BATTLEANIMFRAMESET_6C
+ const BATTLEANIMFRAMESET_6D
+ const BATTLEANIMFRAMESET_6E
+ const BATTLEANIMFRAMESET_6F
+ const BATTLEANIMFRAMESET_70
+ const BATTLEANIMFRAMESET_71
+ const BATTLEANIMFRAMESET_72
+ const BATTLEANIMFRAMESET_73
+ const BATTLEANIMFRAMESET_74
+ const BATTLEANIMFRAMESET_75
+ const BATTLEANIMFRAMESET_76
+ const BATTLEANIMFRAMESET_77
+ const BATTLEANIMFRAMESET_78
+ const BATTLEANIMFRAMESET_79
+ const BATTLEANIMFRAMESET_7A
+ const BATTLEANIMFRAMESET_7B
+ const BATTLEANIMFRAMESET_7C
+ const BATTLEANIMFRAMESET_7D
+ const BATTLEANIMFRAMESET_7E
+ const BATTLEANIMFRAMESET_7F
+ const BATTLEANIMFRAMESET_80
+ const BATTLEANIMFRAMESET_81
+ const BATTLEANIMFRAMESET_82
+ const BATTLEANIMFRAMESET_83
+ const BATTLEANIMFRAMESET_84
+ const BATTLEANIMFRAMESET_85
+ const BATTLEANIMFRAMESET_86
+ const BATTLEANIMFRAMESET_87
+ const BATTLEANIMFRAMESET_88
+ const BATTLEANIMFRAMESET_89
+ const BATTLEANIMFRAMESET_8A
+ const BATTLEANIMFRAMESET_8B
+ const BATTLEANIMFRAMESET_8C
+ const BATTLEANIMFRAMESET_8D
+ const BATTLEANIMFRAMESET_8E
+ const BATTLEANIMFRAMESET_8F
+ const BATTLEANIMFRAMESET_90
+ const BATTLEANIMFRAMESET_91
+ const BATTLEANIMFRAMESET_92
+ const BATTLEANIMFRAMESET_93
+ const BATTLEANIMFRAMESET_94
+ const BATTLEANIMFRAMESET_95
+ const BATTLEANIMFRAMESET_96
+ const BATTLEANIMFRAMESET_97
+ const BATTLEANIMFRAMESET_98
+ const BATTLEANIMFRAMESET_99
+ const BATTLEANIMFRAMESET_9A
+ const BATTLEANIMFRAMESET_9B
+ const BATTLEANIMFRAMESET_9C
+ const BATTLEANIMFRAMESET_9D
+ const BATTLEANIMFRAMESET_9E
+ const BATTLEANIMFRAMESET_9F
+ const BATTLEANIMFRAMESET_A0
+ const BATTLEANIMFRAMESET_A1
+ const BATTLEANIMFRAMESET_A2
+ const BATTLEANIMFRAMESET_A3
+ const BATTLEANIMFRAMESET_A4
+ const BATTLEANIMFRAMESET_A5
+ const BATTLEANIMFRAMESET_A6
+ const BATTLEANIMFRAMESET_A7
+ const BATTLEANIMFRAMESET_A8
+ const BATTLEANIMFRAMESET_A9
+ const BATTLEANIMFRAMESET_AA
+ const BATTLEANIMFRAMESET_AB
+ const BATTLEANIMFRAMESET_AC
+ const BATTLEANIMFRAMESET_AD
+ const BATTLEANIMFRAMESET_AE
+ const BATTLEANIMFRAMESET_AF
+ const BATTLEANIMFRAMESET_B0
+ const BATTLEANIMFRAMESET_B1
+ const BATTLEANIMFRAMESET_B2
+ const BATTLEANIMFRAMESET_B3
+ const BATTLEANIMFRAMESET_B4
+ const BATTLEANIMFRAMESET_B5
+ const BATTLEANIMFRAMESET_B6
+ const BATTLEANIMFRAMESET_B7
+ const BATTLEANIMFRAMESET_B8
-ANIM_BG_PSYCHIC EQU $29
+ const_def
+ const BATTLEANIMOAMSET_00
+ const BATTLEANIMOAMSET_01
+ const BATTLEANIMOAMSET_02
+ const BATTLEANIMOAMSET_03
+ const BATTLEANIMOAMSET_04
+ const BATTLEANIMOAMSET_05
+ const BATTLEANIMOAMSET_06
+ const BATTLEANIMOAMSET_07
+ const BATTLEANIMOAMSET_08
+ const BATTLEANIMOAMSET_09
+ const BATTLEANIMOAMSET_0A
+ const BATTLEANIMOAMSET_0B
+ const BATTLEANIMOAMSET_0C
+ const BATTLEANIMOAMSET_0D
+ const BATTLEANIMOAMSET_0E
+ const BATTLEANIMOAMSET_0F
+ const BATTLEANIMOAMSET_10
+ const BATTLEANIMOAMSET_11
+ const BATTLEANIMOAMSET_12
+ const BATTLEANIMOAMSET_13
+ const BATTLEANIMOAMSET_14
+ const BATTLEANIMOAMSET_15
+ const BATTLEANIMOAMSET_16
+ const BATTLEANIMOAMSET_17
+ const BATTLEANIMOAMSET_18
+ const BATTLEANIMOAMSET_19
+ const BATTLEANIMOAMSET_1A
+ const BATTLEANIMOAMSET_1B
+ const BATTLEANIMOAMSET_1C
+ const BATTLEANIMOAMSET_1D
+ const BATTLEANIMOAMSET_1E
+ const BATTLEANIMOAMSET_1F
+ const BATTLEANIMOAMSET_20
+ const BATTLEANIMOAMSET_21
+ const BATTLEANIMOAMSET_22
+ const BATTLEANIMOAMSET_23
+ const BATTLEANIMOAMSET_24
+ const BATTLEANIMOAMSET_25
+ const BATTLEANIMOAMSET_26
+ const BATTLEANIMOAMSET_27
+ const BATTLEANIMOAMSET_28
+ const BATTLEANIMOAMSET_29
+ const BATTLEANIMOAMSET_2A
+ const BATTLEANIMOAMSET_2B
+ const BATTLEANIMOAMSET_2C
+ const BATTLEANIMOAMSET_2D
+ const BATTLEANIMOAMSET_2E
+ const BATTLEANIMOAMSET_2F
+ const BATTLEANIMOAMSET_30
+ const BATTLEANIMOAMSET_31
+ const BATTLEANIMOAMSET_32
+ const BATTLEANIMOAMSET_33
+ const BATTLEANIMOAMSET_34
+ const BATTLEANIMOAMSET_35
+ const BATTLEANIMOAMSET_36
+ const BATTLEANIMOAMSET_37
+ const BATTLEANIMOAMSET_38
+ const BATTLEANIMOAMSET_39
+ const BATTLEANIMOAMSET_3A
+ const BATTLEANIMOAMSET_3B
+ const BATTLEANIMOAMSET_3C
+ const BATTLEANIMOAMSET_3D
+ const BATTLEANIMOAMSET_3E
+ const BATTLEANIMOAMSET_3F
+ const BATTLEANIMOAMSET_40
+ const BATTLEANIMOAMSET_41
+ const BATTLEANIMOAMSET_42
+ const BATTLEANIMOAMSET_43
+ const BATTLEANIMOAMSET_44
+ const BATTLEANIMOAMSET_45
+ const BATTLEANIMOAMSET_46
+ const BATTLEANIMOAMSET_47
+ const BATTLEANIMOAMSET_48
+ const BATTLEANIMOAMSET_49
+ const BATTLEANIMOAMSET_4A
+ const BATTLEANIMOAMSET_4B
+ const BATTLEANIMOAMSET_4C
+ const BATTLEANIMOAMSET_4D
+ const BATTLEANIMOAMSET_4E
+ const BATTLEANIMOAMSET_4F
+ const BATTLEANIMOAMSET_50
+ const BATTLEANIMOAMSET_51
+ const BATTLEANIMOAMSET_52
+ const BATTLEANIMOAMSET_53
+ const BATTLEANIMOAMSET_54
+ const BATTLEANIMOAMSET_55
+ const BATTLEANIMOAMSET_56
+ const BATTLEANIMOAMSET_57
+ const BATTLEANIMOAMSET_58
+ const BATTLEANIMOAMSET_59
+ const BATTLEANIMOAMSET_5A
+ const BATTLEANIMOAMSET_5B
+ const BATTLEANIMOAMSET_5C
+ const BATTLEANIMOAMSET_5D
+ const BATTLEANIMOAMSET_5E
+ const BATTLEANIMOAMSET_5F
+ const BATTLEANIMOAMSET_60
+ const BATTLEANIMOAMSET_61
+ const BATTLEANIMOAMSET_62
+ const BATTLEANIMOAMSET_63
+ const BATTLEANIMOAMSET_64
+ const BATTLEANIMOAMSET_65
+ const BATTLEANIMOAMSET_66
+ const BATTLEANIMOAMSET_67
+ const BATTLEANIMOAMSET_68
+ const BATTLEANIMOAMSET_69
+ const BATTLEANIMOAMSET_6A
+ const BATTLEANIMOAMSET_6B
+ const BATTLEANIMOAMSET_6C
+ const BATTLEANIMOAMSET_6D
+ const BATTLEANIMOAMSET_6E
+ const BATTLEANIMOAMSET_6F
+ const BATTLEANIMOAMSET_70
+ const BATTLEANIMOAMSET_71
+ const BATTLEANIMOAMSET_72
+ const BATTLEANIMOAMSET_73
+ const BATTLEANIMOAMSET_74
+ const BATTLEANIMOAMSET_75
+ const BATTLEANIMOAMSET_76
+ const BATTLEANIMOAMSET_77
+ const BATTLEANIMOAMSET_78
+ const BATTLEANIMOAMSET_79
+ const BATTLEANIMOAMSET_7A
+ const BATTLEANIMOAMSET_7B
+ const BATTLEANIMOAMSET_7C
+ const BATTLEANIMOAMSET_7D
+ const BATTLEANIMOAMSET_7E
+ const BATTLEANIMOAMSET_7F
+ const BATTLEANIMOAMSET_80
+ const BATTLEANIMOAMSET_81
+ const BATTLEANIMOAMSET_82
+ const BATTLEANIMOAMSET_83
+ const BATTLEANIMOAMSET_84
+ const BATTLEANIMOAMSET_85
+ const BATTLEANIMOAMSET_86
+ const BATTLEANIMOAMSET_87
+ const BATTLEANIMOAMSET_88
+ const BATTLEANIMOAMSET_89
+ const BATTLEANIMOAMSET_8A
+ const BATTLEANIMOAMSET_8B
+ const BATTLEANIMOAMSET_8C
+ const BATTLEANIMOAMSET_8D
+ const BATTLEANIMOAMSET_8E
+ const BATTLEANIMOAMSET_8F
+ const BATTLEANIMOAMSET_90
+ const BATTLEANIMOAMSET_91
+ const BATTLEANIMOAMSET_92
+ const BATTLEANIMOAMSET_93
+ const BATTLEANIMOAMSET_94
+ const BATTLEANIMOAMSET_95
+ const BATTLEANIMOAMSET_96
+ const BATTLEANIMOAMSET_97
+ const BATTLEANIMOAMSET_98
+ const BATTLEANIMOAMSET_99
+ const BATTLEANIMOAMSET_9A
+ const BATTLEANIMOAMSET_9B
+ const BATTLEANIMOAMSET_9C
+ const BATTLEANIMOAMSET_9D
+ const BATTLEANIMOAMSET_9E
+ const BATTLEANIMOAMSET_9F
+ const BATTLEANIMOAMSET_A0
+ const BATTLEANIMOAMSET_A1
+ const BATTLEANIMOAMSET_A2
+ const BATTLEANIMOAMSET_A3
+ const BATTLEANIMOAMSET_A4
+ const BATTLEANIMOAMSET_A5
+ const BATTLEANIMOAMSET_A6
+ const BATTLEANIMOAMSET_A7
+ const BATTLEANIMOAMSET_A8
+ const BATTLEANIMOAMSET_A9
+ const BATTLEANIMOAMSET_AA
+ const BATTLEANIMOAMSET_AB
+ const BATTLEANIMOAMSET_AC
+ const BATTLEANIMOAMSET_AD
+ const BATTLEANIMOAMSET_AE
+ const BATTLEANIMOAMSET_AF
+ const BATTLEANIMOAMSET_B0
+ const BATTLEANIMOAMSET_B1
+ const BATTLEANIMOAMSET_B2
+ const BATTLEANIMOAMSET_B3
+ const BATTLEANIMOAMSET_B4
+ const BATTLEANIMOAMSET_B5
+ const BATTLEANIMOAMSET_B6
+ const BATTLEANIMOAMSET_B7
+ const BATTLEANIMOAMSET_B8
+ const BATTLEANIMOAMSET_B9
+ const BATTLEANIMOAMSET_BA
+ const BATTLEANIMOAMSET_BB
+ const BATTLEANIMOAMSET_BC
+ const BATTLEANIMOAMSET_BD
+ const BATTLEANIMOAMSET_BE
+ const BATTLEANIMOAMSET_BF
+ const BATTLEANIMOAMSET_C0
+ const BATTLEANIMOAMSET_C1
+ const BATTLEANIMOAMSET_C2
+ const BATTLEANIMOAMSET_C3
+ const BATTLEANIMOAMSET_C4
+ const BATTLEANIMOAMSET_C5
+ const BATTLEANIMOAMSET_C6
+ const BATTLEANIMOAMSET_C7
+ const BATTLEANIMOAMSET_C8
+ const BATTLEANIMOAMSET_C9
+ const BATTLEANIMOAMSET_CA
+ const BATTLEANIMOAMSET_CB
+ const BATTLEANIMOAMSET_CC
+ const BATTLEANIMOAMSET_CD
+ const BATTLEANIMOAMSET_CE
+ const BATTLEANIMOAMSET_CF
+ const BATTLEANIMOAMSET_D0
+ const BATTLEANIMOAMSET_D1
+ const BATTLEANIMOAMSET_D2
+ const BATTLEANIMOAMSET_D3
+ const BATTLEANIMOAMSET_D4
+ const BATTLEANIMOAMSET_D5
+ const BATTLEANIMOAMSET_D6
+ const BATTLEANIMOAMSET_D7
-ANIM_BG_VIBRATE_MON EQU $33
-ANIM_BG_WOBBLE_MON EQU $34
+const_value SET 1
+ const ANIM_BG_FLASH_INVERTED
+ const ANIM_BG_FLASH_WHITE
+ const ANIM_BG_WHITE_HUES
+ const ANIM_BG_BLACK_HUES
+ const ANIM_BG_ALTERNATE_HUES
+ const ANIM_BG_06
+ const ANIM_BG_07
+ const ANIM_BG_08
+ const ANIM_BG_HIDE_MON
+ const ANIM_BG_SHOW_MON
+ const ANIM_BG_ENTER_MON
+ const ANIM_BG_RETURN_MON
+ const ANIM_BG_SURF
+ const ANIM_BG_WHIRLPOOL
+ const ANIM_BG_TELEPORT
+ const ANIM_BG_NIGHT_SHADE
+ const ANIM_BG_FEET_FOLLOW
+ const ANIM_BG_HEAD_FOLLOW
+ const ANIM_BG_DOUBLE_TEAM
+ const ANIM_BG_ACID_ARMOR
+ const ANIM_BG_RAPID_FLASH
+ const ANIM_BG_16
+ const ANIM_BG_17
+ const ANIM_BG_18
+ const ANIM_BG_19
+ const ANIM_BG_1A
+ const ANIM_BG_1B
+ const ANIM_BG_1C
+ const ANIM_BG_1D
+ const ANIM_BG_1E
+ const ANIM_BG_1F
+ const ANIM_BG_20
+ const ANIM_BG_21
+ const ANIM_BG_BOUNCE_DOWN
+ const ANIM_BG_DIG
+ const ANIM_BG_TACKLE
+ const ANIM_BG_25
+ const ANIM_BG_26
+ const ANIM_BG_27
+ const ANIM_BG_28
+ const ANIM_BG_PSYCHIC
+ const ANIM_BG_2A
+ const ANIM_BG_2B
+ const ANIM_BG_2C
+ const ANIM_BG_2D
+ const ANIM_BG_2E
+ const ANIM_BG_2F
+ const ANIM_BG_30
+ const ANIM_BG_31
+ const ANIM_BG_32
+ const ANIM_BG_VIBRATE_MON
+ const ANIM_BG_WOBBLE_MON
+ const ANIM_BG_35
const_def
const ANIM_MON_SLOW ; 0
@@ -48,3 +767,9 @@
const ANIM_MON_UNUSED ; 6
const ANIM_MON_EGG1 ; 7
const ANIM_MON_EGG2 ; 8
+
+ const_def
+ const BG_EFFECT_STRUCT_FUNCTION
+ const BG_EFFECT_STRUCT_JT_INDEX
+ const BG_EFFECT_STRUCT_BATTLE_TURN
+ const BG_EFFECT_STRUCT_03
--- /dev/null
+++ b/constants/audio_constants.asm
@@ -1,0 +1,62 @@
+
+
+; pitch
+ const_def
+ const __
+ const C_
+ const C#
+ const D_
+ const D#
+ const E_
+ const F_
+ const F#
+ const G_
+ const G#
+ const A_
+ const A#
+ const B_
+
+; channel
+ const_def
+ const CHAN1
+ const CHAN2
+ const CHAN3
+ const CHAN4
+NUM_MUSIC_CHANS EQU const_value
+NUM_NOISE_CHANS EQU const_value
+ const CHAN5
+ const CHAN6
+ const CHAN7
+ const CHAN8
+NUM_CHANNELS EQU const_value
+
+; Flags1
+SOUND_CHANNEL_ON EQU 0
+SOUND_SUBROUTINE EQU 1
+SOUND_LOOPING EQU 2
+SOUND_SFX EQU 3
+SOUND_NOISE EQU 4
+SOUND_REST EQU 5
+
+; Flags2
+
+SOUND_VIBRATO EQU 0
+SOUND_UNKN_09 EQU 1
+SOUND_DUTY EQU 2
+SOUND_UNKN_0B EQU 3
+SOUND_CRY_PITCH EQU 4
+SOUND_UNKN_0D EQU 5
+SOUND_UNKN_0E EQU 6
+SOUND_UNKN_0F EQU 7
+
+; Flags3
+SOUND_VIBRATO_DIR EQU 0
+SOUND_UNKN_11 EQU 1
+
+; NoteFlags
+NOTE_UNKN_0 EQU 0
+NOTE_UNKN_1 EQU 1
+NOTE_UNKN_3 EQU 3
+NOTE_UNKN_4 EQU 4
+NOTE_REST EQU 5
+NOTE_UNKN_6 EQU 6
--- a/constants/battle_tower_constants.asm
+++ b/constants/battle_tower_constants.asm
@@ -1,33 +1,39 @@
const_def
- const BATTLE_TOWER_ACTION_00
- const BATTLE_TOWER_ACTION_01
- const BATTLE_TOWER_ACTION_02
- const BATTLE_TOWER_ACTION_03
- const BATTLE_TOWER_ACTION_04
- const BATTLE_TOWER_ACTION_05
- const BATTLE_TOWER_ACTION_06
- const BATTLE_TOWER_ACTION_07
- const BATTLE_TOWER_ACTION_08
- const BATTLE_TOWER_ACTION_09
- const BATTLE_TOWER_ACTION_0A
- const BATTLE_TOWER_ACTION_0B
- const BATTLE_TOWER_ACTION_0C
- const BATTLE_TOWER_ACTION_0D
- const BATTLE_TOWER_ACTION_0E
- const BATTLE_TOWER_ACTION_0F
- const BATTLE_TOWER_ACTION_10
- const BATTLE_TOWER_ACTION_11
- const BATTLE_TOWER_ACTION_12
- const BATTLE_TOWER_ACTION_13
- const BATTLE_TOWER_ACTION_14
- const BATTLE_TOWER_ACTION_15
- const BATTLE_TOWER_ACTION_16
- const BATTLE_TOWER_ACTION_17
- const BATTLE_TOWER_ACTION_18
- const BATTLE_TOWER_ACTION_19
- const BATTLE_TOWER_ACTION_1A
- const BATTLE_TOWER_ACTION_1B
- const BATTLE_TOWER_ACTION_1C
- const BATTLE_TOWER_ACTION_1D
- const BATTLE_TOWER_ACTION_1E
- const BATTLE_TOWER_ACTION_1F
+ const BATTLETOWERACTION_00
+ const BATTLETOWERACTION_01
+ const BATTLETOWERACTION_02
+ const BATTLETOWERACTION_SAVE_AND_QUIT
+ const BATTLETOWERACTION_CHALLENGECANCELED
+ const BATTLETOWERACTION_05
+ const BATTLETOWERACTION_06 ; reset stuff in SRAM bank 5
+ const BATTLETOWERACTION_SAVELEVELGROUP
+ const BATTLETOWERACTION_LOADLEVELGROUP
+ const BATTLETOWERACTION_CHECKSAVEFILEISYOURS
+ const BATTLETOWERACTION_0A
+ const BATTLETOWERACTION_CHECKMOBILEEVENT
+ const BATTLETOWERACTION_0C ; more time stuff in SRAM bank 5
+ const BATTLETOWERACTION_0D ; more time stuff in SRAM bank 5
+ const BATTLETOWERACTION_EGGTICKET ; egg ticket
+ const BATTLETOWERACTION_0F ; check w3_d090
+ const BATTLETOWERACTION_10 ; dw based on 5:a800
+ const BATTLETOWERACTION_11 ; store 0 in 5:aa8d
+ const BATTLETOWERACTION_12 ; store 1 in 5:aa8d
+ const BATTLETOWERACTION_13 ; check 5:aa8d
+ const BATTLETOWERACTION_14 ; if save file is yours: bit 0, [sbe4f]
+ const BATTLETOWERACTION_15 ; set 0, [sbe4f]
+ const BATTLETOWERACTION_16 ; update time in SRAM bank 5
+ const BATTLETOWERACTION_17 ; check time in SRAM bank 5
+ const BATTLETOWERACTION_18 ; level check
+ const BATTLETOWERACTION_19 ; ubers check
+ const BATTLETOWERACTION_RESETDATA ; clear data
+ const BATTLETOWERACTION_GIVEREWARD ; give reward
+ const BATTLETOWERACTION_1C ; set won challenge
+ const BATTLETOWERACTION_1D ; set received reward
+ const BATTLETOWERACTION_CHOOSEREWARD ; save options
+ const BATTLETOWERACTION_SAVEOPTIONS
+
+BATTLETOWER_NO_CHALLENGE EQU 0
+BATTLETOWER_SAVED_AND_LEFT EQU 1
+BATTLETOWER_CHALLENGE_IN_PROGESS EQU 2
+BATTLETOWER_WON_CHALLENGE EQU 3
+BATTLETOWER_RECEIVED_REWARD EQU 4
--- a/constants/cgb_constants.asm
+++ b/constants/cgb_constants.asm
@@ -1,14 +1,14 @@
const_def
- const SCGB_00
- const SCGB_01
- const SCGB_02
- const SCGB_03
+ const SCGB_BATTLE_GRAYSCALE
+ const SCGB_BATTLE_COLORS
+ const SCGB_POKEGEAR_PALS
+ const SCGB_STATS_SCREEN_HP_PALS
const SCGB_04
- const SCGB_05
+ const SCGB_SLOT_MACHINE
const SCGB_06
const SCGB_07
const SCGB_08
- const SCGB_09
+ const SCGB_MAPPALS
const SCGB_0A
const SCGB_0B
const SCGB_0C
@@ -19,8 +19,8 @@
const SCGB_11
const SCGB_12
const SCGB_13
- const SCGB_14
- const SCGB_15
+ const SCGB_PACKPALS
+ const SCGB_TRAINER_CARD
const SCGB_16
const SCGB_17
const SCGB_18
@@ -27,9 +27,9 @@
const SCGB_19
const SCGB_1A
const SCGB_1B
- const SCGB_1C
+ const SCGB_FRONTPICPALS
const SCGB_1D
const SCGB_1E
-SCGB_FC EQU -4
+SCGB_PARTY_MENU_HP_PALS EQU -4
SCGB_RAM EQU -1
--- /dev/null
+++ b/constants/cry_constants.asm
@@ -1,0 +1,73 @@
+ const_def
+
+; gen 1
+ const CRY_NIDORAN_M
+ const CRY_NIDORAN_F
+ const CRY_SLOWPOKE
+ const CRY_KANGASKHAN
+ const CRY_CHARMANDER
+ const CRY_GRIMER
+ const CRY_VOLTORB
+ const CRY_MUK
+ const CRY_ODDISH
+ const CRY_RAICHU
+ const CRY_NIDOQUEEN
+ const CRY_DIGLETT
+ const CRY_SEEL
+ const CRY_DROWZEE
+ const CRY_PIDGEY
+ const CRY_BULBASAUR
+ const CRY_SPEAROW
+ const CRY_RHYDON
+ const CRY_GOLEM
+ const CRY_BLASTOISE
+ const CRY_PIDGEOTTO
+ const CRY_WEEDLE
+ const CRY_CATERPIE
+ const CRY_EKANS
+ const CRY_FEAROW
+ const CRY_CLEFAIRY
+ const CRY_VENONAT
+ const CRY_LAPRAS
+ const CRY_METAPOD
+ const CRY_SQUIRTLE
+ const CRY_PARAS
+ const CRY_GROWLITHE
+ const CRY_KRABBY
+ const CRY_PSYDUCK
+ const CRY_RATTATA
+ const CRY_VILEPLUME
+ const CRY_VULPIX
+ const CRY_WEEPINBELL
+
+; gen 2
+ const CRY_MARILL
+ const CRY_SPINARAK
+ const CRY_TOGEPI
+ const CRY_GIRAFARIG
+ const CRY_RAIKOU
+ const CRY_MAREEP
+ const CRY_TOGETIC
+ const CRY_HOOTHOOT
+ const CRY_SENTRET
+ const CRY_SLOWKING
+ const CRY_CYNDAQUIL
+ const CRY_CHIKORITA
+ const CRY_TOTODILE
+ const CRY_GLIGAR
+ const CRY_CLEFFA
+ const CRY_SLUGMA
+ const CRY_LEDYBA
+ const CRY_ENTEI
+ const CRY_WOOPER
+ const CRY_MANTINE
+ const CRY_TYPHLOSION
+ const CRY_NATU
+ const CRY_TEDDIURSA
+ const CRY_SUNFLORA
+ const CRY_AMPHAROS
+ const CRY_MAGCARGO
+ const CRY_PICHU
+ const CRY_AIPOM
+ const CRY_DUNSPARCE
+ const CRY_DONPHAN
--- a/constants/deco_constants.asm
+++ b/constants/deco_constants.asm
@@ -51,59 +51,71 @@
const SET_UP_ORNAMENT
const PUT_AWAY_ORNAMENT
+deco: MACRO
+ const DECO_\1
+ enum DECOFLAG_\1
+endm
+
const_value = 1
- const DECO_BEDS
- const DECO_FEATHERY_BED ; 2
- const DECO_PINK_BED ; 3
- const DECO_POLKADOT_BED ; 4
- const DECO_PIKACHU_BED ; 5
- const DECO_CARPETS
- const DECO_RED_CARPET ; 7
- const DECO_BLUE_CARPET ; 8
- const DECO_YELLOW_CARPET ; 9
- const DECO_GREEN_CARPET ; a
- const DECO_0B
- const DECO_MAGNAPLANT ; c
- const DECO_TROPICPLANT ; d
- const DECO_JUMBOPLANT ; e
- const DECO_POSTERS
- const DECO_TOWN_MAP ; 10
- const DECO_PIKACHU_POSTER ; 11
- const DECO_CLEFAIRY_POSTER ; 12
- const DECO_JIGGLYPUFF_POSTER ; 13
- const DECO_CONSOLES
- const DECO_FAMICOM ; 15
- const DECO_SNES ; 16
- const DECO_N64 ; 17
- const DECO_VIRTUAL_BOY ; 18
- const DECO_BIG_DOLLS
- const DECO_BIG_SNORLAX_DOLL ; 1a
- const DECO_BIG_ONIX_DOLL ; 1b
- const DECO_BIG_LAPRAS_DOLL ; 1c
- const DECO_DOLLS
- const DECO_PIKACHU_DOLL ; 1e
- const DECO_SURF_PIKACHU_DOLL ; 1f
- const DECO_CLEFAIRY_DOLL ; 20
- const DECO_JIGGLYPUFF_DOLL ; 21
- const DECO_BULBASAUR_DOLL ; 22
- const DECO_CHARMANDER_DOLL ; 23
- const DECO_SQUIRTLE_DOLL ; 24
- const DECO_POLIWAG_DOLL ; 25
- const DECO_DIGLETT_DOLL ; 26
- const DECO_STARMIE_DOLL ; 27
- const DECO_MAGIKARP_DOLL ; 28
- const DECO_ODDISH_DOLL ; 29
- const DECO_GENGAR_DOLL ; 2a
- const DECO_SHELLDER_DOLL ; 2b
- const DECO_GRIMER_DOLL ; 2c
- const DECO_VOLTORB_DOLL ; 2d
- const DECO_WEEDLE_DOLL ; 2e
- const DECO_UNOWN_DOLL ; 2f
- const DECO_GEODUDE_DOLL ; 30
- const DECO_MACHOP_DOLL ; 31
- const DECO_TENTACOOL_DOLL ; 32
- const DECO_GOLD_TROPHY_DOLL ; 33
- const DECO_SILVER_TROPHY_DOLL ; 34
+__enum__ = 0
+ const BEDS
+ deco FEATHERY_BED ; 2 (0)
+ deco PINK_BED ; 3 (1)
+ deco POLKADOT_BED ; 4 (2)
+ deco PIKACHU_BED ; 5 (3)
+
+ const CARPETS
+ deco RED_CARPET ; 7 (4)
+ deco BLUE_CARPET ; 8 (5)
+ deco YELLOW_CARPET ; 9 (6)
+ deco GREEN_CARPET ; a (7)
+
+ const PLANTS
+ deco MAGNAPLANT ; c (8)
+ deco TROPICPLANT ; d (9)
+ deco JUMBOPLANT ; e (a)
+
+ const POSTERS
+ deco TOWN_MAP ; 10 (b)
+ deco PIKACHU_POSTER ; 11 (c)
+ deco CLEFAIRY_POSTER ; 12 (d)
+ deco JIGGLYPUFF_POSTER ; 13(e)
+
+ const CONSOLES
+ deco FAMICOM ; 15 (f)
+ deco SNES ; 16 (10)
+ deco N64 ; 17 (11)
+ deco VIRTUAL_BOY ; 18 (12)
+
+ const BIG_DOLLS
+ deco BIG_SNORLAX_DOLL ; 1a (13)
+ deco BIG_ONIX_DOLL ; 1b (14)
+ deco BIG_LAPRAS_DOLL ; 1c (15)
+
+ const DOLLS
+ deco PIKACHU_DOLL ; 1e (16)
+ deco SURF_PIKACHU_DOLL ; 1f (17)
+ deco CLEFAIRY_DOLL ; 20 (18)
+ deco JIGGLYPUFF_DOLL ; 21 (19)
+ deco BULBASAUR_DOLL ; 22 (1a)
+ deco CHARMANDER_DOLL ; 23 (1b)
+ deco SQUIRTLE_DOLL ; 24 (1c)
+ deco POLIWAG_DOLL ; 25 (1d)
+ deco DIGLETT_DOLL ; 26 (1e)
+ deco STARMIE_DOLL ; 27 (1f)
+ deco MAGIKARP_DOLL ; 28 (20)
+ deco ODDISH_DOLL ; 29 (21)
+ deco GENGAR_DOLL ; 2a (22)
+ deco SHELLDER_DOLL ; 2b (23)
+ deco GRIMER_DOLL ; 2c (24)
+ deco VOLTORB_DOLL ; 2d (25)
+ deco WEEDLE_DOLL ; 2e (26)
+ deco UNOWN_DOLL ; 2f (27)
+ deco GEODUDE_DOLL ; 30 (28)
+ deco MACHOP_DOLL ; 31 (29)
+ deco TENTACOOL_DOLL ; 32 (2a)
+ deco GOLD_TROPHY_DOLL ; 33 (2b)
+ deco SILVER_TROPHY_DOLL ; 34 (2c)
NUM_NON_TROPHY_DECOS EQU $2b
NUM_DECOS EQU $2d
--- a/constants/engine_flags.asm
+++ b/constants/engine_flags.asm
@@ -5,7 +5,7 @@
const ENGINE_PHONE_CARD
const ENGINE_EXPN_CARD
const ENGINE_POKEGEAR
- const ENGINE_DAYCARE_MONS_ARE_COMPATIBLE
+ const ENGINE_DAYCARE_MAN_HAS_EGG
const ENGINE_DAYCARE_MAN_HAS_MON
const ENGINE_DAYCARE_LADY_HAS_MON
const ENGINE_MOM_SAVING_MONEY
@@ -18,7 +18,7 @@
const ENGINE_CREDITS_SKIP
const ENGINE_BUG_CONTEST_ON ; 10
const ENGINE_BUG_CONTEST_TIMER
- const ENGINE_12
+ const ENGINE_SAFARI_ZONE
const ENGINE_ROCKETS_IN_RADIO_TOWER
const ENGINE_BIKE_SHOP_CALL_ENABLED
const ENGINE_GIVE_POKERUS
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -659,7 +659,7 @@
const_def
const PERSONTYPE_SCRIPT
- const PERSONTYPE_ITEMFRAGMENT
+ const PERSONTYPE_ITEMBALL
const PERSONTYPE_TRAINER
const PERSONTYPE_3
const PERSONTYPE_4
--- a/constants/map_setup_constants.asm
+++ b/constants/map_setup_constants.asm
@@ -15,50 +15,50 @@
; Command descriptions from Condensation water's scripting compendium. const_def
const_def
- const map_lcd_on
- const map_lcd_off
- const map_sound_off
- const map_music
- const map_start_music
- const map_fade_music
- const map_fade
- const map_bike_music
- const map_music_force
- const map_max_volume
- const map_load_blocks
- const map_connection_blocks
- const map_save_screen
- const map_buffer_screen
- const map_load_graphics
- const map_load_tileset_header
- const map_time_of_day
- const map_palettes
- const map_wildmons
- const map_sprites
- const map_change_callback
- const map_start_callback
- const map_load_objects
- const map_load_spawn
- const map_load_connection
- const map_load_warp
- const map_attributes
- const map_attributes_2
- const map_clear_bg_palettes
- const map_fade_out_palettes
- const map_fade_in_palettes
- const map_anchor_screen
- const map_warp_face
- const map_face_down
- const map_spawn_coord
- const map_player_coord
- const map_prolong_sprites
- const map_delay_sprites
- const map_update_roam
- const map_keep_roam
- const map_fade_out_music
- const map_animations_on
- const map_animations_off
- const map_keep_palettes
- const map_text_scroll_off
- const map_stop_script
-map_end_setup_script EQU -1
+ const map_lcd_on ; 00
+ const map_lcd_off ; 01
+ const map_sound_off ; 02
+ const map_music ; 03
+ const map_start_music ; 04
+ const map_fade_music ; 05
+ const map_fade ; 06
+ const map_bike_music ; 07
+ const map_music_force ; 08
+ const map_max_volume ; 09
+ const map_load_blocks ; 0a
+ const map_connection_blocks ; 0b
+ const map_save_screen ; 0c
+ const map_buffer_screen ; 0d
+ const map_load_graphics ; 0e
+ const map_load_tileset_header ; 0f
+ const map_time_of_day ; 10
+ const map_palettes ; 11
+ const map_wildmons ; 12
+ const map_sprites ; 13
+ const map_change_callback ; 14
+ const map_start_callback ; 15
+ const map_load_objects ; 16
+ const map_load_spawn ; 17
+ const map_load_connection ; 18
+ const map_load_warp ; 19
+ const map_attributes ; 1a
+ const map_attributes_2 ; 1b
+ const map_clear_bg_palettes ; 1c
+ const map_fade_out_palettes ; 1d
+ const map_fade_in_palettes ; 1e
+ const map_anchor_screen ; 1f
+ const map_warp_face ; 20
+ const map_face_down ; 21
+ const map_spawn_coord ; 22
+ const map_player_coord ; 23
+ const map_prolong_sprites ; 24
+ const map_delay_sprites ; 25
+ const map_update_roam ; 26
+ const map_keep_roam ; 27
+ const map_fade_out_music ; 28
+ const map_animations_on ; 29
+ const map_animations_off ; 2a
+ const map_keep_palettes ; 2b
+ const map_text_scroll_off ; 2c
+ const map_stop_script ; 2d
+map_end EQU -1
--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -48,6 +48,9 @@
SET_FLAG EQU 1
CHECK_FLAG EQU 2
+; Boolean checks
+FALSE EQU 0
+TRUE EQU 1
; joypad
@@ -90,6 +93,8 @@
BG_MAP_WIDTH EQU 32
BG_MAP_HEIGHT EQU 32
+WMISC_WIDTH EQU 6 * 4
+WMISC_HEIGHT EQU 5 * 4
TILE_WIDTH EQU 8
@@ -206,89 +211,4 @@
const EARTHBADGE
NUM_KANTO_BADGES EQU const_value
NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES
-
- const_def
- const SPRITE_ANIM_SEQ_00
- const SPRITE_ANIM_SEQ_01
- const SPRITE_ANIM_SEQ_02
- const SPRITE_ANIM_SEQ_03
- const SPRITE_ANIM_SEQ_04
- const SPRITE_ANIM_SEQ_05
- const SPRITE_ANIM_SEQ_06
- const SPRITE_ANIM_SEQ_07
- const SPRITE_ANIM_SEQ_08
- const SPRITE_ANIM_SEQ_09
- const SPRITE_ANIM_SEQ_0A
- const SPRITE_ANIM_SEQ_0B
- const SPRITE_ANIM_SEQ_0C
- const SPRITE_ANIM_SEQ_0D
- const SPRITE_ANIM_SEQ_0E
- const SPRITE_ANIM_SEQ_0F
- const SPRITE_ANIM_SEQ_10
- const SPRITE_ANIM_SEQ_11
- const SPRITE_ANIM_SEQ_12
- const SPRITE_ANIM_SEQ_13
- const SPRITE_ANIM_SEQ_14
- const SPRITE_ANIM_SEQ_15
- const SPRITE_ANIM_SEQ_16
- const SPRITE_ANIM_SEQ_17
- const SPRITE_ANIM_SEQ_18
- const SPRITE_ANIM_SEQ_19
- const SPRITE_ANIM_SEQ_1A
- const SPRITE_ANIM_SEQ_1B
- const SPRITE_ANIM_SEQ_1C
- const SPRITE_ANIM_SEQ_1D
- const SPRITE_ANIM_SEQ_1E
- const SPRITE_ANIM_SEQ_1F
- const SPRITE_ANIM_SEQ_20
- const SPRITE_ANIM_SEQ_21
- const SPRITE_ANIM_SEQ_22
-
- const_def
- const SPRITE_ANIM_INDEX_00
- const SPRITE_ANIM_INDEX_01
- const SPRITE_ANIM_INDEX_02
- const SPRITE_ANIM_INDEX_03
- const SPRITE_ANIM_INDEX_04
- const SPRITE_ANIM_INDEX_05
- const SPRITE_ANIM_INDEX_06
- const SPRITE_ANIM_INDEX_07
- const SPRITE_ANIM_INDEX_08
- const SPRITE_ANIM_INDEX_09
- const SPRITE_ANIM_INDEX_0A
- const SPRITE_ANIM_INDEX_0B
- const SPRITE_ANIM_INDEX_0C
- const SPRITE_ANIM_INDEX_0D
- const SPRITE_ANIM_INDEX_0E
- const SPRITE_ANIM_INDEX_0F
- const SPRITE_ANIM_INDEX_10
- const SPRITE_ANIM_INDEX_11
- const SPRITE_ANIM_INDEX_12
- const SPRITE_ANIM_INDEX_13
- const SPRITE_ANIM_INDEX_14
- const SPRITE_ANIM_INDEX_15
- const SPRITE_ANIM_INDEX_16
- const SPRITE_ANIM_INDEX_17
- const SPRITE_ANIM_INDEX_18
- const SPRITE_ANIM_INDEX_19
- const SPRITE_ANIM_INDEX_1A
- const SPRITE_ANIM_INDEX_1B
- const SPRITE_ANIM_INDEX_1C
- const SPRITE_ANIM_INDEX_1D
- const SPRITE_ANIM_INDEX_1E
- const SPRITE_ANIM_INDEX_1F
- const SPRITE_ANIM_INDEX_20
- const SPRITE_ANIM_INDEX_21
- const SPRITE_ANIM_INDEX_22
- const SPRITE_ANIM_INDEX_23
- const SPRITE_ANIM_INDEX_24
- const SPRITE_ANIM_INDEX_25
- const SPRITE_ANIM_INDEX_26
- const SPRITE_ANIM_INDEX_27
- const SPRITE_ANIM_INDEX_28
- const SPRITE_ANIM_INDEX_29
- const SPRITE_ANIM_INDEX_2A
- const SPRITE_ANIM_INDEX_2B
- const SPRITE_ANIM_INDEX_2C
-
NUM_KANA EQU $2d
--- a/constants/move_constants.asm
+++ b/constants/move_constants.asm
@@ -287,7 +287,7 @@
const ANIM_SHAKE ; $114
const ANIM_HIT_CONFUSION ; $115
-; wcfca uses offsets from ANIM_MISS
+; wNumHits uses offsets from ANIM_MISS
const_def
const BATTLEANIM_NONE
const BATTLEANIM_ENEMY_DAMAGE
--- a/constants/pokemon_constants.asm
+++ b/constants/pokemon_constants.asm
@@ -291,6 +291,7 @@
MON_SDF EQUS "(PartyMon1SpclDef - PartyMon1)"
BOXMON_STRUCT_LENGTH EQUS "(PartyMon1End - PartyMon1)"
PARTYMON_STRUCT_LENGTH EQUS "(PartyMon1StatsEnd - PartyMon1)"
+REDMON_STRUCT_LENGTH EQU 44
const_value SET 1
const MONMENU_CUT ; 1
--- a/constants/pokemon_data_constants.asm
+++ b/constants/pokemon_data_constants.asm
@@ -9,21 +9,21 @@
; egg group constants
const_value SET 1
- const MONSTER
- const AMPHIBIAN
- const INSECT
- const AVIAN
- const FIELD
- const FAIRY
- const PLANT
- const HUMANSHAPE
- const INVERTEBRATE
- const INANIMATE
- const AMORPHOUS
- const FISH
- const LADIES_MAN
- const REPTILE
- const NO_EGGS
+ const MONSTER ; 1
+ const AMPHIBIAN ; 2
+ const INSECT ; 3
+ const AVIAN ; 4
+ const FIELD ; 5
+ const FAIRY ; 6
+ const PLANT ; 7
+ const HUMANSHAPE ; 8
+ const INVERTEBRATE ; 9
+ const INANIMATE ; a
+ const AMORPHOUS ; b
+ const FISH ; c
+ const LADIES_MAN ; d
+ const REPTILE ; e
+ const NO_EGGS ; f
; menu sprites
--- a/constants/radio_constants.asm
+++ b/constants/radio_constants.asm
@@ -89,6 +89,17 @@
const POKEDEX_SHOW_8 ; $57
const_def
+ const MAPRADIO_POKEMON_CHANNEL
+ const MAPRADIO_OAKS_MON_TALK
+ const MAPRADIO_POKEDEX_SHOW
+ const MAPRADIO_PKMN_MUSIC
+ const MAPRADIO_LUCKY_CHANNEL
+ const MAPRADIO_UNOWN
+ const MAPRADIO_PLACES_PEOPLE
+ const MAPRADIO_LETS_ALL_SING
+ const MAPRADIO_ROCKET
+
+ const_def
const BUENA_MON
const BUENA_ITEM
const BUENA_MOVE
--- a/constants/script_constants.asm
+++ b/constants/script_constants.asm
@@ -24,7 +24,7 @@
const VAR_XCOORD ; 12
const VAR_YCOORD ; 13
const VAR_SPECIALPHONECALL ; 14
- const VAR_15 ; 15
+ const VAR_BT_WIN_STREAK ; 15
const VAR_KURT_APRICORNS ; 16
const VAR_CALLERID ; 17
const VAR_BLUECARDBALANCE ; 18
--- a/constants/sfx_constants.asm
+++ b/constants/sfx_constants.asm
@@ -98,7 +98,7 @@
const SFX_UNKNOWN_5F
const SFX_UNKNOWN_60
const SFX_UNKNOWN_61
- const SFX_UNKNOWN_62
+ const SFX_SWITCH_POCKETS
const SFX_UNKNOWN_63
const SFX_BURN
const SFX_TITLE_SCREEN_ENTRANCE
--- a/constants/sprite_constants.asm
+++ b/constants/sprite_constants.asm
@@ -269,7 +269,7 @@
const_def
const STEP_TYPE_00
- const STEP_TYPE_STANDING
+ const STEP_TYPE_SLEEP
const STEP_TYPE_NPC_WALK
const STEP_TYPE_03
const STEP_TYPE_04
@@ -287,13 +287,13 @@
const STEP_TYPE_GOT_BITE
const STEP_TYPE_ROCK_SMASH
const STEP_TYPE_RETURN_DIG
- const STEP_TYPE_13
+ const STEP_TYPE_TRACKING_OBJECT
const STEP_TYPE_14
const STEP_TYPE_15
const STEP_TYPE_16
const STEP_TYPE_17
const STEP_TYPE_18
- const STEP_TYPE_19
+ const STEP_TYPE_SKYFALL_TOP
const_def
const PERSON_ACTION_00
@@ -347,3 +347,173 @@
const FACING_1D
const FACING_1E
const FACING_1F
+
+ const_def
+ const SPRITEANIMSTRUCT_INDEX ; 0
+ const SPRITEANIMSTRUCT_FRAMESET_ID ; 1
+ const SPRITEANIMSTRUCT_ANIM_SEQ_ID ; 2
+ const SPRITEANIMSTRUCT_TILE_ID ; 3
+ const SPRITEANIMSTRUCT_XCOORD ; 4
+ const SPRITEANIMSTRUCT_YCOORD ; 5
+ const SPRITEANIMSTRUCT_XOFFSET ; 6
+ const SPRITEANIMSTRUCT_YOFFSET ; 7
+ const SPRITEANIMSTRUCT_DURATION ; 8
+ const SPRITEANIMSTRUCT_DURATIONOFFSET ; 9
+ const SPRITEANIMSTRUCT_FRAME ; a
+ const SPRITEANIMSTRUCT_0B ; b
+ const SPRITEANIMSTRUCT_0C ; c
+ const SPRITEANIMSTRUCT_0D ; d
+ const SPRITEANIMSTRUCT_0E ; e
+ const SPRITEANIMSTRUCT_0F ; f
+
+ const_def
+ const SPRITE_ANIM_FRAMESET_00
+ const SPRITE_ANIM_FRAMESET_01
+ const SPRITE_ANIM_FRAMESET_02
+ const SPRITE_ANIM_FRAMESET_03
+ const SPRITE_ANIM_FRAMESET_04
+ const SPRITE_ANIM_FRAMESET_05
+ const SPRITE_ANIM_FRAMESET_06
+ const SPRITE_ANIM_FRAMESET_07
+ const SPRITE_ANIM_FRAMESET_08
+ const SPRITE_ANIM_FRAMESET_09
+ const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO
+ const SPRITE_ANIM_FRAMESET_0B
+ const SPRITE_ANIM_FRAMESET_0C
+ const SPRITE_ANIM_FRAMESET_SLOT_GOLEM
+ const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY
+ const SPRITE_ANIM_FRAMESET_0F
+ const SPRITE_ANIM_FRAMESET_SLOTS_EGG
+ const SPRITE_ANIM_FRAMESET_WALK_CYCLE
+ const SPRITE_ANIM_FRAMESET_12
+ const SPRITE_ANIM_FRAMESET_13
+ const SPRITE_ANIM_FRAMESET_14
+ const SPRITE_ANIM_FRAMESET_15
+ const SPRITE_ANIM_FRAMESET_16
+ const SPRITE_ANIM_FRAMESET_17
+ const SPRITE_ANIM_FRAMESET_18
+ const SPRITE_ANIM_FRAMESET_19
+ const SPRITE_ANIM_FRAMESET_1A
+ const SPRITE_ANIM_FRAMESET_1B
+ const SPRITE_ANIM_FRAMESET_1C
+ const SPRITE_ANIM_FRAMESET_LEAF
+ const SPRITE_ANIM_FRAMESET_1E
+ const SPRITE_ANIM_FRAMESET_1F
+ const SPRITE_ANIM_FRAMESET_20
+ const SPRITE_ANIM_FRAMESET_21
+ const SPRITE_ANIM_FRAMESET_22
+ const SPRITE_ANIM_FRAMESET_23
+ const SPRITE_ANIM_FRAMESET_24
+ const SPRITE_ANIM_FRAMESET_25
+ const SPRITE_ANIM_FRAMESET_26
+ const SPRITE_ANIM_FRAMESET_27
+ const SPRITE_ANIM_FRAMESET_28
+ const SPRITE_ANIM_FRAMESET_29
+ const SPRITE_ANIM_FRAMESET_2A
+ const SPRITE_ANIM_FRAMESET_2B
+ const SPRITE_ANIM_FRAMESET_2C
+ const SPRITE_ANIM_FRAMESET_2D
+ const SPRITE_ANIM_FRAMESET_2E
+ const SPRITE_ANIM_FRAMESET_2F
+ const SPRITE_ANIM_FRAMESET_30
+ const SPRITE_ANIM_FRAMESET_31
+ const SPRITE_ANIM_FRAMESET_32
+ const SPRITE_ANIM_FRAMESET_33
+ const SPRITE_ANIM_FRAMESET_34
+ const SPRITE_ANIM_FRAMESET_35
+ const SPRITE_ANIM_FRAMESET_36
+ const SPRITE_ANIM_FRAMESET_37
+ const SPRITE_ANIM_FRAMESET_38
+ const SPRITE_ANIM_FRAMESET_39
+ const SPRITE_ANIM_FRAMESET_3A
+ const SPRITE_ANIM_FRAMESET_3B
+ const SPRITE_ANIM_FRAMESET_3C
+ const SPRITE_ANIM_FRAMESET_3D
+ const SPRITE_ANIM_FRAMESET_3E
+ const SPRITE_ANIM_FRAMESET_3F
+ const SPRITE_ANIM_FRAMESET_40
+ const SPRITE_ANIM_FRAMESET_41
+
+ const_def
+ const SPRITE_ANIM_SEQ_NULL
+ const SPRITE_ANIM_SEQ_01
+ const SPRITE_ANIM_SEQ_02
+ const SPRITE_ANIM_SEQ_03
+ const SPRITE_ANIM_SEQ_04
+ const SPRITE_ANIM_SEQ_05
+ const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO
+ const SPRITE_ANIM_SEQ_07
+ const SPRITE_ANIM_SEQ_08
+ const SPRITE_ANIM_SEQ_SLOT_GOLEM
+ const SPRITE_ANIM_SEQ_SLOTS_CHANSEY
+ const SPRITE_ANIM_SEQ_SLOTS_EGG
+ const SPRITE_ANIM_SEQ_0C
+ const SPRITE_ANIM_SEQ_0D
+ const SPRITE_ANIM_SEQ_0E
+ const SPRITE_ANIM_SEQ_0F
+ const SPRITE_ANIM_SEQ_10
+ const SPRITE_ANIM_SEQ_11
+ const SPRITE_ANIM_SEQ_12
+ const SPRITE_ANIM_SEQ_13
+ const SPRITE_ANIM_SEQ_14
+ const SPRITE_ANIM_SEQ_15
+ const SPRITE_ANIM_SEQ_FLY_FROM
+ const SPRITE_ANIM_SEQ_FLY_LEAF
+ const SPRITE_ANIM_SEQ_FLY_TO
+ const SPRITE_ANIM_SEQ_19
+ const SPRITE_ANIM_SEQ_1A
+ const SPRITE_ANIM_SEQ_1B
+ const SPRITE_ANIM_SEQ_1C
+ const SPRITE_ANIM_SEQ_1D
+ const SPRITE_ANIM_SEQ_1E
+ const SPRITE_ANIM_SEQ_1F
+ const SPRITE_ANIM_SEQ_20
+ const SPRITE_ANIM_SEQ_21
+ const SPRITE_ANIM_SEQ_22
+
+ const_def
+ const SPRITE_ANIM_INDEX_00
+ const SPRITE_ANIM_INDEX_01
+ const SPRITE_ANIM_INDEX_02
+ const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
+ const SPRITE_ANIM_INDEX_04
+ const SPRITE_ANIM_INDEX_05
+ const SPRITE_ANIM_INDEX_SLOT_GOLEM
+ const SPRITE_ANIM_INDEX_SLOTS_CHANSEY
+ const SPRITE_ANIM_INDEX_SLOTS_EGG
+ const SPRITE_ANIM_INDEX_09
+ const SPRITE_ANIM_INDEX_WALK_CYCLE
+ const SPRITE_ANIM_INDEX_0B
+ const SPRITE_ANIM_INDEX_0C
+ const SPRITE_ANIM_INDEX_0D
+ const SPRITE_ANIM_INDEX_0E
+ const SPRITE_ANIM_INDEX_0F
+ const SPRITE_ANIM_INDEX_10
+ const SPRITE_ANIM_INDEX_11
+ const SPRITE_ANIM_INDEX_12
+ const SPRITE_ANIM_INDEX_13
+ const SPRITE_ANIM_INDEX_14
+ const SPRITE_ANIM_INDEX_15
+ const SPRITE_ANIM_INDEX_LEAF
+ const SPRITE_ANIM_INDEX_CUT_TREE
+ const SPRITE_ANIM_INDEX_FLY_LEAF
+ const SPRITE_ANIM_INDEX_19
+ const SPRITE_ANIM_INDEX_1A
+ const SPRITE_ANIM_INDEX_1B
+ const SPRITE_ANIM_INDEX_1C
+ const SPRITE_ANIM_INDEX_1D
+ const SPRITE_ANIM_INDEX_1E
+ const SPRITE_ANIM_INDEX_1F
+ const SPRITE_ANIM_INDEX_20
+ const SPRITE_ANIM_INDEX_21
+ const SPRITE_ANIM_INDEX_22
+ const SPRITE_ANIM_INDEX_23
+ const SPRITE_ANIM_INDEX_24
+ const SPRITE_ANIM_INDEX_25
+ const SPRITE_ANIM_INDEX_26
+ const SPRITE_ANIM_INDEX_27
+ const SPRITE_ANIM_INDEX_28
+ const SPRITE_ANIM_INDEX_29
+ const SPRITE_ANIM_INDEX_2A
+ const SPRITE_ANIM_INDEX_2B
+ const SPRITE_ANIM_INDEX_2C
--- /dev/null
+++ b/constants/sram_constants.asm
@@ -1,0 +1,3 @@
+; Mobile bank 5
+sMobileLoginPassword EQU $aa4b
+LOGIN_PASSWORD_LENGTH EQU 17
--- a/constants/trainer_constants.asm
+++ b/constants/trainer_constants.asm
@@ -1,5 +1,6 @@
; trainer groups
enum_start
+CHRIS EQU __enum__
trainerclass TRAINER_NONE ; 0
const PHONECONTACT_MOM
const PHONECONTACT_BIKESHOP
@@ -7,6 +8,7 @@
const PHONECONTACT_ELM
const PHONECONTACT_BUENA
+KRIS EQU __enum__
trainerclass FALKNER ; 1
trainerclass WHITNEY ; 2
@@ -639,8 +641,8 @@
const TRNATTR_ITEM1
const TRNATTR_ITEM2
const TRNATTR_BASEMONEY
- const TRNATTR_AI1
+ const TRNATTR_AI_MOVE_WEIGHTS
const TRNATTR_AI2
- const TRNATTR_AI3
+ const TRNATTR_AI_ITEM_SWITCH
const TRNATTR_AI4
NUM_TRAINER_ATTRIBUTES EQU const_value
--- a/constants/wram_constants.asm
+++ b/constants/wram_constants.asm
@@ -96,3 +96,10 @@
PC_DEPOSIT EQU 1
DAYCARE_WITHDRAW EQU 2
DAYCARE_DEPOSIT EQU 3
+
+; wCurrentDexMode
+ const_def
+ const DEXMODE_NEW
+ const DEXMODE_OLD
+ const DEXMODE_ABC
+ const DEXMODE_UNOWN
--- a/data/battle_tower_2.asm
+++ b/data/battle_tower_2.asm
@@ -1,4 +1,3 @@
-
BattleTowerTrainerData:: ; What exactly it is, I don't know
; Size is 70 (Nr of Trainers in BattleTower) * 0x24 (Nr of Bytes that are copied)
; Second argument points to an entry in Unknown_170470, to which the first argument is compared.
--- /dev/null
+++ b/data/map_objects.asm
@@ -1,0 +1,44 @@
+sprite_movement_data: macro
+ db \1, \2, \3, \4, \5
+ dn \6, 0
+endm
+
+ ; function, facing, action, flags1, flags2, palette flags
+ sprite_movement_data SPRITEMOVEFN_00, DOWN, PERSON_ACTION_STAND, $02, $00, %0000 ; 00
+ sprite_movement_data SPRITEMOVEFN_STANDING, DOWN, PERSON_ACTION_STAND, $0c, $00, %0000 ; 01
+ sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_XY, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 02
+ sprite_movement_data SPRITEMOVEFN_SLOW_RANDOM_SPIN, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 03
+ sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_Y, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 04
+ sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_X, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 05
+ sprite_movement_data SPRITEMOVEFN_STANDING, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 06
+ sprite_movement_data SPRITEMOVEFN_STANDING, UP, PERSON_ACTION_STAND, $00, $00, %0000 ; 07
+ sprite_movement_data SPRITEMOVEFN_STANDING, LEFT, PERSON_ACTION_STAND, $00, $00, %0000 ; 08
+ sprite_movement_data SPRITEMOVEFN_STANDING, RIGHT, PERSON_ACTION_STAND, $00, $00, %0000 ; 09
+ sprite_movement_data SPRITEMOVEFN_FAST_RANDOM_SPIN, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 0a
+ sprite_movement_data SPRITEMOVEFN_OBEY_DPAD, DOWN, PERSON_ACTION_STAND, $02, $00, %0000 ; 0b
+ sprite_movement_data SPRITEMOVEFN_08, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 0c
+ sprite_movement_data SPRITEMOVEFN_09, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 0d
+ sprite_movement_data SPRITEMOVEFN_0A, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 0e
+ sprite_movement_data SPRITEMOVEFN_0B, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 0f
+ sprite_movement_data SPRITEMOVEFN_0C, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 10
+ sprite_movement_data SPRITEMOVEFN_0D, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 11
+ sprite_movement_data SPRITEMOVEFN_0E, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 12
+ sprite_movement_data SPRITEMOVEFN_FOLLOW, DOWN, PERSON_ACTION_STAND, $02, $00, %0000 ; 13
+ sprite_movement_data SPRITEMOVEFN_SCRIPTED, DOWN, PERSON_ACTION_STAND, $02, $00, %0000 ; 14
+ sprite_movement_data SPRITEMOVEFN_BIG_SNORLAX, DOWN, PERSON_ACTION_09, $2e, $01, %1100 ; 15
+ sprite_movement_data SPRITEMOVEFN_BOUNCE, DOWN, PERSON_ACTION_0A, $2e, $00, %0000 ; 16
+ sprite_movement_data SPRITEMOVEFN_STANDING, DOWN, PERSON_ACTION_STAND, $0c, $00, %0000 ; 17
+ sprite_movement_data SPRITEMOVEFN_STANDING, DOWN, PERSON_ACTION_STAND, $2e, $10, %0000 ; 18
+ sprite_movement_data SPRITEMOVEFN_STRENGTH, DOWN, PERSON_ACTION_STAND, $2e, $00, %0100 ; 19
+ sprite_movement_data SPRITEMOVEFN_FOLLOWNOTEXACT, DOWN, PERSON_ACTION_STAND, $02, $00, %0000 ; 1a
+ sprite_movement_data SPRITEMOVEFN_SHADOW, DOWN, PERSON_ACTION_00, $8e, $01, %0000 ; 1b
+ sprite_movement_data SPRITEMOVEFN_EMOTE, DOWN, PERSON_ACTION_EMOTE, $8e, $02, %0000 ; 1c
+ sprite_movement_data SPRITEMOVEFN_SCREENSHAKE, DOWN, PERSON_ACTION_00, $82, $00, %0000 ; 1d
+ sprite_movement_data SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE, LEFT, PERSON_ACTION_STAND, $00, $00, %0000 ; 1e
+ sprite_movement_data SPRITEMOVEFN_SPIN_CLOCKWISE, RIGHT, PERSON_ACTION_STAND, $00, $00, %0000 ; 1f
+ sprite_movement_data SPRITEMOVEFN_STRENGTH, DOWN, PERSON_ACTION_0C, $2e, $01, %1100 ; 20
+ sprite_movement_data SPRITEMOVEFN_STRENGTH, DOWN, PERSON_ACTION_0D, $2e, $01, %1100 ; 21
+ sprite_movement_data SPRITEMOVEFN_BOULDERDUST, DOWN, PERSON_ACTION_0E, $8e, $01, %0000 ; 22
+ sprite_movement_data SPRITEMOVEFN_GRASS, DOWN, PERSON_ACTION_0F, $8e, $02, %0000 ; 23
+ sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_XY, DOWN, PERSON_ACTION_STAND, $00, $00, %0010 ; 24
+ sprite_movement_data SPRITEMOVEFN_00, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 25
\ No newline at end of file
--- a/data/odd_eggs.asm
+++ b/data/odd_eggs.asm
@@ -52,42 +52,42 @@
ld a, 1
ld [wItemQuantityChangeBuffer], a
ld a, -1
- ld [ItemCountBuffer], a
+ ld [CurItemQuantity], a
ld hl, NumItems
call TossItem
; load species in wcd2a
ld a, EGG
- ld [wcd2a], a
+ ld [wMobileMonSpeciesBuffer], a
- ; load pointer to wcd29 in wcd20
- ld a, wcd29 % $100
- ld [wcd20], a
- ld a, wcd29 / $100
- ld [wcd21], a
- ; load pointer to OddEggSpecies in wcd22
+ ; load pointer to (wMobileMonSpeciesBuffer - 1) in wMobileMonSpeciesPointerBuffer
+ ld a, (wMobileMonSpeciesBuffer - 1) % $100
+ ld [wMobileMonSpeciesPointerBuffer], a
+ ld a, (wMobileMonSpeciesBuffer - 1) / $100
+ ld [wMobileMonSpeciesPointerBuffer + 1], a
+ ; load pointer to OddEggSpecies in wMobileMonStructurePointerBuffer
ld a, OddEggSpecies % $100
- ld [wcd22], a
+ ld [wMobileMonStructurePointerBuffer], a
ld a, OddEggSpecies / $100
- ld [wcd23], a
+ ld [wMobileMonStructurePointerBuffer + 1], a
- ; load Odd Egg Name in wcd2b
+ ; load Odd Egg Name in wTempOddEggNickname
ld hl, .Odd
- ld de, wcd2b
+ ld de, wTempOddEggNickname
ld bc, PKMN_NAME_LENGTH
call CopyBytes
- ; load pointer to wcd2b in wcd24
- ld a, wcd2b % $100
- ld [wcd24], a
- ld a, wcd2b / $100
- ld [wcd25], a
- ; load pointer to wOddEggName in wcd26
+ ; load pointer to wTempOddEggNickname in wMobileMonOTNamePointerBuffer
+ ld a, wTempOddEggNickname % $100
+ ld [wMobileMonOTNamePointerBuffer], a
+ ld a, wTempOddEggNickname / $100
+ ld [wMobileMonOTNamePointerBuffer + 1], a
+ ; load pointer to wOddEggName in wMobileMonNicknamePointerBuffer
ld a, wOddEggName % $100
- ld [wcd26], a
+ ld [wMobileMonNicknamePointerBuffer], a
ld a, wOddEggName / $100
- ld [wcd27], a
- callba Function11b98f
+ ld [wMobileMonNicknamePointerBuffer + 1], a
+ callba AddMobileMonToParty
ret
; 1fb546
@@ -102,19 +102,25 @@
ENDM
prob_total = 0
-
+; Pichu
prob 8
prob 1
+; Cleffa
prob 16
prob 3
+; Igglybuff
prob 16
prob 3
+; Smoochum
prob 14
prob 2
+; Magby
prob 10
prob 2
+; Elekid
prob 12
prob 2
+; Tyrogue
prob 10
prob 1
; 1fb56e
--- /dev/null
+++ b/data/sprite_engine.asm
@@ -1,0 +1,1629 @@
+SpriteAnimFrameData: ; 8d6e6
+ dw .Frameset_00 ; 00
+ dw .Frameset_01 ; 01
+ dw .Frameset_02 ; 02
+ dw .Frameset_03 ; 03
+ dw .Frameset_04 ; 04
+ dw .Frameset_05 ; 05
+ dw .Frameset_06 ; 06
+ dw .Frameset_07 ; 07
+ dw .Frameset_08 ; 08
+ dw .Frameset_09 ; 09
+ dw .Frameset_0a ; 0a
+ dw .Frameset_0b ; 0b
+ dw .Frameset_0c ; 0c
+ dw .Frameset_0d ; 0d
+ dw .Frameset_0e ; 0e
+ dw .Frameset_0f ; 0f
+ dw .Frameset_10 ; 10
+ dw .Frameset_11 ; 11
+ dw .Frameset_12 ; 12
+ dw .Frameset_13 ; 13
+ dw .Frameset_14 ; 14
+ dw .Frameset_15 ; 15
+ dw .Frameset_16 ; 16
+ dw .Frameset_17 ; 17
+ dw .Frameset_18 ; 18
+ dw .Frameset_19 ; 19
+ dw .Frameset_1a ; 1a
+ dw .Frameset_1b ; 1b
+ dw .Frameset_1c ; 1c
+ dw .Frameset_1d ; 1d
+ dw .Frameset_1e ; 1e
+ dw .Frameset_1f ; 1f
+ dw .Frameset_20 ; 20
+ dw .Frameset_21 ; 21
+ dw .Frameset_22 ; 22
+ dw .Frameset_23 ; 23
+ dw .Frameset_24 ; 24
+ dw .Frameset_25 ; 25 headbutt
+ dw .Frameset_26 ; 26
+ dw .Frameset_27 ; 27
+ dw .Frameset_28 ; 28
+ dw .Frameset_29 ; 29
+ dw .Frameset_2a ; 2a
+ dw .Frameset_2b ; 2b
+ dw .Frameset_2c ; 2c
+ dw .Frameset_2d ; 2d
+ dw .Frameset_2e ; 2e
+ dw .Frameset_2f ; 2f
+ dw .Frameset_30 ; 30
+ dw .Frameset_31 ; 31
+ dw .Frameset_32 ; 32
+ dw .Frameset_33 ; 33
+ dw .Frameset_34 ; 34
+ dw .Frameset_35 ; 35
+ dw .Frameset_36 ; 36
+ dw .Frameset_37 ; 37
+ dw .Frameset_38 ; 38
+ dw .Frameset_39 ; 39 unown in intro
+ dw .Frameset_3a ; 3a unown in intro
+ dw .Frameset_3b ; 3b unown in intro
+ dw .Frameset_3c ; 3c unown in intro
+ dw .Frameset_3d ; 3d
+ dw .Frameset_3e ; 3e
+ dw .Frameset_3f ; 3f
+ dw .Frameset_40 ; 40 celebi on the left
+ dw .Frameset_41 ; 41 celebi on the right
+; 8d76a
+ ; OAM idx (see SpriteAnimOAMData), flip flags/duration
+.Frameset_00:
+ db $00, $20
+ db -1
+
+.Frameset_01:
+ db $00, $08
+ db $01, $08
+ db -2
+
+.Frameset_02:
+ db $3d, $08
+ db $3e, $08
+ db -2
+
+.Frameset_03:
+ db $3f, $08
+ db $40, $08
+ db -2
+
+.Frameset_04:
+ db $00, $04
+ db $01, $04
+ db -2
+
+.Frameset_05:
+ db $3d, $04
+ db $3e, $04
+ db -2
+
+.Frameset_06:
+ db $3f, $04
+ db $40, $04
+ db -2
+
+.Frameset_11:
+ db $00, $08
+ db $01, $08
+ db $00, $08
+ db $01, $48
+ db -2
+
+.Frameset_2d:
+ db $63, $08
+ db $64, $08
+ db $63, $08
+ db $64, $48
+ db -2
+
+.Frameset_2e:
+ db $65, $08
+ db $66, $08
+ db $65, $08
+ db $66, $48
+ db -2
+
+.Frameset_07:
+ db $1e, $01
+ db $1f, $01
+ db -2
+
+.Frameset_08:
+ db $20, $01
+ db -3, $01
+ db -2
+
+.Frameset_09:
+ db $21, $01
+ db -3, $01
+ db -2
+
+.Frameset_0a:
+ db $81, $0c
+ db $82, $01
+ db $83, $01
+ db $82, $04
+ db $81, $0c
+ db $82, $0c
+ db $83, $04
+ db $84, $20
+ db $85, $03
+ db $86, $03
+ db $87, $04
+ db $88, $04
+ db $89, $04
+ db $8a, $0a
+ db $8b, $07
+ db -1
+
+.Frameset_0b:
+ db $23, $03
+ db $23, $83
+ db -2
+
+.Frameset_0c:
+ db $24, $02
+ db $25, $02
+ db $26, $02
+ db $25, $02
+ db -2
+
+.Frameset_0d:
+ db $27, $07
+ db $28, $07
+ db $27, $87
+ db $28, $47
+ db -2
+
+.Frameset_0e:
+ db $29, $07
+ db $2a, $07
+ db $29, $07
+ db $2b, $07
+ db -2
+
+.Frameset_0f:
+ db $29, $07
+ db $2c, $07
+ db $2d, $07
+ db $2c, $07
+ db $29, $07
+ db -1
+
+.Frameset_10:
+ db $2e, $14
+ db -1
+
+.Frameset_12:
+ db $2f, $20
+ db -1
+
+.Frameset_13:
+ db $30, $20
+ db -1
+
+.Frameset_14:
+ db $30, $03
+ db $31, $03
+ db $30, $03
+ db $31, $43
+ db -2
+
+.Frameset_15:
+ db $32, $04
+ db $33, $04
+ db $34, $04
+ db -4
+
+.Frameset_16:
+ db $35, $03
+ db $36, $03
+ db -2
+
+.Frameset_17:
+ db $37, $07
+ db $38, $07
+ db -2
+
+.Frameset_18:
+ db $39, $20
+ db -1
+
+.Frameset_19:
+ db $3b, $02
+ db $3a, $02
+ db $3b, $02
+ db -1
+
+.Frameset_1a:
+ db $3c, $20
+ db -1
+
+.Frameset_1b:
+ db $41, $08
+ db $42, $08
+ db $41, $08
+ db $42, $48
+ db -2
+ db $43, $08
+ db $44, $08
+ db -2
+ db $45, $08
+ db $46, $08
+ db -2
+ db $47, $08
+ db $48, $08
+ db -2
+ db $49, $01
+ db $49, $41
+ db $49, $c1
+ db $49, $81
+ db -2
+ db $4a, $20
+ db -1
+ db $4b, $20
+ db -1
+ db $4c, $20
+ db -1
+ db $4d, $20
+ db -1
+ db $4e, $03
+ db -3, $03
+ db -2
+
+.Frameset_1c:
+ db -3, $20
+ db -1
+
+.Frameset_1d:
+ db $4f, $20
+ db -1
+
+.Frameset_1e:
+ db $50, $02
+ db $51, $10
+ db -3, $01
+ db $52, $01
+ db -3, $01
+ db $53, $01
+ db -4
+
+.Frameset_1f:
+ db $54, $20
+ db -1
+
+.Frameset_20:
+ db $55, $20
+ db -1
+
+.Frameset_21:
+ db $55, $60
+ db -1
+
+.Frameset_22:
+ db $55, $a0
+ db -1
+
+.Frameset_23:
+ db $55, $e0
+ db -1
+
+.Frameset_24:
+ db $56, $0a
+ db $57, $09
+ db $58, $0a
+ db $59, $0a
+ db $58, $09
+ db $5a, $0a
+ db -2
+
+.Frameset_25:
+ db $50, $02
+ db $5b, $02
+ db $50, $02
+ db $5b, $42
+ db -2
+
+.Frameset_26:
+ db $5c, $02
+ db -1
+
+.Frameset_27:
+ db $5d, $02
+ db -1
+
+.Frameset_28:
+ db $5e, $02
+ db -1
+
+.Frameset_29:
+ db $5f, $02
+ db -1
+
+.Frameset_2a:
+ db $60, $02
+ db -1
+
+.Frameset_2b:
+ db $61, $02
+ db -1
+
+.Frameset_2c:
+ db $62, $02
+ db -1
+
+.Frameset_2f:
+ db $32, $03
+ db $33, $03
+ db $34, $03
+ db $30, $03
+ db $31, $03
+ db $30, $03
+ db $31, $43
+ db $30, $03
+ db $31, $03
+ db $30, $03
+ db $31, $43
+ db $30, $03
+ db $31, $03
+ db $30, $03
+ db $31, $43
+ db -1
+
+.Frameset_30:
+ db $30, $03
+ db $31, $03
+ db $30, $03
+ db $31, $43
+ db $30, $03
+ db $31, $03
+ db $30, $03
+ db $31, $43
+ db $30, $03
+ db $31, $03
+ db $30, $03
+ db $31, $43
+ db $32, $03
+ db $33, $03
+ db $34, $03
+ db -4
+
+.Frameset_31:
+ db $67, $03
+ db $68, $03
+ db -2
+
+.Frameset_32:
+ db $6c, $03
+ db -1
+
+.Frameset_33:
+ db $6d, $03
+ db -1
+
+.Frameset_34:
+ db $69, $02
+ db $6a, $02
+ db $6b, $02
+ db -4
+
+.Frameset_35:
+ db $6e, $03
+ db $6f, $03
+ db $70, $03
+ db $71, $03
+ db -2
+
+.Frameset_36:
+ db $71, $03
+ db $6e, $07
+ db -1
+
+.Frameset_37:
+ db $72, $20
+ db $73, $07
+ db $74, $07
+ db -1
+
+.Frameset_38:
+ db $75, $03
+ db -1
+
+.Frameset_39:
+ db $76, $03
+ db $77, $03
+ db $78, $07
+ db -4
+
+.Frameset_3a:
+ db $76, $43
+ db $77, $43
+ db $78, $47
+ db -4
+
+.Frameset_3b:
+ db $76, $83
+ db $77, $83
+ db $78, $87
+ db -4
+
+.Frameset_3c:
+ db $76, $c3
+ db $77, $c3
+ db $78, $c7
+ db -4
+
+.Frameset_3d:
+ db $79, $03
+ db $7a, $03
+ db $7b, $03
+ db $7c, $07
+ db $7d, $07
+ db -1
+
+.Frameset_3e:
+ db $7e, $03
+ db -1
+
+.Frameset_3f:
+ db -3, $00
+ db -1
+
+.Frameset_40:
+ db $7f, $08
+ db $80, $08
+ db -1
+
+.Frameset_41:
+ db $7f, $48
+ db $80, $48
+ db -1
+; 8d94d
+
+SpriteAnimOAMData: ; 8d94d
+ ; vtile offset, pointer
+ dbw $00, .OAMData_00 ; 00
+ dbw $04, .OAMData_00 ; 01
+ dbw $4c, .OAMData_02 ; 02
+ dbw $5c, .OAMData_02 ; 03
+ dbw $6c, .OAMData_04 ; 04
+ dbw $6e, .OAMData_04 ; 05
+ dbw $2d, .OAMData_06 ; 06
+ dbw $4d, .OAMData_06 ; 07
+ dbw $60, .OAMData_08 ; 08
+ dbw $00, .OAMData_08 ; 09
+ dbw $00, .OAMData_08 ; 0a
+ dbw $06, .OAMData_08 ; 0b
+ dbw $0c, .OAMData_0c ; 0c
+ dbw $0d, .OAMData_02 ; 0d
+ dbw $00, .OAMData_0e ; 0e
+ dbw $04, .OAMData_0e ; 0f
+ dbw $08, .OAMData_0e ; 10
+ dbw $40, .OAMData_0e ; 11
+ dbw $44, .OAMData_0e ; 12
+ dbw $48, .OAMData_0e ; 13
+ dbw $4c, .OAMData_0e ; 14
+ dbw $80, .OAMData_15 ; 15
+ dbw $85, .OAMData_15 ; 16
+ dbw $8a, .OAMData_15 ; 17
+ dbw $00, .OAMData_18 ; 18
+ dbw $01, .OAMData_19 ; 19
+ dbw $09, .OAMData_1a ; 1a
+ dbw $10, .OAMData_1b ; 1b
+ dbw $29, .OAMData_1b ; 1c
+ dbw $42, .OAMData_1b ; 1d
+ dbw $f8, .OAMData_1e ; 1e
+ dbw $fa, .OAMData_1e ; 1f
+ dbw $00, .OAMData_20 ; 20
+ dbw $00, .OAMData_21 ; 21
+ dbw $00, .OAMData_22 ; 22
+ dbw $0f, .OAMData_23 ; 23
+ dbw $11, .OAMData_02 ; 24
+ dbw $12, .OAMData_02 ; 25
+ dbw $13, .OAMData_02 ; 26
+ dbw $00, .OAMData_27 ; 27
+ dbw $08, .OAMData_27 ; 28
+ dbw $10, .OAMData_29 ; 29
+ dbw $10, .OAMData_2a ; 2a
+ dbw $10, .OAMData_2b ; 2b
+ dbw $10, .OAMData_2c ; 2c
+ dbw $10, .OAMData_2d ; 2d
+ dbw $3a, .OAMData_02 ; 2e
+ dbw $00, .OAMData_00 ; 2f
+ dbw $00, .OAMData_30 ; 30
+ dbw $02, .OAMData_31 ; 31
+ dbw $06, .OAMData_19 ; 32
+ dbw $0a, .OAMData_19 ; 33
+ dbw $0e, .OAMData_19 ; 34
+ dbw $12, .OAMData_35 ; 35
+ dbw $13, .OAMData_35 ; 36
+ dbw $00, .OAMData_00 ; 37
+ dbw $04, .OAMData_00 ; 38
+ dbw $10, .OAMData_19 ; 39
+ dbw $00, .OAMData_31 ; 3a
+ dbw $04, .OAMData_02 ; 3b
+ dbw $00, .OAMData_3c ; 3c
+ dbw $00, .OAMData_3d ; 3d
+ dbw $00, .OAMData_3e ; 3e
+ dbw $00, .OAMData_3f ; 3f
+ dbw $00, .OAMData_40 ; 40
+ dbw $00, .OAMData_31 ; 41
+ dbw $04, .OAMData_31 ; 42
+ dbw $00, .OAMData_43 ; 43
+ dbw $30, .OAMData_43 ; 44
+ dbw $03, .OAMData_43 ; 45
+ dbw $33, .OAMData_43 ; 46
+ dbw $06, .OAMData_43 ; 47
+ dbw $36, .OAMData_43 ; 48
+ dbw $09, .OAMData_43 ; 49
+ dbw $39, .OAMData_43 ; 4a
+ dbw $0c, .OAMData_4b ; 4b
+ dbw $0c, .OAMData_4c ; 4c
+ dbw $3c, .OAMData_02 ; 4d
+ dbw $3e, .OAMData_02 ; 4e
+ dbw $00, .OAMData_4f ; 4f
+ dbw $00, .OAMData_50 ; 50
+ dbw $00, .OAMData_51 ; 51
+ dbw $00, .OAMData_52 ; 52
+ dbw $00, .OAMData_53 ; 53
+ dbw $00, .OAMData_02 ; 54
+ dbw $01, .OAMData_02 ; 55
+ dbw $00, .OAMData_56 ; 56
+ dbw $00, .OAMData_57 ; 57
+ dbw $00, .OAMData_58 ; 58
+ dbw $00, .OAMData_59 ; 59
+ dbw $00, .OAMData_5a ; 5a
+ dbw $04, .OAMData_50 ; 5b
+ dbw $00, .OAMData_5c ; 5c
+ dbw $00, .OAMData_5d ; 5d
+ dbw $00, .OAMData_5e ; 5e
+ dbw $00, .OAMData_5f ; 5f
+ dbw $00, .OAMData_60 ; 60
+ dbw $00, .OAMData_61 ; 61
+ dbw $00, .OAMData_62 ; 62
+ dbw $00, .OAMData_63 ; 63
+ dbw $04, .OAMData_63 ; 64
+ dbw $00, .OAMData_65 ; 65
+ dbw $04, .OAMData_65 ; 66
+ dbw $20, .OAMData_67 ; 67
+ dbw $21, .OAMData_67 ; 68
+ dbw $22, .OAMData_69 ; 69
+ dbw $23, .OAMData_6a ; 6a
+ dbw $27, .OAMData_6b ; 6b
+ dbw $2a, .OAMData_6c ; 6c
+ dbw $2a, .OAMData_6d ; 6d
+ dbw $00, .OAMData_6e ; 6e
+ dbw $08, .OAMData_6f ; 6f
+ dbw $60, .OAMData_70 ; 70
+ dbw $68, .OAMData_71 ; 71
+ dbw $00, .OAMData_72 ; 72
+ dbw $05, .OAMData_72 ; 73
+ dbw $0a, .OAMData_72 ; 74
+ dbw $50, .OAMData_75 ; 75
+ dbw $00, .OAMData_76 ; 76
+ dbw $01, .OAMData_77 ; 77
+ dbw $04, .OAMData_78 ; 78
+ dbw $00, .OAMData_18 ; 79
+ dbw $01, .OAMData_7a ; 7a
+ dbw $03, .OAMData_7b ; 7b
+ dbw $08, .OAMData_7c ; 7c
+ dbw $1c, .OAMData_7c ; 7d
+ dbw $80, .OAMData_7e ; 7e
+ dbw $00, .OAMData_7f ; 7f
+ dbw $04, .OAMData_7f ; 80
+ dbw $d0, .OAMData_81 ; 81
+ dbw $d3, .OAMData_81 ; 82
+ dbw $d6, .OAMData_81 ; 83
+ dbw $6c, .OAMData_84 ; 84
+ dbw $68, .OAMData_84 ; 85
+ dbw $64, .OAMData_84 ; 86
+ dbw $60, .OAMData_84 ; 87
+ dbw $0c, .OAMData_84 ; 88
+ dbw $08, .OAMData_84 ; 89
+ dbw $04, .OAMData_84 ; 8a
+ dbw $00, .OAMData_84 ; 8b
+
+.OAMData_02
+ db 1
+ dsprite -1, 4, -1, 4, $00, $00
+
+.OAMData_04
+ db 4
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $10, $00
+ dsprite 0, 0, 0, 0, $11, $00
+
+.OAMData_23
+ db 4
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $00, $20
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite 0, 0, 0, 0, $01, $20
+
+.OAMData_30
+ db 4
+ dsprite -1, 0, -1, 0, $00, $80
+ dsprite -1, 0, 0, 0, $00, $a0
+ dsprite 0, 0, -1, 0, $01, $80
+ dsprite 0, 0, 0, 0, $01, $a0
+
+.OAMData_18
+ db 4
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $00, $20
+ dsprite 0, 0, -1, 0, $00, $40
+ dsprite 0, 0, 0, 0, $00, $60
+
+.OAMData_35
+ db 4
+ dsprite -1, 0, -1, 0, $00, $07
+ dsprite -1, 0, 0, 0, $00, $27
+ dsprite 0, 0, -1, 0, $00, $47
+ dsprite 0, 0, 0, 0, $00, $67
+; 8db4b
+
+; 8db4b
+ db 4
+ dsprite -1, 0, -1, 0, $00, $80
+ dsprite -1, 0, 0, 0, $00, $a0
+ dsprite 0, 0, -1, 0, $00, $c0
+ dsprite 0, 0, 0, 0, $00, $e0
+
+.OAMData_19
+ db 16
+ dsprite -2, 0, -2, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -1, 0, -2, 0, $02, $00
+ dsprite -1, 0, -1, 0, $03, $00
+ dsprite -2, 0, 0, 0, $01, $20
+ dsprite -2, 0, 1, 0, $00, $20
+ dsprite -1, 0, 0, 0, $03, $20
+ dsprite -1, 0, 1, 0, $02, $20
+ dsprite 0, 0, -2, 0, $02, $40
+ dsprite 0, 0, -1, 0, $03, $40
+ dsprite 1, 0, -2, 0, $00, $40
+ dsprite 1, 0, -1, 0, $01, $40
+ dsprite 0, 0, 0, 0, $03, $60
+ dsprite 0, 0, 1, 0, $02, $60
+ dsprite 1, 0, 0, 0, $01, $60
+ dsprite 1, 0, 1, 0, $00, $60
+
+.OAMData_1a
+ db 36
+ dsprite -3, 0, -3, 0, $00, $00
+ dsprite -3, 0, -2, 0, $01, $00
+ dsprite -3, 0, -1, 0, $02, $00
+ dsprite -2, 0, -3, 0, $03, $00
+ dsprite -2, 0, -2, 0, $04, $00
+ dsprite -2, 0, -1, 0, $05, $00
+ dsprite -1, 0, -3, 0, $06, $00
+ dsprite -1, 0, -2, 0, $05, $00
+ dsprite -1, 0, -1, 0, $05, $00
+ dsprite -3, 0, 0, 0, $02, $20
+ dsprite -3, 0, 1, 0, $01, $20
+ dsprite -3, 0, 2, 0, $00, $20
+ dsprite -2, 0, 0, 0, $05, $20
+ dsprite -2, 0, 1, 0, $04, $20
+ dsprite -2, 0, 2, 0, $03, $20
+ dsprite -1, 0, 0, 0, $05, $20
+ dsprite -1, 0, 1, 0, $05, $20
+ dsprite -1, 0, 2, 0, $06, $20
+ dsprite 0, 0, -3, 0, $06, $40
+ dsprite 0, 0, -2, 0, $05, $40
+ dsprite 0, 0, -1, 0, $05, $40
+ dsprite 1, 0, -3, 0, $03, $40
+ dsprite 1, 0, -2, 0, $04, $40
+ dsprite 1, 0, -1, 0, $05, $40
+ dsprite 2, 0, -3, 0, $00, $40
+ dsprite 2, 0, -2, 0, $01, $40
+ dsprite 2, 0, -1, 0, $02, $40
+ dsprite 0, 0, 0, 0, $05, $60
+ dsprite 0, 0, 1, 0, $05, $60
+ dsprite 0, 0, 2, 0, $06, $60
+ dsprite 1, 0, 0, 0, $05, $60
+ dsprite 1, 0, 1, 0, $04, $60
+ dsprite 1, 0, 2, 0, $03, $60
+ dsprite 2, 0, 0, 0, $02, $60
+ dsprite 2, 0, 1, 0, $01, $60
+ dsprite 2, 0, 2, 0, $00, $60
+
+.OAMData_43
+ db 9
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $02, $00
+ dsprite -1, 4, -2, 4, $10, $00
+ dsprite -1, 4, -1, 4, $11, $00
+ dsprite -1, 4, 0, 4, $12, $00
+ dsprite 0, 4, -2, 4, $20, $00
+ dsprite 0, 4, -1, 4, $21, $00
+ dsprite 0, 4, 0, 4, $22, $00
+
+.OAMData_0e
+ db 16
+ dsprite -2, 0, -2, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -2, 0, 0, 0, $02, $00
+ dsprite -2, 0, 1, 0, $03, $00
+ dsprite -1, 0, -2, 0, $10, $00
+ dsprite -1, 0, -1, 0, $11, $00
+ dsprite -1, 0, 0, 0, $12, $00
+ dsprite -1, 0, 1, 0, $13, $00
+ dsprite 0, 0, -2, 0, $20, $00
+ dsprite 0, 0, -1, 0, $21, $00
+ dsprite 0, 0, 0, 0, $22, $00
+ dsprite 0, 0, 1, 0, $23, $00
+ dsprite 1, 0, -2, 0, $30, $00
+ dsprite 1, 0, -1, 0, $31, $00
+ dsprite 1, 0, 0, 0, $32, $00
+ dsprite 1, 0, 1, 0, $33, $00
+
+.OAMData_1b
+ db 25
+ dsprite -3, 4, -3, 4, $00, $00
+ dsprite -2, 4, -3, 4, $01, $00
+ dsprite -1, 4, -3, 4, $02, $00
+ dsprite 0, 4, -3, 4, $03, $00
+ dsprite 1, 4, -3, 4, $04, $00
+ dsprite -3, 4, -2, 4, $05, $00
+ dsprite -2, 4, -2, 4, $06, $00
+ dsprite -1, 4, -2, 4, $07, $00
+ dsprite 0, 4, -2, 4, $08, $00
+ dsprite 1, 4, -2, 4, $09, $00
+ dsprite -3, 4, -1, 4, $0a, $00
+ dsprite -2, 4, -1, 4, $0b, $00
+ dsprite -1, 4, -1, 4, $0c, $00
+ dsprite 0, 4, -1, 4, $0d, $00
+ dsprite 1, 4, -1, 4, $0e, $00
+ dsprite -3, 4, 0, 4, $0f, $00
+ dsprite -2, 4, 0, 4, $10, $00
+ dsprite -1, 4, 0, 4, $11, $00
+ dsprite 0, 4, 0, 4, $12, $00
+ dsprite 1, 4, 0, 4, $13, $00
+ dsprite -3, 4, 1, 4, $14, $00
+ dsprite -2, 4, 1, 4, $15, $00
+ dsprite -1, 4, 1, 4, $16, $00
+ dsprite 0, 4, 1, 4, $17, $00
+ dsprite 1, 4, 1, 4, $18, $00
+; 8dcf9
+
+; 8dcf9
+ db 36
+ dsprite -3, 0, -3, 0, $00, $00
+ dsprite -3, 0, -2, 0, $01, $00
+ dsprite -3, 0, -1, 0, $02, $00
+ dsprite -3, 0, 0, 0, $03, $00
+ dsprite -3, 0, 1, 0, $04, $00
+ dsprite -3, 0, 2, 0, $05, $00
+ dsprite -2, 0, -3, 0, $06, $00
+ dsprite -2, 0, -2, 0, $07, $00
+ dsprite -2, 0, -1, 0, $08, $00
+ dsprite -2, 0, 0, 0, $09, $00
+ dsprite -2, 0, 1, 0, $0a, $00
+ dsprite -2, 0, 2, 0, $0b, $00
+ dsprite -1, 0, -3, 0, $0c, $00
+ dsprite -1, 0, -2, 0, $0d, $00
+ dsprite -1, 0, -1, 0, $0e, $00
+ dsprite -1, 0, 0, 0, $0f, $00
+ dsprite -1, 0, 1, 0, $10, $00
+ dsprite -1, 0, 2, 0, $11, $00
+ dsprite 0, 0, -3, 0, $12, $00
+ dsprite 0, 0, -2, 0, $13, $00
+ dsprite 0, 0, -1, 0, $14, $00
+ dsprite 0, 0, 0, 0, $15, $00
+ dsprite 0, 0, 1, 0, $16, $00
+ dsprite 0, 0, 2, 0, $17, $00
+ dsprite 1, 0, -3, 0, $18, $00
+ dsprite 1, 0, -2, 0, $19, $00
+ dsprite 1, 0, -1, 0, $1a, $00
+ dsprite 1, 0, 0, 0, $1b, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite 1, 0, 2, 0, $1d, $00
+ dsprite 2, 0, -3, 0, $1e, $00
+ dsprite 2, 0, -2, 0, $1f, $00
+ dsprite 2, 0, -1, 0, $20, $00
+ dsprite 2, 0, 0, 0, $21, $00
+ dsprite 2, 0, 1, 0, $22, $00
+ dsprite 2, 0, 2, 0, $23, $00
+
+.OAMData_00
+; party menu icons
+ db 4
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $02, $00
+ dsprite 0, 0, 0, 0, $03, $00
+
+.OAMData_31
+ db 4
+ dsprite -1, 0, -1, 0, $00, $80
+ dsprite -1, 0, 0, 0, $01, $80
+ dsprite 0, 0, -1, 0, $02, $80
+ dsprite 0, 0, 0, 0, $03, $80
+
+.OAMData_3d
+; party menu icon with mail, frame 1
+ db 4
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $08, $00
+ dsprite 0, 0, 0, 0, $03, $00
+
+.OAMData_3e
+; party menu icon with mail, frame 2
+ db 4
+ dsprite -1, 0, -1, 0, $04, $00
+ dsprite -1, 0, 0, 0, $05, $00
+ dsprite 0, 0, -1, 0, $08, $00
+ dsprite 0, 0, 0, 0, $07, $00
+
+.OAMData_3f
+; party menu icon with item, frame 1
+ db 4
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $09, $00
+ dsprite 0, 0, 0, 0, $03, $00
+
+.OAMData_40
+; party menu icon with item, frame 2
+ db 4
+ dsprite -1, 0, -1, 0, $04, $00
+ dsprite -1, 0, 0, 0, $05, $00
+ dsprite 0, 0, -1, 0, $09, $00
+ dsprite 0, 0, 0, 0, $07, $00
+
+.OAMData_06
+ db 6
+ dsprite -1, 0, -2, 4, $00, $01
+ dsprite -1, 0, -1, 4, $01, $01
+ dsprite -1, 0, 0, 4, $02, $01
+ dsprite 0, 0, -2, 4, $10, $01
+ dsprite 0, 0, -1, 4, $11, $01
+ dsprite 0, 0, 0, 4, $12, $01
+
+.OAMData_08
+ db 29
+ dsprite -3, 0, -3, 0, $00, $00
+ dsprite -3, 0, -2, 0, $01, $00
+ dsprite -3, 0, -1, 0, $02, $00
+ dsprite -3, 0, 0, 0, $03, $00
+ dsprite -2, 0, -3, 0, $10, $00
+ dsprite -2, 0, -2, 0, $11, $00
+ dsprite -2, 0, -1, 0, $12, $00
+ dsprite -2, 0, 0, 0, $13, $00
+ dsprite -1, 0, -3, 0, $20, $00
+ dsprite -1, 0, -2, 0, $21, $00
+ dsprite -1, 0, -1, 0, $22, $00
+ dsprite -1, 0, 0, 0, $23, $00
+ dsprite -1, 0, 1, 0, $24, $00
+ dsprite 0, 0, -3, 0, $30, $80
+ dsprite 0, 0, -2, 0, $31, $80
+ dsprite 0, 0, -1, 0, $32, $80
+ dsprite 0, 0, 0, 0, $33, $80
+ dsprite 0, 0, 1, 0, $34, $80
+ dsprite 1, 0, -3, 0, $40, $80
+ dsprite 1, 0, -2, 0, $41, $80
+ dsprite 1, 0, -1, 0, $42, $80
+ dsprite 1, 0, 0, 0, $43, $80
+ dsprite 1, 0, 1, 0, $44, $80
+ dsprite 1, 0, 2, 0, $45, $80
+ dsprite 2, 0, -2, 0, $51, $80
+ dsprite 2, 0, -1, 0, $52, $80
+ dsprite 2, 0, 0, 0, $53, $80
+ dsprite 2, 0, 1, 0, $54, $80
+ dsprite 2, 0, 2, 0, $55, $80
+
+.OAMData_0c
+ db 2
+ dsprite -1, 0, -1, 4, $00, $00
+ dsprite 0, 0, -1, 4, $10, $00
+
+.OAMData_15
+ db 5
+ dsprite -2, 0, 3, 0, $00, $00
+ dsprite -2, 0, 4, 0, $01, $00
+ dsprite -1, 0, 2, 0, $02, $00
+ dsprite -1, 0, 3, 0, $03, $00
+ dsprite 0, 0, 2, 0, $04, $00
+
+.OAMData_4f
+ db 1
+ dsprite -1, 4, -1, 4, $00, $06
+
+.OAMData_50
+ db 4
+ dsprite -1, 0, -1, 0, $00, $06
+ dsprite -1, 0, 0, 0, $01, $06
+ dsprite 0, 0, -1, 0, $02, $06
+ dsprite 0, 0, 0, 0, $03, $06
+
+.OAMData_20
+ db 4
+ dsprite -1, 7, -1, 7, $00, $00
+ dsprite -1, 7, 0, 0, $00, $20
+ dsprite 0, 0, -1, 7, $00, $40
+ dsprite 0, 0, 0, 0, $00, $60
+
+.OAMData_21
+ db 10
+ dsprite -1, 7, 0, 0, $00, $00
+ dsprite -1, 7, 1, 0, $01, $00
+ dsprite -1, 7, 2, 0, $01, $00
+ dsprite -1, 7, 3, 0, $01, $00
+ dsprite -1, 7, 4, 0, $00, $20
+ dsprite 0, 0, 0, 0, $00, $40
+ dsprite 0, 0, 1, 0, $01, $40
+ dsprite 0, 0, 2, 0, $01, $40
+ dsprite 0, 0, 3, 0, $01, $40
+ dsprite 0, 0, 4, 0, $00, $60
+
+.OAMData_22
+ db 15
+ dsprite -3, 4, -2, 4, $00, $11
+ dsprite -3, 4, -1, 4, $01, $11
+ dsprite -3, 4, 0, 4, $02, $11
+ dsprite -2, 4, -2, 4, $03, $11
+ dsprite -2, 4, -1, 4, $04, $11
+ dsprite -2, 4, 0, 4, $05, $11
+ dsprite -1, 4, -2, 4, $06, $11
+ dsprite -1, 4, -1, 4, $07, $11
+ dsprite -1, 4, 0, 4, $08, $11
+ dsprite 0, 4, -2, 4, $09, $11
+ dsprite 0, 4, -1, 4, $0a, $11
+ dsprite 0, 4, 0, 4, $0b, $11
+ dsprite 1, 4, -2, 4, $0c, $11
+ dsprite 1, 4, -1, 4, $0d, $11
+ dsprite 1, 4, 0, 4, $0e, $11
+
+.OAMData_27
+ db 6
+ dsprite -2, 4, -2, 4, $00, $15
+ dsprite -2, 4, -1, 4, $02, $15
+ dsprite -2, 4, 0, 4, $00, $35
+ dsprite 0, 4, -2, 4, $04, $15
+ dsprite 0, 4, -1, 4, $06, $15
+ dsprite 0, 4, 0, 4, $04, $35
+
+.OAMData_29
+ db 6
+ dsprite -2, 4, -2, 4, $00, $16
+ dsprite -2, 4, -1, 4, $02, $16
+ dsprite -2, 4, 0, 4, $04, $16
+ dsprite 0, 4, -2, 4, $06, $16
+ dsprite 0, 4, -1, 4, $08, $16
+ dsprite 0, 4, 0, 4, $0a, $16
+
+.OAMData_2a
+ db 6
+ dsprite -2, 4, -2, 4, $00, $16
+ dsprite -2, 4, -1, 4, $02, $16
+ dsprite -2, 4, 0, 4, $04, $16
+ dsprite 0, 4, -2, 4, $0c, $16
+ dsprite 0, 4, -1, 4, $0e, $16
+ dsprite 0, 4, 0, 4, $10, $16
+
+.OAMData_2b
+ db 6
+ dsprite -2, 4, -2, 4, $00, $16
+ dsprite -2, 4, -1, 4, $02, $16
+ dsprite -2, 4, 0, 4, $04, $16
+ dsprite 0, 4, -2, 4, $12, $16
+ dsprite 0, 4, -1, 4, $14, $16
+ dsprite 0, 4, 0, 4, $16, $16
+
+.OAMData_2c
+ db 6
+ dsprite -2, 4, -2, 4, $00, $16
+ dsprite -2, 4, -1, 4, $02, $16
+ dsprite -2, 4, 0, 4, $04, $16
+ dsprite 0, 4, -2, 4, $18, $16
+ dsprite 0, 4, -1, 4, $1a, $16
+ dsprite 0, 4, 0, 4, $1c, $16
+
+.OAMData_2d
+ db 6
+ dsprite -2, 4, -2, 4, $1e, $16
+ dsprite -2, 4, -1, 4, $20, $16
+ dsprite -2, 4, 0, 4, $22, $16
+ dsprite 0, 4, -2, 4, $24, $16
+ dsprite 0, 4, -1, 4, $26, $16
+ dsprite 0, 4, 0, 4, $28, $16
+
+.OAMData_3c
+ db 3
+ dsprite -2, 4, -1, 4, $00, $10
+ dsprite -1, 4, -1, 4, $00, $10
+ dsprite 0, 4, -1, 4, $00, $10
+
+.OAMData_4b
+ db 6
+ dsprite 0, 0, 0, 0, $00, $00
+ dsprite 0, 0, 1, 0, $01, $00
+ dsprite 0, 0, 2, 0, $01, $00
+ dsprite 0, 0, 3, 0, $01, $00
+ dsprite 0, 0, 4, 0, $02, $00
+ dsprite 0, 0, 5, 0, $03, $00
+
+.OAMData_4c
+ db 4
+ dsprite 0, 0, 0, 0, $00, $00
+ dsprite 0, 0, 1, 0, $01, $00
+ dsprite 0, 0, 2, 0, $02, $00
+ dsprite 0, 0, 3, 0, $03, $00
+
+.OAMData_51
+ db 4
+ dsprite -1, 0, -2, 6, $00, $06
+ dsprite -1, 0, 0, 2, $01, $06
+ dsprite 0, 0, -2, 6, $02, $06
+ dsprite 0, 0, 0, 2, $03, $06
+
+.OAMData_52
+ db 4
+ dsprite -1, 0, -2, 4, $00, $06
+ dsprite -1, 0, 0, 4, $01, $06
+ dsprite 0, 0, -2, 4, $02, $06
+ dsprite 0, 0, 0, 4, $03, $06
+
+.OAMData_53
+ db 4
+ dsprite -1, 0, -2, 0, $00, $06
+ dsprite -1, 0, 1, 0, $01, $06
+ dsprite 0, 0, -2, 0, $02, $06
+ dsprite 0, 0, 1, 0, $03, $06
+
+.OAMData_56
+ db 19
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $04, $00
+ dsprite -3, 0, -2, 0, $06, $00
+ dsprite -1, 0, -2, 0, $08, $00
+ dsprite 1, 0, -2, 0, $0a, $00
+ dsprite -3, 0, -1, 0, $0c, $00
+ dsprite -1, 0, -1, 0, $0e, $00
+ dsprite 1, 0, -1, 0, $10, $00
+ dsprite -3, 0, 0, 0, $12, $00
+ dsprite -1, 0, 0, 0, $14, $00
+ dsprite 1, 0, 0, 0, $16, $00
+ dsprite -3, 0, 1, 0, $18, $00
+ dsprite -1, 0, 1, 0, $1a, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
+
+.OAMData_57
+ db 16
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $04, $00
+ dsprite -1, 0, -2, 0, $26, $00
+ dsprite 1, 0, -2, 0, $0a, $00
+ dsprite -3, 0, -1, 0, $28, $00
+ dsprite -1, 0, -1, 0, $2a, $00
+ dsprite 1, 0, -1, 0, $10, $00
+ dsprite -1, 0, 0, 0, $2c, $00
+ dsprite 1, 0, 0, 0, $16, $00
+ dsprite -1, 0, 1, 0, $30, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
+
+.OAMData_58
+ db 15
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $32, $00
+ dsprite -1, 0, -2, 0, $34, $00
+ dsprite 1, 0, -2, 0, $36, $00
+ dsprite -1, 0, -1, 0, $38, $00
+ dsprite 1, 0, -1, 0, $3a, $00
+ dsprite -1, 0, 0, 0, $3c, $00
+ dsprite 1, 0, 0, 0, $3e, $00
+ dsprite -1, 0, 1, 0, $30, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
+
+.OAMData_59
+ db 17
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $04, $00
+ dsprite -1, 0, -2, 0, $40, $00
+ dsprite 1, 0, -2, 0, $42, $00
+ dsprite 3, 0, -2, 0, $44, $00
+ dsprite -1, 0, -1, 0, $46, $00
+ dsprite 1, 0, -1, 0, $48, $00
+ dsprite 3, 0, -1, 0, $4a, $00
+ dsprite -1, 0, 0, 0, $4c, $00
+ dsprite 1, 0, 0, 0, $4e, $00
+ dsprite -1, 0, 1, 0, $30, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
+
+.OAMData_5a
+ db 17
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $04, $00
+ dsprite -1, 0, -2, 0, $50, $00
+ dsprite 1, 0, -2, 0, $0a, $00
+ dsprite -3, 0, -1, 0, $52, $00
+ dsprite -1, 0, -1, 0, $54, $00
+ dsprite 1, 0, -1, 0, $10, $00
+ dsprite -3, 0, 0, 0, $56, $00
+ dsprite -1, 0, 0, 0, $2e, $00
+ dsprite 1, 0, 0, 0, $16, $00
+ dsprite -1, 0, 1, 0, $30, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
+
+.OAMData_1e
+ db 1
+ dsprite -1, 4, -1, 4, $00, $11
+
+.OAMData_5c
+ db 12
+ dsprite 0, 0, 0, 0, $30, $00
+ dsprite 0, 0, 1, 0, $31, $00
+ dsprite 0, 0, 2, 0, $31, $00
+ dsprite 0, 0, 3, 0, $31, $00
+ dsprite 0, 0, 4, 0, $31, $00
+ dsprite 0, 0, 5, 0, $32, $00
+ dsprite 1, 0, 0, 0, $33, $00
+ dsprite 1, 0, 1, 0, $34, $00
+ dsprite 1, 0, 2, 0, $34, $00
+ dsprite 1, 0, 3, 0, $34, $00
+ dsprite 1, 0, 4, 0, $34, $00
+ dsprite 1, 0, 5, 0, $35, $00
+
+.OAMData_5d
+ db 1
+ dsprite 0, 0, 0, 0, $ed, $00
+
+.OAMData_5e
+ db 4
+ dsprite -1, 7, -1, 7, $30, $00
+ dsprite -1, 7, 0, 1, $32, $00
+ dsprite 0, 1, -1, 7, $33, $00
+ dsprite 0, 1, 0, 1, $35, $00
+
+.OAMData_5f
+ db 8
+ dsprite -1, 7, -1, 7, $30, $00
+ dsprite -1, 7, 0, 4, $31, $00
+ dsprite -1, 7, 1, 4, $31, $00
+ dsprite -1, 7, 2, 1, $32, $00
+ dsprite 0, 1, -1, 7, $33, $00
+ dsprite 0, 1, 0, 4, $34, $00
+ dsprite 0, 1, 1, 4, $34, $00
+ dsprite 0, 1, 2, 1, $35, $00
+
+.OAMData_60
+ db 1
+ dsprite 0, 0, 0, 0, $34, $00
+
+.OAMData_61
+ db 2
+ dsprite 0, 0, 0, 0, $30, $00
+ dsprite 1, 0, 0, 0, $33, $00
+
+.OAMData_62
+ db 2
+ dsprite 0, 0, 0, 0, $32, $00
+ dsprite 1, 0, 0, 0, $35, $00
+
+.OAMData_63
+ db 4
+ dsprite -1, 0, -1, 0, $00, $01
+ dsprite -1, 0, 0, 0, $01, $01
+ dsprite 0, 0, -1, 0, $02, $01
+ dsprite 0, 0, 0, 0, $03, $01
+
+.OAMData_65
+ db 4
+ dsprite -1, 0, -1, 0, $00, $81
+ dsprite -1, 0, 0, 0, $01, $81
+ dsprite 0, 0, -1, 0, $02, $81
+ dsprite 0, 0, 0, 0, $03, $81
+
+.OAMData_67
+ db 1
+ dsprite -1, 4, -1, 4, $00, $02
+
+.OAMData_6c
+ db 4
+ dsprite -2, 0, -1, 4, $00, $03
+ dsprite -1, 0, -1, 4, $01, $03
+ dsprite 0, 0, -1, 4, $02, $03
+ dsprite 1, 0, -1, 4, $03, $03
+
+.OAMData_6d
+ db 4
+ dsprite -2, 0, -1, 4, $03, $44
+ dsprite -1, 0, -1, 4, $02, $44
+ dsprite 0, 0, -1, 4, $01, $44
+ dsprite 1, 0, -1, 4, $00, $44
+
+.OAMData_69
+ db 4
+ dsprite -1, 0, -1, 0, $00, $01
+ dsprite -1, 0, 0, 0, $00, $21
+ dsprite 0, 0, -1, 0, $00, $41
+ dsprite 0, 0, 0, 0, $00, $61
+
+.OAMData_6a
+ db 8
+ dsprite -2, 4, -2, 4, $00, $01
+ dsprite -2, 4, -1, 4, $01, $01
+ dsprite -2, 4, 0, 4, $00, $21
+ dsprite -1, 4, -2, 4, $02, $01
+ dsprite -1, 4, 0, 4, $02, $21
+ dsprite 0, 4, -2, 4, $00, $41
+ dsprite 0, 4, -1, 4, $01, $41
+ dsprite 0, 4, 0, 4, $00, $61
+
+.OAMData_6b
+ db 12
+ dsprite -2, 0, -2, 0, $00, $01
+ dsprite -2, 0, -1, 0, $01, $01
+ dsprite -1, 0, -2, 0, $02, $01
+ dsprite -2, 0, 0, 0, $01, $21
+ dsprite -2, 0, 1, 0, $00, $21
+ dsprite -1, 0, 1, 0, $02, $21
+ dsprite 0, 0, -2, 0, $02, $41
+ dsprite 1, 0, -2, 0, $00, $41
+ dsprite 1, 0, -1, 0, $01, $41
+ dsprite 0, 0, 1, 0, $02, $61
+ dsprite 1, 0, 0, 0, $01, $61
+ dsprite 1, 0, 1, 0, $00, $61
+
+.OAMData_6e
+ db 36
+ dsprite -3, 0, 1, 0, $05, $00
+ dsprite -3, 0, 2, 0, $06, $00
+ dsprite -3, 0, 3, 0, $07, $00
+ dsprite -2, 0, -3, 0, $11, $00
+ dsprite -2, 0, -2, 0, $12, $00
+ dsprite -2, 0, -1, 0, $13, $00
+ dsprite -2, 0, 0, 0, $14, $00
+ dsprite -2, 0, 1, 0, $15, $00
+ dsprite -2, 0, 2, 0, $16, $00
+ dsprite -2, 0, 3, 0, $17, $00
+ dsprite -1, 0, -4, 0, $20, $00
+ dsprite -1, 0, -3, 0, $21, $00
+ dsprite -1, 0, -2, 0, $22, $00
+ dsprite -1, 0, -1, 0, $23, $00
+ dsprite -1, 0, 0, 0, $24, $00
+ dsprite -1, 0, 1, 0, $25, $00
+ dsprite -1, 0, 2, 0, $26, $00
+ dsprite -1, 0, 3, 0, $27, $00
+ dsprite 0, 0, -4, 0, $30, $00
+ dsprite 0, 0, -3, 0, $31, $00
+ dsprite 0, 0, -2, 0, $32, $00
+ dsprite 0, 0, -1, 0, $33, $00
+ dsprite 0, 0, 0, 0, $34, $00
+ dsprite 0, 0, 1, 0, $35, $00
+ dsprite 0, 0, 2, 0, $36, $00
+ dsprite 1, 0, -4, 0, $40, $00
+ dsprite 1, 0, -3, 0, $41, $00
+ dsprite 1, 0, -2, 0, $42, $00
+ dsprite 1, 0, -1, 0, $43, $00
+ dsprite 1, 0, 0, 0, $44, $00
+ dsprite 1, 0, 1, 0, $45, $00
+ dsprite 1, 0, 2, 0, $46, $00
+ dsprite 1, 0, 3, 0, $47, $00
+ dsprite 2, 0, -4, 0, $50, $00
+ dsprite 2, 0, -3, 0, $51, $00
+ dsprite 2, 0, 3, 0, $57, $00
+
+.OAMData_6f
+ db 28
+ dsprite -3, 0, 0, 0, $04, $00
+ dsprite -3, 0, 1, 0, $05, $00
+ dsprite -3, 0, 2, 0, $06, $00
+ dsprite -2, 0, -3, 0, $11, $00
+ dsprite -2, 0, -2, 0, $12, $00
+ dsprite -2, 0, -1, 0, $13, $00
+ dsprite -2, 0, 0, 0, $14, $00
+ dsprite -2, 0, 1, 0, $15, $00
+ dsprite -2, 0, 2, 0, $16, $00
+ dsprite -1, 0, -3, 0, $21, $00
+ dsprite -1, 0, -2, 0, $22, $00
+ dsprite -1, 0, -1, 0, $23, $00
+ dsprite -1, 0, 0, 0, $24, $00
+ dsprite -1, 0, 1, 0, $25, $00
+ dsprite -1, 0, 2, 0, $26, $00
+ dsprite 0, 0, -4, 0, $30, $00
+ dsprite 0, 0, -3, 0, $31, $00
+ dsprite 0, 0, -2, 0, $32, $00
+ dsprite 0, 0, -1, 0, $33, $00
+ dsprite 0, 0, 0, 0, $34, $00
+ dsprite 0, 0, 1, 0, $35, $00
+ dsprite 1, 0, -2, 0, $42, $00
+ dsprite 1, 0, -1, 0, $43, $00
+ dsprite 1, 0, 0, 0, $44, $00
+ dsprite 1, 0, 1, 0, $45, $00
+ dsprite 2, 0, -1, 0, $53, $00
+ dsprite 2, 0, 0, 0, $54, $00
+ dsprite 2, 0, 1, 0, $55, $00
+
+.OAMData_70
+ db 30
+ dsprite -3, 0, 0, 0, $04, $00
+ dsprite -3, 0, 1, 0, $05, $00
+ dsprite -2, 0, -3, 0, $11, $00
+ dsprite -2, 0, -2, 0, $12, $00
+ dsprite -2, 0, -1, 0, $13, $00
+ dsprite -2, 0, 0, 0, $14, $00
+ dsprite -2, 0, 1, 0, $15, $00
+ dsprite -2, 0, 2, 0, $16, $00
+ dsprite -2, 0, 3, 0, $17, $00
+ dsprite -1, 0, -4, 0, $20, $00
+ dsprite -1, 0, -3, 0, $21, $00
+ dsprite -1, 0, -2, 0, $22, $00
+ dsprite -1, 0, -1, 0, $23, $00
+ dsprite -1, 0, 0, 0, $24, $00
+ dsprite -1, 0, 1, 0, $25, $00
+ dsprite -1, 0, 2, 0, $26, $00
+ dsprite 0, 0, -4, 0, $30, $00
+ dsprite 0, 0, -3, 0, $31, $00
+ dsprite 0, 0, -2, 0, $32, $00
+ dsprite 0, 0, -1, 0, $33, $00
+ dsprite 0, 0, 0, 0, $34, $00
+ dsprite 0, 0, 1, 0, $35, $00
+ dsprite 1, 0, -2, 0, $42, $00
+ dsprite 1, 0, -1, 0, $43, $00
+ dsprite 1, 0, 0, 0, $44, $00
+ dsprite 1, 0, 1, 0, $45, $00
+ dsprite 2, 0, -2, 0, $52, $00
+ dsprite 2, 0, -1, 0, $53, $00
+ dsprite 2, 0, 0, 0, $54, $00
+ dsprite 2, 0, 1, 0, $55, $00
+
+.OAMData_71
+ db 31
+ dsprite -2, 0, -3, 0, $11, $00
+ dsprite -2, 0, -2, 0, $12, $00
+ dsprite -2, 0, -1, 0, $13, $00
+ dsprite -2, 0, 0, 0, $14, $00
+ dsprite -2, 0, 1, 0, $15, $00
+ dsprite -2, 0, 2, 0, $16, $00
+ dsprite -2, 0, 3, 0, $17, $00
+ dsprite -1, 0, -4, 0, $20, $00
+ dsprite -1, 0, -3, 0, $21, $00
+ dsprite -1, 0, -2, 0, $22, $00
+ dsprite -1, 0, -1, 0, $23, $00
+ dsprite -1, 0, 0, 0, $24, $00
+ dsprite -1, 0, 1, 0, $25, $00
+ dsprite -1, 0, 2, 0, $26, $00
+ dsprite -1, 0, 3, 0, $27, $00
+ dsprite 0, 0, -4, 0, $30, $00
+ dsprite 0, 0, -3, 0, $31, $00
+ dsprite 0, 0, -2, 0, $32, $00
+ dsprite 0, 0, -1, 0, $33, $00
+ dsprite 0, 0, 0, 0, $34, $00
+ dsprite 0, 0, 1, 0, $35, $00
+ dsprite 0, 0, 2, 0, $36, $00
+ dsprite 1, 0, -3, 0, $41, $00
+ dsprite 1, 0, -2, 0, $42, $00
+ dsprite 1, 0, -1, 0, $43, $00
+ dsprite 1, 0, 0, 0, $44, $00
+ dsprite 1, 0, 1, 0, $45, $00
+ dsprite 2, 0, -3, 0, $51, $00
+ dsprite 2, 0, -2, 0, $52, $00
+ dsprite 2, 0, 0, 0, $54, $00
+ dsprite 2, 0, 1, 0, $55, $00
+
+.OAMData_72
+ db 25
+ dsprite -3, 4, -3, 4, $00, $09
+ dsprite -3, 4, -2, 4, $01, $09
+ dsprite -3, 4, -1, 4, $02, $09
+ dsprite -3, 4, 0, 4, $03, $09
+ dsprite -3, 4, 1, 4, $04, $09
+ dsprite -2, 4, -3, 4, $10, $09
+ dsprite -2, 4, -2, 4, $11, $09
+ dsprite -2, 4, -1, 4, $12, $09
+ dsprite -2, 4, 0, 4, $13, $09
+ dsprite -2, 4, 1, 4, $14, $09
+ dsprite -1, 4, -3, 4, $20, $09
+ dsprite -1, 4, -2, 4, $21, $09
+ dsprite -1, 4, -1, 4, $22, $09
+ dsprite -1, 4, 0, 4, $23, $09
+ dsprite -1, 4, 1, 4, $24, $09
+ dsprite 0, 4, -3, 4, $30, $09
+ dsprite 0, 4, -2, 4, $31, $09
+ dsprite 0, 4, -1, 4, $32, $09
+ dsprite 0, 4, 0, 4, $33, $09
+ dsprite 0, 4, 1, 4, $34, $09
+ dsprite 1, 4, -3, 4, $40, $09
+ dsprite 1, 4, -2, 4, $41, $09
+ dsprite 1, 4, -1, 4, $42, $09
+ dsprite 1, 4, 0, 4, $43, $09
+ dsprite 1, 4, 1, 4, $44, $09
+
+.OAMData_75
+ db 16
+ dsprite -2, 0, -3, 4, $00, $0a
+ dsprite -2, 0, -2, 4, $01, $0a
+ dsprite -2, 0, -1, 4, $02, $0a
+ dsprite -2, 0, 0, 4, $03, $0a
+ dsprite -1, 0, -3, 4, $04, $0a
+ dsprite -1, 0, -2, 4, $05, $0a
+ dsprite -1, 0, -1, 4, $06, $0a
+ dsprite -1, 0, 0, 4, $07, $0a
+ dsprite 0, 0, -3, 4, $08, $0a
+ dsprite 0, 0, -2, 4, $09, $0a
+ dsprite 0, 0, -1, 4, $0a, $0a
+ dsprite 0, 0, 0, 4, $0b, $0a
+ dsprite 1, 0, -3, 4, $0c, $0a
+ dsprite 1, 0, -2, 4, $0d, $0a
+ dsprite 1, 0, -1, 4, $0e, $0a
+ dsprite 1, 0, 0, 4, $0f, $0a
+
+.OAMData_76
+ db 1
+ dsprite -1, 4, -1, 4, $00, $00
+
+.OAMData_77
+ db 3
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite -1, 0, -1, 0, $01, $00
+ dsprite -1, 0, 0, 0, $02, $00
+
+.OAMData_78
+ db 7
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 0, 0, -2, 0, $01, $00
+ dsprite -1, 0, -2, 0, $02, $00
+ dsprite -1, 0, -1, 0, $03, $00
+ dsprite -2, 0, -1, 0, $04, $00
+ dsprite -2, 0, 0, 0, $05, $00
+ dsprite -2, 0, 1, 0, $06, $00
+
+.OAMData_7a
+ db 8
+ dsprite -1, 0, -2, 0, $00, $00
+ dsprite -1, 0, -1, 0, $01, $00
+ dsprite -1, 0, 0, 0, $01, $20
+ dsprite -1, 0, 1, 0, $00, $20
+ dsprite 0, 0, -2, 0, $00, $40
+ dsprite 0, 0, -1, 0, $01, $40
+ dsprite 0, 0, 0, 0, $01, $60
+ dsprite 0, 0, 1, 0, $00, $60
+
+.OAMData_7b
+ db 12
+ dsprite -3, 0, -1, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -1, 0, -1, 0, $02, $00
+ dsprite -3, 0, 0, 0, $00, $20
+ dsprite -2, 0, 0, 0, $01, $20
+ dsprite -1, 0, 0, 0, $02, $20
+ dsprite 0, 0, -1, 0, $02, $40
+ dsprite 1, 0, -1, 0, $01, $40
+ dsprite 2, 0, -1, 0, $00, $40
+ dsprite 0, 0, 0, 0, $02, $60
+ dsprite 1, 0, 0, 0, $01, $60
+ dsprite 2, 0, 0, 0, $00, $60
+
+.OAMData_7c
+ db 20
+ dsprite -3, 4, -2, 0, $00, $00
+ dsprite -3, 4, -1, 0, $01, $00
+ dsprite -3, 4, 0, 0, $02, $00
+ dsprite -3, 4, 1, 0, $03, $00
+ dsprite -2, 4, -2, 0, $04, $00
+ dsprite -2, 4, -1, 0, $05, $00
+ dsprite -2, 4, 0, 0, $06, $00
+ dsprite -2, 4, 1, 0, $07, $00
+ dsprite -1, 4, -2, 0, $08, $00
+ dsprite -1, 4, -1, 0, $09, $00
+ dsprite -1, 4, 0, 0, $0a, $00
+ dsprite -1, 4, 1, 0, $0b, $00
+ dsprite 0, 4, -2, 0, $0c, $00
+ dsprite 0, 4, -1, 0, $0d, $00
+ dsprite 0, 4, 0, 0, $0e, $00
+ dsprite 0, 4, 1, 0, $0f, $00
+ dsprite 1, 4, -2, 0, $10, $00
+ dsprite 1, 4, -1, 0, $11, $00
+ dsprite 1, 4, 0, 0, $12, $00
+ dsprite 1, 4, 1, 0, $13, $00
+
+.OAMData_7e
+ db 20
+ dsprite 0, 0, 1, 0, $00, $81
+ dsprite 1, 0, 2, 0, $00, $81
+ dsprite 2, 0, 3, 0, $00, $81
+ dsprite 3, 0, 4, 0, $00, $81
+ dsprite 4, 0, 5, 0, $00, $81
+ dsprite 3, 0, 6, 0, $00, $81
+ dsprite 2, 0, 7, 0, $00, $81
+ dsprite 1, 0, 8, 0, $00, $81
+ dsprite 0, 0, 9, 0, $00, $81
+ dsprite 1, 0, 10, 0, $00, $81
+ dsprite 2, 0, 11, 0, $00, $81
+ dsprite 3, 0, 12, 0, $00, $81
+ dsprite 4, 0, 13, 0, $00, $81
+ dsprite 3, 0, 14, 0, $00, $81
+ dsprite 2, 0, 15, 0, $00, $81
+ dsprite 1, 0, 16, 0, $00, $81
+ dsprite 0, 0, -15, 0, $00, $81
+ dsprite 1, 0, -14, 0, $00, $81
+ dsprite 2, 0, -13, 0, $00, $81
+ dsprite 3, 0, -12, 0, $00, $81
+
+.OAMData_7f
+ db 4
+ dsprite -1, 0, -1, 0, $00, $02
+ dsprite -1, 0, 0, 0, $01, $02
+ dsprite 0, 0, -1, 0, $02, $02
+ dsprite 0, 0, 0, 0, $03, $02
+
+.OAMData_81
+ db 9
+ dsprite -2, 0, -2, 4, $00, $01
+ dsprite -2, 0, -1, 4, $01, $01
+ dsprite -2, 0, 0, 4, $02, $01
+ dsprite -1, 0, -2, 4, $10, $01
+ dsprite -1, 0, -1, 4, $11, $01
+ dsprite -1, 0, 0, 4, $12, $01
+ dsprite 0, 0, -2, 4, $20, $01
+ dsprite 0, 0, -1, 4, $21, $01
+ dsprite 0, 0, 0, 4, $22, $01
+
+.OAMData_84
+ db 24
+ dsprite -5, 0, -2, 4, $00, $01
+ dsprite -5, 0, -1, 4, $01, $01
+ dsprite -5, 0, 0, 4, $02, $01
+ dsprite -5, 0, 1, 4, $03, $01
+ dsprite -4, 0, -2, 4, $10, $01
+ dsprite -4, 0, -1, 4, $11, $01
+ dsprite -4, 0, 0, 4, $12, $01
+ dsprite -4, 0, 1, 4, $13, $01
+ dsprite -3, 0, -2, 4, $20, $01
+ dsprite -3, 0, -1, 4, $21, $01
+ dsprite -3, 0, 0, 4, $22, $01
+ dsprite -3, 0, 1, 4, $23, $01
+ dsprite -2, 0, -2, 4, $30, $01
+ dsprite -2, 0, -1, 4, $31, $01
+ dsprite -2, 0, 0, 4, $32, $01
+ dsprite -2, 0, 1, 4, $33, $01
+ dsprite -1, 0, -2, 4, $40, $01
+ dsprite -1, 0, -1, 4, $41, $01
+ dsprite -1, 0, 0, 4, $42, $01
+ dsprite -1, 0, 1, 4, $43, $01
+ dsprite 0, 0, -2, 4, $50, $01
+ dsprite 0, 0, -1, 4, $51, $01
+ dsprite 0, 0, 0, 4, $52, $01
+ dsprite 0, 0, 1, 4, $53, $01
+; 8e706
+BrokenStdGFXPointers: ; Broken 2bpp pointers
+ dbbw $80, $01, .deleted ; 128-tile 2bpp at 1:672a (inside Multiply)
+ dbbw $80, $01, .deleted
+ dbbw $80, $01, .deleted
+ dbbw $80, $01, .deleted
+ dbbw $10, $37, .deleted ; 16-tile 2bpp at 37:672a (within Tileset11GFX)
+ dbbw $10, $11, .deleted ; 16-tile 2bpp at 11:672a (empty data)
+ dbbw $10, $39, .deleted ; 16-tile 2bpp at 39:672a (empty data)
+ dbbw $10, $24, .deleted ; 16-tile 2bpp at 24:672a (inside Function926f7)
+ dbbw $10, $21, .deleted ; 16-tile 2bpp at 21:672a (inside Function8671c)
+
+.deleted
+; 8e72a (23:672a)
--- /dev/null
+++ b/engine/anim_hp_bar.asm
@@ -1,0 +1,430 @@
+_AnimateHPBar: ; d627
+ call Functiond65f
+ jr c, .do_player
+ call Functiond670
+.enemy_loop
+ push bc
+ push hl
+ call Functiond6e2
+ pop hl
+ pop bc
+ push af
+ push bc
+ push hl
+ call Functiond730
+ call Functiond7c9
+ pop hl
+ pop bc
+ pop af
+ jr nc, .enemy_loop
+ ret
+
+.do_player
+ call Functiond670
+.player_loop
+ push bc
+ push hl
+ call Functiond6f5
+ pop hl
+ pop bc
+ ret c
+ push af
+ push bc
+ push hl
+ call Functiond749
+ call Functiond7c9
+ pop hl
+ pop bc
+ pop af
+ jr nc, .player_loop
+ ret
+; d65f
+
+Functiond65f: ; d65f
+ ld a, [Buffer2]
+ and a
+ jr nz, .player
+ ld a, [Buffer1]
+ cp 6 * 8
+ jr nc, .player
+ and a
+ ret
+
+.player
+ scf
+ ret
+; d670
+
+Functiond670: ; d670
+; Buffer1-2: Max HP
+; Buffer3-4: Old HP
+; Buffer5-6: New HP
+ push hl
+ ld hl, Buffer1
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld b, a
+ pop hl
+ call ComputeHPBarPixels
+ ld a, e
+ ld [wd1f1], a
+
+ ld a, [Buffer5]
+ ld c, a
+ ld a, [Buffer6]
+ ld b, a
+ ld a, [Buffer1]
+ ld e, a
+ ld a, [Buffer2]
+ ld d, a
+ call ComputeHPBarPixels
+ ld a, e
+ ld [wd1f2], a
+
+ push hl
+ ld hl, Buffer3
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld b, a
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ pop hl
+ ld a, e
+ sub c
+ ld e, a
+ ld a, d
+ sbc b
+ ld d, a
+ jr c, .asm_d6c1
+ ld a, [Buffer3]
+ ld [wd1f5], a
+ ld a, [Buffer5]
+ ld [wd1f6], a
+ ld bc, 1
+ jr .asm_d6d9
+
+.asm_d6c1
+ ld a, [Buffer3]
+ ld [wd1f6], a
+ ld a, [Buffer5]
+ ld [wd1f5], a
+ ld a, e
+ xor $ff
+ inc a
+ ld e, a
+ ld a, d
+ xor $ff
+ ld d, a
+ ld bc, rIE
+.asm_d6d9
+ ld a, d
+ ld [wd1f3], a
+ ld a, e
+ ld [wd1f4], a
+ ret
+; d6e2
+
+Functiond6e2: ; d6e2
+ ld hl, wd1f1
+ ld a, [wd1f2]
+ cp [hl]
+ jr nz, .asm_d6ed
+ scf
+ ret
+
+.asm_d6ed
+ ld a, c
+ add [hl]
+ ld [hl], a
+ call Functiond839
+ and a
+ ret
+; d6f5
+
+Functiond6f5: ; d6f5
+.asm_d6f5
+ ld hl, Buffer3
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ ld a, e
+ cp [hl]
+ jr nz, .asm_d707
+ inc hl
+ ld a, d
+ cp [hl]
+ jr nz, .asm_d707
+ scf
+ ret
+
+.asm_d707
+ ld l, e
+ ld h, d
+ add hl, bc
+ ld a, l
+ ld [Buffer3], a
+ ld a, h
+ ld [wd1ed], a
+ push hl
+ push de
+ push bc
+ ld hl, Buffer1
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld b, a
+ call ComputeHPBarPixels
+ pop bc
+ pop de
+ pop hl
+ ld a, e
+ ld hl, wd1f1
+ cp [hl]
+ jr z, .asm_d6f5
+ ld [hl], a
+ and a
+ ret
+; d730
+
+Functiond730: ; d730
+ call Functiond784
+ ld d, $6
+ ld a, [wWhichHPBar]
+ and $1
+ ld b, a
+ ld a, [wd1f1]
+ ld e, a
+ ld c, a
+ push de
+ call Functiond771
+ pop de
+ call Functiond7b4
+ ret
+; d749
+
+Functiond749: ; d749
+ call Functiond784
+ ld a, [Buffer3]
+ ld c, a
+ ld a, [wd1ed]
+ ld b, a
+ ld a, [Buffer1]
+ ld e, a
+ ld a, [Buffer2]
+ ld d, a
+ call ComputeHPBarPixels
+ ld c, e
+ ld d, $6
+ ld a, [wWhichHPBar]
+ and $1
+ ld b, a
+ push de
+ call Functiond771
+ pop de
+ call Functiond7b4
+ ret
+; d771
+
+Functiond771: ; d771
+ ld a, [wWhichHPBar]
+ cp $2
+ jr nz, .skip
+ ld a, $28
+ add l
+ ld l, a
+ ld a, $0
+ adc h
+ ld h, a
+.skip
+ call DrawBattleHPBar
+ ret
+; d784
+
+Functiond784: ; d784
+ ld a, [wWhichHPBar]
+ and a
+ ret z
+ cp $1
+ jr z, .load_15
+ ld de, $16
+ jr .loaded_de
+
+.load_15
+ ld de, $15
+.loaded_de
+ push hl
+ add hl, de
+ ld a, " "
+rept 2
+ ld [hli], a
+endr
+ ld [hld], a
+ dec hl
+ ld a, [Buffer3]
+ ld [StringBuffer2 + 1], a
+ ld a, [wd1ed]
+ ld [StringBuffer2], a
+ ld de, StringBuffer2
+ lb bc, 2, 3
+ call PrintNum
+ pop hl
+ ret
+; d7b4
+
+Functiond7b4: ; d7b4
+ ld a, [hCGB]
+ and a
+ ret z
+ ld hl, wd1f0
+ call SetHPPal
+ ld a, [wd1f0]
+ ld c, a
+ callba ApplyHPBarPals
+ ret
+; d7c9
+
+Functiond7c9: ; d7c9
+ ld a, [hCGB]
+ and a
+ jr nz, .cgb
+ call DelayFrame
+ call DelayFrame
+ ret
+
+.cgb
+ ld a, [wWhichHPBar]
+ and a
+ jr z, .load_0
+ cp $1
+ jr z, .load_1
+ ld a, [CurPartyMon]
+ cp $3
+ jr nc, .c_is_1
+ ld c, $0
+ jr .c_is_0
+
+.c_is_1
+ ld c, $1
+.c_is_0
+ push af
+ cp $2
+ jr z, .skip_delay
+ cp $5
+ jr z, .skip_delay
+ ld a, $2
+ ld [hBGMapMode], a
+ ld a, c
+ ld [hBGMapThird], a
+ call DelayFrame
+.skip_delay
+ ld a, $1
+ ld [hBGMapMode], a
+ ld a, c
+ ld [hBGMapThird], a
+ call DelayFrame
+ pop af
+ cp $2
+ jr z, .two_frames
+ cp $5
+ jr z, .two_frames
+ ret
+
+.two_frames
+ inc c
+ ld a, $2
+ ld [hBGMapMode], a
+ ld a, c
+ ld [hBGMapThird], a
+ call DelayFrame
+ ld a, $1
+ ld [hBGMapMode], a
+ ld a, c
+ ld [hBGMapThird], a
+ call DelayFrame
+ ret
+
+.load_0
+ ld c, $0
+ jr .finish
+
+.load_1
+ ld c, $1
+.finish
+ call DelayFrame
+ ld a, c
+ ld [hBGMapThird], a
+ call DelayFrame
+ ret
+; d839
+
+Functiond839: ; d839
+ ld a, [Buffer1]
+ ld c, a
+ ld b, 0
+ ld hl, 0
+ ld a, [wd1f1]
+ cp 6 * 8
+ jr nc, .coppy_buffer
+ and a
+ jr z, .return_zero
+ call AddNTimes
+ ld b, 0
+.loop
+ ld a, l
+ sub 6 * 8
+ ld l, a
+ ld a, h
+ sbc $0
+ ld h, a
+ jr c, .done
+ inc b
+ jr .loop
+
+.done
+ push bc
+ ld bc, $80
+ add hl, bc
+ pop bc
+ ld a, l
+ sub 6 * 8
+ ld l, a
+ ld a, h
+ sbc $0
+ ld h, a
+ jr c, .no_carry
+ inc b
+.no_carry
+ ld a, [wd1f5]
+ cp b
+ jr nc, .finish
+ ld a, [wd1f6]
+ cp b
+ jr c, .finish
+ ld a, b
+.finish
+ ld [Buffer3], a
+ ret
+
+.return_zero
+ xor a
+ ld [Buffer3], a
+ ret
+
+.coppy_buffer
+ ld a, [Buffer1]
+ ld [Buffer3], a
+ ret
+; d88c
--- a/engine/battle_start.asm
+++ b/engine/battle_start.asm
@@ -1,11 +1,11 @@
Predef_StartBattle: ; 8c20f
call Function8c26d
ld a, [rBGP]
- ld [wcfc7], a
+ ld [wBGP], a
ld a, [rOBP0]
- ld [wcfc8], a
+ ld [wOBP0], a
ld a, [rOBP1]
- ld [wcfc9], a
+ ld [wOBP1], a
call DelayFrame
ld hl, hVBlank
ld a, [hl]
@@ -35,13 +35,13 @@
ld [rSVBK], a
ld a, %11111111
- ld [wcfc7], a
+ ld [wBGP], a
call DmgToCgbBGPals
call DelayFrame
xor a
- ld [hLCDStatCustom], a
- ld [hLCDStatCustom + 1], a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC6], a
+ ld [hFFC7], a
+ ld [hFFC8], a
ld [hSCY], a
ld a, $1
@@ -74,9 +74,8 @@
ld [hBGMapMode], a
ld hl, wJumptableIndex
xor a
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
call WipeLYOverrides
ret
@@ -120,7 +119,7 @@
ld a, $6
ld [rSVBK], a
push hl
- ld hl, w6_d000
+ ld hl, wDecompressScratch
ld bc, $28 * $10
.loop
@@ -132,7 +131,7 @@
jr nz, .loop
pop hl
- ld de, w6_d000
+ ld de, wDecompressScratch
ld b, BANK(Function8c2cf) ; BANK(@)
ld c, $28
call Request2bpp
@@ -146,20 +145,10 @@
FlashyTransitionToBattle: ; 8c314
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, .jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .dw, wJumptableIndex
; 8c323
-.jumptable: ; 8c323 (23:4323)
+.dw: ; 8c323 (23:4323)
dw StartTrainerBattle_DetermineWhichAnimation ; 00
; Animation 1: cave
@@ -264,8 +253,8 @@
ret
.DoFlashAnimation: ; 8c3b3 (23:43b3)
- ld a, [wd847]
- cp -1
+ ld a, [wTimeOfDayPalset]
+ cp %11111111 ; dark cave
jr z, .done
ld hl, wcf64
ld a, [hl]
@@ -278,7 +267,7 @@
ld a, [hl]
cp %00000001
jr z, .done
- ld [wcfc7], a
+ ld [wBGP], a
call DmgToCgbBGPals
and a
ret
@@ -314,11 +303,11 @@
call StartTrainerBattle_NextScene
ld a, $43
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
xor a
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, $90
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
xor a
ld [wcf64], a
ld [wcf65], a
@@ -784,9 +773,8 @@
ld a, d
ld d, 0
ld hl, .sinewave
-rept 2
add hl, de
-endr
+ add hl, de
ld e, [hl]
inc hl
ld d, [hl]
--- a/engine/billspc.asm
+++ b/engine/billspc.asm
@@ -13,19 +13,19 @@
ld [hInMenu], a
xor a
ld [hMapAnims], a
- call Functione2963
+ call BillsPC_InitRAM
xor a
- ld [wcb2e], a
+ ld [wBillsPC_LoadedBox], a
call DelayFrame
-.asm_e23b4
+.loop
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
- jr nz, .asm_e23c6
- call Functione23d5
+ jr nz, .done
+ call .RunJumptable
call DelayFrame
- jr .asm_e23b4
-.asm_e23c6
+ jr .loop
+.done
call ClearSprites
pop af
ld [hInMenu], a
@@ -35,56 +35,57 @@
ld [Options], a
ret
-Functione23d5: ; e23d5 (38:63d5)
+.RunJumptable: ; e23d5 (38:63d5)
ld a, [wJumptableIndex]
- ld hl, Jumptable_e23df
- call Functione33df
+ ld hl, .Jumptable
+ call BillsPC_Jumptable
jp [hl]
-Jumptable_e23df: ; e23df (38:63df)
- dw Functione23e9
- dw Functione241a
- dw Functione245d
- dw Functione247d
- dw Functione2992
+.Jumptable: ; e23df (38:63df)
+
+ dw .Init
+ dw .HandleJoypad
+ dw .WhatsUp
+ dw .Submenu
+ dw BillsPC_EndJumptableLoop
-Functione23e9: ; e23e9 (38:63e9)
+.Init: ; e23e9 (38:63e9)
xor a
ld [hBGMapMode], a
call ClearSprites
- call Functione2d30
- call Functione2a8e
+ call CopyBoxmonSpecies
+ call BillsPC_BoxName
ld de, PCString_ChooseaPKMN
- call Functione2a6e
+ call BillsPC_PlaceString
ld a, $5
- ld [wcb2d], a
- call Functione2c2c
+ ld [wBillsPC_NumMonsOnScreen], a
+ call BillsPC_RefreshTextboxes
call PCMonInfo
ld a, $ff
ld [CurPartySpecies], a
- ld a, $17
- call Functione33d0
+ ld a, SCGB_17
+ call BillsPC_ApplyPalettes
call WaitBGMap
- call Functione2e01
- call Functione298d
+ call BillsPC_UpdateSelectionCursor
+ call BillsPC_IncrementJumptableIndex
ret
-Functione241a: ; e241a (38:641a)
+.HandleJoypad: ; e241a (38:641a)
ld hl, hJoyPressed ; $ffa7
ld a, [hl]
and B_BUTTON
- jr nz, .asm_e2457
+ jr nz, .b_button
ld a, [hl]
and A_BUTTON
- jr nz, .asm_e2443
- call Functione29b5
+ jr nz, .a_button
+ call Withdraw_UpDown
and a
ret z
- call Functione2e01
+ call BillsPC_UpdateSelectionCursor
xor a
ld [hBGMapMode], a
- call Functione2c2c
+ call BillsPC_RefreshTextboxes
call PCMonInfo
ld a, $1
ld [hBGMapMode], a
@@ -91,50 +92,51 @@
call DelayFrame
call DelayFrame
ret
-.asm_e2443
- call Functione2def
+
+.a_button
+ call BillsPC_GetSelectedPokemonSpecies
and a
ret z
- cp $ff
- jr z, .asm_e2457
+ cp -1
+ jr z, .b_button
ld a, $2
ld [wJumptableIndex], a
ret
; e2452 (38:6452)
-.asm_e2452
+.go_back
ld hl, wJumptableIndex
dec [hl]
ret
-.asm_e2457
+.b_button
ld a, $4
ld [wJumptableIndex], a
ret
-Functione245d: ; e245d (38:645d)
+.WhatsUp: ; e245d (38:645d)
xor a
ld [hBGMapMode], a
call ClearSprites
- call Functione2def
+ call BillsPC_GetSelectedPokemonSpecies
ld [CurPartySpecies], a
- ld a, $17
- call Functione33d0
+ ld a, SCGB_17
+ call BillsPC_ApplyPalettes
ld de, PCString_WhatsUp
- call Functione2a6e
+ call BillsPC_PlaceString
ld a, $1
- ld [MenuSelection2], a
- call Functione298d
+ ld [wMenuCursorY], a
+ call BillsPC_IncrementJumptableIndex
ret
-Functione247d: ; e247d (38:647d)
+.Submenu: ; e247d (38:647d)
ld hl, BillsPCDepositMenuDataHeader
call CopyMenuDataHeader
- ld a, [MenuSelection2]
- call Function1d4b
- call InterpretMenu2
+ ld a, [wMenuCursorY]
+ call StoreTo_wMenuCursorBuffer
+ call VerticalMenu
jp c, BillsPCDepositFuncCancel
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
and $3
ld e, a
@@ -149,6 +151,7 @@
jp [hl]
BillsPCDepositJumptable: ; e24a1 (38:64a1)
+
dw BillsPCDepositFuncDeposit ; Deposit Pokemon
dw BillsPCDepositFuncStats ; Pokemon Stats
dw BillsPCDepositFuncRelease ; Release Pokemon
@@ -156,69 +159,71 @@
BillsPCDepositFuncDeposit: ; e24a9 (38:64a9)
- call Functione2f18
+ call BillsPC_CheckMail_PreventBlackout
jp c, BillsPCDepositFuncCancel
- call Functione307c
- jr c, .no_overflow_31
+ call DepositPokemon
+ jr c, .box_full
ld a, $0
ld [wJumptableIndex], a
xor a
- ld [wcb2b], a
- ld [wcb2a], a
+ ld [wBillsPC_CursorPosition], a
+ ld [wBillsPC_ScrollPosition], a
ret
-.no_overflow_31
+
+.box_full
ld de, PCString_WhatsUp
- call Functione2a6e
+ call BillsPC_PlaceString
ret
BillsPCDepositFuncStats: ; e24c8 (38:64c8)
call LoadStandardMenuDataHeader
- call Functione2f7e
+ call BillsPC_StatsScreen
call ExitMenu
call PCMonInfo
- call Functione2def
+ call BillsPC_GetSelectedPokemonSpecies
ld [CurPartySpecies], a
- ld a, $17
- call Functione33d0
+ ld a, SCGB_17
+ call BillsPC_ApplyPalettes
ret
BillsPCDepositFuncRelease: ; e24e0 (38:64e0)
- call Functione2f18
+ call BillsPC_CheckMail_PreventBlackout
jr c, BillsPCDepositFuncCancel
- call Functione2f5f
+ call BillsPC_IsMonAnEgg
jr c, BillsPCDepositFuncCancel
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
push af
ld de, PCString_ReleasePKMN
- call Functione2a6e
+ call BillsPC_PlaceString
call LoadStandardMenuDataHeader
lb bc, 14, 11
call PlaceYesNoBox
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
call ExitMenu
and a
- jr nz, .asm_e252c
- ld a, [wcb2b]
- ld hl, wcb2a
+ jr nz, .failed_release
+ ld a, [wBillsPC_CursorPosition]
+ ld hl, wBillsPC_ScrollPosition
add [hl]
ld [CurPartyMon], a
xor a
ld [wPokemonWithdrawDepositParameter], a
- callba Functione039
- call Functione3180
+ callba RemoveMonFromPartyOrBox
+ call ReleasePKMN_ByePKMN
ld a, $0
ld [wJumptableIndex], a
xor a
- ld [wcb2b], a
- ld [wcb2a], a
+ ld [wBillsPC_CursorPosition], a
+ ld [wBillsPC_ScrollPosition], a
pop af
ret
-.asm_e252c
+
+.failed_release
ld de, PCString_WhatsUp
- call Functione2a6e
+ call BillsPC_PlaceString
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ret
BillsPCDepositFuncCancel: ; e2537 (38:6537)
@@ -231,11 +236,11 @@
db $40 ; flags
db 04, 09 ; start coords
db 13, 19 ; end coords
- dw BillsPCDepositMenuData
+ dw .MenuData2
db 1 ; default option
; 0xe2545
-BillsPCDepositMenuData: ; 0xe2545 (38:6545)
+.MenuData2: ; 0xe2545 (38:6545)
db $80 ; flags
db 4 ; items
db "DEPOSIT@"
@@ -244,18 +249,19 @@
db "CANCEL@"
; 0xe2564 (38:6564)
-Functione2564: ; e2564
+BillsPC_ClearThreeBoxes: ; e2564
+; unreferenced
hlcoord 0, 0
- ld b, $4
- ld c, $8
+ ld b, 4
+ ld c, 8
call ClearBox
hlcoord 0, 4
- ld b, $a
- ld c, $9
+ ld b, 10
+ ld c, 9
call ClearBox
hlcoord 0, 14
- ld b, $2
- ld c, $8
+ ld b, 2
+ ld c, 8
call ClearBox
ret
; e2583
@@ -275,19 +281,19 @@
ld [hInMenu], a
xor a
ld [hMapAnims], a
- call Functione2963
- ld a, $f
- ld [wcb2e], a
+ call BillsPC_InitRAM
+ ld a, NUM_BOXES + 1
+ ld [wBillsPC_LoadedBox], a
call DelayFrame
-.asm_e25a7
+.loop
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
- jr nz, .no_overflow_49
- call Functione25c8
+ jr nz, .done
+ call .RunJumptable
call DelayFrame
- jr .asm_e25a7
-.no_overflow_49
+ jr .loop
+.done
call ClearSprites
pop af
ld [hInMenu], a
@@ -297,58 +303,59 @@
ld [Options], a
ret
-Functione25c8: ; e25c8 (38:65c8)
+.RunJumptable: ; e25c8 (38:65c8)
ld a, [wJumptableIndex]
- ld hl, .jumptable
- call Functione33df
+ ld hl, .Jumptable
+ call BillsPC_Jumptable
jp [hl]
-.jumptable: ; e25d2 (38:65d2)
- dw Functione25dc
- dw Functione2612
- dw Functione2655
+.Jumptable: ; e25d2 (38:65d2)
+
+ dw .Init
+ dw .Joypad
+ dw .PrepSubmenu
dw BillsPC_Withdraw
- dw Functione2992
+ dw BillsPC_EndJumptableLoop
-Functione25dc: ; e25dc (38:65dc)
- ld a, $f
- ld [wcb2e], a
+.Init: ; e25dc (38:65dc)
+ ld a, NUM_BOXES + 1
+ ld [wBillsPC_LoadedBox], a
xor a
ld [hBGMapMode], a
call ClearSprites
- call Functione2d30
- call Functione2a8e
+ call CopyBoxmonSpecies
+ call BillsPC_BoxName
ld de, PCString_ChooseaPKMN
- call Functione2a6e
+ call BillsPC_PlaceString
ld a, $5
- ld [wcb2d], a
- call Functione2c2c
+ ld [wBillsPC_NumMonsOnScreen], a
+ call BillsPC_RefreshTextboxes
call PCMonInfo
ld a, $ff
ld [CurPartySpecies], a
- ld a, $17
- call Functione33d0
+ ld a, SCGB_17
+ call BillsPC_ApplyPalettes
call WaitBGMap
- call Functione2e01
- call Functione298d
+ call BillsPC_UpdateSelectionCursor
+ call BillsPC_IncrementJumptableIndex
ret
-Functione2612: ; e2612 (38:6612)
+.Joypad: ; e2612 (38:6612)
ld hl, hJoyPressed ; $ffa7
ld a, [hl]
and B_BUTTON
- jr nz, .asm_e264f
+ jr nz, .b_button
ld a, [hl]
and A_BUTTON
- jr nz, .asm_e263b
- call Functione29b5
+ jr nz, .a_button
+ call Withdraw_UpDown
and a
ret z
- call Functione2e01
+ call BillsPC_UpdateSelectionCursor
xor a
ld [hBGMapMode], a
- call Functione2c2c
+ call BillsPC_RefreshTextboxes
call PCMonInfo
ld a, $1
ld [hBGMapMode], a
@@ -355,56 +362,55 @@
call DelayFrame
call DelayFrame
ret
-.asm_e263b
- call Functione2def
+.a_button
+ call BillsPC_GetSelectedPokemonSpecies
and a
ret z
- cp $ff
- jr z, .asm_e264f
+ cp -1
+ jr z, .b_button
ld a, $2
ld [wJumptableIndex], a
- ret
-; e264a (38:664a)
+ ret ; e264a (38:664a)
-.asm_e264a
+.unused
ld hl, wJumptableIndex
dec [hl]
ret
-.asm_e264f
+.b_button
ld a, $4
ld [wJumptableIndex], a
ret
; e2655
-Functione2655: ; e2655 (38:6655)
+.PrepSubmenu: ; e2655 (38:6655)
xor a
ld [hBGMapMode], a
call ClearSprites
- call Functione2def
+ call BillsPC_GetSelectedPokemonSpecies
ld [CurPartySpecies], a
- ld a, $17
- call Functione33d0
+ ld a, SCGB_17
+ call BillsPC_ApplyPalettes
ld de, PCString_WhatsUp
- call Functione2a6e
+ call BillsPC_PlaceString
ld a, $1
- ld [MenuSelection2], a
- call Functione298d
+ ld [wMenuCursorY], a
+ call BillsPC_IncrementJumptableIndex
ret
BillsPC_Withdraw: ; e2675 (38:6675)
ld hl, .MenuDataHeader
call CopyMenuDataHeader
- ld a, [MenuSelection2]
- call Function1d4b
- call InterpretMenu2
+ ld a, [wMenuCursorY]
+ call StoreTo_wMenuCursorBuffer
+ call VerticalMenu
jp c, .cancel
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
and 3
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -413,7 +419,7 @@
ld l, a
jp [hl]
-.jumptable: ; e2699 (38:6699) #mark
+.dw: ; e2699 (38:6699) #mark
dw .withdraw ; Withdraw
dw .stats ; Stats
dw .release ; Release
@@ -421,7 +427,7 @@
.withdraw: ; e26a1 (38:66a1)
- call Functione2f18
+ call BillsPC_CheckMail_PreventBlackout
jp c, .cancel
call TryWithdrawPokemon
jr c, .FailedWithdraw
@@ -428,60 +434,60 @@
ld a, $0
ld [wJumptableIndex], a
xor a
- ld [wcb2b], a
- ld [wcb2a], a
+ ld [wBillsPC_CursorPosition], a
+ ld [wBillsPC_ScrollPosition], a
ret
.FailedWithdraw
ld de, PCString_WhatsUp
- call Functione2a6e
+ call BillsPC_PlaceString
ret
.stats: ; e26c0 (38:66c0)
call LoadStandardMenuDataHeader
- call Functione2f7e
+ call BillsPC_StatsScreen
call ExitMenu
call PCMonInfo
- call Functione2def
+ call BillsPC_GetSelectedPokemonSpecies
ld [CurPartySpecies], a
- ld a, $17
- call Functione33d0
+ ld a, SCGB_17
+ call BillsPC_ApplyPalettes
ret
.release: ; e26d8 (38:66d8)
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
push af
- call Functione2f5f
+ call BillsPC_IsMonAnEgg
jr c, .FailedRelease
ld de, PCString_ReleasePKMN
- call Functione2a6e
+ call BillsPC_PlaceString
call LoadStandardMenuDataHeader
lb bc, 14, 11
call PlaceYesNoBox
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
call ExitMenu
and a
jr nz, .FailedRelease
- ld a, [wcb2b]
- ld hl, wcb2a
+ ld a, [wBillsPC_CursorPosition]
+ ld hl, wBillsPC_ScrollPosition
add [hl]
ld [CurPartyMon], a
ld a, PC_DEPOSIT
ld [wPokemonWithdrawDepositParameter], a
- callba Functione039
- call Functione3180
+ callba RemoveMonFromPartyOrBox
+ call ReleasePKMN_ByePKMN
ld a, $0
ld [wJumptableIndex], a
xor a
- ld [wcb2b], a
- ld [wcb2a], a
+ ld [wBillsPC_CursorPosition], a
+ ld [wBillsPC_ScrollPosition], a
pop af
ret
.FailedRelease
ld de, PCString_WhatsUp
- call Functione2a6e
+ call BillsPC_PlaceString
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ret
.cancel: ; e272b (38:672b)
@@ -522,11 +528,11 @@
ld [hInMenu], a
xor a
ld [hMapAnims], a
- call Functione2963
+ call BillsPC_InitRAM
ld a, [wCurBox]
and $f
inc a
- ld [wcb2e], a
+ ld [wBillsPC_LoadedBox], a
call DelayFrame
.asm_e2781
call JoyTextDelay
@@ -533,7 +539,7 @@
ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_e2793
- call Functione27a2
+ call .RunJumptable
call DelayFrame
jr .asm_e2781
@@ -548,61 +554,62 @@
ret
; e27a2
-Functione27a2: ; e27a2
+.RunJumptable: ; e27a2
ld a, [wJumptableIndex]
- ld hl, Jumptable_e27ac
- call Functione33df
+ ld hl, .Jumptable
+ call BillsPC_Jumptable
jp [hl]
; e27ac
-Jumptable_e27ac: ; e27ac
- dw Functione27ba
- dw Functione27eb
- dw Functione283d
- dw Functione285d
- dw Functione28df
- dw Functione2903
- dw Functione2992
+.Jumptable: ; e27ac
+
+ dw .Init
+ dw .Joypad
+ dw .PrepSubmenu
+ dw .MoveMonWOMailSubmenu
+ dw .PrepInsertCursor
+ dw .Joypad2
+ dw BillsPC_EndJumptableLoop
; e27ba
-Functione27ba: ; e27ba
+.Init: ; e27ba
xor a
ld [hBGMapMode], a
call ClearSprites
- call Functione2d30
+ call CopyBoxmonSpecies
ld de, PCString_ChooseaPKMN
- call Functione2a6e
- ld a, $5
- ld [wcb2d], a
- call Functione2c2c
- call Functione2a80
+ call BillsPC_PlaceString
+ ld a, 5
+ ld [wBillsPC_NumMonsOnScreen], a
+ call BillsPC_RefreshTextboxes
+ call BillsPC_MoveMonWOMail_BoxNameAndArrows
call PCMonInfo
ld a, $ff
ld [CurPartySpecies], a
- ld a, $17
- call Functione33d0
+ ld a, SCGB_17
+ call BillsPC_ApplyPalettes
call WaitBGMap
- call Functione2e01
- call Functione298d
+ call BillsPC_UpdateSelectionCursor
+ call BillsPC_IncrementJumptableIndex
ret
; e27eb
-Functione27eb: ; e27eb
+.Joypad: ; e27eb
ld hl, hJoyPressed
ld a, [hl]
and B_BUTTON
- jr nz, .asm_e2837
+ jr nz, .b_button
ld a, [hl]
and A_BUTTON
- jr nz, .asm_e2823
- call Functione29d0
- jr c, .asm_e2816
+ jr nz, .a_button
+ call MovePkmnWithoutMail_DPad
+ jr c, .d_pad
and a
ret z
- call Functione2e01
+ call BillsPC_UpdateSelectionCursor
xor a
ld [hBGMapMode], a
- call Functione2c2c
+ call BillsPC_RefreshTextboxes
call PCMonInfo
ld a, $1
ld [hBGMapMode], a
@@ -610,63 +617,64 @@
call DelayFrame
ret
-.asm_e2816
+.d_pad
xor a
- ld [wcb2b], a
- ld [wcb2a], a
+ ld [wBillsPC_CursorPosition], a
+ ld [wBillsPC_ScrollPosition], a
ld a, $0
ld [wJumptableIndex], a
ret
-.asm_e2823
- call Functione2def
+.a_button
+ call BillsPC_GetSelectedPokemonSpecies
and a
ret z
- cp $ff
- jr z, .asm_e2837
+ cp -1
+ jr z, .b_button
ld a, $2
ld [wJumptableIndex], a
ret
+.unused
ld hl, wJumptableIndex
dec [hl]
ret
-.asm_e2837
+.b_button
ld a, $6
ld [wJumptableIndex], a
ret
; e283d
-Functione283d: ; e283d
+.PrepSubmenu: ; e283d
xor a
ld [hBGMapMode], a
call ClearSprites
- call Functione2def
+ call BillsPC_GetSelectedPokemonSpecies
ld [CurPartySpecies], a
- ld a, $17
- call Functione33d0
+ ld a, SCGB_17
+ call BillsPC_ApplyPalettes
ld de, PCString_WhatsUp
- call Functione2a6e
+ call BillsPC_PlaceString
ld a, $1
- ld [MenuSelection2], a
- call Functione298d
+ ld [wMenuCursorY], a
+ call BillsPC_IncrementJumptableIndex
ret
; e285d
-Functione285d: ; e285d
- ld hl, MenuDataHeader_0xe28c3
+.MoveMonWOMailSubmenu: ; e285d
+ ld hl, .MenuDataHeader
call CopyMenuDataHeader
- ld a, [MenuSelection2]
- call Function1d4b
- call InterpretMenu2
- jp c, Functione28bd
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
+ call StoreTo_wMenuCursorBuffer
+ call VerticalMenu
+ jp c, .Cancel
+ ld a, [wMenuCursorY]
dec a
and 3
ld e, a
ld d, 0
- ld hl, Jumptable_e2881
+ ld hl, .Jumptable2
rept 2
add hl, de
endr
@@ -676,53 +684,53 @@
jp [hl]
; e2881
-Jumptable_e2881: ; e2881
- dw Functione2887
- dw Functione28a5
- dw Functione28bd
+.Jumptable2: ; e2881
+ dw .Move
+ dw .Stats
+ dw .Cancel
; e2887
-Functione2887: ; e2887
- call Functione2f18
- jp c, Functione28bd
- ld a, [wcb2a]
- ld [wcb2f], a
- ld a, [wcb2b]
- ld [wcb30], a
- ld a, [wcb2e]
- ld [wcb31], a
+.Move: ; e2887
+ call BillsPC_CheckMail_PreventBlackout
+ jp c, .Cancel
+ ld a, [wBillsPC_ScrollPosition]
+ ld [wBillsPC_BackupScrollPosition], a
+ ld a, [wBillsPC_CursorPosition]
+ ld [wBillsPC_BackupCursorPosition], a
+ ld a, [wBillsPC_LoadedBox]
+ ld [wBillsPC_BackupLoadedBox], a
ld a, $4
ld [wJumptableIndex], a
ret
; e28a5
-Functione28a5: ; e28a5
+.Stats: ; e28a5
call LoadStandardMenuDataHeader
- call Functione2f7e
+ call BillsPC_StatsScreen
call ExitMenu
call PCMonInfo
- call Functione2def
+ call BillsPC_GetSelectedPokemonSpecies
ld [CurPartySpecies], a
- ld a, $17
- call Functione33d0
+ ld a, SCGB_17
+ call BillsPC_ApplyPalettes
ret
; e28bd
-Functione28bd: ; e28bd
+.Cancel: ; e28bd
ld a, $0
ld [wJumptableIndex], a
ret
; e28c3
-MenuDataHeader_0xe28c3: ; 0xe28c3
+.MenuDataHeader: ; 0xe28c3
db $40 ; flags
db 04, 09 ; start coords
db 13, 19 ; end coords
- dw MenuData2_0xe28cb
+ dw .MenuData2
db 1 ; default option
; 0xe28cb
-MenuData2_0xe28cb: ; 0xe28cb
+.MenuData2: ; 0xe28cb
db $80 ; flags
db 3 ; items
db "MOVE@"
@@ -730,39 +738,39 @@
db "CANCEL@"
; 0xe28df
-Functione28df: ; e28df
+.PrepInsertCursor: ; e28df
xor a
ld [hBGMapMode], a
- call Functione2d30
+ call CopyBoxmonSpecies
ld de, PCString_MoveToWhere
- call Functione2a6e
+ call BillsPC_PlaceString
ld a, $5
- ld [wcb2d], a
- call Functione2c2c
- call Functione2a80
+ ld [wBillsPC_NumMonsOnScreen], a
+ call BillsPC_RefreshTextboxes
+ call BillsPC_MoveMonWOMail_BoxNameAndArrows
call ClearSprites
- call Functione2e8c
+ call BillsPC_UpdateInsertCursor
call WaitBGMap
- call Functione298d
+ call BillsPC_IncrementJumptableIndex
ret
; e2903
-Functione2903: ; e2903
+.Joypad2: ; e2903
ld hl, hJoyPressed
ld a, [hl]
and B_BUTTON
- jr nz, .asm_e294b
+ jr nz, .b_button_2
ld a, [hl]
and A_BUTTON
- jr nz, .asm_e2938
- call Functione29f4
- jr c, .asm_e292b
+ jr nz, .a_button_2
+ call MovePkmnWithoutMail_DPad_2
+ jr c, .dpad_2
and a
ret z
- call Functione2e8c
+ call BillsPC_UpdateInsertCursor
xor a
ld [hBGMapMode], a
- call Functione2c2c
+ call BillsPC_RefreshTextboxes
ld a, $1
ld [hBGMapMode], a
call DelayFrame
@@ -769,45 +777,45 @@
call DelayFrame
ret
-.asm_e292b
+.dpad_2
xor a
- ld [wcb2b], a
- ld [wcb2a], a
+ ld [wBillsPC_CursorPosition], a
+ ld [wBillsPC_ScrollPosition], a
ld a, $4
ld [wJumptableIndex], a
ret
-.asm_e2938
- call Functione2ee5
- jr c, .asm_e2946
- call Functione31e7
+.a_button_2
+ call BillsPC_CheckSpaceInDestination
+ jr c, .no_space
+ call MovePKMNWitoutMail_InsertMon
ld a, $0
ld [wJumptableIndex], a
ret
-.asm_e2946
+.no_space
ld hl, wJumptableIndex
dec [hl]
ret
-.asm_e294b
- ld a, [wcb2f]
- ld [wcb2a], a
- ld a, [wcb30]
- ld [wcb2b], a
- ld a, [wcb31]
- ld [wcb2e], a
+.b_button_2
+ ld a, [wBillsPC_BackupScrollPosition]
+ ld [wBillsPC_ScrollPosition], a
+ ld a, [wBillsPC_BackupCursorPosition]
+ ld [wBillsPC_CursorPosition], a
+ ld a, [wBillsPC_BackupLoadedBox]
+ ld [wBillsPC_LoadedBox], a
ld a, $0
ld [wJumptableIndex], a
ret
; e2963
-Functione2963: ; e2963 (38:6963)
+BillsPC_InitRAM: ; e2963 (38:6963)
call ClearBGPalettes
call ClearSprites
call ClearTileMap
- call Functione33e8
- ld hl, OverworldMap
+ call BillsPC_InitGFX
+ ld hl, wBillsPCPokemonList
ld bc, $338
xor a
call ByteFill
@@ -816,185 +824,185 @@
ld [wcf64], a
ld [wcf65], a
ld [wcf66], a
- ld [wcb2b], a
- ld [wcb2a], a
+ ld [wBillsPC_CursorPosition], a
+ ld [wBillsPC_ScrollPosition], a
ret
-Functione298d: ; e298d (38:698d)
+BillsPC_IncrementJumptableIndex: ; e298d (38:698d)
ld hl, wJumptableIndex
inc [hl]
ret
-Functione2992: ; e2992 (38:6992)
+BillsPC_EndJumptableLoop: ; e2992 (38:6992)
ld hl, wJumptableIndex
set 7, [hl]
ret
-Functione2998: ; e2998 (38:6998)
- ld a, [wcb2d]
+_StatsScreenDPad: ; e2998 (38:6998)
+ ld a, [wBillsPC_NumMonsOnScreen]
ld d, a
- ld a, [wcb2c]
+ ld a, [wBillsPC_NumMonsInBox]
and a
- jr z, .asm_e29b2
+ jr z, .empty
dec a
cp $1
- jr z, .asm_e29b2
+ jr z, .empty
ld e, a
ld a, [hl]
and D_UP
- jr nz, Functione2a18
+ jr nz, BillsPC_PressUp
ld a, [hl]
and D_DOWN
- jr nz, Functione2a2c
-.asm_e29b2
- jp Functione2a65
+ jr nz, BillsPC_PressDown
+.empty
+ jp BillsPC_JoypadDidNothing
-Functione29b5: ; e29b5 (38:69b5)
+Withdraw_UpDown: ; e29b5 (38:69b5)
ld hl, hJoyLast
- ld a, [wcb2d]
+ ld a, [wBillsPC_NumMonsOnScreen]
ld d, a
- ld a, [wcb2c]
+ ld a, [wBillsPC_NumMonsInBox]
ld e, a
and a
- jr z, .asm_e29cd
+ jr z, .empty
ld a, [hl]
and D_UP
- jr nz, Functione2a18
+ jr nz, BillsPC_PressUp
ld a, [hl]
and D_DOWN
- jr nz, Functione2a2c
-.asm_e29cd
- jp Functione2a65
+ jr nz, BillsPC_PressDown
+.empty
+ jp BillsPC_JoypadDidNothing
; e29d0 (38:69d0)
-Functione29d0: ; e29d0
+MovePkmnWithoutMail_DPad: ; e29d0
ld hl, hJoyLast
- ld a, [wcb2d]
+ ld a, [wBillsPC_NumMonsOnScreen]
ld d, a
- ld a, [wcb2c]
+ ld a, [wBillsPC_NumMonsInBox]
ld e, a
and a
- jr z, .asm_e29e8
+ jr z, .check_left_right
ld a, [hl]
and D_UP
- jr nz, Functione2a18
+ jr nz, BillsPC_PressUp
ld a, [hl]
and D_DOWN
- jr nz, Functione2a2c
+ jr nz, BillsPC_PressDown
-.asm_e29e8
+.check_left_right
ld a, [hl]
and D_LEFT
- jr nz, Functione2a48
+ jr nz, BillsPC_PressLeft
ld a, [hl]
and D_RIGHT
- jr nz, Functione2a56
- jr Functione2a65
+ jr nz, BillsPC_PressRight
+ jr BillsPC_JoypadDidNothing
-Functione29f4: ; e29f4
+MovePkmnWithoutMail_DPad_2: ; e29f4
ld hl, hJoyLast
- ld a, [wcb2d]
+ ld a, [wBillsPC_NumMonsOnScreen]
ld d, a
- ld a, [wcb2c]
+ ld a, [wBillsPC_NumMonsInBox]
ld e, a
and a
- jr z, .asm_e2a0c
+ jr z, .check_left_right
ld a, [hl]
and D_UP
- jr nz, Functione2a18
+ jr nz, BillsPC_PressUp
ld a, [hl]
and D_DOWN
- jr nz, Functione2a2c
+ jr nz, BillsPC_PressDown
-.asm_e2a0c
+.check_left_right
ld a, [hl]
and D_LEFT
- jr nz, Functione2a48
+ jr nz, BillsPC_PressLeft
ld a, [hl]
and D_RIGHT
- jr nz, Functione2a56
- jr Functione2a65
+ jr nz, BillsPC_PressRight
+ jr BillsPC_JoypadDidNothing
-Functione2a18: ; e2a18 (38:6a18)
- ld hl, wcb2b
+BillsPC_PressUp: ; e2a18 (38:6a18)
+ ld hl, wBillsPC_CursorPosition
ld a, [hl]
and a
- jr z, .asm_e2a22
+ jr z, .top
dec [hl]
- jr Functione2a68
+ jr BillsPC_UpDownDidSomething
-.asm_e2a22
- ld hl, wcb2a
+.top
+ ld hl, wBillsPC_ScrollPosition
ld a, [hl]
and a
- jr z, Functione2a65
+ jr z, BillsPC_JoypadDidNothing
dec [hl]
- jr Functione2a68
+ jr BillsPC_UpDownDidSomething
-Functione2a2c: ; e2a2c (38:6a2c)
- ld a, [wcb2b]
- ld hl, wcb2a
+BillsPC_PressDown: ; e2a2c (38:6a2c)
+ ld a, [wBillsPC_CursorPosition]
+ ld hl, wBillsPC_ScrollPosition
add [hl]
inc a
cp e
- jr nc, Functione2a65
+ jr nc, BillsPC_JoypadDidNothing
- ld hl, wcb2b
+ ld hl, wBillsPC_CursorPosition
ld a, [hl]
inc a
cp d
- jr nc, .asm_e2a42
+ jr nc, .not_bottom
inc [hl]
- jr Functione2a68
+ jr BillsPC_UpDownDidSomething
-.asm_e2a42
- ld hl, wcb2a
+.not_bottom
+ ld hl, wBillsPC_ScrollPosition
inc [hl]
- jr Functione2a68
+ jr BillsPC_UpDownDidSomething
; e2a48 (38:6a48)
-Functione2a48: ; e2a48
- ld hl, wcb2e
+BillsPC_PressLeft: ; e2a48
+ ld hl, wBillsPC_LoadedBox
ld a, [hl]
and a
- jr z, .asm_e2a52
+ jr z, .wrap_around
dec [hl]
- jr Functione2a6c
+ jr BillsPC_LeftRightDidSomething
-.asm_e2a52
- ld [hl], $e
- jr Functione2a6c
+.wrap_around
+ ld [hl], NUM_BOXES
+ jr BillsPC_LeftRightDidSomething
-Functione2a56: ; e2a56
- ld hl, wcb2e
+BillsPC_PressRight: ; e2a56
+ ld hl, wBillsPC_LoadedBox
ld a, [hl]
- cp $e
- jr z, .asm_e2a61
+ cp NUM_BOXES
+ jr z, .wrap_around
inc [hl]
- jr Functione2a6c
+ jr BillsPC_LeftRightDidSomething
-.asm_e2a61
- ld [hl], $0
- jr Functione2a6c
+.wrap_around
+ ld [hl], 0
+ jr BillsPC_LeftRightDidSomething
-Functione2a65: ; e2a65 (38:6a65)
+BillsPC_JoypadDidNothing: ; e2a65 (38:6a65)
xor a
and a
ret
-Functione2a68: ; e2a68 (38:6a68)
- ld a, $1
+BillsPC_UpDownDidSomething: ; e2a68 (38:6a68)
+ ld a, TRUE
and a
ret
; e2a6c (38:6a6c)
-Functione2a6c: ; e2a6c
+BillsPC_LeftRightDidSomething: ; e2a6c
scf
ret
; e2a6e
-Functione2a6e: ; e2a6e (38:6a6e)
+BillsPC_PlaceString: ; e2a6e (38:6a6e)
push de
hlcoord 0, 15
lb bc, 1, 18
@@ -1005,8 +1013,8 @@
ret
; e2a80 (38:6a80)
-Functione2a80: ; e2a80
- call Functione2a8e
+BillsPC_MoveMonWOMail_BoxNameAndArrows: ; e2a80
+ call BillsPC_BoxName
hlcoord 8, 1
ld [hl], $5f
hlcoord 19, 1
@@ -1014,12 +1022,12 @@
ret
; e2a8e
-Functione2a8e: ; e2a8e (38:6a8e)
+BillsPC_BoxName: ; e2a8e (38:6a8e)
hlcoord 8, 0
lb bc, 1, 10
call TextBox
- ld a, [wcb2e]
+ ld a, [wBillsPC_LoadedBox]
and a
jr z, .party
@@ -1038,7 +1046,7 @@
jr .print
.party
- ld de, String_e2abd
+ ld de, .PartyPKMN
hlcoord 10, 1
call PlaceString
@@ -1045,7 +1053,7 @@
ret
; e2abd (38:6abd)
-String_e2abd:
+.PartyPKMN:
db "PARTY <PK><MN>@"
; e2ac6
@@ -1068,10 +1076,10 @@
lb bc, 1, 3
call ClearBox
- call Functione2def
+ call BillsPC_GetSelectedPokemonSpecies
and a
ret z
- cp $ff
+ cp -1
ret z
ld [wd265], a
@@ -1078,24 +1086,24 @@
hlcoord 1, 4
xor a
ld b, 7
-.asm_e2ae9
+.row
ld c, 7
push af
push hl
-.asm_e2aed
+.col
ld [hli], a
add 7
dec c
- jr nz, .asm_e2aed
+ jr nz, .col
pop hl
- ld de, 20
+ ld de, SCREEN_WIDTH
add hl, de
pop af
inc a
dec b
- jr nz, .asm_e2ae9
+ jr nz, .row
- call Functione2b6d
+ call BillsPC_LoadMonStats
ld a, [wd265]
ld [CurPartySpecies], a
ld [CurSpecies], a
@@ -1105,10 +1113,9 @@
ld de, VTiles2 tile $00
predef GetFrontpic
xor a
- ld [wcb32], a
+ ld [wBillsPC_MonHasMail], a
ld a, [CurPartySpecies]
ld [wd265], a
-
cp EGG
ret z
@@ -1122,7 +1129,7 @@
ld a, $3
ld [MonType], a
callba GetGender
- jr c, .asm_e2b4f
+ jr c, .skip_gender
ld a, "♂"
jr nz, .printgender
ld a, "♀"
@@ -1129,7 +1136,7 @@
.printgender
hlcoord 5, 12
ld [hl], a
-.asm_e2b4f
+.skip_gender
ld a, [TempMonItem]
and a
@@ -1142,7 +1149,7 @@
jr .printitem
ld a, $1
- ld [wcb32], a
+ ld [wBillsPC_MonHasMail], a
ld a, $5c ; mail icon
.printitem
hlcoord 7, 12
@@ -1149,21 +1156,21 @@
ld [hl], a
ret
-Functione2b6d: ; e2b6d (38:6b6d)
- ld a, [wcb2b]
- ld hl, wcb2a
+BillsPC_LoadMonStats: ; e2b6d (38:6b6d)
+ ld a, [wBillsPC_CursorPosition]
+ ld hl, wBillsPC_ScrollPosition
add [hl]
ld e, a
ld d, $0
- ld hl, wc801
+ ld hl, wBillsPCPokemonList + 1
rept 3
add hl, de
endr
ld a, [hl]
and a
- jr z, .asm_e2bc6
- cp $f
- jr z, .asm_e2bf5
+ jr z, .party
+ cp NUM_BOXES + 1
+ jr z, .sBox
ld b, a
call GetBoxPointer
ld a, b
@@ -1199,7 +1206,8 @@
ld [de], a
call CloseSRAM
ret
-.asm_e2bc6
+
+.party
ld hl, PartyMon1Level
ld bc, PARTYMON_STRUCT_LENGTH
ld a, e
@@ -1224,7 +1232,7 @@
ld [de], a
ret
-.asm_e2bf5
+.sBox
ld a, BANK(sBox)
call GetSRAMBank
ld hl, sBoxMon1Level
@@ -1255,7 +1263,7 @@
call CloseSRAM
ret
-Functione2c2c: ; e2c2c (38:6c2c)
+BillsPC_RefreshTextboxes: ; e2c2c (38:6c2c)
hlcoord 8, 2
lb bc, 10, 10
call TextBox
@@ -1265,10 +1273,10 @@
hlcoord 19, 2
ld [hl], "┘"
- ld a, [wcb2a]
+ ld a, [wBillsPC_ScrollPosition]
ld e, a
ld d, 0
- ld hl, OverworldMap
+ ld hl, wBillsPCPokemonList
rept 3
add hl, de
endr
@@ -1275,14 +1283,14 @@
ld e, l
ld d, h
hlcoord 9, 4
- ld a, [wcb2d]
-.asm_e2c53
+ ld a, [wBillsPC_NumMonsOnScreen]
+.loop
push af
push de
push hl
- call Functione2c6e
+ call .PlaceNickname
pop hl
- ld de, $28
+ ld de, 2 * SCREEN_WIDTH
add hl, de
pop de
rept 3
@@ -1290,25 +1298,25 @@
endr
pop af
dec a
- jr nz, .asm_e2c53
+ jr nz, .loop
ret
; e2c67 (38:6c67)
-String_e2c67:
+.CancelString:
db "CANCEL@"
; e2c6e
-Functione2c6e: ; e2c6e (38:6c6e)
+.PlaceNickname: ; e2c6e (38:6c6e)
ld a, [de]
and a
ret z
- cp $ff
- jr nz, .asm_e2c7c
- ld de, String_e2c67
+ cp -1
+ jr nz, .get_nickname
+ ld de, .CancelString
call PlaceString
ret
-.asm_e2c7c
+.get_nickname
inc de
ld a, [de]
ld b, a
@@ -1317,9 +1325,9 @@
ld e, a
ld a, b
and a
- jr z, .asm_e2cc8
- cp $f
- jr z, .asm_e2cf1
+ jr z, .party
+ cp NUM_BOXES + 1
+ jr z, .sBox
push hl
call GetBoxPointer
ld a, b
@@ -1333,7 +1341,7 @@
ld a, [hl]
pop hl
and a
- jr z, .asm_e2cc2
+ jr z, .boxfail
ld bc, sBoxMonNicknames - sBox
add hl, bc
ld bc, PKMN_NAME_LENGTH
@@ -1348,12 +1356,12 @@
call PlaceString
ret
-.asm_e2cc2
+.boxfail
call CloseSRAM
pop hl
- jr .asm_e2d23
+ jr .placeholder_string
-.asm_e2cc8
+.party
push hl
ld hl, PartySpecies
ld d, $0
@@ -1360,7 +1368,7 @@
add hl, de
ld a, [hl]
and a
- jr z, .asm_e2cee
+ jr z, .partyfail
ld hl, PartyMonNicknames
ld bc, PKMN_NAME_LENGTH
ld a, e
@@ -1373,11 +1381,11 @@
call PlaceString
ret
-.asm_e2cee
+.partyfail
pop hl
- jr .asm_e2d23
+ jr .placeholder_string
-.asm_e2cf1
+.sBox
push hl
ld a, BANK(sBox)
call GetSRAMBank
@@ -1386,7 +1394,7 @@
add hl, de
ld a, [hl]
and a
- jr z, .asm_e2d1f
+ jr z, .sBoxFail
ld hl, sBoxMonNicknames
ld bc, PKMN_NAME_LENGTH
ld a, e
@@ -1400,47 +1408,29 @@
call PlaceString
ret
-.asm_e2d1f
+.sBoxFail
call CloseSRAM
pop hl
-.asm_e2d23
- ld de, String_e2d2a
+.placeholder_string
+ ld de, .Placeholder
call PlaceString
ret
; e2d2a (38:6d2a)
-String_e2d2a:
+.Placeholder:
db "-----@"
; e2d30
-Functione2d30: ; e2d30 (38:6d30)
- xor a
- ld hl, OverworldMap
- ld bc, $5a
- call ByteFill
- ld de, OverworldMap
- xor a
- ld [wd003], a
- ld [wd004], a
- ld a, [wcb2e]
- and a
- jr z, .asm_e2d87
- cp $f
- jr z, .asm_e2db7
- ld b, a
- call GetBoxPointer
- ld a, b
- call GetSRAMBank
- inc hl
-.asm_e2d57
+copy_box_data: MACRO
+.loop\@
ld a, [hl]
- cp $ff
- jr z, .asm_e2d79
+ cp -1
+ jr z, .done\@
and a
- jr z, .asm_e2d79
+ jr z, .done\@
ld [de], a
inc de
- ld a, [wcb2e]
+ ld a, [wBillsPC_LoadedBox]
ld [de], a
inc de
ld a, [wd003]
@@ -1452,91 +1442,60 @@
ld a, [wd004]
inc a
ld [wd004], a
- jr .asm_e2d57
+ jr .loop\@
-.asm_e2d79
+.done\@
+IF \1
call CloseSRAM
- ld a, $ff
+ENDC
+ ld a, -1
ld [de], a
ld a, [wd004]
inc a
- ld [wcb2c], a
- ret
+ ld [wBillsPC_NumMonsInBox], a
+endm
-.asm_e2d87
- ld hl, PartySpecies
-.asm_e2d8a
- ld a, [hl]
- cp $ff
- jr z, .asm_e2dac
- and a
- jr z, .asm_e2dac
- ld [de], a
- inc de
- ld a, [wcb2e]
- ld [de], a
- inc de
- ld a, [wd003]
- ld [de], a
- inc a
+CopyBoxmonSpecies: ; e2d30 (38:6d30)
+ xor a
+ ld hl, wBillsPCPokemonList
+ ld bc, 3 * 30
+ call ByteFill
+ ld de, wBillsPCPokemonList
+ xor a
ld [wd003], a
- inc de
- inc hl
- ld a, [wd004]
- inc a
ld [wd004], a
- jr .asm_e2d8a
+ ld a, [wBillsPC_LoadedBox]
+ and a
+ jr z, .party
+ cp NUM_BOXES + 1
+ jr z, .sBox
+ ld b, a
+ call GetBoxPointer
+ ld a, b
+ call GetSRAMBank
+ inc hl
+ copy_box_data 1
+ ret
-.asm_e2dac
- ld a, $ff
- ld [de], a
- ld a, [wd004]
- inc a
- ld [wcb2c], a
+.party
+ ld hl, PartySpecies
+ copy_box_data 0
ret
-.asm_e2db7
+.sBox
ld a, BANK(sBox)
call GetSRAMBank
ld hl, sBoxSpecies
-.asm_e2dbf
- ld a, [hl]
- cp $ff
- jr z, .asm_e2de1
- and a
- jr z, .asm_e2de1
- ld [de], a
- inc de
- ld a, [wcb2e]
- ld [de], a
- inc de
- ld a, [wd003]
- ld [de], a
- inc a
- ld [wd003], a
- inc de
- inc hl
- ld a, [wd004]
- inc a
- ld [wd004], a
- jr .asm_e2dbf
-
-.asm_e2de1
- call CloseSRAM
- ld a, $ff
- ld [de], a
- ld a, [wd004]
- inc a
- ld [wcb2c], a
+ copy_box_data 1
ret
-Functione2def: ; e2def (38:6def)
- ld a, [wcb2b]
- ld hl, wcb2a
+BillsPC_GetSelectedPokemonSpecies: ; e2def (38:6def)
+ ld a, [wBillsPC_CursorPosition]
+ ld hl, wBillsPC_ScrollPosition
add [hl]
ld e, a
ld d, $0
- ld hl, OverworldMap
+ ld hl, wBillsPCPokemonList
rept 3
add hl, de
endr
@@ -1543,21 +1502,21 @@
ld a, [hl]
ret
-Functione2e01: ; e2e01 (38:6e01)
- ld a, [wcb2c]
+BillsPC_UpdateSelectionCursor: ; e2e01 (38:6e01)
+ ld a, [wBillsPC_NumMonsInBox]
and a
- jr nz, .asm_e2e0b
+ jr nz, .place_cursor
call ClearSprites
ret
-.asm_e2e0b
- ld hl, Unknown_e2e2b
+.place_cursor
+ ld hl, .OAM
ld de, Sprites
.loop
ld a, [hl]
- cp $ff
+ cp -1
ret z
- ld a, [wcb2b]
+ ld a, [wBillsPC_CursorPosition]
and $7
swap a
add [hl]
@@ -1564,54 +1523,50 @@
inc hl
ld [de], a
inc de
+rept 3
ld a, [hli]
ld [de], a
inc de
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- inc de
+endr
jr .loop
; e2e2b (38:6e2b)
-Unknown_e2e2b: ; e2e2b
- db $26, $50, $00, $00
- db $26, $58, $00, $00
- db $26, $60, $00, $00
- db $26, $68, $00, $00
- db $26, $70, $00, $00
- db $26, $78, $00, $00
- db $26, $80, $00, $00
- db $26, $88, $00, $00
- db $26, $90, $00, $00
- db $26, $97, $00, $00
- db $39, $50, $00, $40
- db $39, $58, $00, $40
- db $39, $60, $00, $40
- db $39, $68, $00, $40
- db $39, $70, $00, $40
- db $39, $78, $00, $40
- db $39, $80, $00, $40
- db $39, $88, $00, $40
- db $39, $90, $00, $40
- db $39, $97, $00, $40
- db $2e, $4e, $01, $00
- db $31, $4e, $01, $40
- db $2e, $99, $01, $20
- db $31, $99, $01, $60
- db $ff
+.OAM: ; e2e2b
+ dsprite 4, 6, 10, 0, $00, $00
+ dsprite 4, 6, 11, 0, $00, $00
+ dsprite 4, 6, 12, 0, $00, $00
+ dsprite 4, 6, 13, 0, $00, $00
+ dsprite 4, 6, 14, 0, $00, $00
+ dsprite 4, 6, 15, 0, $00, $00
+ dsprite 4, 6, 16, 0, $00, $00
+ dsprite 4, 6, 17, 0, $00, $00
+ dsprite 4, 6, 18, 0, $00, $00
+ dsprite 4, 6, 18, 7, $00, $00
+ dsprite 7, 1, 10, 0, $00, $40
+ dsprite 7, 1, 11, 0, $00, $40
+ dsprite 7, 1, 12, 0, $00, $40
+ dsprite 7, 1, 13, 0, $00, $40
+ dsprite 7, 1, 14, 0, $00, $40
+ dsprite 7, 1, 15, 0, $00, $40
+ dsprite 7, 1, 16, 0, $00, $40
+ dsprite 7, 1, 17, 0, $00, $40
+ dsprite 7, 1, 18, 0, $00, $40
+ dsprite 7, 1, 18, 7, $00, $40
+ dsprite 5, 6, 9, 6, $01, $00
+ dsprite 6, 1, 9, 6, $01, $40
+ dsprite 5, 6, 19, 1, $01, $20
+ dsprite 6, 1, 19, 1, $01, $60
+ db -1
; e2e8c
-Functione2e8c: ; e2e8c
- ld hl, Unknown_e2eac
+BillsPC_UpdateInsertCursor: ; e2e8c
+ ld hl, .OAM
ld de, Sprites
-.asm_e2e92
+.loop
ld a, [hl]
- cp $ff
+ cp -1
ret z
- ld a, [wcb2b]
+ ld a, [wBillsPC_CursorPosition]
and $7
swap a
add [hl]
@@ -1618,75 +1573,72 @@
inc hl
ld [de], a
inc de
+rept 3
ld a, [hli]
ld [de], a
inc de
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- inc de
- jr .asm_e2e92
+endr
+ jr .loop
; e2eac
-Unknown_e2eac: ; e2eac
- db $27, $50, $06, $00
- db $2b, $58, $00, $40
- db $2b, $60, $00, $40
- db $2b, $68, $00, $40
- db $2b, $70, $00, $40
- db $2b, $78, $00, $40
- db $2b, $80, $00, $40
- db $2b, $88, $00, $40
- db $2b, $90, $00, $40
- db $27, $98, $07, $00
- db $ff
+.OAM: ; e2eac
+ dsprite 4, 7, 10, 0, $06, $00
+ dsprite 5, 3, 11, 0, $00, $40
+ dsprite 5, 3, 12, 0, $00, $40
+ dsprite 5, 3, 13, 0, $00, $40
+ dsprite 5, 3, 14, 0, $00, $40
+ dsprite 5, 3, 15, 0, $00, $40
+ dsprite 5, 3, 16, 0, $00, $40
+ dsprite 5, 3, 17, 0, $00, $40
+ dsprite 5, 3, 18, 0, $00, $40
+ dsprite 4, 7, 19, 0, $07, $00
+ db -1
; e2ed5
-Functione2ed5: ; e2ed5
-.asm_e2ed5
+BillsPC_UnusedFillBox: ; e2ed5
+.row
push bc
push hl
-.asm_e2ed7
+.col
ld [hli], a
dec c
- jr nz, .asm_e2ed7
+ jr nz, .col
pop hl
ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
- jr nz, .asm_e2ed5
+ jr nz, .row
ret
; e2ee5
-Functione2ee5: ; e2ee5
- ld hl, wcb2e
- ld a, [wcb31]
+BillsPC_CheckSpaceInDestination: ; e2ee5
+; If moving within a box, no need to be here.
+ ld hl, wBillsPC_LoadedBox
+ ld a, [wBillsPC_BackupLoadedBox]
cp [hl]
- jr z, .asm_e2f00
- ld a, [wcb2e]
+ jr z, .same_box
+
+; Exceeding box or party capacity is a big no-no.
+ ld a, [wBillsPC_LoadedBox]
and a
- jr z, .asm_e2ef8
- ld e, $15
- jr .asm_e2efa
+ jr z, .party
+ ld e, MONS_PER_BOX + 1
+ jr .compare
-.asm_e2ef8
- ld e, $7
-
-.asm_e2efa
- ld a, [wcb2c]
+.party
+ ld e, PARTY_LENGTH + 1
+.compare
+ ld a, [wBillsPC_NumMonsInBox]
cp e
- jr nc, .asm_e2f02
-
-.asm_e2f00
+ jr nc, .no_room
+.same_box
and a
ret
-.asm_e2f02
+.no_room
ld de, PCString_TheresNoRoom
- call Functione2a6e
+ call BillsPC_PlaceString
ld de, SFX_WRONG
call WaitPlaySFX
call WaitSFX
@@ -1696,35 +1648,38 @@
ret
; e2f18
-Functione2f18: ; e2f18 (38:6f18)
- ld a, [wcb2e]
+BillsPC_CheckMail_PreventBlackout: ; e2f18 (38:6f18)
+ ld a, [wBillsPC_LoadedBox]
and a
jr nz, .Okay
- ld a, [wcb2c]
+ ld a, [wBillsPC_NumMonsInBox]
cp $3
jr c, .ItsYourLastPokemon
- ld a, [wcb2b]
- ld hl, wcb2a
+ ld a, [wBillsPC_CursorPosition]
+ ld hl, wBillsPC_ScrollPosition
add [hl]
ld [CurPartyMon], a
callba CheckCurPartyMonFainted
jr c, .AllOthersFainted
- ld a, [wcb32]
+ ld a, [wBillsPC_MonHasMail]
and a
jr nz, .HasMail
.Okay
and a
ret
+
.HasMail
ld de, PCString_RemoveMail
jr .NotOkay
+
.AllOthersFainted
ld de, PCString_NoMoreUsablePKMN
jr .NotOkay
+
.ItsYourLastPokemon
ld de, PCString_ItsYourLastPKMN
.NotOkay
- call Functione2a6e
+ call BillsPC_PlaceString
ld de, SFX_WRONG
call WaitPlaySFX
call WaitSFX
@@ -1733,15 +1688,16 @@
scf
ret
-Functione2f5f: ; e2f5f (38:6f5f)
+BillsPC_IsMonAnEgg: ; e2f5f (38:6f5f)
ld a, [CurPartySpecies]
cp EGG
- jr z, .asm_e2f68
+ jr z, .egg
and a
ret
-.asm_e2f68
+
+.egg
ld de, PCString_NoReleasingEGGS
- call Functione2a6e
+ call BillsPC_PlaceString
ld de, SFX_WRONG
call WaitPlaySFX
call WaitSFX
@@ -1750,35 +1706,35 @@
scf
ret
-Functione2f7e: ; e2f7e (38:6f7e)
+BillsPC_StatsScreen: ; e2f7e (38:6f7e)
call LowVolume
- call Functione2fd6
+ call BillsPC_CopyMon
ld a, $3
ld [MonType], a
predef StatsScreenInit
- call Functione33e8
+ call BillsPC_InitGFX
call MaxVolume
ret
-Functione2f95: ; e2f95 (38:6f95)
+StatsScreenDPad: ; e2f95 (38:6f95)
ld hl, hJoyPressed ; $ffa7
ld a, [hl]
and A_BUTTON | B_BUTTON | D_RIGHT | D_LEFT
- ld [wcf73], a
+ ld [wMenuJoypad], a
jr nz, .pressed_a_b_right_left
ld a, [hl]
and D_DOWN | D_UP
- ld [wcf73], a
+ ld [wMenuJoypad], a
jr nz, .pressed_down_up
jr .pressed_a_b_right_left
.pressed_down_up
- call Functione2998
+ call _StatsScreenDPad
and a
- jr z, .asm_e2fd1
- call Functione2def
+ jr z, .did_nothing
+ call BillsPC_GetSelectedPokemonSpecies
ld [wd265], a
- call Functione2b6d
+ call BillsPC_LoadMonStats
ld a, [wd265]
ld [CurPartySpecies], a
ld [CurSpecies], a
@@ -1785,25 +1741,25 @@
ld hl, TempMonDVs
predef GetUnownLetter
call GetBaseData
- call Functione2fd6
+ call BillsPC_CopyMon
.pressed_a_b_right_left
ret
-.asm_e2fd1
+.did_nothing
xor a
- ld [wcf73], a
+ ld [wMenuJoypad], a
ret
-Functione2fd6: ; e2fd6 (38:6fd6)
- ld a, [wcb2b]
- ld hl, wcb2a
+BillsPC_CopyMon: ; e2fd6 (38:6fd6)
+ ld a, [wBillsPC_CursorPosition]
+ ld hl, wBillsPC_ScrollPosition
add [hl]
ld [CurPartyMon], a
- ld a, [wcb2e]
+ ld a, [wBillsPC_LoadedBox]
and a
- jr z, .asm_e3020
- cp $f
- jr nz, .asm_e3048
+ jr z, .party
+ cp NUM_BOXES + 1
+ jr nz, .box
ld a, BANK(sBox)
call GetSRAMBank
ld hl, sBoxSpecies
@@ -1816,14 +1772,14 @@
ld bc, BOXMON_STRUCT_LENGTH
ld a, [CurPartyMon]
call AddNTimes
- ld de, wd018_Mon
+ ld de, wBufferMon
ld bc, PARTYMON_STRUCT_LENGTH
call CopyBytes
call CloseSRAM
- callba Function5088b
+ callba CalcwBufferMonStats
ret
-.asm_e3020
+.party
ld hl, PartySpecies
call CopySpeciesToTemp
ld hl, PartyMonNicknames
@@ -1834,12 +1790,12 @@
ld bc, PARTYMON_STRUCT_LENGTH
ld a, [CurPartyMon]
call AddNTimes
- ld de, wd018_Mon
+ ld de, wBufferMon
ld bc, PARTYMON_STRUCT_LENGTH
call CopyBytes
ret
-.asm_e3048
+.box
ld b, a
call GetBoxPointer
ld a, b
@@ -1863,12 +1819,12 @@
ld bc, BOXMON_STRUCT_LENGTH
call CopyMonToTemp
call CloseSRAM
- callba Function5088b
+ callba CalcwBufferMonStats
ret
-Functione307c: ; e307c (38:707c)
- ld a, [wcb2b]
- ld hl, wcb2a
+DepositPokemon: ; e307c (38:707c)
+ ld a, [wBillsPC_CursorPosition]
+ ld hl, wBillsPC_ScrollPosition
add [hl]
ld [CurPartyMon], a
ld hl, PartyMonNicknames
@@ -1880,7 +1836,7 @@
jr c, .asm_boxisfull
xor a
ld [wPokemonWithdrawDepositParameter], a
- callba Functione039
+ callba RemoveMonFromPartyOrBox
ld a, [CurPartySpecies]
call PlayCry
hlcoord 0, 0
@@ -1909,7 +1865,7 @@
.asm_boxisfull
ld de, PCString_BoxFull
- call Functione2a6e
+ call BillsPC_PlaceString
ld de, SFX_WRONG
call WaitPlaySFX
call WaitSFX
@@ -1919,8 +1875,8 @@
ret
TryWithdrawPokemon: ; e30fa (38:70fa)
- ld a, [wcb2b]
- ld hl, wcb2a
+ ld a, [wBillsPC_CursorPosition]
+ ld hl, wBillsPC_ScrollPosition
add [hl]
ld [CurPartyMon], a
ld a, BANK(sBoxMonNicknames)
@@ -1935,7 +1891,7 @@
jr c, .PartyFull
ld a, PC_DEPOSIT
ld [wPokemonWithdrawDepositParameter], a
- callba Functione039
+ callba RemoveMonFromPartyOrBox
ld a, [CurPartySpecies]
call PlayCry
hlcoord 0, 0
@@ -1964,7 +1920,7 @@
.PartyFull
ld de, PCString_PartyFull
- call Functione2a6e
+ call BillsPC_PlaceString
ld de, SFX_WRONG
call WaitPlaySFX
call WaitSFX
@@ -1974,7 +1930,7 @@
ret
-Functione3180: ; e3180 (38:7180)
+ReleasePKMN_ByePKMN: ; e3180 (38:7180)
hlcoord 0, 0
lb bc, 15, 8
call ClearBox
@@ -1988,11 +1944,11 @@
call WaitBGMap
ld a, [CurPartySpecies]
call GetCryIndex
- jr c, .asm_e31ab
+ jr c, .skip_cry
ld e, c
ld d, b
call PlayCryHeader
-.asm_e31ab
+.skip_cry
ld a, [CurPartySpecies]
ld [wd265], a
@@ -2021,7 +1977,7 @@
ret
; e31e7 (38:71e7)
-Functione31e7: ; e31e7
+MovePKMNWitoutMail_InsertMon: ; e31e7
push hl
push de
push bc
@@ -2030,7 +1986,7 @@
lb bc, 1, 18
call TextBox
hlcoord 1, 16
- ld de, String_e3233
+ ld de, .Saving_LeaveOn
call PlaceString
ld c, 20
call DelayFrames
@@ -2041,19 +1997,19 @@
ld a, [wCurBox]
push af
ld bc, 0
- ld a, [wcb31]
+ ld a, [wBillsPC_BackupLoadedBox]
and a
- jr nz, .asm_e3215
+ jr nz, .moving_from_box
set 0, c
-.asm_e3215
- ld a, [wcb2e]
+.moving_from_box
+ ld a, [wBillsPC_LoadedBox]
and a
- jr nz, .asm_e321d
+ jr nz, .moving_to_box
set 1, c
-.asm_e321d
- ld hl, Jumptable_e3245
+.moving_to_box
+ ld hl, .Jumptable
rept 2
add hl, bc
endr
@@ -2060,12 +2016,12 @@
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, Functione322a
+ ld de, .dw_return
push de
jp [hl]
; e322a
-Functione322a: ; e322a
+.dw_return: ; e322a
pop af
ld e, a
callba Function14ad5
@@ -2072,76 +2028,77 @@
ret
; e3233
-String_e3233:
+.Saving_LeaveOn:
db "Saving… Leave ON!@"
; e3245
-Jumptable_e3245: ; e3245
- dw Functione324d
- dw Functione3267
- dw Functione327d
- dw Functione3284
+.Jumptable: ; e3245
+
+ dw .BoxToBox
+ dw .PartyToBox
+ dw .BoxToParty
+ dw .PartyToParty
; e324d
-Functione324d: ; e324d
- ld hl, wcb31
- ld a, [wcb2e]
+.BoxToBox: ; e324d
+ ld hl, wBillsPC_BackupLoadedBox
+ ld a, [wBillsPC_LoadedBox]
cp [hl]
- jr z, .asm_e325d
- call Functione32b0
- call Functione32fa
+ jr z, .same_box
+ call .CopyFromBox
+ call .CopyToBox
ret
-.asm_e325d
- call Functione32b0
- call Functione328e
- call Functione32fa
+.same_box
+ call .CopyFromBox
+ call .CheckTrivialMove
+ call .CopyToBox
ret
; e3267
-Functione3267: ; e3267
- call Functione3316
+.PartyToBox: ; e3267
+ call .CopyFromParty
ld a, $1
ld [wc2cd], a
callba SaveGameData
xor a
ld [wc2cd], a
- call Functione32fa
+ call .CopyToBox
ret
; e327d
-Functione327d: ; e327d
- call Functione32b0
- call Functione3346
+.BoxToParty: ; e327d
+ call .CopyFromBox
+ call .CopyToParty
ret
; e3284
-Functione3284: ; e3284
- call Functione3316
- call Functione328e
- call Functione3346
+.PartyToParty: ; e3284
+ call .CopyFromParty
+ call .CheckTrivialMove
+ call .CopyToParty
ret
; e328e
-Functione328e: ; e328e
- ld a, [wcb2b]
- ld hl, wcb2a
+.CheckTrivialMove: ; e328e
+ ld a, [wBillsPC_CursorPosition]
+ ld hl, wBillsPC_ScrollPosition
add [hl]
ld e, a
- ld a, [wcb30]
- ld hl, wcb2f
+ ld a, [wBillsPC_BackupCursorPosition]
+ ld hl, wBillsPC_BackupScrollPosition
add [hl]
cp e
ret nc
- ld hl, wcb2b
+ ld hl, wBillsPC_CursorPosition
ld a, [hl]
and a
- jr z, .asm_e32a8
+ jr z, .top_of_screen
dec [hl]
ret
-.asm_e32a8
- ld hl, wcb2a
+.top_of_screen
+ ld hl, wBillsPC_ScrollPosition
ld a, [hl]
and a
ret z
@@ -2149,13 +2106,13 @@
ret
; e32b0
-Functione32b0: ; e32b0
- ld a, [wcb31]
+.CopyFromBox: ; e32b0
+ ld a, [wBillsPC_BackupLoadedBox]
dec a
ld e, a
callba MovePkmnWOMail_SaveGame
- ld a, [wcb30]
- ld hl, wcb2f
+ ld a, [wBillsPC_BackupCursorPosition]
+ ld hl, wBillsPC_BackupScrollPosition
add [hl]
ld [CurPartyMon], a
ld a, $1
@@ -2170,20 +2127,20 @@
ld bc, BOXMON_STRUCT_LENGTH
call CopyMonToTemp
call CloseSRAM
- callba Function5088b
+ callba CalcwBufferMonStats
ld a, PC_DEPOSIT
ld [wPokemonWithdrawDepositParameter], a
- callba Functione039
+ callba RemoveMonFromPartyOrBox
ret
; e32fa
-Functione32fa: ; e32fa
- ld a, [wcb2e]
+.CopyToBox: ; e32fa
+ ld a, [wBillsPC_LoadedBox]
dec a
ld e, a
callba MovePkmnWOMail_SaveGame
- ld a, [wcb2b]
- ld hl, wcb2a
+ ld a, [wBillsPC_CursorPosition]
+ ld hl, wBillsPC_ScrollPosition
add [hl]
ld [CurPartyMon], a
callba Function51322
@@ -2190,9 +2147,9 @@
ret
; e3316
-Functione3316: ; e3316
- ld a, [wcb30]
- ld hl, wcb2f
+.CopyFromParty: ; e3316
+ ld a, [wBillsPC_BackupCursorPosition]
+ ld hl, wBillsPC_BackupScrollPosition
add [hl]
ld [CurPartyMon], a
ld hl, PartySpecies
@@ -2206,13 +2163,13 @@
call CopyMonToTemp
xor a
ld [wPokemonWithdrawDepositParameter], a
- callba Functione039
+ callba RemoveMonFromPartyOrBox
ret
; e3346
-Functione3346: ; e3346
- ld a, [wcb2b]
- ld hl, wcb2a
+.CopyToParty: ; e3346
+ ld a, [wBillsPC_CursorPosition]
+ ld hl, wBillsPC_ScrollPosition
add [hl]
ld [CurPartyMon], a
callba Function5138b
@@ -2232,7 +2189,7 @@
ld bc, PKMN_NAME_LENGTH
ld a, [CurPartyMon]
call AddNTimes
- ld de, wd002
+ ld de, wBufferMonNick
ld bc, PKMN_NAME_LENGTH
call CopyBytes
ret
@@ -2241,7 +2198,7 @@
ld bc, NAME_LENGTH
ld a, [CurPartyMon]
call AddNTimes
- ld de, wd00d
+ ld de, wBufferMonOT
ld bc, NAME_LENGTH
call CopyBytes
ret
@@ -2249,7 +2206,7 @@
CopyMonToTemp: ; e3389 (38:7389)
ld a, [CurPartyMon]
call AddNTimes
- ld de, wd018_Mon
+ ld de, wBufferMon
call CopyBytes
ret
@@ -2287,16 +2244,16 @@
dba sBox14
; e33d0
-Functione33d0: ; e33d0 (38:73d0)
+BillsPC_ApplyPalettes: ; e33d0 (38:73d0)
ld b, a
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100
call DmgToCgbBGPals
- ld a, $fc
- call Functioncf8
+ ld a, %11111100
+ call DmgToCgbObjPal0
ret
-Functione33df: ; e33df (38:73df)
+BillsPC_Jumptable: ; e33df (38:73df)
ld e, a
ld d, $0
rept 2
@@ -2307,10 +2264,10 @@
ld l, a
ret
-Functione33e8: ; e33e8 (38:73e8)
+BillsPC_InitGFX: ; e33e8 (38:73e8)
call DisableLCD
ld hl, VTiles2 tile $00
- ld bc, $310
+ ld bc, $31 tiles
xor a
call ByteFill
call LoadStandardFont
@@ -2317,7 +2274,7 @@
call LoadFontsBattleExtra
ld hl, PCMailGFX
ld de, VTiles2 tile $5c
- ld bc, $40
+ ld bc, 4 tiles
call CopyBytes
ld hl, PCSelectLZ
ld de, VTiles0 tile $00
@@ -2353,12 +2310,12 @@
_ChangeBox: ; e35aa (38:75aa)
call LoadStandardMenuDataHeader
- call Functione35e2
+ call BillsPC_ClearTilemap
.loop
xor a
ld [hBGMapMode], a
- call Functione36cf
- call Functione379c
+ call BillsPC_PrintBoxName
+ call BillsPC_PlaceChooseABoxString
ld hl, _ChangeBox_menudataheader
call CopyMenuDataHeader
xor a
@@ -2366,18 +2323,18 @@
hlcoord 0, 4
lb bc, 8, 9
call TextBox
- call HandleScrollingMenu
- ld a, [wcf73]
- cp $2
+ call ScrollingMenu
+ ld a, [wMenuJoypad]
+ cp B_BUTTON
jr z, .done
- call Functione37af
- call Functione36f9
+ call BillsPC_PlaceWhatsUpString
+ call BillsPC_ChangeBoxSubmenu
jr .loop
.done
- call WriteBackup
+ call CloseWindow
ret
-Functione35e2: ; e35e2 (38:75e2)
+BillsPC_ClearTilemap: ; e35e2 (38:75e2)
xor a
ld [hBGMapMode], a
hlcoord 0, 0
@@ -2402,7 +2359,7 @@
dba .boxes
dba .boxnames
dba NULL
- dba Functione3632
+ dba BillsPC_PrintBoxCountAndCapacity
; e3609
.boxes: ; e3609
@@ -2434,7 +2391,7 @@
ret
; e3632 (38:7632)
-Functione3632: ; e3632
+BillsPC_PrintBoxCountAndCapacity: ; e3632
hlcoord 11, 7
lb bc, 5, 7
call TextBox
@@ -2442,7 +2399,7 @@
cp -1
ret z
hlcoord 12, 9
- ld de, String_e3663
+ ld de, .Pokemon
call PlaceString
call GetBoxCount
ld [wd265], a
@@ -2450,16 +2407,16 @@
ld de, wd265
lb bc, 1, 2
call PrintNum
- ld de, String_e3668
+ ld de, .out_of_20
call PlaceString
ret
; e3663
-String_e3663: ; e3663
+.Pokemon: ; e3663
db "#MON@"
; e3668
-String_e3668: ; e3668
+.out_of_20: ; e3668
; db "/20@"
db "/"
db "0" + MONS_PER_BOX / 10 ; "2"
@@ -2526,13 +2483,13 @@
dba sBox14
; e36cf
-Functione36cf: ; e36cf (38:76cf)
+BillsPC_PrintBoxName: ; e36cf (38:76cf)
hlcoord 0, 0
ld b, 2
ld c, 18
call TextBox
hlcoord 1, 2
- ld de, String_e36f1
+ ld de, .Current
call PlaceString
ld a, [wCurBox]
and $f
@@ -2542,17 +2499,17 @@
ret
; e36f1 (38:76f1)
-String_e36f1: ; e36f1
+.Current: ; e36f1
db "CURRENT@"
; e36f9
-Functione36f9: ; e36f9 (38:76f9)
+BillsPC_ChangeBoxSubmenu: ; e36f9 (38:76f9)
ld hl, .MenuDataHeader
call LoadMenuDataHeader
- call InterpretMenu2
+ call VerticalMenu
call ExitMenu
ret c
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr z, .Switch
cp $2
@@ -2572,12 +2529,12 @@
dec a
ld c, a
callba PrintPCBox
- call Functione35e2
+ call BillsPC_ClearTilemap
and a
ret
.EmptyBox
- call Functione37be
+ call BillsPC_PlaceEmptyBoxString_SFX
and a
ret
@@ -2604,7 +2561,7 @@
ld e, l
ld d, h
ld hl, wd002
- ld c, $8
+ ld c, BOX_NAME_LENGTH - 1
call InitString
ld a, [MenuSelection]
dec a
@@ -2633,27 +2590,27 @@
db "QUIT@"
; 0xe379c
-Functione379c: ; e379c (38:779c)
- ld de, String_e37a1
- jr Functione37e3
+BillsPC_PlaceChooseABoxString: ; e379c (38:779c)
+ ld de, .ChooseABox
+ jr BillsPC_PlaceChangeBoxString
; e37a1 (38:77a1)
-String_e37a1: ; e37a1
+.ChooseABox: ; e37a1
db "Choose a BOX.@"
; e37af
-Functione37af: ; e37af (38:77af)
- ld de, String_e37b4
- jr Functione37e3
+BillsPC_PlaceWhatsUpString: ; e37af (38:77af)
+ ld de, .WhatsUp
+ jr BillsPC_PlaceChangeBoxString
; e37b4 (38:77b4)
-String_e37b4: ; e37b4
+.WhatsUp: ; e37b4
db "What's up?@"
; e37be
-Functione37be: ; e37be (38:77be)
- ld de, String_e37d3
- call Functione37e3
+BillsPC_PlaceEmptyBoxString_SFX: ; e37be (38:77be)
+ ld de, .NoMonString
+ call BillsPC_PlaceChangeBoxString
ld de, SFX_WRONG
call WaitPlaySFX
call WaitSFX
@@ -2662,11 +2619,11 @@
ret
; e37d3 (38:77d3)
-String_e37d3: ; e37d3
+.NoMonString: ; e37d3
db "There's no #MON.@"
; e37e3
-Functione37e3: ; e37e3 (38:77e3)
+BillsPC_PlaceChangeBoxString: ; e37e3 (38:77e3)
push de
hlcoord 0, 14
lb bc, 2, 18
--- a/engine/breeding/egg.asm
+++ b/engine/breeding/egg.asm
@@ -1,7 +1,7 @@
-Function16e1d: ; 16e1d
- call Function16ed6
+CheckBreedmonCompatibility: ; 16e1d
+ call .CheckBreedingGroupCompatibility
ld c, $0
- jp nc, .asm_16eb7
+ jp nc, .done
ld a, [wBreedMon1Species]
ld [CurPartySpecies], a
ld a, [wBreedMon1DVs]
@@ -8,15 +8,15 @@
ld [TempMonDVs], a
ld a, [wBreedMon1DVs + 1]
ld [TempMonDVs + 1], a
- ld a, $3
+ ld a, BREEDMON
ld [MonType], a
predef GetGender
- jr c, .asm_16e70
+ jr c, .genderless
ld b, $1
- jr nz, .asm_16e48
+ jr nz, .breedmon2
inc b
-.asm_16e48
+.breedmon2
push bc
ld a, [wBreedMon2Species]
ld [CurPartySpecies], a
@@ -28,57 +28,58 @@
ld [MonType], a
predef GetGender
pop bc
- jr c, .asm_16e70
+ jr c, .genderless
ld a, $1
- jr nz, .asm_16e6d
+ jr nz, .compare_gender
inc a
-.asm_16e6d
+.compare_gender
cp b
- jr nz, .asm_16e89
+ jr nz, .compute
-.asm_16e70
+.genderless
ld c, $0
ld a, [wBreedMon1Species]
cp DITTO
- jr z, .asm_16e82
+ jr z, .ditto1
ld a, [wBreedMon2Species]
cp DITTO
- jr nz, .asm_16eb7
- jr .asm_16e89
+ jr nz, .done
+ jr .compute
-.asm_16e82
+.ditto1
ld a, [wBreedMon2Species]
cp DITTO
- jr z, .asm_16eb7
+ jr z, .done
-.asm_16e89
- call Function16ebc
- ld c, $ff
- jp z, .asm_16eb7
+.compute
+ call .CheckDVs
+ ld c, 255
+ jp z, .done
ld a, [wBreedMon2Species]
ld b, a
ld a, [wBreedMon1Species]
cp b
- ld c, $fe
- jr z, .asm_16e9f
- ld c, $80
-.asm_16e9f
+ ld c, 254
+ jr z, .compare_ids
+ ld c, 128
+.compare_ids
+ ; Speed up
ld a, [wBreedMon1ID]
ld b, a
ld a, [wBreedMon2ID]
cp b
- jr nz, .asm_16eb7
+ jr nz, .done
ld a, [wBreedMon1ID + 1]
ld b, a
ld a, [wBreedMon2ID + 1]
cp b
- jr nz, .asm_16eb7
+ jr nz, .done
ld a, c
- sub $4d
+ sub 77
ld c, a
-.asm_16eb7
+.done
ld a, c
ld [wd265], a
ret
@@ -85,39 +86,47 @@
; 16ebc
-Function16ebc: ; 16ebc (5:6ebc)
+.CheckDVs: ; 16ebc (5:6ebc)
+; If Defense DVs match and the lower 3 bits of the Special DVs match,
+; maximize the chances of spawning an egg regardless of species.
ld a, [wBreedMon1DVs]
- and $f
+ and %1111
ld b, a
ld a, [wBreedMon2DVs]
- and $f
+ and %1111
cp b
ret nz
ld a, [wBreedMon1DVs + 1]
- and $7
+ and %111
ld b, a
ld a, [wBreedMon2DVs + 1]
- and $7
+ and %111
cp b
ret
; 16ed6
-Function16ed6: ; 16ed6
+.CheckBreedingGroupCompatibility: ; 16ed6
+; If either mon is in the No Eggs group,
+; they are not compatible.
ld a, [wBreedMon2Species]
ld [CurSpecies], a
call GetBaseData
ld a, [BaseEggGroups]
- cp $ff
- jr z, .asm_16f3a
+ cp NO_EGGS * $11
+ jr z, .Incompatible
+
ld a, [wBreedMon1Species]
ld [CurSpecies], a
call GetBaseData
ld a, [BaseEggGroups]
- cp $ff
- jr z, .asm_16f3a
+ cp NO_EGGS * $11
+ jr z, .Incompatible
+
+; Ditto is automatically compatible with everything.
+; If not Ditto, load the breeding groups into b/c and d/e.
ld a, [wBreedMon2Species]
cp DITTO
- jr z, .asm_16f3c
+ jr z, .Compatible
ld [CurSpecies], a
call GetBaseData
ld a, [BaseEggGroups]
@@ -128,9 +137,10 @@
and $f0
swap a
ld c, a
+
ld a, [wBreedMon1Species]
cp DITTO
- jr z, .asm_16f3c
+ jr z, .Compatible
ld [CurSpecies], a
push bc
call GetBaseData
@@ -143,22 +153,24 @@
and $f0
swap a
ld e, a
+
ld a, d
cp b
- jr z, .asm_16f3c
+ jr z, .Compatible
cp c
- jr z, .asm_16f3c
+ jr z, .Compatible
+
ld a, e
cp b
- jr z, .asm_16f3c
+ jr z, .Compatible
cp c
- jr z, .asm_16f3c
+ jr z, .Compatible
-.asm_16f3a
+.Incompatible
and a
ret
-.asm_16f3c
+.Compatible
scf
ret
; 16f3e
@@ -189,32 +201,32 @@
; 16f5e
OverworldHatchEgg:: ; 16f5e
- call ResetWindow
+ call RefreshScreen
call LoadStandardMenuDataHeader
- call Function16f70
+ call HatchEggs
call ExitAllMenus
call RestartMapMusic
- jp LoadMoveSprites
+ jp CloseText
; 16f70
-Function16f70: ; 16f70 (5:6f70)
+HatchEggs: ; 16f70 (5:6f70)
ld de, PartySpecies
ld hl, PartyMon1Happiness
xor a
ld [CurPartyMon], a
-Function16f7a: ; 16f7a (5:6f7a)
+.loop: ; 16f7a (5:6f7a)
ld a, [de]
inc de
cp -1
- jp z, Function1708a
+ jp z, .done
push de
push hl
cp EGG
- jp nz, Function1707d
+ jp nz, .next
ld a, [hl]
and a
- jp nz, Function1707d
+ jp nz, .next
ld [hl], $78
push de
@@ -274,7 +286,7 @@
ld [hl], a
pop hl
push hl
- ld bc, MON_EXP + 2
+ ld bc, MON_STAT_EXP - 1
add hl, bc
ld b, $0
predef CalcPkmnStats
@@ -304,7 +316,7 @@
ld e, l
ld hl, PlayerName
call CopyBytes
- ld hl, UnknownText_0x1708b
+ ld hl, .Text_HatchEgg
call PrintText
ld a, [CurPartyMon]
ld hl, PartyMonNicknames
@@ -313,11 +325,12 @@
ld d, h
ld e, l
push de
- ld hl, UnknownText_0x170ba
+ ld hl, .Text_NicknameHatchling
call PrintText
call YesNoBox
pop de
jr c, .nonickname
+
ld a, $1
ld [wd26b], a
xor a
@@ -328,13 +341,14 @@
pop hl
ld de, StringBuffer1
call InitName
- jr Function1707d
+ jr .next
+
.nonickname
ld hl, StringBuffer1
ld bc, PKMN_NAME_LENGTH
call CopyBytes
-Function1707d: ; 1707d (5:707d)
+.next: ; 1707d (5:707d)
ld hl, CurPartyMon
inc [hl]
pop hl
@@ -341,19 +355,16 @@
ld de, PARTYMON_STRUCT_LENGTH
add hl, de
pop de
- jp Function16f7a
+ jp .loop
-Function1708a: ; 1708a (5:708a)
+.done: ; 1708a (5:708a)
ret
; 1708b (5:708b)
-UnknownText_0x1708b: ; 0x1708b
+.Text_HatchEgg: ; 0x1708b
; Huh? @ @
text_jump UnknownText_0x1c0db0
start_asm
-; 0x17090
-
-Function17090: ; 17090
ld hl, VramState
res 0, [hl]
push hl
@@ -361,8 +372,8 @@
push bc
ld a, [CurPartySpecies]
push af
- call Function1728f
- ld hl, UnknownText_0x170b0
+ call EggHatch_AnimationSequence
+ ld hl, .ClearTextbox
call PrintText
pop af
ld [CurPartySpecies], a
@@ -369,30 +380,30 @@
pop bc
pop de
pop hl
- ld hl, UnknownText_0x170b5
+ ld hl, .CameOutOfItsEgg
ret
; 170b0 (5:70b0)
-UnknownText_0x170b0: ; 0x170b0
+.ClearTextbox: ; 0x170b0
;
text_jump UnknownText_0x1c0db8
db "@"
; 0x170b5
-UnknownText_0x170b5: ; 0x170b5
+.CameOutOfItsEgg: ; 0x170b5
; came out of its EGG!@ @
text_jump UnknownText_0x1c0dba
db "@"
; 0x170ba
-UnknownText_0x170ba: ; 0x170ba
+.Text_NicknameHatchling: ; 0x170ba
; Give a nickname to @ ?
text_jump UnknownText_0x1c0dd8
db "@"
; 0x170bf
-Function170bf: ; 170bf
- call Function17197
+InitEggMoves: ; 170bf
+ call GetHeritableMoves
ld d, h
ld e, l
ld b, NUM_MOVES
@@ -409,9 +420,9 @@
inc hl
dec c
jr nz, .next
- call Function170e4
+ call GetEggMove
jr nc, .skip
- call Function17169
+ call LoadEggMove
.skip
inc de
@@ -422,7 +433,7 @@
ret
; 170e4
-Function170e4: ; 170e4
+GetEggMove: ; 170e4
GLOBAL EggMoves
push bc
@@ -440,7 +451,7 @@
ld a, BANK(EggMoves)
call GetFarByte
cp -1
- jr z, .found_mon
+ jr z, .reached_end
ld b, a
ld a, [de]
cp b
@@ -448,8 +459,8 @@
inc hl
jr .loop
-.found_mon
- call Function1720b
+.reached_end
+ call GetBreedmonMovePointer
ld b, NUM_MOVES
.loop2
ld a, [de]
@@ -504,7 +515,7 @@
ld a, [de]
cp b
jr nz, .loop5
- ld [wd262], a
+ ld [wPutativeTMHMMove], a
predef CanLearnTMHMMove
ld a, c
and a
@@ -521,7 +532,7 @@
ret
; 17169
-Function17169: ; 17169
+LoadEggMove: ; 17169
push de
push bc
ld a, [de]
@@ -556,7 +567,7 @@
ret
; 17197
-Function17197: ; 17197
+GetHeritableMoves: ; 17197
ld hl, wBreedMon2Moves
ld a, [wBreedMon1Species]
cp DITTO
@@ -564,7 +575,7 @@
ld a, [wBreedMon2Species]
cp DITTO
jr z, .ditto2
- ld a, [wDittoInDaycare]
+ ld a, [wBreedMotherOrNonDitto]
and a
ret z
ld hl, wBreedMon1Moves
@@ -579,7 +590,7 @@
ld [TempMonDVs], a
ld a, [wBreedMon2DVs + 1]
ld [TempMonDVs + 1], a
- ld a, $3
+ ld a, BREEDMON
ld [MonType], a
predef GetGender
jr c, .inherit_mon2_moves
@@ -595,7 +606,7 @@
ld [TempMonDVs], a
ld a, [wBreedMon1DVs + 1]
ld [TempMonDVs + 1], a
- ld a, $3
+ ld a, BREEDMON
ld [MonType], a
predef GetGender
jr c, .inherit_mon1_moves
@@ -614,7 +625,7 @@
ret
; 1720b
-Function1720b: ; 1720b
+GetBreedmonMovePointer: ; 1720b
ld hl, wBreedMon1Moves
ld a, [wBreedMon1Species]
cp DITTO
@@ -622,7 +633,7 @@
ld a, [wBreedMon2Species]
cp DITTO
jr z, .ditto
- ld a, [wDittoInDaycare]
+ ld a, [wBreedMotherOrNonDitto]
and a
ret z
@@ -632,7 +643,7 @@
; 17224
-Function17224: ; 17224 (5:7224)
+GetEggFrontpic: ; 17224 (5:7224)
push de
ld [CurPartySpecies], a
ld [CurSpecies], a
@@ -642,7 +653,7 @@
pop de
predef_jump GetFrontpic
-Function1723c: ; 1723c (5:723c)
+GetHatchlingFrontpic: ; 1723c (5:723c)
push de
ld [CurPartySpecies], a
ld [CurSpecies], a
@@ -652,7 +663,7 @@
pop de
predef_jump FrontpicPredef
-Function17254: ; 17254 (5:7254)
+Hatch_UpdateFrontpicBGMapCenter: ; 17254 (5:7254)
push af
call WaitTop
push hl
@@ -670,15 +681,15 @@
lb bc, 7, 7
predef FillBox
pop af
- call Function17363
+ call Hatch_LoadFrontpicPal
call SetPalettes
jp WaitBGMap
-Function1727f: ; 1727f (5:727f)
+EggHatch_DoAnimFrame: ; 1727f (5:727f)
push hl
push de
push bc
- callab Function8cf69
+ callab PlaySpriteAnimations
call DelayFrame
pop bc
pop de
@@ -685,7 +696,7 @@
pop hl
ret
-Function1728f: ; 1728f (5:728f)
+EggHatch_AnimationSequence: ; 1728f (5:728f)
ld a, [wd265]
ld [wJumptableIndex], a
ld a, [CurSpecies]
@@ -692,7 +703,7 @@
push af
ld de, MUSIC_NONE
call PlayMusic
- callba Function8000
+ callba BlankScreen
call DisableLCD
ld hl, EggHatchGFX
ld de, VTiles0 tile $00
@@ -699,69 +710,71 @@
ld bc, $20
ld a, BANK(EggHatchGFX)
call FarCopyBytes
- callba Function8cf53
+ callba ClearSpriteAnims
ld de, VTiles2 tile $00
ld a, [wJumptableIndex]
- call Function1723c
+ call GetHatchlingFrontpic
ld de, VTiles2 tile $31
ld a, EGG
- call Function17224
+ call GetEggFrontpic
ld de, MUSIC_EVOLUTION
call PlayMusic
call EnableLCD
hlcoord 7, 4
- ld b, $98
- ld c, $31
+ ld b, VBGMap0 / $100
+ ld c, $31 ; Egg tiles start here
ld a, EGG
- call Function17254
- ld c, $50
+ call Hatch_UpdateFrontpicBGMapCenter
+ ld c, 80
call DelayFrames
xor a
ld [wcf64], a
ld a, [hSCX]
ld b, a
-.asm_172ee
+.outerloop
ld hl, wcf64
ld a, [hl]
inc [hl]
- cp $8
- jr nc, .asm_17327
+ cp 8
+ jr nc, .done
ld e, [hl]
-.asm_172f8
- ld a, $2
+.loop
+; wobble e times
+ ld a, 2
ld [hSCX], a
- ld a, $fe
- ld [wc3c0], a
- call Function1727f
- ld c, $2
+ ld a, -2
+ ld [wGlobalAnimXOffset], a
+ call EggHatch_DoAnimFrame
+ ld c, 2
call DelayFrames
- ld a, $fe
+ ld a, -2
ld [hSCX], a
- ld a, $2
- ld [wc3c0], a
- call Function1727f
- ld c, $2
+ ld a, 2
+ ld [wGlobalAnimXOffset], a
+ call EggHatch_DoAnimFrame
+ ld c, 2
call DelayFrames
dec e
- jr nz, .asm_172f8
- ld c, $10
+ jr nz, .loop
+ ld c, 16
call DelayFrames
- call Function1736d
- jr .asm_172ee
-.asm_17327
+ call EggHatch_CrackShell
+ jr .outerloop
+
+.done
ld de, SFX_EGG_HATCH
call PlaySFX
xor a
ld [hSCX], a
- ld [wc3c0], a
+ ld [wGlobalAnimXOffset], a
call ClearSprites
- call Function173b3
+ call Hatch_InitShellFragments
hlcoord 6, 3
- ld b, $98
- ld c, $0
+ ld b, VBGMap0 / $100
+ ld c, $00 ; Hatchling tiles start here
ld a, [wJumptableIndex]
- call Function17254
- call Function17418
+ call Hatch_UpdateFrontpicBGMapCenter
+ call Hatch_ShellFragmentLoop
call WaitSFX
ld a, [wJumptableIndex]
ld [CurPartySpecies], a
@@ -773,13 +786,13 @@
ld [CurSpecies], a
ret
-Function17363: ; 17363 (5:7363)
+Hatch_LoadFrontpicPal: ; 17363 (5:7363)
ld [PlayerHPPal], a
ld b, SCGB_0B
ld c, $0
jp GetSGBLayout
-Function1736d: ; 1736d (5:736d)
+EggHatch_CrackShell: ; 1736d (5:736d)
ld a, [wcf64]
dec a
and $7
@@ -789,12 +802,12 @@
ret nc
swap a
srl a
- add $4c
+ add 9 * 8 + 4
ld d, a
- ld e, $58
+ ld e, 11 * 8
ld a, SPRITE_ANIM_INDEX_19
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $0
ld de, SFX_EGG_CRACK
@@ -805,12 +818,12 @@
INCBIN "gfx/unknown/017393.2bpp"
; 173b3
-Function173b3: ; 173b3 (5:73b3)
- callba Function8cf53
- ld hl, Unknown_173ef
+Hatch_InitShellFragments: ; 173b3 (5:73b3)
+ callba ClearSpriteAnims
+ ld hl, .SpriteData
.loop
ld a, [hli]
- cp $ff
+ cp -1
jr z, .done
ld e, a
ld a, [hli]
@@ -821,156 +834,162 @@
ld b, a
push hl
push bc
+
ld a, SPRITE_ANIM_INDEX_1C
call _InitSpriteAnimStruct
- ld hl, $3
+
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $0
+
pop de
ld a, e
- ld hl, $1
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
add [hl]
ld [hl], a
- ld hl, $b
+
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
ld [hl], d
+
pop hl
jr .loop
.done
ld de, SFX_EGG_HATCH
call PlaySFX
- call Function1727f
+ call EggHatch_DoAnimFrame
ret
; 173ef (5:73ef)
-Unknown_173ef: ; 173ef
+.SpriteData: ; 173ef
; Probably OAM.
- db $54, $48, $00, $3c
- db $5c, $48, $01, $04
- db $54, $50, $00, $30
- db $5c, $50, $01, $10
- db $54, $58, $02, $24
- db $5c, $58, $03, $1c
- db $50, $4c, $00, $36
- db $60, $4c, $01, $0a
- db $50, $54, $02, $2a
- db $60, $54, $03, $16
- db $ff
+ dsprite 10, 4, 9, 0, $00, $3c
+ dsprite 11, 4, 9, 0, $01, $04
+ dsprite 10, 4, 10, 0, $00, $30
+ dsprite 11, 4, 10, 0, $01, $10
+ dsprite 10, 4, 11, 0, $02, $24
+ dsprite 11, 4, 11, 0, $03, $1c
+ dsprite 10, 0, 9, 4, $00, $36
+ dsprite 12, 0, 9, 4, $01, $0a
+ dsprite 10, 0, 10, 4, $02, $2a
+ dsprite 12, 0, 10, 4, $03, $16
+ db -1
; 17418
-Function17418: ; 17418 (5:7418)
- ld c, $81
-.asm_1741a
- call Function1727f
+Hatch_ShellFragmentLoop: ; 17418 (5:7418)
+ ld c, 129
+.loop
+ call EggHatch_DoAnimFrame
dec c
- jr nz, .asm_1741a
+ jr nz, .loop
ret
Special_DayCareMon1: ; 17421
- ld hl, UnknownText_0x17467
+ ld hl, DayCareMon1Text
call PrintText
ld a, [wBreedMon1Species]
call PlayCry
ld a, [wDaycareLady]
bit 0, a
- jr z, Function1745f
- call KeepTextOpen
+ jr z, DayCareMonCursor
+ call ButtonSound
ld hl, wBreedMon2Nick
- call Function1746c
+ call DayCareMonCompatibilityText
jp PrintText
Special_DayCareMon2: ; 17440
- ld hl, UnknownText_0x17462
+ ld hl, DayCareMon2Text
call PrintText
ld a, [wBreedMon2Species]
call PlayCry
ld a, [wDaycareMan]
bit 0, a
- jr z, Function1745f
- call KeepTextOpen
+ jr z, DayCareMonCursor
+ call ButtonSound
ld hl, wBreedMon1Nick
- call Function1746c
+ call DayCareMonCompatibilityText
jp PrintText
-Function1745f: ; 1745f
+DayCareMonCursor: ; 1745f
jp WaitPressAorB_BlinkCursor
; 17462
-UnknownText_0x17462: ; 0x17462
+DayCareMon2Text: ; 0x17462
; It's @ that was left with the DAY-CARE LADY.
text_jump UnknownText_0x1c0df3
db "@"
; 0x17467
-UnknownText_0x17467: ; 0x17467
+DayCareMon1Text: ; 0x17467
; It's @ that was left with the DAY-CARE MAN.
text_jump UnknownText_0x1c0e24
db "@"
; 0x1746c
-Function1746c: ; 1746c
+DayCareMonCompatibilityText: ; 1746c
push bc
ld de, StringBuffer1
ld bc, NAME_LENGTH
call CopyBytes
- call Function16e1d
+ call CheckBreedmonCompatibility
pop bc
ld a, [wd265]
- ld hl, UnknownText_0x1749c
- cp $ff
- jr z, .asm_1749b
- ld hl, UnknownText_0x174a1
+ ld hl, .AllAlone
+ cp -1
+ jr z, .done
+ ld hl, .Incompatible
and a
- jr z, .asm_1749b
- ld hl, UnknownText_0x174a6
+ jr z, .done
+ ld hl, .HighCompatibility
cp 230
- jr nc, .asm_1749b
+ jr nc, .done
cp 70
- ld hl, UnknownText_0x174ab
- jr nc, .asm_1749b
- ld hl, UnknownText_0x174b0
+ ld hl, .ModerateCompatibility
+ jr nc, .done
+ ld hl, .SlightCompatibility
-.asm_1749b
+.done
ret
; 1749c
-UnknownText_0x1749c: ; 0x1749c
+.AllAlone: ; 0x1749c
; It's brimming with energy.
text_jump UnknownText_0x1c0e54
db "@"
; 0x174a1
-UnknownText_0x174a1: ; 0x174a1
+.Incompatible: ; 0x174a1
; It has no interest in @ .
text_jump UnknownText_0x1c0e6f
db "@"
; 0x174a6
-UnknownText_0x174a6: ; 0x174a6
+.HighCompatibility: ; 0x174a6
; It appears to care for @ .
text_jump UnknownText_0x1c0e8d
db "@"
; 0x174ab
-UnknownText_0x174ab: ; 0x174ab
+.ModerateCompatibility: ; 0x174ab
; It's friendly with @ .
text_jump UnknownText_0x1c0eac
db "@"
; 0x174b0
-UnknownText_0x174b0: ; 0x174b0
+.SlightCompatibility: ; 0x174b0
; It shows interest in @ .
text_jump UnknownText_0x1c0ec6
db "@"
; 0x174b5
-Function_174b5: ; 174b5
- ld hl, String_174b9
+DayCareMonPrintEmptyString: ; 174b5
+; unreferenced
+ ld hl, .string
ret
; 174b9
-String_174b9: ; 174b9
+.string: ; 174b9
db "@"
; 174ba
--- a/engine/buena_phone_scripts.asm
+++ b/engine/buena_phone_scripts.asm
@@ -18,17 +18,17 @@
checkday
iftrue .day
writetext UnknownText_0xa0d42
- keeptextopen
+ buttonsound
end
.morn:
writetext UnknownText_0xa0c28
- keeptextopen
+ buttonsound
end
.day:
writetext UnknownText_0xa0c72
- keeptextopen
+ buttonsound
end
BuenaPhoneScript_AfterMidnight1:
@@ -43,22 +43,22 @@
checkday
iftrue .day
writetext UnknownText_0xa0e29
- keeptextopen
+ buttonsound
end
.morn:
writetext UnknownText_0xa0d96
- keeptextopen
+ buttonsound
end
.day:
writetext UnknownText_0xa0dcf
- keeptextopen
+ buttonsound
end
BuenaPhoneScript_AfterMidnight2:
writetext UnknownText_0xa0e01
- keeptextopen
+ buttonsound
end
BuenaPhoneScript_Rocket:
--- /dev/null
+++ b/engine/buy_sell_toss.asm
@@ -1,0 +1,238 @@
+SelectQuantityToToss: ; 24fbf
+ ld hl, TossItem_MenuDataHeader
+ call LoadMenuDataHeader
+ call Toss_Sell_Loop
+ ret
+; 24fc9
+
+SelectQuantityToBuy: ; 24fc9
+ callba GetItemPrice
+RooftopSale_SelectQuantityToBuy: ; 24fcf
+ ld a, d
+ ld [Buffer1], a
+ ld a, e
+ ld [Buffer2], a
+ ld hl, BuyItem_MenuDataHeader
+ call LoadMenuDataHeader
+ call Toss_Sell_Loop
+ ret
+; 24fe1
+
+SelectQuantityToSell: ; 24fe1
+ callba GetItemPrice
+ ld a, d
+ ld [Buffer1], a
+ ld a, e
+ ld [Buffer2], a
+ ld hl, SellItem_MenuDataHeader
+ call LoadMenuDataHeader
+ call Toss_Sell_Loop
+ ret
+; 24ff9
+
+Toss_Sell_Loop: ; 24ff9
+ ld a, 1
+ ld [wItemQuantityChangeBuffer], a
+.loop
+ call BuySellToss_UpdateQuantityDisplay ; update display
+ call BuySellToss_InterpretJoypad ; joy action
+ jr nc, .loop
+ cp -1
+ jr nz, .nope ; pressed B
+ scf
+ ret
+
+.nope
+ and a
+ ret
+; 2500e
+
+BuySellToss_InterpretJoypad: ; 2500e
+ call Function354b ; get joypad
+ bit B_BUTTON_F, c
+ jr nz, .b
+ bit A_BUTTON_F, c
+ jr nz, .a
+ bit D_DOWN_F, c
+ jr nz, .down
+ bit D_UP_F, c
+ jr nz, .up
+ bit D_LEFT_F, c
+ jr nz, .left
+ bit D_RIGHT_F, c
+ jr nz, .right
+ and a
+ ret
+
+.b
+ ld a, -1
+ scf
+ ret
+
+.a
+ ld a, 0
+ scf
+ ret
+
+.down
+ ld hl, wItemQuantityChangeBuffer
+ dec [hl]
+ jr nz, .finish_down
+ ld a, [wItemQuantityBuffer]
+ ld [hl], a
+
+.finish_down
+ and a
+ ret
+
+.up
+ ld hl, wItemQuantityChangeBuffer
+ inc [hl]
+ ld a, [wItemQuantityBuffer]
+ cp [hl]
+ jr nc, .finish_up
+ ld [hl], 1
+
+.finish_up
+ and a
+ ret
+
+.left
+ ld a, [wItemQuantityChangeBuffer]
+ sub 10
+ jr c, .load_1
+ jr z, .load_1
+ jr .finish_left
+
+.load_1
+ ld a, 1
+
+.finish_left
+ ld [wItemQuantityChangeBuffer], a
+ and a
+ ret
+
+.right
+ ld a, [wItemQuantityChangeBuffer]
+ add 10
+ ld b, a
+ ld a, [wItemQuantityBuffer]
+ cp b
+ jr nc, .finish_right
+ ld b, a
+
+.finish_right
+ ld a, b
+ ld [wItemQuantityChangeBuffer], a
+ and a
+ ret
+; 25072
+
+BuySellToss_UpdateQuantityDisplay: ; 25072
+ call MenuBox
+ call MenuBoxCoord2Tile
+ ld de, SCREEN_WIDTH + 1
+ add hl, de
+ ld [hl], "×"
+ inc hl
+ ld de, wItemQuantityChangeBuffer
+ lb bc, PRINTNUM_LEADINGZEROS | 1, 2
+ call PrintNum
+ ld a, [wMenuData2Pointer]
+ ld e, a
+ ld a, [wMenuData2Pointer + 1]
+ ld d, a
+ ld a, [wMenuDataBank]
+ call FarCall_de
+ ret
+; 25097
+
+ret_25097: ; 25097
+ ret
+; 25098
+
+DisplayPurchasePrice: ; 25098
+ call BuySell_MultiplyPrice
+ call BuySell_DisplaySubtotal
+ ret
+; 2509f
+
+DisplaySellingPrice: ; 2509f
+ call BuySell_MultiplyPrice
+ call Sell_HalvePrice
+ call BuySell_DisplaySubtotal
+ ret
+; 250a9
+
+BuySell_MultiplyPrice: ; 250a9
+ xor a
+ ld [hMultiplicand + 0], a
+ ld a, [Buffer1]
+ ld [hMultiplicand + 1], a
+ ld a, [Buffer2]
+ ld [hMultiplicand + 2], a
+ ld a, [wItemQuantityChangeBuffer]
+ ld [hMultiplier], a
+ push hl
+ call Multiply
+ pop hl
+ ret
+; 250c1
+
+Sell_HalvePrice: ; 250c1
+ push hl
+ ld hl, hProduct + 1
+ ld a, [hl]
+ srl a
+ ld [hli], a
+ ld a, [hl]
+ rra
+ ld [hli], a
+ ld a, [hl]
+ rra
+ ld [hl], a
+ pop hl
+ ret
+; 250d1
+
+BuySell_DisplaySubtotal: ; 250d1
+ push hl
+ ld hl, hMoneyTemp
+ ld a, [hProduct + 1]
+ ld [hli], a
+ ld a, [hProduct + 2]
+ ld [hli], a
+ ld a, [hProduct + 3]
+ ld [hl], a
+ pop hl
+ inc hl
+ ld de, hMoneyTemp
+ lb bc, PRINTNUM_MONEY | 3, 6
+ call PrintNum
+ call WaitBGMap
+ ret
+; 250ed
+
+TossItem_MenuDataHeader: ; 0x250ed
+ db $40 ; flags
+ db 09, 15 ; start coords
+ db 11, 19 ; end coords
+ dw ret_25097
+ db 0 ; default option
+; 0x250f5
+
+BuyItem_MenuDataHeader: ; 0x250f5
+ db $40 ; flags
+ db 15, 07 ; start coords
+ db 17, 19 ; end coords
+ dw DisplayPurchasePrice
+ db -1 ; default option
+; 0x250fd
+
+SellItem_MenuDataHeader: ; 0x250fd
+ db $40 ; flags
+ db 15, 07 ; start coords
+ db 17, 19 ; end coords
+ dw DisplaySellingPrice
+ db 0 ; default option
+; 0x25105
--- a/engine/card_flip.asm
+++ b/engine/card_flip.asm
@@ -1,3 +1,7 @@
+CARDFLIP_LIGHT_OFF EQU $ef
+CARDFLIP_LIGHT_ON EQU $f5
+CARDFLIP_DECK_SIZE EQU 4 * 6
+
_CardFlip: ; e00ee (38:40ee)
ld hl, Options
set 4, [hl]
@@ -10,28 +14,30 @@
call DisableLCD
call LoadStandardFont
call LoadFontsExtra
- ld hl, LZ_e0d16
+
+ ld hl, CardFlipLZ01
ld de, VTiles2 tile $00
call Decompress
- ld hl, LZ_e0ea8
+ ld hl, CardFlipLZ02
ld de, VTiles2 tile $3e
call Decompress
- ld hl, LZ_e0cdb
+ ld hl, CardFlipLZ03
ld de, VTiles0 tile $00
call Decompress
- ld hl, GFX_e0cf6
+ ld hl, CardFlipOffButtonGFX
ld de, VTiles1 tile $6f
- ld bc, $10
+ ld bc, 1 tiles
call CopyBytes
- ld hl, GFX_e0d06
+ ld hl, CardFlipOnButtonGFX
ld de, VTiles1 tile $75
- ld bc, $10
+ ld bc, 1 tiles
call CopyBytes
- call Functione0521
- call Functione04c1
- call Functione0c37
+
+ call CardFlip_ShiftDigitsLeftTwoPixels
+ call CardFlip_InitTilemap
+ call CardFlip_InitAttrPals
call EnableLCD
- call Function3200
+ call WaitBGMap2
ld a, $e4
call DmgToCgbBGPals
ld de, $e4e4
@@ -40,8 +46,8 @@
xor a
ld [wJumptableIndex], a
ld a, $2
- ld [wcf64], a
- ld [wcf65], a
+ ld [wCardFlipCursorY], a
+ ld [wCardFlipCursorX], a
ld de, MUSIC_GAME_CORNER
call PlayMusic
.MasterLoop
@@ -75,6 +81,7 @@
; e01a0 (38:41a0)
.Jumptable: ; e01a0
+
dw .AskPlayWithThree
dw .DeductCoins
dw .ChooseACard
@@ -93,15 +100,15 @@
.AskPlayWithThree: ; e01b5
ld hl, .PlayWithThreeCoinsText
- call Functione0489
+ call CardFlip_UpdateCoinBalanceDisplay
call YesNoBox
jr c, .SaidNo
- call Functione0366
+ call CardFlip_ShuffleDeck
call .Increment
ret
.SaidNo
- ld a, $7
+ ld a, 7
ld [wJumptableIndex], a
ret
; e01cd
@@ -124,8 +131,8 @@
cp 3
jr nc, .deduct ; You have at least 3 coins.
ld hl, .NotEnoughCoinsText
- call Functione0489
- ld a, $7
+ call CardFlip_UpdateCoinBalanceDisplay
+ ld a, 7
ld [wJumptableIndex], a
ret
@@ -140,7 +147,7 @@
call PlaySFX
xor a
ld [hBGMapMode], a
- call Functione049c
+ call CardFlip_PrintCoinBalance
ld a, $1
ld [hBGMapMode], a
call WaitSFX
@@ -159,29 +166,29 @@
ld [hBGMapMode], a
hlcoord 0, 0
lb bc, 12, 9
- call Functione04e5
+ call CardFlip_FillGreenBox
hlcoord 9, 0
ld bc, SCREEN_WIDTH
- ld a, [wc6e8]
+ ld a, [wCardFlipNumCardsPlayed]
call AddNTimes
- ld [hl], $f5
+ ld [hl], CARDFLIP_LIGHT_ON
ld a, $1
ld [hBGMapMode], a
ld c, 20
call DelayFrames
hlcoord 2, 0
- call Functione03c1
+ call PlaceCardFaceDown
ld a, $1
ld [hBGMapMode], a
ld c, 20
call DelayFrames
hlcoord 2, 6
- call Functione03c1
+ call PlaceCardFaceDown
call WaitBGMap
ld hl, .ChooseACardText
- call Functione0489
+ call CardFlip_UpdateCoinBalanceDisplay
xor a
- ld [wcf66], a
+ ld [wCardFlipWhichCard], a
.loop
call JoyTextDelay
ld a, [hJoyLast]
@@ -189,10 +196,10 @@
jr nz, .next
ld de, SFX_KINESIS
call PlaySFX
- call Functione0849
+ call PlaceOAMCardBorder
ld c, 4
call DelayFrames
- ld hl, wcf66
+ ld hl, wCardFlipWhichCard
ld a, [hl]
xor $1
ld [hl], a
@@ -204,7 +211,7 @@
ld a, $3
.loop2
push af
- call Functione0849
+ call PlaceOAMCardBorder
ld c, 4
call DelayFrames
call ClearSprites
@@ -213,16 +220,16 @@
pop af
dec a
jr nz, .loop2
- ld hl, wcf66
+ ld hl, wCardFlipWhichCard
ld a, [hl]
push af
xor $1
ld [hl], a
- call Functione03ac
+ call GetCoordsOfChosenCard
lb bc, 6, 5
- call Functione04e5
+ call CardFlip_FillGreenBox
pop af
- ld [wcf66], a
+ ld [wCardFlipWhichCard], a
call .Increment
ret
; e02b2
@@ -235,14 +242,14 @@
.PlaceYourBet: ; e02b7
ld hl, .PlaceYourBetText
- call Functione0489
+ call CardFlip_UpdateCoinBalanceDisplay
.betloop
call JoyTextDelay
ld a, [hJoyLast]
and A_BUTTON
jr nz, .betdone
- call Functione089c
- call Functione0960
+ call ChooseCard_HandleJoypad
+ call CardFlip_UpdateCursorOAM
call DelayFrame
jr .betloop
@@ -260,36 +267,36 @@
.CheckTheCard: ; e02da
xor a
ld [hVBlankCounter], a
- call Functione0960
+ call CardFlip_UpdateCursorOAM
call WaitSFX
ld de, SFX_CHOOSE_A_CARD
call PlaySFX
call WaitSFX
- ld a, [wc6e8]
+ ld a, [wCardFlipNumCardsPlayed]
ld e, a
ld d, 0
- ld hl, wc6d0
+ ld hl, wDeck
rept 2
add hl, de
endr
- ld a, [wcf66]
+ ld a, [wCardFlipWhichCard]
ld e, a
add hl, de
ld a, [hl]
- ld [CurEnemyMoveNum], a
+ ld [wCardFlipFaceUpCard], a
ld e, a
- ld hl, wc6ea
+ ld hl, wDiscardPile
add hl, de
- ld [hl], $1
- call Functione03ac
- call Functione03ec
- call Function3200
+ ld [hl], TRUE
+ call GetCoordsOfChosenCard
+ call CardFlip_DisplayCardFaceUp
+ call WaitBGMap2
call .Increment
ret
; e0314
.TabulateTheResult: ; e0314
- call Functione0637
+ call CardFlip_CheckWinCondition
call WaitPressAorB_BlinkCursor
call .Increment
ret
@@ -298,7 +305,7 @@
.PlayAgain: ; e031e
call ClearSprites
ld hl, .PlayAgainText
- call Functione0489
+ call CardFlip_UpdateCoinBalanceDisplay
call YesNoBox
jr nc, .Continue
call .Increment
@@ -305,24 +312,24 @@
ret
.Continue
- ld a, [wc6e8]
+ ld a, [wCardFlipNumCardsPlayed]
inc a
- ld [wc6e8], a
- cp $c
+ ld [wCardFlipNumCardsPlayed], a
+ cp 12
jr c, .KeepTheCurrentDeck
- call Functione04c1
+ call CardFlip_InitTilemap
ld a, $1
ld [hBGMapMode], a
- call Functione0366
+ call CardFlip_ShuffleDeck
ld hl, .CardsShuffledText
call PrintText
jr .LoopAround
.KeepTheCurrentDeck
- call Functione0534
+ call CardFlip_BlankDiscardedCardSlot
.LoopAround
- ld a, $1
+ ld a, 1
ld [wJumptableIndex], a
ret
; e0356
@@ -345,73 +352,73 @@
ret
; e0366
-Functione0366: ; e0366
- ld hl, wc6d0
- ld bc, $18
+CardFlip_ShuffleDeck: ; e0366
+ ld hl, wDeck
+ ld bc, CARDFLIP_DECK_SIZE
xor a
call ByteFill
- ld de, wc6d0
- ld c, $17
-.asm_e0375
+ ld de, wDeck
+ ld c, CARDFLIP_DECK_SIZE - 1
+.loop
call Random
and $1f
- cp $18
- jr nc, .asm_e0375
+ cp CARDFLIP_DECK_SIZE
+ jr nc, .loop
ld l, a
ld h, $0
add hl, de
ld a, [hl]
and a
- jr nz, .asm_e0375
+ jr nz, .loop
ld [hl], c
dec c
- jr nz, .asm_e0375
+ jr nz, .loop
xor a
- ld [wc6e8], a
- ld hl, wc6ea
- ld bc, $18
+ ld [wCardFlipNumCardsPlayed], a
+ ld hl, wDiscardPile
+ ld bc, CARDFLIP_DECK_SIZE
call ByteFill
ret
; e0398
-Functione0398: ; e0398
+CollapseCursorPosition: ; e0398
ld hl, 0
ld bc, 6
- ld a, [wcf64]
+ ld a, [wCardFlipCursorY]
call AddNTimes
ld b, $0
- ld a, [wcf65]
+ ld a, [wCardFlipCursorX]
ld c, a
add hl, bc
ret
; e03ac
-Functione03ac: ; e03ac
- ld a, [wcf66]
+GetCoordsOfChosenCard: ; e03ac
+ ld a, [wCardFlipWhichCard]
and a
- jr nz, .asm_e03ba
+ jr nz, .BottomCard
hlcoord 2, 0
- ld bc, $1018
- jr .asm_e03c0
+ bcpixel 2, 3
+ jr .done
-.asm_e03ba
+.BottomCard
hlcoord 2, 6
- ld bc, $4018
+ bcpixel 8, 3
-.asm_e03c0
+.done
ret
; e03c1
-Functione03c1: ; e03c1
+PlaceCardFaceDown: ; e03c1
xor a
ld [hBGMapMode], a
- ld de, Unknown_e03ce
+ ld de, .FaceDownCardTilemap
lb bc, 6, 5
- call Functione04f7
+ call CardFlip_CopyToBox
ret
; e03ce
-Unknown_e03ce: ; e03ce
+.FaceDownCardTilemap: ; e03ce
db $08, $09, $09, $09, $0a
db $0b, $28, $2b, $28, $0c
db $0b, $2c, $2d, $2e, $0c
@@ -420,18 +427,21 @@
db $0d, $0e, $0e, $0e, $0f
; e03ec
-Functione03ec: ; e03ec
+CardFlip_DisplayCardFaceUp: ; e03ec
xor a
ld [hBGMapMode], a
push hl
push hl
- ld de, Unknown_e043b
+ ; Flip the card face up.
+ ld de, .FaceUpCardTilemap
lb bc, 6, 5
- call Functione04f7
- ld a, [CurEnemyMoveNum]
+ call CardFlip_CopyToBox
+
+ ; Get the level and species of the upturned card.
+ ld a, [wCardFlipFaceUpCard]
ld e, a
ld d, 0
- ld hl, Unknown_e0459
+ ld hl, .Deck
rept 2
add hl, de
endr
@@ -438,42 +448,50 @@
ld a, [hli]
ld e, a
ld d, [hl]
+
+ ; Place the level.
pop hl
- ld bc, $17
+ ld bc, 3 + SCREEN_WIDTH
add hl, bc
ld [hl], e
+
+ ; Place the Pokepic.
ld bc, SCREEN_HEIGHT
add hl, bc
ld a, d
ld de, SCREEN_WIDTH
- ld b, $3
-.asm_e0418
+ ld b, 3
+.row
push hl
- ld c, $3
-.asm_e041b
+ ld c, 3
+.col
ld [hli], a
inc a
dec c
- jr nz, .asm_e041b
+ jr nz, .col
pop hl
add hl, de
dec b
- jr nz, .asm_e0418
+ jr nz, .row
pop hl
+
+ ; Pointless CGB check
ld a, [hCGB]
and a
ret z
+
+ ; Set the attributes
ld de, AttrMap - TileMap
add hl, de
- ld a, [CurEnemyMoveNum]
+ ld a, [wCardFlipFaceUpCard]
and 3
inc a
lb bc, 6, 5
- call Functione04e7
+ call CardFlip_FillBox
ret
; e043b
-Unknown_e043b: ; e043b
+.FaceUpCardTilemap: ; e043b
db $18, $19, $19, $19, $1a
db $1b, $35, $7f, $7f, $1c
db $0b, $28, $28, $28, $0c
@@ -482,34 +500,35 @@
db $1d, $1e, $1e, $1e, $1f
; e0459
-Unknown_e0459: ; e0459
- db $f7,$4e, $f7,$57, $f7,$69, $f7,$60
- db $f8,$4e, $f8,$57, $f8,$69, $f8,$60
- db $f9,$4e, $f9,$57, $f9,$69, $f9,$60
- db $fa,$4e, $fa,$57, $fa,$69, $fa,$60
- db $fb,$4e, $fb,$57, $fb,$69, $fb,$60
- db $fc,$4e, $fc,$57, $fc,$69, $fc,$60
+.Deck: ; e0459
+ ; level, pic anchor (3x3)
+ db "1",$4e, "1",$57, "1",$69, "1",$60
+ db "2",$4e, "2",$57, "2",$69, "2",$60
+ db "3",$4e, "3",$57, "3",$69, "3",$60
+ db "4",$4e, "4",$57, "4",$69, "4",$60
+ db "5",$4e, "5",$57, "5",$69, "5",$60
+ db "6",$4e, "6",$57, "6",$69, "6",$60
; e0489
-Functione0489: ; e0489
+CardFlip_UpdateCoinBalanceDisplay: ; e0489
push hl
hlcoord 0, 12
- ld b, $4
- ld c, $12
+ ld b, 4
+ ld c, SCREEN_WIDTH - 2
call TextBox
pop hl
call PrintTextBoxText
- call Functione049c
+ call CardFlip_PrintCoinBalance
ret
; e049c
-Functione049c: ; e049c
+CardFlip_PrintCoinBalance: ; e049c
hlcoord 9, 15
- ld b, $1
- ld c, $9
+ ld b, 1
+ ld c, 9
call TextBox
hlcoord 10, 16
- ld de, String_e04bc
+ ld de, .CoinStr
call PlaceString
hlcoord 15, 16
ld de, Coins
@@ -518,11 +537,11 @@
ret
; e04bc
-String_e04bc:
+.CoinStr:
db "COIN@"
; e04c1
-Functione04c1: ; e04c1 (38:44c1)
+CardFlip_InitTilemap: ; e04c1 (38:44c1)
xor a
ld [hBGMapMode], a
hlcoord 0, 0
@@ -530,9 +549,9 @@
ld a, $29
call ByteFill
hlcoord 9, 0
- ld de, Unknown_e110c
+ ld de, CardFlipTilemap
lb bc, 12, 11
- call Functione04f7
+ call CardFlip_CopyToBox
hlcoord 0, 12
lb bc, 4, 18
call TextBox
@@ -539,46 +558,48 @@
ret
; e04e5 (38:44e5)
-Functione04e5: ; e04e5
+CardFlip_FillGreenBox: ; e04e5
ld a, $29
-Functione04e7: ; e04e7 (38:44e7)
+CardFlip_FillBox: ; e04e7 (38:44e7)
+.row
push bc
push hl
-.asm_e04e9
+.col
ld [hli], a
dec c
- jr nz, .asm_e04e9
+ jr nz, .col
pop hl
- ld bc, $14
+ ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
- jr nz, Functione04e7
+ jr nz, .row
ret
-Functione04f7: ; e04f7 (38:44f7)
+CardFlip_CopyToBox: ; e04f7 (38:44f7)
+.row
push bc
push hl
-.asm_e04f9
+.col
ld a, [de]
inc de
ld [hli], a
dec c
- jr nz, .asm_e04f9
+ jr nz, .col
pop hl
- ld bc, $14
+ ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
- jr nz, Functione04f7
+ jr nz, .row
ret
; e0509 (38:4509)
-Functione0509: ; e0509
+CardFlip_CopyOAM: ; e0509
ld de, Sprites
ld a, [hli]
-.asm_e050d
+.loop
push af
ld a, [hli]
add b
@@ -596,16 +617,16 @@
inc de
pop af
dec a
- jr nz, .asm_e050d
+ jr nz, .loop
ret
; e0521
-Functione0521: ; e0521 (38:4521)
- ld de, VTiles1 tile $76
- ld hl, $8f62
- ld bc, $9e
+CardFlip_ShiftDigitsLeftTwoPixels: ; e0521 (38:4521)
+ ld de, VTiles1 tile ("0" & $7f)
+ ld hl, VTiles1 tile ("0" & $7f) + 2
+ ld bc, 10 tiles - 2
call CopyBytes
- ld hl, $8ffe
+ ld hl, VTiles1 tile $7f + 1 tiles - 2
xor a
ld [hli], a
ld [hl], a
@@ -612,22 +633,24 @@
ret
; e0534 (38:4534)
-Functione0534: ; e0534
+CardFlip_BlankDiscardedCardSlot: ; e0534
xor a
ld [hBGMapMode], a
- ld a, [CurEnemyMoveNum]
+ ld a, [wCardFlipFaceUpCard]
ld e, a
ld d, 0
- and 3
+
+ and 3 ; get mon
ld c, a
ld b, 0
+
ld a, e
- and $1c
+ and $1c ; get level
srl a
- add Jumptable_e0553 % $100
+ add .Jumptable % $100
ld l, a
ld a, 0
- adc Jumptable_e0553 / $100
+ adc .Jumptable / $100
ld h, a
ld a, [hli]
ld h, [hl]
@@ -635,21 +658,22 @@
jp [hl]
; e0553
-Jumptable_e0553: ; e0553
- dw Functione055f
- dw Functione0583
- dw Functione05a7
- dw Functione05cb
- dw Functione05ef
- dw Functione0613
+.Jumptable: ; e0553
+
+ dw .Level1
+ dw .Level2
+ dw .Level3
+ dw .Level4
+ dw .Level5
+ dw .Level6
; e055f
-Functione055f: ; e055f
- ld hl, wc6e6 + 8
+.Level1: ; e055f
+ ld hl, wDiscardPile + 4
add hl, de
ld a, [hl]
and a
- jr nz, .asm_e0575
+ jr nz, .discarded2
hlcoord 13, 3
rept 2
add hl, bc
@@ -660,7 +684,7 @@
ld [hl], $37
ret
-.asm_e0575
+.discarded2
hlcoord 13, 3
rept 2
add hl, bc
@@ -672,12 +696,12 @@
ret
; e0583
-Functione0583: ; e0583
- ld hl, wc6e6
+.Level2: ; e0583
+ ld hl, wDiscardPile - 4
add hl, de
ld a, [hl]
and a
- jr nz, .asm_e0599
+ jr nz, .discarded1
hlcoord 13, 4
rept 2
add hl, bc
@@ -688,7 +712,7 @@
ld [hl], $3a
ret
-.asm_e0599
+.discarded1
hlcoord 13, 4
rept 2
add hl, bc
@@ -700,12 +724,12 @@
ret
; e05a7
-Functione05a7: ; e05a7
- ld hl, wc6e6 + 8
+.Level3: ; e05a7
+ ld hl, wDiscardPile + 4
add hl, de
ld a, [hl]
and a
- jr nz, .asm_e05bd
+ jr nz, .discarded4
hlcoord 13, 6
rept 2
add hl, bc
@@ -716,7 +740,7 @@
ld [hl], $38
ret
-.asm_e05bd
+.discarded4
hlcoord 13, 6
rept 2
add hl, bc
@@ -728,12 +752,12 @@
ret
; e05cb
-Functione05cb: ; e05cb
- ld hl, wc6e6
+.Level4: ; e05cb
+ ld hl, wDiscardPile - 4
add hl, de
ld a, [hl]
and a
- jr nz, .asm_e05e1
+ jr nz, .discarded3
hlcoord 13, 7
rept 2
add hl, bc
@@ -744,7 +768,7 @@
ld [hl], $3a
ret
-.asm_e05e1
+.discarded3
hlcoord 13, 7
rept 2
add hl, bc
@@ -756,12 +780,12 @@
ret
; e05ef
-Functione05ef: ; e05ef
- ld hl, wc6e6 + 8
+.Level5: ; e05ef
+ ld hl, wDiscardPile + 4
add hl, de
ld a, [hl]
and a
- jr nz, .asm_e0605
+ jr nz, .discarded6
hlcoord 13, 9
rept 2
add hl, bc
@@ -772,7 +796,7 @@
ld [hl], $39
ret
-.asm_e0605
+.discarded6
hlcoord 13, 9
rept 2
add hl, bc
@@ -784,12 +808,12 @@
ret
; e0613
-Functione0613: ; e0613
- ld hl, wc6e6
+.Level6: ; e0613
+ ld hl, wDiscardPile - 4
add hl, de
ld a, [hl]
and a
- jr nz, .asm_e0629
+ jr nz, .discarded5
hlcoord 13, 10
rept 2
add hl, bc
@@ -800,7 +824,7 @@
ld [hl], $3a
ret
-.asm_e0629
+.discarded5
hlcoord 13, 10
rept 2
add hl, bc
@@ -812,10 +836,10 @@
ret
; e0637
-Functione0637: ; e0637
- call Functione0398
+CardFlip_CheckWinCondition: ; e0637
+ call CollapseCursorPosition
add hl, hl
- ld de, Jumptable_e0643
+ ld de, .Jumptable
add hl, de
ld a, [hli]
ld h, [hl]
@@ -823,335 +847,343 @@
jp [hl]
; e0643
-Jumptable_e0643: ; e0643
- dw Functione06a3
- dw Functione06a3
- dw Functione06a6
- dw Functione06a6
- dw Functione06b0
- dw Functione06b0
- dw Functione06a3
- dw Functione06a3
- dw Functione06ec
- dw Functione06f6
- dw Functione0702
- dw Functione070e
- dw Functione06c2
- dw Functione0722
- dw Functione0770
- dw Functione0774
- dw Functione0778
- dw Functione077c
- dw Functione06c2
- dw Functione072c
- dw Functione0780
- dw Functione0784
- dw Functione0788
- dw Functione078c
- dw Functione06cc
- dw Functione0738
- dw Functione0790
- dw Functione0794
- dw Functione0798
- dw Functione079c
- dw Functione06cc
- dw Functione0744
- dw Functione07a0
- dw Functione07a4
- dw Functione07a8
- dw Functione07ac
- dw Functione06d8
- dw Functione0750
- dw Functione07b0
- dw Functione07b4
- dw Functione07b8
- dw Functione07bc
- dw Functione06d8
- dw Functione075c
- dw Functione07c0
- dw Functione07c4
- dw Functione07c8
- dw Functione07cc
+.Jumptable: ; e0643
+
+ dw .Impossible
+ dw .Impossible
+ dw .PikaJiggly
+ dw .PikaJiggly
+ dw .PoliOddish
+ dw .PoliOddish
+
+ dw .Impossible
+ dw .Impossible
+ dw .Pikachu
+ dw .Jigglypuff
+ dw .Poliwag
+ dw .Oddish
+
+ dw .OneTwo
+ dw .One
+ dw .PikaOne
+ dw .JigglyOne
+ dw .PoliOne
+ dw .OddOne
+
+ dw .OneTwo
+ dw .Two
+ dw .PikaTwo
+ dw .JigglyTwo
+ dw .PoliTwo
+ dw .OddTwo
+
+ dw .ThreeFour
+ dw .Three
+ dw .PikaThree
+ dw .JigglyThree
+ dw .PoliThree
+ dw .OddThree
+
+ dw .ThreeFour
+ dw .Four
+ dw .PikaFour
+ dw .JigglyFour
+ dw .PoliFour
+ dw .OddFour
+
+ dw .FiveSix
+ dw .Five
+ dw .PikaFive
+ dw .JigglyFive
+ dw .PoliFive
+ dw .OddFive
+
+ dw .FiveSix
+ dw .Six
+ dw .PikaSix
+ dw .JigglySix
+ dw .PoliSix
+ dw .OddSix
; e06a3
-Functione06a3: ; e06a3
- jp Functione07db
+.Impossible: ; e06a3
+ jp .Lose
; e06a6
-Functione06a6: ; e06a6
- ld a, [CurEnemyMoveNum]
+.PikaJiggly: ; e06a6
+ ld a, [wCardFlipFaceUpCard]
and $2
- jp nz, Functione07db
- jr Functione06ba
+ jp nz, .Lose
+ jr .WinSix
-Functione06b0: ; e06b0
- ld a, [CurEnemyMoveNum]
+.PoliOddish: ; e06b0
+ ld a, [wCardFlipFaceUpCard]
and $2
- jr nz, Functione06ba
- jp Functione07db
+ jr nz, .WinSix
+ jp .Lose
-Functione06ba: ; e06ba
+.WinSix: ; e06ba
ld c, $6
ld de, SFX_2ND_PLACE
- jp Functione07eb
+ jp .Payout
; e06c2
-Functione06c2: ; e06c2
- ld a, [CurEnemyMoveNum]
+.OneTwo: ; e06c2
+ ld a, [wCardFlipFaceUpCard]
and $18
- jr z, Functione06e4
- jp Functione07db
+ jr z, .WinNine
+ jp .Lose
-Functione06cc: ; e06cc
- ld a, [CurEnemyMoveNum]
+.ThreeFour: ; e06cc
+ ld a, [wCardFlipFaceUpCard]
and $18
cp $8
- jr z, Functione06e4
- jp Functione07db
+ jr z, .WinNine
+ jp .Lose
-Functione06d8: ; e06d8
- ld a, [CurEnemyMoveNum]
+.FiveSix: ; e06d8
+ ld a, [wCardFlipFaceUpCard]
and $18
cp $10
- jr z, Functione06e4
- jp Functione07db
+ jr z, .WinNine
+ jp .Lose
-Functione06e4: ; e06e4
+.WinNine: ; e06e4
ld c, $9
ld de, SFX_2ND_PLACE
- jp Functione07eb
+ jp .Payout
; e06ec
-Functione06ec: ; e06ec
- ld a, [CurEnemyMoveNum]
+.Pikachu: ; e06ec
+ ld a, [wCardFlipFaceUpCard]
and $3
- jr z, Functione071a
- jp Functione07db
+ jr z, .WinTwelve
+ jp .Lose
-Functione06f6: ; e06f6
- ld a, [CurEnemyMoveNum]
+.Jigglypuff: ; e06f6
+ ld a, [wCardFlipFaceUpCard]
and $3
cp $1
- jr z, Functione071a
- jp Functione07db
+ jr z, .WinTwelve
+ jp .Lose
-Functione0702: ; e0702
- ld a, [CurEnemyMoveNum]
+.Poliwag: ; e0702
+ ld a, [wCardFlipFaceUpCard]
and $3
cp $2
- jr z, Functione071a
- jp Functione07db
+ jr z, .WinTwelve
+ jp .Lose
-Functione070e: ; e070e
- ld a, [CurEnemyMoveNum]
+.Oddish: ; e070e
+ ld a, [wCardFlipFaceUpCard]
and $3
cp $3
- jr z, Functione071a
- jp Functione07db
+ jr z, .WinTwelve
+ jp .Lose
-Functione071a: ; e071a
+.WinTwelve: ; e071a
ld c, $c
ld de, SFX_2ND_PLACE
- jp Functione07eb
+ jp .Payout
; e0722
-Functione0722: ; e0722
- ld a, [CurEnemyMoveNum]
+.One: ; e0722
+ ld a, [wCardFlipFaceUpCard]
and $1c
- jr z, Functione0768
- jp Functione07db
+ jr z, .WinEighteen
+ jp .Lose
-Functione072c: ; e072c
- ld a, [CurEnemyMoveNum]
+.Two: ; e072c
+ ld a, [wCardFlipFaceUpCard]
and $1c
cp $4
- jr z, Functione0768
- jp Functione07db
+ jr z, .WinEighteen
+ jp .Lose
-Functione0738: ; e0738
- ld a, [CurEnemyMoveNum]
+.Three: ; e0738
+ ld a, [wCardFlipFaceUpCard]
and $1c
cp $8
- jr z, Functione0768
- jp Functione07db
+ jr z, .WinEighteen
+ jp .Lose
-Functione0744: ; e0744
- ld a, [CurEnemyMoveNum]
+.Four: ; e0744
+ ld a, [wCardFlipFaceUpCard]
and $1c
cp $c
- jr z, Functione0768
- jp Functione07db
+ jr z, .WinEighteen
+ jp .Lose
-Functione0750: ; e0750
- ld a, [CurEnemyMoveNum]
+.Five: ; e0750
+ ld a, [wCardFlipFaceUpCard]
and $1c
cp $10
- jr z, Functione0768
- jp Functione07db
+ jr z, .WinEighteen
+ jp .Lose
-Functione075c: ; e075c
- ld a, [CurEnemyMoveNum]
+.Six: ; e075c
+ ld a, [wCardFlipFaceUpCard]
and $1c
cp $14
- jr z, Functione0768
- jp Functione07db
+ jr z, .WinEighteen
+ jp .Lose
-Functione0768: ; e0768
+.WinEighteen: ; e0768
ld c, $12
ld de, SFX_2ND_PLACE
- jp Functione07eb
+ jp .Payout
; e0770
-Functione0770: ; e0770
+.PikaOne: ; e0770
ld e, $0
- jr Functione07ce
+ jr .CheckWin72
-Functione0774: ; e0774
+.JigglyOne: ; e0774
ld e, $1
- jr Functione07ce
+ jr .CheckWin72
-Functione0778: ; e0778
+.PoliOne: ; e0778
ld e, $2
- jr Functione07ce
+ jr .CheckWin72
-Functione077c: ; e077c
+.OddOne: ; e077c
ld e, $3
- jr Functione07ce
+ jr .CheckWin72
-Functione0780: ; e0780
+.PikaTwo: ; e0780
ld e, $4
- jr Functione07ce
+ jr .CheckWin72
-Functione0784: ; e0784
+.JigglyTwo: ; e0784
ld e, $5
- jr Functione07ce
+ jr .CheckWin72
-Functione0788: ; e0788
+.PoliTwo: ; e0788
ld e, $6
- jr Functione07ce
+ jr .CheckWin72
-Functione078c: ; e078c
+.OddTwo: ; e078c
ld e, $7
- jr Functione07ce
+ jr .CheckWin72
-Functione0790: ; e0790
+.PikaThree: ; e0790
ld e, $8
- jr Functione07ce
+ jr .CheckWin72
-Functione0794: ; e0794
+.JigglyThree: ; e0794
ld e, $9
- jr Functione07ce
+ jr .CheckWin72
-Functione0798: ; e0798
+.PoliThree: ; e0798
ld e, $a
- jr Functione07ce
+ jr .CheckWin72
-Functione079c: ; e079c
+.OddThree: ; e079c
ld e, $b
- jr Functione07ce
+ jr .CheckWin72
-Functione07a0: ; e07a0
+.PikaFour: ; e07a0
ld e, $c
- jr Functione07ce
+ jr .CheckWin72
-Functione07a4: ; e07a4
+.JigglyFour: ; e07a4
ld e, $d
- jr Functione07ce
+ jr .CheckWin72
-Functione07a8: ; e07a8
+.PoliFour: ; e07a8
ld e, $e
- jr Functione07ce
+ jr .CheckWin72
-Functione07ac: ; e07ac
+.OddFour: ; e07ac
ld e, $f
- jr Functione07ce
+ jr .CheckWin72
-Functione07b0: ; e07b0
+.PikaFive: ; e07b0
ld e, $10
- jr Functione07ce
+ jr .CheckWin72
-Functione07b4: ; e07b4
+.JigglyFive: ; e07b4
ld e, $11
- jr Functione07ce
+ jr .CheckWin72
-Functione07b8: ; e07b8
+.PoliFive: ; e07b8
ld e, $12
- jr Functione07ce
+ jr .CheckWin72
-Functione07bc: ; e07bc
+.OddFive: ; e07bc
ld e, $13
- jr Functione07ce
+ jr .CheckWin72
-Functione07c0: ; e07c0
+.PikaSix: ; e07c0
ld e, $14
- jr Functione07ce
+ jr .CheckWin72
-Functione07c4: ; e07c4
+.JigglySix: ; e07c4
ld e, $15
- jr Functione07ce
+ jr .CheckWin72
-Functione07c8: ; e07c8
+.PoliSix: ; e07c8
ld e, $16
- jr Functione07ce
+ jr .CheckWin72
-Functione07cc: ; e07cc
+.OddSix: ; e07cc
ld e, $17
-Functione07ce: ; e07ce
- ld a, [CurEnemyMoveNum]
+.CheckWin72: ; e07ce
+ ld a, [wCardFlipFaceUpCard]
cp e
- jr nz, Functione07db
- ld c, $48
+ jr nz, .Lose
+ ld c, 72
ld de, SFX_2ND_PLACE
- jr Functione07eb
+ jr .Payout
-Functione07db: ; e07db
+.Lose: ; e07db
ld de, SFX_WRONG
call PlaySFX
- ld hl, UnknownText_0xe0816
- call Functione0489
+ ld hl, .Text_Darn
+ call CardFlip_UpdateCoinBalanceDisplay
call WaitSFX
ret
-Functione07eb: ; e07eb
+.Payout: ; e07eb
push bc
push de
- ld hl, UnknownText_0xe0811
- call Functione0489
+ ld hl, .Text_Yeah
+ call CardFlip_UpdateCoinBalanceDisplay
pop de
call PlaySFX
call WaitSFX
pop bc
-.asm_e07fb
+.loop
push bc
- call Functione0833
- jr c, .asm_e0804
- call Functione081b
+ call .IsCoinCaseFull
+ jr c, .full
+ call .AddCoinPlaySFX
-.asm_e0804
- call Functione049c
+.full
+ call CardFlip_PrintCoinBalance
ld c, 2
call DelayFrames
pop bc
dec c
- jr nz, .asm_e07fb
+ jr nz, .loop
ret
; e0811
-UnknownText_0xe0811: ; 0xe0811
+.Text_Yeah: ; 0xe0811
; Yeah!
text_jump UnknownText_0x1c5813
db "@"
; 0xe0816
-UnknownText_0xe0816: ; 0xe0816
+.Text_Darn: ; 0xe0816
; Darn…
text_jump UnknownText_0x1c581a
db "@"
; 0xe081b
-Functione081b: ; e081b
+.AddCoinPlaySFX: ; e081b
ld a, [Coins]
ld h, a
ld a, [Coins + 1]
@@ -1166,124 +1198,129 @@
ret
; e0833
-Functione0833: ; e0833
+.IsCoinCaseFull: ; e0833
ld a, [Coins]
cp 9999 / $100
- jr c, .asm_e0847
- jr z, .asm_e083e
- jr .asm_e0845
+ jr c, .less
+ jr z, .check_low
+ jr .more
-.asm_e083e
+.check_low
ld a, [Coins + 1]
cp 9999 % $100
- jr c, .asm_e0847
+ jr c, .less
-.asm_e0845
+.more
scf
ret
-.asm_e0847
+.less
and a
ret
; e0849
-Functione0849: ; e0849
- call Functione03ac
- ld hl, Unknown_e0853
- call Functione0509
+PlaceOAMCardBorder: ; e0849
+ call GetCoordsOfChosenCard
+ ld hl, .SpriteData
+ call CardFlip_CopyOAM
ret
; e0853
-Unknown_e0853: ; e0853
+.SpriteData: ; e0853
db 18
- db $00, $00, $04, $00
- db $00, $08, $06, $00
- db $00, $10, $06, $00
- db $00, $18, $06, $00
- db $00, $20, $04, $20
- db $08, $00, $05, $00
- db $08, $20, $05, $20
- db $10, $00, $05, $00
- db $10, $20, $05, $20
- db $18, $00, $05, $00
- db $18, $20, $05, $20
- db $20, $00, $05, $00
- db $20, $20, $05, $20
- db $28, $00, $04, $40
- db $28, $08, $06, $40
- db $28, $10, $06, $40
- db $28, $18, $06, $40
- db $28, $20, $04, $60
+ dsprite 0, 0, 0, 0, $04, $00
+ dsprite 0, 0, 1, 0, $06, $00
+ dsprite 0, 0, 2, 0, $06, $00
+ dsprite 0, 0, 3, 0, $06, $00
+ dsprite 0, 0, 4, 0, $04, $20
+
+ dsprite 1, 0, 0, 0, $05, $00
+ dsprite 1, 0, 4, 0, $05, $20
+
+ dsprite 2, 0, 0, 0, $05, $00
+ dsprite 2, 0, 4, 0, $05, $20
+
+ dsprite 3, 0, 0, 0, $05, $00
+ dsprite 3, 0, 4, 0, $05, $20
+
+ dsprite 4, 0, 0, 0, $05, $00
+ dsprite 4, 0, 4, 0, $05, $20
+
+ dsprite 5, 0, 0, 0, $04, $40
+ dsprite 5, 0, 1, 0, $06, $40
+ dsprite 5, 0, 2, 0, $06, $40
+ dsprite 5, 0, 3, 0, $06, $40
+ dsprite 5, 0, 4, 0, $04, $60
; e089c
-Functione089c: ; e089c
+ChooseCard_HandleJoypad: ; e089c
ld hl, hJoyLast
ld a, [hl]
and D_LEFT
- jp nz, Functione08b8
+ jp nz, .d_left
ld a, [hl]
and D_RIGHT
- jp nz, Functione08ef
+ jp nz, .d_right
ld a, [hl]
and D_UP
- jp nz, Functione090a
+ jp nz, .d_up
ld a, [hl]
and D_DOWN
- jp nz, Functione093d
+ jp nz, .d_down
ret
; e08b8
-Functione08b8: ; e08b8
- ld hl, wcf65
- ld a, [wcf64]
+.d_left: ; e08b8
+ ld hl, wCardFlipCursorX
+ ld a, [wCardFlipCursorY]
and a
- jr z, .asm_e08d5
+ jr z, .mon_pair_left
cp $1
- jr z, .asm_e08cc
+ jr z, .mon_group_left
ld a, [hl]
and a
ret z
dec [hl]
- jp Functione0959
+ jp .play_sound
-.asm_e08cc
+.mon_group_left
ld a, [hl]
cp $3
- jr c, .asm_e08e2
+ jr c, .left_to_number_gp
dec [hl]
- jp Functione0959
+ jp .play_sound
-.asm_e08d5
+.mon_pair_left
ld a, [hl]
and $e
ld [hl], a
cp $3
- jr c, .asm_e08e2
+ jr c, .left_to_number_gp
rept 2
dec [hl]
endr
- jp Functione0959
+ jp .play_sound
-.asm_e08e2
+.left_to_number_gp
ld a, $2
- ld [wcf64], a
+ ld [wCardFlipCursorY], a
ld a, $1
- ld [wcf65], a
- jp Functione0959
+ ld [wCardFlipCursorX], a
+ jp .play_sound
; e08ef
-Functione08ef: ; e08ef
- ld hl, wcf65
- ld a, [wcf64]
+.d_right: ; e08ef
+ ld hl, wCardFlipCursorX
+ ld a, [wCardFlipCursorY]
and a
- jr z, .asm_e08ff
+ jr z, .mon_pair_right
ld a, [hl]
cp $5
ret nc
inc [hl]
- jr Functione0959
+ jr .play_sound
-.asm_e08ff
+.mon_pair_right
ld a, [hl]
and $e
ld [hl], a
@@ -1292,59 +1329,59 @@
rept 2
inc [hl]
endr
- jr Functione0959
+ jr .play_sound
-Functione090a: ; e090a
- ld hl, wcf64
- ld a, [wcf65]
+.d_up: ; e090a
+ ld hl, wCardFlipCursorY
+ ld a, [wCardFlipCursorX]
and a
- jr z, .asm_e0925
+ jr z, .num_pair_up
cp $1
- jr z, .asm_e091d
+ jr z, .num_gp_up
ld a, [hl]
and a
ret z
dec [hl]
- jr Functione0959
+ jr .play_sound
-.asm_e091d
+.num_gp_up
ld a, [hl]
cp $3
- jr c, .asm_e0931
+ jr c, .up_to_mon_group
dec [hl]
- jr Functione0959
+ jr .play_sound
-.asm_e0925
+.num_pair_up
ld a, [hl]
and $e
ld [hl], a
cp $3
- jr c, .asm_e0931
+ jr c, .up_to_mon_group
rept 2
dec [hl]
endr
- jr Functione0959
+ jr .play_sound
-.asm_e0931
+.up_to_mon_group
ld a, $1
- ld [wcf64], a
+ ld [wCardFlipCursorY], a
ld a, $2
- ld [wcf65], a
- jr Functione0959
+ ld [wCardFlipCursorX], a
+ jr .play_sound
-Functione093d: ; e093d
- ld hl, wcf64
- ld a, [wcf65]
+.d_down: ; e093d
+ ld hl, wCardFlipCursorY
+ ld a, [wCardFlipCursorX]
and a
- jr z, .asm_e0950
- ld hl, wcf64
+ jr z, .num_pair_down
+ ld hl, wCardFlipCursorY
ld a, [hl]
cp $7
ret nc
inc [hl]
- jr Functione0959
+ jr .play_sound
-.asm_e0950
+.num_pair_down
ld a, [hl]
and $e
ld [hl], a
@@ -1354,27 +1391,27 @@
inc [hl]
endr
-Functione0959: ; e0959
+.play_sound: ; e0959
ld de, SFX_POKEBALLS_PLACED_ON_TABLE
call PlaySFX
ret
; e0960
-Functione0960: ; e0960
+CardFlip_UpdateCursorOAM: ; e0960
call ClearSprites
ld a, [hCGB]
and a
- jr nz, .asm_e096d
+ jr nz, .skip
ld a, [hVBlankCounter]
and $4
ret nz
-.asm_e096d
- call Functione0398
+.skip
+ call CollapseCursorPosition
rept 2
add hl, hl
endr
- ld de, Unknown_e0981
+ ld de, .OAMData
add hl, de
ld a, [hli]
ld c, a
@@ -1383,246 +1420,264 @@
ld a, [hli]
ld h, [hl]
ld l, a
- call Functione0509
+ call CardFlip_CopyOAM
ret
; e0981
-Unknown_e0981: ; e0981
- dbbw $58, $10, Unknown_e0c26
- dbbw $60, $10, Unknown_e0c26
- dbbw $68, $10, Unknown_e0b8d
- dbbw $68, $10, Unknown_e0b8d
- dbbw $88, $10, Unknown_e0b8d
- dbbw $88, $10, Unknown_e0b8d
+.OAMData: ; e0981
+cardflip_cursor: MACRO
+if _NARG >= 5
+ dbpixel \1, \2, \3, \4
+ dw \5
+else
+ dbpixel \1, \2
+ dw \3
+endc
+endm
- dbbw $58, $18, Unknown_e0c26
- dbbw $60, $18, Unknown_e0c26
- dbbw $68, $18, Unknown_e0a5a
- dbbw $78, $18, Unknown_e0a5a
- dbbw $88, $18, Unknown_e0a5a
- dbbw $98, $18, Unknown_e0a5a
- dbbw $58, $28, Unknown_e0b14
- dbbw $60, $28, Unknown_e0ac3
- dbbw $68, $28, Unknown_e0a41
- dbbw $78, $28, Unknown_e0a41
- dbbw $88, $28, Unknown_e0a41
- dbbw $98, $28, Unknown_e0a41
- dbbw $58, $28, Unknown_e0b14
+ cardflip_cursor 11, 2, .Impossible
+ cardflip_cursor 12, 2, .Impossible
+ cardflip_cursor 13, 2, .PokeGroupPair
+ cardflip_cursor 13, 2, .PokeGroupPair
+ cardflip_cursor 17, 2, .PokeGroupPair
+ cardflip_cursor 17, 2, .PokeGroupPair
- dbbw $60, $34, Unknown_e0ac3
- dbbw $68, $34, Unknown_e0a41
- dbbw $78, $34, Unknown_e0a41
- dbbw $88, $34, Unknown_e0a41
- dbbw $98, $34, Unknown_e0a41
+ cardflip_cursor 11, 3, .Impossible
+ cardflip_cursor 12, 3, .Impossible
+ cardflip_cursor 13, 3, .PokeGroup
+ cardflip_cursor 15, 3, .PokeGroup
+ cardflip_cursor 17, 3, .PokeGroup
+ cardflip_cursor 19, 3, .PokeGroup
- dbbw $58, $40, Unknown_e0b14
- dbbw $60, $40, Unknown_e0ac3
- dbbw $68, $40, Unknown_e0a41
- dbbw $78, $40, Unknown_e0a41
- dbbw $88, $40, Unknown_e0a41
- dbbw $98, $40, Unknown_e0a41
- dbbw $58, $40, Unknown_e0b14
+ cardflip_cursor 11, 5, .NumGroupPair
+ cardflip_cursor 12, 5, .NumGroup
+ cardflip_cursor 13, 5, .SingleTile
+ cardflip_cursor 15, 5, .SingleTile
+ cardflip_cursor 17, 5, .SingleTile
+ cardflip_cursor 19, 5, .SingleTile
- dbbw $60, $4c, Unknown_e0ac3
- dbbw $68, $4c, Unknown_e0a41
- dbbw $78, $4c, Unknown_e0a41
- dbbw $88, $4c, Unknown_e0a41
- dbbw $98, $4c, Unknown_e0a41
+ cardflip_cursor 11, 5, .NumGroupPair
+ cardflip_cursor 12, 6, 0, 4, .NumGroup
+ cardflip_cursor 13, 6, 0, 4, .SingleTile
+ cardflip_cursor 15, 6, 0, 4, .SingleTile
+ cardflip_cursor 17, 6, 0, 4, .SingleTile
+ cardflip_cursor 19, 6, 0, 4, .SingleTile
- dbbw $58, $58, Unknown_e0b14
- dbbw $60, $58, Unknown_e0ac3
- dbbw $68, $58, Unknown_e0a41
- dbbw $78, $58, Unknown_e0a41
- dbbw $88, $58, Unknown_e0a41
- dbbw $98, $58, Unknown_e0a41
- dbbw $58, $58, Unknown_e0b14
+ cardflip_cursor 11, 8, .NumGroupPair
+ cardflip_cursor 12, 8, .NumGroup
+ cardflip_cursor 13, 8, .SingleTile
+ cardflip_cursor 15, 8, .SingleTile
+ cardflip_cursor 17, 8, .SingleTile
+ cardflip_cursor 19, 8, .SingleTile
- dbbw $60, $64, Unknown_e0ac3
- dbbw $68, $64, Unknown_e0a41
- dbbw $78, $64, Unknown_e0a41
- dbbw $88, $64, Unknown_e0a41
- dbbw $98, $64, Unknown_e0a41
+ cardflip_cursor 11, 8, .NumGroupPair
+ cardflip_cursor 12, 9, 0, 4, .NumGroup
+ cardflip_cursor 13, 9, 0, 4, .SingleTile
+ cardflip_cursor 15, 9, 0, 4, .SingleTile
+ cardflip_cursor 17, 9, 0, 4, .SingleTile
+ cardflip_cursor 19, 9, 0, 4, .SingleTile
+
+ cardflip_cursor 11, 11, .NumGroupPair
+ cardflip_cursor 12, 11, .NumGroup
+ cardflip_cursor 13, 11, .SingleTile
+ cardflip_cursor 15, 11, .SingleTile
+ cardflip_cursor 17, 11, .SingleTile
+ cardflip_cursor 19, 11, .SingleTile
+
+ cardflip_cursor 11, 11, .NumGroupPair
+ cardflip_cursor 12, 12, 0, 4, .NumGroup
+ cardflip_cursor 13, 12, 0, 4, .SingleTile
+ cardflip_cursor 15, 12, 0, 4, .SingleTile
+ cardflip_cursor 17, 12, 0, 4, .SingleTile
+ cardflip_cursor 19, 12, 0, 4, .SingleTile
; e0a41
-Unknown_e0a41: ; e0a41
+.SingleTile: ; e0a41
db 6
- db $00, $ff, $00, $80
- db $00, $00, $02, $80
- db $00, $08, $03, $80
- db $05, $ff, $00, $c0
- db $05, $00, $02, $c0
- db $05, $08, $03, $80
+ dsprite 0, 0, -1, 7, $00, $80
+ dsprite 0, 0, 0, 0, $02, $80
+ dsprite 0, 0, 1, 0, $03, $80
+ dsprite 0, 5, -1, 7, $00, $c0
+ dsprite 0, 5, 0, 0, $02, $c0
+ dsprite 0, 5, 1, 0, $03, $80
-Unknown_e0a5a: ; e0a5a
+.PokeGroup: ; e0a5a
db 26
- db $00, $ff, $00, $80
- db $00, $00, $02, $80
- db $00, $08, $00, $a0
- db $08, $ff, $01, $80
- db $08, $08, $01, $a0
- db $10, $ff, $01, $80
- db $10, $08, $03, $80
- db $18, $ff, $01, $80
- db $18, $08, $03, $80
- db $20, $ff, $01, $80
- db $20, $08, $03, $80
- db $28, $ff, $01, $80
- db $28, $08, $03, $80
- db $30, $ff, $01, $80
- db $30, $08, $03, $80
- db $38, $ff, $01, $80
- db $38, $08, $03, $80
- db $40, $ff, $01, $80
- db $40, $08, $03, $80
- db $48, $ff, $01, $80
- db $48, $08, $03, $80
- db $50, $ff, $01, $80
- db $50, $08, $03, $80
- db $51, $ff, $00, $c0
- db $51, $00, $02, $c0
- db $51, $08, $03, $80
+ dsprite 0, 0, -1, 7, $00, $80
+ dsprite 0, 0, 0, 0, $02, $80
+ dsprite 0, 0, 1, 0, $00, $a0
+ dsprite 1, 0, -1, 7, $01, $80
+ dsprite 1, 0, 1, 0, $01, $a0
+ dsprite 2, 0, -1, 7, $01, $80
+ dsprite 2, 0, 1, 0, $03, $80
+ dsprite 3, 0, -1, 7, $01, $80
+ dsprite 3, 0, 1, 0, $03, $80
+ dsprite 4, 0, -1, 7, $01, $80
+ dsprite 4, 0, 1, 0, $03, $80
+ dsprite 5, 0, -1, 7, $01, $80
+ dsprite 5, 0, 1, 0, $03, $80
+ dsprite 6, 0, -1, 7, $01, $80
+ dsprite 6, 0, 1, 0, $03, $80
+ dsprite 7, 0, -1, 7, $01, $80
+ dsprite 7, 0, 1, 0, $03, $80
+ dsprite 8, 0, -1, 7, $01, $80
+ dsprite 8, 0, 1, 0, $03, $80
+ dsprite 9, 0, -1, 7, $01, $80
+ dsprite 9, 0, 1, 0, $03, $80
+ dsprite 10, 0, -1, 7, $01, $80
+ dsprite 10, 0, 1, 0, $03, $80
+ dsprite 10, 1, -1, 7, $00, $c0
+ dsprite 10, 1, 0, 0, $02, $c0
+ dsprite 10, 1, 1, 0, $03, $80
-Unknown_e0ac3: ; e0ac3
+.NumGroup: ; e0ac3
db 20
- db $00, $ff, $00, $80
- db $00, $00, $02, $80
- db $00, $08, $02, $80
- db $00, $10, $03, $80
- db $00, $18, $02, $80
- db $00, $20, $03, $80
- db $00, $28, $02, $80
- db $00, $30, $03, $80
- db $00, $38, $02, $80
- db $00, $40, $03, $80
- db $05, $ff, $00, $c0
- db $05, $00, $02, $c0
- db $05, $08, $02, $c0
- db $05, $10, $03, $80
- db $05, $18, $02, $c0
- db $05, $20, $03, $80
- db $05, $28, $02, $c0
- db $05, $30, $03, $80
- db $05, $38, $02, $c0
- db $05, $40, $03, $80
+ dsprite 0, 0, -1, 7, $00, $80
+ dsprite 0, 0, 0, 0, $02, $80
+ dsprite 0, 0, 1, 0, $02, $80
+ dsprite 0, 0, 2, 0, $03, $80
+ dsprite 0, 0, 3, 0, $02, $80
+ dsprite 0, 0, 4, 0, $03, $80
+ dsprite 0, 0, 5, 0, $02, $80
+ dsprite 0, 0, 6, 0, $03, $80
+ dsprite 0, 0, 7, 0, $02, $80
+ dsprite 0, 0, 8, 0, $03, $80
+ dsprite 0, 5, -1, 7, $00, $c0
+ dsprite 0, 5, 0, 0, $02, $c0
+ dsprite 0, 5, 1, 0, $02, $c0
+ dsprite 0, 5, 2, 0, $03, $80
+ dsprite 0, 5, 3, 0, $02, $c0
+ dsprite 0, 5, 4, 0, $03, $80
+ dsprite 0, 5, 5, 0, $02, $c0
+ dsprite 0, 5, 6, 0, $03, $80
+ dsprite 0, 5, 7, 0, $02, $c0
+ dsprite 0, 5, 8, 0, $03, $80
-Unknown_e0b14: ; e0b14
+.NumGroupPair: ; e0b14
db 30
- db $00, $00, $00, $80
- db $00, $08, $02, $80
- db $00, $10, $02, $80
- db $00, $18, $03, $80
- db $00, $20, $02, $80
- db $00, $28, $03, $80
- db $00, $30, $02, $80
- db $00, $38, $03, $80
- db $00, $40, $02, $80
- db $00, $48, $03, $80
- db $08, $00, $01, $80
- db $08, $18, $03, $80
- db $08, $28, $03, $80
- db $08, $38, $03, $80
- db $08, $48, $03, $80
- db $10, $00, $01, $80
- db $10, $18, $03, $80
- db $10, $28, $03, $80
- db $10, $38, $03, $80
- db $10, $48, $03, $80
- db $11, $00, $00, $c0
- db $11, $08, $02, $c0
- db $11, $10, $02, $c0
- db $11, $18, $03, $80
- db $11, $20, $03, $80
- db $11, $28, $03, $80
- db $11, $30, $03, $80
- db $11, $38, $03, $80
- db $11, $40, $03, $80
- db $11, $48, $03, $80
+ dsprite 0, 0, 0, 0, $00, $80
+ dsprite 0, 0, 1, 0, $02, $80
+ dsprite 0, 0, 2, 0, $02, $80
+ dsprite 0, 0, 3, 0, $03, $80
+ dsprite 0, 0, 4, 0, $02, $80
+ dsprite 0, 0, 5, 0, $03, $80
+ dsprite 0, 0, 6, 0, $02, $80
+ dsprite 0, 0, 7, 0, $03, $80
+ dsprite 0, 0, 8, 0, $02, $80
+ dsprite 0, 0, 9, 0, $03, $80
+ dsprite 1, 0, 0, 0, $01, $80
+ dsprite 1, 0, 3, 0, $03, $80
+ dsprite 1, 0, 5, 0, $03, $80
+ dsprite 1, 0, 7, 0, $03, $80
+ dsprite 1, 0, 9, 0, $03, $80
+ dsprite 2, 0, 0, 0, $01, $80
+ dsprite 2, 0, 3, 0, $03, $80
+ dsprite 2, 0, 5, 0, $03, $80
+ dsprite 2, 0, 7, 0, $03, $80
+ dsprite 2, 0, 9, 0, $03, $80
+ dsprite 2, 1, 0, 0, $00, $c0
+ dsprite 2, 1, 1, 0, $02, $c0
+ dsprite 2, 1, 2, 0, $02, $c0
+ dsprite 2, 1, 3, 0, $03, $80
+ dsprite 2, 1, 4, 0, $03, $80
+ dsprite 2, 1, 5, 0, $03, $80
+ dsprite 2, 1, 6, 0, $03, $80
+ dsprite 2, 1, 7, 0, $03, $80
+ dsprite 2, 1, 8, 0, $03, $80
+ dsprite 2, 1, 9, 0, $03, $80
-Unknown_e0b8d: ; e0b8d
+.PokeGroupPair: ; e0b8d
db 38
- db $00, $ff, $00, $80
- db $00, $18, $00, $a0
- db $08, $ff, $01, $80
- db $08, $18, $01, $a0
- db $10, $ff, $01, $80
- db $10, $18, $01, $a0
- db $18, $ff, $01, $80
- db $18, $08, $03, $80
- db $18, $18, $03, $80
- db $20, $ff, $01, $80
- db $20, $08, $03, $80
- db $20, $18, $03, $80
- db $28, $ff, $01, $80
- db $28, $08, $03, $80
- db $28, $18, $03, $80
- db $30, $ff, $01, $80
- db $30, $08, $03, $80
- db $30, $18, $03, $80
- db $38, $ff, $01, $80
- db $38, $08, $03, $80
- db $38, $18, $03, $80
- db $40, $ff, $01, $80
- db $40, $08, $03, $80
- db $40, $18, $03, $80
- db $48, $ff, $01, $80
- db $48, $08, $03, $80
- db $48, $18, $03, $80
- db $50, $ff, $01, $80
- db $50, $08, $03, $80
- db $50, $18, $03, $80
- db $58, $ff, $01, $80
- db $58, $08, $03, $80
- db $58, $18, $03, $80
- db $59, $ff, $00, $c0
- db $59, $00, $02, $c0
- db $59, $08, $03, $c0
- db $59, $10, $02, $c0
- db $59, $18, $03, $e0
+ dsprite 0, 0, -1, 7, $00, $80
+ dsprite 0, 0, 3, 0, $00, $a0
+ dsprite 1, 0, -1, 7, $01, $80
+ dsprite 1, 0, 3, 0, $01, $a0
+ dsprite 2, 0, -1, 7, $01, $80
+ dsprite 2, 0, 3, 0, $01, $a0
+ dsprite 3, 0, -1, 7, $01, $80
+ dsprite 3, 0, 1, 0, $03, $80
+ dsprite 3, 0, 3, 0, $03, $80
+ dsprite 4, 0, -1, 7, $01, $80
+ dsprite 4, 0, 1, 0, $03, $80
+ dsprite 4, 0, 3, 0, $03, $80
+ dsprite 5, 0, -1, 7, $01, $80
+ dsprite 5, 0, 1, 0, $03, $80
+ dsprite 5, 0, 3, 0, $03, $80
+ dsprite 6, 0, -1, 7, $01, $80
+ dsprite 6, 0, 1, 0, $03, $80
+ dsprite 6, 0, 3, 0, $03, $80
+ dsprite 7, 0, -1, 7, $01, $80
+ dsprite 7, 0, 1, 0, $03, $80
+ dsprite 7, 0, 3, 0, $03, $80
+ dsprite 8, 0, -1, 7, $01, $80
+ dsprite 8, 0, 1, 0, $03, $80
+ dsprite 8, 0, 3, 0, $03, $80
+ dsprite 9, 0, -1, 7, $01, $80
+ dsprite 9, 0, 1, 0, $03, $80
+ dsprite 9, 0, 3, 0, $03, $80
+ dsprite 10, 0, -1, 7, $01, $80
+ dsprite 10, 0, 1, 0, $03, $80
+ dsprite 10, 0, 3, 0, $03, $80
+ dsprite 11, 0, -1, 7, $01, $80
+ dsprite 11, 0, 1, 0, $03, $80
+ dsprite 11, 0, 3, 0, $03, $80
+ dsprite 11, 1, -1, 7, $00, $c0
+ dsprite 11, 1, 0, 0, $02, $c0
+ dsprite 11, 1, 1, 0, $03, $c0
+ dsprite 11, 1, 2, 0, $02, $c0
+ dsprite 11, 1, 3, 0, $03, $e0
-Unknown_e0c26: ; e0c26
+.Impossible: ; e0c26
db 4
- db $00, $00, $00, $80
- db $00, $08, $00, $a0
- db $08, $00, $00, $c0
- db $08, $08, $00, $e0
+ dsprite 0, 0, 0, 0, $00, $80
+ dsprite 0, 0, 1, 0, $00, $a0
+ dsprite 1, 0, 0, 0, $00, $c0
+ dsprite 1, 0, 1, 0, $00, $e0
; e0c37
-Functione0c37: ; e0c37 (38:4c37)
+CardFlip_InitAttrPals: ; e0c37 (38:4c37)
ld a, [hCGB]
and a
ret z
+
hlcoord 0, 0, AttrMap
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
xor a
call ByteFill
+
hlcoord 12, 1, AttrMap
lb bc, 2, 2
ld a, $1
- call Functione04e7
+ call CardFlip_FillBox
+
hlcoord 14, 1, AttrMap
lb bc, 2, 2
ld a, $2
- call Functione04e7
+ call CardFlip_FillBox
+
hlcoord 16, 1, AttrMap
lb bc, 2, 2
ld a, $3
- call Functione04e7
+ call CardFlip_FillBox
+
hlcoord 18, 1, AttrMap
lb bc, 2, 2
ld a, $4
- call Functione04e7
+ call CardFlip_FillBox
+
hlcoord 9, 0, AttrMap
lb bc, 12, 1
ld a, $1
- call Functione04e7
+ call CardFlip_FillBox
+
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
- ld hl, Palette_e0c93
+ ld hl, .palettes
ld de, UnknBGPals
- ld bc, $48
+ ld bc, 9 palettes
call CopyBytes
pop af
ld [rSVBK], a
@@ -1629,7 +1684,7 @@
ret
; e0c93 (38:4c93)
-Palette_e0c93: ; e0c93
+.palettes: ; e0c93
RGB 31, 31, 31
RGB 17, 07, 31
RGB 06, 19, 08
@@ -1676,22 +1731,22 @@
RGB 31, 00, 00
; e0cdb
-LZ_e0cdb: ; e0cdb
+CardFlipLZ03: ; e0cdb
INCBIN "gfx/unknown/0e0cdb.2bpp.lz"
-GFX_e0cf6: ; e0cf6
+CardFlipOffButtonGFX: ; e0cf6
INCBIN "gfx/unknown/0e0cf6.2bpp"
-GFX_e0d06: ; e0d06
+CardFlipOnButtonGFX: ; e0d06
INCBIN "gfx/unknown/0e0d06.2bpp"
-LZ_e0d16: ; e0d16
+CardFlipLZ01: ; e0d16
INCBIN "gfx/unknown/0e0d16.2bpp.lz"
-LZ_e0ea8: ; e0ea8
+CardFlipLZ02: ; e0ea8
INCBIN "gfx/unknown/0e0ea8.2bpp.lz"
-Unknown_e110c: ; e110c
+CardFlipTilemap: ; e110c
db $ef, $15, $27, $2a, $2a, $06, $27, $2a, $2a, $06, $27
db $ef, $07, $27, $3e, $3f, $42, $43, $46, $47, $4a, $4b
db $ef, $17, $26, $40, $41, $44, $45, $48, $49, $4c, $4d
@@ -1705,856 +1760,3 @@
db $ef, $05, $14, $10, $13, $10, $13, $10, $13, $10, $13
db $ef, $16, $24, $20, $23, $20, $23, $20, $23, $20, $23
; e1190
-
-Functione1190: ; e1190
- ld a, [hInMenu]
- push af
- ld a, $1
- ld [hInMenu], a
- call ClearBGPalettes
- call ClearTileMap
- call ClearSprites
- xor a
- ld [hBGMapMode], a
- call DisableLCD
- ld hl, wc608
- ld bc, $1e0
- xor a
- call ByteFill
- ld hl, GFX_e17c5
- ld de, VTiles1 tile $60
- ld bc, $40
- call CopyBytes
- ld hl, LZ_e1805
- ld de, VTiles1 tile $6d
- call Decompress
- call Functione17a3
- hlcoord 0, 0
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- ld a, $ee
- call ByteFill
- hlcoord 4, 3
- lb bc, 12, 12
- ld a, $ef
- call Functione13ee
- call Functione124e
- call Functione13fe
- call Functione127d
- xor a
- ld [hSCY], a
- ld [hSCX], a
- ld [rWY], a
- ld [wJumptableIndex], a
- ld [wcf64], a
- ld [wcf65], a
- ld [wcf66], a
- ld a, $93
- ld [rLCDC], a
- call WaitBGMap
- ld b, SCGB_18
- call GetSGBLayout
- ld a, $e4
- call DmgToCgbBGPals
- ld a, $24
- call Functioncf8
- xor a
- ld [wd0ec], a
- call DelayFrame
-.asm_e1217
- call JoyTextDelay
- ld a, [wJumptableIndex]
- bit 7, a
- jr nz, .asm_e123d
- call Functione12ca
- ld a, [wcf64]
- and a
- jr nz, .asm_e1230
- ld a, [hVBlankCounter]
- and $10
- jr z, .asm_e1235
-
-.asm_e1230
- call Functione14d9
- jr .asm_e1238
-
-.asm_e1235
- call ClearSprites
-
-.asm_e1238
- call DelayFrame
- jr .asm_e1217
-
-.asm_e123d
- pop af
- ld [hInMenu], a
- call ClearBGPalettes
- call ClearTileMap
- call ClearSprites
- ld a, $e3
- ld [rLCDC], a
- ret
-; e124e
-
-Functione124e: ; e124e
- ld c, $1
- ld b, $10
-.asm_e1252
- call Random
- and $f
- ld hl, Unknown_e126d
- ld e, a
- ld d, $0
- add hl, de
- ld e, [hl]
- ld hl, wc6d0
- add hl, de
- ld a, [hl]
- and a
- jr nz, .asm_e1252
- ld [hl], c
- inc c
- dec b
- jr nz, .asm_e1252
- ret
-; e126d
-
-Unknown_e126d: ; e126d
- db $00, $01, $02, $03
- db $04, $05, $06, $0b
- db $0c, $11, $12, $17
- db $18, $1d, $1e, $23
-; e127d
-
-Functione127d: ; e127d
- call Functione128d
- hlcoord 5, 16
- ld a, $f6
- ld c, $a
-.asm_e1287
- ld [hli], a
- inc a
- dec c
- jr nz, .asm_e1287
- ret
-; e128d
-
-Functione128d: ; e128d
- hlcoord 4, 15
- ld a, $f0
- ld [hli], a
- ld bc, $a
- ld a, $f1
- call ByteFill
- hlcoord 15, 15
- ld a, $f2
- ld [hli], a
- hlcoord 4, 16
- ld a, $f3
- ld [hli], a
- ld bc, $a
- ld a, $ef
- call ByteFill
- hlcoord 15, 16
- ld a, $f3
- ld [hli], a
- hlcoord 4, 17
- ld a, $f4
- ld [hli], a
- ld bc, $a
- ld a, $f1
- call ByteFill
- hlcoord 15, 17
- ld a, $f5
- ld [hl], a
- ret
-; e12ca
-
-Functione12ca: ; e12ca
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, Jumptable_e12d9
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; e12d9
-
-Jumptable_e12d9: ; e12d9
- dw Functione12db
-; e12db
-
-Functione12db: ; e12db
- ld a, [hJoyPressed]
- and START
- jp nz, Functione13de
- ld a, [hJoyPressed]
- and A_BUTTON
- jp nz, Functione1376
- ld hl, hJoyLast
- ld a, [hl]
- and D_UP
- jr nz, .asm_e1301
- ld a, [hl]
- and D_DOWN
- jr nz, .asm_e130d
- ld a, [hl]
- and D_LEFT
- jr nz, .asm_e1325
- ld a, [hl]
- and D_RIGHT
- jr nz, .asm_e1345
- ret
-
-.asm_e1301
- ld hl, wcf65
- ld a, [hl]
- cp $6
- ret c
- sub $6
- ld [hl], a
- jr .asm_e1364
-
-.asm_e130d
- ld hl, wcf65
- ld a, [hl]
- cp $19
- ret z
- cp $1a
- ret z
- cp $1b
- ret z
- cp $1c
- ret z
- cp $1e
- ret nc
- add $6
- ld [hl], a
- jr .asm_e1364
-
-.asm_e1325
- ld hl, wcf65
- ld a, [hl]
- and a
- ret z
- cp $6
- ret z
- cp $c
- ret z
- cp $12
- ret z
- cp $18
- ret z
- cp $1e
- ret z
- cp $23
- jr z, .asm_e1341
- dec [hl]
- jr .asm_e1364
-
-.asm_e1341
- ld [hl], $1e
- jr .asm_e1364
-
-.asm_e1345
- ld hl, wcf65
- ld a, [hl]
- cp $5
- ret z
- cp $b
- ret z
- cp $11
- ret z
- cp $17
- ret z
- cp $1d
- ret z
- cp $23
- ret z
- cp $1e
- jr z, .asm_e1362
- inc [hl]
- jr .asm_e1364
-
-.asm_e1362
- ld [hl], $23
-
-.asm_e1364
- ld a, [wcf64]
- and a
- jr nz, .asm_e136f
- ld de, SFX_POUND
- jr .asm_e1372
-
-.asm_e136f
- ld de, SFX_MOVE_PUZZLE_PIECE
-
-.asm_e1372
- call PlaySFX
- ret
-; e1376
-
-Functione1376: ; e1376
- ld a, [wcf64]
- and a
- jr nz, .asm_e139f
- call Functione1475
- and a
- jr z, Functione13e4
- ld de, SFX_MEGA_KICK
- call PlaySFX
- ld [hl], $0
- ld [wcf66], a
- call Functione14d9
- call Functione1441
- call WaitBGMap
- call WaitSFX
- ld a, $1
- ld [wcf64], a
- ret
-
-.asm_e139f
- call Functione1475
- and a
- jr nz, Functione13e4
- ld de, SFX_PLACE_PUZZLE_PIECE_DOWN
- call PlaySFX
- ld a, [wcf66]
- ld [hl], a
- call Functione141f
- call WaitBGMap
- xor a
- ld [wcf66], a
- call Functione14d9
- xor a
- ld [wcf64], a
- call WaitSFX
- call Functione14a0
- ret nc
- call Functione128d
- call ClearSprites
- ld de, SFX_1ST_PLACE
- call PlaySFX
- call WaitSFX
- call SimpleWaitPressAorB
- ld a, $1
- ld [wd0ec], a
-
-Functione13de: ; e13de
- ld hl, wJumptableIndex
- set 7, [hl]
- ret
-
-Functione13e4: ; e13e4
- ld de, SFX_WRONG
- call PlaySFX
- call WaitSFX
- ret
-; e13ee
-
-Functione13ee: ; e13ee
- ld de, SCREEN_WIDTH
-.asm_e13f1
- push bc
- push hl
-.asm_e13f3
- ld [hli], a
- dec c
- jr nz, .asm_e13f3
- pop hl
- add hl, de
- pop bc
- dec b
- jr nz, .asm_e13f1
- ret
-; e13fe
-
-Functione13fe: ; e13fe
- xor a
- ld [wcf65], a
- ld c, $24
-.asm_e1404
- push bc
- call Functione1475
- ld [wcf66], a
- and a
- jr z, .asm_e1413
- call Functione141f
- jr .asm_e1416
-
-.asm_e1413
- call Functione1441
-
-.asm_e1416
- ld hl, wcf65
- inc [hl]
- pop bc
- dec c
- jr nz, .asm_e1404
- ret
-; e141f
-
-Functione141f: ; e141f
- ld a, $2
- call Functione1463
- ld a, [hli]
- ld h, [hl]
- ld l, a
- push hl
- call Functione1481
- pop hl
- ld de, SCREEN_WIDTH
- ld b, $3
-.asm_e1431
- ld c, $3
- push hl
-.asm_e1434
- ld [hli], a
- inc a
- dec c
- jr nz, .asm_e1434
- add $9
- pop hl
- add hl, de
- dec b
- jr nz, .asm_e1431
- ret
-; e1441
-
-Functione1441: ; e1441
- ld a, $2
- call Functione1463
- ld a, [hli]
- ld h, [hl]
- ld l, a
- push hl
- ld a, $4
- call Functione1463
- ld a, [hl]
- pop hl
- ld de, SCREEN_WIDTH
- ld b, $3
-.asm_e1456
- ld c, $3
- push hl
-.asm_e1459
- ld [hli], a
- dec c
- jr nz, .asm_e1459
- pop hl
- add hl, de
- dec b
- jr nz, .asm_e1456
- ret
-; e1463
-
-Functione1463: ; e1463
- ld e, a
- ld d, 0
- ld hl, Unknown_e1559
- add hl, de
- ld a, [wcf65]
- ld e, a
-rept 4
- add hl, de
-endr
-rept 2
- add hl, de
-endr
- ret
-; e1475
-
-Functione1475: ; e1475
- ld hl, wc6d0
- ld a, [wcf65]
- ld e, a
- ld d, $0
- add hl, de
- ld a, [hl]
- ret
-; e1481
-
-Functione1481: ; e1481
- ld a, [wcf66]
- ld hl, Unknown_e148f
- add l
- ld l, a
- ld a, $0
- adc h
- ld h, a
- ld a, [hl]
- ret
-; e148f
-
-Unknown_e148f: ; e148f
- db $e0
- db $00, $03, $06, $09
- db $24, $27, $2a, $2d
- db $48, $4b, $4e, $51
- db $6c, $6f, $72, $75
-; e14a0
-
-Functione14a0: ; e14a0
- ld hl, Unknown_e14b5
- ld de, wc6d0
- ld c, $24
-.asm_e14a8
- ld a, [de]
- cp [hl]
- jr nz, .asm_e14b3
- inc de
- inc hl
- dec c
- jr nz, .asm_e14a8
- scf
- ret
-
-.asm_e14b3
- and a
- ret
-; e14b5
-
-Unknown_e14b5: ; e14b5
- db $00, $00, $00, $00, $00, $00
- db $00, $01, $02, $03, $04, $00
- db $00, $05, $06, $07, $08, $00
- db $00, $09, $0a, $0b, $0c, $00
- db $00, $0d, $0e, $0f, $10, $00
- db $00, $00, $00, $00, $00, $00
-; e14d9
-
-Functione14d9: ; e14d9
- call Functione1481
- ld [wd002], a
- xor a
- call Functione1463
- ld a, [hli]
- ld b, [hl]
- ld c, a
- ld a, [wd002]
- cp $e0
- jr z, .asm_e14f2
- ld hl, Unknown_e150f
- jr .asm_e14f5
-
-.asm_e14f2
- ld hl, Unknown_e1534
-
-.asm_e14f5
- ld de, Sprites
-.asm_e14f8
- ld a, [hli]
- cp $ff
- ret z
- add b
- ld [de], a
- inc de
- ld a, [hli]
- add c
- ld [de], a
- inc de
- ld a, [wd002]
- add [hl]
- ld [de], a
- inc hl
- inc de
- ld a, [hli]
- ld [de], a
- inc de
- jr .asm_e14f8
-; e150f
-
-Unknown_e150f: ; e150f
- db $f4, $f4, $00, $00
- db $f4, $fc, $01, $00
- db $f4, $04, $02, $00
- db $fc, $f4, $0c, $00
- db $fc, $fc, $0d, $00
- db $fc, $04, $0e, $00
- db $04, $f4, $18, $00
- db $04, $fc, $19, $00
- db $04, $04, $1a, $00
- db $ff
-
-Unknown_e1534: ; e1534
- db $f4, $f4, $00, $00
- db $f4, $fc, $01, $00
- db $f4, $04, $00, $20
- db $fc, $f4, $02, $00
- db $fc, $fc, $03, $00
- db $fc, $04, $02, $20
- db $04, $f4, $00, $40
- db $04, $fc, $01, $40
- db $04, $04, $00, $60
- db $ff
-
-Unknown_e1559: ; e1559
-
-macro_e1559: macro
- db \1, \2
- dwcoord \3, \4
- db \5, \6
-endm
-
- macro_e1559 $1c, $1c, 1, 0, $ee, $00
- macro_e1559 $34, $1c, 4, 0, $ee, $00
- macro_e1559 $4c, $1c, 7, 0, $ee, $00
- macro_e1559 $64, $1c, 10, 0, $ee, $00
- macro_e1559 $7c, $1c, 13, 0, $ee, $00
- macro_e1559 $94, $1c, 16, 0, $ee, $00
- macro_e1559 $1c, $34, 1, 3, $ee, $00
- macro_e1559 $34, $34, 4, 3, $ef, $00
- macro_e1559 $4c, $34, 7, 3, $ef, $00
- macro_e1559 $64, $34, 10, 3, $ef, $00
- macro_e1559 $7c, $34, 13, 3, $ef, $00
- macro_e1559 $94, $34, 16, 3, $ee, $00
- macro_e1559 $1c, $4c, 1, 6, $ee, $00
- macro_e1559 $34, $4c, 4, 6, $ef, $00
- macro_e1559 $4c, $4c, 7, 6, $ef, $00
- macro_e1559 $64, $4c, 10, 6, $ef, $00
- macro_e1559 $7c, $4c, 13, 6, $ef, $00
- macro_e1559 $94, $4c, 16, 6, $ee, $00
- macro_e1559 $1c, $64, 1, 9, $ee, $00
- macro_e1559 $34, $64, 4, 9, $ef, $00
- macro_e1559 $4c, $64, 7, 9, $ef, $00
- macro_e1559 $64, $64, 10, 9, $ef, $00
- macro_e1559 $7c, $64, 13, 9, $ef, $00
- macro_e1559 $94, $64, 16, 9, $ee, $00
- macro_e1559 $1c, $7c, 1, 12, $ee, $00
- macro_e1559 $34, $7c, 4, 12, $ef, $00
- macro_e1559 $4c, $7c, 7, 12, $ef, $00
- macro_e1559 $64, $7c, 10, 12, $ef, $00
- macro_e1559 $7c, $7c, 13, 12, $ef, $00
- macro_e1559 $94, $7c, 16, 12, $ee, $00
- macro_e1559 $1c, $94, 1, 15, $ee, $00
- macro_e1559 $34, $94, 4, 15, $ee, $00
- macro_e1559 $4c, $94, 7, 15, $ee, $00
- macro_e1559 $64, $94, 10, 15, $ee, $00
- macro_e1559 $7c, $94, 13, 15, $ee, $00
- macro_e1559 $94, $94, 16, 15, $ee, $00
-
-Functione1631: ; e1631
- ld hl, VTiles2
- ld de, VTiles0
- ld b, $6
-.asm_e1639
- push bc
- push hl
- push hl
- call Functione1654
- pop hl
- ld bc, 8
- add hl, bc
- call Functione1654
- pop hl
- ld bc, $60
- add hl, bc
- pop bc
- dec b
- jr nz, .asm_e1639
- call Functione16c7
- ret
-; e1654
-
-Functione1654: ; e1654
- ld c, $6
-.asm_e1656
- push bc
- push hl
- push hl
- ld c, $4
-.asm_e165b
- push bc
- ld a, [hli]
- and $f0
- swap a
- call Functione16aa
- ld c, a
- ld a, [hli]
- and $f0
- swap a
- call Functione16aa
- ld b, a
- ld a, c
- ld [de], a
- inc de
- ld a, b
- ld [de], a
- inc de
- ld a, c
- ld [de], a
- inc de
- ld a, b
- ld [de], a
- inc de
- pop bc
- dec c
- jr nz, .asm_e165b
- pop hl
- ld c, $4
-.asm_e1681
- push bc
- ld a, [hli]
- and $f
- call Functione16aa
- ld c, a
- ld a, [hli]
- and $f
- call Functione16aa
- ld b, a
- ld a, c
- ld [de], a
- inc de
- ld a, b
- ld [de], a
- inc de
- ld a, c
- ld [de], a
- inc de
- ld a, b
- ld [de], a
- inc de
- pop bc
- dec c
- jr nz, .asm_e1681
- pop hl
- ld bc, $10
- add hl, bc
- pop bc
- dec c
- jr nz, .asm_e1656
- ret
-; e16aa
-
-Functione16aa: ; e16aa
- push hl
- ld hl, Unknown_e16b7
- add l
- ld l, a
- ld a, 0
- adc h
- ld h, a
- ld a, [hl]
- pop hl
- ret
-; e16b7
-
-Unknown_e16b7: ; e16b7
- db $00, $03, $0c, $0f
- db $30, $33, $3c, $3f
- db $c0, $c3, $cc, $cf
- db $f0, $f3, $fc, $ff
-; e16c7
-
-Functione16c7: ; e16c7
- ld hl, Unknown_e1703
- ld a, $8
-.asm_e16cc
- push af
- push hl
- ld a, [hli]
- ld e, a
- ld a, [hli]
- ld d, a
- ld a, [hli]
- ld h, [hl]
- ld l, a
- call Functione16e2
- pop hl
-rept 4
- inc hl
-endr
- pop af
- dec a
- jr nz, .asm_e16cc
- ret
-; e16e2
-
-Functione16e2: ; e16e2
- lb bc, 4, 4
-.asm_e16e5
- push bc
-.asm_e16e6
- push de
- push hl
- ld b, $10
-.asm_e16ea
- ld a, [de]
- or [hl]
- ld [hli], a
- inc de
- dec b
- jr nz, .asm_e16ea
- pop hl
- ld de, $30
- add hl, de
- pop de
- dec c
- jr nz, .asm_e16e6
- ld bc, $180
- add hl, bc
- pop bc
- dec b
- jr nz, .asm_e16e5
- ret
-; e1703
-
-Unknown_e1703: ; e1703
- dw GFX_e1723 + $00, $8000
- dw GFX_e1723 + $10, $8010
- dw GFX_e1723 + $20, $8020
- dw GFX_e1723 + $30, $80c0
- dw GFX_e1723 + $40, $80e0
- dw GFX_e1723 + $50, $8180
- dw GFX_e1723 + $60, $8190
- dw GFX_e1723 + $70, $81a0
-; e1723
-
-GFX_e1723: ; e1723
-INCBIN "gfx/unknown/0e1723.2bpp"
-
-Functione17a3: ; e17a3
- ld a, [ScriptVar]
- and 3
- ld e, a
- ld d, 0
- ld hl, Unknown_e17bd
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld de, VTiles2
- call Decompress
- call Functione1631
- ret
-; e17bd
-
-Unknown_e17bd: ; e17bd
- dw LZ_e1bab
- dw LZ_e1c9b
- dw LZ_e19fb
- dw LZ_e18ab
-; e17c5
-
-GFX_e17c5: ; e17c5
-INCBIN "gfx/unknown/0e17c5.2bpp"
-
-LZ_e1805: ; e1805
-INCBIN "gfx/unknown/0e1805.2bpp.lz"
-
-LZ_e18ab: ; e18ab
-INCBIN "gfx/unknown/0e18ab.2bpp.lz"
-
-LZ_e19fb: ; e19fb
-INCBIN "gfx/unknown/0e19fb.2bpp.lz"
-
-LZ_e1bab: ; e1bab
-INCBIN "gfx/unknown/0e1bab.2bpp.lz"
-
-LZ_e1c9b: ; e1c9b
-INCBIN "gfx/unknown/0e1c9b.2bpp.lz"
--- a/engine/clock_reset.asm
+++ b/engine/clock_reset.asm
@@ -95,7 +95,7 @@
ld [StringBuffer2 + 2], a
xor a
ld [StringBuffer2 + 3], a
- call Function677
+ call InitTime
call .PrintTime
ld hl, .Text_ClockReset
call PrintText
--- a/engine/color.asm
+++ b/engine/color.asm
@@ -88,20 +88,20 @@
push de
push bc
ld hl, PalPacket_9ce6
- ld de, wcda9
+ ld de, wSGBPals
ld bc, PALPACKET_LENGTH
call CopyBytes
pop bc
pop de
ld a, c
- ld [wcda9 + 3], a
+ ld [wSGBPals + 3], a
ld a, b
- ld [wcda9 + 4], a
+ ld [wSGBPals + 4], a
ld a, e
- ld [wcda9 + 5], a
+ ld [wSGBPals + 5], a
ld a, d
- ld [wcda9 + 6], a
- ld hl, wcda9
+ ld [wSGBPals + 6], a
+ ld hl, wSGBPals
call Function9809
ld hl, BlkPacket_9a86
call Function9809
@@ -112,14 +112,14 @@
Function8ad1: ; 8ad1
ld hl, PalPacket_9c56 + 1
call CopyFourPalettes
- call Function971a
- call Function9699
+ call InitPartyMenuOBPals
+ call WipeAttrMap
ret
; 8ade
-Function8ade: ; 8ade SGB layout $fc
- ld hl, wcd9b
- ld a, [wcda9]
+SGB_ApplyPartyMenuHPPals: ; 8ade SGB layout $fc
+ ld hl, wHPPals
+ ld a, [wSGBPals]
ld e, a
ld d, $0
add hl, de
@@ -128,17 +128,16 @@
ld a, [de]
and a
ld e, $5
- jr z, .asm_8af7
+ jr z, .okay
dec a
ld e, $a
- jr z, .asm_8af7
+ jr z, .okay
ld e, $f
-
-.asm_8af7
+.okay
push de
- ld hl, wcda9 + 10
- ld bc, $0006
- ld a, [wcda9]
+ ld hl, wSGBPals + 10
+ ld bc, $6
+ ld a, [wSGBPals]
call AddNTimes
pop de
ld [hl], e
@@ -150,17 +149,17 @@
ret z
ld hl, Palette8b2f
ld de, UnknBGPals
- ld bc, $0008
+ ld bc, 1 palettes
ld a, $5
call FarCopyWRAM
ld hl, Palette8b37
ld de, MartPointer
- ld bc, $0008
+ ld bc, 1 palettes
ld a, $5
call FarCopyWRAM
- call Function96a4
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -171,6 +170,7 @@
RGB 18, 23, 31
RGB 15, 20, 31
RGB 00, 00, 00
+
; 8b37
Palette8b37: ; 8b37
@@ -178,6 +178,7 @@
RGB 31, 31, 12
RGB 08, 16, 28
RGB 00, 00, 00
+
; 8b3f
Function8b3f: ; 8b3f
@@ -202,7 +203,7 @@
.asm_8b5c
ld de, UnknOBPals
ld a, $3b
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
jp LoadHLPaletteIntoDE
; 8b67
@@ -218,7 +219,7 @@
.asm_8b76
ld de, UnknOBPals
ld a, $3c
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
jp LoadHLPaletteIntoDE
; 8b81
@@ -231,39 +232,39 @@
ld a, c
push af
ld hl, PalPacket_9ce6
- ld de, wcda9
+ ld de, wSGBPals
ld bc, PALPACKET_LENGTH
call CopyBytes
pop af
- call Function9775
+ call GetMonPalettePointer_
ld a, [hli]
- ld [wcda9 + 3], a
+ ld [wSGBPals + 3], a
ld a, [hli]
- ld [wcda9 + 4], a
+ ld [wSGBPals + 4], a
ld a, [hli]
- ld [wcda9 + 5], a
+ ld [wSGBPals + 5], a
ld a, [hl]
- ld [wcda9 + 6], a
- ld hl, wcda9
+ ld [wSGBPals + 6], a
+ ld hl, wSGBPals
jp Function9809
.asm_8bb2
ld de, UnknOBPals
ld a, c
- call Function9775
- call Function9643
+ call GetMonPalettePointer_
+ call LoadPalette_White_Col1_Col2_Black
ret
; 8bbd
Function8bbd: ; 8bbd
ld a, [TrainerClass]
- call Function976b
+ call GetTrainerPalettePointer
ld a, e
jr asm_8bd7
Function8bc6:
ld a, [CurPartySpecies]
- call Function97ee
+ call GetMonPalettePointer
ld a, e
bit 7, a
jr z, .asm_8bd7
@@ -276,7 +277,7 @@
asm_8bd7
push hl
ld hl, UnknBGPals
- ld de, $0008
+ ld de, $8
.asm_8bde
and a
jr z, .asm_8be5
@@ -288,7 +289,7 @@
ld e, l
ld d, h
pop hl
- call Function9643
+ call LoadPalette_White_Col1_Col2_Black
ret
; 8bec
@@ -304,7 +305,7 @@
ld c, a
ld a, [EnemyReflectCount]
hlcoord 0, 0, AttrMap
- ld de, $0014
+ ld de, $14
.asm_8c04
and a
jr z, .asm_8c0b
@@ -323,55 +324,54 @@
ret
; 8c1d
-Function8c1d: ; 8c1d
+ApplyMonOrTrainerPals: ; 8c1d
call CheckCGB
ret z
ld a, e
and a
- jr z, .asm_8c2d
+ jr z, .get_trainer
ld a, [CurPartySpecies]
- call Function9775
- jr .asm_8c33
+ call GetMonPalettePointer_
+ jr .load_palettes
-.asm_8c2d
+.get_trainer
ld a, [TrainerClass]
- call Function976b
+ call GetTrainerPalettePointer
-.asm_8c33
+.load_palettes
ld de, UnknBGPals
- call Function9643
- call Function9699
- call Function96b3
- call Function96a4
+ call LoadPalette_White_Col1_Col2_Black
+ call WipeAttrMap
+ call ApplyAttrMap
+ call ApplyPals
ret
; 8c43
-Function8c43: ; 8c43
- ld a, [wd10a]
+ApplyHPBarPals: ; 8c43
+ ld a, [wWhichHPBar]
and a
- jr z, .asm_8c52
+ jr z, .Enemy
cp $1
- jr z, .asm_8c57
+ jr z, .Player
cp $2
- jr z, .asm_8c70
+ jr z, .PartyMenu
ret
-.asm_8c52
- ld de, BGPals + $10 + 2
- jr .asm_8c5a
+.Enemy
+ ld de, BGPals + 2 palettes + 2
+ jr .okay
-.asm_8c57
- ld de, BGPals + $18 + 2
+.Player
+ ld de, BGPals + 3 palettes + 2
-.asm_8c5a
+.okay
ld l, c
ld h, $0
-rept 2
add hl, hl
-endr
+ add hl, hl
ld bc, Palettes_a8be
add hl, bc
- ld bc, $0004
+ ld bc, 4
ld a, $5
call FarCopyWRAM
ld a, $1
@@ -378,20 +378,20 @@
ld [hCGBPalUpdate], a
ret
-.asm_8c70
+.PartyMenu
ld e, c
inc e
hlcoord 11, 1, AttrMap
- ld bc, $0028
+ ld bc, 2 * SCREEN_WIDTH
ld a, [CurPartyMon]
-.asm_8c7b
+.loop
and a
- jr z, .asm_8c82
+ jr z, .done
add hl, bc
dec a
- jr .asm_8c7b
+ jr .loop
-.asm_8c82
+.done
lb bc, 2, 8
ld a, e
call FillBoxCGB
@@ -398,15 +398,14 @@
ret
; 8c8a
-Function8c8a: ; 8c8a
+LoadStatsScreenPals: ; 8c8a
call CheckCGB
ret z
- ld hl, Unknown_8f6a
+ ld hl, StatsScreenPals
ld b, 0
dec c
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [rSVBK]
push af
ld a, $5
@@ -419,7 +418,7 @@
ld [UnknBGPals + 8 * 2 + 1], a
pop af
ld [rSVBK], a
- call Function96a4
+ call ApplyPals
ld a, $1
ret
; 8cb4
@@ -436,22 +435,21 @@
jr nz, .asm_8cf0
push hl
ld hl, PalPacket_9ce6
- ld de, wcda9
+ ld de, wSGBPals
ld bc, PALPACKET_LENGTH
call CopyBytes
pop hl
-rept 2
inc hl
-endr
+ inc hl
ld a, [hli]
- ld [wcda9 + 3], a
+ ld [wSGBPals + 3], a
ld a, [hli]
- ld [wcda9 + 4], a
+ ld [wSGBPals + 4], a
ld a, [hli]
- ld [wcda9 + 5], a
+ ld [wSGBPals + 5], a
ld a, [hli]
- ld [wcda9 + 6], a
- ld hl, wcda9
+ ld [wSGBPals + 6], a
+ ld hl, wSGBPals
call Function9809
ld hl, BlkPacket_9a86
call Function9809
@@ -459,12 +457,12 @@
.asm_8cf0
ld de, UnknBGPals
- ld bc, $0008
+ ld bc, 1 palettes
ld a, $5
call FarCopyWRAM
- call Function96a4
- call Function9699
- call Function96b3
+ call ApplyPals
+ call WipeAttrMap
+ call ApplyAttrMap
ret
; 8d05
@@ -518,6 +516,7 @@
RGB 31, 31, 00
RGB 00, 21, 00
RGB 00, 00, 00
+
; 8d55
INCLUDE "predef/cgb.asm"
@@ -529,9 +528,9 @@
ld bc, 8
ld a, $5
call FarCopyWRAM
- call Function96a4
- call Function9699
- call Function96b3
+ call ApplyPals
+ call WipeAttrMap
+ call ApplyAttrMap
ret
; 9608
@@ -540,6 +539,7 @@
RGB 09, 31, 31
RGB 10, 12, 31
RGB 00, 03, 19
+
; 9610
@@ -552,7 +552,7 @@
push bc
ld a, [hli]
push hl
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
pop hl
inc hl
@@ -562,7 +562,7 @@
ret
; 9625
-GetAthPalletFromPalettes9df6: ; 9625
+GetPredefPal: ; 9625
ld l, a
ld h, $0
rept 3 ; multiply by 8
@@ -590,18 +590,20 @@
ret
; 9643
-Function9643: ; 9643
+LoadPalette_White_Col1_Col2_Black: ; 9643
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
- ld a, $ff
+
+ ld a, $7fff % $100
ld [de], a
inc de
- ld a, $7f
+ ld a, $7fff / $100
ld [de], a
inc de
- ld c, $4
+
+ ld c, 2 * 2
.loop
ld a, [hli]
ld [de], a
@@ -608,11 +610,13 @@
inc de
dec c
jr nz, .loop
+
xor a
ld [de], a
inc de
ld [de], a
inc de
+
pop af
ld [rSVBK], a
ret
@@ -667,7 +671,7 @@
; 9699
-Function9699: ; 9699
+WipeAttrMap: ; 9699
hlcoord 0, 0, AttrMap
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
xor a
@@ -675,19 +679,19 @@
ret
; 96a4
-Function96a4: ; 96a4
+ApplyPals: ; 96a4
ld hl, UnknBGPals
ld de, BGPals
- ld bc, $0080
+ ld bc, 16 palettes
ld a, $5
call FarCopyWRAM
ret
; 96b3
-Function96b3: ; 96b3
+ApplyAttrMap: ; 96b3
ld a, [rLCDC]
bit 7, a
- jr z, .asm_96d0
+ jr z, .UpdateVBank1
ld a, [hBGMapMode]
push af
ld a, $2
@@ -700,37 +704,36 @@
ld [hBGMapMode], a
ret
-.asm_96d0
+.UpdateVBank1
hlcoord 0, 0, AttrMap
debgcoord 0, 0
- ld b, $12
+ ld b, SCREEN_HEIGHT
ld a, $1
ld [rVBK], a
-.asm_96dc
- ld c, $14
-.asm_96de
+.row
+ ld c, SCREEN_WIDTH
+.col
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_96de
- ld a, $c
+ jr nz, .col
+ ld a, BG_MAP_WIDTH - SCREEN_WIDTH
add e
- jr nc, .asm_96ea
+ jr nc, .okay
inc d
-
-.asm_96ea
+.okay
ld e, a
dec b
- jr nz, .asm_96dc
+ jr nz, .row
ld a, $0
ld [rVBK], a
ret
; 96f3
-Function96f3: ; 96f3 CGB layout $fc
- ld hl, wcd9b
- ld a, [wcda9]
+CGB_ApplyPartyMenuHPPals: ; 96f3 CGB layout $fc
+ ld hl, wHPPals
+ ld a, [wSGBPals]
ld e, a
ld d, $0
add hl, de
@@ -740,16 +743,15 @@
inc a
ld e, a
hlcoord 11, 2, AttrMap
- ld bc, $0028
- ld a, [wcda9]
-.asm_970b
+ ld bc, 2 * SCREEN_WIDTH
+ ld a, [wSGBPals]
+.loop
and a
- jr z, .asm_9712
+ jr z, .done
add hl, bc
dec a
- jr .asm_970b
-
-.asm_9712
+ jr .loop
+.done
lb bc, 2, 8
ld a, e
call FillBoxCGB
@@ -757,40 +759,40 @@
; 971a
-Function971a: ; 971a
+InitPartyMenuOBPals: ; 971a
ld hl, Palettes_b681
ld de, UnknOBPals
- ld bc, $0010
+ ld bc, 2 palettes
ld a, $5
call FarCopyWRAM
ret
; 9729
-Function9729: ; 9729
+GetBattlemonBackpicPalettePointer: ; 9729
push de
callba GetPartyMonDVs
ld c, l
ld b, h
ld a, [TempBattleMonSpecies]
- call Function974b
+ call GetPlayerOrMonPalettePointer
pop de
ret
; 973a
-Function973a: ; 973a
+GetEnemyFrontpicPalettePointer: ; 973a
push de
callba GetEnemyMonDVs
ld c, l
ld b, h
ld a, [TempEnemyMonSpecies]
- call Function9764
+ call GetFrontpicPalettePointer
pop de
ret
; 974b
-Function974b: ; 974b
+GetPlayerOrMonPalettePointer: ; 974b
and a
- jp nz, Function97f9
+ jp nz, GetMonNormalOrShinyPalettePointer
ld a, [wPlayerSpriteSetupFlags]
bit 2, a ; transformed to male
jr nz, .male
@@ -805,46 +807,41 @@
ret
; 9764
-Function9764: ; 9764
+GetFrontpicPalettePointer: ; 9764
and a
- jp nz, Function97f9
+ jp nz, GetMonNormalOrShinyPalettePointer
ld a, [TrainerClass]
-Function976b: ; 976b
+GetTrainerPalettePointer: ; 976b
ld l, a
ld h, 0
-rept 2
add hl,hl
-endr
+ add hl,hl
ld bc, TrainerPalettes
add hl, bc
ret
; 9775
-Function9775: ; 9775
- call Function97ee
+GetMonPalettePointer_: ; 9775
+ call GetMonPalettePointer
ret
; 9779
-Function9779: ; 9779
- ret
-; 977a
-
-Function977a: ; 977a
+Function9779: mobile ; 9779
call CheckCGB
ret z
ld hl, Palettes_979c
ld a, $90
ld [rOBPI], a
- ld c, $30
-.asm_9787
+ ld c, 6 palettes
+.loop
ld a, [hli]
ld [rOBPD], a
dec c
- jr nz, .asm_9787
+ jr nz, .loop
ld hl, Palettes_979c
ld de, UnknOBPals + 8 * 2
- ld bc, $0010
+ ld bc, 2 palettes
ld a, $5
call FarCopyWRAM
ret
@@ -855,26 +852,32 @@
RGB 25, 25, 25
RGB 13, 13, 13
RGB 00, 00, 00
+
RGB 31, 31, 31
RGB 31, 31, 07
RGB 31, 16, 01
RGB 00, 00, 00
+
RGB 31, 31, 31
RGB 31, 19, 24
RGB 30, 10, 06
RGB 00, 00, 00
+
RGB 31, 31, 31
RGB 12, 25, 01
RGB 05, 14, 00
RGB 00, 00, 00
+
RGB 31, 31, 31
RGB 08, 12, 31
RGB 01, 04, 31
RGB 00, 00, 00
+
RGB 31, 31, 31
RGB 24, 18, 07
RGB 20, 15, 03
RGB 00, 00, 00
+
; 97cc
Function97cc: ; 97cc
@@ -883,16 +886,16 @@
ld a, $90
ld [rOBPI], a
ld a, $1c
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call Function97e5
ld a, $21
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call Function97e5
ret
; 97e5
Function97e5: ; 97e5
- ld c, $8
+ ld c, 1 palettes
.loop
ld a, [hli]
ld [rOBPD], a
@@ -901,7 +904,7 @@
ret
; 97ee
-Function97ee: ; 97ee
+GetMonPalettePointer: ; 97ee
ld l, a
ld h, $0
rept 3
@@ -912,9 +915,9 @@
ret
; 97f9
-Function97f9: ; 97f9
+GetMonNormalOrShinyPalettePointer: ; 97f9
push bc
- call Function97ee
+ call GetMonPalettePointer
pop bc
push hl
call CheckShininess
@@ -958,7 +961,6 @@
ld a, $10
jr nz, .okay
ld a, $20
-
.okay
ld [rJOYP], a
ld a, $30
@@ -972,7 +974,7 @@
ld [rJOYP], a
ld a, $30
ld [rJOYP], a
- call Function9a7a
+ call SGBDelayCycles
pop bc
dec b
jr nz, .loop
@@ -996,10 +998,10 @@
ld [hSGB], a
call Function98eb
call Function99b4
- call Function9a7a
+ call SGBDelayCycles
call Function993f
call Function992c
- call Function9a7a
+ call SGBDelayCycles
call Function993f
ld hl, PalPacket_9d66
call Function981a
@@ -1105,7 +1107,7 @@
ld hl, PalPacket_9d56
call Function981a
call Function992c
- call Function9a7a
+ call SGBDelayCycles
call Function993f
ld hl, PalPacket_9d66
call Function981a
@@ -1139,7 +1141,7 @@
Function994a: ; 994a
ld hl, PalPacket_9d26
call Function981a
- call Function9a7a
+ call SGBDelayCycles
ld a, [rJOYP]
and $3
cp $3
@@ -1146,29 +1148,28 @@
jr nz, .asm_99a6
ld a, $20
ld [rJOYP], a
-rept 2
ld a, [rJOYP]
-endr
- call Function9a7a
- call Function9a7a
+ ld a, [rJOYP]
+ call SGBDelayCycles
+ call SGBDelayCycles
ld a, $30
ld [rJOYP], a
- call Function9a7a
- call Function9a7a
+ call SGBDelayCycles
+ call SGBDelayCycles
ld a, $10
ld [rJOYP], a
rept 6
ld a, [rJOYP]
endr
- call Function9a7a
- call Function9a7a
+ call SGBDelayCycles
+ call SGBDelayCycles
ld a, $30
ld [rJOYP], a
rept 3
ld a, [rJOYP]
endr
- call Function9a7a
- call Function9a7a
+ call SGBDelayCycles
+ call SGBDelayCycles
ld a, [rJOYP]
and $3
cp $3
@@ -1186,7 +1187,7 @@
Function99ab: ; 99ab
ld hl, PalPacket_9d16
call Function981a
- jp Function9a7a
+ jp SGBDelayCycles
; 99b4
Function99b4: ; 99b4
@@ -1217,20 +1218,20 @@
ld b, $12
.asm_99ea
push bc
- ld bc, $000c
+ ld bc, $c
call CopyData
- ld bc, $0028
+ ld bc, $28
call ClearBytes
- ld bc, $000c
+ ld bc, $c
call CopyData
pop bc
dec b
jr nz, .asm_99ea
- ld bc, $0140
+ ld bc, $140
call CopyData
ld bc, Start
call ClearBytes
- ld bc, $0080
+ ld bc, 16 palettes
call CopyData
call DrawDefaultTiles
ld a, $e3
@@ -1250,9 +1251,9 @@
ld b, $80
.asm_9a30
push bc
- ld bc, $0010
+ ld bc, 2 palettes
call CopyData
- ld bc, $0010
+ ld bc, 2 palettes
call ClearBytes
pop bc
dec b
@@ -1311,9 +1312,9 @@
ret
; 0x9a7a
-Function9a7a: ; 9a7a
- ld de, $1b58
-.asm_9a7d
+SGBDelayCycles: ; 9a7a
+ ld de, 7000
+.wait
nop
nop
nop
@@ -1320,7 +1321,7 @@
dec de
ld a, d
or e
- jr nz, .asm_9a7d
+ jr nz, .wait
ret
; 9a86
@@ -1803,6 +1804,7 @@
RGB 08, 11, 11
RGB 21, 21, 21
RGB 31, 31, 31
+
; a06e
SGBBorderMap: ; a06e
@@ -1916,6 +1918,7 @@
RGB 31, 31, 25
RGB 31, 31, 25
RGB 31, 31, 25
+
; a51e
SGBBorder: ; a51e
@@ -1945,18 +1948,17 @@
INCLUDE "gfx/trainers/palette_pointers.asm"
; b1de
-Functionb1de: ; b1de
+LoadMapPals: ; b1de
callba LoadSpecialMapPalette
- jr c, .asm_b230
+ jr c, .got_pals
ld a, [wPermission]
and 7
ld e, a
ld d, 0
- ld hl, Unknown_b279
-rept 2
+ ld hl, .TilesetColorsPointers
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1975,8 +1977,8 @@
ld a, $5
ld [rSVBK], a
ld hl, UnknBGPals
- ld b, $8
-.asm_b210
+ ld b, 8
+.outer_loop
ld a, [de]
push de
push hl
@@ -1990,37 +1992,37 @@
ld e, l
ld d, h
pop hl
- ld c, 8
-.asm_b222
+ ld c, 1 palettes
+.inner_loop
ld a, [de]
inc de
ld [hli], a
dec c
- jr nz, .asm_b222
+ jr nz, .inner_loop
pop de
inc de
dec b
- jr nz, .asm_b210
+ jr nz, .outer_loop
pop af
ld [rSVBK], a
-.asm_b230
+.got_pals
ld a, [TimeOfDayPal]
and 3
- ld bc, $40
+ ld bc, 8 palettes
ld hl, MapObjectPals
call AddNTimes
ld de, UnknOBPals
- ld bc, $40
+ ld bc, 8 palettes
ld a, $5 ; BANK(UnknOBPals)
call FarCopyWRAM
ld a, [wPermission]
- cp 1
- jr z, .asm_b253
- cp 2
+ cp TOWN
+ jr z, .outside
+ cp ROUTE
ret nz
-.asm_b253
+.outside
ld a, [MapGroup]
ld l, a
ld h, 0
@@ -2032,12 +2034,12 @@
ld a, [TimeOfDayPal]
and 3
cp NITE
- jr c, .asm_b26d
+ jr c, .morn_day
rept 4
inc hl
endr
-.asm_b26d
- ld de, UnknBGPals + 8 * 6 + 2
+.morn_day
+ ld de, UnknBGPals + 6 palettes + 2
ld bc, 4
ld a, $5
call FarCopyWRAM
@@ -2044,7 +2046,7 @@
ret
; b279
-Unknown_b279: ; b279
+.TilesetColorsPointers: ; b279
dw TilesetColors1
dw TilesetColors1
dw TilesetColors1
@@ -2080,18 +2082,20 @@
db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f
; b309
-Palette_b309: ; b309
+Palette_b309: ; b309 mobile
RGB 31, 31, 31
RGB 31, 19, 24
RGB 30, 10, 06
RGB 00, 00, 00
+
; b311
-Palette_b311: ; b311
+Palette_b311: ; b311 not mobile
RGB 31, 31, 31
RGB 17, 19, 31
RGB 14, 16, 31
RGB 00, 00, 00
+
; b319
TilesetBGPalette: ; b319
@@ -2143,6 +2147,7 @@
RGB 11, 11, 19
RGB 07, 07, 12
RGB 00, 00, 00
+
; b681
Palettes_b681: ; b681
@@ -2216,6 +2221,7 @@
RGB 20, 15, 03
RGB 07, 07, 07
+
Palettes_b6f1: ; b6f1
RGB 31, 31, 31
RGB 18, 23, 31
@@ -2242,6 +2248,7 @@
RGB 18, 23, 31
RGB 00, 00, 00
+
Palettes_b719: ; b719
RGB 31, 31, 31
RGB 07, 06, 03
@@ -2252,9 +2259,10 @@
RGB 31, 31, 00
RGB 26, 22, 00
RGB 00, 00, 00
+
; b729
-Palettes_b729: ; b729
+MalePokegearPals: ; b729
RGB 28, 31, 20
RGB 21, 21, 21
RGB 13, 13, 13
@@ -2284,9 +2292,10 @@
RGB 00, 31, 00
RGB 15, 07, 00
RGB 31, 00, 00
+
; b759
-Palettes_b759: ; b759
+FemalePokegearPals: ; b759
RGB 28, 31, 20
RGB 21, 21, 21
RGB 13, 13, 13
@@ -2316,6 +2325,7 @@
RGB 00, 31, 00
RGB 15, 07, 00
RGB 31, 00, 00
+
; b789
Palettes_b789: ; b789
@@ -2338,6 +2348,7 @@
RGB 29, 26, 05
RGB 18, 18, 18
RGB 00, 00, 00
+
; b7a9
Palettes_b7a9: ; b7a9
@@ -2420,4 +2431,5 @@
RGB 31, 31, 31
RGB 00, 00, 00
RGB 00, 00, 00
+
; b829
--- a/engine/compose_mail.asm
+++ b/engine/compose_mail.asm
@@ -34,7 +34,7 @@
ld a, BANK(.MailIcon)
call FarCopyBytes
xor a
- ld hl, wc300
+ ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], a
@@ -43,7 +43,7 @@
ld a, SPRITE_ANIM_INDEX_00
call _InitSpriteAnimStruct
- ld hl, $2
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], $0
call .InitCharset
@@ -57,7 +57,7 @@
ld a, %11100100
call DmgToCgbBGPals
ld a, %11100100
- call Functioncf8
+ call DmgToCgbObjPal0
call Function11be0
ld hl, wc6d0
ld e, [hl]
@@ -67,6 +67,7 @@
add hl, de
ld [hl], $4e
ret
+
; 11ef4 (4:5ef4)
.MailIcon: ; 11ef4
@@ -77,6 +78,7 @@
ld a, $21
ld [wc6d3], a
ret
+
; 11f7a (4:5f7a)
.Dummy: ; dummied out
@@ -123,13 +125,14 @@
bit 7, a
jr nz, .exit_mail
call .DoJumptable
- callba Function8cf62
+ callba PlaySpriteAnimationsAndDelayFrame
call .Update
call DelayFrame
and a
ret
+
.exit_mail
- callab Function8cf53
+ callab ClearSpriteAnims
call ClearSprites
xor a
ld [hSCX], a
@@ -179,10 +182,10 @@
ld [wc6d5], a
ld a, b
ld [wc6d6], a
- ld hl, $1
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld a, [hl]
- ld hl, $e
+ ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
ld [hl], a
ld hl, wJumptableIndex
@@ -232,10 +235,10 @@
ld c, [hl]
inc hl
ld b, [hl]
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], $9
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld [hl], $5
ret
@@ -268,44 +271,47 @@
ld de, MailEntry_Uppercase
call .PlaceMailCharset
ret
+
.switch_to_lowercase
ld de, MailEntry_Lowercase
call .PlaceMailCharset
ret
+; called from engine/sprite_anims.asm
Function120c1: ; 120c1 (4:60c1)
call Function1210c
- ld hl, SpriteAnim1Sprite0d - SpriteAnim1
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
ld e, a
swap e
- ld hl, SpriteAnim1YOffset - SpriteAnim1
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], e
cp $5
ld de, Unknown_120f8
- ld a, $0
+ ld a, 0
jr nz, .asm_120df
ld de, Unknown_12102
- ld a, $1
+ ld a, 1
.asm_120df
- ld hl, SpriteAnim1Sprite0e - SpriteAnim1
+ ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
add [hl]
- ld hl, SpriteAnim1Sprite01 - SpriteAnim1
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld [hl], a
- ld hl, SpriteAnim1Sprite0c - SpriteAnim1
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld l, [hl]
- ld h, SpriteAnim1Index - SpriteAnim1
+ ld h, 0
add hl, de
ld a, [hl]
- ld hl, SpriteAnim1XOffset - SpriteAnim1
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld [hl], a
ret
+
; 120f8 (4:60f8)
Unknown_120f8: ; 120f8
@@ -329,11 +335,12 @@
and D_RIGHT
jr nz, .right
ret
+
.right
call Function1218b
and a
jr nz, .asm_12138
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
cp $9
@@ -340,9 +347,11 @@
jr nc, .asm_12135
inc [hl]
ret
+
.asm_12135
ld [hl], $0
ret
+
.asm_12138
cp $3
jr nz, .asm_1213d
@@ -351,15 +360,16 @@
ld e, a
add a
add e
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], a
ret
+
.left
call Function1218b
and a
jr nz, .asm_12159
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
and a
@@ -366,9 +376,11 @@
jr z, .asm_12156
dec [hl]
ret
+
.asm_12156
ld [hl], $9
ret
+
.asm_12159
cp $1
jr nz, .asm_1215f
@@ -380,12 +392,13 @@
ld e, a
add a
add e
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], a
ret
+
.down
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
cp $5
@@ -392,11 +405,13 @@
jr nc, .asm_12175
inc [hl]
ret
+
.asm_12175
ld [hl], $0
ret
+
.up
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
and a
@@ -403,6 +418,7 @@
jr z, .asm_12182
dec [hl]
ret
+
.asm_12182
ld [hl], $5
ret
@@ -414,12 +430,12 @@
ld b, [hl]
Function1218b: ; 1218b (4:618b)
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
cp $5
jr nz, .asm_121aa
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
cp $3
@@ -428,12 +444,15 @@
jr c, .asm_121a7
ld a, $3
ret
+
.asm_121a4
ld a, $1
ret
+
.asm_121a7
ld a, $2
ret
+
.asm_121aa
xor a
ret
--- a/engine/credits.asm
+++ b/engine/credits.asm
@@ -1,6 +1,5 @@
INCLUDE "includes.asm"
-
SECTION "Credits", ROMX, BANK[CREDITS]
const_def
@@ -118,12 +117,12 @@
const CREDITS_END
-Function109847:: ; 109847
- bit 6, b
+Credits:: ; 109847
+ bit 6, b ; Hall Of Fame
ld a, $0
- jr z, .asm_10984f
+ jr z, .okay
ld a, $40
-.asm_10984f
+.okay
ld [wJumptableIndex], a
ld a, [rSVBK]
@@ -135,17 +134,17 @@
call ClearTileMap
call ClearSprites
- ld hl, wca00
+ ld hl, wCreditsFaux2bpp
ld c, $80
ld de, $ff00
-.asm_10986a
+.load_loop
ld a, e
ld [hli], a
ld a, d
ld [hli], a
dec c
- jr nz, .asm_10986a
+ jr nz, .load_loop
ld de, CreditsBorderGFX
ld hl, VTiles2 tile $20
@@ -163,20 +162,20 @@
call Request2bpp
ld a, $ff
- ld [wcf64], a
+ ld [wCreditsBorderFrame], a
xor a
- ld [wcf65], a
+ ld [wCreditsBorderMon], a
- call Function109bca
+ call Credits_LoadBorderGFX
ld e, l
ld d, h
ld hl, VTiles2
- lb bc, BANK(CreditsMonsGFX), $10
+ lb bc, BANK(CreditsMonsGFX), 16
call Request2bpp
- call Function109a95
+ call ConstructCreditsTilemap
xor a
- ld [wcf66], a
+ ld [wCreditsLYOverride], a
ld hl, LYOverrides
ld bc, $100
@@ -184,7 +183,7 @@
call ByteFill
ld a, rSCX - $ff00
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
call GetCreditsPalette
call SetPalettes
@@ -200,19 +199,19 @@
ld [wcd21], a
ld [CreditsTimer], a
-.asm_1098de
- call Function109908
- call Function1098fd
- jr nz, .asm_1098ee
+.execution_loop
+ call Credits_HandleBButton
+ call Credits_HandleAButton
+ jr nz, .exit_credits
- call Function109926
+ call Credits_Jumptable
call DelayFrame
- jr .asm_1098de
+ jr .execution_loop
-.asm_1098ee
+.exit_credits
call ClearBGPalettes
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ld [hBGMapAddress], a
pop af
ld [hVBlank], a
@@ -221,9 +220,9 @@
ret
; 1098fd
-Function1098fd: ; 1098fd
+Credits_HandleAButton: ; 1098fd
ld a, [hJoypadDown]
- and $1
+ and A_BUTTON
ret z
ld a, [wJumptableIndex]
bit 7, a
@@ -230,9 +229,9 @@
ret
; 109908
-Function109908: ; 109908
+Credits_HandleBButton: ; 109908
ld a, [hJoypadDown]
- and $2
+ and B_BUTTON
ret z
ld a, [wJumptableIndex]
bit 6, a
@@ -240,12 +239,11 @@
ld hl, CreditsPos
ld a, [hli]
cp $d
- jr nc, .asm_10991e
+ jr nc, .okay
ld a, [hli]
and a
ret z
-
-.asm_10991e
+.okay
ld hl, CreditsTimer
ld a, [hl]
and a
@@ -254,12 +252,12 @@
ret
; 109926
-Function109926: ; 109926
+Credits_Jumptable: ; 109926
ld a, [wJumptableIndex]
and $f
ld e, a
ld d, 0
- ld hl, Jumptable_109937
+ ld hl, .Jumptable
rept 2
add hl, de
endr
@@ -270,28 +268,29 @@
; 109937
-Jumptable_109937: ; 109937 (42:5937)
+.Jumptable: ; 109937 (42:5937)
+
dw ParseCredits
- dw Function109951
- dw Function109951
- dw Function10995e
- dw Function109964
- dw Function10997b
- dw Function109986
- dw Function109951
- dw Function109951
- dw Function109951
- dw Function109964
- dw Function10997b
- dw Function109956
+ dw Credits_Next
+ dw Credits_Next
+ dw Credits_PrepBGMapUpdate
+ dw Credits_UpdateGFXRequestPath
+ dw Credits_RequestGFX
+ dw Credits_LYOverride
+ dw Credits_Next
+ dw Credits_Next
+ dw Credits_Next
+ dw Credits_UpdateGFXRequestPath
+ dw Credits_RequestGFX
+ dw Credits_LoopBack
-Function109951: ; 109951 (42:5951)
+Credits_Next: ; 109951 (42:5951)
ld hl, wJumptableIndex
inc [hl]
ret
-Function109956: ; 109956 (42:5956)
+Credits_LoopBack: ; 109956 (42:5956)
ld hl, wJumptableIndex
ld a, [hl]
and $f0
@@ -298,51 +297,51 @@
ld [hl], a
ret
-Function10995e: ; 10995e (42:595e)
+Credits_PrepBGMapUpdate: ; 10995e (42:595e)
xor a
ld [hBGMapMode], a
- jp Function109951
+ jp Credits_Next
-Function109964: ; 109964 (42:5964)
- call Function109bca
+Credits_UpdateGFXRequestPath: ; 109964 (42:5964)
+ call Credits_LoadBorderGFX
ld a, l
ld [Requested2bppSource], a
ld a, h
ld [Requested2bppSource + 1], a
- ld a, $0
+ ld a, VTiles2 % $100
ld [Requested2bppDest], a
- ld a, $90
+ ld a, VTiles2 / $100
ld [Requested2bppDest + 1], a
- jr Function10997b
+ jr Credits_RequestGFX
-Function10997b: ; 10997b (42:597b)
+Credits_RequestGFX: ; 10997b (42:597b)
xor a
ld [hBGMapMode], a
ld a, $8
ld [Requested2bpp], a
- jp Function109951
+ jp Credits_Next
-Function109986: ; 109986 (42:5986)
+Credits_LYOverride: ; 109986 (42:5986)
ld a, [rLY]
cp $30
- jr c, Function109986
- ld a, [wcf66]
+ jr c, Credits_LYOverride
+ ld a, [wCreditsLYOverride]
rept 2
dec a
endr
- ld [wcf66], a
+ ld [wCreditsLYOverride], a
ld hl, LYOverrides + $1f
- call Function1099a3
+ call .Fill
ld hl, LYOverrides + $87
- call Function1099a3
- jp Function109951
+ call .Fill
+ jp Credits_Next
-Function1099a3: ; 1099a3 (42:59a3)
+.Fill: ; 1099a3 (42:59a3)
ld c, $8
-.asm_1099a5
+.loop
ld [hli], a
dec c
- jr nz, .asm_1099a5
+ jr nz, .loop
ret
; 1099aa
@@ -437,15 +436,15 @@
.theend
; Display "The End" graphic.
- call Function109c11
+ call Credits_TheEnd
jr .loop
.scene
; Update the scene number and corresponding palette.
call .get
- ld [wcf65], a ; scene
+ ld [wCreditsBorderMon], a ; scene
xor a
- ld [wcf64], a ; frame
+ ld [wCreditsBorderFrame], a ; frame
call GetCreditsPalette
call SetPalettes ; update hw pal registers
jr .loop
@@ -453,7 +452,7 @@
.clear
; Clear the banner.
ld a, $ff
- ld [wcf64], a ; frame
+ ld [wCreditsBorderFrame], a ; frame
jr .loop
.music
@@ -484,13 +483,13 @@
ld [hBGMapMode], a
.done
- jp Function109951
+ jp Credits_Next
.end
; Stop execution.
ld hl, wJumptableIndex
set 7, [hl]
- ld a, $20
+ ld a, 32
ld [MusicFade], a
ld a, MUSIC_POST_CREDITS % $100
ld [MusicFadeID], a
@@ -521,91 +520,96 @@
; 109a95
-Function109a95: ; 109a95 (42:5a95)
+ConstructCreditsTilemap: ; 109a95 (42:5a95)
xor a
ld [hBGMapMode], a
ld a, $c
ld [hBGMapAddress], a
+
ld a, $28
hlcoord 0, 0
- ld bc, $168
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
call ByteFill
+
ld a, $7f
hlcoord 0, 4
- ld bc, $118
+ ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH
call ByteFill
+
hlcoord 0, 4
ld a, $24
- call Function109b1d
+ call DrawCreditsBorder
+
hlcoord 0, 17
ld a, $20
- call Function109b1d
+ call DrawCreditsBorder
+
hlcoord 0, 0, AttrMap
- ld bc, $50
+ ld bc, 4 * SCREEN_WIDTH
xor a
call ByteFill
+
hlcoord 0, 4, AttrMap
- ld bc, $14
+ ld bc, SCREEN_WIDTH
ld a, $1
call ByteFill
+
hlcoord 0, 5, AttrMap
- ld bc, $f0
+ ld bc, 12 * SCREEN_WIDTH
ld a, $2
call ByteFill
+
hlcoord 0, 17, AttrMap
- ld bc, $14
+ ld bc, SCREEN_WIDTH
ld a, $1
call ByteFill
- call Function3200
+
+ call WaitBGMap2
xor a
ld [hBGMapMode], a
ld [hBGMapAddress], a
hlcoord 0, 0
- call Function109aff
- call Function3200
+ call .InitTopPortion
+ call WaitBGMap2
ret
-Function109aff: ; 109aff (42:5aff)
- ld b, $5
-.asm_109b01
+.InitTopPortion: ; 109aff (42:5aff)
+ ld b, 5
+.outer_loop
push hl
- ld de, $11
- ld c, $4
+ ld de, SCREEN_WIDTH - 3
+ ld c, 4
xor a
-.asm_109b08
+.inner_loop
+rept 3
ld [hli], a
inc a
- ld [hli], a
- inc a
- ld [hli], a
- inc a
+endr
ld [hl], a
inc a
add hl, de
dec c
- jr nz, .asm_109b08
+ jr nz, .inner_loop
pop hl
rept 4
inc hl
endr
dec b
- jr nz, .asm_109b01
+ jr nz, .outer_loop
ret
-Function109b1d: ; 109b1d (42:5b1d)
- ld c, $5
-.asm_109b1f
+DrawCreditsBorder: ; 109b1d (42:5b1d)
+ ld c, SCREEN_WIDTH / 4
+.loop
push af
+rept 3
ld [hli], a
inc a
+endr
ld [hli], a
- inc a
- ld [hli], a
- inc a
- ld [hli], a
pop af
dec c
- jr nz, .asm_109b1f
+ jr nz, .loop
ret
GetCreditsPalette: ; 109b2c
@@ -619,7 +623,7 @@
.GetPalAddress
; Each set of palette data is 24 bytes long.
- ld a, [wcf65] ; scene
+ ld a, [wCreditsBorderMon] ; scene
and 3
add a
add a ; * 8
@@ -724,11 +728,11 @@
RGB 31, 31, 31
; 109bca
-Function109bca: ; 109bca (42:5bca)
- ld hl, wcf64
+Credits_LoadBorderGFX: ; 109bca (42:5bca)
+ ld hl, wCreditsBorderFrame
ld a, [hl]
cp $ff
- jr z, .asm_109bed
+ jr z, .init
and 3
ld e, a
@@ -735,7 +739,7 @@
inc a
and 3
ld [hl], a
- ld a, [wcf65]
+ ld a, [wCreditsBorderMon]
and 3
rept 2
add a
@@ -744,7 +748,7 @@
add a
ld e, a
ld d, 0
- ld hl, CreditsMonsFrames
+ ld hl, .Frames
add hl, de
ld a, [hli]
ld h, [hl]
@@ -751,43 +755,42 @@
ld l, a
ret
-.asm_109bed
- ld hl, wca00
+.init
+ ld hl, wCreditsFaux2bpp
ret
; 109bf1 (42:5bf1)
-CreditsMonsFrames: ; 109bf1
+.Frames: ; 109bf1
dw CreditsPichuGFX
- dw CreditsPichuGFX + $100
- dw CreditsPichuGFX + $200
- dw CreditsPichuGFX + $300
+ dw CreditsPichuGFX + 16 tiles
+ dw CreditsPichuGFX + 32 tiles
+ dw CreditsPichuGFX + 48 tiles
dw CreditsSmoochumGFX
- dw CreditsSmoochumGFX + $100
- dw CreditsSmoochumGFX + $200
- dw CreditsSmoochumGFX + $300
+ dw CreditsSmoochumGFX + 16 tiles
+ dw CreditsSmoochumGFX + 32 tiles
+ dw CreditsSmoochumGFX + 48 tiles
dw CreditsDittoGFX
- dw CreditsDittoGFX + $100
- dw CreditsDittoGFX + $200
- dw CreditsDittoGFX + $300
+ dw CreditsDittoGFX + 16 tiles
+ dw CreditsDittoGFX + 32 tiles
+ dw CreditsDittoGFX + 48 tiles
dw CreditsIgglybuffGFX
- dw CreditsIgglybuffGFX + $100
- dw CreditsIgglybuffGFX + $200
- dw CreditsIgglybuffGFX + $300
+ dw CreditsIgglybuffGFX + 16 tiles
+ dw CreditsIgglybuffGFX + 32 tiles
+ dw CreditsIgglybuffGFX + 48 tiles
; 109c11
-Function109c11: ; 109c11 (42:5c11)
+Credits_TheEnd: ; 109c11 (42:5c11)
ld a, $40
hlcoord 6, 9
- call Function109c1c
+ call .Load
hlcoord 6, 10
-
-Function109c1c: ; 109c1c (42:5c1c)
- ld c, $8
-.asm_109c1e
+.Load: ; 109c1c (42:5c1c)
+ ld c, 8
+.loop
ld [hli], a
inc a
dec c
- jr nz, .asm_109c1e
+ jr nz, .loop
ret
; 109c24 (42:5c24)
--- a/engine/crystal_intro.asm
+++ b/engine/crystal_intro.asm
@@ -1,22 +1,4 @@
-Functione455c: ; e455c
- hlcoord 1, 1
- ld de, SCREEN_WIDTH
- ld c, $10
-.asm_e4564
- ld [hl], $7f
- add hl, de
- dec c
- jr nz, .asm_e4564
- hlcoord 1, 2
- ld bc, $28
- ld a, [wJumptableIndex]
- call AddNTimes
- ld [hl], $ed
- ret
-; e4579
-
-
-Functione4579: ; e4579
+Copyright_GFPresents: ; e4579
ld de, MUSIC_NONE
call PlayMusic
call ClearBGPalettes
@@ -42,7 +24,7 @@
call DelayFrames
call ClearTileMap
callba GBCOnlyScreen
- call Functione45e8
+ call .GetGFLogoGFX
.joy_loop
call JoyTextDelay
ld a, [hJoyLast]
@@ -52,22 +34,22 @@
bit 7, a
jr nz, .finish
call PlaceGameFreakPresents
- callba Function8cf69
+ callba PlaySpriteAnimations
call DelayFrame
jr .joy_loop
.pressed_button
- call Functione465e
+ call .StopGamefreakAnim
scf
ret
.finish
- call Functione465e
+ call .StopGamefreakAnim
and a
ret
; e45e8
-Functione45e8: ; e45e8
+.GetGFLogoGFX: ; e45e8
ld de, GameFreakLogo
ld hl, VTiles2
lb bc, BANK(GameFreakLogo), $1c
@@ -79,17 +61,17 @@
ld [rSVBK], a
ld hl, IntroLogoGFX
- ld de, w6_d000
+ ld de, wDecompressScratch
ld a, BANK(IntroLogoGFX)
call FarDecompress
ld hl, VTiles0
- ld de, w6_d000
+ ld de, wDecompressScratch
lb bc, 1, 8 tiles
call Request2bpp
ld hl, VTiles1
- ld de, w6_d000 + $80 tiles
+ ld de, wDecompressScratch + $80 tiles
lb bc, 1, 8 tiles
call Request2bpp
@@ -96,9 +78,9 @@
pop af
ld [rSVBK], a
- callba Function8cf53
+ callba ClearSpriteAnims
depixel 10, 11, 4, 0
- ld a, SPRITE_ANIM_INDEX_03
+ ld a, SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
call _InitSpriteAnimStruct
ld hl, $7
add hl, bc
@@ -111,7 +93,7 @@
ld [hl], $30
xor a
ld [wJumptableIndex], a
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
ld [wcf65], a
ld [hSCX], a
ld [hSCY], a
@@ -124,8 +106,8 @@
ret
; e465e
-Functione465e: ; e465e
- callba Function8cf53
+.StopGamefreakAnim: ; e465e
+ callba ClearSpriteAnims
call ClearTileMap
call ClearSprites
ld c, 16
@@ -137,7 +119,7 @@
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -147,7 +129,7 @@
jp [hl]
; e467f
-.jumptable: ; e467f
+.dw: ; e467f
dw PlaceGameFreakPresents_0
dw PlaceGameFreakPresents_1
dw PlaceGameFreakPresents_2
@@ -230,9 +212,8 @@
; e46ed
-
GameFreakLogoJumper: ; e46ed (39:46ed)
- ld hl, $b
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
ld e, [hl]
ld d, 0
@@ -252,21 +233,20 @@
dw GameFreakLogoScene4
dw GameFreakLogoScene5
-
GameFreakLogoScene1: ; e4707 (39:4707)
- ld hl, $b
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
inc [hl]
ret
GameFreakLogoScene2: ; e470d (39:470d)
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
and a
jr z, .asm_e4747
ld d, a
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
and $3f
@@ -275,17 +255,17 @@
add $20
.asm_e4723
ld e, a
- callba Functionce765
- ld hl, $7
+ callba BattleAnim_Sine_e
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], e
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
dec [hl]
and $1f
ret nz
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
sub $30
@@ -293,11 +273,12 @@
ld de, SFX_DITTO_BOUNCE
call PlaySFX
ret
+
.asm_e4747
- ld hl, $b
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
inc [hl]
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld [hl], $0
ld de, SFX_DITTO_POP_UP
@@ -305,7 +286,7 @@
ret
GameFreakLogoScene3: ; e4759 (39:4759)
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
cp $20
@@ -312,11 +293,12 @@
jr nc, .asm_e4764
inc [hl]
ret
+
.asm_e4764
- ld hl, $b
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
inc [hl]
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld [hl], $0
ld de, SFX_DITTO_TRANSFORM
@@ -324,7 +306,7 @@
ret
GameFreakLogoScene4: ; e4776 (39:4776)
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
cp $40
@@ -351,12 +333,12 @@
ld a, $1
ld [hCGBPalUpdate], a
ret
+
.asm_e47a3
- ld hl, $b
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
inc [hl]
call PlaceGameFreakPresents_AdvanceIndex
-
GameFreakLogoScene5: ; e47ab (39:47ab)
ret
; e47ac (39:47ac)
@@ -369,20 +351,24 @@
RGB 23, 12, 27
RGB 23, 13, 26
RGB 23, 13, 24
+
RGB 24, 14, 22
RGB 24, 14, 20
RGB 24, 15, 18
RGB 24, 15, 16
+
RGB 25, 16, 14
RGB 25, 16, 12
RGB 25, 17, 10
RGB 25, 17, 08
+
RGB 26, 18, 06
RGB 26, 18, 04
RGB 26, 19, 02
RGB 26, 19, 00
-;' e47cc
+; e47cc
+
GameFreakLogo: ; e47cc
INCBIN "gfx/splash/logo.1bpp"
; e48ac
@@ -396,7 +382,7 @@
push af
ld a, [hVBlank]
push af
- call Functione4901
+ call .InitRAMAddrs
.loop: ; e48bc
call JoyTextDelay
ld a, [hJoyLast]
@@ -406,7 +392,7 @@
bit 7, a
jr nz, .done
call IntroSceneJumper
- callba Function8cf69
+ callba PlaySpriteAnimations
call DelayFrame
jp .loop
@@ -434,7 +420,7 @@
ret
; e4901
-Functione4901: ; e4901
+.InitRAMAddrs: ; e4901
xor a
ld [hVBlank], a
ld a, $1
@@ -459,7 +445,6 @@
jp [hl]
; e491e
-
IntroScenes: ; e491e (39:491e)
dw IntroScene1
dw IntroScene2
@@ -490,7 +475,6 @@
dw IntroScene27
dw IntroScene28
-
NextIntroScene: ; e4956 (39:4956)
ld hl, wJumptableIndex
inc [hl]
@@ -498,7 +482,7 @@
IntroScene1: ; e495b (39:495b)
; Setup the next scene.
- call Functione54a3
+ call Intro_ClearBGPals
call ClearSprites
call ClearTileMap
xor a
@@ -507,18 +491,18 @@
ld [rVBK], a
ld hl, IntroTilemap001
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, $0
ld [rVBK], a
ld hl, IntroUnownsGFX
ld de, VTiles2 tile $00
- call Functione54c2
+ call Intro_DecompressRequest2bpp_128Tiles
ld hl, IntroPulseGFX
ld de, VTiles0 tile $00
- call Functione54c2
+ call Intro_DecompressRequest2bpp_128Tiles
ld hl, IntroTilemap002
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, [rSVBK]
push af
ld a, $5
@@ -540,8 +524,8 @@
ld [hWX], a
ld a, $90
ld [hWY], a
- callba Function8cf53
- call Functione549e
+ callba ClearSpriteAnims
+ call Intro_SetCGBPalUpdate
xor a
ld [wIntroSceneFrameCounter], a
ld [wcf65], a
@@ -558,8 +542,8 @@
cp $60
jr nz, .DontPlaySound
push af
- ld de, $5858
- call Functione51dc
+ depixel 11, 11
+ call CrystalIntro_InitUnownAnim
ld de, SFX_INTRO_UNOWN_1
call PlaySFX
pop af
@@ -566,7 +550,7 @@
.DontPlaySound
ld [wcf65], a
xor a
- call Functione5223
+ call CrystalIntro_UnownFade
ret
.endscene
call NextIntroScene
@@ -574,7 +558,7 @@
IntroScene3: ; e49fd (39:49fd)
; More setup. Transition to the outdoor scene.
- call Functione54a3
+ call Intro_ClearBGPals
call ClearSprites
call ClearTileMap
xor a
@@ -583,15 +567,15 @@
ld [rVBK], a
ld hl, IntroTilemap003
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, $0
ld [rVBK], a
ld hl, IntroBackgroundGFX
ld de, VTiles2 tile $00
- call Functione54c2
+ call Intro_DecompressRequest2bpp_128Tiles
ld hl, IntroTilemap004
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, [rSVBK]
push af
ld a, $5
@@ -613,8 +597,8 @@
ld [hWX], a
ld a, $90
ld [hWY], a
- call Functione5516
- call Functione549e
+ call Intro_ResetLYOverrides
+ call Intro_SetCGBPalUpdate
xor a
ld [wIntroSceneFrameCounter], a
call NextIntroScene
@@ -622,7 +606,7 @@
IntroScene4: ; e4a69 (39:4a69)
; Scroll the outdoor panorama for a bit.
- call Functione552f
+ call Intro_PerspectiveScrollBG
ld hl, wIntroSceneFrameCounter
ld a, [hl]
cp $80
@@ -629,6 +613,7 @@
jr z, .endscene
inc [hl]
ret
+
.endscene
call NextIntroScene
ret
@@ -635,28 +620,28 @@
IntroScene5: ; e4a7a (39:4a7a)
; Go back to the Unown.
- call Functione54a3
+ call Intro_ClearBGPals
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap005
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, $0
ld [rVBK], a
ld hl, IntroUnownsGFX
ld de, VTiles2 tile $00
- call Functione54c2
+ call Intro_DecompressRequest2bpp_128Tiles
ld hl, IntroPulseGFX
ld de, VTiles0 tile $00
- call Functione54c2
+ call Intro_DecompressRequest2bpp_128Tiles
ld hl, IntroTilemap006
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, [rSVBK]
push af
ld a, $5
@@ -678,10 +663,10 @@
ld [hWX], a
ld a, $90
ld [hWY], a
- callba Function8cf53
- call Functione549e
+ callba ClearSpriteAnims
+ call Intro_SetCGBPalUpdate
xor a
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
ld [wcf65], a
call NextIntroScene
ret
@@ -688,7 +673,7 @@
IntroScene6: ; e4af7 (39:4af7)
; Two more Unown (I, H) fade in.
- ld hl, wcf64
+ ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $80
@@ -700,10 +685,11 @@
cp $20
jr z, .FirstUnown
jr .NoUnown
+
.FirstUnown
push af
- ld de, $3878
- call Functione51dc
+ depixel 7, 15
+ call CrystalIntro_InitUnownAnim
ld de, SFX_INTRO_UNOWN_2
call PlaySFX
pop af
@@ -710,12 +696,13 @@
.NoUnown
ld [wcf65], a
xor a
- call Functione5223
+ call CrystalIntro_UnownFade
ret
+
.SecondUnown
push af
- ld de, $7030
- call Functione51dc
+ depixel 14, 6
+ call CrystalIntro_InitUnownAnim
ld de, SFX_INTRO_UNOWN_1
call PlaySFX
pop af
@@ -722,8 +709,9 @@
.StopUnown
ld [wcf65], a
ld a, $1
- call Functione5223
+ call CrystalIntro_UnownFade
ret
+
.endscene
call NextIntroScene
ret
@@ -730,44 +718,54 @@
IntroScene7: ; e4b3f (39:4b3f)
; Back to the outdoor scene.
- call Functione54a3
+ call Intro_ClearBGPals
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
+
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap003
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
+
ld hl, IntroPichuWooperGFX
ld de, VTiles0 tile $00
- call Functione54c2
+ call Intro_DecompressRequest2bpp_128Tiles
+
ld a, $0
ld [rVBK], a
ld hl, IntroSuicuneRunGFX
ld de, VTiles0 tile $00
- call Functione54de
+ call Intro_DecompressRequest2bpp_255Tiles
+
ld hl, IntroBackgroundGFX
ld de, VTiles2 tile $00
- call Functione54c2
+ call Intro_DecompressRequest2bpp_128Tiles
+
ld hl, IntroTilemap004
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
+
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
+
ld hl, Palette_e5edd
ld de, UnknBGPals
ld bc, $80
call CopyBytes
+
ld hl, Palette_e5edd
ld de, BGPals
ld bc, $80
call CopyBytes
+
pop af
ld [rSVBK], a
+
xor a
ld [hSCX], a
ld [hSCY], a
@@ -775,14 +773,14 @@
ld [hWX], a
ld a, $90
ld [hWY], a
- call Functione5516
- callba Function8cf53
+ call Intro_ResetLYOverrides
+ callba ClearSpriteAnims
depixel 13, 27, 4, 0
ld a, SPRITE_ANIM_INDEX_26
call _InitSpriteAnimStruct
ld a, $f0
- ld [wc3c0], a
- call Functione549e
+ ld [wGlobalAnimXOffset], a
+ call Intro_SetCGBPalUpdate
xor a
ld [wIntroSceneFrameCounter], a
ld [wcf65], a
@@ -795,24 +793,26 @@
ld a, [hl]
inc [hl]
cp $40
- jr z, .asm_e4be2
- jr nc, .asm_e4be8
- call Functione552f
+ jr z, .suicune_sound
+ jr nc, .animate_suicune
+ call Intro_PerspectiveScrollBG
ret
-.asm_e4be2
+
+.suicune_sound
ld de, SFX_INTRO_SUICUNE_3
call PlaySFX
-.asm_e4be8
- ld a, [wc3c0]
+.animate_suicune
+ ld a, [wGlobalAnimXOffset]
and a
- jr z, .asm_e4bf4
+ jr z, .finish
sub $8
- ld [wc3c0], a
+ ld [wGlobalAnimXOffset], a
ret
-.asm_e4bf4
+
+.finish
ld de, SFX_INTRO_SUICUNE_2
call PlaySFX
- callba Function8d03d
+ callba DeinitializeAllSprites
call NextIntroScene
ret
@@ -819,16 +819,19 @@
IntroScene9: ; e4c04 (39:4c04)
; Set up the next scene (same bg).
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
call ClearSprites
hlcoord 0, 0, AttrMap
- ld bc, $f0
+ ; first 12 rows have palette 1
+ ld bc, 12 * SCREEN_WIDTH
ld a, $1
call ByteFill
- ld bc, $3c
+ ; middle 3 rows have palette 2
+ ld bc, 3 * SCREEN_WIDTH
ld a, $2
call ByteFill
- ld bc, $3c
+ ; last three rows have palette 3
+ ld bc, 3 * SCREEN_WIDTH
ld a, $3
call ByteFill
ld a, $2
@@ -836,7 +839,7 @@
call DelayFrame
call DelayFrame
call DelayFrame
- ld a, $c
+ ld a, $c ; $980c
ld [hBGMapAddress], a
call DelayFrame
call DelayFrame
@@ -844,16 +847,16 @@
xor a
ld [hBGMapMode], a
ld [hBGMapAddress], a
- ld [wc3c0], a
+ ld [wGlobalAnimXOffset], a
xor a
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
call NextIntroScene
ret
IntroScene10: ; e4c4f (39:4c4f)
; Wooper and Pichu enter.
- call Functione546d
- ld hl, wcf64
+ call Intro_RustleGrass
+ ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $c0
@@ -885,25 +888,25 @@
IntroScene11: ; e4c86 (39:4c86)
; Back to Unown again.
- call Functione54a3
+ call Intro_ClearBGPals
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap007
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, $0
ld [rVBK], a
ld hl, IntroUnownsGFX
ld de, VTiles2 tile $00
- call Functione54c2
+ call Intro_DecompressRequest2bpp_128Tiles
ld hl, IntroTilemap008
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, [rSVBK]
push af
ld a, $5
@@ -925,8 +928,8 @@
ld [hWX], a
ld a, $90
ld [hWY], a
- callba Function8cf53
- call Functione549e
+ callba ClearSpriteAnims
+ call Intro_SetCGBPalUpdate
xor a
ld [wIntroSceneFrameCounter], a
ld [wcf65], a
@@ -935,14 +938,15 @@
IntroScene12: ; e4cfa (39:4cfa)
; Even more Unown.
- call Functione4d36
+ call .PlayUnownSound
ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $c0
- jr nc, .asm_e4d32
+ jr nc, .done
cp $80
- jr nc, .asm_e4d1d
+ jr nc, .second_half
+; first half
ld c, a
and $1f
sla a
@@ -951,9 +955,11 @@
and $e0
srl a
swap a
- call Functione5223
+ call CrystalIntro_UnownFade
ret
-.asm_e4d1d
+
+.second_half
+; double speed
ld c, a
and $f
sla a
@@ -963,13 +969,14 @@
and $70
or $40
swap a
- call Functione5223
+ call CrystalIntro_UnownFade
ret
-.asm_e4d32
+
+.done
call NextIntroScene
ret
-Functione4d36: ; e4d36 (39:4d36)
+.PlayUnownSound: ; e4d36 (39:4d36)
ld a, [wIntroSceneFrameCounter]
ld c, a
ld hl, .UnownSounds
@@ -1003,12 +1010,11 @@
dbw $90, SFX_INTRO_UNOWN_2
dbw $a0, SFX_INTRO_UNOWN_1
dbw $b0, SFX_INTRO_UNOWN_2
- db $ff
-; e4d6d
+ db -1 ; e4d6d
IntroScene13: ; e4d6d (39:4d6d)
; Switch scenes again.
- call Functione54a3
+ call Intro_ClearBGPals
call ClearSprites
call ClearTileMap
xor a
@@ -1017,18 +1023,18 @@
ld [rVBK], a
ld hl, IntroTilemap003
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, $0
ld [rVBK], a
ld hl, IntroSuicuneRunGFX
ld de, VTiles0 tile $00
- call Functione54de
+ call Intro_DecompressRequest2bpp_255Tiles
ld hl, IntroBackgroundGFX
ld de, VTiles2 tile $00
- call Functione54c2
+ call Intro_DecompressRequest2bpp_128Tiles
ld hl, IntroTilemap004
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, [rSVBK]
push af
ld a, $5
@@ -1050,7 +1056,7 @@
ld [hWX], a
ld a, $90
ld [hWY], a
- callba Function8cf53
+ callba ClearSpriteAnims
depixel 13, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_26
call _InitSpriteAnimStruct
@@ -1057,10 +1063,10 @@
ld de, MUSIC_CRYSTAL_OPENING
call PlayMusic
xor a
- ld [wc3c0], a
- call Functione549e
+ ld [wGlobalAnimXOffset], a
+ call Intro_SetCGBPalUpdate
xor a
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
ld [wcf65], a
call NextIntroScene
ret
@@ -1070,7 +1076,7 @@
ld a, [hSCX]
sub 10
ld [hSCX], a
- ld hl, wcf64
+ ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $80
@@ -1089,21 +1095,21 @@
.asm_e4e1a
ld a, $1
ld [wcf65], a
- ld a, [wc3c0]
+ ld a, [wGlobalAnimXOffset]
cp $88
jr c, .asm_e4e2c
sub $8
- ld [wc3c0], a
+ ld [wGlobalAnimXOffset], a
ret
.asm_e4e2c
- callba Function8d03d
+ callba DeinitializeAllSprites
ret
.asm_e4e33
- ld a, [wc3c0]
+ ld a, [wGlobalAnimXOffset]
sub $2
- ld [wc3c0], a
+ ld [wGlobalAnimXOffset], a
ret
.done
@@ -1112,7 +1118,7 @@
IntroScene15: ; e4e40 (39:4e40)
; Transition to a new scene.
- call Functione54a3
+ call Intro_ClearBGPals
call ClearSprites
call ClearTileMap
xor a
@@ -1121,23 +1127,23 @@
ld [rVBK], a
ld hl, IntroTilemap009
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, $0
ld [rVBK], a
ld hl, IntroSuicuneJumpGFX
ld de, VTiles2 tile $00
- call Functione54c2
+ call Intro_DecompressRequest2bpp_128Tiles
ld hl, IntroUnownBackGFX
ld de, VTiles0 tile $00
- call Functione54c2
- ld de, GFX_e7a5d
+ call Intro_DecompressRequest2bpp_128Tiles
+ ld de, IntroGrass4GFX
ld hl, VTiles1 tile $00
- lb bc, BANK(GFX_e7a5d), 1
+ lb bc, BANK(IntroGrass4GFX), 1
call Request2bpp
ld hl, IntroTilemap010
debgcoord 0, 0
- call Functione54fa
- call Functione541b
+ call Intro_DecompressRequest2bpp_64Tiles
+ call Intro_LoadTilemap
ld a, [rSVBK]
push af
ld a, $5
@@ -1160,8 +1166,8 @@
ld [hWX], a
ld a, $90
ld [hWY], a
- callba Function8cf53
- call Functione549e
+ callba ClearSpriteAnims
+ call Intro_SetCGBPalUpdate
depixel 8, 5
ld a, SPRITE_ANIM_INDEX_2A
call _InitSpriteAnimStruct
@@ -1169,7 +1175,7 @@
ld a, SPRITE_ANIM_INDEX_2B
call _InitSpriteAnimStruct
xor a
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
ld [wcf65], a
call NextIntroScene
ret
@@ -1176,12 +1182,12 @@
IntroScene16: ; e4edc (39:4edc)
; Suicune shows its face. An Unown appears in front.
- ld hl, wcf64
+ ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $80
jr nc, .done
- call Functione5441
+ call Intro_Scene16_AnimateSuicune
ld a, [hSCY]
and a
ret z
@@ -1194,7 +1200,7 @@
IntroScene17: ; e4ef5 (39:4ef5)
; ...
- call Functione54a3
+ call Intro_ClearBGPals
call ClearSprites
call ClearTileMap
xor a
@@ -1203,15 +1209,15 @@
ld [rVBK], a
ld hl, IntroTilemap011
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, $0
ld [rVBK], a
ld hl, IntroSuicuneCloseGFX
ld de, VTiles1 tile $00
- call Functione54de
+ call Intro_DecompressRequest2bpp_255Tiles
ld hl, IntroTilemap012
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, [rSVBK]
push af
ld a, $5
@@ -1233,10 +1239,10 @@
ld [hWX], a
ld a, $90
ld [hWY], a
- callba Function8cf53
- call Functione549e
+ callba ClearSpriteAnims
+ call Intro_SetCGBPalUpdate
xor a
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
ld [wcf65], a
call NextIntroScene
ret
@@ -1243,7 +1249,7 @@
IntroScene18: ; e4f67 (39:4f67)
; Suicune close up.
- ld hl, wcf64
+ ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $60
@@ -1260,7 +1266,7 @@
IntroScene19: ; e4f7e (39:4f7e)
; More setup.
- call Functione54a3
+ call Intro_ClearBGPals
call ClearSprites
call ClearTileMap
xor a
@@ -1269,23 +1275,23 @@
ld [rVBK], a
ld hl, IntroTilemap013
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, $0
ld [rVBK], a
ld hl, IntroSuicuneBackGFX
ld de, VTiles2 tile $00
- call Functione54c2
+ call Intro_DecompressRequest2bpp_128Tiles
ld hl, IntroUnownsGFX
ld de, VTiles1 tile $00
- call Functione54c2
- ld de, GFX_e7a5d
+ call Intro_DecompressRequest2bpp_128Tiles
+ ld de, IntroGrass4GFX
ld hl, VTiles1 tile $7f
- lb bc, BANK(GFX_e7a5d), 1
+ lb bc, BANK(IntroGrass4GFX), 1
call Request2bpp
ld hl, IntroTilemap014
debgcoord 0, 0
- call Functione54fa
- call Functione541b
+ call Intro_DecompressRequest2bpp_64Tiles
+ call Intro_LoadTilemap
ld a, [rSVBK]
push af
ld a, $5
@@ -1308,17 +1314,17 @@
ld [hWX], a
ld a, $90
ld [hWY], a
- callba Function8cf53
- ld hl, wc300
+ callba ClearSpriteAnims
+ ld hl, wSpriteAnimDict
xor a
ld [hli], a
ld [hl], $7f
- call Functione549e
+ call Intro_SetCGBPalUpdate
depixel 12, 0
ld a, SPRITE_ANIM_INDEX_2B
call _InitSpriteAnimStruct
xor a
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
ld [wcf65], a
call NextIntroScene
ret
@@ -1325,15 +1331,15 @@
IntroScene20: ; e5019 (39:5019)
; Suicune running away. A bunch of Unown appear.
- ld hl, wcf64
+ ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $98
- jr nc, .asm_e5059
+ jr nc, .finished
cp $58
ret nc
cp $40
- jr nc, .asm_e5032
+ jr nc, .AppearUnown
cp $28
ret nc
ld a, [hSCY]
@@ -1341,7 +1347,7 @@
ld [hSCY], a
ret
-.asm_e5032
+.AppearUnown
sub $18
ld c, a
and $3
@@ -1353,10 +1359,10 @@
srl a
ld [wcf65], a
xor a
- call Functione5348
+ call Intro_Scene20_AppearUnown
ret
; e5049 (39:5049)
-
+; unused
ld a, c
and $1c
srl a
@@ -1363,27 +1369,27 @@
srl a
ld [wcf65], a
ld a, 1
- call Functione5348
+ call Intro_Scene20_AppearUnown
ret
-.asm_e5059
+.finished
call NextIntroScene
ret
IntroScene21: ; e505d (39:505d)
; Suicune gets more distant and turns black.
- call Functione5451
+ call Intro_ColoredSuicuneFrameSwap
ld c, 3
call DelayFrames
xor a
ld [hBGMapMode], a
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
ld [wcf65], a
call NextIntroScene
ret
IntroScene22: ; e5072 (39:5072)
- ld hl, wcf64
+ ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $8
@@ -1390,19 +1396,19 @@
jr nc, .done
ret
.done
- callba Function8d03d
+ callba DeinitializeAllSprites
call NextIntroScene
ret
IntroScene23: ; e5086 (39:5086)
xor a
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
call NextIntroScene
ret
IntroScene24: ; e508e (39:508e)
; Fade to white.
- ld hl, wcf64
+ ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $20
@@ -1411,25 +1417,27 @@
ld c, a
and $3
ret nz
+
ld a, c
and $1c
sla a
- call Functione5172
+ call Intro_Scene24_ApplyPaletteFade
ret
.done
ld a, $40
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
call NextIntroScene
ret
IntroScene25: ; e50ad (39:50ad)
; Wait around a bit.
- ld a, [wcf64]
+ ld a, [wIntroSceneFrameCounter]
dec a
jr z, .done
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
ret
+
.done
call NextIntroScene
ret
@@ -1445,15 +1453,15 @@
ld [rVBK], a
ld hl, IntroTilemap015
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, $0
ld [rVBK], a
ld hl, IntroCrystalUnownsGFX
ld de, VTiles2 tile $00
- call Functione54c2
+ call Intro_DecompressRequest2bpp_128Tiles
ld hl, IntroTilemap017
debgcoord 0, 0
- call Functione54fa
+ call Intro_DecompressRequest2bpp_64Tiles
ld a, [rSVBK]
push af
ld a, $5
@@ -1475,10 +1483,10 @@
ld [hWX], a
ld a, $90
ld [hWY], a
- callba Function8cf53
- call Functione549e
+ callba ClearSpriteAnims
+ call Intro_SetCGBPalUpdate
xor a
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
ld [wcf65], a
call NextIntroScene
ret
@@ -1487,7 +1495,7 @@
; Spell out C R Y S T A L with Unown.
ld hl, wcf65
inc [hl]
- ld hl, wcf64
+ ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $80
@@ -1499,18 +1507,18 @@
ld a, c
and $70
swap a
- call Functione539d
+ call Intro_FadeUnownWordPals
ret
.done
call NextIntroScene
ld a, $80
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
ret
IntroScene28: ; e5152 (39:5152)
; Cut out when the music ends, and lead into the title screen.
- ld hl, wcf64
+ ld hl, wIntroSceneFrameCounter
ld a, [hl]
and a
jr z, .done
@@ -1533,32 +1541,33 @@
set 7, [hl]
ret
-
-Functione5172: ; e5172 (39:5172)
- ld hl, Unknown_e519c
+Intro_Scene24_ApplyPaletteFade: ; e5172 (39:5172)
+; load the (a)th palette from .FadePals to all BGPals
+ ld hl, .FadePals
add l
ld l, a
ld a, $0
adc h
ld h, a
+
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld de, BGPals
- ld b, $8
-.asm_e5187
+ ld b, 8 ; number of BG pals
+.loop1
push hl
- ld c, $8
-.asm_e518a
+ ld c, 8 ; number of bytes per pal
+.loop2
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_e518a
+ jr nz, .loop2
pop hl
dec b
- jr nz, .asm_e5187
+ jr nz, .loop1
pop af
ld [rSVBK], a
ld a, $1
@@ -1566,7 +1575,7 @@
ret
; e519c (39:519c)
-Unknown_e519c: ; e519c
+.FadePals: ; e519c
; Fade to white.
RGB 24, 12, 09
RGB 31, 31, 31
@@ -1607,49 +1616,50 @@
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
+
; e51dc
-Functione51dc: ; e51dc (39:51dc)
+CrystalIntro_InitUnownAnim: ; e51dc (39:51dc)
push de
ld a, SPRITE_ANIM_INDEX_29
call _InitSpriteAnimStruct
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], $8
ld a, $3c
- call Function3b3c
+ call ReinitSpriteAnimFrame
pop de
push de
ld a, SPRITE_ANIM_INDEX_29
call _InitSpriteAnimStruct
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], $18
ld a, $3b
- call Function3b3c
+ call ReinitSpriteAnimFrame
pop de
push de
ld a, SPRITE_ANIM_INDEX_29
call _InitSpriteAnimStruct
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], $28
ld a, $39
- call Function3b3c
+ call ReinitSpriteAnimFrame
pop de
ld a, SPRITE_ANIM_INDEX_29
call _InitSpriteAnimStruct
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], $38
ld a, $3a
- call Function3b3c
+ call ReinitSpriteAnimFrame
ret
-Functione5223: ; e5223 (39:5223)
+CrystalIntro_UnownFade: ; e5223 (39:5223)
rept 3
add a
endr
@@ -1663,12 +1673,13 @@
ld a, [wcf65]
and $3f
cp $1f
- jr z, .asm_e523e
- jr c, .asm_e523e
+ jr z, .okay
+ jr c, .okay
ld c, a
ld a, $3f
sub c
-.asm_e523e
+.okay
+
ld c, a
ld b, $0
ld a, [rSVBK]
@@ -1675,16 +1686,18 @@
push af
ld a, $5
ld [rSVBK], a
+
push hl
push bc
ld hl, BGPals
- ld bc, $40
+ ld bc, 4 * 16
xor a
call ByteFill
pop bc
pop hl
+
push hl
- ld hl, Unknown_e5288
+ ld hl, .BWFade
rept 2
add hl, bc
endr
@@ -1696,8 +1709,9 @@
ld [hli], a
ld a, d
ld [hli], a
+
push hl
- ld hl, Unknown_e52c8
+ ld hl, .BlackLBlueFade
rept 2
add hl, bc
endr
@@ -1709,8 +1723,9 @@
ld [hli], a
ld a, d
ld [hli], a
+
push hl
- ld hl, Unknown_e5308
+ ld hl, .BlackBlueFade
rept 2
add hl, bc
endr
@@ -1722,6 +1737,7 @@
ld [hli], a
ld a, d
ld [hli], a
+
pop af
ld [rSVBK], a
ld a, $1
@@ -1729,7 +1745,7 @@
ret
; e5288 (39:5288)
-Unknown_e5288: ; e5288
+.BWFade: ; e5288
; Fade between black and white.
hue = 0
rept 32
@@ -1738,7 +1754,7 @@
endr
; e52c8
-Unknown_e52c8: ; e52c8
+.BlackLBlueFade: ; e52c8
; Fade between black and light blue.
hue = 0
rept 32
@@ -1747,7 +1763,7 @@
endr
; e5308
-Unknown_e5308: ; e5308
+.BlackBlueFade: ; e5308
; Fade between black and blue.
hue = 0
rept 32
@@ -1756,14 +1772,18 @@
endr
; e5348
-Functione5348: ; e5348 (39:5348)
+Intro_Scene20_AppearUnown: ; e5348 (39:5348)
+; Spawn the palette for the nth Unown
and a
- jr nz, .asm_e5350
- ld hl, Palette_e538d
- jr .asm_e5353
-.asm_e5350
- ld hl, Palette_e5395
-.asm_e5353
+ jr nz, .load_pal_2
+
+ ld hl, .pal1
+ jr .got_pointer
+
+.load_pal_2
+ ld hl, .pal2
+
+.got_pointer
ld a, [wcf65]
and $7
rept 3
@@ -1774,8 +1794,10 @@
push af
ld a, $5
ld [rSVBK], a
+
push bc
ld de, BGPals
+
ld a, c
add e
ld e, a
@@ -1782,9 +1804,11 @@
ld a, $0
adc d
ld d, a
- ld bc, $8
+
+ ld bc, 8
call CopyBytes
pop bc
+
ld de, UnknBGPals
ld a, c
add e
@@ -1792,8 +1816,10 @@
ld a, $0
adc d
ld d, a
- ld bc, $8
+
+ ld bc, 8
call CopyBytes
+
pop af
ld [rSVBK], a
ld a, $1
@@ -1801,21 +1827,23 @@
ret
; e538d (39:538d)
-Palette_e538d: ; e538d
+.pal1: ; e538d
RGB 24, 12, 09
RGB 31, 31, 31
RGB 12, 00, 31
RGB 00, 00, 00
+
; e5395
-Palette_e5395: ; e5395
+.pal2: ; e5395
RGB 24, 12, 09
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
+
; e539d
-Functione539d: ; e539d (39:539d)
+Intro_FadeUnownWordPals: ; e539d (39:539d)
rept 3
add a
endr
@@ -1830,12 +1858,14 @@
add a
ld c, a
ld b, $0
+
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
+
push hl
- ld hl, Palette_e53db
+ ld hl, .FastFadePalettes
add hl, bc
ld a, [hli]
ld d, [hl]
@@ -1845,8 +1875,9 @@
ld [hli], a
ld a, d
ld [hli], a
+
push hl
- ld hl, Palette_e53fb
+ ld hl, .SlowFadePalettes
add hl, bc
ld a, [hli]
ld d, [hl]
@@ -1856,6 +1887,7 @@
ld [hli], a
ld a, d
ld [hli], a
+
pop af
ld [rSVBK], a
ld a, $1
@@ -1863,7 +1895,7 @@
ret
; e53db (39:53db)
-Palette_e53db: ; e53db
+.FastFadePalettes: ; e53db
hue = 31
rept 8
RGB hue, hue, hue
@@ -1873,7 +1905,7 @@
endr
; e53fb
-Palette_e53fb: ; e53fb
+.SlowFadePalettes: ; e53fb
hue = 31
rept 16
RGB hue, hue, hue
@@ -1881,23 +1913,25 @@
endr
; e541b
-Functione541b: ; e541b (39:541b)
+Intro_LoadTilemap: ; e541b (39:541b)
ld a, [rSVBK]
push af
ld a, $6
ld [rSVBK], a
- ld hl, w6_d000
+
+ ld hl, wDecompressScratch
decoord 0, 0
ld b, SCREEN_HEIGHT
-.asm_e542a
+.row
ld c, SCREEN_WIDTH
-.asm_e542c
+.col
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_e542c
- ld a, $c
+ jr nz, .col
+ ; add hl, $20 - SCREEN_WIDTH
+ ld a, $20 - SCREEN_WIDTH
add l
ld l, a
ld a, $0
@@ -1904,53 +1938,55 @@
adc h
ld h, a
dec b
- jr nz, .asm_e542a
+ jr nz, .row
+
pop af
ld [rSVBK], a
ret
-Functione5441: ; e5441 (39:5441)
- ld a, [wcf64]
+Intro_Scene16_AnimateSuicune: ; e5441 (39:5441)
+ ld a, [wIntroSceneFrameCounter]
and $3
- jr z, Functione5451
+ jr z, Intro_ColoredSuicuneFrameSwap
cp $3
- jr z, .asm_e544d
+ jr z, .PrepareForSuicuneSwap
ret
-.asm_e544d
+
+.PrepareForSuicuneSwap
xor a
ld [hBGMapMode], a
ret
-Functione5451: ; e5451 (39:5451)
+Intro_ColoredSuicuneFrameSwap: ; e5451 (39:5451)
hlcoord 0, 0
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
-.asm_e5457
+.loop
ld a, [hl]
and a
- jr z, .asm_e5462
+ jr z, .skip
cp $80
- jr nc, .asm_e5462
+ jr nc, .skip
xor $8
ld [hl], a
-.asm_e5462
+.skip
inc hl
dec bc
ld a, c
or b
- jr nz, .asm_e5457
+ jr nz, .loop
ld a, $1
ld [hBGMapMode], a
ret
-Functione546d: ; e546d (39:546d)
- ld a, [wcf64]
- cp $24
+Intro_RustleGrass: ; e546d (39:546d)
+ ld a, [wIntroSceneFrameCounter]
+ cp 36
ret nc
and $c
srl a
ld e, a
ld d, $0
- ld hl, Unknown_e5496
+ ld hl, .RustlingGrassPointers
add hl, de
ld a, [hli]
ld [Requested2bppSource], a
@@ -1960,32 +1996,34 @@
ld [Requested2bppDest], a
ld a, (VTiles2 tile $09) / $100
ld [Requested2bppDest + 1], a
- ld a, $4
- ld [Requested2bpp], a
+ ld a, 4
+ ld [Requested2bppSize], a
ret
; e5496 (39:5496)
-Unknown_e5496: ; e5496
- dw GFX_e799d
- dw GFX_e79dd
- dw GFX_e7a1d
- dw GFX_e79dd
+.RustlingGrassPointers: ; e5496
+ dw IntroGrass1GFX
+ dw IntroGrass2GFX
+ dw IntroGrass3GFX
+ dw IntroGrass2GFX
; e549e
-Functione549e: ; e549e (39:549e)
+Intro_SetCGBPalUpdate: ; e549e (39:549e)
ld a, $1
ld [hCGBPalUpdate], a
ret
-Functione54a3: ; e54a3 (39:54a3)
+Intro_ClearBGPals: ; e54a3 (39:54a3)
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
+
ld hl, BGPals
- ld bc, $80
+ ld bc, 16 * 8
xor a
call ByteFill
+
pop af
ld [rSVBK], a
ld a, $1
@@ -1994,83 +2032,99 @@
call DelayFrame
ret
-Functione54c2: ; e54c2 (39:54c2)
+Intro_DecompressRequest2bpp_128Tiles: ; e54c2 (39:54c2)
ld a, [rSVBK]
push af
ld a, $6
ld [rSVBK], a
+
push de
- ld de, w6_d000
+ ld de, wDecompressScratch
call Decompress
pop hl
- ld de, w6_d000
- ld bc, $180
+
+ ld de, wDecompressScratch
+ lb bc, $01, $80
call Request2bpp
+
pop af
ld [rSVBK], a
ret
-Functione54de: ; e54de (39:54de)
+Intro_DecompressRequest2bpp_255Tiles: ; e54de (39:54de)
ld a, [rSVBK]
push af
ld a, $6
ld [rSVBK], a
+
push de
- ld de, w6_d000
+ ld de, wDecompressScratch
call Decompress
pop hl
- ld de, w6_d000
- ld bc, $1ff
+
+ ld de, wDecompressScratch
+ lb bc, $01, $ff
call Request2bpp
+
pop af
ld [rSVBK], a
ret
-Functione54fa: ; e54fa (39:54fa)
+Intro_DecompressRequest2bpp_64Tiles: ; e54fa (39:54fa)
ld a, [rSVBK]
push af
ld a, $6
ld [rSVBK], a
+
push de
- ld de, w6_d000
+ ld de, wDecompressScratch
call Decompress
pop hl
- ld de, w6_d000
- ld bc, $140
+
+ ld de, wDecompressScratch
+ lb bc, $01, $40
call Request2bpp
+
pop af
ld [rSVBK], a
ret
-Functione5516: ; e5516 (39:5516)
+Intro_ResetLYOverrides: ; e5516 (39:5516)
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
+
ld hl, LYOverrides
- ld bc, $90
+ ld bc, LYOverridesEnd - LYOverrides
xor a
call ByteFill
+
pop af
ld [rSVBK], a
ld a, $43
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ret
-Functione552f: ; e552f (39:552f)
+Intro_PerspectiveScrollBG: ; e552f (39:552f)
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
- ld a, [wcf64]
+ ; Scroll the grass every frame.
+ ; Scroll the trees every other frame and at half speed.
+ ; This creates an illusion of perspective.
+ ld a, [wIntroSceneFrameCounter]
and $1
- jr z, .asm_e5548
+ jr z, .skip
+ ; trees in the back
ld hl, LYOverrides
ld a, [hl]
inc a
ld bc, $5f
call ByteFill
-.asm_e5548
+.skip
+ ; grass in the front
ld hl, LYOverrides + $5f
ld a, [hl]
rept 2
@@ -2109,62 +2163,77 @@
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 0, 4, 5
RGB 1, 8, 5
RGB 4, 12, 9
RGB 24, 12, 9
+
RGB 0, 4, 5
RGB 9, 6, 8
RGB 8, 16, 5
RGB 5, 10, 4
+
RGB 31, 31, 31
RGB 9, 6, 8
RGB 18, 9, 9
RGB 13, 8, 9
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 31, 31, 31
RGB 2, 5, 22
RGB 1, 5, 12
+
RGB 31, 31, 31
RGB 31, 10, 25
RGB 31, 21, 0
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 21, 31
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
@@ -2207,62 +2276,77 @@
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 10, 0, 10
RGB 19, 0, 19
RGB 31, 0, 31
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
@@ -2285,62 +2369,77 @@
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
+
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
+
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
+
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
+
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
+
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
+
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
+
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
@@ -2363,62 +2462,77 @@
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 24, 12, 9
RGB 31, 31, 31
RGB 8, 9, 31
RGB 0, 0, 0
+
RGB 24, 12, 9
RGB 12, 20, 31
RGB 19, 8, 31
RGB 0, 0, 0
+
RGB 12, 20, 31
RGB 8, 9, 31
RGB 19, 8, 31
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 12, 20, 31
RGB 8, 9, 31
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
@@ -2453,62 +2567,77 @@
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 24, 12, 9
RGB 31, 31, 31
RGB 8, 9, 31
RGB 0, 0, 0
+
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
+
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
+
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
+
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
+
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
+
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
+
RGB 31, 31, 31
RGB 31, 31, 31
RGB 12, 0, 31
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 21, 9, 0
RGB 21, 9, 0
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
@@ -2518,14 +2647,12 @@
INCBIN "gfx/intro/unown_back.2bpp.lz"
; e799d
-GFX_e799d: ; e799d
-INCBIN "gfx/unknown/0e799d.2bpp"
-GFX_e79dd: ; e79dd
-INCBIN "gfx/unknown/0e79dd.2bpp"
-GFX_e7a1d: ; e7a1d
-INCBIN "gfx/unknown/0e7a1d.2bpp"
-
-GFX_e7a5d: ; e7a5d
-INCBIN "gfx/unknown/0e7a5d.2bpp"
-
+IntroGrass1GFX: ; e799d
+INCBIN "gfx/intro/grass1.2bpp"
+IntroGrass2GFX: ; e79dd
+INCBIN "gfx/intro/grass2.2bpp"
+IntroGrass3GFX: ; e7a1d
+INCBIN "gfx/intro/grass3.2bpp"
+IntroGrass4GFX: ; e7a5d
+INCBIN "gfx/intro/grass4.2bpp"
--- a/engine/debug.asm
+++ b/engine/debug.asm
@@ -395,7 +395,7 @@
hlcoord 4, 1
call PlaceString
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
hlcoord 12, 3
call _PrepMonFrontpic
ld de, VTiles2 tile $31
@@ -425,7 +425,7 @@
.asm_81b7a
ld a, [wd265]
ld [TrainerClass], a
- callab Function3957b
+ callab GetTrainerAttributes
ld de, StringBuffer1
hlcoord 4, 1
call PlaceString
@@ -542,7 +542,7 @@
ret
.asm_81c69
- ld hl, wcda9
+ ld hl, wSGBPals
ld a, $1
ld [hli], a
ld a, $ff
@@ -562,7 +562,7 @@
ld [hli], a
endr
ld [hl], a
- ld hl, wcda9
+ ld hl, wSGBPals
call Function81f0c
hlcoord 10, 2
ld de, wc608
@@ -828,7 +828,7 @@
ld [wd265], a
predef GetTMHMMove
ld a, [wd265]
- ld [wd262], a
+ ld [wPutativeTMHMMove], a
call GetMoveName
hlcoord 10, 12
call PlaceString
@@ -1149,7 +1149,7 @@
ld [hMapAnims], a
call ClearSprites
call OverworldTextModeSwitch
- call Function3200
+ call WaitBGMap2
xor a
ld [hBGMapMode], a
ld de, DebugColorTestGFX + $10
@@ -1184,7 +1184,7 @@
call Function821d2
call Function821f4
call Function8220f
- call Function3200
+ call WaitBGMap2
ld [wJumptableIndex], a
ld a, $40
ld [hWY], a
@@ -1355,7 +1355,7 @@
and 3
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -1365,7 +1365,7 @@
jp [hl]
; 82301
-.jumptable: ; 82301
+.dw: ; 82301
dw Function82309
dw Function82339
dw Function8234b
--- a/engine/decorations.asm
+++ b/engine/decorations.asm
@@ -6,21 +6,21 @@
ret
_KrisDecorationMenu: ; 0x2675c
- ld a, [wcf76]
+ ld a, [wWhichIndexSet]
push af
ld hl, .MenuDataHeader
call LoadMenuDataHeader
xor a
- ld [wd1ee], a
+ ld [Buffer5], a
ld a, $1
- ld [wd1ef], a
+ ld [Buffer6], a
.top_loop
- ld a, [wd1ef]
+ ld a, [Buffer6]
ld [wMenuCursorBuffer], a
call .FindCategoriesWithOwnedDecos
call DoNthMenu
- ld a, [MenuSelection2]
- ld [wd1ef], a
+ ld a, [wMenuCursorY]
+ ld [Buffer6], a
jr c, .exit_menu
ld a, [MenuSelection]
ld hl, .pointers
@@ -30,8 +30,8 @@
.exit_menu
call ExitMenu
pop af
- ld [wcf76], a
- ld a, [wd1ee]
+ ld [wWhichIndexSet], a
+ ld a, [Buffer5]
ld c, a
ret
; 0x2679a
@@ -74,7 +74,7 @@
.FindCategoriesWithOwnedDecos: ; 26806
xor a
- ld [wcf76], a
+ ld [wWhichIndexSet], a
call .ClearStringBuffer2
call .FindOwndDecos
ld a, 7
@@ -104,7 +104,7 @@
ret
.FindOwndDecos: ; 2683a (9:683a)
- ld hl, .jumptable
+ ld hl, .dw
.loop
ld a, [hli]
ld e, a
@@ -127,7 +127,7 @@
ret
; 26855 (9:6855)
-.jumptable: ; 26855
+.dw: ; 26855
dwb FindOwnedBeds, 0 ; bed
dwb FindOwnedCarpets, 1 ; carpet
dwb FindOwnedPlants, 2 ; plant
@@ -207,7 +207,7 @@
FindOwnedBeds: ; 268bd
ld hl, .beds
- ld c, DECO_BEDS
+ ld c, BEDS
jp FindOwnedDecosInCategory
; 268c5
@@ -228,7 +228,7 @@
FindOwnedCarpets: ; 268d2
ld hl, .carpets
- ld c, DECO_CARPETS
+ ld c, CARPETS
jp FindOwnedDecosInCategory
; 268da
@@ -249,7 +249,7 @@
FindOwnedPlants: ; 268e7
ld hl, .plants
- ld c, DECO_0B
+ ld c, PLANTS
jp FindOwnedDecosInCategory
; 268ef
@@ -269,7 +269,7 @@
FindOwnedPosters: ; 268fb
ld hl, .posters
- ld c, DECO_POSTERS
+ ld c, POSTERS
jp FindOwnedDecosInCategory
; 26903
@@ -290,7 +290,7 @@
FindOwnedConsoles: ; 26910
ld hl, .consoles
- ld c, DECO_CONSOLES
+ ld c, CONSOLES
jp FindOwnedDecosInCategory
; 26918
@@ -311,7 +311,7 @@
FindOwnedOrnaments: ; 26925
ld hl, .ornaments
- ld c, DECO_DOLLS
+ ld c, DOLLS
jp FindOwnedDecosInCategory
; 2692d
@@ -351,7 +351,7 @@
FindOwnedBigDolls: ; 2694d
ld hl, .big_dolls
- ld c, DECO_BIG_DOLLS
+ ld c, BIG_DOLLS
jp FindOwnedDecosInCategory
; 26955
@@ -374,7 +374,7 @@
cp 8
jr nc, .beyond_eight
xor a
- ld [wcf76], a
+ ld [wWhichIndexSet], a
ld hl, .NonscrollingMenuDataHeader
call LoadMenuDataHeader
call DoNthMenu
@@ -400,8 +400,8 @@
call InitScrollingMenu
xor a
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
- ld a, [wcf73]
+ call ScrollingMenu
+ ld a, [wMenuJoypad]
cp 2
jr z, .no_action_2
call DoDecorationAction2
@@ -803,7 +803,7 @@
call DecoAction_SetItUp
jr c, .failed
ld a, 1
- ld [wd1ee], a
+ ld [Buffer5], a
pop hl
ld a, [MenuSelection]
ld [hl], a
@@ -865,7 +865,7 @@
jr z, .nothingthere
; Put it away.
ld a, $1
- ld [wd1ee], a
+ ld [Buffer5], a
ld a, [Buffer1]
ld [MenuSelection], a
ld hl, StringBuffer3
@@ -889,7 +889,7 @@
call DecoAction_SetItUp_Ornament
jr c, .cancel
ld a, $1
- ld [wd1ee], a
+ ld [Buffer5], a
jr DecoAction_FinishUp_Ornament
.cancel
@@ -981,7 +981,7 @@
ld hl, StringBuffer3
call GetDecorationName
ld a, $1
- ld [wd1ee], a
+ ld [Buffer5], a
xor a
ld [wd1ec], a
ld hl, DecoText_PutAwayTheDeco
@@ -1009,7 +1009,7 @@
call ExitMenu
call CopyMenuData2
jr c, .nope
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp 3
jr z, .nope
ld [Buffer2], a
@@ -1244,11 +1244,11 @@
; 26f91
DecorationDesc_TownMapPoster: ; 0x26f91
- loadfont
+ opentext
writetext .TownMapText
- closetext
+ waitbutton
special Special_TownMap
- loadmovesprites
+ closetext
end
; 0x26f9b
--- a/engine/dummy_game.asm
+++ b/engine/dummy_game.asm
@@ -1,22 +1,22 @@
_DummyGame: ; e1e5b (38:5e5b)
- call Functione1e67
+ call .LoadGFXAndPals
call DelayFrame
-.asm_e1e61
- call Functione1ebb
- jr nc, .asm_e1e61
+.loop
+ call .JumptableLoop
+ jr nc, .loop
ret
-Functione1e67: ; e1e67 (38:5e67)
+.LoadGFXAndPals
call DisableLCD
ld b, SCGB_08
call GetSGBLayout
- callab Function8cf53
+ callab ClearSpriteAnims
ld hl, LZ_e2221
ld de, VTiles2 tile $00
call Decompress
ld hl, Unknown_e00ed
ld de, VTiles0 tile $00
- ld bc, $40
+ ld bc, 4 tiles
ld a, BANK(Unknown_e00ed)
call FarCopyBytes
ld a, $8
@@ -39,406 +39,400 @@
ld a, $e4
call DmgToCgbBGPals
ld a, $e0
- call Functioncf8
+ call DmgToCgbObjPal0
ret
-Functione1ebb: ; e1ebb (38:5ebb)
+.JumptableLoop
ld a, [wJumptableIndex]
bit 7, a
- jr nz, .asm_e1ed0
- call Functione1ed2
- callab Function8cf69
+ jr nz, .quit
+ call .ExecuteJumptable
+ callab PlaySpriteAnimations
call DelayFrame
and a
ret
-.asm_e1ed0
+
+.quit
scf
ret
-Functione1ed2: ; e1ed2 (38:5ed2)
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, Jumptable_e1ee1
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; e1ee1 (38:5ee1)
+.ExecuteJumptable
+ jumptable .Jumptable, wJumptableIndex
-Jumptable_e1ee1: ; e1ee1
- dw Functione1ef3
- dw Functione1efb
- dw Functione1f1c
- dw Functione1f42
- dw Functione1f61
- dw Functione1f8b
- dw Functione1fba
- dw Functione1fcc
- dw Functione2000
-; e1ef3
+.Jumptable
+ dw .RestartGame
+ dw .ResetBoard
+ dw .InitBoardTilemapAndCursorObject
+ dw .CheckTriesRemaining
+ dw .PickCard1
+ dw .PickCard2
+ dw .DelayPickAgain
+ dw .RevealAll
+ dw .AskPlayAgain
-Functione1ef3: ; e1ef3
- call Functione2152
+.RestartGame
+ call DummyGame_InitStrings
ld hl, wJumptableIndex
inc [hl]
ret
-; e1efb
-Functione1efb: ; e1efb
- call Functione00ed
- jr nc, .asm_e1f06
+.ResetBoard
+ call ret_e00ed
+ jr nc, .proceed
ld hl, wJumptableIndex
set 7, [hl]
ret
-.asm_e1f06
- call Functione209d
+.proceed
+ call DummyGame_InitBoard
ld hl, wJumptableIndex
inc [hl]
xor a
- ld [wc708], a
- ld hl, wc703
+ ld [wDummyGameCounter], a
+ ld hl, wDummyGameLastMatches
rept 4
ld [hli], a
endr
ld [hl], a
- ld [wc709], a
-
-Functione1f1c: ; e1f1c
- ld hl, wc708
+ ld [wDummyGameNumCardsMatched], a
+.InitBoardTilemapAndCursorObject
+ ld hl, wDummyGameCounter
ld a, [hl]
- cp $2d
- jr nc, .asm_e1f30
+ cp 45
+ jr nc, .spawn_object
inc [hl]
- call Functione2183
+ call DummyGame_Card2Coord
xor a
- ld [wc6fd], a
- call Functione2128
+ ld [wDummyGameLastCardPicked], a
+ call DummyGame_PlaceCard
ret
-.asm_e1f30
- ld de, $341c
- ld a, $c
+.spawn_object
+ depixel 6, 3, 4, 4
+ ld a, SPRITE_ANIM_INDEX_0C
call _InitSpriteAnimStruct
- ld a, $5
- ld [wc702], a
+ ld a, 5
+ ld [wDummyGameNumberTriesRemaining], a
ld hl, wJumptableIndex
inc [hl]
ret
-; e1f42
-Functione1f42: ; e1f42
- ld a, [wc702]
+.CheckTriesRemaining
+ ld a, [wDummyGameNumberTriesRemaining]
hlcoord 17, 0
- add $f6
+ add "0"
ld [hl], a
- ld hl, wc702
+ ld hl, wDummyGameNumberTriesRemaining
ld a, [hl]
and a
- jr nz, .asm_e1f58
+ jr nz, .next_try
ld a, $7
ld [wJumptableIndex], a
ret
-.asm_e1f58
+.next_try
dec [hl]
xor a
ld [wcf64], a
ld hl, wJumptableIndex
inc [hl]
-
-Functione1f61: ; e1f61
+.PickCard1
ld a, [wcf64]
and a
ret z
dec a
ld e, a
- ld d, $0
- ld hl, wc6d0
+ ld d, 0
+ ld hl, wDummyGameCards
add hl, de
ld a, [hl]
- cp $ff
+ cp -1
ret z
- ld [wc6fd], a
- ld [wPlayerMinimized], a
+ ld [wDummyGameLastCardPicked], a
+ ld [wDummyGameCard1], a
ld a, e
- ld [EnemyScreens], a
- call Functione2183
- call Functione2128
+ ld [wDummyGameCard1Location], a
+ call DummyGame_Card2Coord
+ call DummyGame_PlaceCard
xor a
ld [wcf64], a
ld hl, wJumptableIndex
inc [hl]
ret
-; e1f8b
-Functione1f8b: ; e1f8b
+.PickCard2
ld a, [wcf64]
and a
ret z
dec a
- ld hl, EnemyScreens
+ ld hl, wDummyGameCard1Location
cp [hl]
ret z
ld e, a
- ld d, $0
- ld hl, wc6d0
+ ld d, 0
+ ld hl, wDummyGameCards
add hl, de
ld a, [hl]
- cp $ff
+ cp -1
ret z
- ld [wc6fd], a
- ld [PlayerScreens], a
+ ld [wDummyGameLastCardPicked], a
+ ld [wDummyGameCard2], a
ld a, e
- ld [wc701], a
- call Functione2183
- call Functione2128
- ld a, $40
- ld [wc708], a
+ ld [wDummyGameCard2Location], a
+ call DummyGame_Card2Coord
+ call DummyGame_PlaceCard
+ ld a, 64
+ ld [wDummyGameCounter], a
ld hl, wJumptableIndex
inc [hl]
-
-Functione1fba: ; e1fba
- ld hl, wc708
+.DelayPickAgain
+ ld hl, wDummyGameCounter
ld a, [hl]
and a
- jr z, .asm_e1fc3
+ jr z, .PickAgain
dec [hl]
ret
-.asm_e1fc3
- call Functione2010
+.PickAgain
+ call DummyGame_CheckMatch
ld a, $3
ld [wJumptableIndex], a
ret
-; e1fcc
-Functione1fcc: ; e1fcc
+.RevealAll
ld a, [hJoypadPressed]
and A_BUTTON
ret z
xor a
- ld [wc708], a
-.asm_e1fd5
- ld hl, wc708
+ ld [wDummyGameCounter], a
+.RevelationLoop
+ ld hl, wDummyGameCounter
ld a, [hl]
- cp $2d
- jr nc, .asm_e1ff9
+ cp 45
+ jr nc, .finish_round
inc [hl]
push af
- call Functione2183
+ call DummyGame_Card2Coord
pop af
push hl
ld e, a
ld d, $0
- ld hl, wc6d0
+ ld hl, wDummyGameCards
add hl, de
ld a, [hl]
pop hl
- cp $ff
- jr z, .asm_e1fd5
- ld [wc6fd], a
- call Functione2128
- jr .asm_e1fd5
+ cp -1
+ jr z, .RevelationLoop
+ ld [wDummyGameLastCardPicked], a
+ call DummyGame_PlaceCard
+ jr .RevelationLoop
-.asm_e1ff9
+.finish_round
call WaitPressAorB_BlinkCursor
ld hl, wJumptableIndex
inc [hl]
-
-Functione2000: ; e2000
- call Functione00ed
- jr nc, .asm_e200b
+.AskPlayAgain
+ call ret_e00ed
+ jr nc, .restart
ld hl, wJumptableIndex
set 7, [hl]
ret
-.asm_e200b
+.restart
xor a
ld [wJumptableIndex], a
ret
+
; e2010
-Functione2010: ; e2010
- ld hl, wPlayerMinimized
+DummyGame_CheckMatch: ; e2010
+ ld hl, wDummyGameCard1
ld a, [hli]
cp [hl]
- jr nz, .asm_e2066
- ld a, [EnemyScreens]
- call Functione2183
- call Functione2142
- ld a, [wc701]
- call Functione2183
- call Functione2142
- ld a, [EnemyScreens]
+ jr nz, .no_match
+
+ ld a, [wDummyGameCard1Location]
+ call DummyGame_Card2Coord
+ call DummyGame_DeleteCard
+
+ ld a, [wDummyGameCard2Location]
+ call DummyGame_Card2Coord
+ call DummyGame_DeleteCard
+
+ ld a, [wDummyGameCard1Location]
ld e, a
ld d, $0
- ld hl, wc6d0
+ ld hl, wDummyGameCards
add hl, de
- ld [hl], $ff
- ld a, [wc701]
+ ld [hl], -1
+
+ ld a, [wDummyGameCard2Location]
ld e, a
- ld d, $0
- ld hl, wc6d0
+ ld d, 0
+ ld hl, wDummyGameCards
add hl, de
- ld [hl], $ff
- ld hl, wc703
-.asm_e2044
+ ld [hl], -1
+
+ ld hl, wDummyGameLastMatches
+.find_empty_slot
ld a, [hli]
and a
- jr nz, .asm_e2044
+ jr nz, .find_empty_slot
dec hl
- ld a, [wPlayerMinimized]
+ ld a, [wDummyGameCard1]
ld [hl], a
- ld [wc6fd], a
- ld hl, wc709
+ ld [wDummyGameLastCardPicked], a
+ ld hl, wDummyGameNumCardsMatched
ld e, [hl]
-rept 2
inc [hl]
-endr
- ld d, $0
+ inc [hl]
+ ld d, 0
hlcoord 5, 0
add hl, de
- call Functione2128
- ld hl, UnknownText_0xe2083
+ call DummyGame_PlaceCard
+ ld hl, .VictoryText
call PrintText
ret
-.asm_e2066
+.no_match
xor a
- ld [wc6fd], a
- ld a, [EnemyScreens]
- call Functione2183
- call Functione2128
- ld a, [wc701]
- call Functione2183
- call Functione2128
- ld hl, UnknownText_0xe2098
+ ld [wDummyGameLastCardPicked], a
+
+ ld a, [wDummyGameCard1Location]
+ call DummyGame_Card2Coord
+ call DummyGame_PlaceCard
+
+ ld a, [wDummyGameCard2Location]
+ call DummyGame_Card2Coord
+ call DummyGame_PlaceCard
+
+ ld hl, DummyGameText_Darn
call PrintText
ret
-; e2083
-UnknownText_0xe2083: ; 0xe2083
+.VictoryText
start_asm
-; 0xe2084
-
-Functione2084: ; e2084
push bc
hlcoord 2, 13
- call Functione2128
- ld hl, UnknownText_0xe2093
+ call DummyGame_PlaceCard
+ ld hl, DummyGameText_Yeah
pop bc
-rept 3
inc bc
-endr
+ inc bc
+ inc bc
ret
+
; e2093
-UnknownText_0xe2093: ; 0xe2093
+DummyGameText_Yeah: ; 0xe2093
; , yeah!
text_jump UnknownText_0x1c1a5b
db "@"
; 0xe2098
-UnknownText_0xe2098: ; 0xe2098
+DummyGameText_Darn: ; 0xe2098
; Darn…
text_jump UnknownText_0x1c1a65
db "@"
; 0xe209d
-Functione209d: ; e209d
- ld hl, wc6d0
- ld bc, $2d
+DummyGame_InitBoard: ; e209d
+ ld hl, wDummyGameCards
+ ld bc, wDummyGameCardsEnd - wDummyGameCards
xor a
call ByteFill
- call Functione2101
- ld c, $2
+ call DummyGame_GetDistributionOfTiles
+
+ ld c, 2
ld b, [hl]
- call Functione20e5
- ld c, $8
+ call DummyGame_SampleTilePlacement
+
+ ld c, 8
ld b, [hl]
- call Functione20e5
- ld c, $4
+ call DummyGame_SampleTilePlacement
+
+ ld c, 4
ld b, [hl]
- call Functione20e5
- ld c, $7
+ call DummyGame_SampleTilePlacement
+
+ ld c, 7
ld b, [hl]
- call Functione20e5
- ld c, $3
+ call DummyGame_SampleTilePlacement
+
+ ld c, 3
ld b, [hl]
- call Functione20e5
- ld c, $6
+ call DummyGame_SampleTilePlacement
+
+ ld c, 6
ld b, [hl]
- call Functione20e5
- ld c, $1
+ call DummyGame_SampleTilePlacement
+
+ ld c, 1
ld b, [hl]
- call Functione20e5
- ld c, $5
- ld hl, wc6d0
- ld b, $2d
-.asm_e20db
+ call DummyGame_SampleTilePlacement
+
+ ld c, 5
+ ld hl, wDummyGameCards
+ ld b, wDummyGameCardsEnd - wDummyGameCards
+.loop
ld a, [hl]
and a
- jr nz, .asm_e20e0
+ jr nz, .no_load
ld [hl], c
-
-.asm_e20e0
+.no_load
inc hl
dec b
- jr nz, .asm_e20db
+ jr nz, .loop
ret
+
; e20e5
-Functione20e5: ; e20e5
+DummyGame_SampleTilePlacement: ; e20e5
push hl
- ld de, wc6d0
-.asm_e20e9
+ ld de, wDummyGameCards
+.loop
call Random
- and $3f
- cp $2d
- jr nc, .asm_e20e9
+ and %00111111
+ cp 45
+ jr nc, .loop
ld l, a
- ld h, $0
+ ld h, 0
add hl, de
ld a, [hl]
and a
- jr nz, .asm_e20e9
+ jr nz, .loop
ld [hl], c
dec b
- jr nz, .asm_e20e9
+ jr nz, .loop
pop hl
inc hl
ret
+
; e2101
-Functione2101: ; e2101
- ld a, [MenuSelection2]
+DummyGame_GetDistributionOfTiles: ; e2101
+ ld a, [wMenuCursorY]
dec a
ld l, a
ld h, 0
-rept 3
add hl, hl
-endr
- ld de, Unknown_e2110
+ add hl, hl
+ add hl, hl
+ ld de, .distributions
add hl, de
ret
-; e2110
-Unknown_e2110: ; e2110
+.distributions
db $02, $03, $06, $06, $06, $08, $08, $06
db $02, $02, $04, $06, $06, $08, $08, $09
db $02, $02, $02, $04, $07, $08, $08, $0c
; e2128
-Functione2128: ; e2128
- ld a, [wc6fd]
+DummyGame_PlaceCard: ; e2128
+ ld a, [wDummyGameLastCardPicked]
sla a
sla a
- add $4
+ add 4
ld [hli], a
inc a
ld [hld], a
@@ -451,9 +445,10 @@
ld c, 3
call DelayFrames
ret
+
; e2142
-Functione2142: ; e2142
+DummyGame_DeleteCard: ; e2142
ld a, $1
ld [hli], a
ld [hld], a
@@ -464,60 +459,61 @@
ld c, 3
call DelayFrames
ret
+
; e2152
-Functione2152: ; e2152
+DummyGame_InitStrings: ; e2152
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, $1
call ByteFill
hlcoord 0, 0
- ld de, String_e2177
+ ld de, .japstr1
call PlaceString
hlcoord 15, 0
- ld de, String_e217d
+ ld de, .japstr2
call PlaceString
- ld hl, UnknownText_0xe2176
+ ld hl, .dummy_text
call PrintText
ret
-; e2176
-UnknownText_0xe2176: ; 0xe2176
+.dummy_text
db "@"
-; 0xe2177
-
-String_e2177: db "とったもの@"
-String_e217d: db "あと かい@"
+.japstr1
+ db "とったもの@"
+.japstr2
+ db "あと かい@"
; e2183
-Functione2183: ; e2183
- ld d, $0
-.asm_e2185
- sub $9
- jr c, .asm_e218c
+DummyGame_Card2Coord: ; e2183
+ ld d, 0
+.find_row
+ sub 9
+ jr c, .found_row
inc d
- jr .asm_e2185
+ jr .find_row
-.asm_e218c
- add $9
+.found_row
+ add 9
ld e, a
hlcoord 1, 2
- ld bc, $28
-.asm_e2195
+ ld bc, 2 * SCREEN_WIDTH
+.loop2
ld a, d
and a
- jr z, .asm_e219d
+ jr z, .done
add hl, bc
dec d
- jr .asm_e2195
+ jr .loop2
-.asm_e219d
+.done
sla e
add hl, de
ret
+
; e21a1
-Functione21a1: ; e21a1 (38:61a1)
+DummyGame_InterpretJoypad_AnimateCursor: ; e21a1 (38:61a1)
ld a, [wJumptableIndex]
cp $7
jr nc, .quit
@@ -541,13 +537,13 @@
ret
.quit
- ld hl, 0
+ ld hl, SPRITEANIMSTRUCT_INDEX
add hl, bc
ld [hl], $0
ret
.pressed_a
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
inc a
@@ -555,60 +551,61 @@
ret
.pressed_left
- ld hl, $6
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld a, [hl]
and a
ret z
- sub $10
+ sub 1 tiles
ld [hl], a
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
dec [hl]
ret
.pressed_right
- ld hl, $6
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld a, [hl]
- cp $80
+ cp (9 - 1) tiles
ret z
- add $10
+ add 1 tiles
ld [hl], a
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
inc [hl]
ret
.pressed_up
- ld hl, $7
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
and a
ret z
- sub $10
+ sub 1 tiles
ld [hl], a
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
- sub $9
+ sub 9
ld [hl], a
ret
.pressed_down
- ld hl, $7
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
- cp $40
+ cp (5 - 1) tiles
ret z
- add $10
+ add 1 tiles
ld [hl], a
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
- add $9
+ add 9
ld [hl], a
ret
+
; e2221 (38:6221)
LZ_e2221: ; e2221
--- a/engine/engine_flags.asm
+++ b/engine/engine_flags.asm
@@ -37,9 +37,8 @@
.read
ld hl, EngineFlags
; location
-rept 2
add hl, de
-endr
+ add hl, de
; bit
add hl, de
@@ -99,8 +98,8 @@
engine_flag wPokegearFlags, 7 ; on/off
; wDaycareMan, 7 ; daycare 1 on
- engine_flag wDaycareMan, 6 ; monster 1 and 2 are compatible
- ; wDaycareMan, 5 ; egg is ready
+ engine_flag wDaycareMan, 6 ; egg is ready
+ ; wDaycareMan, 5 ; monster 1 and 2 are compatible
engine_flag wDaycareMan, 0 ; monster 1 in daycare
; wDaycareLady, 7 = daycare 2 on
@@ -118,7 +117,7 @@
engine_flag StatusFlags, 6 ; credits skip
engine_flag StatusFlags, 7 ; bug contest on ; $10
engine_flag StatusFlags2, 2 ; bug contest timer
- engine_flag StatusFlags2, 1 ; ???
+ engine_flag StatusFlags2, 1 ; safari zone?
engine_flag StatusFlags2, 0 ; rockets in radio tower
engine_flag StatusFlags2, 4 ; bike shop call enabled (1024 bike steps reqd)
engine_flag StatusFlags2, 5 ; give pokerus
--- a/engine/events.asm
+++ b/engine/events.asm
@@ -1,6 +1,5 @@
INCLUDE "includes.asm"
-
SECTION "Events", ROMX, BANK[EVENTS]
OverworldLoop:: ; 966b0
@@ -23,7 +22,6 @@
dw .done
; 966cb
-
DisableEvents: ; 966cb
xor a
ld [ScriptFlags3], a
@@ -114,7 +112,6 @@
ret
; 96724
-
StartMap: ; 96724
xor a
ld [ScriptVar], a
@@ -121,14 +118,10 @@
xor a
ld [ScriptRunning], a
ld hl, MapStatus
- ld bc, $3e ; 62
+ ld bc, wMapStatusEnd - MapStatus
call ByteFill
callba InitCallReceiveDelay
call ClearJoypad
- ; fallthrough
-; 9673e
-
-
EnterMap: ; 9673e
xor a
ld [wd453], a
@@ -157,17 +150,15 @@
ret
; 9676d
-
-Function9676d: ; 9676d
+UnusedWait30Frames: ; 9676d
ld c, 30
call DelayFrames
ret
; 96773
-
HandleMap: ; 96773
call ResetOverworldDelay
- call Function967c1
+ call HandleMapTimeAndJoypad
callba HandleCmdQueue ; no need to farcall
call MapEvents
@@ -183,7 +174,6 @@
ret
; 96795
-
MapEvents: ; 96795
ld a, [MapEventStatus]
ld hl, .jumps
@@ -206,7 +196,6 @@
ret
; 967af
-
MaxOverworldDelay: ; 967af
db 2
; 967b0
@@ -226,7 +215,7 @@
ret
; 967c1
-Function967c1: ; 967c1
+HandleMapTimeAndJoypad: ; 967c1
ld a, [MapEventStatus]
cp 1 ; no events
ret z
@@ -239,14 +228,14 @@
Function967d1: ; 967d1
callba Function576a ; engine/map_objects.asm
- callba Functiond497
- call Function96812
+ callba _HandlePlayerStep
+ call _CheckObjectEnteringVisibleRange
ret
; 967e1
Function967e1: ; 967e1
callba _UpdateSprites
- callba Functiond4d2
+ callba ScrollScreen
callba PlaceMapNameSign
ret
; 967f4
@@ -253,14 +242,13 @@
Function967f4: ; 967f4
ld a, [wPlayerStepFlags]
- bit 5, a
+ bit 5, a ; in the middle of step
jr z, .events
- bit 6, a
+ bit 6, a ; stopping step
jr z, .noevents
- bit 4, a
+ bit 4, a ; in midair
jr nz, .noevents
call EnableEvents
-
.events
ld a, 0 ; events
ld [MapEventStatus], a
@@ -272,18 +260,15 @@
ret
; 96812
-Function96812: ; 96812
+_CheckObjectEnteringVisibleRange: ; 96812
ld hl, wPlayerStepFlags
bit 6, [hl]
ret z
-
- callba Function81ca
+ callba CheckObjectEnteringVisibleRange
ret
; 9681f
-
PlayerEvents: ; 9681f
-
xor a
; If there's already a player event, don't interrupt it.
ld a, [ScriptRunning]
@@ -313,7 +298,6 @@
xor a
ret
-
.ok
push af
callba EnableScriptMode
@@ -335,7 +319,6 @@
ret
; 96867
-
CheckTrainerBattle3: ; 96867
nop
nop
@@ -351,7 +334,6 @@
ret
; 96874
-
CheckTileEvent: ; 96874
; Check for warps, tile triggers or wild battles.
@@ -418,7 +400,6 @@
ret
; 968c7
-
CheckWildEncounterCooldown:: ; 968c7
ld hl, wWildEncounterCooldown
ld a, [hl]
@@ -491,11 +472,11 @@
bit 3, [hl]
jr z, .nope
- ld hl, ScriptDelay + 2
+ ld hl, wPriorityScriptAddr
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [ScriptDelay + 1]
+ ld a, [wPriorityScriptBank]
call CallScript
scf
ret
@@ -543,7 +524,6 @@
ret
; 96974
-
OWPlayerInput: ; 96974
call PlayerMovement
@@ -573,7 +553,6 @@
ret
; 96999
-
CheckAPressOW: ; 96999
ld a, [hJoyPressed]
and A_BUTTON
@@ -588,7 +567,6 @@
ret
; 969ac
-
PlayTalkObject: ; 969ac
push de
ld de, SFX_READ_TEXT_2
@@ -597,7 +575,6 @@
ret
; 969b5
-
TryObjectEvent: ; 969b5
callba CheckFacingObject
jr c, .IsObject
@@ -641,7 +618,7 @@
.pointers
dbw PERSONTYPE_SCRIPT, .script
- dbw PERSONTYPE_ITEMFRAGMENT, .itemfragment
+ dbw PERSONTYPE_ITEMBALL, .itemball
dbw PERSONTYPE_TRAINER, .trainer
; the remaining four are dummy events
dbw PERSONTYPE_3, .three
@@ -662,7 +639,7 @@
ret
; 96a12
-.itemfragment ; 96a12
+.itemball ; 96a12
ld hl, MAPOBJECT_SCRIPT_POINTER
add hl, bc
ld a, [hli]
@@ -704,7 +681,6 @@
ret
; 96a38
-
TryReadSign: ; 96a38
call CheckFacingSign
jr c, .IsSign
@@ -767,8 +743,8 @@
ld de, EngineBuffer1
ld bc, 3
call FarCopyBytes
- ld a, BANK(SignpostItemScript)
- ld hl, SignpostItemScript
+ ld a, BANK(HiddenItemScript)
+ ld hl, HiddenItemScript
call CallScript
scf
ret
@@ -795,9 +771,8 @@
push hl
call PlayTalkObject
pop hl
-rept 2
inc hl
-endr
+ inc hl
call GetMapScriptHeaderBank
call GetFarHalfword
call GetMapScriptHeaderBank
@@ -810,7 +785,6 @@
ret
; 96ad8
-
CheckSignFlag: ; 96ad8
ld hl, EngineBuffer4
ld a, [hli]
@@ -829,7 +803,6 @@
ret
; 96af0
-
PlayerMovement: ; 96af0
callba DoPlayerMovement
ld a, c
@@ -896,7 +869,6 @@
ret
; 96b30
-
CheckMenuOW: ; 96b30
xor a
ld [hMenuReturn], a
@@ -928,7 +900,6 @@
ret
; 96b58
-
StartMenuScript: ; 96b58
callasm StartMenu
jump StartMenuCallback
@@ -956,7 +927,6 @@
end
; 96b79
-
CountStep: ; 96b79
; Don't count steps in link communication rooms.
ld a, [wLinkMode]
@@ -1023,7 +993,6 @@
scf
ret
; 96bd3
-
.unreferenced: ; 96bd3
ld a, 7
--- a/engine/events_2.asm
+++ b/engine/events_2.asm
@@ -3,7 +3,7 @@
WarpToSpawnPoint:: ; 97c28
ld hl, StatusFlags2
- res 1, [hl] ; ??
+ res 1, [hl] ; safari zone?
res 2, [hl] ; bug contest
ret
; 97c30
@@ -142,9 +142,9 @@
; 97cf9
WildBattleScript: ; 97cf9
- battlecheck
+ randomwildmon
startbattle
- returnafterbattle
+ reloadmapafterbattle
end
; 97cfd
@@ -514,7 +514,7 @@
CmdQueue_Type4: ; 97ebc
call CmdQueueAnonymousJumptable
- ; anonymous jumptable
+ ; anonymous dw
dw .zero
dw .one
; 97ec3
@@ -560,7 +560,7 @@
CmdQueue_Type3: ; 97ef9
call CmdQueueAnonymousJumptable
- ; anonymous jumptable
+ ; anonymous dw
dw .zero
dw .one
dw .two
@@ -627,7 +627,7 @@
ld hl, OBJECT_MOVEMENTTYPE
add hl, de
ld a, [hl]
- cp STEP_TYPE_19
+ cp STEP_TYPE_SKYFALL_TOP
jr nz, .next
ld hl, OBJECT_NEXT_TILE
--- a/engine/events_3.asm
+++ b/engine/events_3.asm
@@ -55,7 +55,7 @@
ld [rWY], a
ld [hWY], a
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ret
; b8064
@@ -126,7 +126,7 @@
ld [rWY], a
ld [hWY], a
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ret
@@ -276,7 +276,7 @@
ret
; b8172
-CheckForSignpostItems: ; b8172
+CheckForHiddenItems: ; b8172
; Checks to see if there are hidden items on the screen that have not yet been found. If it finds one, returns carry.
call GetMapScriptHeaderBank
ld [Buffer1], a
--- a/engine/evolution_animation.asm
+++ b/engine/evolution_animation.asm
@@ -9,7 +9,7 @@
ld a, [BaseDexNo]
push af
- call _EvolutionAnimation
+ call .EvolutionAnimation
pop af
ld [BaseDexNo], a
@@ -21,7 +21,7 @@
pop de
pop hl
- ld a, [wd1ed]
+ ld a, [Buffer4]
and a
ret z
@@ -29,7 +29,7 @@
ret
; 4e607
-_EvolutionAnimation: ; 4e607
+.EvolutionAnimation: ; 4e607
ld a, $e4
ld [rOBP0], a
@@ -36,11 +36,11 @@
ld de, MUSIC_NONE
call PlayMusic
- callba Function8cf53
+ callba ClearSpriteAnims
- ld de, EvolutionGFX
+ ld de, .GFX
ld hl, VTiles0
- lb bc, BANK(EvolutionGFX), 8
+ lb bc, BANK(.GFX), 8
call Request2bpp
xor a
@@ -76,7 +76,7 @@
ld a, $1
ld [hBGMapMode], a
- call Function4e794
+ call .check_statused
jr c, .skip_cry
ld a, [Buffer1]
@@ -99,7 +99,7 @@
call .ReplaceFrontpic
xor a
- ld [wd1ed], a
+ ld [Buffer4], a
ld a, [Buffer2]
ld [PlayerHPPal], a
@@ -106,15 +106,15 @@
ld c, $0
call .GetSGBLayout
- call Function4e7a6
- callba Function8cf53
- call Function4e794
- jr c, .asm_4e6de
+ call .PlayEvolvedSFX
+ callba ClearSpriteAnims
+ call .check_statused
+ jr c, .no_anim
- ld a, [wc2c6]
+ ld a, [wBoxAlignment]
push af
ld a, $1
- ld [wc2c6], a
+ ld [wBoxAlignment], a
ld a, [CurPartySpecies]
push af
@@ -128,15 +128,15 @@
pop af
ld [CurPartySpecies], a
pop af
- ld [wc2c6], a
+ ld [wBoxAlignment], a
ret
-.asm_4e6de
+.no_anim
ret
.cancel_evo
ld a, $1
- ld [wd1ed], a
+ ld [Buffer4], a
ld a, [Buffer1]
ld [PlayerHPPal], a
@@ -143,9 +143,9 @@
ld c, $0
call .GetSGBLayout
- call Function4e7a6
- callba Function8cf53
- call Function4e794
+ call .PlayEvolvedSFX
+ callba ClearSpriteAnims
+ call .check_statused
ret c
ld a, [PlayerHPPal]
@@ -167,11 +167,11 @@
.LoadFrontpic: ; 4e711
call GetBaseData
ld a, $1
- ld [wc2c6], a
+ ld [wBoxAlignment], a
ld de, VTiles2
predef FrontpicPredef
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
ret
; 4e726
@@ -252,7 +252,7 @@
ret
.pressed_b
- ld a, [wd1e9]
+ ld a, [wForceEvolution]
and a
jr nz, .loop3
scf
@@ -259,7 +259,7 @@
ret
; 4e794
-Function4e794: ; 4e794
+.check_statused: ; 4e794
ld a, [CurPartyMon]
ld hl, PartyMon1Species
call GetPartyLocation
@@ -269,8 +269,8 @@
ret
; 4e7a6
-Function4e7a6: ; 4e7a6
- ld a, [wd1ed]
+.PlayEvolvedSFX: ; 4e7a6
+ ld a, [Buffer4]
and a
ret nz
ld de, SFX_EVOLVED
@@ -279,70 +279,70 @@
ld a, [hl]
push af
ld [hl], $0
-.loop
- call Function4e7cf
+.loop4
+ call .balls_of_light
jr nc, .done
- call Function4e80c
- jr .loop
+ call .AnimateBallsOfLight
+ jr .loop4
.done
- ld c, $20
-.loop2
- call Function4e80c
+ ld c, 32
+.loop5
+ call .AnimateBallsOfLight
dec c
- jr nz, .loop2
+ jr nz, .loop5
pop af
ld [wJumptableIndex], a
ret
; 4e7cf
-Function4e7cf: ; 4e7cf
+.balls_of_light: ; 4e7cf
ld hl, wJumptableIndex
ld a, [hl]
- cp $20
+ cp 32
ret nc
ld d, a
inc [hl]
and $1
- jr nz, .asm_4e7e6
+ jr nz, .done_balls
ld e, $0
- call Function4e7e8
+ call .GenerateBallOfLight
ld e, $10
- call Function4e7e8
+ call .GenerateBallOfLight
-.asm_4e7e6
+.done_balls
scf
ret
; 4e7e8
-Function4e7e8: ; 4e7e8
+.GenerateBallOfLight: ; 4e7e8
push de
- lb de, $48, $58
- ld a, $13
+ depixel 9, 11
+ ld a, SPRITE_ANIM_INDEX_13
call _InitSpriteAnimStruct
- ld hl, $b
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
ld a, [wJumptableIndex]
- and $e
+ and %1110
sla a
pop de
add e
ld [hl], a
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $0
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], $10
ret
; 4e80c
-Function4e80c: ; 4e80c
+.AnimateBallsOfLight: ; 4e80c
push bc
- callab Function8cf69
+ callab PlaySpriteAnimations
; a = (([hVBlankCounter] + 4) / 2) % NUM_PALETTES
ld a, [hVBlankCounter]
- and $e
+ and %1110
srl a
rept 2
inc a
@@ -351,7 +351,7 @@
ld b, a
ld hl, Sprites + 3 ; attributes
ld c, 40
-.loop
+.loop6
ld a, [hl]
or b
ld [hli], a
@@ -359,7 +359,7 @@
inc hl
endr
dec c
- jr nz, .loop
+ jr nz, .loop6
pop bc
call DelayFrame
ret
@@ -366,91 +366,6 @@
; 4e831
-EvolutionGFX:
+.GFX:
INCBIN "gfx/evo/bubble_large.2bpp"
INCBIN "gfx/evo/bubble.2bpp"
-
-Function4e881: ; 4e881
- call ClearBGPalettes
- call ClearTileMap
- call ClearSprites
- call DisableLCD
- call LoadStandardFont
- call LoadFontsBattleExtra
- hlbgcoord 0, 0
- ld bc, VBGMap1 - VBGMap0
- ld a, " "
- call ByteFill
- hlcoord 0, 0, AttrMap
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- xor a
- call ByteFill
- xor a
- ld [hSCY], a
- ld [hSCX], a
- call EnableLCD
- ld hl, UnknownText_0x4e8bd
- call PrintText
- call Function3200
- call SetPalettes
- ret
-; 4e8bd
-
-UnknownText_0x4e8bd: ; 0x4e8bd
- ; SAVING RECORD… DON'T TURN OFF!
- text_jump UnknownText_0x1bd39e
- db "@"
-; 0x4e8c2
-
-
-Function4e8c2: ; 4e8c2
- call ClearBGPalettes
- call ClearTileMap
- call ClearSprites
- call DisableLCD
- call LoadStandardFont
- call LoadFontsBattleExtra
- hlbgcoord 0, 0
- ld bc, VBGMap1 - VBGMap0
- ld a, " "
- call ByteFill
- hlcoord 0, 0, AttrMap
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- xor a
- call ByteFill
- ld hl, wd000
- ld c, $40
-.asm_4e8ee
- ld a, -1
- ld [hli], a
- ld a, " "
- ld [hli], a
- dec c
- jr nz, .asm_4e8ee
- xor a
- ld [hSCY], a
- ld [hSCX], a
- call EnableLCD
- call Function3200
- call SetPalettes
- ret
-; 4e906
-
-Function4e906: ; 4e906
- ld a, [rSVBK]
- push af
- ld a, $6
- ld [rSVBK], a
- ld hl, w6_d000
- ld bc, w6_d400 - w6_d000
- ld a, " "
- call ByteFill
- hlbgcoord 0, 0
- ld de, w6_d000
- ld b, $0
- ld c, $40
- call Request2bpp
- pop af
- ld [rSVBK], a
- ret
-; 4e929
--- a/engine/evolve.asm
+++ b/engine/evolve.asm
@@ -78,7 +78,7 @@
cp EVOLVE_ITEM
jp z, .item
- ld a, [wd1e9]
+ ld a, [wForceEvolution]
and a
jp nz, .dont_evolve_2
@@ -179,7 +179,7 @@
cp b
jp nz, .dont_evolve_3
- ld a, [wd1e9]
+ ld a, [wForceEvolution]
and a
jp z, .dont_evolve_3
ld a, [wLinkMode]
@@ -485,7 +485,7 @@
.learn
ld a, d
- ld [wd262], a
+ ld [wPutativeTMHMMove], a
ld [wd265], a
call GetMoveName
call CopyName1
--- a/engine/fruit_trees.asm
+++ b/engine/fruit_trees.asm
@@ -1,15 +1,15 @@
FruitTreeScript:: ; 44000
callasm GetCurTreeFruit
- loadfont
+ opentext
copybytetovar CurFruit
itemtotext $0, $0
writetext FruitBearingTreeText
- keeptextopen
+ buttonsound
callasm TryResetFruitTrees
callasm CheckFruitTree
iffalse .fruit
writetext NothingHereText
- closetext
+ waitbutton
jump .end
.fruit
@@ -17,7 +17,7 @@
copybytetovar CurFruit
giveitem ITEM_FROM_MEM
iffalse .packisfull
- keeptextopen
+ buttonsound
writetext ObtainedFruitText
callasm PickedFruitTree
specialsound
@@ -25,12 +25,12 @@
jump .end
.packisfull
- keeptextopen
+ buttonsound
writetext FruitPackIsFullText
- closetext
+ waitbutton
.end
- loadmovesprites
+ closetext
end
; 44041
--- a/engine/healmachineanim.asm
+++ b/engine/healmachineanim.asm
@@ -13,7 +13,7 @@
ld [Buffer2], a
call .DoJumptableFunctions
ld a, [Buffer2]
- call Functiond24
+ call DmgToCgbObjPal1
ret
; 1233e
--- /dev/null
+++ b/engine/init_gender.asm
@@ -1,0 +1,115 @@
+InitCrystalData: ; 48000
+ ld a, $1
+ ld [wd474], a
+ xor a
+ ld [wd473], a
+ ld [PlayerGender], a
+ ld [wd475], a
+ ld [wd476], a
+ ld [wd477], a
+ ld [wd478], a
+ ld [wd002], a
+ ld [wd003], a
+ ; could have done "ld a, [wd479] \ and %11111100", saved four operations
+ ld a, [wd479]
+ res 0, a
+ ld [wd479], a
+ ld a, [wd479]
+ res 1, a
+ ld [wd479], a
+ ret
+; 4802f
+
+INCLUDE "misc/mobile_12.asm"
+
+InitGender: ; 48dcb (12:4dcb)
+ call InitGenderScreen
+ call LoadGenderScreenPal
+ call LoadGenderScreenLightBlueTile
+ call WaitBGMap2
+ call SetPalettes
+ ld hl, TextJump_AreYouABoyOrAreYouAGirl
+ call PrintText
+ ld hl, .MenuDataHeader
+ call LoadMenuDataHeader
+ call WaitBGMap2
+ call VerticalMenu
+ call CloseWindow
+ ld a, [wMenuCursorY]
+ dec a
+ ld [PlayerGender], a
+ ld c, 10
+ call DelayFrames
+ ret
+; 48dfc (12:4dfc)
+
+.MenuDataHeader: ; 0x48dfc
+ db $40 ; flags
+ db 04, 06 ; start coords
+ db 09, 12 ; end coords
+ dw .MenuData2
+ db 1 ; default option
+; 0x48e04
+
+.MenuData2: ; 0x48e04
+ db $a1 ; flags
+ db 2 ; items
+ db "Boy@"
+ db "Girl@"
+; 0x48e0f
+
+TextJump_AreYouABoyOrAreYouAGirl: ; 0x48e0f
+ ; Are you a boy? Or are you a girl?
+ text_jump Text_AreYouABoyOrAreYouAGirl
+ db "@"
+; 0x48e14
+
+InitGenderScreen: ; 48e14 (12:4e14)
+ ld a, $10
+ ld [MusicFade], a
+ ld a, $0
+ ld [MusicFadeIDLo], a
+ ld a, $0
+ ld [MusicFadeIDHi], a
+ ld c, 8
+ call DelayFrames
+ call ClearBGPalettes
+ call InitCrystalData
+ call LoadFontsExtra
+ hlcoord 0, 0
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
+ ld a, $0
+ call ByteFill
+ hlcoord 0, 0, AttrMap
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
+ xor a
+ call ByteFill
+ ret
+
+LoadGenderScreenPal: ; 48e47 (12:4e47)
+ ld hl, .Palette
+ ld de, UnknBGPals
+ ld bc, 1 palettes
+ ld a, $5
+ call FarCopyWRAM
+ callba ApplyPals
+ ret
+; 48e5c (12:4e5c)
+
+.Palette: ; 48e5c
+ RGB 31, 31, 31
+ RGB 09, 30, 31
+ RGB 01, 11, 31
+ RGB 00, 00, 00
+; 48e64
+
+LoadGenderScreenLightBlueTile: ; 48e64 (12:4e64)
+ ld de, .LightBlueTile
+ ld hl, VTiles2 tile $00
+ lb bc, BANK(.LightBlueTile), 1
+ call Get2bpp
+ ret
+; 48e71 (12:4e71)
+
+.LightBlueTile: ; 48e71
+INCBIN "gfx/intro/gender_screen.2bpp"
--- a/engine/intro_menu.asm
+++ b/engine/intro_menu.asm
@@ -7,7 +7,7 @@
ld [wMapMusic], a
call PlayMusic
callba MainMenu
- jp Function6219
+ jp StartTitleScreen
; 5b04
; unreferenced
@@ -50,7 +50,7 @@
call ClearTileMap
call LoadFontsExtra
call LoadStandardFont
- call ResetTextRelatedRAM
+ call ClearWindowData
ret
; 5b54
@@ -68,7 +68,7 @@
NewGame: ; 5b6b
xor a
- ld [wc2cc], a
+ ld [wMonStatusFlags], a
call ResetWRAM
call NewGame_ClearTileMapEtc
call AreYouABoyOrAreYouAGirl
@@ -86,7 +86,7 @@
; 5b8f
AreYouABoyOrAreYouAGirl: ; 5b8f
- callba Function10632f ; some mobile stuff
+ callba Mobile_AlwaysReturnNotCarry ; some mobile stuff
jr c, .ok
callba InitGender
ret
@@ -211,9 +211,9 @@
ld [Money + 2], a
xor a
- ld [wdc17], a
+ ld [wWhichMomItem], a
- ld hl, wdc19
+ ld hl, MomItemTriggerBalance
ld [hl], 2300 / $10000
inc hl
ld [hl], 2300 / $100 % $100
@@ -353,7 +353,7 @@
Continue: ; 5d65
callba TryLoadSaveFile
jr c, .FailToLoad
- callba Function150b9
+ callba _LoadData
call LoadStandardMenuDataHeader
call DisplaySaveInfoOnContinue
ld a, $1
@@ -362,13 +362,13 @@
call DelayFrames
call ConfirmContinue
jr nc, .Check1Pass
- call WriteBackup
+ call CloseWindow
jr .FailToLoad
.Check1Pass
call Continue_CheckRTC_RestartClock
jr nc, .Check2Pass
- call WriteBackup
+ call CloseWindow
jr .FailToLoad
.Check2Pass
@@ -380,12 +380,12 @@
ld [MusicFadeIDHi], a
call ClearBGPalettes
call Continue_MobileAdapterMenu
- call WriteBackup
+ call CloseWindow
call ClearTileMap
ld c, 20
call DelayFrames
callba JumpRoamMons
- callba Function105091 ; Mystery Gift
+ callba MysteryGift_CopyReceivedDecosToPC ; Mystery Gift
callba Function140ae ; time-related
ld a, [wSpawnAfterChampion]
cp SPAWN_LANCE
@@ -399,7 +399,7 @@
.SpawnAfterE4
ld a, SPAWN_NEW_BARK
- ld [wd001], a
+ ld [DefaultSpawnpoint], a
call PostCreditsSpawn
jp FinishContinueFunction
; 5de2
@@ -406,7 +406,7 @@
SpawnAfterRed: ; 5de2
ld a, SPAWN_MT_SILVER
- ld [wd001], a
+ ld [DefaultSpawnpoint], a
; 5de7
PostCreditsSpawn: ; 5de7
@@ -418,8 +418,11 @@
; 5df0
Continue_MobileAdapterMenu: ; 5df0
- callba Function10632f ; mobile check
+ callba Mobile_AlwaysReturnNotCarry ; mobile check
ret nc
+
+; the rest of this stuff is never reached because
+; the previous function returns with carry not set
ld hl, wd479
bit 1, [hl]
ret nz
@@ -450,9 +453,9 @@
call DelayFrame
call GetJoypad
ld hl, hJoyPressed
- bit 0, [hl]
+ bit A_BUTTON_F, [hl]
jr nz, .PressA
- bit 1, [hl]
+ bit B_BUTTON_F, [hl]
jr z, .loop
scf
ret
@@ -480,7 +483,7 @@
FinishContinueFunction: ; 5e5d
.loop
xor a
- ld [wc2c1], a
+ ld [wDontPlayMapMusicOnReload], a
ld [wLinkMode], a
ld hl, GameTimerPause
set 0, [hl]
@@ -545,9 +548,9 @@
ld hl, .MenuDataHeader_NoDex
.pokedex_header
- call Function1e35
+ call _OffsetMenuDataHeader
call MenuBox
- call Function1c89
+ call PlaceVerticalMenuItems
ret
; 5ed9
@@ -641,7 +644,7 @@
Continue_DisplayPokedexNumCaught: ; 5f6b
ld a, [StatusFlags]
- bit 0, a
+ bit 0, a ; Pokedex
ret z
push hl
ld hl, PokedexCaught
@@ -685,7 +688,7 @@
ld [TrainerClass], a
call Intro_PrepTrainerPic
- ld b, SCGB_1C
+ ld b, SCGB_FRONTPICPALS
call GetSGBLayout
call Intro_RotatePalettesLeftFrontpic
@@ -706,7 +709,7 @@
ld [TempMonDVs], a
ld [TempMonDVs + 1], a
- ld b, SCGB_1C
+ ld b, SCGB_FRONTPICPALS
call GetSGBLayout
call Intro_WipeInFrontpic
@@ -723,7 +726,7 @@
ld [TrainerClass], a
call Intro_PrepTrainerPic
- ld b, SCGB_1C
+ ld b, SCGB_FRONTPICPALS
call GetSGBLayout
call Intro_RotatePalettesLeftFrontpic
@@ -736,7 +739,7 @@
ld [CurPartySpecies], a
callba DrawIntroPlayerPic
- ld b, SCGB_1C
+ ld b, SCGB_FRONTPICPALS
call GetSGBLayout
call Intro_RotatePalettesLeftFrontpic
@@ -783,11 +786,11 @@
NamePlayer: ; 0x6074
callba MovePlayerPicRight
callba ShowPlayerNamingChoices
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
jr z, .NewName
call StorePlayerName
- callba Function8c1d
+ callba ApplyMonOrTrainerPals
callba MovePlayerPicLeft
ret
@@ -806,7 +809,7 @@
ld [CurPartySpecies], a
callba DrawIntroPlayerPic
- ld b, SCGB_1C
+ ld b, SCGB_FRONTPICPALS
call GetSGBLayout
call RotateThreePalettesLeft
@@ -828,11 +831,11 @@
Function60e9: ; Unreferenced
call LoadMenuDataHeader
- call InterpretMenu2
- ld a, [MenuSelection2]
+ call VerticalMenu
+ ld a, [wMenuCursorY]
dec a
call CopyNameFromMenu
- call WriteBackup
+ call CloseWindow
ret
; 60fa
@@ -1003,19 +1006,19 @@
.sprites ; 61fe
db 4
- db $4c, $48, 0
- db $4c, $50, 1
- db $54, $48, 2
- db $54, $50, 3
+ db 9 * 8 + 4, 9 * 8, 0
+ db 9 * 8 + 4, 10 * 8, 1
+ db 10 * 8 + 4, 9 * 8, 2
+ db 10 * 8 + 4, 10 * 8, 3
; 620b
-Function620b: ; 620b
- callab Functione4579
- jr c, Function6219
+CrystalIntroSequence: ; 620b
+ callab Copyright_GFPresents
+ jr c, StartTitleScreen
callba CrystalIntro
-Function6219: ; 6219
+StartTitleScreen: ; 6219
ld a, [rSVBK]
push af
ld a, $5
@@ -1024,7 +1027,7 @@
call .TitleScreen
call DelayFrame
.loop
- call Function627b
+ call RunTitleScreen
jr nc, .loop
call ClearSprites
@@ -1036,9 +1039,9 @@
ld hl, rLCDC
res 2, [hl]
call ClearScreen
- call Function3200
+ call WaitBGMap2
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ld [hSCX], a
ld [hSCY], a
ld a, $7
@@ -1055,10 +1058,9 @@
.ok
ld e, a
ld d, 0
- ld hl, .jumptable
-rept 2
+ ld hl, .dw
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1065,11 +1067,11 @@
jp [hl]
; 626a
-.jumptable
+.dw
dw _MainMenu
- dw Function6389
- dw Function620b
- dw Function620b
+ dw DeleteSaveData
+ dw CrystalIntroSequence
+ dw CrystalIntroSequence
dw ResetClock
; 6274
@@ -1079,7 +1081,7 @@
ret
; 627b
-Function627b: ; 627b
+RunTitleScreen: ; 627b
ld a, [wJumptableIndex]
bit 7, a
jr nz, .done_title
@@ -1110,9 +1112,8 @@
ld e, a
ld d, 0
ld hl, .scenes
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1126,7 +1127,7 @@
dw TitleScreenEnd
; 62b7
-Function62b7: ; Unreferenced
+.NextScene ; Unreferenced
ld hl, wJumptableIndex
inc [hl]
ret
@@ -1152,7 +1153,7 @@
; Reversed signage for every other line's position.
; This is responsible for the interlaced effect.
ld a, e
- xor -1
+ xor $ff
inc a
ld b, 8 * 10 / 2 ; logo height / 2
@@ -1171,7 +1172,7 @@
ld hl, wJumptableIndex
inc [hl]
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
; Play the title screen music.
ld de, MUSIC_TITLE
@@ -1191,7 +1192,7 @@
; Start a timer
ld hl, wcf65
- ld de, $1140 ; 73.6 seconds
+ ld de, 73 * 60 + 36
ld [hl], e
inc hl
ld [hl], d
@@ -1225,7 +1226,7 @@
; To bring up the clock reset dialog:
; Hold Down + B + Select to initiate the sequence.
- ld a, [$ffeb]
+ ld a, [hClockResetTrigger]
cp $34
jr z, .check_clock_reset
@@ -1235,17 +1236,17 @@
jr nz, .check_start
ld a, $34
- ld [$ffeb], a
+ ld [hClockResetTrigger], a
jr .check_start
; Keep Select pressed, and hold Left + Up.
; Then let go of Select.
.check_clock_reset
- bit 2, [hl] ; SELECT
+ bit SELECT_F, [hl]
jr nz, .check_start
xor a
- ld [$ffeb], a
+ ld [hClockResetTrigger], a
ld a, [hl]
and D_LEFT + D_UP
@@ -1320,8 +1321,8 @@
ret
; 6389
-Function6389: ; 6389
- callba Function4d54c
+DeleteSaveData: ; 6389
+ callba _DeleteSaveData
jp Init
; 6392
@@ -1336,26 +1337,23 @@
and $3
ret nz
ld bc, SpriteAnim10
- ld hl, SpriteAnim10FrameIndex - SpriteAnim10
+ ld hl, SPRITEANIMSTRUCT_FRAME
add hl, bc ; over-the-top compicated way to load wc3ae into hl
ld l, [hl]
ld h, 0
-rept 2
add hl, hl
-endr
+ add hl, hl
ld de, Data63ca
add hl, de
; If bit 2 of [wcf65] is set, get the second dw; else, get the first dw
ld a, [wcf65]
and %00000100
-rept 2
srl a
-endr
+ srl a
ld e, a
ld d, 0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
and a
ret z
@@ -1368,12 +1366,12 @@
Data63ca: ; 63ca
; frame 0 y, x; frame 1 y, x
- db $5c, $50, $00, $00
- db $5c, $68, $5c, $58
- db $5c, $68, $5c, $78
- db $5c, $88, $5c, $78
- db $00, $00, $5c, $78
- db $00, $00, $5c, $58
+ db 11 * 8 + 4, 10 * 8, 0 * 8, 0 * 8
+ db 11 * 8 + 4, 13 * 8, 11 * 8 + 4, 11 * 8
+ db 11 * 8 + 4, 13 * 8, 11 * 8 + 4, 15 * 8
+ db 11 * 8 + 4, 17 * 8, 11 * 8 + 4, 15 * 8
+ db 0 * 8, 0 * 8, 11 * 8 + 4, 15 * 8
+ db 0 * 8, 0 * 8, 11 * 8 + 4, 11 * 8
; 63e2
Copyright: ; 63e2
@@ -1390,20 +1388,16 @@
CopyrightString: ; 63fd
; ©1995-2001 Nintendo
- db $60, $61, $62, $63, $64, $65, $66
- db $67, $68, $69, $6a, $6b, $6c
+ db $60, $61, $62, $63, $64, $65, $66
+ db $67, $68, $69, $6a, $6b, $6c
- db $4e
-
; ©1995-2001 Creatures inc.
- db $60, $61, $62, $63, $64, $65, $66, $6d
- db $6e, $6f, $70, $71, $72, $7a, $7b, $7c
+ next $60, $61, $62, $63, $64, $65, $66
+ db $6d, $6e, $6f, $70, $71, $72, $7a, $7b, $7c
- db $4e
-
; ©1995-2001 GAME FREAK inc.
- db $60, $61, $62, $63, $64, $65, $66, $73, $74
- db $75, $76, $77, $78, $79, $7a, $7b, $7c
+ next $60, $61, $62, $63, $64, $65, $66
+ db $73, $74, $75, $76, $77, $78, $79, $7a, $7b, $7c
db "@"
; 642e
@@ -1410,7 +1404,7 @@
GameInit:: ; 642e
callba TryLoadSaveData
- call ResetTextRelatedRAM
+ call ClearWindowData
call ClearBGPalettes
call ClearTileMap
ld a, VBGMap0 / $100
@@ -1423,5 +1417,5 @@
ld a, $90
ld [hWY], a
call WaitBGMap
- jp Function620b
+ jp CrystalIntroSequence
; 6454
--- /dev/null
+++ b/engine/learn.asm
@@ -1,0 +1,256 @@
+LearnMove: ; 6508
+ call LoadTileMapToTempTileMap
+ ld a, [CurPartyMon]
+ ld hl, PartyMonNicknames
+ call GetNick
+ ld hl, StringBuffer1
+ ld de, wMonOrItemNameBuffer
+ ld bc, PKMN_NAME_LENGTH
+ call CopyBytes
+
+.loop
+ ld hl, PartyMon1Moves
+ ld bc, PARTYMON_STRUCT_LENGTH
+ ld a, [CurPartyMon]
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld b, NUM_MOVES
+; Get the first empty move slot. This routine also serves to
+; determine whether the Pokemon learning the moves already has
+; all four slots occupied, in which case one would need to be
+; deleted.
+.next
+ ld a, [hl]
+ and a
+ jr z, .learn
+ inc hl
+ dec b
+ jr nz, .next
+; If we're here, we enter the routine for forgetting a move
+; to make room for the new move we're trying to learn.
+ push de
+ call ForgetMove
+ pop de
+ jp c, .cancel
+
+ push hl
+ push de
+ ld [wd265], a
+
+ ld b, a
+ ld a, [wBattleMode]
+ and a
+ jr z, .not_disabled
+ ld a, [DisabledMove]
+ cp b
+ jr nz, .not_disabled
+ xor a
+ ld [DisabledMove], a
+ ld [PlayerDisableCount], a
+.not_disabled
+
+ call GetMoveName
+ ld hl, Text_1_2_and_Poof ; 1, 2 and…
+ call PrintText
+ pop de
+ pop hl
+
+.learn
+ ld a, [wPutativeTMHMMove]
+ ld [hl], a
+ ld bc, MON_PP - MON_MOVES
+ add hl, bc
+
+ push hl
+ push de
+ dec a
+ ld hl, Moves + MOVE_PP
+ ld bc, MOVE_LENGTH
+ call AddNTimes
+ ld a, BANK(Moves)
+ call GetFarByte
+ pop de
+ pop hl
+
+ ld [hl], a
+
+ ld a, [wBattleMode]
+ and a
+ jp z, .learned
+
+ ld a, [CurPartyMon]
+ ld b, a
+ ld a, [CurBattleMon]
+ cp b
+ jp nz, .learned
+
+ ld a, [PlayerSubStatus5]
+ bit SUBSTATUS_TRANSFORMED, a
+ jp nz, .learned
+
+ ld h, d
+ ld l, e
+ ld de, BattleMonMoves
+ ld bc, NUM_MOVES
+ call CopyBytes
+ ld bc, PartyMon1PP - (PartyMon1Moves + NUM_MOVES)
+ add hl, bc
+ ld de, BattleMonPP
+ ld bc, NUM_MOVES
+ call CopyBytes
+ jp .learned
+
+.cancel
+ ld hl, Text_StopLearning ; Stop learning <MOVE>?
+ call PrintText
+ call YesNoBox
+ jp c, .loop
+
+ ld hl, Text_DidNotLearn ; <MON> did not learn <MOVE>.
+ call PrintText
+ ld b, 0
+ ret
+
+.learned
+ ld hl, Text_LearnedMove ; <MON> learned <MOVE>!
+ call PrintText
+ ld b, 1
+ ret
+; 65d3
+
+ForgetMove: ; 65d3
+ push hl
+ ld hl, Text_TryingToLearn
+ call PrintText
+ call YesNoBox
+ pop hl
+ ret c
+ ld bc, -NUM_MOVES
+ add hl, bc
+ push hl
+ ld de, wListMoves_MoveIndicesBuffer
+ ld bc, NUM_MOVES
+ call CopyBytes
+ pop hl
+.loop
+ push hl
+ ld hl, Text_ForgetWhich
+ call PrintText
+ hlcoord 5, 2
+ ld b, NUM_MOVES * 2
+ ld c, MOVE_NAME_LENGTH
+ call TextBox
+ hlcoord 5 + 2, 2 + 2
+ ld a, SCREEN_WIDTH * 2
+ ld [Buffer1], a
+ predef ListMoves
+ ; wMenuData3
+ ld a, $4
+ ld [w2DMenuCursorInitY], a
+ ld a, $6
+ ld [w2DMenuCursorInitX], a
+ ld a, [wNumMoves]
+ inc a
+ ld [w2DMenuNumRows], a
+ ld a, $1
+ ld [w2DMenuNumCols], a
+ ld [wMenuCursorY], a
+ ld [wMenuCursorX], a
+ ld a, $3
+ ld [wMenuJoypadFilter], a
+ ld a, $20
+ ld [w2DMenuFlags1], a
+ xor a
+ ld [w2DMenuFlags2], a
+ ld a, $20
+ ld [w2DMenuCursorOffsets], a
+ call StaticMenuJoypad
+ push af
+ call Call_LoadTempTileMapToTileMap
+ pop af
+ pop hl
+ bit 1, a
+ jr nz, .cancel
+ push hl
+ ld a, [wMenuCursorY]
+ dec a
+ ld c, a
+ ld b, 0
+ add hl, bc
+ ld a, [hl]
+ push af
+ push bc
+ call IsHMMove
+ pop bc
+ pop de
+ ld a, d
+ jr c, .hmmove
+ pop hl
+ add hl, bc
+ and a
+ ret
+
+.hmmove
+ ld hl, Text_CantForgetHM
+ call PrintText
+ pop hl
+ jr .loop
+
+.cancel
+ scf
+ ret
+; 666b
+
+Text_LearnedMove: ; 666b
+; <MON> learned <MOVE>!
+ text_jump UnknownText_0x1c5660
+ db "@"
+; 6670
+
+Text_ForgetWhich: ; 6670
+; Which move should be forgotten?
+ text_jump UnknownText_0x1c5678
+ db "@"
+; 6675
+
+Text_StopLearning: ; 6675
+; Stop learning <MOVE>?
+ text_jump UnknownText_0x1c5699
+ db "@"
+; 667a
+
+Text_DidNotLearn: ; 667a
+; <MON> did not learn <MOVE>.
+ text_jump UnknownText_0x1c56af
+ db "@"
+; 667f
+
+Text_TryingToLearn: ; 667f
+; <MON> is trying to learn <MOVE>. But <MON> can't learn more than
+; four moves. Delete an older move to make room for <MOVE>?
+ text_jump UnknownText_0x1c56c9
+ db "@"
+; 6684
+
+Text_1_2_and_Poof: ; 6684
+ text_jump UnknownText_0x1c5740 ; 1, 2 and…
+ start_asm
+ push de
+ ld de, SFX_SWITCH_POKEMON
+ call PlaySFX
+ pop de
+ ld hl, .PoofForgot
+ ret
+
+.PoofForgot
+; Poof! <MON> forgot <MOVE>. And…
+ text_jump UnknownText_0x1c574e
+ db "@"
+; 669a
+
+Text_CantForgetHM: ; 669a
+; HM moves can't be forgotten now.
+ text_jump UnknownText_0x1c5772
+ db "@"
+; 669f
--- a/engine/link.asm
+++ b/engine/link.asm
@@ -14,19 +14,19 @@
call UpdateSprites
call LoadStandardFont
call LoadFontsBattleExtra
- callba Function16d69a
- call Function3200
+ callba LinkComms_LoadPleaseWaitTextboxBorderGFX
+ call WaitBGMap2
hlcoord 3, 8
- ld b, $2
- ld c, $c
+ ld b, 2
+ ld c, 12
ld d, h
ld e, l
- callba Function4d35b
+ callba LinkTextbox2
hlcoord 4, 10
- ld de, String28419
+ ld de, String_PleaseWait
call PlaceString
call Function28eff
- call Function3200
+ call WaitBGMap2
ld hl, wcf5d
xor a
ld [hli], a
@@ -33,19 +33,19 @@
ld [hl], $50
ld a, [wLinkMode]
cp LINK_TIMECAPSULE
- jp nz, Function28177
+ jp nz, Gen2ToGen2LinkComms
-Function2805d: ; 2805d
- call Function28426
- call Function28499
- call Function28434
+TimeCapsule: ; 2805d
+ call ClearLinkData
+ call Link_PrepPartyData_Gen1
+ call FixDataForLinkTransfer
xor a
ld [wPlayerLinkAction], a
call Function87d
ld a, [hLinkPlayerNumber]
cp $2
- jr nz, .asm_28091
- ld c, $3
+ jr nz, .player_1
+ ld c, 3
call DelayFrames
xor a
ld [hSerialSend], a
@@ -61,7 +61,7 @@
ld a, $81
ld [rSC], a
-.asm_28091
+.player_1
ld de, MUSIC_NONE
call PlayMusic
ld c, $3
@@ -76,23 +76,23 @@
call Function75f
ld a, $fe
ld [de], a
- ld hl, OverworldMap
- ld de, wd26b
+ ld hl, wLinkData
+ ld de, OTPlayerName
ld bc, $1a8
call Function75f
ld a, $fe
ld [de], a
- ld hl, wc608
+ ld hl, wMisc
ld de, wPlayerTrademonSpecies
- ld bc, wPlayerTrademonSpecies - wc608
+ ld bc, wPlayerTrademonSpecies - wMisc
call Function75f
xor a
ld [rIF], a
ld a, $1d
ld [rIE], a
- call Function287ab
- ld hl, wd26b
- call Function287ca
+ call Link_CopyRandomNumbers
+ ld hl, OTPlayerName
+ call Link_FindFirstNonControlCharacter_SkipZero
push hl
ld bc, NAME_LENGTH
add hl, bc
@@ -102,23 +102,23 @@
jp z, Function28b22
cp $7
jp nc, Function28b22
- ld de, OverworldMap
+ ld de, wLinkData
ld bc, $1a2
- call Function2879e
+ call Link_CopyOTData
ld de, wPlayerTrademonSpecies
- ld hl, wc813
+ ld hl, wTimeCapsulePartyMon1Species
ld c, $2
-.asm_280fe
+.loop
ld a, [de]
inc de
and a
- jr z, .asm_280fe
+ jr z, .loop
cp $fd
- jr z, .asm_280fe
+ jr z, .loop
cp $fe
- jr z, .asm_280fe
+ jr z, .loop
cp $ff
- jr z, .asm_2811d
+ jr z, .next
push hl
push bc
ld b, $0
@@ -129,14 +129,14 @@
ld [hl], a
pop bc
pop hl
- jr .asm_280fe
+ jr .loop
-.asm_2811d
+.next
ld hl, wc90f
dec c
- jr nz, .asm_280fe
- ld hl, OverworldMap
- ld de, wd26b
+ jr nz, .loop
+ ld hl, wLinkPlayerName
+ ld de, OTPlayerName
ld bc, NAME_LENGTH
call CopyBytes
ld de, OTPartyCount
@@ -143,10 +143,10 @@
ld a, [hli]
ld [de], a
inc de
-.asm_28135
+.party_loop
ld a, [hli]
- cp $ff
- jr z, .asm_2814e
+ cp -1
+ jr z, .done_party
ld [wd265], a
push hl
push de
@@ -156,11 +156,11 @@
ld a, [wd265]
ld [de], a
inc de
- jr .asm_28135
+ jr .party_loop
-.asm_2814e
+.done_party
ld [de], a
- ld hl, wc813
+ ld hl, wTimeCapsulePartyMon1Species
call Function2868a
ld a, OTPartyMonOT % $100
ld [wd102], a
@@ -174,13 +174,13 @@
call z, DelayFrames
ld de, MUSIC_ROUTE_30
call PlayMusic
- jp Function287e3
+ jp InitTradeMenuDisplay
; 28177
-Function28177: ; 28177
- call Function28426
- call Function28595
- call Function28434
+Gen2ToGen2LinkComms: ; 28177
+ call ClearLinkData
+ call Link_PrepPartyData_Gen2
+ call FixDataForLinkTransfer
call Function29dba
ld a, [ScriptVar]
and a
@@ -187,8 +187,8 @@
jp z, Function283b2
ld a, [hLinkPlayerNumber]
cp $2
- jr nz, .asm_281ae
- ld c, $3
+ jr nz, .Player1
+ ld c, 3
call DelayFrames
xor a
ld [hSerialSend], a
@@ -204,10 +204,10 @@
ld a, $81
ld [rSC], a
-.asm_281ae
+.Player1
ld de, MUSIC_NONE
call PlayMusic
- ld c, $3
+ ld c, 3
call DelayFrames
xor a
ld [rIF], a
@@ -219,25 +219,25 @@
call Function75f
ld a, $fe
ld [de], a
- ld hl, OverworldMap
- ld de, wd26b
+ ld hl, wLinkData
+ ld de, OTPlayerName
ld bc, $1c2
call Function75f
ld a, $fe
ld [de], a
- ld hl, wc608
+ ld hl, wMisc
ld de, wPlayerTrademonSpecies
ld bc, $c8
call Function75f
ld a, [wLinkMode]
cp LINK_TRADECENTER
- jr nz, .asm_281fd
+ jr nz, .not_trading
ld hl, wc9f4
ld de, wcb84
ld bc, $186
call Function283f2
-.asm_281fd
+.not_trading
xor a
ld [rIF], a
ld a, $1d
@@ -244,26 +244,26 @@
ld [rIE], a
ld de, MUSIC_NONE
call PlayMusic
- call Function287ab
- ld hl, wd26b
- call Function287ca
- ld de, OverworldMap
+ call Link_CopyRandomNumbers
+ ld hl, OTPlayerName
+ call Link_FindFirstNonControlCharacter_SkipZero
+ ld de, wLinkData
ld bc, $1b9
- call Function2879e
+ call Link_CopyOTData
ld de, wPlayerTrademonSpecies
- ld hl, wc813
+ ld hl, wLinkPlayerPartyMon1Species
ld c, $2
-.asm_28224
+.loop1
ld a, [de]
inc de
and a
- jr z, .asm_28224
+ jr z, .loop1
cp $fd
- jr z, .asm_28224
+ jr z, .loop1
cp $fe
- jr z, .asm_28224
+ jr z, .loop1
cp $ff
- jr z, .asm_28243
+ jr z, .next1
push hl
push bc
ld b, $0
@@ -274,50 +274,49 @@
ld [hl], a
pop bc
pop hl
- jr .asm_28224
+ jr .loop1
-.asm_28243
+.next1
ld hl, wc90f
dec c
- jr nz, .asm_28224
+ jr nz, .loop1
ld a, [wLinkMode]
cp LINK_TRADECENTER
- jp nz, .asm_282fe
+ jp nz, .skip_mail
ld hl, wcb84
-.asm_28254
+.loop2
ld a, [hli]
cp $20
- jr nz, .asm_28254
-.asm_28259
+ jr nz, .loop2
+.loop3
ld a, [hli]
cp $fe
- jr z, .asm_28259
+ jr z, .loop3
cp $20
- jr z, .asm_28259
+ jr z, .loop3
dec hl
ld de, wcb84
- ld bc, $190
+ ld bc, $190 ; 400
call CopyBytes
ld hl, wcb84
- ld bc, $c6
-.asm_28272
+ ld bc, $c6 ; 198
+.loop4
ld a, [hl]
cp $21
- jr nz, .asm_28279
+ jr nz, .okay1
ld [hl], $fe
-
-.asm_28279
+.okay1
inc hl
dec bc
ld a, b
or c
- jr nz, .asm_28272
+ jr nz, .loop4
ld de, wcc9e
-.asm_28282
+.loop5
ld a, [de]
inc de
cp $ff
- jr z, .asm_28294
+ jr z, .start_copying_mail
ld hl, wcc4a
dec a
ld b, $0
@@ -324,43 +323,43 @@
ld c, a
add hl, bc
ld [hl], $fe
- jr .asm_28282
+ jr .loop5
-.asm_28294
+.start_copying_mail
ld hl, wcb84
ld de, wc9f4
- ld b, $6
-.asm_2829c
+ ld b, PARTY_LENGTH
+.copy_mail_loop
push bc
- ld bc, $21
+ ld bc, MAIL_MSG_LENGTH + 1
call CopyBytes
- ld a, $e
+ ld a, (MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1)) % $100
add e
ld e, a
- ld a, $0
+ ld a, (MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1)) / $100
adc d
ld d, a
pop bc
dec b
- jr nz, .asm_2829c
+ jr nz, .copy_mail_loop
ld de, wc9f4
- ld b, $6
-.asm_282b4
+ ld b, PARTY_LENGTH
+.copy_author_loop
push bc
- ld a, $21
+ ld a, (MAIL_MSG_LENGTH + 1) % $100
add e
ld e, a
- ld a, $0
+ ld a, (MAIL_MSG_LENGTH + 1) / $100
adc d
ld d, a
- ld bc, $e
+ ld bc, MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1)
call CopyBytes
pop bc
dec b
- jr nz, .asm_282b4
- ld b, $6
+ jr nz, .copy_author_loop
+ ld b, PARTY_LENGTH
ld de, wc9f4
-.asm_282cc
+.fix_mail_loop
push bc
push de
callba IsMailEuropean
@@ -385,14 +384,14 @@
ld e, l
pop bc
dec b
- jr nz, .asm_282cc
+ jr nz, .fix_mail_loop
ld de, wcb0e
xor a
ld [de], a
-.asm_282fe
- ld hl, OverworldMap
- ld de, wd26b
+.skip_mail
+ ld hl, wLinkData
+ ld de, OTPlayerName
ld bc, NAME_LENGTH
call CopyBytes
ld de, OTPartyCount
@@ -416,7 +415,7 @@
call z, DelayFrames
ld a, [wLinkMode]
cp LINK_COLOSSEUM
- jr nz, .asm_283a9
+ jr nz, .ready_to_trade
ld a, CAL
ld [OtherTrainerClass], a
call ClearScreen
@@ -427,7 +426,7 @@
and $20
or $3
ld [hl], a
- ld hl, wd26b
+ ld hl, OTPlayerName
ld de, OTName
ld bc, NAME_LENGTH
call CopyBytes
@@ -463,20 +462,20 @@
callba LoadPokemonData
jp Function28b22
-.asm_283a9
+.ready_to_trade
ld de, MUSIC_ROUTE_30
call PlayMusic
- jp Function287e3
+ jp InitTradeMenuDisplay
; 283b2
Function283b2: ; 283b2
- ld de, UnknownText_0x283ed
+ ld de, .TooMuchTimeHasElapsed
ld b, $a
-.asm_283b7
+.loop
call DelayFrame
- call LinkCommunicationsSignalDataReceived
+ call LinkDataReceived
dec b
- jr nz, .asm_283b7
+ jr nz, .loop
xor a
ld [hld], a
ld [hl], a
@@ -483,12 +482,12 @@
ld [hVBlank], a
push de
hlcoord 0, 12
- ld b, $4
- ld c, $12
+ ld b, 4
+ ld c, 18
push de
ld d, h
ld e, l
- callba Function4d35b
+ callba LinkTextbox2
pop de
pop hl
bccoord 1, 14
@@ -497,11 +496,11 @@
call ClearScreen
ld b, SCGB_08
call GetSGBLayout
- call Function3200
+ call WaitBGMap2
ret
; 283ed
-UnknownText_0x283ed: ; 0x283ed
+.TooMuchTimeHasElapsed: ; 0x283ed
; Too much time has elapsed. Please try again.
text_jump UnknownText_0x1c4183
db "@"
@@ -510,7 +509,7 @@
Function283f2: ; 283f2
ld a, $1
ld [hFFCC], a
-.asm_283f6
+.loop
ld a, [hl]
ld [hSerialSend], a
call Function78a
@@ -518,130 +517,128 @@
ld b, a
inc hl
ld a, $30
-.asm_28401
+.delay_cycles
dec a
- jr nz, .asm_28401
+ jr nz, .delay_cycles
ld a, [hFFCC]
and a
ld a, b
pop bc
- jr z, .asm_28411
+ jr z, .load
dec hl
xor a
ld [hFFCC], a
- jr .asm_283f6
+ jr .loop
-.asm_28411
+.load
ld [de], a
inc de
dec bc
ld a, b
or c
- jr nz, .asm_283f6
+ jr nz, .loop
ret
; 28419
-String28419: ; 28419
+String_PleaseWait: ; 28419
db "PLEASE WAIT!@"
; 28426
-Function28426: ; 28426
- ld hl, OverworldMap
- lb bc, 5, SCREEN_WIDTH
-.asm_2842c
+ClearLinkData: ; 28426
+ ld hl, wLinkData
+ ld bc, wLinkDataEnd - wLinkData
+.loop
xor a
ld [hli], a
dec bc
ld a, b
or c
- jr nz, .asm_2842c
+ jr nz, .loop
ret
; 28434
-Function28434: ; 28434
+FixDataForLinkTransfer: ; 28434
ld hl, wd1f3
ld a, $fd
- ld b, $7
-.asm_2843b
+ ld b, LinkBattleRNs - wd1f3
+.loop1
ld [hli], a
dec b
- jr nz, .asm_2843b
- ld b, $a
-.asm_28441
+ jr nz, .loop1
+ ld b, TempEnemyMonSpecies - LinkBattleRNs
+.loop2
call Random
cp $fd
- jr nc, .asm_28441
+ jr nc, .loop2
ld [hli], a
dec b
- jr nz, .asm_28441
- ld hl, wc608
+ jr nz, .loop2
+ ld hl, wMisc
ld a, $fd
rept 3
ld [hli], a
endr
- ld b, $c8
+ ld b, wc6d3 - (wMisc + 3)
xor a
-.asm_28457
+.loop3
ld [hli], a
dec b
- jr nz, .asm_28457
- ld hl, wc818
- ld de, wc608 + 10
- ld bc, 0
-.asm_28464
+ jr nz, .loop3
+ ld hl, wTimeCapsulePartyMon1 - 1 + 6
+ ld de, wc612
+ lb bc, 0, 0
+.loop4
inc c
ld a, c
cp $fd
- jr z, .asm_2848c
+ jr z, .next1
ld a, b
dec a
- jr nz, .asm_2847f
+ jr nz, .next2
push bc
ld a, [wLinkMode]
cp LINK_TIMECAPSULE
ld b, $d
- jr z, .asm_2847a
+ jr z, .got_value
ld b, $27
-
-.asm_2847a
+.got_value
ld a, c
cp b
pop bc
- jr z, .asm_28495
-
-.asm_2847f
+ jr z, .done
+.next2
inc hl
ld a, [hl]
cp $fe
- jr nz, .asm_28464
+ jr nz, .loop4
ld a, c
ld [de], a
inc de
ld [hl], $ff
- jr .asm_28464
+ jr .loop4
-.asm_2848c
+.next1
ld a, $ff
ld [de], a
inc de
lb bc, 1, 0
- jr .asm_28464
+ jr .loop4
-.asm_28495
+.done
ld a, $ff
ld [de], a
ret
; 28499
-Function28499: ; 28499
- ld de, OverworldMap
+Link_PrepPartyData_Gen1: ; 28499
+ ld de, wLinkData
ld a, $fd
- ld b, $6
-.asm_284a0
+ ld b, 6
+.loop1
ld [de], a
inc de
dec b
- jr nz, .asm_284a0
+ jr nz, .loop1
ld hl, PlayerName
ld bc, NAME_LENGTH
call CopyBytes
@@ -650,10 +647,10 @@
ld a, [hli]
ld [de], a
inc de
-.asm_284b5
+.loop2
ld a, [hli]
- cp $ff
- jr z, .asm_284ce
+ cp -1
+ jr z, .done_party
ld [wd265], a
push hl
push de
@@ -663,34 +660,34 @@
ld a, [wd265]
ld [de], a
inc de
- jr .asm_284b5
+ jr .loop2
-.asm_284ce
+.done_party
ld [de], a
pop de
- ld hl, $8
+ ld hl, 1 + PARTY_LENGTH + 1
add hl, de
ld d, h
ld e, l
ld hl, PartyMon1Species
- ld c, $6
-.asm_284db
+ ld c, PARTY_LENGTH
+.mon_loop
push bc
- call Function284f6
+ call .ConvertPartyStruct2to1
ld bc, PARTYMON_STRUCT_LENGTH
add hl, bc
pop bc
dec c
- jr nz, .asm_284db
+ jr nz, .mon_loop
ld hl, PartyMonOT
- call .asm_284f0
+ call .copy_ot_nicks
ld hl, PartyMonNicknames
-.asm_284f0
- ld bc, $42
+.copy_ot_nicks
+ ld bc, PARTY_LENGTH * NAME_LENGTH
jp CopyBytes
; 284f6
-Function284f6: ; 284f6
+.ConvertPartyStruct2to1: ; 284f6
ld b, h
ld c, l
push de
@@ -703,7 +700,7 @@
ld a, [wd265]
ld [de], a
inc de
- ld hl, $22
+ ld hl, MON_HP
add hl, bc
ld a, [hli]
ld [de], a
@@ -714,26 +711,26 @@
xor a
ld [de], a
inc de
- ld hl, $20
+ ld hl, MON_STATUS
add hl, bc
ld a, [hl]
ld [de], a
inc de
ld a, [bc]
- cp $51
- jr z, .asm_28528
- cp $52
- jr nz, .asm_28530
+ cp MAGNEMITE
+ jr z, .steel_type
+ cp MAGNETON
+ jr nz, .skip_steel
-.asm_28528
- ld a, $17
+.steel_type
+ ld a, ELECTRIC
ld [de], a
inc de
ld [de], a
inc de
- jr .asm_28544
+ jr .done_steel
-.asm_28530
+.skip_steel
push bc
dec a
ld hl, BaseData + 7 ; type
@@ -744,15 +741,15 @@
call FarCopyBytes
pop bc
-.asm_28544
+.done_steel
push bc
- ld hl, $1
+ ld hl, MON_ITEM
add hl, bc
- ld bc, $1a
+ ld bc, MON_HAPPINESS - MON_ITEM
call CopyBytes
pop bc
- ld hl, $1f
+ ld hl, MON_LEVEL
add hl, bc
ld a, [hl]
ld [de], a
@@ -760,9 +757,9 @@
inc de
push bc
- ld hl, $24
+ ld hl, MON_MAXHP
add hl, bc
- ld bc, 8
+ ld bc, MON_SAT - MON_MAXHP
call CopyBytes
pop bc
@@ -781,19 +778,19 @@
ld [BaseSpecialAttack], a
pop bc
- ld hl, $a
+ ld hl, MON_STAT_EXP - 1
add hl, bc
- ld c, $5
- ld b, $1
+ ld c, STAT_SATK
+ ld b, TRUE
predef CalcPkmnStatC
pop bc
pop de
- ld a, [$ffb5]
+ ld a, [hQuotient + 1]
ld [de], a
inc de
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
ld [de], a
inc de
ld h, b
@@ -801,10 +798,10 @@
ret
; 28595
-Function28595: ; 28595
- ld de, wc800
- ld a, EGG
- ld b, PARTY_LENGTH
+Link_PrepPartyData_Gen2: ; 28595
+ ld de, wLinkData
+ ld a, $fd
+ ld b, 6
.loop1
ld [de], a
inc de
@@ -960,31 +957,31 @@
push hl
ld d, h
ld e, l
- ld bc, wcbea
+ ld bc, wLinkOTPartyMonTypes
ld hl, wcbe8
ld a, c
ld [hli], a
ld [hl], b
ld hl, OTPartyMon1Species
- ld c, $6
+ ld c, PARTY_LENGTH
.loop
push bc
- call Function286ba
+ call .ConvertToGen2
pop bc
dec c
jr nz, .loop
pop hl
- lb bc, 1, 8
+ ld bc, PARTY_LENGTH * REDMON_STRUCT_LENGTH
add hl, bc
ld de, OTPartyMonOT
- ld bc, $42
+ ld bc, PARTY_LENGTH * NAME_LENGTH
call CopyBytes
ld de, OTPartyMonNicknames
- ld bc, $42
+ ld bc, PARTY_LENGTH * PKMN_NAME_LENGTH
jp CopyBytes
; 286ba
-Function286ba: ; 286ba
+.ConvertToGen2: ; 286ba
ld b, h
ld c, l
ld a, [de]
@@ -998,7 +995,7 @@
ld a, [wd265]
ld [bc], a
ld [CurSpecies], a
- ld hl, $22
+ ld hl, MON_HP
add hl, bc
ld a, [de]
inc de
@@ -1007,7 +1004,7 @@
inc de
ld [hl], a
inc de
- ld hl, $20
+ ld hl, MON_STATUS
add hl, bc
ld a, [de]
inc de
@@ -1025,9 +1022,9 @@
ld a, l
ld [wcbe8], a
ld a, h
- ld [wcbe9], a
+ ld [wcbe8 + 1], a
push bc
- ld hl, $1
+ ld hl, MON_ITEM
add hl, bc
push hl
ld h, d
@@ -1036,7 +1033,7 @@
push bc
ld a, [hli]
ld b, a
- call Function28771
+ call TimeCapsule_ReplaceTeruSama
ld a, b
ld [de], a
inc de
@@ -1067,29 +1064,29 @@
push bc
ld d, h
ld e, l
- ld hl, $a
+ ld hl, MON_STAT_EXP - 1
add hl, bc
- ld c, $5
- ld b, $1
+ ld c, STAT_SATK
+ ld b, TRUE
predef CalcPkmnStatC
pop bc
pop hl
- ld a, [$ffb5]
+ ld a, [hQuotient + 1]
ld [hli], a
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
ld [hli], a
push hl
push bc
- ld hl, $a
+ ld hl, MON_STAT_EXP - 1
add hl, bc
- ld c, $6
- ld b, $1
+ ld c, STAT_SDEF
+ ld b, TRUE
predef CalcPkmnStatC
pop bc
pop hl
- ld a, [$ffb5]
+ ld a, [hQuotient + 1]
ld [hli], a
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
ld [hli], a
push hl
ld hl, $1b
@@ -1108,7 +1105,7 @@
ret
; 28771
-Function28771: ; 28771
+TimeCapsule_ReplaceTeruSama: ; 28771
ld a, b
and a
ret z
@@ -1145,73 +1142,73 @@
db ITEM_C3, BERRY
db ITEM_DC, BERRY
db HM_08, BERRY
- db $ff, BERRY
- db $00
+ db -1, BERRY
+ db 0
; 2879e
-Function2879e: ; 2879e
-.asm_2879e
+Link_CopyOTData: ; 2879e
+.loop
ld a, [hli]
cp $fe
- jr z, .asm_2879e
+ jr z, .loop
ld [de], a
inc de
dec bc
ld a, b
or c
- jr nz, .asm_2879e
+ jr nz, .loop
ret
; 287ab
-Function287ab: ; 287ab
+Link_CopyRandomNumbers: ; 287ab
ld a, [hLinkPlayerNumber]
cp $2
ret z
ld hl, EnemyMonSpecies
- call Function287d8
+ call Link_FindFirstNonControlCharacter_AllowZero
ld de, LinkBattleRNs
- ld c, $a
-.asm_287bb
+ ld c, 10
+.loop
ld a, [hli]
cp $fe
- jr z, .asm_287bb
+ jr z, .loop
cp $fd
- jr z, .asm_287bb
+ jr z, .loop
ld [de], a
inc de
dec c
- jr nz, .asm_287bb
+ jr nz, .loop
ret
; 287ca
-Function287ca: ; 287ca
-.asm_287ca
+Link_FindFirstNonControlCharacter_SkipZero: ; 287ca
+.loop
ld a, [hli]
and a
- jr z, .asm_287ca
+ jr z, .loop
cp $fd
- jr z, .asm_287ca
+ jr z, .loop
cp $fe
- jr z, .asm_287ca
+ jr z, .loop
dec hl
ret
; 287d8
-Function287d8: ; 287d8
-.asm_287d8
+Link_FindFirstNonControlCharacter_AllowZero: ; 287d8
+.loop
ld a, [hli]
cp $fd
- jr z, .asm_287d8
+ jr z, .loop
cp $fe
- jr z, .asm_287d8
+ jr z, .loop
dec hl
ret
; 287e3
-Function287e3: ; 287e3
+InitTradeMenuDisplay: ; 287e3
call ClearScreen
- call Function28ef8
- callba Function16d673
+ call LoadTradeScreenBorder
+ callba InitTradeSpeciesList
xor a
ld hl, wOtherPlayerLinkMode
rept 3
@@ -1218,254 +1215,254 @@
ld [hli], a
endr
ld [hl], a
- ld a, $1
- ld [MenuSelection2], a
+ ld a, 1
+ ld [wMenuCursorY], a
inc a
ld [wPlayerLinkAction], a
- jp Function2888b
+ jp LinkTrade_PlayerPartyMenu
; 28803
-Function28803: ; 28803
- ld a, $1
+LinkTrade_OTPartyMenu: ; 28803
+ ld a, OTPARTYMON
ld [MonType], a
- ld a, $c1
- ld [wcfa8], a
+ ld a, A_BUTTON | D_UP | D_DOWN
+ ld [wMenuJoypadFilter], a
ld a, [OTPartyCount]
- ld [wcfa3], a
- ld a, $1
- ld [wcfa4], a
- ld a, $9
- ld [wcfa1], a
- ld a, $6
- ld [wcfa2], a
- ld a, $1
- ld [wcfaa], a
- ld a, $10
- ld [wcfa7], a
+ ld [w2DMenuNumRows], a
+ ld a, 1
+ ld [w2DMenuNumCols], a
+ ld a, 9
+ ld [w2DMenuCursorInitY], a
+ ld a, 6
+ ld [w2DMenuCursorInitX], a
+ ld a, 1
+ ld [wMenuCursorX], a
+ ln a, 1, 0
+ ld [w2DMenuCursorOffsets], a
ld a, $20
- ld [wcfa5], a
+ ld [w2DMenuFlags1], a
xor a
- ld [wcfa6], a
+ ld [w2DMenuFlags2], a
-Function28835: ; 28835
- callba Function16d70c
+LinkTradeOTPartymonMenuLoop: ; 28835
+ callba LinkTradeMenu
ld a, d
and a
- jp z, Function2891c
- bit 0, a
- jr z, .asm_2885b
+ jp z, LinkTradePartiesMenuMasterLoop
+ bit A_BUTTON_F, a
+ jr z, .not_a_button
ld a, $1
ld [wd263], a
callab Function50db9
ld hl, OTPartyMon1Species
- callba Function4d319
- jp Function2891c
+ callba LinkMonStatsScreen
+ jp LinkTradePartiesMenuMasterLoop
-.asm_2885b
- bit 6, a
- jr z, .asm_28883
- ld a, [MenuSelection2]
+.not_a_button
+ bit D_UP_F, a
+ jr z, .not_d_up
+ ld a, [wMenuCursorY]
ld b, a
ld a, [OTPartyCount]
cp b
- jp nz, Function2891c
+ jp nz, LinkTradePartiesMenuMasterLoop
xor a
ld [MonType], a
- call Function1bf7
+ call HideCursor
push hl
push bc
ld bc, NAME_LENGTH
add hl, bc
- ld [hl], $7f
+ ld [hl], " "
pop bc
pop hl
ld a, [PartyCount]
- ld [MenuSelection2], a
- jr Function2888b
+ ld [wMenuCursorY], a
+ jr LinkTrade_PlayerPartyMenu
-.asm_28883
- bit 7, a
- jp z, Function2891c
+.not_d_up
+ bit D_DOWN_F, a
+ jp z, LinkTradePartiesMenuMasterLoop
jp Function28ac9
; 2888b
-Function2888b: ; 2888b
- callba Function49856
+LinkTrade_PlayerPartyMenu: ; 2888b
+ callba InitMG_Mobile_LinkTradePalMap
xor a
ld [MonType], a
- ld a, $c1
- ld [wcfa8], a
+ ld a, A_BUTTON | D_UP | D_DOWN
+ ld [wMenuJoypadFilter], a
ld a, [PartyCount]
- ld [wcfa3], a
- ld a, $1
- ld [wcfa4], a
- ld a, $1
- ld [wcfa1], a
- ld a, $6
- ld [wcfa2], a
- ld a, $1
- ld [wcfaa], a
- ld a, $10
- ld [wcfa7], a
+ ld [w2DMenuNumRows], a
+ ld a, 1
+ ld [w2DMenuNumCols], a
+ ld a, 1
+ ld [w2DMenuCursorInitY], a
+ ld a, 6
+ ld [w2DMenuCursorInitX], a
+ ld a, 1
+ ld [wMenuCursorX], a
+ ln a, 1, 0
+ ld [w2DMenuCursorOffsets], a
ld a, $20
- ld [wcfa5], a
+ ld [w2DMenuFlags1], a
xor a
- ld [wcfa6], a
- call Function3200
+ ld [w2DMenuFlags2], a
+ call WaitBGMap2
-Function288c5: ; 288c5
- callba Function16d70c
+LinkTradePartymonMenuLoop: ; 288c5
+ callba LinkTradeMenu
ld a, d
and a
- jr nz, .asm_288d2
- jp Function2891c
+ jr nz, .check_joypad
+ jp LinkTradePartiesMenuMasterLoop
-.asm_288d2
- bit 0, a
- jr z, .asm_288d9
+.check_joypad
+ bit A_BUTTON_F, a
+ jr z, .not_a_button
jp Function28926
-.asm_288d9
- bit 7, a
- jr z, .asm_288fe
- ld a, [MenuSelection2]
+.not_a_button
+ bit D_DOWN_F, a
+ jr z, .not_d_down
+ ld a, [wMenuCursorY]
dec a
- jp nz, Function2891c
- ld a, $1
+ jp nz, LinkTradePartiesMenuMasterLoop
+ ld a, OTPARTYMON
ld [MonType], a
- call Function1bf7
+ call HideCursor
push hl
push bc
ld bc, NAME_LENGTH
add hl, bc
- ld [hl], $7f
+ ld [hl], " "
pop bc
pop hl
- ld a, $1
- ld [MenuSelection2], a
- jp Function28803
+ ld a, 1
+ ld [wMenuCursorY], a
+ jp LinkTrade_OTPartyMenu
-.asm_288fe
- bit 6, a
- jr z, Function2891c
- ld a, [MenuSelection2]
+.not_d_down
+ bit D_UP_F, a
+ jr z, LinkTradePartiesMenuMasterLoop
+ ld a, [wMenuCursorY]
ld b, a
ld a, [PartyCount]
cp b
- jr nz, Function2891c
- call Function1bf7
+ jr nz, LinkTradePartiesMenuMasterLoop
+ call HideCursor
push hl
push bc
ld bc, NAME_LENGTH
add hl, bc
- ld [hl], $7f
+ ld [hl], " "
pop bc
pop hl
jp Function28ade
; 2891c
-Function2891c: ; 2891c
+LinkTradePartiesMenuMasterLoop: ; 2891c
ld a, [MonType]
and a
- jp z, Function288c5
- jp Function28835
+ jp z, LinkTradePartymonMenuLoop ; PARTYMON
+ jp LinkTradeOTPartymonMenuLoop ; OTPARTYMON
; 28926
Function28926: ; 28926
call LoadTileMapToTempTileMap
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
push af
hlcoord 0, 15
- ld b, $1
- ld c, $12
+ ld b, 1
+ ld c, 18
call Predef_LinkTextbox
hlcoord 2, 16
- ld de, String28ab4
+ ld de, .String_Stats_Trade
call PlaceString
callba Function4d354
-.asm_28946
- ld a, $7f
+.joy_loop
+ ld a, " "
ldcoord_a 11, 16
- ld a, $13
- ld [wcfa8], a
- ld a, $1
- ld [wcfa3], a
- ld a, $1
- ld [wcfa4], a
- ld a, $10
- ld [wcfa1], a
- ld a, $1
- ld [wcfa2], a
- ld a, $1
- ld [MenuSelection2], a
- ld [wcfaa], a
- ld a, $20
- ld [wcfa7], a
+ ld a, A_BUTTON | B_BUTTON | D_RIGHT
+ ld [wMenuJoypadFilter], a
+ ld a, 1
+ ld [w2DMenuNumRows], a
+ ld a, 1
+ ld [w2DMenuNumCols], a
+ ld a, 16
+ ld [w2DMenuCursorInitY], a
+ ld a, 1
+ ld [w2DMenuCursorInitX], a
+ ld a, 1
+ ld [wMenuCursorY], a
+ ld [wMenuCursorX], a
+ ln a, 2, 0
+ ld [w2DMenuCursorOffsets], a
xor a
- ld [wcfa5], a
- ld [wcfa6], a
- call Function1bd3
- bit 4, a
- jr nz, .asm_2898d
- bit 1, a
- jr z, .asm_289cd
-.asm_28983
+ ld [w2DMenuFlags1], a
+ ld [w2DMenuFlags2], a
+ call ScrollingMenuJoypad
+ bit D_RIGHT_F, a
+ jr nz, .d_right
+ bit B_BUTTON_F, a
+ jr z, .show_stats
+.b_button
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
call Call_LoadTempTileMapToTileMap
- jp Function2888b
+ jp LinkTrade_PlayerPartyMenu
-.asm_2898d
- ld a, $7f
+.d_right
+ ld a, " "
ldcoord_a 1, 16
- ld a, $23
- ld [wcfa8], a
- ld a, $1
- ld [wcfa3], a
- ld a, $1
- ld [wcfa4], a
- ld a, $10
- ld [wcfa1], a
- ld a, $b
- ld [wcfa2], a
- ld a, $1
- ld [MenuSelection2], a
- ld [wcfaa], a
- ld a, $20
- ld [wcfa7], a
+ ld a, A_BUTTON | B_BUTTON | D_LEFT
+ ld [wMenuJoypadFilter], a
+ ld a, 1
+ ld [w2DMenuNumRows], a
+ ld a, 1
+ ld [w2DMenuNumCols], a
+ ld a, 16
+ ld [w2DMenuCursorInitY], a
+ ld a, 11
+ ld [w2DMenuCursorInitX], a
+ ld a, 1
+ ld [wMenuCursorY], a
+ ld [wMenuCursorX], a
+ ln a, 2, 0
+ ld [w2DMenuCursorOffsets], a
xor a
- ld [wcfa5], a
- ld [wcfa6], a
- call Function1bd3
- bit 5, a
- jp nz, .asm_28946
- bit 1, a
- jr nz, .asm_28983
- jr .asm_289fe
+ ld [w2DMenuFlags1], a
+ ld [w2DMenuFlags2], a
+ call ScrollingMenuJoypad
+ bit D_LEFT_F, a
+ jp nz, .joy_loop
+ bit B_BUTTON_F, a
+ jr nz, .b_button
+ jr .try_trade
-.asm_289cd
+.show_stats
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld a, $4
ld [wd263], a
callab Function50db9
- callba Function4d319
+ callba LinkMonStatsScreen
call Call_LoadTempTileMapToTileMap
hlcoord 6, 1
lb bc, 6, 1
ld a, " "
- call Function28b77
+ call LinkEngine_FillBox
hlcoord 17, 1
lb bc, 6, 1
ld a, " "
- call Function28b77
- jp Function2888b
+ call LinkEngine_FillBox
+ jp LinkTrade_PlayerPartyMenu
-.asm_289fe
- call Function1bee
+.try_trade
+ call PlaceHollowCursor
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
dec a
ld [wd002], a
ld [wPlayerLinkAction], a
@@ -1472,29 +1469,29 @@
callba Function16d6ce
ld a, [wOtherPlayerLinkMode]
cp $f
- jp z, Function287e3
+ jp z, InitTradeMenuDisplay
ld [wd003], a
call Function28b68
- ld c, $64
+ ld c, 100
call DelayFrames
- callba Functionfb57e
- jr c, .asm_28a58
+ callba ValidateOTTrademon
+ jr c, .abnormal
callba Functionfb5dd
- jp nc, Function28b87
+ jp nc, LinkTrade
xor a
ld [wcf57], a
ld [wOtherPlayerLinkAction], a
hlcoord 0, 12
- ld b, $4
- ld c, $12
+ ld b, 4
+ ld c, 18
call Predef_LinkTextbox
callba Function4d354
- ld hl, UnknownText_0x28aaf
+ ld hl, .Text_CantTradeLastMon
bccoord 1, 14
call PlaceWholeStringInBoxAtOnce
- jr .asm_28a89
+ jr .cancel_trade
-.asm_28a58
+.abnormal
xor a
ld [wcf57], a
ld [wOtherPlayerLinkAction], a
@@ -1507,41 +1504,41 @@
ld [wd265], a
call GetPokemonName
hlcoord 0, 12
- ld b, $4
- ld c, $12
+ ld b, 4
+ ld c, 18
call Predef_LinkTextbox
callba Function4d354
- ld hl, UnknownText_0x28ac4
+ ld hl, .Text_Abnormal
bccoord 1, 14
call PlaceWholeStringInBoxAtOnce
-.asm_28a89
+.cancel_trade
hlcoord 0, 12
- ld b, $4
- ld c, $12
+ ld b, 4
+ ld c, 18
call Predef_LinkTextbox
hlcoord 1, 14
- ld de, String28ece
+ ld de, String_TooBadTheTradeWasCanceled
call PlaceString
ld a, $1
ld [wPlayerLinkAction], a
callba Function16d6ce
- ld c, $64
+ ld c, 100
call DelayFrames
- jp Function287e3
+ jp InitTradeMenuDisplay
; 28aaf
-UnknownText_0x28aaf: ; 0x28aaf
+.Text_CantTradeLastMon: ; 0x28aaf
; If you trade that #MON, you won't be able to battle.
text_jump UnknownText_0x1c41b1
db "@"
; 0x28ab4
-String28ab4: ; 28ab4
+.String_Stats_Trade: ; 28ab4
db "STATS TRADE@"
-UnknownText_0x28ac4: ; 0x28ac4
+.Text_Abnormal: ; 0x28ac4
; Your friend's @ appears to be abnormal!
text_jump UnknownText_0x1c41e6
db "@"
@@ -1549,46 +1546,45 @@
Function28ac9: ; 28ac9
- ld a, [MenuSelection2]
- cp $1
- jp nz, Function2891c
- call Function1bf7
+ ld a, [wMenuCursorY]
+ cp 1
+ jp nz, LinkTradePartiesMenuMasterLoop
+ call HideCursor
push hl
push bc
ld bc, NAME_LENGTH
add hl, bc
- ld [hl], $7f
+ ld [hl], " "
pop bc
pop hl
-
Function28ade: ; 28ade
-.asm_28ade
- ld a, $ed
+.loop1
+ ld a, "▶"
ldcoord_a 9, 17
-.asm_28ae3
+.loop2
call JoyTextDelay
ld a, [hJoyLast]
and a
- jr z, .asm_28ae3
- bit 0, a
- jr nz, .asm_28b0b
+ jr z, .loop2
+ bit A_BUTTON_F, a
+ jr nz, .a_button
push af
ld a, " "
ldcoord_a 9, 17
pop af
- bit 6, a
- jr z, .asm_28b03
+ bit D_UP_F, a
+ jr z, .d_up
ld a, [OTPartyCount]
- ld [MenuSelection2], a
- jp Function28803
+ ld [wMenuCursorY], a
+ jp LinkTrade_OTPartyMenu
-.asm_28b03
+.d_up
ld a, $1
- ld [MenuSelection2], a
- jp Function2888b
+ ld [wMenuCursorY], a
+ jp LinkTrade_PlayerPartyMenu
-.asm_28b0b
- ld a, $ec
+.a_button
+ ld a, "▷"
ldcoord_a 9, 17
ld a, $f
ld [wPlayerLinkAction], a
@@ -1595,14 +1591,13 @@
callba Function16d6ce
ld a, [wOtherPlayerLinkMode]
cp $f
- jr nz, .asm_28ade
-
+ jr nz, .loop1
Function28b22: ; 28b22
call RotateThreePalettesRight
call ClearScreen
ld b, SCGB_08
call GetSGBLayout
- call Function3200
+ call WaitBGMap2
xor a
ld [wcfbb], a
xor a
@@ -1616,6 +1611,7 @@
; 28b42
Function28b42: ; 28b42
+; unreferenced
hlcoord 0, 16
ld a, "┘"
ld bc, 2 * SCREEN_WIDTH
@@ -1625,11 +1621,11 @@
ld bc, SCREEN_WIDTH - 2
call ByteFill
hlcoord 2, 16
- ld de, String_28b61
+ ld de, .Cancel
jp PlaceString
; 28b61
-String_28b61: ; 28b61
+.Cancel: ; 28b61
db "CANCEL@"
; 28b68
@@ -1638,28 +1634,28 @@
hlcoord 6, 9
ld bc, SCREEN_WIDTH
call AddNTimes
- ld [hl], $ec
+ ld [hl], "▷"
ret
; 28b77
-Function28b77: ; 28b77
-.asm_28b77
+LinkEngine_FillBox: ; 28b77
+.row
push bc
push hl
-.asm_28b79
+.col
ld [hli], a
dec c
- jr nz, .asm_28b79
+ jr nz, .col
pop hl
ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
- jr nz, .asm_28b77
+ jr nz, .row
ret
; 28b87
-Function28b87: ; 28b87
+LinkTrade: ; 28b87
xor a
ld [wcf57], a
ld [wOtherPlayerLinkAction], a
@@ -1693,39 +1689,39 @@
call PlaceWholeStringInBoxAtOnce
call LoadStandardMenuDataHeader
hlcoord 10, 7
- ld b, $3
- ld c, $7
+ ld b, 3
+ ld c, 7
call Predef_LinkTextbox
ld de, String28eab
hlcoord 12, 8
call PlaceString
- ld a, $8
- ld [wcfa1], a
- ld a, $b
- ld [wcfa2], a
- ld a, $1
- ld [wcfa4], a
- ld a, $2
- ld [wcfa3], a
+ ld a, 8
+ ld [w2DMenuCursorInitY], a
+ ld a, 11
+ ld [w2DMenuCursorInitX], a
+ ld a, 1
+ ld [w2DMenuNumCols], a
+ ld a, 2
+ ld [w2DMenuNumRows], a
xor a
- ld [wcfa5], a
- ld [wcfa6], a
+ ld [w2DMenuFlags1], a
+ ld [w2DMenuFlags2], a
ld a, $20
- ld [wcfa7], a
- ld a, $3
- ld [wcfa8], a
- ld a, $1
- ld [MenuSelection2], a
- ld [wcfaa], a
+ ld [w2DMenuCursorOffsets], a
+ ld a, A_BUTTON | B_BUTTON
+ ld [wMenuJoypadFilter], a
+ ld a, 1
+ ld [wMenuCursorY], a
+ ld [wMenuCursorX], a
callba Function4d354
- call Function1bd3
+ call ScrollingMenuJoypad
push af
call Call_ExitMenu
- call Function3200
+ call WaitBGMap2
pop af
bit 1, a
jr nz, .asm_28c33
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
jr z, .asm_28c54
@@ -1737,7 +1733,7 @@
ld c, 18
call Predef_LinkTextbox
hlcoord 1, 14
- ld de, String28ece
+ ld de, String_TooBadTheTradeWasCanceled
call PlaceString
callba Function16d6ce
jp Function28ea3
@@ -1754,7 +1750,7 @@
ld c, 18
call Predef_LinkTextbox
hlcoord 1, 14
- ld de, String28ece
+ ld de, String_TooBadTheTradeWasCanceled
call PlaceString
jp Function28ea3
@@ -1837,7 +1833,7 @@
callba GetCaughtGender
ld a, c
ld [wPlayerTrademonCaughtData], a
- ld hl, wd26b
+ ld hl, OTPlayerName
ld de, wOTTrademonSenderName
ld bc, NAME_LENGTH
call CopyBytes
@@ -1886,12 +1882,12 @@
ld [wd002], a
xor a
ld [wPokemonWithdrawDepositParameter], a
- callab Functione039
+ callab RemoveMonFromPartyOrBox
ld a, [PartyCount]
dec a
ld [CurPartyMon], a
ld a, $1
- ld [wd1e9], a
+ ld [wForceEvolution], a
ld a, [wd003]
push af
ld hl, OTPartySpecies
@@ -1937,7 +1933,7 @@
ld [CurPartyMon], a
callab EvolvePokemon
call ClearScreen
- call Function28ef8
+ call LoadTradeScreenBorder
call Function28eff
callba Function4d354
ld b, $1
@@ -1991,14 +1987,14 @@
call DelayFrames
ld a, [wLinkMode]
cp LINK_TIMECAPSULE
- jp z, Function2805d
- jp Function28177
+ jp z, TimeCapsule
+ jp Gen2ToGen2LinkComms
; 28ea3
Function28ea3: ; 28ea3
ld c, 100
call DelayFrames
- jp Function287e3
+ jp InitTradeMenuDisplay
; 28eab
String28eab: ; 28eab
@@ -2014,7 +2010,7 @@
String28ebd: ; 28ebd
db "Trade completed!@"
-String28ece: ; 28ece
+String_TooBadTheTradeWasCanceled: ; 28ece
db "Too bad! The trade"
next "was canceled!@"
@@ -2026,8 +2022,8 @@
ret
; 28ef8
-Function28ef8: ; 28ef8
- callba Function16d696
+LoadTradeScreenBorder: ; 28ef8
+ callba _LoadTradeScreenBorder
ret
; 28eff
@@ -2038,6 +2034,7 @@
; 28f09
Function28f09: ; 28f09
+; unreferenced
hlcoord 0, 0
ld b, 6
ld c, 18
@@ -2046,7 +2043,7 @@
ld b, 6
ld c, 18
call Predef_LinkTextbox
- callba Functionfb60d
+ callba PlaceTradePartnerNamesAndParty
ret
; 28f24
@@ -2064,7 +2061,7 @@
ld b, PARTY_LENGTH ; 6
.loop
ld a, [hli]
- cp $ff
+ cp -1
jr z, .checkitem
cp CHIKORITA ; MEW + 1 ; 151 + 1
jr nc, .mon_too_new
@@ -2161,8 +2158,8 @@
ret
; 29c92
-Special_AbortLink: ; 29c92
- ld c, $3
+WaitForOtherPlayerToExit: ; 29c92
+ ld c, 3
call DelayFrames
ld a, -1
ld [hLinkPlayerNumber], a
@@ -2173,7 +2170,7 @@
ld [rSC], a
ld a, $81
ld [rSC], a
- ld c, $3
+ ld c, 3
call DelayFrames
xor a
ld [rSB], a
@@ -2188,7 +2185,7 @@
ld [rSB], a
ld [hSerialReceive], a
ld [rSC], a
- ld c, $3
+ ld c, 3
call DelayFrames
ld a, -1
ld [hLinkPlayerNumber], a
@@ -2295,9 +2292,9 @@
jr .asm_29d39
.asm_29d79
- call LinkCommunicationsSignalDataReceived
+ call LinkDataReceived
call DelayFrame
- call LinkCommunicationsSignalDataReceived
+ call LinkDataReceived
ld c, $32
call DelayFrames
ld a, $1
@@ -2348,16 +2345,16 @@
call Function29e0c
ld a, [ScriptVar]
and a
- jr z, .asm_29e08
- ld bc, rIE
-.asm_29de0
+ jr z, .vblank
+ ld bc, -1
+.wait
dec bc
ld a, b
or c
- jr nz, .asm_29de0
+ jr nz, .wait
ld a, [wOtherPlayerLinkMode]
cp $5
- jr nz, .asm_29e03
+ jr nz, .script_var
ld a, $6
ld [wPlayerLinkAction], a
ld hl, wcf5b
@@ -2367,14 +2364,14 @@
call Function29e0c
ld a, [wOtherPlayerLinkMode]
cp $6
- jr z, .asm_29e08
+ jr z, .vblank
-.asm_29e03
+.script_var
xor a
ld [ScriptVar], a
ret
-.asm_29e08
+.vblank
xor a
ld [hVBlank], a
ret
@@ -2426,7 +2423,7 @@
ld b, $a
.asm_29e49
call DelayFrame
- call LinkCommunicationsSignalDataReceived
+ call LinkDataReceived
dec b
jr nz, .asm_29e49
ret
@@ -2467,9 +2464,9 @@
ld a, [wd265]
call Function29f17
push af
- call LinkCommunicationsSignalDataReceived
+ call LinkDataReceived
call DelayFrame
- call LinkCommunicationsSignalDataReceived
+ call LinkDataReceived
pop af
ld b, a
ld a, [wd265]
@@ -2593,5 +2590,6 @@
; 29f54
GFX_29f54: ; 29f54
+; unreferenced
INCBIN "gfx/unknown/029f54.2bpp"
; 29fe4
--- /dev/null
+++ b/engine/link_trade.asm
@@ -1,0 +1,363 @@
+LinkCommsBorderGFX:
+INCBIN "gfx/unknown/16cfc1.2bpp"
+; 16d421
+
+__LoadTradeScreenBorder: ; 16d421
+ ld de, LinkCommsBorderGFX
+ ld hl, VTiles2
+ lb bc, BANK(LinkCommsBorderGFX), 70
+ call Get2bpp
+ ret
+; 16d42e
+
+Function16d42e: ; 16d42e
+ ld hl, Tilemap_16d465
+ decoord 0, 0
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
+ call CopyBytes
+ ret
+; 16d43b
+
+Function16d43b: ; 16d43b
+ call LoadStandardMenuDataHeader
+ call ClearBGPalettes
+ call ClearTileMap
+ call ClearSprites
+ callba __LoadTradeScreenBorder ; useless to farcall
+ callba Function16d42e ; useless to farcall
+ ld b, SCGB_08
+ call GetSGBLayout
+ call SetPalettes
+ call WaitBGMap
+ call JoyWaitAorB
+ call Call_ExitMenu
+ ret
+; 16d465
+
+Tilemap_16d465:
+INCBIN "gfx/unknown/16d465.tilemap"
+
+Tilemap_16d5cd:
+INCBIN "gfx/unknown/16d5cd.tilemap"
+
+Tilemap_16d5f5:
+INCBIN "gfx/unknown/16d5f5.tilemap"
+
+_LinkTextbox: ; 16d61d
+ ld h, d
+ ld l, e
+ push bc
+ push hl
+ call .draw_border
+ pop hl
+ pop bc
+
+ ld de, AttrMap - TileMap
+ add hl, de
+ inc b
+ inc b
+ inc c
+ inc c
+ ld a, $7
+.row
+ push bc
+ push hl
+.col
+ ld [hli], a
+ dec c
+ jr nz, .col
+ pop hl
+ ld de, SCREEN_WIDTH
+ add hl, de
+ pop bc
+ dec b
+ jr nz, .row
+ ret
+; 16d640
+
+.draw_border: ; 16d640
+ push hl
+ ld a, $30
+ ld [hli], a
+ inc a
+ call .fill_row
+ inc a
+ ld [hl], a
+ pop hl
+ ld de, SCREEN_WIDTH
+ add hl, de
+.loop
+ push hl
+ ld a, $33
+ ld [hli], a
+ ld a, " "
+ call .fill_row
+ ld [hl], $34
+ pop hl
+ ld de, SCREEN_WIDTH
+ add hl, de
+ dec b
+ jr nz, .loop
+
+ ld a, $35
+ ld [hli], a
+ ld a, $36
+ call .fill_row
+ ld [hl], $37
+ ret
+; 16d66d
+
+.fill_row: ; 16d66d
+ ld d, c
+.loop4
+ ld [hli], a
+ dec d
+ jr nz, .loop4
+ ret
+; 16d673
+
+InitTradeSpeciesList: ; 16d673
+ call _LoadTradeScreenBorder
+ call Function16d6ae
+ callba InitMG_Mobile_LinkTradePalMap
+ callba PlaceTradePartnerNamesAndParty
+ hlcoord 10, 17
+ ld de, .CANCEL
+ call PlaceString
+ ret
+; 16d68f
+
+.CANCEL: ; 16d68f
+ db "CANCEL@"
+; 16d696
+
+_LoadTradeScreenBorder: ; 16d696
+ call __LoadTradeScreenBorder
+ ret
+; 16d69a
+
+
+LinkComms_LoadPleaseWaitTextboxBorderGFX: ; 16d69a
+ ld de, LinkCommsBorderGFX + $30 tiles
+ ld hl, VTiles2 tile $76
+ lb bc, BANK(LinkCommsBorderGFX), 8
+ call Get2bpp
+ ret
+; 16d6a7
+
+Function16d6a7: ; 16d6a7
+ callba Function49811
+ ret
+; 16d6ae
+
+Function16d6ae: ; 16d6ae
+ call Function16d42e
+ ld hl, Tilemap_16d5cd
+ decoord 0, 0
+ ld bc, 2 * SCREEN_WIDTH
+ call CopyBytes
+ ld hl, Tilemap_16d5f5
+ decoord 0, 16
+ ld bc, 2 * SCREEN_WIDTH
+ call CopyBytes
+ ret
+; 16d6ca
+
+LinkTextbox: ; 16d6ca
+ call _LinkTextbox
+ ret
+; 16d6ce
+
+Function16d6ce: ; 16d6ce
+ call LoadStandardMenuDataHeader
+ call Function16d6e1
+ callba Function87d
+ call Call_ExitMenu
+ call WaitBGMap2
+ ret
+; 16d6e1
+
+Function16d6e1: ; 16d6e1
+ hlcoord 4, 10
+ ld b, 1
+ ld c, 10
+ predef Predef_LinkTextbox
+ hlcoord 5, 11
+ ld de, .Waiting
+ call PlaceString
+ call WaitBGMap
+ call WaitBGMap2
+ ld c, 50
+ jp DelayFrames
+; 16d701
+
+.Waiting: ; 16d701
+ db "WAITING..!@"
+; 16d70c
+
+LinkTradeMenu: ; 16d70c
+ call .MenuAction
+ call .GetJoypad
+ ret
+; 16d713
+
+.GetJoypad: ; 16d713
+ push bc
+ push af
+ ld a, [hJoyLast]
+ and D_PAD
+ ld b, a
+ ld a, [hJoyPressed]
+ and BUTTONS
+ or b
+ ld b, a
+ pop af
+ ld a, b
+ pop bc
+ ld d, a
+ ret
+; 16d725
+
+.MenuAction: ; 16d725
+ ld hl, w2DMenuFlags2
+ res 7, [hl]
+ ld a, [hBGMapMode]
+ push af
+ call .loop
+ pop af
+ ld [hBGMapMode], a
+ ret
+
+.loop
+ call .UpdateCursor
+ call .UpdateBGMapAndOAM
+ call .loop2
+ jr nc, .done
+ callba _2DMenuInterpretJoypad
+ jr c, .done
+ ld a, [w2DMenuFlags1]
+ bit 7, a
+ jr nz, .done
+ call .GetJoypad
+ ld b, a
+ ld a, [wMenuJoypadFilter]
+ and b
+ jr z, .loop
+
+.done
+ ret
+; 16d759
+
+.UpdateBGMapAndOAM: ; 16d759
+ ld a, [hOAMUpdate]
+ push af
+ ld a, $1
+ ld [hOAMUpdate], a
+ call WaitBGMap
+ pop af
+ ld [hOAMUpdate], a
+ xor a
+ ld [hBGMapMode], a
+ ret
+
+.loop2
+ call RTC
+ call .TryAnims
+ ret c
+ ld a, [w2DMenuFlags1]
+ bit 7, a
+ jr z, .loop2
+ and a
+ ret
+; 16d77a
+
+.UpdateCursor: ; 16d77a
+ ld hl, wCursorCurrentTile
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [hl]
+ cp $1f
+ jr nz, .not_currently_selected
+ ld a, [wCursorOffCharacter]
+ ld [hl], a
+ push hl
+ push bc
+ ld bc, PKMN_NAME_LENGTH
+ add hl, bc
+ ld [hl], a
+ pop bc
+ pop hl
+
+.not_currently_selected
+ ld a, [w2DMenuCursorInitY]
+ ld b, a
+ ld a, [w2DMenuCursorInitX]
+ ld c, a
+ call Coord2Tile
+ ld a, [w2DMenuCursorOffsets]
+ swap a
+ and $f
+ ld c, a
+ ld a, [wMenuCursorY]
+ ld b, a
+ xor a
+ dec b
+ jr z, .skip
+.loop3
+ add c
+ dec b
+ jr nz, .loop3
+
+.skip
+ ld c, SCREEN_WIDTH
+ call AddNTimes
+ ld a, [w2DMenuCursorOffsets]
+ and $f
+ ld c, a
+ ld a, [wMenuCursorX]
+ ld b, a
+ xor a
+ dec b
+ jr z, .skip2
+.loop4
+ add c
+ dec b
+ jr nz, .loop4
+
+.skip2
+ ld c, a
+ add hl, bc
+ ld a, [hl]
+ cp $1f
+ jr z, .cursor_already_there
+ ld [wCursorOffCharacter], a
+ ld [hl], $1f
+ push hl
+ push bc
+ ld bc, PKMN_NAME_LENGTH
+ add hl, bc
+ ld [hl], $1f
+ pop bc
+ pop hl
+.cursor_already_there
+ ld a, l
+ ld [wCursorCurrentTile], a
+ ld a, h
+ ld [wCursorCurrentTile + 1], a
+ ret
+; 16d7e7
+
+.TryAnims: ; 16d7e7
+ ld a, [w2DMenuFlags1]
+ bit 6, a
+ jr z, .skip_anims
+ callba PlaySpriteAnimationsAndDelayFrame
+.skip_anims
+ call JoyTextDelay
+ call .GetJoypad
+ and a
+ ret z
+ scf
+ ret
+; 16d7fe
--- a/engine/mail.asm
+++ b/engine/mail.asm
@@ -27,7 +27,7 @@
call ByteFill
ld a, MON_ITEM
call GetPartyParamLocation
- ld [hl], $0
+ ld [hl], 0
ld hl, sMailboxCount
inc [hl]
call CloseSRAM
@@ -177,7 +177,7 @@
jr c, .close_sram_return
xor a
ld [wPokemonWithdrawDepositParameter], a
- callba Functione039
+ callba RemoveMonFromPartyOrBox
ld a, $1
.close_sram_return
@@ -208,12 +208,12 @@
push bc
push af
ld hl, sPartyMail
- ld bc, $2f
+ ld bc, MAIL_STRUCT_LENGTH
call AddNTimes
ld d, h
ld e, l
ld hl, wd002
- ld bc, $21
+ ld bc, MAIL_MSG_LENGTH + 1
ld a, BANK(sPartyMail)
call GetSRAMBank
call CopyBytes
@@ -222,7 +222,7 @@
ld hl, PartyMonOT
ld bc, NAME_LENGTH
call AddNTimes
- ld bc, $a
+ ld bc, NAME_LENGTH - 1
call CopyBytes
pop af
ld hl, PartyMon1ID
@@ -315,7 +315,7 @@
jr z, .nomail
call LoadStandardMenuDataHeader
call MailboxPC
- jp WriteBackup
+ jp CloseWindow
.nomail
ld hl, .EmptyMailboxText
@@ -355,7 +355,7 @@
ret
; 0x447da
-Function447da: ; 0x447da
+MailboxPC_GetMailAuthor: ; 0x447da
dec a
ld hl, sMailbox1Author
ld bc, MAIL_STRUCT_LENGTH
@@ -373,10 +373,10 @@
ret
; 0x447fb
-Function447fb: ; 0x447fb
+MailboxPC_PrintMailAuthor: ; 0x447fb
push de
ld a, [MenuSelection]
- call Function447da
+ call MailboxPC_GetMailAuthor
pop hl
jp PlaceString
; 0x44806
@@ -384,11 +384,11 @@
MailboxPC: ; 0x44806
xor a
ld [OBPals + 8 * 6], a
- ld a, $1
+ ld a, 1
ld [wCurMessageIndex], a
.loop
call InitMail
- ld hl, MenuData4494c
+ ld hl, .TopMenuDataHeader
call CopyMenuDataHeader
xor a
ld [hBGMapMode], a
@@ -399,16 +399,16 @@
ld [wMenuCursorBuffer], a
ld a, [OBPals + 8 * 6]
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
+ call ScrollingMenu
ld a, [wMenuScrollPosition]
ld [OBPals + 8 * 6], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wCurMessageIndex], a
- ld a, [wcf73]
- cp $2
+ ld a, [wMenuJoypad]
+ cp B_BUTTON
jr z, .exit
- call Function4484a
+ call .Submenu
jr .loop
.exit
@@ -416,18 +416,18 @@
ret
; 0x4484a
-Function4484a: ; 0x4484a
- ld hl, MenuData44964
+.Submenu: ; 0x4484a
+ ld hl, .SubMenuDataHeader
call LoadMenuDataHeader
- call InterpretMenu2
+ call VerticalMenu
call ExitMenu
- jr c, .exit
- ld a, [MenuSelection2]
+ jr c, .subexit
+ ld a, [wMenuCursorY]
dec a
ld hl, .JumpTable
rst JumpTable
-.exit
+.subexit
ret
; 0x44861
@@ -443,7 +443,7 @@
dec a
ld b, a
call ReadMailMessage
- jp ReturnToCallingMenu
+ jp CloseSubmenu
; 0x44877
.PutInPack ; 0x44877
@@ -455,7 +455,7 @@
ld a, [MenuSelection]
dec a
call .GetMailType
- ld a, $1
+ ld a, 1
ld [wItemQuantityChangeBuffer], a
ld hl, NumItems
call ReceiveItem
@@ -539,7 +539,7 @@
call PrintText
.exit2
- jp ReturnToCallingMenu
+ jp CloseSubmenu
; 0x4493c
.HoldingMailText ; 0x4493c
@@ -557,30 +557,30 @@
.Cancel
ret
-MenuData4494c: ; 0x4494c
+.TopMenuDataHeader: ; 0x4494c
db %01000000 ; flags
db 1, 8 ; start coords
db 10, 18 ; end coords
- dw .MenuData2
+ dw .TopMenuData2
db 1 ; default option
-.MenuData2
+.TopMenuData2
db %00010000 ; flags
db 4, 0 ; rows/columns?
db 1 ; horizontal spacing?
dbw 0, wMailboxCount ; text pointer
- dba Function447fb
- dbw 0,0
- dbw 0,0
+ dba MailboxPC_PrintMailAuthor
+ dba NULL
+ dba NULL
-MenuData44964: ; 0x44964
+.SubMenuDataHeader: ; 0x44964
db %01000000 ; flags
- db 0, 0 ; start coords
- db 9, $d ; end coords
- dw .MenuData2
+ db 0, 0 ; start coords
+ db 9, 13 ; end coords
+ dw .SubMenuData2
db 1 ; default option
-.MenuData2
+.SubMenuData2
db %10000000 ; flags
db 4 ; items
db "READ MAIL@"
--- a/engine/main_menu.asm
+++ b/engine/main_menu.asm
@@ -11,17 +11,17 @@
call SetPalettes
ld hl, GameTimerPause
res 0, [hl]
- call Function49da4
- ld [wcf76], a
- call Function49e09
- ld hl, MenuDataHeader_0x49d14
+ call MainMenu_GetWhichMenu
+ ld [wWhichIndexSet], a
+ call MainMenu_PrintCurrentTimeAndDay
+ ld hl, .MenuDataHeader
call LoadMenuDataHeader
- call Function49de4
- call WriteBackup
+ call MainMenuJoypadLoop
+ call CloseWindow
jr c, .quit
call ClearTileMap
ld a, [MenuSelection]
- ld hl, Jumptable_49d60
+ ld hl, .Jumptable
rst JumpTable
jr MainMenu
@@ -29,23 +29,23 @@
ret
; 49d14
-MenuDataHeader_0x49d14: ; 49d14
+.MenuDataHeader: ; 49d14
db $40 ; flags
db 00, 00 ; start coords
db 07, 16 ; end coords
- dw MenuData2_0x49d1c
+ dw .MenuData2
db 1 ; default option
; 49d1c
-MenuData2_0x49d1c: ; 49d1c
+.MenuData2: ; 49d1c
db $80 ; flags
db 0 ; items
dw MainMenuItems
- dw Function1f79
- dw MainMenuText
+ dw PlaceMenuStrings
+ dw .Strings
; 49d20
-MainMenuText: ; 49d24
+.Strings: ; 49d24
db "CONTINUE@"
db "NEW GAME@"
db "OPTION@"
@@ -53,7 +53,8 @@
db "MOBILE@"
db "MOBILE STUDIUM@"
-Jumptable_49d60: ; 0x49d60
+.Jumptable: ; 0x49d60
+
dw MainMenu_Continue
dw MainMenu_NewGame
dw MainMenu_Options
@@ -75,7 +76,7 @@
db 2
db NEW_GAME
db OPTION
- db $ff
+ db -1
ContinueMenu: ; 0x49d70
db 3
@@ -82,7 +83,7 @@
db CONTINUE
db NEW_GAME
db OPTION
- db $ff
+ db -1
MobileMysteryMenu: ; 0x49d75
db 5
@@ -91,7 +92,7 @@
db OPTION
db MYSTERY_GIFT
db MOBILE
- db $ff
+ db -1
MobileMenu: ; 0x49d7c
db 4
@@ -99,7 +100,7 @@
db NEW_GAME
db OPTION
db MOBILE
- db $ff
+ db -1
MobileStudiumMenu: ; 0x49d82
db 5
@@ -108,7 +109,7 @@
db OPTION
db MOBILE
db MOBILE_STUDIUM
- db $ff
+ db -1
MysteryMobileStudiumMenu: ; 0x49d89
db 6
@@ -118,7 +119,7 @@
db MYSTERY_GIFT
db MOBILE
db MOBILE_STUDIUM
- db $ff
+ db -1
MysteryMenu: ; 0x49d91
db 4
@@ -126,7 +127,7 @@
db NEW_GAME
db OPTION
db MYSTERY_GIFT
- db $ff
+ db -1
MysteryStudiumMenu: ; 0x49d97
db 5
@@ -135,7 +136,7 @@
db OPTION
db MYSTERY_GIFT
db MOBILE_STUDIUM
- db $ff
+ db -1
StudiumMenu: ; 0x49d9e
db 4
@@ -143,10 +144,10 @@
db NEW_GAME
db OPTION
db MOBILE_STUDIUM
- db $ff
+ db -1
-Function49da4: ; 49da4
+MainMenu_GetWhichMenu: ; 49da4
nop
nop
nop
@@ -153,7 +154,7 @@
ld a, [wSaveFileExists]
and a
jr nz, .next
- ld a, $0
+ ld a, $0 ; New Game
ret
.next
@@ -164,12 +165,12 @@
ld a, BANK(sNumDailyMysteryGiftPartnerIDs)
call GetSRAMBank
ld a, [sNumDailyMysteryGiftPartnerIDs]
- cp $ff
+ cp -1
call CloseSRAM
- jr nz, .done
+ jr nz, .mystery_gift
ld a, [StatusFlags]
bit 7, a
- ld a, $1
+ ld a, $1 ; Continue
jr z, .ok
jr .ok
@@ -177,10 +178,10 @@
jr .ok2
.ok2
- ld a, $1
+ ld a, $1 ; Continue
ret
-.done
+.mystery_gift
ld a, [StatusFlags]
bit 7, a
jr z, .ok3
@@ -190,47 +191,47 @@
jr .ok4
.ok4
- ld a, $6
+ ld a, $6 ; Mystery Gift
ret
; 49de4
-Function49de4: ; 49de4
+MainMenuJoypadLoop: ; 49de4
call SetUpMenu
-.asm_49de7
- call Function49e09
- ld a, [wcfa5]
+.loop
+ call MainMenu_PrintCurrentTimeAndDay
+ ld a, [w2DMenuFlags1]
set 5, a
- ld [wcfa5], a
+ ld [w2DMenuFlags1], a
call Function1f1a
- ld a, [wcf73]
- cp $2
- jr z, .asm_49e07
- cp $1
- jr z, .asm_49e02
- jr .asm_49de7
+ ld a, [wMenuJoypad]
+ cp B_BUTTON
+ jr z, .b_button
+ cp A_BUTTON
+ jr z, .a_button
+ jr .loop
-.asm_49e02
+.a_button
call PlayClickSFX
and a
ret
-.asm_49e07
+.b_button
scf
ret
; 49e09
-Function49e09: ; 49e09
+MainMenu_PrintCurrentTimeAndDay: ; 49e09
ld a, [wSaveFileExists]
and a
ret z
xor a
ld [hBGMapMode], a
- call Function49e27
+ call .PlaceBox
ld hl, Options
ld a, [hl]
push af
- set 4, [hl]
- call Function49e3d
+ set NO_TEXT_SCROLL, [hl]
+ call .PlaceTime
pop af
ld [Options], a
ld a, $1
@@ -239,34 +240,34 @@
; 49e27
-Function49e27: ; 49e27
+.PlaceBox: ; 49e27
call CheckRTCStatus
and $80
- jr nz, .asm_49e39
+ jr nz, .TimeFail
hlcoord 0, 14
- ld b, $2
- ld c, $12
+ ld b, 2
+ ld c, 18
call TextBox
ret
-.asm_49e39
+.TimeFail
call SpeechTextBox
ret
; 49e3d
-Function49e3d: ; 49e3d
+.PlaceTime: ; 49e3d
ld a, [wSaveFileExists]
and a
ret z
call CheckRTCStatus
and $80
- jp nz, Function49e75
+ jp nz, .PrintTimeNotSet
call UpdateTime
call GetWeekday
ld b, a
decoord 1, 15
- call Function49e91
+ call .PlaceCurrentDay
decoord 4, 16
ld a, [hHours]
ld c, a
@@ -277,13 +278,13 @@
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
call PrintNum
ret
-; 49e70
-; 49e70
+.min
+; unreferenced
db "min.@"
; 49e75
-Function49e75: ; 49e75
+.PrintTimeNotSet: ; 49e75
hlcoord 1, 14
ld de, .TimeNotSet
call PlaceString
@@ -294,12 +295,13 @@
db "TIME NOT SET@"
; 49e8c
-UnknownText_0x49e8c: ; 49e8c
+.UnusedText ; 49e8c
+ ; Clock time unknown
text_jump UnknownText_0x1c5182
db "@"
; 49e91
-Function49e91: ; 49e91
+.PlaceCurrentDay: ; 49e91
push de
ld hl, .Days
ld a, b
@@ -333,7 +335,7 @@
call ClearTileMap
call LoadFontsExtra
call LoadStandardFont
- call ResetTextRelatedRAM
+ call ClearWindowData
ret
; 49ee0
@@ -357,886 +359,3 @@
callba MysteryGift
ret
; 49efc
-
-MainMenu_Mobile: ; 49efc
- call ClearBGPalettes
- ld a, MUSIC_MOBILE_ADAPTER_MENU
- ld [wMapMusic], a
- ld de, MUSIC_MOBILE_ADAPTER_MENU
- call Function4a6c5
-Function49f0a: ; 49f0a
- call ClearBGPalettes
- call Function4a3a7
- call Function4a492
- call ClearBGPalettes
-Function49f16: ; 49f16
- call Function4a071
- ld c, 12
- call DelayFrames
- hlcoord 4, 0
- ld b, $a
- ld c, $a
- call Function48cdc
- hlcoord 6, 2
- ld de, MobileString1
- call PlaceString
- hlcoord 0, 12
- ld b, $4
- ld c, $12
- call TextBox
- xor a
- ld de, String_0x49fe9
- hlcoord 1, 14
- call PlaceString
- call Function3200
- call SetPalettes
- call Function1bc9
- ld hl, MenuSelection2
- ld b, [hl]
- push bc
- jr .asm_49f5d
-
-.asm_49f55
- call Function1bd3
- ld hl, MenuSelection2
- ld b, [hl]
- push bc
-
-.asm_49f5d
- bit 0, a
- jr nz, .asm_49f67
- bit 1, a
- jr nz, .asm_49f84
- jr .asm_49f97
-
-.asm_49f67
- ld hl, MenuSelection2
- ld a, [hl]
- cp $1
- jp z, Function4a098
- cp $2
- jp z, Function4a0b9
- cp $3
- jp z, Function4a0c2
- cp $4
- jp z, Function4a100
- ld a, $1
- call Function1ff8
-
-.asm_49f84
- pop bc
- call ClearBGPalettes
- call ClearTileMap
- ld a, MUSIC_MAIN_MENU
- ld [wMapMusic], a
- ld de, MUSIC_MAIN_MENU
- call Function4a6c5
- ret
-
-.asm_49f97
- ld hl, MenuSelection2
- ld a, [hl]
- dec a
- ld hl, MobileStrings2
- call GetNthString
- ld d, h
- ld e, l
- hlcoord 1, 13
- ld b, $4
- ld c, $12
- call ClearBox
- hlcoord 1, 14
- call PlaceString
- jp .asm_49fb7
-
-.asm_49fb7
- call Function4a071
- pop bc
- ld hl, MenuSelection2
- ld [hl], b
- ld b, $a
- ld c, $1
- hlcoord 5, 1
- call ClearBox
- jp .asm_49f55
-; 49fcc
-
-
-MobileString1: ; 49fcc
- db "めいしフ,ルダー"
- next "あいさつ"
- next "プロフィール"
- next "せ", $1e, "い"
- next "もどる"
- db "@"
-; 49fe9
-
-
-MobileStrings2:
-
-String_0x49fe9: ; 49fe9
- db "めいし¯つくったり"
- next "ほぞんしておける フ,ルダーです@"
-; 4a004
-
-String_0x4a004: ; 4a004
- db "モバイルたいせんや じぶんのめいしで"
- next "つかう あいさつ¯つくります@"
-; 4a026
-
-String_0x4a026: ; 4a026
- db "あなた%じゅうしょや ねんれいの"
- next "せ", $1e, "い¯かえられます@"
-; 4a042
-
-String_0x4a042: ; 4a042
- db "モバイルセンター", $1d, "せつぞくするとき"
- next "ひつような こと¯きめます@"
-; 4a062
-
-String_0x4a062: ; 4a062
- db "まえ%がめん ", $1d, "もどります"
- next "@"
-; 4a071
-
-Function4a071: ; 4a071 (12:6071)
- ld hl, wcfa1
- ld a, $2
- ld [hli], a
- ld a, $5
- ld [hli], a
- ld a, $5
- ld [hli], a
- ld a, $1
- ld [hli], a
- ld [hl], $0
- set 5, [hl]
- inc hl
- xor a
- ld [hli], a
- ld a, $20
- ld [hli], a
- ld a, $1
- add $40
- add $80
- add $2
- ld [hli], a
- ld a, $1
-rept 2
- ld [hli], a
-endr
- ret
-
-Function4a098: ; 4a098 (12:6098)
- ld a, $2
- call Function1ff8
- call Function1bee
- call WaitBGMap
- call LoadStandardMenuDataHeader
- callba Function89de0
- call Call_ExitMenu
- call Function49351
- call Function4a485
- pop bc
- jp Function49f16
-
-Function4a0b9: ; 4a0b9 (12:60b9)
- ld a, $2
- call Function1ff8
- pop bc
- jp Function4a4c4
-
-Function4a0c2: ; 4a0c2 (12:60c2)
- ld a, $2
- call Function1ff8
- ld a, BANK(sPlayerData)
- call GetSRAMBank
- ld hl, sPlayerData + PlayerName - wPlayerData
- ld de, PlayerName
- ld bc, $6
- call CopyBytes
- call CloseSRAM
- callba Function150b9
- ld c, 2
- call DelayFrames
- ld c, $1
- call InitMobileProfile
- push af
- call ClearBGPalettes
- pop af
- and a
- jr nz, .asm_4a0f9
- callba _SaveData
-.asm_4a0f9
- ld c, 5
- call DelayFrames
- jr asm_4a111
-
-Function4a100: ; 4a100 (12:6100)
- ld a, $2
- call Function1ff8
- call ClearBGPalettes
- call Function4a13b
- call ClearBGPalettes
- call ClearTileMap
-
-asm_4a111: ; 4a111 (12:6111)
- pop bc
- call LoadFontsExtra
- jp Function49f0a
-
-Function4a118: ; 4a118 (12:6118)
- ld hl, wcfa1
- ld a, $1
- ld [hli], a
- ld a, $d
- ld [hli], a
- ld a, $3
- ld [hli], a
- ld a, $1
- ld [hli], a
- ld [hl], $0
- set 5, [hl]
- inc hl
- xor a
- ld [hli], a
- ld a, $20
- ld [hli], a
- ld a, $1
- add $2
- ld [hli], a
- ld a, $1
-rept 2
- ld [hli], a
-endr
- ret
-
-Function4a13b: ; 4a13b (12:613b)
- call Function4a3a7
- call Function4a492
- call Function4a373
- ld c, 10
- call DelayFrames
-
-Function4a149: ; 4a149 (12:6149)
- hlcoord 1, 2
- ld b, $6
- ld c, $10
- call Function48cdc
- hlcoord 3, 4
- ld de, String_4a1ef
- call PlaceString
- hlcoord 0, 12
- ld b, $4
- ld c, $12
- call TextBox
- ld a, [MenuSelection2]
- dec a
- ld hl, Strings_4a23d
- call GetNthString
- ld d, h
- ld e, l
- hlcoord 1, 13
- ld b, $4
- ld c, $12
- call ClearBox
- hlcoord 1, 14
- call PlaceString
- callba Function104148
- call SetPalettes
- call Function1bc9
- ld hl, MenuSelection2
- ld b, [hl]
- push bc
- jr asm_4a19d
-
-Function4a195: ; 4a195 (12:6195)
- call Function1bd3
- ld hl, MenuSelection2
- ld b, [hl]
- push bc
-
-asm_4a19d: ; 4a19d (12:619d)
- bit 0, a
- jr nz, .asm_4a1a7
- bit 1, a
- jr nz, .asm_4a1ba
- jr .asm_4a1bc
-.asm_4a1a7
- ld hl, MenuSelection2
- ld a, [hl]
- cp $1
- jp z, Function4a20e
- cp $2
- jp z, Function4a221
- ld a, $1
- call Function1ff8
-.asm_4a1ba
- pop bc
- ret
-.asm_4a1bc
- ld hl, MenuSelection2
- ld a, [hl]
- dec a
- ld hl, Strings_4a23d
- call GetNthString
- ld d, h
- ld e, l
- hlcoord 1, 13
- ld b, $4
- ld c, $12
- call ClearBox
- hlcoord 1, 14
- call PlaceString
- jr .asm_4a1db
-.asm_4a1db
- call Function4a373
- pop bc
- ld hl, MenuSelection2
- ld [hl], b
- lb bc, 6, 1
- hlcoord 2, 3
- call ClearBox
- jp Function4a195
-; 4a1ef (12:61ef)
-
-String_4a1ef: ; 4a1ef
- db "モバイルセンター¯えらぶ"
- next "ログインパスワード¯いれる"
- next "もどる@"
-; 4a20e
-
-Function4a20e: ; 4a20e (12:620e)
- ld a, $1
- call Function1ff8
- callba Function1719c8
- call ClearBGPalettes
- call DelayFrame
- jr Function4a239
-
-Function4a221: ; 4a221 (12:6221)
- ld a, $1
- call Function1ff8
- call Function4a28a
- jr c, Function4a239
- call Function4a373
- ld a, $2
- ld [MenuSelection2], a
- jr .asm_4a235
-.asm_4a235
- pop bc
- jp Function4a149
-
-Function4a239: ; 4a239 (12:6239)
- pop bc
- jp Function4a13b
-; 4a23d (12:623d)
-
-Strings_4a23d: ; 4a23d
- db "いつも せつぞく¯する"
- next "モバイルセンター¯えらびます@"
-
- db "モバイルセンター", $1d, "せつぞくするとき"
- next "つかうパスワード¯ほぞんできます@"
-
- db "まえ%がめん ", $1d, "もどります@"
-
- db "@"
-; 4a28a
-
-Function4a28a: ; 4a28a (12:628a)
- hlcoord 2, 3
- lb bc, 6, 1
- ld a, " "
- call Function4a6d8
- call Function1bee
- call WaitBGMap
- call LoadStandardMenuDataHeader
- ld a, $5
- call GetSRAMBank
- ld a, [$aa4b]
- call CloseSRAM
- and a
- jr z, .asm_4a2df
- hlcoord 12, 0
- ld b, $5
- ld c, $6
- call Function48cdc
- hlcoord 14, 1
- ld de, String_4a34b
- call PlaceString
- callba Function104148
- call Function4a118
- call Function1bd3
- push af
- call PlayClickSFX
- pop af
- bit 1, a
- jr nz, .asm_4a33b
- ld a, [MenuSelection2]
- cp $2
- jr z, .asm_4a2f0
- cp $3
- jr z, .asm_4a33b
-.asm_4a2df
- callba Function11765d
- call ClearBGPalettes
- call Call_ExitMenu
- call LoadFontsExtra
- scf
- ret
-.asm_4a2f0
- call Function1bee
- ld hl, UnknownText_0x4a358
- call PrintText
- hlcoord 14, 7
- ld b, $3
- ld c, $4
- call TextBox
- callba Function104148
- ld hl, MenuDataHeader_0x4a362
- call LoadMenuDataHeader
- call InterpretMenu2
- bit 1, a
- jr nz, .asm_4a338
- ld a, [MenuSelection2]
- cp $2
- jr z, .asm_4a338
- ld a, $5
- call GetSRAMBank
- ld hl, $aa4b
- xor a
- ld bc, $11
- call ByteFill
- call CloseSRAM
- ld hl, UnknownText_0x4a35d
- call PrintText
- call JoyWaitAorB
-.asm_4a338
- call ExitMenu
-.asm_4a33b
- call Call_ExitMenu
- callba Function104148
- xor a
- ret
-; 4a346 (12:6346)
-
-MenuDataHeader_0x4a346: ; 0x4a346
- db $40 ; flags
- db 00, 12 ; start coords
- db 06, 19 ; end coords
-
-String_4a34b: ; 4a34b
- db "いれなおす"
- next "けす"
- next "もどる@"
-; 4a358
-
-UnknownText_0x4a358: ; 0x4a358
- ; Delete the saved LOG-IN PASSWORD?
- text_jump UnknownText_0x1c5196
- db "@"
-; 0x4a35d
-
-UnknownText_0x4a35d: ; 0x4a35d
- ; Deleted the LOG-IN PASSWORD.
- text_jump UnknownText_0x1c51b9
- db "@"
-; 0x4a362
-
-MenuDataHeader_0x4a362: ; 0x4a362
- db $40 ; flags
- db 07, 14 ; start coords
- db 11, 19 ; end coords
- dw MenuData2_0x4a36a
- db 2 ; default option
-; 0x4a36a
-
-MenuData2_0x4a36a: ; 0x4a36a
- db $e0 ; flags
- db 2 ; items
- db "はい@"
- db "いいえ@"
-; 0x4a373
-
-Function4a373: ; 4a373 (12:6373)
- ld hl, wcfa1
- ld a, $4
- ld [hli], a
- ld a, $2
- ld [hli], a
- ld a, $3
- ld [hli], a
- ld a, $1
- ld [hli], a
- ld [hl], $0
- set 5, [hl]
- inc hl
- xor a
- ld [hli], a
- ld a, $20
- ld [hli], a
- ld a, $1
- add $40
- add $80
- add $2
- ld [hli], a
- ld a, $1
-rept 2
- ld [hli], a
-endr
- ret
-; 4a39a (12:639a)
-
-Function4a39a: ; 4a39a
- call Function4a485
- call Function4a492
- call Function4a3aa
- call SetPalettes
- ret
-; 4a3a7
-
-Function4a3a7: ; 4a3a7 (12:63a7)
- call Function4a485
-Function4a3aa: ; 4a3aa
- hlcoord 0, 0
- lb bc, 3, 1
- xor a
- call Function4a6d8
- lb bc, 1, 1
- ld a, $1
- call Function4a6d8
- lb bc, 1, 1
- xor a
- call Function4a6d8
- lb bc, 1, 1
- ld a, $1
- call Function4a6d8
- lb bc, 4, 1
- ld a, $2
- call Function4a6d8
- lb bc, 1, 1
- ld a, $3
- call Function4a6d8
- lb bc, 1, 1
- ld a, " "
- call Function4a6d8
- hlcoord 1, 0
- ld a, $1
- lb bc, 3, 18
- call Function4a6d8
- lb bc, 1, 18
- ld a, $0
- call Function4a6d8
- lb bc, 1, 18
- ld a, $1
- call Function4a6d8
- lb bc, 1, 18
- ld a, $2
- call Function4a6d8
- lb bc, 11, 18
- ld a, " "
- call Function4a6d8
- hlcoord 19, 0
- lb bc, 3, 1
- ld a, $0
- call Function4a6d8
- lb bc, 1, 1
- ld a, $1
- call Function4a6d8
- lb bc, 1, 1
- xor a
- call Function4a6d8
- lb bc, 1, 1
- ld a, $1
- call Function4a6d8
- lb bc, 4, 1
- ld a, $2
- call Function4a6d8
- lb bc, 1, 1
- ld a, $3
- call Function4a6d8
- lb bc, 1, 1
- ld a, " "
- call Function4a6d8
- ret
-; 4a449 (12:6449)
-
-Function4a449: ; 4a449
- ld bc, 3 * SCREEN_WIDTH
- ld a, $0
- hlcoord 0, 0
- call ByteFill
- ld bc, 2 * SCREEN_WIDTH
- ld a, $1
- call ByteFill
- ld bc, 2 * SCREEN_WIDTH
- ld a, $0
- call ByteFill
- ld bc, 2 * SCREEN_WIDTH
- ld a, $1
- call ByteFill
- ld bc, SCREEN_WIDTH
- ld a, $2
- call ByteFill
- ld bc, SCREEN_WIDTH
- ld a, $3
- call ByteFill
- ld bc, SCREEN_WIDTH
- ld a, " "
- call ByteFill
- ret
-; 4a485
-
-Function4a485: ; 4a485 (12:6485)
- ld de, GFX_49c0c
- ld hl, VTiles2 tile $00
- lb bc, BANK(GFX_49c0c), $d
- call Get2bpp
- ret
-
-Function4a492: ; 4a492 (12:6492)
- call Function4936e
- ret
-
-
-MainMenu_MobileStudium: ; 4a496
- ld a, [StartDay]
- ld b, a
- ld a, [StartHour]
- ld c, a
- ld a, [StartMinute]
- ld d, a
- ld a, [StartSecond]
- ld e, a
- push bc
- push de
- callba MobileStudium
- call ClearBGPalettes
- pop de
- pop bc
- ld a, b
- ld [StartDay], a
- ld a, c
- ld [StartHour], a
- ld a, d
- ld [StartMinute], a
- ld a, e
- ld [StartSecond], a
- ret
-; 4a4c4
-
-
-Function4a4c4: ; 4a4c4 (12:64c4)
- call ClearBGPalettes
- call Function4a3a7
- call Function4a492
- call Function4a680
- call ClearBGPalettes
- ld c, 20
- call DelayFrames
- hlcoord 2, 0
- ld b, $a
- ld c, $e
- call Function48cdc
- hlcoord 4, 2
- ld de, String_4a5c5
- call PlaceString
- hlcoord 4, 4
- ld de, String_4a5cd
- call PlaceString
- hlcoord 4, 6
- ld de, String_4a5da
- call PlaceString
- hlcoord 4, 8
- ld de, String_4a5e6
- call PlaceString
- hlcoord 4, 10
- ld de, String_4a5f2
- call PlaceString
- hlcoord 0, 12
- ld b, $4
- ld c, $12
- call TextBox
- xor a
- ld hl, Strings_4a5f6
- ld d, h
- ld e, l
- hlcoord 1, 14
- call PlaceString
- ld a, $1
- ld hl, Strings_4a5f6
- call GetNthString
- ld d, h
- ld e, l
- hlcoord 1, 16
- call PlaceString
- call Function3200
- call SetPalettes
- call Function1bc9
- ld hl, MenuSelection2
- ld b, [hl]
- push bc
- jr asm_4a54d
-
-Function4a545: ; 4a545 (12:6545)
- call Function1bd3
- ld hl, MenuSelection2
- ld b, [hl]
- push bc
-
-asm_4a54d: ; 4a54d (12:654d)
- bit 0, a
- jr nz, .asm_4a557
- bit 1, a
- jr nz, .asm_4a574
- jr .asm_4a57e
-.asm_4a557
- ld hl, MenuSelection2
- ld a, [hl]
- cp $1
- jp z, Function4a6ab
- cp $2
- jp z, Function4a6ab
- cp $3
- jp z, Function4a6ab
- cp $4
- jp z, Function4a6ab
- ld a, $1
- call Function1ff8
-.asm_4a574
- pop bc
- call ClearBGPalettes
- call ClearTileMap
- jp Function49f0a
-.asm_4a57e
- ld hl, MenuSelection2
- ld a, [hl]
- dec a
- add a
- push af
- ld hl, Strings_4a5f6
- call GetNthString
- ld d, h
- ld e, l
- hlcoord 1, 13
- ld b, $4
- ld c, $12
- call ClearBox
- hlcoord 1, 14
- call PlaceString
- pop af
- inc a
- ld hl, Strings_4a5f6
- call GetNthString
- ld d, h
- ld e, l
- hlcoord 1, 16
- call PlaceString
- jp Function4a5b0
-
-Function4a5b0: ; 4a5b0 (12:65b0)
- call Function4a680
- pop bc
- ld hl, MenuSelection2
- ld [hl], b
- ld b, $a
- ld c, $1
- hlcoord 3, 1
- call ClearBox
- jp Function4a545
-; 4a5c5 (12:65c5)
-
-String_4a5c5: ; 4a5c5
- db "じこしょうかい@"
-String_4a5cd: ; 4a5cd
- db "たいせん ", $4a, "はじまるとき@"
-String_4a5da: ; 4a5da
- db "たいせん ", $1d, "かったとき@"
-String_4a5e6: ; 4a5e6
- db "たいせん ", $1d, "まけたとき@"
-String_4a5f2: ; 4a5f2
- db "もどる@"
-; 4a5f6
-
-Strings_4a5f6: ; 4a5f6
- db "めいし や ニュース ", $1d, "のせる@"
- db "あなた%あいさつです@"
- db "モバイル たいせん", $4a, "はじまるとき@"
- db "あいて", $1d, "みえる あいさつです@"
- db "モバイル たいせんで かったとき@"
- db "あいて", $1d, "みえる あいさつです@"
- db "モバイル たいせんで まけたとき@"
- db "あいて", $1d, "みえる あいさつです@"
- db "まえ%がめん ", $1d, "もどります@"
- db "@"
-; 4a680
-
-Function4a680: ; 4a680 (12:6680)
- ld hl, wcfa1
- ld a, $2
- ld [hli], a
- ld a, $3
- ld [hli], a
- ld a, $5
- ld [hli], a
- ld a, $1
- ld [hli], a
- ld [hl], $0
- set 5, [hl]
- inc hl
- xor a
- ld [hli], a
- ld a, $20
- ld [hli], a
- ld a, $1
- add $40
- add $80
- add $2
- ld [hli], a
- ld a, $1
-rept 2
- ld [hli], a
-endr
- xor a
-rept 3
- ld [hli], a
-endr
- ret
-
-Function4a6ab: ; 4a6ab (12:66ab)
- ld a, $2
- call Function1ff8
- call ClearBGPalettes
- ld b, SCGB_08
- call GetSGBLayout
- callba Function11c1ab
- pop bc
- call LoadFontsExtra
- jp Function4a4c4
-
-Function4a6c5: ; 4a6c5 (12:66c5)
- ld a, $5
- ld [MusicFade], a
- ld a, e
- ld [MusicFadeIDLo], a
- ld a, d
- ld [MusicFadeIDHi], a
- ld c, 22
- call DelayFrames
- ret
-
-Function4a6d8: ; 4a6d8 (12:66d8)
- push bc
- push hl
-.asm_4a6da
- ld [hli], a
- dec c
- jr nz, .asm_4a6da
- pop hl
- ld bc, $14
- add hl, bc
- pop bc
- dec b
- jr nz, Function4a6d8
- ret
--- /dev/null
+++ b/engine/map_object_action.asm
@@ -1,0 +1,323 @@
+ ld hl, OBJECT_ACTION
+ add hl, bc
+ ld a, [hl]
+ ld l, a
+ ld h, 0
+ add hl, hl
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call _hl_
+ ret
+; 445f
+
+Pointers445f: ; 445f
+ dw SetFacingStanding, SetFacingStanding ; 00
+ dw Function44b5, SetFacingCurrent ; 01 standing?
+ dw Function44c1, SetFacingCurrent ; 02 walking?
+ dw Function4508, SetFacingCurrent ; 03 bumping?
+ dw Function4529, SetFacingCurrent ; 04
+ dw Function4539, SetFacingStanding ; 05
+ dw Function456e, Function456e ; 06
+ dw Function457b, SetFacingStanding ; 07
+ dw Function4582, Function4582 ; 08
+ dw Function4589, Function4589 ; 09
+ dw Function4590, Function45a4 ; 0a
+ dw Function45ab, SetFacingCurrent ; 0c
+ dw Function45be, Function45be ; 0b
+ dw Function45c5, Function45c5 ; 0d
+ dw Function45da, SetFacingStanding ; 0e
+ dw Function45ed, SetFacingStanding ; 0f
+ dw Function44e4, SetFacingCurrent ; 10
+; 44a3
+
+SetFacingStanding: ; 44a3
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], STANDING
+ ret
+; 44aa
+
+SetFacingCurrent: ; 44aa
+ call GetSpriteDirection
+ or 0 ; useless
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], a
+ ret
+; 44b5
+
+Function44b5: ; 44b5
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld a, [hl]
+ and 1
+ jr nz, Function44c1
+ jp SetFacingCurrent
+; 44c1
+
+Function44c1: ; 44c1
+ ld hl, OBJECT_FLAGS1
+ add hl, bc
+ bit SLIDING, [hl]
+ jp nz, SetFacingCurrent
+
+ ld hl, OBJECT_STEP_FRAME
+ add hl, bc
+ ld a, [hl]
+ inc a
+ and %00001111
+ ld [hl], a
+
+ rrca
+ rrca
+ and %00000011
+ ld d, a
+
+ call GetSpriteDirection
+ or 0 ; useless
+ or d
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], a
+ ret
+; 44e4
+
+Function44e4: ; 44e4
+ ld hl, OBJECT_FLAGS1
+ add hl, bc
+ bit SLIDING, [hl]
+ jp nz, SetFacingCurrent
+
+ ld hl, OBJECT_STEP_FRAME
+ add hl, bc
+ ld a, [hl]
+ add 2
+ and %00001111
+ ld [hl], a
+
+ rrca
+ rrca
+ and %00000011
+ ld d, a
+
+ call GetSpriteDirection
+ or 0 ; useless
+ or d
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], a
+ ret
+; 4508
+
+Function4508: ; 4508
+ ld hl, OBJECT_FLAGS1
+ add hl, bc
+ bit SLIDING, [hl]
+ jp nz, SetFacingCurrent
+
+ ld hl, OBJECT_STEP_FRAME
+ add hl, bc
+ inc [hl]
+
+ ld a, [hl]
+ rrca
+ rrca
+ rrca
+ and %00000011
+ ld d, a
+
+ call GetSpriteDirection
+ or 0 ; useless
+ or d
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], a
+ ret
+; 4529
+
+Function4529: ; 4529
+ call Function453f
+ ld hl, OBJECT_FACING
+ add hl, bc
+ ld a, [hl]
+ or 0 ; useless
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], a
+ ret
+; 4539
+
+Function4539: ; 4539
+ call Function453f
+ jp SetFacingStanding
+; 453f
+
+Function453f: ; 453f
+ ld hl, OBJECT_STEP_FRAME
+ add hl, bc
+ ld a, [hl]
+ and %11110000
+ ld e, a
+
+ ld a, [hl]
+ inc a
+ and %00001111
+ ld d, a
+ cp 4
+ jr c, .ok
+
+ ld d, 0
+ ld a, e
+ add $10
+ and %00110000
+ ld e, a
+
+.ok
+ ld a, d
+ or e
+ ld [hl], a
+
+ swap e
+ ld d, 0
+ ld hl, .Directions
+ add hl, de
+ ld a, [hl]
+ ld hl, OBJECT_FACING
+ add hl, bc
+ ld [hl], a
+ ret
+; 456a
+
+.Directions ; 456a
+ db OW_DOWN, OW_RIGHT, OW_UP, OW_LEFT
+; 456e
+
+Function456e: ; 456e
+ call GetSpriteDirection
+ rrca
+ rrca
+ add $10
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], a
+ ret
+; 457b
+
+Function457b: ; 457b
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], FACING_15
+ ret
+; 4582
+
+Function4582: ; 4582 emote
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], FACING_EMOTE
+ ret
+; 4589
+
+Function4589: ; 4589
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], FACING_17
+ ret
+; 4590
+
+Function4590: ; 4590
+ ld hl, OBJECT_STEP_FRAME
+ add hl, bc
+ ld a, [hl]
+ inc a
+ and %00001111
+ ld [hl], a
+ and %00001000
+ jr z, Function45a4
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], FACING_04
+ ret
+; 45a4
+
+Function45a4: ; 45a4
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], 0
+ ret
+; 45ab
+
+Function45ab: ; 45ab
+ ld hl, OBJECT_STEP_FRAME
+ add hl, bc
+ ld a, [hl]
+ inc a
+ ld [hl], a
+ and %00001100
+ rrca
+ rrca
+ add $18
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], a
+ ret
+; 45be
+
+Function45be: ; 45be
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], FACING_16
+ ret
+; 45c5
+
+Function45c5: ; 45c5
+ ld a, [VariableSprites + SPRITE_BIG_DOLL - SPRITE_VARS]
+ ld d, FACING_17
+ cp SPRITE_BIG_SNORLAX
+ jr z, .ok
+ cp SPRITE_BIG_LAPRAS
+ jr z, .ok
+ ld d, FACING_16
+
+.ok
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ ld [hl], d
+ ret
+; 45da
+
+Function45da: ; 45da
+ ld hl, OBJECT_STEP_FRAME
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ and 2
+ ld a, FACING_1C
+ jr z, .ok
+ inc a ; FACING_1D
+.ok
+ ld [hl], a
+ ret
+; 45ed
+
+Function45ed: ; 45ed
+ ld hl, OBJECT_STEP_FRAME
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ ld hl, OBJECT_FACING_STEP
+ add hl, bc
+ and 4
+ ld a, FACING_1E
+ jr z, .ok
+ inc a ; FACING_1F
+
+.ok
+ ld [hl], a
+ ret
+; 4600
--- a/engine/map_objects.asm
+++ b/engine/map_objects.asm
@@ -2,54 +2,10 @@
INCLUDE "engine/facings.asm"
SpriteMovementData:: ; 4273
+INCLUDE "data/map_objects.asm"
-sprite_movement_data: macro
- db \1, \2, \3, \4, \5
- dn \6, 0
- endm
- ; function, facing, action, flags1, flags2, palette flags
- sprite_movement_data SPRITEMOVEFN_00, DOWN, PERSON_ACTION_STAND, $02, $00, %0000 ; 00
- sprite_movement_data SPRITEMOVEFN_STANDING, DOWN, PERSON_ACTION_STAND, $0c, $00, %0000 ; 01
- sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_XY, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 02
- sprite_movement_data SPRITEMOVEFN_SLOW_RANDOM_SPIN, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 03
- sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_Y, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 04
- sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_X, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 05
- sprite_movement_data SPRITEMOVEFN_STANDING, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 06
- sprite_movement_data SPRITEMOVEFN_STANDING, UP, PERSON_ACTION_STAND, $00, $00, %0000 ; 07
- sprite_movement_data SPRITEMOVEFN_STANDING, LEFT, PERSON_ACTION_STAND, $00, $00, %0000 ; 08
- sprite_movement_data SPRITEMOVEFN_STANDING, RIGHT, PERSON_ACTION_STAND, $00, $00, %0000 ; 09
- sprite_movement_data SPRITEMOVEFN_FAST_RANDOM_SPIN, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 0a
- sprite_movement_data SPRITEMOVEFN_OBEY_DPAD, DOWN, PERSON_ACTION_STAND, $02, $00, %0000 ; 0b
- sprite_movement_data SPRITEMOVEFN_08, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 0c
- sprite_movement_data SPRITEMOVEFN_09, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 0d
- sprite_movement_data SPRITEMOVEFN_0A, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 0e
- sprite_movement_data SPRITEMOVEFN_0B, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 0f
- sprite_movement_data SPRITEMOVEFN_0C, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 10
- sprite_movement_data SPRITEMOVEFN_0D, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 11
- sprite_movement_data SPRITEMOVEFN_0E, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 12
- sprite_movement_data SPRITEMOVEFN_FOLLOW, DOWN, PERSON_ACTION_STAND, $02, $00, %0000 ; 13
- sprite_movement_data SPRITEMOVEFN_SCRIPTED, DOWN, PERSON_ACTION_STAND, $02, $00, %0000 ; 14
- sprite_movement_data SPRITEMOVEFN_BIG_SNORLAX, DOWN, PERSON_ACTION_09, $2e, $01, %1100 ; 15
- sprite_movement_data SPRITEMOVEFN_BOUNCE, DOWN, PERSON_ACTION_0A, $2e, $00, %0000 ; 16
- sprite_movement_data SPRITEMOVEFN_STANDING, DOWN, PERSON_ACTION_STAND, $0c, $00, %0000 ; 17
- sprite_movement_data SPRITEMOVEFN_STANDING, DOWN, PERSON_ACTION_STAND, $2e, $10, %0000 ; 18
- sprite_movement_data SPRITEMOVEFN_STRENGTH, DOWN, PERSON_ACTION_STAND, $2e, $00, %0100 ; 19
- sprite_movement_data SPRITEMOVEFN_FOLLOWNOTEXACT, DOWN, PERSON_ACTION_STAND, $02, $00, %0000 ; 1a
- sprite_movement_data SPRITEMOVEFN_SHADOW, DOWN, PERSON_ACTION_00, $8e, $01, %0000 ; 1b
- sprite_movement_data SPRITEMOVEFN_EMOTE, DOWN, PERSON_ACTION_EMOTE, $8e, $02, %0000 ; 1c
- sprite_movement_data SPRITEMOVEFN_SCREENSHAKE, DOWN, PERSON_ACTION_00, $82, $00, %0000 ; 1d
- sprite_movement_data SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE, LEFT, PERSON_ACTION_STAND, $00, $00, %0000 ; 1e
- sprite_movement_data SPRITEMOVEFN_SPIN_CLOCKWISE, RIGHT, PERSON_ACTION_STAND, $00, $00, %0000 ; 1f
- sprite_movement_data SPRITEMOVEFN_STRENGTH, DOWN, PERSON_ACTION_0C, $2e, $01, %1100 ; 20
- sprite_movement_data SPRITEMOVEFN_STRENGTH, DOWN, PERSON_ACTION_0D, $2e, $01, %1100 ; 21
- sprite_movement_data SPRITEMOVEFN_BOULDERDUST, DOWN, PERSON_ACTION_0E, $8e, $01, %0000 ; 22
- sprite_movement_data SPRITEMOVEFN_GRASS, DOWN, PERSON_ACTION_0F, $8e, $02, %0000 ; 23
- sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_XY, DOWN, PERSON_ACTION_STAND, $00, $00, %0010 ; 24
- sprite_movement_data SPRITEMOVEFN_00, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 25
; 4357
-
-
-Function4357:: ; 4357
+DeleteMapObject:: ; 4357
push bc
ld hl, OBJECT_MAP_OBJECT_INDEX
add hl, bc
@@ -69,7 +25,6 @@
ld hl, OBJECT_SPRITE
add hl, bc
ld [hl], -1
-
.ok
pop bc
ret
@@ -76,14 +31,13 @@
; 437b
Function437b: ; 437b
- call Function4386
+ call .CheckObjectStillVisible
ret c
- call Function43f3
- call Function4427
+ call .HandleStepType
+ call .HandleObjectAction
ret
-; 4386
-Function4386: ; 4386
+.CheckObjectStillVisible
ld hl, OBJECT_FLAGS2
add hl, bc
res 6, [hl]
@@ -133,7 +87,6 @@
jr c, .ok2
cp MAPOBJECT_SCREEN_HEIGHT
jr nc, .ok2
-
.yes
and a
ret
@@ -143,7 +96,7 @@
add hl, bc
bit 1, [hl]
jr nz, .yes2
- call Function4357
+ call DeleteMapObject
scf
ret
@@ -153,43 +106,37 @@
set 6, [hl]
and a
ret
-; 43f3
-Function43f3: ; 43f3
+.HandleStepType
ld hl, OBJECT_STEP_TYPE
add hl, bc
ld a, [hl]
and a
jr z, .zero
-
ld hl, OBJECT_FLAGS2
add hl, bc
bit 5, [hl]
jr nz, .bit5
-
- cp STEP_TYPE_STANDING
+ cp STEP_TYPE_SLEEP
jr z, .one
- jr .ok
+ jr .ok3
.zero
- call Function47bc
+ call ObjectMovementReset
ld hl, OBJECT_FLAGS2
add hl, bc
bit 5, [hl]
jr nz, .bit5
-
.one
- call Function47dd
-
+ call MapObjectMovementPattern
ld hl, OBJECT_STEP_TYPE
add hl, bc
ld a, [hl]
and a
ret z
- cp STEP_TYPE_STANDING
+ cp STEP_TYPE_SLEEP
ret z
-
-.ok
+.ok3
ld hl, Pointers4b45
rst JumpTable
ret
@@ -196,24 +143,20 @@
.bit5
ret
-; 4427
-Function4427: ; 4427
+.HandleObjectAction
ld hl, OBJECT_FLAGS1
add hl, bc
bit INVISIBLE, [hl]
jr nz, SetFacingStanding
-
ld hl, OBJECT_FLAGS2
add hl, bc
bit 6, [hl]
jr nz, SetFacingStanding
-
bit 5, [hl]
- jr nz, Function4448
-
- ld de, Pointers445f
- jr Function444d
+ jr nz, asm_4448
+ ld de, Pointers445f ; use first column
+ jr asm_444d
; 4440
Function4440: ; 4440
@@ -221,340 +164,16 @@
add hl, bc
bit INVISIBLE, [hl]
jr nz, SetFacingStanding
-Function4448: ; 4448
+asm_4448 ; use second column
ld de, Pointers445f + 2
- jr Function444d
+ jr asm_444d
; 444d
-Function444d: ; 444d
+asm_444d
; call [4 * ObjectStructs[ObjInd, OBJECT_ACTION] + de]
- ld hl, OBJECT_ACTION
- add hl, bc
- ld a, [hl]
- ld l, a
- ld h, 0
-rept 2
- add hl,hl
-endr
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- call _hl_
- ret
-; 445f
+INCLUDE "engine/map_object_action.asm"
-Pointers445f: ; 445f
- dw SetFacingStanding, SetFacingStanding ; 00
- dw Function44b5, SetFacingCurrent ; 01 standing?
- dw Function44c1, SetFacingCurrent ; 02 walking?
- dw Function4508, SetFacingCurrent ; 03 bumping?
- dw Function4529, SetFacingCurrent ; 04
- dw Function4539, SetFacingStanding ; 05
- dw Function456e, Function456e ; 06
- dw Function457b, SetFacingStanding ; 07
- dw Function4582, Function4582 ; 08
- dw Function4589, Function4589 ; 09
- dw Function4590, Function45a4 ; 0a
- dw Function45ab, SetFacingCurrent ; 0c
- dw Function45be, Function45be ; 0b
- dw Function45c5, Function45c5 ; 0d
- dw Function45da, SetFacingStanding ; 0e
- dw Function45ed, SetFacingStanding ; 0f
- dw Function44e4, SetFacingCurrent ; 10
-; 44a3
-
-SetFacingStanding: ; 44a3
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], STANDING
- ret
-; 44aa
-
-SetFacingCurrent: ; 44aa
- call GetSpriteDirection
- or 0 ; useless
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], a
- ret
-; 44b5
-
-Function44b5: ; 44b5
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld a, [hl]
- and 1
- jr nz, Function44c1
- jp SetFacingCurrent
-; 44c1
-
-Function44c1: ; 44c1
- ld hl, OBJECT_FLAGS1
- add hl, bc
- bit SLIDING, [hl]
- jp nz, SetFacingCurrent
-
- ld hl, OBJECT_STEP_FRAME
- add hl, bc
- ld a, [hl]
- inc a
- and %00001111
- ld [hl], a
-
- rrca
- rrca
- and %00000011
- ld d, a
-
- call GetSpriteDirection
- or 0 ; useless
- or d
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], a
- ret
-; 44e4
-
-Function44e4: ; 44e4
- ld hl, OBJECT_FLAGS1
- add hl, bc
- bit SLIDING, [hl]
- jp nz, SetFacingCurrent
-
- ld hl, OBJECT_STEP_FRAME
- add hl, bc
- ld a, [hl]
- add 2
- and %00001111
- ld [hl], a
-
- rrca
- rrca
- and %00000011
- ld d, a
-
- call GetSpriteDirection
- or 0 ; useless
- or d
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], a
- ret
-; 4508
-
-Function4508: ; 4508
- ld hl, OBJECT_FLAGS1
- add hl, bc
- bit SLIDING, [hl]
- jp nz, SetFacingCurrent
-
- ld hl, OBJECT_STEP_FRAME
- add hl, bc
- inc [hl]
-
- ld a, [hl]
- rrca
- rrca
- rrca
- and %00000011
- ld d, a
-
- call GetSpriteDirection
- or 0 ; useless
- or d
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], a
- ret
-; 4529
-
-Function4529: ; 4529
- call Function453f
- ld hl, OBJECT_FACING
- add hl, bc
- ld a, [hl]
- or 0 ; useless
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], a
- ret
-; 4539
-
-Function4539: ; 4539
- call Function453f
- jp SetFacingStanding
-; 453f
-
-Function453f: ; 453f
- ld hl, OBJECT_STEP_FRAME
- add hl, bc
- ld a, [hl]
- and %11110000
- ld e, a
-
- ld a, [hl]
- inc a
- and %00001111
- ld d, a
- cp 4
- jr c, .ok
-
- ld d, 0
- ld a, e
- add $10
- and %00110000
- ld e, a
-
-.ok
- ld a, d
- or e
- ld [hl], a
-
- swap e
- ld d, 0
- ld hl, .Directions
- add hl, de
- ld a, [hl]
- ld hl, OBJECT_FACING
- add hl, bc
- ld [hl], a
- ret
-; 456a
-
-.Directions ; 456a
- db OW_DOWN, OW_RIGHT, OW_UP, OW_LEFT
-; 456e
-
-Function456e: ; 456e
- call GetSpriteDirection
- rrca
- rrca
- add $10
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], a
- ret
-; 457b
-
-Function457b: ; 457b
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], FACING_15
- ret
-; 4582
-
-Function4582: ; 4582 emote
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], FACING_EMOTE
- ret
-; 4589
-
-Function4589: ; 4589
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], FACING_17
- ret
-; 4590
-
-Function4590: ; 4590
- ld hl, OBJECT_STEP_FRAME
- add hl, bc
- ld a, [hl]
- inc a
- and %00001111
- ld [hl], a
- and %00001000
- jr z, Function45a4
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], FACING_04
- ret
-; 45a4
-
-Function45a4: ; 45a4
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], 0
- ret
-; 45ab
-
-Function45ab: ; 45ab
- ld hl, OBJECT_STEP_FRAME
- add hl, bc
- ld a, [hl]
- inc a
- ld [hl], a
- and %00001100
- rrca
- rrca
- add $18
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], a
- ret
-; 45be
-
-Function45be: ; 45be
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], FACING_16
- ret
-; 45c5
-
-Function45c5: ; 45c5
- ld a, [VariableSprites + SPRITE_BIG_DOLL - SPRITE_VARS]
- ld d, FACING_17
- cp SPRITE_BIG_SNORLAX
- jr z, .ok
- cp SPRITE_BIG_LAPRAS
- jr z, .ok
- ld d, FACING_16
-
-.ok
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- ld [hl], d
- ret
-; 45da
-
-Function45da: ; 45da
- ld hl, OBJECT_STEP_FRAME
- add hl, bc
- inc [hl]
- ld a, [hl]
-
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- and 2
- ld a, FACING_1C
- jr z, .ok
- inc a ; FACING_1D
-.ok
- ld [hl], a
- ret
-; 45ed
-
-Function45ed: ; 45ed
- ld hl, OBJECT_STEP_FRAME
- add hl, bc
- inc [hl]
- ld a, [hl]
- ld hl, OBJECT_FACING_STEP
- add hl, bc
- and 4
- ld a, FACING_1E
- jr z, .ok
- inc a ; FACING_1F
-
-.ok
- ld [hl], a
- ret
-; 4600
-
-Function4600: ; 4600
-
+CopyNextCoordsTileToStandingCoordsTile: ; 4600
ld hl, OBJECT_NEXT_MAP_X
add hl, bc
ld a, [hl]
@@ -561,7 +180,6 @@
ld hl, OBJECT_MAP_X
add hl, bc
ld [hl], a
-
ld hl, OBJECT_NEXT_MAP_Y
add hl, bc
ld a, [hl]
@@ -568,7 +186,6 @@
ld hl, OBJECT_MAP_Y
add hl, bc
ld [hl], a
-
ld hl, OBJECT_NEXT_TILE
add hl, bc
ld a, [hl]
@@ -575,18 +192,15 @@
ld hl, OBJECT_STANDING_TILE
add hl, bc
ld [hl], a
-
call SetTallGrassFlags
ld hl, OBJECT_NEXT_TILE
add hl, bc
ld a, [hl]
-
call UselessAndA
ret
; 462a
Function462a: ; 462a
-
ld hl, OBJECT_MAP_X
add hl, bc
ld a, [hl]
@@ -593,7 +207,6 @@
ld hl, OBJECT_NEXT_MAP_X
add hl, bc
ld [hl], a
-
ld hl, OBJECT_MAP_Y
add hl, bc
ld a, [hl]
@@ -600,11 +213,10 @@
ld hl, OBJECT_NEXT_MAP_Y
add hl, bc
ld [hl], a
-
ret
; 463f
-Function463f: ; 463f
+UpdateTallGrassFlags: ; 463f
ld hl, OBJECT_FLAGS2
add hl, bc
bit 3, [hl] ; is current tile grass?
@@ -613,7 +225,6 @@
add hl, bc
ld a, [hl]
call SetTallGrassFlags
-
.ok
ld hl, OBJECT_NEXT_TILE
add hl, bc
@@ -632,7 +243,6 @@
jr z, .set
call CheckGrassTile
jr c, .reset
-
.set
ld hl, OBJECT_FLAGS2
add hl, bc
@@ -651,7 +261,7 @@
ret
; 467b
-Function467b: ; 467b
+EndSpriteMovement: ; 467b
xor a
ld hl, OBJECT_STEP_FRAME
add hl, bc
@@ -668,7 +278,7 @@
ret
; 4690
-Function4690: ; 4690
+InitStep: ; 4690
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], a
@@ -676,22 +286,17 @@
add hl, bc
bit FIXED_FACING, [hl]
jr nz, GetNextTile
-
-rept 2
add a
-endr
+ add a
and %00001100
ld hl, OBJECT_FACING
add hl, bc
ld [hl], a
-
GetNextTile: ; 46a6
call GetStepVector
-
ld hl, OBJECT_STEP_DURATION
add hl, bc
ld [hl], a
-
ld a, d
call GetStepVectorSign
ld hl, OBJECT_MAP_X
@@ -701,7 +306,6 @@
add hl, bc
ld [hl], a
ld d, a
-
ld a, e
call GetStepVectorSign
ld hl, OBJECT_MAP_Y
@@ -711,34 +315,27 @@
add hl, bc
ld [hl], a
ld e, a
-
push bc
call GetCoordTile
pop bc
-
ld hl, OBJECT_NEXT_TILE
add hl, bc
ld [hl], a
-
ret
; 46d7
AddStepVector: ; 46d7
-
call GetStepVector
-
ld hl, OBJECT_SPRITE_X
add hl, bc
ld a, [hl]
add d
ld [hl], a
-
ld hl, OBJECT_SPRITE_Y
add hl, bc
ld a, [hl]
add e
ld [hl], a
-
ret
; 46e9
@@ -748,9 +345,8 @@
add hl, bc
ld a, [hl]
and %00001111
-rept 2
add a
-endr
+ add a
ld l, a
ld h, 0
ld de, StepVectors
@@ -782,19 +378,15 @@
db -4, 0, 4, 4
db 4, 0, 4, 4
; 4730
-
GetStepVectorSign: ; 4730
add a
ret z ; 0 or 128
-
ld a, 1
ret nc ; 1 - 127
-
ld a, -1
ret ; 129 - 255
; 4738
-
-Function4738: ; 4738
+UpdatePlayerStep: ; 4738
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld a, [hl]
@@ -813,6 +405,7 @@
; 4759
Function4759: ; 4759
+; unreferenced
push bc
ld e, a
ld d, 0
@@ -841,7 +434,7 @@
ret
.ok
- ld a, 6
+ ld a, SPRITEMOVEFN_STANDING
ret
; 4780
@@ -890,7 +483,6 @@
; 47a8
Object28AnonymousJumptable: ; 47a8
-; anonymous jumptable
ld hl, OBJECT_28
add hl, bc
ld a, [hl]
@@ -913,7 +505,7 @@
ret
; 47bc
-Function47bc: ; 47bc
+ObjectMovementReset: ; 47bc
ld hl, OBJECT_NEXT_MAP_X
add hl, bc
ld d, [hl]
@@ -926,15 +518,15 @@
ld hl, OBJECT_NEXT_TILE
add hl, bc
ld [hl], a
- call Function4600
- call Function467b
+ call CopyNextCoordsTileToStandingCoordsTile
+ call EndSpriteMovement
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 47dd
-Function47dd: ; 47dd
+MapObjectMovementPattern: ; 47dd
call ClearObjectStructField28
call GetSpriteMovementFunction
ld a, [hl]
@@ -941,7 +533,6 @@
ld hl, .Pointers
rst JumpTable
ret
-; 47e9
.Pointers ; 47e9
dw .Null_00 ; 00
@@ -972,35 +563,30 @@
dw .MovementSpinCounterclockwise ; 19
dw .MovementBoulderDust ; 1a
dw .MovementShakingGrass ; 1b
-; 4821
-.Null_00: ; 4821
+.Null_00
ret
-; 4822
-.RandomWalkY: ; 4822
+.RandomWalkY
call Random
ld a, [hRandomAdd]
and %00000001
jp .RandomWalkContinue
-; 482c
-.RandomWalkX: ; 482c
+.RandomWalkX
call Random
ld a, [hRandomAdd]
and %00000001
or %00000010
jp .RandomWalkContinue
-; 4838
-.RandomWalkXY: ; 4838
+.RandomWalkXY
call Random
ld a, [hRandomAdd]
and %00000011
jp .RandomWalkContinue
-; 4842
-.RandomSpin1: ; 4842
+.RandomSpin1
call Random
ld a, [hRandomAdd]
and %00001100
@@ -1008,9 +594,8 @@
add hl, bc
ld [hl], a
jp RandomStepDuration_Slow
-; 4851
-.RandomSpin2: ; 4851
+.RandomSpin2
ld hl, OBJECT_FACING
add hl, bc
ld a, [hl]
@@ -1022,15 +607,13 @@
cp d
jr nz, .keep
xor %00001100
-
.keep
ld [hl], a
jp RandomStepDuration_Fast
-; 4869
-.Standing: ; 4869
+.Standing
call Function462a
- call Function467b
+ call EndSpriteMovement
ld hl, OBJECT_ACTION
add hl, bc
ld [hl], PERSON_ACTION_STAND
@@ -1038,86 +621,71 @@
add hl, bc
ld [hl], STEP_TYPE_05
ret
-; 487c
-.ObeyDPad: ; 487c
+.ObeyDPad
ld hl, Function5000
jp HandleMovementData
-; 4882
-.Movement08: ; 4882
+.Movement08
ld hl, Function5015
jp HandleMovementData
-; 4888
-.Movement09: ; 4888
+.Movement09
ld hl, Function5026
jp HandleMovementData
-; 488e
-.Movement0a: ; 488e
- jp Function5037
-; 4891
+.Movement0a
+ jp _GetMovementPerson
-.Movement0b: ; 4891
- jp Function5037
-; 4894
+.Movement0b
+ jp _GetMovementPerson
-.Movement0c: ; 4894
- jp Function5037
-; 4897
+.Movement0c
+ jp _GetMovementPerson
-.Movement0d: ; 4897
+.Movement0d
ld hl, Function5000
jp HandleMovementData
-; 489d
-.Movement0e: ; 489d
- jp Function5037
-; 48a0
+.Movement0e
+ jp _GetMovementPerson
-.Follow: ; 48a0
- ld hl, Function54e6
+.Follow
+ ld hl, GetFollowerNextMovementByte
jp HandleMovementData
-; 48a6
-.Script: ; 48a6
- ld hl, Function500e
+.Script
+ ld hl, GetMovementByte
jp HandleMovementData
-; 48ac
-.Strength: ; 48ac
+.Strength
call MovementAnonymousJumptable
dw .Strength_Start
dw .Strength_Stop
-; 48b3
-.Strength_Start: ; 48b3
+.Strength_Start
ld hl, OBJECT_NEXT_TILE
add hl, bc
ld a, [hl]
call CheckPitTile
jr z, .on_pit
-
ld hl, OBJECT_FLAGS2
add hl, bc
bit 2, [hl]
res 2, [hl]
jr z, .ok
-
ld hl, OBJECT_RANGE
add hl, bc
ld a, [hl]
and %00000011
or 0
- call Function4690
+ call InitStep
call Function6ec1
jr c, .ok2
-
ld de, SFX_STRENGTH
call PlaySFX
call SpawnStrengthBoulderDust
- call Function463f
+ call UpdateTallGrassFlags
ld hl, OBJECT_STEP_TYPE
add hl, bc
ld [hl], STEP_TYPE_0F
@@ -1125,7 +693,6 @@
.ok2
call Function462a
-
.ok
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
@@ -1134,27 +701,22 @@
.on_pit
call IncrementObjectMovementByteIndex
-
-.Strength_Stop: ; 48f8
+.Strength_Stop
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], STANDING
ret
-; 48ff
-.FollowNotExact: ; 48ff
+.FollowNotExact
ld hl, OBJECT_NEXT_MAP_X
add hl, bc
ld d, [hl]
-
ld hl, OBJECT_NEXT_MAP_Y
add hl, bc
ld e, [hl]
-
ld hl, OBJECT_RANGE
add hl, bc
ld a, [hl]
-
push bc
call GetObjectStruct
ld hl, OBJECT_DIRECTION_WALKING
@@ -1162,7 +724,6 @@
ld a, [hl]
cp STANDING
jr z, .standing
-
ld hl, OBJECT_MAP_X
add hl, bc
ld a, [hl]
@@ -1188,7 +749,6 @@
.less2
ld a, 1
-
.done
ld d, a
ld hl, OBJECT_DIRECTION_WALKING
@@ -1208,10 +768,9 @@
add hl, bc
ld [hl], PERSON_ACTION_STAND
ret
-; 4958
-.MovementBigStanding: ; 4958
- call Function467b
+.MovementBigStanding
+ call EndSpriteMovement
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], STANDING
@@ -1222,10 +781,9 @@
add hl, bc
ld [hl], STEP_TYPE_04
ret
-; 496e
-.MovementBouncing: ; 496e
- call Function467b
+.MovementBouncing
+ call EndSpriteMovement
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], STANDING
@@ -1236,26 +794,23 @@
add hl, bc
ld [hl], STEP_TYPE_04
ret
-; 4984
-.MovementSpinCounterclockwise: ; 4984
+.MovementSpinCounterclockwise
call MovementAnonymousJumptable
dw .MovementSpinInit
dw .MovementSpinRepeat
dw .MovementSpinTurnLeft
-; 498d
-.MovementSpinClockwise: ; 498d
+.MovementSpinClockwise
call MovementAnonymousJumptable
dw .MovementSpinInit
dw .MovementSpinRepeat
dw .MovementSpinTurnRight
-; 4996
-.MovementSpinInit: ; 4996
- call Function467b
+.MovementSpinInit
+ call EndSpriteMovement
call IncrementObjectMovementByteIndex
-.MovementSpinRepeat: ; 499c
+.MovementSpinRepeat
ld hl, OBJECT_ACTION
add hl, bc
ld [hl], PERSON_ACTION_STAND
@@ -1271,29 +826,24 @@
ld [hl], STEP_TYPE_03
call IncrementObjectMovementByteIndex
ret
-; 49b8
-.MovementSpinTurnLeft: ; 49b8
+.MovementSpinTurnLeft
ld de, .DirectionData_Counterclockwise
call .MovementSpinNextFacing
jr .MovementSpinCounterclockwise
-; 49c0
.DirectionData_Counterclockwise ; 49c0
db OW_RIGHT, OW_LEFT, OW_DOWN, OW_UP
-; 49c4
-.MovementSpinTurnRight: ; 49c4
+.MovementSpinTurnRight
ld de, .DirectionData_Clockwise
call .MovementSpinNextFacing
jr .MovementSpinClockwise
-; 49cc
.DirectionData_Clockwise ; 49cc
db OW_LEFT, OW_RIGHT, OW_UP, OW_DOWN
-; 49d0
-.MovementSpinNextFacing: ; 49d0
+.MovementSpinNextFacing
ld hl, OBJECT_FACING
add hl, bc
ld a, [hl]
@@ -1309,9 +859,8 @@
ld [hl], a
call DecrementObjectMovementByteIndex
ret
-; 49e5
-.MovementShadow: ; 49e5
+.MovementShadow
call ._MovementShadow_Grass_Emote_BoulderDust
ld hl, OBJECT_ACTION
add hl, bc
@@ -1329,13 +878,12 @@
add hl, de
ld a, [hl]
and 3
- ld d, $e
+ ld d, 1 * 8 + 6
cp DOWN
jr z, .ok_13
cp UP
jr z, .ok_13
- ld d, $c
-
+ ld d, 1 * 8 + 4
.ok_13
ld hl, OBJECT_SPRITE_Y_OFFSET
add hl, bc
@@ -1345,12 +893,11 @@
ld [hl], 0
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_13
+ ld [hl], STEP_TYPE_TRACKING_OBJECT
ret
-; 4a21
-.MovementEmote: ; 4a21
- call Function467b
+.MovementEmote
+ call EndSpriteMovement
call ._MovementShadow_Grass_Emote_BoulderDust
ld hl, OBJECT_ACTION
add hl, bc
@@ -1360,18 +907,17 @@
ld [hl], 0
ld hl, OBJECT_SPRITE_Y_OFFSET
add hl, bc
- ld [hl], -$10
+ ld [hl], -2 * 8
ld hl, OBJECT_SPRITE_X_OFFSET
add hl, bc
ld [hl], 0
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_13
+ ld [hl], STEP_TYPE_TRACKING_OBJECT
ret
-; 4a46
-.MovementBoulderDust: ; 4a46
- call Function467b
+.MovementBoulderDust
+ call EndSpriteMovement
call ._MovementShadow_Grass_Emote_BoulderDust
ld hl, OBJECT_ACTION
add hl, bc
@@ -1391,9 +937,8 @@
ld e, a
ld d, 0
ld hl, .data_4a81
-rept 2
- add hl,de
-endr
+ add hl, de
+ add hl, de
ld d, [hl]
inc hl
ld e, [hl]
@@ -1405,9 +950,8 @@
ld [hl], e
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_13
+ ld [hl], STEP_TYPE_TRACKING_OBJECT
ret
-; 4a81
.data_4a81 ; 4a81
; x, y
@@ -1415,10 +959,9 @@
db 0, 8
db 6, 2
db -6, 2
-; 4a89
-.MovementShakingGrass: ; 4a89
- call Function467b
+.MovementShakingGrass
+ call EndSpriteMovement
call ._MovementShadow_Grass_Emote_BoulderDust
ld hl, OBJECT_ACTION
add hl, bc
@@ -1432,11 +975,10 @@
ld [hl], a
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_13
+ ld [hl], STEP_TYPE_TRACKING_OBJECT
ret
-; 4aa8
-._MovementShadow_Grass_Emote_BoulderDust: ; 4aa8
+._MovementShadow_Grass_Emote_BoulderDust
ld hl, OBJECT_RANGE
add hl, bc
ld a, [hl]
@@ -1451,10 +993,9 @@
inc hl
ld [hl], d
ret
-; 4abc
-.MovementScreenShake: ; 4abc
- call Function467b
+.MovementScreenShake
+ call EndSpriteMovement
ld hl, OBJECT_ACTION
add hl, bc
ld [hl], PERSON_ACTION_00
@@ -1472,9 +1013,8 @@
add hl, bc
ld [hl], STEP_TYPE_15
ret
-; 4ade
-._MovementScreenShake: ; 4ade
+._MovementScreenShake
ld d, a
and %00111111
ld e, a
@@ -1490,23 +1030,19 @@
ret z
add a
jr .loop
-; 4af0
-.RandomWalkContinue: ; 4af0
- call Function4690
+.RandomWalkContinue
+ call InitStep
call Function6ec1 ; check whether the object can move in that direction
jr c, .NewDuration
-
- call Function463f
+ call UpdateTallGrassFlags
ld hl, OBJECT_ACTION
add hl, bc
ld [hl], PERSON_ACTION_STEP
-
ld hl, wCenteredObject
ld a, [hMapObjectIndexBuffer]
cp [hl]
jr z, .load_6
-
ld hl, OBJECT_STEP_TYPE
add hl, bc
ld [hl], STEP_TYPE_07
@@ -1518,8 +1054,8 @@
ld [hl], STEP_TYPE_PLAYER_WALK
ret
-.NewDuration: ; 4b17
- call Function467b
+.NewDuration
+ call EndSpriteMovement
call Function462a
RandomStepDuration_Slow: ; 4b1d
call Random
@@ -1550,35 +1086,35 @@
Pointers4b45: ; 4b45
; These pointers use OBJECT_STEP_TYPE. See constants/sprite_constants.asm
- dw Function47bc ; 00
- dw Function47dd ; 01
- dw Function4e2b ; 02 npc walk
- dw Function4ddd ; 03
- dw Function4e21 ; 04
- dw Function4e0c ; 05
- dw Function4e56 ; 06 player walk
- dw Function4e47 ; 07
- dw Function4b86 ; 08 npc jump step
- dw Function4bbf ; 09 player jump step
- dw Function4e83 ; 0a half step
- dw Function4dff ; 0b
- dw Function4c18 ; 0c teleport from
- dw Function4c89 ; 0d teleport to
- dw Function4d14 ; 0e skyfall
- dw Function4ecd ; 0f
- dw Function4d7e ; 10
- dw Function4daf ; 11
- dw Function4dc8 ; 12
- dw Function4f04 ; 13
- dw Function4f33 ; 14
- dw Function4f33 ; 15
- dw Function4f77 ; 16
- dw Function4f7a ; 17
- dw Function4df0 ; 18
- dw Function4f83 ; 19
+ dw ObjectMovementReset ; 00
+ dw MapObjectMovementPattern ; unused
+ dw NPCStep ; 02 npc walk
+ dw StepType03 ; 03
+ dw StepType04 ; 04
+ dw StepType05 ; 05
+ dw PlayerStep ; 06 player walk
+ dw StepType07 ; 07
+ dw NPCJump ; 08 npc jump step
+ dw PlayerJump ; 09 player jump step
+ dw PlayerOrNPCTurnStep ; 0a half step
+ dw StepTypeBump ; 0b
+ dw TeleportFrom ; 0c teleport from
+ dw TeleportTo ; 0d teleport to
+ dw Skyfall ; 0e skyfall
+ dw StepType0f ; 0f
+ dw GotBiteStep ; 10
+ dw RockSmashStep ; 11
+ dw ReturnDigStep ; 12
+ dw StepTypeTrackingObject ; 13
+ dw StepType14 ; 14
+ dw StepType15 ; 15
+ dw StepType16 ; 16
+ dw StepType17 ; 17
+ dw StepType18 ; 18
+ dw SkyfallTop ; 19
; 4b79
-Function4b79: ; 4b79
+WaitStep_InPlace: ; 4b79
ld hl, OBJECT_STEP_DURATION
add hl, bc
dec [hl]
@@ -1585,18 +1121,17 @@
ret nz
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 4b86
-Function4b86: ; 4b86
+NPCJump: ; 4b86
call Object28AnonymousJumptable
-; anonymous jumptable
- dw Function4b8d
- dw Function4ba9
-; 4b8d
+; anonymous dw
+ dw .Jump
+ dw .Land
-Function4b8d: ; 4b8d
+.Jump
call AddStepVector
call UpdateJumpPosition
ld hl, OBJECT_STEP_DURATION
@@ -1603,7 +1138,7 @@
add hl, bc
dec [hl]
ret nz
- call Function4600
+ call CopyNextCoordsTileToStandingCoordsTile
call GetNextTile
ld hl, OBJECT_FLAGS2
add hl, bc
@@ -1610,9 +1145,8 @@
res 3, [hl]
call IncrementObjectStructField28
ret
-; 4ba9
-Function4ba9: ; 4ba9
+.Land
call AddStepVector
call UpdateJumpPosition
ld hl, OBJECT_STEP_DURATION
@@ -1619,34 +1153,33 @@
add hl, bc
dec [hl]
ret nz
- call Function4600
+ call CopyNextCoordsTileToStandingCoordsTile
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 4bbf
-Function4bbf: ; 4bbf
+PlayerJump: ; 4bbf
call Object28AnonymousJumptable
-; anonymous jumptable
- dw Function4bca
- dw Function4bd2
- dw Function4bf2
- dw Function4bfd
-; 4bca
+; anonymous dw
+ dw .initjump
+ dw .stepjump
+ dw .initland
+ dw .stepland
-Function4bca: ; 4bca
+.initjump
ld hl, wPlayerStepFlags
set 7, [hl]
call IncrementObjectStructField28
-Function4bd2: ; 4bd2
+.stepjump
call UpdateJumpPosition
- call Function4738
+ call UpdatePlayerStep
ld hl, OBJECT_STEP_DURATION
add hl, bc
dec [hl]
ret nz
- call Function4600
+ call CopyNextCoordsTileToStandingCoordsTile
ld hl, OBJECT_FLAGS2
add hl, bc
res 3, [hl]
@@ -1655,16 +1188,15 @@
set 4, [hl]
call IncrementObjectStructField28
ret
-; 4bf2
-Function4bf2: ; 4bf2
+.initland
call GetNextTile
ld hl, wPlayerStepFlags
set 7, [hl]
call IncrementObjectStructField28
-Function4bfd: ; 4bfd
+.stepland
call UpdateJumpPosition
- call Function4738
+ call UpdatePlayerStep
ld hl, OBJECT_STEP_DURATION
add hl, bc
dec [hl]
@@ -1671,31 +1203,31 @@
ret nz
ld hl, wPlayerStepFlags
set 6, [hl]
- call Function4600
+ call CopyNextCoordsTileToStandingCoordsTile
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 4c18
-Function4c18: ; 4c18
+TeleportFrom: ; 4c18
call Object28AnonymousJumptable
-; anonymous jumptable
- dw Function4c23
- dw Function4c32
- dw Function4c42
- dw Function4c5d
+; anonymous dw
+ dw .InitSpin
+ dw .DoSpin
+ dw .InitSpinRise
+ dw .DoSpinRise
; 4c23
-Function4c23: ; 4c23
+.InitSpin
ld hl, OBJECT_STEP_FRAME
add hl, bc
ld [hl], 0
ld hl, OBJECT_STEP_DURATION
add hl, bc
- ld [hl], $10
+ ld [hl], 16
call IncrementObjectStructField28
-Function4c32: ; 4c32
+.DoSpin
ld hl, OBJECT_ACTION
add hl, bc
ld [hl], PERSON_ACTION_SPIN
@@ -1705,9 +1237,8 @@
ret nz
call IncrementObjectStructField28
ret
-; 4c42
-Function4c42: ; 4c42
+.InitSpinRise
ld hl, OBJECT_STEP_FRAME
add hl, bc
ld [hl], 0
@@ -1716,12 +1247,12 @@
ld [hl], $10
ld hl, OBJECT_STEP_DURATION
add hl, bc
- ld [hl], $10
+ ld [hl], 16
ld hl, OBJECT_FLAGS2
add hl, bc
res 3, [hl]
call IncrementObjectStructField28
-Function4c5d: ; 4c5d
+.DoSpinRise
ld hl, OBJECT_ACTION
add hl, bc
ld [hl], PERSON_ACTION_SPIN
@@ -1745,40 +1276,40 @@
ld [hl], 0
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 4c89
-Function4c89: ; 4c89
+TeleportTo: ; 4c89
call Object28AnonymousJumptable
-; anonymous jumptable
- dw Function4c9a
- dw Function4caa
- dw Function4cb3
- dw Function4cc9
- dw Function4ceb
- dw Function4cf5
- dw Function4d01
+; anonymous dw
+ dw .InitWait
+ dw .DoWait
+ dw .InitDescent
+ dw .DoDescent
+ dw .InitFinalSpin
+ dw .DoFinalSpin
+ dw .FinishStep
; 4c9a
-Function4c9a: ; 4c9a
+.InitWait
ld hl, OBJECT_ACTION
add hl, bc
ld [hl], PERSON_ACTION_00
ld hl, OBJECT_STEP_DURATION
add hl, bc
- ld [hl], $10
+ ld [hl], 16
call IncrementObjectStructField28
ret
; 4caa
-Function4caa: ; 4caa
+.DoWait
ld hl, OBJECT_STEP_DURATION
add hl, bc
dec [hl]
ret nz
call IncrementObjectStructField28
-Function4cb3: ; 4cb3
+.InitDescent
ld hl, OBJECT_STEP_FRAME
add hl, bc
ld [hl], 0
@@ -1787,12 +1318,12 @@
ld [hl], 0
ld hl, OBJECT_STEP_DURATION
add hl, bc
- ld [hl], $10
+ ld [hl], 16
call IncrementObjectStructField28
ret
; 4cc9
-Function4cc9: ; 4cc9
+.DoDescent
ld hl, OBJECT_ACTION
add hl, bc
ld [hl], PERSON_ACTION_SPIN
@@ -1812,15 +1343,15 @@
dec [hl]
ret nz
call IncrementObjectStructField28
-Function4ceb: ; 4ceb
+.InitFinalSpin
ld hl, OBJECT_STEP_DURATION
add hl, bc
- ld [hl], $10
+ ld [hl], 16
call IncrementObjectStructField28
ret
; 4cf5
-Function4cf5: ; 4cf5
+.DoFinalSpin
ld hl, OBJECT_ACTION
add hl, bc
ld [hl], PERSON_ACTION_SPIN
@@ -1828,7 +1359,7 @@
add hl, bc
dec [hl]
ret nz
-Function4d01: ; 4d01
+.FinishStep
ld hl, OBJECT_STEP_FRAME
add hl, bc
ld [hl], 0
@@ -1837,28 +1368,28 @@
ld [hl], 0
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 4d14
-Function4d14: ; 4d14
+Skyfall: ; 4d14
call Object28AnonymousJumptable
-; anonymous jumptable
- dw Function4d1f
- dw Function4d2e
- dw Function4d4f
- dw Function4d6b
+; anonymous dw
+ dw .Init
+ dw .Step
+ dw .Fall
+ dw .Finish
; 4d1f
-Function4d1f: ; 4d1f
+.Init
ld hl, OBJECT_ACTION
add hl, bc
ld [hl], PERSON_ACTION_00
ld hl, OBJECT_STEP_DURATION
add hl, bc
- ld [hl], $10
+ ld [hl], 16
call IncrementObjectStructField28
-Function4d2e: ; 4d2e
+.Step
ld hl, OBJECT_STEP_DURATION
add hl, bc
dec [hl]
@@ -1874,9 +1405,9 @@
ld [hl], 0
ld hl, OBJECT_STEP_DURATION
add hl, bc
- ld [hl], $10
+ ld [hl], 16
call IncrementObjectStructField28
-Function4d4f: ; 4d4f
+.Fall
ld hl, OBJECT_31
add hl, bc
inc [hl]
@@ -1893,7 +1424,7 @@
dec [hl]
ret nz
call IncrementObjectStructField28
-Function4d6b: ; 4d6b
+.Finish
ld hl, OBJECT_STEP_FRAME
add hl, bc
ld [hl], 0
@@ -1902,18 +1433,18 @@
ld [hl], 0
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 4d7e
-Function4d7e: ; 4d7e
+GotBiteStep: ; 4d7e
call Object28AnonymousJumptable
-; anonymous jumptable
- dw Function4d85
- dw Function4d94
+; anonymous dw
+ dw .Init
+ dw .Run
; 4d85
-Function4d85: ; 4d85
+.Init
ld hl, OBJECT_STEP_DURATION
add hl, bc
ld [hl], 8
@@ -1921,7 +1452,7 @@
add hl, bc
ld [hl], 0
call IncrementObjectStructField28
-Function4d94: ; 4d94
+.Run
ld hl, OBJECT_SPRITE_Y_OFFSET
add hl, bc
ld a, [hl]
@@ -1936,16 +1467,16 @@
ld [hl], 0
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 4daf
-Function4daf: ; 4daf
- call Function4db5
- jp Function4b79
+RockSmashStep: ; 4daf
+ call .Step
+ jp WaitStep_InPlace
; 4db5
-Function4db5: ; 4db5
+.Step
ld hl, OBJECT_STEP_DURATION
add hl, bc
ld a, [hl]
@@ -1953,7 +1484,6 @@
ld a, PERSON_ACTION_STAND
jr z, .yes
ld a, PERSON_ACTION_00
-
.yes
ld hl, OBJECT_ACTION
add hl, bc
@@ -1961,7 +1491,7 @@
ret
; 4dc8
-Function4dc8: ; 4dc8
+ReturnDigStep: ; 4dc8
ld hl, OBJECT_STEP_DURATION
add hl, bc
ld a, [hl]
@@ -1969,15 +1499,14 @@
ld a, PERSON_ACTION_SPIN
jr z, .yes
ld a, PERSON_ACTION_SPIN_FLICKER
-
.yes
ld hl, OBJECT_ACTION
add hl, bc
ld [hl], a
- jp Function4b79
+ jp WaitStep_InPlace
; 4ddd
-Function4ddd: ; 4ddd
+StepType03: ; 4ddd
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], STANDING
@@ -1987,11 +1516,11 @@
ret nz
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 4df0
-Function4df0: ; 4df0
+StepType18: ; 4df0
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], STANDING
@@ -1999,10 +1528,10 @@
add hl, bc
dec [hl]
ret nz
- jp Function4357
+ jp DeleteMapObject
; 4dff
-Function4dff: ; 4dff
+StepTypeBump: ; 4dff
ld hl, OBJECT_STEP_DURATION
add hl, bc
dec [hl]
@@ -2009,18 +1538,17 @@
ret nz
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 4e0c
-Function4e0c: ; 4e0c
+StepType05: ; 4e0c
call Object28AnonymousJumptable
-; anonymous jumptable
- dw Function4e13
- dw Function4e21
-; 4e13
+; anonymous dw
+ dw .Reset
+ dw StepType04
-Function4e13: ; 4e13
+.Reset
call RestoreDefaultMovement
call GetInitialFacing
ld hl, OBJECT_FACING
@@ -2027,8 +1555,8 @@
add hl, bc
ld [hl], a
call IncrementObjectStructField28
-Function4e21: ; 4e21
- call Function4fb2
+StepType04: ; 4e21
+ call MobileFn_4fb2
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], STANDING
@@ -2035,74 +1563,71 @@
ret
; 4e2b
-Function4e2b: ; 4e2b
- call Function4fb2
+NPCStep: ; 4e2b
+ call MobileFn_4fb2
call AddStepVector
ld hl, OBJECT_STEP_DURATION
add hl, bc
dec [hl]
ret nz
- call Function4600
+ call CopyNextCoordsTileToStandingCoordsTile
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], STANDING
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 4e47
-Function4e47: ; 4e47
+StepType07: ; 4e47
call AddStepVector
ld hl, OBJECT_STEP_DURATION
add hl, bc
dec [hl]
ret nz
- call Function4600
+ call CopyNextCoordsTileToStandingCoordsTile
jp RandomStepDuration_Slow
; 4e56
-Function4e56: ; 4e56
+PlayerStep: ; 4e56
; AnimateStep?
call Object28AnonymousJumptable
-; anonymous jumptable
- dw Function4e5d
- dw Function4e65
-; 4e5d
+; anonymous dw
+ dw .init
+ dw .step
-Function4e5d: ; 4e5d
+.init
ld hl, wPlayerStepFlags
set 7, [hl]
call IncrementObjectStructField28
-Function4e65: ; 4e65
- call Function4738
+.step
+ call UpdatePlayerStep
ld hl, OBJECT_STEP_DURATION
add hl, bc
dec [hl]
ret nz
-
ld hl, wPlayerStepFlags
set 6, [hl]
- call Function4600
+ call CopyNextCoordsTileToStandingCoordsTile
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], STANDING
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 4e83
-Function4e83: ; 4e83
+PlayerOrNPCTurnStep: ; 4e83
call Object28AnonymousJumptable
-; anonymous jumptable
- dw Function4e8e
- dw Function4ea4
- dw Function4ead
- dw Function4ec0
-; 4e8e
+; anonymous dw
+ dw .init1
+ dw .step1
+ dw .init2
+ dw .step2
-Function4e8e: ; 4e8e
+.init1
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], STANDING
@@ -2114,14 +1639,14 @@
add hl, bc
ld [hl], 2
call IncrementObjectStructField28
-Function4ea4: ; 4ea4
+.step1
ld hl, OBJECT_STEP_DURATION
add hl, bc
dec [hl]
ret nz
call IncrementObjectStructField28
-Function4ead: ; 4ead
- ld hl, OBJECT_29
+.init2
+ ld hl, OBJECT_29 ; new facing
add hl, bc
ld a, [hl]
ld hl, OBJECT_FACING
@@ -2129,9 +1654,9 @@
ld [hl], a
ld hl, OBJECT_STEP_DURATION
add hl, bc
- ld [hl], $2
+ ld [hl], 2
call IncrementObjectStructField28
-Function4ec0: ; 4ec0
+.step2
ld hl, OBJECT_STEP_DURATION
add hl, bc
dec [hl]
@@ -2138,11 +1663,11 @@
ret nz
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 4ecd
-Function4ecd: ; 4ecd
+StepType0f: ; 4ecd
call AddStepVector
ld hl, OBJECT_STEP_DURATION
add hl, bc
@@ -2164,17 +1689,17 @@
ld hl, OBJECT_FLAGS2
add hl, bc
res 2, [hl]
- call Function4600
+ call CopyNextCoordsTileToStandingCoordsTile
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], STANDING
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 4f04
-Function4f04: ; 4f04
+StepTypeTrackingObject: ; 4f04
ld hl, OBJECT_29
add hl, bc
ld e, [hl]
@@ -2204,25 +1729,24 @@
ret z
dec [hl]
ret nz
-
.nope
- jp Function4357
+ jp DeleteMapObject
; 4f33
-Function4f33: ; 4f33
+StepType14: ; 4f33
+StepType15: ; 4f33
call Object28AnonymousJumptable
-; anonymous jumptable
- dw Function4f3a
- dw Function4f43
-; 4f3a
+; anonymous dw
+ dw .Init
+ dw .Run
-Function4f3a: ; 4f3a
+.Init
xor a
ld hl, OBJECT_29
add hl, bc
ld [hl], a
call IncrementObjectStructField28
-Function4f43: ; 4f43
+.Run
ld hl, OBJECT_29
add hl, bc
ld d, [hl]
@@ -2234,7 +1758,7 @@
dec [hl]
jr z, .ok
ld a, [hl]
- call Function4f6c
+ call .GetSign
ld hl, OBJECT_29
add hl, bc
ld [hl], a
@@ -2245,11 +1769,10 @@
ret
.ok
- call Function4357
+ call DeleteMapObject
ret
-; 4f6c
-Function4f6c: ; 4f6c
+.GetSign
ld hl, OBJECT_30
add hl, bc
and 1
@@ -2260,26 +1783,25 @@
ret
; 4f77
-Function4f77: ; 4f77
+StepType16: ; 4f77
call Object28AnonymousJumptable ; ????
; 4f7a
-
-Function4f7a: ; 4f7a
+StepType17: ; 4f7a
call Object28AnonymousJumptable
-; anonymous jumptable
- dw Function4f83
- dw Function4f83
- dw Function4f83
+; anonymous dw
+ dw .null
+ dw .null
+ dw .null
+.null
; 4f83
-Function4f83: ; 4f83
+SkyfallTop: ; 4f83
call Object28AnonymousJumptable
-; anonymous jumptable
- dw Function4f8a
- dw Function4f99
-; 4f8a
+; anonymous dw
+ dw .Init
+ dw .Run
-Function4f8a: ; 4f8a
+.Init
ld hl, OBJECT_ACTION
add hl, bc
ld [hl], PERSON_ACTION_10
@@ -2287,9 +1809,8 @@
add hl, bc
ld [hl], 16
call IncrementObjectStructField28
-; 4f99
-Function4f99: ; 4f99
+.Run:
ld hl, OBJECT_STEP_DURATION
add hl, bc
dec [hl]
@@ -2302,15 +1823,11 @@
ld [hl], 0
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 4fb2
-Function4fb2: ; 4fb2
- ret
-; 4fb3
-
-Function4fb3: ; 4fb3
+MobileFn_4fb2: mobile
ld hl, OBJECT_29
add hl, bc
inc [hl]
@@ -2327,12 +1844,10 @@
add hl, bc
ld [hl], a
ret
-; 4fcd
.y ; 4fcd
db 0, -1, -2, -3, -4, -3, -2, -1
; 4fd5
-
UpdateJumpPosition: ; 4fd5
call GetStepVector
ld a, h
@@ -2351,29 +1866,27 @@
add hl, bc
ld [hl], a
ret
-; 4ff0
.y ; 4ff0
db -4, -6, -8, -10, -11, -12, -12, -12
db -11, -10, -9, -8, -6, -4, 0, 0
; 5000
-
Function5000: ; unscripted?
-; copy [wc2de] to [wc2df]
- ld a, [wc2de]
- ld hl, wc2df
+; copy [wPlayerNextMovement] to [wPlayerMovement]
+ ld a, [wPlayerNextMovement]
+ ld hl, wPlayerMovement
ld [hl], a
-; load [wc2de] with movement_step_sleep_1
+; load [wPlayerNextMovement] with movement_step_sleep_1
ld a, movement_step_sleep_1
- ld [wc2de], a
-; recover the previous value of [wc2de]
+ ld [wPlayerNextMovement], a
+; recover the previous value of [wPlayerNextMovement]
ld a, [hl]
ret
; 500e
-Function500e: ; scripted
+GetMovementByte:
ld hl, wMovementDataPointer
- call Function1aae
+ call _GetMovementByte
ret
; 5015
@@ -2383,7 +1896,7 @@
ld e, [hl]
inc [hl]
ld d, 0
- ld hl, wMovementPerson
+ ld hl, wc2e2
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2407,7 +1920,7 @@
ret
; 5037
-Function5037: ; 5037
+_GetMovementPerson: ; 5037
ld hl, GetMovementPerson
jp HandleMovementData
; 503d
@@ -2418,19 +1931,18 @@
; 5041
HandleMovementData: ; 5041
- call CopyMovementPointer
+ call .StorePointer
.loop
xor a
- ld [wc2ea], a
- call GetMovementByte
+ ld [wMovementByteWasControlSwitch], a
+ call JumpMovementPointer
call DoMovementFunction
- ld a, [wc2ea]
+ ld a, [wMovementByteWasControlSwitch]
and a
jr nz, .loop
ret
-; 5055
-CopyMovementPointer: ; 5055
+.StorePointer
ld a, l
ld [wMovementPointer], a
ld a, h
@@ -2438,7 +1950,7 @@
ret
; 505e
-GetMovementByte: ; 505e
+JumpMovementPointer: ; 505e
ld hl, wMovementPointer
ld a, [hli]
ld h, [hl]
@@ -2448,7 +1960,7 @@
ContinueReadingMovement: ; 5065
ld a, 1
- ld [wc2ea], a
+ ld [wMovementByteWasControlSwitch], a
ret
; 506b
@@ -2461,12 +1973,9 @@
ret
; 5075
-
-; 5075
INCLUDE "engine/movement.asm"
; 54b8
-
ApplyMovementToFollower: ; 54b8
ld e, a
ld a, [wObjectFollow_Follower]
@@ -2478,22 +1987,22 @@
cp d
ret nz
ld a, e
- cp $3e
+ cp movement_step_sleep_1
ret z
- cp $47
+ cp movement_step_end
ret z
- cp $4b
+ cp movement_step_4b
ret z
- cp $50
+ cp movement_step_bump
ret z
- cp $8
+ cp movement_turn_step_right + 1
ret c
push af
- ld hl, wd4d0
+ ld hl, wFollowerMovementQueueLength
inc [hl]
ld e, [hl]
ld d, 0
- ld hl, wd4d1
+ ld hl, wFollowMovementQueue
add hl, de
pop af
ld [hl], a
@@ -2500,8 +2009,8 @@
ret
; 54e6
-Function54e6: ; 54e6
- ld hl, wd4d0
+GetFollowerNextMovementByte: ; 54e6
+ ld hl, wFollowerMovementQueueLength
ld a, [hl]
and a
jr z, .done
@@ -2510,7 +2019,7 @@
dec [hl]
ld e, a
ld d, 0
- ld hl, wd4d1
+ ld hl, wFollowMovementQueue
add hl, de
inc e
ld a, -1
@@ -2523,14 +2032,12 @@
ret
.done
- call Function550a
+ call .CancelFollowIfLeaderMissing
ret c
-
ld a, movement_step_sleep_1
ret
-; 550a
-Function550a: ; 550a
+.CancelFollowIfLeaderMissing
ld a, [wObjectFollow_Leader]
cp -1
jr z, .nope
@@ -2546,7 +2053,7 @@
ret
.nope
- ld a, $ff
+ ld a, -1
ld [wObjectFollow_Follower], a
ld a, movement_step_end
scf
@@ -2565,7 +2072,6 @@
; vtile, palette, movement
db $00, PAL_OW_SILVER, SPRITEMOVEDATA_SHADOW
; 5538
-
SpawnStrengthBoulderDust: ; 5538
push bc
ld de, .BoulderDustObject
@@ -2577,7 +2083,6 @@
.BoulderDustObject
db $00, PAL_OW_SILVER, SPRITEMOVEDATA_BOULDERDUST
; 5547
-
SpawnEmote: ; 5547
push bc
ld de, .EmoteObject
@@ -2589,7 +2094,6 @@
.EmoteObject
db $00, PAL_OW_SILVER, SPRITEMOVEDATA_EMOTE
; 5556
-
ShakeGrass: ; 5556
push bc
ld de, .data_5562
@@ -2601,7 +2105,6 @@
.data_5562
db $00, PAL_OW_TREE, SPRITEMOVEDATA_GRASS
; 5565
-
ShakeScreen: ; 5565
push bc
push af
@@ -2616,7 +2119,6 @@
.ScreenShakeObject
db $00, PAL_OW_SILVER, SPRITEMOVEDATA_SCREENSHAKE
; 5579
-
DespawnEmote: ; 5579
push bc
ld a, [hMapObjectIndexBuffer]
@@ -2624,9 +2126,8 @@
call .DeleteEmote
pop bc
ret
-; 5582
-.DeleteEmote: ; 5582
+.DeleteEmote
ld de, ObjectStructs
ld a, NUM_OBJECT_STRUCTS
.loop
@@ -2645,7 +2146,6 @@
ld bc, OBJECT_STRUCT_LENGTH
call ByteFill
pop bc
-
.next
ld hl, OBJECT_STRUCT_LENGTH
add hl, de
@@ -2660,7 +2160,6 @@
InitTempObject: ; 55ac
call FindFirstEmptyObjectStruct
ret nc
-
ld d, h
ld e, l
callba CopyTempObjectToObjectStruct
@@ -2676,7 +2175,6 @@
inc hl
ld [hl], -1
inc hl
-
ld a, [de]
inc de
ld [hli], a
@@ -2685,10 +2183,8 @@
ld [hli], a
ld a, [de]
ld [hli], a
-
ld a, [hMapObjectIndexBuffer]
ld [hli], a
-
push hl
ld hl, OBJECT_NEXT_MAP_X
add hl, bc
@@ -2697,7 +2193,6 @@
add hl, bc
ld e, [hl]
pop hl
-
ld [hl], d
inc hl
ld [hl], e
@@ -2710,7 +2205,6 @@
ld a, [VramState]
bit 0, a
ret z
-
ld bc, ObjectStructs
xor a
.loop
@@ -2718,7 +2212,6 @@
call GetObjectSprite
jr z, .ok
call Function565c
-
.ok
ld hl, OBJECT_STRUCT_LENGTH
add hl, bc
@@ -2735,16 +2228,13 @@
call Function5645 ; clear sprites
ld a, PLAYER
call Function5629 ; respawn player
-
ld a, [wBattleScriptFlags]
bit 7, a
jr z, .ok
-
ld a, [hLastTalked]
and a
jr z, .ok
call Function5629 ; respawn opponent
-
.ok
call _UpdateSprites
ret
@@ -2761,7 +2251,6 @@
Function5629: ; 5629
cp NUM_OBJECTS
ret nc
-
call GetMapObject
ld hl, MAPOBJECT_OBJECT_STRUCT_ID
add hl, bc
@@ -2768,14 +2257,11 @@
ld a, [hl]
cp -1
ret z
-
cp NUM_OBJECT_STRUCTS
ret nc
-
call GetObjectStruct
call GetObjectSprite
ret z
-
call Function5673
ret
; 5645
@@ -2839,7 +2325,7 @@
ld hl, OBJECT_NEXT_TILE
add hl, bc
ld [hl], a
- callba Function463f ; no need to farcall
+ callba UpdateTallGrassFlags ; no need to farcall
ret
; 56a3
@@ -2859,7 +2345,6 @@
add $b
cp d
jr c, .nope
-
.equal_x
ld a, [YCoord]
cp e
@@ -2868,7 +2353,6 @@
add $a
cp e
jr c, .nope
-
.equal_y
xor a
ret
@@ -2879,7 +2363,7 @@
; 56cd
Function56cd: ; 56cd
- ld a, [wd14c]
+ ld a, [wFollowNotExactPersonX]
ld d, a
ld hl, OBJECT_SPRITE_X_OFFSET
add hl, bc
@@ -2892,7 +2376,6 @@
jr nc, .ok1
cp $a0
jp nc, .nope
-
.ok1
and %00000111
ld d, 2
@@ -2899,7 +2382,6 @@
cp 4
jr c, .ok2
ld d, 3
-
.ok2
ld a, [hl]
srl a
@@ -2908,10 +2390,9 @@
cp SCREEN_WIDTH
jr c, .ok3
sub $20
-
.ok3
ld [hUsedSpriteIndex], a
- ld a, [wd14d]
+ ld a, [wFollowNotExactPersonY]
ld e, a
ld hl, OBJECT_SPRITE_Y_OFFSET
add hl, bc
@@ -2924,7 +2405,6 @@
jr nc, .ok4
cp $90
jr nc, .nope
-
.ok4
and %00000111
ld e, 2
@@ -2931,7 +2411,6 @@
cp 4
jr c, .ok5
ld e, 3
-
.ok5
ld a, [hl]
srl a
@@ -2940,7 +2419,6 @@
cp $12
jr c, .ok6
sub $20
-
.ok6
ld [hUsedSpriteTile], a
ld hl, OBJECT_PALETTE
@@ -2953,7 +2431,6 @@
ld a, e
add 2
ld e, a
-
.ok7
ld a, d
ld [hFFBF], a
@@ -2979,11 +2456,9 @@
ld a, [hl]
cp $60
jr nc, .nope
-
.ok8
dec d
jr nz, .next
-
.ok9
dec e
jr nz, .loop
@@ -2996,12 +2471,11 @@
; 576a
Function576a:: ; 576a
- call Function5771
+ call .ResetStepVector
call Function5781
ret
-; 5771
-Function5771: ; 5771
+.ResetStepVector
xor a
ld [wPlayerStepVectorX], a
ld [wPlayerStepVectorY], a
@@ -3019,7 +2493,6 @@
call GetObjectSprite
jr z, .next
call Function437b
-
.next
ld hl, OBJECT_STRUCT_LENGTH
add hl, bc
@@ -3034,13 +2507,13 @@
Function579d: ; 579d
ld a, $3e
- ld [wc2de], a
- ld [wc2df], a
+ ld [wPlayerNextMovement], a
+ ld [wPlayerMovement], a
xor a
ld [wd04e], a
ld [PlayerObjectStepFrame], a
call Function57bc
- callba CheckWarpCollision
+ callba CheckWarpFacingDown
call c, SpawnInFacingDown
call SpawnInCustomFacing
ret
@@ -3064,9 +2537,8 @@
ret z
ld a, [wPlayerSpriteSetupFlags]
and 3
-rept 2
add a
-endr
+ add a
jr ContinueSpawnFacing
; 57d9
@@ -3082,7 +2554,6 @@
ld a, d
and %10000000
ret z
-
ld bc, 0 ; debug?
ld hl, OBJECT_FACING
add hl, bc
@@ -3089,7 +2560,6 @@
ld a, [hl]
or d
ld [hl], a
-
ld a, d
swap a
and %00000111
@@ -3112,7 +2582,7 @@
ret c
ld a, c
call SetFollowerIfVisible
- callba Function848a
+ callba QueueFollowerFirstStep
ret
; 5815
@@ -3198,7 +2668,6 @@
ld hl, OBJECT_FLAGS2
add hl, bc
set 5, [hl]
-
.next
ld hl, OBJECT_STRUCT_LENGTH
add hl, bc
@@ -3244,7 +2713,6 @@
ld hl, OBJECT_FLAGS2
add hl, bc
res 5, [hl]
-
.next
ld hl, OBJECT_STRUCT_LENGTH
add hl, bc
@@ -3273,7 +2741,6 @@
ld a, [hl]
cp -1
jp z, Function5903 ; a jr would have been appropriate here
-
push bc
call GetMapObject
ld hl, MAPOBJECT_MOVEMENT
@@ -3280,11 +2747,9 @@
add hl, bc
ld a, [hl]
pop bc
-
ld hl, OBJECT_MOVEMENTTYPE
add hl, bc
ld [hl], a
-
ld hl, OBJECT_STEP_TYPE
add hl, bc
ld [hl], STEP_TYPE_00
@@ -3303,7 +2768,6 @@
ld hl, OBJECT_MOVEMENTTYPE
add hl, bc
ld [hl], a
-
ld hl, OBJECT_STEP_TYPE
add hl, bc
ld [hl], STEP_TYPE_00
@@ -3315,7 +2779,6 @@
db SPRITEMOVEDATA_STANDING_LEFT
db SPRITEMOVEDATA_STANDING_RIGHT
; 5920
-
_UpdateSprites:: ; 5920
ld a, [VramState]
bit 0, a
@@ -3331,15 +2794,13 @@
pop af
ld [hOAMUpdate], a
ret
-; 593a
-.fill: ; 593a
+.fill
ld a, [VramState]
bit 1, a
ld b, SpritesEnd % $100
jr z, .ok
ld b, 28 * 4
-
.ok
ld a, [hUsedSpriteIndex]
cp b
@@ -3361,30 +2822,26 @@
push hl
push de
push bc
- ld a, [wd14c]
+ ld a, [wFollowNotExactPersonX]
ld d, a
- ld a, [wd14d]
+ ld a, [wFollowNotExactPersonY]
ld e, a
ld bc, ObjectStructs
ld a, NUM_OBJECT_STRUCTS
-
.loop
push af
call GetObjectSprite
jr z, .skip
-
ld hl, OBJECT_SPRITE_X
add hl, bc
ld a, [hl]
add d
ld [hl], a
-
ld hl, OBJECT_SPRITE_Y
add hl, bc
ld a, [hl]
add e
ld [hl], a
-
.skip
ld hl, OBJECT_STRUCT_LENGTH
add hl, bc
@@ -3393,10 +2850,9 @@
pop af
dec a
jr nz, .loop
-
xor a
- ld [wd14c], a
- ld [wd14d], a
+ ld [wFollowNotExactPersonX], a
+ ld [wFollowNotExactPersonY], a
pop bc
pop de
pop hl
@@ -3415,28 +2871,24 @@
ld c, PRIORITY_LOW
call .InitSpritesByPriority
ret
-; 59a4
-.DeterminePriorities: ; 59a4
+.DeterminePriorities
xor a
- ld hl, wc2eb
+ ld hl, wMovementPointer
ld bc, NUM_OBJECT_STRUCTS
call ByteFill
-
ld d, 0
ld bc, ObjectStructs
- ld hl, wc2eb
+ ld hl, wMovementPointer
.loop
push hl
call GetObjectSprite
jr z, .skip
-
ld hl, OBJECT_FACING_STEP
add hl, bc
ld a, [hl]
cp STANDING
jr z, .skip
-
; Define the sprite priority.
ld e, PRIORITY_LOW
ld hl, OBJECT_FLAGS2
@@ -3466,7 +2918,6 @@
ld a, d
or e
ld [hli], a
-
.next
inc d
ld a, d
@@ -3473,9 +2924,8 @@
cp NUM_OBJECT_STRUCTS
jr nz, .loop
ret
-; 59f3
-.InitSpritesByPriority: ; 59f3
+.InitSpritesByPriority
ld hl, wMovementPointer
.next_sprite
ld a, [hli]
@@ -3484,7 +2934,6 @@
ret z
cp c
jr nz, .next_sprite
-
push bc
push hl
ld a, d
@@ -3494,21 +2943,18 @@
pop hl
pop bc
jr .next_sprite
-; 5a0d
-.InitSprite: ; 5a0d
+.InitSprite
ld hl, OBJECT_SPRITE_TILE
add hl, bc
ld a, [hl]
and %01111111
ld [hFFC1], a
-
xor a
bit 7, [hl]
jr nz, .skip1
or %00001000
.skip1
-
ld hl, OBJECT_FLAGS2
add hl, bc
ld e, [hl]
@@ -3516,12 +2962,10 @@
jr z, .skip2
or %10000000
.skip2
-
bit 4, e
jr z, .skip3
or %00010000
.skip3
-
ld hl, OBJECT_PALETTE
add hl, bc
ld d, a
@@ -3529,7 +2973,6 @@
and %00000111
or d
ld d, a
-
xor a
bit 3, e
jr z, .skip4
@@ -3536,37 +2979,28 @@
or %10000000
.skip4
ld [hFFC2], a
-
ld hl, OBJECT_SPRITE_X
add hl, bc
ld a, [hl]
-
ld hl, OBJECT_SPRITE_X_OFFSET
add hl, bc
add [hl]
-
add 8
-
ld e, a
- ld a, [wd14c]
+ ld a, [wFollowNotExactPersonX]
add e
ld [hFFBF], a
-
ld hl, OBJECT_SPRITE_Y
add hl, bc
ld a, [hl]
-
ld hl, OBJECT_SPRITE_Y_OFFSET
add hl, bc
add [hl]
-
add 12
-
ld e, a
- ld a, [wd14d]
+ ld a, [wFollowNotExactPersonY]
add e
ld [hFFC0], a
-
ld hl, OBJECT_FACING_STEP
add hl, bc
ld a, [hl]
@@ -3574,7 +3008,6 @@
jp z, .done
cp NUM_FACINGS
jp nc, .done
-
ld l, a
ld h, 0
add hl, hl
@@ -3583,7 +3016,6 @@
ld a, [hli]
ld h, [hl]
ld l, a
-
ld a, [hUsedSpriteIndex]
ld c, a
ld b, Sprites / $100
@@ -3592,25 +3024,19 @@
add c
cp SpritesEnd % $100
jr nc, .full
-
.addsprite
ld a, [hFFC0]
add [hl]
inc hl
-
ld [bc], a
inc c
-
ld a, [hFFBF]
add [hl]
inc hl
-
ld [bc], a
inc c
-
ld e, [hl]
inc hl
-
ld a, [hFFC1]
bit 2, e
jr z, .nope1
@@ -3618,10 +3044,8 @@
.nope1
add [hl]
inc hl
-
ld [bc], a
inc c
-
ld a, e
bit 1, a
jr z, .nope2
@@ -3632,15 +3056,12 @@
or d
ld [bc], a
inc c
-
ld a, [hUsedSpriteTile]
dec a
ld [hUsedSpriteTile], a
jr nz, .addsprite
-
ld a, c
ld [hUsedSpriteIndex], a
-
.done
xor a
ret
@@ -3648,20 +3069,17 @@
.full
scf
ret
-; 5ac2
-.GetObjectStructPointer: ; 5ac2
+.GetObjectStructPointer
ld c, a
ld b, 0
ld hl, .Addresses
-rept 2
- add hl,bc
-endr
+ add hl, bc
+ add hl, bc
ld c, [hl]
inc hl
ld b, [hl]
ret
-; 5ace
.Addresses ; 5ace
dw PlayerStruct
--- a/engine/map_setup.asm
+++ b/engine/map_setup.asm
@@ -6,9 +6,8 @@
ld c, a
ld b, 0
ld hl, MapSetupScripts
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -33,11 +32,9 @@
MapSetupScript_Teleport: ; 1538f
db map_prolong_sprites
-
MapSetupScript_Fly: ; 15390
db map_fade_out_palettes
db map_keep_roam
-
MapSetupScript_Warp: ; 15392
db map_lcd_off
db map_sound_off
@@ -61,7 +58,7 @@
db map_fade_in_palettes
db map_animations_on
db map_wildmons
- db map_end_setup_script
+ db map_end
MapSetupScript_BadWarp: ; 153a9
db map_load_spawn
@@ -85,7 +82,7 @@
db map_fade_in_palettes
db map_animations_on
db map_wildmons
- db map_end_setup_script
+ db map_end
MapSetupScript_Connection: ; 153bf
db map_animations_off
@@ -104,14 +101,12 @@
db map_wildmons
db map_update_roam
db map_animations_on
- db map_end_setup_script
+ db map_end
MapSetupScript_Fall: ; 153d0
db map_prolong_sprites
-
MapSetupScript_Door: ; 153d1
db map_fade_out_palettes
-
MapSetupScript_Train: ; 153d2
db map_load_warp
db map_attributes
@@ -133,7 +128,7 @@
db map_animations_on
db map_wildmons
db map_update_roam
- db map_end_setup_script
+ db map_end
MapSetupScript_ReloadMap: ; 153e7
db map_fade
@@ -151,7 +146,7 @@
db map_fade_in_palettes
db map_animations_on
db map_wildmons
- db map_end_setup_script
+ db map_end
MapSetupScript_LinkReturn: ; 153f7
db map_fade
@@ -170,7 +165,7 @@
db map_animations_on
db map_wildmons
db map_text_scroll_off
- db map_end_setup_script
+ db map_end
MapSetupScript_Continue: ; 15408
db map_lcd_off
@@ -190,12 +185,12 @@
db map_fade_in_palettes
db map_animations_on
db map_wildmons
- db map_end_setup_script
+ db map_end
MapSetupScript_Submenu: ; 1541a
db map_load_blocks
db map_connection_blocks
- db map_end_setup_script
+ db map_end
ReadMapSetupScript: ; 1541d
@@ -252,7 +247,7 @@
dba RotatePalettesRightMapAndMusic ; 06
dba EnterMapMusic ; 07
dba ForceMapMusic ; 08
- dba RotatePalettesLeftMusic ; 09
+ dba FadeInMusic ; 09
dba LoadBlockData ; 0a
dba LoadNeighboringBlockData ; 0b
dba SaveScreen ; 0c
--- a/engine/mart.asm
+++ b/engine/mart.asm
@@ -70,10 +70,10 @@
Pharmacist: ; 15aae
call FarReadMart
call LoadStandardMenuDataHeader
- ld hl, UnknownText_0x15e90
+ ld hl, Text_Pharmacist_Intro
call MartTextBox
call BuyMenu
- ld hl, UnknownText_0x15eae
+ ld hl, Text_Pharmacist_ComeAgain
call MartTextBox
ret
; 15ac4
@@ -185,9 +185,9 @@
.TopMenu: ; 15b6e
ld hl, MenuDataHeader_BuySell
call CopyMenuDataHeader
- call InterpretMenu2
+ call VerticalMenu
jr c, .quit
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr z, .buy
cp $2
@@ -369,7 +369,7 @@
BuyMenu: ; 15c62
call FadeToMenu
- callba Function8000
+ callba BlankScreen
xor a
ld [wd045 + 1], a
ld a, 1
@@ -377,7 +377,7 @@
.loop
call BuyMenuLoop ; menu loop
jr nc, .loop
- call ReturnToCallingMenu
+ call CloseSubmenu
ret
; 15c7d
@@ -470,7 +470,7 @@
BuyMenuLoop: ; 15cef
- callba PlaceMoneyTopRightOW
+ callba PlaceMoneyTopRight
call UpdateSprites
ld hl, MenuDataHeader_Buy
call CopyMenuDataHeader
@@ -478,13 +478,13 @@
ld [wMenuCursorBuffer], a
ld a, [wd045 + 1]
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
+ call ScrollingMenu
ld a, [wMenuScrollPosition]
ld [wd045 + 1], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wd045], a
call SpeechTextBox
- ld a, [wcf73]
+ ld a, [wMenuJoypad]
cp B_BUTTON
jr z, .set_carry
cp A_BUTTON
@@ -493,7 +493,7 @@
.useless_pointer
call MartAskPurchaseQuantity
jr c, .cancel
- call Function15d97
+ call MartConfirmPurchase
jr c, .cancel
ld de, Money
ld bc, hMoneyTemp
@@ -546,12 +546,12 @@
ld [wItemQuantityBuffer], a
ld a, MARTTEXT_HOW_MANY
call LoadBuyMenuText
- callba Function24fc9
+ callba SelectQuantityToBuy
call ExitMenu
ret
; 15d97
-Function15d97: ; 15d97
+MartConfirmPurchase: ; 15d97
predef PartyMonItemName
ld a, MARTTEXT_COSTS_THIS_MUCH
call LoadBuyMenuText
@@ -606,7 +606,7 @@
call .GetSalePrice
ld a, 99
ld [wItemQuantityBuffer], a
- callba Function24fcf
+ callba RooftopSale_SelectQuantityToBuy
call ExitMenu
ret
; 15df9
@@ -662,7 +662,7 @@
; 15e30
.PrintBCDPrices: ; 15e30
- ld a, [wcf77]
+ ld a, [wScrollingMenuCursorPosition]
ld c, a
ld b, 0
ld hl, wMartItem1BCD
@@ -764,7 +764,7 @@
db "@"
; 0x15e90
-UnknownText_0x15e90: ; 0x15e90
+Text_Pharmacist_Intro: ; 0x15e90
; What's up? Need some medicine?
text_jump UnknownText_0x1c4e5f
db "@"
@@ -800,7 +800,7 @@
db "@"
; 0x15eae
-UnknownText_0x15eae: ; 0x15eae
+Text_Pharmacist_ComeAgain: ; 0x15eae
; All right. See you around.
text_jump UnknownText_0x1c4ef6
db "@"
@@ -809,30 +809,29 @@
SellMenu: ; 15eb3
call DisableSpriteUpdates
- callba Function106a5
-.asm_15ebc
- callba Function106be
+ callba DepositSellInitPackBuffers
+.loop
+ callba DepositSellPack
ld a, [wcf66]
and a
- jp z, Function15ece
- call Function15ee0
- jr .asm_15ebc
-; 15ece
+ jp z, .quit
+ call .TryToSellItem
+ jr .loop
-Function15ece: ; 15ece
- call Function2b74
+.quit
+ call ReturnToMapWithSpeechTextbox
and a
ret
; 15ed3
-Function15ed3: ; unreferenced
- ld hl, UnknownText_0x15edb
+.NothingToSell: ; unreferenced
+ ld hl, .NothingToSellText
call MenuTextBoxBackup
and a
ret
; 15edb
-UnknownText_0x15edb: ; 0x15edb
+.NothingToSellText: ; 0x15edb
; You don't have anything to sell.
text_jump UnknownText_0x1c4f12
db "@"
@@ -839,15 +838,15 @@
; 0x15ee0
-Function15ee0: ; 15ee0
+.TryToSellItem: ; 15ee0
callba CheckItemMenu
ld a, [wItemAttributeParamBuffer]
- ld hl, .jumptable
+ ld hl, .dw
rst JumpTable
ret
; 15eee
-.jumptable: ; 15eee
+.dw: ; 15eee
dw .try_sell
dw .cant_buy
dw .cant_buy
@@ -875,8 +874,8 @@
.okay_to_sell
ld hl, Text_Mart_SellHowMany
call PrintText
- callba PlaceMoneyTopRightMenu
- callba Function24fe1
+ callba PlaceMoneyAtTopLeftOfTextbox
+ callba SelectQuantityToSell
call ExitMenu
jr c, .declined
hlcoord 1, 14
@@ -899,7 +898,7 @@
ld hl, Text_Mart_SoldForAmount
call PrintTextBoxText
call PlayTransactionSound
- callba PlaceMoneyBottomLeftOW
+ callba PlaceMoneyBottomLeft
call JoyWaitAorB
.declined
--- /dev/null
+++ b/engine/math.asm
@@ -1,0 +1,196 @@
+_Multiply:: ; 66de
+
+; hMultiplier is one byte.
+ ld a, 8
+ ld b, a
+
+ xor a
+ ld [hProduct], a
+ ld [hMathBuffer + 1], a
+ ld [hMathBuffer + 2], a
+ ld [hMathBuffer + 3], a
+ ld [hMathBuffer + 4], a
+
+
+.loop
+ ld a, [hMultiplier]
+ srl a
+ ld [hMultiplier], a
+ jr nc, .next
+
+ ld a, [hMathBuffer + 4]
+ ld c, a
+ ld a, [hMultiplicand + 2]
+ add c
+ ld [hMathBuffer + 4], a
+
+ ld a, [hMathBuffer + 3]
+ ld c, a
+ ld a, [hMultiplicand + 1]
+ adc c
+ ld [hMathBuffer + 3], a
+
+ ld a, [hMathBuffer + 2]
+ ld c, a
+ ld a, [hMultiplicand + 0]
+ adc c
+ ld [hMathBuffer + 2], a
+
+ ld a, [hMathBuffer + 1]
+ ld c, a
+ ld a, [hProduct]
+ adc c
+ ld [hMathBuffer + 1], a
+
+.next
+ dec b
+ jr z, .done
+
+
+; hMultiplicand <<= 1
+
+ ld a, [hMultiplicand + 2]
+ add a
+ ld [hMultiplicand + 2], a
+
+ ld a, [hMultiplicand + 1]
+ rla
+ ld [hMultiplicand + 1], a
+
+ ld a, [hMultiplicand + 0]
+ rla
+ ld [hMultiplicand + 0], a
+
+ ld a, [hProduct]
+ rla
+ ld [hProduct], a
+
+ jr .loop
+
+
+.done
+ ld a, [hMathBuffer + 4]
+ ld [hProduct + 3], a
+
+ ld a, [hMathBuffer + 3]
+ ld [hProduct + 2], a
+
+ ld a, [hMathBuffer + 2]
+ ld [hProduct + 1], a
+
+ ld a, [hMathBuffer + 1]
+ ld [hProduct + 0], a
+
+ ret
+; 673e
+
+
+_Divide:: ; 673e
+ xor a
+ ld [hMathBuffer + 0], a
+ ld [hMathBuffer + 1], a
+ ld [hMathBuffer + 2], a
+ ld [hMathBuffer + 3], a
+ ld [hMathBuffer + 4], a
+
+ ld a, 9
+ ld e, a
+
+.loop
+ ld a, [hMathBuffer + 0]
+ ld c, a
+ ld a, [hDividend + 1]
+ sub c
+ ld d, a
+
+ ld a, [hDivisor]
+ ld c, a
+ ld a, [hDividend + 0]
+ sbc c
+ jr c, .next
+
+ ld [hDividend + 0], a
+
+ ld a, d
+ ld [hDividend + 1], a
+
+ ld a, [hMathBuffer + 4]
+ inc a
+ ld [hMathBuffer + 4], a
+
+ jr .loop
+
+.next
+ ld a, b
+ cp 1
+ jr z, .done
+
+ ld a, [hMathBuffer + 4]
+ add a
+ ld [hMathBuffer + 4], a
+
+ ld a, [hMathBuffer + 3]
+ rla
+ ld [hMathBuffer + 3], a
+
+ ld a, [hMathBuffer + 2]
+ rla
+ ld [hMathBuffer + 2], a
+
+ ld a, [hMathBuffer + 1]
+ rla
+ ld [hMathBuffer + 1], a
+
+ dec e
+ jr nz, .next2
+
+ ld e, 8
+ ld a, [hMathBuffer + 0]
+ ld [hDivisor], a
+ xor a
+ ld [hMathBuffer + 0], a
+
+ ld a, [hDividend + 1]
+ ld [hDividend + 0], a
+
+ ld a, [hDividend + 2]
+ ld [hDividend + 1], a
+
+ ld a, [hDividend + 3]
+ ld [hDividend + 2], a
+
+.next2
+ ld a, e
+ cp 1
+ jr nz, .okay
+ dec b
+
+.okay
+ ld a, [hDivisor]
+ srl a
+ ld [hDivisor], a
+
+ ld a, [hMathBuffer + 0]
+ rr a
+ ld [hMathBuffer + 0], a
+
+ jr .loop
+
+.done
+ ld a, [hDividend + 1]
+ ld [hDivisor], a
+
+ ld a, [hMathBuffer + 4]
+ ld [hDividend + 3], a
+
+ ld a, [hMathBuffer + 3]
+ ld [hDividend + 2], a
+
+ ld a, [hMathBuffer + 2]
+ ld [hDividend + 1], a
+
+ ld a, [hMathBuffer + 1]
+ ld [hDividend + 0], a
+
+ ret
+; 67c1
--- a/engine/menu.asm
+++ b/engine/menu.asm
@@ -1,54 +1,57 @@
-Function2400e:: ; 2400e
+_2DMenu_:: ; 2400e
ld hl, CopyMenuData2
- ld a, [wcf94]
+ ld a, [wMenuData2_2DMenuItemStringsBank]
rst FarCall
- call Function24085
+
+ call Draw2DMenu
call UpdateSprites
call ApplyTilemap
- call Function2408f
+ call Get2DMenuSelection
ret
; 24022
-Function24022:: ; 24022
+_InterpretBattleMenu:: ; 24022
ld hl, CopyMenuData2
- ld a, [wcf94]
+ ld a, [wMenuData2_2DMenuItemStringsBank]
rst FarCall
- call Function24085
+
+ call Draw2DMenu
callba MobileTextBorder
call UpdateSprites
call ApplyTilemap
- call Function2408f
+ call Get2DMenuSelection
ret
; 2403c
-Function2403c:: ; 2403c
+_InterpretMobileMenu:: ; 2403c
ld hl, CopyMenuData2
- ld a, [wcf94]
+ ld a, [wMenuData2_2DMenuItemStringsBank]
rst FarCall
- call Function24085
+
+ call Draw2DMenu
callba MobileTextBorder
call UpdateSprites
call ApplyTilemap
- call Function2411a
- ld hl, wcfa5
+ call Init2DMenuCursorPosition
+ ld hl, w2DMenuFlags1
set 7, [hl]
-.asm_2405a
+.loop
call DelayFrame
callba Function10032e
ld a, [wcd2b]
and a
- jr nz, .asm_24076
- call Function241ba
- ld a, [wcfa8]
+ jr nz, .quit
+ call MobileMenuJoypad
+ ld a, [wMenuJoypadFilter]
and c
- jr z, .asm_2405a
- call Function24098
+ jr z, .loop
+ call Mobile_GetMenuSelection
ret
-.asm_24076
- ld a, [wcfa4]
+.quit
+ ld a, [w2DMenuNumCols]
ld c, a
- ld a, [wcfa3]
+ ld a, [w2DMenuNumRows]
call SimpleMultiply
ld [wMenuCursorBuffer], a
and a
@@ -57,64 +60,63 @@
-Function24085: ; 24085
+Draw2DMenu: ; 24085
xor a
ld [hBGMapMode], a
call MenuBox
- call Function240db
+ call Place2DMenuItemStrings
ret
; 2408f
-Function2408f: ; 2408f
- call Function2411a
- call Function1bc9
- call Function1ff8
-
-Function24098: ; 24098
+Get2DMenuSelection: ; 2408f
+ call Init2DMenuCursorPosition
+ call StaticMenuJoypad
+ call MenuClickSound
+Mobile_GetMenuSelection: ; 24098
ld a, [wMenuData2Flags]
bit 1, a
- jr z, .asm_240a6
- call Function1bdd
- bit 2, a
- jr nz, .asm_240c9
+ jr z, .skip
+ call GetMenuJoypad
+ bit SELECT_F, a
+ jr nz, .quit1
-.asm_240a6
+.skip
ld a, [wMenuData2Flags]
bit 0, a
- jr nz, .asm_240b4
- call Function1bdd
- bit 1, a
- jr nz, .asm_240cb
+ jr nz, .skip2
+ call GetMenuJoypad
+ bit B_BUTTON_F, a
+ jr nz, .quit2
-.asm_240b4
- ld a, [wcfa4]
+.skip2
+ ld a, [w2DMenuNumCols]
ld c, a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
call SimpleMultiply
ld c, a
- ld a, [wcfaa]
+ ld a, [wMenuCursorX]
add c
ld [wMenuCursorBuffer], a
and a
ret
-.asm_240c9
+.quit1
scf
ret
-.asm_240cb
+.quit2
scf
ret
; 240cd
-Function240cd: ; 240cd
+GetMenuNumberOfColumns: ; 240cd
ld a, [wMenuData2Items]
and $f
ret
; 240d3
-Function240d3: ; 240d3
+GetMenuNumberOfRows: ; 240d3
ld a, [wMenuData2Items]
swap a
and $f
@@ -121,110 +123,110 @@
ret
; 240db
-Function240db: ; 240db
- ld hl, wcf95
+Place2DMenuItemStrings: ; 240db
+ ld hl, wMenuData2_2DMenuItemStringsAddr
ld e, [hl]
inc hl
ld d, [hl]
call GetMenuTextStartCoord
call Coord2Tile
- call Function240d3
+ call GetMenuNumberOfRows
ld b, a
-.asm_240eb
+.row
push bc
push hl
- call Function240cd
+ call GetMenuNumberOfColumns
ld c, a
-.asm_240f1
+.col
push bc
- ld a, [wcf94]
- call Function201c
+ ld a, [wMenuData2_2DMenuItemStringsBank]
+ call Place2DMenuItemName
inc de
- ld a, [wcf93]
+ ld a, [wMenuData2Spacing]
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
pop bc
dec c
- jr nz, .asm_240f1
+ jr nz, .col
pop hl
- ld bc, $28
+ ld bc, 2 * SCREEN_WIDTH
add hl, bc
pop bc
dec b
- jr nz, .asm_240eb
- ld hl, wcf98
+ jr nz, .row
+ ld hl, wMenuData2_2DMenuFunctionAddr
ld a, [hli]
ld h, [hl]
ld l, a
or h
ret z
- ld a, [wcf97]
+ ld a, [wMenuData2_2DMenuFunctionBank]
rst FarCall
ret
; 2411a
-Function2411a: ; 2411a (9:411a)
+Init2DMenuCursorPosition: ; 2411a (9:411a)
call GetMenuTextStartCoord
ld a, b
- ld [wcfa1], a
+ ld [w2DMenuCursorInitY], a
dec c
ld a, c
- ld [wcfa2], a
- call Function240d3
- ld [wcfa3], a
- call Function240cd
- ld [wcfa4], a
- call Function24179
- call Function2418a
- call Function24193
- ld a, [wcfa4]
+ ld [w2DMenuCursorInitX], a
+ call GetMenuNumberOfRows
+ ld [w2DMenuNumRows], a
+ call GetMenuNumberOfColumns
+ ld [w2DMenuNumCols], a
+ call .InitFlags_a
+ call .InitFlags_b
+ call .InitFlags_c
+ ld a, [w2DMenuNumCols]
ld e, a
ld a, [wMenuCursorBuffer]
ld b, a
xor a
- ld d, $0
-.asm_24146
+ ld d, 0
+.loop
inc d
add e
cp b
- jr c, .asm_24146
+ jr c, .loop
sub e
ld c, a
ld a, b
sub c
and a
- jr z, .asm_24157
+ jr z, .reset1
cp e
- jr z, .asm_24159
- jr c, .asm_24159
-.asm_24157
- ld a, $1
-.asm_24159
- ld [wcfaa], a
- ld a, [wcfa3]
+ jr z, .okay1
+ jr c, .okay1
+.reset1
+ ld a, 1
+.okay1
+ ld [wMenuCursorX], a
+ ld a, [w2DMenuNumRows]
ld e, a
ld a, d
and a
- jr z, .asm_24169
+ jr z, .reset2
cp e
- jr z, .asm_2416b
- jr c, .asm_2416b
-.asm_24169
- ld a, $1
-.asm_2416b
- ld [MenuSelection2], a
+ jr z, .okay2
+ jr c, .okay2
+.reset2
+ ld a, 1
+.okay2
+ ld [wMenuCursorY], a
xor a
- ld [wcfab], a
- ld [wcfac], a
- ld [wcfad], a
+ ld [wCursorOffCharacter], a
+ ld [wCursorCurrentTile], a
+ ld [wCursorCurrentTile + 1], a
ret
; 24179
-Function24179: ; 24179
+.InitFlags_a: ; 24179
xor a
- ld hl, wcfa5
+ ld hl, w2DMenuFlags1
ld [hli], a
ld [hld], a
ld a, [wMenuData2Flags]
@@ -235,58 +237,55 @@
ret
; 2418a
-Function2418a: ; 2418a
- ld a, [wcf93]
+.InitFlags_b: ; 2418a
+ ld a, [wMenuData2Spacing]
or $20
- ld [wcfa7], a
+ ld [w2DMenuCursorOffsets], a
ret
; 24193
-Function24193: ; 24193
+.InitFlags_c: ; 24193
ld hl, wMenuData2Flags
- ld a, $1
+ ld a, A_BUTTON
bit 0, [hl]
- jr nz, .asm_2419e
- or $2
-
-.asm_2419e
+ jr nz, .skip
+ or B_BUTTON
+.skip
bit 1, [hl]
- jr z, .asm_241a4
- or $4
-
-.asm_241a4
- ld [wcfa8], a
+ jr z, .skip2
+ or SELECT
+.skip2
+ ld [wMenuJoypadFilter], a
ret
; 241a8
-Function241a8:: ; 241a8
- call Function24329
-Function241ab:: ; 241ab
- ld hl, wcfa6
+_StaticMenuJoypad:: ; 241a8
+ call Place2DMenuCursor
+_ScrollingMenuJoypad:: ; 241ab
+ ld hl, w2DMenuFlags2
res 7, [hl]
ld a, [hBGMapMode]
push af
- call Function24216
+ call MenuJoypadLoop
pop af
ld [hBGMapMode], a
ret
; 241ba
-Function241ba: ; 241ba
- ld hl, wcfa6
+MobileMenuJoypad: ; 241ba
+ ld hl, w2DMenuFlags2
res 7, [hl]
ld a, [hBGMapMode]
push af
- call Function2431a
- call Function24249
- jr nc, .asm_241cd
- call Function24270
-
-.asm_241cd
+ call Move2DMenuCursor
+ call Do2DMenuRTCJoypad
+ jr nc, .skip_joypad
+ call _2DMenuInterpretJoypad
+.skip_joypad
pop af
ld [hBGMapMode], a
- call Function1bdd
+ call GetMenuJoypad
ld c, a
ret
; 241d5
@@ -293,31 +292,30 @@
Function241d5: ; 241d5
- call Function24329
+; Unreferenced
+ call Place2DMenuCursor
.loop
- call Function2431a
+ call Move2DMenuCursor
call Function10402d ; BUG: This function is in another bank.
; Pointer in current bank (9) is bogus.
- call Function241fa
+ call .loop2
jr nc, .done
- call Function24270
+ call _2DMenuInterpretJoypad
jr c, .done
- ld a, [wcfa5]
+ ld a, [w2DMenuFlags1]
bit 7, a
jr nz, .done
- call Function1bdd
+ call GetMenuJoypad
ld c, a
- ld a, [wcfa8]
+ ld a, [wMenuJoypadFilter]
and c
jr z, .loop
.done
ret
-; 241fa
-Function241fa: ; 241fa
-.loop
- call Function24259
+.loop2
+ call Menu_WasButtonPressed
ret c
ld c, 1
ld b, 3
@@ -326,36 +324,36 @@
ret c
callba Function100337
ret c
- ld a, [wcfa5]
+ ld a, [w2DMenuFlags1]
bit 7, a
- jr z, .loop
+ jr z, .loop2
and a
ret
; 24216
-Function24216: ; 24216
-.asm_24216
- call Function2431a
- call Function24238
- call Function24249
- jr nc, .asm_24237
- call Function24270
- jr c, .asm_24237
- ld a, [wcfa5]
+MenuJoypadLoop: ; 24216
+.loop
+ call Move2DMenuCursor
+ call .BGMap_OAM
+ call Do2DMenuRTCJoypad
+ jr nc, .done
+ call _2DMenuInterpretJoypad
+ jr c, .done
+ ld a, [w2DMenuFlags1]
bit 7, a
- jr nz, .asm_24237
- call Function1bdd
+ jr nz, .done
+ call GetMenuJoypad
ld b, a
- ld a, [wcfa8]
+ ld a, [wMenuJoypadFilter]
and b
- jr z, .asm_24216
+ jr z, .loop
-.asm_24237
+.done
ret
; 24238
-Function24238: ; 24238
+.BGMap_OAM: ; 24238
ld a, [hOAMUpdate]
push af
ld a, $1
@@ -368,27 +366,27 @@
ret
; 24249
-Function24249: ; 24249
-.asm_24249
+Do2DMenuRTCJoypad: ; 24249
+.loopRTC
call RTC
- call Function24259
+ call Menu_WasButtonPressed
ret c
- ld a, [wcfa5]
+ ld a, [w2DMenuFlags1]
bit 7, a
- jr z, .asm_24249
+ jr z, .loopRTC
and a
ret
; 24259
-Function24259: ; 24259
- ld a, [wcfa5]
+Menu_WasButtonPressed: ; 24259
+ ld a, [w2DMenuFlags1]
bit 6, a
- jr z, .asm_24266
- callab Function8cf62
+ jr z, .skip_to_joypad
+ callab PlaySpriteAnimationsAndDelayFrame
-.asm_24266
+.skip_to_joypad
call JoyTextDelay
- call Function1bdd
+ call GetMenuJoypad
and a
ret z
scf
@@ -395,193 +393,451 @@
ret
; 24270
-Function24270: ; 24270
- call Function1bdd
- bit 0, a
- jp nz, Function24318
- bit 1, a
- jp nz, Function24318
- bit 2, a
- jp nz, Function24318
- bit 3, a
- jp nz, Function24318
- bit 4, a
- jr nz, .asm_242fa
- bit 5, a
- jr nz, .asm_242dc
- bit 6, a
- jr nz, .asm_242be
- bit 7, a
- jr nz, .asm_242a0
+_2DMenuInterpretJoypad: ; 24270
+ call GetMenuJoypad
+ bit A_BUTTON_F, a
+ jp nz, .a_b_start_select
+ bit B_BUTTON_F, a
+ jp nz, .a_b_start_select
+ bit SELECT_F, a
+ jp nz, .a_b_start_select
+ bit START_F, a
+ jp nz, .a_b_start_select
+ bit D_RIGHT_F, a
+ jr nz, .d_right
+ bit D_LEFT_F, a
+ jr nz, .d_left
+ bit D_UP_F, a
+ jr nz, .d_up
+ bit D_DOWN_F, a
+ jr nz, .d_down
and a
ret
-.asm_24299: ; 24299
- ld hl, wcfa6
+.set_bit_7: ; 24299
+ ld hl, w2DMenuFlags2
set 7, [hl]
scf
ret
-.asm_242a0
- ld hl, MenuSelection2
- ld a, [wcfa3]
+.d_down
+ ld hl, wMenuCursorY
+ ld a, [w2DMenuNumRows]
cp [hl]
- jr z, .asm_242ac
+ jr z, .check_wrap_around_down
inc [hl]
xor a
ret
-.asm_242ac
- ld a, [wcfa5]
+.check_wrap_around_down
+ ld a, [w2DMenuFlags1]
bit 5, a
- jr nz, .asm_242ba
+ jr nz, .wrap_around_down
bit 3, a
- jp nz, .asm_24299
+ jp nz, .set_bit_7
xor a
ret
-.asm_242ba
+.wrap_around_down
ld [hl], $1
xor a
ret
-.asm_242be
- ld hl, MenuSelection2
+.d_up
+ ld hl, wMenuCursorY
ld a, [hl]
dec a
- jr z, .asm_242c8
+ jr z, .check_wrap_around_up
ld [hl], a
xor a
ret
-.asm_242c8
- ld a, [wcfa5]
+.check_wrap_around_up
+ ld a, [w2DMenuFlags1]
bit 5, a
- jr nz, .asm_242d6
+ jr nz, .wrap_around_up
bit 2, a
- jp nz, .asm_24299
+ jp nz, .set_bit_7
xor a
ret
-.asm_242d6
- ld a, [wcfa3]
+.wrap_around_up
+ ld a, [w2DMenuNumRows]
ld [hl], a
xor a
ret
-.asm_242dc
- ld hl, wcfaa
+.d_left
+ ld hl, wMenuCursorX
ld a, [hl]
dec a
- jr z, .asm_242e6
+ jr z, .check_wrap_around_left
ld [hl], a
xor a
ret
-.asm_242e6
- ld a, [wcfa5]
+.check_wrap_around_left
+ ld a, [w2DMenuFlags1]
bit 4, a
- jr nz, .asm_242f4
+ jr nz, .wrap_around_left
bit 1, a
- jp nz, .asm_24299
+ jp nz, .set_bit_7
xor a
ret
-.asm_242f4
- ld a, [wcfa4]
+.wrap_around_left
+ ld a, [w2DMenuNumCols]
ld [hl], a
xor a
ret
-.asm_242fa
- ld hl, wcfaa
- ld a, [wcfa4]
+.d_right
+ ld hl, wMenuCursorX
+ ld a, [w2DMenuNumCols]
cp [hl]
- jr z, .asm_24306
+ jr z, .check_wrap_around_right
inc [hl]
xor a
ret
-.asm_24306
- ld a, [wcfa5]
+.check_wrap_around_right
+ ld a, [w2DMenuFlags1]
bit 4, a
- jr nz, .asm_24314
+ jr nz, .wrap_around_right
bit 0, a
- jp nz, .asm_24299
+ jp nz, .set_bit_7
xor a
ret
-.asm_24314
+.wrap_around_right
ld [hl], $1
xor a
ret
; 24318
-Function24318: ; 24318
+.a_b_start_select: ; 24318
xor a
ret
; 2431a
-Function2431a: ; 2431a
- ld hl, wcfac
+Move2DMenuCursor: ; 2431a
+ ld hl, wCursorCurrentTile
ld a, [hli]
ld h, [hl]
ld l, a
ld a, [hl]
- cp $ed
- jr nz, Function24329
- ld a, [wcfab]
+ cp "▶"
+ jr nz, Place2DMenuCursor
+ ld a, [wCursorOffCharacter]
ld [hl], a
-
-Function24329: ; 24329
- ld a, [wcfa1]
+Place2DMenuCursor: ; 24329
+ ld a, [w2DMenuCursorInitY]
ld b, a
- ld a, [wcfa2]
+ ld a, [w2DMenuCursorInitX]
ld c, a
call Coord2Tile
- ld a, [wcfa7]
+ ld a, [w2DMenuCursorOffsets]
swap a
and $f
ld c, a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld b, a
xor a
dec b
- jr z, .asm_24348
-.asm_24344
+ jr z, .got_row
+.row_loop
add c
dec b
- jr nz, .asm_24344
+ jr nz, .row_loop
-.asm_24348
- ld c, $14
+.got_row
+ ld c, SCREEN_WIDTH
call AddNTimes
- ld a, [wcfa7]
+ ld a, [w2DMenuCursorOffsets]
and $f
ld c, a
- ld a, [wcfaa]
+ ld a, [wMenuCursorX]
ld b, a
xor a
dec b
- jr z, .asm_2435f
-.asm_2435b
+ jr z, .got_col
+.col_loop
add c
dec b
- jr nz, .asm_2435b
+ jr nz, .col_loop
-.asm_2435f
+.got_col
ld c, a
add hl, bc
ld a, [hl]
- cp $ed
- jr z, .asm_2436b
- ld [wcfab], a
- ld [hl], $ed
+ cp "▶"
+ jr z, .cursor_on
+ ld [wCursorOffCharacter], a
+ ld [hl], "▶"
-.asm_2436b
+.cursor_on
ld a, l
- ld [wcfac], a
+ ld [wCursorCurrentTile], a
ld a, h
- ld [wcfad], a
+ ld [wCursorCurrentTile + 1], a
ret
; 24374
+
+_PushWindow:: ; 24374
+ ld a, [rSVBK]
+ push af
+ ld a, $7
+ ld [rSVBK], a
+
+ ld hl, wWindowStackPointer
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ push de
+
+ ld b, $10
+ ld hl, wMenuFlags
+.loop
+ ld a, [hli]
+ ld [de], a
+ dec de
+ dec b
+ jr nz, .loop
+
+; If bit 6 or 7 of the menu flags is set, set bit 0 of the address
+; at 7:[wWindowStackPointer], and draw the menu using the coordinates from the header.
+; Otherwise, reset bit 0 of 7:[wWindowStackPointer].
+ ld a, [wMenuFlags]
+ bit 6, a
+ jr nz, .bit_6
+ bit 7, a
+ jr z, .not_bit_7
+
+.bit_6
+ ld hl, wWindowStackPointer
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ set 0, [hl]
+ call MenuBoxCoord2Tile
+ call .copy
+ call MenuBoxCoord2Attr
+ call .copy
+ jr .done
+
+.not_bit_7
+ pop hl ; last-pushed register was de
+ push hl
+ ld a, [hld]
+ ld l, [hl]
+ ld h, a
+ res 0, [hl]
+
+.done
+ pop hl
+ call .ret ; empty function
+ ld a, h
+ ld [de], a
+ dec de
+ ld a, l
+ ld [de], a
+ dec de
+ ld hl, wWindowStackPointer
+ ld [hl], e
+ inc hl
+ ld [hl], d
+
+ pop af
+ ld [rSVBK], a
+ ld hl, wWindowStackSize
+ inc [hl]
+ ret
+; 243cd
+
+.copy: ; 243cd
+ call GetMenuBoxDims
+ inc b
+ inc c
+ call .ret ; empty function
+
+.row
+ push bc
+ push hl
+
+.col
+ ld a, [hli]
+ ld [de], a
+ dec de
+ dec c
+ jr nz, .col
+
+ pop hl
+ ld bc, SCREEN_WIDTH
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .row
+
+ ret
+; 243e7
+
+.ret: ; 243e7
+ ret
+; 243e8
+
+_ExitMenu:: ; 243e8
+ xor a
+ ld [hBGMapMode], a
+
+ ld a, [rSVBK]
+ push af
+ ld a, $7
+ ld [rSVBK], a
+
+ call GetWindowStackTop
+ ld a, l
+ or h
+ jp z, Error_Cant_ExitMenu
+ ld a, l
+ ld [wWindowStackPointer], a
+ ld a, h
+ ld [wWindowStackPointer + 1], a
+ call PopWindow
+ ld a, [wMenuFlags]
+ bit 0, a
+ jr z, .loop
+ ld d, h
+ ld e, l
+ call RestoreTileBackup
+
+.loop
+ call GetWindowStackTop
+ ld a, h
+ or l
+ jr z, .done
+ call PopWindow
+
+.done
+ pop af
+ ld [rSVBK], a
+ ld hl, wWindowStackSize
+ dec [hl]
+ ret
+; 24423
+
+Function24423: ; 24423
+; Unreferenced
+ ld a, [VramState]
+ bit 0, a
+ ret z
+ xor a
+ call GetSRAMBank
+ hlcoord 0, 0
+ ld de, sScratch
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
+ call CopyBytes
+ call CloseSRAM
+ call OverworldTextModeSwitch
+ xor a
+ call GetSRAMBank
+ ld hl, sScratch
+ decoord 0, 0
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
+.loop
+ ld a, [hl]
+ cp $61
+ jr c, .next
+ ld [de], a
+.next
+ inc hl
+ inc de
+ dec bc
+ ld a, c
+ or b
+ jr nz, .loop
+ call CloseSRAM
+ ret
+; 2445d
+
+Error_Cant_ExitMenu: ; 2445d
+ ld hl, .Text_NoWindowsAvailableForPopping
+ call PrintText
+ call WaitBGMap
+.InfiniteLoop
+ jr .InfiniteLoop
+; 24468
+
+.Text_NoWindowsAvailableForPopping: ; 24468
+ text_jump UnknownText_0x1c46b7
+ db "@"
+; 2446d
+
+_InitVerticalMenuCursor:: ; 2446d
+ ld a, [wMenuData2Flags]
+ ld b, a
+ ld hl, w2DMenuCursorInitY
+ ld a, [wMenuBorderTopCoord]
+ inc a
+ bit 6, b
+ jr nz, .skip_offset
+ inc a
+.skip_offset
+ ld [hli], a
+; w2DMenuCursorInitX
+ ld a, [wMenuBorderLeftCoord]
+ inc a
+ ld [hli], a
+; w2DMenuNumRows
+ ld a, [wMenuData2Items]
+ ld [hli], a
+; w2DMenuNumCols
+ ld a, 1
+ ld [hli], a
+; w2DMenuFlags1
+ ld [hl], $0
+ bit 5, b
+ jr z, .skip_bit_5
+ set 5, [hl]
+.skip_bit_5
+ ld a, [wMenuFlags]
+ bit 4, a
+ jr z, .skip_bit_6
+ set 6, [hl]
+.skip_bit_6
+ inc hl
+; w2DMenuFlags2
+ xor a
+ ld [hli], a
+; w2DMenuCursorOffsets
+ ln a, 2, 0
+ ld [hli], a
+; wMenuJoypadFilter
+ ld a, A_BUTTON
+ bit 0, b
+ jr nz, .skip_bit_1
+ add B_BUTTON
+.skip_bit_1
+ ld [hli], a
+; wMenuCursorY
+ ld a, [wMenuCursorBuffer]
+ and a
+ jr z, .load_at_the_top
+ ld c, a
+ ld a, [wMenuData2Items]
+ cp c
+ jr nc, .load_position
+.load_at_the_top
+ ld c, 1
+.load_position
+ ld [hl], c
+ inc hl
+; wMenuCursorX
+ ld a, 1
+ ld [hli], a
+; wCursorOffCharacter, wCursorCurrentTile
+ xor a
+rept 3
+ ld [hli], a
+endr
+ ret
+; 244c3
--- /dev/null
+++ b/engine/mon_icons.asm
@@ -1,0 +1,450 @@
+LoadOverworldMonIcon: ; 8e82b
+ ld a, e
+ call ReadMonMenuIcon
+ ld l, a
+ ld h, 0
+ add hl, hl
+ ld de, IconPointers
+ add hl, de
+ ld a, [hli]
+ ld e, a
+ ld d, [hl]
+ ld b, BANK(Icons)
+ ld c, 8
+ ret
+; 8e83f
+
+Function8e83f: ; 8e83f
+ push hl
+ push de
+ push bc
+ call Function8e849
+ pop bc
+ pop de
+ pop hl
+ ret
+; 8e849
+
+Function8e849: ; 8e849
+ ld d, 0
+ ld hl, .dw
+rept 2
+ add hl, de
+endr
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+; 8e854
+
+
+.dw: ; 8e854 (23:6854)
+ dw Function8e8d5 ; init
+ dw Function8e961
+ dw Function8e97d
+ dw Function8e99a
+ dw Function8e898
+ dw Mobile_InitPartyMenuBGPal71
+ dw Function8e862
+
+
+Function8e862: ; 8e862 (23:6862)
+ call InitPartyMenuIcon
+ call Function8e86c
+ call SetPartyMonIconAnimSpeed
+ ret
+
+Function8e86c: ; 8e86c (23:686c)
+ push bc
+ ld a, [hObjectStructIndexBuffer]
+ ld hl, PartyMon1Item
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ pop bc
+ ld a, [hl]
+ and a
+ jr z, .asm_8e890
+ push hl
+ push bc
+ ld d, a
+ callab ItemIsMail
+ pop bc
+ pop hl
+ jr c, .asm_8e88e
+ ld a, $6
+ jr .asm_8e892
+.asm_8e88e
+ ld a, $5
+ ; jr .asm_8e892
+.asm_8e890
+ ld a, $4
+.asm_8e892
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld [hl], a
+ ret
+
+Function8e898: ; 8e898 (23:6898)
+ call Function8e8d5
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
+ add hl, bc
+ ld a, $0
+ ld [hl], a
+ ld hl, SPRITEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, 9 * 8
+ ld [hl], a
+ ld hl, SPRITEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, 9 * 8
+ ld [hl], a
+ ret
+
+Mobile_InitPartyMenuBGPal71: ; 8e8b1 (23:68b1)
+ call InitPartyMenuIcon
+ call SetPartyMonIconAnimSpeed
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
+ add hl, bc
+ ld a, $0
+ ld [hl], a
+ ld hl, SPRITEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, 3 * 8
+ ld [hl], a
+ ld hl, SPRITEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, 12 * 8
+ ld [hl], a
+ ld a, c
+ ld [wc608], a
+ ld a, b
+ ld [wc608 + 1], a
+ ret
+
+Function8e8d5: ; 8e8d5 (23:68d5)
+ call InitPartyMenuIcon
+ call .SpawnItemIcon
+ call SetPartyMonIconAnimSpeed
+ ret
+
+.SpawnItemIcon: ; 8e8df (23:68df)
+ push bc
+ ld a, [hObjectStructIndexBuffer]
+ ld hl, PartyMon1Item
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ pop bc
+ ld a, [hl]
+ and a
+ ret z
+ push hl
+ push bc
+ ld d, a
+ callab ItemIsMail
+ pop bc
+ pop hl
+ jr c, .mail
+ ld a, $3
+ jr .okay
+
+ ld a, $2
+.okay
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld [hl], a
+ ret
+
+InitPartyMenuIcon: ; 8e908 (23:6908)
+ ld a, [wCurIconTile]
+ push af
+ ld a, [hObjectStructIndexBuffer]
+ ld hl, PartySpecies
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld a, [hl]
+ call ReadMonMenuIcon
+ ld [CurIcon], a
+ call GetMemIconGFX
+ ld a, [hObjectStructIndexBuffer]
+; y coord
+rept 4
+ add a
+endr
+ add $1c
+ ld d, a
+; x coord
+ ld e, $10
+; type is partymon icon
+ ld a, SPRITE_ANIM_INDEX_00
+ call InitSpriteAnimStruct
+ pop af
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
+ add hl, bc
+ ld [hl], a
+ ret
+
+SetPartyMonIconAnimSpeed: ; 8e936 (23:6936)
+ push bc
+ ld a, [hObjectStructIndexBuffer]
+ ld b, a
+ call .getspeed
+ ld a, b
+ pop bc
+ ld hl, SPRITEANIMSTRUCT_DURATIONOFFSET
+ add hl, bc
+ ld [hl], a
+ rlca
+ rlca
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld [hl], a
+ ret
+
+.getspeed: ; 8e94c (23:694c)
+ callba PlacePartymonHPBar
+ call GetHPPal
+ ld e, d
+ ld d, 0
+ ld hl, .speeds
+ add hl, de
+ ld b, [hl]
+ ret
+; 8e95e (23:695e)
+
+.speeds: ; 8e95e
+ db $00, $40, $80
+; 8e961
+
+Function8e961: ; 8e961 (23:6961)
+ ld a, [wd265]
+ call ReadMonMenuIcon
+ ld [CurIcon], a
+ xor a
+ call GetIconGFX
+ depixel 4, 4, 4, 0
+ ld a, SPRITE_ANIM_INDEX_00
+ call InitSpriteAnimStruct
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
+ add hl, bc
+ ld [hl], $0
+ ret
+
+Function8e97d: ; 8e97d (23:697d)
+ ld a, [wd265]
+ call ReadMonMenuIcon
+ ld [CurIcon], a
+ xor a
+ call GetIconGFX
+ ld d, 3 * 8 + 2
+ ld e, 4 * 8 + 4
+ ld a, SPRITE_ANIM_INDEX_00
+ call InitSpriteAnimStruct
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
+ add hl, bc
+ ld [hl], SPRITE_ANIM_SEQ_NULL
+ ret
+
+Function8e99a: ; 8e99a (23:699a)
+ ld a, [wd265]
+ call ReadMonMenuIcon
+ ld [CurIcon], a
+ ld a, $62
+ ld [wCurIconTile], a
+ call GetMemIconGFX
+ ret
+
+GetSpeciesIcon: ; 8e9ac
+; Load species icon into VRAM at tile a
+ push de
+ ld a, [wd265]
+ call ReadMonMenuIcon
+ ld [CurIcon], a
+ pop de
+ ld a, e
+ call GetIconGFX
+ ret
+; 8e9bc
+
+
+FlyFunction_GetMonIcon: ; 8e9bc (23:69bc)
+ push de
+ ld a, [wd265]
+ call ReadMonMenuIcon
+ ld [CurIcon], a
+ pop de
+ ld a, e
+ call GetIcon_a
+ ret
+; 8e9cc (23:69cc)
+
+GetMonIcon2: ; 8e9cc
+; unreferenced
+ push de
+ ld a, [wd265]
+ call ReadMonMenuIcon
+ ld [CurIcon], a
+ pop de
+ call GetIcon_de
+ ret
+; 8e9db
+
+GetMemIconGFX: ; 8e9db (23:69db)
+ ld a, [wCurIconTile]
+GetIconGFX: ; 8e9de
+ call GetIcon_a
+ ld de, $80 ; 8 tiles
+ add hl, de
+ ld de, HeldItemIcons
+ lb bc, BANK(HeldItemIcons), 2
+ call GetGFXUnlessMobile
+ ld a, [wCurIconTile]
+ add 10
+ ld [wCurIconTile], a
+ ret
+
+HeldItemIcons:
+INCBIN "gfx/icon/mail.2bpp"
+INCBIN "gfx/icon/item.2bpp"
+; 8ea17
+
+GetIcon_de: ; 8ea17
+; Load icon graphics into VRAM starting from tile de.
+ ld l, e
+ ld h, d
+ jr GetIcon
+
+GetIcon_a: ; 8ea1b
+; Load icon graphics into VRAM starting from tile a.
+ ld l, a
+ ld h, 0
+
+GetIcon: ; 8ea1e
+; Load icon graphics into VRAM starting from tile hl.
+
+; One tile is 16 bytes long.
+rept 4
+ add hl, hl
+endr
+
+ ld de, VTiles0
+ add hl, de
+ push hl
+
+; The icons are contiguous, in order and of the same
+; size, so the pointer table is somewhat redundant.
+ ld a, [CurIcon]
+ push hl
+ ld l, a
+ ld h, 0
+ add hl, hl
+ ld de, IconPointers
+ add hl, de
+ ld a, [hli]
+ ld e, a
+ ld d, [hl]
+ pop hl
+
+ lb bc, BANK(Icons), 8
+ call GetGFXUnlessMobile
+
+ pop hl
+ ret
+; 8ea3f
+
+GetGFXUnlessMobile: ; 8ea3f
+ ld a, [wLinkMode]
+ cp LINK_MOBILE
+ jp nz, Request2bpp
+ jp Get2bpp_2
+; 8ea4a
+
+FreezeMonIcons: ; 8ea4a
+ ld hl, wSpriteAnimationStructs
+ ld e, PARTY_LENGTH
+ ld a, [wMenuCursorY]
+ ld d, a
+.loop
+ ld a, [hl]
+ and a
+ jr z, .next
+ cp d
+ jr z, .loadwithtwo
+ ld a, SPRITE_ANIM_SEQ_NULL
+ jr .ok
+
+.loadwithtwo
+ ld a, SPRITE_ANIM_SEQ_02
+
+.ok
+ push hl
+ ld c, l
+ ld b, h
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
+ add hl, bc
+ ld [hl], a
+ pop hl
+
+.next
+ ld bc, $10
+ add hl, bc
+ dec e
+ jr nz, .loop
+ ret
+; 8ea71
+
+UnfreezeMonIcons: ; 8ea71
+ ld hl, wSpriteAnimationStructs
+ ld e, PARTY_LENGTH
+.loop
+ ld a, [hl]
+ and a
+ jr z, .next
+ push hl
+ ld c, l
+ ld b, h
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
+ add hl, bc
+ ld [hl], SPRITE_ANIM_SEQ_01
+ pop hl
+.next
+ ld bc, $10
+ add hl, bc
+ dec e
+ jr nz, .loop
+ ret
+; 8ea8c (23:6a8c)
+
+HoldSwitchmonIcon: ; 8ea8c
+ ld hl, wSpriteAnimationStructs
+ ld e, PARTY_LENGTH
+ ld a, [wSwitchMon]
+ ld d, a
+.loop
+ ld a, [hl]
+ and a
+ jr z, .next
+ cp d
+ jr z, .is_switchmon
+ ld a, SPRITE_ANIM_SEQ_03
+ jr .join_back
+
+.is_switchmon
+ ld a, SPRITE_ANIM_SEQ_02
+.join_back
+ push hl
+ ld c, l
+ ld b, h
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
+ add hl, bc
+ ld [hl], a
+ pop hl
+.next
+ ld bc, $10
+ add hl, bc
+ dec e
+ jr nz, .loop
+ ret
+
+INCLUDE "menu/mon_icons.asm"
--- /dev/null
+++ b/engine/mon_menu.asm
@@ -1,0 +1,344 @@
+MonMenuOptionStrings: ; 24caf
+ db "STATS@"
+ db "SWITCH@"
+ db "ITEM@"
+ db "CANCEL@"
+ db "MOVE@"
+ db "MAIL@"
+ db "ERROR!@"
+; 24cd9
+
+MonMenuOptions: ; 24cd9
+
+; Moves
+ db MONMENU_FIELD_MOVE, MONMENU_CUT, CUT
+ db MONMENU_FIELD_MOVE, MONMENU_FLY, FLY
+ db MONMENU_FIELD_MOVE, MONMENU_SURF, SURF
+ db MONMENU_FIELD_MOVE, MONMENU_STRENGTH, STRENGTH
+ db MONMENU_FIELD_MOVE, MONMENU_FLASH, FLASH
+ db MONMENU_FIELD_MOVE, MONMENU_WATERFALL, WATERFALL
+ db MONMENU_FIELD_MOVE, MONMENU_WHIRLPOOL, WHIRLPOOL
+ db MONMENU_FIELD_MOVE, MONMENU_DIG, DIG
+ db MONMENU_FIELD_MOVE, MONMENU_TELEPORT, TELEPORT
+ db MONMENU_FIELD_MOVE, MONMENU_SOFTBOILED, SOFTBOILED
+ db MONMENU_FIELD_MOVE, MONMENU_HEADBUTT, HEADBUTT
+ db MONMENU_FIELD_MOVE, MONMENU_ROCKSMASH, ROCK_SMASH
+ db MONMENU_FIELD_MOVE, MONMENU_MILKDRINK, MILK_DRINK
+ db MONMENU_FIELD_MOVE, MONMENU_SWEETSCENT, SWEET_SCENT
+
+; Options
+ db MONMENU_MENUOPTION, MONMENU_STATS, 1 ; STATS
+ db MONMENU_MENUOPTION, MONMENU_SWITCH, 2 ; SWITCH
+ db MONMENU_MENUOPTION, MONMENU_ITEM, 3 ; ITEM
+ db MONMENU_MENUOPTION, MONMENU_CANCEL, 4 ; CANCEL
+ db MONMENU_MENUOPTION, MONMENU_MOVE, 5 ; MOVE
+ db MONMENU_MENUOPTION, MONMENU_MAIL, 6 ; MAIL
+ db MONMENU_MENUOPTION, MONMENU_ERROR, 7 ; ERROR!
+
+ db -1
+; 24d19
+
+MonSubmenu: ; 24d19
+ xor a
+ ld [hBGMapMode], a
+ call GetMonSubmenuItems
+ callba FreezeMonIcons
+ ld hl, .MenuDataHeader
+ call LoadMenuDataHeader
+ call .GetTopCoord
+ call PopulateMonMenu
+
+ ld a, 1
+ ld [hBGMapMode], a
+ call MonMenuLoop
+ ld [MenuSelection], a
+
+ call ExitMenu
+ ret
+; 24d3f
+
+.MenuDataHeader: ; 24d3f
+ db $40 ; tile backup
+ db 00, 06 ; start coords
+ db 17, 19 ; end coords
+ dw 0
+ db 1 ; default option
+; 24d47
+
+.GetTopCoord: ; 24d47
+; TopCoord = 1 + BottomCoord - 2 * (NumSubmenuItems + 1)
+ ld a, [Buffer1]
+ inc a
+ add a
+ ld b, a
+ ld a, [wMenuBorderBottomCoord]
+ sub b
+ inc a
+ ld [wMenuBorderTopCoord], a
+ call MenuBox
+ ret
+; 24d59
+
+MonMenuLoop: ; 24d59
+.loop
+ ld a, $a0 ; flags
+ ld [wMenuData2Flags], a
+ ld a, [Buffer1] ; items
+ ld [wMenuData2Items], a
+ call InitVerticalMenuCursor
+ ld hl, w2DMenuFlags1
+ set 6, [hl]
+ call StaticMenuJoypad
+ ld de, SFX_READ_TEXT_2
+ call PlaySFX
+ ld a, [hJoyPressed]
+ bit 0, a ; A
+ jr nz, .select
+ bit 1, a ; B
+ jr nz, .cancel
+ jr .loop
+
+.cancel
+ ld a, MONMENU_CANCEL ; CANCEL
+ ret
+
+.select
+ ld a, [wMenuCursorY]
+ dec a
+ ld c, a
+ ld b, 0
+ ld hl, Buffer2
+ add hl, bc
+ ld a, [hl]
+ ret
+; 24d91
+
+PopulateMonMenu: ; 24d91
+ call MenuBoxCoord2Tile
+ ld bc, $2a ; 42
+ add hl, bc
+ ld de, Buffer2
+.loop
+ ld a, [de]
+ inc de
+ cp -1
+ ret z
+ push de
+ push hl
+ call GetMonMenuString
+ pop hl
+ call PlaceString
+ ld bc, $28 ; 40
+ add hl, bc
+ pop de
+ jr .loop
+; 24db0
+
+GetMonMenuString: ; 24db0
+ ld hl, MonMenuOptions + 1
+ ld de, 3
+ call IsInArray
+ dec hl
+ ld a, [hli]
+ cp 1
+ jr z, .NotMove
+ inc hl
+ ld a, [hl]
+ ld [wd265], a
+ call GetMoveName
+ ret
+
+.NotMove
+ inc hl
+ ld a, [hl]
+ dec a
+ ld hl, MonMenuOptionStrings
+ call GetNthString
+ ld d, h
+ ld e, l
+ ret
+; 24dd4
+
+GetMonSubmenuItems: ; 24dd4
+ call ResetMonSubmenu
+ ld a, [CurPartySpecies]
+ cp EGG
+ jr z, .egg
+ ld a, [wLinkMode]
+ and a
+ jr nz, .skip_moves
+ ld a, MON_MOVES
+ call GetPartyParamLocation
+ ld d, h
+ ld e, l
+ ld c, NUM_MOVES
+.loop
+ push bc
+ push de
+ ld a, [de]
+ and a
+ jr z, .next
+ push hl
+ call IsFieldMove
+ pop hl
+ jr nc, .next
+ call AddMonMenuItem
+
+.next
+ pop de
+ inc de
+ pop bc
+ dec c
+ jr nz, .loop
+
+.skip_moves
+ ld a, MONMENU_STATS
+ call AddMonMenuItem
+ ld a, MONMENU_SWITCH
+ call AddMonMenuItem
+ ld a, MONMENU_MOVE
+ call AddMonMenuItem
+ ld a, [wLinkMode]
+ and a
+ jr nz, .skip2
+ push hl
+ ld a, MON_ITEM
+ call GetPartyParamLocation
+ ld d, [hl]
+ callba ItemIsMail
+ pop hl
+ ld a, MONMENU_MAIL
+ jr c, .ok
+ ld a, MONMENU_ITEM
+
+.ok
+ call AddMonMenuItem
+
+.skip2
+ ld a, [Buffer1]
+ cp NUM_MON_SUBMENU_ITEMS
+ jr z, .ok2
+ ld a, MONMENU_CANCEL
+ call AddMonMenuItem
+
+.ok2
+ call TerminateMonSubmenu
+ ret
+
+.egg
+ ld a, MONMENU_STATS
+ call AddMonMenuItem
+ ld a, MONMENU_SWITCH
+ call AddMonMenuItem
+ ld a, MONMENU_CANCEL
+ call AddMonMenuItem
+ call TerminateMonSubmenu
+ ret
+; 24e52
+
+IsFieldMove: ; 24e52
+ ld b, a
+ ld hl, MonMenuOptions
+.next
+ ld a, [hli]
+ cp -1
+ jr z, .nope
+ cp MONMENU_MENUOPTION
+ jr z, .nope
+ ld d, [hl]
+ inc hl
+ ld a, [hli]
+ cp b
+ jr nz, .next
+ ld a, d
+ scf
+
+.nope
+ ret
+; 24e68
+
+ResetMonSubmenu: ; 24e68
+ xor a
+ ld [Buffer1], a
+ ld hl, Buffer2
+ ld bc, NUM_MON_SUBMENU_ITEMS + 1
+ call ByteFill
+ ret
+; 24e76
+
+TerminateMonSubmenu: ; 24e76
+ ld a, [Buffer1]
+ ld e, a
+ ld d, $0
+ ld hl, Buffer2
+ add hl, de
+ ld [hl], -1
+ ret
+; 24e83
+
+AddMonMenuItem: ; 24e83
+ push hl
+ push de
+ push af
+ ld a, [Buffer1]
+ ld e, a
+ inc a
+ ld [Buffer1], a
+ ld d, $0
+ ld hl, Buffer2
+ add hl, de
+ pop af
+ ld [hl], a
+ pop de
+ pop hl
+ ret
+; 24e99
+
+BattleMonMenu: ; 24e99
+ ld hl, MenuDataHeader_0x24ed4
+ call CopyMenuDataHeader
+ xor a
+ ld [hBGMapMode], a
+ call MenuBox
+ call UpdateSprites
+ call PlaceVerticalMenuItems
+ call WaitBGMap
+ call CopyMenuData2
+ ld a, [wMenuData2Flags]
+ bit 7, a
+ jr z, .set_carry
+ call InitVerticalMenuCursor
+ ld hl, w2DMenuFlags1
+ set 6, [hl]
+ call StaticMenuJoypad
+ ld de, SFX_READ_TEXT_2
+ call PlaySFX
+ ld a, [hJoyPressed]
+ bit B_BUTTON_F, a
+ jr z, .clear_carry
+ ret z
+
+.set_carry
+ scf
+ ret
+
+.clear_carry
+ and a
+ ret
+; 24ed4
+
+MenuDataHeader_0x24ed4: ; 24ed4
+ db $00 ; flags
+ db 11, 11 ; start coords
+ db 17, 19 ; end coords
+ dw MenuData2_0x24edc
+ db 1 ; default option
+; 24edc
+
+MenuData2_0x24edc: ; 24edc
+ db $c0 ; flags
+ db 3 ; items
+ db "SWITCH@"
+ db "STATS@"
+ db "CANCEL@"
+; 24ef2
--- a/engine/more_phone_scripts.asm
+++ b/engine/more_phone_scripts.asm
@@ -1,8 +1,8 @@
UnknownScript_0xa0000:
special RandomPhoneMon
- farscall UnknownScript_0xbde3f
- if_equal $0, UnknownScript_0xa0013
- farscall UnknownScript_0xbe51e
+ farscall PhoneScript_Random2
+ if_equal 0, UnknownScript_0xa0013
+ farscall PhoneScript_Generic_Male
farjump UnknownScript_0xa003e
UnknownScript_0xa0013:
@@ -10,9 +10,9 @@
UnknownScript_0xa0017:
special RandomPhoneMon
- farscall UnknownScript_0xbde3f
- if_equal $0, UnknownScript_0xa002a
- farscall UnknownScript_0xbe5d0
+ farscall PhoneScript_Random2
+ if_equal 0, UnknownScript_0xa002a
+ farscall PhoneScript_Generic_Female
farjump UnknownScript_0xa0055
UnknownScript_0xa002a:
@@ -28,10 +28,10 @@
UnknownScript_0xa003e:
special RandomPhoneWildMon
- farscall UnknownScript_0xbde3f
- if_equal $0, UnknownScript_0xa0051
+ farscall PhoneScript_Random2
+ if_equal 0, UnknownScript_0xa0051
farscall UnknownScript_0xa017a
- farjump UnknownScript_0xa0484
+ farjump PhoneScript_HangupText_Male
UnknownScript_0xa0051:
farjump UnknownScript_0xa006c
@@ -38,10 +38,10 @@
UnknownScript_0xa0055:
special RandomPhoneWildMon
- farscall UnknownScript_0xbde3f
- if_equal $0, UnknownScript_0xa0068
+ farscall PhoneScript_Random2
+ if_equal 0, UnknownScript_0xa0068
farscall UnknownScript_0xa0226
- farjump UnknownScript_0xa053a
+ farjump PhoneScript_HangupText_Female
UnknownScript_0xa0068:
farjump UnknownScript_0xa0074
@@ -48,11 +48,11 @@
UnknownScript_0xa006c:
farscall UnknownScript_0xa0278
- farjump UnknownScript_0xa0484
+ farjump PhoneScript_HangupText_Male
UnknownScript_0xa0074:
farscall UnknownScript_0xa0324
- farjump UnknownScript_0xa053a
+ farjump PhoneScript_HangupText_Female
UnknownScript_0xa007c:
checkcode VAR_CALLERID
@@ -76,87 +76,87 @@
.Jack:
farwritetext UnknownText_0x1740c0
- keeptextopen
+ buttonsound
end
.Gaven:
farwritetext UnknownText_0x174a24
- keeptextopen
+ buttonsound
end
.Jose:
farwritetext UnknownText_0x174f2f
- keeptextopen
+ buttonsound
end
.Joey:
farwritetext UnknownText_0x175530
- keeptextopen
+ buttonsound
end
.Wade:
farwritetext UnknownText_0x1757d4
- keeptextopen
+ buttonsound
end
.Ralph:
farwritetext UnknownText_0x175bc4
- keeptextopen
+ buttonsound
end
.Anthony:
farwritetext UnknownText_0x176a2f
- keeptextopen
+ buttonsound
end
.Todd:
farwritetext UnknownText_0x176e5d
- keeptextopen
+ buttonsound
end
.Arnie:
farwritetext UnknownText_0x649dc
- keeptextopen
+ buttonsound
end
.Alan:
farwritetext UnknownText_0x64cbd
- keeptextopen
+ buttonsound
end
.Chad:
farwritetext UnknownText_0x65271
- keeptextopen
+ buttonsound
end
.Derek:
farwritetext UnknownText_0x65ab2
- keeptextopen
+ buttonsound
end
.Tully:
farwritetext UnknownText_0x65de4
- keeptextopen
+ buttonsound
end
.Brent:
farwritetext UnknownText_0x660be
- keeptextopen
+ buttonsound
end
.Vance:
farwritetext UnknownText_0x66980
- keeptextopen
+ buttonsound
end
.Wilton:
farwritetext UnknownText_0x66afc
- keeptextopen
+ buttonsound
end
.Parry:
farwritetext UnknownText_0x66f9f
- keeptextopen
+ buttonsound
end
UnknownScript_0xa0128:
@@ -172,42 +172,42 @@
.Beverly:
farwritetext UnknownText_0x174688
- keeptextopen
+ buttonsound
end
.Beth:
farwritetext UnknownText_0x174c7f
- keeptextopen
+ buttonsound
end
.Reena:
farwritetext UnknownText_0x1752f5
- keeptextopen
+ buttonsound
end
.Liz:
farwritetext UnknownText_0x175fda
- keeptextopen
+ buttonsound
end
.Gina:
farwritetext UnknownText_0x1771fd
- keeptextopen
+ buttonsound
end
.Dana:
farwritetext UnknownText_0x64f74
- keeptextopen
+ buttonsound
end
.Tiffany:
farwritetext UnknownText_0x665ad
- keeptextopen
+ buttonsound
end
.Erin:
farwritetext UnknownText_0x6717a
- keeptextopen
+ buttonsound
end
UnknownScript_0xa017a:
@@ -232,87 +232,87 @@
.Jack:
farwritetext UnknownText_0x174106
- keeptextopen
+ buttonsound
end
.Gaven:
farwritetext UnknownText_0x174a80
- keeptextopen
+ buttonsound
end
.Jose:
farwritetext UnknownText_0x174f90
- keeptextopen
+ buttonsound
end
.Joey:
farwritetext UnknownText_0x175591
- keeptextopen
+ buttonsound
end
.Wade:
farwritetext UnknownText_0x175869
- keeptextopen
+ buttonsound
end
.Ralph:
farwritetext UnknownText_0x175c24
- keeptextopen
+ buttonsound
end
.Anthony:
farwritetext UnknownText_0x176aef
- keeptextopen
+ buttonsound
end
.Todd:
farwritetext UnknownText_0x176e9c
- keeptextopen
+ buttonsound
end
.Arnie:
farwritetext UnknownText_0x64a13
- keeptextopen
+ buttonsound
end
.Alan:
farwritetext UnknownText_0x64cf3
- keeptextopen
+ buttonsound
end
.Chad:
farwritetext UnknownText_0x65318
- keeptextopen
+ buttonsound
end
.Derek:
farwritetext UnknownText_0x65b29
- keeptextopen
+ buttonsound
end
.Tully:
farwritetext UnknownText_0x65e42
- keeptextopen
+ buttonsound
end
.Brent:
farwritetext UnknownText_0x6613c
- keeptextopen
+ buttonsound
end
.Vance:
farwritetext UnknownText_0x669b2
- keeptextopen
+ buttonsound
end
.Wilton:
farwritetext UnknownText_0x66b3e
- keeptextopen
+ buttonsound
end
.Parry:
farwritetext UnknownText_0x66fc0
- keeptextopen
+ buttonsound
end
UnknownScript_0xa0226:
@@ -328,42 +328,42 @@
.Beverly:
farwritetext UnknownText_0x1746c3
- keeptextopen
+ buttonsound
end
.Beth:
farwritetext UnknownText_0x174cf6
- keeptextopen
+ buttonsound
end
.Reena:
farwritetext UnknownText_0x17536b
- keeptextopen
+ buttonsound
end
.Liz:
farwritetext UnknownText_0x17602d
- keeptextopen
+ buttonsound
end
.Gina:
farwritetext UnknownText_0x177237
- keeptextopen
+ buttonsound
end
.Dana:
farwritetext UnknownText_0x64fb2
- keeptextopen
+ buttonsound
end
.Tiffany:
farwritetext UnknownText_0x66605
- keeptextopen
+ buttonsound
end
.Erin:
farwritetext UnknownText_0x671a4
- keeptextopen
+ buttonsound
end
UnknownScript_0xa0278:
@@ -388,87 +388,87 @@
.Jack:
farwritetext UnknownText_0x174165
- keeptextopen
+ buttonsound
end
.Gaven:
farwritetext UnknownText_0x174b2d
- keeptextopen
+ buttonsound
end
.Jose:
farwritetext UnknownText_0x174ffd
- keeptextopen
+ buttonsound
end
.Joey:
farwritetext UnknownText_0x175611
- keeptextopen
+ buttonsound
end
.Wade:
farwritetext UnknownText_0x1758e4
- keeptextopen
+ buttonsound
end
.Ralph:
farwritetext UnknownText_0x175c9f
- keeptextopen
+ buttonsound
end
.Anthony:
farwritetext UnknownText_0x176b45
- keeptextopen
+ buttonsound
end
.Todd:
farwritetext UnknownText_0x176eee
- keeptextopen
+ buttonsound
end
.Arnie:
farwritetext UnknownText_0x64a71
- keeptextopen
+ buttonsound
end
.Alan:
farwritetext UnknownText_0x64d4f
- keeptextopen
+ buttonsound
end
.Chad:
farwritetext UnknownText_0x65399
- keeptextopen
+ buttonsound
end
.Derek:
farwritetext UnknownText_0x65bc8
- keeptextopen
+ buttonsound
end
.Tully:
farwritetext UnknownText_0x65eac
- keeptextopen
+ buttonsound
end
.Brent:
farwritetext UnknownText_0x6618c
- keeptextopen
+ buttonsound
end
.Vance:
farwritetext UnknownText_0x669ed
- keeptextopen
+ buttonsound
end
.Wilton:
farwritetext UnknownText_0x66b8f
- keeptextopen
+ buttonsound
end
.Parry:
farwritetext UnknownText_0x67001
- keeptextopen
+ buttonsound
end
UnknownScript_0xa0324:
@@ -484,53 +484,53 @@
.Beverly:
farwritetext UnknownText_0x174734
- keeptextopen
+ buttonsound
end
.Beth:
farwritetext UnknownText_0x174d86
- keeptextopen
+ buttonsound
end
.Reena:
farwritetext UnknownText_0x1753c5
- keeptextopen
+ buttonsound
end
.Liz:
farwritetext UnknownText_0x176095
- keeptextopen
+ buttonsound
end
.Gina:
farwritetext UnknownText_0x177297
- keeptextopen
+ buttonsound
end
.Dana:
farwritetext UnknownText_0x6501c
- keeptextopen
+ buttonsound
end
.Tiffany:
farwritetext UnknownText_0x66688
- keeptextopen
+ buttonsound
end
.Erin:
farwritetext UnknownText_0x671eb
- keeptextopen
+ buttonsound
end
UnknownScript_0xa0376:
- farscall UnknownScript_0xa0386
- farjump UnknownScript_0xa0484
+ farscall PhoneScript_RematchText_Male
+ farjump PhoneScript_HangupText_Male
UnknownScript_0xa037e:
- farscall UnknownScript_0xa0432
- farjump UnknownScript_0xa053a
+ farscall PhoneScript_RematchText_Female
+ farjump PhoneScript_HangupText_Female
-UnknownScript_0xa0386:
+PhoneScript_RematchText_Male:
checkcode VAR_CALLERID
if_equal PHONE_SCHOOLBOY_JACK, .Jack
if_equal PHONE_SAILOR_HUEY, .Huey
@@ -552,90 +552,90 @@
.Jack:
farwritetext UnknownText_0x1741e1
- keeptextopen
+ buttonsound
end
.Huey:
farwritetext UnknownText_0x1748ea
- keeptextopen
+ buttonsound
end
.Gaven:
farwritetext UnknownText_0x174bc5
- keeptextopen
+ buttonsound
end
.Jose:
farwritetext UnknownText_0x17507d
- keeptextopen
+ buttonsound
end
.Joey:
farwritetext UnknownText_0x175693
- keeptextopen
+ buttonsound
end
.Wade:
farwritetext UnknownText_0x175976
- keeptextopen
+ buttonsound
end
.Ralph:
farwritetext UnknownText_0x175d40
- keeptextopen
+ buttonsound
end
.Anthony:
farwritetext UnknownText_0x176bee
- keeptextopen
+ buttonsound
end
.Todd:
farwritetext UnknownText_0x176f60
- keeptextopen
+ buttonsound
end
.Arnie:
farwritetext UnknownText_0x64ada
- keeptextopen
+ buttonsound
end
.Alan:
farwritetext UnknownText_0x64da4
- keeptextopen
+ buttonsound
end
.Chad:
farwritetext UnknownText_0x65419
- keeptextopen
+ buttonsound
end
.Tully:
farwritetext UnknownText_0x65f17
- keeptextopen
+ buttonsound
end
.Brent:
farwritetext UnknownText_0x66214
- keeptextopen
+ buttonsound
end
.Vance:
farwritetext UnknownText_0x66a3a
- keeptextopen
+ buttonsound
end
.Wilton:
farwritetext UnknownText_0x66bf3
- keeptextopen
+ buttonsound
end
.Parry:
farwritetext UnknownText_0x67096
- keeptextopen
+ buttonsound
end
-UnknownScript_0xa0432:
+PhoneScript_RematchText_Female:
checkcode VAR_CALLERID
if_equal PHONE_COOLTRAINERF_BETH, .Beth
if_equal PHONE_COOLTRAINERF_REENA, .Reena
@@ -647,37 +647,37 @@
.Beth:
farwritetext UnknownText_0x174e4e
- keeptextopen
+ buttonsound
end
.Reena:
farwritetext UnknownText_0x17543a
- keeptextopen
+ buttonsound
end
.Liz:
farwritetext UnknownText_0x17610a
- keeptextopen
+ buttonsound
end
.Gina:
farwritetext UnknownText_0x1772e2
- keeptextopen
+ buttonsound
end
.Dana:
farwritetext UnknownText_0x65091
- keeptextopen
+ buttonsound
end
.Tiffany:
farwritetext UnknownText_0x66730
- keeptextopen
+ buttonsound
end
.Erin:
farwritetext UnknownText_0x6722e
- keeptextopen
+ buttonsound
end
UnknownScript_0xa047a:
@@ -688,7 +688,7 @@
farwritetext UnknownText_0x66796
end
-UnknownScript_0xa0484:
+PhoneScript_HangupText_Male:
checkcode VAR_CALLERID
if_equal PHONE_SCHOOLBOY_JACK, .Jack
if_equal PHONE_SAILOR_HUEY, .Huey
@@ -791,7 +791,7 @@
farwritetext UnknownText_0x670eb
end
-UnknownScript_0xa053a:
+PhoneScript_HangupText_Female:
checkcode VAR_CALLERID
if_equal PHONE_POKEFAN_BEVERLY, .Beverly
if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -840,7 +840,7 @@
farjump UnknownScript_0xa0000
UnknownScript_0xa058e:
- farjump UnknownScript_0xa0484
+ farjump PhoneScript_HangupText_Male
UnknownScript_0xa0592:
scall UnknownScript_0xa05a0
@@ -848,7 +848,7 @@
farjump UnknownScript_0xa0017
UnknownScript_0xa059c:
- farjump UnknownScript_0xa053a
+ farjump PhoneScript_HangupText_Female
UnknownScript_0xa05a0:
special RandomPhoneRareWildMon
@@ -861,38 +861,38 @@
.Wade:
farwritetext UnknownText_0x1759f7
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
.Derek:
farwritetext UnknownText_0x65c66
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa05be:
farwritetext UnknownText_0x64032
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa05c6:
farwritetext UnknownText_0x177378
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa05ce:
farwritetext UnknownText_0x64b5f
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa05d6:
farwritetext UnknownText_0x175dd9
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa05de:
farwritetext UnknownText_0x176c61
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa05e6:
checkcode VAR_CALLERID
@@ -952,271 +952,271 @@
UnknownScript_0xa0644:
farwritetext UnknownText_0x176feb
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa064c:
farwritetext UnknownText_0x66dc5
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0654:
- random $b
- if_equal $0, UnknownScript_0xa0682
- if_equal $1, UnknownScript_0xa068a
- if_equal $2, UnknownScript_0xa0692
- if_equal $3, UnknownScript_0xa069a
- if_equal $4, UnknownScript_0xa06a2
- if_equal $5, UnknownScript_0xa06aa
- if_equal $6, UnknownScript_0xa06b2
- if_equal $7, UnknownScript_0xa06ba
- if_equal $8, UnknownScript_0xa06c2
- if_equal $9, UnknownScript_0xa06ca
- if_equal $a, UnknownScript_0xa06d2
+ random 11
+ if_equal 0, UnknownScript_0xa0682
+ if_equal 1, UnknownScript_0xa068a
+ if_equal 2, UnknownScript_0xa0692
+ if_equal 3, UnknownScript_0xa069a
+ if_equal 4, UnknownScript_0xa06a2
+ if_equal 5, UnknownScript_0xa06aa
+ if_equal 6, UnknownScript_0xa06b2
+ if_equal 7, UnknownScript_0xa06ba
+ if_equal 8, UnknownScript_0xa06c2
+ if_equal 9, UnknownScript_0xa06ca
+ if_equal 10, UnknownScript_0xa06d2
UnknownScript_0xa0682:
farwritetext UnknownText_0x174261
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa068a:
farwritetext UnknownText_0x17429d
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0692:
farwritetext UnknownText_0x1742ee
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa069a:
farwritetext UnknownText_0x174340
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa06a2:
farwritetext UnknownText_0x174391
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa06aa:
farwritetext UnknownText_0x1743e3
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa06b2:
farwritetext UnknownText_0x174433
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa06ba:
farwritetext UnknownText_0x174485
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa06c2:
farwritetext UnknownText_0x1744d6
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa06ca:
farwritetext UnknownText_0x174522
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa06d2:
farwritetext UnknownText_0x174571
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa06da:
- random $a
- if_equal $0, UnknownScript_0xa0704
- if_equal $1, UnknownScript_0xa070c
- if_equal $2, UnknownScript_0xa0714
- if_equal $3, UnknownScript_0xa071c
- if_equal $4, UnknownScript_0xa0724
- if_equal $5, UnknownScript_0xa072c
- if_equal $6, UnknownScript_0xa0734
- if_equal $7, UnknownScript_0xa073c
- if_equal $8, UnknownScript_0xa0744
- if_equal $9, UnknownScript_0xa074c
+ random 10
+ if_equal 0, UnknownScript_0xa0704
+ if_equal 1, UnknownScript_0xa070c
+ if_equal 2, UnknownScript_0xa0714
+ if_equal 3, UnknownScript_0xa071c
+ if_equal 4, UnknownScript_0xa0724
+ if_equal 5, UnknownScript_0xa072c
+ if_equal 6, UnknownScript_0xa0734
+ if_equal 7, UnknownScript_0xa073c
+ if_equal 8, UnknownScript_0xa0744
+ if_equal 9, UnknownScript_0xa074c
UnknownScript_0xa0704:
farwritetext UnknownText_0x176223
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa070c:
farwritetext UnknownText_0x1762c3
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0714:
farwritetext UnknownText_0x17638a
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa071c:
farwritetext UnknownText_0x176424
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0724:
farwritetext UnknownText_0x1764eb
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa072c:
farwritetext UnknownText_0x176599
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0734:
farwritetext UnknownText_0x1766ac
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa073c:
farwritetext UnknownText_0x17674f
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0744:
farwritetext UnknownText_0x176816
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa074c:
farwritetext UnknownText_0x17686d
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0754:
- random $a
- if_equal $0, UnknownScript_0xa077e
- if_equal $1, UnknownScript_0xa0786
- if_equal $2, UnknownScript_0xa078e
- if_equal $3, UnknownScript_0xa0796
- if_equal $4, UnknownScript_0xa079e
- if_equal $5, UnknownScript_0xa07a6
- if_equal $6, UnknownScript_0xa07ae
- if_equal $7, UnknownScript_0xa07b6
- if_equal $8, UnknownScript_0xa07be
- if_equal $9, UnknownScript_0xa07c6
+ random 10
+ if_equal 0, UnknownScript_0xa077e
+ if_equal 1, UnknownScript_0xa0786
+ if_equal 2, UnknownScript_0xa078e
+ if_equal 3, UnknownScript_0xa0796
+ if_equal 4, UnknownScript_0xa079e
+ if_equal 5, UnknownScript_0xa07a6
+ if_equal 6, UnknownScript_0xa07ae
+ if_equal 7, UnknownScript_0xa07b6
+ if_equal 8, UnknownScript_0xa07be
+ if_equal 9, UnknownScript_0xa07c6
UnknownScript_0xa077e:
farwritetext UnknownText_0x65481
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0786:
farwritetext UnknownText_0x654ea
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa078e:
farwritetext UnknownText_0x65555
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0796:
farwritetext UnknownText_0x655c7
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa079e:
farwritetext UnknownText_0x65628
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa07a6:
farwritetext UnknownText_0x6569b
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa07ae:
farwritetext UnknownText_0x6574a
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa07b6:
farwritetext UnknownText_0x65810
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa07be:
farwritetext UnknownText_0x658c6
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa07c6:
farwritetext UnknownText_0x65969
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa07ce:
- random $a
- if_equal $0, UnknownScript_0xa07f8
- if_equal $1, UnknownScript_0xa0800
- if_equal $2, UnknownScript_0xa0808
- if_equal $3, UnknownScript_0xa0810
- if_equal $4, UnknownScript_0xa0818
- if_equal $5, UnknownScript_0xa0820
- if_equal $6, UnknownScript_0xa0828
- if_equal $7, UnknownScript_0xa0830
- if_equal $8, UnknownScript_0xa0838
- if_equal $9, UnknownScript_0xa0840
+ random 10
+ if_equal 0, UnknownScript_0xa07f8
+ if_equal 1, UnknownScript_0xa0800
+ if_equal 2, UnknownScript_0xa0808
+ if_equal 3, UnknownScript_0xa0810
+ if_equal 4, UnknownScript_0xa0818
+ if_equal 5, UnknownScript_0xa0820
+ if_equal 6, UnknownScript_0xa0828
+ if_equal 7, UnknownScript_0xa0830
+ if_equal 8, UnknownScript_0xa0838
+ if_equal 9, UnknownScript_0xa0840
UnknownScript_0xa07f8:
farwritetext UnknownText_0x662bc
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0800:
farwritetext UnknownText_0x662fc
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0808:
farwritetext UnknownText_0x66335
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0810:
farwritetext UnknownText_0x66366
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0818:
farwritetext UnknownText_0x663a1
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0820:
farwritetext UnknownText_0x663e6
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0828:
farwritetext UnknownText_0x66421
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0830:
farwritetext UnknownText_0x6645f
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0838:
farwritetext UnknownText_0x6649b
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0840:
farwritetext UnknownText_0x664dd
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0848:
checkevent EVENT_OPENED_MT_SILVER
@@ -1244,232 +1244,232 @@
checkflag ENGINE_PLAINBADGE
iftrue UnknownScript_0xa0898
farwritetext UnknownText_0x646a3
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0898:
farwritetext UnknownText_0x64099
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa08a0:
farwritetext UnknownText_0x640e6
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa08a8:
farwritetext UnknownText_0x6416d
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa08b0:
farwritetext UnknownText_0x641e8
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa08b8:
farwritetext UnknownText_0x64247
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa08c0:
farwritetext UnknownText_0x642bb
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa08c8:
farwritetext UnknownText_0x643d4
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa08d0:
farwritetext UnknownText_0x64448
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa08d8:
farwritetext UnknownText_0x6455b
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa08e0:
farwritetext UnknownText_0x645ff
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa08e8:
farwritetext UnknownText_0x646df
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa08f0:
farwritetext UnknownText_0x647d8
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa08f8:
farwritetext UnknownText_0x1745c2
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0900:
farwritetext UnknownText_0x17485b
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0908:
farwritetext UnknownText_0x17496b
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0910:
farwritetext UnknownText_0x174c29
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0918:
farwritetext UnknownText_0x174ec5
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0920:
farwritetext UnknownText_0x17519b
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0928:
farwritetext UnknownText_0x17549b
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0930:
farwritetext UnknownText_0x17571d
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0938:
farwritetext UnknownText_0x175abe
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0940:
farwritetext UnknownText_0x175eaf
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0948:
farwritetext UnknownText_0x1768b0
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0950:
farwritetext UnknownText_0x176d32
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0958:
farwritetext UnknownText_0x1770fb
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0960:
farwritetext UnknownText_0x177465
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0968:
farwritetext UnknownText_0x64bc6
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0970:
farwritetext UnknownText_0x64e90
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0978:
farwritetext UnknownText_0x65161
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0980:
farwritetext UnknownText_0x65a23
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0988:
farwritetext UnknownText_0x65d5c
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0990:
farwritetext UnknownText_0x65ff2
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0998:
farwritetext UnknownText_0x6651e
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa09a0:
farwritetext UnknownText_0x66882
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa09a8:
farwritetext UnknownText_0x66aa5
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa09b0:
farwritetext UnknownText_0x66ca7
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa09b8:
farwritetext UnknownText_0x67106
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa09c0:
farwritetext UnknownText_0x67294
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa09c8:
- random $3
- if_equal $0, UnknownScript_0xa09d6
- if_equal $1, UnknownScript_0xa09de
- if_equal $2, UnknownScript_0xa09e6
+ random 3
+ if_equal 0, UnknownScript_0xa09d6
+ if_equal 1, UnknownScript_0xa09de
+ if_equal 2, UnknownScript_0xa09e6
UnknownScript_0xa09d6:
farwritetext UnknownText_0x64846
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa09de:
farwritetext UnknownText_0x64881
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa09e6:
farwritetext UnknownText_0x648dc
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa09ee:
checkcode VAR_KENJI_BREAK
- if_equal $2, UnknownScript_0xa0a00
- if_equal $1, UnknownScript_0xa0a08
+ if_equal 2, UnknownScript_0xa0a00
+ if_equal 1, UnknownScript_0xa0a08
farwritetext UnknownText_0x66e17
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0a00:
farwritetext UnknownText_0x66e67
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0a08:
checkmorn
@@ -1478,18 +1478,18 @@
iftrue UnknownScript_0xa0a25
setevent EVENT_KENJI_ON_BREAK
farwritetext UnknownText_0x66f11
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0a1d:
farwritetext UnknownText_0x66ed3
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0a25:
farwritetext UnknownText_0x66f52
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0a2d:
farwritetext UnknownText_0x174638
@@ -1589,53 +1589,53 @@
UnknownScript_0xa0aa5:
farwritetext UnknownText_0x174895
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0aad:
farwritetext UnknownText_0x17529c
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0ab5:
farwritetext UnknownText_0x175b6d
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0abd:
farwritetext UnknownText_0x17750e
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0ac5:
farwritetext UnknownText_0x64f1a
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0acd:
farwritetext UnknownText_0x6520f
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0ad5:
farwritetext UnknownText_0x65da6
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0add:
farwritetext UnknownText_0x66087
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0ae5:
farwritetext UnknownText_0x6691d
- keeptextopen
- jump UnknownScript_0xa053a
+ buttonsound
+ jump PhoneScript_HangupText_Female
UnknownScript_0xa0aed:
farwritetext UnknownText_0x66d45
- keeptextopen
- jump UnknownScript_0xa0484
+ buttonsound
+ jump PhoneScript_HangupText_Male
UnknownScript_0xa0af5:
farwritetext UnknownText_0x175f70
--- /dev/null
+++ b/engine/move_mon.asm
@@ -1,0 +1,1803 @@
+TryAddMonToParty: ; d88c
+; Check if to copy wild Pkmn or generate new Pkmn
+ ; Whose is it?
+ ld de, PartyCount
+ ld a, [MonType]
+ and $f
+ jr z, .getpartylocation ; PARTYMON
+ ld de, OTPartyCount
+
+.getpartylocation
+ ; Do we have room for it?
+ ld a, [de]
+ inc a
+ cp PARTY_LENGTH + 1
+ ret nc
+ ; Increase the party count
+ ld [de], a
+ ld a, [de] ; Why are we doing this?
+ ld [hMoveMon], a ; HRAM backup
+ add e
+ ld e, a
+ jr nc, .loadspecies
+ inc d
+
+.loadspecies
+ ; Load the species of the Pokemon into the party list.
+ ; The terminator is usually here, but it'll be back.
+ ld a, [CurPartySpecies]
+ ld [de], a
+ ; Load the terminator into the next slot.
+ inc de
+ ld a, -1
+ ld [de], a
+ ; Now let's load the OT name.
+ ld hl, PartyMonOT
+ ld a, [MonType]
+ and $f
+ jr z, .loadOTname
+ ld hl, OTPartyMonOT
+
+.loadOTname
+ ld a, [hMoveMon] ; Restore index from backup
+ dec a
+ call SkipNames
+ ld d, h
+ ld e, l
+ ld hl, PlayerName
+ ld bc, NAME_LENGTH
+ call CopyBytes
+ ld a, [MonType]
+ and a
+ jr nz, .skipnickname
+ ld a, [CurPartySpecies]
+ ld [wd265], a
+ call GetPokemonName
+ ld hl, PartyMonNicknames
+ ld a, [hMoveMon]
+ dec a
+ call SkipNames
+ ld d, h
+ ld e, l
+ ld hl, StringBuffer1
+ ld bc, PKMN_NAME_LENGTH
+ call CopyBytes
+
+.skipnickname
+ ld hl, PartyMon1Species
+ ld a, [MonType]
+ and $f
+ jr z, .initializeStats
+ ld hl, OTPartyMon1Species
+
+.initializeStats
+ ld a, [hMoveMon]
+ dec a
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+GeneratePartyMonStats: ; d906
+ ld e, l
+ ld d, h
+ push hl
+ ld a, [CurPartySpecies]
+ ld [CurSpecies], a
+ call GetBaseData
+ ld a, [BaseDexNo]
+ ld [de], a
+ inc de
+ ld a, [wBattleMode]
+ and a
+ ld a, $0
+ jr z, .skipitem
+ ld a, [EnemyMonItem]
+
+.skipitem
+ ld [de], a
+ inc de
+ push de
+ ld h, d
+ ld l, e
+ ld a, [wBattleMode]
+ and a
+ jr z, .randomlygeneratemoves
+ ld a, [MonType]
+ and a
+ jr nz, .randomlygeneratemoves
+ ld de, EnemyMonMoves
+ rept NUM_MOVES + -1
+ ld a, [de]
+ inc de
+ ld [hli], a
+ endr
+ ld a, [de]
+ ld [hl], a
+ jr .next
+
+.randomlygeneratemoves
+ xor a
+ rept NUM_MOVES + -1
+ ld [hli], a
+ endr
+ ld [hl], a
+ ld [Buffer1], a
+ predef FillMoves
+
+.next
+ pop de
+rept 4
+ inc de
+endr
+ ld a, [PlayerID]
+ ld [de], a
+ inc de
+ ld a, [PlayerID + 1]
+ ld [de], a
+ inc de
+ push de
+ ld a, [CurPartyLevel]
+ ld d, a
+ callab CalcExpAtLevel
+ pop de
+ ld a, [hProduct + 1]
+ ld [de], a
+ inc de
+ ld a, [hProduct + 2]
+ ld [de], a
+ inc de
+ ld a, [hProduct + 3]
+ ld [de], a
+ inc de
+ xor a
+ ld b, $a
+.loop
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .loop
+ pop hl
+ push hl
+ ld a, [MonType]
+ and $f
+ jr z, .generateDVs
+ push hl
+ callba GetTrainerDVs
+ pop hl
+ jr .initializetrainermonstats
+
+.generateDVs
+ ld a, [CurPartySpecies]
+ ld [wd265], a
+ dec a
+ push de
+ call CheckCaughtMon
+ ld a, [wd265]
+ dec a
+ call SetSeenAndCaughtMon
+ pop de
+ pop hl
+ push hl
+ ld a, [wBattleMode]
+ and a
+ jr nz, .copywildmonstats
+ call Random
+ ld b, a
+ call Random
+ ld c, a
+
+.initializetrainermonstats
+ ld a, b
+ ld [de], a
+ inc de
+ ld a, c
+ ld [de], a
+ inc de
+ push hl
+ push de
+ inc hl
+ inc hl
+ call FillPP
+ pop de
+ pop hl
+rept 4
+ inc de
+endr
+ ld a, 70
+ ld [de], a
+ inc de
+ xor a
+ ld [de], a
+ inc de
+ ld [de], a
+ inc de
+ ld [de], a
+ inc de
+ ld a, [CurPartyLevel]
+ ld [de], a
+ inc de
+ xor a
+ ld [de], a
+ inc de
+ ld [de], a
+ inc de
+ ld bc, 10
+ add hl, bc
+ ld a, $1
+ ld c, a
+ ld b, FALSE
+ call CalcPkmnStatC
+ ld a, [hProduct + 2]
+ ld [de], a
+ inc de
+ ld a, [hProduct + 3]
+ ld [de], a
+ inc de
+ jr .next2
+
+.copywildmonstats
+ ld a, [EnemyMonDVs]
+ ld [de], a
+ inc de
+ ld a, [EnemyMonDVs + 1]
+ ld [de], a
+ inc de
+
+ push hl
+ ld hl, EnemyMonPP
+ ld b, NUM_MOVES
+.wildmonpploop
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .wildmonpploop
+ pop hl
+
+ ld a, BASE_HAPPINESS
+ ld [de], a
+ inc de
+ xor a
+ ld [de], a
+ inc de
+ ld [de], a
+ inc de
+ ld [de], a
+ inc de
+ ld a, [CurPartyLevel]
+ ld [de], a
+ inc de
+ ld hl, EnemyMonStatus
+ ; Copy EnemyMonStatus
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ; Copy EnemyMonUnused
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ; Copy EnemyMonHP
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ inc de
+
+.next2
+ ld a, [wBattleMode]
+ dec a
+ jr nz, .generatestats
+ ld hl, EnemyMonMaxHP
+ ld bc, 2*6 ; MaxHP + 5 Stats
+ call CopyBytes
+ pop hl
+ jr .next3
+
+.generatestats
+ pop hl
+ ld bc, 2*5 ; 5 Stats
+ add hl, bc
+ ld b, $0 ; if b = 1, then the Stats of the Pkmn are calculated
+ ; only the current HP aren't set to MaxHP after this
+ call CalcPkmnStats
+
+.next3
+ ld a, [MonType]
+ and $f
+ jr nz, .done
+ ld a, [CurPartySpecies]
+ cp UNOWN
+ jr nz, .done
+ ld hl, PartyMon1DVs
+ ld a, [PartyCount]
+ dec a
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ predef GetUnownLetter
+ callab UpdateUnownDex
+
+.done
+ scf ; When this function returns, the carry flag indicates success vs failure.
+ ret
+; da6d
+
+FillPP: ; da6d
+ push bc
+ ld b, NUM_MOVES
+.loop
+ ld a, [hli]
+ and a
+ jr z, .next
+ dec a
+ push hl
+ push de
+ push bc
+ ld hl, Moves
+ ld bc, MOVE_LENGTH
+ call AddNTimes
+ ld de, StringBuffer1
+ ld a, BANK(Moves)
+ call FarCopyBytes
+ pop bc
+ pop de
+ pop hl
+ ld a, [StringBuffer1 + MOVE_PP]
+
+.next
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .loop
+ pop bc
+ ret
+; da96
+
+AddTempmonToParty: ; da96
+ ld hl, PartyCount
+ ld a, [hl]
+ cp PARTY_LENGTH
+ scf
+ ret z
+
+ inc a
+ ld [hl], a
+ ld c, a
+ ld b, 0
+ add hl, bc
+ ld a, [CurPartySpecies]
+ ld [hli], a
+ ld [hl], $ff
+
+ ld hl, PartyMon1Species
+ ld a, [PartyCount]
+ dec a
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld e, l
+ ld d, h
+ ld hl, TempMonSpecies
+ call CopyBytes
+
+ ld hl, PartyMonOT
+ ld a, [PartyCount]
+ dec a
+ call SkipNames
+ ld d, h
+ ld e, l
+ ld hl, OTPartyMonOT
+ ld a, [CurPartyMon]
+ call SkipNames
+ ld bc, NAME_LENGTH
+ call CopyBytes
+
+ ld hl, PartyMonNicknames
+ ld a, [PartyCount]
+ dec a
+ call SkipNames
+ ld d, h
+ ld e, l
+ ld hl, OTPartyMonNicknames
+ ld a, [CurPartyMon]
+ call SkipNames
+ ld bc, PKMN_NAME_LENGTH
+ call CopyBytes
+
+ ld a, [CurPartySpecies]
+ ld [wNamedObjectIndexBuffer], a
+ cp EGG
+ jr z, .egg
+ dec a
+ call SetSeenAndCaughtMon
+ ld hl, PartyMon1Happiness
+ ld a, [PartyCount]
+ dec a
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld [hl], BASE_HAPPINESS
+.egg
+
+ ld a, [CurPartySpecies]
+ cp UNOWN
+ jr nz, .done
+ ld hl, PartyMon1DVs
+ ld a, [PartyCount]
+ dec a
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ predef GetUnownLetter
+ callab UpdateUnownDex
+ ld a, [wFirstUnownSeen]
+ and a
+ jr nz, .done
+ ld a, [UnownLetter]
+ ld [wFirstUnownSeen], a
+.done
+
+ and a
+ ret
+
+SentGetPkmnIntoFromBox: ; db3f
+; Sents/Gets Pkmn into/from Box depending on Parameter
+; wPokemonWithdrawDepositParameter == 0: get Pkmn into Party
+; wPokemonWithdrawDepositParameter == 1: sent Pkmn into Box
+; wPokemonWithdrawDepositParameter == 2: get Pkmn from DayCare
+; wPokemonWithdrawDepositParameter == 3: put Pkmn into DayCare
+
+ ld a, BANK(sBoxCount)
+ call GetSRAMBank
+ ld a, [wPokemonWithdrawDepositParameter]
+ and a
+ jr z, .check_IfPartyIsFull
+ cp DAYCARE_WITHDRAW
+ jr z, .check_IfPartyIsFull
+ cp DAYCARE_DEPOSIT
+ ld hl, wBreedMon1Species
+ jr z, .breedmon
+
+ ; we want to sent a Pkmn into the Box
+ ; so check if there's enough space
+ ld hl, sBoxCount
+ ld a, [hl]
+ cp MONS_PER_BOX
+ jr nz, .there_is_room
+ jp CloseSRAM_And_SetCarryFlag
+
+.check_IfPartyIsFull
+ ld hl, PartyCount
+ ld a, [hl]
+ cp PARTY_LENGTH
+ jp z, CloseSRAM_And_SetCarryFlag
+
+.there_is_room
+ inc a
+ ld [hl], a
+ ld c, a
+ ld b, 0
+ add hl, bc
+ ld a, [wPokemonWithdrawDepositParameter]
+ cp DAYCARE_WITHDRAW
+ ld a, [wBreedMon1Species]
+ jr z, .okay1
+ ld a, [CurPartySpecies]
+
+.okay1
+ ld [hli], a
+ ld [hl], $ff
+ ld a, [wPokemonWithdrawDepositParameter]
+ dec a
+ ld hl, PartyMon1Species
+ ld bc, PARTYMON_STRUCT_LENGTH
+ ld a, [PartyCount]
+ jr nz, .okay2
+ ld hl, sBoxMon1Species
+ ld bc, BOXMON_STRUCT_LENGTH
+ ld a, [sBoxCount]
+
+.okay2
+ dec a ; PartyCount - 1
+ call AddNTimes
+
+.breedmon
+ push hl
+ ld e, l
+ ld d, h
+ ld a, [wPokemonWithdrawDepositParameter]
+ and a
+ ld hl, sBoxMon1Species
+ ld bc, BOXMON_STRUCT_LENGTH
+ jr z, .okay3
+ cp DAYCARE_WITHDRAW
+ ld hl, wBreedMon1Species
+ jr z, .okay4
+ ld hl, PartyMon1Species
+ ld bc, PARTYMON_STRUCT_LENGTH
+
+.okay3
+ ld a, [CurPartyMon]
+ call AddNTimes
+
+.okay4
+ ld bc, BOXMON_STRUCT_LENGTH
+ call CopyBytes
+ ld a, [wPokemonWithdrawDepositParameter]
+ cp DAYCARE_DEPOSIT
+ ld de, wBreedMon1OT
+ jr z, .okay5
+ dec a
+ ld hl, PartyMonOT
+ ld a, [PartyCount]
+ jr nz, .okay6
+ ld hl, sBoxMonOT
+ ld a, [sBoxCount]
+
+.okay6
+ dec a
+ call SkipNames
+ ld d, h
+ ld e, l
+
+.okay5
+ ld hl, sBoxMonOT
+ ld a, [wPokemonWithdrawDepositParameter]
+ and a
+ jr z, .okay7
+ ld hl, wBreedMon1OT
+ cp DAYCARE_WITHDRAW
+ jr z, .okay8
+ ld hl, PartyMonOT
+
+.okay7
+ ld a, [CurPartyMon]
+ call SkipNames
+
+.okay8
+ ld bc, NAME_LENGTH
+ call CopyBytes
+ ld a, [wPokemonWithdrawDepositParameter]
+ cp DAYCARE_DEPOSIT
+ ld de, wBreedMon1Nick
+ jr z, .okay9
+ dec a
+ ld hl, PartyMonNicknames
+ ld a, [PartyCount]
+ jr nz, .okay10
+ ld hl, sBoxMonNicknames
+ ld a, [sBoxCount]
+
+.okay10
+ dec a
+ call SkipNames
+ ld d, h
+ ld e, l
+
+.okay9
+ ld hl, sBoxMonNicknames
+ ld a, [wPokemonWithdrawDepositParameter]
+ and a
+ jr z, .okay11
+ ld hl, wBreedMon1Nick
+ cp DAYCARE_WITHDRAW
+ jr z, .okay12
+ ld hl, PartyMonNicknames
+
+.okay11
+ ld a, [CurPartyMon]
+ call SkipNames
+
+.okay12
+ ld bc, PKMN_NAME_LENGTH
+ call CopyBytes
+ pop hl
+
+ ld a, [wPokemonWithdrawDepositParameter]
+ cp PC_DEPOSIT
+ jr z, .took_out_of_box
+ cp DAYCARE_DEPOSIT
+ jp z, .CloseSRAM_And_ClearCarryFlag
+
+ push hl
+ srl a
+ add $2
+ ld [MonType], a
+ predef CopyPkmnToTempMon
+ callab CalcLevel
+ ld a, d
+ ld [CurPartyLevel], a
+ pop hl
+
+ ld b, h
+ ld c, l
+ ld hl, MON_LEVEL
+ add hl, bc
+ ld [hl], a
+ ld hl, MON_MAXHP
+ add hl, bc
+ ld d, h
+ ld e, l
+ ld hl, MON_STAT_EXP - 1
+ add hl, bc
+
+ push bc
+ ld b, $1
+ call CalcPkmnStats
+ pop bc
+
+ ld a, [wPokemonWithdrawDepositParameter]
+ and a
+ jr nz, .CloseSRAM_And_ClearCarryFlag
+ ld hl, MON_STATUS
+ add hl, bc
+ xor a
+ ld [hl], a
+ ld hl, MON_HP
+ add hl, bc
+ ld d, h
+ ld e, l
+ ld a, [CurPartySpecies]
+ cp EGG
+ jr z, .egg
+ inc hl
+ inc hl
+ ld a, [hli]
+ ld [de], a
+ ld a, [hl]
+ inc de
+ ld [de], a
+ jr .CloseSRAM_And_ClearCarryFlag
+
+.egg
+ xor a
+ ld [de], a
+ inc de
+ ld [de], a
+ jr .CloseSRAM_And_ClearCarryFlag
+
+.took_out_of_box
+ ld a, [sBoxCount]
+ dec a
+ ld b, a
+ call Functiondcb6
+.CloseSRAM_And_ClearCarryFlag
+ call CloseSRAM
+ and a
+ ret
+; dcb1
+
+CloseSRAM_And_SetCarryFlag: ; dcb1
+ call CloseSRAM
+ scf
+ ret
+; dcb6
+
+Functiondcb6: ; dcb6
+ ld a, b
+ ld hl, sBoxMons
+ ld bc, BOXMON_STRUCT_LENGTH
+ call AddNTimes
+ ld b, h
+ ld c, l
+ ld hl, MON_PP
+ add hl, bc
+ push hl
+ push bc
+ ld de, TempMonPP
+ ld bc, NUM_MOVES
+ call CopyBytes
+ pop bc
+ ld hl, MON_MOVES
+ add hl, bc
+ push hl
+ ld de, TempMonMoves
+ ld bc, NUM_MOVES
+ call CopyBytes
+ pop hl
+ pop de
+
+ ld a, [wMenuCursorY]
+ push af
+ ld a, [MonType]
+ push af
+ ld b, 0
+.asm_dcec
+ ld a, [hli]
+ and a
+ jr z, .asm_dd18
+ ld [TempMonMoves], a
+ ld a, BOXMON
+ ld [MonType], a
+ ld a, b
+ ld [wMenuCursorY], a
+ push bc
+ push hl
+ push de
+ callba GetMaxPPOfMove
+ pop de
+ pop hl
+ ld a, [wd265]
+ ld b, a
+ ld a, [de]
+ and %11000000
+ add b
+ ld [de], a
+ pop bc
+ inc de
+ inc b
+ ld a, b
+ cp NUM_MOVES
+ jr c, .asm_dcec
+
+.asm_dd18
+ pop af
+ ld [MonType], a
+ pop af
+ ld [wMenuCursorY], a
+ ret
+; dd21
+
+RetrievePokemonFromDaycareMan: ; dd21
+ ld a, [wBreedMon1Species]
+ ld [CurPartySpecies], a
+ ld de, SFX_TRANSACTION
+ call PlaySFX
+ call WaitSFX
+ call GetBreedMon1LevelGrowth
+ ld a, b
+ ld [wd002], a
+ ld a, e
+ ld [CurPartyLevel], a
+ xor a
+ ld [wPokemonWithdrawDepositParameter], a
+ jp Functiondd64
+; dd42
+
+RetrievePokemonFromDaycareLady: ; dd42
+ ld a, [wBreedMon2Species]
+ ld [CurPartySpecies], a
+ ld de, SFX_TRANSACTION
+ call PlaySFX
+ call WaitSFX
+ call GetBreedMon2LevelGrowth
+ ld a, b
+ ld [wd002], a
+ ld a, e
+ ld [CurPartyLevel], a
+ ld a, PC_DEPOSIT
+ ld [wPokemonWithdrawDepositParameter], a
+ jp Functiondd64
+; dd64
+
+Functiondd64: ; dd64
+ ld hl, PartyCount
+ ld a, [hl]
+ cp PARTY_LENGTH
+ jr nz, .room_in_party
+ scf
+ ret
+
+.room_in_party
+ inc a
+ ld [hl], a
+ ld c, a
+ ld b, 0
+ add hl, bc
+ ld a, [wPokemonWithdrawDepositParameter]
+ and a
+ ld a, [wBreedMon1Species]
+ ld de, wBreedMon1Nick
+ jr z, .okay
+ ld a, [wBreedMon2Species]
+ ld de, wBreedMon2Nick
+
+.okay
+ ld [hli], a
+ ld [CurSpecies], a
+ ld a, $ff
+ ld [hl], a
+ ld hl, PartyMonNicknames
+ ld a, [PartyCount]
+ dec a
+ call SkipNames
+ push hl
+ ld h, d
+ ld l, e
+ pop de
+ call CopyBytes
+ push hl
+ ld hl, PartyMonOT
+ ld a, [PartyCount]
+ dec a
+ call SkipNames
+ ld d, h
+ ld e, l
+ pop hl
+ call CopyBytes
+ push hl
+ call Functionde1a
+ pop hl
+ ld bc, BOXMON_STRUCT_LENGTH
+ call CopyBytes
+ call GetBaseData
+ call Functionde1a
+ ld b, d
+ ld c, e
+ ld hl, MON_LEVEL
+ add hl, bc
+ ld a, [CurPartyLevel]
+ ld [hl], a
+ ld hl, MON_MAXHP
+ add hl, bc
+ ld d, h
+ ld e, l
+ ld hl, $a
+ add hl, bc
+ push bc
+ ld b, $1
+ call CalcPkmnStats
+ ld hl, PartyMon1Moves
+ ld a, [PartyCount]
+ dec a
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld a, $1
+ ld [Buffer1], a
+ predef FillMoves
+ ld a, [PartyCount]
+ dec a
+ ld [CurPartyMon], a
+ callba HealPartyMon
+ ld a, [CurPartyLevel]
+ ld d, a
+ callab CalcExpAtLevel
+ pop bc
+ ld hl, $8
+ add hl, bc
+ ld a, [hMultiplicand]
+ ld [hli], a
+ ld a, [hMultiplicand + 1]
+ ld [hli], a
+ ld a, [hMultiplicand + 2]
+ ld [hl], a
+ and a
+ ret
+; de1a
+
+Functionde1a: ; de1a
+ ld a, [PartyCount]
+ dec a
+ ld hl, PartyMon1Species
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ret
+; de2a
+
+DepositMonWithDaycareMan: ; de2a
+ ld de, wBreedMon1Nick
+ call DepositBreedmon
+ xor a
+ ld [wPokemonWithdrawDepositParameter], a
+ jp RemoveMonFromPartyOrBox
+; de37
+
+DepositMonWithDaycareLady: ; de37
+ ld de, wBreedMon2Nick
+ call DepositBreedmon
+ xor a
+ ld [wPokemonWithdrawDepositParameter], a
+ jp RemoveMonFromPartyOrBox
+; de44
+
+DepositBreedmon: ; de44
+ ld a, [CurPartyMon]
+ ld hl, PartyMonNicknames
+ call SkipNames
+ call CopyBytes
+ ld a, [CurPartyMon]
+ ld hl, PartyMonOT
+ call SkipNames
+ call CopyBytes
+ ld a, [CurPartyMon]
+ ld hl, PartyMon1Species
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld bc, BOXMON_STRUCT_LENGTH
+ jp CopyBytes
+
+SentPkmnIntoBox: ; de6e
+; Sents the Pkmn into one of Bills Boxes
+; the data comes mainly from 'EnemyMon:'
+ ld a, BANK(sBoxCount)
+ call GetSRAMBank
+ ld de, sBoxCount
+ ld a, [de]
+ cp MONS_PER_BOX
+ jp nc, .full
+ inc a
+ ld [de], a
+
+ ld a, [CurPartySpecies]
+ ld [CurSpecies], a
+ ld c, a
+.loop
+ inc de
+ ld a, [de]
+ ld b, a
+ ld a, c
+ ld c, b
+ ld [de], a
+ inc a
+ jr nz, .loop
+
+ call GetBaseData
+ call ShiftBoxMon
+
+ ld hl, PlayerName
+ ld de, sBoxMonOT
+ ld bc, NAME_LENGTH
+ call CopyBytes
+
+ ld a, [CurPartySpecies]
+ ld [wd265], a
+ call GetPokemonName
+
+ ld de, sBoxMonNicknames
+ ld hl, StringBuffer1
+ ld bc, PKMN_NAME_LENGTH
+ call CopyBytes
+
+ ld hl, EnemyMon
+ ld de, sBoxMon1
+ ld bc, 1 + 1 + NUM_MOVES ; species + item + moves
+ call CopyBytes
+
+ ld hl, PlayerID
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ inc de
+ push de
+ ld a, [CurPartyLevel]
+ ld d, a
+ callab CalcExpAtLevel
+ pop de
+ ld a, [hProduct + 1]
+ ld [de], a
+ inc de
+ ld a, [hProduct + 2]
+ ld [de], a
+ inc de
+ ld a, [hProduct + 3]
+ ld [de], a
+ inc de
+
+ ; Set all 5 Experience Values to 0
+ xor a
+ ld b, 2 * 5
+.loop2
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .loop2
+
+ ld hl, EnemyMonDVs
+ ld b, 2 + NUM_MOVES ; DVs and PP ; EnemyMonHappiness - EnemyMonDVs
+.loop3
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .loop3
+
+ ld a, BASE_HAPPINESS
+ ld [de], a
+ inc de
+ xor a
+ ld [de], a
+ inc de
+ ld [de], a
+ inc de
+ ld [de], a
+ inc de
+ ld a, [CurPartyLevel]
+ ld [de], a
+ ld a, [CurPartySpecies]
+ dec a
+ call SetSeenAndCaughtMon
+ ld a, [CurPartySpecies]
+ cp UNOWN
+ jr nz, .not_unown
+ ld hl, sBoxMon1DVs
+ predef GetUnownLetter
+ callab UpdateUnownDex
+
+.not_unown
+ ld hl, sBoxMon1Moves
+ ld de, TempMonMoves
+ ld bc, NUM_MOVES
+ call CopyBytes
+
+ ld hl, sBoxMon1PP
+ ld de, TempMonPP
+ ld bc, NUM_MOVES
+ call CopyBytes
+
+ ld b, 0
+ call Functiondcb6
+
+ call CloseSRAM
+ scf
+ ret
+; df42
+
+.full: ; df42
+ call CloseSRAM
+ and a
+ ret
+; df47
+
+ShiftBoxMon: ; df47
+ ld hl, sBoxMonOT
+ ld bc, NAME_LENGTH
+ call .shift
+
+ ld hl, sBoxMonNicknames
+ ld bc, PKMN_NAME_LENGTH
+ call .shift
+
+ ld hl, sBoxMons
+ ld bc, BOXMON_STRUCT_LENGTH
+
+.shift
+ ld a, [sBoxCount]
+ cp 2
+ ret c
+
+ push hl
+ call AddNTimes
+ dec hl
+ ld e, l
+ ld d, h
+ pop hl
+
+ ld a, [sBoxCount]
+ dec a
+ call AddNTimes
+ dec hl
+
+ push hl
+ ld a, [sBoxCount]
+ dec a
+ ld hl, 0
+ call AddNTimes
+ ld c, l
+ ld b, h
+ pop hl
+.loop
+ ld a, [hld]
+ ld [de], a
+ dec de
+ dec bc
+ ld a, c
+ or b
+ jr nz, .loop
+ ret
+; df8c
+
+GiveEgg:: ; df8c
+ ld a, [CurPartySpecies]
+ push af
+ callab GetPreEvolution
+ callab GetPreEvolution
+ ld a, [CurPartySpecies]
+ dec a
+
+; TryAddMonToParty sets Seen and Caught flags
+; when it is successful. This routine will make
+; sure that we aren't newly setting flags.
+ push af
+ call CheckCaughtMon
+ pop af
+ push bc
+ call CheckSeenMon
+ push bc
+
+ call TryAddMonToParty
+
+; If we haven't caught this Pokemon before receiving
+; the Egg, reset the flag that was just set by
+; TryAddMonToParty.
+ pop bc
+ ld a, c
+ and a
+ jr nz, .skip_caught_flag
+ ld a, [CurPartySpecies]
+ dec a
+ ld c, a
+ ld d, $0
+ ld hl, PokedexCaught
+ ld b, RESET_FLAG
+ predef FlagPredef
+
+.skip_caught_flag
+; If we haven't seen this Pokemon before receiving
+; the Egg, reset the flag that was just set by
+; TryAddMonToParty.
+ pop bc
+ ld a, c
+ and a
+ jr nz, .skip_seen_flag
+ ld a, [CurPartySpecies]
+ dec a
+ ld c, a
+ ld d, $0
+ ld hl, PokedexSeen
+ ld b, RESET_FLAG
+ predef FlagPredef
+
+.skip_seen_flag
+ pop af
+ ld [CurPartySpecies], a
+ ld a, [PartyCount]
+ dec a
+ ld bc, PARTYMON_STRUCT_LENGTH
+ ld hl, PartyMon1Species
+ call AddNTimes
+ ld a, [CurPartySpecies]
+ ld [hl], a
+ ld hl, PartyCount
+ ld a, [hl]
+ ld b, 0
+ ld c, a
+ add hl, bc
+ ld a, EGG
+ ld [hl], a
+ ld a, [PartyCount]
+ dec a
+ ld hl, PartyMonNicknames
+ call SkipNames
+ ld de, String_Egg
+ call CopyName2
+ ld a, [PartyCount]
+ dec a
+ ld hl, PartyMon1Happiness
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld a, [wMonStatusFlags]
+ bit 1, a
+ ld a, 1
+ jr nz, .got_init_happiness
+ ld a, [BaseEggSteps]
+
+.got_init_happiness
+ ld [hl], a
+ ld a, [PartyCount]
+ dec a
+ ld hl, PartyMon1HP
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ xor a
+ ld [hli], a
+ ld [hl], a
+ and a
+ ret
+; e035
+
+String_Egg: ; e035
+ db "EGG@"
+; e039
+
+RemoveMonFromPartyOrBox: ; e039
+ ld hl, PartyCount
+
+ ld a, [wPokemonWithdrawDepositParameter]
+ and a
+ jr z, .okay
+
+ ld a, BANK(sBoxCount)
+ call GetSRAMBank
+ ld hl, sBoxCount
+
+.okay
+ ld a, [hl]
+ dec a
+ ld [hli], a
+ ld a, [CurPartyMon]
+ ld c, a
+ ld b, 0
+ add hl, bc
+ ld e, l
+ ld d, h
+ inc de
+.loop
+ ld a, [de]
+ inc de
+ ld [hli], a
+ inc a
+ jr nz, .loop
+ ld hl, PartyMonOT
+ ld d, PARTY_LENGTH - 1
+ ld a, [wPokemonWithdrawDepositParameter]
+ and a
+ jr z, .party
+ ld hl, sBoxMonOT
+ ld d, MONS_PER_BOX - 1
+
+.party
+ ; If this is the last mon in our party (box),
+ ; shift all the other mons up to close the gap.
+ ld a, [CurPartyMon]
+ call SkipNames
+ ld a, [CurPartyMon]
+ cp d
+ jr nz, .delete_inside
+ ld [hl], -1
+ jp .finish
+
+.delete_inside
+ ; Shift the OT names
+ ld d, h
+ ld e, l
+ ld bc, PKMN_NAME_LENGTH
+ add hl, bc
+ ld bc, PartyMonNicknames
+ ld a, [wPokemonWithdrawDepositParameter]
+ and a
+ jr z, .party2
+ ld bc, sBoxMonNicknames
+.party2
+ call CopyDataUntil
+ ; Shift the struct
+ ld hl, PartyMons
+ ld bc, PARTYMON_STRUCT_LENGTH
+ ld a, [wPokemonWithdrawDepositParameter]
+ and a
+ jr z, .party4
+ ld hl, sBoxMons
+ ld bc, BOXMON_STRUCT_LENGTH
+.party4
+ ld a, [CurPartyMon]
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld a, [wPokemonWithdrawDepositParameter]
+ and a
+ jr z, .party5
+ ld bc, BOXMON_STRUCT_LENGTH
+ add hl, bc
+ ld bc, sBoxMonOT
+ jr .copy
+
+.party5
+ ld bc, PARTYMON_STRUCT_LENGTH
+ add hl, bc
+ ld bc, PartyMonOT
+.copy
+ call CopyDataUntil
+ ; Shift the nicknames
+ ld hl, PartyMonNicknames
+ ld a, [wPokemonWithdrawDepositParameter]
+ and a
+ jr z, .party6
+ ld hl, sBoxMonNicknames
+.party6
+ ld bc, PKMN_NAME_LENGTH
+ ld a, [CurPartyMon]
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld bc, PKMN_NAME_LENGTH
+ add hl, bc
+ ld bc, PartyMonNicknamesEnd
+ ld a, [wPokemonWithdrawDepositParameter]
+ and a
+ jr z, .party7
+ ld bc, sBoxMonNicknamesEnd
+.party7
+ call CopyDataUntil
+ ; Mail time!
+.finish
+ ld a, [wPokemonWithdrawDepositParameter]
+ and a
+ jp nz, CloseSRAM
+ ld a, [wLinkMode]
+ and a
+ ret nz
+ ; Shift mail
+ ld a, BANK(sPartyMail)
+ call GetSRAMBank
+ ; If this is the last mon in our party, no need to shift mail.
+ ld hl, PartyCount
+ ld a, [CurPartyMon]
+ cp [hl]
+ jr z, .close_sram
+ ; Shift our mail messages up.
+ ld hl, sPartyMail
+ ld bc, MAIL_STRUCT_LENGTH
+ call AddNTimes
+ push hl
+ add hl, bc
+ pop de
+ ld a, [CurPartyMon]
+ ld b, a
+.loop2
+ push bc
+ push hl
+ ld bc, MAIL_STRUCT_LENGTH
+ call CopyBytes
+ pop hl
+ push hl
+ ld bc, MAIL_STRUCT_LENGTH
+ add hl, bc
+ pop de
+ pop bc
+ inc b
+ ld a, [PartyCount]
+ cp b
+ jr nz, .loop2
+.close_sram
+ jp CloseSRAM
+; e134
+
+
+ComputeNPCTrademonStats: ; e134
+ ld a, MON_LEVEL
+ call GetPartyParamLocation
+ ld a, [hl]
+ ld [MON_LEVEL], a ; wow
+ ld a, MON_SPECIES
+ call GetPartyParamLocation
+ ld a, [hl]
+ ld [CurSpecies], a
+ call GetBaseData
+ ld a, MON_MAXHP
+ call GetPartyParamLocation
+ ld d, h
+ ld e, l
+ push de
+ ld a, MON_STAT_EXP - 1
+ call GetPartyParamLocation
+ ld b, $1
+ call CalcPkmnStats
+ pop de
+ ld a, MON_HP
+ call GetPartyParamLocation
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ ld [hl], a
+ ret
+; e167
+
+CalcPkmnStats: ; e167
+; Calculates all 6 Stats of a Pkmn
+; b: Take into account stat EXP if TRUE
+; 'c' counts from 1-6 and points with 'BaseStats' to the base value
+; hl is the path to the Stat EXP
+; results in $ffb5 and $ffb6 are saved in [de]
+
+ ld c, $0
+.loop
+ inc c
+ call CalcPkmnStatC
+ ld a, [hMultiplicand + 1]
+ ld [de], a
+ inc de
+ ld a, [hMultiplicand + 2]
+ ld [de], a
+ inc de
+ ld a, c
+ cp STAT_SDEF
+ jr nz, .loop
+ ret
+; e17b
+
+CalcPkmnStatC: ; e17b
+; 'c' is 1-6 and points to the BaseStat
+; 1: HP
+; 2: Attack
+; 3: Defense
+; 4: Speed
+; 5: SpAtk
+; 6: SpDef
+ push hl
+ push de
+ push bc
+ ld a, b
+ ld d, a
+ push hl
+ ld hl, BaseStats
+ dec hl ; has to be decreased, because 'c' begins with 1
+ ld b, $0
+ add hl, bc
+ ld a, [hl]
+ ld e, a
+ pop hl
+ push hl
+ ld a, c
+ cp STAT_SDEF
+ jr nz, .not_spdef
+ dec hl
+ dec hl
+
+.not_spdef
+ sla c
+ ld a, d
+ and a
+ jr z, .SkipSqrt
+ add hl, bc
+ push de
+ ld a, [hld]
+ ld e, a
+ ld d, [hl]
+ callba GetSquareRoot
+ pop de
+
+.SkipSqrt
+ srl c
+ pop hl
+ push bc
+ ld bc, MON_DVS - MON_HP_EXP + 1
+ add hl, bc
+ pop bc
+ ld a, c
+ cp STAT_ATK
+ jr z, .Attack
+ cp STAT_DEF
+ jr z, .Defense
+ cp STAT_SPD
+ jr z, .Speed
+ cp STAT_SATK
+ jr z, .Special
+ cp STAT_SDEF
+ jr z, .Special
+; DV_HP = (DV_ATK & 1) << 3 + (DV_DEF & 1) << 2 + (DV_SPD & 1) << 1 + (DV_SPC & 1)
+ push bc
+ ld a, [hl]
+ swap a
+ and $1
+rept 3
+ add a
+endr
+ ld b, a
+ ld a, [hli]
+ and $1
+ add a
+ add a
+ add b
+ ld b, a
+ ld a, [hl]
+ swap a
+ and $1
+ add a
+ add b
+ ld b, a
+ ld a, [hl]
+ and $1
+ add b
+ pop bc
+ jr .GotDV
+
+.Attack
+ ld a, [hl]
+ swap a
+ and $f
+ jr .GotDV
+
+.Defense
+ ld a, [hl]
+ and $f
+ jr .GotDV
+
+.Speed
+ inc hl
+ ld a, [hl]
+ swap a
+ and $f
+ jr .GotDV
+
+.Special
+ inc hl
+ ld a, [hl]
+ and $f
+
+.GotDV
+ ld d, 0
+ add e
+ ld e, a
+ jr nc, .no_overflow_1
+ inc d
+
+.no_overflow_1
+ sla e
+ rl d
+ srl b
+ srl b
+ ld a, b
+ add e
+ jr nc, .no_overflow_2
+ inc d
+
+.no_overflow_2
+ ld [hMultiplicand + 2], a
+ ld a, d
+ ld [hMultiplicand + 1], a
+ xor a
+ ld [hMultiplicand + 0], a
+ ld a, [CurPartyLevel]
+ ld [hMultiplier], a
+ call Multiply
+ ld a, [hProduct + 1]
+ ld [hDividend + 0], a
+ ld a, [hProduct + 2]
+ ld [hDividend + 1], a
+ ld a, [hProduct + 3]
+ ld [hDividend + 2], a
+ ld a, 100
+ ld [hDivisor], a
+ ld a, 3
+ ld b, a
+ call Divide
+ ld a, c
+ cp STAT_HP
+ ld a, 5
+ jr nz, .not_hp
+ ld a, [CurPartyLevel]
+ ld b, a
+ ld a, [hQuotient + 2]
+ add b
+ ld [hMultiplicand + 2], a
+ jr nc, .no_overflow_3
+ ld a, [hQuotient + 1]
+ inc a
+ ld [hMultiplicand + 1], a
+
+.no_overflow_3
+ ld a, 10
+
+.not_hp
+ ld b, a
+ ld a, [hQuotient + 2]
+ add b
+ ld [hMultiplicand + 2], a
+ jr nc, .no_overflow_4
+ ld a, [hQuotient + 1]
+ inc a
+ ld [hMultiplicand + 1], a
+
+.no_overflow_4
+ ld a, [hQuotient + 1]
+ cp (1000 / $100) + 1
+ jr nc, .max_stat
+ cp 1000 / $100
+ jr c, .stat_value_okay
+ ld a, [hQuotient + 2]
+ cp 1000 % $100
+ jr c, .stat_value_okay
+
+.max_stat
+ ld a, 999 / $100
+ ld [hMultiplicand + 1], a
+ ld a, 999 % $100
+ ld [hMultiplicand + 2], a
+
+.stat_value_okay
+ pop bc
+ pop de
+ pop hl
+ ret
+; e277
+
+GivePoke:: ; e277
+ push de
+ push bc
+ xor a ; PARTYMON
+ ld [MonType], a
+ call TryAddMonToParty
+ jr nc, .failed
+ ld hl, PartyMonNicknames
+ ld a, [PartyCount]
+ dec a
+ ld [CurPartyMon], a
+ call SkipNames
+ ld d, h
+ ld e, l
+ pop bc
+ ld a, b
+ ld b, 0
+ push bc
+ push de
+ push af
+ ld a, [CurItem]
+ and a
+ jr z, .done
+ ld a, [CurPartyMon]
+ ld hl, PartyMon1Item
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld a, [CurItem]
+ ld [hl], a
+ jr .done
+
+.failed
+ ld a, [CurPartySpecies]
+ ld [TempEnemyMonSpecies], a
+ callab LoadEnemyMon
+ call SentPkmnIntoBox
+ jp nc, .FailedToGiveMon
+ ld a, BOXMON
+ ld [MonType], a
+ xor a
+ ld [CurPartyMon], a
+ ld de, wMonOrItemNameBuffer
+ pop bc
+ ld a, b
+ ld b, 1
+ push bc
+ push de
+ push af
+ ld a, [CurItem]
+ and a
+ jr z, .done
+ ld a, [CurItem]
+ ld [sBoxMon1Item], a
+
+.done
+ ld a, [CurPartySpecies]
+ ld [wd265], a
+ ld [TempEnemyMonSpecies], a
+ call GetPokemonName
+ ld hl, StringBuffer1
+ ld de, wMonOrItemNameBuffer
+ ld bc, PKMN_NAME_LENGTH
+ call CopyBytes
+ pop af
+ and a
+ jp z, .wildmon
+ pop de
+ pop bc
+ pop hl
+ push bc
+ push hl
+ ld a, [ScriptBank]
+ call GetFarHalfword
+ ld bc, PKMN_NAME_LENGTH
+ ld a, [ScriptBank]
+ call FarCopyBytes
+ pop hl
+ inc hl
+ inc hl
+ ld a, [ScriptBank]
+ call GetFarHalfword
+ pop bc
+ ld a, b
+ and a
+ push de
+ push bc
+ jr nz, .send_to_box
+
+ push hl
+ ld a, [CurPartyMon]
+ ld hl, PartyMonOT
+ call SkipNames
+ ld d, h
+ ld e, l
+ pop hl
+.otnameloop
+ ld a, [ScriptBank]
+ call GetFarByte
+ ld [de], a
+ inc hl
+ inc de
+ cp "@"
+ jr nz, .otnameloop
+ ld a, [ScriptBank]
+ call GetFarByte
+ ld b, a
+ push bc
+ ld a, [CurPartyMon]
+ ld hl, PartyMon1ID
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld a, 01001 / $100
+ ld [hli], a
+ ld [hl], 01001 % $100
+ pop bc
+ callba SetGiftPartyMonCaughtData
+ jr .skip_nickname
+
+.send_to_box
+ ld a, BANK(sBoxMonOT)
+ call GetSRAMBank
+ ld de, sBoxMonOT
+.loop
+ ld a, [ScriptBank]
+ call GetFarByte
+ ld [de], a
+ inc hl
+ inc de
+ cp "@"
+ jr nz, .loop
+ ld a, [ScriptBank]
+ call GetFarByte
+ ld b, a
+ ld hl, sBoxMon1ID
+ call Random
+ ld [hli], a
+ call Random
+ ld [hl], a
+ call CloseSRAM
+ callba SetGiftBoxMonCaughtData
+ jr .skip_nickname
+
+.wildmon
+ pop de
+ pop bc
+ push bc
+ push de
+ ld a, b
+ and a
+ jr z, .party
+ callba SetBoxMonCaughtData
+ jr .set_caught_data
+
+.party
+ callba SetCaughtData
+.set_caught_data
+ callba GiveANickname_YesNo
+ pop de
+ jr c, .skip_nickname
+ call InitNickname
+
+.skip_nickname
+ pop bc
+ pop de
+ ld a, b
+ and a
+ ret z
+ ld hl, TextJump_WasSentToBillsPC
+ call PrintText
+ ld a, BANK(sBoxMonNicknames)
+ call GetSRAMBank
+ ld hl, wMonOrItemNameBuffer
+ ld de, sBoxMonNicknames
+ ld bc, PKMN_NAME_LENGTH
+ call CopyBytes
+ call CloseSRAM
+ ld b, $1
+ ret
+; e3d4
+
+.FailedToGiveMon: ; e3d4
+ pop bc
+ pop de
+ ld b, $2
+ ret
+; e3d9
+
+TextJump_WasSentToBillsPC: ; 0xe3d9
+ ; was sent to BILL's PC.
+ text_jump Text_WasSentToBillsPC
+ db "@"
+; 0xe3de
+
+InitNickname: ; e3de
+ push de
+ call LoadStandardMenuDataHeader
+ call DisableSpriteUpdates
+ pop de
+ push de
+ ld b, $0
+ callba NamingScreen
+ pop hl
+ ld de, StringBuffer1
+ call InitName
+ ld a, $4 ; XXX could this be in bank 4 in pokered?
+ ld hl, ExitAllMenus
+ rst FarCall
+ ret
+; e3fd
--- a/engine/movement.asm
+++ b/engine/movement.asm
@@ -3,10 +3,10 @@
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_turn_step_down ; 04
+ dw Movement_turn_step_up ; 05
+ dw Movement_turn_step_left ; 06
+ dw Movement_turn_step_right ; 07
dw Movement_slow_step_down ; 08
dw Movement_slow_step_up ; 09
dw Movement_slow_step_left ; 0a
@@ -88,7 +88,7 @@
dw Movement_56 ; 56
dw Movement_rock_smash ; 57
dw Movement_return_dig ; 58
- dw Movement_59 ; 59
+ dw Movement_skyfall_top ; 59
; 5129
@@ -113,10 +113,10 @@
ret
; 513e
-Movement_59: ; 513e
+Movement_skyfall_top: ; 513e
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_19
+ ld [hl], STEP_TYPE_SKYFALL_TOP
ret
; 5145
@@ -130,7 +130,7 @@
ld hl, OBJECT_ACTION
add hl, bc
ld [hl], PERSON_ACTION_SPIN
- call GetMovementByte
+ call JumpMovementPointer
ld hl, OBJECT_STEP_DURATION
add hl, bc
ld [hl], a
@@ -150,7 +150,7 @@
ld hl, OBJECT_STEP_FRAME
add hl, bc
ld [hl], a
- call GetMovementByte
+ call JumpMovementPointer
ld hl, OBJECT_STEP_DURATION
add hl, bc
ld [hl], a
@@ -174,7 +174,7 @@
; 5196
Movement_rock_smash: ; 5196
- call GetMovementByte
+ call JumpMovementPointer
ld hl, OBJECT_STEP_DURATION
add hl, bc
ld [hl], a
@@ -193,7 +193,7 @@
ld [hl], PERSON_ACTION_FISHING
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 51b8
@@ -219,7 +219,7 @@
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], STEP_TYPE_STANDING
+ ld [hl], STEP_TYPE_SLEEP
ret
; 51db
@@ -233,7 +233,7 @@
add hl, bc
ld [hl], $0
- call GetMovementByte
+ call JumpMovementPointer
ld hl, OBJECT_STEP_DURATION
add hl, bc
ld [hl], a
@@ -248,7 +248,7 @@
; 51fd
Movement_remove_person: ; 51fd
- call Function4357
+ call DeleteMapObject
ld hl, wObjectFollow_Leader
ld a, [hMapObjectIndexBuffer]
cp [hl]
@@ -311,7 +311,7 @@
; parameters:
; duration (DecimalParam)
- call GetMovementByte
+ call JumpMovementPointer
jr Movement_step_sleep_common
Movement_step_sleep_common: ; 5247
@@ -429,7 +429,7 @@
; parameters:
; displacement (DecimalParam)
- call GetMovementByte
+ call JumpMovementPointer
call ShakeScreen
jp ContinueReadingMovement
; 52de
@@ -709,24 +709,24 @@
; 53f0
-Movement_half_step_down: ; 53f0
+Movement_turn_step_down: ; 53f0
ld a, OW_DOWN
- jr HalfStep
+ jr TurnStep
-Movement_half_step_up: ; 53f4
+Movement_turn_step_up: ; 53f4
ld a, OW_UP
- jr HalfStep
+ jr TurnStep
-Movement_half_step_left: ; 53f8
+Movement_turn_step_left: ; 53f8
ld a, OW_LEFT
- jr HalfStep
+ jr TurnStep
-Movement_half_step_right: ; 53fc
+Movement_turn_step_right: ; 53fc
ld a, OW_RIGHT
- jr HalfStep
+ jr TurnStep
-HalfStep: ; 5400
- ld hl, OBJECT_29
+TurnStep: ; 5400
+ ld hl, OBJECT_29 ; new facing
add hl, bc
ld [hl], a
@@ -741,8 +741,8 @@
; 5412
NormalStep: ; 5412
- call Function4690
- call Function463f
+ call InitStep
+ call UpdateTallGrassFlags
ld hl, OBJECT_ACTION
add hl, bc
ld [hl], PERSON_ACTION_STEP
@@ -778,8 +778,8 @@
; 5446
TurningStep: ; 5446
- call Function4690
- call Function463f
+ call InitStep
+ call UpdateTallGrassFlags
ld hl, OBJECT_ACTION
add hl, bc
@@ -804,8 +804,8 @@
SlideStep: ; 5468
- call Function4690
- call Function463f
+ call InitStep
+ call UpdateTallGrassFlags
ld hl, OBJECT_ACTION
add hl, bc
@@ -830,7 +830,7 @@
JumpStep: ; 548a
- call Function4690
+ call InitStep
ld hl, OBJECT_31
add hl, bc
ld [hl], $0
--- a/engine/mysterygift.asm
+++ b/engine/mysterygift.asm
@@ -15,7 +15,9 @@
ld [wca02], a
ld a, [rIE]
push af
+
call Function104a95
+
ld d, a
xor a
ld [rIF], a
@@ -37,7 +39,7 @@
cp $6c
jp nz, .CommunicationError
ld a, [wc900]
- cp $3
+ cp 3
jr z, .skip_checks
call .CheckAlreadyGotFiveGiftsToday
ld hl, .Text_MaxFiveGifts ; Only 5 gifts a day
@@ -46,18 +48,18 @@
ld hl, .Text_MaxOneGiftPerPerson ; Only one gift a day per person
jp c, .PrintTextAndExit
.skip_checks
- ld a, [wc962]
+ ld a, [wMysteryGiftPlayerBackupItem]
and a
jp nz, .GiftWaiting
- ld a, [wc912]
+ ld a, [wMysteryGiftPartnerBackupItem]
and a
jp nz, .FriendNotReady
ld a, [wc900]
- cp $3
+ cp 3
jr z, .skip_append_save
call .AddMysteryGiftPartnerID
ld a, [wc900]
- cp $4
+ cp 4
jr z, .skip_append_save
call .SaveMysteryGiftTrainerName
callba RestoreMobileEventIndex
@@ -64,14 +66,14 @@
callba MobileFn_1060a9
callba BackupMobileEventIndex
.skip_append_save
- ld a, [wc90f]
+ ld a, [wMysteryGiftPartnerSentDeco]
and a
jr z, .item
- ld a, [wc911]
+ ld a, [wMysteryGiftPartnerWhichDeco]
ld c, a
callba MysteryGiftGetDecoration
push bc
- call Function105069
+ call MysteryGift_CheckAndSetDecorationAlreadyReceived
pop bc
jr nz, .item
callab GetDecorationName_c
@@ -85,7 +87,7 @@
.item
call GetMysteryGiftBank
- ld a, [wc910]
+ ld a, [wMysteryGiftPartnerWhichItem]
ld c, a
callba MysteryGiftGetItemHeldEffect
ld a, c
@@ -209,9 +211,8 @@
ld hl, sDailyMysteryGiftPartnerIDs ; inc hl
ld e, a
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [wMysteryGiftPartnerID]
ld [hli], a
ld a, [wMysteryGiftPartnerID + 1]
@@ -249,7 +250,7 @@
ld a, [hPrintNum9]
cp $2
jr z, Function104b22
- ld hl, $ffb3
+ ld hl, hPrintNum1
ld b, $1
call Function104d56
jr nz, .ly_loop
@@ -323,7 +324,7 @@
jp Function104bd0
Function104b40: ; 104b40 (41:4b40)
- ld hl, $ffb3
+ ld hl, hPrintNum1
ld b, $1
call Function104d56
ret nz
@@ -333,14 +334,14 @@
ld a, [hPrintNum10]
cp $6c
ret nz
- ld a, [$ffb3]
+ ld a, [hPrintNum1]
cp $96
jp nz, Function104d32
ld a, $90
- ld [$ffb3], a
+ ld [hPrintNum1], a
call Function104d38
ret nz
- ld hl, $ffb3
+ ld hl, hPrintNum1
ld b, $1
call Function104d4e
ret nz
@@ -362,8 +363,8 @@
Function104b88: ; 104b88 (41:4b88)
ld a, $96
- ld [$ffb3], a
- ld hl, $ffb3
+ ld [hPrintNum1], a
+ ld hl, hPrintNum1
ld b, $1
call Function104d4e
ret nz
@@ -373,7 +374,7 @@
ret nz
call Function104d43
ret nz
- ld hl, $ffb3
+ ld hl, hPrintNum1
ld b, $1
call Function104d56
ret nz
@@ -381,7 +382,7 @@
ld a, [hPrintNum10]
cp $6c
ret nz
- ld a, [$ffb3]
+ ld a, [hPrintNum1]
cp $90
jp nz, Function104d32
call Function104d38
@@ -407,13 +408,13 @@
dec [hl]
jr z, .asm_104c18
ld hl, wMysteryGiftTrainerData
- ld de, wc900
- ld bc, $14
+ ld de, wMysteryGiftPartnerData
+ ld bc, wMysteryGiftPartnerDataEnd - wMysteryGiftPartnerData
call CopyBytes
ld a, [wMysteryGiftTrainerData]
cp $3
jr nc, .asm_104c18
- callba Function10510b
+ callba StagePartyDataForMysteryGift
call Function1050fb
ld a, $26
ld [wca02], a
@@ -479,7 +480,7 @@
jp Function104d1c
Function104c8a: ; 104c8a (41:4c8a)
- ld hl, $ffb3
+ ld hl, hPrintNum1
ld b, $1
call Function104d56
ret nz
@@ -487,14 +488,14 @@
ld a, [hPrintNum10]
cp $6c
ret nz
- ld a, [$ffb3]
+ ld a, [hPrintNum1]
cp $3c
jp nz, Function104d32
swap a
- ld [$ffb3], a
+ ld [hPrintNum1], a
call Function104d38
ret nz
- ld hl, $ffb3
+ ld hl, hPrintNum1
ld b, $1
call Function104d4e
ret nz
@@ -516,8 +517,8 @@
Function104cd2: ; 104cd2 (41:4cd2)
ld a, $3c
- ld [$ffb3], a
- ld hl, $ffb3
+ ld [hPrintNum1], a
+ ld hl, hPrintNum1
ld b, $1
call Function104d4e
ret nz
@@ -527,7 +528,7 @@
ret nz
call Function104d43
ret nz
- ld hl, $ffb3
+ ld hl, hPrintNum1
ld b, $1
call Function104d56
ret nz
@@ -535,7 +536,7 @@
ld a, [hPrintNum10]
cp $6c
ret nz
- ld a, [$ffb3]
+ ld a, [hPrintNum1]
swap a
cp $3c
jp nz, Function104d32
@@ -678,24 +679,24 @@
Function104dc5: ; 104dc5 (41:4dc5)
ld a, $c1
ld [$ff00+c], a
-.asm_104dc8
+.wait
dec d
ret z
xor a
ld [rIF], a
halt
- jr .asm_104dc8
+ jr .wait
Function104dd1: ; 104dd1 (41:4dd1)
ld a, $c0
ld [$ff00+c], a
-.asm_104dd4
+.wait
dec d
ret z
xor a
ld [rIF], a
halt
- jr .asm_104dd4
+ jr .wait
Function104ddd: ; 104ddd (41:4ddd)
ld d, $0
@@ -702,22 +703,23 @@
ld e, d
ld a, $1
ld [hPrintNum9], a
-.asm_104de4
+.loop
call Function105038
ld b, $2
ld c, rRP % $100
ld a, [hMoneyTemp + 1]
bit 1, a
- jr z, .asm_104df6
+ jr z, .next
ld a, $10
ld [hPrintNum10], a
ret
-.asm_104df6
+
+.next
bit 0, a
jr nz, asm_104e3a
ld a, [$ff00+c]
and b
- jr nz, .asm_104de4
+ jr nz, .loop
Function104dfe: ; 104dfe (41:4dfe)
ld c, rRP % $100
@@ -760,7 +762,7 @@
Function104e46: ; 104e46 (41:4e46)
ld a, $2
ld [hPrintNum9], a
- ld c, $56
+ ld c, rRP % $100
ld d, $0
ld e, d
ld d, $3d
@@ -797,14 +799,14 @@
Function104e93: ; 104e93 (41:4e93)
xor a
- ld [hDivisor], a
- ld [hMathBuffer], a
+ ld [hPrintNum5], a
+ ld [hPrintNum6], a
push hl
push bc
- ld c, $56
+ ld c, rRP % $100
ld d, $3d
call Function104dd1
- ld hl, hQuotient ; $ffb4 (aliases: hMultiplicand)
+ ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand)
ld a, $5a
ld [hli], a
ld [hl], b
@@ -814,26 +816,26 @@
pop bc
pop hl
call Function104ed6
- ld a, [hDivisor]
- ld [hQuotient], a
- ld a, [hMathBuffer]
- ld [$ffb5], a
+ ld a, [hPrintNum5]
+ ld [hPrintNum2], a
+ ld a, [hPrintNum6]
+ ld [hPrintNum3], a
push hl
- ld hl, hQuotient ; $ffb4 (aliases: hMultiplicand)
+ ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand)
ld b, $2
call Function104ed6
ld hl, hPrintNum10
ld b, $1
call Function104faf
- ld a, [hQuotient]
- ld [hDivisor], a
- ld a, [$ffb5]
- ld [hMathBuffer], a
+ ld a, [hPrintNum2]
+ ld [hPrintNum5], a
+ ld a, [hPrintNum3]
+ ld [hPrintNum6], a
pop hl
ret
Function104ed6: ; 104ed6 (41:4ed6)
- ld c, $56
+ ld c, rRP % $100
ld d, $5
call Function104dd1
ld d, $5
@@ -849,15 +851,15 @@
inc b
jr z, .asm_104f2e
ld a, $8
- ld [$ffb6], a
+ ld [hPrintNum4], a
ld a, [hli]
ld e, a
- ld a, [hDivisor]
+ ld a, [hPrintNum5]
add e
- ld [hDivisor], a
- ld a, [hMathBuffer]
+ ld [hPrintNum5], a
+ ld a, [hPrintNum6]
adc $0
- ld [hMathBuffer], a
+ ld [hPrintNum6], a
.asm_104f02
xor a
ld [rIF], a
@@ -882,10 +884,10 @@
ld [rIF], a
halt
.asm_104f25
- ld a, [$ffb6]
+ ld a, [hPrintNum4]
dec a
jr z, .asm_104eee
- ld [$ffb6], a
+ ld [hPrintNum4], a
jr .asm_104f02
.asm_104f2e
ld a, $fe
@@ -919,35 +921,35 @@
Function104f57: ; 104f57 (41:4f57)
xor a
- ld [hDivisor], a
- ld [hMathBuffer], a
+ ld [hPrintNum5], a
+ ld [hPrintNum6], a
push bc
push hl
- ld hl, hQuotient ; $ffb4 (aliases: hMultiplicand)
+ ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand)
ld b, $2
call Function104faf
- ld a, [$ffb5]
- ld [$ffba], a
+ ld a, [hPrintNum3]
+ ld [hPrintNum8], a
ld b, a
pop hl
pop af
cp b
jp c, Function104f50
- ld a, [hQuotient]
+ ld a, [hPrintNum2]
cp $5a
jp nz, Function104f50
call Function104faf
- ld a, [hDivisor]
+ ld a, [hPrintNum5]
ld d, a
- ld a, [hMathBuffer]
+ ld a, [hPrintNum6]
ld e, a
push hl
push de
- ld hl, hQuotient ; $ffb4 (aliases: hMultiplicand)
+ ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand)
ld b, $2
call Function104faf
pop de
- ld hl, hQuotient ; $ffb4 (aliases: hMultiplicand)
+ ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand)
ld a, [hli]
xor d
ld b, a
@@ -964,9 +966,9 @@
pop de
pop hl
ld a, d
- ld [hDivisor], a
+ ld [hPrintNum5], a
ld a, e
- ld [hMathBuffer], a
+ ld [hPrintNum6], a
ret
Function104faf: ; 104faf (41:4faf)
@@ -990,7 +992,7 @@
inc b
jr z, .asm_10501a
ld a, $8
- ld [$ffb6], a
+ ld [hPrintNum4], a
.asm_104fd9
ld d, $0
.asm_104fdb
@@ -1019,9 +1021,9 @@
.asm_104ffd
res 0, e
.asm_104fff
- ld a, [$ffb6]
+ ld a, [hPrintNum4]
dec a
- ld [$ffb6], a
+ ld [hPrintNum4], a
jr z, .asm_10500b
ld a, e
rlca
@@ -1030,12 +1032,12 @@
.asm_10500b
ld a, e
ld [hli], a
- ld a, [hDivisor]
+ ld a, [hPrintNum5]
add e
- ld [hDivisor], a
- ld a, [hMathBuffer]
+ ld [hPrintNum5], a
+ ld a, [hPrintNum6]
adc $0
- ld [hMathBuffer], a
+ ld [hPrintNum6], a
jr .asm_104fd2
.asm_10501a
call Function104d74
@@ -1059,9 +1061,8 @@
Function105038: ; 105038 (41:5038)
ld a, $20
ld [rJOYP], a
-rept 2
ld a, [rJOYP]
-endr
+ ld a, [rJOYP]
cpl
and $f
swap a
@@ -1085,7 +1086,7 @@
ld [rJOYP], a
ret
-Function105069: ; 105069 (41:5069)
+MysteryGift_CheckAndSetDecorationAlreadyReceived: ; 105069 (41:5069)
call GetMysteryGiftBank
ld d, $0
ld b, CHECK_FLAG
@@ -1107,7 +1108,7 @@
xor a
ret
-Function105091: ; 105091 (41:5091)
+MysteryGift_CopyReceivedDecosToPC: ; 105091 (41:5091)
call GetMysteryGiftBank
ld c, $0
.loop
@@ -1181,11 +1182,11 @@
Function1050fb: ; 1050fb (41:50fb)
ld hl, wMysteryGiftTrainerData
xor a
- ld b, $26
-.asm_105101
+ ld b, wMysteryGiftTrainerDataEnd - wMysteryGiftTrainerData
+.loop
ld [hli], a
dec b
- jr nz, .asm_105101
+ jr nz, .loop
ret
@@ -1195,29 +1196,35 @@
; 10510b
-Function10510b: ; 10510b (41:510b)
+StagePartyDataForMysteryGift: ; 10510b (41:510b)
+; You will be sending this data to your mystery gift partner.
+; Structure is the same as a trainer with species and moves
+; defined.
ld a, BANK(sPokemonData)
call GetSRAMBank
- ld de, OverworldMap
+ ld de, wMysteryGiftStaging
ld bc, sPokemonData + PartyMons - wPokemonData
ld hl, sPokemonData + PartySpecies - wPokemonData
-.asm_105119
+.loop
ld a, [hli]
- cp $ff
- jr z, .asm_105148
+ cp -1
+ jr z, .party_end
cp EGG
- jr z, .asm_10513e
+ jr z, .next
push hl
+ ; copy level
ld hl, MON_LEVEL
add hl, bc
ld a, [hl]
ld [de], a
inc de
+ ; copy species
ld hl, MON_SPECIES
add hl, bc
ld a, [hl]
ld [de], a
inc de
+ ; copy moves
ld hl, MON_MOVES
add hl, bc
push bc
@@ -1225,7 +1232,7 @@
call CopyBytes
pop bc
pop hl
-.asm_10513e
+.next
push hl
ld hl, PARTYMON_STRUCT_LENGTH
add hl, bc
@@ -1232,9 +1239,9 @@
ld b, h
ld c, l
pop hl
- jr .asm_105119
-.asm_105148
- ld a, $ff
+ jr .loop
+.party_end
+ ld a, -1
ld [de], a
ld a, $26
ld [wca00], a
@@ -1246,7 +1253,7 @@
ld hl, MysteryGiftGFX
ld de, VTiles2 tile $00
ld a, BANK(MysteryGiftGFX)
- ld bc, Function105688 - MysteryGiftGFX
+ ld bc, MysteryGiftGFXEnd - MysteryGiftGFX
call FarCopyBytes
hlcoord 0, 0
ld a, $42
@@ -1267,13 +1274,13 @@
ld [hl], a
hlcoord 7, 1
ld a, $12
- call Function10522e
+ call .Load5GFX
hlcoord 2, 2
ld a, $17
- call Function105236
+ call .Load16GFX
hlcoord 2, 3
ld a, $27
- call Function105236
+ call .Load16GFX
hlcoord 9, 4
ld a, $37
ld [hli], a
@@ -1283,19 +1290,19 @@
ld [hl], $4
hlcoord 1, 3
ld a, $5
- call Function105246
+ call .Load14Column
ld a, $9
hlcoord 18, 5
- call Function105242
+ call .Load11Column
hlcoord 2, 5
ld a, $b
- call Function105251
+ call .Load16Row
hlcoord 2, 16
ld a, $7
- call Function105251
+ call .Load16Row
hlcoord 2, 5
ld a, $d
- call Function10522e
+ call .Load5GFX
hlcoord 7, 5
ld [hl], $c
hlcoord 18, 5
@@ -1306,16 +1313,16 @@
ld [hl], $6
hlcoord 2, 6
ld a, $3a
- call Function105251
+ call .Load16Row
hlcoord 2, 15
ld a, $40
- call Function105251
+ call .Load16Row
hlcoord 2, 6
ld a, $3c
- call Function10523e
+ call .Load9Column
hlcoord 17, 6
ld a, $3e
- call Function10523e
+ call .Load9Column
hlcoord 2, 6
ld [hl], $39
hlcoord 17, 6
@@ -1331,56 +1338,56 @@
call SetPalettes
ret
-Function10522e: ; 10522e (41:522e)
- ld b, $5
- jr asm_105238
+.Load5GFX: ; 10522e (41:522e)
+ ld b, 5
+ jr .gfx_loop
; 105232 (41:5232)
-Function105232: ; unreferenced
- ld b, 6
- jr asm_105238
+.Load6GFX: ; unreferenced
+ ld b, 6
+ jr .gfx_loop
-Function105236: ; 105236 (41:5236)
- ld b, $10
+.Load16GFX: ; 105236 (41:5236)
+ ld b, 16
-asm_105238: ; 105238 (41:5238)
+.gfx_loop: ; 105238 (41:5238)
ld [hli], a
inc a
dec b
- jr nz, asm_105238
+ jr nz, .gfx_loop
ret
-Function10523e: ; 10523e (41:523e)
- ld b, $9
- jr asm_105248
+.Load9Column: ; 10523e (41:523e)
+ ld b, 9
+ jr .col_loop
-Function105242: ; 105242 (41:5242)
- ld b, $b
- jr asm_105248
+.Load11Column: ; 105242 (41:5242)
+ ld b, 11
+ jr .col_loop
-Function105246: ; 105246 (41:5246)
- ld b, $e
+.Load14Column: ; 105246 (41:5246)
+ ld b, 14
-asm_105248: ; 105248 (41:5248)
+.col_loop: ; 105248 (41:5248)
ld [hl], a
- ld de, $14
+ ld de, SCREEN_WIDTH
add hl, de
dec b
- jr nz, asm_105248
+ jr nz, .col_loop
ret
-Function105251: ; 105251 (41:5251)
- ld b, $10
-.asm_105253
+.Load16Row: ; 105251 (41:5251)
+ ld b, 16
+.row_loop
ld [hli], a
dec b
- jr nz, .asm_105253
+ jr nz, .row_loop
ret
MysteryGiftGFX: ; 105258
INCBIN "gfx/misc/mystery_gift.2bpp"
+MysteryGiftGFXEnd:
-
Function105688: ; 105688 (41:5688)
call ClearTileMap
call ClearSprites
@@ -1411,15 +1418,15 @@
ld c, 60
call DelayFrames
call Function105777
- ld hl, Text_10575e
+ ld hl, Text_ReceivedCard
call PrintText
ld de, wMysteryGiftTrainerData
callba Function8ac70
ld a, c
ld [wd265], a
- ld hl, Text_105768
+ ld hl, Text_CardNotRegistered
jr c, asm_105726
- ld hl, Text_105763
+ ld hl, Text_ListedCardAsNumber
jr asm_105726
Function1056eb: ; 1056eb (41:56eb)
@@ -1453,12 +1460,12 @@
Function105712: ; 105712 (41:5712)
call Function105777
- ld hl, Text_10576d
+ ld hl, Text_MGLinkCanceled
jr asm_105726
Function10571a: ; 10571a (41:571a)
call Function105777
- ld hl, Text_105772
+ ld hl, Text_MGCommError
call PrintText
jp Function105688
@@ -1471,7 +1478,7 @@
String_10572e: ; 10572e
db "エーボタン¯おすと"
- next "つうしん", $4a, "おこなわれるよ!"
+ next "つうしん<PKMN>おこなわれるよ!"
next "ビーボタン¯おすと"
next "つうしん¯ちゅうし します"
db "@"
@@ -1478,23 +1485,23 @@
; 10575e
-Text_10575e: ; 10575e
+Text_ReceivedCard: ; 10575e
text_jump UnknownText_0x1c051a
db "@"
-Text_105763: ; 105763
+Text_ListedCardAsNumber: ; 105763
text_jump UnknownText_0x1c0531
db "@"
-Text_105768: ; 105768
+Text_CardNotRegistered: ; 105768
text_jump UnknownText_0x1c0555
db "@"
-Text_10576d: ; 10576d
+Text_MGLinkCanceled: ; 10576d
text_jump UnknownText_0x1c0573
db "@"
-Text_105772: ; 105772
+Text_MGCommError: ; 105772
text_jump UnknownText_0x1c0591
db "@"
; 105777
@@ -1571,30 +1578,30 @@
ld [hl], a
hlcoord 4, 2
ld a, $13
- call Function1058ca
+ call .Load11Row
hlcoord 4, 3
ld a, $1e
- call Function1058ce
+ call .Load12Row
hlcoord 4, 4
ld a, $2a
- call Function1058ce
+ call .Load12Row
hlcoord 1, 2
ld [hl], $4
hlcoord 1, 3
ld a, $5
- call Function1058de
+ call .Load14Column
ld a, $9
hlcoord 18, 5
- call Function1058da
+ call .Load11Column
hlcoord 2, 5
ld a, $b
- call Function1058e9
+ call .Load16Row
hlcoord 2, 16
ld a, $7
- call Function1058e9
+ call .Load16Row
hlcoord 2, 5
ld a, $d
- call Function1058c6
+ call .Load6Row
hlcoord 8, 5
ld [hl], $c
hlcoord 18, 5
@@ -1605,16 +1612,16 @@
ld [hl], $6
hlcoord 2, 6
ld a, $37
- call Function1058e9
+ call .Load16Row
hlcoord 2, 15
ld a, $3d
- call Function1058e9
+ call .Load16Row
hlcoord 2, 6
ld a, $39
- call Function1058d6
+ call .Load9Column
hlcoord 17, 6
ld a, $3b
- call Function1058d6
+ call .Load9Column
hlcoord 2, 6
ld [hl], $36
hlcoord 17, 6
@@ -1624,78 +1631,78 @@
hlcoord 17, 15
ld [hl], $3e
ld de, Sprites
- ld hl, OAM_1058f0
+ ld hl, .OAM_data
ld bc, $40
call CopyBytes
call EnableLCD
call WaitBGMap
ld b, $2
- callba Function4930f
+ callba GetMysteryGift_MobileAdapterLayout
jp SetPalettes
-Function1058c6: ; 1058c6 (41:58c6)
- ld b, $6
- jr asm_1058d0
+.Load6Row: ; 1058c6 (41:58c6)
+ ld b, 6
+ jr .row_loop
-Function1058ca: ; 1058ca (41:58ca)
- ld b, $b
- jr asm_1058d0
+.Load11Row: ; 1058ca (41:58ca)
+ ld b, 11
+ jr .row_loop
-Function1058ce: ; 1058ce (41:58ce)
- ld b, $c
+.Load12Row: ; 1058ce (41:58ce)
+ ld b, 12
-asm_1058d0: ; 1058d0 (41:58d0)
+.row_loop: ; 1058d0 (41:58d0)
ld [hli], a
inc a
dec b
- jr nz, asm_1058d0
+ jr nz, .row_loop
ret
-Function1058d6: ; 1058d6 (41:58d6)
- ld b, $9
- jr asm_1058e0
+.Load9Column: ; 1058d6 (41:58d6)
+ ld b, 9
+ jr .column_loop
-Function1058da: ; 1058da (41:58da)
- ld b, $b
- jr asm_1058e0
+.Load11Column: ; 1058da (41:58da)
+ ld b, 11
+ jr .column_loop
-Function1058de: ; 1058de (41:58de)
- ld b, $e
+.Load14Column: ; 1058de (41:58de)
+ ld b, 14
-asm_1058e0: ; 1058e0 (41:58e0)
+.column_loop: ; 1058e0 (41:58e0)
ld [hl], a
ld de, SCREEN_WIDTH
add hl, de
dec b
- jr nz, asm_1058e0
+ jr nz, .column_loop
ret
-Function1058e9: ; 1058e9 (41:58e9)
- ld b, $10
-.asm_1058eb
+.Load16Row: ; 1058e9 (41:58e9)
+ ld b, 16
+.row_loop_no_inc
ld [hli], a
dec b
- jr nz, .asm_1058eb
+ jr nz, .row_loop_no_inc
ret
; 1058f0 (41:58f0)
-OAM_1058f0: ; 1058f0
- db $11, $34, $00, $00
- db $11, $3c, $01, $00
- db $11, $44, $02, $00
- db $11, $4c, $03, $00
- db $19, $34, $04, $00
- db $19, $3c, $05, $00
- db $19, $44, $06, $00
- db $19, $4c, $07, $00
- db $01, $5c, $00, $00
- db $01, $64, $01, $00
- db $01, $6c, $02, $00
- db $01, $74, $03, $00
- db $09, $5c, $04, $00
- db $09, $64, $05, $00
- db $09, $6c, $06, $00
- db $09, $74, $07, $00
+.OAM_data: ; 1058f0
+ dsprite 2, 1, 6, 4, $00, $00
+ dsprite 2, 1, 7, 4, $01, $00
+ dsprite 2, 1, 8, 4, $02, $00
+ dsprite 2, 1, 9, 4, $03, $00
+ dsprite 3, 1, 6, 4, $04, $00
+ dsprite 3, 1, 7, 4, $05, $00
+ dsprite 3, 1, 8, 4, $06, $00
+ dsprite 3, 1, 9, 4, $07, $00
+ dsprite 0, 1, 11, 4, $00, $00
+ dsprite 0, 1, 12, 4, $01, $00
+ dsprite 0, 1, 13, 4, $02, $00
+ dsprite 0, 1, 14, 4, $03, $00
+ dsprite 1, 1, 11, 4, $04, $00
+ dsprite 1, 1, 12, 4, $05, $00
+ dsprite 1, 1, 13, 4, $06, $00
+ dsprite 1, 1, 14, 4, $07, $00
; japanese mystery gift gfx
MysteryGiftJP_GFX: ; 105930
--- /dev/null
+++ b/engine/mysterygift2.asm
@@ -1,0 +1,227 @@
+Function2c642: ; 2c642 (b:4642)
+ ld de, wMysteryGiftStaging
+ ld a, $1
+ ld [de], a
+ inc de ; wc801
+ ld a, BANK(sGameData)
+ call GetSRAMBank
+ ld hl, sPlayerData + PlayerID - wPlayerData
+ ld a, [hli]
+ ld [de], a
+ ld b, a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ ld c, a
+ inc de ; wc803
+ push bc
+ ld hl, sPlayerData + PlayerName - wPlayerData
+ ld bc, NAME_LENGTH
+ call CopyBytes
+ push de ; wc80e
+ ld hl, sPokemonData + PokedexCaught - wPokemonData
+ ld b, EndPokedexCaught - PokedexCaught
+ call CountSetBits
+ pop de
+ pop bc
+ ld a, [wd265]
+ ld [de], a
+ inc de ; wc80f
+ call CloseSRAM
+ call Random
+ and $1
+ ld [de], a
+ inc de ; wc810
+ call .RandomSample
+ ld [de], a
+ inc de ; wc811
+ ld a, c
+ ld c, b
+ ld b, a
+ call .RandomSample
+ ld [de], a
+ inc de ; wc812
+ ld a, BANK(sBackupMysteryGiftItem)
+ call GetSRAMBank
+ ld a, [sBackupMysteryGiftItem]
+ ld [de], a
+ inc de
+ ld a, [sBackupMysteryGiftItem + 1]
+ ld [de], a
+ ld a, $14
+ ld [wca00], a
+ call CloseSRAM
+ ld hl, wMysteryGiftStaging
+ ld de, wMysteryGiftPlayerData
+ ld bc, wMysteryGiftPlayerDataEnd - wMysteryGiftPlayerData
+ jp CopyBytes
+
+.RandomSample: ; 2c6ac (b:46ac)
+ push de
+ call Random
+ cp $19 ; 10 percent
+ jr c, .tenpercent
+ call Random
+ and $7
+ ld d, a
+ rl d
+ ld e, $80
+.loop
+ rlc e
+ dec a
+ jr nz, .loop
+ ld a, e
+ and c
+ jr z, .skip
+ ld a, $1
+.skip
+ add d
+ jr .done
+
+.tenpercent
+ call Random
+ cp $32 ; 20 percent
+ jr c, .twopercent
+ call Random
+ and $3
+ ld d, a
+ rl d
+ ld e, $80
+.loop2
+ rlc e
+ dec a
+ jr nz, .loop2
+ ld a, e
+ and b
+ jr z, .skip2
+ ld a, $1
+.skip2
+ add d
+ add $10
+ jr .done
+
+.twopercent
+ call Random
+ cp $32 ; 50 ; 20 percent
+ jr c, .pointfourpercent
+ ld a, b
+ swap a
+ and $7
+ add $18
+ jr .done
+
+.pointfourpercent
+ ld a, b
+ and $80
+ ld a, $20
+ jr z, .done
+ ld a, $21
+
+.done
+ pop de
+ ret
+
+MysteryGiftGetItemHeldEffect: ; 2c708 (b:4708)
+ ld a, c
+ cp $25 ; 37
+ jr nc, MysteryGiftFallbackItem
+ ld hl, MysteryGiftItems
+ ld b, 0
+ add hl, bc
+ ld c, [hl]
+ ret
+
+MysteryGiftGetDecoration: ; 2c715 (b:4715)
+ ld a, c
+ cp $25 ; 37
+ jr nc, MysteryGiftFallbackItem
+ ld hl, MysteryGiftDecos
+ ld b, 0
+ add hl, bc
+ ld c, [hl]
+ ret
+
+MysteryGiftFallbackItem: ; 2c722 (b:4722)
+ ld c, DECO_POLKADOT_BED ; GREAT_BALL
+ ret
+; 2c725 (b:4725)
+
+MysteryGiftItems: ; 2c725
+ db BERRY
+ db PRZCUREBERRY
+ db MINT_BERRY
+ db ICE_BERRY
+ db BURNT_BERRY
+ db PSNCUREBERRY
+ db GUARD_SPEC
+ db X_DEFEND
+ db X_ATTACK
+ db BITTER_BERRY
+ db DIRE_HIT
+ db X_SPECIAL
+ db X_ACCURACY
+ db EON_MAIL
+ db MORPH_MAIL
+ db MUSIC_MAIL
+ db MIRACLEBERRY
+ db GOLD_BERRY
+ db REVIVE
+ db GREAT_BALL
+ db SUPER_REPEL
+ db MAX_REPEL
+ db ELIXER
+ db ETHER
+ db WATER_STONE
+ db FIRE_STONE
+ db LEAF_STONE
+ db THUNDERSTONE
+ db MAX_ETHER
+ db MAX_ELIXER
+ db MAX_REVIVE
+ db SCOPE_LENS
+ db HP_UP
+ db PP_UP
+ db RARE_CANDY
+ db BLUESKY_MAIL
+ db MIRAGE_MAIL
+; 2c74a
+
+MysteryGiftDecos: ; 2c74a
+ db DECOFLAG_PIKACHU_DOLL
+ db DECOFLAG_BULBASAUR_DOLL
+ db DECOFLAG_CHARMANDER_DOLL
+ db DECOFLAG_SQUIRTLE_DOLL
+ db DECOFLAG_POLIWAG_DOLL
+ db DECOFLAG_DIGLETT_DOLL
+ db DECOFLAG_STARMIE_DOLL
+ db DECOFLAG_MAGIKARP_DOLL
+ db DECOFLAG_ODDISH_DOLL
+ db DECOFLAG_GENGAR_DOLL
+ db DECOFLAG_CLEFAIRY_POSTER
+ db DECOFLAG_JIGGLYPUFF_POSTER
+ db DECOFLAG_SNES
+ db DECOFLAG_SHELLDER_DOLL
+ db DECOFLAG_VOLTORB_DOLL
+ db DECOFLAG_WEEDLE_DOLL
+ db DECOFLAG_MAGNAPLANT
+ db DECOFLAG_TROPICPLANT
+ db DECOFLAG_FAMICOM
+ db DECOFLAG_N64
+ db DECOFLAG_SURF_PIKACHU_DOLL
+ db DECOFLAG_JIGGLYPUFF_DOLL
+ db DECOFLAG_PINK_BED
+ db DECOFLAG_POLKADOT_BED
+ db DECOFLAG_RED_CARPET
+ db DECOFLAG_BLUE_CARPET
+ db DECOFLAG_YELLOW_CARPET
+ db DECOFLAG_GREEN_CARPET
+ db DECOFLAG_JUMBOPLANT
+ db DECOFLAG_VIRTUAL_BOY
+ db DECOFLAG_MACHOP_DOLL
+ db DECOFLAG_PIKACHU_POSTER
+ db DECOFLAG_TENTACOOL_DOLL
+ db DECOFLAG_BIG_ONIX_DOLL
+ db DECOFLAG_PIKACHU_BED
+ db DECOFLAG_GRIMER_DOLL
+ db DECOFLAG_UNOWN_DOLL
+; 2c76f
--- a/engine/namingscreen.asm
+++ b/engine/namingscreen.asm
@@ -1,7 +1,7 @@
_NamingScreen: ; 0x116b7
call DisableSpriteUpdates
call NamingScreen
- call Function2b74
+ call ReturnToMapWithSpeechTextbox
ret
; 0x116c1
@@ -174,9 +174,9 @@
ld [hli], a
ld [hl], a
depixel 4, 4, 4, 0
- ld a, SPRITE_ANIM_INDEX_0A
+ ld a, SPRITE_ANIM_INDEX_WALK_CYCLE
call _InitSpriteAnimStruct
- ld hl, $1
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld [hl], $0
hlcoord 5, 2
@@ -220,7 +220,7 @@
ld [hli], a
ld [hl], a
pop de
- ld b, SPRITE_ANIM_INDEX_0A
+ ld b, SPRITE_ANIM_INDEX_WALK_CYCLE
ld a, d
cp $7a
jr nz, .asm_11873
@@ -338,7 +338,7 @@
bit 7, a
jr nz, .asm_11930
call Function11968
- callba Function8cf62
+ callba PlaySpriteAnimationsAndDelayFrame
call Function11940
call DelayFrame
and a
@@ -345,7 +345,7 @@
ret
.asm_11930
- callab Function8cf53
+ callab ClearSpriteAnims
call ClearSprites
xor a
ld [hSCX], a
@@ -411,10 +411,10 @@
ld [wc6d5], a
ld a, b
ld [wc6d6], a
- ld hl, $1
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld a, [hl]
- ld hl, $e
+ ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
ld [hl], a
ld hl, wJumptableIndex
@@ -454,10 +454,10 @@
ld c, [hl]
inc hl
ld b, [hl]
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], $8
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld [hl], $4
call Function1189c
@@ -497,7 +497,7 @@
ld b, [hl]
Function11a11: ; 11a11 (4:5a11)
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
push bc
@@ -509,7 +509,7 @@
cp b
pop bc
jr nz, .asm_11a39
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
cp $3
@@ -530,12 +530,12 @@
Function11a3b: ; 11a3b (4:5a3b)
call Function11a8b
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
ld e, a
swap e
- ld hl, $7
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], e
ld d, $4
@@ -550,19 +550,19 @@
ld de, Unknown_11a82
ld a, $1
.asm_11a60
- ld hl, $e
+ ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
add [hl]
- ld hl, $1
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld [hl], a
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld l, [hl]
ld h, $0
add hl, de
ld a, [hl]
- ld hl, $6
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld [hl], a
ret
@@ -593,7 +593,7 @@
call Function11a11
and a
jr nz, .asm_11ab7
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
cp $8
@@ -611,7 +611,7 @@
ld e, a
add a
add e
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], a
ret
@@ -619,7 +619,7 @@
call Function11a11
and a
jr nz, .asm_11ad8
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
and a
@@ -640,12 +640,12 @@
ld e, a
add a
add e
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], a
ret
.down
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
call Function1189c
@@ -663,7 +663,7 @@
ld [hl], $0
ret
.up
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
and a
@@ -826,10 +826,10 @@
ld c, [hl]
inc hl
ld b, [hl]
- ld hl, $6
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld a, [hl]
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
add [hl]
sub $8
@@ -837,10 +837,10 @@
srl a
srl a
ld e, a
- ld hl, $7
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld a, [hl]
- ld hl, $5
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
add [hl]
sub $10
@@ -866,7 +866,7 @@
Function11c51: ; 11c51
call ClearSprites
- callab Function8cf53
+ callab ClearSpriteAnims
call LoadStandardFont
call LoadFontsExtra
@@ -898,9 +898,9 @@
ld [hl], $7e
xor a
ld [hSCY], a
- ld [wc3bf], a
+ ld [wGlobalAnimYOffset], a
ld [hSCX], a
- ld [wc3c0], a
+ ld [wGlobalAnimXOffset], a
ld [wJumptableIndex], a
ld [wcf64], a
ld [hBGMapMode], a
--- /dev/null
+++ b/engine/npc_movement.asm
@@ -1,0 +1,572 @@
+Function6ec1: ; 6ec1
+
+ ld hl, OBJECT_PALETTE
+ add hl, bc
+ bit 5, [hl]
+ jr z, .not_bit_5
+
+ ld hl, OBJECT_FLAGS1
+ add hl, bc
+ bit 4, [hl] ; lost
+ push hl
+ push bc
+ call Function6f2c
+ pop bc
+ pop hl
+ ret c
+ jr .resume
+
+.not_bit_5
+ ld hl, OBJECT_FLAGS1
+ add hl, bc
+ bit 4, [hl]
+ jr nz, .resume
+ push hl
+ push bc
+ call Function6f07
+ pop bc
+ pop hl
+ ret c
+
+.resume
+ bit 6, [hl]
+ jr nz, .bit_6
+
+ push hl
+ push bc
+ call WillPersonBumpIntoSomeoneElse
+ pop bc
+ pop hl
+ ret c
+
+.bit_6
+ bit 5, [hl]
+ jr nz, .bit_5
+ push hl
+ call HasPersonReachedMovementLimit
+ pop hl
+ ret c
+
+ push hl
+ call IsPersonMovingOffEdgeOfScreen
+ pop hl
+ ret c
+
+.bit_5
+ and a
+ ret
+; 6f07
+
+
+Function6f07: ; 6f07
+ call Function6f5f
+ ret c
+ ld hl, OBJECT_NEXT_MAP_X
+ add hl, bc
+ ld d, [hl]
+ ld hl, OBJECT_NEXT_MAP_Y
+ add hl, bc
+ ld e, [hl]
+ ld hl, OBJECT_PALETTE
+ add hl, bc
+ bit 7, [hl]
+ jp nz, Function6fa1
+ ld hl, OBJECT_NEXT_TILE
+ add hl, bc
+ ld a, [hl]
+ ld d, a
+ call GetTileCollision
+ and a
+ jr z, Function6f3e
+ scf
+ ret
+; 6f2c
+
+Function6f2c: ; 6f2c
+ call Function6f5f
+ ret c
+ ld hl, OBJECT_NEXT_TILE
+ add hl, bc
+ ld a, [hl]
+ call GetTileCollision
+ cp $1
+ jr z, Function6f3e
+ scf
+ ret
+; 6f3e
+
+Function6f3e: ; 6f3e
+ ld hl, OBJECT_NEXT_TILE
+ add hl, bc
+ ld a, [hl]
+ call Function6f7f
+ ret nc
+ push af
+ ld hl, OBJECT_DIRECTION_WALKING
+ add hl, bc
+ ld a, [hl]
+ and 3
+ ld e, a
+ ld d, 0
+ ld hl, .data_6f5b
+ add hl, de
+ pop af
+ and [hl]
+ ret z
+ scf
+ ret
+; 6f5b
+
+.data_6f5b
+ db 1 << DOWN, 1 << UP, 1 << RIGHT, 1 << LEFT
+; 6f5f
+
+Function6f5f: ; 6f5f
+ ld hl, OBJECT_STANDING_TILE
+ add hl, bc
+ ld a, [hl]
+ call Function6f7f
+ ret nc
+ push af
+ ld hl, OBJECT_DIRECTION_WALKING
+ add hl, bc
+ and 3
+ ld e, a
+ ld d, 0
+ ld hl, .data_6f7b
+ add hl, de
+ pop af
+ and [hl]
+ ret z
+ scf
+ ret
+; 6f7b
+
+.data_6f7b
+ db 1 << UP, 1 << DOWN, 1 << LEFT, 1 << RIGHT
+; 6f7f
+
+Function6f7f: ; 6f7f
+ ld d, a
+ and $f0
+ cp $b0
+ jr z, .done
+ cp $c0
+ jr z, .done
+ xor a
+ ret
+
+.done
+ ld a, d
+ and 7
+ ld e, a
+ ld d, 0
+ ld hl, .data_6f99
+ add hl, de
+ ld a, [hl]
+ scf
+ ret
+; 6f99
+
+.data_6f99
+ db 8, 4, 1, 2
+ db 10, 6, 9, 5
+; 6fa1
+
+Function6fa1: ; 6fa1
+ ld hl, OBJECT_DIRECTION_WALKING
+ add hl, bc
+ ld a, [hl]
+ and 3
+ jr z, .asm_6fb2
+ dec a
+ jr z, .asm_6fb7
+ dec a
+ jr z, .asm_6fbb
+ jr .asm_6fbf
+
+.asm_6fb2
+ inc e
+ push de
+ inc d
+ jr .asm_6fc2
+
+.asm_6fb7
+ push de
+ inc d
+ jr .asm_6fc2
+
+.asm_6fbb
+ push de
+ inc e
+ jr .asm_6fc2
+
+.asm_6fbf
+ inc d
+ push de
+ inc e
+
+.asm_6fc2
+ call GetCoordTile
+ call GetTileCollision
+ pop de
+ and a
+ jr nz, .asm_6fd7
+ call GetCoordTile
+ call GetTileCollision
+ and a
+ jr nz, .asm_6fd7
+ xor a
+ ret
+
+.asm_6fd7
+ scf
+ ret
+; 6fd9
+
+
+
+CheckFacingObject:: ; 6fd9
+
+ call GetFacingTileCoord
+
+; Double the distance for counter tiles.
+ call CheckCounterTile
+ jr nz, .asm_6ff1
+
+ ld a, [PlayerNextMapX]
+ sub d
+ cpl
+ inc a
+ add d
+ ld d, a
+
+ ld a, [PlayerNextMapY]
+ sub e
+ cpl
+ inc a
+ add e
+ ld e, a
+
+.asm_6ff1
+ ld bc, ObjectStructs ; redundant
+ ld a, 0
+ ld [hMapObjectIndexBuffer], a
+ call IsNPCAtCoord
+ ret nc
+ ld hl, OBJECT_DIRECTION_WALKING
+ add hl, bc
+ ld a, [hl]
+ cp STANDING
+ jr z, .standing
+ xor a
+ ret
+
+.standing
+ scf
+ ret
+; 7009
+
+
+WillPersonBumpIntoSomeoneElse: ; 7009
+ ld hl, OBJECT_NEXT_MAP_X
+ add hl, bc
+ ld d, [hl]
+ ld hl, OBJECT_NEXT_MAP_Y
+ add hl, bc
+ ld e, [hl]
+ jr IsNPCAtCoord
+; 7015
+
+Function7015: ; unreferenced
+ ld a, [hMapObjectIndexBuffer]
+ call GetObjectStruct
+ call .CheckWillBeFacingNPC
+ call IsNPCAtCoord
+ ret
+
+.CheckWillBeFacingNPC: ; 7021
+ ld hl, OBJECT_NEXT_MAP_X
+ add hl, bc
+ ld d, [hl]
+ ld hl, OBJECT_NEXT_MAP_Y
+ add hl, bc
+ ld e, [hl]
+ call GetSpriteDirection
+ and a
+ jr z, .down
+ cp OW_UP
+ jr z, .up
+ cp OW_LEFT
+ jr z, .left
+ inc d
+ ret
+
+.down
+ inc e
+ ret
+
+.up
+ dec e
+ ret
+
+.left
+ dec d
+ ret
+; 7041
+
+IsNPCAtCoord: ; 7041
+ ld bc, ObjectStructs
+ xor a
+.loop
+ ld [hObjectStructIndexBuffer], a
+ call GetObjectSprite
+ jr z, .next
+
+ ld hl, OBJECT_FLAGS1
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .next
+
+ ld hl, OBJECT_PALETTE
+ add hl, bc
+ bit 7, [hl]
+ jr z, .got
+
+ call Function7171
+ jr nc, .ok
+ jr .ok2
+
+.got
+ ld hl, OBJECT_NEXT_MAP_X
+ add hl, bc
+ ld a, [hl]
+ cp d
+ jr nz, .ok
+ ld hl, OBJECT_NEXT_MAP_Y
+ add hl, bc
+ ld a, [hl]
+ cp e
+ jr nz, .ok
+
+.ok2
+ ld a, [hMapObjectIndexBuffer]
+ ld l, a
+ ld a, [hObjectStructIndexBuffer]
+ cp l
+ jr nz, .setcarry
+
+.ok
+ ld hl, OBJECT_MAP_X
+ add hl, bc
+ ld a, [hl]
+ cp d
+ jr nz, .next
+ ld hl, OBJECT_MAP_Y
+ add hl, bc
+ ld a, [hl]
+ cp e
+ jr nz, .next
+ ld a, [hMapObjectIndexBuffer]
+ ld l, a
+ ld a, [hObjectStructIndexBuffer]
+ cp l
+ jr nz, .setcarry
+
+.next
+ ld hl, OBJECT_STRUCT_LENGTH
+ add hl, bc
+ ld b, h
+ ld c, l
+ ld a, [hObjectStructIndexBuffer]
+ inc a
+ cp NUM_OBJECT_STRUCTS
+ jr nz, .loop
+ and a
+ ret
+
+.setcarry
+ scf
+ ret
+; 70a4
+
+HasPersonReachedMovementLimit: ; 70a4
+ ld hl, OBJECT_RADIUS
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .nope
+ and $f
+ jr z, .check_y
+ ld e, a
+ ld d, a
+ ld hl, OBJECT_INIT_X
+ add hl, bc
+ ld a, [hl]
+ sub d
+ ld d, a
+ ld a, [hl]
+ add e
+ ld e, a
+ ld hl, OBJECT_NEXT_MAP_X
+ add hl, bc
+ ld a, [hl]
+ cp d
+ jr z, .yes
+ cp e
+ jr z, .yes
+
+.check_y
+ ld hl, OBJECT_RADIUS
+ add hl, bc
+ ld a, [hl]
+ swap a
+ and $f
+ jr z, .nope
+ ld e, a
+ ld d, a
+ ld hl, OBJECT_INIT_Y
+ add hl, bc
+ ld a, [hl]
+ sub d
+ ld d, a
+ ld a, [hl]
+ add e
+ ld e, a
+ ld hl, OBJECT_NEXT_MAP_Y
+ add hl, bc
+ ld a, [hl]
+ cp d
+ jr z, .yes
+ cp e
+ jr z, .yes
+
+.nope
+ xor a
+ ret
+
+.yes
+ scf
+ ret
+; 70ed
+
+IsPersonMovingOffEdgeOfScreen: ; 70ed
+ ld hl, OBJECT_NEXT_MAP_X
+ add hl, bc
+ ld a, [XCoord]
+ cp [hl]
+ jr z, .check_y
+ jr nc, .yes
+ add $9
+ cp [hl]
+ jr c, .yes
+
+.check_y
+ ld hl, OBJECT_NEXT_MAP_Y
+ add hl, bc
+ ld a, [YCoord]
+ cp [hl]
+ jr z, .nope
+ jr nc, .yes
+ add $8
+ cp [hl]
+ jr c, .yes
+
+.nope
+ and a
+ ret
+
+.yes
+ scf
+ ret
+; 7113
+
+Function7113: ; unreferenced
+ ld a, [PlayerNextMapX]
+ ld d, a
+ ld a, [PlayerNextMapY]
+ ld e, a
+ ld bc, ObjectStructs
+ xor a
+.loop
+ ld [hObjectStructIndexBuffer], a
+ call GetObjectSprite
+ jr z, .next
+ ld hl, OBJECT_MOVEMENTTYPE
+ add hl, bc
+ ld a, [hl]
+ cp SPRITEMOVEDATA_SNORLAX
+ jr nz, .not_snorlax
+ call Function7171
+ jr c, .yes
+ jr .next
+
+.not_snorlax
+ ld hl, OBJECT_NEXT_MAP_Y
+ add hl, bc
+ ld a, [hl]
+ cp e
+ jr nz, .check_current_coords
+ ld hl, OBJECT_NEXT_MAP_X
+ add hl, bc
+ ld a, [hl]
+ cp d
+ jr nz, .check_current_coords
+ ld a, [hObjectStructIndexBuffer]
+ cp $0
+ jr z, .next
+ jr .yes
+
+.check_current_coords
+ ld hl, OBJECT_MAP_Y
+ add hl, bc
+ ld a, [hl]
+ cp e
+ jr nz, .next
+ ld hl, OBJECT_MAP_X
+ add hl, bc
+ ld a, [hl]
+ cp d
+ jr nz, .next
+ jr .yes
+
+.next
+ ld hl, OBJECT_STRUCT_LENGTH
+ add hl, bc
+ ld b, h
+ ld c, l
+ ld a, [hObjectStructIndexBuffer]
+ inc a
+ cp NUM_OBJECT_STRUCTS
+ jr nz, .loop
+ xor a
+ ret
+
+.yes
+ scf
+ ret
+; 7171
+
+
+Function7171: ; 7171
+ ld hl, OBJECT_NEXT_MAP_X
+ add hl, bc
+ ld a, d
+ sub [hl]
+ jr c, .nope
+ cp $2
+ jr nc, .nope
+ ld hl, OBJECT_NEXT_MAP_Y
+ add hl, bc
+ ld a, e
+ sub [hl]
+ jr c, .nope
+ cp $2
+ jr nc, .nope
+ scf
+ ret
+
+.nope
+ and a
+ ret
+; 718d
--- a/engine/npctrade.asm
+++ b/engine/npctrade.asm
@@ -40,7 +40,7 @@
; Select givemon from party
ld b, 6
- callba Function5001d
+ callba SelectTradeOrDaycareMon
ld a, TRADE_CANCEL
jr c, .done
@@ -88,7 +88,7 @@
ld [wcf64], a
pop af
ld [wJumptableIndex], a
- call Function2b74
+ call ReturnToMapWithSpeechTextbox
ret
; fcc23
@@ -100,23 +100,23 @@
call GetTradeAttribute
ld a, [hl]
and a
- jr z, .asm_fcc46
+ jr z, .matching
cp 1
- jr z, .asm_fcc3e
+ jr z, .check_male
callba GetGender
- jr nz, .asm_fcc48
- jr .asm_fcc46
+ jr nz, .not_matching
+ jr .matching
-.asm_fcc3e
+.check_male
callba GetGender
- jr z, .asm_fcc48
+ jr z, .not_matching
-.asm_fcc46
+.matching
and a
ret
-.asm_fcc48
+.not_matching
scf
ret
; fcc4a
@@ -211,7 +211,7 @@
xor a
ld [MonType], a
ld [wPokemonWithdrawDepositParameter], a
- callab Functione039
+ callab RemoveMonFromPartyOrBox
predef TryAddMonToParty
ld e, TRADE_DIALOG
@@ -219,9 +219,9 @@
ld a, [hl]
cp TRADE_COMPLETE
ld b, RESET_FLAG
- jr c, .asm_fcd1c
+ jr c, .incomplete
ld b, SET_FLAG
-.asm_fcd1c
+.incomplete
callba SetGiftPartyMonCaughtData
ld e, TRADE_NICK
@@ -291,7 +291,7 @@
ld a, [PartyCount]
dec a
ld [CurPartyMon], a
- callba Functione134
+ callba ComputeNPCTrademonStats
pop af
ld [CurPartyMon], a
pop hl
@@ -399,7 +399,7 @@
ld a, [hl]
call GetTradeMonName
- ld de, wd050
+ ld de, wMonOrItemNameBuffer
call CopyTradeName
ld hl, StringBuffer1
@@ -511,7 +511,6 @@
; traded givemon for getmon
text_jump UnknownText_0x1bd429
start_asm
-
ld de, MUSIC_NONE
call PlayMusic
call DelayFrame
--- a/engine/options_menu.asm
+++ b/engine/options_menu.asm
@@ -47,7 +47,7 @@
jr c, .ExitOptions
.dpad
- call Functione455c
+ call Options_UpdateCursorPosition
ld c, 3
call DelayFrames
jr .joypad_loop
@@ -563,3 +563,20 @@
scf
ret
; e455c
+
+Options_UpdateCursorPosition: ; e455c
+ hlcoord 1, 1
+ ld de, SCREEN_WIDTH
+ ld c, $10
+.loop
+ ld [hl], " "
+ add hl, de
+ dec c
+ jr nz, .loop
+ hlcoord 1, 2
+ ld bc, 2 * SCREEN_WIDTH
+ ld a, [wJumptableIndex]
+ call AddNTimes
+ ld [hl], "▶"
+ ret
+; e4579
--- a/engine/overworld.asm
+++ b/engine/overworld.asm
@@ -266,7 +266,7 @@
and a
jr z, .NoBreedmon
- callba Function8e82b
+ callba LoadOverworldMonIcon
ld l, 1
ld h, 0
--- a/engine/pack.asm
+++ b/engine/pack.asm
@@ -1,19 +1,18 @@
-
Pack: ; 10000
ld hl, Options
set NO_TEXT_SCROLL, [hl]
- call Function1068a
+ call InitPackBuffers
.loop
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
jr nz, .done
- call Function10026
+ call .RunJumptable
call DelayFrame
jr .loop
.done
- ld a, [wcf65]
+ ld a, [wCurrPocket]
ld [wLastPocket], a
ld hl, Options
res NO_TEXT_SCROLL, [hl]
@@ -20,142 +19,143 @@
ret
; 10026
-Function10026: ; 10026
+.RunJumptable: ; 10026
ld a, [wJumptableIndex]
- ld hl, Jumptable_10030
- call Function1086b
+ ld hl, .Jumptable
+ call Pack_GetJumptablePointer
jp [hl]
+
; 10030
+.Jumptable: ; 10030 (4:4030)
+
+ dw .InitGFX ; 0
+ dw .InitItemsPocket ; 1
+ dw .ItemsPocketMenu ; 2
+ dw .InitBallsPocket ; 3
+ dw .BallsPocketMenu ; 4
+ dw .InitKeyItemsPocket ; 5
+ dw .KeyItemsPocketMenu ; 6
+ dw .InitTMHMPocket ; 7
+ dw .TMHMPocketMenu ; 8
+ dw Pack_QuitNoScript ; 9
+ dw Pack_QuitRunScript ; 10
-Jumptable_10030: ; 10030 (4:4030)
- dw Function10046
- dw Function10056
- dw Function10067
- dw Function10186
- dw Function10198
- dw Function10094
- dw Function100a6
- dw Function100d3
- dw Function100e8
- dw Function10874
- dw Function1087e
-
-
-Function10046: ; 10046 (4:4046)
+.InitGFX: ; 10046 (4:4046)
xor a
ld [hBGMapMode], a
- call Function10955
+ call Pack_InitGFX
ld a, [wcf64]
ld [wJumptableIndex], a
- call Function10a40
+ call Pack_InitColors
ret
-Function10056: ; 10056 (4:4056)
+.InitItemsPocket: ; 10056 (4:4056)
xor a
- ld [wcf65], a
+ ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
call WaitBGMap_DrawPackGFX
- call Function10866
+ call Pack_JumptableNext
ret
-Function10067: ; 10067 (4:4067)
- ld hl, MenuDataHeader_0x10a4f
+.ItemsPocketMenu: ; 10067 (4:4067)
+ ld hl, ItemsPocketMenuDataHeader
call CopyMenuDataHeader
ld a, [wItemsPocketCursor]
ld [wMenuCursorBuffer], a
ld a, [wItemsPocketScrollPosition]
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
+ call ScrollingMenu
ld a, [wMenuScrollPosition]
ld [wItemsPocketScrollPosition], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wItemsPocketCursor], a
ld b, $7
ld c, $3
- call Function108d4
+ call Pack_InterpretJoypad
ret c
- call Function101c5
+ call .ItemBallsKey_LoadSubmenu
ret
-Function10094: ; 10094 (4:4094)
+.InitKeyItemsPocket: ; 10094 (4:4094)
ld a, $2
- ld [wcf65], a
+ ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
call WaitBGMap_DrawPackGFX
- call Function10866
+ call Pack_JumptableNext
ret
-Function100a6: ; 100a6 (4:40a6)
- ld hl, MenuDataHeader_0x10a7f
+.KeyItemsPocketMenu: ; 100a6 (4:40a6)
+ ld hl, KeyItemsPocketMenuDataHeader
call CopyMenuDataHeader
ld a, [wKeyItemsPocketCursor]
ld [wMenuCursorBuffer], a
ld a, [wKeyItemsPocketScrollPosition]
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
+ call ScrollingMenu
ld a, [wMenuScrollPosition]
ld [wKeyItemsPocketScrollPosition], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wKeyItemsPocketCursor], a
ld b, $3
ld c, $7
- call Function108d4
+ call Pack_InterpretJoypad
ret c
- call Function101c5
+ call .ItemBallsKey_LoadSubmenu
ret
-Function100d3: ; 100d3 (4:40d3)
+.InitTMHMPocket: ; 100d3 (4:40d3)
ld a, $3
- ld [wcf65], a
+ ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
xor a
ld [hBGMapMode], a
call WaitBGMap_DrawPackGFX
- call Function10866
+ call Pack_JumptableNext
ret
-Function100e8: ; 100e8 (4:40e8)
- callba Function2c76f
+.TMHMPocketMenu: ; 100e8 (4:40e8)
+ callba TMHMPocket
ld b, $5
ld c, $1
- call Function108d4
+ call Pack_InterpretJoypad
ret c
callba _CheckTossableItem
ld a, [wItemAttributeParamBuffer]
and a
- jr nz, .asm_1010a
- ld hl, MenuDataHeader_0x1013b
- ld de, Jumptable_10153
- jr .asm_10110
-.asm_1010a
- ld hl, MenuDataHeader_0x10124
- ld de, Jumptable_10137
-.asm_10110
+ jr nz, .use_quit
+ ld hl, .MenuDataHeader2
+ ld de, .Jumptable2
+ jr .load_jump
+
+.use_quit
+ ld hl, .MenuDataHeader1
+ ld de, .Jumptable1
+.load_jump
push de
call LoadMenuDataHeader
- call InterpretMenu2
+ call VerticalMenu
call ExitMenu
pop hl
ret c
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
- call Function1086b
+ call Pack_GetJumptablePointer
jp [hl]
-; 10124 (4:4124)
-MenuDataHeader_0x10124: ; 0x10124
+; 10124 (4:4124)
+.MenuDataHeader1: ; 0x10124
db $40 ; flags
db 07, 13 ; start coords
db 11, 19 ; end coords
- dw MenuData2_0x1012c
+ dw .MenuData2_1
db 1 ; default option
; 0x1012c
-MenuData2_0x1012c: ; 0x1012c
+.MenuData2_1: ; 0x1012c
db $c0 ; flags
db 2 ; items
db "USE@"
@@ -162,20 +162,22 @@
db "QUIT@"
; 0x10137
-Jumptable_10137: ; 10137
- dw Function10159
+.Jumptable1: ; 10137
+
+ dw .UseItem
dw QuitItemSubmenu
+
; 1013b
-MenuDataHeader_0x1013b: ; 0x1013b
+.MenuDataHeader2: ; 0x1013b
db $40 ; flags
db 05, 13 ; start coords
db 11, 19 ; end coords
- dw MenuData2_0x10143
+ dw .MenuData2_2
db 1 ; default option
; 0x10143
-MenuData2_0x10143: ; 0x10143
+.MenuData2_2: ; 0x10143
db $c0 ; flags
db 3 ; items
db "USE@"
@@ -183,61 +185,61 @@
db "QUIT@"
; 0x10153
-Jumptable_10153: ; 10153
- dw Function10159
+.Jumptable2: ; 10153
+ dw .UseItem
dw GiveItem
dw QuitItemSubmenu
; 10159
-Function10159: ; 10159
- callba Function2c7bf
+.UseItem: ; 10159
+ callba AskTeachTMHM
ret c
- callba Function2c7fb
- jr c, .asm_10179
+ callba ChooseMonToLearnTMHM
+ jr c, .declined
ld hl, Options
ld a, [hl]
push af
- res 4, [hl]
- callba Function2c867
+ res NO_TEXT_SCROLL, [hl]
+ callba TeachTMHM
pop af
ld [Options], a
-.asm_10179
+.declined
xor a
ld [hBGMapMode], a
- call Function10955
+ call Pack_InitGFX
call WaitBGMap_DrawPackGFX
- call Function10a40
+ call Pack_InitColors
ret
-Function10186: ; 10186 (4:4186)
+.InitBallsPocket: ; 10186 (4:4186)
ld a, $1
- ld [wcf65], a
+ ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
call WaitBGMap_DrawPackGFX
- call Function10866
+ call Pack_JumptableNext
ret
-Function10198: ; 10198 (4:4198)
- ld hl, MenuDataHeader_0x10aaf
+.BallsPocketMenu: ; 10198 (4:4198)
+ ld hl, BallsPocketMenuDataHeader
call CopyMenuDataHeader
ld a, [wBallsPocketCursor]
ld [wMenuCursorBuffer], a
ld a, [wBallsPocketScrollPosition]
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
+ call ScrollingMenu
ld a, [wMenuScrollPosition]
ld [wBallsPocketScrollPosition], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wBallsPocketCursor], a
ld b, $1
ld c, $5
- call Function108d4
+ call Pack_InterpretJoypad
ret c
- call Function101c5
+ call .ItemBallsKey_LoadSubmenu
ret
-Function101c5: ; 101c5 (4:41c5)
+.ItemBallsKey_LoadSubmenu: ; 101c5 (4:41c5)
callba _CheckTossableItem
ld a, [wItemAttributeParamBuffer]
and a
@@ -268,45 +270,45 @@
.usable
ld hl, MenuDataHeader_UsableKeyItem
- ld de, Jumptable_1026a
+ ld de, Jumptable_UseGiveTossRegisterQuit
jr .build_menu
.selectable_usable
ld hl, MenuDataHeader_UsableItem
- ld de, Jumptable_10291
+ ld de, Jumptable_UseGiveTossQuit
jr .build_menu
.tossable_selectable
ld hl, MenuDataHeader_UnusableItem
- ld de, Jumptable_102ac
+ ld de, Jumptable_UseQuit
jr .build_menu
.tossable_unselectable
ld hl, MenuDataHeader_UnusableKeyItem
- ld de, Jumptable_102c7
+ ld de, Jumptable_UseRegisterQuit
jr .build_menu
.unusable
ld hl, MenuDataHeader_HoldableKeyItem
- ld de, Jumptable_102ea
+ ld de, Jumptable_GiveTossRegisterQuit
jr .build_menu
.selectable_unusable
ld hl, MenuDataHeader_HoldableItem
- ld de, Jumptable_1030b
+ ld de, Jumptable_GiveTossQuit
.build_menu
push de
call LoadMenuDataHeader
- call InterpretMenu2
+ call VerticalMenu
call ExitMenu
pop hl
ret c
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
- call Function1086b
+ call Pack_GetJumptablePointer
jp [hl]
-; 10249 (4:4249)
+; 10249 (4:4249)
MenuDataHeader_UsableKeyItem: ; 0x10249
db $40 ; flags
db 01, 13 ; start coords
@@ -325,7 +327,8 @@
db "QUIT@"
; 0x1026a
-Jumptable_1026a: ; 1026a
+Jumptable_UseGiveTossRegisterQuit: ; 1026a
+
dw UseItem
dw GiveItem
dw TossMenu
@@ -350,7 +353,8 @@
db "QUIT@"
; 0x10291
-Jumptable_10291: ; 10291
+Jumptable_UseGiveTossQuit: ; 10291
+
dw UseItem
dw GiveItem
dw TossMenu
@@ -372,7 +376,8 @@
db "QUIT@"
; 0x102ac
-Jumptable_102ac: ; 102ac
+Jumptable_UseQuit: ; 102ac
+
dw UseItem
dw QuitItemSubmenu
; 102b0
@@ -393,7 +398,8 @@
db "QUIT@"
; 0x102c7
-Jumptable_102c7: ; 102c7
+Jumptable_UseRegisterQuit: ; 102c7
+
dw UseItem
dw RegisterItem
dw QuitItemSubmenu
@@ -416,7 +422,8 @@
db "QUIT@"
; 0x102ea
-Jumptable_102ea: ; 102ea
+Jumptable_GiveTossRegisterQuit: ; 102ea
+
dw GiveItem
dw TossMenu
dw RegisterItem
@@ -439,21 +446,24 @@
db "QUIT@"
; 0x1030b
-Jumptable_1030b: ; 1030b
+Jumptable_GiveTossQuit: ; 1030b
+
dw GiveItem
dw TossMenu
dw QuitItemSubmenu
+
; 10311
UseItem: ; 10311
callba CheckItemMenu
ld a, [wItemAttributeParamBuffer]
- ld hl, .jumptable
+ ld hl, .dw
rst JumpTable
ret
; 1031f
-.jumptable: ; 1031f (4:431f)
+.dw: ; 1031f (4:431f)
+
dw .Oak
dw .Oak
dw .Oak
@@ -465,7 +475,7 @@
.Oak: ; 1032d (4:432d)
ld hl, Text_ThisIsntTheTime
- call Function10889
+ call Pack_PrintTextNoScroll
ret
.Current: ; 10334 (4:4334)
@@ -479,18 +489,19 @@
call DoItemEffect
xor a
ld [hBGMapMode], a
- call Function10955
+ call Pack_InitGFX
call WaitBGMap_DrawPackGFX
- call Function10a40
+ call Pack_InitColors
ret
+
.NoPokemon
ld hl, TextJump_YouDontHaveAPkmn
- call Function10889
+ call Pack_PrintTextNoScroll
ret
.Field: ; 10355 (4:4355)
call DoItemEffect
- ld a, [wd0ec]
+ ld a, [wItemEffectSucceeded]
and a
jr z, .Oak
ld a, $a
@@ -500,8 +511,8 @@
TossMenu: ; 10364
ld hl, Text_ThrowAwayHowMany
- call Function10889
- callba Function24fbf
+ call Pack_PrintTextNoScroll
+ callba SelectQuantityToToss
push af
call ExitMenu
pop af
@@ -515,39 +526,39 @@
pop af
jr c, .finish
ld hl, NumItems
- ld a, [ItemCountBuffer]
+ ld a, [CurItemQuantity]
call TossItem
call Pack_GetItemName
ld hl, Text_ThrewAway
- call Function10889
-
+ call Pack_PrintTextNoScroll
.finish
ret
; 1039d
-Function1039d: ; 1039d
- ld a, [wcf65]
+ResetPocketCursorPositions: ; 1039d
+; unreferenced
+ ld a, [wCurrPocket]
and a
- jr z, .asm_103b2
+ jr z, .items
dec a
- jr z, .asm_103aa
+ jr z, .balls
dec a
- jr z, .asm_103ba
+ jr z, .key
ret
-.asm_103aa
+.balls
xor a
ld [wBallsPocketCursor], a
ld [wBallsPocketScrollPosition], a
ret
-.asm_103b2
+.items
xor a
ld [wItemsPocketCursor], a
ld [wItemsPocketScrollPosition], a
ret
-.asm_103ba
+.key
xor a
ld [wKeyItemsPocketCursor], a
ld [wKeyItemsPocketScrollPosition], a
@@ -558,13 +569,13 @@
callba CheckSelectableItem
ld a, [wItemAttributeParamBuffer]
and a
- jr nz, .asm_103f6
- ld a, [wcf65]
+ jr nz, .cant_register
+ ld a, [wCurrPocket]
rrca
rrca
and $c0
ld b, a
- ld a, [ItemCountBuffer]
+ ld a, [CurItemQuantity]
inc a
and $3f
or b
@@ -575,12 +586,12 @@
ld de, SFX_FULL_HEAL
call WaitPlaySFX
ld hl, Text_RegisteredItem
- call Function10889
+ call Pack_PrintTextNoScroll
ret
-.asm_103f6
+.cant_register
ld hl, Text_CantRegister
- call Function10889
+ call Pack_PrintTextNoScroll
ret
; 103fd
@@ -587,10 +598,10 @@
GiveItem: ; 103fd
ld a, [PartyCount]
and a
- jp z, Function10486
+ jp z, .NoPokemon
ld a, [Options]
push af
- res 4, a
+ res NO_TEXT_SCROLL, a
ld [Options], a
ld a, $8
ld [PartyMenuActionText], a
@@ -598,7 +609,7 @@
callba LoadPartyMenuGFX
callba InitPartyMenuWithCancel
callba InitPartyMenuGFX
-.asm_10427
+.loop
callba WritePartyMenuTilemap
callba PrintPartyMenuText
call WaitBGMap
@@ -605,17 +616,15 @@
call SetPalettes
call DelayFrame
callba PartyMenuSelect
- jr c, .asm_10475
-
+ jr c, .finish
ld a, [CurPartySpecies]
cp EGG
- jr nz, .asm_10453
-
- ld hl, TextJump_AnEGGCantHoldAnItem
+ jr nz, .give
+ ld hl, .Egg
call PrintText
- jr .asm_10427
+ jr .loop
-.asm_10453
+.give
ld a, [wJumptableIndex]
push af
ld a, [wcf64]
@@ -622,31 +631,30 @@
push af
call GetCurNick
ld hl, StringBuffer1
- ld de, wd050
+ ld de, wMonOrItemNameBuffer
ld bc, PKMN_NAME_LENGTH
call CopyBytes
- call Function12bd9
+ call TryGiveItemToPartymon
pop af
ld [wcf64], a
pop af
ld [wJumptableIndex], a
-.asm_10475
+.finish
pop af
ld [Options], a
xor a
ld [hBGMapMode], a
- call Function10955
+ call Pack_InitGFX
call WaitBGMap_DrawPackGFX
- call Function10a40
+ call Pack_InitColors
ret
-Function10486: ; 10486 (4:4486)
+.NoPokemon: ; 10486 (4:4486)
ld hl, TextJump_YouDontHaveAPkmn
- call Function10889
+ call Pack_PrintTextNoScroll
ret
; 1048d (4:448d)
-
-TextJump_AnEGGCantHoldAnItem: ; 0x1048d
+.Egg: ; 0x1048d
; An EGG can't hold an item.
text_jump Text_AnEGGCantHoldAnItem
db "@"
@@ -656,118 +664,117 @@
ret
; 10493
-
BattlePack: ; 10493
ld hl, Options
- set 4, [hl]
- call Function1068a
+ set NO_TEXT_SCROLL, [hl]
+ call InitPackBuffers
.loop
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
jr nz, .end
- call Function104b9
+ call .RunJumptable
call DelayFrame
jr .loop
.end
- ld a, [wcf65]
+ ld a, [wCurrPocket]
ld [wLastPocket], a
ld hl, Options
- res 4, [hl]
+ res NO_TEXT_SCROLL, [hl]
ret
; 104b9
-Function104b9: ; 104b9
+.RunJumptable: ; 104b9
ld a, [wJumptableIndex]
- ld hl, Jumptable_104c3
- call Function1086b
+ ld hl, .Jumptable
+ call Pack_GetJumptablePointer
jp [hl]
+
; 104c3
+.Jumptable: ; 104c3 (4:44c3)
+
+ dw .InitGFX ; 0
+ dw .InitItemsPocket ; 1
+ dw .ItemsPocketMenu ; 2
+ dw .InitBallsPocket ; 3
+ dw .BallsPocketMenu ; 4
+ dw .InitKeyItemsPocket ; 5
+ dw .KeyItemsPocketMenu ; 6
+ dw .InitTMHMPocket ; 7
+ dw .TMHMPocketMenu ; 8
+ dw Pack_QuitNoScript ; 9
+ dw Pack_QuitRunScript ; 10
-Jumptable_104c3: ; 104c3 (4:44c3)
- dw Function104d9
- dw Function104e9
- dw Function104fa
- dw Function10594
- dw Function105a6
- dw Function10527
- dw Function10539
- dw Function10566
- dw Function10581
- dw Function10874
- dw Function1087e
-
-
-Function104d9: ; 104d9 (4:44d9)
+.InitGFX: ; 104d9 (4:44d9)
xor a
ld [hBGMapMode], a
- call Function10955
+ call Pack_InitGFX
ld a, [wcf64]
ld [wJumptableIndex], a
- call Function10a40
+ call Pack_InitColors
ret
-Function104e9: ; 104e9 (4:44e9)
+.InitItemsPocket: ; 104e9 (4:44e9)
xor a
- ld [wcf65], a
+ ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
call WaitBGMap_DrawPackGFX
- call Function10866
+ call Pack_JumptableNext
ret
-Function104fa: ; 104fa (4:44fa)
- ld hl, MenuDataHeader_0x10a4f
+.ItemsPocketMenu: ; 104fa (4:44fa)
+ ld hl, ItemsPocketMenuDataHeader
call CopyMenuDataHeader
ld a, [wItemsPocketCursor]
ld [wMenuCursorBuffer], a
ld a, [wItemsPocketScrollPosition]
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
+ call ScrollingMenu
ld a, [wMenuScrollPosition]
ld [wItemsPocketScrollPosition], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wItemsPocketCursor], a
ld b, $7
ld c, $3
- call Function108d4
+ call Pack_InterpretJoypad
ret c
- call Function105d3
+ call ItemSubmenu
ret
-Function10527: ; 10527 (4:4527)
+.InitKeyItemsPocket: ; 10527 (4:4527)
ld a, $2
- ld [wcf65], a
+ ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
call WaitBGMap_DrawPackGFX
- call Function10866
+ call Pack_JumptableNext
ret
-Function10539: ; 10539 (4:4539)
- ld hl, MenuDataHeader_0x10a7f
+.KeyItemsPocketMenu: ; 10539 (4:4539)
+ ld hl, KeyItemsPocketMenuDataHeader
call CopyMenuDataHeader
ld a, [wKeyItemsPocketCursor]
ld [wMenuCursorBuffer], a
ld a, [wKeyItemsPocketScrollPosition]
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
+ call ScrollingMenu
ld a, [wMenuScrollPosition]
ld [wKeyItemsPocketScrollPosition], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wKeyItemsPocketCursor], a
ld b, $3
ld c, $7
- call Function108d4
+ call Pack_InterpretJoypad
ret c
- call Function105d3
+ call ItemSubmenu
ret
-Function10566: ; 10566 (4:4566)
+.InitTMHMPocket: ; 10566 (4:4566)
ld a, $3
- ld [wcf65], a
+ ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
xor a
@@ -774,58 +781,58 @@
ld [hBGMapMode], a
call WaitBGMap_DrawPackGFX
ld hl, Text_PackEmptyString
- call Function10889
- call Function10866
+ call Pack_PrintTextNoScroll
+ call Pack_JumptableNext
ret
-Function10581: ; 10581 (4:4581)
- callba Function2c76f
+.TMHMPocketMenu: ; 10581 (4:4581)
+ callba TMHMPocket
ld b, $5
ld c, $1
- call Function108d4
+ call Pack_InterpretJoypad
ret c
xor a
- call Function105dc
+ call TMHMSubmenu
ret
-Function10594: ; 10594 (4:4594)
+.InitBallsPocket: ; 10594 (4:4594)
ld a, $1
- ld [wcf65], a
+ ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
call WaitBGMap_DrawPackGFX
- call Function10866
+ call Pack_JumptableNext
ret
-Function105a6: ; 105a6 (4:45a6)
- ld hl, MenuDataHeader_0x10aaf
+.BallsPocketMenu: ; 105a6 (4:45a6)
+ ld hl, BallsPocketMenuDataHeader
call CopyMenuDataHeader
ld a, [wBallsPocketCursor]
ld [wMenuCursorBuffer], a
ld a, [wBallsPocketScrollPosition]
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
+ call ScrollingMenu
ld a, [wMenuScrollPosition]
ld [wBallsPocketScrollPosition], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wBallsPocketCursor], a
ld b, $1
ld c, $5
- call Function108d4
+ call Pack_InterpretJoypad
ret c
- call Function105d3
+ call ItemSubmenu
ret
-Function105d3: ; 105d3 (4:45d3)
+ItemSubmenu: ; 105d3 (4:45d3)
callba CheckItemContext
ld a, [wItemAttributeParamBuffer]
-
-Function105dc: ; 105dc (4:45dc)
+TMHMSubmenu: ; 105dc (4:45dc)
and a
jr z, .NoUse
ld hl, .UsableMenuDataHeader
ld de, .UsableJumptable
jr .proceed
+
.NoUse
ld hl, .UnusableMenuDataHeader
ld de, .UnusableJumptable
@@ -832,16 +839,16 @@
.proceed
push de
call LoadMenuDataHeader
- call InterpretMenu2
+ call VerticalMenu
call ExitMenu
pop hl
ret c
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
- call Function1086b
+ call Pack_GetJumptablePointer
jp [hl]
-; 10601 (4:4601)
+; 10601 (4:4601)
.UsableMenuDataHeader: ; 0x10601
db $40 ; flags
db 07, 13 ; start coords
@@ -858,6 +865,7 @@
; 0x10614
.UsableJumptable: ; 10614
+
dw .Use
dw .Quit
; 10618
@@ -877,6 +885,7 @@
; 0x10627
.UnusableJumptable: ; 10627
+
dw .Quit
; 10629
@@ -888,6 +897,7 @@
ret
.ItemFunctionJumptable: ; 10637 (4:4637)
+
dw .Oak
dw .Oak
dw .Oak
@@ -896,64 +906,61 @@
dw .BattleField
dw .BattleOnly
-
.Oak: ; 10645 (4:4645)
ld hl, Text_ThisIsntTheTime
- call Function10889
+ call Pack_PrintTextNoScroll
ret
.Unused: ; 1064c (4:464c)
call DoItemEffect
- ld a, [wd0ec]
+ ld a, [wItemEffectSucceeded]
and a
- jr nz, .asm_1066c
+ jr nz, .ReturnToBattle
ret
.BattleField: ; 10656 (4:4656)
call DoItemEffect
- ld a, [wd0ec]
+ ld a, [wItemEffectSucceeded]
and a
- jr nz, .asm_1067e
+ jr nz, .quit_run_script
xor a
ld [hBGMapMode], a
- call Function10955
+ call Pack_InitGFX
call WaitBGMap_DrawPackGFX
- call Function10a40
+ call Pack_InitColors
ret
-.asm_1066c: ; 1066c (4:466c)
+.ReturnToBattle: ; 1066c (4:466c)
call ClearBGPalettes
- jr .asm_1067e
+ jr .quit_run_script
.BattleOnly: ; 10671 (4:4671)
call DoItemEffect
- ld a, [wd0ec]
+ ld a, [wItemEffectSucceeded]
and a
jr z, .Oak
cp $2
- jr z, .asm_10684
-.asm_1067e: ; 1067e (4:467e)
- ld a, $a
+ jr z, .didnt_use_item
+.quit_run_script: ; 1067e (4:467e)
+ ld a, 10
ld [wJumptableIndex], a
ret
-.asm_10684: ; 10684 (4:4684)
+.didnt_use_item: ; 10684 (4:4684)
xor a
- ld [wd0ec], a
+ ld [wItemEffectSucceeded], a
ret
; 10689 (4:4689)
-
.Quit: ; 10689
ret
; 1068a
-
-Function1068a: ; 1068a
+InitPackBuffers: ; 1068a
xor a
ld [wJumptableIndex], a
ld a, [wLastPocket]
and $3
- ld [wcf65], a
+ ld [wCurrPocket], a
inc a
add a
dec a
@@ -961,59 +968,58 @@
xor a
ld [wcf66], a
xor a
- ld [wd0e3], a
+ ld [wSwitchItem], a
ret
; 106a5
-Function106a5: ; 106a5
+DepositSellInitPackBuffers: ; 106a5
xor a
ld [hBGMapMode], a
ld [wJumptableIndex], a
ld [wcf64], a
- ld [wcf65], a
+ ld [wCurrPocket], a
ld [wcf66], a
- ld [wd0e3], a
- call Function10955
- call Function10a40
+ ld [wSwitchItem], a
+ call Pack_InitGFX
+ call Pack_InitColors
ret
; 106be
-Function106be: ; 106be
-.asm_106be
- call Function106c7
- call Function1076f
- jr c, .asm_106be
+DepositSellPack: ; 106be
+.loop
+ call .RunJumptable
+ call DepositSellTutorial_InterpretJoypad
+ jr c, .loop
ret
; 106c7
-Function106c7: ; 106c7
+.RunJumptable: ; 106c7
ld a, [wJumptableIndex]
- ld hl, Jumptable_106d1
- call Function1086b
+ ld hl, .Jumptable
+ call Pack_GetJumptablePointer
jp [hl]
+
; 106d1
-
-Jumptable_106d1: ; 106d1 (4:46d1)
+.Jumptable: ; 106d1 (4:46d1)
+
dw .ItemsPocket
dw .BallsPocket
dw .KeyItemsPocket
dw .TMHMPocket
-
-
.ItemsPocket: ; 106d9 (4:46d9)
xor a
call InitPocket
- ld hl, MenuDataHeader_0x10a67
+ ld hl, PC_Mart_ItemsPocketMenuDataHeader
call CopyMenuDataHeader
ld a, [wItemsPocketCursor]
ld [wMenuCursorBuffer], a
ld a, [wItemsPocketScrollPosition]
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
+ call ScrollingMenu
ld a, [wMenuScrollPosition]
ld [wItemsPocketScrollPosition], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wItemsPocketCursor], a
ret
@@ -1020,16 +1026,16 @@
.KeyItemsPocket: ; 106ff (4:46ff)
ld a, 2
call InitPocket
- ld hl, MenuDataHeader_0x10a97
+ ld hl, PC_Mart_KeyItemsPocketMenuDataHeader
call CopyMenuDataHeader
ld a, [wKeyItemsPocketCursor]
ld [wMenuCursorBuffer], a
ld a, [wKeyItemsPocketScrollPosition]
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
+ call ScrollingMenu
ld a, [wMenuScrollPosition]
ld [wKeyItemsPocketScrollPosition], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wKeyItemsPocketCursor], a
ret
@@ -1037,7 +1043,7 @@
ld a, 3
call InitPocket
call WaitBGMap_DrawPackGFX
- callba Function2c76f
+ callba TMHMPocket
ld a, [CurItem]
ld [CurItem], a
ret
@@ -1045,75 +1051,74 @@
.BallsPocket: ; 1073b (4:473b)
ld a, 1
call InitPocket
- ld hl, MenuDataHeader_0x10ac7
+ ld hl, PC_Mart_BallsPocketMenuDataHeader
call CopyMenuDataHeader
ld a, [wBallsPocketCursor]
ld [wMenuCursorBuffer], a
ld a, [wBallsPocketScrollPosition]
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
+ call ScrollingMenu
ld a, [wMenuScrollPosition]
ld [wBallsPocketScrollPosition], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wBallsPocketCursor], a
ret
InitPocket: ; 10762 (4:4762)
- ld [wcf65], a
+ ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
call WaitBGMap_DrawPackGFX
ret
-
-Function1076f: ; 1076f
- ld hl, wcf73
+DepositSellTutorial_InterpretJoypad: ; 1076f
+ ld hl, wMenuJoypad
ld a, [hl]
- and $1
- jr nz, .asm_10788
+ and A_BUTTON
+ jr nz, .a_button
ld a, [hl]
- and $2
- jr nz, .asm_1078f
+ and B_BUTTON
+ jr nz, .b_button
ld a, [hl]
- and $20
- jr nz, .asm_10795
+ and D_LEFT
+ jr nz, .d_left
ld a, [hl]
- and $10
- jr nz, .asm_107a8
+ and D_RIGHT
+ jr nz, .d_right
scf
ret
-.asm_10788
- ld a, $1
+.a_button
+ ld a, TRUE
ld [wcf66], a
and a
ret
-.asm_1078f
+.b_button
xor a
ld [wcf66], a
and a
ret
-.asm_10795
+.d_left
ld a, [wJumptableIndex]
dec a
and $3
ld [wJumptableIndex], a
push de
- ld de, SFX_UNKNOWN_62
+ ld de, SFX_SWITCH_POCKETS
call PlaySFX
pop de
scf
ret
-.asm_107a8
+.d_right
ld a, [wJumptableIndex]
inc a
and $3
ld [wJumptableIndex], a
push de
- ld de, SFX_UNKNOWN_62
+ ld de, SFX_SWITCH_POCKETS
call PlaySFX
pop de
scf
@@ -1121,15 +1126,14 @@
; 107bb
TutorialPack: ; 107bb
- call Function106a5
+ call DepositSellInitPackBuffers
ld a, [InputType]
or a
jr z, .loop
callba _DudeAutoInput_RightA
-
.loop
- call Function107d7
- call Function1076f
+ call .RunJumptable
+ call DepositSellTutorial_InterpretJoypad
jr c, .loop
xor a
ld [wcf66], a
@@ -1136,116 +1140,116 @@
ret
; 107d7
-Function107d7: ; 107d7
+.RunJumptable: ; 107d7
ld a, [wJumptableIndex]
- ld hl, .jumptable
- call Function1086b
+ ld hl, .dw
+ call Pack_GetJumptablePointer
jp [hl]
+
; 107e1
+.dw: ; 107e1 (4:47e1)
+
+ dw .Items
+ dw .Balls
+ dw .KeyItems
+ dw .TMHM
-.jumptable: ; 107e1 (4:47e1)
- dw Function107e9
- dw Function1083b
- dw Function10807
- dw Function10826
-
-
-Function107e9: ; 107e9 (4:47e9)
+.Items: ; 107e9 (4:47e9)
xor a
- ld hl, MenuDataHeader_0x107ef
- jr Function1085a
-; 107ef (4:47ef)
+ ld hl, .ItemsMenuDataHeader
+ jr .DisplayPocket
-MenuDataHeader_0x107ef: ; 0x107ef
+; 107ef (4:47ef)
+.ItemsMenuDataHeader: ; 0x107ef
db $40 ; flags
db 01, 07 ; start coords
db 11, 19 ; end coords
- dw .MenuData2
+ dw .ItemsMenuData2
db 1 ; default option
; 0x107f7
-.MenuData2: ; 0x107f7
+.ItemsMenuData2: ; 0x107f7
db $ae ; flags
db 5, 8 ; rows, columns
db 2 ; horizontal spacing
- dbw 0, OTPartyMons
+ dbw 0, wDudeNumItems
dba PlaceMenuItemName
dba PlaceMenuItemQuantity
dba UpdateItemDescription
; 10807
-Function10807: ; 10807 (4:4807)
+.KeyItems: ; 10807 (4:4807)
ld a, 2
- ld hl, MenuDataHeader_0x1080e
- jr Function1085a
-; 1080e (4:480e)
+ ld hl, .KeyItemsMenuDataHeader
+ jr .DisplayPocket
-MenuDataHeader_0x1080e: ; 0x1080e
+; 1080e (4:480e)
+.KeyItemsMenuDataHeader: ; 0x1080e
db $40 ; flags
db 01, 07 ; start coords
db 11, 19 ; end coords
- dw .MenuData2
+ dw .KeyItemsMenuData2
db 1 ; default option
; 0x10816
-.MenuData2: ; 0x10816
+.KeyItemsMenuData2: ; 0x10816
db $ae ; flags
db 5, 8 ; rows, columns
db 1 ; horizontal spacing
- dbw 0, OTPartyMon1Exp + 2
+ dbw 0, wDudeNumKeyItems
dba PlaceMenuItemName
dba PlaceMenuItemQuantity
dba UpdateItemDescription
; 10826
-Function10826: ; 10826 (4:4826)
+.TMHM: ; 10826 (4:4826)
ld a, 3
call InitPocket
call WaitBGMap_DrawPackGFX
- callba Function2c76f
+ callba TMHMPocket
ld a, [CurItem]
ld [CurItem], a
ret
-Function1083b: ; 1083b (4:483b)
+.Balls: ; 1083b (4:483b)
ld a, 1
- ld hl, MenuDataHeader_0x10842
- jr Function1085a
-; 10842 (4:4842)
+ ld hl, .BallsMenuDataHeader
+ jr .DisplayPocket
-MenuDataHeader_0x10842: ; 0x10842
+; 10842 (4:4842)
+.BallsMenuDataHeader: ; 0x10842
db $40 ; flags
db 01, 07 ; start coords
db 11, 19 ; end coords
- dw .MenuData2
+ dw .BallsMenuData2
db 1 ; default option
; 0x1084a
-.MenuData2: ; 0x1084a
+.BallsMenuData2: ; 0x1084a
db $ae ; flags
db 5, 8 ; rows, columns
db 2 ; horizontal spacing
- dbw 0, OTPartyMon1CaughtGender
+ dbw 0, wDudeNumBalls
dba PlaceMenuItemName
dba PlaceMenuItemQuantity
dba UpdateItemDescription
; 1085a
-Function1085a: ; 1085a (4:485a)
+.DisplayPocket: ; 1085a (4:485a)
push hl
call InitPocket
pop hl
call CopyMenuDataHeader
- call HandleScrollingMenu
+ call ScrollingMenu
ret
-Function10866: ; 10866 (4:4866)
+Pack_JumptableNext: ; 10866 (4:4866)
ld hl, wJumptableIndex
inc [hl]
ret
-Function1086b: ; 1086b
+Pack_GetJumptablePointer: ; 1086b
ld e, a
ld d, 0
rept 2
@@ -1257,7 +1261,7 @@
ret
; 10874
-Function10874: ; 10874 (4:4874)
+Pack_QuitNoScript: ; 10874 (4:4874)
ld hl, wJumptableIndex
set 7, [hl]
xor a
@@ -1264,17 +1268,17 @@
ld [wcf66], a
ret
-Function1087e: ; 1087e (4:487e)
+Pack_QuitRunScript: ; 1087e (4:487e)
ld hl, wJumptableIndex
set 7, [hl]
- ld a, $1
+ ld a, TRUE
ld [wcf66], a
ret
-Function10889: ; 10889 (4:4889)
+Pack_PrintTextNoScroll: ; 10889 (4:4889)
ld a, [Options]
push af
- set 4, a
+ set NO_TEXT_SCROLL, a
ld [Options], a
call PrintText
pop af
@@ -1283,10 +1287,8 @@
WaitBGMap_DrawPackGFX: ; 1089a (4:489a)
call WaitBGMap
-
-
DrawPackGFX: ; 1089d
- ld a, [wcf65]
+ ld a, [wCurrPocket]
and $3
ld e, a
ld d, $0
@@ -1296,7 +1298,6 @@
ld a, [PlayerGender]
bit 0, a
jr nz, .female
-
.male_dude
ld hl, PackGFXPointers
rept 2
@@ -1322,85 +1323,91 @@
dw PackGFX + $f0 * 2
; 108d4
-Function108d4: ; 108d4 (4:48d4)
- ld hl, wcf73
- ld a, [wd0e3]
+Pack_InterpretJoypad: ; 108d4 (4:48d4)
+ ld hl, wMenuJoypad
+ ld a, [wSwitchItem]
and a
- jr nz, .asm_10931
+ jr nz, .switching_item
ld a, [hl]
- and $1
- jr nz, .asm_108f8
+ and A_BUTTON
+ jr nz, .a_button
ld a, [hl]
- and $2
- jr nz, .asm_108fa
+ and B_BUTTON
+ jr nz, .b_button
ld a, [hl]
- and $20
- jr nz, .asm_10901
+ and D_LEFT
+ jr nz, .d_left
ld a, [hl]
- and $10
- jr nz, .asm_10912
+ and D_RIGHT
+ jr nz, .d_right
ld a, [hl]
- and $4
- jr nz, .asm_10923
+ and SELECT
+ jr nz, .select
scf
ret
-.asm_108f8
+
+.a_button
and a
ret
-.asm_108fa
- ld a, $9
+
+.b_button
+ ld a, 9
ld [wJumptableIndex], a
scf
ret
-.asm_10901
+
+.d_left
ld a, b
ld [wJumptableIndex], a
ld [wcf64], a
push de
- ld de, SFX_UNKNOWN_62
+ ld de, SFX_SWITCH_POCKETS
call PlaySFX
pop de
scf
ret
-.asm_10912
+
+.d_right
ld a, c
ld [wJumptableIndex], a
ld [wcf64], a
push de
- ld de, SFX_UNKNOWN_62
+ ld de, SFX_SWITCH_POCKETS
call PlaySFX
pop de
scf
ret
-.asm_10923
- callba Function2490c
+
+.select
+ callba SwitchItemsInBag
ld hl, Text_MoveItemWhere
- call Function10889
+ call Pack_PrintTextNoScroll
scf
ret
-.asm_10931
+
+.switching_item
ld a, [hl]
- and $5
- jr nz, .asm_1093d
+ and A_BUTTON | SELECT
+ jr nz, .place_insert
ld a, [hl]
- and $2
- jr nz, .asm_1094f
+ and B_BUTTON
+ jr nz, .end_switch
scf
ret
-.asm_1093d
- callba Function2490c
+
+.place_insert
+ callba SwitchItemsInBag
ld de, SFX_SWITCH_POKEMON
call WaitPlaySFX
ld de, SFX_SWITCH_POKEMON
call WaitPlaySFX
-.asm_1094f
+.end_switch
xor a
- ld [wd0e3], a
+ ld [wSwitchItem], a
scf
ret
-
-Function10955: ; 10955
+Pack_InitGFX: ; 10955
call ClearBGPalettes
call ClearTileMap
call ClearSprites
@@ -1410,18 +1417,15 @@
ld bc, $60 tiles
ld a, BANK(PackMenuGFX)
call FarCopyBytes
-
; Background (blue if male, pink if female)
hlcoord 0, 1
ld bc, 11 * SCREEN_WIDTH
ld a, $24
call ByteFill
-
; This is where the items themselves will be listed.
hlcoord 5, 1
lb bc, 11, 15
call ClearBox
-
; ◀▶ POCKET ▼▲ ITEMS
hlcoord 0, 0
ld a, $28
@@ -1431,10 +1435,8 @@
inc a
dec c
jr nz, .loop
-
call DrawPocketName
call PlacePackGFX
-
; Place the textbox for displaying the item description
hlcoord 0, SCREEN_HEIGHT - 4 - 2
lb bc, 4, SCREEN_WIDTH - 2
@@ -1463,13 +1465,11 @@
; 109bb
DrawPocketName: ; 109bb
- ld a, [wcf65]
-
+ ld a, [wCurrPocket]
; * 15
ld d, a
swap a
sub d
-
ld d, 0
ld e, a
ld hl, .tilemap
@@ -1499,15 +1499,12 @@
db $00, $04, $04, $04, $01 ; top border
db $06, $07, $08, $09, $0a ; Items
db $02, $05, $05, $05, $03 ; bottom border
-
db $00, $04, $04, $04, $01 ; top border
db $15, $16, $17, $18, $19 ; Balls
db $02, $05, $05, $05, $03 ; bottom border
-
db $00, $04, $04, $04, $01 ; top border
db $0b, $0c, $0d, $0e, $0f ; Key Items
db $02, $05, $05, $05, $03 ; bottom border
-
db $00, $04, $04, $04, $01 ; top border
db $10, $11, $12, $13, $14 ; TM/HM
db $02, $05, $05, $05, $03 ; bottom border
@@ -1536,10 +1533,9 @@
call ClearBox
ret
-
-Function10a40: ; 10a40
+Pack_InitColors: ; 10a40
call WaitBGMap
- ld b, SCREEN_WIDTH
+ ld b, SCGB_PACKPALS
call GetSGBLayout
call SetPalettes
call DelayFrame
@@ -1546,15 +1542,15 @@
ret
; 10a4f
-MenuDataHeader_0x10a4f: ; 0x10a4f
+ItemsPocketMenuDataHeader: ; 0x10a4f
db $40 ; flags
db 01, 07 ; start coords
db 11, 19 ; end coords
- dw MenuData2_0x10a57
+ dw .MenuData2
db 1 ; default option
; 0x10a57
-MenuData2_0x10a57: ; 0x10a57
+.MenuData2: ; 0x10a57
db $ae ; flags
db 5, 8 ; rows, columns
db 2 ; horizontal spacing
@@ -1564,15 +1560,15 @@
dba UpdateItemDescription
; 10a67
-MenuDataHeader_0x10a67: ; 0x10a67
+PC_Mart_ItemsPocketMenuDataHeader: ; 0x10a67
db $40 ; flags
db 01, 07 ; start coords
db 11, 19 ; end coords
- dw MenuData2_0x10a6f
+ dw .MenuData2
db 1 ; default option
; 0x10a6f
-MenuData2_0x10a6f: ; 0x10a6f
+.MenuData2: ; 0x10a6f
db $2e ; flags
db 5, 8 ; rows, columns
db 2 ; horizontal spacing
@@ -1582,15 +1578,15 @@
dba UpdateItemDescription
; 10a7f
-MenuDataHeader_0x10a7f: ; 0x10a7f
+KeyItemsPocketMenuDataHeader: ; 0x10a7f
db $40 ; flags
db 01, 07 ; start coords
db 11, 19 ; end coords
- dw MenuData2_0x10a87
+ dw .MenuData2
db 1 ; default option
; 0x10a87
-MenuData2_0x10a87: ; 0x10a87
+.MenuData2: ; 0x10a87
db $ae ; flags
db 5, 8 ; rows, columns
db 1 ; horizontal spacing
@@ -1600,15 +1596,15 @@
dba UpdateItemDescription
; 10a97
-MenuDataHeader_0x10a97: ; 0x10a97
+PC_Mart_KeyItemsPocketMenuDataHeader: ; 0x10a97
db $40 ; flags
db 01, 07 ; start coords
db 11, 19 ; end coords
- dw MenuData2_0x10a9f
+ dw .MenuData2
db 1 ; default option
; 0x10a9f
-MenuData2_0x10a9f: ; 0x10a9f
+.MenuData2: ; 0x10a9f
db $2e ; flags
db 5, 8 ; rows, columns
db 1 ; horizontal spacing
@@ -1618,15 +1614,15 @@
dba UpdateItemDescription
; 10aaf
-MenuDataHeader_0x10aaf: ; 0x10aaf
+BallsPocketMenuDataHeader: ; 0x10aaf
db $40 ; flags
db 01, 07 ; start coords
db 11, 19 ; end coords
- dw MenuData2_0x10ab7
+ dw .MenuData2
db 1 ; default option
; 0x10ab7
-MenuData2_0x10ab7: ; 0x10ab7
+.MenuData2: ; 0x10ab7
db $ae ; flags
db 5, 8 ; rows, columns
db 2 ; horizontal spacing
@@ -1636,15 +1632,15 @@
dba UpdateItemDescription
; 10ac7
-MenuDataHeader_0x10ac7: ; 0x10ac7
+PC_Mart_BallsPocketMenuDataHeader: ; 0x10ac7
db $40 ; flags
db 01, 07 ; start coords
db 11, 19 ; end coords
- dw MenuData2_0x10acf
+ dw .MenuData2
db 1 ; default option
; 0x10acf
-MenuData2_0x10acf: ; 0x10acf
+.MenuData2: ; 0x10acf
db $2e ; flags
db 5, 8 ; rows, columns
db 2 ; horizontal spacing
@@ -1723,6 +1719,5 @@
PackMenuGFX:
INCBIN "gfx/misc/pack_menu.2bpp"
-
PackGFX:
INCBIN "gfx/misc/pack.2bpp"
--- a/engine/party_menu.asm
+++ b/engine/party_menu.asm
@@ -8,12 +8,12 @@
call SetPalettes
call DelayFrame
call PartyMenuSelect
- call Function2b74
+ call ReturnToMapWithSpeechTextbox
ret
; 5001d
-Function5001d: ; 5001d
+SelectTradeOrDaycareMon: ; 5001d
ld a, b
ld [PartyMenuActionText], a
call DisableSpriteUpdates
@@ -25,7 +25,7 @@
call SetPalettes
call DelayFrame
call PartyMenuSelect
- call Function2b74
+ call ReturnToMapWithSpeechTextbox
ret
; 5003f
@@ -41,7 +41,7 @@
LoadPartyMenuGFX: ; 5004f
call LoadFontsBattleExtra
callab Function8ad1 ; engine/color.asm
- callab ClearSpriteAnims
+ callab ClearSpriteAnims2
ret
; 5005f
@@ -125,7 +125,7 @@
PlacePartyHPBar: ; 500cf
xor a
- ld [wcda9], a
+ ld [wSGBPals], a
ld a, [PartyCount]
and a
ret z
@@ -143,17 +143,16 @@
ld d, $6
ld b, $0
call DrawBattleHPBar
- ld hl, wcd9b
- ld a, [wcda9]
+ ld hl, wHPPals
+ ld a, [wSGBPals]
ld c, a
ld b, $0
add hl, bc
call SetHPPal
- ld b, SCGB_FC
+ ld b, SCGB_PARTY_MENU_HP_PALS
call GetSGBLayout
-
.skip
- ld hl, wcda9
+ ld hl, wSGBPals
inc [hl]
pop hl
ld de, 2 * SCREEN_WIDTH
@@ -190,7 +189,7 @@
ld d, a
ld a, [hli]
ld e, a
- predef DrawPartyMenuHPBar
+ predef ComputeHPBarPixels
ret
; 50138
@@ -670,7 +669,7 @@
pop bc
dec c
jr nz, .loop
- callab Function8cf69
+ callab PlaySpriteAnimations
ret
; 50405
@@ -679,10 +678,10 @@
xor a
ld [wSwitchMon], a
ld de, PartyMenuAttributes
- call InitMenu3
+ call SetMenuAttributes
ld a, [PartyCount]
inc a
- ld [wcfa3], a ; list length
+ ld [w2DMenuNumRows], a ; list length
dec a
ld b, a
ld a, [wPartyMenuCursor]
@@ -693,12 +692,12 @@
jr c, .done
.skip
- ld a, $1
+ ld a, 1
.done
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld a, A_BUTTON | B_BUTTON
- ld [wcfa8], a
+ ld [wMenuJoypadFilter], a
ret
; 5042d
@@ -705,9 +704,9 @@
InitPartyMenuNoCancel: ; 0x5042d
; no cancel
ld de, PartyMenuAttributes
- call InitMenu3
+ call SetMenuAttributes
ld a, [PartyCount]
- ld [wcfa3], a ; list length
+ ld [w2DMenuNumRows], a ; list length
ld b, a
ld a, [wPartyMenuCursor]
and a
@@ -716,11 +715,11 @@
cp b
jr c, .done
.skip
- ld a, $1
+ ld a, 1
.done
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld a, A_BUTTON | B_BUTTON
- ld [wcfa8], a
+ ld [wMenuJoypadFilter], a
ret
; 5044f (14:444f)
@@ -727,23 +726,27 @@
PartyMenuAttributes: ; 5044f
; cursor y
; cursor x
-; list length
-; ?
+; num rows
+; num cols
; bit 6: animate sprites bit 5: wrap around
; ?
; distance between items (hi: y, lo: x)
; allowed buttons (mask)
- db $01, $00, $00, $01, $60, $00, $20, $00
+ db 1, 0
+ db 0, 1
+ db $60, $00
+ dn 2, 0
+ db 0
; 50457
PartyMenuSelect: ; 0x50457
; sets carry if exitted menu.
- call Function1bc9
- call Function1bee
+ call StaticMenuJoypad
+ call PlaceHollowCursor
ld a, [PartyCount]
inc a
ld b, a
- ld a, [MenuSelection2] ; menu selection?
+ ld a, [wMenuCursorY] ; menu selection?
cp b
jr z, .exitmenu ; CANCEL
ld [wPartyMenuCursor], a
@@ -751,7 +754,7 @@
ld b, a
bit 1, b
jr nz, .exitmenu ; B button?
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld [CurPartyMon], a
ld c, a
--- a/engine/phone.asm
+++ b/engine/phone.asm
@@ -274,7 +274,7 @@
push hl
call LoadCallerScript
pop hl
- ld de, wd048
+ ld de, wPhoneScriptPointer
ld a, [hli]
ld [de], a
inc de
@@ -442,10 +442,10 @@
Script_ReceivePhoneCall: ; 0x90241
refreshscreen $0
callasm RingTwice_StartCall
- ptcall wd048
- closetext
+ ptcall wPhoneScriptPointer
+ waitbutton
callasm HangUp
- loadmovesprites
+ closetext
callasm InitCallReceiveDelay
end
; 0x90255
--- a/engine/phone_scripts.asm
+++ b/engine/phone_scripts.asm
@@ -1,3 +1,6 @@
+SWARM_DUNSPARCE EQU 0
+SWARM_YANMA EQU 1
+
UnusedPhoneScript: ; 0xbcea5
farwritetext UnusedPhoneText
end
@@ -19,7 +22,7 @@
checkevent EVENT_IN_YOUR_ROOM
iftrue MomPhoneHangUpScript
farwritetext MomPhoneGreetingText
- keeptextopen
+ buttonsound
mapnametotext $0
checkcode VAR_ROOFPALETTE
if_equal $1, UnknownScript_0xbcee7
@@ -28,7 +31,7 @@
UnknownScript_0xbcedf: ; 0xbcedf
farwritetext UnknownText_0x1b4021
- keeptextopen
+ buttonsound
jump UnknownScript_0xbcf37
UnknownScript_0xbcee7: ; 0xbcee7
@@ -39,37 +42,37 @@
if_equal GROUP_AZALEA_TOWN, .azalea
if_equal GROUP_GOLDENROD_CITY, .goldenrod
farwritetext MomPhoneGenericAreaText
- keeptextopen
+ buttonsound
jump UnknownScript_0xbcf37
.newbark ; 0xbcf05
farwritetext MomPhoneNewBarkText
- keeptextopen
+ buttonsound
jump UnknownScript_0xbcf37
.cherrygrove ; 0xbcf0d
farwritetext MomPhoneCherrygroveText
- keeptextopen
+ buttonsound
jump UnknownScript_0xbcf37
.violet ; 0xbcf15
- displaylocation SPROUT_TOWER, 1
+ landmarktotext SPROUT_TOWER, 1
jump UnknownScript_0xbcedf
.azalea ; 0xbcf1b
- displaylocation SLOWPOKE_WELL, 1
+ landmarktotext SLOWPOKE_WELL, 1
jump UnknownScript_0xbcedf
.goldenrod ; 0xbcf21
- displaylocation RADIO_TOWER, 1
+ landmarktotext RADIO_TOWER, 1
jump UnknownScript_0xbcedf
UnknownScript_0xbcf27: ; 0xbcf27
farwritetext UnknownText_0x1b411c
- keeptextopen
+ buttonsound
jump UnknownScript_0xbcf37
UnknownScript_0xbcf2f: ; 0xbcf2f
farwritetext UnknownText_0x1b4150
- keeptextopen
+ buttonsound
jump UnknownScript_0xbcf37
UnknownScript_0xbcf37: ; 0xbcf37
@@ -113,13 +116,13 @@
MomPhoneSaveMoneyScript: ; 0xbcf87
setflag ENGINE_MOM_SAVING_MONEY
farwritetext UnknownText_0x1b4289
- keeptextopen
+ buttonsound
jump MomPhoneHangUpScript
MomPhoneWontSaveMoneyScript: ; 0xbcf92
clearflag ENGINE_MOM_SAVING_MONEY
farwritetext MomPhoneWontSaveMoneyText
- keeptextopen
+ buttonsound
jump MomPhoneHangUpScript
MomPhoneHangUpScript: ; 0xbcf9d
@@ -155,22 +158,22 @@
checknite
iftrue .nitegreet
farwritetext BillPhoneMornGreetingText
- keeptextopen
+ buttonsound
jump .main
.daygreet ; 0xbcfd7
farwritetext BillPhoneDayGreetingText
- keeptextopen
+ buttonsound
jump .main
.nitegreet ; 0xbcfdf
farwritetext BillPhoneNiteGreetingText
- keeptextopen
+ buttonsound
jump .main
.main ; 0xbcfe7
farwritetext BillPhoneGeneriText
- keeptextopen
+ buttonsound
checkcode VAR_BOXSPACE
RAM2MEM $0
if_equal $0, .full
@@ -188,7 +191,7 @@
BillPhoneScript2: ; 0xbd007
farwritetext BillPhoneNewlyFullText
- closetext
+ waitbutton
end
; Elm
@@ -302,7 +305,7 @@
trainertotext SCHOOLBOY, JACK1, $0
checkflag ENGINE_JACK
iftrue UnknownScript_0xbd0f3
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_JACK_MONDAY_MORNING
iftrue UnknownScript_0xbd0ef
checkcode VAR_WEEKDAY
@@ -314,23 +317,23 @@
farjump UnknownScript_0xa08f8
UnknownScript_0xbd0f3:
- displaylocation NATIONAL_PARK, $2
+ landmarktotext NATIONAL_PARK, $2
farjump UnknownScript_0xa0a2d
JackPhoneScript2:
trainertotext SCHOOLBOY, JACK1, $0
- farscall UnknownScript_0xbe1b6
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_GreetPhone_Male
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd13b
checkflag ENGINE_JACK
iftrue UnknownScript_0xbd11e
checkflag ENGINE_JACK_MONDAY_MORNING
iftrue UnknownScript_0xbd11e
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd12d
UnknownScript_0xbd11e:
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbd137
farjump UnknownScript_0xa0000
@@ -338,7 +341,7 @@
setflag ENGINE_JACK_MONDAY_MORNING
UnknownScript_0xbd12d:
- displaylocation NATIONAL_PARK, $2
+ landmarktotext NATIONAL_PARK, $2
setflag ENGINE_JACK
farjump UnknownScript_0xa0376
@@ -352,21 +355,21 @@
BeverlyPhoneScript1:
trainertotext POKEFANF, BEVERLY1, $0
- farscall UnknownScript_0xbe0b6
+ farscall PhoneScript_AnswerPhone_Female
checkflag ENGINE_BEVERLY_HAS_NUGGET
iftrue UnknownScript_0xbd151
farjump UnknownScript_0xa0900
UnknownScript_0xbd151:
- displaylocation NATIONAL_PARK, $2
+ landmarktotext NATIONAL_PARK, $2
farjump UnknownScript_0xa0aa5
BeverlyPhoneScript2:
trainertotext POKEFANF, BEVERLY1, $0
- farscall UnknownScript_0xbe41e
+ farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_BEVERLY_HAS_NUGGET
iftrue UnknownScript_0xbd16e
- farscall UnknownScript_0xbde45
+ farscall PhoneScript_Random4
if_equal $0, UnknownScript_0xbd172
UnknownScript_0xbd16e:
@@ -374,7 +377,7 @@
UnknownScript_0xbd172:
setflag ENGINE_BEVERLY_HAS_NUGGET
- displaylocation NATIONAL_PARK, $2
+ landmarktotext NATIONAL_PARK, $2
farjump UnknownScript_0xa061e
; Huey
@@ -383,7 +386,7 @@
trainertotext SAILOR, HUEY1, $0
checkflag ENGINE_HUEY
iftrue UnknownScript_0xbd1a2
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_HUEY_WEDNESDAY_NIGHT
iftrue UnknownScript_0xbd19b
checkcode VAR_WEEKDAY
@@ -396,28 +399,28 @@
farjump UnknownScript_0xa0908
UnknownScript_0xbd1a2:
- displaylocation LIGHTHOUSE, $2
+ landmarktotext LIGHTHOUSE, $2
farjump UnknownScript_0xa0a32
HueyPhoneScript2:
trainertotext SAILOR, HUEY1, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_HUEY
iftrue UnknownScript_0xbd1c9
checkflag ENGINE_HUEY_WEDNESDAY_NIGHT
iftrue UnknownScript_0xbd1c9
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbd1d0
if_equal $1, UnknownScript_0xbd1d0
UnknownScript_0xbd1c9:
- farjump UnknownScript_0xbe622
+ farjump PhoneScript_MonFlavorText
UnknownScript_0xbd1cd:
setflag ENGINE_HUEY_WEDNESDAY_NIGHT
UnknownScript_0xbd1d0:
- displaylocation LIGHTHOUSE, $2
+ landmarktotext LIGHTHOUSE, $2
setflag ENGINE_HUEY
farjump UnknownScript_0xa0376
@@ -427,7 +430,7 @@
trainertotext COOLTRAINERM, GAVEN3, $0
checkflag ENGINE_GAVEN
iftrue UnknownScript_0xbd1fd
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_GAVEN_THURSDAY_MORNING
iftrue UnknownScript_0xbd1f9
checkcode VAR_WEEKDAY
@@ -439,21 +442,21 @@
farjump UnknownScript_0xa0910
UnknownScript_0xbd1fd:
- displaylocation ROUTE_26, $2
+ landmarktotext ROUTE_26, $2
farjump UnknownScript_0xa0a37
GavenPhoneScript2:
trainertotext COOLTRAINERM, GAVEN3, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_GAVEN
iftrue UnknownScript_0xbd220
checkflag ENGINE_GAVEN_THURSDAY_MORNING
iftrue UnknownScript_0xbd220
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd22f
UnknownScript_0xbd220:
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbd239
farjump UnknownScript_0xa0000
@@ -461,7 +464,7 @@
setflag ENGINE_GAVEN_THURSDAY_MORNING
UnknownScript_0xbd22f:
- displaylocation ROUTE_26, $2
+ landmarktotext ROUTE_26, $2
setflag ENGINE_GAVEN
farjump UnknownScript_0xa0376
@@ -474,7 +477,7 @@
trainertotext COOLTRAINERF, BETH1, $0
checkflag ENGINE_BETH
iftrue UnknownScript_0xbd260
- farscall UnknownScript_0xbe0b6
+ farscall PhoneScript_AnswerPhone_Female
checkflag ENGINE_BETH_FRIDAY_AFTERNOON
iftrue UnknownScript_0xbd25c
checkcode VAR_WEEKDAY
@@ -486,17 +489,17 @@
farjump UnknownScript_0xa0918
UnknownScript_0xbd260:
- displaylocation ROUTE_26, $2
+ landmarktotext ROUTE_26, $2
farjump UnknownScript_0xa0a3c
BethPhoneScript2:
trainertotext COOLTRAINERF, BETH1, $0
- farscall UnknownScript_0xbe41e
+ farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_BETH
iftrue UnknownScript_0xbd283
checkflag ENGINE_BETH_FRIDAY_AFTERNOON
iftrue UnknownScript_0xbd283
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd28a
UnknownScript_0xbd283:
@@ -506,7 +509,7 @@
setflag ENGINE_BETH_FRIDAY_AFTERNOON
UnknownScript_0xbd28a:
- displaylocation ROUTE_26, $2
+ landmarktotext ROUTE_26, $2
setflag ENGINE_BETH
farjump UnknownScript_0xa037e
@@ -516,7 +519,7 @@
trainertotext BIRD_KEEPER, JOSE2, $0
checkflag ENGINE_JOSE
iftrue UnknownScript_0xbd2bd
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_JOSE_SATURDAY_NIGHT
iftrue UnknownScript_0xbd2b9
checkflag ENGINE_JOSE_HAS_STAR_PIECE
@@ -530,16 +533,16 @@
farjump UnknownScript_0xa0920
UnknownScript_0xbd2bd:
- displaylocation ROUTE_27, $2
+ landmarktotext ROUTE_27, $2
farjump UnknownScript_0xa0a41
UnknownScript_0xbd2c4:
- displaylocation ROUTE_27, $2
+ landmarktotext ROUTE_27, $2
farjump UnknownScript_0xa0a41
JosePhoneScript2:
trainertotext BIRD_KEEPER, JOSE2, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_JOSE
iftrue UnknownScript_0xbd2f5
checkflag ENGINE_JOSE_SATURDAY_NIGHT
@@ -546,13 +549,13 @@
iftrue UnknownScript_0xbd2f5
checkflag ENGINE_JOSE_HAS_STAR_PIECE
iftrue UnknownScript_0xbd2f5
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbd304
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbd312
UnknownScript_0xbd2f5:
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbd30e
farjump UnknownScript_0xa0000
@@ -560,7 +563,7 @@
setflag ENGINE_JOSE_SATURDAY_NIGHT
UnknownScript_0xbd304:
- displaylocation ROUTE_27, $2
+ landmarktotext ROUTE_27, $2
setflag ENGINE_JOSE
farjump UnknownScript_0xa0376
@@ -569,7 +572,7 @@
UnknownScript_0xbd312:
setflag ENGINE_JOSE_HAS_STAR_PIECE
- displaylocation ROUTE_27, $2
+ landmarktotext ROUTE_27, $2
farjump UnknownScript_0xa05e6
; Reena
@@ -578,7 +581,7 @@
trainertotext COOLTRAINERF, REENA1, $0
checkflag ENGINE_REENA
iftrue UnknownScript_0xbd33f
- farscall UnknownScript_0xbe0b6
+ farscall PhoneScript_AnswerPhone_Female
checkflag ENGINE_REENA_SUNDAY_MORNING
iftrue UnknownScript_0xbd33b
checkcode VAR_WEEKDAY
@@ -590,17 +593,17 @@
farjump UnknownScript_0xa0928
UnknownScript_0xbd33f:
- displaylocation ROUTE_27, $2
+ landmarktotext ROUTE_27, $2
farjump UnknownScript_0xa0a46
ReenaPhoneScript2:
trainertotext COOLTRAINERF, REENA1, $0
- farscall UnknownScript_0xbe41e
+ farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_REENA
iftrue UnknownScript_0xbd362
checkflag ENGINE_REENA_SUNDAY_MORNING
iftrue UnknownScript_0xbd362
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd369
UnknownScript_0xbd362:
@@ -610,7 +613,7 @@
setflag ENGINE_REENA_SUNDAY_MORNING
UnknownScript_0xbd369:
- displaylocation ROUTE_27, $2
+ landmarktotext ROUTE_27, $2
setflag ENGINE_REENA
farjump UnknownScript_0xa037e
@@ -620,7 +623,7 @@
trainertotext YOUNGSTER, JOEY1, $0
checkflag ENGINE_JOEY
iftrue UnknownScript_0xbd399
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_JOEY_MONDAY_AFTERNOON
iftrue UnknownScript_0xbd392
checkcode VAR_WEEKDAY
@@ -633,17 +636,17 @@
farjump UnknownScript_0xa0930
UnknownScript_0xbd399:
- displaylocation ROUTE_30, $2
+ landmarktotext ROUTE_30, $2
farjump UnknownScript_0xa0a4b
JoeyPhoneScript2:
trainertotext YOUNGSTER, JOEY1, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_JOEY
iftrue UnknownScript_0xbd3c0
checkflag ENGINE_JOEY_MONDAY_AFTERNOON
iftrue UnknownScript_0xbd3c0
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbd3c7
if_equal $1, UnknownScript_0xbd3c7
@@ -654,7 +657,7 @@
setflag ENGINE_JOEY_MONDAY_AFTERNOON
UnknownScript_0xbd3c7:
- displaylocation ROUTE_30, $2
+ landmarktotext ROUTE_30, $2
setflag ENGINE_JOEY
farjump UnknownScript_0xa0376
@@ -664,7 +667,7 @@
trainertotext BUG_CATCHER, WADE1, $0
checkflag ENGINE_WADE
iftrue UnknownScript_0xbd41a
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_WADE_TUESDAY_NIGHT
iftrue UnknownScript_0xbd3f6
checkflag ENGINE_WADE_HAS_ITEM
@@ -675,7 +678,7 @@
iftrue UnknownScript_0xbd484
UnknownScript_0xbd3f6:
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd412
checkflag ENGINE_DAILY_BUG_CONTEST
iftrue UnknownScript_0xbd412
@@ -691,17 +694,17 @@
farjump UnknownScript_0xa05a4
UnknownScript_0xbd41a:
- displaylocation ROUTE_31, $2
+ landmarktotext ROUTE_31, $2
farjump UnknownScript_0xa0a50
UnknownScript_0xbd421:
- displaylocation ROUTE_31, $2
+ landmarktotext ROUTE_31, $2
farjump UnknownScript_0xa0ab5
WadePhoneScript2:
trainertotext BUG_CATCHER, WADE1, $0
- farscall UnknownScript_0xbe1b6
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_GreetPhone_Male
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd44c
checkflag ENGINE_DAILY_BUG_CONTEST
iftrue UnknownScript_0xbd44c
@@ -717,15 +720,15 @@
iftrue UnknownScript_0xbd474
checkflag ENGINE_WADE_HAS_ITEM
iftrue UnknownScript_0xbd474
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd495
checkflag ENGINE_FLYPOINT_GOLDENROD
iffalse UnknownScript_0xbd474
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd487
UnknownScript_0xbd474:
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbd491
farjump UnknownScript_0xa0000
@@ -736,7 +739,7 @@
setflag ENGINE_WADE_TUESDAY_NIGHT
UnknownScript_0xbd487:
- displaylocation ROUTE_31, $2
+ landmarktotext ROUTE_31, $2
setflag ENGINE_WADE
farjump UnknownScript_0xa0376
@@ -745,7 +748,7 @@
UnknownScript_0xbd495:
setflag ENGINE_WADE_HAS_ITEM
- displaylocation ROUTE_31, $2
+ landmarktotext ROUTE_31, $2
clearevent EVENT_WADE_HAS_BERRY
clearevent EVENT_WADE_HAS_PSNCUREBERRY
clearevent EVENT_WADE_HAS_PRZCUREBERRY
@@ -779,59 +782,56 @@
RalphPhoneScript1:
trainertotext FISHER, RALPH1, $0
checkflag ENGINE_RALPH
- iftrue UnknownScript_0xbd4fb
- farscall UnknownScript_0xbde4e
+ iftrue Ralph_Rematch
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_RALPH_WEDNESDAY_MORNING
- iftrue UnknownScript_0xbd4f1
+ iftrue Ralph_CheckSwarm
checkcode VAR_WEEKDAY
- if_not_equal WEDNESDAY, UnknownScript_0xbd4f1
+ if_not_equal WEDNESDAY, Ralph_CheckSwarm
checkmorn
- iftrue UnknownScript_0xbd537
-
-UnknownScript_0xbd4f1:
+ iftrue Ralph_WednesdayMorning
+Ralph_CheckSwarm:
checkflag ENGINE_SPECIAL_WILDDATA
- iftrue UnknownScript_0xbd502
+ iftrue Ralph_ReportSwarm
farjump UnknownScript_0xa0940
-UnknownScript_0xbd4fb:
- displaylocation ROUTE_32, $2
+Ralph_Rematch:
+ landmarktotext ROUTE_32, $2
farjump UnknownScript_0xa0a55
-UnknownScript_0xbd502:
- displaylocation ROUTE_32, $2
+Ralph_ReportSwarm:
+ landmarktotext ROUTE_32, $2
farjump UnknownScript_0xa0af5
RalphPhoneScript2:
trainertotext FISHER, RALPH1, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_FLYPOINT_GOLDENROD
- iffalse UnknownScript_0xbd52b
+ iffalse Ralph_CheckSwarm2
checkflag ENGINE_RALPH
- iftrue UnknownScript_0xbd52b
+ iftrue Ralph_CheckSwarm2
checkflag ENGINE_RALPH_WEDNESDAY_MORNING
- iftrue UnknownScript_0xbd52b
- farscall UnknownScript_0xbde3f
- if_equal $0, UnknownScript_0xbd53a
-
-UnknownScript_0xbd52b:
- farscall UnknownScript_0xbde48
- if_equal $0, UnknownScript_0xbd544
+ iftrue Ralph_CheckSwarm2
+ farscall PhoneScript_Random2
+ if_equal $0, Ralph_FightMe
+Ralph_CheckSwarm2:
+ farscall PhoneScript_Random5
+ if_equal $0, Ralph_SetUpSwarm
farjump UnknownScript_0xa0000
-UnknownScript_0xbd537:
+Ralph_WednesdayMorning:
setflag ENGINE_RALPH_WEDNESDAY_MORNING
-
-UnknownScript_0xbd53a:
- displaylocation ROUTE_32, $2
+Ralph_FightMe:
+ landmarktotext ROUTE_32, $2
setflag ENGINE_RALPH
farjump UnknownScript_0xa0376
-UnknownScript_0xbd544:
+Ralph_SetUpSwarm:
checkflag ENGINE_SPECIAL_WILDDATA
iftrue UnknownScript_0xbd55c
setflag ENGINE_SPECIAL_WILDDATA
pokenamemem QWILFISH, $1
- displaylocation ROUTE_32, $2
+ landmarktotext ROUTE_32, $2
writebyte $1
special Special_ActivateFishingSwarm
farjump UnknownScript_0xa05d6
@@ -845,7 +845,7 @@
trainertotext PICNICKER, LIZ1, $0
checkflag ENGINE_LIZ
iftrue UnknownScript_0xbd586
- farscall UnknownScript_0xbe0b6
+ farscall PhoneScript_AnswerPhone_Female
checkflag ENGINE_LIZ_THURSDAY_AFTERNOON
iftrue UnknownScript_0xbd57f
checkcode VAR_WEEKDAY
@@ -858,14 +858,14 @@
farjump UnknownScript_0xa0948
UnknownScript_0xbd586:
- displaylocation ROUTE_32, $2
+ landmarktotext ROUTE_32, $2
farjump UnknownScript_0xa0a5a
LizPhoneScript2:
trainertotext PICNICKER, LIZ1, $0
- farscall UnknownScript_0xbde45
+ farscall PhoneScript_Random4
if_equal $0, UnknownScript_0xbd5d0
- farscall UnknownScript_0xbe41e
+ farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_LIZ
iftrue UnknownScript_0xbd5a9
checkflag ENGINE_LIZ_THURSDAY_AFTERNOON
@@ -872,11 +872,11 @@
iftrue UnknownScript_0xbd5a9
UnknownScript_0xbd5a9:
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd5d4
checkflag ENGINE_FLYPOINT_GOLDENROD
iffalse UnknownScript_0xbd5bf
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd5c6
UnknownScript_0xbd5bf:
@@ -886,7 +886,7 @@
setflag ENGINE_LIZ_THURSDAY_AFTERNOON
UnknownScript_0xbd5c6:
- displaylocation ROUTE_32, $2
+ landmarktotext ROUTE_32, $2
setflag ENGINE_LIZ
farjump UnknownScript_0xa037e
@@ -950,7 +950,7 @@
trainertotext HIKER, ANTHONY2, $0
checkflag ENGINE_ANTHONY
iftrue UnknownScript_0xbd65d
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_ANTHONY_FRIDAY_NIGHT
iftrue UnknownScript_0xbd653
checkcode VAR_WEEKDAY
@@ -964,16 +964,16 @@
farjump UnknownScript_0xa0950
UnknownScript_0xbd65d:
- displaylocation ROUTE_33, $2
+ landmarktotext ROUTE_33, $2
farjump UnknownScript_0xa0a5f
UnknownScript_0xbd664:
- displaylocation ROUTE_33, $2
+ landmarktotext ROUTE_33, $2
farjump UnknownScript_0xa0afa
AnthonyPhoneScript2:
trainertotext HIKER, ANTHONY2, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_FLYPOINT_GOLDENROD
iffalse UnknownScript_0xbd68d
checkflag ENGINE_ANTHONY
@@ -980,11 +980,11 @@
iftrue UnknownScript_0xbd68d
checkflag ENGINE_ANTHONY_FRIDAY_NIGHT
iftrue UnknownScript_0xbd68d
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd69c
UnknownScript_0xbd68d:
- farscall UnknownScript_0xbde48
+ farscall PhoneScript_Random5
if_equal $0, UnknownScript_0xbd6a6
farjump UnknownScript_0xa0000
@@ -992,7 +992,7 @@
setflag ENGINE_ANTHONY_FRIDAY_NIGHT
UnknownScript_0xbd69c:
- displaylocation ROUTE_33, $2
+ landmarktotext ROUTE_33, $2
setflag ENGINE_ANTHONY
farjump UnknownScript_0xa0376
@@ -1001,8 +1001,8 @@
iftrue UnknownScript_0xbd6bd
setflag ENGINE_DUNSPARCE_SWARM
pokenamemem DUNSPARCE, $1
- loadwilddata $0, DARK_CAVE_VIOLET_ENTRANCE
- displaylocation DARK_CAVE, $2
+ swarm SWARM_DUNSPARCE, DARK_CAVE_VIOLET_ENTRANCE
+ landmarktotext DARK_CAVE, $2
farjump UnknownScript_0xa05de
UnknownScript_0xbd6bd:
@@ -1014,7 +1014,7 @@
trainertotext CAMPER, TODD1, $0
checkflag ENGINE_TODD
iftrue UnknownScript_0xbd6ea
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_TODD_SATURDAY_MORNING
iftrue UnknownScript_0xbd6e0
checkcode VAR_WEEKDAY
@@ -1028,7 +1028,7 @@
farjump UnknownScript_0xa0958
UnknownScript_0xbd6ea:
- displaylocation ROUTE_34, $2
+ landmarktotext ROUTE_34, $2
farjump UnknownScript_0xa0a64
UnknownScript_0xbd6f1:
@@ -1036,7 +1036,7 @@
ToddPhoneScript2:
trainertotext CAMPER, TODD1, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_TODD
iftrue UnknownScript_0xbd717
checkflag ENGINE_TODD_SATURDAY_MORNING
@@ -1043,15 +1043,15 @@
iftrue UnknownScript_0xbd717
checkflag ENGINE_FLYPOINT_GOLDENROD
iffalse UnknownScript_0xbd71f
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd72e
UnknownScript_0xbd717:
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd73c
UnknownScript_0xbd71f:
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbd738
farjump UnknownScript_0xa0000
@@ -1059,7 +1059,7 @@
setflag ENGINE_TODD_SATURDAY_MORNING
UnknownScript_0xbd72e:
- displaylocation ROUTE_34, $2
+ landmarktotext ROUTE_34, $2
setflag ENGINE_TODD
farjump UnknownScript_0xa0376
@@ -1076,7 +1076,7 @@
trainertotext PICNICKER, GINA1, $0
checkflag ENGINE_GINA
iftrue UnknownScript_0xbd776
- farscall UnknownScript_0xbe0b6
+ farscall PhoneScript_AnswerPhone_Female
checkflag ENGINE_GINA_SUNDAY_AFTERNOON
iftrue UnknownScript_0xbd768
checkflag ENGINE_GINA_HAS_LEAF_STONE
@@ -1095,16 +1095,16 @@
farjump UnknownScript_0xa05c6
UnknownScript_0xbd776:
- displaylocation ROUTE_34, $2
+ landmarktotext ROUTE_34, $2
farjump UnknownScript_0xa0a69
UnknownScript_0xbd77d:
- displaylocation ROUTE_34, $2
+ landmarktotext ROUTE_34, $2
farjump UnknownScript_0xa0abd
GinaPhoneScript2:
trainertotext PICNICKER, GINA1, $0
- farscall UnknownScript_0xbe41e
+ farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
iftrue UnknownScript_0xbd7d9
checkflag ENGINE_GINA
@@ -1115,15 +1115,15 @@
iftrue UnknownScript_0xbd7c8
checkevent EVENT_GINA_GAVE_LEAF_STONE
iftrue UnknownScript_0xbd7b2
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd7dd
UnknownScript_0xbd7b2:
- farscall UnknownScript_0xbde4b
+ farscall PhoneScript_Random11
if_equal $0, UnknownScript_0xbd7dd
checkflag ENGINE_FLYPOINT_GOLDENROD
iffalse UnknownScript_0xbd7c8
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbd7cf
UnknownScript_0xbd7c8:
@@ -1133,7 +1133,7 @@
setflag ENGINE_GINA_SUNDAY_AFTERNOON
UnknownScript_0xbd7cf:
- displaylocation ROUTE_34, $2
+ landmarktotext ROUTE_34, $2
setflag ENGINE_GINA
farjump UnknownScript_0xa037e
@@ -1142,7 +1142,7 @@
UnknownScript_0xbd7dd:
setflag ENGINE_GINA_HAS_LEAF_STONE
- displaylocation ROUTE_34, $2
+ landmarktotext ROUTE_34, $2
farjump UnknownScript_0xa061e
; Irwin
@@ -1149,7 +1149,7 @@
IrwinPhoneScript1:
trainertotext JUGGLER, IRWIN1, $0
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
iftrue UnknownScript_0xbd7f9
farjump UnknownScript_0xa09c8
@@ -1159,7 +1159,7 @@
IrwinPhoneScript2:
trainertotext JUGGLER, IRWIN1, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
iftrue UnknownScript_0xbd80f
farjump UnknownScript_0xa0848
@@ -1173,7 +1173,7 @@
trainertotext BUG_CATCHER, ARNIE1, $0
checkflag ENGINE_ARNIE
iftrue UnknownScript_0xbd83c
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_ARNIE_TUESDAY_MORNING
iftrue UnknownScript_0xbd832
checkcode VAR_WEEKDAY
@@ -1187,27 +1187,27 @@
farjump UnknownScript_0xa0968
UnknownScript_0xbd83c:
- displaylocation ROUTE_35, $2
+ landmarktotext ROUTE_35, $2
farjump UnknownScript_0xa0a6e
UnknownScript_0xbd843:
- displaylocation ROUTE_35, $2
+ landmarktotext ROUTE_35, $2
farjump UnknownScript_0xa0aff
ArniePhoneScript2:
trainertotext BUG_CATCHER, ARNIE1, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_ARNIE
iftrue UnknownScript_0xbd866
checkflag ENGINE_ARNIE_TUESDAY_MORNING
iftrue UnknownScript_0xbd866
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd87d
UnknownScript_0xbd866:
- farscall UnknownScript_0xbde48
+ farscall PhoneScript_Random5
if_equal $0, UnknownScript_0xbd887
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbd89e
farjump UnknownScript_0xa0000
@@ -1215,17 +1215,17 @@
setflag ENGINE_ARNIE_TUESDAY_MORNING
UnknownScript_0xbd87d:
- displaylocation ROUTE_35, $2
+ landmarktotext ROUTE_35, $2
setflag ENGINE_ARNIE
farjump UnknownScript_0xa0376
-UnknownScript_0xbd887:
+UnknownScript_0xbd887: ; start swarm
checkflag ENGINE_YANMA_SWARM
iftrue UnknownScript_0xbd8a2
setflag ENGINE_YANMA_SWARM
pokenamemem YANMA, $1
- loadwilddata $1, ROUTE_35
- displaylocation ROUTE_35, $2
+ swarm SWARM_YANMA, ROUTE_35
+ landmarktotext ROUTE_35, $2
farjump UnknownScript_0xa05ce
UnknownScript_0xbd89e:
@@ -1240,7 +1240,7 @@
trainertotext SCHOOLBOY, ALAN1, $0
checkflag ENGINE_ALAN
iftrue UnknownScript_0xbd8cf
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_ALAN_WEDNESDAY_AFTERNOON
iftrue UnknownScript_0xbd8cb
checkflag ENGINE_ALAN_HAS_FIRE_STONE
@@ -1254,16 +1254,16 @@
farjump UnknownScript_0xa0970
UnknownScript_0xbd8cf:
- displaylocation ROUTE_36, $2
+ landmarktotext ROUTE_36, $2
farjump UnknownScript_0xa0a73
UnknownScript_0xbd8d6:
- displaylocation ROUTE_36, $2
+ landmarktotext ROUTE_36, $2
farjump UnknownScript_0xa0ac5
AlanPhoneScript2:
trainertotext SCHOOLBOY, ALAN1, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_ALAN
iftrue UnknownScript_0xbd915
checkflag ENGINE_ALAN_WEDNESDAY_AFTERNOON
@@ -1270,15 +1270,15 @@
iftrue UnknownScript_0xbd915
checkflag ENGINE_ALAN_HAS_FIRE_STONE
iftrue UnknownScript_0xbd915
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbd91c
checkevent EVENT_ALAN_GAVE_FIRE_STONE
iftrue UnknownScript_0xbd90d
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd926
UnknownScript_0xbd90d:
- farscall UnknownScript_0xbde4b
+ farscall PhoneScript_Random11
if_equal $0, UnknownScript_0xbd926
UnknownScript_0xbd915:
@@ -1288,13 +1288,13 @@
setflag ENGINE_ALAN_WEDNESDAY_AFTERNOON
UnknownScript_0xbd91c:
- displaylocation ROUTE_36, $2
+ landmarktotext ROUTE_36, $2
setflag ENGINE_ALAN
farjump UnknownScript_0xa0376
UnknownScript_0xbd926:
setflag ENGINE_ALAN_HAS_FIRE_STONE
- displaylocation ROUTE_36, $2
+ landmarktotext ROUTE_36, $2
farjump UnknownScript_0xa05e6
; Dana
@@ -1303,7 +1303,7 @@
trainertotext LASS, DANA1, $0
checkflag ENGINE_DANA
iftrue UnknownScript_0xbd959
- farscall UnknownScript_0xbe0b6
+ farscall PhoneScript_AnswerPhone_Female
checkflag ENGINE_DANA_THURSDAY_NIGHT
iftrue UnknownScript_0xbd955
checkflag ENGINE_DANA_HAS_THUNDERSTONE
@@ -1317,16 +1317,16 @@
farjump UnknownScript_0xa0978
UnknownScript_0xbd959:
- displaylocation ROUTE_38, $2
+ landmarktotext ROUTE_38, $2
farjump UnknownScript_0xa0a78
UnknownScript_0xbd960:
- displaylocation ROUTE_38, $2
+ landmarktotext ROUTE_38, $2
farjump UnknownScript_0xa0acd
DanaPhoneScript2:
trainertotext LASS, DANA1, $0
- farscall UnknownScript_0xbe41e
+ farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_DANA
iftrue UnknownScript_0xbd99f
checkflag ENGINE_DANA_THURSDAY_NIGHT
@@ -1333,19 +1333,19 @@
iftrue UnknownScript_0xbd99f
checkflag ENGINE_DANA_HAS_THUNDERSTONE
iftrue UnknownScript_0xbd99f
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbd9ae
checkevent EVENT_DANA_GAVE_THUNDERSTONE
iftrue UnknownScript_0xbd997
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbd9bc
UnknownScript_0xbd997:
- farscall UnknownScript_0xbde4b
+ farscall PhoneScript_Random11
if_equal $0, UnknownScript_0xbd9bc
UnknownScript_0xbd99f:
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbd9b8
farjump UnknownScript_0xa0017
@@ -1353,7 +1353,7 @@
setflag ENGINE_DANA_THURSDAY_NIGHT
UnknownScript_0xbd9ae:
- displaylocation ROUTE_38, $2
+ landmarktotext ROUTE_38, $2
setflag ENGINE_DANA
farjump UnknownScript_0xa037e
@@ -1362,7 +1362,7 @@
UnknownScript_0xbd9bc:
setflag ENGINE_DANA_HAS_THUNDERSTONE
- displaylocation ROUTE_38, $2
+ landmarktotext ROUTE_38, $2
farjump UnknownScript_0xa061e
; Chad
@@ -1371,7 +1371,7 @@
trainertotext SCHOOLBOY, CHAD1, $0
checkflag ENGINE_CHAD
iftrue UnknownScript_0xbd9e9
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_CHAD_FRIDAY_MORNING
iftrue UnknownScript_0xbd9e5
checkcode VAR_WEEKDAY
@@ -1383,23 +1383,23 @@
farjump UnknownScript_0xa0980
UnknownScript_0xbd9e9:
- displaylocation ROUTE_38, $2
+ landmarktotext ROUTE_38, $2
farjump UnknownScript_0xa0a7d
ChadPhoneScript2:
trainertotext SCHOOLBOY, CHAD1, $0
- farscall UnknownScript_0xbe1b6
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_GreetPhone_Male
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbda31
checkflag ENGINE_CHAD
iftrue UnknownScript_0xbda14
checkflag ENGINE_CHAD_FRIDAY_MORNING
iftrue UnknownScript_0xbda14
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbda23
UnknownScript_0xbda14:
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbda2d
farjump UnknownScript_0xa0000
@@ -1407,7 +1407,7 @@
setflag ENGINE_CHAD_FRIDAY_MORNING
UnknownScript_0xbda23:
- displaylocation ROUTE_38, $2
+ landmarktotext ROUTE_38, $2
setflag ENGINE_CHAD
farjump UnknownScript_0xa0376
@@ -1419,10 +1419,10 @@
DerekPhoneScript1:
trainertotext POKEFANM, DEREK1, $0
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_DEREK_HAS_NUGGET
iftrue UnknownScript_0xbda67
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbda5f
checkflag ENGINE_DAILY_BUG_CONTEST
iftrue UnknownScript_0xbda5f
@@ -1438,13 +1438,13 @@
farjump UnknownScript_0xa05a4
UnknownScript_0xbda67:
- displaylocation ROUTE_39, $2
+ landmarktotext ROUTE_39, $2
farjump UnknownScript_0xa0ad5
DerekPhoneScript2:
trainertotext POKEFANM, DEREK1, $0
- farscall UnknownScript_0xbe1b6
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_GreetPhone_Male
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbda92
checkflag ENGINE_DAILY_BUG_CONTEST
iftrue UnknownScript_0xbda92
@@ -1454,7 +1454,7 @@
if_equal SATURDAY, UnknownScript_0xbda9e
UnknownScript_0xbda92:
- farscall UnknownScript_0xbde45
+ farscall PhoneScript_Random4
if_equal $0, UnknownScript_0xbdaa2
farjump UnknownScript_0xa0000
@@ -1463,7 +1463,7 @@
UnknownScript_0xbdaa2:
setflag ENGINE_DEREK_HAS_NUGGET
- displaylocation ROUTE_39, $2
+ landmarktotext ROUTE_39, $2
farjump UnknownScript_0xa05e6
TullyPhoneScript1:
@@ -1470,7 +1470,7 @@
trainertotext FISHER, TULLY1, $0
checkflag ENGINE_TULLY
iftrue UnknownScript_0xbdad5
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_TULLY_SUNDAY_NIGHT
iftrue UnknownScript_0xbdad1
checkflag ENGINE_TULLY_HAS_WATER_STONE
@@ -1484,16 +1484,16 @@
farjump UnknownScript_0xa0990
UnknownScript_0xbdad5:
- displaylocation ROUTE_42, $2
+ landmarktotext ROUTE_42, $2
farjump UnknownScript_0xa0a82
UnknownScript_0xbdadc:
- displaylocation ROUTE_42, $2
+ landmarktotext ROUTE_42, $2
farjump UnknownScript_0xa0add
TullyPhoneScript2:
trainertotext FISHER, TULLY1, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_TULLY
iftrue UnknownScript_0xbdb1b
checkflag ENGINE_TULLY_SUNDAY_NIGHT
@@ -1500,15 +1500,15 @@
iftrue UnknownScript_0xbdb1b
checkflag ENGINE_TULLY_HAS_WATER_STONE
iftrue UnknownScript_0xbdb1b
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbdb22
checkevent EVENT_TULLY_GAVE_WATER_STONE
iftrue UnknownScript_0xbdb13
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbdb2c
UnknownScript_0xbdb13:
- farscall UnknownScript_0xbde4b
+ farscall PhoneScript_Random11
if_equal $0, UnknownScript_0xbdb2c
UnknownScript_0xbdb1b:
@@ -1518,13 +1518,13 @@
setflag ENGINE_TULLY_SUNDAY_NIGHT
UnknownScript_0xbdb22:
- displaylocation ROUTE_42, $2
+ landmarktotext ROUTE_42, $2
setflag ENGINE_TULLY
farjump UnknownScript_0xa0376
UnknownScript_0xbdb2c:
setflag ENGINE_TULLY_HAS_WATER_STONE
- displaylocation ROUTE_42, $2
+ landmarktotext ROUTE_42, $2
farjump UnknownScript_0xa05e6
BrentPhoneScript1:
@@ -1531,7 +1531,7 @@
trainertotext POKEMANIAC, BRENT1, $0
checkflag ENGINE_BRENT
iftrue UnknownScript_0xbdb59
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_BRENT_MONDAY_MORNING
iftrue UnknownScript_0xbdb55
checkcode VAR_WEEKDAY
@@ -1543,19 +1543,19 @@
farjump UnknownScript_0xa0998
UnknownScript_0xbdb59:
- displaylocation ROUTE_43, $2
+ landmarktotext ROUTE_43, $2
farjump UnknownScript_0xa0a87
BrentPhoneScript2:
trainertotext POKEMANIAC, BRENT1, $0
- farscall UnknownScript_0xbe1b6
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_GreetPhone_Male
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbdb95
checkflag ENGINE_BRENT
iftrue UnknownScript_0xbdb84
checkflag ENGINE_BRENT_MONDAY_MORNING
iftrue UnknownScript_0xbdb84
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbdb8b
UnknownScript_0xbdb84:
@@ -1565,7 +1565,7 @@
setflag ENGINE_BRENT_MONDAY_MORNING
UnknownScript_0xbdb8b:
- displaylocation ROUTE_43, $2
+ landmarktotext ROUTE_43, $2
setflag ENGINE_BRENT
farjump UnknownScript_0xa0376
@@ -1576,7 +1576,7 @@
trainertotext PICNICKER, TIFFANY3, $0
checkflag ENGINE_TIFFANY
iftrue UnknownScript_0xbdbc2
- farscall UnknownScript_0xbe0b6
+ farscall PhoneScript_AnswerPhone_Female
checkflag ENGINE_TIFFANY_TUESDAY_AFTERNOON
iftrue UnknownScript_0xbdbbe
checkflag ENGINE_TIFFANY_HAS_PINK_BOW
@@ -1590,18 +1590,18 @@
farjump UnknownScript_0xa09a0
UnknownScript_0xbdbc2:
- displaylocation ROUTE_43, $2
+ landmarktotext ROUTE_43, $2
farjump UnknownScript_0xa0a8c
UnknownScript_0xbdbc9:
- displaylocation ROUTE_43, $2
+ landmarktotext ROUTE_43, $2
farjump UnknownScript_0xa0ae5
TiffanyPhoneScript2:
trainertotext PICNICKER, TIFFANY3, $0
- farscall UnknownScript_0xbde45
+ farscall PhoneScript_Random4
if_equal $0, UnknownScript_0xbdc21
- farscall UnknownScript_0xbe41e
+ farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_TIFFANY
iftrue UnknownScript_0xbdc10
checkflag ENGINE_TIFFANY_TUESDAY_AFTERNOON
@@ -1608,15 +1608,15 @@
iftrue UnknownScript_0xbdc10
checkflag ENGINE_TIFFANY_HAS_PINK_BOW
iftrue UnknownScript_0xbdc10
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbdc17
checkevent EVENT_TIFFANY_GAVE_PINK_BOW
iftrue UnknownScript_0xbdc08
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbdc69
UnknownScript_0xbdc08:
- farscall UnknownScript_0xbde4b
+ farscall PhoneScript_Random11
if_equal $0, UnknownScript_0xbdc69
UnknownScript_0xbdc10:
@@ -1626,7 +1626,7 @@
setflag ENGINE_TIFFANY_TUESDAY_AFTERNOON
UnknownScript_0xbdc17:
- displaylocation ROUTE_43, $2
+ landmarktotext ROUTE_43, $2
setflag ENGINE_TIFFANY
farjump UnknownScript_0xa037e
@@ -1668,7 +1668,7 @@
UnknownScript_0xbdc69:
setflag ENGINE_TIFFANY_HAS_PINK_BOW
- displaylocation ROUTE_43, $2
+ landmarktotext ROUTE_43, $2
farjump UnknownScript_0xa061e
; Vance
@@ -1677,7 +1677,7 @@
trainertotext BIRD_KEEPER, VANCE1, $0
checkflag ENGINE_VANCE
iftrue UnknownScript_0xbdc96
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_VANCE_WEDNESDAY_NIGHT
iftrue UnknownScript_0xbdc92
checkcode VAR_WEEKDAY
@@ -1689,17 +1689,17 @@
farjump UnknownScript_0xa09a8
UnknownScript_0xbdc96:
- displaylocation ROUTE_44, $2
+ landmarktotext ROUTE_44, $2
farjump UnknownScript_0xa0a91
VancePhoneScript2:
trainertotext BIRD_KEEPER, VANCE1, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_VANCE
iftrue UnknownScript_0xbdcbd
checkflag ENGINE_VANCE_WEDNESDAY_NIGHT
iftrue UnknownScript_0xbdcbd
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbdcc4
if_equal $1, UnknownScript_0xbdcc4
@@ -1710,7 +1710,7 @@
setflag ENGINE_VANCE_WEDNESDAY_NIGHT
UnknownScript_0xbdcc4:
- displaylocation ROUTE_44, $2
+ landmarktotext ROUTE_44, $2
setflag ENGINE_VANCE
farjump UnknownScript_0xa0376
@@ -1718,7 +1718,7 @@
trainertotext FISHER, WILTON1, $0
checkflag ENGINE_WILTON
iftrue UnknownScript_0xbdcf7
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_WILTON_THRUSDAY_MORNING
iftrue UnknownScript_0xbdcf3
checkflag ENGINE_WILTON_HAS_ITEM
@@ -1732,16 +1732,16 @@
farjump UnknownScript_0xa09b0
UnknownScript_0xbdcf7:
- displaylocation ROUTE_44, $2
+ landmarktotext ROUTE_44, $2
farjump UnknownScript_0xa0a96
UnknownScript_0xbdcfe:
- displaylocation ROUTE_44, $2
+ landmarktotext ROUTE_44, $2
farjump UnknownScript_0xa0aed
WiltonPhoneScript2:
trainertotext FISHER, WILTON1, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_WILTON
iftrue UnknownScript_0xbdd2f
checkflag ENGINE_WILTON_THRUSDAY_MORNING
@@ -1748,9 +1748,9 @@
iftrue UnknownScript_0xbdd2f
checkflag ENGINE_WILTON_HAS_ITEM
iftrue UnknownScript_0xbdd2f
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbdd36
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbdd40
UnknownScript_0xbdd2f:
@@ -1760,13 +1760,13 @@
setflag ENGINE_WILTON_THRUSDAY_MORNING
UnknownScript_0xbdd36:
- displaylocation ROUTE_44, $2
+ landmarktotext ROUTE_44, $2
setflag ENGINE_WILTON
farjump UnknownScript_0xa0376
UnknownScript_0xbdd40:
setflag ENGINE_WILTON_HAS_ITEM
- displaylocation ROUTE_44, $2
+ landmarktotext ROUTE_44, $2
clearevent EVENT_WILTON_HAS_ULTRA_BALL
clearevent EVENT_WILTON_HAS_GREAT_BALL
clearevent EVENT_WILTON_HAS_POKE_BALL
@@ -1794,12 +1794,12 @@
KenjiPhoneScript1:
trainertotext BLACKBELT_T, KENJI3, $0
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
farjump UnknownScript_0xa09ee
KenjiPhoneScript2:
trainertotext BLACKBELT_T, KENJI3, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
farjump UnknownScript_0xa064c
; Parry
@@ -1808,7 +1808,7 @@
trainertotext HIKER, PARRY1, $0
checkflag ENGINE_PARRY
iftrue UnknownScript_0xbddac
- farscall UnknownScript_0xbde4e
+ farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_PARRY_FRIDAY_AFTERNOON
iftrue UnknownScript_0xbdda8
checkcode VAR_WEEKDAY
@@ -1820,17 +1820,17 @@
farjump UnknownScript_0xa09b8
UnknownScript_0xbddac:
- displaylocation ROUTE_45, $2
+ landmarktotext ROUTE_45, $2
farjump UnknownScript_0xa0a9b
ParryPhoneScript2:
trainertotext HIKER, PARRY1, $0
- farscall UnknownScript_0xbe1b6
+ farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_PARRY
iftrue UnknownScript_0xbddd3
checkflag ENGINE_PARRY_FRIDAY_AFTERNOON
iftrue UnknownScript_0xbddd3
- farscall UnknownScript_0xbde3f
+ farscall PhoneScript_Random2
if_equal $0, UnknownScript_0xbddda
if_equal $1, UnknownScript_0xbddda
@@ -1841,7 +1841,7 @@
setflag ENGINE_PARRY_FRIDAY_AFTERNOON
UnknownScript_0xbddda:
- displaylocation ROUTE_45, $2
+ landmarktotext ROUTE_45, $2
setflag ENGINE_PARRY
farjump UnknownScript_0xa0376
@@ -1851,7 +1851,7 @@
trainertotext PICNICKER, ERIN1, $0
checkflag ENGINE_ERIN
iftrue UnknownScript_0xbde07
- farscall UnknownScript_0xbe0b6
+ farscall PhoneScript_AnswerPhone_Female
checkflag ENGINE_ERIN_SATURDAY_NIGHT
iftrue UnknownScript_0xbde03
checkcode VAR_WEEKDAY
@@ -1863,17 +1863,17 @@
farjump UnknownScript_0xa09c0
UnknownScript_0xbde07:
- displaylocation ROUTE_46, $2
+ landmarktotext ROUTE_46, $2
farjump UnknownScript_0xa0aa0
ErinPhoneScript2:
trainertotext PICNICKER, ERIN1, $0
- farscall UnknownScript_0xbe41e
+ farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_ERIN
iftrue UnknownScript_0xbde2e
checkflag ENGINE_ERIN_SATURDAY_NIGHT
iftrue UnknownScript_0xbde2e
- farscall UnknownScript_0xbde42
+ farscall PhoneScript_Random3
if_equal $0, UnknownScript_0xbde35
if_equal $1, UnknownScript_0xbde35
@@ -1884,35 +1884,35 @@
setflag ENGINE_ERIN_SATURDAY_NIGHT
UnknownScript_0xbde35:
- displaylocation ROUTE_46, $2
+ landmarktotext ROUTE_46, $2
setflag ENGINE_ERIN
farjump UnknownScript_0xa037e
-UnknownScript_0xbde3f:
- random $2
+PhoneScript_Random2:
+ random 2
end
-UnknownScript_0xbde42:
- random $3
+PhoneScript_Random3:
+ random 3
end
-UnknownScript_0xbde45:
- random $4
+PhoneScript_Random4:
+ random 4
end
-UnknownScript_0xbde48:
- random $5
+PhoneScript_Random5:
+ random 5
end
-UnknownScript_0xbde4b:
- random $b
+PhoneScript_Random11:
+ random 11
end
-UnknownScript_0xbde4e:
+PhoneScript_AnswerPhone_Male:
checkday
- iftrue UnknownScript_0xbdf22
+ iftrue PhoneScript_AnswerPhone_Male_Day
checknite
- iftrue UnknownScript_0xbdfec
+ iftrue PhoneScript_AnswerPhone_Male_Nite
checkcode VAR_CALLERID
if_equal PHONE_SCHOOLBOY_JACK, .Jack
if_equal PHONE_SAILOR_HUEY, .Huey
@@ -1937,105 +1937,105 @@
.Jack:
farwritetext UnknownText_0x1b4dc5
- keeptextopen
+ buttonsound
end
.Huey:
farwritetext UnknownText_0x1b5073
- keeptextopen
+ buttonsound
end
.Gaven:
farwritetext UnknownText_0x1b5270
- keeptextopen
+ buttonsound
end
.Jose:
farwritetext UnknownText_0x1b55ae
- keeptextopen
+ buttonsound
end
.Joey:
farwritetext UnknownText_0x1b589a
- keeptextopen
+ buttonsound
end
.Wade:
farwritetext UnknownText_0x1b5a3b
- keeptextopen
+ buttonsound
end
.Ralph:
farwritetext UnknownText_0x1b5c10
- keeptextopen
+ buttonsound
end
.Anthony:
farwritetext UnknownText_0x1b5f7a
- keeptextopen
+ buttonsound
end
.Todd:
farwritetext UnknownText_0x1b60f5
- keeptextopen
+ buttonsound
end
.Irwin:
farwritetext UnknownText_0x1b638c
- keeptextopen
+ buttonsound
end
.Arnie:
farwritetext UnknownText_0x1b6454
- keeptextopen
+ buttonsound
end
.Alan:
farwritetext UnknownText_0x1b659d
- keeptextopen
+ buttonsound
end
.Chad:
farwritetext UnknownText_0x1b67e2
- keeptextopen
+ buttonsound
end
.Derek:
farwritetext UnknownText_0x1b69a8
- keeptextopen
+ buttonsound
end
.Tully:
farwritetext UnknownText_0x1b6b39
- keeptextopen
+ buttonsound
end
.Brent:
farwritetext UnknownText_0x1b6c96
- keeptextopen
+ buttonsound
end
.Vance:
farwritetext UnknownText_0x1b7019
- keeptextopen
+ buttonsound
end
.Wilton:
farwritetext UnknownText_0x1b71d5
- keeptextopen
+ buttonsound
end
.Kenji:
farwritetext UnknownText_0x1b730b
- keeptextopen
+ buttonsound
end
.Parry:
farwritetext UnknownText_0x1b73c7
- keeptextopen
+ buttonsound
end
-UnknownScript_0xbdf22:
+PhoneScript_AnswerPhone_Male_Day:
checkcode VAR_CALLERID
if_equal PHONE_SCHOOLBOY_JACK, .Jack
if_equal PHONE_SAILOR_HUEY, .Huey
@@ -2060,105 +2060,105 @@
.Jack:
farwritetext UnknownText_0x1b4ded
- keeptextopen
+ buttonsound
end
.Huey:
farwritetext UnknownText_0x1b509b
- keeptextopen
+ buttonsound
end
.Gaven:
farwritetext UnknownText_0x1b52a5
- keeptextopen
+ buttonsound
end
.Jose:
farwritetext UnknownText_0x1b55da
- keeptextopen
+ buttonsound
end
.Joey:
farwritetext UnknownText_0x1b58c2
- keeptextopen
+ buttonsound
end
.Wade:
farwritetext UnknownText_0x1b5a74
- keeptextopen
+ buttonsound
end
.Ralph:
farwritetext UnknownText_0x1b5c63
- keeptextopen
+ buttonsound
end
.Anthony:
farwritetext UnknownText_0x1b5f9e
- keeptextopen
+ buttonsound
end
.Todd:
farwritetext UnknownText_0x1b611b
- keeptextopen
+ buttonsound
end
.Irwin:
farwritetext UnknownText_0x1b63a8
- keeptextopen
+ buttonsound
end
.Arnie:
farwritetext UnknownText_0x1b647e
- keeptextopen
+ buttonsound
end
.Alan:
farwritetext UnknownText_0x1b65c7
- keeptextopen
+ buttonsound
end
.Chad:
farwritetext UnknownText_0x1b680e
- keeptextopen
+ buttonsound
end
.Derek:
farwritetext UnknownText_0x1b69d2
- keeptextopen
+ buttonsound
end
.Tully:
farwritetext UnknownText_0x1b6b65
- keeptextopen
+ buttonsound
end
.Brent:
farwritetext UnknownText_0x1b6cc6
- keeptextopen
+ buttonsound
end
.Vance:
farwritetext UnknownText_0x1b7057
- keeptextopen
+ buttonsound
end
.Wilton:
farwritetext UnknownText_0x1b71fc
- keeptextopen
+ buttonsound
end
.Kenji:
farwritetext UnknownText_0x1b7331
- keeptextopen
+ buttonsound
end
.Parry:
farwritetext UnknownText_0x1b73ef
- keeptextopen
+ buttonsound
end
-UnknownScript_0xbdfec:
+PhoneScript_AnswerPhone_Male_Nite:
checkcode VAR_CALLERID
if_equal PHONE_SCHOOLBOY_JACK, .Jack
if_equal PHONE_SAILOR_HUEY, .Huey
@@ -2183,109 +2183,109 @@
.Jack:
farwritetext UnknownText_0x1b4e16
- keeptextopen
+ buttonsound
end
.Huey:
farwritetext UnknownText_0x1b50c2
- keeptextopen
+ buttonsound
end
.Gaven:
farwritetext UnknownText_0x1b52cc
- keeptextopen
+ buttonsound
end
.Jose:
farwritetext UnknownText_0x1b55fc
- keeptextopen
+ buttonsound
end
.Joey:
farwritetext UnknownText_0x1b58ea
- keeptextopen
+ buttonsound
end
.Wade:
farwritetext UnknownText_0x1b5a9f
- keeptextopen
+ buttonsound
end
.Ralph:
farwritetext UnknownText_0x1b5cb6
- keeptextopen
+ buttonsound
end
.Anthony:
farwritetext UnknownText_0x1b5fc9
- keeptextopen
+ buttonsound
end
.Todd:
farwritetext UnknownText_0x1b6149
- keeptextopen
+ buttonsound
end
.Irwin:
farwritetext UnknownText_0x1b63c4
- keeptextopen
+ buttonsound
end
.Arnie:
farwritetext UnknownText_0x1b64a8
- keeptextopen
+ buttonsound
end
.Alan:
farwritetext UnknownText_0x1b65e3
- keeptextopen
+ buttonsound
end
.Chad:
farwritetext UnknownText_0x1b6836
- keeptextopen
+ buttonsound
end
.Derek:
farwritetext UnknownText_0x1b69f8
- keeptextopen
+ buttonsound
end
.Tully:
farwritetext UnknownText_0x1b6b92
- keeptextopen
+ buttonsound
end
.Brent:
farwritetext UnknownText_0x1b6cf6
- keeptextopen
+ buttonsound
end
.Vance:
farwritetext UnknownText_0x1b7092
- keeptextopen
+ buttonsound
end
.Wilton:
farwritetext UnknownText_0x1b722a
- keeptextopen
+ buttonsound
end
.Kenji:
farwritetext UnknownText_0x1b7357
- keeptextopen
+ buttonsound
end
.Parry:
farwritetext UnknownText_0x1b7417
- keeptextopen
+ buttonsound
end
-UnknownScript_0xbe0b6:
+PhoneScript_AnswerPhone_Female:
checkday
- iftrue UnknownScript_0xbe112
+ iftrue PhoneScript_AnswerPhone_Female_Day
checknite
- iftrue UnknownScript_0xbe164
+ iftrue PhoneScript_AnswerPhone_Female_Nite
checkcode VAR_CALLERID
if_equal PHONE_POKEFAN_BEVERLY, .Beverly
if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -2298,45 +2298,45 @@
.Beverly:
farwritetext UnknownText_0x1b4f21
- keeptextopen
+ buttonsound
end
.Beth:
farwritetext UnknownText_0x1b53f7
- keeptextopen
+ buttonsound
end
.Reena:
farwritetext UnknownText_0x1b5702
- keeptextopen
+ buttonsound
end
.Liz:
farwritetext UnknownText_0x1b5d9f
- keeptextopen
+ buttonsound
end
.Gina:
farwritetext UnknownText_0x1b626a
- keeptextopen
+ buttonsound
end
.Dana:
farwritetext UnknownText_0x1b66c8
- keeptextopen
+ buttonsound
end
.Tiffany:
farwritetext UnknownText_0x1b6e7c
- keeptextopen
+ buttonsound
end
.Erin:
farwritetext UnknownText_0x1b751a
- keeptextopen
+ buttonsound
end
-UnknownScript_0xbe112:
+PhoneScript_AnswerPhone_Female_Day:
checkcode VAR_CALLERID
if_equal PHONE_POKEFAN_BEVERLY, .Beverly
if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -2349,45 +2349,45 @@
.Beverly:
farwritetext UnknownText_0x1b4f4d
- keeptextopen
+ buttonsound
end
.Beth:
farwritetext UnknownText_0x1b5424
- keeptextopen
+ buttonsound
end
.Reena:
farwritetext UnknownText_0x1b572e
- keeptextopen
+ buttonsound
end
.Liz:
farwritetext UnknownText_0x1b5dcc
- keeptextopen
+ buttonsound
end
.Gina:
farwritetext UnknownText_0x1b6296
- keeptextopen
+ buttonsound
end
.Dana:
farwritetext UnknownText_0x1b66ec
- keeptextopen
+ buttonsound
end
.Tiffany:
farwritetext UnknownText_0x1b6ea6
- keeptextopen
+ buttonsound
end
.Erin:
farwritetext UnknownText_0x1b7548
- keeptextopen
+ buttonsound
end
-UnknownScript_0xbe164:
+PhoneScript_AnswerPhone_Female_Nite:
checkcode VAR_CALLERID
if_equal PHONE_POKEFAN_BEVERLY, .Beverly
if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -2400,49 +2400,49 @@
.Beverly:
farwritetext UnknownText_0x1b4f75
- keeptextopen
+ buttonsound
end
.Beth:
farwritetext UnknownText_0x1b5446
- keeptextopen
+ buttonsound
end
.Reena:
farwritetext UnknownText_0x1b575a
- keeptextopen
+ buttonsound
end
.Liz:
farwritetext UnknownText_0x1b5df8
- keeptextopen
+ buttonsound
end
.Gina:
farwritetext UnknownText_0x1b62c5
- keeptextopen
+ buttonsound
end
.Dana:
farwritetext UnknownText_0x1b6713
- keeptextopen
+ buttonsound
end
.Tiffany:
farwritetext UnknownText_0x1b6ec9
- keeptextopen
+ buttonsound
end
.Erin:
farwritetext UnknownText_0x1b756f
- keeptextopen
+ buttonsound
end
-UnknownScript_0xbe1b6:
+PhoneScript_GreetPhone_Male:
checkday
- iftrue UnknownScript_0xbe28a
+ iftrue PhoneScript_GreetPhone_Male_Day
checknite
- iftrue UnknownScript_0xbe354
+ iftrue PhoneScript_GreetPhone_Male_Nite
checkcode VAR_CALLERID
if_equal PHONE_SCHOOLBOY_JACK, .Jack
if_equal PHONE_SAILOR_HUEY, .Huey
@@ -2467,105 +2467,105 @@
.Jack:
farwritetext UnknownText_0x1b4e3e
- keeptextopen
+ buttonsound
end
.Huey:
farwritetext UnknownText_0x1b50e9
- keeptextopen
+ buttonsound
end
.Gaven:
farwritetext UnknownText_0x1b5301
- keeptextopen
+ buttonsound
end
.Jose:
farwritetext UnknownText_0x1b5628
- keeptextopen
+ buttonsound
end
.Joey:
farwritetext UnknownText_0x1b5912
- keeptextopen
+ buttonsound
end
.Wade:
farwritetext UnknownText_0x1b5ad8
- keeptextopen
+ buttonsound
end
.Ralph:
farwritetext UnknownText_0x1b5d09
- keeptextopen
+ buttonsound
end
.Anthony:
farwritetext UnknownText_0x1b5ff6
- keeptextopen
+ buttonsound
end
.Todd:
farwritetext UnknownText_0x1b616e
- keeptextopen
+ buttonsound
end
.Irwin:
farwritetext UnknownText_0x1b63e3
- keeptextopen
+ buttonsound
end
.Arnie:
farwritetext UnknownText_0x1b64d2
- keeptextopen
+ buttonsound
end
.Alan:
farwritetext UnknownText_0x1b660d
- keeptextopen
+ buttonsound
end
.Chad:
farwritetext UnknownText_0x1b6862
- keeptextopen
+ buttonsound
end
.Derek:
farwritetext UnknownText_0x1b6a22
- keeptextopen
+ buttonsound
end
.Tully:
farwritetext UnknownText_0x1b6bb9
- keeptextopen
+ buttonsound
end
.Brent:
farwritetext UnknownText_0x1b6d26
- keeptextopen
+ buttonsound
end
.Vance:
farwritetext UnknownText_0x1b70e7
- keeptextopen
+ buttonsound
end
.Wilton:
farwritetext UnknownText_0x1b725c
- keeptextopen
+ buttonsound
end
.Kenji:
farwritetext UnknownText_0x1b737f
- keeptextopen
+ buttonsound
end
.Parry:
farwritetext UnknownText_0x1b743f
- keeptextopen
+ buttonsound
end
-UnknownScript_0xbe28a:
+PhoneScript_GreetPhone_Male_Day:
checkcode VAR_CALLERID
if_equal PHONE_SCHOOLBOY_JACK, .Jack
if_equal PHONE_SAILOR_HUEY, .Huey
@@ -2590,105 +2590,105 @@
.Jack:
farwritetext UnknownText_0x1b4e72
- keeptextopen
+ buttonsound
end
.Huey:
farwritetext UnknownText_0x1b511a
- keeptextopen
+ buttonsound
end
.Gaven:
farwritetext UnknownText_0x1b5335
- keeptextopen
+ buttonsound
end
.Jose:
farwritetext UnknownText_0x1b564c
- keeptextopen
+ buttonsound
end
.Joey:
farwritetext UnknownText_0x1b5948
- keeptextopen
+ buttonsound
end
.Wade:
farwritetext UnknownText_0x1b5b0b
- keeptextopen
+ buttonsound
end
.Ralph:
farwritetext UnknownText_0x1b5d21
- keeptextopen
+ buttonsound
end
.Anthony:
farwritetext UnknownText_0x1b6017
- keeptextopen
+ buttonsound
end
.Todd:
farwritetext UnknownText_0x1b618f
- keeptextopen
+ buttonsound
end
.Irwin:
farwritetext UnknownText_0x1b6407
- keeptextopen
+ buttonsound
end
.Arnie:
farwritetext UnknownText_0x1b6506
- keeptextopen
+ buttonsound
end
.Alan:
farwritetext UnknownText_0x1b6624
- keeptextopen
+ buttonsound
end
.Chad:
farwritetext UnknownText_0x1b6890
- keeptextopen
+ buttonsound
end
.Derek:
farwritetext UnknownText_0x1b6a56
- keeptextopen
+ buttonsound
end
.Tully:
farwritetext UnknownText_0x1b6bef
- keeptextopen
+ buttonsound
end
.Brent:
farwritetext UnknownText_0x1b6d57
- keeptextopen
+ buttonsound
end
.Vance:
farwritetext UnknownText_0x1b7112
- keeptextopen
+ buttonsound
end
.Wilton:
farwritetext UnknownText_0x1b7283
- keeptextopen
+ buttonsound
end
.Kenji:
farwritetext UnknownText_0x1b7397
- keeptextopen
+ buttonsound
end
.Parry:
farwritetext UnknownText_0x1b746f
- keeptextopen
+ buttonsound
end
-UnknownScript_0xbe354:
+PhoneScript_GreetPhone_Male_Nite:
checkcode VAR_CALLERID
if_equal PHONE_SCHOOLBOY_JACK, .Jack
if_equal PHONE_SAILOR_HUEY, .Huey
@@ -2713,109 +2713,109 @@
.Jack:
farwritetext UnknownText_0x1b4e9e
- keeptextopen
+ buttonsound
end
.Huey:
farwritetext UnknownText_0x1b5154
- keeptextopen
+ buttonsound
end
.Gaven:
farwritetext UnknownText_0x1b535f
- keeptextopen
+ buttonsound
end
.Jose:
farwritetext UnknownText_0x1b5670
- keeptextopen
+ buttonsound
end
.Joey:
farwritetext UnknownText_0x1b597c
- keeptextopen
+ buttonsound
end
.Wade:
farwritetext UnknownText_0x1b5b37
- keeptextopen
+ buttonsound
end
.Ralph:
farwritetext UnknownText_0x1b5d39
- keeptextopen
+ buttonsound
end
.Anthony:
farwritetext UnknownText_0x1b6041
- keeptextopen
+ buttonsound
end
.Todd:
farwritetext UnknownText_0x1b61bd
- keeptextopen
+ buttonsound
end
.Irwin:
farwritetext UnknownText_0x1b642c
- keeptextopen
+ buttonsound
end
.Arnie:
farwritetext UnknownText_0x1b6539
- keeptextopen
+ buttonsound
end
.Alan:
farwritetext UnknownText_0x1b663b
- keeptextopen
+ buttonsound
end
.Chad:
farwritetext UnknownText_0x1b68ba
- keeptextopen
+ buttonsound
end
.Derek:
farwritetext UnknownText_0x1b6a8b
- keeptextopen
+ buttonsound
end
.Tully:
farwritetext UnknownText_0x1b6c23
- keeptextopen
+ buttonsound
end
.Brent:
farwritetext UnknownText_0x1b6d88
- keeptextopen
+ buttonsound
end
.Vance:
farwritetext UnknownText_0x1b7132
- keeptextopen
+ buttonsound
end
.Wilton:
farwritetext UnknownText_0x1b72a5
- keeptextopen
+ buttonsound
end
.Kenji:
farwritetext UnknownText_0x1b73af
- keeptextopen
+ buttonsound
end
.Parry:
farwritetext UnknownText_0x1b749b
- keeptextopen
+ buttonsound
end
-UnknownScript_0xbe41e:
+PhoneScript_GreetPhone_Female:
checkday
- iftrue UnknownScript_0xbe47a
+ iftrue PhoneScript_GreetPhone_Female_Day
checknite
- iftrue UnknownScript_0xbe4cc
+ iftrue PhoneScript_GreetPhone_Female_Nite
checkcode VAR_CALLERID
if_equal PHONE_POKEFAN_BEVERLY, .Beverly
if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -2828,45 +2828,45 @@
.Beverly:
farwritetext UnknownText_0x1b4fa1
- keeptextopen
+ buttonsound
end
.Beth:
farwritetext UnknownText_0x1b5472
- keeptextopen
+ buttonsound
end
.Reena:
farwritetext UnknownText_0x1b5786
- keeptextopen
+ buttonsound
end
.Liz:
farwritetext UnknownText_0x1b5e25
- keeptextopen
+ buttonsound
end
.Gina:
farwritetext UnknownText_0x1b62f1
- keeptextopen
+ buttonsound
end
.Dana:
farwritetext UnknownText_0x1b6738
- keeptextopen
+ buttonsound
end
.Tiffany:
farwritetext UnknownText_0x1b6ef3
- keeptextopen
+ buttonsound
end
.Erin:
farwritetext UnknownText_0x1b758f
- keeptextopen
+ buttonsound
end
-UnknownScript_0xbe47a:
+PhoneScript_GreetPhone_Female_Day:
checkcode VAR_CALLERID
if_equal PHONE_POKEFAN_BEVERLY, .Beverly
if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -2879,45 +2879,45 @@
.Beverly:
farwritetext UnknownText_0x1b4fda
- keeptextopen
+ buttonsound
end
.Beth:
farwritetext UnknownText_0x1b54a6
- keeptextopen
+ buttonsound
end
.Reena:
farwritetext UnknownText_0x1b57b7
- keeptextopen
+ buttonsound
end
.Liz:
farwritetext UnknownText_0x1b5e59
- keeptextopen
+ buttonsound
end
.Gina:
farwritetext UnknownText_0x1b630e
- keeptextopen
+ buttonsound
end
.Dana:
farwritetext UnknownText_0x1b6757
- keeptextopen
+ buttonsound
end
.Tiffany:
farwritetext UnknownText_0x1b6f1c
- keeptextopen
+ buttonsound
end
.Erin:
farwritetext UnknownText_0x1b75ac
- keeptextopen
+ buttonsound
end
-UnknownScript_0xbe4cc:
+PhoneScript_GreetPhone_Female_Nite:
checkcode VAR_CALLERID
if_equal PHONE_POKEFAN_BEVERLY, .Beverly
if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -2930,45 +2930,45 @@
.Beverly:
farwritetext UnknownText_0x1b5004
- keeptextopen
+ buttonsound
end
.Beth:
farwritetext UnknownText_0x1b54d4
- keeptextopen
+ buttonsound
end
.Reena:
farwritetext UnknownText_0x1b57e8
- keeptextopen
+ buttonsound
end
.Liz:
farwritetext UnknownText_0x1b5e8e
- keeptextopen
+ buttonsound
end
.Gina:
farwritetext UnknownText_0x1b6331
- keeptextopen
+ buttonsound
end
.Dana:
farwritetext UnknownText_0x1b6776
- keeptextopen
+ buttonsound
end
.Tiffany:
farwritetext UnknownText_0x1b6f37
- keeptextopen
+ buttonsound
end
.Erin:
farwritetext UnknownText_0x1b75c9
- keeptextopen
+ buttonsound
end
-UnknownScript_0xbe51e:
+PhoneScript_Generic_Male:
checkcode VAR_CALLERID
if_equal PHONE_SCHOOLBOY_JACK, .Jack
if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
@@ -2990,95 +2990,95 @@
.Jack:
farwritetext UnknownText_0x1b4ecd
- keeptextopen
+ buttonsound
end
.Unknown:
farwritetext UnknownText_0x1b518b
- keeptextopen
+ buttonsound
end
.Gaven:
farwritetext UnknownText_0x1b5393
- keeptextopen
+ buttonsound
end
.Jose:
farwritetext UnknownText_0x1b5694
- keeptextopen
+ buttonsound
end
.Joey:
farwritetext UnknownText_0x1b59b2
- keeptextopen
+ buttonsound
end
.Wade:
farwritetext UnknownText_0x1b5b68
- keeptextopen
+ buttonsound
end
.Ralph:
farwritetext UnknownText_0x1b5d51
- keeptextopen
+ buttonsound
end
.Anthony:
farwritetext UnknownText_0x1b606f
- keeptextopen
+ buttonsound
end
.Todd:
farwritetext UnknownText_0x1b61f2
- keeptextopen
+ buttonsound
end
.Arnie:
farwritetext UnknownText_0x1b656c
- keeptextopen
+ buttonsound
end
.Alan:
farwritetext UnknownText_0x1b6652
- keeptextopen
+ buttonsound
end
.Chad:
farwritetext UnknownText_0x1b68e8
- keeptextopen
+ buttonsound
end
.Derek:
farwritetext UnknownText_0x1b6ac2
- keeptextopen
+ buttonsound
end
.Tully:
farwritetext UnknownText_0x1b6c56
- keeptextopen
+ buttonsound
end
.Brent:
farwritetext UnknownText_0x1b6db9
- keeptextopen
+ buttonsound
end
.Vance:
farwritetext UnknownText_0x1b7161
- keeptextopen
+ buttonsound
end
.Wilton:
farwritetext UnknownText_0x1b72d0
- keeptextopen
+ buttonsound
end
.Parry:
farwritetext UnknownText_0x1b74c8
- keeptextopen
+ buttonsound
end
-UnknownScript_0xbe5d0:
+PhoneScript_Generic_Female:
checkcode VAR_CALLERID
if_equal PHONE_POKEFAN_BEVERLY, .Beverly
if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -3091,59 +3091,59 @@
.Beverly:
farwritetext UnknownText_0x1b502b
- keeptextopen
+ buttonsound
end
.Beth:
farwritetext UnknownText_0x1b5510
- keeptextopen
+ buttonsound
end
.Reena:
farwritetext UnknownText_0x1b5819
- keeptextopen
+ buttonsound
end
.Liz:
farwritetext UnknownText_0x1b5ebe
- keeptextopen
+ buttonsound
end
.Gina:
farwritetext UnknownText_0x1b6352
- keeptextopen
+ buttonsound
end
.Dana:
farwritetext UnknownText_0x1b6795
- keeptextopen
+ buttonsound
end
.Tiffany:
farwritetext UnknownText_0x1b6f60
- keeptextopen
+ buttonsound
end
.Erin:
farwritetext UnknownText_0x1b75e5
- keeptextopen
+ buttonsound
end
-UnknownScript_0xbe622:
+PhoneScript_MonFlavorText:
special RandomPhoneMon
- farscall UnknownScript_0xbde3f
- if_equal $0, UnknownScript_0xbe636
+ farscall PhoneScript_Random2
+ if_equal $0, .TooEnergetic
farwritetext UnknownText_0x1b518b
- keeptextopen
- farjump UnknownScript_0xa0484
+ buttonsound
+ farjump PhoneScript_HangupText_Male
-UnknownScript_0xbe636:
- farjump UnknownScript_0xbe63a
+.TooEnergetic:
+ farjump .unnecessary
-UnknownScript_0xbe63a:
+.unnecessary:
farwritetext UnknownText_0x1b522b
- keeptextopen
- farjump UnknownScript_0xa0484
+ buttonsound
+ farjump PhoneScript_HangupText_Male
; be643
--- /dev/null
+++ b/engine/player_movement.asm
@@ -1,0 +1,846 @@
+DoPlayerMovement:: ; 80000
+
+ call .GetDPad
+ ld a, movement_step_sleep_1
+ ld [MovementAnimation], a
+ xor a
+ ld [wd041], a
+ call .TranslateIntoMovement
+ ld c, a
+ ld a, [MovementAnimation]
+ ld [wPlayerNextMovement], a
+ ret
+
+.GetDPad
+
+ ld a, [hJoyDown]
+ ld [CurInput], a
+
+; Standing downhill instead moves down.
+
+ ld hl, BikeFlags
+ bit 2, [hl] ; downhill
+ ret z
+
+ ld c, a
+ and D_PAD
+ ret nz
+
+ ld a, c
+ or D_DOWN
+ ld [CurInput], a
+ ret
+; 8002d
+
+.TranslateIntoMovement
+ ld a, [PlayerState]
+ cp PLAYER_NORMAL
+ jr z, .Normal
+ cp PLAYER_SURF
+ jr z, .Surf
+ cp PLAYER_SURF_PIKA
+ jr z, .Surf
+ cp PLAYER_BIKE
+ jr z, .Normal
+ cp PLAYER_SLIP
+ jr z, .Ice
+
+.Normal
+ call .CheckForced
+ call .GetAction
+ call .CheckTile
+ ret c
+ call .CheckTurning
+ ret c
+ call .TryStep
+ ret c
+ call .TryJump
+ ret c
+ call .CheckWarp
+ ret c
+ jr .NotMoving
+
+.Surf
+ call .CheckForced
+ call .GetAction
+ call .CheckTile
+ ret c
+ call .CheckTurning
+ ret c
+ call .TrySurf
+ ret c
+ jr .NotMoving
+
+.Ice
+ call .CheckForced
+ call .GetAction
+ call .CheckTile
+ ret c
+ call .CheckTurning
+ ret c
+ call .TryStep
+ ret c
+ call .TryJump
+ ret c
+ call .CheckWarp
+ ret c
+ ld a, [WalkingDirection]
+ cp STANDING
+ jr z, .HitWall
+ call .BumpSound
+.HitWall
+ call .StandInPlace
+ xor a
+ ret
+
+.NotMoving
+ ld a, [WalkingDirection]
+ cp STANDING
+ jr z, .Standing
+
+; Walking into an edge warp won't bump.
+ ld a, [EngineBuffer4]
+ and a
+ jr nz, .CantMove
+ call .BumpSound
+.CantMove
+ call ._WalkInPlace
+ xor a
+ ret
+
+.Standing
+ call .StandInPlace
+ xor a
+ ret
+; 800b7
+
+.CheckTile: ; 800b7
+; Tiles such as waterfalls and warps move the player
+; in a given direction, overriding input.
+
+ ld a, [PlayerNextTile]
+ ld c, a
+ call CheckWhirlpoolTile
+ jr c, .asm_800c4
+ ld a, 3
+ scf
+ ret
+
+.asm_800c4
+ and $f0
+ cp $30 ; moving water
+ jr z, .water
+ cp $40 ; moving land 1
+ jr z, .land1
+ cp $50 ; moving land 2
+ jr z, .land2
+ cp $70 ; warps
+ jr z, .warps
+ jr .asm_8013c
+
+.water
+ ld a, c
+ and 3
+ ld c, a
+ ld b, 0
+ ld hl, .water_table
+ add hl, bc
+ ld a, [hl]
+ ld [WalkingDirection], a
+ jr .asm_8013e
+
+.water_table
+ db RIGHT
+ db LEFT
+ db UP
+ db DOWN
+
+.land1
+ ld a, c
+ and 7
+ ld c, a
+ ld b, 0
+ ld hl, .land1_table
+ add hl, bc
+ ld a, [hl]
+ cp STANDING
+ jr z, .asm_8013c
+ ld [WalkingDirection], a
+ jr .asm_8013e
+
+.land1_table
+ db STANDING
+ db RIGHT
+ db LEFT
+ db UP
+ db DOWN
+ db STANDING
+ db STANDING
+ db STANDING
+
+.land2
+ ld a, c
+ and 7
+ ld c, a
+ ld b, 0
+ ld hl, .land2_table
+ add hl, bc
+ ld a, [hl]
+ cp STANDING
+ jr z, .asm_8013c
+ ld [WalkingDirection], a
+ jr .asm_8013e
+
+.land2_table
+ db RIGHT
+ db LEFT
+ db UP
+ db DOWN
+ db STANDING
+ db STANDING
+ db STANDING
+ db STANDING
+
+.warps
+ ld a, c
+ cp $71 ; door
+ jr z, .down
+ cp $79
+ jr z, .down
+ cp $7a ; stairs
+ jr z, .down
+ cp $7b ; cave
+ jr nz, .asm_8013c
+
+.down
+ ld a, DOWN
+ ld [WalkingDirection], a
+ jr .asm_8013e
+
+.asm_8013c
+ xor a
+ ret
+
+.asm_8013e
+ ld a, STEP_WALK
+ call .DoStep
+ ld a, 5
+ scf
+ ret
+; 80147
+
+.CheckTurning: ; 80147
+; If the player is turning, change direction first. This also lets
+; the player change facing without moving by tapping a direction.
+
+ ld a, [wd04e]
+ cp 0
+ jr nz, .asm_80169
+ ld a, [WalkingDirection]
+ cp STANDING
+ jr z, .asm_80169
+
+ ld e, a
+ ld a, [PlayerDirection]
+ rrca
+ rrca
+ and 3
+ cp e
+ jr z, .asm_80169
+
+ ld a, STEP_TURN
+ call .DoStep
+ ld a, 2
+ scf
+ ret
+
+.asm_80169
+ xor a
+ ret
+; 8016b
+
+.TryStep: ; 8016b
+
+; Surfing actually calls .TrySurf directly instead of passing through here.
+ ld a, [PlayerState]
+ cp PLAYER_SURF
+ jr z, .TrySurf
+ cp PLAYER_SURF_PIKA
+ jr z, .TrySurf
+
+ call .CheckLandPerms
+ jr c, .bump
+
+ call .CheckNPC
+ and a
+ jr z, .bump
+ cp 2
+ jr z, .bump
+
+ ld a, [PlayerNextTile]
+ call CheckIceTile
+ jr nc, .ice
+
+; Downhill riding is slower when not moving down.
+ call .BikeCheck
+ jr nz, .walk
+
+ ld hl, BikeFlags
+ bit 2, [hl] ; downhill
+ jr z, .fast
+
+ ld a, [WalkingDirection]
+ cp DOWN
+ jr z, .fast
+
+ ld a, STEP_WALK
+ call .DoStep
+ scf
+ ret
+
+.fast
+ ld a, STEP_BIKE
+ call .DoStep
+ scf
+ ret
+
+.walk
+ ld a, STEP_WALK
+ call .DoStep
+ scf
+ ret
+
+.ice
+ ld a, STEP_ICE
+ call .DoStep
+ scf
+ ret
+
+; unused?
+ xor a
+ ret
+
+.bump
+ xor a
+ ret
+; 801c0
+
+.TrySurf: ; 801c0
+
+ call .CheckSurfPerms
+ ld [wd040], a
+ jr c, .surf_bump
+
+ call .CheckNPC
+ ld [wd03f], a
+ and a
+ jr z, .surf_bump
+ cp 2
+ jr z, .surf_bump
+
+ ld a, [wd040]
+ and a
+ jr nz, .ExitWater
+
+ ld a, STEP_WALK
+ call .DoStep
+ scf
+ ret
+
+.ExitWater
+ call .GetOutOfWater
+ call PlayMapMusic
+ ld a, STEP_WALK
+ call .DoStep
+ ld a, 6
+ scf
+ ret
+
+.surf_bump
+ xor a
+ ret
+; 801f3
+
+.TryJump: ; 801f3
+ ld a, [PlayerNextTile]
+ ld e, a
+ and $f0
+ cp $a0 ; ledge
+ jr nz, .DontJump
+
+ ld a, e
+ and 7
+ ld e, a
+ ld d, 0
+ ld hl, .data_8021e
+ add hl, de
+ ld a, [FacingDirection]
+ and [hl]
+ jr z, .DontJump
+
+ ld de, SFX_JUMP_OVER_LEDGE
+ call PlaySFX
+ ld a, STEP_LEDGE
+ call .DoStep
+ ld a, 7
+ scf
+ ret
+
+.DontJump
+ xor a
+ ret
+
+.data_8021e
+ db FACE_RIGHT
+ db FACE_LEFT
+ db FACE_UP
+ db FACE_DOWN
+ db FACE_RIGHT | FACE_DOWN
+ db FACE_DOWN | FACE_LEFT
+ db FACE_UP | FACE_RIGHT
+ db FACE_UP | FACE_LEFT
+; 80226
+
+.CheckWarp: ; 80226
+
+; Bug: Since no case is made for STANDING here, it will check
+; [.edgewarps + $ff]. This resolves to $3e at $8035a.
+; This causes wd041 to be nonzero when standing on tile $3e,
+; making bumps silent.
+
+ ld a, [WalkingDirection]
+ ld e, a
+ ld d, 0
+ ld hl, .EdgeWarps
+ add hl, de
+ ld a, [PlayerNextTile]
+ cp [hl]
+ jr nz, .not_warp
+
+ ld a, 1
+ ld [wd041], a
+ ld a, [WalkingDirection]
+ cp STANDING
+ jr z, .not_warp
+
+ ld e, a
+ ld a, [PlayerDirection]
+ rrca
+ rrca
+ and 3
+ cp e
+ jr nz, .not_warp
+ call WarpCheck
+ jr nc, .not_warp
+
+ call .StandInPlace
+ scf
+ ld a, 1
+ ret
+
+.not_warp
+ xor a
+ ret
+
+.EdgeWarps
+ db $70, $78, $76, $7e
+; 8025f
+
+.DoStep: ; 8025f
+ ld e, a
+ ld d, 0
+ ld hl, .Steps
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+
+ ld a, [WalkingDirection]
+ ld e, a
+ cp STANDING
+ jp z, .StandInPlace
+
+ add hl, de
+ ld a, [hl]
+ ld [MovementAnimation], a
+
+ ld hl, .InPlace
+ add hl, de
+ ld a, [hl]
+ ld [wd04e], a
+
+ ld a, 4
+ ret
+
+.Steps
+ dw .SlowStep
+ dw .NormalStep
+ dw .FastStep
+ dw .JumpStep
+ dw .SlideStep
+ dw .TurningStep
+ dw .BackJumpStep
+ dw .InPlace
+
+.SlowStep
+ slow_step_down
+ slow_step_up
+ slow_step_left
+ slow_step_right
+.NormalStep
+ step_down
+ step_up
+ step_left
+ step_right
+.FastStep
+ big_step_down
+ big_step_up
+ big_step_left
+ big_step_right
+.JumpStep
+ jump_step_down
+ jump_step_up
+ jump_step_left
+ jump_step_right
+.SlideStep
+ fast_slide_step_down
+ fast_slide_step_up
+ fast_slide_step_left
+ fast_slide_step_right
+.BackJumpStep
+ jump_step_up
+ jump_step_down
+ jump_step_right
+ jump_step_left
+.TurningStep
+ turn_step_down
+ turn_step_up
+ turn_step_left
+ turn_step_right
+.InPlace
+ db $80 + movement_turn_head_down
+ db $80 + movement_turn_head_up
+ db $80 + movement_turn_head_left
+ db $80 + movement_turn_head_right
+; 802b3
+
+.StandInPlace: ; 802b3
+ ld a, 0
+ ld [wd04e], a
+ ld a, movement_step_sleep_1
+ ld [MovementAnimation], a
+ xor a
+ ret
+; 802bf
+
+._WalkInPlace: ; 802bf
+ ld a, 0
+ ld [wd04e], a
+ ld a, movement_step_bump
+ ld [MovementAnimation], a
+ xor a
+ ret
+; 802cb
+
+.CheckForced: ; 802cb
+; When sliding on ice, input is forced to remain in the same direction.
+
+ call CheckStandingOnIce
+ ret nc
+
+ ld a, [wd04e]
+ cp 0
+ ret z
+
+ and 3
+ ld e, a
+ ld d, 0
+ ld hl, .forced_dpad
+ add hl, de
+ ld a, [CurInput]
+ and BUTTONS
+ or [hl]
+ ld [CurInput], a
+ ret
+
+.forced_dpad
+ db D_DOWN, D_UP, D_LEFT, D_RIGHT
+; 802ec
+
+.GetAction: ; 802ec
+; Poll player input and update movement info.
+
+ ld hl, .table
+ ld de, .table2 - .table1
+ ld a, [CurInput]
+ bit D_DOWN_F, a
+ jr nz, .d_down
+ bit D_UP_F, a
+ jr nz, .d_up
+ bit D_LEFT_F, a
+ jr nz, .d_left
+ bit D_RIGHT_F, a
+ jr nz, .d_right
+; Standing
+ jr .update
+
+.d_down add hl, de
+.d_up add hl, de
+.d_left add hl, de
+.d_right add hl, de
+
+.update
+ ld a, [hli]
+ ld [WalkingDirection], a
+ ld a, [hli]
+ ld [FacingDirection], a
+ ld a, [hli]
+ ld [WalkingX], a
+ ld a, [hli]
+ ld [WalkingY], a
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [hl]
+ ld [WalkingTile], a
+ ret
+
+.table
+; struct:
+; walk direction
+; facing
+; x movement
+; y movement
+; tile collision pointer
+.table1
+ db STANDING, FACE_CURRENT, 0, 0
+ dw PlayerNextTile
+.table2
+ db RIGHT, FACE_RIGHT, 1, 0
+ dw TileRight
+ db LEFT, FACE_LEFT, -1, 0
+ dw TileLeft
+ db UP, FACE_UP, 0, -1
+ dw TileUp
+ db DOWN, FACE_DOWN, 0, 1
+ dw TileDown
+; 80341
+
+.CheckNPC: ; 80341
+; Returns 0 if there is an NPC in front that you can't move
+; Returns 1 if there is no NPC in front
+; Returns 2 if there is a movable NPC in front
+ ld a, 0
+ ld [hMapObjectIndexBuffer], a
+; Load the next X coordinate into d
+ ld a, [PlayerNextMapX]
+ ld d, a
+ ld a, [WalkingX]
+ add d
+ ld d, a
+; Load the next Y coordinate into e
+ ld a, [PlayerNextMapY]
+ ld e, a
+ ld a, [WalkingY]
+ add e
+ ld e, a
+; Find an object struct with coordinates equal to d,e
+ ld bc, ObjectStructs ; redundant
+ callba IsNPCAtCoord
+ jr nc, .is_npc
+ call .CheckStrengthBoulder
+ jr c, .no_bump
+
+ xor a
+ ret
+
+.is_npc
+ ld a, 1
+ ret
+
+.no_bump
+ ld a, 2
+ ret
+; 8036f
+
+.CheckStrengthBoulder: ; 8036f
+
+ ld hl, BikeFlags
+ bit 0, [hl] ; using strength
+ jr z, .not_boulder
+
+ ld hl, OBJECT_DIRECTION_WALKING
+ add hl, bc
+ ld a, [hl]
+ cp STANDING
+ jr nz, .not_boulder
+
+ ld hl, OBJECT_PALETTE
+ add hl, bc
+ bit 6, [hl]
+ jr z, .not_boulder
+
+ ld hl, OBJECT_FLAGS2
+ add hl, bc
+ set 2, [hl]
+
+ ld a, [WalkingDirection]
+ ld d, a
+ ld hl, OBJECT_RANGE
+ add hl, bc
+ ld a, [hl]
+ and $fc
+ or d
+ ld [hl], a
+
+ scf
+ ret
+
+.not_boulder
+ xor a
+ ret
+; 8039e
+
+.CheckLandPerms: ; 8039e
+; Return 0 if walking onto land and tile permissions allow it.
+; Otherwise, return carry.
+
+ ld a, [TilePermissions]
+ ld d, a
+ ld a, [FacingDirection]
+ and d
+ jr nz, .NotWalkable
+
+ ld a, [WalkingTile]
+ call .CheckWalkable
+ jr c, .NotWalkable
+
+ xor a
+ ret
+
+.NotWalkable
+ scf
+ ret
+; 803b4
+
+.CheckSurfPerms: ; 803b4
+; Return 0 if moving in water, or 1 if moving onto land.
+; Otherwise, return carry.
+
+ ld a, [TilePermissions]
+ ld d, a
+ ld a, [FacingDirection]
+ and d
+ jr nz, .NotSurfable
+
+ ld a, [WalkingTile]
+ call .CheckSurfable
+ jr c, .NotSurfable
+
+ and a
+ ret
+
+.NotSurfable
+ scf
+ ret
+; 803ca
+
+.BikeCheck: ; 803ca
+
+ ld a, [PlayerState]
+ cp PLAYER_BIKE
+ ret z
+ cp PLAYER_SLIP
+ ret
+; 803d3
+
+.CheckWalkable: ; 803d3
+; Return 0 if tile a is land. Otherwise, return carry.
+
+ call GetTileCollision
+ and a ; land
+ ret z
+ scf
+ ret
+; 803da
+
+.CheckSurfable: ; 803da
+; Return 0 if tile a is water, or 1 if land.
+; Otherwise, return carry.
+
+ call GetTileCollision
+ cp 1
+ jr z, .Water
+
+; Can walk back onto land from water.
+ and a
+ jr z, .Land
+
+ jr .Neither
+
+.Water
+ xor a
+ ret
+
+.Land
+ ld a, 1
+ and a
+ ret
+
+.Neither
+ scf
+ ret
+; 803ee
+
+.BumpSound: ; 803ee
+
+ call CheckSFX
+ ret c
+ ld de, SFX_BUMP
+ call PlaySFX
+ ret
+; 803f9
+
+.GetOutOfWater: ; 803f9
+ push bc
+ ld a, PLAYER_NORMAL
+ ld [PlayerState], a
+ call ReplaceKrisSprite ; UpdateSprites
+ pop bc
+ ret
+; 80404
+
+CheckStandingOnIce:: ; 80404
+ ld a, [wd04e]
+ cp 0
+ jr z, .not_ice
+ cp $f0
+ jr z, .not_ice
+ ld a, [PlayerNextTile]
+ call CheckIceTile
+ jr nc, .yep
+ ld a, [PlayerState]
+ cp PLAYER_SLIP
+ jr nz, .not_ice
+
+.yep
+ scf
+ ret
+
+.not_ice
+ and a
+ ret
+; 80422
+
+Function80422:: ; 80422
+ ld hl, wPlayerNextMovement
+ ld a, movement_step_sleep_1
+ cp [hl]
+ ret z
+
+ ld [hl], a
+ ld a, 0
+ ld [wd04e], a
+ ret
+; 80430
--- /dev/null
+++ b/engine/player_step.asm
@@ -1,0 +1,271 @@
+_HandlePlayerStep:: ; d497 (3:5497)
+ ld a, [wPlayerStepFlags]
+ and a
+ ret z
+ bit 7, a ; starting step
+ jr nz, .update_overworld_map
+ bit 6, a ; finishing step
+ jr nz, .update_player_coords
+ bit 5, a ; ongoing step
+ jr nz, .finish
+ ret
+
+.update_overworld_map
+ ld a, 4
+ ld [wHandlePlayerStep], a
+ call UpdateOverworldMap
+ jr .finish
+
+.update_player_coords
+ call UpdatePlayerCoords
+ jr .finish
+
+.finish
+ call HandlePlayerStep
+ ld a, [wPlayerStepVectorX]
+ ld d, a
+ ld a, [wPlayerStepVectorY]
+ ld e, a
+ ld a, [wFollowNotExactPersonX]
+ sub d
+ ld [wFollowNotExactPersonX], a
+ ld a, [wFollowNotExactPersonY]
+ sub e
+ ld [wFollowNotExactPersonY], a
+ ret
+
+ScrollScreen:: ; d4d2 (3:54d2)
+ ld a, [wPlayerStepVectorX]
+ ld d, a
+ ld a, [wPlayerStepVectorY]
+ ld e, a
+ ld a, [hSCX]
+ add d
+ ld [hSCX], a
+ ld a, [hSCY]
+ add e
+ ld [hSCY], a
+ ret
+
+HandlePlayerStep: ; d4e5 (3:54e5)
+ ld hl, wHandlePlayerStep
+ ld a, [hl]
+ and a
+ ret z
+ dec [hl]
+ ld a, [hl]
+ ld hl, .Jumptable
+ rst JumpTable
+ ret
+
+.Jumptable: ; d4f2 (3:54f2)
+
+ dw GetMovementPermissions
+ dw BufferScreen
+ dw .mobile
+ dw .fail2
+; The rest are never used. Ever.
+ dw .fail1
+ dw .fail1
+ dw .fail1
+ dw .fail1
+ dw .fail1
+ dw .fail1
+ dw .fail1
+
+.fail1: ; d508 (3:5508)
+ ret
+
+.mobile: ; d509 (3:5509)
+ callba MobileFn_10602e
+ ret
+
+.fail2: ; d510 (3:5510)
+ ret
+
+UpdatePlayerCoords: ; d511 (3:5511)
+ ld a, [wPlayerStepDirection]
+ and a
+ jr nz, .check_step_down
+ ld hl, YCoord
+ inc [hl]
+ ret
+
+.check_step_down
+ cp UP
+ jr nz, .check_step_left
+ ld hl, YCoord
+ dec [hl]
+ ret
+
+.check_step_left
+ cp LEFT
+ jr nz, .check_step_right
+ ld hl, XCoord
+ dec [hl]
+ ret
+
+.check_step_right
+ cp RIGHT
+ ret nz
+ ld hl, XCoord
+ inc [hl]
+ ret
+
+UpdateOverworldMap: ; d536 (3:5536)
+ ld a, [wPlayerStepDirection]
+ and a
+ jr z, .step_down
+ cp UP
+ jr z, .step_up
+ cp LEFT
+ jr z, .step_left
+ cp RIGHT
+ jr z, .step_right
+ ret
+
+.step_down
+ call .ScrollOverworldMapDown
+ call LoadMapPart
+ call ScrollMapUp
+ ret
+
+.step_up
+ call .ScrollOverworldMapUp
+ call LoadMapPart
+ call ScrollMapDown
+ ret
+
+.step_left
+ call .ScrollOverworldMapLeft
+ call LoadMapPart
+ call ScrollMapRight
+ ret
+
+.step_right
+ call .ScrollOverworldMapRight
+ call LoadMapPart
+ call ScrollMapLeft
+ ret
+
+.ScrollOverworldMapDown: ; d571 (3:5571)
+ ld a, [wBGMapAnchor]
+ add 2 * BG_MAP_WIDTH
+ ld [wBGMapAnchor], a
+ jr nc, .not_overflowed
+ ld a, [wBGMapAnchor + 1]
+ inc a
+ and $3
+ or VBGMap0 / $100
+ ld [wBGMapAnchor + 1], a
+.not_overflowed
+ ld hl, wMetatileStandingY
+ inc [hl]
+ ld a, [hl]
+ cp 2 ; was 1
+ jr nz, .done_down
+ ld [hl], 0
+ call .Add6ToOverworldMapAnchor
+.done_down
+ ret
+
+.Add6ToOverworldMapAnchor: ; d595 (3:5595)
+ ld hl, wOverworldMapAnchor
+ ld a, [MapWidth]
+ add 6
+ add [hl]
+ ld [hli], a
+ ret nc
+ inc [hl]
+ ret
+
+.ScrollOverworldMapUp: ; d5a2 (3:55a2)
+ ld a, [wBGMapAnchor]
+ sub 2 * BG_MAP_WIDTH
+ ld [wBGMapAnchor], a
+ jr nc, .not_underflowed
+ ld a, [wBGMapAnchor + 1]
+ dec a
+ and $3
+ or VBGMap0 / $100
+ ld [wBGMapAnchor + 1], a
+.not_underflowed
+ ld hl, wMetatileStandingY
+ dec [hl]
+ ld a, [hl]
+ cp -1 ; was 0
+ jr nz, .done_up
+ ld [hl], $1
+ call .Sub6FromOverworldMapAnchor
+.done_up
+ ret
+
+.Sub6FromOverworldMapAnchor: ; d5c6 (3:55c6)
+ ld hl, wOverworldMapAnchor
+ ld a, [MapWidth]
+ add 6
+ ld b, a
+ ld a, [hl]
+ sub b
+ ld [hli], a
+ ret nc
+ dec [hl]
+ ret
+
+.ScrollOverworldMapLeft: ; d5d5 (3:55d5)
+ ld a, [wBGMapAnchor]
+ ld e, a
+ and $e0
+ ld d, a
+ ld a, e
+ sub $2
+ and $1f
+ or d
+ ld [wBGMapAnchor], a
+ ld hl, wMetatileStandingX
+ dec [hl]
+ ld a, [hl]
+ cp -1
+ jr nz, .done_left
+ ld [hl], 1
+ call .DecrementwOverworldMapAnchor
+.done_left
+ ret
+
+.DecrementwOverworldMapAnchor: ; d5f4 (3:55f4)
+ ld hl, wOverworldMapAnchor
+ ld a, [hl]
+ sub 1
+ ld [hli], a
+ ret nc
+ dec [hl]
+ ret
+
+.ScrollOverworldMapRight: ; d5fe (3:55fe)
+ ld a, [wBGMapAnchor]
+ ld e, a
+ and $e0
+ ld d, a
+ ld a, e
+ add $2
+ and $1f
+ or d
+ ld [wBGMapAnchor], a
+ ld hl, wMetatileStandingX
+ inc [hl]
+ ld a, [hl]
+ cp 2
+ jr nz, .done_right
+ ld [hl], 0
+ call .IncrementwOverworldMapAnchor
+.done_right
+ ret
+
+.IncrementwOverworldMapAnchor: ; d61d (3:561d)
+ ld hl, wOverworldMapAnchor
+ ld a, [hl]
+ add 1
+ ld [hli], a
+ ret nc
+ inc [hl]
+ ret
--- a/engine/pokecenter_pc.asm
+++ b/engine/pokecenter_pc.asm
@@ -12,7 +12,7 @@
xor a
ld [hBGMapMode], a
call .ChooseWhichPCListToUse
- ld [wcf76], a
+ ld [wWhichIndexSet], a
call DoNthMenu
jr c, .shutdown
ld a, [MenuSelection]
@@ -23,7 +23,7 @@
.shutdown
call PC_PlayShutdownSound
call ExitMenu
- call WriteBackup
+ call CloseWindow
ret
; 155d6
@@ -140,7 +140,7 @@
call PC_PlayChoosePCSound
call FadeToMenu
callba _HallOfFamePC
- call ReturnToCallingMenu
+ call CloseSubmenu
and a
ret
; 156ab
@@ -208,7 +208,7 @@
_PlayersPC: ; 15704
ld a, b
- ld [wcf76], a
+ ld [wWhichIndexSet], a
ld hl, UnknownText_0x157cc
call PC_DisplayTextWaitMenu
call Function15715
@@ -323,7 +323,7 @@
jr .asm_157da
.asm_157e4
- call ReturnToCallingMenu
+ call CloseSubmenu
xor a
ret
; 0x157e9
@@ -343,7 +343,7 @@
.askquantity
ld hl, .HowManyText
call MenuTextBox
- callba Function24fbf
+ callba SelectQuantityToToss
call ExitMenu
call ExitMenu
jr c, .done
@@ -403,7 +403,7 @@
jr .asm_15868
.asm_15878
- call ReturnToCallingMenu
+ call CloseSubmenu
xor a
ret
; 0x1587d
@@ -431,9 +431,9 @@
jr c, .asm_158b6
call DisableSpriteUpdates
call LoadStandardMenuDataHeader
- callba Function106a5
+ callba DepositSellInitPackBuffers
.asm_1589c
- callba Function106be
+ callba DepositSellPack
ld a, [wcf66]
and a
jr z, .asm_158b3
@@ -442,7 +442,7 @@
jr .asm_1589c
.asm_158b3
- call ReturnToCallingMenu
+ call CloseSubmenu
.asm_158b6
xor a
@@ -472,7 +472,7 @@
ld [wSpriteUpdatesEnabled], a
callba CheckItemMenu
ld a, [wItemAttributeParamBuffer]
- ld hl, .jumptable
+ ld hl, .dw
rst JumpTable
pop af
ld [wSpriteUpdatesEnabled], a
@@ -479,7 +479,7 @@
ret
; 0x158e7
-.jumptable: ; 0x158e7
+.dw: ; 0x158e7
dw .tossable
dw .no_toss
dw .no_toss
@@ -516,7 +516,7 @@
.asm_1591d
ld hl, .HowManyText
call MenuTextBox
- callba Function24fbf
+ callba SelectQuantityToToss
push af
call ExitMenu
call ExitMenu
@@ -591,10 +591,10 @@
ld [wMenuCursorBuffer], a
ld a, [wd0dd]
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
+ call ScrollingMenu
ld a, [wMenuScrollPosition]
ld [wd0dd], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wd0d7], a
pop af
ld [wSpriteUpdatesEnabled], a
@@ -601,7 +601,7 @@
ld a, [wd0e3]
and a
jr nz, .asm_159d8
- ld a, [wcf73]
+ ld a, [wMenuJoypad]
cp $2
jr z, .asm_15a06
cp $1
@@ -611,7 +611,7 @@
jr .asm_159f8
.asm_159d8
- ld a, [wcf73]
+ ld a, [wMenuJoypad]
cp $2
jr z, .asm_159e9
cp $1
@@ -629,7 +629,7 @@
call Function156c7
.asm_159f2
- callba Function2490c
+ callba SwitchItemsInBag
.asm_159f8
jp .asm_15989
@@ -636,7 +636,7 @@
.asm_159fb
callba Function24706
- call Function1bee
+ call PlaceHollowCursor
and a
ret
--- a/engine/pokedex.asm
+++ b/engine/pokedex.asm
@@ -31,7 +31,7 @@
ld a, [wJumptableIndex]
bit 7, a
jr nz, .exit
- call Function4010b
+ call Pokedex_Main
call DelayFrame
jr .main
@@ -40,8 +40,8 @@
call PlaySFX
call WaitSFX
call ClearSprites
- ld a, [wc7d4]
- ld [wd959], a
+ ld a, [wCurrentDexMode]
+ ld [wLastDexMode], a
pop af
ld [hInMenu], a
@@ -63,7 +63,7 @@
call ClearBGPalettes
call ClearSprites
call ClearTileMap
- call Function414b7
+ call Pokedex_LoadGFX
ld hl, wPokedexDataStart
ld bc, wPokedexDataEnd - wPokedexDataStart
@@ -76,78 +76,78 @@
ld [wcf65], a
ld [wcf66], a
- call Function400a2
+ call Pokedex_CheckUnlockedUnownMode
- ld a, [wd959]
- ld [wc7d4], a
+ ld a, [wLastDexMode]
+ ld [wCurrentDexMode], a
- call Function40bdc
- call Function400b4
- call Function400ed
+ call Pokedex_ChangeMode
+ call Pokedex_InitCursorPosition
+ call Pokedex_GetLandmark
callba Function1de247
- call Function41af7
+ call Pokedex_ResetBGMapMode
ret
; 400a2
-Function400a2: ; 400a2
+Pokedex_CheckUnlockedUnownMode: ; 400a2
ld a, [StatusFlags]
bit 1, a
- jr nz, .asm_400ae
+ jr nz, .unlocked
xor a
- ld [wc7dc], a
+ ld [wUnlockedUnownMode], a
ret
-.asm_400ae
- ld a, 1
- ld [wc7dc], a
+.unlocked
+ ld a, TRUE
+ ld [wUnlockedUnownMode], a
ret
; 400b4
-Function400b4: ; 400b4
- ld hl, wc6d0
- ld a, [wc2d6]
+Pokedex_InitCursorPosition: ; 400b4
+ ld hl, wPokedexDataStart
+ ld a, [wLastDexEntry]
and a
- jr z, .asm_400ec
- cp $fc
- jr nc, .asm_400ec
+ jr z, .done
+ cp NUM_POKEMON + 1
+ jr nc, .done
ld b, a
- ld a, [wc7d2]
+ ld a, [wDexListingEnd]
cp $8
- jr c, .asm_400db
+ jr c, .only_one_page
sub $7
ld c, a
-.asm_400cc
+.loop1
ld a, b
cp [hl]
- jr z, .asm_400ec
+ jr z, .done
inc hl
- ld a, [wc7d0]
+ ld a, [wDexListingPage]
inc a
- ld [wc7d0], a
+ ld [wDexListingPage], a
dec c
- jr nz, .asm_400cc
+ jr nz, .loop1
-.asm_400db
+.only_one_page
ld c, $7
-.asm_400dd
+.loop2
ld a, b
cp [hl]
- jr z, .asm_400ec
+ jr z, .done
inc hl
- ld a, [wc7d1]
+ ld a, [wDexListingCursor]
inc a
- ld [wc7d1], a
+ ld [wDexListingCursor], a
dec c
- jr nz, .asm_400dd
+ jr nz, .loop2
-.asm_400ec
+.done
ret
; 400ed
-Function400ed: ; 400ed
+Pokedex_GetLandmark: ; 400ed
ld a, [MapGroup]
ld b, a
ld a, [MapNumber]
@@ -155,7 +155,7 @@
call GetWorldMapLocation
cp SPECIAL_MAP
- jr nz, .asm_40107
+ jr nz, .load
ld a, [BackupMapGroup]
ld b, a
@@ -163,20 +163,20 @@
ld c, a
call GetWorldMapLocation
-.asm_40107
- ld [wc7e4], a
+.load
+ ld [wDexCurrentLocation], a
ret
; 4010b
-Function4010b: ; 4010b
+Pokedex_Main: ; 4010b
ld a, [wJumptableIndex]
- ld hl, Jumptable_40115
- call Function41432
+ ld hl, .Jumptable
+ call Pokedex_LoadPointer
jp [hl]
; 40115
-Jumptable_40115: ; 40115 (10:4115)
+.Jumptable: ; 40115 (10:4115)
dw Function4013c
dw Function401ae
dw Function40217
@@ -188,17 +188,17 @@
dw Function403be
dw Function4050a
dw Function40562
- dw Function405bd
+ dw Pokedex_UnownMode ; Unown Dex
dw Function405df
- dw Function40136
+ dw Pokedex_CloseDex ; Exit
-Function40131: ; 40131 (10:4131)
+Pokedex_IncrementDexPointer: ; 40131 (10:4131)
ld hl, wJumptableIndex
inc [hl]
ret
-Function40136: ; 40136 (10:4136)
+Pokedex_CloseDex: ; 40136 (10:4136)
ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -209,45 +209,46 @@
call ClearSprites
xor a
hlcoord 0, 0, AttrMap
- ld bc, $168
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
call ByteFill
- callba Function1de171
+ callba DrawPokedexListWindow
hlcoord 0, 17
ld de, String_START_SEARCH
- call Function40acd
+ call Pokedex_PlaceString
ld a, $7
ld [wc7d3], a
call Function40b0f
- call Function41aeb
- call Function41af7
+ call Pokedex_SetBGMapMode_3ifDMG_4ifCGB
+ call Pokedex_ResetBGMapMode
call Function4074c
ld a, $5
ld [hSCX], a
- ld a, [wc7d4]
- cp $1
+
+ ld a, [wCurrentDexMode]
+ cp DEXMODE_OLD
ld a, $4a
- jr z, .asm_4017b
+ jr z, .okay
ld a, $47
-
-.asm_4017b
+.okay
ld [hWX], a
xor a
ld [hWY], a
call WaitBGMap
- call Function41af7
- ld a, $ff
+
+ call Pokedex_ResetBGMapMode
+ ld a, -1
ld [CurPartySpecies], a
ld a, $4
call Function41423
call Function41148
- callba Function1de171
+ callba DrawPokedexListWindow
hlcoord 0, 17
ld de, String_START_SEARCH
- call Function40acd
+ call Pokedex_PlaceString
ld a, $7
ld [wc7d3], a
call Function40b0f
- call Function40131
+ call Pokedex_IncrementDexPointer
ret
Function401ae: ; 401ae (10:41ae)
@@ -270,13 +271,13 @@
xor a
ld [hBGMapMode], a
call Function40b0f
- call Function41ad7
- call Function41af7
+ call Pokedex_SetBGMapMode3
+ call Pokedex_ResetBGMapMode
ret
.a
- call Function40bb1
- call Function40bd0
+ call Pokedex_GetMonAtCursorPosition
+ call Pokedex_CheckSeen
ret z
ld a, $2
ld [wJumptableIndex], a
@@ -318,27 +319,27 @@
xor a
ld [hBGMapMode], a
call ClearSprites
- call Function41478
+ call Pokedex_LoadCurrentFootprint
call Function407fd
call Function4134f
- call Function40bb1
- ld [wc2d6], a
- callba Function4424d
- call Function40ba0
+ call Pokedex_GetMonAtCursorPosition
+ ld [wLastDexEntry], a
+ callba DisplayDexEntry
+ call Pokedex_DrawFootprint
call WaitBGMap
ld a, $a7
ld [hWX], a
- call Function40bb1
+ call Pokedex_GetMonAtCursorPosition
ld [CurPartySpecies], a
ld a, $4
call Function41423
ld a, [CurPartySpecies]
call PlayCry
- call Function40131
+ call Pokedex_IncrementDexPointer
ret
Function40258: ; 40258 (10:4258)
- ld de, Unknown_402e8
+ ld de, DexEntryPage_JoypadCoords
call Function4135a
ld hl, hJoyPressed ; $ffa7
ld a, [hl]
@@ -347,25 +348,25 @@
ld a, [hl]
and A_BUTTON
jr nz, .a
- call Function4066c
+ call Pokedex_NextOrPreviousDexEntry
ret nc
- call Function40131
+ call Pokedex_IncrementDexPointer
ret
.a
ld a, [wc7d8]
- ld hl, Jumptable_402f2
- call Function41432
+ ld hl, DexEntryPage_Jumptable
+ call Pokedex_LoadPointer
jp [hl]
.b
ld a, [LastVolume]
and a
- jr z, .asm_40288
+ jr z, .max_volume
ld a, $77
ld [LastVolume], a
-.asm_40288
+.max_volume
call MaxVolume
ld a, [wcf64]
ld [wJumptableIndex], a
@@ -372,13 +373,13 @@
ret
; 40292 (10:4292)
-Function40292: ; 40292
+Pokedex_Page: ; 40292
ld a, [wPokedexStatus]
xor $1
ld [wPokedexStatus], a
- call Function40bb1
- ld [wc2d6], a
- callba Function4424d
+ call Pokedex_GetMonAtCursorPosition
+ ld [wLastDexEntry], a
+ callba DisplayDexEntry
call WaitBGMap
ret
; 402aa
@@ -391,14 +392,14 @@
ld [hBGMapMode], a
call Function407fd
call Function4134f
- call Function41478
- call Function40bb1
- ld [wc2d6], a
- callba Function4424d
- call Function40ba0
+ call Pokedex_LoadCurrentFootprint
+ call Pokedex_GetMonAtCursorPosition
+ ld [wLastDexEntry], a
+ callba DisplayDexEntry
+ call Pokedex_DrawFootprint
call Function4143b
call WaitBGMap
- call Function40bb1
+ call Pokedex_GetMonAtCursorPosition
ld [CurPartySpecies], a
ld a, $4
call Function41423
@@ -409,22 +410,23 @@
ret
; 402e8 (10:42e8)
-Unknown_402e8: ; 402e8
- dw $0430
+DexEntryPage_JoypadCoords: ; 402e8
+ db D_RIGHT | D_LEFT, 4
dwcoord 1, 17
dwcoord 6, 17
dwcoord 11, 17
dwcoord 15, 17
+
; 402f2
-Jumptable_402f2: ; 402f2
- dw Function40292
- dw Function402fa
- dw Function40340
- dw Function4034f
+DexEntryPage_Jumptable: ; 402f2
+ dw Pokedex_Page
+ dw .Area
+ dw .Cry
+ dw .Print
; 402fa
-Function402fa: ; 402fa
+.Area: ; 402fa
call Function41401
xor a
ld [hSCX], a
@@ -433,10 +435,10 @@
ld [hWX], a
ld a, $90
ld [hWY], a
- call Function40bb1
- ld a, [wc7e4]
+ call Pokedex_GetMonAtCursorPosition
+ ld a, [wDexCurrentLocation]
ld e, a
- predef Function91d11
+ predef _Area
call Function41401
call DelayFrame
xor a
@@ -449,7 +451,7 @@
call Function4038d
call Function4143b
call WaitBGMap
- call Function40bb1
+ call Pokedex_GetMonAtCursorPosition
ld [CurPartySpecies], a
ld a, $4
call Function41423
@@ -456,8 +458,8 @@
ret
; 40340
-Function40340: ; 40340
- call Function40bb1
+.Cry: ; 40340
+ call Pokedex_GetMonAtCursorPosition
ld a, [wd265]
call GetCryIndex
ld e, c
@@ -466,7 +468,7 @@
ret
; 4034f
-Function4034f: ; 4034f
+.Print: ; 4034f
call Function41415
xor a
ld [hSCX], a
@@ -485,7 +487,7 @@
ld [wcf65], a
call ClearBGPalettes
call DisableLCD
- call Function414fb
+ call Pokedex_LoadInvertedFont
call Function4038d
call EnableLCD
call WaitBGMap
@@ -497,9 +499,9 @@
Function4038d: ; 4038d
call Function407fd
- call Function40bb1
- callba Function4424d
- call Function40ba0
+ call Pokedex_GetMonAtCursorPosition
+ callba DisplayDexEntry
+ call Pokedex_DrawFootprint
ret
; 4039d
@@ -509,17 +511,17 @@
call ClearSprites
call Function4087c
call Function4134f
- ld a, [wc7d4]
+ ld a, [wCurrentDexMode]
ld [wc7d8], a
call Function40e5b
call WaitBGMap
ld a, $10
call Function41423
- call Function40131
+ call Pokedex_IncrementDexPointer
ret
Function403be: ; 403be (10:43be)
- ld a, [wc7dc]
+ ld a, [wUnlockedUnownMode]
and a
jr nz, .asm_403c9
ld de, Unknown_403f3
@@ -542,7 +544,7 @@
.asm_403e0
ld a, [wc7d8]
ld hl, Jumptable_40405
- call Function41432
+ call Pokedex_LoadPointer
jp [hl]
.asm_403ea
@@ -553,17 +555,17 @@
; 403f3 (10:43f3)
Unknown_403f3: ; 403f3
- dw $03c0
- dwcoord 2, 4
- dwcoord 2, 6
- dwcoord 2, 8
+ db D_UP | D_DOWN, 3
+ dwcoord 2, 4
+ dwcoord 2, 6
+ dwcoord 2, 8
; 403fb
Unknown_403fb: ; 403fb
- dw $04c0
- dwcoord 2, 4
- dwcoord 2, 6
- dwcoord 2, 8
+ db D_UP | D_DOWN, 4
+ dwcoord 2, 4
+ dwcoord 2, 6
+ dwcoord 2, 8
dwcoord 2, 10
; 40405
@@ -585,17 +587,17 @@
Function40415: ; 40415 (10:4415)
ld b, $2
Function40417: ; 40417 (10:4417)
- ld a, [wc7d4]
+ ld a, [wCurrentDexMode]
cp b
jr z, .asm_40431
ld a, b
- ld [wc7d4], a
- call Function40bdc
+ ld [wCurrentDexMode], a
+ call Pokedex_ChangeMode
call Function40f08
xor a
- ld [wc7d0], a
- ld [wc7d1], a
- call Function400b4
+ ld [wDexListingPage], a
+ ld [wDexListingCursor], a
+ call Pokedex_InitCursorPosition
.asm_40431
call Function41401
@@ -621,12 +623,12 @@
ld [wc7d6], a
call Function40fa8
xor a
- ld [wc7db], a
- callba Function44207
+ ld [wDexSearchSlowpokeFrame], a
+ callba DoDexSearchSlowpokeFrame
call WaitBGMap
ld a, $10
call Function41423
- call Function40131
+ call Pokedex_IncrementDexPointer
ret
Function40471: ; 40471 (10:4471)
@@ -646,7 +648,7 @@
.asm_4048b
ld a, [wc7d8]
ld hl, Jumptable_404a8
- call Function41432
+ call Pokedex_LoadPointer
jp [hl]
.asm_40495
@@ -657,7 +659,7 @@
; 4049e (10:449e)
Unknown_4049e: ; 4049e
- dw $04c0
+ db D_UP | D_DOWN, 4
dwcoord 2, 4
dwcoord 2, 6
dwcoord 2, 13
@@ -679,11 +681,11 @@
Function404b7: ; 404b7
call Function41086
- callba Function441cf
+ callba AnimateDexSearchSlowpoke
ld a, [wc7d7]
and a
jr nz, .asm_404dc
- call Function40bdc
+ call Pokedex_ChangeMode
call Function41107
xor a
ld [hBGMapMode], a
@@ -694,16 +696,16 @@
ret
.asm_404dc
- ld [wc7d2], a
- ld a, [wc7d0]
+ ld [wDexListingEnd], a
+ ld a, [wDexListingPage]
ld [wc7e0], a
- ld a, [wc7d1]
+ ld a, [wDexListingCursor]
ld [wc7e1], a
- ld a, [wc2d6]
+ ld a, [wLastDexEntry]
ld [wcf65], a
xor a
- ld [wc7d0], a
- ld [wc7d1], a
+ ld [wDexListingPage], a
+ ld [wDexListingCursor], a
call Function41401
ld a, $9
ld [wJumptableIndex], a
@@ -722,17 +724,17 @@
ld [hBGMapMode], a
xor a
hlcoord 0, 0, AttrMap
- ld bc, $168
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
call ByteFill
- call Function41ae1
- call Function41af7
- callba Function1de1d1
+ call Pokedex_SetBGMapMode4
+ call Pokedex_ResetBGMapMode
+ callba DrawPokedexSearchResultsWindow
call Function409cf
ld a, $4
ld [wc7d3], a
call Function40b0f
- call Function41ad7
- call Function41af7
+ call Pokedex_SetBGMapMode3
+ call Pokedex_ResetBGMapMode
call Function40962
ld a, $5
ld [hSCX], a
@@ -741,8 +743,8 @@
xor a
ld [hWY], a
call WaitBGMap
- call Function41af7
- callba Function1de1d1
+ call Pokedex_ResetBGMapMode
+ callba DrawPokedexSearchResultsWindow
call Function409cf
call Function41281
ld a, $ff
@@ -749,7 +751,7 @@
ld [CurPartySpecies], a
ld a, $4
call Function41423
- call Function40131
+ call Pokedex_IncrementDexPointer
ret
Function40562: ; 40562 (10:4562)
@@ -766,13 +768,13 @@
xor a
ld [hBGMapMode], a
call Function40b0f
- call Function41ad7
- call Function41af7
+ call Pokedex_SetBGMapMode3
+ call Pokedex_ResetBGMapMode
ret
.asm_40583
- call Function40bb1
- call Function40bd0
+ call Pokedex_GetMonAtCursorPosition
+ call Pokedex_CheckSeen
ret z
ld a, $2
ld [wJumptableIndex], a
@@ -782,14 +784,14 @@
.asm_40595
ld a, [wc7e0]
- ld [wc7d0], a
+ ld [wDexListingPage], a
ld a, [wc7e1]
- ld [wc7d1], a
+ ld [wDexListingCursor], a
ld a, [wcf65]
- ld [wc2d6], a
+ ld [wLastDexEntry], a
call Function41401
call ClearSprites
- call Function40bdc
+ call Pokedex_ChangeMode
ld a, $5
ld [wJumptableIndex], a
xor a
@@ -798,18 +800,18 @@
ld [hWX], a
ret
-Function405bd: ; 405bd (10:45bd)
- call Function41a2c
+Pokedex_UnownMode: ; 405bd (10:45bd)
+ call Pokedex_LoadUnownFont
call Function409f1
xor a
ld [wc7dd], a
call Function41a58
call Function40658
- callba Functionfba2e
+ callba PrintUnownWord
call WaitBGMap
ld a, $16
call Function41423
- call Function40131
+ call Pokedex_IncrementDexPointer
ret
Function405df: ; 405df (10:45df)
@@ -816,27 +818,27 @@
ld hl, hJoyPressed ; $ffa7
ld a, [hl]
and A_BUTTON | B_BUTTON
- jr nz, .asm_405eb
+ jr nz, .a_b
call Function40610
ret
-.asm_405eb
+.a_b
call Function41401
ld a, $7
ld [wJumptableIndex], a
call DelayFrame
- call Function41a24
- jr nz, .asm_40603
+ call Pokedex_CheckSGB
+ jr nz, .decompress
callba Function1ddf26
- jr .asm_4060f
+ jr .done
-.asm_40603
+.decompress
ld hl, PokedexLZ
ld de, VTiles2 tile $31
lb bc, BANK(PokedexLZ), $3a
call DecompressRequest2bpp
-.asm_4060f
+.done
ret
Function40610: ; 40610 (10:4610)
@@ -859,7 +861,7 @@
ret nc
ld a, [hl]
inc [hl]
- jr .asm_40635
+ jr .update
.left
ld hl, wc7dd
@@ -869,7 +871,7 @@
ld a, [hl]
dec [hl]
-.asm_40635
+.update
push af
xor a
ld [hBGMapMode], a
@@ -877,7 +879,7 @@
call Function40654
call Function41a58
call Function40658
- callba Functionfba2e
+ callba PrintUnownWord
ld a, $1
ld [hBGMapMode], a
call DelayFrame
@@ -904,11 +906,11 @@
ld [hl], c
ret
-Function4066c: ; 4066c (10:466c)
- ld a, [wc7d1]
- ld [wc7e2], a
- ld a, [wc7d0]
- ld [wc7e3], a
+Pokedex_NextOrPreviousDexEntry: ; 4066c (10:466c)
+ ld a, [wDexListingCursor]
+ ld [wBackupDexListingCursor], a
+ ld a, [wDexListingPage]
+ ld [wBackupDexListingPage], a
ld hl, hJoyLast
ld a, [hl]
and D_UP
@@ -922,36 +924,36 @@
.up
ld a, [wc7d3]
ld d, a
- ld a, [wc7d2]
+ ld a, [wDexListingEnd]
ld e, a
call Function406ea
- jr nc, .asm_406b7
- call Function40bb1
- call Function40bd0
- jr nz, .asm_406b5
+ jr nc, .nope
+ call Pokedex_GetMonAtCursorPosition
+ call Pokedex_CheckSeen
+ jr nz, .yep
jr .up
.down
ld a, [wc7d3]
ld d, a
- ld a, [wc7d2]
+ ld a, [wDexListingEnd]
ld e, a
call Function406fe
- jr nc, .asm_406b7
- call Function40bb1
- call Function40bd0
- jr nz, .asm_406b5
+ jr nc, .nope
+ call Pokedex_GetMonAtCursorPosition
+ call Pokedex_CheckSeen
+ jr nz, .yep
jr .down
-.asm_406b5
+.yep
scf
ret
-.asm_406b7
- ld a, [wc7e2]
- ld [wc7d1], a
- ld a, [wc7e3]
- ld [wc7d0], a
+.nope
+ ld a, [wBackupDexListingCursor]
+ ld [wDexListingCursor], a
+ ld a, [wBackupDexListingPage]
+ ld [wDexListingPage], a
and a
ret
@@ -958,7 +960,7 @@
Function406c5: ; 406c5 (10:46c5)
ld a, [wc7d3]
ld d, a
- ld a, [wc7d2]
+ ld a, [wDexListingEnd]
ld e, a
ld hl, hJoyLast
ld a, [hl]
@@ -979,7 +981,7 @@
jr asm_4073d
Function406ea: ; 406ea (10:46ea)
- ld hl, wc7d1
+ ld hl, wDexListingCursor
ld a, [hl]
and a
jr z, .asm_406f4
@@ -986,7 +988,7 @@
dec [hl]
jr asm_4073f
.asm_406f4
- ld hl, wc7d0
+ ld hl, wDexListingPage
ld a, [hl]
and a
jr z, asm_4073d
@@ -994,7 +996,7 @@
jr asm_4073f
Function406fe: ; 406fe (10:46fe)
- ld hl, wc7d1
+ ld hl, wDexListingCursor
ld a, [hl]
inc a
cp e
@@ -1004,7 +1006,7 @@
inc [hl]
jr asm_4073f
.asm_4070c
- ld hl, wc7d0
+ ld hl, wDexListingPage
add [hl]
cp e
jr nc, asm_4073d
@@ -1011,7 +1013,7 @@
inc [hl]
jr asm_4073f
asm_40716: ; 40716 (10:4716)
- ld hl, wc7d0
+ ld hl, wDexListingPage
ld a, [hl]
and a
jr z, asm_4073d
@@ -1025,7 +1027,7 @@
ld [hl], a
jr asm_4073f
asm_40728: ; 40728 (10:4728)
- ld hl, wc7d0
+ ld hl, wDexListingPage
ld a, d
add a
add [hl]
@@ -1065,20 +1067,20 @@
Function4074c: ; 4074c (10:474c)
hlcoord 0, 17
ld de, String_START_SEARCH
- call Function40acd
+ call Pokedex_PlaceString
ld a, $32
hlcoord 0, 0
- ld bc, $168
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
call ByteFill
hlcoord 0, 0
lb bc, 7, 7
- call Function40ad5
+ call Pokedex_PlaceBorder
hlcoord 0, 9
ld bc, $607
- call Function40ad5
+ call Pokedex_PlaceBorder
hlcoord 1, 11
ld de, String_SEEN
- call Function40acd
+ call Pokedex_PlaceString
ld hl, PokedexSeen ; wdeb9 (aliases: EndPokedexSeen)
ld b, EndPokedexSeen - PokedexSeen
call CountSetBits
@@ -1088,7 +1090,7 @@
call PrintNum
hlcoord 1, 14
ld de, String_OWN
- call Function40acd
+ call Pokedex_PlaceString
ld hl, PokedexCaught
ld b, EndPokedexCaught - PokedexCaught
call CountSetBits
@@ -1098,7 +1100,7 @@
call PrintNum
hlcoord 1, 17
ld de, String_SELECT_OPTION
- call Function40acd
+ call Pokedex_PlaceString
hlcoord 8, 1
ld b, $7
ld a, $5a
@@ -1115,7 +1117,7 @@
ld [hl], $54
hlcoord 8, 16
ld [hl], $5b
- call Function40ab2
+ call Pokedex_PlaceFrontpicTopLeftCorner
ret
; 407e1 (10:47e1)
@@ -1130,10 +1132,10 @@
; 407fd
Function407fd: ; 407fd
- call Function40aa6
+ call Pokedex_FillBackgroundColor2
hlcoord 0, 0
ld bc, $0f12
- call Function40ad5
+ call Pokedex_PlaceBorder
hlcoord 19, 0
ld [hl], $34
hlcoord 19, 1
@@ -1151,14 +1153,14 @@
call ByteFill
hlcoord 9, 7
ld de, Unknown_40852
- call Function40acd
+ call Pokedex_PlaceString
hlcoord 9, 9
ld de, Unknown_4085c
- call Function40acd
+ call Pokedex_PlaceString
hlcoord 0, 17
ld de, Unknown_40867
- call Function40acd
- call Function40ab2
+ call Pokedex_PlaceString
+ call Pokedex_PlaceFrontpicTopLeftCorner
ret
; 4084f
@@ -1173,20 +1175,20 @@
; 4087c
Function4087c: ; 4087c (10:487c)
- call Function40aa6
+ call Pokedex_FillBackgroundColor2
hlcoord 0, 2
lb bc, 8, 18
- call Function40ad5
+ call Pokedex_PlaceBorder
hlcoord 0, 12
lb bc, 4, 18
- call Function40ad5
+ call Pokedex_PlaceBorder
hlcoord 0, 1
ld de, Unknown_408b2
- call Function40acd
+ call Pokedex_PlaceString
hlcoord 3, 4
ld de, String_408bd
call PlaceString
- ld a, [wc7dc]
+ ld a, [wUnlockedUnownMode]
and a
ret z
hlcoord 3, 10
@@ -1211,19 +1213,19 @@
; 408f0
Function408f0: ; 408f0 (10:48f0)
- call Function40aa6
+ call Pokedex_FillBackgroundColor2
hlcoord 0, 2
lb bc, 14, 18
- call Function40ad5
+ call Pokedex_PlaceBorder
hlcoord 0, 1
ld de, Unknown_4092a
- call Function40acd
+ call Pokedex_PlaceString
hlcoord 8, 4
ld de, Unknown_40935
- call Function40acd
+ call Pokedex_PlaceString
hlcoord 8, 6
ld de, Unknown_40935
- call Function40acd
+ call Pokedex_PlaceString
hlcoord 3, 4
ld de, String_40940
call PlaceString
@@ -1254,13 +1256,13 @@
; 40962
Function40962: ; 40962 (10:4962)
- call Function40aa6
+ call Pokedex_FillBackgroundColor2
hlcoord 0, 0
lb bc, 7, 7
- call Function40ad5
+ call Pokedex_PlaceBorder
hlcoord 0, 11
lb bc, 5, 18
- call Function40ad5
+ call Pokedex_PlaceBorder
hlcoord 1, 12
ld de, String_409ae
call PlaceString
@@ -1280,7 +1282,7 @@
ld [hl], $69
hlcoord 8, 10
ld [hl], $6a
- call Function40ab2
+ call Pokedex_PlaceFrontpicTopLeftCorner
ret
; 409ae (10:49ae)
@@ -1310,28 +1312,28 @@
ret
Function409f1: ; 409f1 (10:49f1)
- call Function40aa6
+ call Pokedex_FillBackgroundColor2
hlcoord 2, 1
lb bc, 10, 13
- call Function40ad5
+ call Pokedex_PlaceBorder
hlcoord 2, 14
lb bc, 1, 13
- call Function40ad5
+ call Pokedex_PlaceBorder
hlcoord 2, 15
ld [hl], $3d
hlcoord 16, 15
ld [hl], $3e
hlcoord 6, 5
- call Function40ab5
+ call Pokedex_PlaceFrontpicAtHL
ld de, 0
ld b, 0
ld c, 26
-.asm_40a1d
+.loop
ld hl, UnownDex
add hl, de
ld a, [hl]
and a
- jr z, .asm_40a39
+ jr z, .done
push af
ld hl, Unknown_40a3e
rept 4
@@ -1341,13 +1343,13 @@
ld h, [hl]
ld l, a
pop af
- add $3f
+ add $40 - 1 ; Unown A
ld [hl], a
inc de
inc b
dec c
- jr nz, .asm_40a1d
-.asm_40a39
+ jr nz, .loop
+.done
ld a, b
ld [wc7de], a
ret
@@ -1354,6 +1356,7 @@
; 40a3e (10:4a3e)
Unknown_40a3e: ; 40a3e
+; letter, cursor
dwcoord 4,11, 3,11
dwcoord 4,10, 3,10
dwcoord 4, 9, 3, 9
@@ -1382,7 +1385,7 @@
dwcoord 14,10, 15,10
; 40aa6
-Function40aa6: ; 40aa6
+Pokedex_FillBackgroundColor2: ; 40aa6
hlcoord 0, 0
ld a, $32
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
@@ -1390,77 +1393,77 @@
ret
; 40ab2
-Function40ab2: ; 40ab2
+Pokedex_PlaceFrontpicTopLeftCorner: ; 40ab2
hlcoord 1, 1
-Function40ab5: ; 40ab5
+Pokedex_PlaceFrontpicAtHL: ; 40ab5
xor a
ld b, $7
-.asm_40ab8
+.row
ld c, $7
push af
push hl
-.asm_40abc
+.col
ld [hli], a
add $7
dec c
- jr nz, .asm_40abc
+ jr nz, .col
pop hl
- ld de, $0014
+ ld de, SCREEN_WIDTH
add hl, de
pop af
inc a
dec b
- jr nz, .asm_40ab8
+ jr nz, .row
ret
; 40acd
-Function40acd: ; 40acd
-.asm_40acd
+Pokedex_PlaceString: ; 40acd
+.loop
ld a, [de]
- cp $ff
+ cp -1
ret z
inc de
ld [hli], a
- jr .asm_40acd
+ jr .loop
; 40ad5
-Function40ad5: ; 40ad5
+Pokedex_PlaceBorder: ; 40ad5
push hl
ld a, $33
ld [hli], a
ld d, $34
- call Function40b06
+ call .FillRow
ld a, $35
ld [hl], a
pop hl
- ld de, $0014
+ ld de, SCREEN_WIDTH
add hl, de
-.asm_40ae6
+.loop
push hl
ld a, $36
ld [hli], a
ld d, $7f
- call Function40b06
+ call .FillRow
ld a, $37
ld [hl], a
pop hl
- ld de, $0014
+ ld de, SCREEN_WIDTH
add hl, de
dec b
- jr nz, .asm_40ae6
+ jr nz, .loop
ld a, $38
ld [hli], a
ld d, $39
- call Function40b06
+ call .FillRow
ld a, $3a
ld [hl], a
ret
; 40b06
-Function40b06: ; 40b06
+.FillRow: ; 40b06
ld e, c
-.asm_40b07
+.row_loop
ld a, e
and a
ret z
@@ -1467,36 +1470,41 @@
ld a, d
ld [hli], a
dec e
- jr .asm_40b07
+ jr .row_loop
; 40b0f
Function40b0f: ; 40b0f (10:4b0f)
- ld a, [wc7d4]
- cp $1
- jr z, .asm_40b1a
- ld c, $b
- jr .asm_40b1c
-.asm_40b1a
- ld c, $b
-.asm_40b1c
+; This check is completely useless.
+ ld a, [wCurrentDexMode]
+ cp DEXMODE_OLD
+ jr z, .okay
+ ld c, 11
+ jr .resume
+.okay
+ ld c, 11
+; End useless check
+.resume
+; Clear (2 * [wc7d3] + 1) by 11 box starting at 0,1
hlcoord 0, 1
ld a, [wc7d3]
add a
inc a
ld b, a
- ld a, $7f
- call Function413fe
- ld a, [wc7d0]
+ ld a, " "
+ call Pokedex_FillBox
+
+; Load de with wPokedexDataStart + [wDexListingPage]
+ ld a, [wDexListingPage]
ld e, a
ld d, $0
- ld hl, wc6d0
+ ld hl, wPokedexDataStart
add hl, de
ld e, l
ld d, h
hlcoord 0, 2
ld a, [wc7d3]
-.asm_40b3c
+.loop
push af
ld a, [de]
ld [wd265], a
@@ -1504,13 +1512,13 @@
push hl
call Function40b55
pop hl
- ld de, $28
+ ld de, 2 * SCREEN_WIDTH
add hl, de
pop de
inc de
pop af
dec a
- jr nz, .asm_40b3c
+ jr nz, .loop
call Function4143b
ret
@@ -1517,10 +1525,10 @@
Function40b55: ; 40b55 (10:4b55)
and a
ret z
- call Function40b6a
- call Function40b8d
+ call Pokedex_PrintNumberIfOldMode
+ call Pokedex_PlaceDefaultStringIfNotSeen
ret c
- call Function40b82
+ call Pokedex_PlaceCaughtSymbolIfCaught
push hl
call GetPokemonName
pop hl
@@ -1527,14 +1535,15 @@
call PlaceString
ret
-Function40b6a: ; 40b6a (10:4b6a)
- ld a, [wc7d4]
- cp $1
- jr z, .asm_40b72
+Pokedex_PrintNumberIfOldMode: ; 40b6a (10:4b6a)
+ ld a, [wCurrentDexMode]
+ cp DEXMODE_OLD
+ jr z, .printnum
ret
-.asm_40b72
+
+.printnum
push hl
- ld de, -20
+ ld de, -SCREEN_WIDTH
add hl, de
ld de, wd265
lb bc, PRINTNUM_LEADINGZEROS | 1, 3
@@ -1542,31 +1551,32 @@
pop hl
ret
-Function40b82: ; 40b82 (10:4b82)
- call Function40bc4
- jr nz, .asm_40b89
+Pokedex_PlaceCaughtSymbolIfCaught: ; 40b82 (10:4b82)
+ call Pokedex_CheckCaught
+ jr nz, .place_caught_symbol
inc hl
ret
-.asm_40b89
+
+.place_caught_symbol
ld a, $4f
ld [hli], a
ret
-Function40b8d: ; 40b8d (10:4b8d)
- call Function40bd0
+Pokedex_PlaceDefaultStringIfNotSeen: ; 40b8d (10:4b8d)
+ call Pokedex_CheckSeen
ret nz
inc hl
- ld de, String_40b9a
+ ld de, .NameNotSeen
call PlaceString
scf
ret
; 40b9a (10:4b9a)
-String_40b9a: ; 40b9a
+.NameNotSeen: ; 40b9a
db "-----@"
; 40ba0
-Function40ba0: ; 40ba0
+Pokedex_DrawFootprint: ; 40ba0
hlcoord 18, 1
ld a, $62
ld [hli], a
@@ -1581,13 +1591,13 @@
; 40bb1
-Function40bb1: ; 40bb1
- ld a, [wc7d1]
- ld hl, wc7d0
+Pokedex_GetMonAtCursorPosition: ; 40bb1
+ ld a, [wDexListingCursor]
+ ld hl, wDexListingPage
add [hl]
ld e, a
ld d, $0
- ld hl, wc6d0
+ ld hl, wPokedexDataStart
add hl, de
ld a, [hl]
ld [wd265], a
@@ -1595,7 +1605,7 @@
; 40bc4
-Function40bc4: ; 40bc4 (10:4bc4)
+Pokedex_CheckCaught: ; 40bc4 (10:4bc4)
push de
push hl
ld a, [wd265]
@@ -1606,7 +1616,7 @@
ret
-Function40bd0: ; 40bd0
+Pokedex_CheckSeen: ; 40bd0
push de
push hl
ld a, [wd265]
@@ -1619,100 +1629,100 @@
-Function40bdc: ; 40bdc
- ld hl, wc6d0
- ld bc, $100
+Pokedex_ChangeMode: ; 40bdc
+ ld hl, wPokedexDataStart
+ ld bc, wPokedexMetadata - wPokedexDataStart
xor a
call ByteFill
- ld a, [wc7d4]
- ld hl, Jumptable_40bf0
- call Function41432
+ ld a, [wCurrentDexMode]
+ ld hl, .Jumptable
+ call Pokedex_LoadPointer
jp [hl]
; 40bf0
-Jumptable_40bf0: ; 40bf0 (10:4bf0)
- dw Function40bf6
- dw Function40c08
- dw Function40c30
+.Jumptable: ; 40bf0 (10:4bf0)
+ dw .NewMode
+ dw .OldMode
+ dw Pokedex_ABCMode
-Function40bf6: ; 40bf6 (10:4bf6)
+.NewMode: ; 40bf6 (10:4bf6)
ld de, NewPokedexOrder
- ld hl, wc6d0
+ ld hl, wPokedexDataStart
ld c, NUM_POKEMON
-.asm_40bfe
+.loopnew
ld a, [de]
inc de
ld [hli], a
dec c
- jr nz, .asm_40bfe
- call Function40c18
+ jr nz, .loopnew
+ call .FindLastSeen
ret
-Function40c08: ; 40c08 (10:4c08)
- ld hl, wc6d0
+.OldMode: ; 40c08 (10:4c08)
+ ld hl, wPokedexDataStart
ld a, $1
ld c, NUM_POKEMON
-.asm_40c0f
+.loopold
ld [hli], a
inc a
dec c
- jr nz, .asm_40c0f
- call Function40c18
+ jr nz, .loopold
+ call .FindLastSeen
ret
-Function40c18: ; 40c18 (10:4c18)
- ld hl, wc7ca
+.FindLastSeen: ; 40c18 (10:4c18)
+ ld hl, wPokedexDataStart + NUM_POKEMON - 1
ld d, NUM_POKEMON
ld e, d
-.asm_40c1e
+.loopfindend
ld a, [hld]
ld [wd265], a
- call Function40bd0
- jr nz, .asm_40c2b
+ call Pokedex_CheckSeen
+ jr nz, .foundend
dec d
dec e
- jr nz, .asm_40c1e
-.asm_40c2b
+ jr nz, .loopfindend
+.foundend
ld a, d
- ld [wc7d2], a
+ ld [wDexListingEnd], a
ret
-Function40c30: ; 40c30
+Pokedex_ABCMode: ; 40c30
xor a
- ld [wc7d2], a
- ld hl, wc6d0
+ ld [wDexListingEnd], a
+ ld hl, wPokedexDataStart
ld de, AlphabeticalPokedexOrder
ld c, NUM_POKEMON
-.asm_40c3c
+.loop1abc
push bc
ld a, [de]
ld [wd265], a
- call Function40bd0
- jr z, .asm_40c51
+ call Pokedex_CheckSeen
+ jr z, .skipabc
ld a, [wd265]
ld [hli], a
- ld a, [wc7d2]
+ ld a, [wDexListingEnd]
inc a
- ld [wc7d2], a
+ ld [wDexListingEnd], a
-.asm_40c51
+.skipabc
inc de
pop bc
dec c
- jr nz, .asm_40c3c
- ld a, [wc7d2]
+ jr nz, .loop1abc
+ ld a, [wDexListingEnd]
ld c, 0
-.asm_40c5b
+.loop2abc
cp NUM_POKEMON
- jr z, .asm_40c64
+ jr z, .doneabc
ld [hl], c
inc hl
inc a
- jr .asm_40c5b
+ jr .loop2abc
-.asm_40c64
+.doneabc
ret
; 40c65
@@ -1726,11 +1736,11 @@
xor a
ld [hBGMapMode], a
hlcoord 0, 12
- ld bc, $0412
- call Function40ad5
+ lb bc, 4, SCREEN_WIDTH - 2
+ call Pokedex_PlaceBorder
ld a, [wc7d8]
ld hl, Unknown_40e7d
- call Function41432
+ call Pokedex_LoadPointer
ld e, l
ld d, h
hlcoord 1, 14
@@ -1741,28 +1751,28 @@
; 40e7d
Unknown_40e7d: ; 40e7d
- dw String_40e85
- dw String_40ea6
- dw String_40ec6
- dw String_40ee4
+ dw .NewMode
+ dw .OldMode
+ dw .ABCMode
+ dw .UnownMode
; 40e85
-String_40e85: ; 40e85
- db $e1, $e2, " are listed by"
+.NewMode: ; 40e85
+ db "<PK><MN> are listed by"
next "evolution type.@"
; 40ea6
-String_40ea6: ; 40ea6
- db $e1, $e2, " are listed by"
+.OldMode: ; 40ea6
+ db "<PK><MN> are listed by"
next "official type.@"
; 40ec6
-String_40ec6: ; 40ec6
- db $e1, $e2, " are listed"
+.ABCMode: ; 40ec6
+ db "<PK><MN> are listed"
next "alphabetically.@"
; 40ee4
-String_40ee4: ; 40ee4
+.UnownMode: ; 40ee4
db "UNOWN are listed"
next "in catching order.@"
; 40f08
@@ -1771,24 +1781,25 @@
xor a
ld [hBGMapMode], a
hlcoord 0, 12
- ld bc, $412
- call Function40ad5
- ld de, String_40f32
+ lb bc, 4, SCREEN_WIDTH - 2
+ call Pokedex_PlaceBorder
+ ld de, String_ChangingModesPleaseWait
hlcoord 1, 14
call PlaceString
ld a, $1
ld [hBGMapMode], a
- ld c, $40
+ ld c, 64
call DelayFrames
ld de, SFX_CHANGE_DEX_MODE
call PlaySFX
- ld c, $40
+ ld c, 64
call DelayFrames
ret
; 40f32 (10:4f32)
-String_40f32: ; 40f32
- db "Changing modes.", $4e, "Please wait.@"
+String_ChangingModesPleaseWait: ; 40f32
+ db "Changing modes."
+ next "Please wait.@"
; 40f4f
Function40f4f: ; 40f4f (10:4f4f)
@@ -1861,7 +1872,7 @@
hlcoord 9, 3
ld bc, $408
ld a, $7f
- call Function413fe
+ call Pokedex_FillBox
ld a, [wc7d5]
hlcoord 9, 4
call Function40fcd
@@ -1926,8 +1937,8 @@
add hl, de
ld a, [hl]
ld [wc7df], a
- ld hl, wc6d0
- ld de, wc6d0
+ ld hl, wPokedexDataStart
+ ld de, wPokedexDataStart
ld c, NUM_POKEMON
xor a
ld [wc7d7], a
@@ -1938,7 +1949,7 @@
jr z, .asm_410e0
ld [wd265], a
ld [CurSpecies], a
- call Function40bc4
+ call Pokedex_CheckCaught
jr z, .asm_410e0
push hl
push de
@@ -2008,7 +2019,7 @@
ld [hBGMapMode], a
hlcoord 0, 12
ld bc, $0412
- call Function40ad5
+ call Pokedex_PlaceBorder
ld de, String_41126
hlcoord 1, 14
call PlaceString
@@ -2025,7 +2036,7 @@
; 41148
Function41148: ; 41148 (10:5148)
- ld a, [wc7d4]
+ ld a, [wCurrentDexMode]
cp $1
jp z, Function41157
call Function41229
@@ -2034,7 +2045,7 @@
Function41157: ; 41157 (10:5157)
ld hl, Unknown_41167
- ld a, [wc7d1]
+ ld a, [wDexListingCursor]
or a
jr nz, .asm_41163
ld hl, Unknown_411c8
@@ -2133,7 +2144,7 @@
; 41281
Function41281: ; 41281 (10:5281)
- ld a, [wc7d4]
+ ld a, [wCurrentDexMode]
cp $1
jp z, Function41157
ld hl, Unknown_41290
@@ -2176,7 +2187,7 @@
ld a, [hl]
cp $ff
ret z
- ld a, [wc7d1]
+ ld a, [wDexListingCursor]
and $7
swap a
add [hl]
@@ -2196,11 +2207,11 @@
Function4130e: ; 4130e (10:530e)
push de
- ld a, [wc7d2]
+ ld a, [wDexListingEnd]
dec a
ld e, a
- ld a, [wc7d1]
- ld hl, wc7d0
+ ld a, [wDexListingCursor]
+ ld hl, wDexListingPage
add [hl]
cp e
jr z, .asm_4133f
@@ -2213,7 +2224,7 @@
ld a, d
or e
jr z, .asm_41341
- ld a, [wc7d2]
+ ld a, [wDexListingEnd]
ld c, a
.asm_41333
ld a, e
@@ -2247,6 +2258,7 @@
ret
Function4135a: ; 4135a (10:535a)
+; bc = [de] - 1
ld a, [de]
ld b, a
inc de
@@ -2254,52 +2266,55 @@
dec a
ld c, a
inc de
- call Function413e0
+ call Pokedex_BlinkInfoScreenCursor
+
ld hl, hJoyPressed ; $ffa7
ld a, [hl]
and D_LEFT | D_UP
and b
- jr nz, .asm_4138f
+ jr nz, .MoveCursorLeft
ld a, [hl]
and D_RIGHT | D_DOWN
and b
- jr nz, .asm_413a0
+ jr nz, .MoveCursorRight
ld a, [hl]
and SELECT
and b
- jr nz, .asm_413c1
- call Function413f5
- jr c, .asm_413bf
+ jr nz, .Select
+ call Pokedex_CursorFrameDelay
+ jr c, .NoAction
ld hl, hJoyLast
ld a, [hl]
and D_LEFT | D_UP
and b
- jr nz, .asm_4138f
+ jr nz, .MoveCursorLeft
ld a, [hl]
and D_RIGHT | D_DOWN
and b
- jr nz, .asm_413a0
- jr .asm_413bf
-.asm_4138f
+ jr nz, .MoveCursorRight
+ jr .NoAction
+
+.MoveCursorLeft
ld a, [wc7d8]
and a
- jr z, .asm_413bf
- call Function413d4
- ld [hl], $7f
+ jr z, .NoAction
+ call Pokedex_GetCursorPosition
+ ld [hl], " "
ld hl, wc7d8
dec [hl]
- jr .asm_413af
-.asm_413a0
+ jr .UpdateCursorPosition
+
+.MoveCursorRight
ld a, [wc7d8]
cp c
- jr nc, .asm_413bf
- call Function413d4
- ld [hl], $7f
+ jr nc, .NoAction
+ call Pokedex_GetCursorPosition
+ ld [hl], " "
ld hl, wc7d8
inc [hl]
-.asm_413af
- call Function413d4
- ld [hl], $ed
+.UpdateCursorPosition
+ call Pokedex_GetCursorPosition
+ ld [hl], "▶"
ld a, $c
ld [wc7d9], a
xor a
@@ -2306,22 +2321,24 @@
ld [wc7da], a
scf
ret
-.asm_413bf
+
+.NoAction
and a
ret
-.asm_413c1
- call Function413d4
- ld [hl], $7f
+
+.Select
+ call Pokedex_GetCursorPosition
+ ld [hl], " "
ld a, [wc7d8]
cp c
- jr c, .asm_413ce
+ jr c, .Update
ld a, $ff
-.asm_413ce
+.Update
inc a
ld [wc7d8], a
- jr .asm_413af
+ jr .UpdateCursorPosition
-Function413d4: ; 413d4 (10:53d4)
+Pokedex_GetCursorPosition: ; 413d4 (10:53d4)
ld a, [wc7d8]
add a
ld l, a
@@ -2332,30 +2349,32 @@
ld l, a
ret
-Function413e0: ; 413e0 (10:53e0)
+Pokedex_BlinkInfoScreenCursor: ; 413e0 (10:53e0)
ld hl, wc7da
ld a, [hl]
inc [hl]
and $8
- jr z, .asm_413ef
- call Function413d4
- ld [hl], $7f
+ jr z, .blink_on
+ call Pokedex_GetCursorPosition
+ ld [hl], " "
ret
-.asm_413ef
- call Function413d4
- ld [hl], $ed
+
+.blink_on
+ call Pokedex_GetCursorPosition
+ ld [hl], "▶"
ret
-Function413f5: ; 413f5 (10:53f5)
+Pokedex_CursorFrameDelay: ; 413f5 (10:53f5)
ld hl, wc7d9
ld a, [hl]
and a
ret z
+
dec [hl]
scf
ret
-Function413fe: ; 413fe (10:53fe)
+Pokedex_FillBox: ; 413fe (10:53fe)
jp FillBoxWithByte
Function41401: ; 41401 (10:5401)
@@ -2374,7 +2393,7 @@
ld a, $ff
call DmgToCgbBGPals
ld a, $ff
- call Functioncf8
+ call DmgToCgbObjPal0
call DelayFrame
ret
@@ -2386,12 +2405,12 @@
ld a, $e4
call DmgToCgbBGPals
ld a, $e0
- call Functioncf8
+ call DmgToCgbObjPal0
ret
; 41432
-Function41432: ; 41432
+Pokedex_LoadPointer: ; 41432
ld e, a
ld d, 0
rept 2
@@ -2404,10 +2423,10 @@
; 4143b
Function4143b: ; 4143b
- call Function40bb1
- call Function40bd0
- jr z, .asm_4145b
- ld a, [wdef4]
+ call Pokedex_GetMonAtCursorPosition
+ call Pokedex_CheckSeen
+ jr z, .QuestionMark
+ ld a, [wFirstUnownSeen]
ld [UnownLetter], a
ld a, [wd265]
ld [CurPartySpecies], a
@@ -2416,10 +2435,10 @@
predef GetFrontpic
ret
-.asm_4145b
+.QuestionMark
ld a, BANK(sScratch)
call GetSRAMBank
- callba Function1de0d7
+ callba LoadQuestionMarkPic
ld hl, VTiles2
ld de, sScratch
ld c, 7 * 7
@@ -2431,13 +2450,13 @@
; 41478
-Function41478: ; 41478 (10:5478)
- call Function40bb1
+Pokedex_LoadCurrentFootprint: ; 41478 (10:5478)
+ call Pokedex_GetMonAtCursorPosition
-Function4147b: ; 4147b
+Pokedex_LoadAnyFootprint: ; 4147b
ld a, [wd265]
dec a
- and $f8
+ and ($ff ^ $07) ; $f8 ; $1f << 3
srl a
srl a
srl a
@@ -2463,7 +2482,7 @@
; Whoever was editing footprints forgot to fix their
; tile editor. Now each bottom half is 8 tiles off.
- ld de, $80
+ ld de, 8 tiles
add hl, de
ld e, l
@@ -2476,28 +2495,28 @@
; 414b7
-Function414b7: ; 414b7
+Pokedex_LoadGFX: ; 414b7
call DisableLCD
ld hl, VTiles2
- ld bc, $0310
+ ld bc, $31 tiles
xor a
call ByteFill
- call Function414fb
+ call Pokedex_LoadInvertedFont
call LoadFontsExtra
ld hl, VTiles2 tile $60
- ld bc, $0200
- call Function41504
- call Function41a24
- jr nz, .asm_414e0
- callba Function1ddf1c
- jr .asm_414e9
+ ld bc, $20 tiles
+ call Pokedex_InvertTiles
+ call Pokedex_CheckSGB
+ jr nz, .LoadPokedexLZ
+ callba LoadSGBPokedexGFX
+ jr .LoadPokedexSlowpokeLZ
-.asm_414e0
+.LoadPokedexLZ
ld hl, PokedexLZ
ld de, VTiles2 tile $31
call Decompress
-.asm_414e9
+.LoadPokedexSlowpokeLZ
ld hl, PokedexSlowpokeLZ
ld de, VTiles0
call Decompress
@@ -2506,12 +2525,13 @@
call EnableLCD
ret
-Function414fb: ; 414fb
+Pokedex_LoadInvertedFont: ; 414fb
call LoadStandardFont
ld hl, VTiles1
- ld bc, $0800
+ ld bc, $80 tiles
-Function41504: ; 41504
+Pokedex_InvertTiles: ; 41504
+.loop
ld a, [hl]
xor $ff
ld [hli], a
@@ -2518,18 +2538,18 @@
dec bc
ld a, b
or c
- jr nz, Function41504
+ jr nz, .loop
ret
; 4150e
PokedexLZ: ; 4150e
-INCBIN "gfx/unknown/04150e.2bpp.lz"
+INCBIN "gfx/pokedex/pokedex.2bpp.lz"
; 416b0
PokedexSlowpokeLZ: ; 416b0
INCBIN "gfx/pokedex/slowpoke.2bpp.lz"
-Function41a24: ; 41a24
+Pokedex_CheckSGB: ; 41a24
ld a, [hCGB]
or a
ret nz
@@ -2538,26 +2558,25 @@
ret
; 41a2c
-Function41a2c: ; 41a2c
+Pokedex_LoadUnownFont: ; 41a2c
ld a, BANK(sScratch)
call GetSRAMBank
ld hl, UnownFont
ld de, sScratch + $188
- ld bc, $270
+ ld bc, 39 tiles
ld a, BANK(UnownFont)
call FarCopyBytes
ld hl, sScratch + $188
- ld bc, $1b0
- call Function41504
+ ld bc, 27 tiles
+ call Pokedex_InvertTiles
ld de, sScratch + $188
ld hl, VTiles2 tile $40
- lb bc, BANK(Function41a2c), $1b
+ lb bc, BANK(Pokedex_LoadUnownFont), 27
call Request2bpp
call CloseSRAM
ret
; 41a58
-
Function41a58: ; 41a58 (10:5a58)
ld a, [UnownLetter]
push af
@@ -2576,3 +2595,68 @@
pop af
ld [UnownLetter], a
ret
+; 41a7f
+
+_NewPokedexEntry: ; 41a7f
+ xor a
+ ld [hBGMapMode], a
+ callba Function1de247
+ call Pokedex_ResetBGMapMode
+ call DisableLCD
+ call LoadStandardFont
+ call LoadFontsExtra
+ call Pokedex_LoadGFX
+ call Pokedex_LoadAnyFootprint
+ ld a, [wd265]
+ ld [CurPartySpecies], a
+ call Function407fd
+ call Pokedex_DrawFootprint
+ hlcoord 0, 17
+ ld [hl], $3b
+ inc hl
+ ld bc, 19
+ ld a, " "
+ call ByteFill
+ callba DisplayDexEntry
+ call EnableLCD
+ call WaitBGMap
+ call GetBaseData
+ ld de, VTiles2
+ predef GetFrontpic
+ ld a, $4
+ call Function41423
+ ld a, [CurPartySpecies]
+ call PlayCry
+ ret
+; 41ad7
+
+
+Pokedex_SetBGMapMode3: ; 41ad7 (10:5ad7)
+ ld a, $3
+ ld [hBGMapMode], a
+ ld c, 4
+ call DelayFrames
+ ret
+
+Pokedex_SetBGMapMode4: ; 41ae1 (10:5ae1)
+ ld a, $4
+ ld [hBGMapMode], a
+ ld c, 4
+ call DelayFrames
+ ret
+
+Pokedex_SetBGMapMode_3ifDMG_4ifCGB: ; 41aeb (10:5aeb)
+ ld a, [hCGB]
+ and a
+ jr z, .DMG
+ call Pokedex_SetBGMapMode4
+.DMG
+ call Pokedex_SetBGMapMode3
+ ret
+
+
+Pokedex_ResetBGMapMode: ; 41af7
+ xor a
+ ld [hBGMapMode], a
+ ret
+; 41afb
--- a/engine/pokegear.asm
+++ b/engine/pokegear.asm
@@ -24,7 +24,7 @@
bit 7, a
jr nz, .done
call Function90f04
- callba Function8cf69
+ callba PlaySpriteAnimations
call DelayFrame
jr .loop
@@ -59,8 +59,8 @@
ld a, $7
ld [hWX], a
call Function90c4e
- callba Function8cf53
- call Function90d32
+ callba ClearSpriteAnims
+ call InitPokegearModeIndicatorArrow
ld a, 8
call SkipMusic
ld a, $e3
@@ -79,14 +79,14 @@
ld [wc6db], a
call Function90d9e
call Function90da8
- ld b, SCGB_02
+ ld b, SCGB_POKEGEAR_PALS
call GetSGBLayout
call SetPalettes
ld a, [hCGB]
and a
ret z
- ld a, $e4
- call Functioncf8
+ ld a, %11100100
+ call DmgToCgbObjPal0
ret
Function90c4e: ; 90c4e
@@ -121,6 +121,7 @@
ld l, e
ld a, b
+ ; standing sprite
push af
ld de, VTiles0 tile $10
ld bc, 4 tiles
@@ -129,7 +130,8 @@
pop hl
- ld de, $c0
+ ; walking sprite
+ ld de, 12 tiles
add hl, de
ld de, VTiles0 tile $14
ld bc, 4 tiles
@@ -148,11 +150,11 @@
INCBIN "gfx/misc/fast_ship.2bpp"
; 90d32
-Function90d32: ; 90d32 (24:4d32)
+InitPokegearModeIndicatorArrow: ; 90d32 (24:4d32)
depixel 4, 2, 4, 0
ld a, SPRITE_ANIM_INDEX_0D
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $0
ret
@@ -199,10 +201,10 @@
call GetWorldMapLocation
cp FAST_SHIP
- jr z, .asm_90d95
+ jr z, .FastShip
cp SPECIAL_MAP
- jr nz, .asm_90d8e
+ jr nz, .LoadLandmark
ld a, [BackupMapGroup]
ld b, a
@@ -210,12 +212,12 @@
ld c, a
call GetWorldMapLocation
-.asm_90d8e
+.LoadLandmark
ld [wc6d8], a
ld [wc6d7], a
ret
-.asm_90d95
+.FastShip
ld [wc6d8], a
ld a, NEW_BARK_TOWN
ld [wc6d7], a
@@ -670,8 +672,8 @@
Function9106a: ; 9106a
push af
- ld de, 0
- ld b, SPRITE_ANIM_INDEX_0A
+ depixel 0, 0
+ ld b, SPRITE_ANIM_INDEX_WALK_CYCLE
ld a, [PlayerGender]
bit 0, a
jr z, .asm_91079
@@ -680,7 +682,7 @@
.asm_91079
ld a, b
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $10
pop af
@@ -688,10 +690,10 @@
push bc
callba GetLandmarkCoords
pop bc
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hl], e
- ld hl, $5
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld [hl], d
ret
@@ -699,15 +701,15 @@
Function91098: ; 91098
push af
- ld de, 0
+ depixel 0, 0
ld a, SPRITE_ANIM_INDEX_0D
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $4
- ld hl, $2
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
- ld [hl], $0
+ ld [hl], SPRITE_ANIM_SEQ_NULL
pop af
push bc
call Function910d4
@@ -736,10 +738,10 @@
ld e, a
callba GetLandmarkCoords
pop bc
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hl], e
- ld hl, $5
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld [hl], d
ret
@@ -765,7 +767,7 @@
depixel 4, 10, 4, 4
ld a, SPRITE_ANIM_INDEX_14
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $8
call _UpdateRadioStation
@@ -1425,12 +1427,13 @@
_UpdateRadioStation: ; 9163e (24:563e)
jr UpdateRadioStation
-Function91640: ; 91640 (24:5640)
+; called from engine/sprite_anims.asm
+AnimateTuningKnob: ; 91640 (24:5640)
push bc
call .TuningKnob
pop bc
ld a, [wRadioTuningKnob]
- ld hl, $6
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld [hl], a
ret
@@ -1924,12 +1927,12 @@
ld a, e
and a
jr nz, .kanto
- call Function91ff2
+ call LoadTownMapGFX
call FillJohtoMap
ret
.kanto
- call Function91ff2
+ call LoadTownMapGFX
call FillKantoMap
ret
; 91af3
@@ -1944,15 +1947,15 @@
ld [hl], $1
xor a
ld [hBGMapMode], a
- callba Function8cf53
- call Function91ff2
- ld de, GFX_922e1
+ callba ClearSpriteAnims
+ call LoadTownMapGFX
+ ld de, FlyMapLabelBorderGFX
ld hl, VTiles2 tile $30
- lb bc, BANK(GFX_922e1), 6
+ lb bc, BANK(FlyMapLabelBorderGFX), 6
call Request1bpp
call FlyMap
- call Function91c8f
- ld b, SCGB_02
+ call ret_91c8f
+ ld b, SCGB_POKEGEAR_PALS
call GetSGBLayout
call SetPalettes
.loop
@@ -1966,7 +1969,7 @@
jr nz, .pressedA
call FlyMapScroll
call GetMapCursorCoordinates
- callba Function8cf69
+ callba PlaySpriteAnimations
call DelayFrame
jr .loop
@@ -2181,10 +2184,6 @@
const_def
flypoint: MACRO
-; \1\@FLY EQUS "FLY_\1"
-; \1\@SPAWN EQUS "SPAWN_\1"
- ; const \1\@FLY
- ; db \2, \1\@SPAWN
const FLY_\1
db \2, SPAWN_\1
ENDM
@@ -2222,7 +2221,7 @@
db -1
; 91c8f
-Function91c8f: ; 91c8f
+ret_91c8f: ; 91c8f
ret
; 91c90
@@ -2343,7 +2342,8 @@
ret
; 91d11
-Function91d11: ; 91d11
+_Area: ; 91d11
+; e: Current landmark
ld a, [wd002]
push af
ld a, [wd003]
@@ -2356,35 +2356,34 @@
ld a, $1
ld [hInMenu], a
- ld de, GFX_922d1
+ ld de, PokedexNestIconGFX
ld hl, VTiles0 tile $7f
- lb bc, BANK(GFX_922d1), 1
- call Request2bpp ; actually 1bpp
+ lb bc, BANK(PokedexNestIconGFX), 1
+ call Request2bpp
- call Function91ed0
-
+ call .GetPlayerOrFastShipIcon
ld hl, VTiles0 tile $78
- ld c, $4
+ ld c, 4
call Request2bpp
- call Function91ff2
+ call LoadTownMapGFX
call FillKantoMap
- call Function91de9
+ call .PlaceString_MonsNest
call TownMapPals
hlbgcoord 0, 0, VBGMap1
call TownMapBGUpdate
call FillJohtoMap
- call Function91de9
+ call .PlaceString_MonsNest
call TownMapPals
hlbgcoord 0, 0
call TownMapBGUpdate
- ld b, SCGB_02
+ ld b, SCGB_POKEGEAR_PALS
call GetSGBLayout
call SetPalettes
xor a
ld [hBGMapMode], a
- xor a
- call Function91e1e
+ xor a ; Johto
+ call .GetAndPlaceNest
.loop
call JoyTextDelay
ld hl, hJoyPressed
@@ -2394,12 +2393,12 @@
ld a, [hJoypadDown]
and SELECT
jr nz, .select
- call Function91d9b
- call Function91dcd
+ call .LeftRightInput
+ call .BlinkNestIcons
jr .next
.select
- call Function91e5a
+ call .HideNestsShowPlayer
.next
call DelayFrame
@@ -2414,16 +2413,16 @@
ret
; 91d9b
-Function91d9b: ; 91d9b
+.LeftRightInput: ; 91d9b
ld a, [hl]
- and $20
- jr nz, .asm_91da6
+ and D_LEFT
+ jr nz, .left
ld a, [hl]
- and $10
- jr nz, .asm_91db7
+ and D_RIGHT
+ jr nz, .right
ret
-.asm_91da6
+.left
ld a, [hWY]
cp $90
ret z
@@ -2430,11 +2429,11 @@
call ClearSprites
ld a, $90
ld [hWY], a
- xor a
- call Function91e1e
+ xor a ; Johto
+ call .GetAndPlaceNest
ret
-.asm_91db7
+.right
ld a, [StatusFlags]
bit 6, a ; hall of fame
ret z
@@ -2444,12 +2443,12 @@
call ClearSprites
xor a
ld [hWY], a
- ld a, $1
- call Function91e1e
+ ld a, 1 ; Kanto
+ call .GetAndPlaceNest
ret
; 91dcd
-Function91dcd: ; 91dcd
+.BlinkNestIcons: ; 91dcd
ld a, [hVBlankCounter]
ld e, a
and $f
@@ -2456,27 +2455,27 @@
ret nz
ld a, e
and $10
- jr nz, .asm_91ddc
+ jr nz, .copy_sprites
call ClearSprites
ret
-.asm_91ddc
+.copy_sprites
hlcoord 0, 0
ld de, Sprites
- ld bc, $a0
+ ld bc, SpritesEnd - Sprites
call CopyBytes
ret
; 91de9
-Function91de9: ; 91de9
+.PlaceString_MonsNest: ; 91de9
hlcoord 0, 0
ld bc, SCREEN_WIDTH
- ld a, $7f
+ ld a, " "
call ByteFill
hlcoord 0, 1
ld a, $6
ld [hli], a
- ld bc, SCREEN_HEIGHT
+ ld bc, SCREEN_WIDTH - 2
ld a, $7
call ByteFill
ld [hl], $17
@@ -2485,54 +2484,56 @@
call PlaceString
ld h, b
ld l, c
- ld de, String_91e16
+ ld de, .String_SNest
call PlaceString
ret
; 91e16
-String_91e16:
+.String_SNest:
db "'S NEST@"
; 91e1e
-Function91e1e: ; 91e1e
+.GetAndPlaceNest: ; 91e1e
ld [wd003], a
ld e, a
- callba Function2a01f
+ callba FindNest ; load nest landmarks into TileMap[0,0]
decoord 0, 0
ld hl, Sprites
-.asm_91e2e
+.nestloop
ld a, [de]
and a
- jr z, .asm_91e4d
+ jr z, .done_nest
push de
ld e, a
push hl
callba GetLandmarkCoords
pop hl
+ ; load into OAM
ld a, d
- sub $4
+ sub 4
ld [hli], a
ld a, e
- sub $4
+ sub 4
ld [hli], a
- ld a, $7f
+ ld a, $7f ; nest icon in this context
ld [hli], a
xor a
ld [hli], a
+ ; next
pop de
inc de
- jr .asm_91e2e
+ jr .nestloop
-.asm_91e4d
+.done_nest
ld hl, Sprites
decoord 0, 0
- ld bc, $a0
+ ld bc, SpritesEnd - Sprites
call CopyBytes
ret
; 91e5a
-Function91e5a: ; 91e5a
- call Function91ea9
+.HideNestsShowPlayer: ; 91e5a
+ call .CheckPlayerLocation
ret c
ld a, [wd002]
@@ -2540,12 +2541,12 @@
callba GetLandmarkCoords
ld c, e
ld b, d
- ld de, Unknown_91e9c
+ ld de, .PlayerOAM
ld hl, Sprites
-.asm_91e70
+.ShowPlayerLoop
ld a, [de]
cp $80
- jr z, .asm_91e91
+ jr z, .copy
add b
ld [hli], a
@@ -2557,24 +2558,24 @@
inc de
ld a, [de]
- add $78
+ add $78 ; where the player's sprite is loaded
ld [hli], a
inc de
push bc
- ld c, 0
+ ld c, 0 ; RED
ld a, [PlayerGender]
bit 0, a
- jr z, .asm_91e8c
- inc c
-.asm_91e8c
+ jr z, .got_gender
+ inc c ; BLUE
+.got_gender
ld a, c
ld [hli], a
pop bc
- jr .asm_91e70
+ jr .ShowPlayerLoop
-.asm_91e91
+.copy
ld hl, Sprites + $10
ld bc, SpritesEnd - (Sprites + $10)
xor a
@@ -2582,15 +2583,18 @@
ret
; 91e9c
-Unknown_91e9c: ; 91e9c
- db -8, -8, 0
- db -8, 0, 1
- db 0, -8, 2
- db 0, 0, 3
+.PlayerOAM: ; 91e9c
+ db -1 * 8, -1 * 8, 0 ; top left
+ db -1 * 8, 0 * 8, 1 ; top right
+ db 0 * 8, -1 * 8, 2 ; bottom left
+ db 0 * 8, 0 * 8, 3 ; bottom right
db $80 ; terminator
; 91ea9
-Function91ea9: ; 91ea9
+.CheckPlayerLocation: ; 91ea9
+; Don't show the player's sprite if you're
+; not in the same region as what's currently
+; on the screen.
ld a, [wd002]
cp FAST_SHIP
jr z, .johto
@@ -2621,14 +2625,14 @@
ret
; 91ed0
-Function91ed0: ; 91ed0
+.GetPlayerOrFastShipIcon: ; 91ed0
ld a, [wd002]
cp FAST_SHIP
- jr z, .asm_91ede
+ jr z, .FastShip
callba GetPlayerIcon
ret
-.asm_91ede
+.FastShip
ld de, FastShipGFX
ld b, BANK(FastShipGFX)
ret
@@ -2678,7 +2682,7 @@
hlcoord 0, 0
.loop
ld a, [de]
- cp $ff
+ cp -1
ret z
ld a, [de]
ld [hli], a
@@ -2691,7 +2695,7 @@
hlcoord 0, 0
decoord 0, 0, AttrMap
- ld bc, 360
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
.loop
; Current tile
ld a, [hli]
@@ -2743,10 +2747,12 @@
ret
TownMapPalMap:
- db $11, $21, $22, $00, $11, $13, $54, $54, $11, $21, $22, $00
- db $11, $10, $01, $00, $11, $21, $22, $00, $00, $00, $00, $00
- db $00, $00, $44, $04, $00, $00, $00, $00, $33, $33, $33, $33
- db $33, $33, $33, $03, $33, $33, $33, $33, $00, $00, $00, $00
+ dn 1, 1, 2, 1, 2, 2, 0, 0, 1, 1, 1, 3, 5, 4, 5, 4
+ dn 1, 1, 2, 1, 2, 2, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0
+ dn 1, 1, 2, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ dn 0, 0, 0, 0, 4, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
+ dn 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3
+ dn 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0
; 91f7b
TownMapMon: ; 91f7b
@@ -2766,16 +2772,16 @@
callba GetSpeciesIcon
; Animation/palette
- ld de, 0
- ld a, $0
+ depixel 0, 0
+ ld a, SPRITE_ANIM_INDEX_00
call _InitSpriteAnimStruct
- ld hl, 3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
- ld [hl], 8
- ld hl, 2
+ ld [hl], $8
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
- ld [hl], 0
+ ld [hl], SPRITE_ANIM_SEQ_NULL
ret
; 91fa6
@@ -2801,17 +2807,17 @@
call Request2bpp
; Animation/palette
- ld de, 0
- ld b, $0a ; Male
+ depixel 0, 0
+ ld b, SPRITE_ANIM_INDEX_WALK_CYCLE ; Male
ld a, [PlayerGender]
bit 0, a
- jr z, .asm_91fd3
- ld b, $1e ; Female
-.asm_91fd3
+ jr z, .got_gender
+ ld b, SPRITE_ANIM_INDEX_1E ; Female
+.got_gender
ld a, b
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $10
@@ -2821,16 +2827,16 @@
callba GetLandmarkCoords
pop bc
- ld hl, 4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hl], e
- ld hl, 5
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld [hl], d
ret
; 0x91ff2
-Function91ff2: ; 91ff2
+LoadTownMapGFX: ; 91ff2
ld hl, TownMapGFX
ld de, VTiles2
lb bc, BANK(TownMapGFX), $30
@@ -2847,14 +2853,14 @@
INCBIN "gfx/misc/kanto.bin"
; 922d1
+PokedexNestIconGFX: ; 922d1
+INCBIN "gfx/pokegear/dexmap_nest_icon.2bpp"
-GFX_922d1: ; 922d1
-INCBIN "gfx/unknown/0922d1.2bpp"
-GFX_922e1: ; 922e1
-INCBIN "gfx/unknown/0922e1.2bpp"
-GFX_92301: ; 92301
-INCBIN "gfx/unknown/092301.2bpp"
-Function92311: ; unreferenced
+FlyMapLabelBorderGFX: ; 922e1
+INCBIN "gfx/pokegear/flymap_label_border.2bpp"
+
+Function92311: ; 92311
+; unreferenced
xor a
ld [wd002], a
call ClearBGPalettes
@@ -2866,11 +2872,11 @@
ld [hl], $1
xor a
ld [hBGMapMode], a
- callba Function8cf53
- call Function91ff2
- ld de, GFX_922e1
+ callba ClearSpriteAnims
+ call LoadTownMapGFX
+ ld de, FlyMapLabelBorderGFX
ld hl, VTiles2 tile $30
- lb bc, BANK(GFX_922e1), 6
+ lb bc, BANK(FlyMapLabelBorderGFX), 6
call Request1bpp
call FillKantoMap
call TownMapBubble
@@ -2887,7 +2893,7 @@
ld [wd003], a
ld a, b
ld [wd004], a
- ld b, SCGB_02
+ ld b, SCGB_POKEGEAR_PALS
call GetSGBLayout
call SetPalettes
.loop
@@ -2899,9 +2905,9 @@
ld a, [hl]
and A_BUTTON
jr nz, .pressedA
- call Function923b8
+ call .HandleDPad
call GetMapCursorCoordinates
- callba Function8cf69
+ callba PlaySpriteAnimations
call DelayFrame
jr .loop
@@ -2934,36 +2940,36 @@
ret
; 923b8
-Function923b8: ; 923b8
+.HandleDPad: ; 923b8
ld hl, hJoyLast
ld a, [hl]
and D_DOWN | D_RIGHT
- jr nz, .asm_923c6
+ jr nz, .down_right
ld a, [hl]
and D_UP | D_LEFT
- jr nz, .asm_923d3
+ jr nz, .up_left
ret
-.asm_923c6
+.down_right
ld hl, wd002
ld a, [hl]
cp FLY_INDIGO
- jr c, .asm_923d0
+ jr c, .okay_dr
ld [hl], -1
-.asm_923d0
+.okay_dr
inc [hl]
- jr .asm_923dd
+ jr .continue
-.asm_923d3
+.up_left
ld hl, wd002
ld a, [hl]
and a
- jr nz, .asm_923dc
+ jr nz, .okay_ul
ld [hl], FLY_INDIGO + 1
-.asm_923dc
+.okay_ul
dec [hl]
-.asm_923dd
+.continue
ld a, [wd002]
cp KANTO_FLYPOINT
jr c, .johto
@@ -2971,7 +2977,7 @@
call FillKantoMap
xor a
ld b, $9c
- jr .asm_923f3
+ jr .finish
.johto
call FillJohtoMap
@@ -2978,7 +2984,7 @@
ld a, $90
ld b, $98
-.asm_923f3
+.finish
ld [hWY], a
ld a, b
ld [hBGMapAddress + 1], a
--- a/engine/predef.asm
+++ b/engine/predef.asm
@@ -34,7 +34,7 @@
add_predef Predef1
add_predef HealParty
add_predef FlagPredef
- add_predef DrawPartyMenuHPBar
+ add_predef ComputeHPBarPixels
add_predef FillPP
add_predef TryAddMonToParty
add_predef AddTempmonToParty
@@ -65,7 +65,7 @@
add_predef ListMoves ; $20
add_predef PlaceNonFaintStatus
add_predef Function50cdb
- add_predef Function50c50
+ add_predef ListMovePP
add_predef GetGender
add_predef StatsScreenInit
add_predef DrawPlayerHP
@@ -76,11 +76,11 @@
add_predef PrintType
add_predef PrintMonTypes
add_predef GetUnownLetter
- add_predef Functioncbcdd
+ add_predef LoadPoisonBGPals
add_predef Predef2F
add_predef Function9853 ; $30
add_predef Predef_LoadSGBLayout
- add_predef Function91d11
+ add_predef _Area
add_predef CheckContestMon
add_predef Predef_StartBattle
add_predef Predef35
--- a/engine/printer.asm
+++ b/engine/printer.asm
@@ -20,7 +20,7 @@
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, Jumptable_84031
+ ld hl, .Jumptable
rept 2
add hl, de
endr
@@ -31,7 +31,8 @@
; 84031
-Jumptable_84031: ; 84031 (21:4031)
+.Jumptable: ; 84031 (21:4031)
+
dw Function84077
dw Function84143
dw Function84120
@@ -427,12 +428,12 @@
; 842db
-Function842db:: ; 842db
+_PrinterReceive:: ; 842db
ld a, [wc2d5]
add a
ld e, a
ld d, 0
- ld hl, Jumptable_842ea
+ ld hl, .Jumptable
add hl, de
ld a, [hli]
ld h, [hl]
@@ -441,7 +442,8 @@
; 842ea
-Jumptable_842ea: ; 842ea (21:42ea)
+.Jumptable: ; 842ea (21:42ea)
+
dw Function8432f
dw Function84330
dw Function84339
@@ -672,7 +674,7 @@
call Function84000
ld a, $10
ld [wcbfa], a
- callba Function1dc1b0
+ callba PrintPage1
call ClearTileMap
ld a, $e4
call DmgToCgbBGPals
@@ -694,7 +696,7 @@
call Function84000
ld a, $3
ld [wcbfa], a
- callba Function1dc213
+ callba PrintPage2
call Function84742
ld a, $4
ld [wcf65], a
--- a/engine/radio.asm
+++ b/engine/radio.asm
@@ -274,7 +274,7 @@
ld [CurPartySpecies], a
call GetPokemonName
ld hl, StringBuffer1
- ld de, wOaksPkmnTalkPkmnNameBuffer
+ ld de, wMonOrItemNameBuffer
ld bc, PKMN_NAME_LENGTH
call CopyBytes
; Now that we've chosen our wild Pokemon,
--- /dev/null
+++ b/engine/rtc.asm
@@ -1,0 +1,210 @@
+StopRTC: ; Unreferenced???
+ ld a, SRAM_ENABLE
+ ld [MBC3SRamEnable], a
+ call LatchClock
+ ld a, RTC_DH
+ ld [MBC3SRamBank], a
+ ld a, [MBC3RTC]
+ set 6, a ; halt
+ ld [MBC3RTC], a
+ call CloseSRAM
+ ret
+; 14019
+
+StartRTC: ; 14019
+ ld a, SRAM_ENABLE
+ ld [MBC3SRamEnable], a
+ call LatchClock
+ ld a, RTC_DH
+ ld [MBC3SRamBank], a
+ ld a, [MBC3RTC]
+ res 6, a ; halt
+ ld [MBC3RTC], a
+ call CloseSRAM
+ ret
+; 14032
+
+GetTimeOfDay:: ; 14032
+; get time of day based on the current hour
+ ld a, [hHours] ; hour
+ ld hl, TimesOfDay
+
+.check
+; if we're within the given time period,
+; get the corresponding time of day
+ cp [hl]
+ jr c, .match
+; else, get the next entry
+rept 2
+ inc hl
+endr
+; try again
+ jr .check
+
+.match
+; get time of day
+ inc hl
+ ld a, [hl]
+ ld [TimeOfDay], a
+ ret
+; 14044
+
+TimesOfDay: ; 14044
+; hours for the time of day
+; 04-09 morn | 10-17 day | 18-03 nite
+ db 04, NITE
+ db 10, MORN
+ db 18, DAY
+ db 24, NITE
+ db -1, MORN
+; 1404e
+
+Unknown_1404e: ; Unreferenced
+ db 20, 2
+ db 40, 0
+ db 60, 1
+ db -1, 0
+; 14056
+
+StageRTCTimeForSave: ; 14056
+ call UpdateTime
+ ld hl, wRTC
+ ld a, [CurDay]
+ ld [hli], a
+ ld a, [hHours]
+ ld [hli], a
+ ld a, [hMinutes]
+ ld [hli], a
+ ld a, [hSeconds]
+ ld [hli], a
+ ret
+; 1406a
+
+SaveRTC: ; 1406a
+ ld a, $a
+ ld [MBC3SRamEnable], a
+ call LatchClock
+ ld hl, MBC3RTC
+ ld a, $c
+ ld [MBC3SRamBank], a
+ res 7, [hl]
+ ld a, BANK(sRTCStatusFlags)
+ ld [MBC3SRamBank], a
+ xor a
+ ld [sRTCStatusFlags], a
+ call CloseSRAM
+ ret
+; 14089
+
+StartClock:: ; 14089
+ call GetClock
+ call Function1409b
+ call FixDays
+ jr nc, .skip_set
+ ; bit 5: Day count exceeds 139
+ ; bit 6: Day count exceeds 255
+ call RecordRTCStatus ; set flag on sRTCStatusFlags
+
+.skip_set
+ call StartRTC
+ ret
+; 1409b
+
+Function1409b: ; 1409b
+ ld hl, hRTCDayHi
+ bit 7, [hl]
+ jr nz, .set_bit_7
+ bit 6, [hl]
+ jr nz, .set_bit_7
+ xor a
+ ret
+
+.set_bit_7
+ ; Day count exceeds 16383
+ ld a, %10000000
+ call RecordRTCStatus ; set bit 7 on sRTCStatusFlags
+ ret
+; 140ae
+
+Function140ae: ; 140ae
+ call CheckRTCStatus
+ ld c, a
+ and %11000000 ; Day count exceeded 255 or 16383
+ jr nz, .time_overflow
+
+ ld a, c
+ and %00100000 ; Day count exceeded 139
+ jr z, .dont_update
+
+ call UpdateTime
+ ld a, [wRTC + 0]
+ ld b, a
+ ld a, [CurDay]
+ cp b
+ jr c, .dont_update
+
+.time_overflow
+ callba ClearDailyTimers
+ callba Function170923
+; mobile
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$aa8c]
+ inc a
+ ld [$aa8c], a
+ ld a, [$b2fa]
+ inc a
+ ld [$b2fa], a
+ call CloseSRAM
+ ret
+
+.dont_update
+ xor a
+ ret
+; 140ed
+
+_InitTime:: ; 140ed
+ call GetClock
+ call FixDays
+ ld hl, hRTCSeconds
+ ld de, StartSecond
+
+ ld a, [StringBuffer2 + 3]
+ sub [hl]
+ dec hl
+ jr nc, .okay_secs
+ add 60
+.okay_secs
+ ld [de], a
+ dec de
+
+ ld a, [StringBuffer2 + 2]
+ sbc [hl]
+ dec hl
+ jr nc, .okay_mins
+ add 60
+.okay_mins
+ ld [de], a
+ dec de
+
+ ld a, [StringBuffer2 + 1]
+ sbc [hl]
+ dec hl
+ jr nc, .okay_hrs
+ add 24
+.okay_hrs
+ ld [de], a
+ dec de
+
+ ld a, [StringBuffer2]
+ sbc [hl]
+ dec hl
+ jr nc, .okay_days
+ add 140
+ ld c, 7
+ call SimpleDivide
+
+.okay_days
+ ld [de], a
+ ret
+; 1412a
--- a/engine/save.asm
+++ b/engine/save.asm
@@ -18,7 +18,7 @@
.refused
call ExitMenu
- call Functiond90
+ call ret_d90
callba SaveMenu_LoadEDTile
scf
ret
@@ -182,7 +182,7 @@
ld a, [wSaveFileExists]
and a
jr z, .erase
- call Function14bcb
+ call CompareLoadedAndSavedPlayerID
jr z, .yoursavefile
ld hl, UnknownText_0x15297
call SaveTheGame_yesorno
@@ -213,17 +213,17 @@
call LoadMenuTextBox
lb bc, 0, 7
call PlaceYesNoBox
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
- call WriteBackup
+ call CloseWindow
push af
- call Functiond90
+ call ret_d90
pop af
and a
ret
; 14bcb
-Function14bcb: ; 14bcb
+CompareLoadedAndSavedPlayerID: ; 14bcb
ld a, BANK(sPlayerData)
call GetSRAMBank
ld hl, sPlayerData + (PlayerID - wPlayerData)
@@ -291,7 +291,7 @@
ld a, BANK(sBattleTowerChallengeState)
call GetSRAMBank
ld a, [sBattleTowerChallengeState]
- cp $4
+ cp BATTLETOWER_RECEIVED_REWARD
jr nz, .ok
xor a
ld [sBattleTowerChallengeState], a
@@ -373,7 +373,7 @@
call EraseLinkBattleStats
call EraseMysteryGift
call SaveData
- call Function14d5c
+ call EraseBattleTowerStatus
ld a, BANK(sStackTop)
call GetSRAMBank
xor a
@@ -437,7 +437,7 @@
db $11, $0c, $0c, $06, $06, $04
; 14d5c
-Function14d5c: ; 14d5c
+EraseBattleTowerStatus: ; 14d5c
ld a, BANK(sBattleTowerChallengeState)
call GetSRAMBank
xor a
@@ -486,7 +486,7 @@
; 14da0
-Function14da0: ; 14da0
+HallOfFame_InitSaveIfNeeded: ; 14da0
ld a, [wSavedAtLeastOnce]
and a
ret nz
@@ -512,7 +512,7 @@
ld bc, OptionsEnd - Options
call CopyBytes
ld a, [Options]
- and $ef
+ and $ff ^ (1 << NO_TEXT_SCROLL)
ld [sOptions], a
jp CloseSRAM
; 14dd7
@@ -791,9 +791,9 @@
ld a, BANK(sBattleTowerChallengeState)
call GetSRAMBank
ld a, [sBattleTowerChallengeState]
- cp $4
+ cp BATTLETOWER_RECEIVED_REWARD
jr nz, .not_4
- ld a, $3
+ ld a, BATTLETOWER_WON_CHALLENGE
ld [sBattleTowerChallengeState], a
.not_4
call CloseSRAM
@@ -892,7 +892,7 @@
jp CloseSRAM
-Function150b9: ; 150b9
+_LoadData: ; 150b9
ld a, BANK(sCrystalData)
call GetSRAMBank
ld hl, sCrystalData
@@ -938,8 +938,11 @@
; 150f9
SaveBoxAddress: ; 150f9
+; Save box via wMisc.
+; We do this in three steps because the size of wMisc is less than
+; the size of sBox.
push hl
-
+; Load the first part of the active box.
push af
push de
ld a, BANK(sBox)
@@ -951,7 +954,7 @@
call CloseSRAM
pop de
pop af
-
+; Save it to the target box.
push af
push de
call GetSRAMBank
@@ -959,6 +962,8 @@
ld bc, (wMiscEnd - wMisc)
call CopyBytes
call CloseSRAM
+
+; Load the second part of the active box.
ld a, BANK(sBox)
call GetSRAMBank
ld hl, sBox + (wMiscEnd - wMisc)
@@ -973,7 +978,7 @@
add hl, de
ld e, l
ld d, h
-
+; Save it to the next part of the target box.
push af
push de
call GetSRAMBank
@@ -981,6 +986,8 @@
ld bc, (wMiscEnd - wMisc)
call CopyBytes
call CloseSRAM
+
+; Load the third and final part of the active box.
ld a, BANK(sBox)
call GetSRAMBank
ld hl, sBox + (wMiscEnd - wMisc) * 2
@@ -995,7 +1002,7 @@
add hl, de
ld e, l
ld d, h
-
+; Save it to the final part of the target box.
call GetSRAMBank
ld hl, wMisc
ld bc, sBoxEnd - (sBox + (wMiscEnd - wMisc) * 2) ; $8e
@@ -1008,10 +1015,13 @@
LoadBoxAddress: ; 1517d (5:517d)
+; Load box via wMisc.
+; We do this in three steps because the size of wMisc is less than
+; the size of sBox.
push hl
ld l, e
ld h, d
-
+; Load part 1
push af
push hl
call GetSRAMBank
@@ -1031,7 +1041,7 @@
ld de, (wMiscEnd - wMisc)
add hl, de
-
+; Load part 2
push af
push hl
call GetSRAMBank
@@ -1048,7 +1058,7 @@
call CloseSRAM
pop hl
pop af
-
+; Load part 3
ld de, (wMiscEnd - wMisc)
add hl, de
call GetSRAMBank
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -70,178 +70,178 @@
ScriptCommandTable: ; 96cb1
- dw Script_scall
- dw Script_farscall
- dw Script_ptcall
- dw Script_jump
- dw Script_farjump
- dw Script_ptjump
- dw Script_if_equal
- dw Script_if_not_equal
- dw Script_iffalse
- dw Script_iftrue
- dw Script_if_greater_than
- dw Script_if_less_than
- dw Script_jumpstd
- dw Script_callstd
- dw Script_callasm
- dw Script_special
- dw Script_ptcallasm
- dw Script_checkmaptriggers
- dw Script_domaptrigger
- dw Script_checktriggers
- dw Script_dotrigger
- dw Script_writebyte
- dw Script_addvar
- dw Script_random
- dw Script_checkver
- dw Script_copybytetovar
- dw Script_copyvartobyte
- dw Script_loadvar
- dw Script_checkcode
- dw Script_writevarcode
- dw Script_writecode
- dw Script_giveitem
- dw Script_takeitem
- dw Script_checkitem
- dw Script_givemoney
- dw Script_takemoney
- dw Script_checkmoney
- dw Script_givecoins
- dw Script_takecoins
- dw Script_checkcoins
- dw Script_addcellnum
- dw Script_delcellnum
- dw Script_checkcellnum
- dw Script_checktime
- dw Script_checkpoke
- dw Script_givepoke
- dw Script_giveegg
- dw Script_givepokeitem
- dw Script_checkpokeitem
- dw Script_checkevent
- dw Script_clearevent
- dw Script_setevent
- dw Script_checkflag
- dw Script_clearflag
- dw Script_setflag
- dw Script_wildon
- dw Script_wildoff
- dw Script_xycompare
- dw Script_warpmod
- dw Script_blackoutmod
- dw Script_warp
- dw Script_readmoney
- dw Script_readcoins
- dw Script_RAM2MEM
- dw Script_pokenamemem
- dw Script_itemtotext
- dw Script_mapnametotext
- dw Script_trainertotext
- dw Script_stringtotext
- dw Script_itemnotify
- dw Script_pocketisfull
- dw Script_loadfont
- dw Script_refreshscreen
- dw Script_loadmovesprites
- dw Script_loadbytec2cf
- dw Script_farwritetext
- dw Script_writetext
- dw Script_repeattext
- dw Script_yesorno
- dw Script_loadmenudata
- dw Script_writebackup
- dw Script_jumptextfaceplayer
+ dw Script_scall ; 00
+ dw Script_farscall ; 01
+ dw Script_ptcall ; 02
+ dw Script_jump ; 03
+ dw Script_farjump ; 04
+ dw Script_ptjump ; 05
+ dw Script_if_equal ; 06
+ dw Script_if_not_equal ; 07
+ dw Script_iffalse ; 08
+ dw Script_iftrue ; 09
+ dw Script_if_greater_than ; 0a
+ dw Script_if_less_than ; 0b
+ dw Script_jumpstd ; 0c
+ dw Script_callstd ; 0d
+ dw Script_callasm ; 0e
+ dw Script_special ; 0f
+ dw Script_ptcallasm ; 10
+ dw Script_checkmaptriggers ; 11
+ dw Script_domaptrigger ; 12
+ dw Script_checktriggers ; 13
+ dw Script_dotrigger ; 14
+ dw Script_writebyte ; 15
+ dw Script_addvar ; 16
+ dw Script_random ; 17
+ dw Script_checkver ; 18
+ dw Script_copybytetovar ; 19
+ dw Script_copyvartobyte ; 1a
+ dw Script_loadvar ; 1b
+ dw Script_checkcode ; 1c
+ dw Script_writevarcode ; 1d
+ dw Script_writecode ; 1e
+ dw Script_giveitem ; 1f
+ dw Script_takeitem ; 20
+ dw Script_checkitem ; 21
+ dw Script_givemoney ; 22
+ dw Script_takemoney ; 23
+ dw Script_checkmoney ; 24
+ dw Script_givecoins ; 25
+ dw Script_takecoins ; 26
+ dw Script_checkcoins ; 27
+ dw Script_addcellnum ; 28
+ dw Script_delcellnum ; 29
+ dw Script_checkcellnum ; 2a
+ dw Script_checktime ; 2b
+ dw Script_checkpoke ; 2c
+ dw Script_givepoke ; 2d
+ dw Script_giveegg ; 2e
+ dw Script_givepokeitem ; 2f
+ dw Script_checkpokeitem ; 30
+ dw Script_checkevent ; 31
+ dw Script_clearevent ; 32
+ dw Script_setevent ; 33
+ dw Script_checkflag ; 34
+ dw Script_clearflag ; 35
+ dw Script_setflag ; 36
+ dw Script_wildon ; 37
+ dw Script_wildoff ; 38
+ dw Script_xycompare ; 39
+ dw Script_warpmod ; 3a
+ dw Script_blackoutmod ; 3b
+ dw Script_warp ; 3c
+ dw Script_readmoney ; 3d
+ dw Script_readcoins ; 3e
+ dw Script_RAM2MEM ; 3f
+ dw Script_pokenamemem ; 40
+ dw Script_itemtotext ; 41
+ dw Script_mapnametotext ; 42
+ dw Script_trainertotext ; 43
+ dw Script_stringtotext ; 44
+ dw Script_itemnotify ; 45
+ dw Script_pocketisfull ; 46
+ dw Script_textbox ; 47
+ dw Script_refreshscreen ; 48
+ dw Script_closetext ; 49
+ dw Script_loadbytec2cf ; 4a
+ dw Script_farwritetext ; 4b
+ dw Script_writetext ; 4c
+ dw Script_repeattext ; 4d
+ dw Script_yesorno ; 4e
+ dw Script_loadmenudata ; 4f
+ dw Script_closewindow ; 50
+ dw Script_jumptextfaceplayer ; 51
IF _CRYSTAL
- dw Script_farjumptext
+ dw Script_farjumptext ; 52
ENDC
- dw Script_jumptext
- dw Script_closetext
- dw Script_keeptextopen
- dw Script_pokepic
- dw Script_pokepicyesorno
- dw Script_interpretmenu
- dw Script_interpretmenu2
- dw Script_loadpikachudata
- dw Script_battlecheck
- dw Script_loadtrainerdata
- dw Script_loadpokedata
- dw Script_loadtrainer
- dw Script_startbattle
- dw Script_returnafterbattle
- dw Script_catchtutorial
- dw Script_trainertext
- dw Script_trainerstatus
- dw Script_winlosstext
- dw Script_scripttalkafter
- dw Script_talkaftercancel
- dw Script_talkaftercheck
- dw Script_setlasttalked
- dw Script_applymovement
- dw Script_applymovement2
- dw Script_faceplayer
- dw Script_faceperson
- dw Script_variablesprite
- dw Script_disappear
- dw Script_appear
- dw Script_follow
- dw Script_stopfollow
- dw Script_moveperson
- dw Script_writepersonxy
- dw Script_loademote
- dw Script_showemote
- dw Script_spriteface
- dw Script_follownotexact
- dw Script_earthquake
- dw Script_changemap
- dw Script_changeblock
- dw Script_reloadmap
- dw Script_reloadmappart
- dw Script_writecmdqueue
- dw Script_delcmdqueue
- dw Script_playmusic
- dw Script_playrammusic
- dw Script_musicfadeout
- dw Script_playmapmusic
- dw Script_reloadmapmusic
- dw Script_cry
- dw Script_playsound
- dw Script_waitbutton
- dw Script_warpsound
- dw Script_specialsound
- dw Script_passtoengine
- dw Script_newloadmap
- dw Script_pause
- dw Script_deactivatefacing
- dw Script_priorityjump
- dw Script_warpcheck
- dw Script_ptpriorityjump
- dw Script_return
- dw Script_end
- dw Script_reloadandreturn
- dw Script_resetfuncs
- dw Script_pokemart
- dw Script_elevator
- dw Script_trade
- dw Script_askforphonenumber
- dw Script_phonecall
- dw Script_hangup
- dw Script_describedecoration
- dw Script_fruittree
- dw Script_specialphonecall
- dw Script_checkphonecall
- dw Script_verbosegiveitem
- dw Script_verbosegiveitem2
- dw Script_loadwilddata
- dw Script_halloffame
- dw Script_credits
- dw Script_warpfacing
- dw Script_battletowertext
- dw Script_displaylocation
- dw Script_trainerclassname
- dw Script_name
- dw Script_wait
- dw Script_check_save
+ dw Script_jumptext ; 53
+ dw Script_waitbutton ; 54
+ dw Script_buttonsound ; 55
+ dw Script_pokepic ; 56
+ dw Script_closepokepic ; 57
+ dw Script__2dmenu ; 58
+ dw Script_verticalmenu ; 59
+ dw Script_loadpikachudata ; 5a
+ dw Script_randomwildmon ; 5b
+ dw Script_loadmemtrainer ; 5c
+ dw Script_loadwildmon ; 5d
+ dw Script_loadtrainer ; 5e
+ dw Script_startbattle ; 5f
+ dw Script_reloadmapafterbattle ; 60
+ dw Script_catchtutorial ; 61
+ dw Script_trainertext ; 62
+ dw Script_trainerflagaction ; 63
+ dw Script_winlosstext ; 64
+ dw Script_scripttalkafter ; 65
+ dw Script_end_if_just_battled ; 66
+ dw Script_check_just_battled ; 67
+ dw Script_setlasttalked ; 68
+ dw Script_applymovement ; 69
+ dw Script_applymovement2 ; 6a
+ dw Script_faceplayer ; 6b
+ dw Script_faceperson ; 6c
+ dw Script_variablesprite ; 6d
+ dw Script_disappear ; 6e
+ dw Script_appear ; 6f
+ dw Script_follow ; 70
+ dw Script_stopfollow ; 71
+ dw Script_moveperson ; 72
+ dw Script_writepersonxy ; 73
+ dw Script_loademote ; 74
+ dw Script_showemote ; 75
+ dw Script_spriteface ; 76
+ dw Script_follownotexact ; 77
+ dw Script_earthquake ; 78
+ dw Script_changemap ; 79
+ dw Script_changeblock ; 7a
+ dw Script_reloadmap ; 7b
+ dw Script_reloadmappart ; 7c
+ dw Script_writecmdqueue ; 7d
+ dw Script_delcmdqueue ; 7e
+ dw Script_playmusic ; 7f
+ dw Script_encountermusic ; 80
+ dw Script_musicfadeout ; 81
+ dw Script_playmapmusic ; 82
+ dw Script_dontrestartmapmusic ; 83
+ dw Script_cry ; 84
+ dw Script_playsound ; 85
+ dw Script_waitsfx ; 86
+ dw Script_warpsound ; 87
+ dw Script_specialsound ; 88
+ dw Script_passtoengine ; 89
+ dw Script_newloadmap ; 8a
+ dw Script_pause ; 8b
+ dw Script_deactivatefacing ; 8c
+ dw Script_priorityjump ; 8d
+ dw Script_warpcheck ; 8e
+ dw Script_ptpriorityjump ; 8f
+ dw Script_return ; 90
+ dw Script_end ; 91
+ dw Script_reloadandreturn ; 92
+ dw Script_end_all ; 93
+ dw Script_pokemart ; 94
+ dw Script_elevator ; 95
+ dw Script_trade ; 96
+ dw Script_askforphonenumber ; 97
+ dw Script_phonecall ; 98
+ dw Script_hangup ; 99
+ dw Script_describedecoration ; 9a
+ dw Script_fruittree ; 9b
+ dw Script_specialphonecall ; 9c
+ dw Script_checkphonecall ; 9d
+ dw Script_verbosegiveitem ; 9e
+ dw Script_verbosegiveitem2 ; 9f
+ dw Script_swarm ; a0
+ dw Script_halloffame ; a1
+ dw Script_credits ; a2
+ dw Script_warpfacing ; a3
+ dw Script_battletowertext ; a4
+ dw Script_landmarktotext ; a5
+ dw Script_trainerclassname ; a6
+ dw Script_name ; a7
+ dw Script_wait ; a8
+ dw Script_check_save ; a9
; 96e05
StartScript: ; 96e05
@@ -316,11 +316,11 @@
; text_pointer (RawTextPointerLabelParam)
ld a, [ScriptBank]
- ld [wd44e], a
+ ld [wScriptTextBank], a
call GetScriptByte
- ld [wd44f], a
+ ld [wScriptTextAddr], a
call GetScriptByte
- ld [wd450], a
+ ld [wScriptTextAddr + 1], a
ld b, BANK(JumpTextFacePlayerScript)
ld hl, JumpTextFacePlayerScript
jp ScriptJump
@@ -332,11 +332,11 @@
; text_pointer (RawTextPointerLabelParam)
ld a, [ScriptBank]
- ld [wd44e], a
+ ld [wScriptTextBank], a
call GetScriptByte
- ld [wd44f], a
+ ld [wScriptTextAddr], a
call GetScriptByte
- ld [wd450], a
+ ld [wScriptTextAddr + 1], a
ld b, BANK(JumpTextScript)
ld hl, JumpTextScript
jp ScriptJump
@@ -345,10 +345,10 @@
JumpTextFacePlayerScript: ; 96e79
faceplayer
JumpTextScript: ; 96e7a
- loadfont
+ opentext
repeattext -1, -1
+ waitbutton
closetext
- loadmovesprites
end
; 96e81
@@ -361,11 +361,11 @@
; text_pointer (PointerLabelBeforeBank)
call GetScriptByte
- ld [wd44e], a
+ ld [wScriptTextBank], a
call GetScriptByte
- ld [wd44f], a
+ ld [wScriptTextAddr], a
call GetScriptByte
- ld [wd450], a
+ ld [wScriptTextAddr + 1], a
ld b, BANK(JumpTextScript)
ld hl, JumpTextScript
jp ScriptJump
@@ -419,7 +419,7 @@
ld a, l
cp -1
jr nz, .done
- ld hl, wd44e
+ ld hl, wScriptTextBank
ld a, [hli]
ld b, a
ld a, [hli]
@@ -427,17 +427,18 @@
ld l, a
call MapTextbox
ret
+
.done
ret
; 96ed9
-Script_closetext: ; 96ed9
+Script_waitbutton: ; 96ed9
; script command 0x54
- jp CloseText
+ jp WaitButton
; 96edc
-Script_keeptextopen: ; 96edc
+Script_buttonsound: ; 96edc
; script command 0x55
ld a, [hOAMUpdate]
@@ -445,7 +446,7 @@
ld a, $1
ld [hOAMUpdate], a
call WaitBGMap
- call KeepTextOpen
+ call ButtonSound
pop af
ld [hOAMUpdate], a
ret
@@ -455,9 +456,9 @@
; script command 0x4e
call YesNoBox
- ld a, 0
+ ld a, FALSE
jr c, .no
- ld a, 1
+ ld a, TRUE
.no
ld [ScriptVar], a
ret
@@ -479,10 +480,10 @@
ret
; 96f0f
-Script_writebackup: ; 96f0f
+Script_closewindow: ; 96f0f
; script command 0x50
- call WriteBackup
+ call CloseWindow
call UpdateSprites
ret
; 96f16
@@ -502,20 +503,20 @@
ret
; 96f29
-Script_pokepicyesorno: ; 96f29
+Script_closepokepic: ; 96f29
; script command 0x57
- callba PokepicYesOrNo
+ callba ClosePokepic
ret
; 96f30
-Script_interpretmenu2: ; 96f30
+Script_verticalmenu: ; 96f30
; script command 0x59
ld a, [ScriptBank]
- ld hl, InterpretMenu2
+ ld hl, VerticalMenu
rst FarCall
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
jr nc, .ok
xor a
.ok
@@ -523,11 +524,11 @@
ret
; 96f41
-Script_interpretmenu: ; 96f41
+Script__2dmenu: ; 96f41
; script command 0x58
ld a, [ScriptBank]
- ld hl, InterpretMenu
+ ld hl, _2DMenu
rst FarCall
ld a, [wMenuCursorBuffer]
jr nc, .ok
@@ -575,14 +576,14 @@
callasm ret_96f76
writetext ReceivedItemText
iffalse .Full
- waitbutton
+ waitsfx
specialsound
- closetext
+ waitbutton
itemnotify
end
.Full
- keeptextopen
+ buttonsound
pocketisfull
end
; 96f89
@@ -611,7 +612,7 @@
ld [wItemQuantityChangeBuffer], a
ld hl, NumItems
call ReceiveItem
- ld a, 1
+ ld a, TRUE
jr c, .ok2
xor a
.ok2
@@ -748,7 +749,7 @@
ld b, a
callba Elevator
ret c
- ld a, $1
+ ld a, TRUE
ld [ScriptVar], a
ret
; 97099
@@ -835,7 +836,7 @@
jp ScriptJump
; 970fc
-Script_loadwilddata: ; 970fc
+Script_swarm: ; 970fc
; script command 0xa0
; parameters:
; flag (SingleByteParam)
@@ -848,7 +849,7 @@
ld d, a
call GetScriptByte
ld e, a
- callba LoadWildData
+ callba StoreSwarmMapIndices
ret
; 9710f
@@ -861,9 +862,8 @@
ld c, a
ld b, 0
ld hl, WalkingX
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -876,7 +876,7 @@
Script_scripttalkafter: ; 97125
; script command 0x65
- ld hl, wd04b
+ ld hl, wScriptAfterPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -885,7 +885,7 @@
jp ScriptJump
; 97132
-Script_trainerstatus: ; 97132
+Script_trainerflagaction: ; 97132
; script command 0x63
; parameters:
; action (SingleByteParam)
@@ -902,7 +902,7 @@
ld a, c
and a
ret z
- ld a, 1
+ ld a, TRUE
ld [ScriptVar], a
ret
; 9714c
@@ -926,7 +926,7 @@
ret
; 97163
-Script_talkaftercancel: ; 97163
+Script_end_if_just_battled: ; 97163
; script command 0x66
ld a, [wRunningTrainerBattleScript]
@@ -935,10 +935,10 @@
jp Script_end
; 9716b
-Script_talkaftercheck: ; 9716b
+Script_check_just_battled: ; 9716b
; script command 0x67
- ld a, 1
+ ld a, TRUE
ld [ScriptVar], a
ld a, [wRunningTrainerBattleScript]
and a
@@ -948,7 +948,7 @@
ret
; 9717a
-Script_playrammusic: ; 9717a
+Script_encountermusic: ; 9717a
; script command 0x80
ld a, [OtherTrainerClass]
@@ -1011,7 +1011,7 @@
ret
; 971c3
-Script_waitbutton: ; 971c3
+Script_waitsfx: ; 971c3
; script command 0x86
call WaitSFX
@@ -1126,9 +1126,8 @@
ld e, a
callba GetRelativeFacing
ld a, d
-rept 2
add a
-endr
+ add a
ld e, a
ld a, [hLastTalked]
ld d, a
@@ -1161,9 +1160,8 @@
pop bc
ret c
ld a, d
-rept 2
add a
-endr
+ add a
ld e, a
ld d, c
call ApplyPersonFacing
@@ -1184,9 +1182,8 @@
.ok
ld d, a
call GetScriptByte
-rept 2
add a
-endr
+ add a
ld e, a
call ApplyPersonFacing
ret
@@ -1481,7 +1478,7 @@
ret
; 973fb
-Script_battlecheck: ; 973fb
+Script_randomwildmon: ; 973fb
; script command 0x5b
xor a
@@ -1489,19 +1486,19 @@
ret
; 97400
-Script_loadtrainerdata: ; 97400
+Script_loadmemtrainer: ; 97400
; script command 0x5c
ld a, (1 << 7) | 1
ld [wBattleScriptFlags], a
- ld a, [WalkingDirection]
+ ld a, [wTempTrainerClass]
ld [OtherTrainerClass], a
- ld a, [FacingDirection]
+ ld a, [wTempTrainerID]
ld [OtherTrainerID], a
ret
; 97412
-Script_loadpokedata: ; 97412
+Script_loadwildmon: ; 97412
; script command 0x5d
; parameters:
; pokemon (PokemonParam)
@@ -1554,7 +1551,7 @@
jp Script_reloadmap
; 97459
-Script_returnafterbattle: ; 97459
+Script_reloadmapafterbattle: ; 97459
; script command 0x60
ld hl, wBattleScriptFlags
@@ -1654,7 +1651,7 @@
ld e, [hl]
inc [hl]
ld d, $0
- ld hl, wScriptStackBA1
+ ld hl, wScriptStack
rept 3
add hl, de
endr
@@ -1862,11 +1859,11 @@
; pointer (ScriptPointerLabelParam)
ld a, [ScriptBank]
- ld [wd44e], a
+ ld [wPriorityScriptBank], a
call GetScriptByte
- ld [wd44f], a
+ ld [wPriorityScriptAddr], a
call GetScriptByte
- ld [wd450], a
+ ld [wPriorityScriptAddr + 1], a
ld hl, ScriptFlags
set 3, [hl]
ret
@@ -2185,7 +2182,7 @@
jp ConvertMemToText
; 97701
-Script_displaylocation: ; 97701
+Script_landmarktotext: ; 97701
; script command 0xa5
; parameters:
; id (SingleByteParam)
@@ -2362,7 +2359,7 @@
ld hl, NumItems
call ReceiveItem
jr nc, .full
- ld a, $1
+ ld a, TRUE
ld [ScriptVar], a
ret
.full
@@ -2384,11 +2381,11 @@
call GetScriptByte
ld [wItemQuantityChangeBuffer], a
ld a, -1
- ld [ItemCountBuffer], a
+ ld [CurItemQuantity], a
ld hl, NumItems
call TossItem
ret nc
- ld a, $1
+ ld a, TRUE
ld [ScriptVar], a
ret
; 97812
@@ -2405,7 +2402,7 @@
ld hl, NumItems
call CheckItem
ret nc
- ld a, 1
+ ld a, TRUE
ld [ScriptVar], a
ret
; 97829
@@ -2534,7 +2531,7 @@
call GetScriptByte
and c
ret z
- ld a, $1
+ ld a, TRUE
ld [ScriptVar], a
ret
; 978c3
@@ -2551,7 +2548,7 @@
ld de, 1
call IsInArray
ret nc
- ld a, 1
+ ld a, TRUE
ld [ScriptVar], a
ret
; 978da
@@ -2567,7 +2564,7 @@
ld c, a
callba AddPhoneNumber
ret nc
- ld a, $1
+ ld a, TRUE
ld [ScriptVar], a
ret
; 978ef
@@ -2583,7 +2580,7 @@
ld c, a
callba DelCellNum
ret nc
- ld a, $1
+ ld a, TRUE
ld [ScriptVar], a
ret
; 97904
@@ -2600,7 +2597,7 @@
ld c, a
callba CheckCellNum
ret nc
- ld a, $1
+ ld a, TRUE
ld [ScriptVar], a
ret
; 97919
@@ -2624,7 +2621,7 @@
ld a, [wSpecialPhoneCallID]
and a
jr z, .ok
- ld a, 1
+ ld a, TRUE
.ok
ld [ScriptVar], a
ret
@@ -2728,7 +2725,7 @@
ld a, c
and a
jr z, .false
- ld a, 1
+ ld a, TRUE
.false
ld [ScriptVar], a
ret
@@ -2743,7 +2740,7 @@
ld e, a
call GetScriptByte
ld d, a
- ld b, 1 ; set
+ ld b, SET_FLAG
call _EngineFlagAction
ret
; 979c9
@@ -2757,7 +2754,7 @@
ld e, a
call GetScriptByte
ld d, a
- ld b, 0 ; clear
+ ld b, RESET_FLAG
call _EngineFlagAction
ret
; 979d7
@@ -2776,7 +2773,7 @@
ld a, c
and a
jr z, .false
- ld a, 1
+ ld a, TRUE
.false
ld [ScriptVar], a
ret
@@ -2904,11 +2901,11 @@
ret
; 97a85
-Script_reloadmapmusic: ; 97a85
+Script_dontrestartmapmusic: ; 97a85
; script command 0x83
ld a, 1
- ld [wc2c1], a
+ ld [wDontPlayMapMusicOnReload], a
ret
; 97a8b
@@ -3025,10 +3022,10 @@
jp Script_end
; 97b1c
-Script_loadfont: ; 97b1c
+Script_textbox: ; 97b1c
; script command 0x47
- call LoadFont
+ call OpenText
ret
; 97b20
@@ -3037,7 +3034,7 @@
; parameters:
; dummy (SingleByteParam)
- call ResetWindow
+ call RefreshScreen
call GetScriptByte
ret
; 97b27
@@ -3053,15 +3050,15 @@
; 97b2e
-LoadMoveSpritesScript: ; 97b2e
- loadmovesprites
+CloseTextScript: ; 97b2e
+ closetext
; 97b2f
-Script_loadmovesprites: ; 97b2f
+Script_closetext: ; 97b2f
; script command 0x49
call Function2e20
- call LoadMoveSprites
+ call CloseText
ret
; 97b36
@@ -3165,7 +3162,7 @@
dec [hl]
ld e, [hl]
ld d, $0
- ld hl, wScriptStackBA1
+ ld hl, wScriptStack
rept 3
add hl,de
endr
@@ -3186,7 +3183,7 @@
ret
; 97bc0
-Script_resetfuncs: ; 97bc0
+Script_end_all: ; 97bc0
; script command 0x93
xor a
@@ -3210,7 +3207,7 @@
callba HallOfFame
ld hl, GameTimerPause
set 0, [hl]
- jr DisplayCredits
+ jr ReturnFromCredits
; 97bf3
Script_credits: ; 97bf3
@@ -3217,10 +3214,8 @@
; script command 0xa2
callba RedCredits
- ; fallthrough
-
-DisplayCredits:
- call Script_resetfuncs
+ReturnFromCredits:
+ call Script_end_all
ld a, $3
call LoadMapStatus
call StopScript
--- /dev/null
+++ b/engine/scrolling_menu.asm
@@ -1,0 +1,543 @@
+_InitScrollingMenu:: ; 245af
+ xor a
+ ld [wMenuJoypad], a
+ ld [hBGMapMode], a
+ inc a
+ ld [hInMenu], a
+ call InitScrollingMenuCursor
+ call ScrollingMenu_InitFlags
+ call ScrollingMenu_ValidateSwitchItem
+ call ScrollingMenu_InitDisplay
+ call ApplyTilemap
+ xor a
+ ld [hBGMapMode], a
+ ret
+; 245cb
+
+_ScrollingMenu:: ; 245cb
+.loop
+ call ScrollingMenuJoyAction
+ jp c, .exit
+ call z, .zero
+ jr .loop
+; 245d6
+
+.exit: ; 245d6
+ call MenuClickSound
+ ld [wMenuJoypad], a
+ ld a, 0
+ ld [hInMenu], a
+ ret
+; 245e1
+
+.zero: ; 245e1
+ call ScrollingMenu_InitDisplay
+ ld a, 1
+ ld [hBGMapMode], a
+ ld c, 3
+ call DelayFrames
+ xor a
+ ld [hBGMapMode], a
+ ret
+; 245f1
+
+ScrollingMenu_InitDisplay: ; 245f1
+ xor a
+ ld [hBGMapMode], a
+ ld hl, Options
+ ld a, [hl]
+ push af
+ set NO_TEXT_SCROLL, [hl]
+ call ScrollingMenu_UpdateDisplay
+ call ScrollingMenu_PlaceCursor
+ call ScrollingMenu_CheckCallFunction3
+ pop af
+ ld [Options], a
+ ret
+; 24609
+
+ScrollingMenuJoyAction: ; 24609
+.loop
+ call ScrollingMenuJoypad
+ ld a, [hJoyLast]
+ and D_PAD
+ ld b, a
+ ld a, [hJoyPressed]
+ and BUTTONS
+ or b
+ bit 0, a ; A
+ jp nz, .a_button
+ bit 1, a ; B
+ jp nz, .b_button
+ bit 2, a ; Select
+ jp nz, .select
+ bit 3, a ; Start
+ jp nz, .start
+ bit 4, a ; Right
+ jp nz, .d_right
+ bit 5, a ; Left
+ jp nz, .d_left
+ bit 6, a ; Up
+ jp nz, .d_up
+ bit 7, a ; Down
+ jp nz, .d_down
+ jr .loop
+; 24640
+
+.unreferenced: ; unreferenced
+ ld a, -1
+ and a
+ ret
+; 24644
+
+.a_button: ; 24644
+ call PlaceHollowCursor
+ ld a, [wMenuCursorY]
+ dec a
+ call ScrollingMenu_GetListItemCoordAndFunctionArgs
+ ld a, [MenuSelection]
+ ld [CurItem], a
+ ld a, [MenuSelectionQuantity]
+ ld [wItemQuantityBuffer], a
+ call ScrollingMenu_GetCursorPosition
+ dec a
+ ld [wScrollingMenuCursorPosition], a
+ ld [CurItemQuantity], a
+ ld a, [MenuSelection]
+ cp -1
+ jr z, .b_button
+ ld a, A_BUTTON
+ scf
+ ret
+; 2466f
+
+.b_button: ; 2466f
+ ld a, B_BUTTON
+ scf
+ ret
+; 24673
+
+.select: ; 24673
+ ld a, [wMenuData2Flags]
+ bit 7, a
+ jp z, xor_a_dec_a
+ ld a, [wMenuCursorY]
+ dec a
+ call ScrollingMenu_GetListItemCoordAndFunctionArgs
+ ld a, [MenuSelection]
+ cp -1
+ jp z, xor_a_dec_a
+ call ScrollingMenu_GetCursorPosition
+ dec a
+ ld [wScrollingMenuCursorPosition], a
+ ld a, SELECT
+ scf
+ ret
+; 24695
+
+.start: ; 24695
+ ld a, [wMenuData2Flags]
+ bit 6, a
+ jp z, xor_a_dec_a
+ ld a, START
+ scf
+ ret
+; 246a1
+
+.d_left: ; 246a1
+ ld hl, w2DMenuFlags2
+ bit 7, [hl]
+ jp z, xor_a_dec_a
+ ld a, [wMenuData2Flags]
+ bit 3, a
+ jp z, xor_a_dec_a
+ ld a, D_LEFT
+ scf
+ ret
+; 246b5
+
+.d_right: ; 246b5
+ ld hl, w2DMenuFlags2
+ bit 7, [hl]
+ jp z, xor_a_dec_a
+ ld a, [wMenuData2Flags]
+ bit 2, a
+ jp z, xor_a_dec_a
+ ld a, D_RIGHT
+ scf
+ ret
+; 246c9
+
+.d_up: ; 246c9
+ ld hl, w2DMenuFlags2
+ bit 7, [hl]
+ jp z, xor_a
+ ld hl, wMenuScrollPosition
+ ld a, [hl]
+ and a
+ jr z, .xor_dec_up
+ dec [hl]
+ jp xor_a
+
+.xor_dec_up
+ jp xor_a_dec_a
+; 246df
+
+.d_down: ; 246df
+ ld hl, w2DMenuFlags2
+ bit 7, [hl]
+ jp z, xor_a
+ ld hl, wMenuScrollPosition
+ ld a, [wMenuData2_ScrollingMenuHeight]
+ add [hl]
+ ld b, a
+ ld a, [wScrollingMenuListSize]
+ cp b
+ jr c, .xor_dec_down
+ inc [hl]
+ jp xor_a
+
+.xor_dec_down
+ jp xor_a_dec_a
+; 246fc
+
+ScrollingMenu_GetCursorPosition: ; 246fc
+ ld a, [wMenuScrollPosition]
+ ld c, a
+ ld a, [wMenuCursorY]
+ add c
+ ld c, a
+ ret
+; 24706
+
+Function24706: ; 24706 (9:4706)
+ call MenuBoxCoord2Tile
+ ld de, SCREEN_WIDTH
+ add hl, de
+ ld de, 2 * SCREEN_WIDTH
+ ld a, [wMenuData2_ScrollingMenuHeight]
+.asm_24713
+ ld [hl], " "
+ add hl, de
+ dec a
+ jr nz, .asm_24713
+ ret
+
+InitScrollingMenuCursor: ; 2471a
+ ld hl, wMenuData2_ItemsPointerAddr
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [wMenuData2_ItemsPointerBank]
+ call GetFarByte
+ ld [wScrollingMenuListSize], a
+ ld a, [wMenuData2_ScrollingMenuHeight]
+ ld c, a
+ ld a, [wMenuScrollPosition]
+ add c
+ ld c, a
+ ld a, [wScrollingMenuListSize]
+ inc a
+ cp c
+ jr nc, .skip
+ ld a, [wMenuData2_ScrollingMenuHeight]
+ ld c, a
+ ld a, [wScrollingMenuListSize]
+ inc a
+ sub c
+ jr nc, .store
+ xor a
+
+.store
+ ld [wMenuScrollPosition], a
+
+.skip
+ ld a, [wMenuScrollPosition]
+ ld c, a
+ ld a, [wMenuCursorBuffer]
+ add c
+ ld b, a
+ ld a, [wScrollingMenuListSize]
+ inc a
+ cp b
+ jr c, .asm_2475a
+ jr nc, .asm_24763
+
+.asm_2475a
+ xor a
+ ld [wMenuScrollPosition], a
+ ld a, $1
+ ld [wMenuCursorBuffer], a
+
+.asm_24763
+ ret
+; 24764
+
+ScrollingMenu_InitFlags: ; 24764
+ ld a, [wMenuData2Flags]
+ ld c, a
+ ld a, [wScrollingMenuListSize]
+ ld b, a
+ ld a, [wMenuBorderTopCoord]
+ add 1
+ ld [w2DMenuCursorInitY], a
+ ld a, [wMenuBorderLeftCoord]
+ add 0
+ ld [w2DMenuCursorInitX], a
+ ld a, [wMenuData2_ScrollingMenuHeight]
+ cp b
+ jr c, .no_extra_row
+ jr z, .no_extra_row
+ ld a, b
+ inc a
+.no_extra_row
+ ld [w2DMenuNumRows], a
+ ld a, 1
+ ld [w2DMenuNumCols], a
+ ld a, $8c
+ bit 2, c
+ jr z, .skip_set_0
+ set 0, a
+
+.skip_set_0
+ bit 3, c
+ jr z, .skip_set_1
+ set 1, a
+
+.skip_set_1
+ ld [w2DMenuFlags1], a
+ xor a
+ ld [w2DMenuFlags2], a
+ ld a, $20
+ ld [w2DMenuCursorOffsets], a
+ ld a, A_BUTTON | B_BUTTON | D_UP | D_DOWN
+ bit 7, c
+ jr z, .disallow_select
+ add SELECT
+
+.disallow_select
+ bit 6, c
+ jr z, .disallow_start
+ add START
+
+.disallow_start
+ ld [wMenuJoypadFilter], a
+ ld a, [w2DMenuNumRows]
+ ld b, a
+ ld a, [wMenuCursorBuffer]
+ and a
+ jr z, .reset_cursor
+ cp b
+ jr z, .cursor_okay
+ jr c, .cursor_okay
+
+.reset_cursor
+ ld a, 1
+
+.cursor_okay
+ ld [wMenuCursorY], a
+ ld a, 1
+ ld [wMenuCursorX], a
+ xor a
+ ld [wCursorCurrentTile], a
+ ld [wCursorCurrentTile + 1], a
+ ld [wCursorOffCharacter], a
+ ret
+; 247dd
+
+ScrollingMenu_ValidateSwitchItem: ; 247dd
+ ld a, [wScrollingMenuListSize]
+ ld c, a
+ ld a, [wSwitchItem]
+ and a
+ jr z, .done
+ dec a
+ cp c
+ jr c, .done
+ xor a
+ ld [wSwitchItem], a
+
+.done
+ ret
+; 247f0
+
+ScrollingMenu_UpdateDisplay: ; 247f0
+ call ClearWholeMenuBox
+ ld a, [wMenuData2Flags]
+ bit 4, a ; place arrows
+ jr z, .okay
+ ld a, [wMenuScrollPosition]
+ and a
+ jr z, .okay
+ ld a, [wMenuBorderTopCoord]
+ ld b, a
+ ld a, [wMenuBorderRightCoord]
+ ld c, a
+ call Coord2Tile
+ ld [hl], "▲"
+
+.okay
+ call MenuBoxCoord2Tile
+ ld bc, SCREEN_WIDTH + 1
+ add hl, bc
+ ld a, [wMenuData2_ScrollingMenuHeight]
+ ld b, a
+ ld c, $0
+.loop
+ ld a, [wMenuScrollPosition]
+ add c
+ ld [wScrollingMenuCursorPosition], a
+ ld a, c
+ call ScrollingMenu_GetListItemCoordAndFunctionArgs
+ ld a, [MenuSelection]
+ cp -1
+ jr z, .cancel
+ push bc
+ push hl
+ call ScrollingMenu_CallFunctions1and2
+ pop hl
+ ld bc, 2 * SCREEN_WIDTH
+ add hl, bc
+ pop bc
+ inc c
+ ld a, c
+ cp b
+ jr nz, .loop
+ ld a, [wMenuData2Flags]
+ bit 4, a ; place arrows
+ jr z, .done
+ ld a, [wMenuBorderBottomCoord]
+ ld b, a
+ ld a, [wMenuBorderRightCoord]
+ ld c, a
+ call Coord2Tile
+ ld [hl], "▼"
+
+.done
+ ret
+
+.cancel
+ ld a, [wMenuData2Flags]
+ bit 0, a ; call function on cancel
+ jr nz, .call_function
+ ld de, .string_2485f
+ call PlaceString
+ ret
+
+.string_2485f
+ db "CANCEL@"
+
+.call_function
+ ld d, h
+ ld e, l
+ ld hl, wMenuData2_ScrollingMenuFunction1
+ jp CallPointerAt
+; 2486e
+
+ScrollingMenu_CallFunctions1and2: ; 2486e
+ push hl
+ ld d, h
+ ld e, l
+ ld hl, wMenuData2_ScrollingMenuFunction1
+ call CallPointerAt
+ pop hl
+ ld a, [wMenuData2_ScrollingMenuWidth]
+ and a
+ jr z, .done
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld d, h
+ ld e, l
+ ld hl, wMenuData2_ScrollingMenuFunction2
+ call CallPointerAt
+
+.done
+ ret
+; 2488b
+
+ScrollingMenu_PlaceCursor: ; 2488b
+ ld a, [wSwitchItem]
+ and a
+ jr z, .done
+ ld b, a
+ ld a, [wMenuScrollPosition]
+ cp b
+ jr nc, .done
+ ld c, a
+ ld a, [wMenuData2_ScrollingMenuHeight]
+ add c
+ cp b
+ jr c, .done
+ ld a, b
+ sub c
+ dec a
+ add a
+ add $1
+ ld c, a
+ ld a, [wMenuBorderTopCoord]
+ add c
+ ld b, a
+ ld a, [wMenuBorderLeftCoord]
+ add $0
+ ld c, a
+ call Coord2Tile
+ ld [hl], "▷"
+
+.done
+ ret
+; 248b8
+
+ScrollingMenu_CheckCallFunction3: ; 248b8
+ ld a, [wMenuData2Flags]
+ bit 5, a ; call function 3
+ ret z
+ bit 1, a ; call function 3 if not switching items
+ jr z, .call
+ ld a, [wSwitchItem]
+ and a
+ ret nz
+
+.call
+ ld a, [wMenuCursorY]
+ dec a
+ call ScrollingMenu_GetListItemCoordAndFunctionArgs
+ ld hl, wMenuData2_ScrollingMenuFunction3
+ call CallPointerAt
+ ret
+; 248d5
+
+ScrollingMenu_GetListItemCoordAndFunctionArgs: ; 248d5
+ push de
+ push hl
+ ld e, a
+ ld a, [wMenuScrollPosition]
+ add e
+ ld e, a
+ ld d, $0
+ ld hl, wMenuData2_ItemsPointerAddr
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ inc hl ; items
+ ld a, [wMenuData2_ScrollingMenuSpacing]
+ cp 1
+ jr z, .got_spacing
+ cp 2
+ jr z, .pointless_jump
+.pointless_jump
+ add hl, de
+.got_spacing
+ add hl, de
+ ld a, [wMenuData2_ItemsPointerBank]
+ call GetFarByte
+ ld [MenuSelection], a
+ ld [CurItem], a
+ inc hl
+ ld a, [wMenuData2_ItemsPointerBank]
+ call GetFarByte
+ ld [MenuSelectionQuantity], a
+ pop hl
+ pop de
+ ret
+; 2490c
--- /dev/null
+++ b/engine/search.asm
@@ -1,0 +1,276 @@
+SpecialBeastsCheck: ; 0x4a6e8
+; Check if the player owns all three legendary beasts.
+; They must exist in either party or PC, and have the player's OT and ID.
+; Return the result in ScriptVar.
+
+ ld a, RAIKOU
+ ld [ScriptVar], a
+ call CheckOwnMonAnywhere
+ jr nc, .notexist
+
+ ld a, ENTEI
+ ld [ScriptVar], a
+ call CheckOwnMonAnywhere
+ jr nc, .notexist
+
+ ld a, SUICUNE
+ ld [ScriptVar], a
+ call CheckOwnMonAnywhere
+ jr nc, .notexist
+
+ ; they exist
+ ld a, 1
+ ld [ScriptVar], a
+ ret
+
+.notexist
+ xor a
+ ld [ScriptVar], a
+ ret
+
+
+SpecialMonCheck: ; 0x4a711
+; Check if the player owns any monsters of the species in ScriptVar.
+; Return the result in ScriptVar.
+
+ call CheckOwnMonAnywhere
+ jr c, .exists
+
+ ; doesn't exist
+ xor a
+ ld [ScriptVar], a
+ ret
+
+.exists
+ ld a, 1
+ ld [ScriptVar], a
+ ret
+
+
+CheckOwnMonAnywhere: ; 0x4a721
+; Check if the player owns any monsters of the species in ScriptVar.
+; It must exist in either party or PC, and have the player's OT and ID.
+
+ ; If there are no monsters in the party,
+ ; the player must not own any yet.
+ ld a, [PartyCount]
+ and a
+ ret z
+
+ ld d, a
+ ld e, 0
+ ld hl, PartyMon1Species
+ ld bc, PartyMonOT
+
+ ; Run CheckOwnMon on each Pokémon in the party.
+.partymon
+ call CheckOwnMon
+ ret c ; found!
+
+ push bc
+ ld bc, PARTYMON_STRUCT_LENGTH
+ add hl, bc
+ pop bc
+ call UpdateOTPointer
+ dec d
+ jr nz, .partymon
+
+ ; Run CheckOwnMon on each Pokémon in the PC.
+ ld a, BANK(sBoxCount)
+ call GetSRAMBank
+ ld a, [sBoxCount]
+ and a
+ jr z, .boxes
+
+ ld d, a
+ ld hl, sBoxMon1Species
+ ld bc, sBoxMonOT
+.openboxmon
+ call CheckOwnMon
+ jr nc, .loop
+
+ ; found!
+ call CloseSRAM
+ ret
+
+.loop
+ push bc
+ ld bc, BOXMON_STRUCT_LENGTH
+ add hl, bc
+ pop bc
+ call UpdateOTPointer
+ dec d
+ jr nz, .openboxmon
+
+ ; Run CheckOwnMon on each monster in the other 13 PC boxes.
+.boxes
+ call CloseSRAM
+
+ ld c, 0
+.box
+ ; Don't search the current box again.
+ ld a, [wCurBox]
+ and $f
+ cp c
+ jr z, .loopbox
+
+ ; Load the box.
+ ld hl, BoxAddressTable1
+ ld b, 0
+rept 3
+ add hl, bc
+endr
+ ld a, [hli]
+ call GetSRAMBank
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+
+ ; Number of monsters in the box
+ ld a, [hl]
+ and a
+ jr z, .loopbox
+
+ push bc
+
+ push hl
+ ld de, sBoxMons - sBoxCount
+ add hl, de
+ ld d, h
+ ld e, l
+ pop hl
+ push de
+ ld de, sBoxMonOT - sBoxCount
+ add hl, de
+ ld b, h
+ ld c, l
+ pop hl
+
+ ld d, a
+
+.boxmon
+ call CheckOwnMon
+ jr nc, .loopboxmon
+
+ ; found!
+ pop bc
+ call CloseSRAM
+ ret
+
+.loopboxmon
+ push bc
+ ld bc, BOXMON_STRUCT_LENGTH
+ add hl, bc
+ pop bc
+ call UpdateOTPointer
+ dec d
+ jr nz, .boxmon
+ pop bc
+
+.loopbox
+ inc c
+ ld a, c
+ cp NUM_BOXES
+ jr c, .box
+
+ ; not found
+ call CloseSRAM
+ and a
+ ret
+
+
+CheckOwnMon: ; 0x4a7ba
+; Check if a Pokémon belongs to the player and is of a specific species.
+
+; inputs:
+; hl, pointer to PartyMonNSpecies
+; bc, pointer to PartyMonNOT
+; ScriptVar should contain the species we're looking for
+
+; outputs:
+; sets carry if monster matches species, ID, and OT name.
+
+ push bc
+ push hl
+ push de
+ ld d, b
+ ld e, c
+
+; check species
+ ld a, [ScriptVar] ; species we're looking for
+ ld b, [hl] ; species we have
+ cp b
+ jr nz, .notfound ; species doesn't match
+
+; check ID number
+ ld bc, MON_ID
+ add hl, bc ; now hl points to ID number
+ ld a, [PlayerID]
+ cp [hl]
+ jr nz, .notfound ; ID doesn't match
+ inc hl
+ ld a, [PlayerID + 1]
+ cp [hl]
+ jr nz, .notfound ; ID doesn't match
+
+; check OT
+; This only checks five characters, which is fine for the Japanese version,
+; but in the English version the player name is 7 characters, so this is wrong.
+
+ ld hl, PlayerName
+
+ rept 4
+ ld a, [de]
+ cp [hl]
+ jr nz, .notfound
+ cp "@"
+ jr z, .found ; reached end of string
+ inc hl
+ inc de
+ endr
+
+ ld a, [de]
+ cp [hl]
+ jr z, .found
+
+.notfound
+ pop de
+ pop hl
+ pop bc
+ and a
+ ret
+
+.found
+ pop de
+ pop hl
+ pop bc
+ scf
+ ret
+; 0x4a810
+
+BoxAddressTable1: ; 4a810
+ dba sBox1
+ dba sBox2
+ dba sBox3
+ dba sBox4
+ dba sBox5
+ dba sBox6
+ dba sBox7
+ dba sBox8
+ dba sBox9
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
+; 4a83a
+
+UpdateOTPointer: ; 0x4a83a
+ push hl
+ ld hl, NAME_LENGTH
+ add hl, bc
+ ld b, h
+ ld c, l
+ pop hl
+ ret
+; 0x4a843
--- a/engine/selectmenu.asm
+++ b/engine/selectmenu.asm
@@ -5,12 +5,12 @@
jp UseRegisteredItem
.NotRegistered
- call LoadFont
+ call OpenText
ld b, BANK(ItemMayBeRegisteredText)
ld hl, ItemMayBeRegisteredText
call MapTextbox
- call CloseText
- jp LoadMoveSprites
+ call WaitButton
+ jp CloseText
; 13340
@@ -139,39 +139,39 @@
; 133df
.NoFunction ; 133df
- call LoadFont
+ call OpenText
call CantUseItem
- call LoadMoveSprites
+ call CloseText
and a
ret
; 133ea
.Current ; 133ea
- call LoadFont
+ call OpenText
call DoItemEffect
- call LoadMoveSprites
+ call CloseText
and a
ret
; 133f5
.Party ; 133f5
- call ResetWindow
+ call RefreshScreen
call FadeToMenu
call DoItemEffect
- call ReturnToCallingMenu
- call LoadMoveSprites
+ call CloseSubmenu
+ call CloseText
and a
ret
; 13406
.Overworld ; 13406
- call ResetWindow
+ call RefreshScreen
ld a, 1
- ld [wd0ef], a
+ ld [wUsingItemWithSelect], a
call DoItemEffect
xor a
- ld [wd0ef], a
- ld a, [wd0ec]
+ ld [wUsingItemWithSelect], a
+ ld a, [wItemEffectSucceeded]
cp 1
jr nz, ._cantuse
scf
@@ -181,11 +181,11 @@
; 13422
.CantUse ; 13422
- call ResetWindow
+ call RefreshScreen
._cantuse
call CantUseItem
- call LoadMoveSprites
+ call CloseText
and a
ret
; 1342d
--- a/engine/slot_machine.asm
+++ b/engine/slot_machine.asm
@@ -1,11 +1,20 @@
+SLOTS_NOMATCH EQU -1
+SLOTS_SEVEN EQU $00
+SLOTS_POKEBALL EQU $04
+SLOTS_CHERRY EQU $08
+SLOTS_PIKACHU EQU $0c
+SLOTS_SQUIRTLE EQU $10
+SLOTS_STARYU EQU $14
+REEL_SIZE EQU 15
+
_SlotMachine:
ld hl, Options
set 4, [hl]
- call Function926f7
+ call .InitGFX
call DelayFrame
-.asm_926d2
- call Function927af
- jr nc, .asm_926d2
+.loop
+ call SlotsLoop
+ jr nc, .loop
call WaitSFX
ld de, SFX_QUIT_SLOTS
call PlaySFX
@@ -18,7 +27,7 @@
res 2, [hl]
ret
-Function926f7: ; 926f7 (24:66f7)
+.InitGFX: ; 926f7 (24:66f7)
call ClearBGPalettes
call ClearTileMap
call ClearSprites
@@ -27,132 +36,140 @@
call DelayFrame
call DisableLCD
hlbgcoord 0, 0
- lb bc, 4, 0
+ ld bc, VBGMap1 - VBGMap0
ld a, " "
call ByteFill
- ld b, SCGB_05
+ ld b, SCGB_SLOT_MACHINE
call GetSGBLayout
- callab Function8cf53
- ld hl, wc6d0
- ld bc, $48
+ callab ClearSpriteAnims
+ ld hl, wSlots
+ ld bc, wSlotsDataEnd - wSlots
xor a
call ByteFill
+
ld hl, Slots2LZ
ld de, VTiles0 tile $00
call Decompress
+
ld hl, Slots3LZ
ld de, VTiles0 tile $40
call Decompress
+
ld hl, Slots1LZ
ld de, VTiles2 tile $00
call Decompress
+
ld hl, Slots2LZ
ld de, VTiles2 tile $25
call Decompress
+
ld hl, SlotsTilemap
decoord 0, 0
- ld bc, 20 * 12
+ ld bc, SCREEN_WIDTH * 12
call CopyBytes
+
ld hl, rLCDC ; $ff40
set 2, [hl]
call EnableLCD
- ld hl, wc6d0
- ld bc, $64
+ ld hl, wSlots ; Alias: wTrademons
+ ld bc, wSlotsEnd - wSlots ; Alias: wTrademonsEnd
xor a
call ByteFill
- call Function92a98
- call Function9279b
+ call InitReelTiles
+ call Slots_GetPals
ld a, $7
- ld hl, wc300
+ ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], $40
xor a
ld [wJumptableIndex], a
- ld a, $ff
- ld [wc709], a
+ ld a, SLOTS_NOMATCH
+ ld [wSlotBias], a
ld de, MUSIC_GAME_CORNER
call PlayMusic
xor a
ld [wd002], a
call Random
- and $2a
+ and %00101010
ret nz
ld a, $1
ld [wd002], a
ret
-Function9279b: ; 9279b (24:679b)
- ld a, $e4
+Slots_GetPals: ; 9279b (24:679b)
+ ld a, %11100100
call DmgToCgbBGPals
- lb de, $e4, $e4
+ lb de, %11100100, %11100100
ld a, [hCGB]
and a
- jr nz, .asm_927ab
- lb de, $c0, $e4
-.asm_927ab
+ jr nz, .cgb
+ lb de, %11000000, %11100100
+.cgb
call DmgToCgbObjPals
ret
-Function927af: ; 927af (24:67af)
+SlotsLoop: ; 927af (24:67af)
ld a, [wJumptableIndex]
bit 7, a
- jr nz, .asm_927d1
- call Function92844
- call Function92b0f
+ jr nz, .stop
+ call SlotsJumptable
+ call Slots_SpinReels
xor a
- ld [wc3b5], a
- callab Function8cfa8
- call Function927f8
- call Function927d3
+ ld [wCurrSpriteOAMAddr], a
+ callab DoNextFrameForFirst16Sprites
+ call .PrintCoinsAndPayout
+ call .DummyFunc
call DelayFrame
and a
ret
-.asm_927d1
+
+.stop
scf
ret
-Function927d3: ; 927d3 (24:67d3)
+.DummyFunc: ; 927d3 (24:67d3)
+; dummied out
ret
-; 927d4 (24:67d4)
-
-Function927d4: ; 927d4
- ld a, [wc6d0]
+ ld a, [wReel1ReelAction]
and a
ret nz
- ld a, [wc6e0]
+ ld a, [wReel2ReelAction]
and a
ret nz
- ld a, [wc70c]
+ ld a, [wFirstTwoReelsMatchingSevens]
and a
- jr nz, .asm_927ea
- ld a, $e4
+ jr nz, .matching_sevens
+ ld a, %11100100
call DmgToCgbBGPals
ret
-.asm_927ea
+.matching_sevens
ld a, [TextDelayFrames]
and $7
ret nz
ld a, [rBGP]
- xor %1100
+ xor %00001100
call DmgToCgbBGPals
ret
+
; 927f8
-Function927f8: ; 927f8 (24:67f8)
+.PrintCoinsAndPayout: ; 927f8 (24:67f8)
hlcoord 5, 1
ld de, Coins
lb bc, PRINTNUM_LEADINGZEROS | 2, 4
call PrintNum
hlcoord 11, 1
- ld de, wc711
+ ld de, wPayout
lb bc, PRINTNUM_LEADINGZEROS | 2, 4
call PrintNum
ret
+
; 92811 (24:6811)
Function92811: ; 92811
- ld a, [wc709]
+; unreferenced - debug function?
+ ld a, [wSlotBias]
add 0
daa
ld e, a
@@ -167,17 +184,20 @@
hlcoord 0, 0
ld [hl], a
ret
+
; 9282c
Function9282c: ; 9282c
+; unreferenced
+; animate OAM tiles?
ld hl, wcf66
ld a, [hl]
inc [hl]
and $7
ret nz
- ld hl, Sprites + $42
- ld c, $18
-.asm_92839
+ ld hl, Sprites + 16 * 4 + 2
+ ld c, 40 - 16
+.loop
ld a, [hl]
xor $20
ld [hli], a
@@ -185,186 +205,172 @@
inc hl
endr
dec c
- jr nz, .asm_92839
+ jr nz, .loop
ret
+
; 92844
-Function92844: ; 92844 (24:6844)
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, Jumptable_92853
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 92853 (24:6853)
+SlotsJumptable: ; 92844 (24:6844)
+ jumptable .Jumptable, wJumptableIndex
+.Jumptable
+ dw Slots_Init ; 00
+ dw Slots_BetAndStart ; 01
+ dw Slots_WaitStart ; 02
+ dw Slots_WaitReel1 ; 03
+ dw Slots_WaitStopReel1 ; 04
+ dw Slots_WaitReel2 ; 05
+ dw Slots_WaitStopReel2 ; 06
+ dw Slots_WaitReel3 ; 07
+ dw Slots_WaitStopReel3 ; 08
+ dw Slots_Next ; 09
+ dw Slots_Next ; 0a
+ dw Slots_Next ; 0b
+ dw Slots_FlashIfWin ; 0c
+ dw Slots_FlashScreen ; 0d
+ dw Slots_GiveEarnedCoins ; 0e
+ dw Slots_PayoutTextAndAnim ; 0f
+ dw Slots_PayoutAnim ; 10
+ dw Slots_RestartOrQuit ; 11
+ dw Slots_Quit ; 12
-Jumptable_92853: ; 92853 (24:6853)
- dw Function9287e
- dw Function9288e
- dw Function928c6
- dw Function928d6
- dw Function928e6
- dw Function92900
- dw Function92910
- dw Function9292a
- dw Function9293a
- dw Function92879
- dw Function92879
- dw Function92879
- dw Function92955
- dw Function9296b
- dw Function92987
- dw Function9299e
- dw Function929a4
- dw Function929d9
- dw Function929f0
-
-
-Function92879: ; 92879 (24:6879)
+Slots_Next: ; 92879 (24:6879)
ld hl, wJumptableIndex
inc [hl]
ret
-Function9287e: ; 9287e (24:687e)
- call Function92879
+Slots_Init: ; 9287e (24:687e)
+ call Slots_Next
xor a
- ld [wc70b], a
- ld [wc70c], a
- ld a, $ff
- ld [wc70d], a
+ ld [wFirstTwoReelsMatching], a
+ ld [wFirstTwoReelsMatchingSevens], a
+ ld a, -1
+ ld [wSlotMatched], a
ret
-Function9288e: ; 9288e (24:688e)
- call Function9307c
- jr nc, .asm_92899
- ld a, $12
+Slots_BetAndStart: ; 9288e (24:688e)
+ call Slots_AskBet
+ jr nc, .proceed
+ ld a, 18
ld [wJumptableIndex], a
ret
-.asm_92899
- call Function92879
- call Function9303f
- call Function93002
- ld a, $20
+
+.proceed
+ call Slots_Next
+ call Slots_IlluminateBetLights
+ call Slots_InitBias
+ ld a, 32
ld [wcf64], a
+ ld a, 4
+ ld [wReel1ReelAction], a
+ ld [wReel2ReelAction], a
+ ld [wReel3ReelAction], a
ld a, $4
- ld [wc6d0], a
- ld [wc6e0], a
- ld [wc6f0], a
- ld a, $4
- ld [wc6d9], a
- ld [wc6e9], a
- ld [wc6f9], a
+ ld [wReel1Slot09], a
+ ld [wReel2Slot09], a
+ ld [wReel3Slot09], a
call WaitSFX
ld a, SFX_SLOT_MACHINE_START
- call Function9331e
+ call Slots_PlaySFX
ret
-Function928c6: ; 928c6 (24:68c6)
+Slots_WaitStart: ; 928c6 (24:68c6)
ld hl, wcf64
ld a, [hl]
and a
- jr z, .asm_928cf
+ jr z, .proceed
dec [hl]
ret
-.asm_928cf
- call Function92879
+
+.proceed
+ call Slots_Next
xor a
ld [hJoypadSum], a
ret
-Function928d6: ; 928d6 (24:68d6)
+Slots_WaitReel1: ; 928d6 (24:68d6)
ld hl, hJoypadSum ; $ffa5
ld a, [hl]
and A_BUTTON
ret z
- call Function92879
- call Function92a2b
- ld [wc6d0], a
-
-Function928e6: ; 928e6 (24:68e6)
- ld a, [wc6d0]
+ call Slots_Next
+ call Slots_StopReel1
+ ld [wReel1ReelAction], a
+Slots_WaitStopReel1: ; 928e6 (24:68e6)
+ ld a, [wReel1ReelAction]
cp $0
ret nz
ld a, SFX_STOP_SLOT
- call Function9331e
- ld bc, wc6d0
- ld de, wc700
- call Function929f6
- call Function92879
+ call Slots_PlaySFX
+ ld bc, wReel1
+ ld de, wReel1Stopped
+ call Slots_LoadReelState
+ call Slots_Next
xor a
ld [hJoypadSum], a
-
-Function92900: ; 92900 (24:6900)
+Slots_WaitReel2: ; 92900 (24:6900)
ld hl, hJoypadSum ; $ffa5
ld a, [hl]
and A_BUTTON
ret z
- call Function92879
- call Function92a2e
- ld [wc6e0], a
-
-Function92910: ; 92910 (24:6910)
- ld a, [wc6e0]
+ call Slots_Next
+ call Slots_StopReel2
+ ld [wReel2ReelAction], a
+Slots_WaitStopReel2: ; 92910 (24:6910)
+ ld a, [wReel2ReelAction]
cp $0
ret nz
ld a, SFX_STOP_SLOT
- call Function9331e
- ld bc, wc6e0
- ld de, wc703
- call Function929f6
- call Function92879
+ call Slots_PlaySFX
+ ld bc, wReel2
+ ld de, wReel2Stopped
+ call Slots_LoadReelState
+ call Slots_Next
xor a
ld [hJoypadSum], a
-
-Function9292a: ; 9292a (24:692a)
+Slots_WaitReel3: ; 9292a (24:692a)
ld hl, hJoypadSum ; $ffa5
ld a, [hl]
and A_BUTTON
ret z
- call Function92879
- call Function92a60
- ld [wc6f0], a
-
-Function9293a: ; 9293a (24:693a)
- ld a, [wc6f0]
+ call Slots_Next
+ call Slots_StopReel3
+ ld [wReel3ReelAction], a
+Slots_WaitStopReel3: ; 9293a (24:693a)
+ ld a, [wReel3ReelAction]
cp $0
ret nz
ld a, SFX_STOP_SLOT
- call Function9331e
- ld bc, wc6f0
- ld de, wc706
- call Function929f6
- call Function92879
+ call Slots_PlaySFX
+ ld bc, wReel3
+ ld de, wReel3Stopped
+ call Slots_LoadReelState
+ call Slots_Next
xor a
ld [hJoypadSum], a
ret
-Function92955: ; 92955 (24:6955)
- ld a, [wc70d]
- cp $ff
- jr nz, .asm_92963
- call Function92879
- call Function92879
+Slots_FlashIfWin: ; 92955 (24:6955)
+ ld a, [wSlotMatched]
+ cp -1
+ jr nz, .GotIt
+ call Slots_Next
+ call Slots_Next
ret
-.asm_92963
- call Function92879
- ld a, $10
- ld [wcf64], a
-Function9296b: ; 9296b (24:696b)
+.GotIt
+ call Slots_Next
+ ld a, 16
+ ld [wcf64], a
+Slots_FlashScreen: ; 9296b (24:696b)
ld hl, wcf64
ld a, [hl]
and a
- jr z, .asm_92980
+ jr z, .done
dec [hl]
srl a
ret z
+
ld a, [rOBP0]
xor $ff
ld e, a
@@ -371,38 +377,38 @@
ld d, a
call DmgToCgbObjPals
ret
-.asm_92980
- call Function9279b
- call Function92879
+
+.done
+ call Slots_GetPals
+ call Slots_Next
ret
-Function92987: ; 92987 (24:6987)
+Slots_GiveEarnedCoins: ; 92987 (24:6987)
xor a
- ld [wc70b], a
- ld [wc70c], a
- ld a, $e4
+ ld [wFirstTwoReelsMatching], a
+ ld [wFirstTwoReelsMatchingSevens], a
+ ld a, %11100100
call DmgToCgbBGPals
- call Function93124
+ call SlotGetPayout
xor a
ld [wcf64], a
- call Function92879
+ call Slots_Next
ret
-Function9299e: ; 9299e (24:699e)
- call Function93158
- call Function92879
-
-Function929a4: ; 929a4 (24:69a4)
+Slots_PayoutTextAndAnim: ; 9299e (24:699e)
+ call SlotPayoutText
+ call Slots_Next
+Slots_PayoutAnim: ; 929a4 (24:69a4)
ld hl, wcf64
ld a, [hl]
inc [hl]
and $1
ret z
- ld hl, wc711
+ ld hl, wPayout
ld a, [hli]
ld d, a
or [hl]
- jr z, .asm_929d5
+ jr z, .done
ld e, [hl]
dec de
ld [hl], e
@@ -412,44 +418,46 @@
ld d, [hl]
inc hl
ld e, [hl]
- call Function92a04
- jr c, .asm_929c5
+ call Slot_CheckCoinCaseFull
+ jr c, .okay
inc de
-.asm_929c5
+.okay
ld [hl], e
dec hl
ld [hl], d
ld a, [wcf64]
and $7
- ret z
+ ret z ; ret nz would be more appropriate
ld de, SFX_GET_COIN_FROM_SLOTS
call PlaySFX
ret
-.asm_929d5
- call Function92879
+
+.done
+ call Slots_Next
ret
-Function929d9: ; 929d9 (24:69d9)
- call Function9304c
+Slots_RestartOrQuit: ; 929d9 (24:69d9)
+ call Slots_DeilluminateBetLights
call WaitPressAorB_BlinkCursor
- call Function930e9
- jr c, .asm_929ea
- ld a, $0
+ call Slots_AskPlayAgain
+ jr c, .exit_slots
+ ld a, 0
ld [wJumptableIndex], a
ret
-.asm_929ea
- ld a, $12
+
+.exit_slots
+ ld a, 18
ld [wJumptableIndex], a
ret
-Function929f0: ; 929f0 (24:69f0)
+Slots_Quit: ; 929f0 (24:69f0)
ld hl, wJumptableIndex
set 7, [hl]
ret
-Function929f6: ; 929f6 (24:69f6)
+Slots_LoadReelState: ; 929f6 (24:69f6)
push de
- call Function92a12
+ call Slots_GetCurrentReelState
pop de
ld a, [hli]
ld [de], a
@@ -461,32 +469,33 @@
ld [de], a
ret
-Function92a04: ; 92a04 (24:6a04)
+Slot_CheckCoinCaseFull: ; 92a04 (24:6a04)
ld a, d
cp 9999 / $100
- jr c, .asm_92a10
+ jr c, .not_full
ld a, e
cp 9999 % $100
- jr c, .asm_92a10
+ jr c, .not_full
scf
ret
-.asm_92a10
+
+.not_full
and a
ret
-Function92a12: ; 92a12 (24:6a12)
- ld hl, $3
+Slots_GetCurrentReelState: ; 92a12 (24:6a12)
+ ld hl, wReel1Position - wReel1
add hl, bc
ld a, [hl]
and a
- jr nz, .asm_92a1c
+ jr nz, .okay
ld a, $f
-.asm_92a1c
+.okay
dec a
and $f
ld e, a
ld d, $0
- ld hl, $1
+ ld hl, wReel1TilemapAddr - wReel1
add hl, bc
ld a, [hli]
ld h, [hl]
@@ -494,180 +503,186 @@
add hl, de
ret
-Function92a2b: ; 92a2b (24:6a2b)
+Slots_StopReel1: ; 92a2b (24:6a2b)
ld a, $7
ret
-Function92a2e: ; 92a2e (24:6a2e)
- ld a, [wc70a]
+Slots_StopReel2: ; 92a2e (24:6a2e)
+ ld a, [wSlotBet]
cp $2
- jr c, .asm_92a4e
- ld a, [wc709]
+ jr c, .dont_jump
+ ld a, [wSlotBias]
and a
- jr z, .asm_92a3f
- cp $ff
- jr nz, .asm_92a4e
-.asm_92a3f
- call Function92a51
- jr nz, .asm_92a4e
+ jr z, .skip
+ cp SLOTS_NOMATCH
+ jr nz, .dont_jump
+.skip
+ call .CheckReel1ForASeven
+ jr nz, .dont_jump
call Random
- cp $50
- jr nc, .asm_92a4e
+ cp $50 ; 32%
+ jr nc, .dont_jump
ld a, $a
ret
-.asm_92a4e
+
+.dont_jump
ld a, $8
ret
-Function92a51: ; 92a51 (24:6a51)
- ld a, [wc700]
+.CheckReel1ForASeven: ; 92a51 (24:6a51)
+ ld a, [wReel1Stopped]
and a
ret z
- ld a, [wc701]
+ ld a, [wReel1Stopped + 1]
and a
ret z
- ld a, [wc702]
+ ld a, [wReel1Stopped + 2]
and a
ret
-Function92a60: ; 92a60 (24:6a60)
- ld a, [wc70b]
+Slots_StopReel3: ; 92a60 (24:6a60)
+ ld a, [wFirstTwoReelsMatching]
and a
- jr z, .asm_92a95
- ld a, [wc70c]
+ jr z, .stop
+ ld a, [wFirstTwoReelsMatchingSevens]
and a
- jr z, .asm_92a95
- ld a, [wc709]
+ jr z, .stop
+ ld a, [wSlotBias]
and a
- jr nz, .asm_92a84
+ jr nz, .biased
call Random
cp 180
- jr nc, .asm_92a95
+ jr nc, .stop
cp 120
- jr nc, .asm_92a92
+ jr nc, .slow_advance
cp 60
- jr nc, .asm_92a8f
+ jr nc, .golem
ld a, $15
ret
-.asm_92a84
+
+.biased
call Random
- cp $a0
- jr nc, .asm_92a95
- cp $50
- jr nc, .asm_92a92
-.asm_92a8f
+ cp 160
+ jr nc, .stop
+ cp 80
+ jr nc, .slow_advance
+.golem
ld a, $12
ret
-.asm_92a92
+
+.slow_advance
ld a, $10
ret
-.asm_92a95
+
+.stop
ld a, $9
ret
-Function92a98: ; 92a98 (24:6a98)
- ld bc, wc6d0
- ld hl, $6
+InitReelTiles: ; 92a98 (24:6a98)
+ ld bc, wReel1
+ ld hl, wReel1OAMAddr - wReel1
add hl, bc
- ld de, Sprites + $40
+ ld de, Sprites + 16 * 4
ld [hl], e
inc hl
ld [hl], d
- ld hl, $1
+ ld hl, wReel1TilemapAddr - wReel1
add hl, bc
- ld de, Unknown_93327
+ ld de, Reel1Tilemap
ld [hl], e
inc hl
ld [hl], d
- ld hl, $8
+ ld hl, wReel1XCoord - wReel1
add hl, bc
- ld [hl], $30
- call Function92af9
- ld bc, wc6e0
- ld hl, $6
+ ld [hl], 6 * 8
+ call .OAM
+
+ ld bc, wReel2
+ ld hl, wReel1OAMAddr - wReel1
add hl, bc
- ld de, Sprites + $60
+ ld de, Sprites + 24 * 4
ld [hl], e
inc hl
ld [hl], d
- ld hl, $1
+ ld hl, wReel1TilemapAddr - wReel1
add hl, bc
- ld de, Unknown_93339
+ ld de, Reel2Tilemap
ld [hl], e
inc hl
ld [hl], d
- ld hl, $8
+ ld hl, wReel1XCoord - wReel1
add hl, bc
- ld [hl], $50
- call Function92af9
- ld bc, wc6f0
- ld hl, $6
+ ld [hl], 10 * 8
+ call .OAM
+
+ ld bc, wReel3
+ ld hl, wReel1OAMAddr - wReel1
add hl, bc
- ld de, Sprites + $80
+ ld de, Sprites + 32 * 4
ld [hl], e
inc hl
ld [hl], d
- ld hl, $1
+ ld hl, wReel1TilemapAddr - wReel1
add hl, bc
- ld de, Unknown_9334b
+ ld de, Reel3Tilemap
ld [hl], e
inc hl
ld [hl], d
- ld hl, $8
+ ld hl, wReel1XCoord - wReel1
add hl, bc
- ld [hl], $70
- call Function92af9
+ ld [hl], 14 * 8
+ call .OAM
ret
-Function92af9: ; 92af9 (24:6af9)
- ld hl, 0
+.OAM: ; 92af9 (24:6af9)
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
ld [hl], $0
- ld hl, $3
+ ld hl, wReel1Position - wReel1
add hl, bc
- ld [hl], $e
- ld hl, $4
+ ld [hl], REEL_SIZE - 1
+ ld hl, wReel1SpinDistance - wReel1
add hl, bc
ld [hl], $0
- call Function92b53
+ call UpdateReelPositionAndOAM
ret
-Function92b0f: ; 92b0f (24:6b0f)
- ld bc, wc6d0
- call Function92b22
- ld bc, wc6e0
- call Function92b22
- ld bc, wc6f0
- call Function92b22
+Slots_SpinReels: ; 92b0f (24:6b0f)
+ ld bc, wReel1
+ call .SpinReel
+ ld bc, wReel2
+ call .SpinReel
+ ld bc, wReel3
+ call .SpinReel
ret
-Function92b22: ; 92b22 (24:6b22)
- ld hl, $4
+.SpinReel: ; 92b22 (24:6b22)
+ ld hl, wReel1SpinDistance - wReel1
add hl, bc
ld a, [hl]
and $f
- jr nz, .asm_92b2e
+ jr nz, .skip
call Function92bd4
-.asm_92b2e
- ld hl, $5
+.skip
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld a, [hl]
and a
ret z
ld d, a
- ld hl, $4
+ ld hl, wReel1SpinDistance - wReel1
add hl, bc
add [hl]
ld [hl], a
and $f
- jr z, Function92b53
- ld hl, $6
+ jr z, UpdateReelPositionAndOAM
+ ld hl, wReel1OAMAddr - wReel1
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
ld e, $8
-.asm_92b49
+.loop
ld a, [hl]
add d
ld [hli], a
@@ -675,21 +690,21 @@
inc hl
endr
dec e
- jr nz, .asm_92b49
+ jr nz, .loop
ret
-Function92b53: ; 92b53 (24:6b53)
- ld hl, $8
+UpdateReelPositionAndOAM: ; 92b53 (24:6b53)
+ ld hl, wReel1XCoord - wReel1
add hl, bc
ld a, [hl]
- ld [wc712 + 1], a
- ld a, $50
- ld [wc712 + 2], a
- ld hl, $3
+ ld [wCurrReelXCoord], a
+ ld a, 10 * 8
+ ld [wCurrReelYCoord], a
+ ld hl, wReel1Position - wReel1
add hl, bc
ld e, [hl]
- ld d, $0
- ld hl, $1
+ ld d, 0
+ ld hl, wReel1TilemapAddr - wReel1
add hl, bc
ld a, [hli]
ld h, [hl]
@@ -697,29 +712,29 @@
add hl, de
ld e, l
ld d, h
- call Function92b83
- ld hl, $3
+ call .LoadOAM
+ ld hl, wReel1Position - wReel1
add hl, bc
ld a, [hl]
inc a
and $f
- cp $f
- jr nz, .asm_92b81
+ cp REEL_SIZE
+ jr nz, .load
xor a
-.asm_92b81
+.load
ld [hl], a
ret
-Function92b83: ; 92b83 (24:6b83)
- ld hl, $6
+.LoadOAM: ; 92b83 (24:6b83)
+ ld hl, wReel1OAMAddr - wReel1
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
-.asm_92b8a
- ld a, [wc712 + 2]
+.loop
+ ld a, [wCurrReelYCoord]
ld [hli], a
- ld a, [wc712 + 1]
+ ld a, [wCurrReelXCoord]
ld [hli], a
ld a, [de]
ld [hli], a
@@ -727,15 +742,15 @@
srl a
set 7, a
ld [hli], a
- ld a, [wc712 + 2]
+
+ ld a, [wCurrReelYCoord]
ld [hli], a
- ld a, [wc712 + 1]
- add $8
+ ld a, [wCurrReelXCoord]
+ add 1 * 8
ld [hli], a
ld a, [de]
-rept 2
inc a
-endr
+ inc a
ld [hli], a
srl a
srl a
@@ -742,12 +757,13 @@
set 7, a
ld [hli], a
inc de
- ld a, [wc712 + 2]
- sub $10
- ld [wc712 + 2], a
- cp $10
- jr nz, .asm_92b8a
+ ld a, [wCurrReelYCoord]
+ sub 2 * 8
+ ld [wCurrReelYCoord], a
+ cp 2 * 8
+ jr nz, .loop
ret
+
; 92bbe (24:6bbe)
Function92bbe: ; 92bbe
@@ -762,6 +778,7 @@
ld a, [hl]
pop hl
ret
+
; 92bce
Unknown_92bce: ; 92bce
@@ -769,136 +786,143 @@
; 92bd4
Function92bd4: ; 92bd4 (24:6bd4)
- ld hl, 0
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
ld e, [hl]
ld d, 0
- ld hl, Jumptable_92be4
-rept 2
+ ld hl, .dw
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
+
; 92be4 (24:6be4)
-Jumptable_92be4: ; 92be4
- dw Function92c16
- dw Function92c4c
- dw Function92c17
- dw Function92c1e
- dw Function92c25
- dw Function92c2c
- dw Function92c33
- dw Function92c5e
- dw Function92c86
- dw Function92ca9
- dw Function92cd2
- dw Function92cf8
- dw Function92d13
- dw Function92df7
- dw Function92e10
- dw Function92e31
- dw Function92e47
- dw Function92e64
- dw Function92d20
- dw Function92d4f
- dw Function92d6e
- dw Function92d7e
- dw Function92da4
- dw Function92db3
- dw Function92dca
+.dw: ; 92be4
+
+ dw ReelAction_DoNothing ; 00
+ dw Slots_StopReelIgnoreJoypad ; 01
+ dw ReelAction_QuadrupleRate ; 02
+ dw ReelAction_DoubleRate ; 03
+ dw ReelAction_NormalRate ; 04
+ dw ReelAction_HalfRate ; 05
+ dw ReelAction_QuarterRate ; 06
+ dw ReelAction_StopReel1 ; 07
+ dw ReelAction_StopReel2 ; 08
+ dw ReelAction_StopReel3 ; 09
+ dw ReelAction_SetUpReel2SkipTo7 ; 0a
+ dw ReelAction_WaitReel2SkipTo7 ; 0b
+ dw ReelAction_FastSpinReel2UntilLinedUp7s ; 0c
+ dw ReelAction_BoringReelDrops ; 0d
+ dw ReelAction_CheckDropReel ; 0e
+ dw ReelAction_WaitDropReel ; 0f
+ dw ReelAction_StartSlowAdvanceReel3 ; 10
+ dw ReelAction_WaitSlowAdvanceReel3 ; 11
+ dw ReelAction_InitGolem ; 12
+ dw ReelAction_WaitGolem ; 13
+ dw ReelAction_EndGolem ; 14
+ dw Slots_InitChansey ; 15
+ dw ReelAction_WaitChansey ; 16
+ dw ReelAction_WaitEgg ; 17
+ dw ReelAction_DropReel ; 18
; 92c16
-Function92c16: ; 92c16
+ReelAction_DoNothing: ; 92c16
ret
+
; 92c17
-Function92c17: ; 92c17
- ld hl, $5
+ReelAction_QuadrupleRate: ; 92c17
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $10
ret
+
; 92c1e
-Function92c1e: ; 92c1e
- ld hl, $5
+ReelAction_DoubleRate: ; 92c1e
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $8
ret
+
; 92c25
-Function92c25: ; 92c25
- ld hl, $5
+ReelAction_NormalRate: ; 92c25
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $4
ret
+
; 92c2c
-Function92c2c: ; 92c2c
- ld hl, $5
+ReelAction_HalfRate: ; 92c2c
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $2
ret
+
; 92c33
-Function92c33: ; 92c33
- ld hl, $5
+ReelAction_QuarterRate: ; 92c33
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $1
ret
+
; 92c3a
-Function92c3a: ; 92c3a
- ld hl, $5
+Slots_StopReel: ; 92c3a
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $0
- ld hl, 0
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
ld [hl], $1
- ld hl, $f
+ ld hl, wReel1Slot0f - wReel1
add hl, bc
ld [hl], $3
-
-Function92c4c: ; 92c4c
- ld hl, $f
+Slots_StopReelIgnoreJoypad: ; 92c4c
+ ld hl, wReel1Slot0f - wReel1
add hl, bc
ld a, [hl]
and a
- jr z, .asm_92c56
+ jr z, .EndReel
dec [hl]
ret
-.asm_92c56
- ld hl, 0
+.EndReel
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
ld a, $0
ld [hl], a
ret
+
; 92c5e
-Function92c5e: ; 92c5e
- ld a, [wc709]
- cp $ff
- jr z, .asm_92c72
- ld hl, $9
+ReelAction_StopReel1: ; 92c5e
+ ld a, [wSlotBias]
+ cp SLOTS_NOMATCH
+ jr z, .NoBias
+ ld hl, wReel1Slot09 - wReel1
add hl, bc
ld a, [hl]
and a
- jr z, .asm_92c72
+ jr z, .NoBias
dec [hl]
- call Function92c76
+ call .CheckForBias
ret nz
-
-.asm_92c72
- call Function92c3a
+.NoBias
+ call Slots_StopReel
ret
+
; 92c76
-Function92c76: ; 92c76
- call Function92a12
- ld a, [wc709]
+.CheckForBias: ; 92c76
+ call Slots_GetCurrentReelState
+ ld a, [wSlotBias]
ld e, a
ld a, [hli]
cp e
@@ -909,40 +933,41 @@
ld a, [hl]
cp e
ret
+
; 92c86
-Function92c86: ; 92c86
- call Function92e94
- jr nc, .asm_92c94
- ld a, [wc717]
- ld hl, wc709
+ReelAction_StopReel2: ; 92c86
+ call Slots_CheckMatchedFirstTwoReels
+ jr nc, .nope
+ ld a, [wSlotBuildingMatch]
+ ld hl, wSlotBias
cp [hl]
- jr z, .asm_92ca5
-
-.asm_92c94
- ld a, [wc709]
- cp $ff
- jr z, .asm_92ca5
- ld hl, $9
+ jr z, .NoBias
+.nope
+ ld a, [wSlotBias]
+ cp SLOTS_NOMATCH
+ jr z, .NoBias
+ ld hl, wReel1Slot09 - wReel1
add hl, bc
ld a, [hl]
and a
- jr z, .asm_92ca5
+ jr z, .NoBias
dec [hl]
ret
-.asm_92ca5
- call Function92c3a
+.NoBias
+ call Slots_StopReel
ret
+
; 92ca9
-Function92ca9: ; 92ca9
- call Function92f1d
- jr nc, .asm_92cbd
- ld hl, wc709
+ReelAction_StopReel3: ; 92ca9
+ call Slots_CheckMatchedAllThreeReels
+ jr nc, .NoMatch
+ ld hl, wSlotBias
cp [hl]
- jr z, .asm_92cce
- ld hl, $9
+ jr z, .NoBias
+ ld hl, wReel1Slot09 - wReel1
add hl, bc
ld a, [hl]
and a
@@ -950,49 +975,51 @@
dec [hl]
ret
-.asm_92cbd
- ld a, [wc709]
- cp $ff
- jr z, .asm_92cce
- ld hl, $9
+.NoMatch
+ ld a, [wSlotBias]
+ cp SLOTS_NOMATCH
+ jr z, .NoBias
+ ld hl, wReel1Slot09 - wReel1
add hl, bc
ld a, [hl]
and a
- jr z, .asm_92cce
+ jr z, .NoBias
dec [hl]
ret
-.asm_92cce
- call Function92c3a
+.NoBias
+ call Slots_StopReel
ret
+
; 92cd2
-Function92cd2: ; 92cd2
- call Function92e94
- jr nc, .asm_92ce1
- ld a, [wc70c]
+ReelAction_SetUpReel2SkipTo7: ; 92cd2
+ call Slots_CheckMatchedFirstTwoReels
+ jr nc, .no_match
+ ld a, [wFirstTwoReelsMatchingSevens]
and a
- jr z, .asm_92ce1
- call Function92c3a
+ jr z, .no_match
+ call Slots_StopReel
ret
-.asm_92ce1
+.no_match
ld a, SFX_STOP_SLOT
- call Function9331e
- ld hl, 0
+ call Slots_PlaySFX
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
inc [hl]
- ld hl, $a
+ ld hl, wReel1Slot0a - wReel1
add hl, bc
ld [hl], $20
- ld hl, $5
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $0
ret
+
; 92cf8
-Function92cf8: ; 92cf8
- ld hl, $a
+ReelAction_WaitReel2SkipTo7: ; 92cf8
+ ld hl, wReel1Slot0a - wReel1
add hl, bc
ld a, [hl]
and a
@@ -1002,36 +1029,38 @@
.asm_92d02
ld a, SFX_THROW_BALL
- call Function9331e
- ld hl, 0
+ call Slots_PlaySFX
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
inc [hl]
- ld hl, $5
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $8
ret
+
; 92d13
-Function92d13: ; 92d13
- call Function92e94
+ReelAction_FastSpinReel2UntilLinedUp7s: ; 92d13
+ call Slots_CheckMatchedFirstTwoReels
ret nc
- ld a, [wc70c]
+ ld a, [wFirstTwoReelsMatchingSevens]
and a
ret z
- call Function92c3a
+ call Slots_StopReel
ret
+
; 92d20
-Function92d20: ; 92d20
- call Function92f1d
+ReelAction_InitGolem: ; 92d20
+ call Slots_CheckMatchedAllThreeReels
ret c
ld a, SFX_STOP_SLOT
- call Function9331e
- call Function93316
- ld hl, 0
+ call Slots_PlaySFX
+ call Slots_WaitSFX
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
inc [hl]
- ld hl, $5
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $0
call Function92fc0
@@ -1038,9 +1067,9 @@
push bc
push af
depixel 12, 13
- ld a, SPRITE_ANIM_INDEX_06
+ ld a, SPRITE_ANIM_INDEX_SLOT_GOLEM
call _InitSpriteAnimStruct
- ld hl, $e
+ ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
pop af
ld [hl], a
@@ -1047,444 +1076,459 @@
pop bc
xor a
ld [wcf64], a
-
-Function92d4f: ; 92d4f
+ReelAction_WaitGolem: ; 92d4f
ld a, [wcf64]
- cp $2
- jr z, .asm_92d5b
- cp $1
- jr z, .asm_92d62
+ cp 2
+ jr z, .two
+ cp 1
+ jr z, .one
ret
-.asm_92d5b
- call Function92f1d
- call Function92c3a
+.two
+ call Slots_CheckMatchedAllThreeReels
+ call Slots_StopReel
ret
-.asm_92d62
- ld hl, 0
+.one
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
inc [hl]
- ld hl, $5
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $8
ret
+
; 92d6e
-Function92d6e: ; 92d6e
+ReelAction_EndGolem: ; 92d6e
xor a
ld [wcf64], a
- ld hl, 0
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
dec [hl]
- ld hl, $5
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $0
ret
+
; 92d7e
-Function92d7e: ; 92d7e
- call Function92f1d
+Slots_InitChansey: ; 92d7e
+ call Slots_CheckMatchedAllThreeReels
ret c
ld a, SFX_STOP_SLOT
- call Function9331e
- call Function93316
- ld hl, 0
+ call Slots_PlaySFX
+ call Slots_WaitSFX
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
inc [hl]
- ld hl, $5
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $0
push bc
depixel 12, 0
- ld a, SPRITE_ANIM_INDEX_07
+ ld a, SPRITE_ANIM_INDEX_SLOTS_CHANSEY
call _InitSpriteAnimStruct
pop bc
xor a
ld [wcf64], a
ret
+
; 92da4
-Function92da4: ; 92da4
+ReelAction_WaitChansey: ; 92da4
ld a, [wcf64]
and a
ret z
- ld hl, 0
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
inc [hl]
ld a, $2
ld [wcf64], a
-
-Function92db3: ; 92db3
+ReelAction_WaitEgg: ; 92db3
ld a, [wcf64]
cp $4
ret c
- ld hl, 0
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
inc [hl]
- ld hl, $5
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $10
- ld hl, $a
+ ld hl, wReel1Slot0a - wReel1
add hl, bc
ld [hl], $11
-
-Function92dca: ; 92dca
- ld hl, $a
+ReelAction_DropReel: ; 92dca
+ ld hl, wReel1Slot0a - wReel1
add hl, bc
ld a, [hl]
and a
- jr z, .asm_92dd4
+ jr z, .check_match
dec [hl]
ret
-.asm_92dd4
- call Function92f1d
- jr nc, .asm_92de5
+.check_match
+ call Slots_CheckMatchedAllThreeReels
+ jr nc, .EggAgain
and a
- jr nz, .asm_92de5
+ jr nz, .EggAgain
ld a, $5
ld [wcf64], a
- call Function92c3a
+ call Slots_StopReel
ret
-.asm_92de5
- ld hl, $5
+.EggAgain
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $0
- ld hl, 0
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
-rept 2
dec [hl]
-endr
+ dec [hl]
ld a, $1
ld [wcf64], a
ret
+
; 92df7
-Function92df7: ; 92df7
- call Function92f1d
+ReelAction_BoringReelDrops: ; 92df7
+ call Slots_CheckMatchedAllThreeReels
ret c
ld a, SFX_STOP_SLOT
- call Function9331e
- call Function93316
- ld hl, 0
+ call Slots_PlaySFX
+ call Slots_WaitSFX
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
inc [hl]
call Function92fc0
- ld hl, $a
+ ld hl, wReel1Slot0a - wReel1
add hl, bc
ld [hl], a
-
-Function92e10: ; 92e10
- ld hl, $a
+ReelAction_CheckDropReel: ; 92e10
+ ld hl, wReel1Slot0a - wReel1
add hl, bc
ld a, [hl]
and a
- jr nz, .asm_92e1f
- call Function92f1d
- call Function92c3a
+ jr nz, .spin
+ call Slots_CheckMatchedAllThreeReels
+ call Slots_StopReel
ret
-.asm_92e1f
+.spin
dec [hl]
- ld hl, 0
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
inc [hl]
- ld hl, $b
+ ld hl, wReel1Slot0b - wReel1
add hl, bc
ld [hl], $20
- ld hl, $5
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $0
-
-Function92e31: ; 92e31
- ld hl, $b
+ReelAction_WaitDropReel: ; 92e31
+ ld hl, wReel1Slot0b - wReel1
add hl, bc
ld a, [hl]
and a
- jr z, .asm_92e3b
+ jr z, .DropReel
dec [hl]
ret
-.asm_92e3b
- ld hl, 0
+.DropReel
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
dec [hl]
- ld hl, $5
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
- ld [hl], $8
+ ld [hl], $8 ; 2x
ret
+
; 92e47
-Function92e47: ; 92e47
- call Function92f1d
+ReelAction_StartSlowAdvanceReel3: ; 92e47
+ call Slots_CheckMatchedAllThreeReels
ret c
ld a, SFX_STOP_SLOT
- call Function9331e
- call Function93316
- ld hl, $5
+ call Slots_PlaySFX
+ call Slots_WaitSFX
+ ld hl, wReel1SpinRate - wReel1
add hl, bc
ld [hl], $1
- ld hl, 0
+ ld hl, wReel1ReelAction - wReel1
add hl, bc
inc [hl]
- ld hl, $a
+ ld hl, wReel1Slot0a - wReel1
add hl, bc
ld [hl], $10
-
-Function92e64: ; 92e64
- ld hl, $a
+ReelAction_WaitSlowAdvanceReel3: ; 92e64
+ ld hl, wReel1Slot0a - wReel1
add hl, bc
ld a, [hl]
and a
- jr z, .asm_92e73
+ jr z, .check1
dec [hl]
-.asm_92e6d
+.play_sfx
ld a, SFX_GOT_SAFARI_BALLS
- call Function9331e
+ call Slots_PlaySFX
ret
-.asm_92e73
- ld a, [wc709]
+.check1
+ ld a, [wSlotBias]
and a
- jr nz, .asm_92e88
- call Function92f1d
- jr nc, .asm_92e6d
+ jr nz, .check2
+ call Slots_CheckMatchedAllThreeReels
+ jr nc, .play_sfx
and a
- jr nz, .asm_92e6d
- call Function92c3a
+ jr nz, .play_sfx
+ call Slots_StopReel
call WaitSFX
ret
-.asm_92e88
- call Function92f1d
- jr c, .asm_92e6d
- call Function92c3a
+.check2
+ call Slots_CheckMatchedAllThreeReels
+ jr c, .play_sfx
+ call Slots_StopReel
call WaitSFX
ret
+
; 92e94
-Function92e94: ; 92e94
+Slots_CheckMatchedFirstTwoReels: ; 92e94
xor a
- ld [wc70b], a
- ld [wc70c], a
- call Function92a12
- call Function92fb4
- ld a, [wc70a]
+ ld [wFirstTwoReelsMatching], a
+ ld [wFirstTwoReelsMatchingSevens], a
+ call Slots_GetCurrentReelState
+ call Slots_CopyReelState
+ ld a, [wSlotBet]
and 3
ld e, a
ld d, 0
- ld hl, Jumptable_92ebd
-rept 2
+ ld hl, .Jumptable
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, .asm_92eb6
+ ld de, .return
push de
jp [hl]
-.asm_92eb6
- ld a, [wc70b]
+.return
+ ld a, [wFirstTwoReelsMatching]
and a
ret z
scf
ret
+
; 92ebd
-Jumptable_92ebd: ; 92ebd
- dw Function92ed4
- dw Function92ed1
- dw Function92ecb
- dw Function92ec5
+.Jumptable: ; 92ebd
+
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
; 92ec5
-Function92ec5: ; 92ec5
- call Function92ee0
- call Function92ef6
+.three: ; 92ec5
+ call .CheckUpwardsDiag
+ call .CheckDownwardsDiag
-Function92ecb: ; 92ecb
- call Function92ed5
- call Function92f01
+.two: ; 92ecb
+ call .CheckBottomRow
+ call .CheckTopRow
-Function92ed1: ; 92ed1
- call Function92eeb
+.one: ; 92ed1
+ call .CheckMiddleRow
-Function92ed4: ; 92ed4
+.zero: ; 92ed4
ret
+
; 92ed5
-Function92ed5: ; 92ed5
- ld hl, wc70e
- ld a, [EnemyScreens]
+.CheckBottomRow: ; 92ed5
+ ld hl, wCurrReelStopped
+ ld a, [wReel1Stopped]
cp [hl]
- call z, Function92f0c
+ call z, .StoreResult
ret
+
; 92ee0
-Function92ee0: ; 92ee0
- ld hl, wEnemyGoesFirst
- ld a, [wc700]
+.CheckUpwardsDiag: ; 92ee0
+ ld hl, wCurrReelStopped + 1
+ ld a, [wReel1Stopped]
cp [hl]
- call z, Function92f0c
+ call z, .StoreResult
ret
+
; 92eeb
-Function92eeb: ; 92eeb
- ld hl, wEnemyGoesFirst
- ld a, [wc701]
+.CheckMiddleRow: ; 92eeb
+ ld hl, wCurrReelStopped + 1
+ ld a, [wReel1Stopped + 1]
cp [hl]
- call z, Function92f0c
+ call z, .StoreResult
ret
+
; 92ef6
-Function92ef6: ; 92ef6
- ld hl, wEnemyGoesFirst
- ld a, [wc702]
+.CheckDownwardsDiag: ; 92ef6
+ ld hl, wCurrReelStopped + 1
+ ld a, [wReel1Stopped + 2]
cp [hl]
- call z, Function92f0c
+ call z, .StoreResult
ret
+
; 92f01
-Function92f01: ; 92f01
- ld hl, wc710
- ld a, [wc702]
+.CheckTopRow: ; 92f01
+ ld hl, wCurrReelStopped + 2
+ ld a, [wReel1Stopped + 2]
cp [hl]
- call z, Function92f0c
+ call z, .StoreResult
ret
+
; 92f0c
-Function92f0c: ; 92f0c
- ld [wc717], a
+.StoreResult: ; 92f0c
+ ld [wSlotBuildingMatch], a
and a
- jr nz, .asm_92f17
+ jr nz, .matching_sevens
ld a, $1
- ld [wc70c], a
+ ld [wFirstTwoReelsMatchingSevens], a
-.asm_92f17
+.matching_sevens
ld a, $1
- ld [wc70b], a
+ ld [wFirstTwoReelsMatching], a
ret
+
; 92f1d
-Function92f1d: ; 92f1d
+Slots_CheckMatchedAllThreeReels: ; 92f1d
ld a, $ff
- ld [EffectFailed], a
- call Function92a12
- call Function92fb4
- ld a, [wc70a]
+ ld [wSlotMatched], a
+ call Slots_GetCurrentReelState
+ call Slots_CopyReelState
+ ld a, [wSlotBet]
and 3
ld e, a
ld d, 0
- ld hl, Jumptable_92f48
-rept 2
+ ld hl, .Jumptable
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, .asm_92f3d
+ ld de, .return
push de
jp [hl]
-.asm_92f3d
- ld a, [wc70d]
+.return
+ ld a, [wSlotMatched]
cp $ff
- jr nz, .asm_92f46
+ jr nz, .matched_nontrivial
and a
ret
-.asm_92f46
+.matched_nontrivial
scf
ret
+
; 92f48
-Jumptable_92f48: ; 92f48
- dw Function92f5f
- dw Function92f5c
- dw Function92f56
- dw Function92f50
+.Jumptable: ; 92f48
+
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
; 92f50
-Function92f50: ; 92f50
- call Function92f70
- call Function92f90
+.three: ; 92f50
+ call .CheckUpwardsDiag
+ call .CheckDownwardsDiag
-Function92f56: ; 92f56
- call Function92f60
- call Function92fa0
+.two: ; 92f56
+ call .CheckBottomRow
+ call .CheckTopRow
-Function92f5c: ; 92f5c
- call Function92f80
+.one: ; 92f5c
+ call .CheckMiddleRow
-Function92f5f: ; 92f5f
+.zero: ; 92f5f
ret
+
; 92f60
-Function92f60: ; 92f60
- ld hl, wc70e
- ld a, [wc700]
+.CheckBottomRow: ; 92f60
+ ld hl, wCurrReelStopped
+ ld a, [wReel1Stopped]
cp [hl]
ret nz
- ld hl, wc703
+ ld hl, wReel2Stopped
cp [hl]
- call z, Function92fb0
+ call z, .StoreResult
ret
+
; 92f70
-Function92f70: ; 92f70
- ld hl, wc710
- ld a, [wc700]
+.CheckUpwardsDiag: ; 92f70
+ ld hl, wCurrReelStopped + 2
+ ld a, [wReel1Stopped]
cp [hl]
ret nz
- ld hl, wc704
+ ld hl, wReel2Stopped + 1
cp [hl]
- call z, Function92fb0
+ call z, .StoreResult
ret
+
; 92f80
-Function92f80: ; 92f80
- ld hl, wEnemyGoesFirst
- ld a, [wc701]
+.CheckMiddleRow: ; 92f80
+ ld hl, wCurrReelStopped + 1
+ ld a, [wReel1Stopped + 1]
cp [hl]
ret nz
- ld hl, wc704
+ ld hl, wReel2Stopped + 1
cp [hl]
- call z, Function92fb0
+ call z, .StoreResult
ret
+
; 92f90
-Function92f90: ; 92f90
- ld hl, wc70e
- ld a, [wc702]
+.CheckDownwardsDiag: ; 92f90
+ ld hl, wCurrReelStopped
+ ld a, [wReel1Stopped + 2]
cp [hl]
ret nz
- ld hl, wc704
+ ld hl, wReel2Stopped + 1
cp [hl]
- call z, Function92fb0
+ call z, .StoreResult
ret
+
; 92fa0
-Function92fa0: ; 92fa0
- ld hl, wc710
- ld a, [wc702]
+.CheckTopRow: ; 92fa0
+ ld hl, wCurrReelStopped + 2
+ ld a, [wReel1Stopped + 2]
cp [hl]
ret nz
- ld hl, wc705
+ ld hl, wReel2Stopped + 2
cp [hl]
- call z, Function92fb0
+ call z, .StoreResult
ret
+
; 92fb0
-Function92fb0: ; 92fb0
- ld [wc70d], a
+.StoreResult: ; 92fb0
+ ld [wSlotMatched], a
ret
+
; 92fb4
-Function92fb4: ; 92fb4
- ld de, wc70e
+Slots_CopyReelState: ; 92fb4
+ ld de, wCurrReelStopped
ld a, [hli]
ld [de], a
inc de
@@ -1494,211 +1538,219 @@
ld a, [hl]
ld [de], a
ret
+
; 92fc0
Function92fc0: ; 92fc0
- ld hl, $3
+ ld hl, wReel1Position - wReel1
add hl, bc
ld a, [hl]
push af
push hl
- call Function92fcf
+ call .Check7Bias
pop hl
pop af
ld [hl], a
ld a, e
ret
+
; 92fcf
-Function92fcf: ; 92fcf
- ld a, [wc709]
+.Check7Bias: ; 92fcf
+ ld a, [wSlotBias]
and a
- jr nz, .asm_92fe8
+ jr nz, .not_biased_to_seven
ld e, $0
-.asm_92fd7
- ld hl, $3
+.loop1
+ ld hl, wReel1Position - wReel1
add hl, bc
inc [hl]
inc e
push de
- call Function92f1d
+ call Slots_CheckMatchedAllThreeReels
pop de
- jr nc, .asm_92fd7
+ jr nc, .loop1
and a
- jr nz, .asm_92fd7
+ jr nz, .loop1
ret
-.asm_92fe8
+.not_biased_to_seven
call Random
and $7
- cp $4
- jr c, .asm_92fe8
+ cp $4 ; ((50 percent) & 7) + 1
+ jr c, .not_biased_to_seven
ld e, a
-.asm_92ff2
+.loop2
ld a, e
inc e
- ld hl, $3
+ ld hl, wReel1Position - wReel1
add hl, bc
add [hl]
ld [hl], a
push de
- call Function92f1d
+ call Slots_CheckMatchedAllThreeReels
pop de
- jr c, .asm_92ff2
+ jr c, .loop2
ret
+
; 93002
-Function93002: ; 93002 (24:7002)
- ld a, [wc709]
+Slots_InitBias: ; 93002 (24:7002)
+ ld a, [wSlotBias]
and a
ret z
- ld hl, Unknown_93023
+ ld hl, .Normal
ld a, [ScriptVar]
and a
- jr z, .asm_93013
- ld hl, Unknown_93031
-.asm_93013
+ jr z, .okay
+ ld hl, .Lucky
+.okay
call Random
ld c, a
-.asm_93017
+.loop
ld a, [hli]
cp c
- jr nc, .asm_9301e
+ jr nc, .done
inc hl
- jr .asm_93017
-.asm_9301e
+ jr .loop
+
+.done
ld a, [hl]
- ld [wc709], a
+ ld [wSlotBias], a
ret
+
; 93023 (24:7023)
-Unknown_93023: ; 93023
- db $01, $00
- db $03, $04
- db $0a, $14
- db $14, $10
- db $28, $0c
- db $30, $08
- db $ff, $ff
+.Normal: ; 93023
+ db $01, SLOTS_SEVEN ; 1/256
+ db $03, SLOTS_POKEBALL ; 1/128
+ db $0a, SLOTS_STARYU ; 7/256
+ db $14, SLOTS_SQUIRTLE ; 5/128
+ db $28, SLOTS_PIKACHU ; 5/64
+ db $30, SLOTS_CHERRY ; 1/32
+ db $ff, SLOTS_NOMATCH ; everything else
; 93031
-Unknown_93031: ; 93031
- db $02, $00
- db $03, $04
- db $08, $14
- db $10, $10
- db $1e, $0c
- db $50, $08
- db $ff, $ff
+.Lucky: ; 93031
+ db $02, SLOTS_SEVEN ; 1/128
+ db $03, SLOTS_POKEBALL ; 1/256
+ db $08, SLOTS_STARYU ; 5/256
+ db $10, SLOTS_SQUIRTLE ; 1/32
+ db $1e, SLOTS_PIKACHU ; 7/128
+ db $50, SLOTS_CHERRY ; 25/128
+ db $ff, SLOTS_NOMATCH ; everything else
; 9303f
-Function9303f: ; 9303f (24:703f)
- ld b, $14
- ld a, [wc70a]
+Slots_IlluminateBetLights: ; 9303f (24:703f)
+ ld b, $14 ; turned on
+ ld a, [wSlotBet]
dec a
- jr z, asm_93066
+ jr z, Slots_Lights1OnOff
dec a
- jr z, asm_9305a
- jr asm_9304e
+ jr z, Slots_Lights2OnOff
+ jr Slots_Lights3OnOff
-Function9304c: ; 9304c (24:704c)
- ld b, $23
-asm_9304e: ; 9304e (24:704e)
+Slots_DeilluminateBetLights: ; 9304c (24:704c)
+ ld b, $23 ; turned off
+Slots_Lights3OnOff: ; 9304e (24:704e)
hlcoord 3, 2
- call Function93069
+ call Slots_TurnLightsOnOrOff
hlcoord 3, 10
- call Function93069
-asm_9305a: ; 9305a (24:705a)
+ call Slots_TurnLightsOnOrOff
+Slots_Lights2OnOff: ; 9305a (24:705a)
hlcoord 3, 4
- call Function93069
+ call Slots_TurnLightsOnOrOff
hlcoord 3, 8
- call Function93069
-asm_93066: ; 93066 (24:7066)
+ call Slots_TurnLightsOnOrOff
+Slots_Lights1OnOff: ; 93066 (24:7066)
hlcoord 3, 6
-Function93069: ; 93069 (24:7069)
+Slots_TurnLightsOnOrOff: ; 93069 (24:7069)
ld a, b
ld [hl], a
- ld de, $d
+ ld de, SCREEN_WIDTH / 2 + 3
add hl, de
ld [hl], a
- ld de, $7
+ ld de, SCREEN_WIDTH / 2 - 3
add hl, de
inc a
ld [hl], a
- ld de, $d
+ ld de, SCREEN_WIDTH / 2 + 3
add hl, de
ld [hl], a
ret
-Function9307c: ; 9307c (24:707c)
- ld hl, UnknownText_0x930c7
+Slots_AskBet: ; 9307c (24:707c)
+.loop
+ ld hl, .Text_BetHowManyCoins
call PrintText
- ld hl, MenuDataHeader_0x930d6
+ ld hl, .MenuDataHeader
call LoadMenuDataHeader
- call InterpretMenu2
- call WriteBackup
+ call VerticalMenu
+ call CloseWindow
ret c
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld b, a
- ld a, $4
+ ld a, 4
sub b
- ld [wc70a], a
+ ld [wSlotBet], a
ld hl, Coins
ld c, a
ld a, [hli]
and a
- jr nz, .asm_930ad
+ jr nz, .Start
ld a, [hl]
cp c
- jr nc, .asm_930ad
- ld hl, UnknownText_0x930d1
+ jr nc, .Start
+ ld hl, .Text_NotEnoughCoins
call PrintText
- jr Function9307c
-.asm_930ad
+ jr .loop
+
+.Start
ld hl, Coins + 1
ld a, [hl]
sub c
ld [hld], a
- jr nc, .asm_930b6
+ jr nc, .ok
dec [hl]
-.asm_930b6
+.ok
call WaitSFX
ld de, SFX_PAY_DAY
call PlaySFX
- ld hl, UnknownText_0x930cc
+ ld hl, .Text_Start
call PrintText
and a
ret
+
; 930c7 (24:70c7)
-UnknownText_0x930c7: ; 0x930c7
+.Text_BetHowManyCoins: ; 0x930c7
; Bet how many coins?
text_jump UnknownText_0x1c5049
db "@"
; 0x930cc
-UnknownText_0x930cc: ; 0x930cc
+.Text_Start: ; 0x930cc
; Start!
text_jump UnknownText_0x1c505e
db "@"
; 0x930d1
-UnknownText_0x930d1: ; 0x930d1
+.Text_NotEnoughCoins: ; 0x930d1
; Not enough coins.
text_jump UnknownText_0x1c5066
db "@"
; 0x930d6
-MenuDataHeader_0x930d6: ; 0x930d6
+.MenuDataHeader: ; 0x930d6
db $40 ; flags
db 10, 14 ; start coords
db 17, 19 ; end coords
- dw MenuData2_0x930de
+ dw .MenuData2
db 1 ; default option
; 0x930de
-MenuData2_0x930de: ; 0x930de
+.MenuData2: ; 0x930de
db $80 ; flags
db 3 ; items
db " 3@"
@@ -1706,128 +1758,125 @@
db " 1@"
; 0x930e9
-Function930e9: ; 930e9 (24:70e9)
+Slots_AskPlayAgain: ; 930e9 (24:70e9)
ld hl, Coins
ld a, [hli]
or [hl]
- jr nz, .asm_930fd
- ld hl, UnknownText_9311a
+ jr nz, .you_have_coins
+ ld hl, .Text_OutOfCoins
call PrintText
ld c, 60
call DelayFrames
- jr .asm_93118
-.asm_930fd
- ld hl, UnknownText_9311f
+ jr .exit_slots
+
+.you_have_coins
+ ld hl, .Text_PlayAgain
call PrintText
call LoadMenuTextBox
lb bc, 14, 12
call PlaceYesNoBox
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
- call WriteBackup
+ call CloseWindow
and a
- jr nz, .asm_93118
+ jr nz, .exit_slots
and a
ret
-.asm_93118
+
+.exit_slots
scf
ret
+
; 9311a (24:711a)
-UnknownText_9311a: ; 9311a
+.Text_OutOfCoins: ; 9311a
text_jump UnknownText_0x1c5079
db "@"
-UnknownText_9311f: ; 9311f
+.Text_PlayAgain: ; 9311f
text_jump UnknownText_0x1c5092
db "@"
-Function93124: ; 93124 (24:7124)
- ld a, [EffectFailed]
- cp $ff
- jr z, .asm_93151
+SlotGetPayout: ; 93124 (24:7124)
+ ld a, [wSlotMatched]
+ cp -1
+ jr z, .no_win
srl a
ld e, a
ld d, 0
- ld hl, .data_93145
+ ld hl, .PayoutTable
add hl, de
ld a, [hli]
- ld [PlayerUsedMoves], a
+ ld [wPayout + 1], a
ld e, a
ld a, [hl]
- ld [wc711], a
+ ld [wPayout], a
ld d, a
callba MobileFn_105fe3
ret
-.data_93145
- db $2c, $01
- db $32, $00
- db $06, $00
- db $08, $00
- db $0a, $00
- db $0f, $00
+.PayoutTable
+ dw 300
+ dw 50
+ dw 6
+ dw 8
+ dw 10
+ dw 15
-.asm_93151
- ld hl, wc711
+.no_win
+ ld hl, wPayout
xor a
ld [hli], a
ld [hl], a
ret
-Function93158: ; 93158 (24:7158)
- ld a, [EffectFailed]
- cp $ff
- jr nz, .asm_9316c
- ld hl, UnknownText_0x931e0
+SlotPayoutText: ; 93158 (24:7158)
+ ld a, [wSlotMatched]
+ cp -1
+ jr nz, .MatchedSomething
+ ld hl, .Text_Darn
call PrintText
callba MobileFn_105fd0
ret
-.asm_9316c
+
+.MatchedSomething
srl a
ld e, a
ld d, 0
- ld hl, Unknown_93195
+ ld hl, .PayoutStrings
rept 3
add hl, de
endr
ld de, StringBuffer2
- ld bc, $4
+ ld bc, 4
call CopyBytes
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, .asm_93188
+ ld de, .return
push de
jp [hl]
-.asm_93188
- ld hl, UnknownText_0x931b9
+
+.return
+ ld hl, .Text_PrintPayout
call PrintText
callba MobileFn_105f9f
ret
+
; 93195 (24:7195)
-Unknown_93195: ; 93195
- db "300@"
- dw Function931e5
- db "50@@"
- dw Function9320b
- db "6@@@"
- dw Function93214
- db "8@@@"
- dw Function93214
- db "10@@"
- dw Function93214
- db "15@@"
- dw Function93214
+.PayoutStrings: ; 93195
+ dbw "300@", .LinedUpSevens
+ dbw "50@@", .LinedUpPokeballs
+ dbw "6@@@", .LinedUpMonOrCherry
+ dbw "8@@@", .LinedUpMonOrCherry
+ dbw "10@@", .LinedUpMonOrCherry
+ dbw "15@@", .LinedUpMonOrCherry
; 931b9
-UnknownText_0x931b9: ; 0x931b9
+.Text_PrintPayout: ; 0x931b9
start_asm
-; 0x931ba
-
-Function931ba: ; 931ba
- ld a, [EffectFailed]
+ ld a, [wSlotMatched]
add $25
ldcoord_a 2, 13
inc a
@@ -1837,29 +1886,30 @@
inc a
ldcoord_a 3, 14
hlcoord 18, 17
- ld [hl], $ee
- ld hl, UnknownText_0x931db
+ ld [hl], "▼"
+ ld hl, .Text_LinedUpWonCoins
rept 4
inc bc
endr
ret
+
; 931db
-UnknownText_0x931db: ; 0x931db
+.Text_LinedUpWonCoins: ; 0x931db
; lined up! Won @ coins!
text_jump UnknownText_0x1c509f
db "@"
; 0x931e0
-UnknownText_0x931e0: ; 0x931e0
+.Text_Darn: ; 0x931e0
; Darn!
text_jump UnknownText_0x1c50bb
db "@"
; 0x931e5
-Function931e5: ; 931e5
+.LinedUpSevens: ; 931e5
ld a, SFX_2ND_PLACE
- call Function9331e
+ call Slots_PlaySFX
call WaitSFX
ld a, [wd002]
and a
@@ -1868,7 +1918,7 @@
and $14
ret z
ld a, $ff
- ld [wc709], a
+ ld [wSlotBias], a
ret
.asm_931ff
@@ -1876,108 +1926,112 @@
and $1c
ret z
ld a, $ff
- ld [wc709], a
+ ld [wSlotBias], a
ret
+
; 9320b
-Function9320b: ; 9320b
+.LinedUpPokeballs: ; 9320b
ld a, SFX_3RD_PLACE
- call Function9331e
+ call Slots_PlaySFX
call WaitSFX
ret
+
; 93214
-Function93214: ; 93214
+.LinedUpMonOrCherry: ; 93214
ld a, SFX_PRESENT
- call Function9331e
+ call Slots_PlaySFX
call WaitSFX
ret
+
; 9321d
-Function9321d: ; 9321d (24:721d)
- ld hl, $b
+SlotMachine_AnimateGolem: ; 9321d (24:721d)
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
ld e, [hl]
ld d, 0
- ld hl, Jumptable_9322d
-rept 2
+ ld hl, .Jumptable
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
-Jumptable_9322d: ; 9322d (24:722d)
- dw Function93233
- dw Function93259
- dw Function93289
+.Jumptable: ; 9322d (24:722d)
+
+ dw .init
+ dw .fall
+ dw .roll
-Function93233: ; 93233 (24:7233)
- ld hl, $e
+.init: ; 93233 (24:7233)
+ ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
ld a, [hl]
and a
- jr nz, .asm_93247
+ jr nz, .retain
ld a, $2
ld [wcf64], a
- ld hl, 0
+ ld hl, SPRITEANIMSTRUCT_INDEX
add hl, bc
ld [hl], $0
ret
-.asm_93247
+
+.retain
dec [hl]
- ld hl, $b
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
inc [hl]
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], $30
- ld hl, $6
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld [hl], $0
-Function93259: ; 93259 (24:7259)
- ld hl, $c
+.fall: ; 93259 (24:7259)
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
cp $20
- jr c, .asm_93273
+ jr c, .play_sound
dec [hl]
ld e, a
- ld d, $70
- callba Functionce765
+ ld d, 14 * 8
+ callba BattleAnim_Sine_e
ld a, e
- ld hl, $7
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], a
ret
-.asm_93273
- ld hl, $b
+
+.play_sound
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
inc [hl]
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld [hl], $2
ld a, $1
ld [wcf64], a
ld a, SFX_PLACE_PUZZLE_PIECE_DOWN
- call Function9331e
+ call Slots_PlaySFX
ret
-Function93289: ; 93289 (24:7289)
- ld hl, $6
+.roll: ; 93289 (24:7289)
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld a, [hl]
-rept 2
inc [hl]
-endr
- cp $48
- jr nc, .asm_932a3
+ inc [hl]
+ cp 9 * 8
+ jr nc, .restart
and $3
ret nz
- ld hl, $d
+ ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
xor $ff
@@ -1985,8 +2039,9 @@
ld [hl], a
ld [hSCY], a
ret
-.asm_932a3
- ld hl, $b
+
+.restart
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
xor a
ld [hl], a
@@ -1993,92 +2048,96 @@
ld [hSCY], a
ret
-Function932ac: ; 932ac (24:72ac)
- ld hl, $b
+Slots_AnimateChansey: ; 932ac (24:72ac)
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
ld e, [hl]
ld d, 0
- ld hl, Jumptable_932bc
-rept 2
+ ld hl, .Jumptable
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
-Jumptable_932bc: ; 932bc (24:72bc)
- dw Function932c2
- dw Function932e0
- dw Function932fc
+.Jumptable: ; 932bc (24:72bc)
+
+ dw .walk
+ dw .one
+ dw .two
-Function932c2: ; 932c2 (24:72c2)
- ld hl, $4
+.walk: ; 932c2 (24:72c2)
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
inc [hl]
- cp $68
- jr z, .asm_932d6
+ cp 13 * 8
+ jr z, .limit
and $f
ret nz
ld de, SFX_JUMP_OVER_LEDGE
call PlaySFX
ret
-.asm_932d6
- ld hl, $b
+
+.limit
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
inc [hl]
ld a, $1
ld [wcf64], a
-Function932e0: ; 932e0 (24:72e0)
+.one: ; 932e0 (24:72e0)
ld a, [wcf64]
cp $2
- jr z, .asm_932f1
+ jr z, .retain
cp $5
ret nz
- ld hl, 0
+ ld hl, SPRITEANIMSTRUCT_INDEX
add hl, bc
ld [hl], $0
ret
-.asm_932f1
- ld hl, $b
+
+.retain
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
inc [hl]
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], $8
-
-Function932fc: ; 932fc (24:72fc)
- ld hl, $c
+.two: ; 932fc (24:72fc)
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
and a
- jr z, .asm_93306
+ jr z, .spawn_egg
dec [hl]
ret
-.asm_93306
- ld hl, $b
+
+.spawn_egg
+ ld hl, SPRITEANIMSTRUCT_0B
add hl, bc
dec [hl]
push bc
depixel 12, 13, 0, 4
- ld a, SPRITE_ANIM_INDEX_08
+ ld a, SPRITE_ANIM_INDEX_SLOTS_EGG
call _InitSpriteAnimStruct
pop bc
ret
+
; 93316 (24:7316)
-Function93316: ; 93316
+Slots_WaitSFX: ; 93316
push bc
ld c, 16
call DelayFrames
pop bc
ret
+
; 9331e
-Function9331e: ; 9331e (24:731e)
+Slots_PlaySFX: ; 9331e (24:731e)
push de
ld e, a
ld d, 0
@@ -2085,14 +2144,70 @@
call PlaySFX
pop de
ret
+
; 93327 (24:7327)
-Unknown_93327: ; 93327
- db $00, $08, $14, $0c, $10, $00, $08, $14, $0c, $10, $04, $08, $14, $0c, $10, $00, $08, $14
-Unknown_93339: ; 93339
- db $00, $0c, $08, $10, $14, $04, $0c, $08, $10, $14, $04, $0c, $08, $10, $14, $00, $0c, $08
-Unknown_9334b: ; 9334b
- db $00, $0c, $08, $10, $14, $0c, $08, $10, $14, $0c, $04, $08, $10, $14, $0c, $00, $0c, $08
+; The first three positions are repeated to
+; avoid needing to check indices when copying.
+Reel1Tilemap: ; 93327
+ db SLOTS_SEVEN ; 0
+ db SLOTS_CHERRY ; 1
+ db SLOTS_STARYU ; 2
+ db SLOTS_PIKACHU ; 3
+ db SLOTS_SQUIRTLE ; 4
+ db SLOTS_SEVEN ; 5
+ db SLOTS_CHERRY ; 6
+ db SLOTS_STARYU ; 7
+ db SLOTS_PIKACHU ; 8
+ db SLOTS_SQUIRTLE ; 9
+ db SLOTS_POKEBALL ; 10
+ db SLOTS_CHERRY ; 11
+ db SLOTS_STARYU ; 12
+ db SLOTS_PIKACHU ; 13
+ db SLOTS_SQUIRTLE ; 14
+ db SLOTS_SEVEN ; 0
+ db SLOTS_CHERRY ; 1
+ db SLOTS_STARYU ; 2
+
+Reel2Tilemap: ; 93339
+ db SLOTS_SEVEN ; 0
+ db SLOTS_PIKACHU ; 1
+ db SLOTS_CHERRY ; 2
+ db SLOTS_SQUIRTLE ; 3
+ db SLOTS_STARYU ; 4
+ db SLOTS_POKEBALL ; 5
+ db SLOTS_PIKACHU ; 6
+ db SLOTS_CHERRY ; 7
+ db SLOTS_SQUIRTLE ; 8
+ db SLOTS_STARYU ; 9
+ db SLOTS_POKEBALL ; 10
+ db SLOTS_PIKACHU ; 11
+ db SLOTS_CHERRY ; 12
+ db SLOTS_SQUIRTLE ; 13
+ db SLOTS_STARYU ; 14
+ db SLOTS_SEVEN ; 0
+ db SLOTS_PIKACHU ; 1
+ db SLOTS_CHERRY ; 2
+
+Reel3Tilemap: ; 9334b
+ db SLOTS_SEVEN ; 0
+ db SLOTS_PIKACHU ; 1
+ db SLOTS_CHERRY ; 2
+ db SLOTS_SQUIRTLE ; 3
+ db SLOTS_STARYU ; 4
+ db SLOTS_PIKACHU ; 5
+ db SLOTS_CHERRY ; 6
+ db SLOTS_SQUIRTLE ; 7
+ db SLOTS_STARYU ; 8
+ db SLOTS_PIKACHU ; 9
+ db SLOTS_POKEBALL ; 10
+ db SLOTS_CHERRY ; 11
+ db SLOTS_SQUIRTLE ; 12
+ db SLOTS_STARYU ; 13
+ db SLOTS_PIKACHU ; 14
+ db SLOTS_SEVEN ; 0
+ db SLOTS_PIKACHU ; 1
+ db SLOTS_CHERRY ; 2
; 9335d
SlotsTilemap: ; 9335d
--- a/engine/specials.asm
+++ b/engine/specials.asm
@@ -26,7 +26,7 @@
add_special Special_CheckBothSelectedSameRoom
add_special Special_FailedLinkToPast
add_special Special_CloseLink
- add_special Special_AbortLink
+ add_special WaitForOtherPlayerToExit
add_special Special_SetBitsForBattleRequest
add_special Special_SetBitsForTimeCapsuleRequest
add_special Special_CheckTimeCapsuleCompatibility
@@ -101,7 +101,7 @@
add_special SpecialCheckPokerus
add_special Special_DisplayCoinCaseBalance
add_special Special_DisplayMoneyAndCoinBalance
- add_special PlaceMoneyTopRightOW
+ add_special PlaceMoneyTopRight
add_special Special_CheckForLuckyNumberWinners
add_special Special_CheckLuckyNumberShowFlag
add_special Special_ResetLuckyNumberShowFlag
@@ -126,7 +126,7 @@
add_special SpecialTrainerHouse
add_special PhotoStudio
add_special InitRoamMons
- add_special Special_RotatePalettesRightMusic
+ add_special Special_FadeOutMusic
add_special Diploma
add_special PrintDiploma
@@ -147,7 +147,7 @@
add_special Function_LoadOpponentTrainerAndPokemonsWithOTSprite
add_special Function11ba38
add_special SpecialCheckForBattleTowerRules
- add_special Function117656
+ add_special Special_GiveOddEgg
add_special Reset
add_special Function1011f1
add_special Function101220
@@ -175,7 +175,7 @@
add_special SpecialBeastsCheck
add_special SpecialMonCheck
add_special Special_SetPlayerPalette
- add_special Function170bd2
+ add_special ret_170bd2
add_special Mobile_SelectThreeMons
add_special Function1037eb
add_special Function10383c
@@ -256,7 +256,7 @@
jr FoundOne
FoundOne: ; c292
- ld a, $1
+ ld a, TRUE
ld [ScriptVar], a
ret
@@ -334,11 +334,11 @@
call GetSRAMBank
ld a, [sMysteryGiftItem]
ld [CurItem], a
- ld a, $1
+ ld a, 1
ld [wItemQuantityChangeBuffer], a
ld hl, NumItems
call ReceiveItem
- jr nc, .asm_c33d
+ jr nc, .no_room
xor a
ld [sMysteryGiftItem], a
call CloseSRAM
@@ -347,11 +347,11 @@
call GetItemName
ld hl, .ReceiveItemText
call PrintText
- ld a, $1
+ ld a, TRUE
ld [ScriptVar], a
ret
-.asm_c33d
+.no_room
call CloseSRAM
xor a
ld [ScriptVar], a
@@ -380,8 +380,8 @@
Special_UnownPuzzle: ; c360
call FadeToMenu
- callba Functione1190
- ld a, [wd0ec]
+ callba UnownPuzzle
+ ld a, [wSolvedUnownPuzzle]
ld [ScriptVar], a
call ExitAllMenus
ret
@@ -433,35 +433,35 @@
ld hl, Coins
ld a, [hli]
or [hl]
- jr z, .asm_c3c4
+ jr z, .no_coins
ld a, COIN_CASE
ld [CurItem], a
ld hl, NumItems
call CheckItem
- jr nc, .asm_c3c9
+ jr nc, .no_coin_case
and a
ret
-.asm_c3c4
- ld hl, UnknownText_0xc3d1
- jr .asm_c3cc
+.no_coins
+ ld hl, .NoCoinsText
+ jr .print
-.asm_c3c9
- ld hl, UnknownText_0xc3d6
+.no_coin_case
+ ld hl, .NoCoinCaseText
-.asm_c3cc
call PrintText
scf
ret
; c3d1
-UnknownText_0xc3d1: ; 0xc3d1
+.NoCoinsText: ; 0xc3d1
; You have no coins.
text_jump UnknownText_0x1bd3d7
db "@"
; 0xc3d6
-UnknownText_0xc3d6: ; 0xc3d6
+.NoCoinCaseText: ; 0xc3d6
; You don't have a COIN CASE.
text_jump UnknownText_0x1bd3eb
db "@"
@@ -498,22 +498,22 @@
; c403
-LoadWildData:: ; c403
+StoreSwarmMapIndices:: ; c403
ld a, c
and a
- jr nz, .swarm_route35
+ jr nz, .yanma
; swarm dark cave violet entrance
ld a, d
- ld [wdfcc], a
+ ld [wDunsparceMapGroup], a
ld a, e
- ld [wdfcd], a
+ ld [wDunsparceMapNumber], a
ret
-.swarm_route35
+.yanma
ld a, d
- ld [wdc5a], a
+ ld [wYanmaMapGroup], a
ld a, e
- ld [wdc5b], a
+ ld [wYanmaMapNumber], a
ret
; c419
@@ -557,7 +557,7 @@
ld hl, .ProximityCoords
.loop
ld a, [hli]
- cp $ff
+ cp -1
jr z, .nope
cp b
jr nz, .nextcoord
@@ -565,7 +565,7 @@
cp c
jr nz, .loop
- ld a, $1
+ ld a, TRUE
jr .done
.nextcoord
@@ -585,7 +585,7 @@
db 35, 10 ; below
db 36, 8 ; right
db 36, 9 ; right
- db $ff
+ db -1
PlayCurMonCry: ; c472
@@ -616,7 +616,7 @@
ret
-Special_RotatePalettesRightMusic: ; c48f
+Special_FadeOutMusic: ; c48f
ld a, MUSIC_NONE % $100
ld [MusicFadeIDLo], a
ld a, MUSIC_NONE / $100
--- /dev/null
+++ b/engine/sprite_anims.asm
@@ -1,0 +1,890 @@
+DoAnimFrame: ; 8d24b
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
+ add hl, bc
+ ld e, [hl]
+ ld d, 0
+ ld hl, .Jumptable
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+; 8d25b
+
+.Jumptable: ; 8d25b (23:525b)
+
+ dw .Null ; null
+ dw .one ; bouncing mon icon
+ dw .two ; bouncing mon icon, selected
+ dw .three ; bouncing mon icon, menu open
+ dw .four
+ dw .five
+ dw .GameFreakLogo ; Game Freak logo
+ dw .seven
+ dw .eight
+ dw .SlotsGolem ; Something to do with slots
+ dw .SlotsChansey ; Something to do with slots
+ dw .SlotsChanseyEgg ; Something to do with slots
+ dw .twelve ; blinking cursor
+ dw .thirteen
+ dw .fourteen
+ dw .fifteen
+ dw .sixteen
+ dw .seventeen
+ dw .eighteen
+ dw .EggShell ; finish egg hatching animation
+ dw .RadioTuningKnob ; radio tuning knob
+ dw .twentyone ; cut grass leaves
+ dw .FlyFrom ; flying sprite
+ dw .FlyLeaf ; flying leaves
+ dw .FlyTo ; fly to
+ dw .twentyfive
+ dw .twentysix
+ dw .twentyseven
+ dw .twentyeight
+ dw .twentynine ; intro suicune
+ dw .thirty ; intro pichu wooper
+ dw .thirtyone ; celebi
+ dw .thirtytwo ; intro unown
+ dw .thirtythree ; intro unown F with suicune leaping up
+ dw .thirtyfour ; intro suicune facing away from us
+
+
+.Null: ; 8d2a1 (23:52a1)
+ ret
+
+.one: ; 8d2a2 (23:52a2)
+ ld a, [wMenuCursorY]
+
+ ld hl, SPRITEANIMSTRUCT_INDEX
+ add hl, bc
+ cp [hl]
+ jr z, .two
+
+ ld hl, SPRITEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], 8 * 2
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], $0
+ ret
+
+.two: ; 8d2b9 (23:52b9)
+ ld hl, SPRITEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], 8 * 3
+
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+ ld d, a
+ inc [hl]
+ and $f
+ ret nz
+
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld e, [hl]
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, d
+ and $10 ; bit 4
+ jr z, .load_zero
+ ld a, e
+ and a
+ jr z, .load_minus_two
+ cp $1
+ jr z, .load_minus_one
+.load_zero
+ xor a
+ ld [hl], a
+ ret
+
+.load_minus_one
+ ld a, -1
+ ld [hl], a
+ ret
+
+.load_minus_two
+ ld a, -2
+ ld [hl], a
+ ret
+
+.three: ; 8d2ea (23:52ea)
+ ld a, [wMenuCursorY]
+
+ ld hl, SPRITEANIMSTRUCT_INDEX
+ add hl, bc
+ cp [hl]
+ jr z, .three_offset_right
+
+ ld hl, SPRITEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], 8 * 2
+ ret
+
+.three_offset_right
+ ld hl, SPRITEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], 8 * 3
+ ret
+
+.four: ; 8d302 (23:5302)
+ call .anonymous_dw
+ jp [hl]
+; 8d306 (23:5306)
+
+; Anonymous dw (see .anonymous_dw)
+ dw .four_zero
+ dw .four_one
+; 8d30a
+
+.four_zero: ; 8d30a
+ call .IncrementSpriteAnimStruct0B
+
+ ld hl, SPRITEANIMSTRUCT_INDEX
+ add hl, bc
+ ld a, [hl]
+
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ and $3
+ ld [hl], a
+ inc [hl]
+ swap a
+
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld [hl], a
+
+.four_one: ; 8d321
+ ld hl, SPRITEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $a4
+ jr nc, .asm_8d356
+
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ add $4
+
+ ld hl, SPRITEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], a
+
+ ld hl, SPRITEANIMSTRUCT_YCOORD
+ add hl, bc
+ inc [hl]
+
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld a, [hl]
+ sla a
+ sla a
+ ld d, $2
+
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+ add $3
+ ld [hl], a
+ call .Sprites_Sine
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.asm_8d356
+ call DeinitializeSprite
+ ret
+; 8d35a
+
+.twentyfive: ; 8d35a (23:535a)
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+ inc a
+ ld [hl], a
+ ld d, $2
+ call .Sprites_Sine
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.five: ; 8d36c (23:536c)
+ callab Function11a3b
+ ret
+
+.twelve: ; 8d373 (23:5373)
+ callab Function120c1
+ ret
+
+.GameFreakLogo: ; 8d37a (23:537a)
+ callab GameFreakLogoJumper
+ ret
+
+.seven: ; 8d381 (23:5381)
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_8d3ba
+ dec [hl]
+ dec [hl]
+ ld d, a
+ and $1f
+ jr nz, .asm_8d395
+
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ dec [hl]
+.asm_8d395
+ ld hl, SPRITEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call .Sprites_Sine
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call .Sprites_Cosine
+
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld a, [hl]
+
+ ld hl, SPRITEANIMSTRUCT_0B
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+.asm_8d3ba
+ ld a, $1
+ ld [wcf64], a
+ call DeinitializeSprite
+ ret
+
+.eight: ; 8d3c3 (23:53c3)
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hli]
+ or [hl]
+ jr z, .asm_8d41e
+
+ ld hl, SPRITEANIMSTRUCT_0F
+ add hl, bc
+ ld d, [hl]
+
+ ld hl, SPRITEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call .Sprites_Sine
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call .Sprites_Cosine
+
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+
+ ld hl, SPRITEANIMSTRUCT_0E
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+
+ ld hl, SPRITEANIMSTRUCT_0E
+ add hl, bc
+ ld [hl], e
+ inc hl
+ ld [hl], d
+
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, -$10
+ add hl, de
+ ld e, l
+ ld d, h
+
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld [hl], e
+ inc hl
+ ld [hl], d
+
+ ld hl, SPRITEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ xor $20
+ ld [hl], a
+ ret
+
+.asm_8d41e
+ call DeinitializeSprite
+ ret
+
+.SlotsGolem: ; 8d422 (23:5422)
+ callab SlotMachine_AnimateGolem
+ ret
+
+.SlotsChansey: ; 8d429 (23:5429)
+ callab Slots_AnimateChansey
+ ld hl, wcf64
+ ld a, [hl]
+ cp $2
+ ret nz
+ ld [hl], $3
+ ld a, $f
+ call _ReinitSpriteAnimFrame
+ ret
+
+.SlotsChanseyEgg: ; 8d43e (23:543e)
+ ld hl, SPRITEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld e, a
+ and $1
+ jr z, .move_vertical
+
+ ld hl, SPRITEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp 15 * 8
+ jr c, .move_right
+ call DeinitializeSprite
+ ld a, $4
+ ld [wcf64], a
+ ld de, SFX_PLACE_PUZZLE_PIECE_DOWN
+ call PlaySFX
+ ret
+
+.move_right
+ inc [hl]
+.move_vertical
+ ld a, e
+ ld d, $20
+ call .Sprites_Sine
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.thirteen: ; 8d46e (23:546e)
+ callab ret_e00ed
+ ret
+
+.fifteen: ; 8d475 (23:5475)
+ callab Function90d41
+ ret
+
+.fourteen: ; 8d47c (23:547c)
+ callab DummyGame_InterpretJoypad_AnimateCursor
+ ret
+
+.sixteen: ; 8d483 (23:5483)
+ call .anonymous_dw
+ jp [hl]
+; 8d487 (23:5487)
+
+; Anonymous dw (see .anonymous_dw)
+ dw .sixteen_zero
+ dw .sixteen_one
+ dw .sixteen_two
+ dw .sixteen_three
+ dw .sixteen_four
+ dw .sixteen_five
+; 8d493
+
+.sixteen_zero: ; 8d493
+ ld a, $14
+ call _ReinitSpriteAnimFrame
+
+ ld hl, SPRITEANIMSTRUCT_0B
+ add hl, bc
+ ld [hl], $2
+
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld [hl], $20
+ ret
+; 8d4a5
+
+.sixteen_two: ; 8d4a5
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_8d4af
+ dec [hl]
+ ret
+
+.asm_8d4af
+ call .IncrementSpriteAnimStruct0B
+
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld [hl], $40
+
+.sixteen_three: ; 8d4b8
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_8d4cd
+ dec [hl]
+ ld d, $28
+ call .Sprites_Sine
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.asm_8d4cd
+ ld de, SFX_GOT_SAFARI_BALLS
+ call PlaySFX
+ jr .sixteen_five
+; 8d4d5
+
+.sixteen_one: ; 8d4d5
+ ld hl, SPRITEANIMSTRUCT_0B
+ add hl, bc
+ ld [hl], $4
+
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld [hl], $30
+
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld [hl], $24
+ ret
+; 8d4e8
+
+.sixteen_four: ; 8d4e8
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_8d51c
+ ld d, a
+
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+ call Sprites_Sine
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld [hl], $20
+
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld a, [hl]
+ sub $c
+ ld [hl], a
+ ld de, SFX_SWITCH_POKEMON
+ call PlaySFX
+ ret
+
+.asm_8d51c
+ xor a
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ call .IncrementSpriteAnimStruct0B
+ ret
+
+.sixteen_five: ; 8d526
+ call DeinitializeSprite
+ ret
+; 8d52a
+
+.seventeen: ; 8d52a (23:552a)
+ ld hl, SPRITEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ cp $b0
+ jr nc, .asm_8d53f
+ and $3
+ ret nz
+ ld de, SFX_POKEBALLS_PLACED_ON_TABLE
+ call PlaySFX
+ ret
+
+.asm_8d53f
+ call DeinitializeSprite
+ ret
+
+.eighteen: ; 8d543 (23:5543)
+ callab Function29676
+ ret
+
+.EggShell: ; 8d54a (23:554a)
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .finish_EggShell
+ ld d, a
+ add $8
+ ld [hl], a
+
+ ld hl, SPRITEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ xor $20
+ ld [hl], a
+
+ push af
+ push de
+ call .Sprites_Sine
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+
+ pop de
+ pop af
+ call .Sprites_Cosine
+
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.finish_EggShell
+ call DeinitializeSprite
+ ret
+
+.RadioTuningKnob: ; 8d578 (23:5578)
+ callab AnimateTuningKnob
+ ret
+
+.twentyone: ; 8d57f (23:557f)
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $80
+ add hl, de
+ ld e, l
+ ld d, h
+
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld [hl], e
+ inc hl
+ ld [hl], d
+
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+rept 3
+ inc [hl]
+endr
+ push af
+ push de
+ call .Sprites_Sine
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call .Sprites_Cosine
+
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.FlyFrom: ; 8d5b0 (23:55b0)
+ ld hl, SPRITEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret z
+
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ cp $40
+ ret c
+
+ ld hl, SPRITEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ dec [hl]
+
+ ld hl, SPRITEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, a
+ cp $40
+ jr nc, .skip
+ add $8
+ ld [hl], a
+.skip
+ ld hl, SPRITEANIMSTRUCT_0E
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call .Sprites_Cosine
+
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.FlyLeaf: ; 8d5e2 (23:55e2)
+ ld hl, SPRITEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp -9 * 8
+ jr nc, .delete_leaf
+ inc [hl]
+ inc [hl]
+
+ ld hl, SPRITEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+
+ ld d, $40
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call .Sprites_Cosine
+
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.delete_leaf
+ call DeinitializeSprite
+ ret
+
+.FlyTo: ; 8d607 (23:5607)
+ ld hl, SPRITEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ cp 10 * 8 + 4
+ ret z
+
+ ld hl, SPRITEANIMSTRUCT_YCOORD
+ add hl, bc
+ inc [hl]
+ inc [hl]
+
+ ld hl, SPRITEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, a
+ and a
+ jr z, .asm_8d621
+ sub $2
+ ld [hl], a
+.asm_8d621
+ ld hl, SPRITEANIMSTRUCT_0E
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call .Sprites_Cosine
+
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.twentyseven: ; 8d630 (23:5630)
+ callba Function108bc7
+ ret
+
+.twentyeight: ; 8d637 (23:5637)
+ callba Function108be0
+ ret
+
+.twentynine: ; 8d63e (23:563e)
+ ld a, [wcf65]
+ and a
+ jr nz, .asm_8d645
+ ret
+.asm_8d645
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], $0
+
+ ld hl, SPRITEANIMSTRUCT_0D
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ xor $ff
+ inc a
+ ld d, $20
+ call .Sprites_Sine
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld a, $36
+ call _ReinitSpriteAnimFrame
+ ret
+
+.thirty: ; 8d666 (23:5666)
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+ cp $14
+ jr nc, .asm_8d67f
+ add $2
+ ld [hl], a
+ xor $ff
+ inc a
+ ld d, $20
+ call .Sprites_Sine
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+.asm_8d67f
+ ret
+
+.thirtytwo: ; 8d680 (23:5680)
+ ld hl, SPRITEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+rept 3
+ inc [hl]
+endr
+
+ ld hl, SPRITEANIMSTRUCT_0C
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call .Sprites_Sine
+
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call .Sprites_Cosine
+
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.thirtythree: ; 8d6a2 (23:56a2)
+ ld a, [wcf64]
+ cp $40
+ ret nz
+ ld a, $3d
+ call _ReinitSpriteAnimFrame
+ ret
+
+.thirtyfour: ; 8d6ae (23:56ae)
+ ld hl, SPRITEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ add $10
+ ld [hl], a
+ ret
+
+.twentysix: ; 8d6b7 (23:56b7)
+ callba Function11d0b6
+ ret
+
+.thirtyone: ; 8d6be (23:56be)
+ callba UpdateCelebiPosition
+ ret
+
+.anonymous_dw: ; 8d6c5 (23:56c5)
+ ld hl, [sp+$0]
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+
+ ld hl, SPRITEANIMSTRUCT_0B
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+; 8d6d8 (23:56d8)
+
+.IncrementSpriteAnimStruct0B: ; 8d6d8
+ ld hl, SPRITEANIMSTRUCT_0B
+ add hl, bc
+ inc [hl]
+ ret
+; 8d6de
+
+.Sprites_Sine: ; 8d6de (23:56de)
+ call Sprites_Sine
+ ret
+
+.Sprites_Cosine: ; 8d6e2 (23:56e2)
+ call Sprites_Cosine
+ ret
+; 8d6e6 (23:56e6)
--- a/engine/sprites.asm
+++ b/engine/sprites.asm
@@ -1,6 +1,6 @@
-Function8cf53: ; 8cf53
- ld hl, wc300
- ld bc, wc3c1 - wc300
+ClearSpriteAnims: ; 8cf53
+ ld hl, wSpriteAnimDict
+ ld bc, wSpriteAnimsEnd - wSpriteAnimDict
.loop
ld [hl], $0
inc hl
@@ -11,21 +11,21 @@
ret
; 8cf62
-Function8cf62: ; 8cf62
- call Function8cf69
+PlaySpriteAnimationsAndDelayFrame: ; 8cf62
+ call PlaySpriteAnimations
call DelayFrame
ret
; 8cf69
-Function8cf69: ; 8cf69
+PlaySpriteAnimations: ; 8cf69
push hl
push de
push bc
push af
- ld a, $0
- ld [wc3b5], a
- call Function8cf7a
+ ld a, Sprites % $100
+ ld [wCurrSpriteOAMAddr], a
+ call DoNextFrameForAllSprites
pop af
pop bc
@@ -34,8 +34,8 @@
ret
; 8cf7a
-Function8cf7a: ; 8cf7a
- ld hl, wc314
+DoNextFrameForAllSprites: ; 8cf7a
+ ld hl, wSpriteAnimationStructs
ld e, 10 ; There are 10 structs here.
.loop
@@ -46,8 +46,8 @@
ld b, h
push hl
push de
- call Function8d24b ; Uses a massive jumptable
- call Function8d04c
+ call DoAnimFrame ; Uses a massive dw
+ call UpdateAnimFrame
pop de
pop hl
jr c, .done
@@ -58,11 +58,11 @@
dec e
jr nz, .loop
- ld a, [wc3b5]
+ ld a, [wCurrSpriteOAMAddr]
ld l, a
- ld h, Sprites / $0100
+ ld h, Sprites / $100
-.loop2 ; Clear (Sprites + [wc3b5] --> SpritesEnd)
+.loop2 ; Clear (Sprites + [wCurrSpriteOAMAddr] --> SpritesEnd)
ld a, l
cp SpritesEnd % $100
jr nc, .done
@@ -74,7 +74,7 @@
ret
; 8cfa8
-Function8cfa8: ; 8cfa8 (23:4fa8)
+DoNextFrameForFirst16Sprites: ; 8cfa8 (23:4fa8)
ld hl, wSpriteAnimationStructs
ld e, 10
@@ -86,8 +86,8 @@
ld b, h
push hl
push de
- call Function8d24b ; Uses a massive jumptable
- call Function8d04c
+ call DoAnimFrame ; Uses a massive dw
+ call UpdateAnimFrame
pop de
pop hl
jr c, .done
@@ -98,13 +98,13 @@
dec e
jr nz, .loop
- ld a, [wc3b5]
+ ld a, [wCurrSpriteOAMAddr]
ld l, a
ld h, (Sprites + $40) / $100
-.loop2 ; Clear (Sprites + [wc3b5] --> Sprites + $40)
+.loop2 ; Clear (Sprites + [wCurrSpriteOAMAddr] --> Sprites + $40)
ld a, l
- cp (Sprites + $40) % $100
+ cp (Sprites + 16 * 4) % $100
jr nc, .done
xor a
ld [hli], a
@@ -114,10 +114,11 @@
ret
InitSpriteAnimStruct:: ; 8cfd6
-; Find if there's any room in the wc314 array, which is 10x16
+; Initialize animation a at pixel x=e, y=d
+; Find if there's any room in the wSpriteAnimationStructs array, which is 10x16
push de
push af
- ld hl, wc314
+ ld hl, wSpriteAnimationStructs
ld e, 10
.loop
ld a, [hl]
@@ -138,9 +139,9 @@
; Back up the structure address to bc.
ld c, l
ld b, h
-; Value [wc3b4] is initially set to -1. Set it to
+; Value [wSpriteAnimCount] is initially set to -1. Set it to
; the number of objects loaded into this array.
- ld hl, wc3b4
+ ld hl, wSpriteAnimCount
inc [hl]
ld a, [hl]
and a
@@ -148,11 +149,11 @@
inc [hl]
.initialized
-; Get row a of Unknown_8d1c4, copy the pointer into de
+; Get row a of SpriteAnimSeqData, copy the pointer into de
pop af
ld e, a
ld d, 0
- ld hl, Unknown_8d1c4
+ ld hl, SpriteAnimSeqData
rept 3
add hl, de
endr
@@ -159,10 +160,10 @@
ld e, l
ld d, h
; Set hl to the first field (field 0) in the current structure.
- ld hl, 0
+ ld hl, SPRITEANIMSTRUCT_INDEX
add hl, bc
; Load the index.
- ld a, [wc3b4]
+ ld a, [wSpriteAnimCount]
ld [hli], a
; Copy the table entry to the next two fields.
ld a, [de]
@@ -171,14 +172,14 @@
ld a, [de]
ld [hli], a
inc de
-; Look up the third field from the table in the wc300 array (10x2).
+; Look up the third field from the table in the wSpriteAnimDict array (10x2).
; Take the value and load it in
ld a, [de]
- call LookUpInwSpriteAnimDict
+ call GetSpriteAnimVTile
ld [hli], a
pop de
-; Set hl to field 4. Kinda pointless, because we're presumably already here.
- ld hl, $4
+; Set hl to field 4 (X coordinate). Kinda pointless, because we're presumably already here.
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
; Load the original value of de into here.
ld a, e
@@ -187,13 +188,11 @@
ld [hli], a
; load 0 into the next four fields
xor a
-rept 2
ld [hli], a
-endr
+ ld [hli], a
xor a
-rept 2
ld [hli], a
-endr
+ ld [hli], a
; load -1 into the next field
dec a
ld [hli], a
@@ -203,17 +202,17 @@
ld [hli], a
endr
ld [hl], a
-; back up the address of the first field to wc3b8
+; back up the address of the first field to wSpriteAnimAddrBackup
ld a, c
- ld [wc3b8], a
+ ld [wSpriteAnimAddrBackup], a
ld a, b
- ld [wc3b8 + 1], a
+ ld [wSpriteAnimAddrBackup + 1], a
ret
; 8d036
-Function8d036: ; 8d036
+DeinitializeSprite: ; 8d036
; Clear the index field of the struct in bc.
- ld hl, 0
+ ld hl, SPRITEANIMSTRUCT_INDEX
add hl, bc
ld [hl], $0
ret
@@ -220,9 +219,9 @@
; 8d03d
-Function8d03d: ; 8d03d (23:503d)
-; Clear the index field of every struct in the wc314 array.
- ld hl, wc314
+DeinitializeAllSprites: ; 8d03d (23:503d)
+; Clear the index field of every struct in the wSpriteAnimationStructs array.
+ ld hl, wSpriteAnimationStructs
ld bc, $10
ld e, 10
xor a
@@ -234,91 +233,101 @@
ret
-Function8d04c: ; 8d04c
- call Function8d0ec ; init WRAM
- call Function8d132 ; read from a memory array
+UpdateAnimFrame: ; 8d04c
+ call InitSpriteAnimBuffer ; init WRAM
+ call GetSpriteAnimFrame ; read from a memory array
cp -3
jr z, .done
cp -4
- jr z, .almost
- call Function8d1a2 ; read from a pointer table
- ld a, [wc3ba]
+ jr z, .delete
+ call GetFrameOAMPointer
+ ; add byte to [wCurrAnimVTile]
+ ld a, [wCurrAnimVTile]
add [hl]
- ld [wc3ba], a
+ ld [wCurrAnimVTile], a
inc hl
+ ; load pointer into hl
ld a, [hli]
ld h, [hl]
ld l, a
push bc
- ld a, [wc3b5]
+ ld a, [wCurrSpriteOAMAddr]
ld e, a
ld d, Sprites / $100
ld a, [hli]
- ld c, a
+ ld c, a ; number of objects
.loop
- ld a, [wc3bc]
+ ; first byte: y (px)
+ ; [de] = [wCurrAnimYCoord] + [wCurrAnimYOffset] + [wGlobalAnimYOffset] + AddOrSubtractY([hl])
+ ld a, [wCurrAnimYCoord]
ld b, a
- ld a, [wc3be]
+ ld a, [wCurrAnimYOffset]
add b
ld b, a
- ld a, [wc3bf]
+ ld a, [wGlobalAnimYOffset]
add b
ld b, a
- call Function8d0be
+ call AddOrSubtractY
add b
ld [de], a
inc hl
inc de
- ld a, [wc3bb]
+ ; second byte: x (px)
+ ; [de] = [wCurrAnimXCoord] + [wCurrAnimXOffset] + [wGlobalAnimXOffset] + AddOrSubtractX([hl])
+ ld a, [wCurrAnimXCoord]
ld b, a
- ld a, [wc3bd]
+ ld a, [wCurrAnimXOffset]
add b
ld b, a
- ld a, [wc3c0]
+ ld a, [wGlobalAnimXOffset]
add b
ld b, a
- call Function8d0ce
+ call AddOrSubtractX
add b
ld [de], a
inc hl
inc de
- ld a, [wc3ba]
+ ; third byte: vtile
+ ; [de] = [wCurrAnimVTile] + [hl]
+ ld a, [wCurrAnimVTile]
add [hl]
ld [de], a
inc hl
inc de
- call Function8d0de
+ ; fourth byte: attributes
+ ; [de] = GetSpriteOAMAttr([hl])
+ call GetSpriteOAMAttr
ld [de], a
inc hl
inc de
ld a, e
- ld [wc3b5], a
+ ld [wCurrSpriteOAMAddr], a
cp SpritesEnd % $100
- jr nc, .outofroom
+ jr nc, .reached_the_end
dec c
jr nz, .loop
pop bc
jr .done
-.almost
- call Function8d036
-
+.delete
+ call DeinitializeSprite
.done
and a
ret
-.outofroom
+.reached_the_end
pop bc
scf
ret
; 8d0be
-Function8d0be: ; 8d0be
+AddOrSubtractY: ; 8d0be
push hl
ld a, [hl]
- ld hl, wc3b8
+ ld hl, wCurrSpriteAddSubFlags
bit 6, [hl]
jr z, .ok
+ ; 8 - a
add $8
xor $ff
inc a
@@ -328,12 +337,13 @@
ret
; 8d0ce
-Function8d0ce: ; 8d0ce
+AddOrSubtractX: ; 8d0ce
push hl
ld a, [hl]
- ld hl, wc3b8
+ ld hl, wCurrSpriteAddSubFlags
bit 5, [hl]
jr z, .ok
+ ; 8 - a
add $8
xor $ff
inc a
@@ -343,8 +353,8 @@
ret
; 8d0de
-Function8d0de: ; 8d0de
- ld a, [wc3b8]
+GetSpriteOAMAttr: ; 8d0de
+ ld a, [wCurrSpriteAddSubFlags]
ld b, a
ld a, [hl]
xor b
@@ -356,26 +366,27 @@
ret
; 8d0ec
-Function8d0ec: ; 8d0ec
+InitSpriteAnimBuffer: ; 8d0ec
xor a
- ld [wc3b8], a
- ld hl, $3
+ ld [wCurrSpriteAddSubFlags], a
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld a, [hli]
- ld [wc3ba], a
+ ld [wCurrAnimVTile], a
ld a, [hli]
- ld [wc3bb], a
+ ld [wCurrAnimXCoord], a
ld a, [hli]
- ld [wc3bc], a
+ ld [wCurrAnimYCoord], a
ld a, [hli]
- ld [wc3bd], a
+ ld [wCurrAnimXOffset], a
ld a, [hli]
- ld [wc3be], a
+ ld [wCurrAnimYOffset], a
ret
; 8d109
-LookUpInwSpriteAnimDict: ; 8d109
+GetSpriteAnimVTile: ; 8d109
; a = wSpriteAnimDict[a] if a in wSpriteAnimDict else 0
+; VTiles offset
push hl
push bc
ld hl, wSpriteAnimDict
@@ -400,102 +411,103 @@
ret
; 8d120
-Function8d120:: ; 8d120
- ld hl, $1
+_ReinitSpriteAnimFrame:: ; 8d120
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld [hl], a
- ld hl, $8
+ ld hl, SPRITEANIMSTRUCT_DURATION
add hl, bc
- ld [hl], $0
- ld hl, $a
+ ld [hl], 0
+ ld hl, SPRITEANIMSTRUCT_FRAME
add hl, bc
- ld [hl], $ff
+ ld [hl], -1
ret
; 8d132
-Function8d132: ; 8d132
+GetSpriteAnimFrame: ; 8d132
.loop
- ld hl, $8
+ ld hl, SPRITEANIMSTRUCT_DURATION
add hl, bc
ld a, [hl]
and a
- jr z, .ok
+ jr z, .next_frame ; finished the current sequence
dec [hl]
- call Function8d189
+ call .GetPointer ; load pointer from SpriteAnimFrameData
ld a, [hli]
push af
- jr .skip
+ jr .okay
-.ok
- ld hl, $a
+.next_frame
+ ld hl, SPRITEANIMSTRUCT_FRAME
add hl, bc
inc [hl]
- call Function8d189
+ call .GetPointer ; load pointer from SpriteAnimFrameData
ld a, [hli]
- cp $fe
- jr z, .minus_2
- cp $ff
- jr z, .minus_1
+ cp -2
+ jr z, .restart
+ cp -1
+ jr z, .repeat_last
+
push af
ld a, [hl]
push hl
and $3f
- ld hl, $9
+ ld hl, SPRITEANIMSTRUCT_DURATIONOFFSET
add hl, bc
add [hl]
- ld hl, $8
+ ld hl, SPRITEANIMSTRUCT_DURATION
add hl, bc
ld [hl], a
pop hl
-
-.skip
+.okay
ld a, [hl]
and $c0
srl a
- ld [wc3b8], a
+ ld [wCurrSpriteAddSubFlags], a
pop af
ret
-.minus_1
+.repeat_last
xor a
- ld hl, $8
+ ld hl, SPRITEANIMSTRUCT_DURATION
add hl, bc
ld [hl], a
- ld hl, $a
+
+ ld hl, SPRITEANIMSTRUCT_FRAME
add hl, bc
-rept 2
dec [hl]
-endr
+ dec [hl]
jr .loop
-.minus_2
+.restart
xor a
- ld hl, $8
+ ld hl, SPRITEANIMSTRUCT_DURATION
add hl, bc
ld [hl], a
+
dec a
- ld hl, $a
+ ld hl, SPRITEANIMSTRUCT_FRAME
add hl, bc
ld [hl], a
jr .loop
; 8d189
-Function8d189: ; 8d189
- ; Get the [bc+10]th entry in the data table
- ; indexed at [bc+1] in Unknown_8d6e6
- ld hl, $1
+.GetPointer: ; 8d189
+ ; Get the data for the current frame for the current animation sequence
+
+ ; SpriteAnimFrameData[SpriteAnim[SPRITEANIMSTRUCT_FRAMESET_ID]][SpriteAnim[SPRITEANIMSTRUCT_FRAME]]
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld e, [hl]
ld d, 0
- ld hl, Unknown_8d6e6
-rept 2
+ ld hl, SpriteAnimFrameData
add hl, de
-endr
+ add hl, de
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, $a
+ ld hl, SPRITEANIMSTRUCT_FRAME
add hl, bc
ld l, [hl]
ld h, 0
@@ -504,10 +516,11 @@
ret
; 8d1a2
-Function8d1a2: ; 8d1a2
+GetFrameOAMPointer: ; 8d1a2
+; Load OAM data pointer
ld e, a
ld d, 0
- ld hl, Unknown_8d94d
+ ld hl, SpriteAnimOAMData
rept 3
add hl, de
endr
@@ -514,14 +527,14 @@
ret
; 8d1ac
-Function8d1ac: ; unreferenced
+BrokenGetStdGraphics: ; 8d1ac
+; dummied out
push hl
ld l, a
ld h, 0
-rept 2
add hl, hl
-endr
- ld de, Unknown_8e706 ; broken 2bpp pointers
+ add hl, hl
+ ld de, BrokenStdGFXPointers ; broken 2bpp pointers
add hl, de
ld c, [hl]
inc hl
@@ -537,2321 +550,75 @@
ret
; 8d1c4
-Unknown_8d1c4: ; 8d1c4
- db $01, SPRITE_ANIM_SEQ_01, $00 ; 00
- db $07, SPRITE_ANIM_SEQ_04, $00 ; 01
- db $08, SPRITE_ANIM_SEQ_05, $05 ; 02
- db $0a, SPRITE_ANIM_SEQ_06, $00 ; 03
- db $0b, SPRITE_ANIM_SEQ_07, $06 ; 04
- db $0c, SPRITE_ANIM_SEQ_08, $06 ; 05
- db $0d, SPRITE_ANIM_SEQ_09, $07 ; 06
- db $0e, SPRITE_ANIM_SEQ_0A, $07 ; 07
- db $10, SPRITE_ANIM_SEQ_0B, $07 ; 08
- db $08, SPRITE_ANIM_SEQ_0C, $05 ; 09
- db $11, SPRITE_ANIM_SEQ_00, $00 ; 0a
- db $12, SPRITE_ANIM_SEQ_0D, $08 ; 0b
- db $12, SPRITE_ANIM_SEQ_0E, $08 ; 0c
- db $12, SPRITE_ANIM_SEQ_0F, $08 ; 0d
- db $13, SPRITE_ANIM_SEQ_10, $00 ; 0e
- db $15, SPRITE_ANIM_SEQ_00, $00 ; 0f
- db $16, SPRITE_ANIM_SEQ_11, $00 ; 10
- db $17, SPRITE_ANIM_SEQ_12, $00 ; 11
- db $18, SPRITE_ANIM_SEQ_12, $00 ; 12
- db $19, SPRITE_ANIM_SEQ_13, $00 ; 13
- db $1a, SPRITE_ANIM_SEQ_14, $00 ; 14
- db $1b, SPRITE_ANIM_SEQ_00, $00 ; 15
- db $1d, SPRITE_ANIM_SEQ_15, $00 ; 16
- db $1e, SPRITE_ANIM_SEQ_00, $00 ; 17
- db $1d, SPRITE_ANIM_SEQ_17, $00 ; 18
- db $1f, SPRITE_ANIM_SEQ_00, $00 ; 19
- db $24, SPRITE_ANIM_SEQ_19, $00 ; 1a
- db $25, SPRITE_ANIM_SEQ_00, $00 ; 1b
- db $20, SPRITE_ANIM_SEQ_13, $00 ; 1c
- db $26, SPRITE_ANIM_SEQ_1A, $00 ; 1d
- db $2d, SPRITE_ANIM_SEQ_00, $00 ; 1e
- db $2e, SPRITE_ANIM_SEQ_00, $00 ; 1f
- db $2f, SPRITE_ANIM_SEQ_00, $00 ; 20
- db $30, SPRITE_ANIM_SEQ_00, $00 ; 21
- db $31, SPRITE_ANIM_SEQ_00, $00 ; 22
- db $32, SPRITE_ANIM_SEQ_1B, $00 ; 23
- db $33, SPRITE_ANIM_SEQ_1C, $00 ; 24
- db $34, SPRITE_ANIM_SEQ_00, $00 ; 25
- db $35, SPRITE_ANIM_SEQ_1D, $00 ; 26
- db $37, SPRITE_ANIM_SEQ_1E, $00 ; 27
- db $38, SPRITE_ANIM_SEQ_1E, $00 ; 28
- db $39, SPRITE_ANIM_SEQ_20, $00 ; 29
- db $3f, SPRITE_ANIM_SEQ_21, $00 ; 2a
- db $3e, SPRITE_ANIM_SEQ_22, $00 ; 2b
- db $40, SPRITE_ANIM_SEQ_00, $00 ; 2c
+SpriteAnimSeqData: ; 8d1c4
+ ; frameset sequence, tile
+ db SPRITE_ANIM_FRAMESET_01, SPRITE_ANIM_SEQ_01, $00 ; 00
+ db SPRITE_ANIM_FRAMESET_07, SPRITE_ANIM_SEQ_04, $00 ; 01
+ db SPRITE_ANIM_FRAMESET_08, SPRITE_ANIM_SEQ_05, $05 ; 02
+ db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; 03
+ db SPRITE_ANIM_FRAMESET_0B, SPRITE_ANIM_SEQ_07, $06 ; 04
+ db SPRITE_ANIM_FRAMESET_0C, SPRITE_ANIM_SEQ_08, $06 ; 05
+ db SPRITE_ANIM_FRAMESET_SLOT_GOLEM, SPRITE_ANIM_SEQ_SLOT_GOLEM, $07 ; 06 slots golem
+ db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; 07 slots chansey
+ db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; 08 slots egg
+ db SPRITE_ANIM_FRAMESET_08, SPRITE_ANIM_SEQ_0C, $05 ; 09
+ db SPRITE_ANIM_FRAMESET_WALK_CYCLE, SPRITE_ANIM_SEQ_NULL, $00 ; 0a walk cycle
+ db SPRITE_ANIM_FRAMESET_12, SPRITE_ANIM_SEQ_0D, $08 ; 0b
+ db SPRITE_ANIM_FRAMESET_12, SPRITE_ANIM_SEQ_0E, $08 ; 0c
+ db SPRITE_ANIM_FRAMESET_12, SPRITE_ANIM_SEQ_0F, $08 ; 0d
+ db SPRITE_ANIM_FRAMESET_13, SPRITE_ANIM_SEQ_10, $00 ; 0e
+ db SPRITE_ANIM_FRAMESET_15, SPRITE_ANIM_SEQ_NULL, $00 ; 0f
+ db SPRITE_ANIM_FRAMESET_16, SPRITE_ANIM_SEQ_11, $00 ; 10
+ db SPRITE_ANIM_FRAMESET_17, SPRITE_ANIM_SEQ_12, $00 ; 11
+ db SPRITE_ANIM_FRAMESET_18, SPRITE_ANIM_SEQ_12, $00 ; 12
+ db SPRITE_ANIM_FRAMESET_19, SPRITE_ANIM_SEQ_13, $00 ; 13
+ db SPRITE_ANIM_FRAMESET_1A, SPRITE_ANIM_SEQ_14, $00 ; 14 radio tuning knob
+ db SPRITE_ANIM_FRAMESET_1B, SPRITE_ANIM_SEQ_NULL, $00 ; 15
+ db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_15, $00 ; 16 leaves when cutting down a tree
+ db SPRITE_ANIM_FRAMESET_1E, SPRITE_ANIM_SEQ_NULL, $00 ; 17
+ db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; 18 flying leaves
+ db SPRITE_ANIM_FRAMESET_1F, SPRITE_ANIM_SEQ_NULL, $00 ; 19
+ db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00 ; 1a
+ db SPRITE_ANIM_FRAMESET_25, SPRITE_ANIM_SEQ_NULL, $00 ; 1b headbutt
+ db SPRITE_ANIM_FRAMESET_20, SPRITE_ANIM_SEQ_13, $00 ; 1c
+ db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 ; 1d
+ db SPRITE_ANIM_FRAMESET_2D, SPRITE_ANIM_SEQ_NULL, $00 ; 1e
+ db SPRITE_ANIM_FRAMESET_2E, SPRITE_ANIM_SEQ_NULL, $00 ; 1f
+ db SPRITE_ANIM_FRAMESET_2F, SPRITE_ANIM_SEQ_NULL, $00 ; 20
+ db SPRITE_ANIM_FRAMESET_30, SPRITE_ANIM_SEQ_NULL, $00 ; 21
+ db SPRITE_ANIM_FRAMESET_31, SPRITE_ANIM_SEQ_NULL, $00 ; 22
+ db SPRITE_ANIM_FRAMESET_32, SPRITE_ANIM_SEQ_1B, $00 ; 23
+ db SPRITE_ANIM_FRAMESET_33, SPRITE_ANIM_SEQ_1C, $00 ; 24
+ db SPRITE_ANIM_FRAMESET_34, SPRITE_ANIM_SEQ_NULL, $00 ; 25
+ db SPRITE_ANIM_FRAMESET_35, SPRITE_ANIM_SEQ_1D, $00 ; 26
+ db SPRITE_ANIM_FRAMESET_37, SPRITE_ANIM_SEQ_1E, $00 ; 27
+ db SPRITE_ANIM_FRAMESET_38, SPRITE_ANIM_SEQ_1E, $00 ; 28
+ db SPRITE_ANIM_FRAMESET_39, SPRITE_ANIM_SEQ_20, $00 ; 29 intro unown
+ db SPRITE_ANIM_FRAMESET_3F, SPRITE_ANIM_SEQ_21, $00 ; 2a
+ db SPRITE_ANIM_FRAMESET_3E, SPRITE_ANIM_SEQ_22, $00 ; 2b
+ db SPRITE_ANIM_FRAMESET_40, SPRITE_ANIM_SEQ_NULL, $00 ; 2c
; 8d24b
+INCLUDE "engine/sprite_anims.asm" ; DoAnimFrame
-Function8d24b: ; 8d24b
- ld hl, $2 ; field 2, see the second column in the above table
- add hl, bc
- ld e, [hl]
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 8d25b
+INCLUDE "data/sprite_engine.asm"
+; SpriteAnimFrameData
+; SpriteAnimOAMData
-
-.Jumptable: ; 8d25b (23:525b)
- dw .zero ; town map
- dw .one ; bouncing mon icons
- dw .two
- dw .three
- dw .four
- dw .five
- dw .six ; Game Freak logo
- dw .seven
- dw .eight
- dw .nine
- dw .ten
- dw .eleven
- dw .twelve ; blinking cursor
- dw .thirteen
- dw .fourteen
- dw .fifteen
- dw .sixteen
- dw .seventeen
- dw .eighteen
- dw .nineteen
- dw .twenty
- dw .twentyone
- dw .twentytwo ; flying sprite
- dw .twentythree ; flying leaves
- dw .twentyfour
- dw .twentyfive
- dw .twentysix
- dw .twentyseven
- dw .twentyeight
- dw .twentynine ; intro suicune
- dw .thirty ; intro pichu wooper
- dw .thirtyone
- dw .thirtytwo ; intro unown
- dw .thirtythree ; intro unown F with suicune leaping up
- dw .thirtyfour ; intro suicune facing away from us
-
-
-.zero: ; 8d2a1 (23:52a1)
- ret
-
-.one: ; 8d2a2 (23:52a2)
- ld a, [MenuSelection2]
- ld hl, 0
- add hl, bc
- cp [hl]
- jr z, .two
- ld hl, $4
- add hl, bc
- ld [hl], $10
- ld hl, $7
- add hl, bc
- ld [hl], $0
- ret
-
-.two: ; 8d2b9 (23:52b9)
- ld hl, $4
- add hl, bc
- ld [hl], $18
- ld hl, $c
- add hl, bc
- ld a, [hl]
- ld d, a
- inc [hl]
- and $f
- ret nz
- ld hl, $d
- add hl, bc
- ld e, [hl]
- ld hl, $7
- add hl, bc
- ld a, d
- and $10 ; bit 4
- jr z, .asm_8d2df
- ld a, e
- and a
- jr z, .asm_8d2e6
- cp $1
- jr z, .asm_8d2e2
-.asm_8d2df
- xor a
- ld [hl], a
- ret
-.asm_8d2e2
- ld a, $ff
- ld [hl], a
- ret
-.asm_8d2e6
- ld a, $fe
- ld [hl], a
- ret
-
-.three: ; 8d2ea (23:52ea)
- ld a, [MenuSelection2]
- ld hl, 0
- add hl, bc
- cp [hl]
- jr z, .asm_8d2fb
- ld hl, $4
- add hl, bc
- ld [hl], $10
- ret
-.asm_8d2fb
- ld hl, $4
- add hl, bc
- ld [hl], $18
- ret
-
-.four: ; 8d302 (23:5302)
- call .anonymous_jumptable
- jp [hl]
-; 8d306 (23:5306)
-
-; Anonymous jumptable (see .anonymous_jumptable)
- dw .four_zero
- dw .four_one
-; 8d30a
-
-.four_zero: ; 8d30a
- call .asm_8d6d8
- ld hl, 0
- add hl, bc
- ld a, [hl]
- ld hl, $d
- add hl, bc
- and $3
- ld [hl], a
- inc [hl]
- swap a
- ld hl, $c
- add hl, bc
- ld [hl], a
-
-.four_one: ; 8d321
- ld hl, $4
- add hl, bc
- ld a, [hl]
- cp $a4
- jr nc, .asm_8d356
- ld hl, $d
- add hl, bc
- add $4
- ld hl, $4
- add hl, bc
- ld [hl], a
- ld hl, $5
- add hl, bc
- inc [hl]
- ld hl, $d
- add hl, bc
- ld a, [hl]
- sla a
- sla a
- ld d, $2
- ld hl, $c
- add hl, bc
- ld a, [hl]
- add $3
- ld [hl], a
- call .asm_8d6de
- ld hl, $7
- add hl, bc
- ld [hl], a
- ret
-
-.asm_8d356
- call Function8d036
- ret
-; 8d35a
-
-.twentyfive: ; 8d35a (23:535a)
- ld hl, $c
- add hl, bc
- ld a, [hl]
- inc a
- ld [hl], a
- ld d, $2
- call .asm_8d6de
- ld hl, $7
- add hl, bc
- ld [hl], a
- ret
-
-.five: ; 8d36c (23:536c)
- callab Function11a3b
- ret
-
-.twelve: ; 8d373 (23:5373)
- callab Function120c1
- ret
-
-.six: ; 8d37a (23:537a)
- callab GameFreakLogoJumper
- ret
-
-.seven: ; 8d381 (23:5381)
- ld hl, $c
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_8d3ba
-rept 2
- dec [hl]
-endr
- ld d, a
- and $1f
- jr nz, .asm_8d395
- ld hl, $d
- add hl, bc
- dec [hl]
-.asm_8d395
- ld hl, $b
- add hl, bc
- ld a, [hl]
- push af
- push de
- call .asm_8d6de
- ld hl, $7
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call .asm_8d6e2
- ld hl, $6
- add hl, bc
- ld [hl], a
- ld hl, $d
- add hl, bc
- ld a, [hl]
- ld hl, $b
- add hl, bc
- add [hl]
- ld [hl], a
- ret
-.asm_8d3ba
- ld a, $1
- ld [wcf64], a
- call Function8d036
- ret
-
-.eight: ; 8d3c3 (23:53c3)
- ld hl, $c
- add hl, bc
- ld a, [hli]
- or [hl]
- jr z, .asm_8d41e
- ld hl, $f
- add hl, bc
- ld d, [hl]
- ld hl, $b
- add hl, bc
- ld a, [hl]
- push af
- push de
- call .asm_8d6de
- ld hl, $7
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call .asm_8d6e2
- ld hl, $6
- add hl, bc
- ld [hl], a
- ld hl, $c
- add hl, bc
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld hl, $e
- add hl, bc
- ld a, [hli]
- ld h, [hl]
- ld l, a
- add hl, de
- ld e, l
- ld d, h
- ld hl, $e
- add hl, bc
- ld [hl], e
- inc hl
- ld [hl], d
- ld hl, $c
- add hl, bc
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld de, -$10
- add hl, de
- ld e, l
- ld d, h
- ld hl, $c
- add hl, bc
- ld [hl], e
- inc hl
- ld [hl], d
- ld hl, $b
- add hl, bc
- ld a, [hl]
- xor $20
- ld [hl], a
- ret
-.asm_8d41e
- call Function8d036
- ret
-
-.nine: ; 8d422 (23:5422)
- callab Function9321d
- ret
-
-.ten: ; 8d429 (23:5429)
- callab Function932ac
- ld hl, wcf64
- ld a, [hl]
- cp $2
- ret nz
- ld [hl], $3
- ld a, $f
- call Function8d120
- ret
-
-.eleven: ; 8d43e (23:543e)
- ld hl, $b
- add hl, bc
- ld a, [hl]
- dec [hl]
- ld e, a
- and $1
- jr z, .asm_8d462
- ld hl, $4
- add hl, bc
- ld a, [hl]
- cp $78
- jr c, .asm_8d461
- call Function8d036
- ld a, $4
- ld [wcf64], a
- ld de, SFX_PLACE_PUZZLE_PIECE_DOWN
- call PlaySFX
- ret
-.asm_8d461
- inc [hl]
-.asm_8d462
- ld a, e
- ld d, $20
- call .asm_8d6de
- ld hl, $7
- add hl, bc
- ld [hl], a
- ret
-
-.thirteen: ; 8d46e (23:546e)
- callab Functione00ed
- ret
-
-.fifteen: ; 8d475 (23:5475)
- callab Function90d41
- ret
-
-.fourteen: ; 8d47c (23:547c)
- callab Functione21a1
- ret
-
-.sixteen: ; 8d483 (23:5483)
- call .anonymous_jumptable
- jp [hl]
-; 8d487 (23:5487)
-
-; Anonymous jumptable (see .anonymous_jumptable)
- dw .sixteen_zero
- dw .sixteen_one
- dw .sixteen_two
- dw .sixteen_three
- dw .sixteen_four
- dw .sixteen_five
-; 8d493
-
-.sixteen_zero: ; 8d493
- ld a, $14
- call Function8d120
- ld hl, $b
- add hl, bc
- ld [hl], $2
- ld hl, $c
- add hl, bc
- ld [hl], $20
- ret
-; 8d4a5
-
-.sixteen_two: ; 8d4a5
- ld hl, $c
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_8d4af
- dec [hl]
- ret
-
-.asm_8d4af
- call .asm_8d6d8
- ld hl, $c
- add hl, bc
- ld [hl], $40
-
-.sixteen_three: ; 8d4b8
- ld hl, $c
- add hl, bc
- ld a, [hl]
- cp $30
- jr c, .asm_8d4cd
- dec [hl]
- ld d, $28
- call .asm_8d6de
- ld hl, $7
- add hl, bc
- ld [hl], a
- ret
-
-.asm_8d4cd
- ld de, SFX_GOT_SAFARI_BALLS
- call PlaySFX
- jr .sixteen_five
-; 8d4d5
-
-.sixteen_one: ; 8d4d5
- ld hl, $b
- add hl, bc
- ld [hl], $4
- ld hl, $c
- add hl, bc
- ld [hl], $30
- ld hl, $d
- add hl, bc
- ld [hl], $24
- ret
-; 8d4e8
-
-.sixteen_four: ; 8d4e8
- ld hl, $d
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_8d51c
- ld d, a
- ld hl, $c
- add hl, bc
- ld a, [hl]
- call Function8e72c
- ld hl, $7
- add hl, bc
- ld [hl], a
- ld hl, $c
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $3f
- ret nz
- ld hl, $c
- add hl, bc
- ld [hl], $20
- ld hl, $d
- add hl, bc
- ld a, [hl]
- sub $c
- ld [hl], a
- ld de, SFX_SWITCH_POKEMON
- call PlaySFX
- ret
-
-.asm_8d51c
- xor a
- ld hl, $7
- add hl, bc
- ld [hl], a
- call .asm_8d6d8
- ret
-
-.sixteen_five: ; 8d526
- call Function8d036
- ret
-; 8d52a
-
-.seventeen: ; 8d52a (23:552a)
- ld hl, $4
- add hl, bc
- ld a, [hl]
-rept 2
- inc [hl]
-endr
- cp $b0
- jr nc, .asm_8d53f
- and $3
- ret nz
- ld de, SFX_POKEBALLS_PLACED_ON_TABLE
- call PlaySFX
- ret
-
-.asm_8d53f
- call Function8d036
- ret
-
-.eighteen: ; 8d543 (23:5543)
- callab Function29676
- ret
-
-.nineteen: ; 8d54a (23:554a)
- ld hl, $c
- add hl, bc
- ld a, [hl]
- cp $80
- jr nc, .asm_8d574
- ld d, a
- add $8
- ld [hl], a
- ld hl, $b
- add hl, bc
- ld a, [hl]
- xor $20
- ld [hl], a
- push af
- push de
- call .asm_8d6de
- ld hl, $7
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call .asm_8d6e2
- ld hl, $6
- add hl, bc
- ld [hl], a
- ret
-.asm_8d574
- call Function8d036
- ret
-
-.twenty: ; 8d578 (23:5578)
- callab Function91640
- ret
-
-.twentyone: ; 8d57f (23:557f)
- ld hl, $d
- add hl, bc
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld hl, $80
- add hl, de
- ld e, l
- ld d, h
- ld hl, $d
- add hl, bc
- ld [hl], e
- inc hl
- ld [hl], d
- ld hl, $c
- add hl, bc
- ld a, [hl]
-rept 3
- inc [hl]
-endr
- push af
- push de
- call .asm_8d6de
- ld hl, $7
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call .asm_8d6e2
- ld hl, $6
- add hl, bc
- ld [hl], a
- ret
-
-.twentytwo: ; 8d5b0 (23:55b0)
- ld hl, $5
- add hl, bc
- ld a, [hl]
- and a
- ret z
- ld hl, $d
- add hl, bc
- ld a, [hl]
- inc [hl]
- cp $40
- ret c
- ld hl, $5
- add hl, bc
-rept 2
- dec [hl]
-endr
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld d, a
- cp $40
- jr nc, .asm_8d5d3
- add $8
- ld [hl], a
-.asm_8d5d3
- ld hl, $e
- add hl, bc
- ld a, [hl]
- inc [hl]
- call .asm_8d6e2
- ld hl, $6
- add hl, bc
- ld [hl], a
- ret
-
-.twentythree: ; 8d5e2 (23:55e2)
- ld hl, $4
- add hl, bc
- ld a, [hl]
- cp $b8
- jr nc, .asm_8d603
-rept 2
- inc [hl]
-endr
- ld hl, $5
- add hl, bc
- dec [hl]
- ld d, $40
- ld hl, $c
- add hl, bc
- ld a, [hl]
- inc [hl]
- call .asm_8d6e2
- ld hl, $6
- add hl, bc
- ld [hl], a
- ret
-.asm_8d603
- call Function8d036
- ret
-
-.twentyfour: ; 8d607 (23:5607)
- ld hl, $5
- add hl, bc
- ld a, [hl]
- cp $54
- ret z
- ld hl, $5
- add hl, bc
-rept 2
- inc [hl]
-endr
- ld hl, $f
- add hl, bc
- ld a, [hl]
- ld d, a
- and a
- jr z, .asm_8d621
- sub $2
- ld [hl], a
-.asm_8d621
- ld hl, $e
- add hl, bc
- ld a, [hl]
- inc [hl]
- call .asm_8d6e2
- ld hl, $6
- add hl, bc
- ld [hl], a
- ret
-
-.twentyseven: ; 8d630 (23:5630)
- callba Function108bc7
- ret
-
-.twentyeight: ; 8d637 (23:5637)
- callba Function108be0
- ret
-
-.twentynine: ; 8d63e (23:563e)
- ld a, [wcf65]
- and a
- jr nz, .asm_8d645
- ret
-.asm_8d645
- ld hl, $7
- add hl, bc
- ld [hl], $0
- ld hl, $d
- add hl, bc
- ld a, [hl]
- add $2
- ld [hl], a
- xor $ff
- inc a
- ld d, $20
- call .asm_8d6de
- ld hl, $7
- add hl, bc
- ld [hl], a
- ld a, $36
- call Function8d120
- ret
-
-.thirty: ; 8d666 (23:5666)
- ld hl, $c
- add hl, bc
- ld a, [hl]
- cp $14
- jr nc, .asm_8d67f
- add $2
- ld [hl], a
- xor $ff
- inc a
- ld d, $20
- call .asm_8d6de
- ld hl, $7
- add hl, bc
- ld [hl], a
-.asm_8d67f
- ret
-
-.thirtytwo: ; 8d680 (23:5680)
- ld hl, $b
- add hl, bc
- ld d, [hl]
-rept 3
- inc [hl]
-endr
- ld hl, $c
- add hl, bc
- ld a, [hl]
- push af
- push de
- call .asm_8d6de
- ld hl, $7
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call .asm_8d6e2
- ld hl, $6
- add hl, bc
- ld [hl], a
- ret
-
-.thirtythree: ; 8d6a2 (23:56a2)
- ld a, [wcf64]
- cp $40
- ret nz
- ld a, $3d
- call Function8d120
- ret
-
-.thirtyfour: ; 8d6ae (23:56ae)
- ld hl, $5
- add hl, bc
- ld a, [hl]
+Sprites_Cosine: ; 8e72a
add $10
- ld [hl], a
- ret
-
-.twentysix: ; 8d6b7 (23:56b7)
- callba Function11d0b6
- ret
-
-.thirtyone: ; 8d6be (23:56be)
- callba Function49aa2
- ret
-
-.anonymous_jumptable: ; 8d6c5 (23:56c5)
- ld hl, [sp+$0]
- ld e, [hl]
- inc hl
- ld d, [hl]
- inc de
- ld hl, $b
- add hl, bc
- ld l, [hl]
- ld h, $0
- add hl, hl
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ret
-; 8d6d8 (23:56d8)
-
-.asm_8d6d8: ; 8d6d8
- ld hl, $b
- add hl, bc
- inc [hl]
- ret
-; 8d6de
-
-.asm_8d6de: ; 8d6de (23:56de)
- call Function8e72c
- ret
-
-.asm_8d6e2: ; 8d6e2 (23:56e2)
- call Function8e72a
- ret
-; 8d6e6 (23:56e6)
-
-Unknown_8d6e6: ; 8d6e6
- dw Unknown_8d76a
- dw Unknown_8d76d
- dw Unknown_8d772
- dw Unknown_8d777
- dw Unknown_8d77c
- dw Unknown_8d781
- dw Unknown_8d786
- dw Unknown_8d7a6
- dw Unknown_8d7ab
- dw Unknown_8d7b0
- dw Unknown_8d7b5
- dw Unknown_8d7d4
- dw Unknown_8d7d9
- dw Unknown_8d7e2
- dw Unknown_8d7eb
- dw Unknown_8d7f4
- dw Unknown_8d7ff
- dw Unknown_8d78b
- dw Unknown_8d802
- dw Unknown_8d805
- dw Unknown_8d808
- dw Unknown_8d811
- dw Unknown_8d818
- dw Unknown_8d81d
- dw Unknown_8d822
- dw Unknown_8d825
- dw Unknown_8d82c
- dw Unknown_8d82f
- dw Unknown_8d861
- dw Unknown_8d864
- dw Unknown_8d867
- dw Unknown_8d874
- dw Unknown_8d877
- dw Unknown_8d87a
- dw Unknown_8d87d
- dw Unknown_8d880
- dw Unknown_8d883
- dw Unknown_8d890
- dw Unknown_8d899
- dw Unknown_8d89c
- dw Unknown_8d89f
- dw Unknown_8d8a2
- dw Unknown_8d8a5
- dw Unknown_8d8a8
- dw Unknown_8d8ab
- dw Unknown_8d794
- dw Unknown_8d79d
- dw Unknown_8d8ae
- dw Unknown_8d8cd
- dw Unknown_8d8ec
- dw Unknown_8d8f1
- dw Unknown_8d8f4
- dw Unknown_8d8f7
- dw Unknown_8d8fe
- dw Unknown_8d907
- dw Unknown_8d90c
- dw Unknown_8d913
- dw Unknown_8d916
- dw Unknown_8d91d
- dw Unknown_8d924
- dw Unknown_8d92b
- dw Unknown_8d932
- dw Unknown_8d93d
- dw Unknown_8d940
- dw Unknown_8d943
- dw Unknown_8d948
-; 8d76a
-
-Unknown_8d76a: dw $2000
- db -1
-Unknown_8d76d: dw $0800, $0801
- db -2
-Unknown_8d772: dw $083d, $083e
- db -2
-Unknown_8d777: dw $083f, $0840
- db -2
-Unknown_8d77c: dw $0400, $0401
- db -2
-Unknown_8d781: dw $043d, $043e
- db -2
-Unknown_8d786: dw $043f, $0440
- db -2
-Unknown_8d78b: dw $0800, $0801, $0800, $4801
- db -2
-Unknown_8d794: dw $0863, $0864, $0863, $4864
- db -2
-Unknown_8d79d: dw $0865, $0866, $0865, $4866
- db -2
-Unknown_8d7a6: dw $011e, $011f
- db -2
-Unknown_8d7ab: dw $0120, $01fd
- db -2
-Unknown_8d7b0: dw $0121, $01fd
- db -2
-Unknown_8d7b5: dw $0c81, $0182, $0183, $0482, $0c81, $0c82, $0483, $2084, $0385, $0386, $0487, $0488, $0489, $0a8a, $078b
- db -1
-Unknown_8d7d4: dw $0323, $8323
- db -2
-Unknown_8d7d9: dw $0224, $0225, $0226, $0225
- db -2
-Unknown_8d7e2: dw $0727, $0728, $8727, $4728
- db -2
-Unknown_8d7eb: dw $0729, $072a, $0729, $072b
- db -2
-Unknown_8d7f4: dw $0729, $072c, $072d, $072c, $0729
- db -1
-Unknown_8d7ff: dw $142e
- db -1
-Unknown_8d802: dw $202f
- db -1
-Unknown_8d805: dw $2030
- db -1
-Unknown_8d808: dw $0330, $0331, $0330, $4331
- db -2
-Unknown_8d811: dw $0432, $0433, $0434
- db -4
-Unknown_8d818: dw $0335, $0336
- db -2
-Unknown_8d81d: dw $0737, $0738
- db -2
-Unknown_8d822: dw $2039
- db -1
-Unknown_8d825: dw $023b, $023a, $023b
- db -1
-Unknown_8d82c: dw $203c
- db -1
-Unknown_8d82f: dw $0841, $0842, $0841, $4842
- db -2
- dw $0843, $0844
- db -2
- dw $0845, $0846
- db -2
- dw $0847, $0848
- db -2
- dw $0149, $4149, $c149, $8149
- db -2
- dw $204a
- db -1
- dw $204b
- db -1
- dw $204c
- db -1
- dw $204d
- db -1
- dw $034e, $03fd
- db -2
-Unknown_8d861: dw $20fd
- db -1
-Unknown_8d864: dw $204f
- db -1
-Unknown_8d867: dw $0250, $1051, $01fd, $0152, $01fd, $0153
- db -4
-Unknown_8d874: dw $2054
- db -1
-Unknown_8d877: dw $2055
- db -1
-Unknown_8d87a: dw $6055
- db -1
-Unknown_8d87d: dw $a055
- db -1
-Unknown_8d880: dw $e055
- db -1
-Unknown_8d883: dw $0a56, $0957, $0a58, $0a59, $0958, $0a5a
- db -2
-Unknown_8d890: dw $0250, $025b, $0250, $425b
- db -2
-Unknown_8d899: dw $025c
- db -1
-Unknown_8d89c: dw $025d
- db -1
-Unknown_8d89f: dw $025e
- db -1
-Unknown_8d8a2: dw $025f
- db -1
-Unknown_8d8a5: dw $0260
- db -1
-Unknown_8d8a8: dw $0261
- db -1
-Unknown_8d8ab: dw $0262
- db -1
-Unknown_8d8ae: dw $0332, $0333, $0334, $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331
- db -1
-Unknown_8d8cd: dw $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331, $0332, $0333, $0334
- db -4
-Unknown_8d8ec: dw $0367, $0368
- db -2
-Unknown_8d8f1: dw $036c
- db -1
-Unknown_8d8f4: dw $036d
- db -1
-Unknown_8d8f7: dw $0269, $026a, $026b
- db -4
-Unknown_8d8fe: dw $036e, $036f, $0370, $0371
- db -2
-Unknown_8d907: dw $0371, $076e
- db -1
-Unknown_8d90c: dw $2072, $0773, $0774
- db -1
-Unknown_8d913: dw $0375
- db -1
-Unknown_8d916: dw $0376, $0377, $0778
- db -4
-Unknown_8d91d: dw $4376, $4377, $4778
- db -4
-Unknown_8d924: dw $8376, $8377, $8778
- db -4
-Unknown_8d92b: dw $c376, $c377, $c778
- db -4
-Unknown_8d932: dw $0379, $037a, $037b, $077c, $077d
- db -1
-Unknown_8d93d: dw $037e
- db -1
-Unknown_8d940: dw $00fd
- db -1
-Unknown_8d943: dw $087f, $0880
- db -1
-Unknown_8d948: dw $487f, $4880
- db -1
-; 8d94d
-
-Unknown_8d94d: ; 8d94d
- dbw $00, Unknown_8dd8a ; 00
- dbw $04, Unknown_8dd8a ; 01
- dbw $4c, Unknown_8daf1 ; 02
- dbw $5c, Unknown_8daf1 ; 03
- dbw $6c, Unknown_8daf6 ; 04
- dbw $6e, Unknown_8daf6 ; 05
- dbw $2d, Unknown_8ddf0 ; 06
- dbw $4d, Unknown_8ddf0 ; 07
- dbw $60, Unknown_8de09 ; 08
- dbw $00, Unknown_8de09 ; 09
- dbw $00, Unknown_8de09 ; 0a
- dbw $06, Unknown_8de09 ; 0b
- dbw $0c, Unknown_8de7e ; 0c
- dbw $0d, Unknown_8daf1 ; 0d
- dbw $00, Unknown_8dc53 ; 0e
- dbw $04, Unknown_8dc53 ; 0f
- dbw $08, Unknown_8dc53 ; 10
- dbw $40, Unknown_8dc53 ; 11
- dbw $44, Unknown_8dc53 ; 12
- dbw $48, Unknown_8dc53 ; 13
- dbw $4c, Unknown_8dc53 ; 14
- dbw $80, Unknown_8de87 ; 15
- dbw $85, Unknown_8de87 ; 16
- dbw $8a, Unknown_8de87 ; 17
- dbw $00, Unknown_8db29 ; 18
- dbw $01, Unknown_8db5c ; 19
- dbw $09, Unknown_8db9d ; 1a
- dbw $10, Unknown_8dc94 ; 1b
- dbw $29, Unknown_8dc94 ; 1c
- dbw $42, Unknown_8dc94 ; 1d
- dbw $f8, Unknown_8e17e ; 1e
- dbw $fa, Unknown_8e17e ; 1f
- dbw $00, Unknown_8deb2 ; 20
- dbw $00, Unknown_8dec3 ; 21
- dbw $00, Unknown_8deec ; 22
- dbw $0f, Unknown_8db07 ; 23
- dbw $11, Unknown_8daf1 ; 24
- dbw $12, Unknown_8daf1 ; 25
- dbw $13, Unknown_8daf1 ; 26
- dbw $00, Unknown_8df29 ; 27
- dbw $08, Unknown_8df29 ; 28
- dbw $10, Unknown_8df42 ; 29
- dbw $10, Unknown_8df5b ; 2a
- dbw $10, Unknown_8df74 ; 2b
- dbw $10, Unknown_8df8d ; 2c
- dbw $10, Unknown_8dfa6 ; 2d
- dbw $3a, Unknown_8daf1 ; 2e
- dbw $00, Unknown_8dd8a ; 2f
- dbw $00, Unknown_8db18 ; 30
- dbw $02, Unknown_8dd9b ; 31
- dbw $06, Unknown_8db5c ; 32
- dbw $0a, Unknown_8db5c ; 33
- dbw $0e, Unknown_8db5c ; 34
- dbw $12, Unknown_8db3a ; 35
- dbw $13, Unknown_8db3a ; 36
- dbw $00, Unknown_8dd8a ; 37
- dbw $04, Unknown_8dd8a ; 38
- dbw $10, Unknown_8db5c ; 39
- dbw $00, Unknown_8dd9b ; 3a
- dbw $04, Unknown_8daf1 ; 3b
- dbw $00, Unknown_8dfbf ; 3c
- dbw $00, Unknown_8ddac ; 3d
- dbw $00, Unknown_8ddbd ; 3e
- dbw $00, Unknown_8ddce ; 3f
- dbw $00, Unknown_8dddf ; 40
- dbw $00, Unknown_8dd9b ; 41
- dbw $04, Unknown_8dd9b ; 42
- dbw $00, Unknown_8dc2e ; 43
- dbw $30, Unknown_8dc2e ; 44
- dbw $03, Unknown_8dc2e ; 45
- dbw $33, Unknown_8dc2e ; 46
- dbw $06, Unknown_8dc2e ; 47
- dbw $36, Unknown_8dc2e ; 48
- dbw $09, Unknown_8dc2e ; 49
- dbw $39, Unknown_8dc2e ; 4a
- dbw $0c, Unknown_8dfcc ; 4b
- dbw $0c, Unknown_8dfe5 ; 4c
- dbw $3c, Unknown_8daf1 ; 4d
- dbw $3e, Unknown_8daf1 ; 4e
- dbw $00, Unknown_8de9c ; 4f
- dbw $00, Unknown_8dea1 ; 50
- dbw $00, Unknown_8dff6 ; 51
- dbw $00, Unknown_8e007 ; 52
- dbw $00, Unknown_8e018 ; 53
- dbw $00, Unknown_8daf1 ; 54
- dbw $01, Unknown_8daf1 ; 55
- dbw $00, Unknown_8e029 ; 56
- dbw $00, Unknown_8e076 ; 57
- dbw $00, Unknown_8e0b7 ; 58
- dbw $00, Unknown_8e0f4 ; 59
- dbw $00, Unknown_8e139 ; 5a
- dbw $04, Unknown_8dea1 ; 5b
- dbw $00, Unknown_8e183 ; 5c
- dbw $00, Unknown_8e1b4 ; 5d
- dbw $00, Unknown_8e1b9 ; 5e
- dbw $00, Unknown_8e1ca ; 5f
- dbw $00, Unknown_8e1eb ; 60
- dbw $00, Unknown_8e1f0 ; 61
- dbw $00, Unknown_8e1f9 ; 62
- dbw $00, Unknown_8e202 ; 63
- dbw $04, Unknown_8e202 ; 64
- dbw $00, Unknown_8e213 ; 65
- dbw $04, Unknown_8e213 ; 66
- dbw $20, Unknown_8e224 ; 67
- dbw $21, Unknown_8e224 ; 68
- dbw $22, Unknown_8e24b ; 69
- dbw $23, Unknown_8e25c ; 6a
- dbw $27, Unknown_8e27d ; 6b
- dbw $2a, Unknown_8e229 ; 6c
- dbw $2a, Unknown_8e23a ; 6d
- dbw $00, Unknown_8e2ae ; 6e
- dbw $08, Unknown_8e33f ; 6f
- dbw $60, Unknown_8e3b0 ; 70
- dbw $68, Unknown_8e429 ; 71
- dbw $00, Unknown_8e4a6 ; 72
- dbw $05, Unknown_8e4a6 ; 73
- dbw $0a, Unknown_8e4a6 ; 74
- dbw $50, Unknown_8e50b ; 75
- dbw $00, Unknown_8e54c ; 76
- dbw $01, Unknown_8e551 ; 77
- dbw $04, Unknown_8e55e ; 78
- dbw $00, Unknown_8db29 ; 79
- dbw $01, Unknown_8e57b ; 7a
- dbw $03, Unknown_8e59c ; 7b
- dbw $08, Unknown_8e5cd ; 7c
- dbw $1c, Unknown_8e5cd ; 7d
- dbw $80, Unknown_8e61e ; 7e
- dbw $00, Unknown_8e66f ; 7f
- dbw $04, Unknown_8e66f ; 80
- dbw $d0, Unknown_8e680 ; 81
- dbw $d3, Unknown_8e680 ; 82
- dbw $d6, Unknown_8e680 ; 83
- dbw $6c, Unknown_8e6a5 ; 84
- dbw $68, Unknown_8e6a5 ; 85
- dbw $64, Unknown_8e6a5 ; 86
- dbw $60, Unknown_8e6a5 ; 87
- dbw $0c, Unknown_8e6a5 ; 88
- dbw $08, Unknown_8e6a5 ; 89
- dbw $04, Unknown_8e6a5 ; 8a
- dbw $00, Unknown_8e6a5 ; 8b
-; 8daf1
-
-
-Unknown_8daf1: ; 8daf1
- db 1
- db $fc, $fc, $00, $00
-; 8daf6
-
-Unknown_8daf6: ; 8daf6
- db 4
- db $f8, $f8, $00, $00
- db $f8, $00, $01, $00
- db $00, $f8, $10, $00
- db $00, $00, $11, $00
-; 8db07
-
-Unknown_8db07: ; 8db07
- db 4
- db $f8, $f8, $00, $00
- db $f8, $00, $00, $20
- db $00, $f8, $01, $00
- db $00, $00, $01, $20
-; 8db18
-
-Unknown_8db18: ; 8db18
- db 4
- db $f8, $f8, $00, $80
- db $f8, $00, $00, $a0
- db $00, $f8, $01, $80
- db $00, $00, $01, $a0
-; 8db29
-
-Unknown_8db29: ; 8db29
- db 4
- db $f8, $f8, $00, $00
- db $f8, $00, $00, $20
- db $00, $f8, $00, $40
- db $00, $00, $00, $60
-; 8db3a
-
-Unknown_8db3a: ; 8db3a
- db 4
- db $f8, $f8, $00, $07
- db $f8, $00, $00, $27
- db $00, $f8, $00, $47
- db $00, $00, $00, $67
-; 8db4b
-
-; 8db4b
- db 4
- db $f8, $f8, $00, $80
- db $f8, $00, $00, $a0
- db $00, $f8, $00, $c0
- db $00, $00, $00, $e0
-; 8db5c
-
-Unknown_8db5c: ; 8db5c
- db 16
- db $f0, $f0, $00, $00
- db $f0, $f8, $01, $00
- db $f8, $f0, $02, $00
- db $f8, $f8, $03, $00
- db $f0, $00, $01, $20
- db $f0, $08, $00, $20
- db $f8, $00, $03, $20
- db $f8, $08, $02, $20
- db $00, $f0, $02, $40
- db $00, $f8, $03, $40
- db $08, $f0, $00, $40
- db $08, $f8, $01, $40
- db $00, $00, $03, $60
- db $00, $08, $02, $60
- db $08, $00, $01, $60
- db $08, $08, $00, $60
-; 8db9d
-
-Unknown_8db9d: ; 8db9d
- db 36
- db $e8, $e8, $00, $00
- db $e8, $f0, $01, $00
- db $e8, $f8, $02, $00
- db $f0, $e8, $03, $00
- db $f0, $f0, $04, $00
- db $f0, $f8, $05, $00
- db $f8, $e8, $06, $00
- db $f8, $f0, $05, $00
- db $f8, $f8, $05, $00
- db $e8, $00, $02, $20
- db $e8, $08, $01, $20
- db $e8, $10, $00, $20
- db $f0, $00, $05, $20
- db $f0, $08, $04, $20
- db $f0, $10, $03, $20
- db $f8, $00, $05, $20
- db $f8, $08, $05, $20
- db $f8, $10, $06, $20
- db $00, $e8, $06, $40
- db $00, $f0, $05, $40
- db $00, $f8, $05, $40
- db $08, $e8, $03, $40
- db $08, $f0, $04, $40
- db $08, $f8, $05, $40
- db $10, $e8, $00, $40
- db $10, $f0, $01, $40
- db $10, $f8, $02, $40
- db $00, $00, $05, $60
- db $00, $08, $05, $60
- db $00, $10, $06, $60
- db $08, $00, $05, $60
- db $08, $08, $04, $60
- db $08, $10, $03, $60
- db $10, $00, $02, $60
- db $10, $08, $01, $60
- db $10, $10, $00, $60
-; 8dc2e
-
-Unknown_8dc2e: ; 8dc2e
- db 9
- db $f4, $f4, $00, $00
- db $f4, $fc, $01, $00
- db $f4, $04, $02, $00
- db $fc, $f4, $10, $00
- db $fc, $fc, $11, $00
- db $fc, $04, $12, $00
- db $04, $f4, $20, $00
- db $04, $fc, $21, $00
- db $04, $04, $22, $00
-; 8dc53
-
-Unknown_8dc53: ; 8dc53
- db 16
- db $f0, $f0, $00, $00
- db $f0, $f8, $01, $00
- db $f0, $00, $02, $00
- db $f0, $08, $03, $00
- db $f8, $f0, $10, $00
- db $f8, $f8, $11, $00
- db $f8, $00, $12, $00
- db $f8, $08, $13, $00
- db $00, $f0, $20, $00
- db $00, $f8, $21, $00
- db $00, $00, $22, $00
- db $00, $08, $23, $00
- db $08, $f0, $30, $00
- db $08, $f8, $31, $00
- db $08, $00, $32, $00
- db $08, $08, $33, $00
-; 8dc94
-
-Unknown_8dc94: ; 8dc94
- db 25
- db $ec, $ec, $00, $00
- db $f4, $ec, $01, $00
- db $fc, $ec, $02, $00
- db $04, $ec, $03, $00
- db $0c, $ec, $04, $00
- db $ec, $f4, $05, $00
- db $f4, $f4, $06, $00
- db $fc, $f4, $07, $00
- db $04, $f4, $08, $00
- db $0c, $f4, $09, $00
- db $ec, $fc, $0a, $00
- db $f4, $fc, $0b, $00
- db $fc, $fc, $0c, $00
- db $04, $fc, $0d, $00
- db $0c, $fc, $0e, $00
- db $ec, $04, $0f, $00
- db $f4, $04, $10, $00
- db $fc, $04, $11, $00
- db $04, $04, $12, $00
- db $0c, $04, $13, $00
- db $ec, $0c, $14, $00
- db $f4, $0c, $15, $00
- db $fc, $0c, $16, $00
- db $04, $0c, $17, $00
- db $0c, $0c, $18, $00
-; 8dcf9
-
-; 8dcf9
- db 36
- db $e8, $e8, $00, $00
- db $e8, $f0, $01, $00
- db $e8, $f8, $02, $00
- db $e8, $00, $03, $00
- db $e8, $08, $04, $00
- db $e8, $10, $05, $00
- db $f0, $e8, $06, $00
- db $f0, $f0, $07, $00
- db $f0, $f8, $08, $00
- db $f0, $00, $09, $00
- db $f0, $08, $0a, $00
- db $f0, $10, $0b, $00
- db $f8, $e8, $0c, $00
- db $f8, $f0, $0d, $00
- db $f8, $f8, $0e, $00
- db $f8, $00, $0f, $00
- db $f8, $08, $10, $00
- db $f8, $10, $11, $00
- db $00, $e8, $12, $00
- db $00, $f0, $13, $00
- db $00, $f8, $14, $00
- db $00, $00, $15, $00
- db $00, $08, $16, $00
- db $00, $10, $17, $00
- db $08, $e8, $18, $00
- db $08, $f0, $19, $00
- db $08, $f8, $1a, $00
- db $08, $00, $1b, $00
- db $08, $08, $1c, $00
- db $08, $10, $1d, $00
- db $10, $e8, $1e, $00
- db $10, $f0, $1f, $00
- db $10, $f8, $20, $00
- db $10, $00, $21, $00
- db $10, $08, $22, $00
- db $10, $10, $23, $00
-; 8dd8a
-
-Unknown_8dd8a: ; 8dd8a
- db 4
- db $f8, $f8, $00, $00
- db $f8, $00, $01, $00
- db $00, $f8, $02, $00
- db $00, $00, $03, $00
-; 8dd9b
-
-Unknown_8dd9b: ; 8dd9b
- db 4
- db $f8, $f8, $00, $80
- db $f8, $00, $01, $80
- db $00, $f8, $02, $80
- db $00, $00, $03, $80
-; 8ddac
-
-Unknown_8ddac: ; 8ddac
- db 4
- db $f8, $f8, $00, $00
- db $f8, $00, $01, $00
- db $00, $f8, $08, $00
- db $00, $00, $03, $00
-; 8ddbd
-
-Unknown_8ddbd: ; 8ddbd
- db 4
- db $f8, $f8, $04, $00
- db $f8, $00, $05, $00
- db $00, $f8, $08, $00
- db $00, $00, $07, $00
-; 8ddce
-
-Unknown_8ddce: ; 8ddce
- db 4
- db $f8, $f8, $00, $00
- db $f8, $00, $01, $00
- db $00, $f8, $09, $00
- db $00, $00, $03, $00
-; 8dddf
-
-Unknown_8dddf: ; 8dddf
- db 4
- db $f8, $f8, $04, $00
- db $f8, $00, $05, $00
- db $00, $f8, $09, $00
- db $00, $00, $07, $00
-; 8ddf0
-
-Unknown_8ddf0: ; 8ddf0
- db 6
- db $f8, $f4, $00, $01
- db $f8, $fc, $01, $01
- db $f8, $04, $02, $01
- db $00, $f4, $10, $01
- db $00, $fc, $11, $01
- db $00, $04, $12, $01
-; 8de09
-
-Unknown_8de09: ; 8de09
- db 29
- db $e8, $e8, $00, $00
- db $e8, $f0, $01, $00
- db $e8, $f8, $02, $00
- db $e8, $00, $03, $00
- db $f0, $e8, $10, $00
- db $f0, $f0, $11, $00
- db $f0, $f8, $12, $00
- db $f0, $00, $13, $00
- db $f8, $e8, $20, $00
- db $f8, $f0, $21, $00
- db $f8, $f8, $22, $00
- db $f8, $00, $23, $00
- db $f8, $08, $24, $00
- db $00, $e8, $30, $80
- db $00, $f0, $31, $80
- db $00, $f8, $32, $80
- db $00, $00, $33, $80
- db $00, $08, $34, $80
- db $08, $e8, $40, $80
- db $08, $f0, $41, $80
- db $08, $f8, $42, $80
- db $08, $00, $43, $80
- db $08, $08, $44, $80
- db $08, $10, $45, $80
- db $10, $f0, $51, $80
- db $10, $f8, $52, $80
- db $10, $00, $53, $80
- db $10, $08, $54, $80
- db $10, $10, $55, $80
-; 8de7e
-
-Unknown_8de7e: ; 8de7e
- db 2
- db $f8, $fc, $00, $00
- db $00, $fc, $10, $00
-; 8de87
-
-Unknown_8de87: ; 8de87
- db 5
- db $f0, $18, $00, $00
- db $f0, $20, $01, $00
- db $f8, $10, $02, $00
- db $f8, $18, $03, $00
- db $00, $10, $04, $00
-; 8de9c
-
-Unknown_8de9c: ; 8de9c
- db 1
- db $fc, $fc, $00, $06
-; 8dea1
-
-Unknown_8dea1: ; 8dea1
- db 4
- db $f8, $f8, $00, $06
- db $f8, $00, $01, $06
- db $00, $f8, $02, $06
- db $00, $00, $03, $06
-; 8deb2
-
-Unknown_8deb2: ; 8deb2
- db 4
- db $ff, $ff, $00, $00
- db $ff, $00, $00, $20
- db $00, $ff, $00, $40
- db $00, $00, $00, $60
-; 8dec3
-
-Unknown_8dec3: ; 8dec3
- db 10
- db $ff, $00, $00, $00
- db $ff, $08, $01, $00
- db $ff, $10, $01, $00
- db $ff, $18, $01, $00
- db $ff, $20, $00, $20
- db $00, $00, $00, $40
- db $00, $08, $01, $40
- db $00, $10, $01, $40
- db $00, $18, $01, $40
- db $00, $20, $00, $60
-; 8deec
-
-Unknown_8deec: ; 8deec
- db 15
- db $ec, $f4, $00, $11
- db $ec, $fc, $01, $11
- db $ec, $04, $02, $11
- db $f4, $f4, $03, $11
- db $f4, $fc, $04, $11
- db $f4, $04, $05, $11
- db $fc, $f4, $06, $11
- db $fc, $fc, $07, $11
- db $fc, $04, $08, $11
- db $04, $f4, $09, $11
- db $04, $fc, $0a, $11
- db $04, $04, $0b, $11
- db $0c, $f4, $0c, $11
- db $0c, $fc, $0d, $11
- db $0c, $04, $0e, $11
-; 8df29
-
-Unknown_8df29: ; 8df29
- db 6
- db $f4, $f4, $00, $15
- db $f4, $fc, $02, $15
- db $f4, $04, $00, $35
- db $04, $f4, $04, $15
- db $04, $fc, $06, $15
- db $04, $04, $04, $35
-; 8df42
-
-Unknown_8df42: ; 8df42
- db 6
- db $f4, $f4, $00, $16
- db $f4, $fc, $02, $16
- db $f4, $04, $04, $16
- db $04, $f4, $06, $16
- db $04, $fc, $08, $16
- db $04, $04, $0a, $16
-; 8df5b
-
-Unknown_8df5b: ; 8df5b
- db 6
- db $f4, $f4, $00, $16
- db $f4, $fc, $02, $16
- db $f4, $04, $04, $16
- db $04, $f4, $0c, $16
- db $04, $fc, $0e, $16
- db $04, $04, $10, $16
-; 8df74
-
-Unknown_8df74: ; 8df74
- db 6
- db $f4, $f4, $00, $16
- db $f4, $fc, $02, $16
- db $f4, $04, $04, $16
- db $04, $f4, $12, $16
- db $04, $fc, $14, $16
- db $04, $04, $16, $16
-; 8df8d
-
-Unknown_8df8d: ; 8df8d
- db 6
- db $f4, $f4, $00, $16
- db $f4, $fc, $02, $16
- db $f4, $04, $04, $16
- db $04, $f4, $18, $16
- db $04, $fc, $1a, $16
- db $04, $04, $1c, $16
-; 8dfa6
-
-Unknown_8dfa6: ; 8dfa6
- db 6
- db $f4, $f4, $1e, $16
- db $f4, $fc, $20, $16
- db $f4, $04, $22, $16
- db $04, $f4, $24, $16
- db $04, $fc, $26, $16
- db $04, $04, $28, $16
-; 8dfbf
-
-Unknown_8dfbf: ; 8dfbf
- db 3
- db $f4, $fc, $00, $10
- db $fc, $fc, $00, $10
- db $04, $fc, $00, $10
-; 8dfcc
-
-Unknown_8dfcc: ; 8dfcc
- db 6
- db $00, $00, $00, $00
- db $00, $08, $01, $00
- db $00, $10, $01, $00
- db $00, $18, $01, $00
- db $00, $20, $02, $00
- db $00, $28, $03, $00
-; 8dfe5
-
-Unknown_8dfe5: ; 8dfe5
- db 4
- db $00, $00, $00, $00
- db $00, $08, $01, $00
- db $00, $10, $02, $00
- db $00, $18, $03, $00
-; 8dff6
-
-Unknown_8dff6: ; 8dff6
- db 4
- db $f8, $f6, $00, $06
- db $f8, $02, $01, $06
- db $00, $f6, $02, $06
- db $00, $02, $03, $06
-; 8e007
-
-Unknown_8e007: ; 8e007
- db 4
- db $f8, $f4, $00, $06
- db $f8, $04, $01, $06
- db $00, $f4, $02, $06
- db $00, $04, $03, $06
-; 8e018
-
-Unknown_8e018: ; 8e018
- db 4
- db $f8, $f0, $00, $06
- db $f8, $08, $01, $06
- db $00, $f0, $02, $06
- db $00, $08, $03, $06
-; 8e029
-
-Unknown_8e029: ; 8e029
- db 19
- db $f8, $e0, $00, $00
- db $f0, $e8, $02, $00
- db $00, $e8, $04, $00
- db $e8, $f0, $06, $00
- db $f8, $f0, $08, $00
- db $08, $f0, $0a, $00
- db $e8, $f8, $0c, $00
- db $f8, $f8, $0e, $00
- db $08, $f8, $10, $00
- db $e8, $00, $12, $00
- db $f8, $00, $14, $00
- db $08, $00, $16, $00
- db $e8, $08, $18, $00
- db $f8, $08, $1a, $00
- db $08, $08, $1c, $00
- db $f8, $10, $1e, $00
- db $08, $10, $20, $00
- db $f0, $18, $22, $00
- db $00, $18, $24, $00
-; 8e076
-
-Unknown_8e076: ; 8e076
- db 16
- db $f8, $e0, $00, $00
- db $f0, $e8, $02, $00
- db $00, $e8, $04, $00
- db $f8, $f0, $26, $00
- db $08, $f0, $0a, $00
- db $e8, $f8, $28, $00
- db $f8, $f8, $2a, $00
- db $08, $f8, $10, $00
- db $f8, $00, $2c, $00
- db $08, $00, $16, $00
- db $f8, $08, $30, $00
- db $08, $08, $1c, $00
- db $f8, $10, $1e, $00
- db $08, $10, $20, $00
- db $f0, $18, $22, $00
- db $00, $18, $24, $00
-; 8e0b7
-
-Unknown_8e0b7: ; 8e0b7
- db 15
- db $f8, $e0, $00, $00
- db $f0, $e8, $02, $00
- db $00, $e8, $32, $00
- db $f8, $f0, $34, $00
- db $08, $f0, $36, $00
- db $f8, $f8, $38, $00
- db $08, $f8, $3a, $00
- db $f8, $00, $3c, $00
- db $08, $00, $3e, $00
- db $f8, $08, $30, $00
- db $08, $08, $1c, $00
- db $f8, $10, $1e, $00
- db $08, $10, $20, $00
- db $f0, $18, $22, $00
- db $00, $18, $24, $00
-; 8e0f4
-
-Unknown_8e0f4: ; 8e0f4
- db 17
- db $f8, $e0, $00, $00
- db $f0, $e8, $02, $00
- db $00, $e8, $04, $00
- db $f8, $f0, $40, $00
- db $08, $f0, $42, $00
- db $18, $f0, $44, $00
- db $f8, $f8, $46, $00
- db $08, $f8, $48, $00
- db $18, $f8, $4a, $00
- db $f8, $00, $4c, $00
- db $08, $00, $4e, $00
- db $f8, $08, $30, $00
- db $08, $08, $1c, $00
- db $f8, $10, $1e, $00
- db $08, $10, $20, $00
- db $f0, $18, $22, $00
- db $00, $18, $24, $00
-; 8e139
-
-Unknown_8e139: ; 8e139
- db 17
- db $f8, $e0, $00, $00
- db $f0, $e8, $02, $00
- db $00, $e8, $04, $00
- db $f8, $f0, $50, $00
- db $08, $f0, $0a, $00
- db $e8, $f8, $52, $00
- db $f8, $f8, $54, $00
- db $08, $f8, $10, $00
- db $e8, $00, $56, $00
- db $f8, $00, $2e, $00
- db $08, $00, $16, $00
- db $f8, $08, $30, $00
- db $08, $08, $1c, $00
- db $f8, $10, $1e, $00
- db $08, $10, $20, $00
- db $f0, $18, $22, $00
- db $00, $18, $24, $00
-; 8e17e
-
-Unknown_8e17e: ; 8e17e
- db 1
- db $fc, $fc, $00, $11
-; 8e183
-
-Unknown_8e183: ; 8e183
- db 12
- db $00, $00, $30, $00
- db $00, $08, $31, $00
- db $00, $10, $31, $00
- db $00, $18, $31, $00
- db $00, $20, $31, $00
- db $00, $28, $32, $00
- db $08, $00, $33, $00
- db $08, $08, $34, $00
- db $08, $10, $34, $00
- db $08, $18, $34, $00
- db $08, $20, $34, $00
- db $08, $28, $35, $00
-; 8e1b4
-
-Unknown_8e1b4: ; 8e1b4
- db 1
- db $00, $00, $ed, $00
-; 8e1b9
-
-Unknown_8e1b9: ; 8e1b9
- db 4
- db $ff, $ff, $30, $00
- db $ff, $01, $32, $00
- db $01, $ff, $33, $00
- db $01, $01, $35, $00
-; 8e1ca
-
-Unknown_8e1ca: ; 8e1ca
- db 8
- db $ff, $ff, $30, $00
- db $ff, $04, $31, $00
- db $ff, $0c, $31, $00
- db $ff, $11, $32, $00
- db $01, $ff, $33, $00
- db $01, $04, $34, $00
- db $01, $0c, $34, $00
- db $01, $11, $35, $00
-; 8e1eb
-
-Unknown_8e1eb: ; 8e1eb
- db 1
- db $00, $00, $34, $00
-; 8e1f0
-
-Unknown_8e1f0: ; 8e1f0
- db 2
- db $00, $00, $30, $00
- db $08, $00, $33, $00
-; 8e1f9
-
-Unknown_8e1f9: ; 8e1f9
- db 2
- db $00, $00, $32, $00
- db $08, $00, $35, $00
-; 8e202
-
-Unknown_8e202: ; 8e202
- db 4
- db $f8, $f8, $00, $01
- db $f8, $00, $01, $01
- db $00, $f8, $02, $01
- db $00, $00, $03, $01
-; 8e213
-
-Unknown_8e213: ; 8e213
- db 4
- db $f8, $f8, $00, $81
- db $f8, $00, $01, $81
- db $00, $f8, $02, $81
- db $00, $00, $03, $81
-; 8e224
-
-Unknown_8e224: ; 8e224
- db 1
- db $fc, $fc, $00, $02
-; 8e229
-
-Unknown_8e229: ; 8e229
- db 4
- db $f0, $fc, $00, $03
- db $f8, $fc, $01, $03
- db $00, $fc, $02, $03
- db $08, $fc, $03, $03
-; 8e23a
-
-Unknown_8e23a: ; 8e23a
- db 4
- db $f0, $fc, $03, $44
- db $f8, $fc, $02, $44
- db $00, $fc, $01, $44
- db $08, $fc, $00, $44
-; 8e24b
-
-Unknown_8e24b: ; 8e24b
- db 4
- db $f8, $f8, $00, $01
- db $f8, $00, $00, $21
- db $00, $f8, $00, $41
- db $00, $00, $00, $61
-; 8e25c
-
-Unknown_8e25c: ; 8e25c
- db 8
- db $f4, $f4, $00, $01
- db $f4, $fc, $01, $01
- db $f4, $04, $00, $21
- db $fc, $f4, $02, $01
- db $fc, $04, $02, $21
- db $04, $f4, $00, $41
- db $04, $fc, $01, $41
- db $04, $04, $00, $61
-; 8e27d
-
-Unknown_8e27d: ; 8e27d
- db 12
- db $f0, $f0, $00, $01
- db $f0, $f8, $01, $01
- db $f8, $f0, $02, $01
- db $f0, $00, $01, $21
- db $f0, $08, $00, $21
- db $f8, $08, $02, $21
- db $00, $f0, $02, $41
- db $08, $f0, $00, $41
- db $08, $f8, $01, $41
- db $00, $08, $02, $61
- db $08, $00, $01, $61
- db $08, $08, $00, $61
-; 8e2ae
-
-Unknown_8e2ae: ; 8e2ae
- db 36
- db $e8, $08, $05, $00
- db $e8, $10, $06, $00
- db $e8, $18, $07, $00
- db $f0, $e8, $11, $00
- db $f0, $f0, $12, $00
- db $f0, $f8, $13, $00
- db $f0, $00, $14, $00
- db $f0, $08, $15, $00
- db $f0, $10, $16, $00
- db $f0, $18, $17, $00
- db $f8, $e0, $20, $00
- db $f8, $e8, $21, $00
- db $f8, $f0, $22, $00
- db $f8, $f8, $23, $00
- db $f8, $00, $24, $00
- db $f8, $08, $25, $00
- db $f8, $10, $26, $00
- db $f8, $18, $27, $00
- db $00, $e0, $30, $00
- db $00, $e8, $31, $00
- db $00, $f0, $32, $00
- db $00, $f8, $33, $00
- db $00, $00, $34, $00
- db $00, $08, $35, $00
- db $00, $10, $36, $00
- db $08, $e0, $40, $00
- db $08, $e8, $41, $00
- db $08, $f0, $42, $00
- db $08, $f8, $43, $00
- db $08, $00, $44, $00
- db $08, $08, $45, $00
- db $08, $10, $46, $00
- db $08, $18, $47, $00
- db $10, $e0, $50, $00
- db $10, $e8, $51, $00
- db $10, $18, $57, $00
-; 8e33f
-
-Unknown_8e33f: ; 8e33f
- db 28
- db $e8, $00, $04, $00
- db $e8, $08, $05, $00
- db $e8, $10, $06, $00
- db $f0, $e8, $11, $00
- db $f0, $f0, $12, $00
- db $f0, $f8, $13, $00
- db $f0, $00, $14, $00
- db $f0, $08, $15, $00
- db $f0, $10, $16, $00
- db $f8, $e8, $21, $00
- db $f8, $f0, $22, $00
- db $f8, $f8, $23, $00
- db $f8, $00, $24, $00
- db $f8, $08, $25, $00
- db $f8, $10, $26, $00
- db $00, $e0, $30, $00
- db $00, $e8, $31, $00
- db $00, $f0, $32, $00
- db $00, $f8, $33, $00
- db $00, $00, $34, $00
- db $00, $08, $35, $00
- db $08, $f0, $42, $00
- db $08, $f8, $43, $00
- db $08, $00, $44, $00
- db $08, $08, $45, $00
- db $10, $f8, $53, $00
- db $10, $00, $54, $00
- db $10, $08, $55, $00
-; 8e3b0
-
-Unknown_8e3b0: ; 8e3b0
- db 30
- db $e8, $00, $04, $00
- db $e8, $08, $05, $00
- db $f0, $e8, $11, $00
- db $f0, $f0, $12, $00
- db $f0, $f8, $13, $00
- db $f0, $00, $14, $00
- db $f0, $08, $15, $00
- db $f0, $10, $16, $00
- db $f0, $18, $17, $00
- db $f8, $e0, $20, $00
- db $f8, $e8, $21, $00
- db $f8, $f0, $22, $00
- db $f8, $f8, $23, $00
- db $f8, $00, $24, $00
- db $f8, $08, $25, $00
- db $f8, $10, $26, $00
- db $00, $e0, $30, $00
- db $00, $e8, $31, $00
- db $00, $f0, $32, $00
- db $00, $f8, $33, $00
- db $00, $00, $34, $00
- db $00, $08, $35, $00
- db $08, $f0, $42, $00
- db $08, $f8, $43, $00
- db $08, $00, $44, $00
- db $08, $08, $45, $00
- db $10, $f0, $52, $00
- db $10, $f8, $53, $00
- db $10, $00, $54, $00
- db $10, $08, $55, $00
-; 8e429
-
-Unknown_8e429: ; 8e429
- db 31
- db $f0, $e8, $11, $00
- db $f0, $f0, $12, $00
- db $f0, $f8, $13, $00
- db $f0, $00, $14, $00
- db $f0, $08, $15, $00
- db $f0, $10, $16, $00
- db $f0, $18, $17, $00
- db $f8, $e0, $20, $00
- db $f8, $e8, $21, $00
- db $f8, $f0, $22, $00
- db $f8, $f8, $23, $00
- db $f8, $00, $24, $00
- db $f8, $08, $25, $00
- db $f8, $10, $26, $00
- db $f8, $18, $27, $00
- db $00, $e0, $30, $00
- db $00, $e8, $31, $00
- db $00, $f0, $32, $00
- db $00, $f8, $33, $00
- db $00, $00, $34, $00
- db $00, $08, $35, $00
- db $00, $10, $36, $00
- db $08, $e8, $41, $00
- db $08, $f0, $42, $00
- db $08, $f8, $43, $00
- db $08, $00, $44, $00
- db $08, $08, $45, $00
- db $10, $e8, $51, $00
- db $10, $f0, $52, $00
- db $10, $00, $54, $00
- db $10, $08, $55, $00
-; 8e4a6
-
-Unknown_8e4a6: ; 8e4a6
- db 25
- db $ec, $ec, $00, $09
- db $ec, $f4, $01, $09
- db $ec, $fc, $02, $09
- db $ec, $04, $03, $09
- db $ec, $0c, $04, $09
- db $f4, $ec, $10, $09
- db $f4, $f4, $11, $09
- db $f4, $fc, $12, $09
- db $f4, $04, $13, $09
- db $f4, $0c, $14, $09
- db $fc, $ec, $20, $09
- db $fc, $f4, $21, $09
- db $fc, $fc, $22, $09
- db $fc, $04, $23, $09
- db $fc, $0c, $24, $09
- db $04, $ec, $30, $09
- db $04, $f4, $31, $09
- db $04, $fc, $32, $09
- db $04, $04, $33, $09
- db $04, $0c, $34, $09
- db $0c, $ec, $40, $09
- db $0c, $f4, $41, $09
- db $0c, $fc, $42, $09
- db $0c, $04, $43, $09
- db $0c, $0c, $44, $09
-; 8e50b
-
-Unknown_8e50b: ; 8e50b
- db 16
- db $f0, $ec, $00, $0a
- db $f0, $f4, $01, $0a
- db $f0, $fc, $02, $0a
- db $f0, $04, $03, $0a
- db $f8, $ec, $04, $0a
- db $f8, $f4, $05, $0a
- db $f8, $fc, $06, $0a
- db $f8, $04, $07, $0a
- db $00, $ec, $08, $0a
- db $00, $f4, $09, $0a
- db $00, $fc, $0a, $0a
- db $00, $04, $0b, $0a
- db $08, $ec, $0c, $0a
- db $08, $f4, $0d, $0a
- db $08, $fc, $0e, $0a
- db $08, $04, $0f, $0a
-; 8e54c
-
-Unknown_8e54c: ; 8e54c
- db 1
- db $fc, $fc, $00, $00
-; 8e551
-
-Unknown_8e551: ; 8e551
- db 3
- db $00, $f8, $00, $00
- db $f8, $f8, $01, $00
- db $f8, $00, $02, $00
-; 8e55e
-
-Unknown_8e55e: ; 8e55e
- db 7
- db $08, $f0, $00, $00
- db $00, $f0, $01, $00
- db $f8, $f0, $02, $00
- db $f8, $f8, $03, $00
- db $f0, $f8, $04, $00
- db $f0, $00, $05, $00
- db $f0, $08, $06, $00
-; 8e57b
-
-Unknown_8e57b: ; 8e57b
- db 8
- db $f8, $f0, $00, $00
- db $f8, $f8, $01, $00
- db $f8, $00, $01, $20
- db $f8, $08, $00, $20
- db $00, $f0, $00, $40
- db $00, $f8, $01, $40
- db $00, $00, $01, $60
- db $00, $08, $00, $60
-; 8e59c
-
-Unknown_8e59c: ; 8e59c
- db 12
- db $e8, $f8, $00, $00
- db $f0, $f8, $01, $00
- db $f8, $f8, $02, $00
- db $e8, $00, $00, $20
- db $f0, $00, $01, $20
- db $f8, $00, $02, $20
- db $00, $f8, $02, $40
- db $08, $f8, $01, $40
- db $10, $f8, $00, $40
- db $00, $00, $02, $60
- db $08, $00, $01, $60
- db $10, $00, $00, $60
-; 8e5cd
-
-Unknown_8e5cd: ; 8e5cd
- db 20
- db $ec, $f0, $00, $00
- db $ec, $f8, $01, $00
- db $ec, $00, $02, $00
- db $ec, $08, $03, $00
- db $f4, $f0, $04, $00
- db $f4, $f8, $05, $00
- db $f4, $00, $06, $00
- db $f4, $08, $07, $00
- db $fc, $f0, $08, $00
- db $fc, $f8, $09, $00
- db $fc, $00, $0a, $00
- db $fc, $08, $0b, $00
- db $04, $f0, $0c, $00
- db $04, $f8, $0d, $00
- db $04, $00, $0e, $00
- db $04, $08, $0f, $00
- db $0c, $f0, $10, $00
- db $0c, $f8, $11, $00
- db $0c, $00, $12, $00
- db $0c, $08, $13, $00
-; 8e61e
-
-Unknown_8e61e: ; 8e61e
- db 20
- db $00, $08, $00, $81
- db $08, $10, $00, $81
- db $10, $18, $00, $81
- db $18, $20, $00, $81
- db $20, $28, $00, $81
- db $18, $30, $00, $81
- db $10, $38, $00, $81
- db $08, $40, $00, $81
- db $00, $48, $00, $81
- db $08, $50, $00, $81
- db $10, $58, $00, $81
- db $18, $60, $00, $81
- db $20, $68, $00, $81
- db $18, $70, $00, $81
- db $10, $78, $00, $81
- db $08, $80, $00, $81
- db $00, $88, $00, $81
- db $08, $90, $00, $81
- db $10, $98, $00, $81
- db $18, $a0, $00, $81
-; 8e66f
-
-Unknown_8e66f: ; 8e66f
- db 4
- db $f8, $f8, $00, $02
- db $f8, $00, $01, $02
- db $00, $f8, $02, $02
- db $00, $00, $03, $02
-; 8e680
-
-Unknown_8e680: ; 8e680
- db 9
- db $f0, $f4, $00, $01
- db $f0, $fc, $01, $01
- db $f0, $04, $02, $01
- db $f8, $f4, $10, $01
- db $f8, $fc, $11, $01
- db $f8, $04, $12, $01
- db $00, $f4, $20, $01
- db $00, $fc, $21, $01
- db $00, $04, $22, $01
-; 8e6a5
-
-Unknown_8e6a5: ; 8e6a5
- db 24
- db $d8, $f4, $00, $01
- db $d8, $fc, $01, $01
- db $d8, $04, $02, $01
- db $d8, $0c, $03, $01
- db $e0, $f4, $10, $01
- db $e0, $fc, $11, $01
- db $e0, $04, $12, $01
- db $e0, $0c, $13, $01
- db $e8, $f4, $20, $01
- db $e8, $fc, $21, $01
- db $e8, $04, $22, $01
- db $e8, $0c, $23, $01
- db $f0, $f4, $30, $01
- db $f0, $fc, $31, $01
- db $f0, $04, $32, $01
- db $f0, $0c, $33, $01
- db $f8, $f4, $40, $01
- db $f8, $fc, $41, $01
- db $f8, $04, $42, $01
- db $f8, $0c, $43, $01
- db $00, $f4, $50, $01
- db $00, $fc, $51, $01
- db $00, $04, $52, $01
- db $00, $0c, $53, $01
-; 8e706
-Unknown_8e706: ; Broken 2bpp pointers
- dbbw $80, $01, $672a ; 128-tile 2bpp at 1:672a (inside Multiply)
- dbbw $80, $01, $672a
- dbbw $80, $01, $672a
- dbbw $80, $01, $672a
- dbbw $10, $37, $672a ; 16-tile 2bpp at 37:672a (within Tileset11GFX)
- dbbw $10, $11, $672a ; 16-tile 2bpp at 11:672a (empty data)
- dbbw $10, $39, $672a ; 16-tile 2bpp at 39:672a (empty data)
- dbbw $10, $24, $672a ; 16-tile 2bpp at 24:672a (inside Function926f7)
- dbbw $10, $21, $672a ; 16-tile 2bpp at 21:672a (inside Function8671c)
-
-Function8e72a: ; 8e72a
- add $10
-Function8e72c: ; 8e72c
+Sprites_Sine: ; 8e72c
+; floor(d * sin(a * pi/32))
and $3f
cp $20
- jr nc, .asm_8e737
- call Function8e741
+ jr nc, .negative
+ call .ApplySineWave
ld a, h
ret
-.asm_8e737
+.negative
and $1f
- call Function8e741
+ call .ApplySineWave
ld a, h
xor $ff ; cpl
inc a
@@ -2858,103 +625,105 @@
ret
; 8e741
-Function8e741: ; 8e741
+.ApplySineWave: ; 8e741
ld e, a
ld a, d
ld d, 0
- ld hl, Unknown_8e75d
-rept 2
+ ld hl, .sinewave
add hl, de
-endr
+ add hl, de
ld e, [hl]
inc hl
ld d, [hl]
ld hl, 0
-.asm_8e750
+.multiply
srl a
- jr nc, .asm_8e755
+ jr nc, .even
add hl, de
-.asm_8e755
+.even
sla e
rl d
and a
- jr nz, .asm_8e750
+ jr nz, .multiply
ret
; 8e75d
-Unknown_8e75d: ; 8e75d
+.sinewave: ; 8e75d
sine_wave $100
-Function8e79d: ; 8e79d
+AnimateEndOfExpBar: ; 8e79d
ld a, [hSGB]
- ld de, GFX_8e7f4
+ ld de, EndOfExpBarGFX
and a
- jr z, .asm_8e7a8
- ld de, GFX_8e804
+ jr z, .load
+ ld de, SGBEndOfExpBarGFX
-.asm_8e7a8
- ld hl, VTiles0
- lb bc, BANK(GFX_8e7f4), 1
+.load
+ ld hl, VTiles0 tile $00
+ lb bc, BANK(EndOfExpBarGFX), 1
call Request2bpp
- ld c, $8
- ld d, $0
-.asm_8e7b5
+ ld c, 8
+ ld d, 0
+.loop
push bc
- call Function8e7c6
+ call .AnimateFrame
call DelayFrame
pop bc
-rept 2
inc d
-endr
+ inc d
dec c
- jr nz, .asm_8e7b5
+ jr nz, .loop
call ClearSprites
ret
; 8e7c6
-Function8e7c6: ; 8e7c6
+.AnimateFrame: ; 8e7c6
ld hl, Sprites
ld c, $8
-.asm_8e7cb
+.anim_loop
ld a, c
and a
ret z
dec c
ld a, c
+; multiply by 8
sla a
sla a
sla a
push af
+
push de
push hl
- call Function8e72c
+ call Sprites_Sine
pop hl
pop de
- add $68
+ add 13 * 8
ld [hli], a
+
pop af
push de
push hl
- call Function8e72a
+ call Sprites_Cosine
pop hl
pop de
- add $54
+ add 10 * 8 + 4
ld [hli], a
+
ld a, $0
ld [hli], a
- ld a, $6
+ ld a, $6 ; OBJ 6
ld [hli], a
- jr .asm_8e7cb
+ jr .anim_loop
; 8e7f4
-GFX_8e7f4: ; 8e7f4
-INCBIN "gfx/unknown/08e7f4.2bpp"
-GFX_8e804: ; 8e804
-INCBIN "gfx/unknown/08e804.2bpp"
+EndOfExpBarGFX: ; 8e7f4
+INCBIN "gfx/battle/expbarend.2bpp"
+SGBEndOfExpBarGFX: ; 8e804
+INCBIN "gfx/battle/expbarend_sgb.2bpp"
-ClearSpriteAnims: ; 8e814
+ClearSpriteAnims2: ; 8e814
push hl
push de
push bc
@@ -2974,451 +743,3 @@
pop hl
ret
; 8e82b
-
-Function8e82b: ; 8e82b
- ld a, e
- call ReadMonMenuIcon
- ld l, a
- ld h, 0
- add hl, hl
- ld de, IconPointers
- add hl, de
- ld a, [hli]
- ld e, a
- ld d, [hl]
- ld b, BANK(Icons)
- ld c, 8
- ret
-; 8e83f
-
-Function8e83f: ; 8e83f
- push hl
- push de
- push bc
- call Function8e849
- pop bc
- pop de
- pop hl
- ret
-; 8e849
-
-Function8e849: ; 8e849
- ld d, 0
- ld hl, Jumptable_8e854
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 8e854
-
-
-Jumptable_8e854: ; 8e854 (23:6854)
- dw Function8e8d5
- dw Function8e961
- dw Function8e97d
- dw Function8e99a
- dw Function8e898
- dw Function8e8b1
- dw Function8e862
-
-
-Function8e862: ; 8e862 (23:6862)
- call Function8e908
- call Function8e86c
- call Function8e936
- ret
-
-Function8e86c: ; 8e86c (23:686c)
- push bc
- ld a, [hObjectStructIndexBuffer]
- ld hl, PartyMon1Item
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- pop bc
- ld a, [hl]
- and a
- jr z, .asm_8e890
- push hl
- push bc
- ld d, a
- callab ItemIsMail
- pop bc
- pop hl
- jr c, .asm_8e88e
- ld a, $6
- jr .asm_8e892
-.asm_8e88e
- ld a, $5
-.asm_8e890
- ld a, $4
-.asm_8e892
- ld hl, $1
- add hl, bc
- ld [hl], a
- ret
-
-Function8e898: ; 8e898 (23:6898)
- call Function8e8d5
- ld hl, $2
- add hl, bc
- ld a, $0
- ld [hl], a
- ld hl, $4
- add hl, bc
- ld a, $48
- ld [hl], a
- ld hl, $5
- add hl, bc
- ld a, $48
- ld [hl], a
- ret
-
-Function8e8b1: ; 8e8b1 (23:68b1)
- call Function8e908
- call Function8e936
- ld hl, $2
- add hl, bc
- ld a, $0
- ld [hl], a
- ld hl, $4
- add hl, bc
- ld a, $18
- ld [hl], a
- ld hl, $5
- add hl, bc
- ld a, $60
- ld [hl], a
- ld a, c
- ld [wc608], a
- ld a, b
- ld [wc608 + 1], a
- ret
-
-Function8e8d5: ; 8e8d5 (23:68d5)
- call Function8e908
- call Function8e8df
- call Function8e936
- ret
-
-Function8e8df: ; 8e8df (23:68df)
- push bc
- ld a, [hObjectStructIndexBuffer]
- ld hl, PartyMon1Item
- ld bc, $30
- call AddNTimes
- pop bc
- ld a, [hl]
- and a
- ret z
- push hl
- push bc
- ld d, a
- callab ItemIsMail
- pop bc
- pop hl
- jr c, .asm_8e900
- ld a, $3
- jr .asm_8e902
-.asm_8e900
- ld a, $2
-.asm_8e902
- ld hl, $1
- add hl, bc
- ld [hl], a
- ret
-
-Function8e908: ; 8e908 (23:6908)
- ld a, [wc3b7]
- push af
- ld a, [hObjectStructIndexBuffer]
- ld hl, PartySpecies
- ld e, a
- ld d, $0
- add hl, de
- ld a, [hl]
- call ReadMonMenuIcon
- ld [CurIcon], a
- call Function8e9db
- ld a, [hObjectStructIndexBuffer]
-; y coord
-rept 4
- add a
-endr
- add $1c
- ld d, a
-; x coord
- ld e, $10
-; type is partymon icon
- ld a, SPRITE_ANIM_INDEX_00
- call InitSpriteAnimStruct
- pop af
- ld hl, $3
- add hl, bc
- ld [hl], a
- ret
-
-Function8e936: ; 8e936 (23:6936)
- push bc
- ld a, [hObjectStructIndexBuffer]
- ld b, a
- call Function8e94c
- ld a, b
- pop bc
- ld hl, $9
- add hl, bc
- ld [hl], a
- rlca
- rlca
- ld hl, $d
- add hl, bc
- ld [hl], a
- ret
-
-Function8e94c: ; 8e94c (23:694c)
- callba PlacePartymonHPBar
- call GetHPPal
- ld e, d
- ld d, 0
- ld hl, Unknown_8e95e
- add hl, de
- ld b, [hl]
- ret
-; 8e95e (23:695e)
-
-Unknown_8e95e: ; 8e95e
- db $00, $40, $80
-; 8e961
-
-Function8e961: ; 8e961 (23:6961)
- ld a, [wd265]
- call ReadMonMenuIcon
- ld [CurIcon], a
- xor a
- call GetIconGFX
- lb de, $24, $20
- ld a, SPRITE_ANIM_INDEX_00
- call InitSpriteAnimStruct
- ld hl, $2
- add hl, bc
- ld [hl], $0
- ret
-
-Function8e97d: ; 8e97d (23:697d)
- ld a, [wd265]
- call ReadMonMenuIcon
- ld [CurIcon], a
- xor a
- call GetIconGFX
- ld d, $1a
- ld e, $24
- ld a, SPRITE_ANIM_INDEX_00
- call InitSpriteAnimStruct
- ld hl, $2
- add hl, bc
- ld [hl], $0
- ret
-
-Function8e99a: ; 8e99a (23:699a)
- ld a, [wd265]
- call ReadMonMenuIcon
- ld [CurIcon], a
- ld a, $62
- ld [wc3b7], a
- call Function8e9db
- ret
-
-GetSpeciesIcon: ; 8e9ac
-; Load species icon into VRAM at tile a
- push de
- ld a, [wd265]
- call ReadMonMenuIcon
- ld [CurIcon], a
- pop de
- ld a, e
- call GetIconGFX
- ret
-; 8e9bc
-
-
-Function8e9bc: ; 8e9bc (23:69bc)
- push de
- ld a, [wd265]
- call ReadMonMenuIcon
- ld [CurIcon], a
- pop de
- ld a, e
- call GetIcon_a
- ret
-; 8e9cc (23:69cc)
-
-Function8e9cc: ; 8e9cc
- push de
- ld a, [wd265]
- call ReadMonMenuIcon
- ld [CurIcon], a
- pop de
- call GetIcon_de
- ret
-; 8e9db
-
-Function8e9db: ; 8e9db (23:69db)
- ld a, [wc3b7]
-
-GetIconGFX: ; 8e9de
- call GetIcon_a
- ld de, $80 ; 8 tiles
- add hl, de
- ld de, HeldItemIcons
- lb bc, BANK(HeldItemIcons), 2
- call GetGFXUnlessMobile
- ld a, [wc3b7]
- add 10
- ld [wc3b7], a
- ret
-
-HeldItemIcons:
-INCBIN "gfx/icon/mail.2bpp"
-INCBIN "gfx/icon/item.2bpp"
-; 8ea17
-
-GetIcon_de: ; 8ea17
-; Load icon graphics into VRAM starting from tile de.
- ld l, e
- ld h, d
- jr GetIcon
-
-GetIcon_a: ; 8ea1b
-; Load icon graphics into VRAM starting from tile a.
- ld l, a
- ld h, 0
-
-GetIcon: ; 8ea1e
-; Load icon graphics into VRAM starting from tile hl.
-
-; One tile is 16 bytes long.
-rept 4
- add hl, hl
-endr
-
- ld de, VTiles0
- add hl, de
- push hl
-
-; The icons are contiguous, in order and of the same
-; size, so the pointer table is somewhat redundant.
- ld a, [CurIcon]
- push hl
- ld l, a
- ld h, 0
- add hl, hl
- ld de, IconPointers
- add hl, de
- ld a, [hli]
- ld e, a
- ld d, [hl]
- pop hl
-
- lb bc, BANK(Icons), 8
- call GetGFXUnlessMobile
-
- pop hl
- ret
-; 8ea3f
-
-GetGFXUnlessMobile: ; 8ea3f
- ld a, [wLinkMode]
- cp LINK_MOBILE
- jp nz, Request2bpp
- jp Get2bpp_2
-; 8ea4a
-
-Function8ea4a: ; 8ea4a
- ld hl, wSpriteAnimationStructs
- ld e, $6
- ld a, [MenuSelection2]
- ld d, a
-.loop
- ld a, [hl]
- and a
- jr z, .next
- cp d
- jr z, .loadwithtwo
- ld a, $0
- jr .ok
-
-.loadwithtwo
- ld a, $2
-
-.ok
- push hl
- ld c, l
- ld b, h
- ld hl, $2
- add hl, bc
- ld [hl], a
- pop hl
-
-.next
- ld bc, $10
- add hl, bc
- dec e
- jr nz, .loop
- ret
-; 8ea71
-
-Function8ea71: ; 8ea71
- ld hl, wSpriteAnimationStructs
- ld e, $6
-.loop
- ld a, [hl]
- and a
- jr z, .zero
- push hl
- ld c, l
- ld b, h
- ld hl, $2
- add hl, bc
- ld [hl], $1
- pop hl
-.zero
- ld bc, $10
- add hl, bc
- dec e
- jr nz, .loop
- ret
-; 8ea8c (23:6a8c)
-
-Function8ea8c: ; 8ea8c
- ld hl, wSpriteAnimationStructs
- ld e, $6
- ld a, [wd0e3]
- ld d, a
-.asm_8ea95
- ld a, [hl]
- and a
- jr z, .asm_8eaab
- cp d
- jr z, .asm_8eaa0
- ld a, $3
- jr .asm_8eaa2
-.asm_8eaa0
- ld a, $2
-.asm_8eaa2
- push hl
- ld c, l
- ld b, h
- ld hl, $2
- add hl, bc
- ld [hl], a
- pop hl
-.asm_8eaab
- ld bc, $10
- add hl, bc
- dec e
- jr nz, .asm_8ea95
- ret
-
-INCLUDE "menu/mon_icons.asm"
--- a/engine/startmenu.asm
+++ b/engine/startmenu.asm
@@ -1,6 +1,6 @@
StartMenu:: ; 125cd
- call ResetTextRelatedRAM
+ call ClearWindowData
ld de, SFX_MENU
call PlaySFX
@@ -42,7 +42,7 @@
ld a, [wMenuCursorBuffer]
ld [wd0d2], a
call PlayClickSFX
- call Function1bee
+ call PlaceHollowCursor
call .OpenMenu
; Menu items have different return functions.
@@ -50,9 +50,8 @@
ld hl, .MenuReturns
ld e, a
ld d, 0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -61,8 +60,8 @@
.MenuReturns
dw .Reopen
dw .Exit
- dw .ExitMenuCallFuncLoadMoveSprites
- dw .ExitMenuRunScriptLoadMoveSprites
+ dw .ExitMenuCallFuncCloseText
+ dw .ExitMenuRunScriptCloseText
dw .ExitMenuRunScript
dw .ReturnEnd
dw .ReturnRedraw
@@ -78,7 +77,7 @@
.ReturnEnd
call ExitMenu
.ReturnEnd2
- call LoadMoveSprites
+ call CloseText
call UpdateTimePals
ret
@@ -93,7 +92,7 @@
.loop
call .PrintMenuAccount
call Function1f1a
- ld a, [wcf73]
+ ld a, [wMenuJoypad]
cp B_BUTTON
jr z, .b
cp A_BUTTON
@@ -115,7 +114,7 @@
ret
; 12699
-.ExitMenuRunScriptLoadMoveSprites ; 12699
+.ExitMenuRunScriptCloseText ; 12699
call ExitMenu
ld a, HMENURETURN_SCRIPT
ld [hMenuReturn], a
@@ -122,7 +121,7 @@
jr .ReturnEnd2
; 126a2
-.ExitMenuCallFuncLoadMoveSprites ; 126a2
+.ExitMenuCallFuncCloseText ; 126a2
call ExitMenu
ld hl, wQueuedScriptAddr
ld a, [hli]
@@ -141,12 +140,12 @@
.Clear ; 126b7
call ClearBGPalettes
call Call_ExitMenu
- call Function2bae
+ call ReloadTilesetAndPalettes
call .DrawMenuAccount_
call MenuFunc_1e7f
call .DrawBugContestStatus
call UpdateSprites
- call Functiond90
+ call ret_d90
call Function2b5c
ret
; 126d3
@@ -235,9 +234,8 @@
push de
ld a, [MenuSelection]
call .GetMenuAccountTextPointer
-rept 2
inc hl
-endr
+ inc hl
ld a, [hli]
ld d, [hl]
ld e, a
@@ -270,7 +268,7 @@
.GetMenuAccountTextPointer ; 12819
ld e, a
ld d, 0
- ld hl, wcf97
+ ld hl, wMenuData2PointerTableAddr
ld a, [hli]
ld h, [hl]
ld l, a
@@ -283,7 +281,7 @@
.SetUpMenuItems ; 12829
xor a
- ld [wcf76], a
+ ld [wWhichIndexSet], a
call .FillMenuList
ld hl, StatusFlags
@@ -469,7 +467,7 @@
call FadeToMenu
callba TrainerCard
- call ReturnToCallingMenu
+ call CloseSubmenu
ld a, 0
ret
; 12937
@@ -483,7 +481,7 @@
call FadeToMenu
callba Pokedex
- call ReturnToCallingMenu
+ call CloseSubmenu
.asm_12949
ld a, 0
@@ -495,7 +493,7 @@
call FadeToMenu
callba PokeGear
- call ReturnToCallingMenu
+ call CloseSubmenu
ld a, 0
ret
; 1295b
@@ -508,7 +506,7 @@
ld a, [wcf66]
and a
jr nz, .used_item
- call ReturnToCallingMenu
+ call CloseSubmenu
ld a, 0
ret
@@ -557,7 +555,7 @@
jr z, .quit
.return
- call ReturnToCallingMenu
+ call CloseSubmenu
ld a, 0
ret
@@ -602,9 +600,9 @@
jr nz, .asm_12a3f
ld hl, UnknownText_0x12a45
call MenuTextBox
- callba Function24fbf
+ callba SelectQuantityToToss
push af
- call WriteBackup
+ call CloseWindow
call ExitMenu
pop af
jr c, .asm_12a42
@@ -685,7 +683,7 @@
CancelPokemonAction: ; 12a79
callba InitPartyMenuWithCancel
- callba Function8ea71
+ callba UnfreezeMonIcons
ld a, 1
ret
; 12a88
@@ -748,7 +746,7 @@
inc a
ld [wSwitchMon], a
- callba Function8ea8c
+ callba HoldSwitchmonIcon
callba InitPartyMenuNoCancel
ld a, 4
@@ -795,26 +793,26 @@
; Eggs can't hold items!
ld a, [CurPartySpecies]
cp EGG
- jr z, .asm_12ba6
+ jr z, .cancel
ld hl, GiveTakeItemMenuData
call LoadMenuDataHeader
- call InterpretMenu2
+ call VerticalMenu
call ExitMenu
- jr c, .asm_12ba6
+ jr c, .cancel
call GetCurNick
ld hl, StringBuffer1
- ld de, wd050
- ld bc, $b
+ ld de, wMonOrItemNameBuffer
+ ld bc, PKMN_NAME_LENGTH
call CopyBytes
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp 1
- jr nz, .asm_12ba0
+ jr nz, .take
call LoadStandardMenuDataHeader
call ClearPalettes
- call Function12ba9
+ call .GiveItem
call ClearPalettes
call LoadFontsBattleExtra
call ExitMenu
@@ -821,23 +819,23 @@
ld a, 0
ret
-.asm_12ba0
+.take
call TakePartyItem
ld a, 3
ret
-.asm_12ba6
+.cancel
ld a, 3
ret
; 12ba9
-Function12ba9: ; 12ba9
+.GiveItem: ; 12ba9
- callba Function106a5
+ callba DepositSellInitPackBuffers
.loop
- callba Function106be
+ callba DepositSellPack
ld a, [wcf66]
and a
@@ -852,7 +850,7 @@
and a
jr nz, .next
- call Function12bd9
+ call TryGiveItemToPartymon
jr .quit
.next
@@ -865,7 +863,7 @@
; 12bd9
-Function12bd9: ; 12bd9
+TryGiveItemToPartymon: ; 12bd9
call SpeechTextBox
call PartyMonItemName
@@ -872,17 +870,17 @@
call GetPartyItemLocation
ld a, [hl]
and a
- jr z, .asm_12bf4
+ jr z, .give_item_to_mon
push hl
ld d, a
callba ItemIsMail
pop hl
- jr c, .asm_12c01
+ jr c, .please_remove_mail
ld a, [hl]
- jr .asm_12c08
+ jr .already_holding_item
-.asm_12bf4
+.give_item_to_mon
call GiveItemToPokemon
ld hl, MadeHoldText
call MenuTextBoxBackup
@@ -889,17 +887,17 @@
call GivePartyItem
ret
-.asm_12c01
+.please_remove_mail
ld hl, PleaseRemoveMailText
call MenuTextBoxBackup
ret
-.asm_12c08
+.already_holding_item
ld [wd265], a
call GetItemName
ld hl, SwitchAlreadyHoldingText
call StartMenuYesNo
- jr c, .asm_12c4b
+ jr c, .abort
call GiveItemToPokemon
ld a, [wd265]
@@ -909,7 +907,7 @@
pop af
ld [CurItem], a
call ReceiveItemFromPokemon
- jr nc, .asm_12c3c
+ jr nc, .bag_full
ld hl, TookAndMadeHoldText
call MenuTextBoxBackup
@@ -918,7 +916,7 @@
call GivePartyItem
ret
-.asm_12c3c
+.bag_full
ld a, [wd265]
ld [CurItem], a
call ReceiveItemFromPokemon
@@ -925,7 +923,7 @@
ld hl, ItemStorageIsFullText
call MenuTextBoxBackup
-.asm_12c4b
+.abort
ret
; 12c4c
@@ -1109,12 +1107,12 @@
; Show the READ/TAKE/QUIT menu.
ld hl, .MenuDataHeader
call LoadMenuDataHeader
- call InterpretMenu2
+ call VerticalMenu
call ExitMenu
; Interpret the menu.
jp c, .done
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr z, .read
cp $2
@@ -1280,7 +1278,7 @@
; 12e55
MonMenu_Flash: ; 12e55
- callba Functionc8ac
+ callba OWFlash
ld a, [wFieldMoveSucceeded]
cp $1
jr nz, .Fail
@@ -1322,7 +1320,7 @@
; 12e94
MonMenu_Waterfall: ; 12e94
- callba Functioncade
+ callba WaterfallFunction
ld a, [wFieldMoveSucceeded]
cp $1
jr nz, .Fail
@@ -1457,13 +1455,13 @@
ret
; 12f5b
-Function12f5b: ; 12f5b
+ChooseMoveToDelete: ; 12f5b
ld hl, Options
ld a, [hl]
push af
set NO_TEXT_SCROLL, [hl]
call LoadFontsBattleExtra
- call Function12f73
+ call .asm_12f73
pop bc
ld a, b
ld [Options], a
@@ -1473,40 +1471,40 @@
ret
; 12f73
-Function12f73: ; 12f73
+.asm_12f73: ; 12f73
call SetUpMoveScreenBG
- ld de, Unknown_12fb2
- call InitMenu3
- call Function131ef
- ld hl, wcfa5
+ ld de, DeleteMoveScreenAttrs
+ call SetMenuAttributes
+ call SetUpMoveList
+ ld hl, w2DMenuFlags1
set 6, [hl]
- jr Function12f93
+ jr .asm_12f93
-Function12f86: ; 12f86
- call Function1bd3
+.asm_12f86: ; 12f86
+ call ScrollingMenuJoypad
bit 1, a
- jp nz, Function12f9f
+ jp nz, .asm_12f9f
bit 0, a
- jp nz, Function12f9c
+ jp nz, .asm_12f9c
-Function12f93: ; 12f93
+.asm_12f93: ; 12f93
call PrepareToPlaceMoveData
call PlaceMoveData
- jp Function12f86
+ jp .asm_12f86
; 12f9c
-Function12f9c: ; 12f9c
+.asm_12f9c: ; 12f9c
and a
- jr Function12fa0
+ jr .asm_12fa0
-Function12f9f: ; 12f9f
+.asm_12f9f: ; 12f9f
scf
-Function12fa0: ; 12fa0
+.asm_12fa0: ; 12fa0
push af
xor a
ld [wSwitchMon], a
- ld hl, wcfa5
+ ld hl, w2DMenuFlags1
res 6, [hl]
call ClearSprites
call ClearTileMap
@@ -1514,8 +1512,12 @@
ret
; 12fb2
-Unknown_12fb2: ; 12fb2
- db $03, $01, $03, $01, $40, $00, $20, $c3
+DeleteMoveScreenAttrs: ; 12fb2
+ db 3, 1
+ db 3, 1
+ db $40, $00
+ dn 2, 0
+ db D_UP | D_DOWN | A_BUTTON | B_BUTTON
; 12fba
ManagePokemonMoves: ; 12fba
@@ -1539,19 +1541,19 @@
MoveScreenLoop: ; 12fd5
ld a, [CurPartyMon]
inc a
- ld [wd0d8], a
+ ld [wPartyMenuCursor], a
call SetUpMoveScreenBG
call Function132d3
- ld de, Unknown_13163
- call InitMenu3
+ ld de, MoveScreenAttributes
+ call SetMenuAttributes
.loop
- call Function131ef
- ld hl, wcfa5
+ call SetUpMoveList
+ ld hl, w2DMenuFlags1
set 6, [hl]
jr .skip_joy
.joy_loop
- call Function1bd3
+ call ScrollingMenuJoypad
bit 1, a
jp nz, .b_button
bit 0, a
@@ -1589,7 +1591,7 @@
jp z, .exit
ld a, [wMoveSwapBuffer]
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
xor a
ld [wMoveSwapBuffer], a
hlcoord 1, 2
@@ -1669,9 +1671,9 @@
ld a, [wMoveSwapBuffer]
and a
jr nz, .place_move
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wMoveSwapBuffer], a
- call Function1bee
+ call PlaceHollowCursor
jp .moving_move
.place_move
@@ -1716,7 +1718,7 @@
.copy_move: ; 1313a
push hl
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld c, a
ld b, $0
@@ -1740,14 +1742,18 @@
.exit: ; 13154
xor a
ld [wMoveSwapBuffer], a
- ld hl, wcfa5
+ ld hl, w2DMenuFlags1
res 6, [hl]
call ClearSprites
jp ClearTileMap
; 13163
-Unknown_13163: ; 13163
- db $03, $01, $03, $01, $40, $00, $20, $f3
+MoveScreenAttributes: ; 13163
+ db 3, 1
+ db 3, 1
+ db $40, $00
+ dn 2, 0
+ db D_UP | D_DOWN | D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON
; 1316b
String_1316b: ; 1316b
@@ -1761,7 +1767,7 @@
xor a
ld [hBGMapMode], a
callba Functionfb571
- callba ClearSpriteAnims
+ callba ClearSpriteAnims2
ld a, [CurPartyMon]
ld e, a
ld d, $0
@@ -1802,7 +1808,7 @@
jp ClearBox
; 131ef
-Function131ef: ; 131ef
+SetUpMoveList: ; 131ef
xor a
ld [hBGMapMode], a
ld [wMoveSwapBuffer], a
@@ -1817,12 +1823,12 @@
hlcoord 2, 3
predef ListMoves
hlcoord 10, 4
- predef Function50c50
+ predef ListMovePP
call WaitBGMap
call SetPalettes
- ld a, [wd0eb]
+ ld a, [wNumMoves]
inc a
- ld [wcfa3], a
+ ld [w2DMenuNumRows], a
hlcoord 0, 11
ld b, 5
ld c, 18
@@ -1834,7 +1840,7 @@
ld bc, PARTYMON_STRUCT_LENGTH
ld a, [CurPartyMon]
call AddNTimes
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld c, a
ld b, $0
--- a/engine/stats_screen.asm
+++ b/engine/stats_screen.asm
@@ -1,4 +1,4 @@
-Function4dc7b: ; 4dc7b (13:5c7b)
+BattleStatsScreenInit: ; 4dc7b (13:5c7b)
ld a, [wLinkMode]
cp LINK_MOBILE
jr nz, StatsScreenInit
@@ -6,13 +6,13 @@
ld a, [wBattleMode] ; wd22d (aliases: EnemyMonEnd)
and a
jr z, StatsScreenInit
- jr Function4dc8f
+ jr _BattleStatsScreenInit
StatsScreenInit: ; 4dc8a
ld hl, StatsScreenMain
jr StatsScreenInit_gotaddress
-Function4dc8f: ; 4dc8f
+_BattleStatsScreenInit: ; 4dc8f
ld hl, StatsScreenBattle
jr StatsScreenInit_gotaddress
@@ -21,7 +21,7 @@
push af
xor a
ld [hMapAnims], a ; disable overworld tile animations
- ld a, [wc2c6] ; whether sprite is to be mirrorred
+ ld a, [wBoxAlignment] ; whether sprite is to be mirrorred
push af
ld a, [wJumptableIndex]
ld b, a
@@ -46,7 +46,7 @@
ld a, c
ld [wcf64], a
pop af
- ld [wc2c6], a
+ ld [wBoxAlignment], a
pop af
ld [hMapAnims], a
ret
@@ -66,7 +66,7 @@
and $7f
ld hl, StatsScreenPointerTable
rst JumpTable
- call Function4dd3a ; check for keys?
+ call StatsScreen_WaitAnim ; check for keys?
ld a, [wJumptableIndex]
bit 7, a
jr z, .loop
@@ -83,12 +83,12 @@
or $1
ld [wcf64], a
.loop
- callba Function100dd2
+ callba Mobile_SetOverworldDelay
ld a, [wJumptableIndex]
and $7f
ld hl, StatsScreenPointerTable
rst JumpTable
- call Function4dd3a
+ call StatsScreen_WaitAnim
callba Function100dfd
jr c, .exit
ld a, [wJumptableIndex]
@@ -100,37 +100,39 @@
; 4dd2a
StatsScreenPointerTable: ; 4dd2a
- dw MonStatsInit ; regular pokémon
- dw EggStatsInit ; egg
+
+ dw MonStatsInit ; regular pokémon
+ dw EggStatsInit ; egg
dw StatsScreenWaitCry
- dw Function4ddac
- dw Function4ddc6
+ dw EggStatsJoypad
+ dw StatsScreen_LoadPage
dw StatsScreenWaitCry
- dw Function4ddd6
- dw Function4dd6c
+ dw MonStatsJoypad
+ dw StatsScreen_Exit
; 4dd3a
-Function4dd3a: ; 4dd3a (13:5d3a)
+StatsScreen_WaitAnim: ; 4dd3a (13:5d3a)
ld hl, wcf64
bit 6, [hl]
- jr nz, .asm_4dd49
+ jr nz, .try_anim
bit 5, [hl]
- jr nz, .asm_4dd56
+ jr nz, .finish
call DelayFrame
ret
-.asm_4dd49
- callba Functiond00b4
- jr nc, .asm_4dd56
+
+.try_anim
+ callba SetUpPokeAnim
+ jr nc, .finish
ld hl, wcf64
res 6, [hl]
-.asm_4dd56
+.finish
ld hl, wcf64
res 5, [hl]
callba Function10402d
ret
-Function4dd62: ; 4dd62 (13:5d62)
+StatsScreen_SetJumptableIndex: ; 4dd62 (13:5d62)
ld a, [wJumptableIndex]
and $80
or h
@@ -137,7 +139,7 @@
ld [wJumptableIndex], a
ret
-Function4dd6c: ; 4dd6c (13:5d6c)
+StatsScreen_Exit: ; 4dd6c (13:5d6c)
ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -148,19 +150,20 @@
call ClearBGPalettes
call ClearTileMap
callba Function10402d
- call Function4ddf2
+ call StatsScreen_CopyToTempMon
ld a, [CurPartySpecies]
cp EGG
- jr z, .asm_4dd9b
- call Function4deea
+ jr z, .egg
+ call StatsScreen_InitUpperHalf
ld hl, wcf64
set 4, [hl]
- ld h, $4
- call Function4dd62
+ ld h, 4
+ call StatsScreen_SetJumptableIndex
ret
-.asm_4dd9b
- ld h, $1
- call Function4dd62
+
+.egg
+ ld h, 1
+ call StatsScreen_SetJumptableIndex
ret
EggStatsInit: ; 4dda1
@@ -172,24 +175,26 @@
; 0x4ddac
-Function4ddac: ; 4ddac (13:5dac)
- call Function4de2c
- jr nc, .asm_4ddb7
- ld h, $0
- call Function4dd62
+EggStatsJoypad: ; 4ddac (13:5dac)
+ call StatsScreen_GetJoypad
+ jr nc, .check
+ ld h, 0
+ call StatsScreen_SetJumptableIndex
ret
-.asm_4ddb7
- bit 0, a
- jr nz, .asm_4ddc0
- and $c3
- jp Function4de54
-.asm_4ddc0
- ld h, $7
- call Function4dd62
+
+.check
+ bit A_BUTTON_F, a
+ jr nz, .quit
+ and D_DOWN | D_UP | A_BUTTON | B_BUTTON
+ jp StatsScreen_JoypadAction
+
+.quit
+ ld h, 7
+ call StatsScreen_SetJumptableIndex
ret
-Function4ddc6: ; 4ddc6 (13:5dc6)
- call Function4dfb6
+StatsScreen_LoadPage: ; 4ddc6 (13:5dc6)
+ call StatsScreen_LoadGFX
ld hl, wcf64
res 4, [hl]
ld a, [wJumptableIndex]
@@ -197,16 +202,16 @@
ld [wJumptableIndex], a
ret
-Function4ddd6: ; 4ddd6 (13:5dd6)
- call Function4de2c
- jr nc, .asm_4dde1
- ld h, $0
- call Function4dd62
+MonStatsJoypad: ; 4ddd6 (13:5dd6)
+ call StatsScreen_GetJoypad
+ jr nc, .next
+ ld h, 0
+ call StatsScreen_SetJumptableIndex
ret
-.asm_4dde1
- and $f3
- jp Function4de54
+.next
+ and D_DOWN | D_UP | D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON
+ jp StatsScreen_JoypadAction
StatsScreenWaitCry: ; 4dde6 (13:5de6)
call IsSFXPlaying
@@ -216,32 +221,33 @@
ld [wJumptableIndex], a
ret
-Function4ddf2: ; 4ddf2 (13:5df2)
+StatsScreen_CopyToTempMon: ; 4ddf2 (13:5df2)
ld a, [MonType]
cp BREEDMON
- jr nz, .asm_4de10
- ld a, [wd018_Mon]
+ jr nz, .breedmon
+ ld a, [wBufferMon]
ld [CurSpecies], a
call GetBaseData
- ld hl, wd018_Mon
+ ld hl, wBufferMon
ld de, TempMon
ld bc, PARTYMON_STRUCT_LENGTH
call CopyBytes
- jr .asm_4de2a
-.asm_4de10
+ jr .done
+
+.breedmon
callba CopyPkmnToTempMon
ld a, [CurPartySpecies]
cp EGG
- jr z, .asm_4de2a
+ jr z, .done
ld a, [MonType]
cp BOXMON
- jr c, .asm_4de2a
- callba Function50890
-.asm_4de2a
+ jr c, .done
+ callba CalcTempmonStats
+.done
and a
ret
-Function4de2c: ; 4de2c (13:5e2c)
+StatsScreen_GetJoypad: ; 4de2c (13:5e2c)
call GetJoypad
ld a, [MonType]
cp BREEDMON
@@ -249,14 +255,14 @@
push hl
push de
push bc
- callba Functione2f95
+ callba StatsScreenDPad
pop bc
pop de
pop hl
- ld a, [wcf73]
- and $c0
+ ld a, [wMenuJoypad]
+ and D_DOWN | D_UP
jr nz, .set_carry
- ld a, [wcf73]
+ ld a, [wMenuJoypad]
jr .clear_flags
.notbreedmon
@@ -269,100 +275,107 @@
scf
ret
-Function4de54: ; 4de54 (13:5e54)
+StatsScreen_JoypadAction: ; 4de54 (13:5e54)
push af
ld a, [wcf64]
and $3
ld c, a
pop af
- bit 1, a
- jp nz, Function4dee4
- bit 5, a
- jr nz, .asm_4dec7
- bit 4, a
- jr nz, .asm_4debd
- bit 0, a
- jr nz, .asm_4deb8
- bit 6, a
- jr nz, .asm_4dea0
- bit 7, a
- jr nz, .asm_4de77
- jr .asm_4dece
-.asm_4de77
+ bit B_BUTTON_F, a
+ jp nz, .b_button
+ bit D_LEFT_F, a
+ jr nz, .d_left
+ bit D_RIGHT_F, a
+ jr nz, .d_right
+ bit A_BUTTON_F, a
+ jr nz, .a_button
+ bit D_UP_F, a
+ jr nz, .d_up
+ bit D_DOWN_F, a
+ jr nz, .d_down
+ jr .done
+
+.d_down
ld a, [MonType]
cp BOXMON
- jr nc, .asm_4dece
+ jr nc, .done
and a
ld a, [PartyCount]
- jr z, .asm_4de87
+ jr z, .next_mon
ld a, [OTPartyCount]
-.asm_4de87
+.next_mon
ld b, a
ld a, [CurPartyMon]
inc a
cp b
- jr z, .asm_4dece
+ jr z, .done
ld [CurPartyMon], a
ld b, a
ld a, [MonType]
and a
- jr nz, .asm_4dede
+ jr nz, .load_mon
ld a, b
inc a
- ld [wd0d8], a
- jr .asm_4dede
-.asm_4dea0
+ ld [wPartyMenuCursor], a
+ jr .load_mon
+
+.d_up
ld a, [CurPartyMon]
and a
- jr z, .asm_4dece
+ jr z, .done
dec a
ld [CurPartyMon], a
ld b, a
ld a, [MonType]
and a
- jr nz, .asm_4dede
+ jr nz, .load_mon
ld a, b
inc a
- ld [wd0d8], a
- jr .asm_4dede
-.asm_4deb8
+ ld [wPartyMenuCursor], a
+ jr .load_mon
+
+.a_button
ld a, c
cp $3
- jr z, Function4dee4
-.asm_4debd
+ jr z, .b_button
+.d_right
inc c
ld a, $3
cp c
- jr nc, .asm_4decf
+ jr nc, .set_page
ld c, $1
- jr .asm_4decf
-.asm_4dec7
+ jr .set_page
+
+.d_left
dec c
- jr nz, .asm_4decf
+ jr nz, .set_page
ld c, $3
- jr .asm_4decf
-.asm_4dece
+ jr .set_page
+
+.done
ret
-.asm_4decf
+
+.set_page
ld a, [wcf64]
- and $fc
+ and %11111100
or c
ld [wcf64], a
- ld h, $4
- call Function4dd62
+ ld h, 4
+ call StatsScreen_SetJumptableIndex
ret
-.asm_4dede
- ld h, $0
- call Function4dd62
+
+.load_mon
+ ld h, 0
+ call StatsScreen_SetJumptableIndex
ret
-Function4dee4: ; 4dee4 (13:5ee4)
- ld h, $7
- call Function4dd62
+.b_button: ; 4dee4 (13:5ee4)
+ ld h, 7
+ call StatsScreen_SetJumptableIndex
ret
-Function4deea: ; 4deea (13:5eea)
- call Function4df45
+StatsScreen_InitUpperHalf: ; 4deea (13:5eea)
+ call .PlaceHPBar
xor a
ld [hBGMapMode], a
ld a, [CurBaseData] ; wd236 (aliases: BaseDexNo)
@@ -379,13 +392,13 @@
call PrintNum
hlcoord 14, 0
call PrintLevel
- ld hl, Unknown_4df77
- call Function4e528
- call Function4e505
+ ld hl, .NicknamePointers
+ call GetNicknamePointer
+ call CopyNickname
hlcoord 8, 2
call PlaceString
hlcoord 18, 0
- call Function4df66
+ call .PlaceGenderChar
hlcoord 9, 4
ld a, "/"
ld [hli], a
@@ -393,12 +406,12 @@
ld [wd265], a
call GetPokemonName
call PlaceString
- call Function4df8f
- call Function4df9b
- call Function4dfa6
+ call StatsScreen_PlaceHorizontalDivider
+ call StatsScreen_PlacePageSwitchArrows
+ call StatsScreen_PlaceShinyIcon
ret
-Function4df45: ; 4df45 (13:5f45)
+.PlaceHPBar: ; 4df45 (13:5f45)
ld hl, TempMonHP
ld a, [hli]
ld b, a
@@ -407,15 +420,15 @@
ld a, [hli]
ld d, a
ld e, [hl]
- callba DrawPartyMenuHPBar
+ callba ComputeHPBarPixels
ld hl, wcda1
call SetHPPal
- ld b, SCGB_03
+ ld b, SCGB_STATS_SCREEN_HP_PALS
call GetSGBLayout
call DelayFrame
ret
-Function4df66: ; 4df66 (13:5f66)
+.PlaceGenderChar: ; 4df66 (13:5f66)
push hl
callba GetGender
pop hl
@@ -428,14 +441,15 @@
ret
; 4df77 (13:5f77)
-Unknown_4df77: ; 4df77
+.NicknamePointers: ; 4df77
dw PartyMonNicknames
dw OTPartyMonNicknames
dw sBoxMonNicknames
- dw wd002
+ dw wBufferMonNick
; 4df7f
Function4df7f: ; 4df7f
+; unreferenced
hlcoord 7, 0
ld bc, SCREEN_WIDTH
ld d, SCREEN_HEIGHT
@@ -448,7 +462,7 @@
ret
; 4df8f
-Function4df8f: ; 4df8f (13:5f8f)
+StatsScreen_PlaceHorizontalDivider: ; 4df8f (13:5f8f)
hlcoord 0, 7
ld b, SCREEN_WIDTH
ld a, "_"
@@ -458,7 +472,7 @@
jr nz, .loop
ret
-Function4df9b: ; 4df9b (13:5f9b)
+StatsScreen_PlacePageSwitchArrows: ; 4df9b (13:5f9b)
hlcoord 12, 6
ld [hl], "◀"
hlcoord 19, 6
@@ -465,7 +479,7 @@
ld [hl], "▶"
ret
-Function4dfa6: ; 4dfa6 (13:5fa6)
+StatsScreen_PlaceShinyIcon: ; 4dfa6 (13:5fa6)
ld bc, TempMonDVs
callba CheckShininess
ret nc
@@ -473,126 +487,127 @@
ld [hl], "<SHINY>"
ret
-Function4dfb6: ; 4dfb6 (13:5fb6)
- ld a, [CurBaseData] ; wd236 (aliases: BaseDexNo)
+StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
+ ld a, [BaseDexNo] ; wd236 (aliases: BaseDexNo)
ld [wd265], a
ld [CurSpecies], a
xor a
ld [hBGMapMode], a
- call Function4dfda
- call Function4e002
- call Function4dfed
+ call .ClearBox
+ call .PageTilemap
+ call .LoadPals
ld hl, wcf64
bit 4, [hl]
- jr nz, .asm_4dfd6
+ jr nz, .place_frontpic
call SetPalettes
ret
-.asm_4dfd6
- call Function4e226
+.place_frontpic
+ call StatsScreen_PlaceFrontpic
ret
-Function4dfda: ; 4dfda (13:5fda)
+.ClearBox: ; 4dfda (13:5fda)
ld a, [wcf64]
and $3
ld c, a
- call Function4e4cd
+ call StatsScreen_LoadPageIndicators
hlcoord 0, 8
lb bc, 10, 20
call ClearBox
ret
-Function4dfed: ; 4dfed (13:5fed)
+.LoadPals: ; 4dfed (13:5fed)
ld a, [wcf64]
and $3
ld c, a
- callba Function8c8a
+ callba LoadStatsScreenPals
call DelayFrame
ld hl, wcf64
set 5, [hl]
ret
-Function4e002: ; 4e002 (13:6002)
+.PageTilemap: ; 4e002 (13:6002)
ld a, [wcf64]
and $3
dec a
- ld hl, Jumptable_4e00d
+ ld hl, .Jumptable
rst JumpTable
ret
-Jumptable_4e00d: ; 4e00d (13:600d)
- dw Function4e013
- dw Function4e147
- dw Function4e1ae
+.Jumptable: ; 4e00d (13:600d)
+
+ dw .PinkPage
+ dw .GreenPage
+ dw .BluePage
-Function4e013: ; 4e013 (13:6013)
+.PinkPage: ; 4e013 (13:6013)
hlcoord 0, 9
ld b, $0
predef DrawPlayerHP
hlcoord 8, 9
ld [hl], $41
- ld de, String_4e119
+ ld de, .Status_Type
hlcoord 0, 12
call PlaceString
ld a, [TempMonPokerusStatus]
ld b, a
and $f
- jr nz, .asm_4e055
+ jr nz, .HasPokerus
ld a, b
and $f0
- jr z, .asm_4e03d
+ jr z, .NotImmuneToPkrs
hlcoord 8, 8
- ld [hl], $e8
-.asm_4e03d
+ ld [hl], "."
+.NotImmuneToPkrs
ld a, [MonType]
- cp $2
- jr z, .asm_4e060
+ cp BOXMON
+ jr z, .StatusOK
hlcoord 6, 13
push hl
ld de, TempMonStatus
predef PlaceStatusString
pop hl
- jr nz, .asm_4e066
- jr .asm_4e060
-.asm_4e055
- ld de, String_4e142
+ jr nz, .done_status
+ jr .StatusOK
+.HasPokerus
+ ld de, .PkrsStr
hlcoord 1, 13
call PlaceString
- jr .asm_4e066
-.asm_4e060
- ld de, String_4e127
+ jr .done_status
+.StatusOK
+ ld de, .OK_str
call PlaceString
-.asm_4e066
+.done_status
hlcoord 1, 15
predef PrintMonTypes
hlcoord 9, 8
- ld de, $14
- ld b, $a
+ ld de, SCREEN_WIDTH
+ ld b, 10
ld a, $31
-.asm_4e078
+.vertical_divider
ld [hl], a
add hl, de
dec b
- jr nz, .asm_4e078
- ld de, String_4e12b
+ jr nz, .vertical_divider
+ ld de, .ExpPointStr
hlcoord 10, 9
call PlaceString
hlcoord 17, 14
- call Function4e0d3
+ call .PrintNextLevel
hlcoord 13, 10
lb bc, 3, 7
ld de, TempMonExp
call PrintNum
- call Function4e0e7
+ call .CalcExpToNextLevel
hlcoord 13, 13
lb bc, 3, 7
ld de, Buffer1 ; wd1ea (aliases: MagikarpLength)
call PrintNum
- ld de, String_4e136
+ ld de, .LevelUpStr
hlcoord 10, 12
call PlaceString
- ld de, String_4e13f
+ ld de, .ToStr
hlcoord 14, 14
call PlaceString
hlcoord 11, 16
@@ -606,23 +621,23 @@
ld [hl], $41
ret
-Function4e0d3: ; 4e0d3 (13:60d3)
+.PrintNextLevel: ; 4e0d3 (13:60d3)
ld a, [TempMonLevel]
push af
cp MAX_LEVEL
- jr z, .asm_4e0df
+ jr z, .AtMaxLevel
inc a
ld [TempMonLevel], a
-.asm_4e0df
+.AtMaxLevel
call PrintLevel
pop af
ld [TempMonLevel], a
ret
-Function4e0e7: ; 4e0e7 (13:60e7)
+.CalcExpToNextLevel: ; 4e0e7 (13:60e7)
ld a, [TempMonLevel]
cp MAX_LEVEL
- jr z, .asm_4e111
+ jr z, .AlreadyAtMaxLevel
inc a
ld d, a
callba CalcExpAtLevel
@@ -629,11 +644,11 @@
rept 2
ld hl, TempMonExp + 2
endr
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
sub [hl]
dec hl
- ld [wd1ec], a
- ld a, [$ffb5]
+ ld [Buffer3], a
+ ld a, [hQuotient + 1]
sbc [hl]
dec hl
ld [Buffer2], a ; wd1eb (aliases: MovementType)
@@ -641,7 +656,8 @@
sbc [hl]
ld [Buffer1], a ; wd1ea (aliases: MagikarpLength)
ret
-.asm_4e111
+
+.AlreadyAtMaxLevel
ld hl, Buffer1 ; wd1ea (aliases: MagikarpLength)
xor a
rept 2
@@ -651,39 +667,39 @@
ret
; 4e119 (13:6119)
-String_4e119: ; 4e119
+.Status_Type: ; 4e119
db "STATUS/"
next "TYPE/@"
; 4e127
-String_4e127: ; 4e127
+.OK_str: ; 4e127
db "OK @"
; 4e12b
-String_4e12b: ; 4e12b
+.ExpPointStr: ; 4e12b
db "EXP POINTS@"
; 4e136
-String_4e136: ; 4e136
+.LevelUpStr: ; 4e136
db "LEVEL UP@"
; 4e13f
-String_4e13f: ; 4e13f
+.ToStr: ; 4e13f
db "TO@"
; 4e142
-String_4e142: ; 4e142
+.PkrsStr: ; 4e142
db "#RUS@"
; 4e147
-Function4e147: ; 4e147 (13:6147)
- ld de, String_4e1a0
+.GreenPage: ; 4e147 (13:6147)
+ ld de, .Item
hlcoord 0, 8
call PlaceString
- call Function4e189
+ call .GetItemName
hlcoord 8, 8
call PlaceString
- ld de, String_4e1a9
+ ld de, .Move
hlcoord 0, 10
call PlaceString
ld hl, TempMonMoves
@@ -695,18 +711,18 @@
ld [Buffer1], a
predef ListMoves
hlcoord 12, 11
- ld a, $28
+ ld a, SCREEN_WIDTH * 2
ld [Buffer1], a
- predef Function50c50
+ predef ListMovePP
ret
-Function4e189: ; 4e189 (13:6189)
- ld de, String_4e1a5
+.GetItemName: ; 4e189 (13:6189)
+ ld de, .ThreeDashes
ld a, [TempMonItem]
and a
ret z
ld b, a
- callba Function28771
+ callba TimeCapsule_ReplaceTeruSama
ld a, b
ld [wd265], a
call GetItemName
@@ -713,35 +729,35 @@
ret
; 4e1a0 (13:61a0)
-String_4e1a0: ; 4e1a0
+.Item: ; 4e1a0
db "ITEM@"
; 4e1a5
-String_4e1a5: ; 4e1a5
+.ThreeDashes: ; 4e1a5
db "---@"
; 4e1a9
-String_4e1a9: ; 4e1a9
+.Move: ; 4e1a9
db "MOVE@"
; 4e1ae
-Function4e1ae: ; 4e1ae (13:61ae)
- call Function4e1cc
+.BluePage: ; 4e1ae (13:61ae)
+ call .PlaceOTInfo
hlcoord 10, 8
- ld de, $14
- ld b, $a
+ ld de, SCREEN_WIDTH
+ ld b, 10
ld a, $31
-.asm_4e1bb
+.BluePageVerticalDivider
ld [hl], a
add hl, de
dec b
- jr nz, .asm_4e1bb
+ jr nz, .BluePageVerticalDivider
hlcoord 11, 8
- ld bc, $6
+ ld bc, 6
predef PrintTempMonStats
ret
-Function4e1cc: ; 4e1cc (13:61cc)
+.PlaceOTInfo: ; 4e1cc (13:61cc)
ld de, IDNoString
hlcoord 0, 9
call PlaceString
@@ -752,37 +768,37 @@
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
ld de, TempMonID
call PrintNum
- ld hl, Unknown_4e216
- call Function4e528
- call Function4e505
+ ld hl, .OTNamePointers
+ call GetNicknamePointer
+ call CopyNickname
callba CheckNickErrors
hlcoord 2, 13
call PlaceString
ld a, [TempMonCaughtGender]
and a
- jr z, .asm_4e215
+ jr z, .done
cp $7f
- jr z, .asm_4e215
+ jr z, .done
and $80
ld a, "♂"
- jr z, .asm_4e211
+ jr z, .got_gender
ld a, "♀"
-.asm_4e211
+.got_gender
hlcoord 9, 13
ld [hl], a
-.asm_4e215
+.done
ret
; 4e216 (13:6216)
-Unknown_4e216: ; 4e216
+.OTNamePointers: ; 4e216
dw PartyMonOT
dw OTPartyMonOT
dw sBoxMonOT
- dw wd00d
+ dw wBufferMonOT
; 4e21e
IDNoString: ; 4e21e
- db $73, "№.@"
+ db "<ID>№.@"
OTString: ; 4e222
db "OT/@"
@@ -789,64 +805,69 @@
; 4e226
-Function4e226: ; 4e226 (13:6226)
+StatsScreen_PlaceFrontpic: ; 4e226 (13:6226)
ld hl, TempMonDVs
predef GetUnownLetter
- call Function4e2ad
- jr c, .asm_4e238
+ call StatsScreen_GetAnimationParam
+ jr c, .egg
and a
- jr z, .asm_4e23f
- jr .asm_4e246
-.asm_4e238
- call Function4e271
+ jr z, .no_cry
+ jr .cry
+
+.egg
+ call .AnimateEgg
call SetPalettes
ret
-.asm_4e23f
- call Function4e253
+
+.no_cry
+ call .AnimateMon
call SetPalettes
ret
-.asm_4e246
+
+.cry
call SetPalettes
- call Function4e253
+ call .AnimateMon
ld a, [CurPartySpecies]
call PlayCry2
ret
-Function4e253: ; 4e253 (13:6253)
+.AnimateMon: ; 4e253 (13:6253)
ld hl, wcf64
set 5, [hl]
ld a, [CurPartySpecies]
cp UNOWN
- jr z, .asm_4e266
+ jr z, .unown
hlcoord 0, 0
call PrepMonFrontpic
ret
-.asm_4e266
+
+.unown
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
hlcoord 0, 0
call _PrepMonFrontpic
ret
-Function4e271: ; 4e271 (13:6271)
+.AnimateEgg: ; 4e271 (13:6271)
ld a, [CurPartySpecies]
cp UNOWN
- jr z, .asm_4e281
- ld a, $1
- ld [wc2c6], a
- call Function4e289
+ jr z, .unownegg
+ ld a, TRUE
+ ld [wBoxAlignment], a
+ call .get_animation
ret
-.asm_4e281
+
+.unownegg
xor a
- ld [wc2c6], a
- call Function4e289
+ ld [wBoxAlignment], a
+ call .get_animation
ret
-Function4e289: ; 4e289 (13:6289)
+.get_animation: ; 4e289 (13:6289)
ld a, [CurPartySpecies]
call IsAPokemon
ret c
- call Function4e307
+ call StatsScreen_LoadTextBoxSpaceGFX
ld de, VTiles2 tile $00
predef FrontpicPredef
hlcoord 0, 0
@@ -857,7 +878,7 @@
set 6, [hl]
ret
-Function4e2ad: ; 4e2ad (13:62ad)
+StatsScreen_GetAnimationParam: ; 4e2ad (13:62ad)
ld a, [MonType]
ld hl, .Jumptable
rst JumpTable
@@ -864,14 +885,14 @@
ret
.Jumptable: ; 4e2b5 (13:62b5)
- dw Function4e2bf
- dw Function4e2cf
- dw Function4e2d1
- dw Function4e2ed
- dw Function4e301
+ dw .PartyMon
+ dw .OTPartyMon
+ dw .BoxMon
+ dw .Tempmon
+ dw .Wildmon
-Function4e2bf: ; 4e2bf (13:62bf)
+.PartyMon: ; 4e2bf (13:62bf)
ld a, [CurPartyMon]
ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species)
ld bc, PARTYMON_STRUCT_LENGTH
@@ -878,13 +899,13 @@
call AddNTimes
ld b, h
ld c, l
- jr Function4e2f2
+ jr .CheckEggFaintedFrzSlp
-Function4e2cf: ; 4e2cf (13:62cf)
+.OTPartyMon: ; 4e2cf (13:62cf)
xor a
ret
-Function4e2d1: ; 4e2d1 (13:62d1)
+.BoxMon: ; 4e2d1 (13:62d1)
ld hl, sBoxMons
ld bc, PARTYMON_STRUCT_LENGTH
ld a, [CurPartyMon]
@@ -893,36 +914,37 @@
ld c, l
ld a, BANK(sBoxMons)
call GetSRAMBank
- call Function4e2f2
+ call .CheckEggFaintedFrzSlp
push af
call CloseSRAM
pop af
ret
-Function4e2ed: ; 4e2ed (13:62ed)
+.Tempmon: ; 4e2ed (13:62ed)
ld bc, TempMonSpecies ; wd10e (aliases: TempMon)
- jr Function4e2f2 ; utterly pointless
+ jr .CheckEggFaintedFrzSlp ; utterly pointless
-Function4e2f2: ; 4e2f2 (13:62f2)
+.CheckEggFaintedFrzSlp: ; 4e2f2 (13:62f2)
ld a, [CurPartySpecies]
cp EGG
jr z, .egg
call CheckFaintedFrzSlp
- jr c, Function4e305
+ jr c, .FaintedFrzSlp
.egg
xor a
scf
ret
-Function4e301: ; 4e301 (13:6301)
+.Wildmon: ; 4e301 (13:6301)
ld a, $1
and a
ret
-Function4e305: ; 4e305 (13:6305)
+
+.FaintedFrzSlp: ; 4e305 (13:6305)
xor a
ret
-Function4e307: ; 4e307 (13:6307)
+StatsScreen_LoadTextBoxSpaceGFX: ; 4e307 (13:6307)
nop
push hl
push de
@@ -956,9 +978,9 @@
ld [hBGMapMode], a
ld hl, wcda1
call SetHPPal
- ld b, SCGB_03
+ ld b, SCGB_STATS_SCREEN_HP_PALS
call GetSGBLayout
- call Function4df8f
+ call StatsScreen_PlaceHorizontalDivider
ld de, EggString
hlcoord 8, 1
call PlaceString
@@ -995,7 +1017,7 @@
hlcoord 0, 0
call PrepMonFrontpic
callba Function10402d
- call Function4e497
+ call StatsScreen_AnimateEgg
ld a, [TempMonHappiness]
cp 6
@@ -1034,22 +1056,23 @@
; 0x4e497
-Function4e497: ; 4e497 (13:6497)
- call Function4e2ad
+StatsScreen_AnimateEgg: ; 4e497 (13:6497)
+ call StatsScreen_GetAnimationParam
ret nc
ld a, [TempMonHappiness]
ld e, $7
- cp $6
- jr c, .asm_4e4ab
+ cp 6
+ jr c, .animate
ld e, $8
- cp $b
- jr c, .asm_4e4ab
+ cp 11
+ jr c, .animate
ret
-.asm_4e4ab
+
+.animate
push de
ld a, $1
- ld [wc2c6], a
- call Function4e307
+ ld [wBoxAlignment], a
+ call StatsScreen_LoadTextBoxSpaceGFX
ld de, VTiles2 tile $00
predef FrontpicPredef
pop de
@@ -1060,7 +1083,7 @@
set 6, [hl]
ret
-Function4e4cd: ; 4e4cd (13:64cd)
+StatsScreen_LoadPageIndicators: ; 4e4cd (13:64cd)
hlcoord 13, 5
ld a, $36
call .load_square
@@ -1092,7 +1115,7 @@
pop bc
ret
-Function4e505: ; 4e505 (13:6505)
+CopyNickname: ; 4e505 (13:6505)
ld de, StringBuffer1
ld bc, PKMN_NAME_LENGTH
jr .okay ; uuterly pointless
@@ -1114,7 +1137,7 @@
pop de
ret
-Function4e528: ; 4e528 (13:6528)
+GetNicknamePointer: ; 4e528 (13:6528)
ld a, [MonType]
add a
ld c, a
@@ -1124,7 +1147,7 @@
ld h, [hl]
ld l, a
ld a, [MonType]
- cp $3
+ cp BREEDMON
ret z
ld a, [CurPartyMon]
jp SkipNames
--- a/engine/std_scripts.asm
+++ b/engine/std_scripts.asm
@@ -55,7 +55,7 @@
PokeCenterNurseScript:
; EVENT_WELCOMED_TO_POKECOM_CENTER is never set
- loadfont
+ opentext
checkmorn
iftrue .morn
checkday
@@ -68,11 +68,11 @@
checkevent EVENT_WELCOMED_TO_POKECOM_CENTER
iftrue .morn_comcenter
farwritetext NurseMornText
- keeptextopen
+ buttonsound
jump .ok
.morn_comcenter
farwritetext PokeComNurseMornText
- keeptextopen
+ buttonsound
jump .ok
.day
@@ -79,11 +79,11 @@
checkevent EVENT_WELCOMED_TO_POKECOM_CENTER
iftrue .day_comcenter
farwritetext NurseDayText
- keeptextopen
+ buttonsound
jump .ok
.day_comcenter
farwritetext PokeComNurseDayText
- keeptextopen
+ buttonsound
jump .ok
.nite
@@ -90,11 +90,11 @@
checkevent EVENT_WELCOMED_TO_POKECOM_CENTER
iftrue .nite_comcenter
farwritetext NurseNiteText
- keeptextopen
+ buttonsound
jump .ok
.nite_comcenter
farwritetext PokeComNurseNiteText
- keeptextopen
+ buttonsound
jump .ok
.ok
@@ -138,8 +138,8 @@
spriteface LAST_TALKED, DOWN
pause 10
+ waitbutton
closetext
- loadmovesprites
end
.pokerus
@@ -146,16 +146,15 @@
; already cleared earlier in the script
checkevent EVENT_WELCOMED_TO_POKECOM_CENTER
iftrue .pokerus_comcenter
-
farwritetext NursePokerusText
+ waitbutton
closetext
- loadmovesprites
jump .pokerus_done
.pokerus_comcenter
farwritetext PokeComNursePokerusText
+ waitbutton
closetext
- loadmovesprites
.pokerus_done
setflag ENGINE_POKERUS
@@ -181,11 +180,11 @@
farjumptext MerchandiseShelfText
TownMapScript:
- loadfont
+ opentext
farwritetext TownMapText
- closetext
+ waitbutton
special Special_TownMap
- loadmovesprites
+ closetext
end
WindowScript:
@@ -192,10 +191,10 @@
farjumptext WindowText
TVScript:
- loadfont
+ opentext
farwritetext TVText
+ waitbutton
closetext
- loadmovesprites
end
HomepageScript:
@@ -202,18 +201,18 @@
farjumptext HomepageText
Radio1Script:
- loadfont
- writebyte $0
+ opentext
+ writebyte MAPRADIO_POKEMON_CHANNEL
special MapRadio
- loadmovesprites
+ closetext
end
Radio2Script:
; Lucky Channel
- loadfont
- writebyte $4
+ opentext
+ writebyte MAPRADIO_LUCKY_CHANNEL
special MapRadio
- loadmovesprites
+ closetext
end
TrashCanScript: ; 0xbc1a5
@@ -220,9 +219,9 @@
farjumptext TrashCanText
PCScript:
- loadfont
+ opentext
special PokemonCenterPC
- loadmovesprites
+ closetext
end
ElevatorButtonScript:
@@ -317,9 +316,9 @@
clearevent EVENT_CONTEST_OFFICER_HAS_EVERSTONE
clearevent EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY
clearevent EVENT_CONTEST_OFFICER_HAS_BERRY
- loadfont
+ opentext
farwritetext ContestResults_ReadyToJudgeText
- closetext
+ waitbutton
special BugContestJudging
RAM2MEM $0
if_equal 1, BugContestResults_FirstPlace
@@ -326,26 +325,26 @@
if_equal 2, BugContestResults_SecondPlace
if_equal 3, BugContestResults_ThirdPlace
farwritetext ContestResults_ConsolationPrizeText
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
verbosegiveitem BERRY
iffalse BugContestResults_NoRoomForBerry
BugContestResults_DidNotWin
farwritetext ContestResults_DidNotWinText
- keeptextopen
+ buttonsound
jump BugContestResults_FinishUp
; 0xbc2b1
BugContestResults_ReturnAfterWinnersPrize ; 0xbc2b1
farwritetext ContestResults_JoinUsNextTimeText
- keeptextopen
+ buttonsound
BugContestResults_FinishUp
checkevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
iffalse BugContestResults_DidNotLeaveMons
farwritetext ContestResults_ReturnPartyText
- closetext
+ waitbutton
special ContestReturnMons
BugContestResults_DidNotLeaveMons
special CheckPartyFullAfterContest
@@ -352,9 +351,9 @@
if_equal $0, BugContestResults_CleanUp
if_equal $2, BugContestResults_CleanUp
farwritetext ContestResults_PartyFullText
- closetext
+ waitbutton
BugContestResults_CleanUp
- loadmovesprites
+ closetext
dotrigger $0
domaptrigger ROUTE_35_NATIONAL_PARK_GATE, $0
setevent EVENT_BUG_CATCHING_CONTESTANT_1A
@@ -386,7 +385,7 @@
setevent EVENT_GAVE_KURT_APRICORNS
itemtotext SUN_STONE, $1
farwritetext ContestResults_PlayerWonAPrizeText
- closetext
+ waitbutton
verbosegiveitem SUN_STONE
iffalse BugContestResults_NoRoomForSunStone
jump BugContestResults_ReturnAfterWinnersPrize
@@ -395,7 +394,7 @@
BugContestResults_SecondPlace ; 0xbc332
itemtotext EVERSTONE, $1
farwritetext ContestResults_PlayerWonAPrizeText
- closetext
+ waitbutton
verbosegiveitem EVERSTONE
iffalse BugContestResults_NoRoomForEverstone
jump BugContestResults_ReturnAfterWinnersPrize
@@ -404,7 +403,7 @@
BugContestResults_ThirdPlace ; 0xbc343
itemtotext GOLD_BERRY, $1
farwritetext ContestResults_PlayerWonAPrizeText
- closetext
+ waitbutton
verbosegiveitem GOLD_BERRY
iffalse BugContestResults_NoRoomForGoldBerry
jump BugContestResults_ReturnAfterWinnersPrize
@@ -412,7 +411,7 @@
BugContestResults_NoRoomForSunStone ; 0xbc354
farwritetext BugContestPrizeNoRoomText
- keeptextopen
+ buttonsound
setevent EVENT_CONTEST_OFFICER_HAS_SUN_STONE
jump BugContestResults_ReturnAfterWinnersPrize
; 0xbc35f
@@ -419,7 +418,7 @@
BugContestResults_NoRoomForEverstone ; 0xbc35f
farwritetext BugContestPrizeNoRoomText
- keeptextopen
+ buttonsound
setevent EVENT_CONTEST_OFFICER_HAS_EVERSTONE
jump BugContestResults_ReturnAfterWinnersPrize
; 0xbc36a
@@ -426,7 +425,7 @@
BugContestResults_NoRoomForGoldBerry ; 0xbc36a
farwritetext BugContestPrizeNoRoomText
- keeptextopen
+ buttonsound
setevent EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY
jump BugContestResults_ReturnAfterWinnersPrize
; 0xbc375
@@ -433,7 +432,7 @@
BugContestResults_NoRoomForBerry ; 0xbc375
farwritetext BugContestPrizeNoRoomText
- keeptextopen
+ buttonsound
setevent EVENT_CONTEST_OFFICER_HAS_BERRY
jump BugContestResults_DidNotWin
; 0xbc380
@@ -793,8 +792,8 @@
RegisteredNumberMScript:
farwritetext RegisteredNumber1Text
playsound SFX_REGISTER_PHONE_NUMBER
- waitbutton
- keeptextopen
+ waitsfx
+ buttonsound
end
NumberAcceptedMScript:
@@ -822,103 +821,103 @@
.Jack
farwritetext JackNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Huey
farwritetext HueyNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Gaven
farwritetext GavenNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Jose
farwritetext JoseNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Joey
farwritetext JoeyNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Wade
farwritetext WadeNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Ralph
farwritetext RalphNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Anthony
farwritetext AnthonyNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Todd
farwritetext ToddNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Irwin
farwritetext IrwinNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Arnie
farwritetext ArnieNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Alan
farwritetext AlanNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Chad
farwritetext ChadNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Derek
farwritetext DerekNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Tully
farwritetext TullyNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Brent
farwritetext BrentNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Vance
farwritetext VanceNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Wilton
farwritetext WiltonNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Kenji
farwritetext KenjiNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Parry
farwritetext ParryNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
NumberDeclinedMScript:
@@ -946,103 +945,103 @@
.Jack
farwritetext JackNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Huey
farwritetext HueyNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Gaven
farwritetext GavenNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Jose
farwritetext JoseNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Joey
farwritetext JoeyNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Wade
farwritetext WadeNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Ralph
farwritetext RalphNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Anthony
farwritetext AnthonyNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Todd
farwritetext ToddNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Irwin
farwritetext IrwinNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Arnie
farwritetext ArnieNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Alan
farwritetext AlanNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Chad
farwritetext ChadNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Derek
farwritetext DerekNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Tully
farwritetext TullyNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Brent
farwritetext BrentNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Vance
farwritetext VanceNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Wilton
farwritetext WiltonNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Kenji
farwritetext KenjiNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Parry
farwritetext ParryNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
PhoneFullMScript:
@@ -1070,103 +1069,103 @@
.Jack
farwritetext JackPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Huey
farwritetext HueyPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Gaven
farwritetext GavenPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Jose
farwritetext JosePhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Joey
farwritetext JoeyPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Wade
farwritetext WadePhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Ralph
farwritetext RalphPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Anthony
farwritetext AnthonyPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Todd
farwritetext ToddPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Irwin
farwritetext IrwinPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Arnie
farwritetext ArniePhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Alan
farwritetext AlanPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Chad
farwritetext ChadPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Derek
farwritetext DerekPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Tully
farwritetext TullyPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Brent
farwritetext BrentPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Vance
farwritetext VancePhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Wilton
farwritetext WiltonPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Kenji
farwritetext KenjiPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Parry
farwritetext ParryPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
RematchMScript:
@@ -1191,88 +1190,88 @@
.Jack
farwritetext JackRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Huey
farwritetext HueyRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Gaven
farwritetext GavenRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Jose
farwritetext JoseRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Joey
farwritetext JoeyRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Wade
farwritetext WadeRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Ralph
farwritetext RalphRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Anthony
farwritetext AnthonyRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Todd
farwritetext ToddRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Arnie
farwritetext ArnieRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Alan
farwritetext AlanRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Chad
farwritetext ChadRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Tully
farwritetext TullyRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Brent
farwritetext BrentRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Vance
farwritetext VanceRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Wilton
farwritetext WiltonRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Parry
farwritetext ParryRematchText
+ waitbutton
closetext
- loadmovesprites
end
GiftMScript:
@@ -1287,31 +1286,31 @@
.Jose
farwritetext JoseGiftText
- keeptextopen
+ buttonsound
end
.Wade
farwritetext WadeGiftText
- keeptextopen
+ buttonsound
end
.Alan
farwritetext AlanGiftText
- keeptextopen
+ buttonsound
end
.Derek
farwritetext DerekGiftText
- keeptextopen
+ buttonsound
end
.Tully
farwritetext TullyGiftText
- keeptextopen
+ buttonsound
end
.Wilton
farwritetext WiltonGiftText
- keeptextopen
+ buttonsound
end
.Kenji
farwritetext KenjiGiftText
- keeptextopen
+ buttonsound
end
PackFullMScript:
@@ -1330,62 +1329,62 @@
.Huey
farwritetext HueyPackFullText
+ waitbutton
closetext
- loadmovesprites
end
.Jose
farwritetext JosePackFullText
+ waitbutton
closetext
- loadmovesprites
end
.Joey
farwritetext JoeyPackFullText
+ waitbutton
closetext
- loadmovesprites
end
.Wade
farwritetext WadePackFullText
+ waitbutton
closetext
- loadmovesprites
end
.Alan
farwritetext AlanPackFullText
+ waitbutton
closetext
- loadmovesprites
end
.Derek
farwritetext DerekPackFullText
+ waitbutton
closetext
- loadmovesprites
end
.Tully
farwritetext TullyPackFullText
+ waitbutton
closetext
- loadmovesprites
end
.Vance
farwritetext VancePackFullText
+ waitbutton
closetext
- loadmovesprites
end
.Wilton
farwritetext WiltonPackFullText
+ waitbutton
closetext
- loadmovesprites
end
.Kenji
farwritetext KenjiPackFullText
+ waitbutton
closetext
- loadmovesprites
end
.Parry
farwritetext ParryPackFullText
+ waitbutton
closetext
- loadmovesprites
end
RematchGiftMScript:
- loadfont
+ opentext
checkcode VAR_CALLERID
if_equal PHONE_SAILOR_HUEY, .Huey
if_equal PHONE_YOUNGSTER_JOEY, .Joey
@@ -1394,19 +1393,19 @@
.Huey
farwritetext HueyRematchGiftText
- keeptextopen
+ buttonsound
end
.Joey
farwritetext JoeyRematchGiftText
- keeptextopen
+ buttonsound
end
.Vance
farwritetext VanceRematchGiftText
- keeptextopen
+ buttonsound
end
.Parry
farwritetext ParryRematchGiftText
- keeptextopen
+ buttonsound
end
AskNumber1FScript:
@@ -1484,8 +1483,8 @@
RegisteredNumberFScript:
farwritetext RegisteredNumber2Text
playsound SFX_REGISTER_PHONE_NUMBER
- waitbutton
- keeptextopen
+ waitsfx
+ buttonsound
end
NumberAcceptedFScript: ; 0xbcbd3
@@ -1501,43 +1500,43 @@
.Beverly
farwritetext BeverlyNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Beth
farwritetext BethNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Reena
farwritetext ReenaNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Liz
farwritetext LizNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Gina
farwritetext GinaNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Dana
farwritetext DanaNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Tiffany
farwritetext TiffanyNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
.Erin
farwritetext ErinNumberAcceptedText
+ waitbutton
closetext
- loadmovesprites
end
NumberDeclinedFScript:
@@ -1553,43 +1552,43 @@
.Beverly
farwritetext BeverlyNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Beth
farwritetext BethNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Reena
farwritetext ReenaNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Liz
farwritetext LizNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Gina
farwritetext GinaNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Dana
farwritetext DanaNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Tiffany
farwritetext TiffanyNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
.Erin
farwritetext ErinNumberDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
PhoneFullFScript:
@@ -1605,43 +1604,43 @@
.Beverly
farwritetext BeverlyPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Beth
farwritetext BethPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Reena
farwritetext ReenaPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Liz
farwritetext LizPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Gina
farwritetext GinaPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Dana
farwritetext DanaPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Tiffany
farwritetext TiffanyPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
.Erin
farwritetext ErinPhoneFullText
+ waitbutton
closetext
- loadmovesprites
end
RematchFScript:
@@ -1656,38 +1655,38 @@
.Beth
farwritetext BethRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Reena
farwritetext ReenaRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Liz
farwritetext LizRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Gina
farwritetext GinaRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Dana
farwritetext DanaRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Tiffany
farwritetext TiffanyRematchText
+ waitbutton
closetext
- loadmovesprites
end
.Erin
farwritetext ErinRematchText
+ waitbutton
closetext
- loadmovesprites
end
GiftFScript:
@@ -1699,19 +1698,19 @@
.Beverly
farwritetext BeverlyGiftText
- keeptextopen
+ buttonsound
end
.Gina
farwritetext GinaGiftText
- keeptextopen
+ buttonsound
end
.Dana
farwritetext DanaGiftText
- keeptextopen
+ buttonsound
end
.Tiffany
farwritetext TiffanyGiftText
- keeptextopen
+ buttonsound
end
PackFullFScript:
@@ -1724,28 +1723,28 @@
.Beverly
farwritetext BeverlyPackFullText
+ waitbutton
closetext
- loadmovesprites
end
.Gina
farwritetext GinaPackFullText
+ waitbutton
closetext
- loadmovesprites
end
.Dana
farwritetext DanaPackFullText
+ waitbutton
closetext
- loadmovesprites
end
.Tiffany
farwritetext TiffanyPackFullText
+ waitbutton
closetext
- loadmovesprites
end
.Erin
farwritetext ErinPackFullText
+ waitbutton
closetext
- loadmovesprites
end
RematchGiftFScript:
@@ -1753,55 +1752,55 @@
if_equal PHONE_PICNICKER_ERIN, .Erin
.Erin
- loadfont
+ opentext
farwritetext ErinRematchGiftText
- keeptextopen
+ buttonsound
end
GymStatue1Script:
mapnametotext $0
- loadfont
+ opentext
farwritetext GymStatue_CityGymText
+ waitbutton
closetext
- loadmovesprites
end
GymStatue2Script:
mapnametotext $0
- loadfont
+ opentext
farwritetext GymStatue_CityGymText
- keeptextopen
+ buttonsound
farwritetext GymStatue_WinningTrainersText
+ waitbutton
closetext
- loadmovesprites
end
ReceiveItemScript: ; 0xbcdb9
- waitbutton
+ waitsfx
farwritetext ReceivedItemText
playsound SFX_ITEM
- waitbutton
+ waitsfx
end
; 0xbcdc3
ReceiveTogepiEggScript: ; 0xbcdc3
- waitbutton
+ waitsfx
farwritetext ReceivedItemText
playsound SFX_GET_EGG_FROM_DAYCARE_LADY
- waitbutton
+ waitsfx
end
; 0xbcdcd
GameCornerCoinVendorScript: ; 0xbcdcd
faceplayer
- loadfont
+ opentext
farwritetext CoinVendor_WelcomeText
- keeptextopen
+ buttonsound
checkitem COIN_CASE
iftrue CoinVendor_IntroScript
farwritetext CoinVendor_NoCoinCaseText
+ waitbutton
closetext
- loadmovesprites
end
; 0xbcde0
@@ -1808,75 +1807,74 @@
CoinVendor_IntroScript: ; 0xbcde0
farwritetext CoinVendor_IntroText
-CoinVendor_SellCoinsMenuScript: ; 0xbcde4
+.loop: ; 0xbcde4
special Special_DisplayMoneyAndCoinBalance
- loadmenudata CoinVendor_MenuDataHeader
- interpretmenu2
- writebackup
- if_equal $1, CoinVendor_Buy50CoinsScript
- if_equal $2, CoinVendor_Buy500CoinsScript
- jump CoinVendor_CancelScript
+ loadmenudata .MenuDataHeader
+ verticalmenu
+ closewindow
+ if_equal $1, .Buy50
+ if_equal $2, .Buy500
+ jump .Cancel
; 0xbcdf7
-CoinVendor_Buy50CoinsScript: ; 0xbcdf7
+.Buy50: ; 0xbcdf7
checkcoins 9949
- if_equal $0, CoinVendor_CoinCaseFullScript
+ if_equal $0, .CoinCaseFull
checkmoney $0, 1000
- if_equal $2, CoinVendor_NotEnoughMoneyScript
+ if_equal $2, .NotEnoughMoney
givecoins 50
takemoney $0, 1000
- waitbutton
+ waitsfx
playsound SFX_TRANSACTION
farwritetext CoinVendor_Buy50CoinsText
- closetext
- jump CoinVendor_SellCoinsMenuScript
+ waitbutton
+ jump .loop
; 0xbce1b
-CoinVendor_Buy500CoinsScript: ; 0xbce1b
+.Buy500: ; 0xbce1b
checkcoins 9499
- if_equal $0, CoinVendor_CoinCaseFullScript
+ if_equal $0, .CoinCaseFull
checkmoney $0, 10000
- if_equal $2, CoinVendor_NotEnoughMoneyScript
+ if_equal $2, .NotEnoughMoney
givecoins 500
takemoney $0, 10000
- waitbutton
+ waitsfx
playsound SFX_TRANSACTION
farwritetext CoinVendor_Buy500CoinsText
- closetext
- jump CoinVendor_SellCoinsMenuScript
+ waitbutton
+ jump .loop
; 0xbce3f
-CoinVendor_NotEnoughMoneyScript: ; 0xbce3f
+.NotEnoughMoney: ; 0xbce3f
farwritetext CoinVendor_NotEnoughMoneyText
+ waitbutton
closetext
- loadmovesprites
end
; 0xbce46
-CoinVendor_CoinCaseFullScript: ; 0xbce46
+.CoinCaseFull: ; 0xbce46
farwritetext CoinVendor_CoinCaseFullText
+ waitbutton
closetext
- loadmovesprites
end
; 0xbce4d
-CoinVendor_CancelScript: ; 0xbce4d
+.Cancel: ; 0xbce4d
farwritetext CoinVendor_CancelText
+ waitbutton
closetext
- loadmovesprites
end
; 0xbce54
-CoinVendor_MenuDataHeader: ; 0xbce54
+.MenuDataHeader
db $40 ; flags
db 04, 00 ; start coords
db 11, 15 ; end coords
- dw CoinVendor_MenuData2
+ dw .MenuData2
db 1 ; default option
-; 0xbce5c
-CoinVendor_MenuData2: ; 0xbce5c
+.MenuData2
db $80 ; flags
db 3 ; items
db " 50 : ¥1000@"
@@ -1887,25 +1885,25 @@
HappinessCheckScript:
faceplayer
- loadfont
+ opentext
special GetFirstPokemonHappiness
if_less_than 50, .Unhappy
if_less_than 150, .KindaHappy
farwritetext HappinessText3
+ waitbutton
closetext
- loadmovesprites
end
.KindaHappy
farwritetext HappinessText2
+ waitbutton
closetext
- loadmovesprites
end
.Unhappy
farwritetext HappinessText1
+ waitbutton
closetext
- loadmovesprites
end
Movement_ContestResults_WalkAfterWarp: ; bcea1
--- /dev/null
+++ b/engine/switch_items.asm
@@ -1,0 +1,275 @@
+SwitchItemsInBag: ; 2490c (9:490c)
+ ld a, [wSwitchItem]
+ and a
+ jr z, .init
+ ld b, a
+ ld a, [wScrollingMenuCursorPosition]
+ inc a
+ cp b
+ jr z, .trivial
+ ld a, [wScrollingMenuCursorPosition]
+ call ItemSwitch_GetNthItem
+ ld a, [hl]
+ cp -1
+ ret z
+ ld a, [wSwitchItem]
+ dec a
+ ld [wSwitchItem], a
+ call Function249a7
+ jp c, Function249d1
+ ld a, [wScrollingMenuCursorPosition]
+ ld c, a
+ ld a, [wSwitchItem]
+ cp c
+ jr c, .asm_2497a
+ jr .asm_2494a
+
+.init
+ ld a, [wScrollingMenuCursorPosition]
+ inc a
+ ld [wSwitchItem], a
+ ret
+
+.trivial
+ xor a
+ ld [wSwitchItem], a
+ ret
+
+.asm_2494a
+ ld a, [wSwitchItem]
+ call Function24a40
+ ld a, [wScrollingMenuCursorPosition]
+ ld d, a
+ ld a, [wSwitchItem]
+ ld e, a
+ call Function24a6c
+ push bc
+ ld a, [wSwitchItem]
+ call ItemSwitch_GetNthItem
+ dec hl
+ push hl
+ call ItemSwitch_ConvertSpacingToDW
+ add hl, bc
+ ld d, h
+ ld e, l
+ pop hl
+ pop bc
+ call Function24aab
+ ld a, [wScrollingMenuCursorPosition]
+ call Function24a4d
+ xor a
+ ld [wSwitchItem], a
+ ret
+
+.asm_2497a
+ ld a, [wSwitchItem]
+ call Function24a40
+ ld a, [wScrollingMenuCursorPosition]
+ ld d, a
+ ld a, [wSwitchItem]
+ ld e, a
+ call Function24a6c
+ push bc
+ ld a, [wSwitchItem]
+ call ItemSwitch_GetNthItem
+ ld d, h
+ ld e, l
+ call ItemSwitch_ConvertSpacingToDW
+ add hl, bc
+ pop bc
+ call CopyBytes
+ ld a, [wScrollingMenuCursorPosition]
+ call Function24a4d
+ xor a
+ ld [wSwitchItem], a
+ ret
+
+Function249a7: ; 249a7 (9:49a7)
+ ld a, [wSwitchItem]
+ call ItemSwitch_GetNthItem
+ ld d, h
+ ld e, l
+ ld a, [wScrollingMenuCursorPosition]
+ call ItemSwitch_GetNthItem
+ ld a, [de]
+ cp [hl]
+ jr nz, .asm_249cd
+ ld a, [wScrollingMenuCursorPosition]
+ call Function24a97
+ cp 99
+ jr z, .asm_249cd
+ ld a, [wSwitchItem]
+ call Function24a97
+ cp 99
+ jr nz, .asm_249cf
+.asm_249cd
+ and a
+ ret
+
+.asm_249cf
+ scf
+ ret
+
+Function249d1: ; 249d1 (9:49d1)
+ ld a, [wSwitchItem]
+ call ItemSwitch_GetNthItem
+ inc hl
+ push hl
+ ld a, [wScrollingMenuCursorPosition]
+ call ItemSwitch_GetNthItem
+ inc hl
+ ld a, [hl]
+ pop hl
+ add [hl]
+ cp 100
+ jr c, .asm_24a01
+ sub 99
+ push af
+ ld a, [wScrollingMenuCursorPosition]
+ call ItemSwitch_GetNthItem
+ inc hl
+ ld [hl], 99
+ ld a, [wSwitchItem]
+ call ItemSwitch_GetNthItem
+ inc hl
+ pop af
+ ld [hl], a
+ xor a
+ ld [wSwitchItem], a
+ ret
+
+.asm_24a01
+ push af
+ ld a, [wScrollingMenuCursorPosition]
+ call ItemSwitch_GetNthItem
+ inc hl
+ pop af
+ ld [hl], a
+ ld hl, wMenuData2_ItemsPointerAddr
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [wSwitchItem]
+ cp [hl]
+ jr nz, .asm_24a25
+ dec [hl]
+ ld a, [wSwitchItem]
+ call ItemSwitch_GetNthItem
+ ld [hl], $ff
+ xor a
+ ld [wSwitchItem], a
+ ret
+
+.asm_24a25
+ dec [hl]
+ call ItemSwitch_ConvertSpacingToDW
+ push bc
+ ld a, [wSwitchItem]
+ call ItemSwitch_GetNthItem
+ pop bc
+ push hl
+ add hl, bc
+ pop de
+.asm_24a34
+ ld a, [hli]
+ ld [de], a
+ inc de
+ cp $ff
+ jr nz, .asm_24a34
+ xor a
+ ld [wSwitchItem], a
+ ret
+
+Function24a40: ; 24a40 (9:4a40)
+ call ItemSwitch_GetNthItem
+ ld de, wd002
+ call ItemSwitch_ConvertSpacingToDW
+ call CopyBytes
+ ret
+
+Function24a4d: ; 24a4d (9:4a4d)
+ call ItemSwitch_GetNthItem
+ ld d, h
+ ld e, l
+ ld hl, wd002
+ call ItemSwitch_ConvertSpacingToDW
+ call CopyBytes
+ ret
+
+ItemSwitch_GetNthItem: ; 24a5c (9:4a5c)
+ push af
+ call ItemSwitch_ConvertSpacingToDW
+ ld hl, wMenuData2_ItemsPointerAddr
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ inc hl
+ pop af
+ call AddNTimes
+ ret
+
+Function24a6c: ; 24a6c (9:4a6c)
+ push hl
+ call ItemSwitch_ConvertSpacingToDW
+ ld a, d
+ sub e
+ jr nc, .dont_negate
+ dec a
+ cpl
+.dont_negate
+ ld hl, 0
+ call AddNTimes
+ ld b, h
+ ld c, l
+ pop hl
+ ret
+
+ItemSwitch_ConvertSpacingToDW: ; 24a80 (9:4a80)
+; This function is absolutely idiotic.
+ push hl
+ ld a, [wMenuData2_ScrollingMenuSpacing]
+ ld c, a
+ ld b, 0
+ ld hl, .spacing_dws
+rept 2
+ add hl, bc
+endr
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+ pop hl
+ ret
+
+; 24a91 (9:4a91)
+
+.spacing_dws: ; 24a91
+ dw 0, 1, 2
+; 24a97
+
+Function24a97: ; 24a97 (9:4a97)
+ push af
+ call ItemSwitch_ConvertSpacingToDW
+ ld a, c
+ cp 2
+ jr nz, .not_2
+ pop af
+ call ItemSwitch_GetNthItem
+ inc hl
+ ld a, [hl]
+ ret
+
+.not_2
+ pop af
+ ld a, $1
+ ret
+
+Function24aab: ; 24aab (9:4aab)
+.loop
+ ld a, [hld]
+ ld [de], a
+ dec de
+ dec bc
+ ld a, b
+ or c
+ jr nz, .loop
+ ret
--- /dev/null
+++ b/engine/tile_events.asm
@@ -1,0 +1,110 @@
+CheckWarpCollision:: ; 1499a
+; Is this tile a warp?
+ ld a, [PlayerNextTile]
+ cp $60
+ jr z, .warp
+ cp $68
+ jr z, .warp
+ and $f0
+ cp $70
+ jr z, .warp
+ and a
+ ret
+
+.warp
+ scf
+ ret
+; 149af
+
+CheckDirectionalWarp:: ; 149af
+; If this is a directional warp, clear carry (press the designated button to warp).
+; Else, set carry (immediate warp).
+ ld a, [PlayerNextTile]
+ cp $70 ; Warp on down
+ jr z, .not_warp
+ cp $76 ; Warp on left
+ jr z, .not_warp
+ cp $78 ; Warp on up
+ jr z, .not_warp
+ cp $7e ; Warp on right
+ jr z, .not_warp
+ scf
+ ret
+
+.not_warp
+ xor a
+ ret
+; 149c6
+
+CheckWarpFacingDown: ; 149c6
+ ld de, 1
+ ld hl, .blocks
+ ld a, [PlayerNextTile]
+ call IsInArray
+ ret
+; 149d3
+
+.blocks: ; 149d3
+ db $71 ; door
+ db $79
+ db $7a ; stairs
+ db $73
+ db $7b ; cave entrance
+ db $74
+ db $7c ; warp pad
+ db $75
+ db $7d
+ db -1
+; 149dd
+
+CheckGrassCollision:: ; 149dd
+ ld a, [PlayerNextTile]
+ ld hl, .blocks
+ ld de, 1
+ call IsInArray
+ ret
+; 149ea
+
+.blocks: ; 149ea
+ db $08
+ db $18 ; tall grass
+ db $14 ; tall grass
+ db $28
+ db $29
+ db $48
+ db $49
+ db $4a
+ db $4b
+ db $4c
+ db -1
+; 149f5
+
+CheckCutCollision: ; 149f5
+ ld a, c
+ ld hl, .blocks
+ ld de, 1
+ call IsInArray
+ ret
+; 14a00
+
+.blocks: ; 14a00
+ db $12 ; cut tree
+ db $1a ; cut tree
+ db $10 ; tall grass
+ db $18 ; tall grass
+ db $14 ; tall grass
+ db $1c ; tall grass
+ db -1
+; 14a07
+
+Function14a07:: ; 14a07
+ ld a, [PlayerNextTile]
+ ld de, $1f
+ cp $71 ; door
+ ret z
+ ld de, $13
+ cp $7c ; warp pad
+ ret z
+ ld de, $23
+ ret
+; 14a1a
--- a/engine/time.asm
+++ b/engine/time.asm
@@ -118,7 +118,7 @@
rept 4
ld [hli], a
endr
- ld hl, wdc58
+ ld hl, wKenjiBreakTimer
ld a, [hl]
and a
jr z, .RestartKenjiBreakCountdown
@@ -137,7 +137,7 @@
call Random
and 3
add 3
- ld [wdc58], a
+ ld [wKenjiBreakTimer], a
ret
; 11490
--- a/engine/time_capsule/conversion.asm
+++ b/engine/time_capsule/conversion.asm
@@ -1,6 +1,6 @@
; These functions seem to be related to backwards compatibility
-Functionfb57e: ; fb57e
+ValidateOTTrademon: ; fb57e
ld a, [wd003]
ld hl, OTPartyMon1Species
call GetPartyLocation
@@ -14,21 +14,21 @@
ld a, [hl]
pop hl
cp EGG
- jr z, .asm_fb59c
+ jr z, .matching_or_egg
cp [hl]
- jr nz, .asm_fb5db
+ jr nz, .abnormal
-.asm_fb59c
+.matching_or_egg
ld b, h
ld c, l
ld hl, MON_LEVEL
add hl, bc
ld a, [hl]
- cp 101
- jr nc, .asm_fb5db
+ cp MAX_LEVEL + 1
+ jr nc, .abnormal
ld a, [wLinkMode]
cp LINK_TIMECAPSULE
- jr nz, .asm_fb5d9
+ jr nz, .normal
ld hl, OTPartySpecies
ld a, [wd003]
ld c, a
@@ -39,29 +39,29 @@
; Magnemite and Magneton's types changed
; from Electric to Electric/Steel.
cp MAGNEMITE
- jr z, .asm_fb5d9
+ jr z, .normal
cp MAGNETON
- jr z, .asm_fb5d9
+ jr z, .normal
ld [CurSpecies], a
call GetBaseData
- ld hl, wcbea
+ ld hl, wLinkOTPartyMonTypes
rept 2
add hl, bc
endr
ld a, [BaseType1]
cp [hl]
- jr nz, .asm_fb5db
+ jr nz, .abnormal
inc hl
ld a, [BaseType2]
cp [hl]
- jr nz, .asm_fb5db
+ jr nz, .abnormal
-.asm_fb5d9
+.normal
and a
ret
-.asm_fb5db
+.abnormal
scf
ret
; fb5dd
@@ -72,10 +72,10 @@
ld a, [PartyCount]
ld b, a
ld c, $0
-.asm_fb5e7
+.loop
ld a, c
cp d
- jr z, .asm_fb5f8
+ jr z, .next
push bc
ld a, c
ld hl, PartyMon1HP
@@ -83,27 +83,27 @@
pop bc
ld a, [hli]
or [hl]
- jr nz, .asm_fb60b
+ jr nz, .done
-.asm_fb5f8
+.next
inc c
dec b
- jr nz, .asm_fb5e7
+ jr nz, .loop
ld a, [wd003]
ld hl, OTPartyMon1HP
call GetPartyLocation
ld a, [hli]
or [hl]
- jr nz, .asm_fb60b
+ jr nz, .done
scf
ret
-.asm_fb60b
+.done
and a
ret
; fb60d
-Functionfb60d: ; fb60d
+PlaceTradePartnerNamesAndParty: ; fb60d
hlcoord 4, 0
ld de, PlayerName
call PlaceString
@@ -110,21 +110,20 @@
ld a, $14
ld [bc], a
hlcoord 4, 8
- ld de, wd26b
+ ld de, OTPlayerName
call PlaceString
ld a, $14
ld [bc], a
hlcoord 7, 1
ld de, PartySpecies
- call Functionfb634
+ call .PlaceSpeciesNames
hlcoord 7, 9
ld de, OTPartySpecies
-
-Functionfb634: ; fb634
+.PlaceSpeciesNames: ; fb634
ld c, $0
-.asm_fb636
+.loop
ld a, [de]
- cp $ff
+ cp -1
ret z
ld [wd265], a
push bc
@@ -143,7 +142,7 @@
add hl, bc
pop bc
inc c
- jr .asm_fb636
+ jr .loop
; fb656
KantoMonSpecials: ; fb656
@@ -355,11 +354,11 @@
ld [hSCX], a
xor a
ld [wPokedexStatus], a
- callba Function41a7f
+ callba _NewPokedexEntry
call WaitPressAorB_BlinkCursor
ld a, $1
ld [wPokedexStatus], a
- callba Function4424d
+ callba DisplayDexEntry
call WaitPressAorB_BlinkCursor
pop af
ld [wPokedexStatus], a
@@ -366,7 +365,7 @@
call MaxVolume
call RotateThreePalettesRight
ld a, [hSCX]
- add $fb
+ add -5 ; 251 ; NUM_POKEMON
ld [hSCX], a
call Functionfb8c8
pop af
@@ -378,14 +377,14 @@
call ClearTileMap
call LoadFontsExtra
call LoadStandardFont
- callba Function40ab2
- call Function3200
+ callba Pokedex_PlaceFrontpicTopLeftCorner
+ call WaitBGMap2
callba GetEnemyMonDVs
ld a, [hli]
ld [TempMonDVs], a
ld a, [hl]
ld [TempMonDVs + 1], a
- ld b, SCGB_1C
+ ld b, SCGB_FRONTPICPALS
call GetSGBLayout
call SetPalettes
ret
--- a/engine/timeofdaypals.asm
+++ b/engine/timeofdaypals.asm
@@ -1,4 +1,4 @@
-Function8c001:: ; 8c001
+UpdateTimeOfDayPal:: ; 8c001
call UpdateTime
ld a, [TimeOfDay]
ld [CurTimeOfDay], a
@@ -12,7 +12,7 @@
; return carry if pals are changed
; forced pals?
- ld hl, wd846
+ ld hl, wTimeOfDayPalFlags
bit 7, [hl]
jr nz, .dontchange
@@ -65,7 +65,7 @@
; update sgb pals
- ld b, SCGB_09
+ ld b, SCGB_MAPPALS
call GetSGBLayout
@@ -125,7 +125,7 @@
; 8c084
FadeOutPalettes:: ; 8c084
- call Function8c0c1
+ call FillWhiteBGColor
ld c, $9
call GetTimePalFade
ld b, $4
@@ -134,7 +134,7 @@
; 8c092
Special_BattleTowerFade: ; 8c092
- call Function8c0c1
+ call FillWhiteBGColor
ld c, $9
call GetTimePalFade
ld b, $4
@@ -167,19 +167,20 @@
; 8c0c1
-Function8c0c1: ; 8c0c1
+FillWhiteBGColor: ; 8c0c1
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
+
ld hl, UnknBGPals
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
- ld hl, UnknBGPals + 8
- ld c, $6
-.asm_8c0d4
+ ld hl, UnknBGPals + 1 palettes
+ ld c, 6
+.loop
ld a, e
ld [hli], a
ld a, d
@@ -188,7 +189,8 @@
inc hl
endr
dec c
- jr nz, .asm_8c0d4
+ jr nz, .loop
+
pop af
ld [rSVBK], a
ret
@@ -198,9 +200,9 @@
db (\1 << 6) | (\2 << 4) | (\3 << 2) | \4
ENDM
-Function8c0e5: ; 8c0e5
+ReplaceTimeOfDayPals: ; 8c0e5
ld hl, .BrightnessLevels
- ld a, [wc2d0]
+ ld a, [wMapTimeOfDay]
cp $4 ; Dark cave, needs Flash
jr z, .DarkCave
and $7
@@ -210,18 +212,20 @@
adc h
ld h, a
ld a, [hl]
- ld [wd847], a
+ ld [wTimeOfDayPalset], a
ret
+
.DarkCave
ld a, [StatusFlags]
- bit 2, a
+ bit 2, a ; Flash
jr nz, .UsedFlash
- ld a, $ff ; 3, 3, 3, 3
- ld [wd847], a
+ ld a, %11111111 ; 3, 3, 3, 3
+ ld [wTimeOfDayPalset], a
ret
+
.UsedFlash
- ld a, $aa ; 2, 2, 2, 2
- ld [wd847], a
+ ld a, %10101010 ; 2, 2, 2, 2
+ ld [wTimeOfDayPalset], a
ret
; 8c10f (23:410f)
@@ -257,12 +261,12 @@
dw .DarknessPalette
.MorningPalette
- ld a, [wd847]
+ ld a, [wTimeOfDayPalset]
and %00000011 ; 0
ret
.DayPalette
- ld a, [wd847]
+ ld a, [wTimeOfDayPalset]
and %00001100 ; 1
srl a
srl a
@@ -269,13 +273,13 @@
ret
.NitePalette
- ld a, [wd847]
+ ld a, [wTimeOfDayPalset]
and %00110000 ; 2
swap a
ret
.DarknessPalette
- ld a, [wd847]
+ ld a, [wTimeOfDayPalset]
and %11000000 ; 3
rlca
rlca
@@ -304,7 +308,7 @@
rept 3
inc hl
endr
- ld c, $2
+ ld c, 2
call DelayFrames
dec b
jr nz, .loop
@@ -317,7 +321,7 @@
rept 3
dec hl
endr
- ld c, $2
+ ld c, 2
call DelayFrames
dec b
jr nz, .loop
--- a/engine/timeset.asm
+++ b/engine/timeset.asm
@@ -38,7 +38,7 @@
call .ClearScreen
call WaitBGMap
call RotateFourPalettesRight
- ld hl, UnknownText_0x90874
+ ld hl, Text_WokeUpOak
call PrintText
ld hl, wc608
ld bc, 50
@@ -48,7 +48,7 @@
ld [wInitHourBuffer], a
.loop
- ld hl, UnknownText_0x90879
+ ld hl, Text_WhatTimeIsIt
call PrintText
hlcoord 3, 7
ld b, 2
@@ -71,7 +71,7 @@
ld a, [wInitHourBuffer]
ld [StringBuffer2 + 1], a
call .ClearScreen
- ld hl, UnknownText_0x90886
+ ld hl, Text_WhatHrs
call PrintText
call YesNoBox
jr nc, .HourIsSet
@@ -79,7 +79,7 @@
jr .loop
.HourIsSet
- ld hl, UnknownText_0x9089a
+ ld hl, Text_HowManyMinutes
call PrintText
hlcoord 11, 7
lb bc, 2, 7
@@ -101,7 +101,7 @@
ld a, [BattleMonNick + 5]
ld [StringBuffer2 + 2], a
call .ClearScreen
- ld hl, UnknownText_0x908a4
+ ld hl, Text_WhoaMins
call PrintText
call YesNoBox
jr nc, .MinutesAreSet
@@ -109,7 +109,7 @@
jr .HourIsSet
.MinutesAreSet
- call Function658
+ call SetTimeOfDay
ld hl, OakText_ResponseToSetTime
call PrintText
call WaitPressAorB_BlinkCursor
@@ -194,7 +194,7 @@
ret
; 907f1 (24:47f1)
-Function907f1: ; 907f1
+UnreferencedFunction907f1: ; 907f1
ld h, d
ld l, e
push hl
@@ -203,11 +203,11 @@
rept 2
inc de
endr
- ld a, $9c
+ ld a, ":"
ld [de], a
inc de
push de
- ld hl, $3
+ ld hl, 3
add hl, de
ld a, [de]
inc de
@@ -225,37 +225,39 @@
SetMinutes: ; 90810 (24:4810)
ld a, [hJoyPressed]
and A_BUTTON
- jr nz, .asm_90857
+ jr nz, .a_button
ld hl, hJoyLast
ld a, [hl]
and D_UP
- jr nz, .asm_90835
+ jr nz, .d_up
ld a, [hl]
and D_DOWN
- jr nz, .asm_90828
+ jr nz, .d_down
call DelayFrame
and a
ret
-.asm_90828
+
+.d_down
ld hl, BattleMonNick + 5
ld a, [hl]
and a
- jr nz, .asm_90831
+ jr nz, .decrease
ld a, 59 + 1
-.asm_90831
+.decrease
dec a
ld [hl], a
- jr .asm_90841
-.asm_90835
+ jr .finish_dpad
+
+.d_up
ld hl, BattleMonNick + 5
ld a, [hl]
cp 59
- jr c, .asm_9083f
+ jr c, .increase
ld a, -1
-.asm_9083f
+.increase
inc a
ld [hl], a
-.asm_90841
+.finish_dpad
hlcoord 12, 9
ld a, " "
ld bc, 7
@@ -265,7 +267,7 @@
call WaitBGMap
and a
ret
-.asm_90857
+.a_button
scf
ret
@@ -288,13 +290,13 @@
ret
; 90874 (24:4874)
-UnknownText_0x90874: ; 0x90874
+Text_WokeUpOak: ; 0x90874
; Zzz… Hm? Wha…? You woke me up! Will you check the clock for me?
text_jump UnknownText_0x1bc29c
db "@"
; 0x90879
-UnknownText_0x90879: ; 0x90879
+Text_WhatTimeIsIt: ; 0x90879
; What time is it?
text_jump UnknownText_0x1bc2eb
db "@"
@@ -304,23 +306,23 @@
db "o'clock@"
; 90886
-UnknownText_0x90886: ; 0x90886
+Text_WhatHrs: ; 0x90886
; What?@ @
text_jump UnknownText_0x1bc2fd
start_asm
hlcoord 1, 16
call DisplayHourOClock
- ld hl, UnknownText_0x90895
+ ld hl, .QuestionMark
ret
; 90895 (24:4895)
-UnknownText_0x90895: ; 0x90895
+.QuestionMark: ; 0x90895
; ?
text_jump UnknownText_0x1bc305
db "@"
; 0x9089a
-UnknownText_0x9089a: ; 0x9089a
+Text_HowManyMinutes: ; 0x9089a
; How many minutes?
text_jump UnknownText_0x1bc308
db "@"
@@ -330,18 +332,17 @@
db "min.@"
; 908a4
-UnknownText_0x908a4: ; 0x908a4
+Text_WhoaMins: ; 0x908a4
; Whoa!@ @
text_jump UnknownText_0x1bc31b
start_asm
-; 0x908a9
hlcoord 7, 14
call DisplayMinutesWithMinString
- ld hl, UnknownText_0x908b3
+ ld hl, .QuestionMark
ret
; 908b3 (24:48b3)
-UnknownText_0x908b3: ; 0x908b3
+.QuestionMark: ; 0x908b3
; ?
text_jump UnknownText_0x1bc323
db "@"
@@ -418,13 +419,13 @@
lb bc, BANK(GFX_9090b), 1
call Request1bpp
xor a
- ld [wd002], a
-.asm_90936
+ ld [wTempDayOfWeek], a
+.loop
hlcoord 0, 12
lb bc, 4, 18
call TextBox
call LoadStandardMenuDataHeader
- ld hl, UnknownText_0x90a3f
+ ld hl, .WhatDayIsItText
call PrintText
hlcoord 9, 3
ld b, 2
@@ -431,27 +432,27 @@
ld c, 9
call TextBox
hlcoord 14, 3
- ld [hl], $ef
+ ld [hl], "♂" ; gets overwritten with special up arrow
hlcoord 14, 6
- ld [hl], $f5
+ ld [hl], "♀" ; gets overwritten with special down arrow
hlcoord 10, 5
- call Function909de
+ call .PlaceWeekdayString
call ApplyTilemap
ld c, 10
call DelayFrames
-.asm_9096a
+.loop2
call JoyTextDelay
- call Function90993
- jr nc, .asm_9096a
+ call .GetJoypadAction
+ jr nc, .loop2
call ExitMenu
call UpdateSprites
- ld hl, UnknownText_0x90a44
+ ld hl, .ConfirmWeekdayText
call PrintText
call YesNoBox
- jr c, .asm_90936
- ld a, [wd002]
+ jr c, .loop
+ ld a, [wTempDayOfWeek]
ld [StringBuffer2], a
- call Function663
+ call SetDayOfWeek
call LoadStandardFont
pop af
ld [hInMenu], a
@@ -458,68 +459,68 @@
ret
; 90993
-Function90993: ; 90993
+.GetJoypadAction: ; 90993
ld a, [hJoyPressed]
and A_BUTTON
- jr z, .asm_9099b
+ jr z, .not_A
scf
ret
-.asm_9099b
+.not_A
ld hl, hJoyLast
ld a, [hl]
and D_UP
- jr nz, .asm_909ba
+ jr nz, .d_up
ld a, [hl]
and D_DOWN
- jr nz, .asm_909ad
+ jr nz, .d_down
call DelayFrame
and a
ret
-.asm_909ad
- ld hl, wd002
+.d_down
+ ld hl, wTempDayOfWeek
ld a, [hl]
and a
- jr nz, .asm_909b6
+ jr nz, .decrease
ld a, 6 + 1
-.asm_909b6
+.decrease
dec a
ld [hl], a
- jr .asm_909c6
+ jr .finish_dpad
-.asm_909ba
- ld hl, wd002
+.d_up
+ ld hl, wTempDayOfWeek
ld a, [hl]
cp 6
- jr c, .asm_909c4
- ld a, -1
+ jr c, .increase
+ ld a, 0 - 1
-.asm_909c4
+.increase
inc a
ld [hl], a
-.asm_909c6
+.finish_dpad
xor a
ld [hBGMapMode], a
hlcoord 10, 4
- ld b, $2
- ld c, $9
+ ld b, 2
+ ld c, 9
call ClearBox
hlcoord 10, 5
- call Function909de
+ call .PlaceWeekdayString
call WaitBGMap
and a
ret
; 909de
-Function909de: ; 909de
+.PlaceWeekdayString: ; 909de
push hl
- ld a, [wd002]
+ ld a, [wTempDayOfWeek]
ld e, a
ld d, 0
- ld hl, WeekdaysStrings
+ ld hl, .WeekdayStrings
rept 2
add hl, de
endr
@@ -531,40 +532,40 @@
ret
; 909f2
-WeekdaysStrings: ; 909f2
- dw Sunday
- dw Monday
- dw Tuesday
- dw Wednesday
- dw Thursday
- dw Friday
- dw Saturday
- dw Sunday
+.WeekdayStrings: ; 909f2
+ dw .Sunday
+ dw .Monday
+ dw .Tuesday
+ dw .Wednesday
+ dw .Thursday
+ dw .Friday
+ dw .Saturday
+ dw .Sunday
-Sunday: db " SUNDAY@"
-Monday: db " MONDAY@"
-Tuesday: db " TUESDAY@"
-Wednesday: db "WEDNESDAY@"
-Thursday: db "THURSDAY@"
-Friday: db " FRIDAY@"
-Saturday: db "SATURDAY@"
+.Sunday: db " SUNDAY@"
+.Monday: db " MONDAY@"
+.Tuesday: db " TUESDAY@"
+.Wednesday: db "WEDNESDAY@"
+.Thursday: db "THURSDAY@"
+.Friday: db " FRIDAY@"
+.Saturday: db "SATURDAY@"
-UnknownText_0x90a3f: ; 0x90a3f
+.WhatDayIsItText: ; 0x90a3f
; What day is it?
text_jump UnknownText_0x1bc369
db "@"
; 0x90a44
-UnknownText_0x90a44: ; 0x90a44
+.ConfirmWeekdayText: ; 0x90a44
start_asm
hlcoord 1, 14
- call Function909de
- ld hl, UnknownText_0x90a4f
+ call .PlaceWeekdayString
+ ld hl, .IsIt
ret
; 90a4f (24:4a4f)
-UnknownText_0x90a4f: ; 0x90a4f
+.IsIt: ; 0x90a4f
; , is it?
text_jump UnknownText_0x1bc37a
db "@"
@@ -577,12 +578,12 @@
hlcoord 1, 14
lb bc, 3, 18
call ClearBox
- ld hl, UnknownText_0x90a6c
+ ld hl, .Text
call PlaceWholeStringInBoxAtOnce
ret
; 90a6c
-UnknownText_0x90a6c: ; 90a6c
+.Text: ; 90a6c
start_asm
call UpdateTime
ld a, [hHours]
@@ -591,11 +592,11 @@
ld c, a
decoord 1, 14
callba PrintHoursMins
- ld hl, TextJump_DSTIsThatOK
+ ld hl, .DSTIsThatOK
ret
; 90a83 (24:4a83)
-TextJump_DSTIsThatOK: ; 0x90a83
+.DSTIsThatOK: ; 0x90a83
; DST, is that OK?
text_jump Text_DSTIsThatOK
db "@"
@@ -608,12 +609,12 @@
hlcoord 1, 14
lb bc, 3, 18
call ClearBox
- ld hl, UnknownText_0x90aa0
+ ld hl, .Text
call PlaceWholeStringInBoxAtOnce
ret
; 90aa0
-UnknownText_0x90aa0: ; 90aa0
+.Text: ; 90aa0
start_asm
call UpdateTime
ld a, [hHours]
@@ -622,28 +623,27 @@
ld c, a
decoord 1, 14
callba PrintHoursMins
- ld hl, UnknownText_0x90ab7
+ ld hl, .IsThatOK
ret
; 90ab7
-UnknownText_0x90ab7: ; 0x90ab7
+.IsThatOK: ; 0x90ab7
; , is that OK?
text_jump UnknownText_0x1c5ff1
db "@"
; 0x90abc
-Function90abc: ; 90abc
+DebugDisplayTime: ; 90abc
hlcoord 1, 14
lb bc, 3, SCREEN_WIDTH - 2
call ClearBox
- ld hl, UnknownText_0x90acc
+ ld hl, .Text
call PlaceWholeStringInBoxAtOnce
ret
; 90acc
-UnknownText_0x90acc: ; 0x90acc
+.Text: ; 0x90acc
start_asm
-
call UpdateTime
hlcoord 1, 14
@@ -655,7 +655,7 @@
inc hl
ld de, hRTCDayLo
- call Function90b23
+ call .PrintTime
hlcoord 1, 16
ld [hl], "D"
@@ -666,7 +666,7 @@
inc hl
ld de, StartDay
- call Function90b23
+ call .PrintTime
ld [hl], " "
inc hl
@@ -690,16 +690,16 @@
inc hl
.done
- ld hl, UnknownText_0x90b13
+ ld hl, .NowOnDebug
ret
; 90b13
-UnknownText_0x90b13: ; 0x90b13
+.NowOnDebug: ; 0x90b13
text "<PARA>Now on DEBUG…"
prompt
; 0x90b23
-Function90b23: ; 90b23
+.PrintTime: ; 90b23
lb bc, 1, 3
call PrintNum
ld [hl], "."
--- a/engine/title.asm
+++ b/engine/title.asm
@@ -189,7 +189,7 @@
; Let LCD Stat know we're messing around with SCX
ld a, rSCX - rJOYP
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
pop af
ld [rSVBK], a
--- a/engine/tmhm.asm
+++ b/engine/tmhm.asm
@@ -5,7 +5,7 @@
ld hl, BaseTMHM
push hl
- ld a, [wd262]
+ ld a, [wPutativeTMHMMove]
ld b, a
ld c, 0
ld hl, TMHMMoves
--- /dev/null
+++ b/engine/tmhm2.asm
@@ -1,0 +1,592 @@
+TMHMPocket: ; 2c76f (b:476f)
+ ld a, $1
+ ld [hInMenu], a
+ call TMHM_PocketLoop
+ ld a, $0
+ ld [hInMenu], a
+ ret nc
+ call PlaceHollowCursor
+ call WaitBGMap
+ ld a, [CurItem]
+ dec a
+ ld [CurItemQuantity], a
+ ld hl, TMsHMs
+ ld c, a
+ ld b, 0
+ add hl, bc
+ ld a, [hl]
+ ld [wItemQuantityBuffer], a
+ call .ConvertItemToTMHMNumber
+ scf
+ ret
+
+.ConvertItemToTMHMNumber: ; 2c798 (b:4798)
+ ld a, [CurItem]
+ ld c, a
+ callab GetNumberedTMHM
+ ld a, c
+ ld [CurItem], a
+ ret
+
+ConvertCurItemIntoCurTMHM: ; 2c7a7 (b:47a7)
+ ld a, [CurItem]
+ ld c, a
+ callab GetTMHMNumber
+ ld a, c
+ ld [wCurTMHM], a
+ ret
+
+GetTMHMItemMove: ; 2c7b6 (b:47b6)
+ call ConvertCurItemIntoCurTMHM
+ predef GetTMHMMove
+ ret
+
+AskTeachTMHM: ; 2c7bf (b:47bf)
+ ld hl, Options
+ ld a, [hl]
+ push af
+ res NO_TEXT_SCROLL, [hl]
+ ld a, [CurItem]
+ cp TM01
+ jr c, .NotTMHM
+ call GetTMHMItemMove
+ ld a, [wCurTMHM]
+ ld [wPutativeTMHMMove], a
+ call GetMoveName
+ call CopyName1
+ ld hl, Text_BootedTM ; Booted up a TM
+ ld a, [CurItem]
+ cp HM01
+ jr c, .TM
+ ld hl, Text_BootedHM ; Booted up an HM
+.TM
+ call PrintText
+ ld hl, Text_ItContained
+ call PrintText
+ call YesNoBox
+.NotTMHM
+ pop bc
+ ld a, b
+ ld [Options], a
+ ret
+
+ChooseMonToLearnTMHM: ; 2c7fb
+ ld hl, StringBuffer2
+ ld de, wTMHMMoveNameBackup
+ ld bc, 12
+ call CopyBytes
+ call ClearBGPalettes
+ChooseMonToLearnTMHM_NoRefresh: ; 2c80a
+ callba LoadPartyMenuGFX
+ callba InitPartyMenuWithCancel
+ callba InitPartyMenuGFX
+ ld a, $3 ; TeachWhichPKMNString
+ ld [PartyMenuActionText], a
+.loopback
+ callba WritePartyMenuTilemap
+ callba PrintPartyMenuText
+ call WaitBGMap
+ call SetPalettes
+ call DelayFrame
+ callba PartyMenuSelect
+ push af
+ ld a, [CurPartySpecies]
+ cp EGG
+ pop bc ; now contains the former contents of af
+ jr z, .egg
+ push bc
+ ld hl, wTMHMMoveNameBackup
+ ld de, StringBuffer2
+ ld bc, 12
+ call CopyBytes
+ pop af ; now contains the original contents of af
+ ret
+
+.egg
+ push hl
+ push de
+ push bc
+ push af
+ ld de, SFX_WRONG
+ call PlaySFX
+ call WaitSFX
+ pop af
+ pop bc
+ pop de
+ pop hl
+ jr .loopback
+; 2c867
+
+TeachTMHM: ; 2c867
+ predef CanLearnTMHMMove
+
+ push bc
+ ld a, [CurPartyMon]
+ ld hl, PartyMonNicknames
+ call GetNick
+ pop bc
+
+ ld a, c
+ and a
+ jr nz, .compatible
+ push de
+ ld de, SFX_WRONG
+ call PlaySFX
+ pop de
+ ld hl, Text_TMHMNotCompatible
+ call PrintText
+ jr .nope
+
+.compatible
+ callab KnowsMove
+ jr c, .nope
+
+ predef LearnMove
+ ld a, b
+ and a
+ jr z, .nope
+
+ callba MobileFn_106049
+ ld a, [CurItem]
+ call IsHM
+ ret c
+
+ ld c, HAPPINESS_LEARNMOVE
+ callab ChangeHappiness
+ call ConsumeTM
+ jr .learned_move
+
+.nope
+ and a
+ ret
+
+.unused
+ ld a, 2
+ ld [wItemEffectSucceeded], a
+.learned_move
+ scf
+ ret
+; 2c8bf (b:48bf)
+
+Text_BootedTM: ; 0x2c8bf
+ ; Booted up a TM.
+ text_jump UnknownText_0x1c0373
+ db "@"
+; 0x2c8c4
+
+Text_BootedHM: ; 0x2c8c4
+ ; Booted up an HM.
+ text_jump UnknownText_0x1c0384
+ db "@"
+; 0x2c8c9
+
+Text_ItContained: ; 0x2c8c9
+ ; It contained @ . Teach @ to a #MON?
+ text_jump UnknownText_0x1c0396
+ db "@"
+; 0x2c8ce
+
+Text_TMHMNotCompatible: ; 0x2c8ce
+ ; is not compatible with @ . It can't learn @ .
+ text_jump UnknownText_0x1c03c2
+ db "@"
+; 0x2c8d3
+
+TMHM_PocketLoop: ; 2c8d3 (b:48d3)
+ xor a
+ ld [hBGMapMode], a
+ call TMHM_DisplayPocketItems
+ ld a, $2
+ ld [w2DMenuCursorInitY], a
+ ld a, $7
+ ld [w2DMenuCursorInitX], a
+ ld a, $1
+ ld [w2DMenuNumCols], a
+ ld a, $5
+ sub d
+ inc a
+ cp $6
+ jr nz, .okay
+ dec a
+.okay
+ ld [w2DMenuNumRows], a
+ ld a, $c
+ ld [w2DMenuFlags1], a
+ xor a
+ ld [w2DMenuFlags2], a
+ ld a, $20
+ ld [w2DMenuCursorOffsets], a
+ ld a, A_BUTTON | B_BUTTON | D_UP | D_DOWN | D_LEFT | D_RIGHT
+ ld [wMenuJoypadFilter], a
+ ld a, [wTMHMPocketCursor]
+ inc a
+ ld [wMenuCursorY], a
+ ld a, $1
+ ld [wMenuCursorX], a
+ jr TMHM_ShowTMMoveDescription
+
+TMHM_JoypadLoop: ; 2c915 (b:4915)
+ call TMHM_DisplayPocketItems
+ call StaticMenuJoypad
+ ld b, a
+ ld a, [wMenuCursorY]
+ dec a
+ ld [wTMHMPocketCursor], a
+ xor a
+ ld [hBGMapMode], a
+ ld a, [w2DMenuFlags2]
+ bit 7, a
+ jp nz, TMHM_ScrollPocket
+ ld a, b
+ ld [wMenuJoypad], a
+ bit A_BUTTON_F, a
+ jp nz, TMHM_ChooseTMorHM
+ bit B_BUTTON_F, a
+ jp nz, TMHM_ExitPack
+ bit D_RIGHT_F, a
+ jp nz, TMHM_ExitPocket
+ bit D_LEFT_F, a
+ jp nz, TMHM_ExitPocket
+TMHM_ShowTMMoveDescription: ; 2c946 (b:4946)
+ call TMHM_CheckHoveringOverCancel
+ jp nc, TMHM_ExitPocket
+ hlcoord 0, 12
+ ld b, 4
+ ld c, SCREEN_WIDTH - 2
+ call TextBox
+ ld a, [CurItem]
+ cp NUM_TMS + NUM_HMS + 1
+ jr nc, TMHM_JoypadLoop
+ ld [wd265], a
+ predef GetTMHMMove
+ ld a, [wd265]
+ ld [CurSpecies], a
+ hlcoord 1, 14
+ call PrintMoveDesc
+ jp TMHM_JoypadLoop
+
+TMHM_ChooseTMorHM: ; 2c974 (b:4974)
+ call TMHM_PlaySFX_ReadText2
+ call CountTMsHMs ; This stores the count to wd265.
+ ld a, [wMenuCursorY]
+ dec a
+ ld b, a
+ ld a, [wTMHMPocketScrollPosition]
+ add b
+ ld b, a
+ ld a, [wd265]
+ cp b
+ jr z, _TMHM_ExitPack ; our cursor was hovering over CANCEL
+TMHM_CheckHoveringOverCancel: ; 2c98a (b:498a)
+ call TMHM_GetCurrentPocketPosition
+ ld a, [wMenuCursorY]
+ ld b, a
+.loop
+ inc c
+ ld a, c
+ cp NUM_TMS + NUM_HMS + 1
+ jr nc, .okay
+ ld a, [hli]
+ and a
+ jr z, .loop
+ dec b
+ jr nz, .loop
+ ld a, c
+.okay
+ ld [CurItem], a
+ cp -1
+ ret
+
+TMHM_ExitPack: ; 2c9a5 (b:49a5)
+ call TMHM_PlaySFX_ReadText2
+_TMHM_ExitPack: ; 2c9a8 (b:49a8)
+ ld a, $2
+ ld [wMenuJoypad], a
+ and a
+ ret
+
+TMHM_ExitPocket: ; 2c9af (b:49af)
+ and a
+ ret
+
+TMHM_ScrollPocket: ; 2c9b1 (b:49b1)
+ ld a, b
+ bit 7, a
+ jr nz, .skip
+ ld hl, wTMHMPocketScrollPosition
+ ld a, [hl]
+ and a
+ jp z, TMHM_JoypadLoop
+ dec [hl]
+ call TMHM_DisplayPocketItems
+ jp TMHM_ShowTMMoveDescription
+
+.skip
+ call TMHM_GetCurrentPocketPosition
+ ld b, 5
+.loop
+ inc c
+ ld a, c
+ cp NUM_TMS + NUM_HMS + 1
+ jp nc, TMHM_JoypadLoop
+ ld a, [hli]
+ and a
+ jr z, .loop
+ dec b
+ jr nz, .loop
+ ld hl, wTMHMPocketScrollPosition
+ inc [hl]
+ call TMHM_DisplayPocketItems
+ jp TMHM_ShowTMMoveDescription
+
+TMHM_DisplayPocketItems: ; 2c9e2 (b:49e2)
+ ld a, [BattleType]
+ cp BATTLETYPE_TUTORIAL
+ jp z, Tutorial_TMHMPocket
+
+ hlcoord 5, 2
+ lb bc, 10, 15
+ ld a, " "
+ call ClearBox
+ call TMHM_GetCurrentPocketPosition
+ ld d, $5
+.loop2
+ inc c
+ ld a, c
+ cp NUM_TMS + NUM_HMS + 1
+ jr nc, .NotTMHM
+ ld a, [hli]
+ and a
+ jr z, .loop2
+ ld b, a
+ ld a, c
+ ld [wd265], a
+ push hl
+ push de
+ push bc
+ call TMHMPocket_GetCurrentLineCoord
+ push hl
+ ld a, [wd265]
+ cp NUM_TMS + 1
+ jr nc, .HM
+ ld de, wd265
+ lb bc, PRINTNUM_LEADINGZEROS | 1, 2
+ call PrintNum
+ jr .okay
+
+.HM
+ push af
+ sub NUM_TMS
+ ld [wd265], a
+ ld [hl], "H"
+ inc hl
+ ld de, wd265
+ lb bc, PRINTNUM_RIGHTALIGN | 1, 2
+ call PrintNum
+ pop af
+ ld [wd265], a
+.okay
+ predef GetTMHMMove
+ ld a, [wd265]
+ ld [wPutativeTMHMMove], a
+ call GetMoveName
+ pop hl
+ ld bc, 3
+ add hl, bc
+ push hl
+ call PlaceString
+ pop hl
+ pop bc
+ ld a, c
+ push bc
+ cp NUM_TMS + 1
+ jr nc, .hm2
+ ld bc, SCREEN_WIDTH + 9
+ add hl, bc
+ ld [hl], "×"
+ inc hl
+ ld a, "0" ; why are we doing this?
+ pop bc
+ push bc
+ ld a, b
+ ld [wd265], a
+ ld de, wd265
+ lb bc, 1, 2
+ call PrintNum
+.hm2
+ pop bc
+ pop de
+ pop hl
+ dec d
+ jr nz, .loop2
+ jr .done
+
+.NotTMHM
+ call TMHMPocket_GetCurrentLineCoord
+rept 3
+ inc hl
+endr
+ push de
+ ld de, TMHM_String_Cancel
+ call PlaceString
+ pop de
+.done
+ ret
+
+TMHMPocket_GetCurrentLineCoord: ; 2ca86 (b:4a86)
+ hlcoord 5, 0
+ ld bc, 2 * SCREEN_WIDTH
+ ld a, 6
+ sub d
+ ld e, a
+ ; AddNTimes
+.loop
+ add hl, bc
+ dec e
+ jr nz, .loop
+ ret
+; 2ca95 (b:4a95)
+
+Function2ca95: ; 2ca95
+; unreferenced
+ pop hl
+ ld bc, 3
+ add hl, bc
+ predef GetTMHMMove
+ ld a, [wd265]
+ ld [wPutativeTMHMMove], a
+ call GetMoveName
+ push hl
+ call PlaceString
+ pop hl
+ ret
+; 2caae
+
+TMHM_String_Cancel: ; 2caae
+ db "CANCEL@"
+; 2cab5
+
+TMHM_GetCurrentPocketPosition: ; 2cab5 (b:4ab5)
+ ld hl, TMsHMs
+ ld a, [wTMHMPocketScrollPosition]
+ ld b, a
+ inc b
+ ld c, 0
+.loop
+ inc c
+ ld a, [hli]
+ and a
+ jr z, .loop
+ dec b
+ jr nz, .loop
+ dec hl
+ dec c
+ ret
+
+Tutorial_TMHMPocket: ; 2caca (b:4aca)
+ hlcoord 9, 3
+ push de
+ ld de, TMHM_String_Cancel
+ call PlaceString
+ pop de
+ ret
+
+TMHM_PlaySFX_ReadText2: ; 2cad6 (b:4ad6)
+ push de
+ ld de, SFX_READ_TEXT_2
+ call PlaySFX
+ pop de
+ ret
+; 2cadf (b:4adf)
+
+Function2cadf: ; 2cadf
+; unreferenced
+ call ConvertCurItemIntoCurTMHM
+ call .CheckHaveRoomForTMHM
+ ld hl, .NoRoomText
+ jr nc, .print
+ ld hl, .ReceivedText
+ jp PrintText
+; 2caf0
+
+.NoRoomText: ; 0x2caf0
+ ; You have no room for any more @ S.
+ text_jump UnknownText_0x1c03fa
+ db "@"
+; 0x2caf5
+
+.ReceivedText: ; 0x2caf5
+ ; You received @ !
+ text_jump UnknownText_0x1c0421
+ db "@"
+; 0x2cafa
+
+.CheckHaveRoomForTMHM: ; 2cafa
+ ld a, [wd265]
+ dec a
+ ld hl, TMsHMs
+ ld b, 0
+ ld c, a
+ add hl, bc
+ ld a, [hl]
+ inc a
+ cp NUM_TMS * 2
+ ret nc
+ ld [hl], a
+ ret
+; 2cb0c
+
+ConsumeTM: ; 2cb0c (b:4b0c)
+ call ConvertCurItemIntoCurTMHM
+ ld a, [wd265]
+ dec a
+ ld hl, TMsHMs
+ ld b, 0
+ ld c, a
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret z
+ dec a
+ ld [hl], a
+ ret nz
+ ld a, [wTMHMPocketScrollPosition]
+ and a
+ ret z
+ dec a
+ ld [wTMHMPocketScrollPosition], a
+ ret
+
+CountTMsHMs: ; 2cb2a (b:4b2a)
+ ld b, 0
+ ld c, NUM_TMS + NUM_HMS
+ ld hl, TMsHMs
+.loop
+ ld a, [hli]
+ and a
+ jr z, .skip
+ inc b
+.skip
+ dec c
+ jr nz, .loop
+ ld a, b
+ ld [wd265], a
+ ret
+
+PrintMoveDesc: ; 2cb3e
+ push hl
+ ld hl, MoveDescriptions
+ ld a, [CurSpecies]
+ dec a
+ ld c, a
+ ld b, 0
+rept 2
+ add hl, bc
+endr
+ ld a, [hli]
+ ld e, a
+ ld d, [hl]
+ pop hl
+ jp PlaceString
+; 2cb52
--- a/engine/town_map.asm
+++ b/engine/town_map.asm
@@ -20,7 +20,7 @@
call ClearSprites
call DisableLCD
call Function90c4e
- callba Function8cf53
+ callba ClearSpriteAnims
ld a, 8
call SkipMusic
ld a, $e3
@@ -31,7 +31,7 @@
xor a
ld [hBGMapMode], a
call Function91a04
- call Function3200
+ call WaitBGMap2
ld a, [wd002]
call Function9106a
ld a, [wd003]
@@ -40,7 +40,7 @@
ld [wd004], a
ld a, b
ld [wd005], a
- ld b, SCGB_02
+ ld b, SCGB_POKEGEAR_PALS
call GetSGBLayout
call SetPalettes
ld a, [hCGB]
@@ -47,7 +47,7 @@
and a
jr z, .sgb
ld a, $e4
- call Functioncf8
+ call DmgToCgbObjPal0
call DelayFrame
.sgb
@@ -92,7 +92,7 @@
jr nz, .pressed_down
.loop2
push de
- callba Function8cf69
+ callba PlaySpriteAnimations
pop de
call DelayFrame
jr .loop
--- a/engine/trade/animation.asm
+++ b/engine/trade/animation.asm
@@ -142,7 +142,7 @@
call ClearTileMap
call DisableLCD
call LoadFontsBattleExtra
- callab Function8cf53
+ callab ClearSpriteAnims
ld a, [hCGB]
and a
jr z, .asm_2900b
@@ -180,23 +180,23 @@
ld [hWX], a
ld a, $90
ld [hWY], a
- callba Function4d7fd
+ callba GetTrademonFrontpic
call EnableLCD
call Function2982b
ld a, [wPlayerTrademonSpecies]
ld hl, wPlayerTrademonDVs
ld de, VTiles0
- call Function29491
+ call TradeAnim_GetFrontpic
ld a, [wOTTrademonSpecies]
ld hl, wOTTrademonDVs
ld de, VTiles0 tile $31
- call Function29491
+ call TradeAnim_GetFrontpic
ld a, [wPlayerTrademonSpecies]
ld de, wPlayerTrademonSpeciesName
- call Function294a9
+ call TradeAnim_GetNickname
ld a, [wOTTrademonSpecies]
ld de, wOTTrademonSpeciesName
- call Function294a9
+ call TradeAnim_GetNickname
call Function297ed
ret
; 29082
@@ -206,7 +206,7 @@
bit 7, a
jr nz, .finished
call .DoTradeAnimCommand
- callab Function8cf69
+ callab PlaySpriteAnimations
ld hl, wcf65
inc [hl]
call DelayFrame
@@ -336,7 +336,7 @@
push de
push af
call DisableLCD
- callab Function8cf53
+ callab ClearSpriteAnims
hlbgcoord 20, 3
ld bc, $c
ld a, $60
@@ -368,10 +368,10 @@
call WaitBGMap
ld b, SCGB_1B
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
ld a, $d0
- call Functioncf8
+ call DmgToCgbObjPal0
call NextTradeAnim
ld a, $5c
ld [wcf64], a
@@ -466,7 +466,7 @@
call ClearTileMap
call ClearSprites
call DisableLCD
- callab Function8cf53
+ callab ClearSpriteAnims
hlbgcoord 0, 0
ld bc, sScratch - VBGMap0
ld a, " "
@@ -566,6 +566,7 @@
hlcoord 17, 3
ld a, $5d
ld [hl], a
+
ld a, $61
ld de, SCREEN_WIDTH
ld c, $3
@@ -574,6 +575,7 @@
ld [hl], a
dec c
jr nz, .loop
+
add hl, de
ld a, $5f
ld [hld], a
@@ -644,9 +646,9 @@
call WaitBGMap
ld b, SCGB_1B
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
- ld de, $e4e4
+ lb de, %11100100, %11100100 ; 3,2,1,0, 3,2,1,0
call DmgToCgbObjPals
ld de, SFX_POTION
call PlaySFX
@@ -784,9 +786,9 @@
ld [TempMonDVs + 1], a
ld b, SCGB_1A
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
- call Function294bb
+ call TradeAnim_ShowGivemonFrontpic
ld a, [wPlayerTrademonSpecies]
call GetCryIndex
@@ -810,20 +812,20 @@
ld [TempMonDVs + 1], a
ld b, SCGB_1A
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
- call Function294c0
+ call TradeAnim_ShowGetmonFrontpic
call TradeAnim_Next
ret
; 29487
TradeAnim_AnimateFrontpic: ; 29487
- callba Function4d81e
+ callba AnimateTrademonFrontpic
call TradeAnim_Next
ret
; 29491
-Function29491: ; 29491
+TradeAnim_GetFrontpic: ; 29491
push de
push af
predef GetUnownLetter
@@ -836,7 +838,7 @@
ret
; 294a9
-Function294a9: ; 294a9
+TradeAnim_GetNickname: ; 294a9
push de
ld [wd265], a
call GetPokemonName
@@ -847,14 +849,13 @@
ret
; 294bb
-Function294bb: ; 294bb
+TradeAnim_ShowGivemonFrontpic: ; 294bb
ld de, VTiles0
- jr Function294c3
+ jr TradeAnim_ShowFrontpic
-Function294c0: ; 294c0
+TradeAnim_ShowGetmonFrontpic: ; 294c0
ld de, VTiles0 tile $31
-
-Function294c3: ; 294c3
+TradeAnim_ShowFrontpic: ; 294c3
call DelayFrame
ld hl, VTiles2
lb bc, 10, $31
@@ -1087,8 +1088,8 @@
; 29660
TradeAnim_BulgeThroughTube: ; 29660
- ld a, $e4
- call Functioncf8
+ ld a, %11100100 ; 3,2,1,0
+ call DmgToCgbObjPal0
depixel 5, 11
ld a, SPRITE_ANIM_INDEX_10
call _InitSpriteAnimStruct
@@ -1374,13 +1375,13 @@
Function297ed: ; 297ed
ld a, [hSGB]
and a
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
jr z, .asm_297f6
ld a, $f0
.asm_297f6
- call Functioncf8
- ld a, $e4
+ call DmgToCgbObjPal0
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
ret
; 297ff
--- a/engine/trainer_card.asm
+++ b/engine/trainer_card.asm
@@ -7,20 +7,21 @@
ld a, [hl]
push af
set 4, [hl]
- call Function2513b
-.asm_25117
+ call .InitRAM
+.loop
call UpdateTime
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
- jr nz, .asm_25132
+ jr nz, .quit
ld a, [hJoyLast]
and B_BUTTON
- jr nz, .asm_25132
- call Function2518e
+ jr nz, .quit
+ call .RunJumptable
call DelayFrame
- jr .asm_25117
-.asm_25132
+ jr .loop
+
+.quit
pop af
ld [Options], a
pop af
@@ -27,13 +28,13 @@
ld [VramState], a
ret
-Function2513b: ; 2513b (9:513b)
+.InitRAM: ; 2513b (9:513b)
call ClearBGPalettes
call ClearSprites
call ClearTileMap
call DisableLCD
- callba Function8833e
+ callba GetCardPic
ld hl, CardRightCornerGFX
ld de, VTiles2 tile $1c
@@ -43,19 +44,19 @@
ld hl, CardStatusGFX
ld de, VTiles2 tile $29
- ld bc, $56 tiles
+ ld bc, 86 tiles
ld a, BANK(CardStatusGFX)
call FarCopyBytes
- call Function25299
+ call TrainerCard_PrintTopHalfOfCard
hlcoord 0, 8
- ld d, $6
- call Function253b0
+ ld d, 6
+ call TrainerCard_InitBorder
call EnableLCD
call WaitBGMap
- ld b, SCGB_15
+ ld b, SCGB_TRAINER_CARD
call GetSGBLayout
call SetPalettes
call WaitBGMap
@@ -67,55 +68,45 @@
ld [hl], a
ret
-Function2518e: ; 2518e (9:518e)
- ld a, [wJumptableIndex]
- ld e, a
- ld d, $0
- ld hl, Jumptable_2519d
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+.RunJumptable: ; 2518e (9:518e)
+ jumptable .Jumptable, wJumptableIndex
-Jumptable_2519d: ; 2519d (9:519d)
- dw Function251b6
- dw Function251d7
- dw Function251f4
- dw Function25221
- dw Function2524c
- dw Function25279
- dw Function251b0
+.Jumptable: ; 2519d (9:519d)
+ dw TrainerCard_Page1_LoadGFX
+ dw TrainerCard_Page1_Joypad
+ dw TrainerCard_Page2_LoadGFX
+ dw TrainerCard_Page2_Joypad
+ dw TrainerCard_Page3_LoadGFX
+ dw TrainerCard_Page3_Joypad
+ dw TrainerCard_Quit
-Function251ab: ; 251ab (9:51ab)
+TrainerCard_IncrementJumptable: ; 251ab (9:51ab)
ld hl, wJumptableIndex
inc [hl]
ret
-Function251b0: ; 251b0 (9:51b0)
+TrainerCard_Quit: ; 251b0 (9:51b0)
ld hl, wJumptableIndex
set 7, [hl]
ret
-Function251b6: ; 251b6 (9:51b6)
+TrainerCard_Page1_LoadGFX: ; 251b6 (9:51b6)
call ClearSprites
hlcoord 0, 8
- ld d, $6
- call Function253b0
+ ld d, 6
+ call TrainerCard_InitBorder
call WaitBGMap
ld de, CardStatusGFX
ld hl, VTiles2 tile $29
- lb bc, BANK(CardStatusGFX), $56
+ lb bc, BANK(CardStatusGFX), 86
call Request2bpp
- call Function2530a
- call Function251ab
+ call TrainerCard_Page1_PrintDexCaught_GameTime
+ call TrainerCard_IncrementJumptable
ret
-Function251d7: ; 251d7 (9:51d7)
- call Function25415
+TrainerCard_Page1_Joypad: ; 251d7 (9:51d7)
+ call TrainerCard_Page1_PrintGameTime
ld hl, hJoyLast
ld a, [hl]
and D_RIGHT | A_BUTTON
@@ -126,23 +117,23 @@
ld a, $2
ld [wJumptableIndex], a
ret
-; 251e9 (9:51e9)
-Function251e9: ; 251e9
+.KantoCheck
+; unreferenced
ld a, [KantoBadges]
and a
ret z
-
ld a, $4
ld [wJumptableIndex], a
ret
+
; 251f4
-Function251f4: ; 251f4 (9:51f4)
+TrainerCard_Page2_LoadGFX: ; 251f4 (9:51f4)
call ClearSprites
hlcoord 0, 8
- ld d, $6
- call Function253b0
+ ld d, 6
+ call TrainerCard_InitBorder
call WaitBGMap
ld de, LeaderGFX
ld hl, VTiles2 tile $29
@@ -152,28 +143,29 @@
ld hl, VTiles0 tile $00
lb bc, BANK(BadgeGFX), $2c
call Request2bpp
- call Function2536c
- call Function251ab
+ call TrainerCard_Page2_3_InitObjectsAndStrings
+ call TrainerCard_IncrementJumptable
ret
-Function25221: ; 25221 (9:5221)
- ld hl, Unknown_254c9
- call Function25438
+TrainerCard_Page2_Joypad: ; 25221 (9:5221)
+ ld hl, TrainerCard_JohtoBadgesOAM
+ call TrainerCard_Page2_3_AnimateBadges
ld hl, hJoyLast
ld a, [hl]
and A_BUTTON
- jr nz, Function25246
+ jr nz, .Quit
ld a, [hl]
and D_LEFT
- jr nz, .asm_25235
+ jr nz, .d_left
ret
-.asm_25235
+
+.d_left
ld a, $0
ld [wJumptableIndex], a
ret
-; 2523b (9:523b)
-Function2523b: ; 2523b
+.KantoCheck
+; unreferenced
ld a, [KantoBadges]
and a
ret z
@@ -180,18 +172,17 @@
ld a, $4
ld [wJumptableIndex], a
ret
-; 25246
-Function25246: ; 25246
+.Quit
ld a, $6
ld [wJumptableIndex], a
ret
-Function2524c: ; 2524c (9:524c)
+TrainerCard_Page3_LoadGFX: ; 2524c (9:524c)
call ClearSprites
hlcoord 0, 8
- ld d, $6
- call Function253b0
+ ld d, 6
+ call TrainerCard_InitBorder
call WaitBGMap
ld de, LeaderGFX2
ld hl, VTiles2 tile $29
@@ -201,13 +192,13 @@
ld hl, VTiles0 tile $00
lb bc, BANK(BadgeGFX2), $2c
call Request2bpp
- call Function2536c
- call Function251ab
+ call TrainerCard_Page2_3_InitObjectsAndStrings
+ call TrainerCard_IncrementJumptable
ret
-Function25279: ; 25279 (9:5279)
- ld hl, Unknown_254c9
- call Function25438
+TrainerCard_Page3_Joypad: ; 25279 (9:5279)
+ ld hl, TrainerCard_JohtoBadgesOAM
+ call TrainerCard_Page2_3_AnimateBadges
ld hl, hJoyLast
ld a, [hl]
and D_LEFT
@@ -227,16 +218,16 @@
ld [wJumptableIndex], a
ret
-Function25299: ; 25299 (9:5299)
+TrainerCard_PrintTopHalfOfCard: ; 25299 (9:5299)
hlcoord 0, 0
- ld d, $5
- call Function253b0
+ ld d, 5
+ call TrainerCard_InitBorder
hlcoord 2, 2
- ld de, String_252ec
+ ld de, .Name_Money
call PlaceString
hlcoord 2, 4
- ld de, Tilemap_252f9
- call Function253a8
+ ld de, .ID_No
+ call TrainerCardSetup_PlaceTilemapString
hlcoord 7, 2
ld de, PlayerName
call PlaceString
@@ -249,8 +240,8 @@
lb bc, PRINTNUM_MONEY | 3, 6
call PrintNum
hlcoord 1, 3
- ld de, Tilemap_252fc
- call Function253a8
+ ld de, .HorizontalDivider
+ call TrainerCardSetup_PlaceTilemapString
hlcoord 14, 1
lb bc, 5, 7
xor a
@@ -257,38 +248,39 @@
ld [hFillBox], a
predef FillBox
ret
+
; 252ec (9:52ec)
-String_252ec: ; 252ec
+.Name_Money: ; 252ec
db "NAME/"
next ""
next "MONEY@"
-Tilemap_252f9: ; 252f9
+.ID_No: ; 252f9
db $27, $28, $ff ; ID NO
-Tilemap_252fc: ; 252fc
+.HorizontalDivider: ; 252fc
db $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $26, $ff ; ____________>
; 2530a
-Function2530a: ; 2530a (9:530a)
+TrainerCard_Page1_PrintDexCaught_GameTime: ; 2530a (9:530a)
hlcoord 2, 10
- ld de, String_2534c
+ ld de, .Dex_PlayTime
call PlaceString
hlcoord 10, 15
- ld de, String_2535c
+ ld de, .Badges
call PlaceString
ld hl, PokedexCaught
- ld b, $20
+ ld b, EndPokedexCaught - PokedexCaught
call CountSetBits
ld de, wd265
hlcoord 15, 10
lb bc, 1, 3
call PrintNum
- call Function25415
+ call TrainerCard_Page1_PrintGameTime
hlcoord 2, 8
- ld de, Tilemap_25366
- call Function253a8
+ ld de, .StatusTilemap
+ call TrainerCardSetup_PlaceTilemapString
ld a, [StatusFlags] ; pokedex
bit 0, a
ret nz
@@ -296,119 +288,122 @@
lb bc, 2, 17
call ClearBox
ret
-; 2534c (9:534c)
-String_2534c: ; 2534c
+.Dex_PlayTime
db "#DEX"
- next "PLAY TIME"
- db "@"
+ next "PLAY TIME@@"
-String_2535b: ; 2535b
- db "@"
-
-String_2535c: ; 2535c
+.Badges
db " BADGES▶@"
-Tilemap_25366: ; 25366
+.StatusTilemap: ; 25366
db $29, $2a, $2b, $2c, $2d, $ff
; 2536c
-Function2536c: ; 2536c (9:536c)
+TrainerCard_Page2_3_InitObjectsAndStrings: ; 2536c (9:536c)
hlcoord 2, 8
- ld de, Tilemap_253a2
- call Function253a8
+ ld de, .BadgesTilemap
+ call TrainerCardSetup_PlaceTilemapString
hlcoord 2, 10
ld a, $29
- ld c, $4
-.asm_2537c
- call Function253f4
+ ld c, 4
+.loop
+ call TrainerCard_Page2_3_PlaceLeadersFaces
rept 4
inc hl
endr
dec c
- jr nz, .asm_2537c
+ jr nz, .loop
hlcoord 2, 13
ld a, $51
- ld c, $4
-.asm_2538d
- call Function253f4
+ ld c, 4
+.loop2
+ call TrainerCard_Page2_3_PlaceLeadersFaces
rept 4
inc hl
endr
dec c
- jr nz, .asm_2538d
+ jr nz, .loop2
xor a
ld [wcf64], a
- ld hl, Unknown_254c9
- call Function25448
+ ld hl, TrainerCard_JohtoBadgesOAM
+ call TrainerCard_Page2_3_OAMUpdate
ret
+
; 253a2 (9:53a2)
-Tilemap_253a2: ; 253a2
+.BadgesTilemap: ; 253a2
db $79, $7a, $7b, $7c, $7d, $ff ; "BADGES"
; 253a8
-Function253a8: ; 253a8 (9:53a8)
+TrainerCardSetup_PlaceTilemapString: ; 253a8 (9:53a8)
+.loop
ld a, [de]
cp $ff
ret z
ld [hli], a
inc de
- jr Function253a8
+ jr .loop
-Function253b0: ; 253b0 (9:53b0)
- ld e, $14
-.asm_253b2
+TrainerCard_InitBorder: ; 253b0 (9:53b0)
+ ld e, 20
+.loop1
ld a, $23
ld [hli], a
dec e
- jr nz, .asm_253b2
+ jr nz, .loop1
+
ld a, $23
ld [hli], a
- ld e, $11
- ld a, $7f
-.asm_253bf
+ ld e, 17
+ ld a, " "
+.loop2
ld [hli], a
dec e
- jr nz, .asm_253bf
+ jr nz, .loop2
+
ld a, $1c
ld [hli], a
ld a, $23
ld [hli], a
-.asm_253c9
+.loop3
ld a, $23
ld [hli], a
- ld e, $12
- ld a, $7f
-.asm_253d0
+
+ ld e, 18
+ ld a, " "
+.loop4
ld [hli], a
dec e
- jr nz, .asm_253d0
+ jr nz, .loop4
+
ld a, $23
ld [hli], a
dec d
- jr nz, .asm_253c9
+ jr nz, .loop3
+
ld a, $23
ld [hli], a
ld a, $24
ld [hli], a
- ld e, $11
- ld a, $7f
-.asm_253e4
+
+ ld e, 17
+ ld a, " "
+.loop5
ld [hli], a
dec e
- jr nz, .asm_253e4
+ jr nz, .loop5
ld a, $23
ld [hli], a
- ld e, $14
-.asm_253ed
+ ld e, 20
+.loop6
ld a, $23
ld [hli], a
dec e
- jr nz, .asm_253ed
+ jr nz, .loop6
ret
-Function253f4: ; 253f4 (9:53f4)
+TrainerCard_Page2_3_PlaceLeadersFaces: ; 253f4 (9:53f4)
push de
push hl
ld [hli], a
@@ -419,7 +414,7 @@
inc a
ld [hli], a
inc a
- ld de, $11
+ ld de, SCREEN_WIDTH - 3
add hl, de
ld [hli], a
inc a
@@ -427,7 +422,7 @@
inc a
ld [hli], a
inc a
- ld de, $11
+ ld de, SCREEN_WIDTH - 3
add hl, de
ld [hli], a
inc a
@@ -439,7 +434,7 @@
pop de
ret
-Function25415: ; 25415 (9:5415)
+TrainerCard_Page1_PrintGameTime: ; 25415 (9:5415)
hlcoord 11, 12
ld de, GameTimeHours
lb bc, 2, 4
@@ -453,11 +448,11 @@
ret nz
hlcoord 15, 12
ld a, [hl]
- xor $51
+ xor %01010001 ; $7F <--> $2E
ld [hl], a
ret
-Function25438: ; 25438 (9:5438)
+TrainerCard_Page2_3_AnimateBadges: ; 25438 (9:5438)
ld a, [hVBlankCounter]
and $7
ret nz
@@ -465,9 +460,9 @@
inc a
and $7
ld [wcf64], a
- jr Function25448
+ jr TrainerCard_Page2_3_OAMUpdate
-Function25448: ; 25448 (9:5448)
+TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
; copy flag array pointer
ld a, [hli]
ld e, a
@@ -497,7 +492,7 @@
ld h, a
ld a, [hl]
ld [wcf65], a
- call Function2547b
+ call .PrepOAM
pop hl
.skip_badge
ld bc, $b ; 3 + 2 * 4
@@ -507,15 +502,16 @@
jr nz, .loop
ret
-Function2547b: ; 2547b (9:547b)
+.PrepOAM: ; 2547b (9:547b)
ld a, [wcf65]
and $80
jr nz, .xflip
ld hl, .facing1
- jr .loop
+ jr .loop2
+
.xflip
ld hl, .facing2
-.loop
+.loop2
ld a, [hli]
cp $ff
ret z
@@ -540,7 +536,8 @@
ld [de], a
inc hl
inc de
- jr .loop
+ jr .loop2
+
; 254a7 (9:54a7)
.facing1: ; 254a7
@@ -558,7 +555,7 @@
db 8, 8, 2, X_FLIP
db -1
-Unknown_254c9: ; 254c9
+TrainerCard_JohtoBadgesOAM: ; 254c9
; Template OAM data for each badge on the trainer card.
; Format:
; y, x, palette
--- /dev/null
+++ b/engine/unown_puzzle.asm
@@ -1,0 +1,878 @@
+puzcoord EQUS "* 6 +"
+PUZZLE_BORDER EQU $ee
+PUZZLE_VOID EQU $ef
+
+UnownPuzzle: ; e1190
+ ld a, [hInMenu]
+ push af
+ ld a, $1
+ ld [hInMenu], a
+ call ClearBGPalettes
+ call ClearTileMap
+ call ClearSprites
+ xor a
+ ld [hBGMapMode], a
+ call DisableLCD
+ ld hl, wMisc
+ ld bc, wMiscEnd - wMisc
+ xor a
+ call ByteFill
+ ld hl, UnownPuzzleCursorGFX
+ ld de, VTiles1 tile $60
+ ld bc, 4 tiles
+ call CopyBytes
+ ld hl, UnownPuzzleStartCancelLZ
+ ld de, VTiles1 tile $6d
+ call Decompress
+ call LoadUnownPuzzlePiecesGFX
+ hlcoord 0, 0
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
+ ld a, PUZZLE_BORDER
+ call ByteFill
+ hlcoord 4, 3
+ lb bc, 12, 12
+ ld a, PUZZLE_VOID
+ call UnownPuzzle_FillBox
+ call InitUnownPuzzlePiecePositions
+ call UnownPuzzle_UpdateTilemap
+ call PlaceStartCancelBox
+ xor a
+ ld [hSCY], a
+ ld [hSCX], a
+ ld [rWY], a
+ ld [wJumptableIndex], a
+ ld [wHoldingUnownPuzzlePiece], a
+ ld [wUnownPuzzleCursorPosition], a
+ ld [wUnownPuzzleHeldPiece], a
+ ld a, $93
+ ld [rLCDC], a
+ call WaitBGMap
+ ld b, SCGB_18
+ call GetSGBLayout
+ ld a, $e4
+ call DmgToCgbBGPals
+ ld a, $24
+ call DmgToCgbObjPal0
+ xor a
+ ld [wSolvedUnownPuzzle], a
+ call DelayFrame
+.loop
+ call JoyTextDelay
+ ld a, [wJumptableIndex]
+ bit 7, a
+ jr nz, .quit
+ call UnownPuzzleJumptable
+ ld a, [wHoldingUnownPuzzlePiece]
+ and a
+ jr nz, .holding_piece
+ ld a, [hVBlankCounter]
+ and $10
+ jr z, .clear
+.holding_piece
+ call RedrawUnownPuzzlePieces
+ jr .next
+
+.clear
+ call ClearSprites
+.next
+ call DelayFrame
+ jr .loop
+
+.quit
+ pop af
+ ld [hInMenu], a
+ call ClearBGPalettes
+ call ClearTileMap
+ call ClearSprites
+ ld a, $e3
+ ld [rLCDC], a
+ ret
+; e124e
+
+InitUnownPuzzlePiecePositions: ; e124e
+ ld c, 1
+ ld b, 16
+.load_loop
+ call Random
+ and $f
+ ld hl, .PuzzlePieceInitialPositions
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld e, [hl]
+ ld hl, wPuzzlePieces
+ add hl, de
+ ld a, [hl]
+ and a
+ jr nz, .load_loop
+ ld [hl], c
+ inc c
+ dec b
+ jr nz, .load_loop
+ ret
+; e126d
+
+.PuzzlePieceInitialPositions: ; e126d
+initpuzcoord: macro
+rept _NARG / 2
+ db \1 puzcoord \2
+ shift
+ shift
+endr
+endm
+ initpuzcoord 0,0, 0,1, 0,2, 0,3, 0,4, 0,5
+ initpuzcoord 1,0, 1,5
+ initpuzcoord 2,0, 2,5
+ initpuzcoord 3,0, 3,5
+ initpuzcoord 4,0, 4,5
+ initpuzcoord 5,0, 5,5
+ ; START > CANCEL
+; e127d
+
+PlaceStartCancelBox: ; e127d
+ call PlaceStartCancelBoxBorder
+ hlcoord 5, 16
+ ld a, $f6
+ ld c, 10
+.loop
+ ld [hli], a
+ inc a
+ dec c
+ jr nz, .loop
+ ret
+; e128d
+
+PlaceStartCancelBoxBorder: ; e128d
+ hlcoord 4, 15
+ ld a, $f0
+ ld [hli], a
+ ld bc, 10
+ ld a, $f1
+ call ByteFill
+ hlcoord 15, 15
+ ld a, $f2
+ ld [hli], a
+ hlcoord 4, 16
+ ld a, $f3
+ ld [hli], a
+ ld bc, 10
+ ld a, $ef
+ call ByteFill
+ hlcoord 15, 16
+ ld a, $f3
+ ld [hli], a
+ hlcoord 4, 17
+ ld a, $f4
+ ld [hli], a
+ ld bc, 10
+ ld a, $f1
+ call ByteFill
+ hlcoord 15, 17
+ ld a, $f5
+ ld [hl], a
+ ret
+; e12ca
+
+UnownPuzzleJumptable: ; e12ca
+ ld a, [wJumptableIndex]
+ ld e, a
+ ld d, 0
+ ld hl, .Jumptable
+rept 2
+ add hl, de
+endr
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+; e12d9
+
+.Jumptable: ; e12d9
+
+ dw .Function
+; e12db
+
+.Function: ; e12db
+ ld a, [hJoyPressed]
+ and START
+ jp nz, UnownPuzzle_Quit
+ ld a, [hJoyPressed]
+ and A_BUTTON
+ jp nz, UnownPuzzle_A
+ ld hl, hJoyLast
+ ld a, [hl]
+ and D_UP
+ jr nz, .d_up
+ ld a, [hl]
+ and D_DOWN
+ jr nz, .d_down
+ ld a, [hl]
+ and D_LEFT
+ jr nz, .d_left
+ ld a, [hl]
+ and D_RIGHT
+ jr nz, .d_right
+ ret
+
+.d_up
+ ld hl, wUnownPuzzleCursorPosition
+ ld a, [hl]
+ cp 1 puzcoord 0
+ ret c
+ sub $6
+ ld [hl], a
+ jr .done_joypad
+
+.d_down
+ ld hl, wUnownPuzzleCursorPosition
+ ld a, [hl]
+ cp 4 puzcoord 1
+ ret z
+ cp 4 puzcoord 2
+ ret z
+ cp 4 puzcoord 3
+ ret z
+ cp 4 puzcoord 4
+ ret z
+ cp 5 puzcoord 0
+ ret nc
+ add $6
+ ld [hl], a
+ jr .done_joypad
+
+.d_left
+ ld hl, wUnownPuzzleCursorPosition
+ ld a, [hl]
+ and a
+ ret z
+ cp 1 puzcoord 0
+ ret z
+ cp 2 puzcoord 0
+ ret z
+ cp 3 puzcoord 0
+ ret z
+ cp 4 puzcoord 0
+ ret z
+ cp 5 puzcoord 0
+ ret z
+ cp 5 puzcoord 5
+ jr z, .left_overflow
+ dec [hl]
+ jr .done_joypad
+
+.left_overflow
+ ld [hl], 5 puzcoord 0
+ jr .done_joypad
+
+.d_right
+ ld hl, wUnownPuzzleCursorPosition
+ ld a, [hl]
+ cp 0 puzcoord 5
+ ret z
+ cp 1 puzcoord 5
+ ret z
+ cp 2 puzcoord 5
+ ret z
+ cp 3 puzcoord 5
+ ret z
+ cp 4 puzcoord 5
+ ret z
+ cp 5 puzcoord 5
+ ret z
+ cp 5 puzcoord 0
+ jr z, .right_overflow
+ inc [hl]
+ jr .done_joypad
+
+.right_overflow
+ ld [hl], 5 puzcoord 5
+
+.done_joypad
+ ld a, [wHoldingUnownPuzzlePiece]
+ and a
+ jr nz, .holding_piece
+ ld de, SFX_POUND
+ jr .play_sfx
+
+.holding_piece
+ ld de, SFX_MOVE_PUZZLE_PIECE
+
+.play_sfx
+ call PlaySFX
+ ret
+; e1376
+
+UnownPuzzle_A: ; e1376
+ ld a, [wHoldingUnownPuzzlePiece]
+ and a
+ jr nz, .TryPlacePiece
+ call UnownPuzzle_CheckCurrentTileOccupancy
+ and a
+ jr z, UnownPuzzle_InvalidAction
+ ld de, SFX_MEGA_KICK
+ call PlaySFX
+ ld [hl], 0
+ ld [wUnownPuzzleHeldPiece], a
+ call RedrawUnownPuzzlePieces
+ call FillUnoccupiedPuzzleSpace
+ call WaitBGMap
+ call WaitSFX
+ ld a, TRUE
+ ld [wHoldingUnownPuzzlePiece], a
+ ret
+
+.TryPlacePiece
+ call UnownPuzzle_CheckCurrentTileOccupancy
+ and a
+ jr nz, UnownPuzzle_InvalidAction
+ ld de, SFX_PLACE_PUZZLE_PIECE_DOWN
+ call PlaySFX
+ ld a, [wUnownPuzzleHeldPiece]
+ ld [hl], a
+ call PlaceUnownPuzzlePieceGFX
+ call WaitBGMap
+ xor a
+ ld [wUnownPuzzleHeldPiece], a
+ call RedrawUnownPuzzlePieces
+ xor a
+ ld [wHoldingUnownPuzzlePiece], a
+ call WaitSFX
+ call CheckSolvedUnownPuzzle
+ ret nc
+
+; You solved the puzzle!
+ call PlaceStartCancelBoxBorder
+ call ClearSprites
+ ld de, SFX_1ST_PLACE
+ call PlaySFX
+ call WaitSFX
+ call SimpleWaitPressAorB
+ ld a, TRUE
+ ld [wSolvedUnownPuzzle], a
+UnownPuzzle_Quit: ; e13de
+ ld hl, wJumptableIndex
+ set 7, [hl]
+ ret
+
+UnownPuzzle_InvalidAction: ; e13e4
+ ld de, SFX_WRONG
+ call PlaySFX
+ call WaitSFX
+ ret
+; e13ee
+
+UnownPuzzle_FillBox: ; e13ee
+ ld de, SCREEN_WIDTH
+.row
+ push bc
+ push hl
+.col
+ ld [hli], a
+ dec c
+ jr nz, .col
+ pop hl
+ add hl, de
+ pop bc
+ dec b
+ jr nz, .row
+ ret
+; e13fe
+
+UnownPuzzle_UpdateTilemap: ; e13fe
+ xor a
+ ld [wUnownPuzzleCursorPosition], a
+ ld c, 6 * 6
+.loop
+ push bc
+ call UnownPuzzle_CheckCurrentTileOccupancy
+ ld [wUnownPuzzleHeldPiece], a
+ and a
+ jr z, .not_holding_piece
+ call PlaceUnownPuzzlePieceGFX
+ jr .next
+
+.not_holding_piece
+ call FillUnoccupiedPuzzleSpace
+
+.next
+ ld hl, wUnownPuzzleCursorPosition
+ inc [hl]
+ pop bc
+ dec c
+ jr nz, .loop
+ ret
+; e141f
+
+PlaceUnownPuzzlePieceGFX: ; e141f
+ ld a, $2 ; tilemap coords
+ call GetUnownPuzzleCoordData
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ push hl
+ call GetCurrentPuzzlePieceVTileCorner
+ pop hl
+ ld de, SCREEN_WIDTH
+ ld b, 3
+.row
+ ld c, 3
+ push hl
+.col
+ ld [hli], a
+ inc a
+ dec c
+ jr nz, .col
+ add 9
+ pop hl
+ add hl, de
+ dec b
+ jr nz, .row
+ ret
+; e1441
+
+FillUnoccupiedPuzzleSpace: ; e1441
+ ld a, 2 ; tilemap coords
+ call GetUnownPuzzleCoordData
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ push hl
+ ld a, 4 ; tile
+ call GetUnownPuzzleCoordData
+ ld a, [hl]
+ pop hl
+ ld de, SCREEN_WIDTH
+ ld b, 3
+.row
+ ld c, 3
+ push hl
+.col
+ ld [hli], a
+ dec c
+ jr nz, .col
+ pop hl
+ add hl, de
+ dec b
+ jr nz, .row
+ ret
+; e1463
+
+GetUnownPuzzleCoordData: ; e1463
+ ld e, a
+ ld d, 0
+ ld hl, UnownPuzzleCoordData
+ add hl, de
+ ld a, [wUnownPuzzleCursorPosition]
+ ld e, a
+rept 6
+ add hl, de
+endr
+ ret
+; e1475
+
+UnownPuzzle_CheckCurrentTileOccupancy: ; e1475
+ ld hl, wPuzzlePieces
+ ld a, [wUnownPuzzleCursorPosition]
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld a, [hl]
+ ret
+; e1481
+
+GetCurrentPuzzlePieceVTileCorner: ; e1481
+ ld a, [wUnownPuzzleHeldPiece]
+ ld hl, .Corners
+ add l
+ ld l, a
+ ld a, $0
+ adc h
+ ld h, a
+ ld a, [hl]
+ ret
+; e148f
+
+.Corners: ; e148f
+; 00, 01, 02
+; 0c, 0d, 0e
+; 18, 19, 1a
+ db $e0 ; no piece selected
+ db $00, $03, $06, $09
+ db $24, $27, $2a, $2d
+ db $48, $4b, $4e, $51
+ db $6c, $6f, $72, $75
+; e14a0
+
+CheckSolvedUnownPuzzle: ; e14a0
+ ld hl, .SolvedPuzzleConfiguration
+ ld de, wPuzzlePieces
+ ld c, 6 * 6
+.loop
+ ld a, [de]
+ cp [hl]
+ jr nz, .not_solved
+ inc de
+ inc hl
+ dec c
+ jr nz, .loop
+ scf
+ ret
+
+.not_solved
+ and a
+ ret
+; e14b5
+
+.SolvedPuzzleConfiguration: ; e14b5
+ db $00, $00, $00, $00, $00, $00
+ db $00, $01, $02, $03, $04, $00
+ db $00, $05, $06, $07, $08, $00
+ db $00, $09, $0a, $0b, $0c, $00
+ db $00, $0d, $0e, $0f, $10, $00
+ db $00, $00, $00, $00, $00, $00
+; e14d9
+
+RedrawUnownPuzzlePieces: ; e14d9
+ call GetCurrentPuzzlePieceVTileCorner
+ ld [wd002], a
+ xor a
+ call GetUnownPuzzleCoordData ; get pixel positions
+ ld a, [hli]
+ ld b, [hl]
+ ld c, a
+ ld a, [wd002]
+ cp $e0
+ jr z, .NoPiece
+ ld hl, .OAM_HoldingPiece
+ jr .load
+
+.NoPiece
+ ld hl, .OAM_NotHoldingPiece
+
+.load
+ ld de, Sprites
+.loop
+ ld a, [hli]
+ cp -1
+ ret z
+ add b
+ ld [de], a
+ inc de
+ ld a, [hli]
+ add c
+ ld [de], a
+ inc de
+ ld a, [wd002]
+ add [hl]
+ ld [de], a
+ inc hl
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ jr .loop
+; e150f
+
+.OAM_HoldingPiece: ; e150f
+ dsprite -1, -4, -1, -4, $00, $00
+ dsprite -1, -4, 0, -4, $01, $00
+ dsprite -1, -4, 0, 4, $02, $00
+ dsprite 0, -4, -1, -4, $0c, $00
+ dsprite 0, -4, 0, -4, $0d, $00
+ dsprite 0, -4, 0, 4, $0e, $00
+ dsprite 0, 4, -1, -4, $18, $00
+ dsprite 0, 4, 0, -4, $19, $00
+ dsprite 0, 4, 0, 4, $1a, $00
+ db -1
+
+.OAM_NotHoldingPiece: ; e1534
+ dsprite -1, -4, -1, -4, $00, $00
+ dsprite -1, -4, 0, -4, $01, $00
+ dsprite -1, -4, 0, 4, $00, $20 ; xflip
+ dsprite 0, -4, -1, -4, $02, $00
+ dsprite 0, -4, 0, -4, $03, $00
+ dsprite 0, -4, 0, 4, $02, $20 ; xflip
+ dsprite 0, 4, -1, -4, $00, $40 ; yflip
+ dsprite 0, 4, 0, -4, $01, $40 ; yflip
+ dsprite 0, 4, 0, 4, $00, $60 ; xflip, yflip
+ db -1
+
+UnownPuzzleCoordData: ; e1559
+
+puzzle_coords: macro
+ dbpixel \1, \2, \3, \4
+ dwcoord \5, \6
+ db \7, \8
+endm
+; OAM coords, tilemap coords, vacant tile, filler
+ puzzle_coords 3, 3, 4, 4, 1, 0, PUZZLE_BORDER, 0
+ puzzle_coords 6, 3, 4, 4, 4, 0, PUZZLE_BORDER, 0
+ puzzle_coords 9, 3, 4, 4, 7, 0, PUZZLE_BORDER, 0
+ puzzle_coords 12, 3, 4, 4, 10, 0, PUZZLE_BORDER, 0
+ puzzle_coords 15, 3, 4, 4, 13, 0, PUZZLE_BORDER, 0
+ puzzle_coords 18, 3, 4, 4, 16, 0, PUZZLE_BORDER, 0
+
+ puzzle_coords 3, 6, 4, 4, 1, 3, PUZZLE_BORDER, 0
+ puzzle_coords 6, 6, 4, 4, 4, 3, PUZZLE_VOID, 0
+ puzzle_coords 9, 6, 4, 4, 7, 3, PUZZLE_VOID, 0
+ puzzle_coords 12, 6, 4, 4, 10, 3, PUZZLE_VOID, 0
+ puzzle_coords 15, 6, 4, 4, 13, 3, PUZZLE_VOID, 0
+ puzzle_coords 18, 6, 4, 4, 16, 3, PUZZLE_BORDER, 0
+
+ puzzle_coords 3, 9, 4, 4, 1, 6, PUZZLE_BORDER, 0
+ puzzle_coords 6, 9, 4, 4, 4, 6, PUZZLE_VOID, 0
+ puzzle_coords 9, 9, 4, 4, 7, 6, PUZZLE_VOID, 0
+ puzzle_coords 12, 9, 4, 4, 10, 6, PUZZLE_VOID, 0
+ puzzle_coords 15, 9, 4, 4, 13, 6, PUZZLE_VOID, 0
+ puzzle_coords 18, 9, 4, 4, 16, 6, PUZZLE_BORDER, 0
+
+ puzzle_coords 3, 12, 4, 4, 1, 9, PUZZLE_BORDER, 0
+ puzzle_coords 6, 12, 4, 4, 4, 9, PUZZLE_VOID, 0
+ puzzle_coords 9, 12, 4, 4, 7, 9, PUZZLE_VOID, 0
+ puzzle_coords 12, 12, 4, 4, 10, 9, PUZZLE_VOID, 0
+ puzzle_coords 15, 12, 4, 4, 13, 9, PUZZLE_VOID, 0
+ puzzle_coords 18, 12, 4, 4, 16, 9, PUZZLE_BORDER, 0
+
+ puzzle_coords 3, 15, 4, 4, 1, 12, PUZZLE_BORDER, 0
+ puzzle_coords 6, 15, 4, 4, 4, 12, PUZZLE_VOID, 0
+ puzzle_coords 9, 15, 4, 4, 7, 12, PUZZLE_VOID, 0
+ puzzle_coords 12, 15, 4, 4, 10, 12, PUZZLE_VOID, 0
+ puzzle_coords 15, 15, 4, 4, 13, 12, PUZZLE_VOID, 0
+ puzzle_coords 18, 15, 4, 4, 16, 12, PUZZLE_BORDER, 0
+
+ puzzle_coords 3, 18, 4, 4, 1, 15, PUZZLE_BORDER, 0
+ puzzle_coords 6, 18, 4, 4, 4, 15, PUZZLE_BORDER, 0
+ puzzle_coords 9, 18, 4, 4, 7, 15, PUZZLE_BORDER, 0
+ puzzle_coords 12, 18, 4, 4, 10, 15, PUZZLE_BORDER, 0
+ puzzle_coords 15, 18, 4, 4, 13, 15, PUZZLE_BORDER, 0
+ puzzle_coords 18, 18, 4, 4, 16, 15, PUZZLE_BORDER, 0
+
+ConvertLoadedPuzzlePieces: ; e1631
+ ld hl, VTiles2
+ ld de, VTiles0
+ ld b, 6
+.loop
+ push bc
+ push hl
+ push hl
+ call .EnlargePuzzlePieceTiles
+ pop hl
+ ld bc, 1 tiles / 2
+ add hl, bc
+ call .EnlargePuzzlePieceTiles
+ pop hl
+ ld bc, 6 tiles
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .loop
+ call UnownPuzzle_AddPuzzlePieceBorders
+ ret
+; e1654
+
+.EnlargePuzzlePieceTiles: ; e1654
+; double size
+ ld c, 6
+.loop1
+ push bc
+ push hl
+ push hl
+ ld c, 4
+.loop2
+ push bc
+ ld a, [hli]
+ and $f0
+ swap a
+ call .GetEnlargedTile
+ ld c, a
+ ld a, [hli]
+ and $f0
+ swap a
+ call .GetEnlargedTile
+ ld b, a
+ ld a, c
+ ld [de], a
+ inc de
+ ld a, b
+ ld [de], a
+ inc de
+ ld a, c
+ ld [de], a
+ inc de
+ ld a, b
+ ld [de], a
+ inc de
+ pop bc
+ dec c
+ jr nz, .loop2
+ pop hl
+ ld c, 4
+.loop3
+ push bc
+ ld a, [hli]
+ and $f
+ call .GetEnlargedTile
+ ld c, a
+ ld a, [hli]
+ and $f
+ call .GetEnlargedTile
+ ld b, a
+ ld a, c
+ ld [de], a
+ inc de
+ ld a, b
+ ld [de], a
+ inc de
+ ld a, c
+ ld [de], a
+ inc de
+ ld a, b
+ ld [de], a
+ inc de
+ pop bc
+ dec c
+ jr nz, .loop3
+ pop hl
+ ld bc, 1 tiles
+ add hl, bc
+ pop bc
+ dec c
+ jr nz, .loop1
+ ret
+; e16aa
+
+.GetEnlargedTile: ; e16aa
+ push hl
+ ld hl, .EnlargedTiles
+ add l
+ ld l, a
+ ld a, 0
+ adc h
+ ld h, a
+ ld a, [hl]
+ pop hl
+ ret
+; e16b7
+
+.EnlargedTiles: ; e16b7
+
+x = 0
+rept 16
+ db ((x & %1000) * %11000) + ((x & %0100) * %1100) + ((x & %0010) * %110) + ((x & %0001) * %11)
+x = x + 1
+endr
+; e16c7
+
+UnownPuzzle_AddPuzzlePieceBorders: ; e16c7
+ ld hl, GFXHeaders
+ ld a, 8
+.loop
+ push af
+ push hl
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call .LoadGFX
+ pop hl
+rept 4
+ inc hl
+endr
+ pop af
+ dec a
+ jr nz, .loop
+ ret
+; e16e2
+
+.LoadGFX: ; e16e2
+ lb bc, 4, 4
+.loop1
+ push bc
+
+.loop2
+ push de
+ push hl
+
+ ld b, 1 tiles
+.loop3
+ ld a, [de]
+ or [hl]
+ ld [hli], a
+ inc de
+ dec b
+ jr nz, .loop3
+
+ pop hl
+ ld de, 3 tiles
+ add hl, de
+ pop de
+ dec c
+ jr nz, .loop2
+
+ ld bc, 24 tiles
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .loop1
+ ret
+; e1703
+
+GFXHeaders: ; e1703
+ dw .TileBordersGFX + 0 tiles, VTiles0 tile $00
+ dw .TileBordersGFX + 1 tiles, VTiles0 tile $01
+ dw .TileBordersGFX + 2 tiles, VTiles0 tile $02
+ dw .TileBordersGFX + 3 tiles, VTiles0 tile $0c
+ dw .TileBordersGFX + 4 tiles, VTiles0 tile $0e
+ dw .TileBordersGFX + 5 tiles, VTiles0 tile $18
+ dw .TileBordersGFX + 6 tiles, VTiles0 tile $19
+ dw .TileBordersGFX + 7 tiles, VTiles0 tile $1a
+; e1723
+
+.TileBordersGFX: ; e1723
+INCBIN "gfx/unown_puzzle/tile_borders.2bpp"
+
+LoadUnownPuzzlePiecesGFX: ; e17a3
+ ld a, [ScriptVar]
+ and 3
+ ld e, a
+ ld d, 0
+ ld hl, .LZPointers
+rept 2
+ add hl, de
+endr
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, VTiles2
+ call Decompress
+ call ConvertLoadedPuzzlePieces
+ ret
+; e17bd
+
+.LZPointers: ; e17bd
+ dw KabutoPuzzleLZ
+ dw OmanytePuzzleLZ
+ dw AerodactylPuzzleLZ
+ dw HoOhPuzzleLZ
+; e17c5
+
+UnownPuzzleCursorGFX: ; e17c5
+INCBIN "gfx/unown_puzzle/cursor.2bpp"
+
+UnownPuzzleStartCancelLZ: ; e1805
+INCBIN "gfx/unown_puzzle/start_cancel.2bpp.lz"
+
+HoOhPuzzleLZ: ; e18ab
+INCBIN "gfx/unown_puzzle/hooh.2bpp.lz"
+
+AerodactylPuzzleLZ: ; e19fb
+INCBIN "gfx/unown_puzzle/aerodactyl.2bpp.lz"
+
+KabutoPuzzleLZ: ; e1bab
+INCBIN "gfx/unown_puzzle/kabuto.2bpp.lz"
+
+OmanytePuzzleLZ: ; e1c9b
+INCBIN "gfx/unown_puzzle/omanyte.2bpp.lz"
--- /dev/null
+++ b/engine/unowndex.asm
@@ -1,0 +1,119 @@
+UpdateUnownDex: ; fba18
+ ld a, [UnownLetter]
+ ld c, a
+ ld b, 26
+ ld hl, UnownDex
+.loop
+ ld a, [hli]
+ and a
+ jr z, .done
+ cp c
+ ret z
+ dec b
+ jr nz, .loop
+ ret
+
+.done
+ dec hl
+ ld [hl], c
+ ret
+; fba2e
+
+
+PrintUnownWord: ; fba2e (3e:7a2e)
+ hlcoord 4, 15
+ ld bc, 12
+ ld a, " "
+ call ByteFill
+ ld a, [wc7dd]
+ ld e, a
+ ld d, 0
+ ld hl, UnownDex
+ add hl, de
+ ld a, [hl]
+ ld e, a
+ ld d, 0
+ ld hl, UnownWords
+rept 2
+ add hl, de
+endr
+ ld a, [hli]
+ ld e, a
+ ld d, [hl]
+ hlcoord 4, 15
+.loop
+ ld a, [de]
+ cp -1
+ ret z
+ inc de
+ ld [hli], a
+ jr .loop
+; fba5a (3e:7a5a)
+
+UnownWords: ; fba5a
+ dw UnownWord1
+ dw UnownWord1
+ dw UnownWord2
+ dw UnownWord3
+ dw UnownWord4
+ dw UnownWord5
+ dw UnownWord6
+ dw UnownWord7
+ dw UnownWord8
+ dw UnownWord9
+ dw UnownWord10
+ dw UnownWord11
+ dw UnownWord12
+ dw UnownWord13
+ dw UnownWord14
+ dw UnownWord15
+ dw UnownWord16
+ dw UnownWord17
+ dw UnownWord18
+ dw UnownWord19
+ dw UnownWord20
+ dw UnownWord21
+ dw UnownWord22
+ dw UnownWord23
+ dw UnownWord24
+ dw UnownWord25
+ dw UnownWord26
+; fba90
+
+unownword: macro
+x = 1
+ rept STRLEN(\1)
+ db STRSUB(\1, x, 1) - $40
+x = x + 1
+ endr
+ db -1
+endm
+
+
+UnownWord1: unownword "ANGRY"
+UnownWord2: unownword "BEAR"
+UnownWord3: unownword "CHASE"
+UnownWord4: unownword "DIRECT"
+UnownWord5: unownword "ENGAGE"
+UnownWord6: unownword "FIND"
+UnownWord7: unownword "GIVE"
+UnownWord8: unownword "HELP"
+UnownWord9: unownword "INCREASE"
+UnownWord10: unownword "JOIN"
+UnownWord11: unownword "KEEP"
+UnownWord12: unownword "LAUGH"
+UnownWord13: unownword "MAKE"
+UnownWord14: unownword "NUZZLE"
+UnownWord15: unownword "OBSERVE"
+UnownWord16: unownword "PERFORM"
+UnownWord17: unownword "QUICKEN"
+UnownWord18: unownword "REASSURE"
+UnownWord19: unownword "SEARCH"
+UnownWord20: unownword "TELL"
+UnownWord21: unownword "UNDO"
+UnownWord22: unownword "VANISH"
+UnownWord23: unownword "WANT"
+UnownWord24: unownword "XXXXX"
+UnownWord25: unownword "YIELD"
+UnownWord26: unownword "ZOOM"
+; fbb32
--- a/engine/variables.asm
+++ b/engine/variables.asm
@@ -38,34 +38,34 @@
; $00: copy [de] to StringBuffer2
; $40: return address in de
; $80: call function
- dwb StringBuffer2, RETVAR_STRBUF2
- dwb PartyCount, RETVAR_STRBUF2
- dwb .BattleResult, RETVAR_EXECUTE
- dwb BattleType, RETVAR_ADDR_DE
- dwb TimeOfDay, RETVAR_STRBUF2
- dwb .CountCaughtMons, RETVAR_EXECUTE
- dwb .CountSeenMons, RETVAR_EXECUTE
- dwb .CountBadges, RETVAR_EXECUTE
- dwb PlayerState, RETVAR_ADDR_DE
- dwb .PlayerFacing, RETVAR_EXECUTE
- dwb hHours, RETVAR_STRBUF2
- dwb .DayOfWeek, RETVAR_EXECUTE
- dwb MapGroup, RETVAR_STRBUF2
- dwb MapNumber, RETVAR_STRBUF2
- dwb .UnownCaught, RETVAR_EXECUTE
- dwb wPermission, RETVAR_STRBUF2
- dwb .BoxFreeSpace, RETVAR_EXECUTE
- dwb wBugContestMinsRemaining, RETVAR_STRBUF2
- dwb XCoord, RETVAR_STRBUF2
- dwb YCoord, RETVAR_STRBUF2
- dwb wSpecialPhoneCallID, RETVAR_STRBUF2
- dwb wcf64, RETVAR_STRBUF2
- dwb wKurtApricornQuantity, RETVAR_STRBUF2
- dwb wCurrentCaller, RETVAR_ADDR_DE
- dwb wBlueCardBalance, RETVAR_ADDR_DE
- dwb wBuenasPassword, RETVAR_ADDR_DE
- dwb wdc58, RETVAR_STRBUF2
- dwb NULL, RETVAR_STRBUF2
+ dwb StringBuffer2, RETVAR_STRBUF2
+ dwb PartyCount, RETVAR_STRBUF2
+ dwb .BattleResult, RETVAR_EXECUTE
+ dwb BattleType, RETVAR_ADDR_DE
+ dwb TimeOfDay, RETVAR_STRBUF2
+ dwb .CountCaughtMons, RETVAR_EXECUTE
+ dwb .CountSeenMons, RETVAR_EXECUTE
+ dwb .CountBadges, RETVAR_EXECUTE
+ dwb PlayerState, RETVAR_ADDR_DE
+ dwb .PlayerFacing, RETVAR_EXECUTE
+ dwb hHours, RETVAR_STRBUF2
+ dwb .DayOfWeek, RETVAR_EXECUTE
+ dwb MapGroup, RETVAR_STRBUF2
+ dwb MapNumber, RETVAR_STRBUF2
+ dwb .UnownCaught, RETVAR_EXECUTE
+ dwb wPermission, RETVAR_STRBUF2
+ dwb .BoxFreeSpace, RETVAR_EXECUTE
+ dwb wBugContestMinsRemaining, RETVAR_STRBUF2
+ dwb XCoord, RETVAR_STRBUF2
+ dwb YCoord, RETVAR_STRBUF2
+ dwb wSpecialPhoneCallID, RETVAR_STRBUF2
+ dwb wNrOfBeatenBattleTowerTrainers, RETVAR_STRBUF2
+ dwb wKurtApricornQuantity, RETVAR_STRBUF2
+ dwb wCurrentCaller, RETVAR_ADDR_DE
+ dwb wBlueCardBalance, RETVAR_ADDR_DE
+ dwb wBuenasPassword, RETVAR_ADDR_DE
+ dwb wKenjiBreakTimer, RETVAR_STRBUF2
+ dwb NULL, RETVAR_STRBUF2
; 806c5
.CountCaughtMons: ; 806c5
--- /dev/null
+++ b/engine/warp_connection.asm
@@ -1,0 +1,439 @@
+
+RunCallback_05_03: ; 1045b0
+ call Clearwc7e8
+ call ResetMapBufferEventFlags
+ call ResetFlashIfOutOfCave
+ call GetCurrentMapTrigger
+ call ResetBikeFlags
+ ld a, $5
+ call RunMapCallback
+RunCallback_03: ; 1045c4
+ callba ClearCmdQueue
+ ld a, $3
+ call RunMapCallback
+ call GetMapHeaderTimeOfDayNybble
+ ld [wMapTimeOfDay], a
+ ret
+
+
+EnterMapConnection: ; 1045d6
+; Return carry if a connection has been entered.
+ ld a, [wPlayerStepDirection]
+ and a
+ jp z, EnterSouthConnection
+ cp 1
+ jp z, EnterNorthConnection
+ cp 2
+ jp z, EnterWestConnection
+ cp 3
+ jp z, EnterEastConnection
+ ret
+; 1045ed
+
+
+EnterWestConnection: ; 1045ed
+ ld a, [WestConnectedMapGroup]
+ ld [MapGroup], a
+ ld a, [WestConnectedMapNumber]
+ ld [MapNumber], a
+ ld a, [WestConnectionStripXOffset]
+ ld [XCoord], a
+ ld a, [WestConnectionStripYOffset]
+ ld hl, YCoord
+ add [hl]
+ ld [hl], a
+ ld c, a
+ ld hl, WestConnectionWindow
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ srl c
+ jr z, .skip_to_load
+ ld a, [WestConnectedMapWidth]
+ add 6
+ ld e, a
+ ld d, 0
+
+.loop
+ add hl, de
+ dec c
+ jr nz, .loop
+
+.skip_to_load
+ ld a, l
+ ld [wOverworldMapAnchor], a
+ ld a, h
+ ld [wOverworldMapAnchor + 1], a
+ jp EnteredConnection
+; 104629
+
+
+EnterEastConnection: ; 104629
+ ld a, [EastConnectedMapGroup]
+ ld [MapGroup], a
+ ld a, [EastConnectedMapNumber]
+ ld [MapNumber], a
+ ld a, [EastConnectionStripXOffset]
+ ld [XCoord], a
+ ld a, [EastConnectionStripYOffset]
+ ld hl, YCoord
+ add [hl]
+ ld [hl], a
+ ld c, a
+ ld hl, EastConnectionWindow
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ srl c
+ jr z, .skip_to_load
+ ld a, [EastConnectedMapWidth]
+ add 6
+ ld e, a
+ ld d, 0
+
+.loop
+ add hl, de
+ dec c
+ jr nz, .loop
+
+.skip_to_load
+ ld a, l
+ ld [wOverworldMapAnchor], a
+ ld a, h
+ ld [wOverworldMapAnchor + 1], a
+ jp EnteredConnection
+; 104665
+
+
+EnterNorthConnection: ; 104665
+ ld a, [NorthConnectedMapGroup]
+ ld [MapGroup], a
+ ld a, [NorthConnectedMapNumber]
+ ld [MapNumber], a
+ ld a, [NorthConnectionStripYOffset]
+ ld [YCoord], a
+ ld a, [NorthConnectionStripXOffset]
+ ld hl, XCoord
+ add [hl]
+ ld [hl], a
+ ld c, a
+ ld hl, NorthConnectionWindow
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld b, 0
+ srl c
+ add hl, bc
+ ld a, l
+ ld [wOverworldMapAnchor], a
+ ld a, h
+ ld [wOverworldMapAnchor + 1], a
+ jp EnteredConnection
+; 104696
+
+
+EnterSouthConnection: ; 104696
+ ld a, [SouthConnectedMapGroup]
+ ld [MapGroup], a
+ ld a, [SouthConnectedMapNumber]
+ ld [MapNumber], a
+ ld a, [SouthConnectionStripYOffset]
+ ld [YCoord], a
+ ld a, [SouthConnectionStripXOffset]
+ ld hl, XCoord
+ add [hl]
+ ld [hl], a
+ ld c, a
+ ld hl, SouthConnectionWindow
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld b, 0
+ srl c
+ add hl, bc
+ ld a, l
+ ld [wOverworldMapAnchor], a
+ ld a, h
+ ld [wOverworldMapAnchor + 1], a
+ ; fallthrough
+; 1046c4
+
+EnteredConnection: ; 1046c4
+ scf
+ ret
+; 1046c6
+
+LoadWarpData: ; 1046c6
+ call .SaveDigWarp
+ call .SetSpawn
+ ld a, [wNextWarp]
+ ld [WarpNumber], a
+ ld a, [wNextMapGroup]
+ ld [MapGroup], a
+ ld a, [wNextMapNumber]
+ ld [MapNumber], a
+ ret
+
+.SaveDigWarp: ; 1046df (41:46df)
+ call GetMapPermission
+ call CheckOutdoorMap
+ ret nz
+ ld a, [wNextMapGroup]
+ ld b, a
+ ld a, [wNextMapNumber]
+ ld c, a
+ call GetAnyMapPermission
+ call CheckIndoorMap
+ ret nz
+ ld a, [wPrevMapGroup]
+ cp GROUP_MOUNT_MOON_SQUARE
+ jr nz, .not_mt_moon_or_tin_tower
+ ld a, [wPrevMapNumber]
+ cp MAP_MOUNT_MOON_SQUARE
+ ret z
+ cp MAP_TIN_TOWER_ROOF
+ ret z
+.not_mt_moon_or_tin_tower
+ ld a, [wPrevWarp]
+ ld [wDigWarp], a
+ ld a, [wPrevMapGroup]
+ ld [wDigMapGroup], a
+ ld a, [wPrevMapNumber]
+ ld [wDigMapNumber], a
+ ret
+
+.SetSpawn: ; 104718 (41:4718)
+ call GetMapPermission
+ call CheckOutdoorMap
+ ret nz
+ ld a, [wNextMapGroup]
+ ld b, a
+ ld a, [wNextMapNumber]
+ ld c, a
+ call GetAnyMapPermission
+ call CheckIndoorMap
+ ret nz
+ ld a, [wNextMapGroup]
+ ld b, a
+ ld a, [wNextMapNumber]
+ ld c, a
+ call GetAnyMapTileset
+ ld a, c
+ cp TILESET_POKECENTER
+ jr z, .pokecenter_pokecom
+ cp TILESET_POKECOM_CENTER
+ jr z, .pokecenter_pokecom
+ ret
+.pokecenter_pokecom
+ ld a, [wPrevMapGroup]
+ ld [wLastSpawnMapGroup], a
+ ld a, [wPrevMapNumber]
+ ld [wLastSpawnMapNumber], a
+ ret
+
+LoadMapTimeOfDay: ; 104750
+ ld hl, VramState
+ res 6, [hl]
+ ld a, $1
+ ld [wSpriteUpdatesEnabled], a
+ callba ReplaceTimeOfDayPals
+ callba UpdateTimeOfDayPal
+ call OverworldTextModeSwitch
+ call Function104770
+ call Function1047a3
+ ret
+
+Function104770: ; 104770 (41:4770)
+ ld a, VBGMap0 / $100
+ ld [wBGMapAnchor + 1], a
+ xor a
+ ld [wBGMapAnchor], a
+ ld [hSCY], a
+ ld [hSCX], a
+ callba Function5958
+ ld a, [rVBK]
+ push af
+ ld a, $1
+ ld [rVBK], a
+ xor a
+ ld bc, VBGMap1 - VBGMap0
+ hlbgcoord 0, 0
+ call ByteFill
+ pop af
+ ld [rVBK], a
+ ld a, $60
+ ld bc, VBGMap1 - VBGMap0
+ hlbgcoord 0, 0
+ call ByteFill
+ ret
+
+Function1047a3: ; 1047a3 (41:47a3)
+ decoord 0, 0
+ call .copy
+ ld a, [hCGB]
+ and a
+ ret z
+
+ decoord 0, 0, AttrMap
+ ld a, $1
+ ld [rVBK], a
+.copy:
+ hlbgcoord 0, 0
+ ld c, SCREEN_WIDTH
+ ld b, SCREEN_HEIGHT
+.row
+ push bc
+.column
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec c
+ jr nz, .column
+ ld bc, BG_MAP_WIDTH - SCREEN_WIDTH
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .row
+ ld a, $0
+ ld [rVBK], a
+ ret
+
+LoadGraphics: ; 1047cf
+ call LoadTilesetHeader
+ call LoadTileset
+ xor a
+ ld [hMapAnims], a
+ xor a
+ ld [hTileAnimFrame], a
+ callba RefreshSprites
+ call LoadFontsExtra
+ callba LoadOverworldFont
+ ret
+
+LoadMapPalettes: ; 1047eb
+ ld b, SCGB_MAPPALS
+ jp GetSGBLayout
+; 1047f0
+
+RefreshMapSprites: ; 1047f0
+ call ClearSprites
+ callba ReturnFromMapSetupScript
+ call GetMovementPermissions
+ callba Function579d
+ callba CheckReplaceKrisSprite
+ ld hl, wPlayerSpriteSetupFlags
+ bit 6, [hl]
+ jr nz, .skip
+ ld hl, VramState
+ set 0, [hl]
+ call Function2e31
+.skip
+ ld a, [wPlayerSpriteSetupFlags]
+ and %00011100
+ ld [wPlayerSpriteSetupFlags], a
+ ret
+
+CheckMovingOffEdgeOfMap:: ; 104820 (41:4820)
+ ld a, [wPlayerStepDirection]
+ cp STANDING
+ ret z
+ and a ; DOWN
+ jr z, .down
+ cp UP
+ jr z, .up
+ cp LEFT
+ jr z, .left
+ cp RIGHT
+ jr z, .right
+ and a
+ ret
+
+.down
+ ld a, [PlayerNextMapY]
+ sub 4
+ ld b, a
+ ld a, [MapHeight]
+ add a
+ cp b
+ jr z, .ok
+ and a
+ ret
+
+.up
+ ld a, [PlayerNextMapY]
+ sub 4
+ cp -1
+ jr z, .ok
+ and a
+ ret
+
+.left
+ ld a, [PlayerNextMapX]
+ sub $4
+ cp -1
+ jr z, .ok
+ and a
+ ret
+
+.right
+ ld a, [PlayerNextMapX]
+ sub 4
+ ld b, a
+ ld a, [MapWidth]
+ add a
+ cp b
+ jr z, .ok
+ and a
+ ret
+
+.ok
+ scf
+ ret
+
+
+GetCoordOfUpperLeftCorner:: ; 10486d
+ ld hl, OverworldMap
+ ld a, [XCoord]
+ bit 0, a
+ jr nz, .increment_then_halve1
+ srl a
+ add $1
+ jr .resume
+
+.increment_then_halve1
+ add $1
+ srl a
+
+.resume
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld a, [MapWidth]
+ add $6
+ ld c, a
+ ld b, $0
+ ld a, [YCoord]
+ bit 0, a
+ jr nz, .increment_then_halve2
+ srl a
+ add $1
+ jr .resume2
+
+.increment_then_halve2
+ add $1
+ srl a
+
+.resume2
+ call AddNTimes
+ ld a, l
+ ld [wOverworldMapAnchor], a
+ ld a, h
+ ld [wOverworldMapAnchor + 1], a
+ ld a, [YCoord]
+ and $1
+ ld [wMetatileStandingY], a
+ ld a, [XCoord]
+ and $1
+ ld [wMetatileStandingX], a
+ ret
+; 1048ba
--- a/engine/wildmons.asm
+++ b/engine/wildmons.asm
@@ -1,30 +1,34 @@
LoadWildMonData: ; 29ff8
call _GrassWildmonLookup
jr c, .copy
- ld hl, wd25a
+ ld hl, wMornEncounterRate
xor a
ld [hli], a
ld [hli], a
ld [hl], a
jr .done_copy
+
.copy
inc hl
inc hl
- ld de, wd25a
- ld bc, $3
+ ld de, wMornEncounterRate
+ ld bc, 3
call CopyBytes
.done_copy
call _WaterWildmonLookup
- ld a, $0
+ ld a, 0
jr nc, .no_copy
inc hl
inc hl
ld a, [hl]
.no_copy
- ld [wd25d], a
+ ld [wWaterEncounterRate], a
ret
-Function2a01f: ; 2a01f
+FindNest: ; 2a01f
+; Parameters:
+; e: 0 = Johto, 1 = Kanto
+; wNamedObjectIndexBuffer: species
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
xor a
@@ -34,25 +38,24 @@
jr nz, .kanto
decoord 0, 0
ld hl, JohtoGrassWildMons
- call Function2a052
+ call .FindGrass
ld hl, JohtoWaterWildMons
- call Function2a06e
- call Function2a0b7
- call Function2a0cf
+ call .FindWater
+ call .RoamMon1
+ call .RoamMon2
ret
.kanto
decoord 0, 0
ld hl, KantoGrassWildMons
- call Function2a052
+ call .FindGrass
ld hl, KantoWaterWildMons
- jp Function2a06e
+ jp .FindWater
; 2a052
-Function2a052: ; 2a052
-.loop
+.FindGrass: ; 2a052
ld a, [hl]
- cp $ff
+ cp -1
ret z
push hl
ld a, [hli]
@@ -62,23 +65,22 @@
rept 3
inc hl
endr
- ld a, $15
- call Function2a088
- jr nc, .next
+ ld a, NUM_WILDMONS_PER_AREA_TIME_OF_DAY * 3
+ call .SearchMapForMon
+ jr nc, .next_grass
ld [de], a
inc de
-.next
+.next_grass
pop hl
- ld bc, $2f
+ ld bc, WILDMON_GRASS_STRUCTURE_LENGTH
add hl, bc
- jr .loop
+ jr .FindGrass
; 2a06e
-Function2a06e: ; 2a06e
-.loop
+.FindWater: ; 2a06e
ld a, [hl]
- cp $ff
+ cp -1
ret z
push hl
ld a, [hli]
@@ -86,24 +88,24 @@
ld a, [hli]
ld c, a
inc hl
- ld a, $3
- call Function2a088
- jr nc, .next
+ ld a, 3
+ call .SearchMapForMon
+ jr nc, .next_water
ld [de], a
inc de
-.next
+.next_water
pop hl
- ld bc, 9
+ ld bc, 3 * 3
add hl, bc
- jr .loop
+ jr .FindWater
; 2a088
-Function2a088: ; 2a088
+.SearchMapForMon: ; 2a088
inc hl
-.loop
+.ScanMapLoop
push af
- ld a, [wd265]
+ ld a, [wNamedObjectIndexBuffer]
cp [hl]
jr z, .found
rept 2
@@ -111,44 +113,44 @@
endr
pop af
dec a
- jr nz, .loop
+ jr nz, .ScanMapLoop
and a
ret
.found
pop af
- jp Function2a09c
+ jp .AppendNest
; 2a09c
-Function2a09c: ; 2a09c
+.AppendNest: ; 2a09c
push de
call GetWorldMapLocation
ld c, a
hlcoord 0, 0
ld de, SCREEN_WIDTH * SCREEN_HEIGHT
-.loop
+.AppendNestLoop
ld a, [hli]
cp c
- jr z, .found
+ jr z, .found_nest
dec de
ld a, e
or d
- jr nz, .loop
+ jr nz, .AppendNestLoop
ld a, c
pop de
scf
ret
-.found
+.found_nest
pop de
and a
ret
; 2a0b7
-Function2a0b7: ; 2a0b7
+.RoamMon1: ; 2a0b7
ld a, [wRoamMon1Species]
ld b, a
- ld a, [wd265]
+ ld a, [wNamedObjectIndexBuffer]
cp b
ret nz
ld a, [wRoamMon1MapGroup]
@@ -155,7 +157,7 @@
ld b, a
ld a, [wRoamMon1MapNumber]
ld c, a
- call Function2a09c
+ call .AppendNest
ret nc
ld [de], a
inc de
@@ -162,10 +164,10 @@
ret
; 2a0cf
-Function2a0cf: ; 2a0cf
+.RoamMon2: ; 2a0cf
ld a, [wRoamMon2Species]
ld b, a
- ld a, [wd265]
+ ld a, [wNamedObjectIndexBuffer]
cp b
ret nz
ld a, [wRoamMon2MapGroup]
@@ -172,7 +174,7 @@
ld b, a
ld a, [wRoamMon2MapNumber]
ld c, a
- call Function2a09c
+ call .AppendNest
ret nc
ld [de], a
inc de
@@ -209,7 +211,7 @@
; 2a111
GetMapEncounterRate: ; 2a111
- ld hl, wd25a
+ ld hl, wMornEncounterRate
call CheckOnWater
ld a, 3
jr z, .ok
@@ -446,10 +448,10 @@
bit 2, [hl]
pop hl
jr z, .CheckYanma
- ld a, [wdfcc]
+ ld a, [wDunsparceMapGroup]
cp d
jr nz, .CheckYanma
- ld a, [wdfcd]
+ ld a, [wDunsparceMapNumber]
cp e
jr nz, .CheckYanma
call LookUpWildmonsForMapDE
@@ -463,10 +465,10 @@
bit 3, [hl]
pop hl
jr z, _NoSwarmWildmon
- ld a, [wdc5a]
+ ld a, [wYanmaMapGroup]
cp d
jr nz, _NoSwarmWildmon
- ld a, [wdc5b]
+ ld a, [wYanmaMapNumber]
cp e
jr nz, _NoSwarmWildmon
call LookUpWildmonsForMapDE
@@ -702,11 +704,11 @@
rept 2
add hl, bc
endr
- ld a, [wdfe7]
+ ld a, [wRoamMons_LastMapGroup]
cp [hl]
jr nz, .done
inc hl
- ld a, [wdfe6]
+ ld a, [wRoamMons_LastMapNumber]
cp [hl]
jr z, .update_loop
dec hl
@@ -787,14 +789,14 @@
; 2a3f6
_BackUpMapIndices: ; 2a3f6
- ld a, [wdfe4]
- ld [wdfe6], a
- ld a, [wdfe5]
- ld [wdfe7], a
+ ld a, [wRoamMons_CurrentMapNumber]
+ ld [wRoamMons_LastMapNumber], a
+ ld a, [wRoamMons_CurrentMapGroup]
+ ld [wRoamMons_LastMapGroup], a
ld a, [MapNumber]
- ld [wdfe4], a
+ ld [wRoamMons_CurrentMapNumber], a
ld a, [MapGroup]
- ld [wdfe5], a
+ ld [wRoamMons_CurrentMapGroup], a
ret
; 2a40f
@@ -892,7 +894,7 @@
ld de, StringBuffer1
call CopyName1
ld a, c
- ld [wd265], a
+ ld [wNamedObjectIndexBuffer], a
call GetPokemonName
ld hl, UnknownText_0x2a51a
call PrintText
@@ -945,7 +947,7 @@
endr
inc hl
ld a, [hl]
- ld [wd265], a
+ ld [wNamedObjectIndexBuffer], a
call GetPokemonName
ld hl, StringBuffer1
ld de, StringBuffer4
@@ -1029,7 +1031,7 @@
inc hl ; species
ld a, BANK(Trainers)
call GetFarByte
- ld [wd265], a
+ ld [wNamedObjectIndexBuffer], a
call GetPokemonName
ld hl, StringBuffer1
ld de, StringBuffer4
--- a/event/basement_key.asm
+++ b/event/basement_key.asm
@@ -18,17 +18,17 @@
; Let's use the Basement Key
ld hl, .BasementKeyScript
call QueueScript
- ld a, 1
- ld [wd0ec], a
+ ld a, TRUE
+ ld [wItemEffectSucceeded], a
ret
.nope
- ld a, $0
- ld [wd0ec], a
+ ld a, FALSE
+ ld [wItemEffectSucceeded], a
ret
; 507e1
.BasementKeyScript: ; 0x507e1
- loadmovesprites
+ closetext
farjump BasementDoorScript
; 0x507e6
--- a/event/battle_tower.asm
+++ b/event/battle_tower.asm
@@ -1,29 +1,29 @@
-Function8b1e1: ; 8b1e1
- ld de, Unknown_8b1ed
- call Function8b25b
+CheckForMobileBattleRules: ; 8b1e1
+ ld de, .PointerTables
+ call BattleTower_ExecuteJumptable
ret z
- call Function8b231
+ call BattleTower_PleaseReturnWhenReady
scf
ret
; 8b1ed
-Unknown_8b1ed: ; 8b1ed
+.PointerTables: ; 8b1ed
db 2
- dw Unknown_8b1f2
- dw Unknown_8b1f6
+ dw .Functions
+ dw .TextPointers
-Unknown_8b1f2: ; 8b1f2
- dw Function8b2bb
- dw Function8b2c1
+.Functions: ; 8b1f2
+ dw BattleTower_CheckPartyLengthIs3
+ dw BattleTower_CheckPartyHasThreeMonsThatAreNotEggs
; 8b1f6
-Unknown_8b1f6: ; 8b1f6
- dw UnknownText_0x8b1fc
- dw UnknownText_0x8b23d
- dw UnknownText_0x8b242
+.TextPointers: ; 8b1f6
+ dw .ExcuseMeText
+ dw JumpText_NeedAtLeastThreeMon
+ dw JumpText_EggDoesNotQualify
; 8b1fc
-UnknownText_0x8b1fc: ; 0x8b1fc
+.ExcuseMeText: ; 0x8b1fc
; Excuse me!
text_jump UnknownText_0x1c5937
db "@"
@@ -34,20 +34,20 @@
ld [hl], "3"
inc hl
ld [hl], "@"
- ld de, CheckForBattleTowerRules_FunctionsText
- call Function8b25b
+ ld de, .PointerTables
+ call BattleTower_ExecuteJumptable
ret z
- call Function8b231
+ call BattleTower_PleaseReturnWhenReady
scf
ret
; 8b215
-CheckForBattleTowerRules_FunctionsText: ; 8b215
+.PointerTables: ; 8b215
db 4
- dw CheckForBattleTowerRules_Functions
- dw CheckForBattleTowerRules_Text
+ dw .Functions
+ dw .TextPointers
-CheckForBattleTowerRules_Functions: ; 8b21a
+.Functions: ; 8b21a
dw Function_PartyCountEq3
dw Function_PartySpeciesAreUnique
dw Function_PartyItemsAreUnique
@@ -54,7 +54,7 @@
dw Function_HasPartyAnEgg
; 8b222
-CheckForBattleTowerRules_Text: ; 8b222
+.TextPointers: ; 8b222
dw JumpText_ExcuseMeYoureNotReady
dw JumpText_OnlyThreePkmnMayBeEntered
dw JumpText_ThePkmnMustAllBeDifferentKinds
@@ -68,25 +68,25 @@
db "@"
; 0x8b231
-Function8b231: ; 8b231
- ld hl, UnknownText_0x8b238
+BattleTower_PleaseReturnWhenReady: ; 8b231
+ ld hl, .PleaseReturnWhenReady
call PrintText
ret
; 8b238
-UnknownText_0x8b238: ; 0x8b238
+.PleaseReturnWhenReady: ; 0x8b238
; Please return when you're ready.
text_jump UnknownText_0x1c5962
db "@"
; 0x8b23d
-UnknownText_0x8b23d: ; 0x8b23d
+JumpText_NeedAtLeastThreeMon: ; 0x8b23d
; You need at least three #MON.
text_jump UnknownText_0x1c5983
db "@"
; 0x8b242
-UnknownText_0x8b242: ; 0x8b242
+JumpText_EggDoesNotQualify: ; 0x8b242
; Sorry, an EGG doesn't qualify.
text_jump UnknownText_0x1c59a3
db "@"
@@ -116,22 +116,22 @@
db "@"
; 0x8b25b
-Function8b25b: ; 8b25b
+BattleTower_ExecuteJumptable: ; 8b25b
ld bc, 0
-.asm_8b25e
- call Function8b26c
- call c, Function8b28e
- call Function8b276
- jr nz, .asm_8b25e
+.loop
+ call .DoJumptableFunction
+ call c, .PrintFailureText
+ call .Next_CheckReachedEnd
+ jr nz, .loop
ld a, b
and a
ret
; 8b26c
-Function8b26c: ; 8b26c
+.DoJumptableFunction: ; 8b26c
push de
push bc
- call Function8b27a
+ call .GetFunctionPointer
ld a, c
rst JumpTable
pop bc
@@ -139,7 +139,7 @@
ret
; 8b276
-Function8b276: ; 8b276
+.Next_CheckReachedEnd: ; 8b276
inc c
ld a, [de]
cp c
@@ -146,7 +146,7 @@
ret
; 8b27a
-Function8b27a: ; 8b27a
+.GetFunctionPointer: ; 8b27a
inc de
ld a, [de]
ld l, a
@@ -156,7 +156,7 @@
ret
; 8b281
-Function8b281: ; 8b281
+.GetTextPointers: ; 8b281
rept 3
inc de
endr
@@ -168,7 +168,7 @@
ret
; 8b28a
-Function8b28a: ; 8b28a
+.LoadTextPointer: ; 8b28a
ld a, [hli]
ld h, [hl]
ld l, a
@@ -175,31 +175,31 @@
ret
; 8b28e
-Function8b28e: ; 8b28e
+.PrintFailureText: ; 8b28e
push de
push bc
ld a, b
and a
- call z, Function8b29d
+ call z, .PrintFirstText
pop bc
- call Function8b2a9
+ call .PrintNthText
ld b, $1
pop de
ret
; 8b29d
-Function8b29d: ; 8b29d
+.PrintFirstText: ; 8b29d
push de
- call Function8b281
- call Function8b28a
+ call .GetTextPointers
+ call .LoadTextPointer
call PrintText
pop de
ret
; 8b2a9
-Function8b2a9: ; 8b2a9
+.PrintNthText: ; 8b2a9
push bc
- call Function8b281
+ call .GetTextPointers
rept 2
inc hl
endr
@@ -207,32 +207,32 @@
rept 2
add hl, bc
endr
- call Function8b28a
+ call .LoadTextPointer
call PrintText
pop bc
ret
; 8b2bb
-Function8b2bb: ; 8b2bb
+BattleTower_CheckPartyLengthIs3: ; 8b2bb
ld a, [PartyCount]
cp 3
ret
; 8b2c1
-Function8b2c1: ; 8b2c1
+BattleTower_CheckPartyHasThreeMonsThatAreNotEggs: ; 8b2c1
ld hl, PartyCount
ld a, [hli]
ld b, $0
ld c, a
-.asm_8b2c8
+.loop
ld a, [hli]
cp EGG
- jr z, .asm_8b2ce
+ jr z, .egg
inc b
-.asm_8b2ce
+.egg
dec c
- jr nz, .asm_8b2c8
+ jr nz, .loop
ld a, [PartyCount]
cp b
ret z
--- a/event/buena.asm
+++ b/event/buena.asm
@@ -1,6 +1,6 @@
SpecialBuenasPassword: ; 8af6b
xor a
- ld [wcf76], a
+ ld [wWhichIndexSet], a
ld hl, .MenuDataHeader
call CopyMenuDataHeader
ld a, [wBuenasPassword]
@@ -10,7 +10,7 @@
add c
add $2
ld [wMenuBorderRightCoord], a
- call BackUpTiles
+ call PushWindow
call DoNthMenu ; menu
callba Buena_ExitMenu
ld b, $0
@@ -69,8 +69,8 @@
ld [wMenuScrollPosition], a
ld a, $1
ld [MenuSelection], a
- call Function8b0d6
- call Function8b090
+ call Buena_PlacePrizeMenuBox
+ call Buena_DisplayBlueCardBalance
ld hl, .Text_AskWhichPrize
call PrintText
jr .okay
@@ -82,13 +82,13 @@
.okay
call DelayFrame
call UpdateSprites
- call Function8b097
- call Function8b0e2
+ call PrintBlueCardBalance
+ call Buena_PrizeMenu
jr z, .done
- ld [wcf75], a
+ ld [MenuSelectionQuantity], a
call Buena_getprize
ld a, [hl]
- ld [wd265], a
+ ld [wNamedObjectIndexBuffer], a
call GetItemName
ld hl, .Text_IsThatRight
call BuenaPrintText
@@ -95,7 +95,7 @@
call YesNoBox
jr c, .loop
- ld a, [wcf75]
+ ld a, [MenuSelectionQuantity]
call Buena_getprize
inc hl
ld a, [hld]
@@ -118,7 +118,7 @@
ld a, [wBlueCardBalance]
sub c
ld [wBlueCardBalance], a
- call Function8b097
+ call PrintBlueCardBalance
jr .Purchase
.InsufficientBalance
@@ -139,8 +139,8 @@
jr .loop
.done
- call WriteBackup
- call WriteBackup
+ call CloseWindow
+ call CloseWindow
ld hl, .Text_PleaseComeBackAgain
call PrintText
call JoyWaitAorB
@@ -183,28 +183,28 @@
db "@"
; 0x8b090
-Function8b090: ; 8b090
- ld hl, MenuDataHeader_0x8b0d1
+Buena_DisplayBlueCardBalance: ; 8b090
+ ld hl, BlueCardBalanceMenuDataHeader
call LoadMenuDataHeader
ret
; 8b097
-Function8b097: ; 8b097
+PrintBlueCardBalance: ; 8b097
ld de, wBlueCardBalance
- call Function8b09e
+ call .DrawBox
ret
; 8b09e
-Function8b09e: ; 8b09e
+.DrawBox: ; 8b09e
push de
xor a
ld [hBGMapMode], a
- ld hl, MenuDataHeader_0x8b0d1
+ ld hl, BlueCardBalanceMenuDataHeader
call CopyMenuDataHeader
call MenuBox
call UpdateSprites
call MenuBoxCoord2Tile
- ld bc, $0015
+ ld bc, SCREEN_WIDTH + 1
add hl, bc
ld de, .Points_string
call PlaceString
@@ -211,7 +211,7 @@
ld h, b
ld l, c
inc hl
- ld a, $7f
+ ld a, " "
ld [hli], a
ld [hld], a
pop de
@@ -224,13 +224,13 @@
db "Points@"
; 8b0d1
-MenuDataHeader_0x8b0d1: ; 0x8b0d1
+BlueCardBalanceMenuDataHeader: ; 0x8b0d1
db $40 ; flags
db 11, 00 ; start coords
db 13, 11 ; end coords
; 8b0d6
-Function8b0d6: ; 8b0d6
+Buena_PlacePrizeMenuBox: ; 8b0d6
ld hl, .menudataheader
call LoadMenuDataHeader
ret
@@ -242,29 +242,29 @@
db 11, 17 ; end coords
; 8b0e2
-Function8b0e2: ; 8b0e2
+Buena_PrizeMenu: ; 8b0e2
ld hl, .MenuDataHeader
call CopyMenuDataHeader
ld a, [MenuSelection]
ld [wMenuCursorBuffer], a
xor a
- ld [wcf76], a
+ ld [wWhichIndexSet], a
ld [hBGMapMode], a
call InitScrollingMenu
call UpdateSprites
- call HandleScrollingMenu
+ call ScrollingMenu
ld a, [MenuSelection]
ld c, a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [MenuSelection], a
- ld a, [wcf73]
+ ld a, [wMenuJoypad]
cp $2
- jr z, .asm_8b111
+ jr z, .cancel
ld a, c
and a
ret nz
-.asm_8b111
+.cancel
xor a
ret
; 8b113
@@ -281,8 +281,8 @@
.MenuData2: ; 0x8b11c
db $10 ; flags
- db 4 ; items
- db $d, $1
+ db 4, 13 ; rows, columns
+ db 1 ; spacing
dba .indices
dba .prizeitem
dba .prizepoints
--- a/event/bug_contest_2.asm
+++ b/event/bug_contest_2.asm
@@ -27,9 +27,9 @@
.next
; Choose a flag at uniform random to be set.
call Random
- cp $fa ; 250
+ cp 250
jr nc, .next
- ld c, $19 ; 25
+ ld c, 25
call SimpleDivide
ld e, b
ld d, 0
@@ -124,7 +124,7 @@
ld b, $1
.loop
ld a, [hli]
- cp $ff
+ cp -1
jr z, .done
inc b
jr .loop
--- a/event/bug_contest_judging.asm
+++ b/event/bug_contest_judging.asm
@@ -1,7 +1,7 @@
_BugContestJudging: ; 1369d
call ContestScore
callba MobileFn_105f79
- call Function13819
+ call BugContest_JudgeContestants
ld a, [wBugContestThirdPlacePersonID]
call LoadContestantName
ld a, [wBugContestThirdPlaceMon]
@@ -23,13 +23,12 @@
call GetPokemonName
ld hl, BugContest_FirstPlaceText
call PrintText
- jp Function13807
+ jp BugContest_GetPlayersResult
; 136eb
BugContest_FirstPlaceText: ; 0x136eb
text_jump ContestJudging_FirstPlaceText
start_asm
-BugContest_FirstPlace: ; 136f0
ld de, SFX_1ST_PLACE
call PlaySFX
call WaitSFX
@@ -47,7 +46,6 @@
; Placing second was @ , who caught a @ !@ @
text_jump ContestJudging_SecondPlaceText
start_asm
-BugContest_SecondPlace: ; 13707
ld de, SFX_2ND_PLACE
call PlaySFX
call WaitSFX
@@ -65,9 +63,6 @@
; Placing third was @ , who caught a @ !@ @
text_jump ContestJudging_ThirdPlaceText
start_asm
-; 0x1371e
-
-BugContest_ThirdPlace: ; 1371e
ld de, SFX_3RD_PLACE
call PlaySFX
call WaitSFX
@@ -215,13 +210,13 @@
dbw KAKUNA, 259
; 13807
-Function13807: ; 13807
+BugContest_GetPlayersResult: ; 13807
ld hl, wBugContestThirdPlacePersonID
ld de, -4
ld b, 3
.loop
ld a, [hl]
- cp 1
+ cp 1 ; Player
jr z, .done
add hl, de
dec b
@@ -231,17 +226,17 @@
ret
; 13819
-Function13819: ; 13819
+BugContest_JudgeContestants: ; 13819
call ClearContestResults
call ComputeAIContestantScores
ld hl, wBugContestTempPersonID
- ld a, 1
+ ld a, 1 ; Player
ld [hli], a
ld a, [wContestMon]
ld [hli], a
ld a, [hProduct]
ld [hli], a
- ld a, [hMultiplicand]
+ ld a, [hProduct + 1]
ld [hl], a
call DetermineContestWinners
ret
@@ -248,8 +243,8 @@
; 13833
ClearContestResults: ; 13833
- ld hl, wBugContestFirstPlacePersonID
- ld b, 12
+ ld hl, wBugContestResults
+ ld b, wBugContestWinnersEnd - wBugContestResults
xor a
.loop
ld [hli], a
--- a/event/card_key.asm
+++ b/event/card_key.asm
@@ -9,7 +9,7 @@
jr nz, .nope
; Are we facing the slot?
ld a, [PlayerDirection]
- and $c
+ and %1100
cp OW_UP
jr nz, .nope
@@ -23,17 +23,17 @@
; Let's use the Card Key.
ld hl, .CardKeyScript
call QueueScript
- ld a, $1
- ld [wd0ec], a
+ ld a, TRUE
+ ld [wItemEffectSucceeded], a
ret
.nope
- ld a, $0
- ld [wd0ec], a
+ ld a, FALSE
+ ld [wItemEffectSucceeded], a
ret
; 507af
.CardKeyScript: ; 0x507af
- loadmovesprites
+ closetext
farjump MapRadioTower3FSignpost2Script
; 0x507b4
--- a/event/celebi.asm
+++ b/event/celebi.asm
@@ -8,17 +8,17 @@
depixel 0, 10, 7, 0
ld a, SPRITE_ANIM_INDEX_2C
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $84
- ld hl, $2
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
- ld [hl], $1f
- ld hl, $f
+ ld [hl], SPRITE_ANIM_SEQ_1F
+ ld hl, SPRITEANIMSTRUCT_0F
add hl, bc
ld a, $80
ld [hl], a
- ld a, $a0
+ ld a, 160 ; frame count
ld [wcf64], a
ld d, $0
.loop
@@ -26,13 +26,13 @@
bit 7, a
jr nz, .done
push bc
- call Function49bae
+ call GetCelebiSpriteTile
inc d
push de
ld a, $90
- ld [wc3b5], a
- callba Function8cf7a
- call Function49935
+ ld [wCurrSpriteOAMAddr], a
+ callba DoNextFrameForAllSprites
+ call CelebiEvent_CountDown
ld c, 2
call DelayFrames
pop de
@@ -39,19 +39,21 @@
pop bc
jr .loop
+
.done
pop af
ld [VramState], a
- call Function498f9
- call Function49bf3
+ call .RefreshPlayerSprite_ClearAllOthers
+ call CelebiEvent_SetBattleType
ret
+
; 498f9
-Function498f9: ; 498f9
+.RefreshPlayerSprite_ClearAllOthers: ; 498f9
ld hl, Sprites + 2
xor a
ld c, $4
-.loop
+.OAMloop
ld [hli], a
rept 3
inc hl
@@ -58,44 +60,49 @@
endr
inc a
dec c
- jr nz, .loop
+ jr nz, .OAMloop
ld hl, Sprites + $10
ld bc, $90
xor a
call ByteFill
ret
+
; 49912
LoadCelebiGFX: ; 49912
- callba Function8cf53
+ callba ClearSpriteAnims
ld de, SpecialCelebiLeafGFX
ld hl, VTiles1
lb bc, BANK(SpecialCelebiLeafGFX), 4
call Request2bpp
ld de, SpecialCelebiGFX
- ld hl, VTiles1 tile $04
+ ld hl, VTiles0 tile $84
lb bc, BANK(SpecialCelebiGFX), $10
call Request2bpp
xor a
ld [wJumptableIndex], a
ret
+
; 49935
-Function49935: ; 49935
+CelebiEvent_CountDown: ; 49935
ld hl, wcf64
ld a, [hl]
and a
- jr z, .asm_4993e
+ jr z, .done
dec [hl]
ret
-.asm_4993e
+
+.done
ld hl, wJumptableIndex
set 7, [hl]
ret
+
; 49944
-Function49944: ; 49944
+CelebiEvent_SpawnLeaf: ; 49944
+; unused
ld hl, wcf65
ld a, [hl]
inc [hl]
@@ -107,12 +114,13 @@
add $40
ld d, a
ld e, $0
- ld a, SPRITE_ANIM_INDEX_18 ; fly land
+ ld a, SPRITE_ANIM_INDEX_FLY_LEAF ; fly land
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $80
ret
+
; 49962
SpecialCelebiLeafGFX: ; 49962
@@ -124,126 +132,133 @@
INCBIN "gfx/special/celebi/4.2bpp"
-Function49aa2: ; 49aa2 (12:5aa2)
- ld hl, $6
+UpdateCelebiPosition: ; 49aa2 (12:5aa2)
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld a, [hl]
push af
- ld hl, $5
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
- cp $52
- jp nc, Function49b30
- ld hl, $5
+ cp 8 * 10 + 2
+ jp nc, .FreezeCelebiPosition
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
inc [hl]
- ld hl, $f
+ ld hl, SPRITEANIMSTRUCT_0F
add hl, bc
ld a, [hl]
ld d, a
cp $3a
- jr c, .asm_49ac6
- jr z, .asm_49ac6
+ jr c, .skip
+ jr z, .skip
sub $3
ld [hl], a
-.asm_49ac6
- ld hl, $e
+.skip
+ ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
ld a, [hl]
inc [hl]
- call Function49b3b
- ld hl, $6
+ call CelebiEvent_Cosine
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld [hl], a
ld d, a
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
add [hl]
- cp $5c
- jr nc, .asm_49ae2
- cp $44
- jr nc, .asm_49b0d
-.asm_49ae2
+ cp 8 * 11 + 4
+ jr nc, .ShiftY
+ cp 8 * 8 + 4
+ jr nc, .ReinitSpriteAnimFrame
+.ShiftY
pop af
push af
cp d
- jr nc, .asm_49af2
- ld hl, $4
+ jr nc, .moving_left
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
add [hl]
- cp $50
- jr c, .asm_49b05
- jr .asm_49afb
-.asm_49af2
- ld hl, $4
+ cp 8 * 10
+ jr c, .float_up
+ jr .float_down
+
+.moving_left
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
add [hl]
- cp $50
- jr nc, .asm_49b05
-.asm_49afb
- ld hl, $5
+ cp 8 * 10
+ jr nc, .float_up
+.float_down
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
sub $2
ld [hl], a
- jr .asm_49b0d
-.asm_49b05
- ld hl, $5
+ jr .ReinitSpriteAnimFrame
+
+.float_up
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
add $1
ld [hl], a
-.asm_49b0d
+.ReinitSpriteAnimFrame
pop af
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
add [hl]
- cp $50
- jr c, .asm_49b26
- cp $e6
- jr nc, .asm_49b26
- ld hl, $1
+ cp 8 * 10
+ jr c, .left
+ cp -(8 * 3 + 2)
+ jr nc, .left
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld a, $41
- call Function3b3c
- jr .asm_49b2f
-.asm_49b26
- ld hl, $1
+ call ReinitSpriteAnimFrame
+ jr .done
+
+.left
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld a, $40
- call Function3b3c
-.asm_49b2f
+ call ReinitSpriteAnimFrame
+.done
ret
-Function49b30: ; 49b30 (12:5b30)
+
+.FreezeCelebiPosition: ; 49b30 (12:5b30)
pop af
- ld hl, $1
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld a, $40
- call Function3b3c
+ call ReinitSpriteAnimFrame
ret
-Function49b3b: ; 49b3b (12:5b3b)
+
+CelebiEvent_Cosine: ; 49b3b (12:5b3b)
add $10
and $3f
cp $20
- jr nc, .asm_49b48
- call Function49b52
+ jr nc, .negative
+ call .SineFunction
ld a, h
ret
-.asm_49b48
+
+.negative
and $1f
- call Function49b52
+ call .SineFunction
ld a, h
xor $ff
inc a
ret
-Function49b52: ; 49b52 (12:5b52)
+
+.SineFunction: ; 49b52 (12:5b52)
ld e, a
ld a, d
ld d, $0
- ld hl, Unknown_49b6e
+ ld hl, .sinewave
rept 2
add hl, de
endr
@@ -251,23 +266,24 @@
inc hl
ld d, [hl]
ld hl, 0
-.asm_49b61
+.multiply
srl a
- jr nc, .asm_49b66
+ jr nc, .even
add hl, de
-.asm_49b66
+.even
sla e
rl d
and a
- jr nz, .asm_49b61
+ jr nz, .multiply
ret
+
; 49b6e (12:5b6e)
-Unknown_49b6e: ; 49b6e
+.sinewave: ; 49b6e
sine_wave $100
; 49bae
-Function49bae: ; 49bae
+GetCelebiSpriteTile: ; 49bae
push hl
push bc
push de
@@ -275,54 +291,60 @@
ld d, $3
ld e, d
cp $0
- jr z, .asm_49bd0
+ jr z, .Frame1
cp d
- jr z, .asm_49bd4
- call Function49bed
+ jr z, .Frame2
+ call .AddE
cp d
- jr z, .asm_49bd8
- call Function49bed
+ jr z, .Frame3
+ call .AddE
cp d
- jr z, .asm_49bdc
- call Function49bed
+ jr z, .Frame4
+ call .AddE
cp d
- jr c, .asm_49be9
- jr .asm_49be5
+ jr c, .done
+ jr .restart
-.asm_49bd0
+
+.Frame1
ld a, $84
- jr .asm_49bde
+ jr .load_tile
-.asm_49bd4
+
+.Frame2
ld a, $88
- jr .asm_49bde
+ jr .load_tile
-.asm_49bd8
+
+.Frame3
ld a, $8c
- jr .asm_49bde
+ jr .load_tile
-.asm_49bdc
+
+.Frame4
ld a, $90
-.asm_49bde
- ld hl, $3
+.load_tile
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], a
- jr .asm_49be9
+ jr .done
-.asm_49be5
+
+.restart
pop de
ld d, $ff
push de
-.asm_49be9
+.done
pop de
pop bc
pop hl
ret
+
; 49bed
-Function49bed: ; 49bed
+.AddE: ; 49bed
push af
ld a, d
add e
@@ -329,12 +351,14 @@
ld d, a
pop af
ret
+
; 49bf3
-Function49bf3: ; 49bf3
+CelebiEvent_SetBattleType: ; 49bf3
ld a, BATTLETYPE_CELEBI
ld [BattleType], a
ret
+
; 49bf9
CheckCaughtCelebi: ; 49bf9
@@ -345,6 +369,7 @@
ld [ScriptVar], a
jr .done
+
.false
xor a
ld [ScriptVar], a
@@ -351,4 +376,5 @@
.done
ret
+
; 49c0c
--- a/event/daycare.asm
+++ b/event/daycare.asm
@@ -1,39 +1,61 @@
+ const_def
+ const DAYCARETEXT_MAN_INTRO
+ const DAYCARETEXT_MAN_EGG
+ const DAYCARETEXT_LADY_INTRO
+ const DAYCARETEXT_LADY_EGG
+ const DAYCARETEXT_WHICH_ONE
+ const DAYCARETEXT_DEPOSIT
+ const DAYCARETEXT_CANT_BREED_EGG
+ const DAYCARETEXT_LAST_MON
+ const DAYCARETEXT_LAST_ALIVE_MON
+ const DAYCARETEXT_COME_BACK_LATER
+ const DAYCARETEXT_REMOVE_MAIL
+ const DAYCARETEXT_GENIUSES
+ const DAYCARETEXT_ASK_WITHDRAW
+ const DAYCARETEXT_WITHDRAW
+ const DAYCARETEXT_TOO_SOON
+ const DAYCARETEXT_PARTY_FULL
+ const DAYCARETEXT_NOT_ENOUGH_MONEY
+ const DAYCARETEXT_OH_FINE
+ const DAYCARETEXT_COME_AGAIN
+ const DAYCARETEXT_13
+
Special_DayCareMan: ; 166d6
ld hl, wDaycareMan
bit 0, [hl]
- jr nz, .asm_166fe
+ jr nz, .AskWithdrawMon
ld hl, wDaycareMan
- ld a, $0
- call Function1678f
- jr c, .asm_16724
- call Function16798
- jr c, .asm_16721
- callba Functionde2a
+ ld a, DAYCARETEXT_MAN_INTRO
+ call DayCareManIntroText
+ jr c, .cancel
+ call DayCareAskDepositPokemon
+ jr c, .print_text
+ callba DepositMonWithDaycareMan
ld hl, wDaycareMan
set 0, [hl]
- call Function167f6
- call Function16a3b
+ call DayCare_DepositPokemonText
+ call DayCare_InitBreeding
ret
-.asm_166fe
- callba Functione698
+.AskWithdrawMon
+ callba GetBreedMon1LevelGrowth
ld hl, wBreedMon1Nick
- call Function1686d
- call Function16807
- jr c, .asm_16721
- callba Functiondd21
- call Function16850
+ call GetPriceToRetrieveBreedmon
+ call DayCare_AskWithdrawBreedMon
+ jr c, .print_text
+ callba RetrievePokemonFromDaycareMan
+ call DayCare_TakeMoney_PlayCry
ld hl, wDaycareMan
res 0, [hl]
res 5, [hl]
- jr .asm_16724
+ jr .cancel
-.asm_16721
- call Function1689b
+.print_text
+ call PrintDayCareText
-.asm_16724
- ld a, $13
- call Function1689b
+.cancel
+ ld a, DAYCARETEXT_13
+ call PrintDayCareText
ret
; 1672a
@@ -40,76 +62,75 @@
Special_DayCareLady: ; 1672a
ld hl, wDaycareLady
bit 0, [hl]
- jr nz, .asm_16752
+ jr nz, .AskWithdrawMon
ld hl, wDaycareLady
- ld a, $2
- call Function16781
- jr c, .asm_1677b
- call Function16798
- jr c, .asm_16778
- callba Functionde37
+ ld a, DAYCARETEXT_LADY_INTRO
+ call DayCareLadyIntroText
+ jr c, .cancel
+ call DayCareAskDepositPokemon
+ jr c, .print_text
+ callba DepositMonWithDaycareLady
ld hl, wDaycareLady
set 0, [hl]
- call Function167f6
- call Function16a3b
+ call DayCare_DepositPokemonText
+ call DayCare_InitBreeding
ret
-.asm_16752
- callba Functione6b3
+.AskWithdrawMon
+ callba GetBreedMon2LevelGrowth
ld hl, wBreedMon2Nick
- call Function1686d
- call Function16807
- jr c, .asm_16778
- callba Functiondd42
- call Function16850
+ call GetPriceToRetrieveBreedmon
+ call DayCare_AskWithdrawBreedMon
+ jr c, .print_text
+ callba RetrievePokemonFromDaycareLady
+ call DayCare_TakeMoney_PlayCry
ld hl, wDaycareLady
res 0, [hl]
ld hl, wDaycareMan
res 5, [hl]
- jr .asm_1677b
+ jr .cancel
-.asm_16778
- call Function1689b
+.print_text
+ call PrintDayCareText
-.asm_1677b
- ld a, $13
- call Function1689b
+.cancel
+ ld a, DAYCARETEXT_13
+ call PrintDayCareText
ret
; 16781
-Function16781: ; 16781
+DayCareLadyIntroText: ; 16781
bit 7, [hl]
- jr nz, .asm_16788
+ jr nz, .okay
set 7, [hl]
inc a
-
-.asm_16788
- call Function1689b
+.okay
+ call PrintDayCareText
call YesNoBox
ret
; 1678f
-Function1678f: ; 1678f
+DayCareManIntroText: ; 1678f
set 7, [hl]
- call Function1689b
+ call PrintDayCareText
call YesNoBox
ret
; 16798
-Function16798: ; 16798
+DayCareAskDepositPokemon: ; 16798
ld a, [PartyCount]
cp 2
- jr c, .asm_167e5
- ld a, 4
- call Function1689b
+ jr c, .OnlyOneMon
+ ld a, DAYCARETEXT_WHICH_ONE
+ call PrintDayCareText
ld b, 6
- callba Function5001d
- jr c, .asm_167dd
+ callba SelectTradeOrDaycareMon
+ jr c, .Declined
ld a, [CurPartySpecies]
cp EGG
- jr z, .asm_167e1
+ jr z, .Egg
callba CheckCurPartyMonFainted
- jr c, .asm_167e9
+ jr c, .OutOfUsableMons
ld hl, PartyMon1Item
ld bc, PARTYMON_STRUCT_LENGTH
ld a, [CurPartyMon]
@@ -116,7 +137,7 @@
call AddNTimes
ld d, [hl]
callba ItemIsMail
- jr c, .asm_167ed
+ jr c, .HoldingMail
ld hl, PartyMonNicknames
ld a, [CurPartyMon]
call GetNick
@@ -123,109 +144,109 @@
and a
ret
-.asm_167dd
- ld a, $12
+.Declined
+ ld a, DAYCARETEXT_COME_AGAIN
scf
ret
-.asm_167e1
- ld a, $6
+.Egg
+ ld a, DAYCARETEXT_CANT_BREED_EGG
scf
ret
-.asm_167e5
- ld a, $7
+.OnlyOneMon
+ ld a, DAYCARETEXT_LAST_MON
scf
ret
-.asm_167e9
- ld a, $8
+.OutOfUsableMons
+ ld a, DAYCARETEXT_LAST_ALIVE_MON
scf
ret
-.asm_167ed
- ld a, $a
+.HoldingMail
+ ld a, DAYCARETEXT_REMOVE_MAIL
scf
ret
; 167f1
-UnknownText_0x167f1: ; 0x167f1
+.DummyText: ; 0x167f1
;
text_jump UnknownText_0x1bdaa7
db "@"
; 0x167f6
-Function167f6: ; 167f6
- ld a, $5
- call Function1689b
+DayCare_DepositPokemonText: ; 167f6
+ ld a, DAYCARETEXT_DEPOSIT
+ call PrintDayCareText
ld a, [CurPartySpecies]
call PlayCry
- ld a, $9
- call Function1689b
+ ld a, DAYCARETEXT_COME_BACK_LATER
+ call PrintDayCareText
ret
; 16807
-Function16807: ; 16807
+DayCare_AskWithdrawBreedMon: ; 16807
ld a, [StringBuffer2 + 1]
and a
- jr nz, .asm_16819
- ld a, $f
- call Function1689b
+ jr nz, .grew_at_least_one_level
+ ld a, DAYCARETEXT_PARTY_FULL
+ call PrintDayCareText
call YesNoBox
- jr c, .asm_16844
- jr .asm_1682d
+ jr c, .refused
+ jr .check_money
-.asm_16819
- ld a, $b
- call Function1689b
+.grew_at_least_one_level
+ ld a, DAYCARETEXT_GENIUSES
+ call PrintDayCareText
call YesNoBox
- jr c, .asm_16844
- ld a, $c
- call Function1689b
+ jr c, .refused
+ ld a, DAYCARETEXT_ASK_WITHDRAW
+ call PrintDayCareText
call YesNoBox
- jr c, .asm_16844
+ jr c, .refused
-.asm_1682d
+.check_money
ld de, Money
ld bc, StringBuffer2 + 2
callba CompareMoney
- jr c, .asm_16848
+ jr c, .not_enough_money
ld a, [PartyCount]
- cp $6
- jr nc, .asm_1684c
+ cp PARTY_LENGTH
+ jr nc, .PartyFull
and a
ret
-.asm_16844
- ld a, $12
+.refused
+ ld a, DAYCARETEXT_COME_AGAIN
scf
ret
-.asm_16848
- ld a, $11
+.not_enough_money
+ ld a, DAYCARETEXT_OH_FINE
scf
ret
-.asm_1684c
- ld a, $10
+.PartyFull
+ ld a, DAYCARETEXT_NOT_ENOUGH_MONEY
scf
ret
; 16850
-Function16850: ; 16850
+DayCare_TakeMoney_PlayCry: ; 16850
ld bc, StringBuffer2 + 2
ld de, Money
callba TakeMoney
- ld a, $d
- call Function1689b
+ ld a, DAYCARETEXT_WITHDRAW
+ call PrintDayCareText
ld a, [CurPartySpecies]
call PlayCry
- ld a, $e
- call Function1689b
+ ld a, DAYCARETEXT_TOO_SOON
+ call PrintDayCareText
ret
; 1686d
-Function1686d: ; 1686d
+GetPriceToRetrieveBreedmon: ; 1686d
ld a, b
ld [StringBuffer2], a
ld a, d
@@ -234,10 +255,10 @@
ld bc, NAME_LENGTH
call CopyBytes
ld hl, 0
- ld bc, $64
+ ld bc, 100
ld a, [StringBuffer2 + 1]
call AddNTimes
- ld de, $64
+ ld de, 100
add hl, de
xor a
ld [StringBuffer2 + 2], a
@@ -248,13 +269,12 @@
ret
; 1689b
-Function1689b: ; 1689b
+PrintDayCareText: ; 1689b
ld e, a
ld d, 0
- ld hl, TextTable_168aa
-rept 2
+ ld hl, .TextTable
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -262,144 +282,144 @@
ret
; 168aa
-TextTable_168aa: ; 168aa
- dw UnknownText_0x168d2
- dw UnknownText_0x168d7
- dw UnknownText_0x168dc
- dw UnknownText_0x168e1
- dw UnknownText_0x168e6
- dw UnknownText_0x168ff
- dw UnknownText_0x168f0
- dw UnknownText_0x168eb
- dw UnknownText_0x168fa
- dw UnknownText_0x16904
- dw UnknownText_0x168f5
- dw UnknownText_0x16909
- dw UnknownText_0x1690e
- dw UnknownText_0x16913
- dw UnknownText_0x16918
- dw UnknownText_0x1691d
- dw UnknownText_0x16922
- dw UnknownText_0x16927
- dw UnknownText_0x1692c
- dw UnknownText_0x16931
+.TextTable: ; 168aa
+ dw .DayCareManIntro ; 00
+ dw .DayCareManOddEgg ; 01
+ dw .DayCareLadyIntro ; 02
+ dw .DayCareLadyOddEgg ; 03
+ dw .WhichOne ; 04
+ dw .OkayIllRaiseYourMon ; 05
+ dw .CantAcceptEgg ; 06
+ dw .JustOneMon ; 07
+ dw .LastHealthyMon ; 08
+ dw .ComeBackForItLater ; 09
+ dw .RemoveMail ; 0a
+ dw .AreWeGeniusesOrWhat ; 0b
+ dw .AskRetrieveMon ; 0c
+ dw .PerfectHeresYourMon ; 0d
+ dw .GotBackMon ; 0e
+ dw .ImmediatelyWithdrawMon ; 0f
+ dw .PartyFull ; 10
+ dw .NotEnoughMoney ; 11
+ dw .OhFineThen ; 12
+ dw .ComeAgain ; 13
; 168d2
-UnknownText_0x168d2: ; 0x168d2
+.DayCareManIntro: ; 0x168d2
; I'm the DAY-CARE MAN. Want me to raise a #MON?
text_jump UnknownText_0x1bdaa9
db "@"
; 0x168d7
-UnknownText_0x168d7: ; 0x168d7
+.DayCareManOddEgg: ; 0x168d7
; I'm the DAY-CARE MAN. Do you know about EGGS? I was raising #MON with my wife, you see. We were shocked to find an EGG! How incredible is that? So, want me to raise a #MON?
text_jump UnknownText_0x1bdad8
db "@"
; 0x168dc
-UnknownText_0x168dc: ; 0x168dc
+.DayCareLadyIntro: ; 0x168dc
; I'm the DAY-CARE LADY. Should I raise a #MON for you?
text_jump UnknownText_0x1bdb85
db "@"
; 0x168e1
-UnknownText_0x168e1: ; 0x168e1
+.DayCareLadyOddEgg: ; 0x168e1
; I'm the DAY-CARE LADY. Do you know about EGGS? My husband and I were raising some #MON, you see. We were shocked to find an EGG! How incredible could that be? Should I raise a #MON for you?
text_jump UnknownText_0x1bdbbb
db "@"
; 0x168e6
-UnknownText_0x168e6: ; 0x168e6
+.WhichOne: ; 0x168e6
; What should I raise for you?
text_jump UnknownText_0x1bdc79
db "@"
; 0x168eb
-UnknownText_0x168eb: ; 0x168eb
+.JustOneMon: ; 0x168eb
; Oh? But you have just one #MON.
text_jump UnknownText_0x1bdc97
db "@"
; 0x168f0
-UnknownText_0x168f0: ; 0x168f0
+.CantAcceptEgg: ; 0x168f0
; Sorry, but I can't accept an EGG.
text_jump UnknownText_0x1bdcb8
db "@"
; 0x168f5
-UnknownText_0x168f5: ; 0x168f5
+.RemoveMail: ; 0x168f5
; Remove MAIL before you come see me.
text_jump UnknownText_0x1bdcda
db "@"
; 0x168fa
-UnknownText_0x168fa: ; 0x168fa
+.LastHealthyMon: ; 0x168fa
; If you give me that, what will you battle with?
text_jump UnknownText_0x1bdcff
db "@"
; 0x168ff
-UnknownText_0x168ff: ; 0x168ff
+.OkayIllRaiseYourMon: ; 0x168ff
; OK. I'll raise your @ .
text_jump UnknownText_0x1bdd30
db "@"
; 0x16904
-UnknownText_0x16904: ; 0x16904
+.ComeBackForItLater: ; 0x16904
; Come back for it later.
text_jump UnknownText_0x1bdd4b
db "@"
; 0x16909
-UnknownText_0x16909: ; 0x16909
+.AreWeGeniusesOrWhat: ; 0x16909
; Are we geniuses or what? Want to see your @ ?
text_jump UnknownText_0x1bdd64
db "@"
; 0x1690e
-UnknownText_0x1690e: ; 0x1690e
+.AskRetrieveMon: ; 0x1690e
; Your @ has grown a lot. By level, it's grown by @ . If you want your #MON back, it will cost ¥@ .
text_jump UnknownText_0x1bdd96
db "@"
; 0x16913
-UnknownText_0x16913: ; 0x16913
+.PerfectHeresYourMon: ; 0x16913
; Perfect! Here's your #MON.
text_jump UnknownText_0x1bde04
db "@"
; 0x16918
-UnknownText_0x16918: ; 0x16918
+.GotBackMon: ; 0x16918
; got back @ .
text_jump UnknownText_0x1bde1f
db "@"
; 0x1691d
-UnknownText_0x1691d: ; 0x1691d
+.ImmediatelyWithdrawMon: ; 0x1691d
; Huh? Back already? Your @ needs a little more time with us. If you want your #MON back, it will cost ¥100.
text_jump UnknownText_0x1bde32
db "@"
; 0x16922
-UnknownText_0x16922: ; 0x16922
+.PartyFull: ; 0x16922
; You have no room for it.
text_jump UnknownText_0x1bdea2
db "@"
; 0x16927
-UnknownText_0x16927: ; 0x16927
+.NotEnoughMoney: ; 0x16927
; You don't have enough money.
text_jump UnknownText_0x1bdebc
db "@"
; 0x1692c
-UnknownText_0x1692c: ; 0x1692c
+.OhFineThen: ; 0x1692c
; Oh, fine then.
text_jump UnknownText_0x1bded9
db "@"
; 0x16931
-UnknownText_0x16931: ; 0x16931
+.ComeAgain: ; 0x16931
; Come again.
text_jump UnknownText_0x1bdee9
db "@"
@@ -408,49 +428,49 @@
Special_DayCareManOutside: ; 16936
ld hl, wDaycareMan
bit 6, [hl]
- jr nz, Function16949
- ld hl, UnknownText_0x16944
+ jr nz, .AskGiveEgg
+ ld hl, .NotYet
call PrintText
ret
-UnknownText_0x16944: ; 0x16944
+.NotYet: ; 0x16944
; Not yet…
text_jump UnknownText_0x1bdef6
db "@"
; 0x16949
-Function16949: ; 16949
- ld hl, UnknownText_0x16993
+.AskGiveEgg: ; 16949
+ ld hl, .IntroText
call PrintText
call YesNoBox
- jr c, .asm_1697c
+ jr c, .Declined
ld a, [PartyCount]
cp PARTY_LENGTH
- jr nc, .asm_16987
- call Function169ac
+ jr nc, .PartyFull
+ call DayCare_GiveEgg
ld hl, wDaycareMan
res 6, [hl]
- call Function16a3b
- ld hl, UnknownText_0x16998
+ call DayCare_InitBreeding
+ ld hl, .GotEggText
call PrintText
ld de, SFX_GET_EGG_FROM_DAYCARE_LADY
call PlaySFX
ld c, 120
call DelayFrames
- ld hl, UnknownText_0x1699d
- jr .asm_1697f
+ ld hl, .TakeGoodCareOfItText
+ jr .Load0
-.asm_1697c
- ld hl, UnknownText_0x169a2
+.Declined
+ ld hl, .IllKeepItThanksText
-.asm_1697f
+.Load0
call PrintText
xor a
ld [ScriptVar], a
ret
-.asm_16987
- ld hl, UnknownText_0x169a7
+.PartyFull
+ ld hl, .PartyFullText
call PrintText
ld a, $1
ld [ScriptVar], a
@@ -457,45 +477,46 @@
ret
; 16993
-UnknownText_0x16993: ; 0x16993
+.IntroText: ; 0x16993
; Ah, it's you! We were raising your #MON, and my goodness, were we surprised! Your #MON had an EGG! We don't know how it got there, but your #MON had it. You want it?
text_jump UnknownText_0x1bdf00
db "@"
; 0x16998
-UnknownText_0x16998: ; 0x16998
+.GotEggText: ; 0x16998
; received the EGG!
text_jump UnknownText_0x1bdfa5
db "@"
; 0x1699d
-UnknownText_0x1699d: ; 0x1699d
+.TakeGoodCareOfItText: ; 0x1699d
; Take good care of it.
text_jump UnknownText_0x1bdfba
db "@"
; 0x169a2
-UnknownText_0x169a2: ; 0x169a2
+.IllKeepItThanksText: ; 0x169a2
; Well then, I'll keep it. Thanks!
text_jump UnknownText_0x1bdfd1
db "@"
; 0x169a7
-UnknownText_0x169a7: ; 0x169a7
+.PartyFullText: ; 0x169a7
; You have no room in your party. Come back later.
text_jump UnknownText_0x1bdff2
db "@"
; 0x169ac
-Function169ac: ; 169ac
+DayCare_GiveEgg: ; 169ac
ld a, [wEggMonLevel]
ld [CurPartyLevel], a
ld hl, PartyCount
ld a, [hl]
cp PARTY_LENGTH
- jr nc, .asm_16a2f
+ jr nc, .PartyFull
inc a
ld [hl], a
+
ld c, a
ld b, 0
add hl, bc
@@ -504,24 +525,28 @@
ld a, [wEggMonSpecies]
ld [CurSpecies], a
ld [CurPartySpecies], a
- ld a, $ff
+ ld a, -1
ld [hl], a
+
ld hl, PartyMonNicknames
ld bc, PKMN_NAME_LENGTH
- call Function16a31
+ call DayCare_GetCurrentPartyMember
ld hl, wEggNick
call CopyBytes
+
ld hl, PartyMonOT
ld bc, NAME_LENGTH
- call Function16a31
+ call DayCare_GetCurrentPartyMember
ld hl, wEggOT
call CopyBytes
+
ld hl, PartyMon1
ld bc, PARTYMON_STRUCT_LENGTH
- call Function16a31
+ call DayCare_GetCurrentPartyMember
ld hl, wEggMon
ld bc, wEggMonEnd - wEggMon
call CopyBytes
+
call GetBaseData
ld a, [PartyCount]
dec a
@@ -550,12 +575,12 @@
and a
ret
-.asm_16a2f
+.PartyFull
scf
ret
; 16a31
-Function16a31: ; 16a31
+DayCare_GetCurrentPartyMember: ; 16a31
ld a, [PartyCount]
dec a
call AddNTimes
@@ -564,7 +589,7 @@
ret
; 16a3b
-Function16a3b: ; 16a3b
+DayCare_InitBreeding: ; 16a3b
ld a, [wDaycareLady]
bit 0, a
ret z
@@ -571,7 +596,7 @@
ld a, [wDaycareMan]
bit 0, a
ret z
- callab Function16e1d
+ callab CheckBreedmonCompatibility
ld a, [wd265]
and a
ret z
@@ -579,15 +604,15 @@
ret z
ld hl, wDaycareMan
set 5, [hl]
-.asm_16a59
+.loop
call Random
cp 150
- jr c, .asm_16a59
+ jr c, .loop
ld [wStepsToEgg], a
- jp Function16a66
+ jp .UselessJump
; 16a66
-Function16a66: ; 16a66
+.UselessJump: ; 16a66
xor a
ld hl, wEggMon
ld bc, wEggMonEnd - wEggMon
@@ -609,24 +634,24 @@
ld a, [wBreedMon1Species]
cp DITTO
ld a, $1
- jr z, .asm_16ab6
+ jr z, .LoadWhichBreedmonIsTheMother
ld a, [wBreedMon2Species]
cp DITTO
ld a, $0
- jr z, .asm_16ab6
+ jr z, .LoadWhichBreedmonIsTheMother
callba GetGender
ld a, $0
- jr z, .asm_16ab6
+ jr z, .LoadWhichBreedmonIsTheMother
inc a
-.asm_16ab6
- ld [wDittoInDaycare], a
+.LoadWhichBreedmonIsTheMother
+ ld [wBreedMotherOrNonDitto], a
and a
ld a, [wBreedMon1Species]
- jr z, .asm_16ac2
+ jr z, .GotMother
ld a, [wBreedMon2Species]
-.asm_16ac2
+.GotMother
ld [CurPartySpecies], a
callab GetPreEvolution
callab GetPreEvolution
@@ -635,13 +660,13 @@
ld a, [CurPartySpecies]
cp NIDORAN_F
- jr nz, .asm_16ae8
+ jr nz, .GotEggSpecies
call Random
- cp $80
+ cp 1 + 50 percent
ld a, NIDORAN_F
- jr c, .asm_16ae8
+ jr c, .GotEggSpecies
ld a, NIDORAN_M
-.asm_16ae8
+.GotEggSpecies
ld [CurPartySpecies], a
ld [CurSpecies], a
ld [wEggMonSpecies], a
@@ -648,7 +673,7 @@
call GetBaseData
ld hl, wEggNick
- ld de, String_16be0
+ ld de, .String_EGG
call CopyName2
ld hl, PlayerName
ld de, wEggOT
@@ -660,7 +685,7 @@
xor a
ld [Buffer1], a
predef FillMoves
- callba Function170bf
+ callba InitEggMoves
ld hl, wEggMonID
ld a, [PlayerID]
ld [hli], a
@@ -672,17 +697,17 @@
ld hl, wEggMonExp
ld a, [hMultiplicand]
ld [hli], a
- ld a, [$ffb5]
+ ld a, [hMultiplicand + 1]
ld [hli], a
- ld a, [$ffb6]
+ ld a, [hMultiplicand + 2]
ld [hl], a
xor a
- ld b, $a
+ ld b, wEggMonDVs - wEggMonStatExp
ld hl, wEggMonStatExp
-.asm_16b46
+.loop2
ld [hli], a
dec b
- jr nz, .asm_16b46
+ jr nz, .loop2
ld hl, wEggMonDVs
call Random
ld [hli], a
@@ -693,12 +718,12 @@
ld de, wBreedMon1DVs
ld a, [wBreedMon1Species]
cp DITTO
- jr z, .asm_16b98
+ jr z, .GotDVs
ld de, wBreedMon2DVs
ld a, [wBreedMon2Species]
cp DITTO
- jr z, .asm_16b98
- ld a, $3
+ jr z, .GotDVs
+ ld a, BREEDMON
ld [MonType], a
push hl
callba GetGender
@@ -705,23 +730,23 @@
pop hl
ld de, wBreedMon1DVs
ld bc, wBreedMon2DVs
- jr c, .asm_16bab
- jr z, .asm_16b90
- ld a, [wDittoInDaycare]
+ jr c, .SkipDVs
+ jr z, .ParentCheck2
+ ld a, [wBreedMotherOrNonDitto]
and a
- jr z, .asm_16b98
+ jr z, .GotDVs
ld d, b
ld e, c
- jr .asm_16b98
+ jr .GotDVs
-.asm_16b90
- ld a, [wDittoInDaycare]
+.ParentCheck2
+ ld a, [wBreedMotherOrNonDitto]
and a
- jr nz, .asm_16b98
+ jr nz, .GotDVs
ld d, b
ld e, c
-.asm_16b98
+.GotDVs
ld a, [de]
inc de
and $f
@@ -738,15 +763,15 @@
add b
ld [hl], a
-.asm_16bab
+.SkipDVs
ld hl, StringBuffer1
- ld de, wd050
+ ld de, wMonOrItemNameBuffer
ld bc, NAME_LENGTH
call CopyBytes
ld hl, wEggMonMoves
ld de, wEggMonPP
predef FillPP
- ld hl, wd050
+ ld hl, wMonOrItemNameBuffer
ld de, StringBuffer1
ld bc, NAME_LENGTH
call CopyBytes
@@ -754,9 +779,8 @@
ld hl, wEggMonHappiness
ld [hli], a
xor a
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
ld a, [CurPartyLevel]
ld [wEggMonLevel], a
@@ -763,6 +787,6 @@
ret
; 16be0
-String_16be0: ; 16be0
+.String_EGG: ; 16be0
db "EGG@"
; 16be4
--- a/event/dratini.asm
+++ b/event/dratini.asm
@@ -8,8 +8,8 @@
ret nc
ld bc, PartyCount
ld a, [bc]
- ld hl, 0
- call GetNthPartyMon
+ ld hl, MON_SPECIES
+ call .GetNthPartyMon
ld a, [bc]
ld c, a
ld de, PARTYMON_STRUCT_LENGTH
@@ -85,7 +85,7 @@
db TWISTER
db 0
-GetNthPartyMon: ; 0x8b1ce
+.GetNthPartyMon: ; 0x8b1ce
; inputs:
; hl must be set to 0 before calling this function.
; a must be set to the number of Pokémon in the party.
@@ -106,6 +106,7 @@
dec a
jr nz, .loop
ret
+
.EmptyParty
scf
ret
--- a/event/elevator.asm
+++ b/event/elevator.asm
@@ -1,62 +1,62 @@
Elevator:: ; 1342d
- call Function1344a
- call Function1347d
- jr c, .asm_13448
- ld [wd041], a
- call Function134dd
- jr c, .asm_13448
- ld hl, wd041
+ call .LoadPointer
+ call .FindCurrentFloor
+ jr c, .quit
+ ld [wElevatorOriginFloor], a
+ call Elevator_AskWhichFloor
+ jr c, .quit
+ ld hl, wElevatorOriginFloor
cp [hl]
- jr z, .asm_13448
- call Function134c0
+ jr z, .quit
+ call Elevator_GoToFloor
and a
ret
-.asm_13448
+.quit
scf
ret
; 1344a
-Function1344a: ; 1344a
+.LoadPointer: ; 1344a
ld a, b
- ld [EngineBuffer1], a
+ ld [wElevatorPointerBank], a
ld a, e
- ld [wd03f], a
+ ld [wElevatorPointerLo], a
ld a, d
- ld [wd040], a
- call Function1345a
+ ld [wElevatorPointerHi], a
+ call .LoadFloors
ret
; 1345a
-Function1345a: ; 1345a
- ld de, OBPals + 8 * 6
+.LoadFloors: ; 1345a
+ ld de, CurElevator
ld bc, 4
- ld hl, wd03f
+ ld hl, wElevatorPointerLo
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [EngineBuffer1]
+ ld a, [wElevatorPointerBank]
call GetFarByte
inc hl
ld [de], a
inc de
-.asm_1346f
- ld a, [EngineBuffer1]
+.loop
+ ld a, [wElevatorPointerBank]
call GetFarByte
ld [de], a
inc de
add hl, bc
- cp $ff
- jr nz, .asm_1346f
+ cp -1
+ jr nz, .loop
ret
; 1347d
-Function1347d: ; 1347d
- ld hl, wd03f
+.FindCurrentFloor: ; 1347d
+ ld hl, wElevatorPointerLo
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [EngineBuffer1]
+ ld a, [wElevatorPointerBank]
call GetFarByte
ld c, a
inc hl
@@ -64,47 +64,46 @@
ld d, a
ld a, [BackupMapNumber]
ld e, a
- ld b, $0
-.asm_13495
- ld a, [EngineBuffer1]
+ ld b, 0
+.loop2
+ ld a, [wElevatorPointerBank]
call GetFarByte
- cp $ff
- jr z, .asm_134be
+ cp -1
+ jr z, .fail
rept 2
inc hl
endr
- ld a, [EngineBuffer1]
+ ld a, [wElevatorPointerBank]
call GetFarByte
inc hl
cp d
- jr nz, .asm_134b7
- ld a, [EngineBuffer1]
+ jr nz, .next1
+ ld a, [wElevatorPointerBank]
call GetFarByte
inc hl
cp e
- jr nz, .asm_134b8
- jr .asm_134bb
+ jr nz, .next2
+ jr .done
-.asm_134b7
+.next1
inc hl
-
-.asm_134b8
+.next2
inc b
- jr .asm_13495
+ jr .loop2
-.asm_134bb
+.done
xor a
ld a, b
ret
-.asm_134be
+.fail
scf
ret
; 134c0
-Function134c0: ; 134c0
+Elevator_GoToFloor: ; 134c0
push af
- ld hl, wd03f
+ ld hl, wElevatorPointerLo
ld a, [hli]
ld h, [hl]
ld l, a
@@ -114,13 +113,13 @@
call AddNTimes
inc hl
ld de, BackupWarpNumber
- ld a, [EngineBuffer1]
+ ld a, [wElevatorPointerBank]
ld bc, 3
call FarCopyBytes
ret
; 134dd
-Function134dd: ; 134dd
+Elevator_AskWhichFloor: ; 134dd
call LoadStandardMenuDataHeader
ld hl, Elevator_WhichFloorText
call PrintText
@@ -131,16 +130,16 @@
call UpdateSprites
xor a
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
- call WriteBackup
- ld a, [wcf73]
- cp $2
- jr z, .asm_1350b
+ call ScrollingMenu
+ call CloseWindow
+ ld a, [wMenuJoypad]
+ cp B_BUTTON
+ jr z, .cancel
xor a
- ld a, [wcf77]
+ ld a, [wScrollingMenuCursorPosition]
ret
-.asm_1350b
+.cancel
scf
ret
; 1350d
@@ -178,10 +177,10 @@
Elevator_GetCurrentFloorString: ; 1353f
push hl
- ld a, [wd041]
+ ld a, [wElevatorOriginFloor]
ld e, a
ld d, 0
- ld hl, wd0f1
+ ld hl, CurElevatorFloors
add hl, de
ld a, [hl]
pop de
@@ -201,7 +200,7 @@
db $10 ; flags
db 4, 0 ; rows, columns
db 1 ; horizontal spacing
- dbw 0, OBPals + 8 * 6
+ dbw 0, CurElevator
dba GetElevatorFlorStrings
dba NULL
dba NULL
@@ -209,7 +208,6 @@
GetElevatorFlorStrings: ; 13568
ld a, [MenuSelection]
-
GetFloorString: ; 1356b
push de
call FloorToString
--- a/event/field_moves.asm
+++ b/event/field_moves.asm
@@ -9,18 +9,18 @@
BlindingFlash: ; 8c7e1
callba FadeOutPalettes
ld hl, StatusFlags
- set 2, [hl]
- callba Function8c0e5
- callba Function8c001
- ld b, SCGB_09
+ set 2, [hl] ; Flash
+ callba ReplaceTimeOfDayPals
+ callba UpdateTimeOfDayPal
+ ld b, SCGB_MAPPALS
call GetSGBLayout
- callba Function49409
+ callba LoadOW_BGPal7
callba FadeInPalettes
ret
; 8c80a
ShakeHeadbuttTree: ; 8c80a
- callba Function8cf53
+ callba ClearSpriteAnims
ld de, CutGrassGFX
ld hl, VTiles1
lb bc, BANK(CutGrassGFX), 4
@@ -29,16 +29,16 @@
ld hl, VTiles1 tile $04
lb bc, BANK(HeadbuttTreeGFX), 8
call Request2bpp
- call Function8cad3
+ call Cut_Headbutt_GetPixelFacing
ld a, SPRITE_ANIM_INDEX_1B
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $84
- ld a, $90
- ld [wc3b5], a
- callba Function8cf7a
- call GetHeadbuttTreeRelativeLocation
+ ld a, 36 * 4
+ ld [wCurrSpriteOAMAddr], a
+ callba DoNextFrameForAllSprites
+ call HideHeadbuttTree
ld a, $20
ld [wcf64], a
call WaitSFX
@@ -50,9 +50,9 @@
and a
jr z, .done
dec [hl]
- ld a, $90
- ld [wc3b5], a
- callba Function8cf7a
+ ld a, 36 * 4
+ ld [wCurrSpriteOAMAddr], a
+ callba DoNextFrameForAllSprites
call DelayFrame
jr .loop
@@ -61,14 +61,14 @@
call WaitBGMap
xor a
ld [hBGMapMode], a
- callba Function8cf53
- ld hl, Sprites + $90
- ld bc, $10
+ callba ClearSpriteAnims
+ ld hl, Sprites + 36 * 4
+ ld bc, SpritesEnd - (Sprites + 36 * 4)
xor a
call ByteFill
ld de, Font
ld hl, VTiles1
- lb bc, BANK(Font), $c
+ lb bc, BANK(Font), 12
call Get1bpp
call ReplaceKrisSprite
ret
@@ -78,7 +78,7 @@
INCBIN "gfx/unknown/08c893.2bpp"
; 8c913
-GetHeadbuttTreeRelativeLocation: ; 8c913
+HideHeadbuttTree: ; 8c913
xor a
ld [hBGMapMode], a
ld a, [PlayerDirection]
@@ -113,6 +113,9 @@
; 8c940
OWCutAnimation: ; 8c940
+ ; Animation index in e
+ ; 0: Split tree in half
+ ; 1: Mow the lawn
ld a, e
and $1
ld [wJumptableIndex], a
@@ -124,9 +127,9 @@
ld a, [wJumptableIndex]
bit 7, a
jr nz, .finish
- ld a, $90
- ld [wc3b5], a
- callab Function8cf7a
+ ld a, 36 * 4
+ ld [wCurrSpriteOAMAddr], a
+ callab DoNextFrameForAllSprites
call OWCutJumptable
call DelayFrame
jr .loop
@@ -136,7 +139,7 @@
; 8c96d
.LoadCutGFX: ; 8c96d
- callab Function8cf53 ; pointless to farcall
+ callab ClearSpriteAnims ; pointless to farcall
ld de, CutGrassGFX
ld hl, VTiles1
lb bc, BANK(CutGrassGFX), 4
@@ -160,7 +163,7 @@
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -171,22 +174,23 @@
; 8ca1b
-.jumptable: ; 8ca1b (23:4a1b)
- dw Function8ca23
- dw Function8ca3c
- dw Function8ca5c
- dw Function8ca64
+.dw: ; 8ca1b (23:4a1b)
+ dw Cut_SpawnAnimateTree
+ dw Cut_SpawnAnimateLeaves
+ dw Cut_StartWaiting
+ dw Cut_WaitAnimSFX
-Function8ca23: ; 8ca23 (23:4a23)
- call Function8cad3
- ld a, SPRITE_ANIM_INDEX_17 ; leaf
+Cut_SpawnAnimateTree: ; 8ca23 (23:4a23)
+ call Cut_Headbutt_GetPixelFacing
+ ld a, SPRITE_ANIM_INDEX_CUT_TREE ; cut tree
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $84
- ld a, $20
+ ld a, 32
ld [wcf64], a
+; Cut_StartWaiting
ld hl, wJumptableIndex
rept 2
inc [hl]
@@ -193,75 +197,78 @@
endr
ret
-Function8ca3c: ; 8ca3c (23:4a3c)
- call Function8ca8e
+Cut_SpawnAnimateLeaves: ; 8ca3c (23:4a3c)
+ call Cut_GetLeafSpawnCoords
xor a
- call Function8ca73
+ call Cut_SpawnLeaf
ld a, $10
- call Function8ca73
+ call Cut_SpawnLeaf
ld a, $20
- call Function8ca73
+ call Cut_SpawnLeaf
ld a, $30
- call Function8ca73
- ld a, $20
+ call Cut_SpawnLeaf
+ ld a, 32 ; frames
ld [wcf64], a
+; Cut_StartWaiting
ld hl, wJumptableIndex
inc [hl]
ret
-Function8ca5c: ; 8ca5c (23:4a5c)
+Cut_StartWaiting: ; 8ca5c (23:4a5c)
ld a, $1
ld [hBGMapMode], a
+; Cut_WaitAnimSFX
ld hl, wJumptableIndex
inc [hl]
-Function8ca64: ; 8ca64 (23:4a64)
+Cut_WaitAnimSFX: ; 8ca64 (23:4a64)
ld hl, wcf64
ld a, [hl]
and a
- jr z, .asm_8ca6d
+ jr z, .finished
dec [hl]
ret
-.asm_8ca6d
+
+.finished
ld hl, wJumptableIndex
set 7, [hl]
ret
-Function8ca73: ; 8ca73 (23:4a73)
+Cut_SpawnLeaf: ; 8ca73 (23:4a73)
push de
push af
- ld a, SPRITE_ANIM_INDEX_16 ; fly takeoff
+ ld a, SPRITE_ANIM_INDEX_LEAF ; leaf
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $80
- ld hl, $e
+ ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
ld [hl], $4
pop af
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], a
pop de
ret
-Function8ca8e: ; 8ca8e (23:4a8e)
+Cut_GetLeafSpawnCoords: ; 8ca8e (23:4a8e)
ld de, 0
- ld a, [wd197]
+ ld a, [wMetatileStandingX]
bit 0, a
- jr z, .asm_8ca9a
+ jr z, .left_side
set 0, e
-.asm_8ca9a
- ld a, [wd196]
+.left_side
+ ld a, [wMetatileStandingY]
bit 0, a
- jr z, .asm_8caa3
+ jr z, .top_side
set 1, e
-.asm_8caa3
+.top_side
ld a, [PlayerDirection]
- and $c
+ and %00001100
add e
ld e, a
- ld hl, Unknown_8cab3
+ ld hl, .Coords
rept 2
add hl, de
endr
@@ -271,32 +278,35 @@
ret
; 8cab3 (23:4ab3)
-Unknown_8cab3: ; 8cab3
- db $58, $60
- db $48, $60
- db $58, $70
- db $48, $70
- db $58, $40
- db $48, $40
- db $58, $50
- db $48, $50
- db $38, $60
- db $48, $60
- db $38, $50
- db $48, $50
- db $58, $60
- db $68, $60
- db $58, $50
- db $68, $50
+.Coords: ; 8cab3
+ dbpixel 11, 12 ; facing down, top left
+ dbpixel 9, 12 ; facing down, top right
+ dbpixel 11, 14 ; facing down, bottom left
+ dbpixel 9, 14 ; facing down, bottom right
+
+ dbpixel 11, 8 ; facing up, top left
+ dbpixel 9, 8 ; facing up, top right
+ dbpixel 11, 10 ; facing up, bottom left
+ dbpixel 9, 10 ; facing up, bottom right
+
+ dbpixel 7, 12 ; facing left, top left
+ dbpixel 9, 12 ; facing left, top right
+ dbpixel 7, 10 ; facing left, bottom left
+ dbpixel 9, 10 ; facing left, bottom right
+
+ dbpixel 11, 12 ; facing right, top left
+ dbpixel 13, 12 ; facing right, top right
+ dbpixel 11, 10 ; facing right, bottom left
+ dbpixel 13, 10 ; facing right, bottom right
; 8cad3
-Function8cad3: ; 8cad3 (23:4ad3)
+Cut_Headbutt_GetPixelFacing: ; 8cad3 (23:4ad3)
ld a, [PlayerDirection]
- and $c
+ and %00001100
srl a
ld e, a
ld d, 0
- ld hl, Unknown_8cae5
+ ld hl, .Coords
add hl, de
ld e, [hl]
inc hl
@@ -304,9 +314,159 @@
ret
; 8cae5 (23:4ae5)
-Unknown_8cae5: ; 8cae5
- db $50, $68
- db $50, $48
- db $40, $58
- db $60, $58
+.Coords: ; 8cae5
+ dbpixel 10, 13
+ dbpixel 10, 9
+ dbpixel 8, 11
+ dbpixel 12, 11
; 8caed
+
+
+FlyFromAnim: ; 8caed
+ call DelayFrame
+ ld a, [VramState]
+ push af
+ xor a
+ ld [VramState], a
+ call FlyFunction_InitGFX
+ depixel 10, 10, 4, 0
+ ld a, SPRITE_ANIM_INDEX_WALK_CYCLE
+ call _InitSpriteAnimStruct
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
+ add hl, bc
+ ld [hl], $84
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
+ add hl, bc
+ ld [hl], SPRITE_ANIM_SEQ_FLY_FROM
+ ld a, 128
+ ld [wcf64], a
+.loop
+ ld a, [wJumptableIndex]
+ bit 7, a
+ jr nz, .exit
+ ld a, 0 * 4
+ ld [wCurrSpriteOAMAddr], a
+ callab DoNextFrameForAllSprites
+ call FlyFunction_FrameTimer
+ call DelayFrame
+ jr .loop
+
+.exit
+ pop af
+ ld [VramState], a
+ ret
+; 8cb33
+
+FlyToAnim: ; 8cb33
+ call DelayFrame
+ ld a, [VramState]
+ push af
+ xor a
+ ld [VramState], a
+ call FlyFunction_InitGFX
+ depixel 31, 10, 4, 0
+ ld a, SPRITE_ANIM_INDEX_WALK_CYCLE
+ call _InitSpriteAnimStruct
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
+ add hl, bc
+ ld [hl], $84
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
+ add hl, bc
+ ld [hl], SPRITE_ANIM_SEQ_FLY_TO
+ ld hl, SPRITEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], 11 * 8
+ ld a, 64
+ ld [wcf64], a
+.loop
+ ld a, [wJumptableIndex]
+ bit 7, a
+ jr nz, .exit
+ ld a, 0 * 4
+ ld [wCurrSpriteOAMAddr], a
+ callab DoNextFrameForAllSprites
+ call FlyFunction_FrameTimer
+ call DelayFrame
+ jr .loop
+
+.exit
+ pop af
+ ld [VramState], a
+ call .RestorePlayerSprite_DespawnLeaves
+ ret
+
+.RestorePlayerSprite_DespawnLeaves: ; 8cb82 (23:4b82)
+ ld hl, Sprites + 2 ; Tile ID
+ xor a
+ ld c, $4
+.loop2
+ ld [hli], a
+rept 3
+ inc hl
+endr
+ inc a
+ dec c
+ jr nz, .loop2
+ ld hl, Sprites + 4 * 4
+ ld bc, SpritesEnd - (Sprites + 4 * 4)
+ xor a
+ call ByteFill
+ ret
+
+FlyFunction_InitGFX: ; 8cb9b (23:4b9b)
+ callab ClearSpriteAnims
+ ld de, CutGrassGFX
+ ld hl, VTiles1 tile $00
+ lb bc, BANK(CutGrassGFX), 4
+ call Request2bpp
+ ld a, [CurPartyMon]
+ ld hl, PartySpecies
+ ld e, a
+ ld d, 0
+ add hl, de
+ ld a, [hl]
+ ld [wd265], a
+ ld e, $84
+ callba FlyFunction_GetMonIcon
+ xor a
+ ld [wJumptableIndex], a
+ ret
+
+FlyFunction_FrameTimer: ; 8cbc8 (23:4bc8)
+ call .SpawnLeaf
+ ld hl, wcf64
+ ld a, [hl]
+ and a
+ jr z, .exit
+ dec [hl]
+ cp $40
+ ret c
+ and $7
+ ret nz
+ ld de, SFX_FLY
+ call PlaySFX
+ ret
+
+.exit
+ ld hl, wJumptableIndex
+ set 7, [hl]
+ ret
+
+.SpawnLeaf: ; 8cbe6 (23:4be6)
+ ld hl, wcf65
+ ld a, [hl]
+ inc [hl]
+ and $7
+ ret nz
+ ld a, [hl]
+ and (6 * 8) >> 1
+ sla a
+ add 8 * 8 ; gives a number in [$40, $50, $60, $70]
+ ld d, a
+ ld e, $0
+ ld a, SPRITE_ANIM_INDEX_FLY_LEAF ; fly land
+ call _InitSpriteAnimStruct
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
+ add hl, bc
+ ld [hl], $80
+ ret
--- a/event/halloffame.asm
+++ b/event/halloffame.asm
@@ -1,5 +1,5 @@
HallOfFame:: ; 0x8640e
- call Function8648e
+ call HallOfFame_FadeOutMusic
ld a, [StatusFlags]
push af
ld a, 1
@@ -12,7 +12,7 @@
ld hl, StatusFlags
set 6, [hl] ; hall of fame
- callba Function14da0
+ callba HallOfFame_InitSaveIfNeeded
ld hl, wHallOfFameCount
ld a, [hl]
@@ -26,10 +26,10 @@
xor a
ld [wc2cd], a
- call Function864c3
+ call AnimateHallOfFame
pop af
ld b, a
- callba Function109847
+ callba Credits
ret
; 0x86455
@@ -38,7 +38,7 @@
ld [MusicFadeIDLo], a
ld a, MUSIC_NONE / $100
ld [MusicFadeIDHi], a
- ld a, $a
+ ld a, 10
ld [MusicFade], a
callba FadeOutPalettes
xor a
@@ -52,11 +52,11 @@
ld [wSpawnAfterChampion], a
ld a, [StatusFlags]
ld b, a
- callba Function109847
+ callba Credits
ret
; 8648e
-Function8648e: ; 8648e
+HallOfFame_FadeOutMusic: ; 8648e
ld a, MUSIC_NONE % $100
ld [MusicFadeIDLo], a
ld a, MUSIC_NONE / $100
@@ -72,7 +72,7 @@
jp DelayFrames
; 864b4
-Function864b4: ; 864b4
+HallOfFame_PlayMusicDE: ; 864b4
push de
ld de, MUSIC_NONE
call PlayMusic
@@ -82,29 +82,29 @@
ret
; 864c3
-Function864c3: ; 864c3
+AnimateHallOfFame: ; 864c3
xor a
ld [wJumptableIndex], a
- call Function8671c
+ call LoadHOFTeam
jr c, .done
- ld de, SCREEN_WIDTH
- call Function864b4
+ ld de, MUSIC_HALL_OF_FAME
+ call HallOfFame_PlayMusicDE
xor a
ld [wcf64], a
.loop
ld a, [wcf64]
- cp 6
+ cp PARTY_LENGTH
jr nc, .done
- ld hl, wc608 + 1
- ld bc, $10
+ ld hl, wHallOfFameTempMon1
+ ld bc, wHallOfFameTempMon1End - wHallOfFameTempMon1
call AddNTimes
ld a, [hl]
cp -1
jr z, .done
push hl
- call Function865b5
+ call AnimateHOFMonEntrance
pop hl
- call Function8650c
+ call .DisplayNewHallOfFamer
jr c, .done
ld hl, wcf64
inc [hl]
@@ -120,9 +120,9 @@
ret
; 8650c
-Function8650c: ; 8650c
- call Function86748
- ld de, String_8652c
+.DisplayNewHallOfFamer: ; 8650c
+ call DisplayHOFMon
+ ld de, .String_NewHallOfFamer
hlcoord 1, 2
call PlaceString
call WaitBGMap
@@ -135,7 +135,7 @@
ret
; 8652c
-String_8652c:
+.String_NewHallOfFamer:
db "New Hall of Famer!@"
; 8653f
@@ -227,7 +227,7 @@
ret
; 865b5
-Function865b5: ; 865b5
+AnimateHOFMonEntrance: ; 865b5
push hl
call ClearBGPalettes
callba Function4e906
@@ -265,9 +265,9 @@
ld b, SCGB_1A
call GetSGBLayout
call SetPalettes
- call Function86635
+ call HOF_SlideBackpic
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, " "
@@ -278,12 +278,12 @@
xor a
ld [hBGMapMode], a
ld [hSCY], a
- call Function86643
+ call HOF_SlideFrontpic
ret
; 86635
-Function86635: ; 86635
-.loop
+HOF_SlideBackpic:
+.backpicloop
ld a, [hSCX]
cp $70
ret z
@@ -290,11 +290,11 @@
add $4
ld [hSCX], a
call DelayFrame
- jr .loop
+ jr .backpicloop
; 86643
-Function86643: ; 86643
-.loop
+HOF_SlideFrontpic:
+.frontpicloop
ld a, [hSCX]
and a
ret z
@@ -303,7 +303,7 @@
endr
ld [hSCX], a
call DelayFrame
- jr .loop
+ jr .frontpicloop
; 86650
_HallOfFamePC: ; 86650
@@ -311,7 +311,7 @@
xor a
ld [wJumptableIndex], a
.loop
- call Function8671c
+ call LoadHOFTeam
ret c
call Function86665
ret c
@@ -361,8 +361,8 @@
ld a, [wcf64]
cp $6
jr nc, .fail
- ld hl, wc608 + 1
- ld bc, $10
+ ld hl, wHallOfFameTempMon1
+ ld bc, wHallOfFameTempMon1End - wHallOfFameTempMon1
call AddNTimes
ld a, [hl]
cp $ff
@@ -376,8 +376,8 @@
push hl
call ClearBGPalettes
pop hl
- call Function86748
- ld a, [wc608]
+ call DisplayHOFMon
+ ld a, [wHallOfFameTempWinCount]
cp 200 + 1
jr c, .print_num_hof
ld de, String_866fc
@@ -391,7 +391,7 @@
hlcoord 1, 2
call PlaceString
hlcoord 2, 2
- ld de, wc608
+ ld de, wHallOfFameTempWinCount
lb bc, 1, 3
call PrintNum
hlcoord 11, 2
@@ -423,10 +423,10 @@
; 8671c
-Function8671c: ; 8671c
+LoadHOFTeam: ; 8671c
ld a, [wJumptableIndex]
cp NUM_HOF_TEAMS
- jr nc, .full
+ jr nc, .invalid
ld hl, sHallOfFame
ld bc, HOF_LENGTH
call AddNTimes
@@ -434,8 +434,8 @@
call GetSRAMBank
ld a, [hl]
and a
- jr z, .fail
- ld de, wc608
+ jr z, .absent
+ ld de, wHallOfFameTemp
ld bc, HOF_LENGTH
call CopyBytes
call CloseSRAM
@@ -442,15 +442,15 @@
and a
ret
-.fail
+.absent
call CloseSRAM
-.full
+.invalid
scf
ret
; 86748
-Function86748: ; 86748
+DisplayHOFMon: ; 86748
xor a
ld [hBGMapMode], a
ld a, [hli]
@@ -466,7 +466,7 @@
ld a, [hli]
ld [TempMonLevel], a
ld de, StringBuffer2
- ld bc, 10
+ ld bc, PKMN_NAME_LENGTH - 1
call CopyBytes
ld a, "@"
ld [StringBuffer2 + 10], a
@@ -486,7 +486,7 @@
ld hl, TempMonDVs
predef GetUnownLetter
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
hlcoord 6, 5
call _PrepMonFrontpic
ld a, [CurPartySpecies]
@@ -540,7 +540,7 @@
Function86810: ; 86810
call ClearBGPalettes
ld hl, VTiles2 tile $63
- ld de, FontExtra + $d0
+ ld de, FontExtra + 13 tiles
lb bc, BANK(FontExtra), 1
call Request2bpp
hlcoord 0, 0
@@ -564,9 +564,9 @@
ld b, SCGB_1A
call GetSGBLayout
call SetPalettes
- call Function86635
+ call HOF_SlideBackpic
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, " "
@@ -583,7 +583,7 @@
xor a
ld [hBGMapMode], a
ld [hSCY], a
- call Function86643
+ call HOF_SlideFrontpic
xor a
ld [hBGMapMode], a
hlcoord 0, 2
@@ -618,7 +618,7 @@
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
call PrintNum
call WaitBGMap
- callba Function26601
+ callba ProfOaksPCRating
ret
; 868ed
--- a/event/itemball.asm
+++ b/event/itemball.asm
@@ -2,22 +2,22 @@
callasm .TryReceiveItem
iffalse .no_room
disappear LAST_TALKED
- loadfont
+ opentext
writetext .text_found
playsound SFX_ITEM
pause 60
itemnotify
- loadmovesprites
+ closetext
end
; 0x122e3
.no_room: ; 0x122e3
- loadfont
+ opentext
writetext .text_found
- closetext
+ waitbutton
writetext .text_bag_full
+ waitbutton
closetext
- loadmovesprites
end
; 0x122ee
@@ -37,7 +37,7 @@
xor a
ld [ScriptVar], a
ld a, [EngineBuffer1]
- ld [wd265], a
+ ld [wNamedObjectIndexBuffer], a
call GetItemName
ld hl, StringBuffer3
call CopyName2
--- a/event/itemfinder.asm
+++ b/event/itemfinder.asm
@@ -1,5 +1,5 @@
ItemFinder: ; 12580
- callba CheckForSignpostItems
+ callba CheckForHiddenItems
jr c, .found_something
ld hl, .Script_FoundNothing
jr .resume
@@ -10,12 +10,12 @@
.resume
call QueueScript
ld a, $1
- ld [wd0ec], a
+ ld [wItemEffectSucceeded], a
ret
; 12599
.ItemfinderSound: ; 12599
- ld c, $4
+ ld c, 4
.sfx_loop
push bc
ld de, SFX_SECOND_PART_OF_ITEMFINDER
@@ -33,7 +33,7 @@
special UpdateTimePals
callasm .ItemfinderSound
writetext .Text_FoundSomething
- loadmovesprites
+ closetext
end
; 0x125ba
@@ -41,7 +41,7 @@
reloadmappart
special UpdateTimePals
writetext .Text_FoundNothing
- loadmovesprites
+ closetext
end
; 0x125c3
--- a/event/kurt.asm
+++ b/event/kurt.asm
@@ -1,10 +1,10 @@
Kurt_PrintTextWhichApricorn: ; 88000
- ld hl, UnknownText_0x88007
+ ld hl, .Text
call PrintText
ret
; 88007
-UnknownText_0x88007: ; 0x88007
+.Text: ; 0x88007
; Which APRICORN should I use?
text_jump UnknownText_0x1bc06b
db "@"
@@ -11,12 +11,12 @@
; 0x8800c
Kurt_PrintTextHowMany: ; 8800c
- ld hl, UnknownText_0x88013
+ ld hl, .Text
call PrintText
ret
; 88013
-UnknownText_0x88013: ; 0x88013
+.Text: ; 0x88013
; How many should I make?
text_jump UnknownText_0x1bc089
db "@"
@@ -40,7 +40,7 @@
and a
jr z, .done
ld [CurItem], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld c, a
push bc
call Kurt_PrintTextHowMany
@@ -67,9 +67,9 @@
ld [hBGMapMode], a
call InitScrollingMenu
call UpdateSprites
- call HandleScrollingMenu
- ld a, [wcf73]
- cp $2
+ call ScrollingMenu
+ ld a, [wMenuJoypad]
+ cp B_BUTTON
jr z, .nope
ld a, [MenuSelection]
cp -1
@@ -116,7 +116,7 @@
call Kurt_GetQuantityOfApricorn
ret z
ld a, [wItemQuantityChangeBuffer]
- ld [wcf75], a
+ ld [MenuSelectionQuantity], a
callba PlaceMenuItemQuantity
ret
; 880c2
@@ -154,7 +154,7 @@
scf
.done
- call WriteBackup
+ call CloseWindow
ret
; 8810d
@@ -167,7 +167,7 @@
.PlaceApricornName: ; 88116
call MenuBoxCoord2Tile
- ld de, $0015
+ ld de, SCREEN_WIDTH + 1
add hl, de
ld d, h
ld e, l
@@ -177,7 +177,7 @@
PlaceApricornQuantity: ; 88126
call MenuBoxCoord2Tile
- ld de, $0032
+ ld de, 2 * SCREEN_WIDTH + 10
add hl, de
ld [hl], "×"
inc hl
@@ -231,16 +231,16 @@
ld c, a
ld e, $0
xor a
- ld [ItemCountBuffer], a
+ ld [CurItemQuantity], a
ld a, -1
- ld [wd002], a
+ ld [wApricorns], a
; Search for [CurItem] in the bag.
.loop1
; Increase the total count.
- ld a, [ItemCountBuffer]
+ ld a, [CurItemQuantity]
inc a
- ld [ItemCountBuffer], a
+ ld [CurItemQuantity], a
; Get the index of the next item.
inc hl
ld a, [hli]
@@ -253,10 +253,10 @@
; Increment the result counter and store the bag index of the match.
ld d, $0
push hl
- ld hl, wd002
+ ld hl, wApricorns
add hl, de
inc e
- ld a, [ItemCountBuffer]
+ ld a, [CurItemQuantity]
dec a
ld [hli], a
ld a, -1
@@ -271,7 +271,7 @@
jr z, .done
dec a
jr z, .OnlyOne
- ld hl, wd002
+ ld hl, wApricorns
.loop2
ld a, [hl]
@@ -316,13 +316,13 @@
jr nz, .loop2
.OnlyOne
- ld hl, wd002
+ ld hl, wApricorns
.loop4
ld a, [hl]
cp -1
jr z, .done
push hl
- ld [ItemCountBuffer], a
+ ld [CurItemQuantity], a
call Kurt_GetRidOfItem
pop hl
ld a, [wItemQuantityChangeBuffer]
@@ -375,7 +375,7 @@
Kurt_GetRidOfItem: ; 88211
push bc
ld hl, NumItems
- ld a, [ItemCountBuffer]
+ ld a, [CurItemQuantity]
ld c, a
ld b, $0
inc hl
--- a/event/magikarp.asm
+++ b/event/magikarp.asm
@@ -1,5 +1,3 @@
-
-
Special_CheckMagikarpLength: ; fbb32
; Returns 3 if you select a Magikarp that beats the previous record.
; Returns 2 if you select a Magikarp, but the current record is longer.
@@ -81,7 +79,7 @@
; 0xfbbae
Magikarp_LoadFeetInchesChars: ; fbbae
- ld hl, VTiles2 + "′" * $10
+ ld hl, VTiles2 tile "′"
ld de, .feetinchchars
lb bc, BANK(.feetinchchars), 2
call Request2bpp
--- a/event/magnet_train.asm
+++ b/event/magnet_train.asm
@@ -3,14 +3,14 @@
and a
jr nz, .ToGoldenrod
ld a, 1 ; forwards
- lb bc, $40, $60
- ld de, $fca0
+ lb bc, $40, $60
+ lb de, (11 * 8) - (11 * 8 + 4), -$60
jr .continue
.ToGoldenrod
ld a, -1 ; backwards
- lb bc, $c0, $a0
- ld de, $b460
+ lb bc, -$40, -$60
+ lb de, (11 * 8) + (11 * 8 + 4), $60
.continue
ld h, a
@@ -18,21 +18,23 @@
push af
ld a, $5
ld [rSVBK], a
+
ld a, h
- ld [w5_d191], a
+ ld [wMagnetTrainDirection], a
ld a, c
- ld [w5_d192], a
+ ld [wMagnetTrainInitPosition], a
ld a, b
- ld [w5_d193], a
+ ld [wMagnetTrainHoldPosition], a
ld a, e
- ld [w5_d194], a
+ ld [wMagnetTrainFinalPosition], a
ld a, d
- ld [w5_d195], a
+ ld [wMagnetTrainPlayerSpriteInitX], a
+
ld a, [hSCX]
push af
ld a, [hSCY]
push af
- call Function8ccc9
+ call MagntTrain_LoadGFX_PlayMusic
ld hl, hVBlank
ld a, [hl]
push af
@@ -43,15 +45,15 @@
jr z, .initialize
bit 7, a
jr nz, .done
- callab Function8cf69
- call Function8cdf7
- call Function8cc99
+ callab PlaySpriteAnimations
+ call MagnetTrain_Jumptable
+ call MagnetTrain_UpdateLYOverrides
call Function3b0c
call DelayFrame
jr .loop
.initialize
- call Function8ceae
+ call MagnetTrain_Jumptable_FirstRunThrough
jr .loop
.done
@@ -59,9 +61,9 @@
ld [hVBlank], a
call ClearBGPalettes
xor a
- ld [hLCDStatCustom], a
- ld [hLCDStatCustom + 1], a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC6], a
+ ld [hFFC7], a
+ ld [hFFC8], a
ld [hSCX], a
ld [Requested2bppSource], a
ld [Requested2bppSource + 1], a
@@ -69,6 +71,7 @@
ld [Requested2bppDest + 1], a
ld [Requested2bpp], a
call ClearTileMap
+
pop af
ld [hSCY], a
pop af
@@ -80,21 +83,21 @@
ret
; 8cc99
-Function8cc99: ; 8cc99
+MagnetTrain_UpdateLYOverrides: ; 8cc99
ld hl, LYOverridesBackup
ld c, $2f
ld a, [wcf64]
add a
ld [hSCX], a
- call Function8ccc4
+ call .loadloop
ld c, $30
ld a, [wcf65]
- call Function8ccc4
+ call .loadloop
ld c, $31
ld a, [wcf64]
add a
- call Function8ccc4
- ld a, [wd191]
+ call .loadloop
+ ld a, [wMagnetTrainDirection]
ld d, a
ld hl, wcf64
ld a, [hl]
@@ -103,21 +106,19 @@
endr
ld [hl], a
ret
-; 8ccc4
-Function8ccc4: ; 8ccc4
-.asm_8ccc4
+.loadloop
ld [hli], a
dec c
- jr nz, .asm_8ccc4
+ jr nz, .loadloop
ret
; 8ccc9
-Function8ccc9: ; 8ccc9
+MagntTrain_LoadGFX_PlayMusic: ; 8ccc9
call ClearBGPalettes
call ClearSprites
call DisableLCD
- callab Function8cf53
+ callab ClearSpriteAnims
call SetMagnetTrainPals
call DrawMagnetTrain
ld a, $90
@@ -135,20 +136,20 @@
pop af
ld [rSVBK], a
ld hl, VTiles0
- ld c, $4
+ ld c, 4
call Request2bpp
- ld hl, $c0
+ ld hl, 12 tiles
add hl, de
ld d, h
ld e, l
ld hl, VTiles0 tile $04
- ld c, $4
+ ld c, 4
call Request2bpp
- call Function8cda6
+ call MagnetTrain_InitLYOverrides
ld hl, wJumptableIndex
xor a
ld [hli], a
- ld a, [wd192]
+ ld a, [wMagnetTrainInitPosition]
rept 3
ld [hli], a
endr
@@ -160,13 +161,13 @@
DrawMagnetTrain: ; 8cd27
hlbgcoord 0, 0
xor a
-.asm_8cd2b
+.loop
call GetMagnetTrainBGTiles
ld b, 32 / 2
call .FillAlt
inc a
cp $12
- jr c, .asm_8cd2b
+ jr c, .loop
hlbgcoord 0, 6
ld de, MagnetTrainTilemap1
ld c, 20
@@ -243,17 +244,17 @@
db $5c, $5d ; bush
; 8cda6
-Function8cda6: ; 8cda6
+MagnetTrain_InitLYOverrides: ; 8cda6
ld hl, LYOverrides
- ld bc, $90
- ld a, [wd192]
+ ld bc, LYOverridesEnd - LYOverrides
+ ld a, [wMagnetTrainInitPosition]
call ByteFill
ld hl, LYOverridesBackup
- ld bc, $90
- ld a, [wd192]
+ ld bc, LYOverridesBackupEnd - LYOverridesBackup
+ ld a, [wMagnetTrainInitPosition]
call ByteFill
ld a, $43
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ret
; 8cdc3
@@ -290,11 +291,11 @@
ret
; 8cdf7
-Function8cdf7: ; 8cdf7
+MagnetTrain_Jumptable: ; 8cdf7
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, Jumptable_8ce06
+ ld hl, .Jumptable
rept 2
add hl, de
endr
@@ -304,25 +305,26 @@
jp [hl]
; 8ce06
-Jumptable_8ce06: ; 8ce06
- dw Function8ce19
- dw Function8ce6d
- dw Function8ce47
- dw Function8ce6d
- dw Function8ce7a
- dw Function8ce6d
- dw Function8cea2
+.Jumptable: ; 8ce06
+
+ dw .InitPlayerSpriteAnim
+ dw .WaitScene
+ dw .MoveTrain1
+ dw .WaitScene
+ dw .MoveTrain2
+ dw .WaitScene
+ dw .TrainArrived
; 8ce14
-Function8ce14: ; 8ce14
+.Next: ; 8ce14
ld hl, wJumptableIndex
inc [hl]
ret
; 8ce19
-Function8ce19: ; 8ce19
- ld d, $55
- ld a, [wd194 + 1]
+.InitPlayerSpriteAnim: ; 8ce19
+ ld d, 10 * 8 + 5
+ ld a, [wMagnetTrainPlayerSpriteInitX]
ld e, a
ld b, SPRITE_ANIM_INDEX_15
ld a, [rSVBK]
@@ -331,67 +333,67 @@
ld [rSVBK], a
ld a, [PlayerGender]
bit 0, a
- jr z, .asm_8ce31
+ jr z, .got_gender
ld b, SPRITE_ANIM_INDEX_1F
-.asm_8ce31
+.got_gender
pop af
ld [rSVBK], a
ld a, b
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $0
- call Function8ce14
+ call .Next
ld a, $80
ld [wcf66], a
ret
; 8ce47
-Function8ce47: ; 8ce47
- ld hl, wd193
+.MoveTrain1: ; 8ce47
+ ld hl, wMagnetTrainHoldPosition
ld a, [wcf65]
cp [hl]
- jr z, .asm_8ce64
+ jr z, .PrepareToHoldTrain
ld e, a
- ld a, [wd191]
+ ld a, [wMagnetTrainDirection]
xor $ff
inc a
add e
ld [wcf65], a
- ld hl, wc3c0
- ld a, [wd191]
+ ld hl, wGlobalAnimXOffset
+ ld a, [wMagnetTrainDirection]
add [hl]
ld [hl], a
ret
-.asm_8ce64
- call Function8ce14
+.PrepareToHoldTrain
+ call .Next
ld a, $80
ld [wcf66], a
ret
; 8ce6d
-Function8ce6d: ; 8ce6d
+.WaitScene: ; 8ce6d
ld hl, wcf66
ld a, [hl]
and a
- jr z, .asm_8ce76
+ jr z, .DoneWaiting
dec [hl]
ret
-.asm_8ce76
- call Function8ce14
+.DoneWaiting
+ call .Next
ret
; 8ce7a
-Function8ce7a: ; 8ce7a
- ld hl, wd194
+.MoveTrain2: ; 8ce7a
+ ld hl, wMagnetTrainFinalPosition
ld a, [wcf65]
cp [hl]
- jr z, .asm_8ce9e
+ jr z, .PrepareToFinishAnim
ld e, a
- ld a, [wd191]
+ ld a, [wMagnetTrainDirection]
xor $ff
inc a
ld d, a
@@ -400,8 +402,8 @@
add d
endr
ld [wcf65], a
- ld hl, wc3c0
- ld a, [wd191]
+ ld hl, wGlobalAnimXOffset
+ ld a, [wMagnetTrainDirection]
ld d, a
ld a, [hl]
rept 2
@@ -412,12 +414,12 @@
ret
-.asm_8ce9e
- call Function8ce14
+.PrepareToFinishAnim
+ call .Next
ret
; 8cea2
-Function8cea2: ; 8cea2
+.TrainArrived: ; 8cea2
ld a, $80
ld [wJumptableIndex], a
ld de, SFX_TRAIN_ARRIVED
@@ -425,10 +427,10 @@
ret
; 8ceae
-Function8ceae: ; 8ceae
- callba Function8cf69
- call Function8cdf7
- call Function8cc99
+MagnetTrain_Jumptable_FirstRunThrough: ; 8ceae
+ callba PlaySpriteAnimations
+ call MagnetTrain_Jumptable
+ call MagnetTrain_UpdateLYOverrides
call Function3b0c
call DelayFrame
ld a, [rSVBK]
@@ -444,15 +446,15 @@
ld [TimeOfDayPal], a
ld a, $1
ld [wPermission], a
- ld b, SCGB_09
+ ld b, SCGB_MAPPALS
call GetSGBLayout
call UpdateTimePals
ld a, [rBGP]
- ld [wcfc7], a
+ ld [wBGP], a
ld a, [rOBP0]
- ld [wcfc8], a
+ ld [wOBP0], a
ld a, [rOBP1]
- ld [wcfc9], a
+ ld [wOBP1], a
pop af
ld [wPermission], a
pop af
--- a/event/mom.asm
+++ b/event/mom.asm
@@ -5,24 +5,24 @@
ld [hInMenu], a
xor a
ld [wJumptableIndex], a
-.asm_16223
+.loop
ld a, [wJumptableIndex]
bit 7, a
- jr nz, .asm_1622f
- call Function16233
- jr .asm_16223
+ jr nz, .done
+ call .RunJumptable
+ jr .loop
-.asm_1622f
+.done
pop af
ld [hInMenu], a
ret
; 16233
-Function16233: ; 16233
+.RunJumptable: ; 16233
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -32,7 +32,8 @@
jp [hl]
; 16242
-.jumptable: ; 16242
+.dw: ; 16242
+
dw .CheckIfBankInitialized
dw .InitializeBank
dw .IsThisAboutYourMoney
@@ -106,10 +107,10 @@
call LoadStandardMenuDataHeader
ld hl, MenuDataHeader_0x166b5
call CopyMenuDataHeader
- call InterpretMenu2
- call WriteBackup
+ call VerticalMenu
+ call CloseWindow
jr c, .cancel
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr z, .withdraw
cp $2
@@ -152,7 +153,7 @@
call Function16517
call Function1656b
call Function16571
- call WriteBackup
+ call CloseWindow
jr c, .CancelDeposit
ld hl, StringBuffer2
ld a, [hli]
@@ -220,7 +221,7 @@
call Function16512
call Function1656b
call Function16571
- call WriteBackup
+ call CloseWindow
jr c, .CancelWithdraw
ld hl, StringBuffer2
ld a, [hli]
@@ -309,36 +310,36 @@
ld a, [wDST]
bit 7, a
ld a, [hHours]
- jr z, .asm_16447
+ jr z, .NotDST
and a ; within one hour of 00:00?
jr z, .LostBooklet
jr .loop
-.asm_16447
+.NotDST
cp 23 ; within one hour of 23:00?
jr nz, .loop
; fallthrough
.LostBooklet
- call Function164ea
+ call .ClearBox
bccoord 1, 14
- ld hl, UnknownText_0x164f4
+ ld hl, .Text_AdjustClock
call PlaceWholeStringInBoxAtOnce
call YesNoBox
ret c
- call Function164ea
+ call .ClearBox
bccoord 1, 14
- ld hl, LostInstructionBookletText
+ ld hl, .Text_LostInstructionBooklet
call PlaceWholeStringInBoxAtOnce
ret
.loop
- call Function164ea
+ call .ClearBox
bccoord 1, 14
ld a, [wDST]
bit 7, a
- jr z, .asm_16497
- ld hl, UnknownText_0x16508
+ jr z, .SetDST
+ ld hl, .Text_IsDSTOver
call PlaceWholeStringInBoxAtOnce
call YesNoBox
ret c
@@ -345,15 +346,15 @@
ld a, [wDST]
res 7, a
ld [wDST], a
- call Function164d1
- call Function164ea
+ call .SetClockBack
+ call .ClearBox
bccoord 1, 14
- ld hl, UnknownText_0x1650d
+ ld hl, .Text_SetClockBack
call PlaceWholeStringInBoxAtOnce
ret
-.asm_16497
- ld hl, UnknownText_0x164fe
+.SetDST
+ ld hl, .Text_SwitchToDST
call PlaceWholeStringInBoxAtOnce
call YesNoBox
ret c
@@ -360,21 +361,21 @@
ld a, [wDST]
set 7, a
ld [wDST], a
- call Function164b9
- call Function164ea
+ call .SetClockForward
+ call .ClearBox
bccoord 1, 14
- ld hl, UnknownText_0x16503
+ ld hl, .Text_SetClockForward
call PlaceWholeStringInBoxAtOnce
ret
; 164b9
-Function164b9: ; 164b9
+.SetClockForward: ; 164b9
ld a, [StartHour]
add 1
sub 24
- jr nc, .asm_164c4
+ jr nc, .DontLoopHourForward
add 24
-.asm_164c4
+.DontLoopHourForward
ld [StartHour], a
ccf
ld a, [StartDay]
@@ -383,23 +384,23 @@
ret
; 164d1
-Function164d1: ; 164d1
+.SetClockBack: ; 164d1
ld a, [StartHour]
sub 1
- jr nc, .asm_164da
+ jr nc, .DontLoopHourBack
add 24
-.asm_164da
+.DontLoopHourBack
ld [StartHour], a
ld a, [StartDay]
sbc 0
- jr nc, .asm_164e6
+ jr nc, .DontLoopDayBack
add 7
-.asm_164e6
+.DontLoopDayBack
ld [StartDay], a
ret
; 164ea
-Function164ea: ; 164ea
+.ClearBox: ; 164ea
hlcoord 1, 14
lb bc, 3, 18
call ClearBox
@@ -406,13 +407,13 @@
ret
; 164f4
-UnknownText_0x164f4: ; 0x164f4
+.Text_AdjustClock: ; 0x164f4
; Do you want to adjust your clock for Daylight Saving Time?
text_jump UnknownText_0x1c6095
db "@"
; 0x164f9
-LostInstructionBookletText: ; 0x164f9
+.Text_LostInstructionBooklet: ; 0x164f9
; I lost the instruction booklet for the POKéGEAR.
; Come back again in a while.
text_jump UnknownText_0x1c60d1
@@ -419,25 +420,25 @@
db "@"
; 0x164fe
-UnknownText_0x164fe: ; 0x164fe
+.Text_SwitchToDST: ; 0x164fe
; Do you want to switch to Daylight Saving Time?
text_jump UnknownText_0x1c6000
db "@"
; 0x16503
-UnknownText_0x16503: ; 0x16503
+.Text_SetClockForward: ; 0x16503
; I set the clock forward by one hour.
text_jump UnknownText_0x1c6030
db "@"
; 0x16508
-UnknownText_0x16508: ; 0x16508
+.Text_IsDSTOver: ; 0x16508
; Is Daylight Saving Time over?
text_jump UnknownText_0x1c6056
db "@"
; 0x1650d
-UnknownText_0x1650d: ; 0x1650d
+.Text_SetClockBack: ; 0x1650d
; I put the clock back one hour.
text_jump UnknownText_0x1c6075
db "@"
--- a/event/mom_phone.asm
+++ b/event/mom_phone.asm
@@ -6,43 +6,43 @@
and a
ret nz
xor a
- ld [wdc18], a
+ ld [wWhichMomItemSet], a
call CheckBalance_MomItem2
ret nc
- call Functionfd0c3
+ call Mom_GiveItemOrDoll
ret nc
- ld b, BANK(UnknownScript_0xfd00f)
- ld de, UnknownScript_0xfd00f
+ ld b, BANK(.Script)
+ ld de, .Script
callba LoadScriptBDE
scf
ret
; fd00f
-UnknownScript_0xfd00f: ; 0xfd00f
- callasm Functionfd017
+.Script: ; 0xfd00f
+ callasm .ASMFunction
farjump Script_ReceivePhoneCall
; 0xfd017
-Functionfd017: ; fd017
+.ASMFunction: ; fd017
call MomBuysItem_DeductFunds
- call Functionfd0eb
- ld a, [wdc18]
+ call Mom_GetScriptPointer
+ ld a, [wWhichMomItemSet]
and a
jr nz, .ok
- ld hl, wdc17
+ ld hl, wWhichMomItem
inc [hl]
.ok
- ld a, 1
+ ld a, PHONE_MOM
ld [wCurrentCaller], a
- ld bc, wd03f
+ ld bc, EngineBuffer2
ld hl, 0
add hl, bc
ld [hl], 0
inc hl
ld [hl], 1
- ld hl, 9
+ ld hl, wPhoneScriptPointer - EngineBuffer2
add hl, bc
- ld a, $3f
+ ld a, BANK(Mom_GetScriptPointer)
ld [hli], a
ld a, e
ld [hli], a
@@ -52,7 +52,7 @@
; fd044
CheckBalance_MomItem2: ; fd044
- ld a, [wdc17]
+ ld a, [wWhichMomItem]
cp 10
jr nc, .nope
call GetItemFromMom
@@ -82,12 +82,12 @@
inc hl
ld [hl], (2300 % $100) ; $fc
.loop
- ld de, wdc19
+ ld de, MomItemTriggerBalance
ld bc, wMomsMoney
callba CompareMoney
jr z, .exact
jr nc, .less_than
- call Functionfd099
+ call .AddMoney
jr .loop
.less_than
@@ -95,17 +95,16 @@
ret
.exact
- call Functionfd099
+ call .AddMoney
ld a, 5
call RandomRange
inc a
- ld [wdc18], a
+ ld [wWhichMomItemSet], a
scf
ret
-; fd099
-Functionfd099: ; fd099
- ld de, wdc19
+.AddMoney
+ ld de, MomItemTriggerBalance
ld bc, hMoneyTemp
callba AddMoney
ret
@@ -114,7 +113,7 @@
MomBuysItem_DeductFunds: ; fd0a6 (3f:50a6)
call GetItemFromMom
- ld de, 3
+ ld de, 3 ; cost
add hl, de
ld a, [hli]
ld [hMoneyTemp], a
@@ -128,12 +127,12 @@
ret
-Functionfd0c3: ; fd0c3
+Mom_GiveItemOrDoll: ; fd0c3
call GetItemFromMom
- ld de, 6
+ ld de, 6 ; item type
add hl, de
ld a, [hli]
- cp 1
+ cp MOM_ITEM
jr z, .not_doll
ld a, [hl]
ld c, a
@@ -145,7 +144,7 @@
.not_doll
ld a, [hl]
ld [CurItem], a
- ld a, $1
+ ld a, 1
ld [wItemQuantityChangeBuffer], a
ld hl, PCItems
call ReceiveItem
@@ -153,19 +152,19 @@
; fd0eb
-Functionfd0eb: ; fd0eb (3f:50eb)
+Mom_GetScriptPointer: ; fd0eb (3f:50eb)
call GetItemFromMom
- ld de, 6 ; field
+ ld de, 6 ; item type
add hl, de
ld a, [hli]
- ld de, Script_MomBoughtItem
- cp 1
+ ld de, .ItemScript
+ cp MOM_ITEM
ret z
- ld de, Script_MomBoughtDoll
+ ld de, .DollScript
ret
; fd0fd (3f:50fd)
-Script_MomBoughtItem: ; 0xfd0fd
+.ItemScript: ; 0xfd0fd
writetext _MomText_HiHowAreYou
writetext _MomText_FoundAnItem
writetext _MomText_BoughtWithYourMoney
@@ -173,7 +172,7 @@
end
; 0xfd10a
-Script_MomBoughtDoll: ; 0xfd10a
+.DollScript: ; 0xfd10a
writetext _MomText_HiHowAreYou
writetext _MomText_FoundADoll
writetext _MomText_BoughtWithYourMoney
@@ -183,15 +182,15 @@
GetItemFromMom: ; fd117
- ld a, [wdc18]
+ ld a, [wWhichMomItemSet]
and a
jr z, .zero
dec a
ld de, MomItems_1
- jr .incave
+ jr .GetFromList1
.zero
- ld a, [wdc17]
+ ld a, [wWhichMomItem]
cp 10 ; length of MomItems_2
jr c, .ok
xor a
@@ -199,7 +198,7 @@
.ok
ld de, MomItems_2
-.incave
+.GetFromList1
ld l, a
ld h, 0
rept 3 ; multiply hl by 8
@@ -223,8 +222,6 @@
momitem 0, 180, MOM_ITEM, POKE_BALL
momitem 0, 450, MOM_ITEM, ESCAPE_ROPE
momitem 0, 500, MOM_ITEM, GREAT_BALL
-; fd15e
-
MomItems_2: ; fd15e
momitem 900, 600, MOM_ITEM, SUPER_POTION
momitem 4000, 270, MOM_ITEM, REPEL
--- a/event/move_deleter.asm
+++ b/event/move_deleter.asm
@@ -1,15 +1,15 @@
MoveDeletion:
- ld hl, UnknownText_0x2c5ef
+ ld hl, .IntroText
call PrintText
call YesNoBox
- jr c, .asm_2c5c3
- ld hl, UnknownText_0x2c5f4
+ jr c, .declined
+ ld hl, .AskWhichMonText
call PrintText
callba SelectMonFromParty
- jr c, .asm_2c5c3
+ jr c, .declined
ld a, [CurPartySpecies]
cp EGG
- jr z, .asm_2c5bc
+ jr z, .egg
ld a, [CurPartyMon]
ld hl, PartyMon1Moves + 1
ld bc, PARTYMON_STRUCT_LENGTH
@@ -16,98 +16,98 @@
call AddNTimes
ld a, [hl]
and a
- jr z, .asm_2c5ca
- ld hl, UnknownText_0x2c5ea
+ jr z, .onlyonemove
+ ld hl, .AskWhichMoveText
call PrintText
call LoadStandardMenuDataHeader
- callba Function12f5b
+ callba ChooseMoveToDelete
push af
- call Function2b74
+ call ReturnToMapWithSpeechTextbox
pop af
- jr c, .asm_2c5c3
- ld a, [MenuSelection2]
+ jr c, .declined
+ ld a, [wMenuCursorY]
push af
ld a, [CurSpecies]
ld [wd265], a
call GetMoveName
- ld hl, UnknownText_0x2c5d6
+ ld hl, .ConfirmDeleteText
call PrintText
call YesNoBox
pop bc
- jr c, .asm_2c5c3
- call Function2c5f9
+ jr c, .declined
+ call .DeleteMove
call WaitSFX
ld de, SFX_MOVE_DELETED
call PlaySFX
call WaitSFX
- ld hl, UnknownText_0x2c5db
+ ld hl, .MoveDeletedText
call PrintText
ret
-.asm_2c5bc
- ld hl, UnknownText_0x2c5e0
+.egg
+ ld hl, .EggText
call PrintText
ret
-.asm_2c5c3
- ld hl, UnknownText_0x2c5e5
+.declined
+ ld hl, .DeclinedDeletionText
call PrintText
ret
-.asm_2c5ca
- ld hl, UnknownText_0x2c5d1
+.onlyonemove
+ ld hl, .OnlyOneMoveText
call PrintText
ret
-UnknownText_0x2c5d1: ; 0x2c5d1
+.OnlyOneMoveText: ; 0x2c5d1
; That #MON knows only one move.
text_jump UnknownText_0x1c5eba
db "@"
; 0x2c5d6
-UnknownText_0x2c5d6: ; 0x2c5d6
+.ConfirmDeleteText: ; 0x2c5d6
; Oh, make it forget @ ?
text_jump UnknownText_0x1c5eda
db "@"
; 0x2c5db
-UnknownText_0x2c5db: ; 0x2c5db
+.MoveDeletedText: ; 0x2c5db
; Done! Your #MON forgot the move.
text_jump UnknownText_0x1c5ef5
db "@"
; 0x2c5e0
-UnknownText_0x2c5e0: ; 0x2c5e0
+.EggText: ; 0x2c5e0
; An EGG doesn't know any moves!
text_jump UnknownText_0x1c5f17
db "@"
; 0x2c5e5
-UnknownText_0x2c5e5: ; 0x2c5e5
+.DeclinedDeletionText: ; 0x2c5e5
; No? Come visit me again.
text_jump UnknownText_0x1c5f36
db "@"
; 0x2c5ea
-UnknownText_0x2c5ea: ; 0x2c5ea
+.AskWhichMoveText: ; 0x2c5ea
; Which move should it forget, then?
text_jump UnknownText_0x1c5f50
db "@"
; 0x2c5ef
-UnknownText_0x2c5ef: ; 0x2c5ef
+.IntroText: ; 0x2c5ef
; Um… Oh, yes, I'm the MOVE DELETER. I can make #MON forget moves. Shall I make a #MON forget?
text_jump UnknownText_0x1c5f74
db "@"
; 0x2c5f4
-UnknownText_0x2c5f4: ; 0x2c5f4
+.AskWhichMonText: ; 0x2c5f4
; Which #MON?
text_jump UnknownText_0x1c5fd1
db "@"
; 0x2c5f9
-Function2c5f9: ; 2c5f9
+.DeleteMove: ; 2c5f9
ld a, b
push bc
dec a
@@ -121,18 +121,18 @@
pop bc
push bc
inc b
-.asm_2c60f
+.loop
ld a, b
cp NUM_MOVES + 1
- jr z, .asm_2c61b
+ jr z, .okay
inc hl
ld a, [hld]
ld [hl], a
inc hl
inc b
- jr .asm_2c60f
+ jr .loop
-.asm_2c61b
+.okay
xor a
ld [hl], a
pop bc
@@ -149,18 +149,18 @@
call AddNTimes
pop bc
inc b
-.asm_2c633
+.loop2
ld a, b
cp NUM_MOVES + 1
- jr z, .asm_2c63f
+ jr z, .done
inc hl
ld a, [hld]
ld [hl], a
inc hl
inc b
- jr .asm_2c633
+ jr .loop2
-.asm_2c63f
+.done
xor a
ld [hl], a
ret
--- a/event/photo.asm
+++ b/event/photo.asm
@@ -50,7 +50,7 @@
xor a
ld [wJumptableIndex], a
- call Function16cc8
+ call .UpdateUnownFrontpic
call WaitBGMap
ld a, UNOWN
@@ -59,7 +59,7 @@
ld [TempMonDVs], a
ld [TempMonDVs + 1], a
- ld b, SCGB_1C
+ ld b, SCGB_FRONTPICPALS
call GetSGBLayout
call SetPalettes
@@ -74,7 +74,7 @@
and A_BUTTON
jr nz, .pressed_a
- call Function16ca0
+ call .LeftRight
call DelayFrame
jr .joy_loop
@@ -96,7 +96,7 @@
ret
; 16ca0
-Function16ca0: ; 16ca0
+.LeftRight: ; 16ca0
ld a, [hJoyLast]
and D_RIGHT
jr nz, .press_right
@@ -110,8 +110,7 @@
ld a, [hl]
and a
jr nz, .wrap_around_left
- ld [hl], $1b
-
+ ld [hl], 26 + 1
.wrap_around_left
dec [hl]
jr .return
@@ -119,19 +118,18 @@
.press_right
ld hl, wJumptableIndex
ld a, [hl]
- cp $1a
+ cp 26
jr c, .wrap_around_right
- ld [hl], $ff
-
+ ld [hl], -1
.wrap_around_right
inc [hl]
.return
- call Function16cc8
+ call .UpdateUnownFrontpic
ret
; 16cc8
-Function16cc8: ; 16cc8
+.UpdateUnownFrontpic: ; 16cc8
ld a, [wJumptableIndex]
cp 26
jr z, Function16d20
@@ -140,7 +138,7 @@
ld a, UNOWN
ld [CurPartySpecies], a
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
ld de, VTiles2
predef GetFrontpic
call Function16cff
@@ -162,7 +160,7 @@
ld a, BANK(sScratch)
call GetSRAMBank
- ld de, w6_d000
+ ld de, wDecompressScratch
ld hl, sScratch
ld a, [hROMBank]
ld b, a
@@ -249,7 +247,7 @@
call PrintText
call DisableSpriteUpdates
callba PrintPartymon
- call Function2b74
+ call ReturnToMapWithSpeechTextbox
ld a, [hPrinter]
and a
jr nz, .cancel
--- a/event/poisonstep.asm
+++ b/event/poisonstep.asm
@@ -104,7 +104,7 @@
ld de, SFX_POISON
call PlaySFX
ld b, $2
- predef Functioncbcdd
+ predef LoadPoisonBGPals
call DelayFrame
ret
; 50669
@@ -111,10 +111,10 @@
.Script_MonFaintedToPoison: ; 50669
callasm .PlayPoisonSFX
- loadfont
+ opentext
callasm .CheckWhitedOut
iffalse .whiteout
- loadmovesprites
+ closetext
end
; 50677
--- a/event/sacred_ash.asm
+++ b/event/sacred_ash.asm
@@ -1,7 +1,7 @@
_SacredAsh: ; 507e6
ld a, $0
- ld [wd0ec], a
+ ld [wItemEffectSucceeded], a
call CheckAnyFaintedMon
ret nc
@@ -8,7 +8,7 @@
ld hl, SacredAshScript
call QueueScript
ld a, $1
- ld [wd0ec], a
+ ld [wItemEffectSucceeded], a
ret
; 507fb
@@ -58,12 +58,12 @@
special FadeInPalettes
special FadeOutPalettes
special FadeInPalettes
- waitbutton
+ waitsfx
writetext UnknownText_0x50845
playsound SFX_CAUGHT_MON
+ waitsfx
waitbutton
closetext
- loadmovesprites
end
; 0x50845
--- a/event/squirtbottle.asm
+++ b/event/squirtbottle.asm
@@ -2,7 +2,7 @@
ld hl, UnknownScript_0x5073c
call QueueScript
ld a, $1
- ld [wd0ec], a
+ ld [wItemEffectSucceeded], a
ret
; 5073c
--- a/event/sweet_scent.asm
+++ b/event/sweet_scent.asm
@@ -2,7 +2,7 @@
ld hl, UnknownScript_0x506c8
call QueueScript
ld a, $1
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; 506c8
@@ -11,14 +11,14 @@
special UpdateTimePals
callasm GetPartyNick
writetext UnknownText_0x50726
- closetext
+ waitbutton
callasm SweetScentEncounter
iffalse UnknownScript_0x506e9
checkflag ENGINE_BUG_CONTEST_TIMER
iftrue UnknownScript_0x506e5
- battlecheck
+ randomwildmon
startbattle
- returnafterbattle
+ reloadmapafterbattle
end
; 0x506e5
@@ -28,8 +28,8 @@
UnknownScript_0x506e9: ; 0x506e9
writetext UnknownText_0x5072b
+ waitbutton
closetext
- loadmovesprites
end
; 0x506ef
--- a/event/unown.asm
+++ b/event/unown.asm
@@ -150,10 +150,10 @@
ld bc, AttrMap - TileMap
add hl, bc
call Function8aee9
- call Function3200
+ call WaitBGMap2
call JoyWaitAorB
call PlayClickSFX
- call WriteBackup
+ call CloseWindow
ret
; 8aebc
--- a/event/whiteout.asm
+++ b/event/whiteout.asm
@@ -9,7 +9,7 @@
Script_Whiteout: ; 0x124ce
writetext .WhitedOutText
- closetext
+ waitbutton
special FadeOutPalettes
pause 40
special HealParty
@@ -20,7 +20,7 @@
farscall Script_AbortBugContest
special WarpToSpawnPoint
newloadmap MAPSETUP_WARP
- resetfuncs
+ end_all
.bug_contest
jumpstd bugcontestresultswarp
@@ -35,7 +35,7 @@
OverworldBGMap: ; 124fa
call ClearPalettes
call ClearScreen
- call Function3200
+ call WaitBGMap2
call HideSprites
call RotateThreePalettesLeft
ret
@@ -42,7 +42,7 @@
; 1250a
BattleBGMap: ; 1250a
- ld b, SCGB_00
+ ld b, SCGB_BATTLE_GRAYSCALE
call GetSGBLayout
call SetPalettes
ret
--- a/gbhw.asm
+++ b/gbhw.asm
@@ -105,8 +105,10 @@
rOBP1 EQU $ff49 ; Object Palette 1 Data (R/W) - Non CGB Mode Only
rWY EQU $ff4a ; Window Y Position (R/W)
rWX EQU $ff4b ; Window X Position minus 7 (R/W)
+rLCDMODE EQU $ff4c
rKEY1 EQU $ff4d ; CGB Mode Only - Prepare Speed Switch
rVBK EQU $ff4f ; CGB Mode Only - VRAM Bank
+rBLCK EQU $ff50
rHDMA1 EQU $ff51 ; CGB Mode Only - New DMA Source, High
rHDMA2 EQU $ff52 ; CGB Mode Only - New DMA Source, Low
rHDMA3 EQU $ff53 ; CGB Mode Only - New DMA Destination, High
binary files /dev/null b/gfx/battle/expbarend.2bpp differ
binary files /dev/null b/gfx/battle/expbarend_sgb.2bpp differ
binary files /dev/null b/gfx/intro/gender_screen.2bpp differ
binary files /dev/null b/gfx/intro/grass1.2bpp differ
binary files /dev/null b/gfx/intro/grass2.2bpp differ
binary files /dev/null b/gfx/intro/grass3.2bpp differ
binary files /dev/null b/gfx/intro/grass4.2bpp differ
--- a/gfx/mail.asm
+++ b/gfx/mail.asm
@@ -694,22 +694,22 @@
MailGFX_PlaceMessage: ; b9803
ld bc, MAIL_STRUCT_LENGTH
- ld de, wd002
- ld a, $0
+ ld de, wTempMail
+ ld a, BANK(sPartyMail)
call GetSRAMBank
call CopyBytes
call CloseSRAM
- ld hl, wd002 + sPartyMon1MailAuthor - sPartyMon1Mail
- ld de, wd050
+ ld hl, wTempMailAuthor
+ ld de, wMonOrItemNameBuffer
ld bc, NAME_LENGTH - 1
call CopyBytes
ld a, "@"
- ld [wd002 + sPartyMon1MailAuthor - sPartyMon1Mail], a
- ld [wd050 + NAME_LENGTH - 1], a
- ld de, wd002
+ ld [wTempMailAuthor], a
+ ld [wMonOrItemNameBuffer + NAME_LENGTH - 1], a
+ ld de, wTempMailMessage
hlcoord 2, 7
call PlaceString
- ld de, wd050
+ ld de, wMonOrItemNameBuffer
ld a, [de]
and a
ret z
--- a/gfx/pics/animation.asm
+++ b/gfx/pics/animation.asm
@@ -97,7 +97,7 @@
ret c
call LoadMonAnimation
.loop
- call Functiond00b4
+ call SetUpPokeAnim
push af
callba Function10402d
pop af
@@ -121,7 +121,7 @@
ret
; d00b4
-Functiond00b4: ; d00b4
+SetUpPokeAnim: ; d00b4
ld a, [rSVBK]
push af
ld a, $2
@@ -184,8 +184,8 @@
; d010b
PokeAnim_Setup: ; d010b
- ld c, $0
- ld b, $0
+ ld c, FALSE
+ ld b, 0
call Functiond0228
call Functiond0504
ld a, [wPokeAnimSceneIndex]
@@ -195,8 +195,8 @@
; d011d
PokeAnim_Setup2: ; d011d
- ld c, $0
- ld b, $4
+ ld c, FALSE
+ ld b, 4
call Functiond0228
call Functiond0504
ld a, [wPokeAnimSceneIndex]
@@ -206,8 +206,8 @@
; d012f
PokeAnim_Extra: ; d012f
- ld c, $1
- ld b, $0
+ ld c, TRUE
+ ld b, 0
call Functiond0228
call Functiond0504
ld a, [wPokeAnimSceneIndex]
@@ -365,8 +365,8 @@
ld a, $2
ld [rSVBK], a
push bc
- ld hl, w2_d172
- ld bc, wPokeAnimStructEnd - w2_d172
+ ld hl, wPokeAnimExtraFlag
+ ld bc, wPokeAnimStructEnd - wPokeAnimExtraFlag
xor a
call ByteFill
pop bc
@@ -373,10 +373,10 @@
ld a, b
ld [w2_d173], a
ld a, c
- ld [w2_d172], a
- call Functiond055c
- call Functiond05ce
- call Functiond061b
+ ld [wPokeAnimExtraFlag], a
+ call GetMonAnimPointer
+ call GetMonFramesPointer
+ call GetMonBitmaskPointer
pop af
ld [rSVBK], a
ret
@@ -425,16 +425,16 @@
PokeAnim_SetRepeat: ; d028e
ld a, [w2_d183]
- ld [w2_d17f], a
+ ld [wPokeAnimRepeatTimer], a
jr Functiond0253
; d0296
PokeAnim_DoRepeat: ; d0296
- ld a, [w2_d17f]
+ ld a, [wPokeAnimRepeatTimer]
and a
ret z
dec a
- ld [w2_d17f], a
+ ld [wPokeAnimRepeatTimer], a
ret z
ld a, [w2_d183]
ld [w2_d17d], a
@@ -509,7 +509,7 @@
ld a, [w2_d17d]
ld e, a
ld d, $0
- ld hl, w2_d175
+ ld hl, wPokeAnimPointerAddr
ld a, [hli]
ld h, [hl]
ld l, a
@@ -516,7 +516,7 @@
rept 2
add hl, de
endr
- ld a, [w2_d174]
+ ld a, [wPokeAnimPointerBank]
call GetFarHalfword
ld a, l
ld [w2_d182], a
@@ -533,7 +533,7 @@
dec a
ld c, a
ld b, $0
- ld hl, w2_d178
+ ld hl, wPokeAnimFramesAddr
ld a, [hli]
ld h, [hl]
ld l, a
@@ -540,9 +540,9 @@
rept 2
add hl, bc
endr
- ld a, [w2_d177]
+ ld a, [wPokeAnimFramesBank]
call GetFarHalfword
- ld a, [w2_d177]
+ ld a, [wPokeAnimFramesBank]
call GetFarByte
ld [w2_d180], a
inc hl
@@ -552,7 +552,7 @@
Functiond033b: ; d033b
call Functiond0356
push bc
- ld hl, w2_d17b
+ ld hl, wPokeAnimBitmaskAddr
ld a, [hli]
ld h, [hl]
ld l, a
@@ -560,7 +560,7 @@
call AddNTimes
pop bc
ld de, w2_d188
- ld a, [w2_d17a]
+ ld a, [wPokeAnimBitmaskBank]
call FarCopyBytes
ret
; d0356
@@ -594,7 +594,7 @@
and a
jr z, .next
- ld a, [w2_d177]
+ ld a, [wPokeAnimFramesBank]
call GetFarByte
inc hl
push hl
@@ -663,7 +663,7 @@
ld a, [w2_d186]
ld bc, SCREEN_WIDTH
call AddNTimes
- ld a, [wc2c6]
+ ld a, [wBoxAlignment]
and a
jr nz, .go
ld a, [w2_d185]
@@ -737,20 +737,34 @@
ret
; d042f
+macro_d042f: MACRO
+y = 7
+rept 7 +- \1
+x = \1
+rept 7 +- \1
+ db x + y
+x = x + 1
+endr
+y = y + 7
+endr
+endm
+
Unknown_d042f:
- db 9, 10, 11, 12, 13
- db 16, 17, 18, 19, 20
- db 23, 24, 25, 26, 27
- db 30, 31, 32, 33, 34
- db 37, 38, 39, 40, 41
+ macro_d042f 2
+ ; db 9, 10, 11, 12, 13
+ ; db 16, 17, 18, 19, 20
+ ; db 23, 24, 25, 26, 27
+ ; db 30, 31, 32, 33, 34
+ ; db 37, 38, 39, 40, 41
Unknown_d0448:
- db 8, 9, 10, 11, 12, 13
- db 15, 16, 17, 18, 19, 20
- db 22, 23, 24, 25, 26, 27
- db 29, 30, 31, 32, 33, 34
- db 36, 37, 38, 39, 40, 41
- db 43, 44, 45, 46, 47, 48
+ macro_d042f 1
+ ; db 8, 9, 10, 11, 12, 13
+ ; db 15, 16, 17, 18, 19, 20
+ ; db 22, 23, 24, 25, 26, 27
+ ; db 29, 30, 31, 32, 33, 34
+ ; db 36, 37, 38, 39, 40, 41
+ ; db 43, 44, 45, 46, 47, 48
Functiond046c: ; d046c
@@ -772,7 +786,7 @@
ld bc, 45
.okay
- ld a, [wc2c6]
+ ld a, [wBoxAlignment]
and a
jr nz, .add_bc
add hl, de
@@ -810,7 +824,7 @@
Functiond04bd: ; d04bd
call Functiond04f6
- ld a, [wc2c6]
+ ld a, [wBoxAlignment]
and a
jr nz, .minus_one_and_six
ld de, 1
@@ -931,7 +945,7 @@
ret
; d055c
-Functiond055c: ; d055c
+GetMonAnimPointer: ; d055c
call PokeAnim_IsEgg
jr z, .egg
@@ -945,12 +959,12 @@
ld de, AnimationExtraPointers
.unown
- ld a, [w2_d172]
+ ld a, [wPokeAnimExtraFlag]
and a
- jr z, .asm_d057e
+ jr z, .extras
ld h, d
ld l, e
-.asm_d057e
+.extras
ld a, [wPokeAnimSpeciesOrUnown]
dec a
@@ -960,30 +974,30 @@
add hl, de
endr
ld a, c
- ld [w2_d174], a
+ ld [wPokeAnimPointerBank], a
call GetFarHalfword
ld a, l
- ld [w2_d175], a
+ ld [wPokeAnimPointerAddr], a
ld a, h
- ld [w2_d176], a
+ ld [wPokeAnimPointerAddr + 1], a
ret
.egg
ld hl, EggAnimation
ld c, BANK(EggAnimation)
- ld a, [w2_d172]
+ ld a, [wPokeAnimExtraFlag]
and a
- jr z, .asm_d05a7
+ jr z, .extras_egg
ld hl, EggAnimationExtra
ld c, BANK(EggAnimationExtra)
-.asm_d05a7
+.extras_egg
ld a, c
- ld [w2_d174], a
+ ld [wPokeAnimPointerBank], a
ld a, l
- ld [w2_d175], a
+ ld [wPokeAnimPointerAddr], a
ld a, h
- ld [w2_d176], a
+ ld [wPokeAnimPointerAddr + 1], a
ret
; d05b4
@@ -1003,7 +1017,7 @@
ret
; d05ce
-Functiond05ce: ; d05ce
+GetMonFramesPointer: ; d05ce
call PokeAnim_IsEgg
jr z, .egg
@@ -1013,7 +1027,7 @@
ld hl, UnownFramesPointers
jr z, .got_frames
ld a, [wPokeAnimSpecies]
- cp 151 + 1
+ cp CHIKORITA
ld b, BANK(FramesPointers)
ld c, BANK(KantoFrames)
ld hl, FramesPointers
@@ -1021,7 +1035,7 @@
ld c, BANK(JohtoFrames)
.got_frames
ld a, c
- ld [w2_d177], a
+ ld [wPokeAnimFramesBank], a
ld a, [wPokeAnimSpeciesOrUnown]
dec a
@@ -1033,9 +1047,9 @@
ld a, b
call GetFarHalfword
ld a, l
- ld [w2_d178], a
+ ld [wPokeAnimFramesAddr], a
ld a, h
- ld [w2_d179], a
+ ld [wPokeAnimFramesAddr + 1], a
ret
.egg
@@ -1042,15 +1056,15 @@
ld hl, EggFrames
ld c, BANK(EggFrames)
ld a, c
- ld [w2_d177], a
+ ld [wPokeAnimFramesBank], a
ld a, l
- ld [w2_d178], a
+ ld [wPokeAnimFramesAddr], a
ld a, h
- ld [w2_d179], a
+ ld [wPokeAnimFramesAddr + 1], a
ret
; d061b
-Functiond061b: ; d061b
+GetMonBitmaskPointer: ; d061b
call PokeAnim_IsEgg
jr z, .egg
@@ -1061,7 +1075,7 @@
ld a, BANK(BitmasksPointers)
ld hl, BitmasksPointers
.unown
- ld [w2_d17a], a
+ ld [wPokeAnimBitmaskBank], a
ld a, [wPokeAnimSpeciesOrUnown]
dec a
@@ -1070,12 +1084,12 @@
rept 2
add hl, de
endr
- ld a, [w2_d17a]
+ ld a, [wPokeAnimBitmaskBank]
call GetFarHalfword
ld a, l
- ld [w2_d17b], a
+ ld [wPokeAnimBitmaskAddr], a
ld a, h
- ld [w2_d17c], a
+ ld [wPokeAnimBitmaskAddr + 1], a
ret
.egg
@@ -1082,11 +1096,11 @@
ld c, BANK(EggBitmasks)
ld hl, EggBitmasks
ld a, c
- ld [w2_d17a], a
+ ld [wPokeAnimBitmaskBank], a
ld a, l
- ld [w2_d17b], a
+ ld [wPokeAnimBitmaskAddr], a
ld a, h
- ld [w2_d17c], a
+ ld [wPokeAnimBitmaskAddr + 1], a
ret
; d065c
@@ -1103,7 +1117,7 @@
Functiond0669: ; d0669
ld a, $1
- ld [wc2c6], a
+ ld [wBoxAlignment], a
Functiond066e: ; d066e
call AnimateMon_CheckIfPokemon
@@ -1120,12 +1134,12 @@
ld e, c
call AnimateFrontpic
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
ret
.asm_d068c
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
inc a
ld [CurPartySpecies], a
ret
binary files /dev/null b/gfx/pics/questionmark/front.2bpp.lz differ
binary files /dev/null b/gfx/pokedex/pokedex.2bpp.lz differ
binary files /dev/null b/gfx/pokedex/sgb.2bpp.lz differ
--- /dev/null
+++ b/gfx/pokegear/dexmap_nest_icon.2bpp
@@ -1,0 +1,1 @@
+BBff��������ZZ$$
\ No newline at end of file
binary files /dev/null b/gfx/pokegear/flymap_label_border.2bpp differ
binary files a/gfx/unknown/04150e.2bpp.lz /dev/null differ
binary files a/gfx/unknown/048e71.2bpp /dev/null differ
binary files a/gfx/unknown/08e7f4.2bpp /dev/null differ
binary files a/gfx/unknown/08e804.2bpp /dev/null differ
--- a/gfx/unknown/0922d1.2bpp
+++ /dev/null
@@ -1,1 +1,0 @@
-BBff��������ZZ$$
\ No newline at end of file
binary files a/gfx/unknown/0922e1.2bpp /dev/null differ
binary files a/gfx/unknown/092301.2bpp /dev/null differ
binary files a/gfx/unknown/0e1723.2bpp /dev/null differ
binary files a/gfx/unknown/0e17c5.2bpp /dev/null differ
binary files a/gfx/unknown/0e1805.2bpp.lz /dev/null differ
binary files a/gfx/unknown/0e18ab.2bpp.lz /dev/null differ
binary files a/gfx/unknown/0e19fb.2bpp.lz /dev/null differ
binary files a/gfx/unknown/0e1bab.2bpp.lz /dev/null differ
binary files a/gfx/unknown/0e1c9b.2bpp.lz /dev/null differ
binary files a/gfx/unknown/0e799d.2bpp /dev/null differ
binary files a/gfx/unknown/0e79dd.2bpp /dev/null differ
binary files a/gfx/unknown/0e7a1d.2bpp /dev/null differ
binary files a/gfx/unknown/0e7a5d.2bpp /dev/null differ
binary files a/gfx/unknown/1ddf33.2bpp.lz /dev/null differ
binary files a/gfx/unknown/1de0e1.2bpp.lz /dev/null differ
binary files /dev/null b/gfx/unown_puzzle/aerodactyl.2bpp.lz differ
binary files /dev/null b/gfx/unown_puzzle/cursor.2bpp differ
binary files /dev/null b/gfx/unown_puzzle/hooh.2bpp.lz differ
binary files /dev/null b/gfx/unown_puzzle/kabuto.2bpp.lz differ
binary files /dev/null b/gfx/unown_puzzle/omanyte.2bpp.lz differ
binary files /dev/null b/gfx/unown_puzzle/start_cancel.2bpp.lz differ
binary files /dev/null b/gfx/unown_puzzle/tile_borders.2bpp differ
--- a/home.asm
+++ b/home.asm
@@ -3,11 +3,9 @@
SECTION "NULL", ROM0[0]
NULL::
-
INCLUDE "rst.asm"
INCLUDE "interrupts.asm"
-
SECTION "Header", ROM0[$100]
Start::
@@ -14,7 +12,6 @@
nop
jp _Start
-
SECTION "Home", ROM0[$150]
INCLUDE "home/init.asm"
@@ -40,7 +37,6 @@
INCLUDE "home/game_time.asm"
INCLUDE "home/map.asm"
-
Function2d43:: ; 2d43
; Inexplicably empty.
; Seen in PredefPointers.
@@ -50,12 +46,10 @@
ret
; 2d54
-
INCLUDE "home/farcall.asm"
INCLUDE "home/predef.asm"
INCLUDE "home/window.asm"
-
Function2e4e:: ; 2e4e
; Unreferenced.
scf
@@ -62,17 +56,16 @@
ret
; 2e50
-
INCLUDE "home/flag.asm"
-
Function2ebb:: ; 2ebb
- ld a, [wc2cc]
+; unreferenced
+ ld a, [wMonStatusFlags]
bit 1, a
ret z
ld a, [hJoyDown]
- bit 1, a ; B_BUTTON
+ bit B_BUTTON_F, a
ret
; 2ec6
@@ -88,14 +81,14 @@
; 2ecb
Function2ecb:: ; 2ecb
+; unreferenced
push hl
- ld hl, wc2cc
+ ld hl, wMonStatusFlags
bit 1, [hl]
pop hl
ret
; 2ed3
-
DisableSpriteUpdates:: ; 0x2ed3
; disables overworld sprite updating?
xor a
@@ -119,10 +112,8 @@
ret
; 2ef6
-
INCLUDE "home/string.asm"
-
IsInJohto:: ; 2f17
; Return 0 if the player is in Johto, and 1 in Kanto.
@@ -157,17 +148,14 @@
ret
; 2f3e
-
ret_2f3e:: ; 2f3e
ret
; 2f3f
-
INCLUDE "home/item.asm"
INCLUDE "home/random.asm"
INCLUDE "home/sram.asm"
-
; Register aliases
_hl_:: ; 2fec
@@ -179,10 +167,8 @@
ret
; 2fef
-
INCLUDE "home/double_speed.asm"
-
ClearSprites:: ; 300b
; Erase OAM data
ld hl, Sprites
@@ -209,10 +195,8 @@
ret
; 3026
-
INCLUDE "home/copy2.asm"
-
LoadTileMapToTempTileMap:: ; 309d
; Load TileMap into TempTileMap
ld a, [rSVBK]
@@ -252,7 +236,6 @@
ret
; 30d6
-
CopyName1:: ; 30d6
; Copies the name from de to StringBuffer2
ld hl, StringBuffer2
@@ -305,10 +288,8 @@
ret
; 0x30fe
-
INCLUDE "home/math.asm"
-
PrintLetterDelay:: ; 313d
; Wait before printing the next letter.
@@ -317,8 +298,8 @@
; mid: 3 frames
; slow: 5 frames
-; TextBoxFrame + 1[!0] and A or B override text speed with a one-frame delay.
-; Options[4] and TextBoxFrame + 1[!1] disable the delay.
+; TextBoxFlags[!0] and A or B override text speed with a one-frame delay.
+; Options[4] and TextBoxFlags[!1] disable the delay.
ld a, [Options]
bit NO_TEXT_SCROLL, a
@@ -325,7 +306,7 @@
ret nz
; non-scrolling text?
- ld a, [TextBoxFrame + 1]
+ ld a, [TextBoxFlags]
bit 1, a
ret z
@@ -342,7 +323,7 @@
ld [hl], a
; force fast scroll?
- ld a, [TextBoxFrame + 1]
+ ld a, [TextBoxFlags]
bit 0, a
jr z, .fast
@@ -392,7 +373,6 @@
ret
; 318c
-
CopyDataUntil:: ; 318c
; Copy [hl .. bc) to de.
@@ -412,7 +392,6 @@
ret
; 0x3198
-
PrintNum:: ; 3198
ld a, [hROMBank]
push af
@@ -426,7 +405,6 @@
ret
; 31a4
-
MobilePrintNum:: ; 31a4
ld a, [hROMBank]
push af
@@ -440,7 +418,6 @@
ret
; 31b0
-
FarPrintText:: ; 31b0
ld [hBuffer], a
ld a, [hROMBank]
@@ -455,7 +432,6 @@
ret
; 31be
-
CallPointerAt:: ; 31be
ld a, [hROMBank]
push af
@@ -474,7 +450,6 @@
ret
; 31cd
-
QueueScript:: ; 31cd
; Push pointer hl in the current bank to wQueuedScriptBank.
ld a, [hROMBank]
@@ -489,7 +464,6 @@
ret
; 31db
-
StringCmp:: ; 31db
; Compare c bytes at de and hl.
; Return z if they all match.
@@ -504,7 +478,6 @@
ret
; 0x31e4
-
CompareLong:: ; 31e4
; Compare bc bytes at de and hl.
; Return carry if they all match.
@@ -529,7 +502,6 @@
ret
; 31f3
-
ClearBGPalettes:: ; 31f3
call ClearPalettes
WaitBGMap:: ; 31f6
@@ -542,7 +514,7 @@
ret
; 3200
-Function3200:: ; 0x3200
+WaitBGMap2:: ; 0x3200
ld a, [hCGB]
and a
jr z, .bg0
@@ -560,7 +532,6 @@
ret
; 0x3218
-
IsCGB:: ; 3218
ld a, [hCGB]
and a
@@ -567,7 +538,6 @@
ret
; 321c
-
ApplyTilemap:: ; 321c
ld a, [hCGB]
and a
@@ -685,7 +655,6 @@
ret
; 32f9
-
SetPalettes:: ; 32f9
; Inits the Palettes
; depending on the system the monochromes palettes or color palettes
@@ -709,7 +678,6 @@
ret
; 3317
-
ClearPalettes:: ; 3317
; Make all palettes white
@@ -747,7 +715,6 @@
ret
; 333e
-
GetMemSGBLayout:: ; 333e
ld b, SCGB_RAM
GetSGBLayout:: ; 3340
@@ -765,7 +732,6 @@
predef_jump Predef_LoadSGBLayout ; LoadSGBLayout
; 334e
-
SetHPPal:: ; 334e
; Set palette for hp bar pixel length e at hl.
call GetHPPal
@@ -773,7 +739,6 @@
ret
; 3353
-
GetHPPal:: ; 3353
; Get palette for hp bar pixel length e in d.
@@ -788,7 +753,6 @@
ret
; 335f
-
CountSetBits:: ; 0x335f
; Count the number of set bits in b bytes starting from hl.
; Return in a, c and [wd265].
@@ -815,7 +779,6 @@
ret
; 0x3376
-
GetWeekday:: ; 3376
ld a, [CurDay]
.mod
@@ -825,10 +788,8 @@
ret
; 3380
-
INCLUDE "home/pokedex_flags.asm"
-
NamesPointers:: ; 33ab
dba PokemonNames
dba MoveNames
@@ -904,7 +865,6 @@
ret
; 3411
-
GetNthString:: ; 3411
; Return the address of the
; ath string starting from hl.
@@ -925,7 +885,6 @@
ret
; 3420
-
GetBasePokemonName:: ; 3420
; Discards gender (Nidoran).
@@ -951,7 +910,6 @@
; 343b
-
GetPokemonName:: ; 343b
; Get Pokemon name wd265.
@@ -968,9 +926,8 @@
ld e, a
ld h, 0
ld l, a
-rept 2
add hl, hl ; hl = hl * 4
-endr
+ add hl, hl ; hl = hl * 4
add hl, de ; hl = (hl*4) + de
add hl, hl ; hl = (5*hl) + (5*hl)
ld de, PokemonNames
@@ -991,7 +948,6 @@
ret
; 3468
-
GetItemName:: ; 3468
; Get item name wd265.
@@ -1016,7 +972,6 @@
ret
; 3487
-
GetTMHMName:: ; 3487
; Get TM/HM name by item id wd265.
@@ -1100,7 +1055,6 @@
db "@"
; 34df
-
IsHM:: ; 34df
cp HM01
jr c, .NotHM
@@ -1111,7 +1065,6 @@
ret
; 34e7
-
IsHMMove:: ; 34e7
ld hl, .HMMoves
ld de, 1
@@ -1128,7 +1081,6 @@
db -1
; 34f8
-
GetMoveName:: ; 34f8
push hl
@@ -1145,27 +1097,26 @@
ret
; 350c
-
-HandleScrollingMenu:: ; 350c
+ScrollingMenu:: ; 350c
call CopyMenuData2
ld a, [hROMBank]
push af
- ld a, BANK(Function245af)
+ ld a, BANK(_ScrollingMenu)
rst Bankswitch
- call Function245af
- call Function3524
- call Function245cb
+ call _InitScrollingMenu
+ call .UpdatePalettes
+ call _ScrollingMenu
pop af
rst Bankswitch
- ld a, [wcf73]
+ ld a, [wMenuJoypad]
ret
; 3524
-Function3524:: ; 3524
+.UpdatePalettes ; 3524
ld hl, VramState
bit 0, [hl]
jp nz, UpdateTimePals
@@ -1212,7 +1163,6 @@
ret
; 3567
-
HandleStoneQueue:: ; 3567
ld a, [hROMBank]
push af
@@ -1344,9 +1294,8 @@
inc hl
.next_inc2
-rept 2
inc hl
-endr
+ inc hl
jr .loop2
.nope3
@@ -1358,7 +1307,6 @@
ret
; 3600
-
CheckTrainerBattle2:: ; 3600
ld a, [hROMBank]
@@ -1373,7 +1321,6 @@
ret
; 360d
-
CheckTrainerBattle:: ; 360d
; Check if any trainer on the map sees the player and wants to battle.
@@ -1493,7 +1440,6 @@
ret
; 36a5
-
FacingPlayerDistance_bc:: ; 36a5
push de
@@ -1504,7 +1450,6 @@
ret
; 36ad
-
FacingPlayerDistance:: ; 36ad
; Return carry if the sprite at bc is facing the player,
; and its distance in d.
@@ -1575,7 +1520,6 @@
ret
; 36f5
-
CheckTrainerFlag:: ; 36f5
push bc
ld hl, OBJECT_MAP_OBJECT_INDEX
@@ -1601,7 +1545,6 @@
ret
; 3718
-
PrintWinLossText:: ; 3718
ld a, [BattleType]
cp BATTLETYPE_CANLOSE
@@ -1629,8 +1572,6 @@
ret
; 3741
-
-
IsAPokemon:: ; 3741
; Return carry if species a is not a Pokemon.
and a
@@ -1649,7 +1590,6 @@
ret
; 3750
-
DrawBattleHPBar:: ; 3750
; Draw an HP bar d tiles long at hl
; Fill it up to e pixels
@@ -1711,10 +1651,9 @@
ret
; 3786
-
PrepMonFrontpic:: ; 3786
ld a, $1
- ld [wc2c6], a
+ ld [wBoxAlignment], a
_PrepMonFrontpic:: ; 378b
ld a, [CurPartySpecies]
@@ -1730,21 +1669,19 @@
lb bc, 7, 7
predef FillBox
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
ret
.not_pokemon
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
inc a
ld [CurPartySpecies], a
ret
; 37b6
-
INCLUDE "home/cry.asm"
-
PrintLevel:: ; 382d
; Print TempMonLevel at hl
@@ -1777,7 +1714,6 @@
jp PrintNum
; 384d
-
Function384d:: ; 384d
ld hl, wListMoves_MoveIndicesBuffer
ld c, a
@@ -1787,7 +1723,6 @@
ret
; 3856
-
GetBaseData:: ; 3856
push bc
push de
@@ -1845,7 +1780,6 @@
ret
; 389c
-
GetCurNick:: ; 389c
ld a, [CurPartyMon]
ld hl, PartyMonNicknames
@@ -1871,7 +1805,6 @@
ret
; 38bb
-
PrintBCDNumber:: ; 38bb
; function to print a BCD (Binary-coded decimal) number
; de = address of BCD number
@@ -1973,7 +1906,6 @@
jp AddNTimes
; 392d
-
Function392d:: ; 392d
push hl
ld a, b
@@ -1991,12 +1923,11 @@
ret
; 3945
-
INCLUDE "home/battle.asm"
Function3b0c:: ; 3b0c
- ld a, [hLCDStatCustom]
+ ld a, [hFFC6]
and a
ret z
@@ -2015,17 +1946,15 @@
ret
; 3b2a
-
-
_InitSpriteAnimStruct:: ; 3b2a
- ld [wc3b8], a
+ ld [wSpriteAnimIDBuffer], a
ld a, [hROMBank]
push af
ld a, BANK(InitSpriteAnimStruct)
rst Bankswitch
- ld a, [wc3b8]
+ ld a, [wSpriteAnimIDBuffer]
call InitSpriteAnimStruct
@@ -2035,18 +1964,17 @@
ret
; 3b3c
+ReinitSpriteAnimFrame:: ; 3b3c
-Function3b3c:: ; 3b3c
-
- ld [wc3b8], a
+ ld [wSpriteAnimIDBuffer], a
ld a, [hROMBank]
push af
- ld a, BANK(Function8d120)
+ ld a, BANK(_ReinitSpriteAnimFrame)
rst Bankswitch
- ld a, [wc3b8]
+ ld a, [wSpriteAnimIDBuffer]
- call Function8d120
+ call _ReinitSpriteAnimFrame
pop af
rst Bankswitch
@@ -2054,182 +1982,5 @@
ret
; 3b4e
-
INCLUDE "home/audio.asm"
INCLUDE "home/mobile.asm"
-
-
-Function3eea:: ; 3eea
- push hl
- push bc
- ld de, AttrMap - TileMap
- add hl, de
-rept 2
- inc b
-endr
-rept 2
- inc c
-endr
- call Function3f35
- pop bc
- pop hl
- call Function3f47
- ret
-; 3efd
-
-Function3efd:: ; 3efd
- push hl
- hlcoord 0, 12
- ld b, 4
- ld c, 18
- call Function3f0d
- pop hl
- call PrintTextBoxText
- ret
-; 3f0d
-
-Function3f0d:: ; 3f0d
- push hl
- push bc
- ld de, AttrMap - TileMap
- add hl, de
-rept 2
- inc b
-endr
-rept 2
- inc c
-endr
- call Function3f35
- pop bc
- pop hl
- call TextBoxBorder
- ret
-; 3f20
-
-Function3f20:: ; 3f20
- hlcoord 0, 0, AttrMap
- ld b, $6
- ld c, $14
- call Function3f35
- hlcoord 0, 0
- ld b, $4
- ld c, $12
- call Function3f47
- ret
-; 3f35
-
-Function3f35:: ; 3f35
- ld a, $6
- ld de, $0014
-.asm_3f3a
- push bc
- push hl
-.asm_3f3c
- ld [hli], a
- dec c
- jr nz, .asm_3f3c
- pop hl
- add hl, de
- pop bc
- dec b
- jr nz, .asm_3f3a
- ret
-; 3f47
-
-Function3f47:: ; 3f47
- push bc
- call Function3f58
- pop bc
-.asm_3f4c
- push bc
- call Function3f68
- pop bc
- dec b
- jr nz, .asm_3f4c
- call Function3f60
- ret
-; 3f58
-
-Function3f58:: ; 3f58
- ld a, $63
- ld d, $62
- ld e, $64
- jr Function3f6e
-
-Function3f60:: ; 3f60
- ld a, $68
- ld d, $67
- ld e, $69
- jr Function3f6e
-
-Function3f68:: ; 3f68
- ld a, $7f
- ld d, $65
- ld e, $66
-
-Function3f6e:: ; 3f6e
- push hl
- ld [hl], d
- inc hl
-.asm_3f71
- ld [hli], a
- dec c
- jr nz, .asm_3f71
- ld [hl], e
- pop hl
- ld de, $0014
- add hl, de
- ret
-; 3f7c
-
-Function3f7c:: ; 3f7c
- call MenuBoxCoord2Tile
- call GetMenuBoxDims
- dec b
- dec c
- call Function3eea
- ret
-; 3f88
-
-Function3f88:: ; 3f88
- ld hl, w6_d000
- ld b, $0
-.asm_3f8d
- push bc
- ld c, $8
-.asm_3f90
- ld a, [de]
- inc de
- cpl
- ld [hl], $0
- inc hl
- ld [hli], a
- dec c
- jr nz, .asm_3f90
- pop bc
- dec c
- jr nz, .asm_3f8d
- ret
-; 3f9f
-
-Function3f9f:: ; 3f9f
- ld hl, w6_d000
-.asm_3fa2
- push bc
- ld c, $8
-.asm_3fa5
- ld a, [de]
-rept 2
- inc de
-endr
- cpl
- ld [hl], $0
- inc hl
- ld [hli], a
- dec c
- jr nz, .asm_3fa5
- pop bc
- dec c
- jr nz, .asm_3fa2
- ret
-; 3fb5
--- a/home/audio.asm
+++ b/home/audio.asm
@@ -312,13 +312,13 @@
ret
; 3ca8
-Unused_RotatePalettesRightMusic:: ; 3ca8
+Unused_FadeOutMusic:: ; 3ca8
ld a, 4
ld [MusicFade], a
ret
; 3cae
-RotatePalettesLeftMusic:: ; 3cae
+FadeInMusic:: ; 3cae
ld a, 4 | 1 << 7
ld [MusicFade], a
ret
@@ -397,7 +397,7 @@
push af
xor a
- ld [wc2c1], a
+ ld [wDontPlayMapMusicOnReload], a
ld de, MUSIC_BICYCLE
ld a, [PlayerState]
cp PLAYER_BIKE
@@ -422,7 +422,7 @@
; 3d2f
TryRestartMapMusic:: ; 3d2f
- ld a, [wc2c1]
+ ld a, [wDontPlayMapMusicOnReload]
and a
jr z, RestartMapMusic
xor a
@@ -431,7 +431,7 @@
call PlayMusic
call DelayFrame
xor a
- ld [wc2c1], a
+ ld [wDontPlayMapMusicOnReload], a
ret
; 3d47
--- a/home/cry.asm
+++ b/home/cry.asm
@@ -1,7 +1,7 @@
PlayStereoCry:: ; 37b6
push af
ld a, 1
- ld [wc2bc], a
+ ld [wStereoPanningMask], a
pop af
call _PlayCry
call WaitSFX
@@ -13,7 +13,7 @@
; Used during pic animations.
push af
ld a, 1
- ld [wc2bc], a
+ ld [wStereoPanningMask], a
pop af
jp _PlayCry
; 37ce
@@ -28,7 +28,7 @@
; Don't wait for the cry to end.
push af
xor a
- ld [wc2bc], a
+ ld [wStereoPanningMask], a
ld [CryTracks], a
pop af
call _PlayCry
--- a/home/handshake.asm
+++ b/home/handshake.asm
@@ -1,3 +1,16 @@
+PrinterReceive:: ; 2057
+ ld a, [hROMBank]
+ push af
+ ld a, BANK(_PrinterReceive)
+ rst Bankswitch
+
+ call _PrinterReceive
+ pop af
+ rst Bankswitch
+
+ ret
+; 2063
+
AskSerial:: ; 2063
; send out a handshake while serial int is off
ld a, [wc2d4]
--- a/home/init.asm
+++ b/home/init.asm
@@ -22,17 +22,17 @@
_Start:: ; 16e
cp $11
- jr z, .asm_175
+ jr z, .cgb
xor a
- jr .asm_177
+ jr .load
-.asm_175
+.cgb
ld a, $1
-.asm_177
+.load
ld [hCGB], a
ld a, $1
- ld [$ffea], a
+ ld [hFFEA], a
; 17d
@@ -69,15 +69,15 @@
ld [rLCDC], a
; Clear WRAM bank 0
- ld hl, $c000
- ld bc, $d000 - $c000
-.asm_1b1
+ ld hl, wc000
+ ld bc, wd000 - wc000
+.ByteFill
ld [hl], 0
inc hl
dec bc
ld a, b
or c
- jr nz, .asm_1b1
+ jr nz, .ByteFill
ld sp, Stack
@@ -84,14 +84,14 @@
; Clear HRAM
ld a, [hCGB]
push af
- ld a, [$ffea]
+ ld a, [hFFEA]
push af
xor a
- ld hl, $ff80
- ld bc, $ffff - $ff80
+ ld hl, HRAM_START
+ ld bc, HRAM_END - HRAM_START
call ByteFill
pop af
- ld [$ffea], a
+ ld [hFFEA], a
pop af
ld [hCGB], a
--- a/home/joypad.asm
+++ b/home/joypad.asm
@@ -313,7 +313,7 @@
jr .loop
; a46
-CloseText:: ; a46
+WaitButton:: ; a46
ld a, [hOAMUpdate]
push af
ld a, 1
@@ -392,7 +392,7 @@
ret
; aaf
-KeepTextOpen:: ; aaf
+ButtonSound:: ; aaf
ld a, [wLinkMode]
and a
jr nz, .link
--- a/home/lcd.asm
+++ b/home/lcd.asm
@@ -2,7 +2,8 @@
Function547:: ; 547
- ld a, [hLCDStatCustom]
+; Unreferenced
+ ld a, [hFFC6]
cp rSCX - $ff00
ret nz
ld c, a
@@ -14,7 +15,7 @@
LCD:: ; 552
push af
- ld a, [hLCDStatCustom]
+ ld a, [hFFC6]
and a
jr z, .done
@@ -25,7 +26,7 @@
ld b, LYOverrides >> 8
ld a, [bc]
ld b, a
- ld a, [hLCDStatCustom]
+ ld a, [hFFC6]
ld c, a
ld a, b
ld [$ff00+c], a
--- a/home/map.asm
+++ b/home/map.asm
@@ -114,9 +114,9 @@
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
call ByteFill
- ld a, BANK(Function4d15b)
+ ld a, BANK(_LoadMapPart)
rst Bankswitch
- call Function4d15b
+ call _LoadMapPart
pop af
rst Bankswitch
@@ -124,22 +124,24 @@
; 2198
LoadMetatiles:: ; 2198
-; de <- wd194
- ld a, [wd194]
+ ; de <- wOverworldMapAnchor
+ ld a, [wOverworldMapAnchor]
ld e, a
- ld a, [wd194 + 1]
+ ld a, [wOverworldMapAnchor + 1]
ld d, a
ld hl, wMisc
- ld b, 5 ; SCREEN_WIDTH / 4
+ ld b, WMISC_HEIGHT / 4 ; 5
-.loop
+.row
push de
push hl
- ld c, 6 ; SCREEN_HEIGHT / 3
+ ld c, WMISC_WIDTH / 4 ; 6
-.loop2
+.col
push de
push hl
+ ; Load the current map block.
+ ; If the current map block is a border block, load the border block.
ld a, [de]
and a
jr nz, .ok
@@ -146,16 +148,16 @@
ld a, [MapBorderBlock]
.ok
+ ; Load the current wMisc address into de.
ld e, l
ld d, h
-; double a, load hl <- a, multiply hl by 8
+ ; Set hl to the address of the current metatile data ([TilesetBlocksAddress] + (a) tiles).
add a
ld l, a
ld h, 0
rept 3
- add hl,hl
+ add hl, hl
endr
-; hl <- hl + [TilesetBlocksAddress]
ld a, [TilesetBlocksAddress]
add l
ld l, a
@@ -163,28 +165,26 @@
adc h
ld h, a
+ ; copy the 4x4 metatile
rept 3
-; copy 4 bytes from hl to de
rept 4
ld a, [hli]
ld [de], a
inc de
endr
-; next row
ld a, e
- add SCREEN_WIDTH
+ add WMISC_WIDTH - 4
ld e, a
jr nc, .next\@
inc d
.next\@
endr
-; copy 4 more bytes from hl to de
rept 4
ld a, [hli]
ld [de], a
inc de
endr
-
+ ; Next metatile
pop hl
ld de, 4
add hl, de
@@ -191,9 +191,10 @@
pop de
inc de
dec c
- jp nz, .loop2
+ jp nz, .col
+ ; Next metarow
pop hl
- ld de, $60
+ ld de, WMISC_WIDTH * 4
add hl, de
pop de
ld a, [MapWidth]
@@ -202,10 +203,9 @@
ld e, a
jr nc, .ok2
inc d
-
.ok2
dec b
- jp nz, .loop
+ jp nz, .row
ret
; 222a
@@ -223,7 +223,7 @@
ret nc
push bc
- callba Function149af
+ callba CheckDirectionalWarp
pop bc
ret nc
@@ -232,8 +232,6 @@
ret
; 224a
-
-
WarpCheck:: ; 224a
call GetDestinationWarpNumber
ret nc
@@ -242,7 +240,7 @@
; 2252
GetDestinationWarpNumber:: ; 2252
- callba Function1499a
+ callba CheckWarpCollision
ret nc
ld a, [hROMBank]
@@ -366,8 +364,6 @@
ret
; 22ee
-
-
CheckOutdoorMap:: ; 22ee
cp ROUTE
ret z
@@ -395,7 +391,6 @@
ret
; 2309
-
LoadMapAttributes:: ; 2309
call CopyMapHeaders
call SwitchToMapScriptHeaderBank
@@ -503,7 +498,6 @@
ret
; 23a3
-
GetMapConnection:: ; 23a3
; Load map connection struct at hl into de.
ld c, SouthMapConnection - NorthMapConnection
@@ -516,7 +510,6 @@
ret
; 23ac
-
ReadMapTriggers:: ; 23ac
ld a, [hli] ; trigger count
ld c, a
@@ -524,7 +517,7 @@
ld a, l
ld [wCurrMapTriggerHeaderPointer], a ; map trigger pointer
ld a, h
- ld [wdc09], a
+ ld [wCurrMapTriggerHeaderPointer + 1], a
ld a, c
and a
ret z
@@ -749,8 +742,6 @@
ret
; 24e4
-
-
ChangeMap:: ; 24e4
ld a, [hROMBank]
push af
@@ -801,8 +792,6 @@
ret
; 2524
-
-
FillMapConnections:: ; 2524
; North
@@ -901,7 +890,6 @@
ret
; 25d3
-
FillNorthConnectionStrip::
FillSouthConnectionStrip:: ; 25d3
@@ -938,7 +926,6 @@
ret
; 25f6
-
FillWestConnectionStrip::
FillEastConnectionStrip:: ; 25f6
@@ -983,7 +970,6 @@
ret
; 261f
-
CallScript:: ; 261f
; Call a script at a:hl.
@@ -1138,7 +1124,6 @@
ret
; 26d4
-
GetScriptByte:: ; 0x26d4
; Return byte at ScriptBank:ScriptPos in a.
@@ -1170,7 +1155,6 @@
ret
; 0x26ef
-
ObjectEvent:: ; 0x26ef
jumptextfaceplayer ObjectEventText
; 0x26f2
@@ -1180,7 +1164,6 @@
db "@"
; 0x26f7
-
BGEvent:: ; 26f7
jumptext BGEventText
; 26fa
@@ -1190,7 +1173,6 @@
db "@"
; 26ff
-
CoordinatesEvent:: ; 26ff
jumptext CoordinatesEventText
; 2702
@@ -1200,7 +1182,6 @@
db "@"
; 2707
-
CheckObjectMask:: ; 2707
ld a, [hMapObjectIndexBuffer]
ld e, a
@@ -1231,7 +1212,6 @@
ret
; 272a
-
ScrollMapDown:: ; 272a
hlcoord 0, 0
ld de, BGMapBuffer
@@ -1272,7 +1252,7 @@
ret
; 2771
-ScrollMapLeft:: ; 2771
+ScrollMapRight:: ; 2771
hlcoord 0, 0
ld de, BGMapBuffer
call BackupBGMapColumn
@@ -1288,7 +1268,7 @@
ret
; 278f
-ScrollMapRight:: ; 278f
+ScrollMapLeft:: ; 278f
hlcoord SCREEN_WIDTH - 2, 0
ld de, BGMapBuffer
call BackupBGMapColumn
@@ -1425,10 +1405,10 @@
ld [rSVBK], a
ld a, e
- ld de, w6_d000
+ ld de, wDecompressScratch
call FarDecompress
- ld hl, w6_d000
+ ld hl, wDecompressScratch
ld de, VTiles2
ld bc, $60 tiles
call CopyBytes
@@ -1468,11 +1448,11 @@
; 2879
BufferScreen:: ; 2879
- ld hl, wd194
+ ld hl, wOverworldMapAnchor
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, XCoord + 1
+ ld de, wScreenSave
ld c, $5
ld b, $6
.asm_2886
@@ -1497,13 +1477,13 @@
; 289d
SaveScreen:: ; 289d
- ld hl, wd194
+ ld hl, wOverworldMapAnchor
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, XCoord + 1
+ ld de, wScreenSave
ld a, [MapWidth]
- add $6
+ add 6
ld [hMapObjectIndexBuffer], a
ld a, [wPlayerStepDirection]
and a
@@ -1517,7 +1497,7 @@
ret
.up
- ld de, wdcbf
+ ld de, wScreenSave + 6
ld a, [hMapObjectIndexBuffer]
ld c, a
ld b, $0
@@ -1525,53 +1505,50 @@
jr .vertical
.down
- ld de, XCoord + 1
-
+ ld de, wScreenSave
.vertical
- ld b, $6
- ld c, $4
- jr Function28f7
+ ld b, 6
+ ld c, 4
+ jr SaveScreen_LoadNeighbor
.left
- ld de, XCoord + 2
+ ld de, wScreenSave + 1
inc hl
jr .horizontal
.right
- ld de, XCoord + 1
-
+ ld de, wScreenSave
.horizontal
- ld b, $5
- ld c, $5
- jr Function28f7
+ ld b, 5
+ ld c, 5
+ jr SaveScreen_LoadNeighbor
-
LoadNeighboringBlockData:: ; 28e3
- ld hl, wd194
+ ld hl, wOverworldMapAnchor
ld a, [hli]
ld h, [hl]
ld l, a
ld a, [MapWidth]
- add $6
+ add 6
ld [hConnectionStripLength], a
- ld de, XCoord + 1
- ld b, $6
- ld c, $5
+ ld de, wScreenSave
+ ld b, 6
+ ld c, 5
-Function28f7:: ; 28f7
-.loop1
+SaveScreen_LoadNeighbor:: ; 28f7
+.row
push bc
push hl
push de
-.loop2
+.col
ld a, [de]
inc de
ld [hli], a
dec b
- jr nz, .loop2
+ jr nz, .col
pop de
ld a, e
- add $6
+ add 6
ld e, a
jr nc, .okay
inc d
@@ -1580,11 +1557,11 @@
pop hl
ld a, [hConnectionStripLength]
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
pop bc
dec c
- jr nz, .loop1
+ jr nz, .row
ret
; 2914
@@ -1746,7 +1723,6 @@
ret
; 2a07
-
GetFacingTileCoord:: ; 2a07
; Return map coordinates in (d, e) and tile id in a
; of the tile the player is facing.
@@ -1793,7 +1769,6 @@
dw TileRight
; 2a3c
-
GetCoordTile:: ; 2a3c
; Get the collision byte for tile d, e
call GetBlockLocation
@@ -1861,7 +1836,6 @@
ret
; 2a8b
-
CheckFacingSign:: ; 2a8b
call GetFacingTileCoord
; Load facing into b.
@@ -2002,7 +1976,6 @@
ret
; 2b29
-
FadeToMenu:: ; 2b29
xor a
ld [hBGMapMode], a
@@ -2013,13 +1986,12 @@
ret
; 2b3c
-
-ReturnToCallingMenu:: ; 2b3c
+CloseSubmenu:: ; 2b3c
call ClearBGPalettes
- call Function2bae
+ call ReloadTilesetAndPalettes
call UpdateSprites
call Call_ExitMenu
- call Functiond90
+ call ret_d90
jr Function2b5c
; 2b4d
@@ -2026,27 +1998,26 @@
ExitAllMenus:: ; 2b4d
call ClearBGPalettes
call Call_ExitMenu
- call Function2bae
+ call ReloadTilesetAndPalettes
call UpdateSprites
- call Functiond90
+ call ret_d90
Function2b5c:: ; 2b5c
- ld b, SCGB_09
+ ld b, SCGB_MAPPALS
call GetSGBLayout
- callba Function49409
- call Function3200
+ callba LoadOW_BGPal7
+ call WaitBGMap2
callba FadeInPalettes
call EnableSpriteUpdates
ret
; 2b74
-
-Function2b74:: ; 0x2b74
+ReturnToMapWithSpeechTextbox:: ; 0x2b74
push af
ld a, $1
ld [wSpriteUpdatesEnabled], a
call ClearBGPalettes
call ClearSprites
- call Function2bae
+ call ReloadTilesetAndPalettes
hlcoord 0, 12
lb bc, 4, 18
call TextBox
@@ -2053,10 +2024,10 @@
ld hl, VramState
set 0, [hl]
call UpdateSprites
- call Function3200
- ld b, SCGB_09
+ call WaitBGMap2
+ ld b, SCGB_MAPPALS
call GetSGBLayout
- callba Function49409
+ callba LoadOW_BGPal7
call UpdateTimePals
call DelayFrame
ld a, $1
@@ -2065,7 +2036,7 @@
ret
; 0x2bae
-Function2bae:: ; 2bae
+ReloadTilesetAndPalettes:: ; 2bae
call DisableLCD
call ClearSprites
callba RefreshSprites
@@ -2078,7 +2049,7 @@
ld a, [MapNumber]
ld c, a
call SwitchToAnyMapBank
- callba Function8c001
+ callba UpdateTimeOfDayPal
call OverworldTextModeSwitch
call LoadTileset
ld a, 9
@@ -2090,7 +2061,6 @@
ret
; 2be5
-
GetMapHeaderPointer:: ; 2be5
ld a, [MapGroup]
ld b, a
@@ -2167,7 +2137,6 @@
ret
; 0x2c1c
-
SwitchToMapBank:: ; 2c1c
ld a, [MapGroup]
ld b, a
@@ -2181,7 +2150,6 @@
ret
; 2c29
-
GetMapBank:: ; 2c29
ld a, [MapGroup]
ld b, a
@@ -2223,7 +2191,6 @@
rst Bankswitch
ret
; 2c57
-
GetMapScriptHeaderBank:: ; 2c57
ld a, [MapScriptHeaderBank]
--- a/home/map_objects.asm
+++ b/home/map_objects.asm
@@ -369,7 +369,7 @@
call Function1985
pop af
call GetObjectStruct
- callba Function4357
+ callba DeleteMapObject
ret
; 1985
@@ -435,7 +435,7 @@
.ok
ld a, b
call GetObjectStruct
- callba Function4357
+ callba DeleteMapObject
ret
; 19e9
@@ -460,7 +460,7 @@
ld hl, OBJECT_STEP_TYPE
add hl, bc
- ld [hl], 0
+ ld [hl], STEP_TYPE_00
ld hl, VramState
set 7, [hl]
@@ -611,7 +611,7 @@
ret
; 1aae
-Function1aae:: ; 1aae
+_GetMovementByte:: ; 1aae
; Switch to the movement data bank
ld a, [hROMBank]
push af
--- a/home/menu.asm
+++ b/home/menu.asm
@@ -3,7 +3,7 @@
LoadMenuDataHeader::
call CopyMenuDataHeader
- call BackUpTiles
+ call PushWindow
ret
CopyMenuDataHeader::
@@ -15,7 +15,7 @@
ret
; 0x1d4b
-Function1d4b:: ; 1d4b
+StoreTo_wMenuCursorBuffer:: ; 1d4b
ld [wMenuCursorBuffer], a
ret
; 1d4f
@@ -28,17 +28,18 @@
jp PrintText
; 1d57
-Function1d57:: ; 1d57
+ret_1d57:: ; 1d57
+; unreferenced
ret
; 1d58
LoadMenuTextBox:: ; 1d58
- ld hl, MenuDataHeader_0x1d5f
+ ld hl, .MenuDataHeader
call LoadMenuDataHeader
ret
; 1d5f
-MenuDataHeader_0x1d5f:: ; 1d5f
+.MenuDataHeader ; 1d5f
db $40 ; tile backup
db 12, 0 ; start coords
db 17, 19 ; end coords
@@ -48,17 +49,17 @@
MenuTextBoxBackup:: ; 1d67
call MenuTextBox
- call WriteBackup
+ call CloseWindow
ret
; 1d6e
LoadStandardMenuDataHeader:: ; 1d6e
- ld hl, MenuDataHeader_0x1d75
+ ld hl, .MenuDataHeader
call LoadMenuDataHeader
ret
; 1d75
-MenuDataHeader_0x1d75:: ; 1d75
+.MenuDataHeader ; 1d75
db $40 ; tile backup
db 0, 0 ; start coords
db 17, 19 ; end coords
@@ -71,25 +72,26 @@
ret
; 1d81
-InterpretMenu2::
+VerticalMenu::
xor a
ld [hBGMapMode], a
call MenuBox
call UpdateSprites
- call Function1c89
+ call PlaceVerticalMenuItems
call ApplyTilemap
call CopyMenuData2
ld a, [wMenuData2Flags]
bit 7, a
jr z, .cancel
- call Function1c10
- call Function1bc9
- call Function1ff8
+ call InitVerticalMenuCursor
+ call StaticMenuJoypad
+ call MenuClickSound
bit 1, a
jr z, .okay
.cancel
scf
ret
+
.okay
and a
ret
@@ -97,9 +99,9 @@
GetMenu2:: ; 1dab
call LoadMenuDataHeader
- call InterpretMenu2
- call WriteBackup
- ld a, [MenuSelection2]
+ call VerticalMenu
+ call CloseWindow
+ ld a, [wMenuCursorY]
ret
; 1db8
@@ -158,17 +160,17 @@
ld [wMenuBorderTopCoord], a
add 4
ld [wMenuBorderBottomCoord], a
- call BackUpTiles
+ call PushWindow
InterpretTwoOptionMenu:: ; 1dfe
- call InterpretMenu2
+ call VerticalMenu
push af
ld c, $f
call DelayFrames
- call WriteBackup
+ call CloseWindow
pop af
jr c, .no
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp 2 ; no
jr z, .no
and a
@@ -176,7 +178,7 @@
.no
ld a, 2
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
scf
ret
; 1e1d
@@ -185,11 +187,11 @@
db $40 ; tile backup
db 5, 10 ; start coords
db 9, 15 ; end coords
- dw YesNoMenuData2
+ dw .MenuData2
db 1 ; default option
; 1e25
-YesNoMenuData2:: ; 1e25
+.MenuData2 ; 1e25
db $c0 ; flags
db 2
db "YES@"
@@ -196,13 +198,13 @@
db "NO@"
; 1e2e
-Function1e2e:: ; 1e2e
- call Function1e35
- call BackUpTiles
+OffsetMenuDataHeader:: ; 1e2e
+ call _OffsetMenuDataHeader
+ call PushWindow
ret
; 1e35
-Function1e35:: ; 1e35
+_OffsetMenuDataHeader:: ; 1e35
push de
call CopyMenuDataHeader
pop de
@@ -232,8 +234,8 @@
call MenuWriteText
call Function1eff
call Function1f23
- call Function1bdd
- call Function1ff8
+ call GetMenuJoypad
+ call MenuClickSound
ret
; 1e70
@@ -241,13 +243,13 @@
call MenuFunc_1e7f ; ???
call MenuWriteText
call Function1eff ; set up selection pointer
- ld hl, wcfa5
+ ld hl, w2DMenuFlags1
set 7, [hl]
ret
MenuFunc_1e7f::
call CopyMenuData2
- call Function1ebd
+ call GetMenuIndexSet
call Function1ea6
call MenuBox
ret
@@ -255,7 +257,7 @@
MenuWriteText::
xor a
ld [hBGMapMode], a
- call Function1ebd ; sort out the text
+ call GetMenuIndexSet ; sort out the text
call Function1eda ; actually write it
call Function2e31
ld a, [hOAMUpdate]
@@ -284,24 +286,24 @@
ret
; 1ebd
-Function1ebd:: ; 1ebd
- ld hl, wcf93
+GetMenuIndexSet:: ; 1ebd
+ ld hl, wMenuData2IndicesPointer
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [wcf76]
+ ld a, [wWhichIndexSet]
and a
- jr z, .asm_1ed3
+ jr z, .skip
ld b, a
- ld c, $ff
-.asm_1ecc
+ ld c, -1
+.loop
ld a, [hli]
cp c
- jr nz, .asm_1ecc
+ jr nz, .loop
dec b
- jr nz, .asm_1ecc
+ jr nz, .loop
-.asm_1ed3
+.skip
ld d, h
ld e, l
ld a, [hl]
@@ -311,12 +313,12 @@
Function1eda:: ; 1eda
call MenuBoxCoord2Tile
- ld bc, $002a
+ ld bc, 2 * SCREEN_WIDTH + 2
add hl, bc
-.asm_1ee1
+.loop
inc de
ld a, [de]
- cp $ff
+ cp -1
ret z
ld [MenuSelection], a
push de
@@ -323,16 +325,16 @@
push hl
ld d, h
ld e, l
- ld hl, wcf95
- call Function1efb
+ ld hl, wMenuData2DisplayFunctionPointer
+ call .__wMenuData2DisplayFunction__
pop hl
- ld de, $0028
+ ld de, 2 * SCREEN_WIDTH
add hl, de
pop de
- jr .asm_1ee1
+ jr .loop
; 1efb
-Function1efb:: ; 1efb
+.__wMenuData2DisplayFunction__ ; 1efb
ld a, [hli]
ld h, [hl]
ld l, a
@@ -340,28 +342,28 @@
; 1eff
Function1eff:: ; 1eff
- call Function1c10
- ld hl, wcfa8
+ call InitVerticalMenuCursor
+ ld hl, wMenuJoypadFilter
ld a, [wMenuData2Flags]
bit 3, a
- jr z, .asm_1f0e
- set 3, [hl]
+ jr z, .disallow_select
+ set START_F, [hl]
-.asm_1f0e
+.disallow_select
ld a, [wMenuData2Flags]
bit 2, a
- jr z, .asm_1f19
- set 5, [hl]
- set 4, [hl]
+ jr z, .disallow_left_right
+ set D_LEFT_F, [hl]
+ set D_RIGHT_F, [hl]
-.asm_1f19
+.disallow_left_right
ret
; 1f1a
Function1f1a:: ; 1f1a
- call Function1bd3
- ld hl, wcfa8
+ call ScrollingMenuJoypad
+ ld hl, wMenuJoypadFilter
and [hl]
jr Function1f2a
; 1f23
@@ -368,64 +370,64 @@
Function1f23:: ; 1f23
xor a
- ld [wcf73], a
- call Function1bc9
+ ld [wMenuJoypad], a
+ call StaticMenuJoypad
; 1f2a
Function1f2a:: ; 1f2a
- bit 0, a
- jr nz, .asm_1f52
- bit 1, a
- jr nz, .asm_1f6d
- bit 3, a
- jr nz, .asm_1f6d
- bit 4, a
- jr nz, .asm_1f44
- bit 5, a
- jr nz, .asm_1f4b
+ bit A_BUTTON_F, a
+ jr nz, .a_button
+ bit B_BUTTON_F, a
+ jr nz, .b_start
+ bit START_F, a
+ jr nz, .b_start
+ bit D_RIGHT_F, a
+ jr nz, .d_right
+ bit D_LEFT_F, a
+ jr nz, .d_left
xor a
- ld [wcf73], a
- jr .asm_1f57
+ ld [wMenuJoypad], a
+ jr .done
-.asm_1f44
- ld a, $10
- ld [wcf73], a
- jr .asm_1f57
+.d_right
+ ld a, D_RIGHT
+ ld [wMenuJoypad], a
+ jr .done
-.asm_1f4b
- ld a, $20
- ld [wcf73], a
- jr .asm_1f57
+.d_left
+ ld a, D_LEFT
+ ld [wMenuJoypad], a
+ jr .done
-.asm_1f52
- ld a, $1
- ld [wcf73], a
+.a_button
+ ld a, A_BUTTON
+ ld [wMenuJoypad], a
-.asm_1f57
- call Function1ebd
- ld a, [MenuSelection2]
+.done
+ call GetMenuIndexSet
+ ld a, [wMenuCursorY]
ld l, a
ld h, $0
add hl, de
ld a, [hl]
ld [MenuSelection], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wMenuCursorBuffer], a
and a
ret
-.asm_1f6d
- ld a, $2
- ld [wcf73], a
- ld a, $ff
+.b_start
+ ld a, B_BUTTON
+ ld [wMenuJoypad], a
+ ld a, -1
ld [MenuSelection], a
scf
ret
; 1f79
-Function1f79:: ; 1f79
+PlaceMenuStrings:: ; 1f79
push de
- ld hl, wcf97
+ ld hl, wMenuData2PointerTableAddr
ld a, [hli]
ld h, [hl]
ld l, a
@@ -441,7 +443,7 @@
PlaceNthMenuStrings:: ; 1f8d
push de
ld a, [MenuSelection]
- call Function1fb1
+ call GetMenuDataPointerTableEntry
rept 2
inc hl
endr
@@ -454,7 +456,8 @@
; 1f9e
Function1f9e:: ; 1f9e
- call Function1fb1
+; unreferenced
+ call GetMenuDataPointerTableEntry
rept 2
inc hl
endr
@@ -466,7 +469,7 @@
MenuJumptable:: ; 1fa7
ld a, [MenuSelection]
- call Function1fb1
+ call GetMenuDataPointerTableEntry
ld a, [hli]
ld h, [hl]
ld l, a
@@ -473,10 +476,10 @@
jp [hl]
; 1fb1
-Function1fb1:: ; 1fb1
+GetMenuDataPointerTableEntry:: ; 1fb1
ld e, a
ld d, $0
- ld hl, wcf97
+ ld hl, wMenuData2PointerTableAddr
ld a, [hli]
ld h, [hl]
ld l, a
@@ -486,14 +489,14 @@
ret
; 1fbf
-ResetTextRelatedRAM:: ; 1fbf
- ld hl, wcf71
+ClearWindowData:: ; 1fbf
+ ld hl, wWindowStackPointer
call .bytefill
ld hl, wMenuDataHeader
call .bytefill
ld hl, wMenuData2Flags
call .bytefill
- ld hl, wcfa1
+ ld hl, w2DMenuCursorInitY
call .bytefill
ld a, [rSVBK]
@@ -502,14 +505,14 @@
ld [rSVBK], a
xor a
- ld hl, w7_dfff
+ ld hl, wWindowStackBottom
rept 2
ld [hld], a
endr
ld a, l
- ld [wcf71], a
+ ld [wWindowStackPointer], a
ld a, h
- ld [wcf72], a
+ ld [wWindowStackPointer + 1], a
pop af
ld [rSVBK], a
@@ -523,15 +526,14 @@
ret
; 1ff8
-Function1ff8:: ; 1ff8
+MenuClickSound:: ; 1ff8
push af
- and $3
+ and A_BUTTON | B_BUTTON
jr z, .nosound
ld hl, wMenuFlags
bit 3, [hl]
jr nz, .nosound
call PlayClickSFX
-
.nosound
pop af
ret
@@ -548,12 +550,12 @@
MenuTextBoxWaitButton:: ; 2012
call MenuTextBox
- call CloseText
+ call WaitButton
call ExitMenu
ret
; 201c
-Function201c:: ; 201c
+Place2DMenuItemName:: ; 201c
ld [hBuffer], a
ld a, [hROMBank]
push af
@@ -567,39 +569,26 @@
ret
; 202a
-InterpretMenu:: ; 202a
+_2DMenu:: ; 202a
ld a, [hROMBank]
- ld [wcf94], a
- callba Function2400e
+ ld [wMenuData2_2DMenuItemStringsBank], a
+ callba _2DMenu_
ld a, [wMenuCursorBuffer]
ret
; 2039
-Function2039:: ; 2039
+InterpretBattleMenu:: ; 2039
ld a, [hROMBank]
- ld [wcf94], a
- callba Function24022
+ ld [wMenuData2_2DMenuItemStringsBank], a
+ callba _InterpretBattleMenu
ld a, [wMenuCursorBuffer]
ret
; 2048
-Function2048:: ; 2048
+InterpretMobileMenu:: ; 2048
ld a, [hROMBank]
- ld [wcf94], a
- callba Function2403c
+ ld [wMenuData2_2DMenuItemStringsBank], a
+ callba _InterpretMobileMenu
ld a, [wMenuCursorBuffer]
ret
; 2057
-
-Function2057:: ; 2057
- ld a, [hROMBank]
- push af
- ld a, BANK(Function842db)
- rst Bankswitch
-
- call Function842db
- pop af
- rst Bankswitch
-
- ret
-; 2063
--- a/home/mobile.asm
+++ b/home/mobile.asm
@@ -51,14 +51,14 @@
ret
; 3e80
-Function3e80:: ; 3e80
+MobileReceive:: ; 3e80
ld a, [hROMBank]
push af
- ld a, BANK(Function1116c5)
+ ld a, BANK(_MobileReceive)
ld [$c981], a
rst Bankswitch
- call Function1116c5
+ call _MobileReceive
pop bc
ld a, b
ld [$c981], a
@@ -92,19 +92,19 @@
ld a, [$c822]
bit 1, a
- jr nz, .skip_Function1118de
+ jr nz, .skip_Timer
ld a, [rSC]
and 1 << rSC_ON
- jr nz, .skip_Function1118de
+ jr nz, .skip_Timer
ld a, [hROMBank]
push af
- ld a, BANK(Function1118de)
+ ld a, BANK(_Timer)
ld [$c981], a
rst Bankswitch
- call Function1118de
+ call _Timer
pop bc
ld a, b
@@ -111,7 +111,7 @@
ld [$c981], a
rst Bankswitch
-.skip_Function1118de
+.skip_Timer
ld a, [rTMA]
ld [rTIMA], a
@@ -127,7 +127,8 @@
; 3ed7
Function3ed7:: ; 3ed7
- ld [$dc02], a
+; unreferenced
+ ld [wdc02], a
ld a, [hROMBank]
push af
ld a, BANK(Function114243)
@@ -138,6 +139,177 @@
ld a, b
rst Bankswitch
- ld a, [$dc02]
+ ld a, [wdc02]
ret
; 3eea
+
+Function3eea:: ; 3eea
+ push hl
+ push bc
+ ld de, AttrMap - TileMap
+ add hl, de
+ inc b
+ inc b
+ inc c
+ inc c
+ call Function3f35
+ pop bc
+ pop hl
+ call MobileHome_PlaceBox
+ ret
+; 3efd
+
+Function3efd:: ; 3efd
+; unreferenced
+ push hl
+ hlcoord 0, 12
+ ld b, 4
+ ld c, 18
+ call .fill_attr
+ pop hl
+ call PrintTextBoxText
+ ret
+; 3f0d
+
+.fill_attr
+ push hl
+ push bc
+ ld de, AttrMap - TileMap
+ add hl, de
+ inc b
+ inc b
+ inc c
+ inc c
+ call Function3f35
+ pop bc
+ pop hl
+ call TextBoxBorder
+ ret
+; 3f20
+
+Function3f20:: ; 3f20
+ hlcoord 0, 0, AttrMap
+ ld b, 6
+ ld c, 20
+ call Function3f35
+ hlcoord 0, 0
+ ld b, 4
+ ld c, 18
+ call MobileHome_PlaceBox
+ ret
+; 3f35
+
+Function3f35:: ; 3f35
+ ld a, 6
+ ld de, SCREEN_WIDTH
+.row
+ push bc
+ push hl
+.col
+ ld [hli], a
+ dec c
+ jr nz, .col
+ pop hl
+ add hl, de
+ pop bc
+ dec b
+ jr nz, .row
+ ret
+; 3f47
+
+MobileHome_PlaceBox: ; 3f47
+ push bc
+ call .FillTop
+ pop bc
+.RowLoop
+ push bc
+ call .FillMiddle
+ pop bc
+ dec b
+ jr nz, .RowLoop
+ call .FillBottom
+ ret
+; 3f58
+
+.FillTop
+ ld a, $63
+ ld d, $62
+ ld e, $64
+ jr .FillRow
+
+.FillBottom
+ ld a, $68
+ ld d, $67
+ ld e, $69
+ jr .FillRow
+
+.FillMiddle
+ ld a, $7f
+ ld d, $65
+ ld e, $66
+
+.FillRow
+ push hl
+ ld [hl], d
+ inc hl
+.FillLoop
+ ld [hli], a
+ dec c
+ jr nz, .FillLoop
+ ld [hl], e
+ pop hl
+ ld de, SCREEN_WIDTH
+ add hl, de
+ ret
+; 3f7c
+
+Function3f7c:: ; 3f7c
+ call MenuBoxCoord2Tile
+ call GetMenuBoxDims
+ dec b
+ dec c
+ call Function3eea
+ ret
+; 3f88
+
+Function3f88:: ; 3f88
+ ld hl, wDecompressScratch
+ ld b, 0
+.row
+ push bc
+ ld c, 1 tiles / 2
+.col
+ ld a, [de]
+ inc de
+ cpl
+ ld [hl], 0
+ inc hl
+ ld [hli], a
+ dec c
+ jr nz, .col
+ pop bc
+ dec c
+ jr nz, .row
+ ret
+; 3f9f
+
+Function3f9f:: ; 3f9f
+ ld hl, wDecompressScratch
+.row
+ push bc
+ ld c, 1 tiles / 2
+.col
+ ld a, [de]
+ inc de
+ inc de
+ cpl
+ ld [hl], $0
+ inc hl
+ ld [hli], a
+ dec c
+ jr nz, .col
+ pop bc
+ dec c
+ jr nz, .row
+ ret
+; 3fb5
--- a/home/movement.asm
+++ b/home/movement.asm
@@ -136,10 +136,10 @@
big_step_right
; 1bb1
-InitMenu3:: ; 1bb1
+SetMenuAttributes:: ; 1bb1
push hl
push bc
- ld hl, wcfa1
+ ld hl, w2DMenuCursorInitY
ld b, $8
.loop
ld a, [de]
@@ -160,19 +160,19 @@
ret
; 1bc9
-Function1bc9:: ; 1bc9
- callab Function241a8
- call Function1bdd
+StaticMenuJoypad:: ; 1bc9
+ callab _StaticMenuJoypad
+ call GetMenuJoypad
ret
; 1bd3
-Function1bd3:: ; 1bd3
- callab Function241ab
- call Function1bdd
+ScrollingMenuJoypad:: ; 1bd3
+ callab _ScrollingMenuJoypad
+ call GetMenuJoypad
ret
; 1bdd
-Function1bdd:: ; 1bdd
+GetMenuJoypad:: ; 1bdd
push bc
push af
ld a, [hJoyLast]
@@ -188,21 +188,21 @@
ret
; 1bee
-Function1bee:: ; 1bee
- ld hl, wcfac
+PlaceHollowCursor:: ; 1bee
+ ld hl, wCursorCurrentTile
ld a, [hli]
ld h, [hl]
ld l, a
- ld [hl], $ec
+ ld [hl], "▷"
ret
; 1bf7
-Function1bf7:: ; 1bf7
- ld hl, wcfac
+HideCursor:: ; 1bf7
+ ld hl, wCursorCurrentTile
ld a, [hli]
ld h, [hl]
ld l, a
- ld [hl], $7f
+ ld [hl], " "
ret
; 1c00
--- a/home/palettes.asm
+++ b/home/palettes.asm
@@ -35,10 +35,10 @@
ld c, rBGPD % $100
ld b, 4 ; NUM_PALS / 2
.bgp
- rept $10
+rept 2 palettes
ld a, [hli]
ld [$ff00+c], a
- endr
+endr
dec b
jr nz, .bgp
@@ -48,13 +48,13 @@
; copy 8 pals to obpd
ld a, %10000000 ; auto increment, index 0
ld [rOBPI], a
- ld c, rOBPD - rJOYP
+ ld c, rOBPD % $100
ld b, 4 ; NUM_PALS / 2
.obp
- rept $10
+rept 2 palettes
ld a, [hli]
ld [$ff00+c], a
- endr
+endr
dec b
jr nz, .obp
@@ -163,14 +163,14 @@
; cf8
-Functioncf8:: ; cf8
+DmgToCgbObjPal0:: ; cf8
ld [rOBP0], a
push af
-; Don't need to be here if CGB
+; Don't need to be here if not CGB
ld a, [hCGB]
and a
- jr z, .done
+ jr z, .dmg
push hl
push de
@@ -185,9 +185,9 @@
ld de, UnknOBPals
ld a, [rOBP0]
ld b, a
- ld c, $1
+ ld c, 1
call CopyPals
- ld a, $1
+ ld a, 1
ld [hCGBPalUpdate], a
pop af
@@ -197,39 +197,45 @@
pop de
pop hl
-.done
+.dmg
pop af
ret
; d24
-Functiond24:: ; d24
+DmgToCgbObjPal1:: ; d24
ld [rOBP1], a
push af
+
ld a, [hCGB]
and a
- jr z, .asm_d4e
+ jr z, .dmg
+
push hl
push de
push bc
+
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, 5 ; gfx
ld [rSVBK], a
- ld hl, OBPals + 8
- ld de, UnknOBPals + 8
+
+ ld hl, OBPals + 1 palettes
+ ld de, UnknOBPals + 1 palettes
ld a, [rOBP1]
ld b, a
- ld c, $1
+ ld c, 1
call CopyPals
- ld a, $1
+ ld a, 1
ld [hCGBPalUpdate], a
+
pop af
ld [rSVBK], a
+
pop bc
pop de
pop hl
-.asm_d4e
+.dmg
pop af
ret
; d50
@@ -274,7 +280,7 @@
jr nz, .loop
; de += 8 (next pal)
- ld a, 8 ; NUM_PAL_COLORS * 2 ; bytes per pal
+ ld a, 1 palettes ; NUM_PAL_COLORS * 2 ; bytes per pal
add e
jr nc, .ok
inc d
@@ -308,7 +314,7 @@
; d90
-Functiond90:: ; d90
+ret_d90:: ; d90
ret
; d91
--- a/home/serial.asm
+++ b/home/serial.asm
@@ -6,17 +6,17 @@
push de
push hl
- ld a, [hFFC9]
+ ld a, [hMobileReceive]
and a
- jr nz, .asm_71c
+ jr nz, .mobile
ld a, [wc2d4]
bit 0, a
- jr nz, .asm_721
+ jr nz, .printer
ld a, [hLinkPlayerNumber]
inc a ; is it equal to -1?
- jr z, .asm_726
+ jr z, .init_player_number
ld a, [rSB]
ld [hSerialReceive], a
@@ -26,34 +26,34 @@
ld a, [hLinkPlayerNumber]
cp $2
- jr z, .asm_752
+ jr z, .player2
ld a, 0 << rSC_ON
ld [rSC], a
ld a, 1 << rSC_ON
ld [rSC], a
- jr .asm_752
+ jr .player2
-.asm_71c
- call Function3e80
- jr .asm_75a
+.mobile
+ call MobileReceive
+ jr .end
-.asm_721
- call Function2057
- jr .asm_75a
+.printer
+ call PrinterReceive
+ jr .end
-.asm_726
+.init_player_number
ld a, [rSB]
cp $1
- jr z, .asm_730
+ jr z, .player1
cp $2
- jr nz, .asm_752
+ jr nz, .player2
-.asm_730
+.player1
ld [hSerialReceive], a
ld [hLinkPlayerNumber], a
cp $2
- jr z, .asm_74f
+ jr z, ._player2
xor a
ld [rSB], a
@@ -60,28 +60,28 @@
ld a, $3
ld [rDIV], a
-.asm_73f
+.wait_bit_7
ld a, [rDIV]
bit 7, a
- jr nz, .asm_73f
+ jr nz, .wait_bit_7
ld a, 0 << rSC_ON
ld [rSC], a
ld a, 1 << rSC_ON
ld [rSC], a
- jr .asm_752
+ jr .player2
-.asm_74f
+._player2
xor a
ld [rSB], a
-.asm_752
+.player2
ld a, $1
ld [hFFCA], a
- ld a, $fe
+ ld a, -2
ld [hSerialSend], a
-.asm_75a
+.end
pop hl
pop de
pop bc
@@ -92,7 +92,7 @@
Function75f:: ; 75f
ld a, $1
ld [hFFCC], a
-.asm_763
+.loop
ld a, [hl]
ld [hSerialSend], a
call Function78a
@@ -100,28 +100,28 @@
ld b, a
inc hl
ld a, $30
-.asm_76e
+.wait
dec a
- jr nz, .asm_76e
+ jr nz, .wait
ld a, [hFFCC]
and a
ld a, b
pop bc
- jr z, .asm_782
+ jr z, .load
dec hl
cp $fd
- jr nz, .asm_763
+ jr nz, .loop
xor a
ld [hFFCC], a
- jr .asm_763
+ jr .loop
-.asm_782
+.load
ld [de], a
inc de
dec bc
ld a, b
or c
- jr nz, .asm_763
+ jr nz, .loop
ret
; 78a
@@ -292,7 +292,7 @@
ld a, $ff
ld [wOtherPlayerLinkAction], a
.loop
- call LinkCommunicationsSendReceive
+ call LinkTransfer
call DelayFrame
call Function82b
jr z, .check
@@ -318,7 +318,7 @@
ld b, 10
.receive
call DelayFrame
- call LinkCommunicationsSendReceive
+ call LinkTransfer
dec b
jr nz, .receive
@@ -325,7 +325,7 @@
ld b, 10
.acknowledge
call DelayFrame
- call LinkCommunicationsSignalDataReceived
+ call LinkDataReceived
dec b
jr nz, .acknowledge
@@ -334,7 +334,7 @@
ret
; 8c1
-LinkCommunicationsSendReceive:: ; 8c1
+LinkTransfer:: ; 8c1
push bc
ld b, SERIAL_TIMECAPSULE
ld a, [wLinkMode]
@@ -380,7 +380,7 @@
ret
; 908
-LinkCommunicationsSignalDataReceived:: ; 908
+LinkDataReceived:: ; 908
; Let the other system know that the data has been received.
xor a
ld [hSerialSend], a
--- a/home/text.asm
+++ b/home/text.asm
@@ -538,7 +538,7 @@
.linkbattle
call Function13b6
- call KeepTextOpen
+ call ButtonSound
hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY
lb bc, TEXTBOX_INNERH - 1, TEXTBOX_INNERW
call ClearBox
@@ -561,7 +561,7 @@
call Function13b6
push de
- call KeepTextOpen
+ call ButtonSound
pop de
ld a, [wLinkMode]
@@ -611,7 +611,7 @@
.ok
call Function13b6
- call KeepTextOpen
+ call ButtonSound
ld a, [wLinkMode]
cp LINK_COLOSSEUM
jr z, DoneText
@@ -723,15 +723,15 @@
PlaceWholeStringInBoxAtOnce:: ; 13e5
- ld a, [TextBoxFrame + 1]
+ ld a, [TextBoxFlags]
push af
set 1, a
- ld [TextBoxFrame + 1], a
+ ld [TextBoxFlags], a
call DoTextUntilTerminator
pop af
- ld [TextBoxFrame + 1], a
+ ld [TextBoxFlags], a
ret
; 13f6
@@ -934,7 +934,7 @@
push hl
call LoadBlinkingCursor
push bc
- call KeepTextOpen
+ call ButtonSound
pop bc
call UnloadBlinkingCursor
pop hl
@@ -1101,7 +1101,7 @@
; display arrow
push hl
push bc
- call KeepTextOpen
+ call ButtonSound
pop bc
pop hl
ret
--- a/home/tilemap.asm
+++ b/home/tilemap.asm
@@ -1,19 +1,19 @@
-BackUpTiles:: ; 1c00
- callab _BackUpTiles
+PushWindow:: ; 1c00
+ callab _PushWindow
ret
; 1c07
ExitMenu:: ; 0x1c07
push af
- callab Function243e8
+ callab _ExitMenu
pop af
ret
-Function1c10:: ; 0x1c10
- callab Function2446d
+InitVerticalMenuCursor:: ; 0x1c10
+ callab _InitVerticalMenuCursor
ret
-WriteBackup:: ; 0x1c17
+CloseWindow:: ; 0x1c17
push af
call ExitMenu
call ApplyTilemap
@@ -54,7 +54,7 @@
ret
-Function1c47:: ; 0x1c47
+PopWindow:: ; 0x1c47
ld b, $10
ld de, wMenuFlags
.loop
@@ -98,8 +98,8 @@
ret
; 1c7e
-Function1c7e:: ; 1c7e
- ld hl, wcf71
+GetWindowStackTop:: ; 1c7e
+ ld hl, wWindowStackPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -110,7 +110,7 @@
ret
; 1c89
-Function1c89:: ; 1c89
+PlaceVerticalMenuItems:: ; 1c89
call CopyMenuData2
ld hl, wMenuData2Pointer
ld e, [hl]
@@ -131,6 +131,7 @@
pop bc
dec b
jr nz, .loop
+
ld a, [wMenuData2Flags]
bit 4, a
ret z
@@ -213,13 +214,11 @@
ld a, c
ld b, h
ld c, l
-rept 2
add hl, hl
-endr
+ add hl, hl
add hl, bc
-rept 2
add hl, hl
-endr
+ add hl, hl
ld c, a
xor a
ld b, a
@@ -243,13 +242,11 @@
ld a, c
ld b, h
ld c, l
-rept 2
add hl, hl
-endr
+ add hl, hl
add hl, bc
-rept 2
add hl, hl
-endr
+ add hl, hl
ld c, a
xor a
ld b, a
--- a/home/time.asm
+++ b/home/time.asm
@@ -187,14 +187,14 @@
ret
; 658
-Function658:: ; 658
+SetTimeOfDay:: ; 658
xor a
ld [StringBuffer2], a
ld a, $0 ; useless
ld [StringBuffer2 + 3], a
- jr Function677
+ jr InitTime
-Function663:: ; 663
+SetDayOfWeek:: ; 663
call UpdateTime
ld a, [hHours]
ld [StringBuffer2 + 1], a
@@ -202,10 +202,10 @@
ld [StringBuffer2 + 2], a
ld a, [hSeconds]
ld [StringBuffer2 + 3], a
- jr Function677 ; useless
+ jr InitTime ; useless
-Function677:: ; 677
- callba Function140ed
+InitTime:: ; 677
+ callba _InitTime
ret
; 67e
--- a/home/vblank.asm
+++ b/home/vblank.asm
@@ -247,11 +247,11 @@
jp nz, UpdateCGBPals
; update gb pals
- ld a, [wcfc7]
+ ld a, [wBGP]
ld [rBGP], a
- ld a, [wcfc8]
+ ld a, [wOBP0]
ld [rOBP0], a
- ld a, [wcfc9]
+ ld a, [wOBP1]
ld [rOBP1], a
and a
--- a/home/video.asm
+++ b/home/video.asm
@@ -20,10 +20,10 @@
UpdateBGMapBuffer:: ; 15e3
-; Copy [$ffdc] 16x8 tiles from BGMapBuffer
+; Copy [hFFDC] 16x8 tiles from BGMapBuffer
; to bg map addresses in BGMapBufferPtrs.
-; [$ffdc] must be even since this is done in pairs.
+; [hFFDC] must be even since this is done in pairs.
; Return carry on success.
@@ -76,11 +76,10 @@
endr
; We've done 2 16x8 blocks
- ld a, [$ffdc]
-rept 2
+ ld a, [hFFDC]
dec a
-endr
- ld [$ffdc], a
+ dec a
+ ld [hFFDC], a
jr nz, .next
--- a/home/window.asm
+++ b/home/window.asm
@@ -1,6 +1,6 @@
-ResetWindow:: ; 2dba
+RefreshScreen:: ; 2dba
- call ResetTextRelatedRAM
+ call ClearWindowData
ld a, [hROMBank]
push af
ld a, BANK(Function6454) ; and BANK(Function64bf)
@@ -16,13 +16,13 @@
; 2dcf
-LoadMoveSprites:: ; 2dcf
+CloseText:: ; 2dcf
ld a, [hOAMUpdate]
push af
ld a, $1
ld [hOAMUpdate], a
- call Function2de2
+ call .CloseText
pop af
ld [hOAMUpdate], a
@@ -31,8 +31,8 @@
ret
; 2de2
-Function2de2:: ; 2de2
- call ResetTextRelatedRAM
+.CloseText ; 2de2
+ call ClearWindowData
xor a
ld [hBGMapMode], a
call OverworldTextModeSwitch
@@ -44,21 +44,21 @@
ld [hWY], a
call ReplaceKrisSprite
callba ReturnFromMapSetupScript
- callba Function106594
+ callba LoadOverworldFont
ret
; 2e08
-LoadFont:: ; 2e08
- call ResetTextRelatedRAM
+OpenText:: ; 2e08
+ call ClearWindowData
ld a, [hROMBank]
push af
ld a, BANK(Function6454) ; and BANK(Function64bf)
rst Bankswitch
- call Function6454
+ call Function6454 ; clear bgmap
call SpeechTextBox
- call Function2e20
- call Function64bf
+ call Function2e20 ; anchor bgmap
+ call Function64bf ; load font
pop af
rst Bankswitch
--- a/hram.asm
+++ b/hram.asm
@@ -1,8 +1,9 @@
+HRAM_START EQU $ff80
hPushOAM EQU $ff80
hROMBankBackup EQU $ff8a
hBuffer EQU $ff8b
-
+hFF8C EQU $ff8c
hRTCDayHi EQU $ff8d
hRTCDayLo EQU $ff8e
hRTCHours EQU $ff8f
@@ -34,7 +35,7 @@
hPrinter EQU $ffac
hFillBox EQU $ffad
-
+hMoveMon EQU $ffae
hMapObjectIndexBuffer EQU $ffaf
hObjectStructIndexBuffer EQU $ffb0
@@ -75,9 +76,10 @@
hFFC2 EQU $ffc2
hMoneyTemp EQU $ffc3
-hLCDStatCustom EQU $ffc6
-
-hFFC9 EQU $ffc9
+hFFC6 EQU $ffc6
+hFFC7 EQU $ffc7
+hFFC8 EQU $ffc8
+hMobileReceive EQU $ffc9
hFFCA EQU $ffca
hLinkPlayerNumber EQU $ffcb
hFFCC EQU $ffcc
@@ -114,3 +116,7 @@
hSGB EQU $ffe7
hDMATransfer EQU $ffe8
hMobile EQU $ffe9
+hFFEA EQU $ffea
+hClockResetTrigger EQU $ffeb
+
+HRAM_END EQU $ffff
--- a/items/item_effects.asm
+++ b/items/item_effects.asm
@@ -4,7 +4,7 @@
call GetItemName
call CopyName1
ld a, 1
- ld [wPlayerAction], a
+ ld [wItemEffectSucceeded], a
ld a, [CurItem]
dec a
ld hl, ItemEffects
@@ -39,7 +39,7 @@
dw Thunderstone
dw WaterStone
dw Item19
- dw HpUp
+ dw HPUp
dw Protein
dw Iron
dw Carbos
@@ -75,7 +75,7 @@
dw GoodRod
dw SilverLeaf
dw SuperRod
- dw PpUp
+ dw PPUp
dw Ether
dw MaxEther
dw Elixer
@@ -413,7 +413,7 @@
xor a
ld [hBattleTurn], a
ld [Buffer2], a
- ld [wcfca], a
+ ld [wNumHits], a
predef PlayBattleAnim
ld a, [wWildMon]
@@ -654,7 +654,7 @@
ld [CurPartyMon], a
ld a, BOXMON
ld [MonType], a
- ld de, wd050
+ ld de, wMonOrItemNameBuffer
ld b, $0
callba NamingScreen
@@ -661,7 +661,7 @@
ld a, BANK(sBoxMonNicknames)
call GetSRAMBank
- ld hl, wd050
+ ld hl, wMonOrItemNameBuffer
ld de, sBoxMonNicknames
ld bc, PKMN_NAME_LENGTH
call CopyBytes
@@ -677,7 +677,7 @@
call GetSRAMBank
ld hl, sBoxMonNicknames
- ld de, wd050
+ ld de, wMonOrItemNameBuffer
ld bc, PKMN_NAME_LENGTH
call CopyBytes
@@ -1206,7 +1206,7 @@
jr z, .NoEffect
ld a, $1
- ld [wd1e9], a
+ ld [wForceEvolution], a
callba EvolvePokemon
ld a, [wMonTriedToEvolve]
@@ -1220,12 +1220,12 @@
.DecidedNotToUse
xor a
- ld [wPlayerAction], a
+ ld [wItemEffectSucceeded], a
ret
; ee3d
-HpUp:
+HPUp:
Protein:
Iron:
Carbos:
@@ -1285,7 +1285,7 @@
call GetPartyParamLocation
ld d, h
ld e, l
- ld a, MON_EXP + 2
+ ld a, MON_STAT_EXP - 1
call GetPartyParamLocation
ld b, $1
predef_jump CalcPkmnStats
@@ -1293,7 +1293,7 @@
RareCandy_StatBooster_ExitMenu: ; ee9f
xor a
- ld [wPlayerAction], a
+ ld [wItemEffectSucceeded], a
jp ClearPalettes
; eea6
@@ -1447,7 +1447,7 @@
predef LearnLevelMoves
xor a
- ld [wd1e9], a
+ ld [wForceEvolution], a
callba EvolvePokemon
jp UseDisposableItem
@@ -1614,11 +1614,11 @@
; f09e
StatusHealer_Jumptable: ; f09e (3:709e)
- ld hl, .jumptable
+ ld hl, .dw
rst JumpTable
ret
-.jumptable: ; f0a3 (3:70a3)
+.dw: ; f0a3 (3:70a3)
dw StatusHealer_ClearPalettes
dw StatusHealer_NoEffect
dw StatusHealer_ExitMenu
@@ -1842,7 +1842,7 @@
ld bc, SCREEN_WIDTH * 2
call AddNTimes
ld a, $2
- ld [wd10a], a
+ ld [wWhichHPBar], a
predef_jump AnimateHPBar
UseItem_SelectMon: ; f1f9 (3:71f9)
@@ -1930,7 +1930,7 @@
StatusHealer_ExitMenu: ; f29e (3:729e)
xor a
- ld [wPlayerAction], a
+ ld [wItemEffectSucceeded], a
StatusHealer_ClearPalettes: ; f2a2 (3:72a2)
call ClearPalettes
ret
@@ -2161,7 +2161,7 @@
Softboiled_MilkDrinkFunction: ; f3df (3:73df)
; Softboiled/Milk Drink in the field
- ld a, [wd0d8]
+ ld a, [wPartyMenuCursor]
dec a
ld b, a
call .SelectMilkDrinkRecipient ; select pokemon
@@ -2186,7 +2186,7 @@
.skip
ld a, b
inc a
- ld [wd0d8], a
+ ld [wPartyMenuCursor], a
ret
.SelectMilkDrinkRecipient: ; f419 (3:7419)
@@ -2197,7 +2197,7 @@
call ChoosePkmnToUseItemOn
pop bc
jr c, .set_carry
- ld a, [wd0d8]
+ ld a, [wPartyMenuCursor]
dec a
ld c, a
ld a, b
@@ -2233,10 +2233,10 @@
EscapeRope: ; f44f
xor a
- ld [wPlayerAction], a
+ ld [wItemEffectSucceeded], a
callba EscapeRopeFunction
- ld a, [wPlayerAction]
+ ld a, [wItemEffectSucceeded]
cp 1
call z, UseDisposableItem
ret
@@ -2298,7 +2298,7 @@
.asm_f4a6
xor a
- ld [wPlayerAction], a
+ ld [wItemEffectSucceeded], a
ret
; f4ab
@@ -2512,7 +2512,7 @@
MaxElixer:
-PpUp:
+PPUp:
Ether:
MaxEther:
Elixer:
@@ -2667,7 +2667,7 @@
Elixer_RestorePPofAllMoves: ; f6af
xor a
- ld hl, MenuSelection2
+ ld hl, wMenuCursorY
ld [hli], a
ld [hl], a
ld b, NUM_MOVES
@@ -2682,16 +2682,16 @@
call RestorePP
jr z, .next
- ld hl, wcfaa
+ ld hl, wMenuCursorX
inc [hl]
.next
- ld hl, MenuSelection2
+ ld hl, wMenuCursorY
inc [hl]
pop bc
dec b
jr nz, .moveLoop
- ld a, [wcfaa]
+ ld a, [wMenuCursorX]
and a
jp nz, BattleRestorePP
@@ -2701,7 +2701,7 @@
PPRestoreItem_Cancel: ; f6e0
call ClearPalettes
xor a
- ld [wPlayerAction], a
+ ld [wItemEffectSucceeded], a
ret
; f6e8
@@ -2802,7 +2802,7 @@
SacredAsh: ; f753
callba _SacredAsh
- ld a, [wPlayerAction]
+ ld a, [wItemEffectSucceeded]
cp $1
ret nz
call UseDisposableItem
@@ -2811,29 +2811,27 @@
NormalBox: ; f763
- ld c, $2c
- jr Function_0xf769
+ ld c, DECOFLAG_SILVER_TROPHY_DOLL
+ jr OpenBox
; f767
GorgeousBox: ; f767
- ld c, $2b
-; f769
-
-Function_0xf769: ; f769
+ ld c, DECOFLAG_GOLD_TROPHY_DOLL
+OpenBox: ; f769
callba SetSpecificDecorationFlag
- ld hl, UnknownText_0xf778
+ ld hl, .text
call PrintText
jp UseDisposableItem
; f778
-UnknownText_0xf778: ; 0xf778
+.text: ; 0xf778
+ ; There was a trophy inside!
text_jump UnknownText_0x1c5d03
db "@"
; 0xf77d
-
Brightpowder:
Item19:
LuckyPunch:
@@ -2923,7 +2921,8 @@
UpGrade:
ItemB0:
RainbowWing:
-ItemB3: ; f77d
+ItemB3:
+TeruSama: ; f77d
jp IsntTheTimeMessage
; f780
@@ -2958,7 +2957,7 @@
xor a
ld [wKickCounter], a
ld [hBattleTurn], a
- ld [wcfca], a
+ ld [wNumHits], a
predef PlayBattleAnim
ld hl, BlockedTheBallText
call PrintText
@@ -2973,7 +2972,7 @@
; Item wasn't used.
ld a, $2
- ld [wPlayerAction], a
+ ld [wItemEffectSucceeded], a
ret
; f7d6
@@ -2988,7 +2987,7 @@
; Item wasn't used.
ld a, $2
- ld [wPlayerAction], a
+ ld [wItemEffectSucceeded], a
ret
; f7e8
@@ -3018,7 +3017,7 @@
CantUseItemMessage: ; f804
; Item couldn't be used.
xor a
- ld [wPlayerAction], a
+ ld [wItemEffectSucceeded], a
jp PrintText
; f80b
@@ -3120,7 +3119,7 @@
ld a, [wd265]
dec a
jr nz, .use
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
inc a
cp b
jr nz, .skip
@@ -3197,7 +3196,7 @@
call GetPartyParamLocation
pop de
xor a ; PARTYMON
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld [MonType], a
ld c, NUM_MOVES
.loop
@@ -3217,7 +3216,7 @@
add b
ld [de], a
inc de
- ld hl, MenuSelection2
+ ld hl, wMenuCursorY
inc [hl]
pop hl
dec c
@@ -3310,7 +3309,7 @@
call AddNTimes
GetMthMoveOfCurrentMon: ; f969
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld c, a
ld b, 0
add hl, bc
--- a/lib/mobile/main.asm
+++ b/lib/mobile/main.asm
@@ -1,5 +1,7 @@
; A library included as part of the Mobile Adapter GB SDK.
+charmap "<CR>", $d
+
INCLUDE "gbhw.asm"
SECTION "Main", ROMX
@@ -72,7 +74,7 @@
Function110030:: ; 110030 (44:4030)
; Use the byte at $c988 as a parameter
-; for a jumptable.
+; for a dw.
; If [$c988] in {12, 14, 16},
; clear [$c835].
push de
@@ -89,7 +91,7 @@
.noreset
ld d, $0
ld e, a
- ld hl, .jumptable
+ ld hl, .dw
add hl, de
ld a, [hli]
ld [$c988], a
@@ -112,10 +114,10 @@
ld a, [hli]
ld h, [hl]
ld l, a
- ret ; indirectly jump to the function loaded from the jumptable, which returns to Function3e60.
+ ret ; indirectly jump to the function loaded from the dw, which returns to Function3e60.
; 110070 (44:4070)
-.jumptable: ; 110070
+.dw: ; 110070
dw Function110115
dw Function110236
dw Function110291
@@ -608,7 +610,7 @@
; 110393
Function110393: ; 110393
- ld c, $ff
+ ld c, rIE % $100
ld a, [$ff00+c]
or $c
ld [$ff00+c], a
@@ -1971,73 +1973,73 @@
Function110d37: ; 110d37
push bc
push de
- ld b, $0
-.asm_110d3b
- ld a, $27
+ ld b, 0
+.check_under_10k
+ ld a, 10000 / $100
cp h
- jr c, .asm_110d49
- jr nz, .asm_110d52
- ld a, $10
+ jr c, .subtract_10k
+ jr nz, .done_10k
+ ld a, 10000 % $100
cp l
- jr z, .asm_110d49
- jr nc, .asm_110d52
+ jr z, .subtract_10k
+ jr nc, .done_10k
-.asm_110d49
+.subtract_10k
inc b
ld a, b
- ld bc, $d8f0
+ ld bc, -10000
add hl, bc
ld b, a
- jr .asm_110d3b
+ jr .check_under_10k
-.asm_110d52
+.done_10k
ld a, $30
or b
ld [de], a
inc de
- ld b, $0
-.asm_110d59
- ld a, $3
+ ld b, 0
+.check_under_1k
+ ld a, 1000 / $100
cp h
- jr c, .asm_110d67
- jr nz, .asm_110d70
- ld a, $e8
+ jr c, .subtract_1k
+ jr nz, .done_1k
+ ld a, 1000 % $100
cp l
- jr z, .asm_110d67
- jr nc, .asm_110d70
+ jr z, .subtract_1k
+ jr nc, .done_1k
-.asm_110d67
+.subtract_1k
inc b
ld a, b
- ld bc, $fc18
+ ld bc, -1000
add hl, bc
ld b, a
- jr .asm_110d59
+ jr .check_under_1k
-.asm_110d70
+.done_1k
ld a, $30
or b
ld [de], a
inc de
- ld b, $0
-.asm_110d77
- ld a, $0
+ ld b, 0
+.check_under_100
+ ld a, 100 / $100
cp h
- jr nz, .asm_110d83
- ld a, $64
+ jr nz, .subtract_100
+ ld a, 100 % $100
cp l
- jr z, .asm_110d83
- jr nc, .asm_110d8c
+ jr z, .subtract_100
+ jr nc, .check_under_10
-.asm_110d83
+.subtract_100
inc b
ld a, b
- ld bc, $ff9c
+ ld bc, -100
add hl, bc
ld b, a
- jr .asm_110d77
+ jr .check_under_100
-.asm_110d8c
+.check_under_10
ld a, $30
or b
ld [de], a
@@ -2044,14 +2046,14 @@
inc de
ld b, $0
ld a, l
-.asm_110d94
- cp $a
- jr c, .asm_110d9d
- sub $a
+.subtract_10
+ cp 10
+ jr c, .done_10
+ sub 10
inc b
- jr .asm_110d94
+ jr .subtract_10
-.asm_110d9d
+.done_10
ld l, a
ld a, $30
or b
@@ -2064,19 +2066,19 @@
ld l, e
ld h, d
ld b, $5
-.asm_110dac
+.find_first_digit
ld a, [hl]
cp $30
- jr nz, .asm_110db7
+ jr nz, .found_first_digit
inc hl
dec b
- jr nz, .asm_110dac
- jr .asm_110dd5
+ jr nz, .find_first_digit
+ jr .done
-.asm_110db7
+.found_first_digit
ld a, $5
cp b
- jr z, .asm_110dd5
+ jr z, .done
sub b
ld c, a
ld a, [$cb4c]
@@ -2085,23 +2087,23 @@
ld [$cb4c], a
push hl
ld b, $1
-.asm_110dc9
+.penultimate_loop
inc b
ld a, [hli]
cp $d
- jr nz, .asm_110dc9
+ jr nz, .penultimate_loop
pop hl
call Function110000
pop hl
ret
-.asm_110dd5
+.done
pop bc
-.asm_110dd6
+.last_loop
ld a, [de]
inc de
cp $a
- jr nz, .asm_110dd6
+ jr nz, .last_loop
ret
; 110ddd
@@ -2697,7 +2699,7 @@
dec hl
.asm_1111ee
- ld bc, rIE
+ ld bc, -1
.asm_1111f1
ld a, [hli]
inc bc
@@ -3530,7 +3532,7 @@
ret
; 1116c5
-Function1116c5:: ; 1116c5 (44:56c5)
+_MobileReceive:: ; 1116c5 (44:56c5)
ld a, [$c800]
rrca
jp nc, Function1118bc
@@ -3636,7 +3638,6 @@
.asm_111778
xor a
ld [$c800], a
-
Function11177c: ; 11177c (44:577c)
ld hl, $c820
ld a, [hld]
@@ -3835,7 +3836,6 @@
xor a
ld [hli], a
inc [hl]
-
Function1118bc: ; 1118bc (44:58bc)
ld hl, $c822
res 1, [hl]
@@ -3859,7 +3859,7 @@
inc [hl]
ret
-Function1118de:: ; 1118de (44:58de)
+_Timer:: ; 1118de (44:58de)
ld a, [$c80b]
cp $4
call z, Function111b3c
@@ -4974,31 +4974,31 @@
Unknown_1120b0:
db "RCPT TO:<", 0
Unknown_1120ba:
- db "DATA", $d, "\n", 0
+ db "DATA<CR>\n", 0
Unknown_1120c1:
- db "QUIT", $d, "\n", 0
+ db "QUIT<CR>\n", 0
Unknown_1120c8:
db "USER ", 0
Unknown_1120ce:
db "PASS ", 0
Unknown_1120d4:
- db "STAT", $d, "\n", 0
+ db "STAT<CR>\n", 0
Unknown_1120db:
- db "LIST 00000", $d, "\n", 0
+ db "LIST 00000<CR>\n", 0
Unknown_1120e8:
- db "RETR 00000", $d, "\n", 0
+ db "RETR 00000<CR>\n", 0
Unknown_1120f5:
- db "DELE 00000", $d, "\n", 0
+ db "DELE 00000<CR>\n", 0
Unknown_112102:
- db "TOP 00000 0", $d, "\n", 0
+ db "TOP 00000 0<CR>\n", 0
Unknown_112110:
db "GET ", 0
Unknown_112115:
- db " HTTP/1.0", $d, "\n", 0
+ db " HTTP/1.0<CR>\n", 0
Unknown_112121:
db "User-Agent: CGB-", 0
Unknown_112132:
- db $d, "\n", $d, "\n", 0
+ db "<CR>\n<CR>\n", 0
Unknown_112137:
db "POST ", 0
Unknown_11213d:
--- a/macros.asm
+++ b/macros.asm
@@ -16,7 +16,6 @@
INCLUDE "macros/trainer.asm"
INCLUDE "macros/trade_anim.asm"
-
RGB: MACRO
dw ((\3) << 10) + ((\2) << 5) + (\1)
ENDM
@@ -93,11 +92,11 @@
ENDM
lb: MACRO ; r, hi, lo
- ld \1, (\2) << 8 + (\3)
+ ld \1, (\2 & $ff) << 8 + (\3 & $ff)
ENDM
ln: MACRO ; r, hi, lo
- ld \1, (\2) << 4 + (\3)
+ ld \1, (\2 & $f) << 4 + (\3 & $f)
ENDM
bccoord equs "coord bc,"
@@ -213,17 +212,26 @@
palettes EQUS "* 8"
ldpixel: MACRO
-if _NARG == 5
+if _NARG >= 5
lb \1, \2 * 8 + \4, \3 * 8 + \5
else
lb \1, \2 * 8, \3 * 8
endc
- endm
+endm
depixel EQUS "ldpixel de,"
+bcpixel EQUS "ldpixel bc,"
+dbpixel: MACRO
+if _NARG >= 4
+ db \1 * 8 + \3, \2 * 8 + \4
+else
+ db \1 * 8, \2 * 8
+endc
+endm
+
bgcoord: MACRO
-IF _NARG == 4
+IF _NARG >= 4
ld \1, \3 * $20 + \2 + \4
ELSE
ld \1, \3 * $20 + \2 + VBGMap0
@@ -234,3 +242,30 @@
debgcoord EQUS "bgcoord de,"
bcbgcoord EQUS "bgcoord bc,"
bgrows EQUS "* $20"
+
+palred EQUS "$0400 *"
+palgreen EQUS "$0020 *"
+palblue EQUS "$0001 *"
+
+dsprite: MACRO
+; conditional segment is there because not every instance of
+; this macro is directly OAM
+if _NARG >= 7 ; y tile, y pxl, x tile, x pxl, vtile offset, flags, palette
+ db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, (\6 << 3) + (\7 & 7)
+else
+ db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, \6
+endc
+endm
+
+jumptable: MACRO
+ ld a, [\2]
+ ld e, a
+ ld d, 0
+ ld hl, \1
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+endm
--- a/macros/event.asm
+++ b/macros/event.asm
@@ -9,8 +9,7 @@
enum farscall_command
farscall: macro
db farscall_command
- db BANK(\1)
- dw \1
+ dba \1
endm
enum ptcall_command
@@ -28,8 +27,7 @@
enum farjump_command
farjump: macro
db farjump_command
- db BANK(\1)
- dw \1
+ dba \1
endm
enum ptjump_command
@@ -93,8 +91,7 @@
enum callasm_command
callasm: macro
db callasm_command
- db BANK(\1)
- dw \1
+ dba \1
endm
@@ -106,8 +103,7 @@
add_special: MACRO
\1Special::
- db BANK(\1)
- dw \1
+ dba \1
ENDM
@@ -480,9 +476,9 @@
db pocketisfull_command
endm
- enum loadfont_command
-loadfont: macro
- db loadfont_command
+ enum opentext_command
+opentext: macro
+ db opentext_command
endm
enum refreshscreen_command
@@ -491,9 +487,9 @@
db \1 ; dummy
endm
- enum loadmovesprites_command
-loadmovesprites: macro
- db loadmovesprites_command
+ enum closetext_command
+closetext: macro
+ db closetext_command
endm
enum loadbytec2cf_command
@@ -505,8 +501,7 @@
enum farwritetext_command
farwritetext: macro
db farwritetext_command
- db BANK(\1)
- dw \1
+ dba \1
endm
enum writetext_command
@@ -533,9 +528,9 @@
dw \1 ; data
endm
- enum writebackup_command
-writebackup: macro
- db writebackup_command
+ enum closewindow_command
+closewindow: macro
+ db closewindow_command
endm
enum jumptextfaceplayer_command
@@ -548,8 +543,7 @@
enum farjumptext_command
farjumptext: macro
db farjumptext_command
- db BANK(\1)
- dw \1
+ dba \1
endm
; ENDC
@@ -559,14 +553,14 @@
dw \1 ; text_pointer
endm
- enum closetext_command
-closetext: macro
- db closetext_command
+ enum waitbutton_command
+waitbutton: macro
+ db waitbutton_command
endm
- enum keeptextopen_command
-keeptextopen: macro
- db keeptextopen_command
+ enum buttonsound_command
+buttonsound: macro
+ db buttonsound_command
endm
enum pokepic_command
@@ -575,19 +569,19 @@
db \1 ; pokemon
endm
- enum pokepicyesorno_command
-pokepicyesorno: macro
- db pokepicyesorno_command
+ enum closepokepic_command
+closepokepic: macro
+ db closepokepic_command
endm
- enum interpretmenu_command
-interpretmenu: macro
- db interpretmenu_command
+ enum _2dmenu_command
+_2dmenu: macro
+ db _2dmenu_command
endm
- enum interpretmenu2_command
-interpretmenu2: macro
- db interpretmenu2_command
+ enum verticalmenu_command
+verticalmenu: macro
+ db verticalmenu_command
endm
enum loadpikachudata_command
@@ -595,19 +589,19 @@
db loadpikachudata_command
endm
- enum battlecheck_command
-battlecheck: macro
- db battlecheck_command
+ enum randomwildmon_command
+randomwildmon: macro
+ db randomwildmon_command
endm
- enum loadtrainerdata_command
-loadtrainerdata: macro
- db loadtrainerdata_command
+ enum loadmemtrainer_command
+loadmemtrainer: macro
+ db loadmemtrainer_command
endm
- enum loadpokedata_command
-loadpokedata: macro
- db loadpokedata_command
+ enum loadwildmon_command
+loadwildmon: macro
+ db loadwildmon_command
db \1 ; pokemon
db \2 ; level
endm
@@ -624,9 +618,9 @@
db startbattle_command
endm
- enum returnafterbattle_command
-returnafterbattle: macro
- db returnafterbattle_command
+ enum reloadmapafterbattle_command
+reloadmapafterbattle: macro
+ db reloadmapafterbattle_command
endm
enum catchtutorial_command
@@ -641,9 +635,9 @@
db \1 ; which_text
endm
- enum trainerstatus_command
-trainerstatus: macro
- db trainerstatus_command
+ enum trainerflagaction_command
+trainerflagaction: macro
+ db trainerflagaction_command
db \1 ; action
endm
@@ -659,14 +653,14 @@
db scripttalkafter_command
endm
- enum talkaftercancel_command
-talkaftercancel: macro
- db talkaftercancel_command
+ enum end_if_just_battled_command
+end_if_just_battled: macro
+ db end_if_just_battled_command
endm
- enum talkaftercheck_command
-talkaftercheck: macro
- db talkaftercheck_command
+ enum check_just_battled_command
+check_just_battled: macro
+ db check_just_battled_command
endm
enum setlasttalked_command
@@ -822,9 +816,9 @@
dw \1 ; music_pointer
endm
- enum playrammusic_command
-playrammusic: macro
- db playrammusic_command
+ enum encountermusic_command
+encountermusic: macro
+ db encountermusic_command
endm
enum musicfadeout_command
@@ -839,9 +833,9 @@
db playmapmusic_command
endm
- enum reloadmapmusic_command
-reloadmapmusic: macro
- db reloadmapmusic_command
+ enum dontrestartmapmusic_command
+dontrestartmapmusic: macro
+ db dontrestartmapmusic_command
endm
enum cry_command
@@ -856,9 +850,9 @@
dw \1 ; sound_pointer
endm
- enum waitbutton_command
-waitbutton: macro
- db waitbutton_command
+ enum waitsfx_command
+waitsfx: macro
+ db waitsfx_command
endm
enum warpsound_command
@@ -928,9 +922,9 @@
db \1 ; which_method
endm
- enum resetfuncs_command
-resetfuncs: macro
- db resetfuncs_command
+ enum end_all_command
+end_all: macro
+ db end_all_command
endm
enum pokemart_command
@@ -1010,9 +1004,9 @@
db \2 ; var
endm
- enum loadwilddata_command
-loadwilddata: macro
- db loadwilddata_command
+ enum swarm_command
+swarm: macro
+ db swarm_command
db \1 ; flag
map \2 ; map
endm
@@ -1042,9 +1036,9 @@
db \1 ; memory
endm
- enum displaylocation_command
-displaylocation: macro
- db displaylocation_command
+ enum landmarktotext_command
+landmarktotext: macro
+ db landmarktotext_command
db \1 ; id
db \2 ; memory
endm
--- a/macros/map.asm
+++ b/macros/map.asm
@@ -170,3 +170,16 @@
db \1, \2
map \3
ENDM
+
+itemball: MACRO
+if _NARG == 2
+ db \1, \2
+else
+ db \1, 1
+endc
+endm
+
+stonetable: MACRO
+ db \1, \2
+ dw \3
+endm
--- a/macros/move_anim.asm
+++ b/macros/move_anim.asm
@@ -11,9 +11,9 @@
anim_obj: macro
db anim_obj_command
db \1 ; obj
- db \2 ; x
- db \3 ; y
- db \4 ; param
+ db (\2 << 3) + \3 ; x
+ db (\4 << 3) + \5 ; y
+ db \6 ; param
endm
enum anim_1gfx_command ; d1
@@ -113,8 +113,8 @@
enum anim_sound_command ; e0
anim_sound: macro
db anim_sound_command
- db \1 ; tracks
- db \2 ; id
+ db (\1 << 2) | \2 ; duration, tracks
+ db \3 ; id
endm
enum anim_cry_command ; e1
--- a/macros/movement.asm
+++ b/macros/movement.asm
@@ -1,3 +1,4 @@
+
enum_start
enum movement_turn_head_down
@@ -20,24 +21,24 @@
db movement_turn_head_right ; $03
endm
- enum movement_half_step_down
-half_step_down: macro
- db movement_half_step_down ; $04
+ enum movement_turn_step_down
+turn_step_down: macro
+ db movement_turn_step_down ; $04
endm
- enum movement_half_step_up
-half_step_up: macro
- db movement_half_step_up ; $05
+ enum movement_turn_step_up
+turn_step_up: macro
+ db movement_turn_step_up ; $05
endm
- enum movement_half_step_left
-half_step_left: macro
- db movement_half_step_left ; $06
+ enum movement_turn_step_left
+turn_step_left: macro
+ db movement_turn_step_left ; $06
endm
- enum movement_half_step_right
-half_step_right: macro
- db movement_half_step_right ; $07
+ enum movement_turn_step_right
+turn_step_right: macro
+ db movement_turn_step_right ; $07
endm
enum movement_slow_step_down
@@ -367,7 +368,10 @@
db movement_step_loop ; $4a
endm
-__enum__ = $4c
+ enum movement_step_4b
+step_4b: macro
+ db movement_step_4b ; $4b
+ endm
enum movement_teleport_from
teleport_from: macro
@@ -432,4 +436,9 @@
return_dig: macro
db movement_return_dig ; $58
db \1
+ endm
+
+ enum movement_skyfall_top
+skyfall_top: macro
+ db movement_skyfall_top ; $59
endm
--- a/macros/sound.asm
+++ b/macros/sound.asm
@@ -3,39 +3,34 @@
ENDM
sound: macro
- db \1 ; duration
- db \2 ; intensity
- dw \3 ; frequency
+ note \1, \2
+ db \3 ; intensity
+ dw \4 ; frequency
endm
noise: macro
- db \1 ; duration
- db \2 ; intensity
- db \3 ; frequency
+ note \1, \2 ; duration
+ db \3 ; intensity
+ db \4 ; frequency
endm
-; pitch
-__ EQU 0
-C_ EQU 1
-C# EQU 2
-D_ EQU 3
-D# EQU 4
-E_ EQU 5
-F_ EQU 6
-F# EQU 7
-G_ EQU 8
-G# EQU 9
-A_ EQU 10
-A# EQU 11
-B_ EQU 12
+musicheader: macro
+ ; number of tracks, ??, address
+ dbw ((\1 - 1) << 6) + (\2 - 1), \3
+ endm
+cry_header: macro
+ dw \1, \2, \3
+ endm
+ enum_start $d8
+ enum notetype_cmd
octave: macro
- db $d8 - (\1)
+ db notetype_cmd - (\1)
endm
notetype: macro
- db $d8
+ db notetype_cmd
db \1 ; note_length
if _NARG >= 2
db \2 ; intensity
@@ -42,188 +37,228 @@
endc
endm
+ enum forceoctave_cmd
forceoctave: macro
- db $d9
+ db forceoctave_cmd
db \1 ; octave
endm
+ enum tempo_cmd
tempo: macro
- db $da
+ db tempo_cmd
bigdw \1 ; tempo
endm
+ enum dutycycle_cmd
dutycycle: macro
- db $db
+ db dutycycle_cmd
db \1 ; duty_cycle
endm
+ enum intensity_cmd
intensity: macro
- db $dc
+ db intensity_cmd
db \1 ; intensity
endm
+ enum soundinput_cmd
soundinput: macro
- db $dd
+ db soundinput_cmd
db \1 ; input
endm
+ enum unknownmusic0xde_cmd
unknownmusic0xde: macro
- db $de
+ db unknownmusic0xde_cmd
db \1 ; unknown
endm
+ enum togglesfx_cmd
togglesfx: macro
- db $df
+ db togglesfx_cmd
endm
+ enum unknownmusic0xe0_cmd
unknownmusic0xe0: macro
- db $e0
+ db unknownmusic0xe0_cmd
db \1 ; unknown
- db \2 ; unknown
+ ; db \2 ; unknown
+ dn \2, \3 ; octave, pitch
endm
+ enum vibrato_cmd
vibrato: macro
- db $e1
+ db vibrato_cmd
db \1 ; delay
db \2 ; extent
endm
+ enum unknownmusic0xe2_cmd
unknownmusic0xe2: macro
- db $e2
+ db unknownmusic0xe2_cmd
db \1 ; unknown
endm
+ enum togglenoise_cmd
togglenoise: macro
- db $e3
+ db togglenoise_cmd
db \1 ; id
endm
+ enum panning_cmd
panning: macro
- db $e4
+ db panning_cmd
db \1 ; tracks
endm
+ enum volume_cmd
volume: macro
- db $e5
+ db volume_cmd
db \1 ; volume
endm
+ enum tone_cmd
tone: macro
- db $e6
+ db tone_cmd
bigdw \1 ; tone
endm
+ enum unknownmusic0xe7_cmd
unknownmusic0xe7: macro
- db $e7
+ db unknownmusic0xe7_cmd
db \1 ; unknown
endm
+ enum unknownmusic0xe8_cmd
unknownmusic0xe8: macro
- db $e8
+ db unknownmusic0xe8_cmd
db \1 ; unknown
endm
-globaltempo: macro
- db $e9
+ enum tempo_relative_cmd
+tempo_relative: macro
+ db tempo_relative_cmd
bigdw \1 ; value
endm
+ enum restartchannel_cmd
restartchannel: macro
- db $ea
+ db restartchannel_cmd
dw \1 ; address
endm
+ enum newsong_cmd
newsong: macro
- db $eb
+ db newsong_cmd
bigdw \1 ; id
endm
+ enum sfxpriorityon_cmd
sfxpriorityon: macro
- db $ec
+ db sfxpriorityon_cmd
endm
+ enum sfxpriorityoff_cmd
sfxpriorityoff: macro
- db $ed
+ db sfxpriorityoff_cmd
endm
+ enum unknownmusic0xee_cmd
unknownmusic0xee: macro
- db $ee
+ db unknownmusic0xee_cmd
dw \1 ; address
endm
+ enum stereopanning_cmd
stereopanning: macro
- db $ef
+ db stereopanning_cmd
db \1 ; tracks
endm
+ enum sfxtogglenoise_cmd
sfxtogglenoise: macro
- db $f0
+ db sfxtogglenoise_cmd
db \1 ; id
endm
+ enum music0xf1_cmd
music0xf1: macro
- db $f1
+ db music0xf1_cmd
endm
+ enum music0xf2_cmd
music0xf2: macro
- db $f2
+ db music0xf2_cmd
endm
+ enum music0xf3_cmd
music0xf3: macro
- db $f3
+ db music0xf3_cmd
endm
+ enum music0xf4_cmd
music0xf4: macro
- db $f4
+ db music0xf4_cmd
endm
+ enum music0xf5_cmd
music0xf5: macro
- db $f5
+ db music0xf5_cmd
endm
+ enum music0xf6_cmd
music0xf6: macro
- db $f6
+ db music0xf6_cmd
endm
+ enum music0xf7_cmd
music0xf7: macro
- db $f7
+ db music0xf7_cmd
endm
+ enum music0xf8_cmd
music0xf8: macro
- db $f8
+ db music0xf8_cmd
endm
+ enum unknownmusic0xf9_cmd
unknownmusic0xf9: macro
- db $f9
+ db unknownmusic0xf9_cmd
endm
+ enum setcondition_cmd
setcondition: macro
- db $fa
+ db setcondition_cmd
db \1 ; condition
endm
+ enum jumpif_cmd
jumpif: macro
- db $fb
+ db jumpif_cmd
db \1 ; condition
dw \2 ; address
endm
+ enum jumpchannel_cmd
jumpchannel: macro
- db $fc
+ db jumpchannel_cmd
dw \1 ; address
endm
+ enum loopchannel_cmd
loopchannel: macro
- db $fd
+ db loopchannel_cmd
db \1 ; count
dw \2 ; address
endm
+ enum callchannel_cmd
callchannel: macro
- db $fe
+ db callchannel_cmd
dw \1 ; address
endm
+ enum endchannel_cmd
endchannel: macro
- db $ff
+ db endchannel_cmd
endm
--- a/macros/trade_anim.asm
+++ b/macros/trade_anim.asm
@@ -1,22 +1,22 @@
enum_start
enum tradeanim_next_command
tradeanim_next: macro
- db tradeanim_next_command
+ db tradeanim_next_command ; 00
endm
enum tradeanim_show_givemon_data_command
tradeanim_show_givemon_data: macro
- db tradeanim_show_givemon_data_command
+ db tradeanim_show_givemon_data_command ; 01
endm
enum tradeanim_show_getmon_data_command
tradeanim_show_getmon_data: macro
- db tradeanim_show_getmon_data_command
+ db tradeanim_show_getmon_data_command ; 02
endm
enum tradeanim_enter_link_tube_command
tradeanim_enter_link_tube: macro
- db tradeanim_enter_link_tube_command
+ db tradeanim_enter_link_tube_command ; 03
endm
__enum__ set $5
@@ -23,12 +23,12 @@
enum tradeanim_exit_link_tube_command
tradeanim_exit_link_tube: macro
- db tradeanim_exit_link_tube_command
+ db tradeanim_exit_link_tube_command ; 05
endm
enum tradeanim_tube_to_ot_command
tradeanim_tube_to_ot: macro
- db tradeanim_tube_to_ot_command
+ db tradeanim_tube_to_ot_command ; 06
endm
__enum__ set $e
@@ -35,7 +35,7 @@
enum tradeanim_tube_to_player_command
tradeanim_tube_to_player: macro
- db tradeanim_tube_to_player_command
+ db tradeanim_tube_to_player_command ; 0e
endm
__enum__ set $16
@@ -42,52 +42,52 @@
enum tradeanim_sent_to_ot_text_command
tradeanim_sent_to_ot_text: macro
- db tradeanim_sent_to_ot_text_command
+ db tradeanim_sent_to_ot_text_command ; 16
endm
enum tradeanim_ot_bids_farewell_command
tradeanim_ot_bids_farewell: macro
- db tradeanim_ot_bids_farewell_command
+ db tradeanim_ot_bids_farewell_command ; 17
endm
enum tradeanim_take_care_of_text_command
tradeanim_take_care_of_text: macro
- db tradeanim_take_care_of_text_command
+ db tradeanim_take_care_of_text_command ; 18
endm
enum tradeanim_ot_sends_text_1_command
tradeanim_ot_sends_text_1: macro
- db tradeanim_ot_sends_text_1_command
+ db tradeanim_ot_sends_text_1_command ; 19
endm
enum tradeanim_ot_sends_text_2_command
tradeanim_ot_sends_text_2: macro
- db tradeanim_ot_sends_text_2_command
+ db tradeanim_ot_sends_text_2_command ; 1a
endm
enum tradeanim_setup_givemon_scroll_command
tradeanim_setup_givemon_scroll: macro
- db tradeanim_setup_givemon_scroll_command
+ db tradeanim_setup_givemon_scroll_command ; 1b
endm
enum tradeanim_do_givemon_scroll_command
tradeanim_do_givemon_scroll: macro
- db tradeanim_do_givemon_scroll_command
+ db tradeanim_do_givemon_scroll_command ; 1c
endm
enum tradeanim_1d_command
tradeanim_1d: macro
- db tradeanim_1d_command
+ db tradeanim_1d_command ; 1d
endm
enum tradeanim_1e_command
tradeanim_1e: macro
- db tradeanim_1e_command
+ db tradeanim_1e_command ; 1e
endm
enum tradeanim_scroll_out_right_command
tradeanim_scroll_out_right: macro
- db tradeanim_scroll_out_right_command
+ db tradeanim_scroll_out_right_command ; 1f
endm
__enum__ set $21
@@ -94,27 +94,27 @@
enum tradeanim_wait_80_command
tradeanim_wait_80: macro
- db tradeanim_wait_80_command
+ db tradeanim_wait_80_command ; 21
endm
enum tradeanim_wait_40_command
tradeanim_wait_40: macro
- db tradeanim_wait_40_command
+ db tradeanim_wait_40_command ; 22
endm
enum tradeanim_rocking_ball_command
tradeanim_rocking_ball: macro
- db tradeanim_rocking_ball_command
+ db tradeanim_rocking_ball_command ; 23
endm
enum tradeanim_drop_ball_command
tradeanim_drop_ball: macro
- db tradeanim_drop_ball_command
+ db tradeanim_drop_ball_command ; 24
endm
enum tradeanim_wait_anim_command
tradeanim_wait_anim: macro
- db tradeanim_wait_anim_command
+ db tradeanim_wait_anim_command ; 25
endm
__enum__ set $27
@@ -121,46 +121,133 @@
enum tradeanim_poof_command
tradeanim_poof: macro
- db tradeanim_poof_command
+ db tradeanim_poof_command ; 27
endm
enum tradeanim_bulge_through_tube_command
tradeanim_bulge_through_tube: macro
- db tradeanim_bulge_through_tube_command
+ db tradeanim_bulge_through_tube_command ; 28
endm
enum tradeanim_give_trademon_sfx_command
tradeanim_give_trademon_sfx: macro
- db tradeanim_give_trademon_sfx_command
+ db tradeanim_give_trademon_sfx_command ; 29
endm
enum tradeanim_get_trademon_sfx_command
tradeanim_get_trademon_sfx: macro
- db tradeanim_get_trademon_sfx_command
+ db tradeanim_get_trademon_sfx_command ; 2a
endm
enum tradeanim_end_command
tradeanim_end: macro
- db tradeanim_end_command
+ db tradeanim_end_command ; 2b
endm
enum tradeanim_animate_frontpic_command
tradeanim_animate_frontpic: macro
- db tradeanim_animate_frontpic_command
+ db tradeanim_animate_frontpic_command ; 2c
endm
enum tradeanim_wait_96_command
tradeanim_wait_96: macro
- db tradeanim_wait_96_command
+ db tradeanim_wait_96_command ; 2d
endm
enum tradeanim_wait_80_if_ot_egg_command
tradeanim_wait_80_if_ot_egg: macro
- db tradeanim_wait_80_if_ot_egg_command
+ db tradeanim_wait_80_if_ot_egg_command ; 2e
endm
enum tradeanim_wait_180_if_ot_egg_command
tradeanim_wait_180_if_ot_egg: macro
- db tradeanim_wait_180_if_ot_egg_command
+ db tradeanim_wait_180_if_ot_egg_command ; 2f
endm
+
+; Mobile
+ enum_start 1
+
+ enum mobiletradeanim_showgivemon_command
+mobiletradeanim_showgivemon: macro
+ db mobiletradeanim_showgivemon_command ; 01
+endm
+
+ enum mobiletradeanim_02_command
+mobiletradeanim_02: macro
+ db mobiletradeanim_02_command ; 02
+endm
+
+ enum mobiletradeanim_sendmon_command
+mobiletradeanim_sendmon: macro
+ db mobiletradeanim_sendmon_command ; 03
+endm
+
+__enum__ set $05
+
+ enum mobiletradeanim_05_command
+mobiletradeanim_05: macro
+ db mobiletradeanim_05_command ; 05
+endm
+
+ enum mobiletradeanim_06_command
+mobiletradeanim_06: macro
+ db mobiletradeanim_06_command ; 06
+endm
+
+ enum mobiletradeanim_07_command
+mobiletradeanim_07: macro
+ db mobiletradeanim_07_command ; 07
+endm
+
+ enum mobiletradeanim_receivemon_command
+mobiletradeanim_receivemon: macro
+ db mobiletradeanim_receivemon_command ; 08
+endm
+
+__enum__ set $0b
+
+ enum mobiletradeanim_showgetmon_command
+mobiletradeanim_showgetmon: macro
+ db mobiletradeanim_showgetmon_command ; 0b
+endm
+
+ enum mobiletradeanim_end_command
+mobiletradeanim_end: macro
+ db mobiletradeanim_end_command ; 0c
+endm
+
+ enum mobiletradeanim_showgtsgivemon_command
+mobiletradeanim_showgtsgivemon: macro
+ db mobiletradeanim_showgtsgivemon_command ; 0d
+endm
+
+ enum mobiletradeanim_showgtsgetmon_command
+mobiletradeanim_showgtsgetmon: macro
+ db mobiletradeanim_showgtsgetmon_command ; 0e
+endm
+
+ enum mobiletradeanim_0f_command
+mobiletradeanim_0f: macro
+ db mobiletradeanim_0f_command ; 0f
+endm
+
+ enum mobiletradeanim_10_command
+mobiletradeanim_10: macro
+ db mobiletradeanim_10_command ; 10
+endm
+
+ enum mobiletradeanim_11_command
+mobiletradeanim_11: macro
+ db mobiletradeanim_11_command ; 11
+endm
+
+ enum mobiletradeanim_12_command
+mobiletradeanim_12: macro
+ db mobiletradeanim_12_command ; 12
+endm
+
+ enum mobiletradeanim_showoddegg_command
+mobiletradeanim_showoddegg: macro
+ db mobiletradeanim_showoddegg_command ; 13
+endm
--- a/main.asm
+++ b/main.asm
@@ -1,9 +1,7 @@
INCLUDE "includes.asm"
-
SECTION "bank1", ROMX, BANK[$1]
-
PlaceWaitingText:: ; 4000
hlcoord 3, 10
ld b, 1
@@ -45,9 +43,9 @@
; 403f
PushOAM: ; 403f
- ld a, Sprites >> 8
+ ld a, Sprites / $100
ld [rDMA], a
- ld a, $28
+ ld a, 40
.loop
dec a
jr nz, .loop
@@ -55,7 +53,6 @@
PushOAMEnd
; 4049
-
INCLUDE "engine/map_objects.asm"
INCLUDE "engine/intro_menu.asm"
@@ -71,7 +68,7 @@
push af
xor a
ld [hBGMapMode], a
- call Function6473
+ call .Function6473
pop af
ld [hBGMapMode], a
@@ -82,18 +79,18 @@
ret
; 6473
-Function6473: ; 6473
+.Function6473
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ld [hBGMapMode], a
ld a, $90
ld [hWY], a
call OverworldTextModeSwitch
ld a, VBGMap1 / $100
- call Function64b9
+ call .Function64b9
call Function2e20
- callba Function49409
- callba Function96a4
+ callba LoadOW_BGPal7
+ callba ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
xor a
@@ -101,7 +98,7 @@
ld [hWY], a
callba Function64db ; no need to farcall
ld a, VBGMap0 / $100
- call Function64b9
+ call .Function64b9
xor a
ld [wBGMapAnchor], a
ld a, VBGMap0 / $100
@@ -113,7 +110,7 @@
ret
; 64b9
-Function64b9: ; 64b9
+.Function64b9: ; 64b9
ld [hBGMapAddress + 1], a
xor a
ld [hBGMapAddress], a
@@ -126,14 +123,13 @@
ld a, $1
ld [hOAMUpdate], a
- call Function64cd
+ call .Function64cd
pop af
ld [hOAMUpdate], a
ret
-; 64cd
-Function64cd: ; 64cd
+.Function64cd
call LoadFontsExtra
ld a, $90
ld [hWY], a
@@ -149,12 +145,12 @@
ld [rSVBK], a
ld a, $60
- ld hl, w6_d000
- lb bc, 4, 0
+ ld hl, wDecompressScratch
+ ld bc, wBackupAttrMap - wDecompressScratch
call ByteFill
- ld a, w6_d000 / $100
+ ld a, wDecompressScratch / $100
ld [rHDMA1], a
- ld a, w6_d000 % $100
+ ld a, wDecompressScratch % $100
ld [rHDMA2], a
ld a, (VBGMap0 % $8000) / $100
ld [rHDMA3], a
@@ -169,265 +165,8 @@
ret
; 6508
-LearnMove: ; 6508
- call LoadTileMapToTempTileMap
- ld a, [CurPartyMon]
- ld hl, PartyMonNicknames
- call GetNick
- ld hl, StringBuffer1
- ld de, wd050_MonNick
- ld bc, PKMN_NAME_LENGTH
- call CopyBytes
+INCLUDE "engine/learn.asm"
-.loop
- ld hl, PartyMon1Moves
- ld bc, PARTYMON_STRUCT_LENGTH
- ld a, [CurPartyMon]
- call AddNTimes
- ld d, h
- ld e, l
- ld b, NUM_MOVES
-; Get the first empty move slot. This routine also serves to
-; determine whether the Pokemon learning the moves already has
-; all four slots occupied, in which case one would need to be
-; deleted.
-.next
- ld a, [hl]
- and a
- jr z, .learn
- inc hl
- dec b
- jr nz, .next
-; If we're here, we enter the routine for forgetting a move
-; to make room for the new move we're trying to learn.
- push de
- call ForgetMove
- pop de
- jp c, .cancel
-
- push hl
- push de
- ld [wd265], a
-
- ld b, a
- ld a, [wBattleMode]
- and a
- jr z, .not_disabled
- ld a, [DisabledMove]
- cp b
- jr nz, .not_disabled
- xor a
- ld [DisabledMove], a
- ld [PlayerDisableCount], a
-.not_disabled
-
- call GetMoveName
- ld hl, UnknownText_0x6684 ; 1, 2 and…
- call PrintText
- pop de
- pop hl
-
-.learn
- ld a, [wd262]
- ld [hl], a
- ld bc, MON_PP - MON_MOVES
- add hl, bc
-
- push hl
- push de
- dec a
- ld hl, Moves + MOVE_PP
- ld bc, MOVE_LENGTH
- call AddNTimes
- ld a, BANK(Moves)
- call GetFarByte
- pop de
- pop hl
-
- ld [hl], a
-
- ld a, [wBattleMode]
- and a
- jp z, .learned
-
- ld a, [CurPartyMon]
- ld b, a
- ld a, [CurBattleMon]
- cp b
- jp nz, .learned
-
- ld a, [PlayerSubStatus5]
- bit SUBSTATUS_TRANSFORMED, a
- jp nz, .learned
-
- ld h, d
- ld l, e
- ld de, BattleMonMoves
- ld bc, NUM_MOVES
- call CopyBytes
- ld bc, PartyMon1PP - (PartyMon1Moves + NUM_MOVES)
- add hl, bc
- ld de, BattleMonPP
- ld bc, NUM_MOVES
- call CopyBytes
- jp .learned
-
-.cancel
- ld hl, UnknownText_0x6675 ; Stop learning <MOVE>?
- call PrintText
- call YesNoBox
- jp c, .loop
-
- ld hl, UnknownText_0x667a ; <MON> did not learn <MOVE>.
- call PrintText
- ld b, 0
- ret
-
-.learned
- ld hl, UnknownText_0x666b ; <MON> learned <MOVE>!
- call PrintText
- ld b, 1
- ret
-; 65d3
-
-ForgetMove: ; 65d3
- push hl
- ld hl, UnknownText_0x667f
- call PrintText
- call YesNoBox
- pop hl
- ret c
- ld bc, -NUM_MOVES
- add hl, bc
- push hl
- ld de, wListMoves_MoveIndicesBuffer
- ld bc, NUM_MOVES
- call CopyBytes
- pop hl
-.loop
- push hl
- ld hl, UnknownText_0x6670
- call PrintText
- hlcoord 5, 2
- ld b, NUM_MOVES * 2
- ld c, MOVE_NAME_LENGTH
- call TextBox
- hlcoord 5 + 2, 2 + 2
- ld a, SCREEN_WIDTH * 2
- ld [Buffer1], a
- predef ListMoves
- ; wMenuData3
- ld a, $4
- ld [wcfa1], a
- ld a, $6
- ld [wcfa2], a
- ld a, [wd0eb]
- inc a
- ld [wcfa3], a
- ld a, $1
- ld [wcfa4], a
- ld [MenuSelection2], a
- ld [wcfaa], a
- ld a, $3
- ld [wcfa8], a
- ld a, $20
- ld [wcfa5], a
- xor a
- ld [wcfa6], a
- ld a, $20
- ld [wcfa7], a
- call Function1bc9
- push af
- call Call_LoadTempTileMapToTileMap
- pop af
- pop hl
- bit 1, a
- jr nz, .cancel
- push hl
- ld a, [MenuSelection2]
- dec a
- ld c, a
- ld b, 0
- add hl, bc
- ld a, [hl]
- push af
- push bc
- call IsHMMove
- pop bc
- pop de
- ld a, d
- jr c, .hmmove
- pop hl
- add hl, bc
- and a
- ret
-
-.hmmove
- ld hl, UnknownText_0x669a
- call PrintText
- pop hl
- jr .loop
-
-.cancel
- scf
- ret
-; 666b
-
-UnknownText_0x666b: ; 666b
-; <MON> learned <MOVE>!
- text_jump UnknownText_0x1c5660
- db "@"
-; 6670
-
-UnknownText_0x6670: ; 6670
-; Which move should be forgotten?
- text_jump UnknownText_0x1c5678
- db "@"
-; 6675
-
-UnknownText_0x6675: ; 6675
-; Stop learning <MOVE>?
- text_jump UnknownText_0x1c5699
- db "@"
-; 667a
-
-UnknownText_0x667a: ; 667a
-; <MON> did not learn <MOVE>.
- text_jump UnknownText_0x1c56af
- db "@"
-; 667f
-
-UnknownText_0x667f: ; 667f
-; <MON> is trying to learn <MOVE>. But <MON> can't learn more than
-; four moves. Delete an older move to make room for <MOVE>?
- text_jump UnknownText_0x1c56c9
- db "@"
-; 6684
-
-UnknownText_0x6684: ; 6684
- text_jump UnknownText_0x1c5740 ; 1, 2 and…
- start_asm
- push de
- ld de, SFX_SWITCH_POKEMON
- call PlaySFX
- pop de
- ld hl, UnknownText_0x6695
- ret
-; 6695
-
-UnknownText_0x6695: ; 6695
-; Poof! <MON> forgot <MOVE>. And…
- text_jump UnknownText_0x1c574e
- db "@"
-; 669a
-
-UnknownText_0x669a: ; 669a
-; HM moves can't be forgotten now.
- text_jump UnknownText_0x1c5772
- db "@"
-; 669f
-
-
CheckNickErrors:: ; 669f
; error-check monster nick before use
; must be a peace offering to gamesharkers
@@ -494,794 +233,24 @@
.textcommands ; 66cf
; table defining which characters are actually text commands
; format:
- ; ≥ <
- db $00, $05
- db $14, $19
- db $1d, $26
- db $35, $3a
- db $3f, $40
- db $49, $5d
- db $5e, $7f
- db $ff ; end
+ ; ≥ <
+ db "<START>", $04 + 1
+ db "<PLAY_G>", $18 + 1
+ db $1d, "%" + 1
+ db $35, "<GREEN>" + 1
+ db "<ENEMY>", "<ENEMY>" + 1
+ db $49, "<TM>" + 1
+ db "<ROCKET>", "┘" + 1
+ db -1 ; end
; 66de
+INCLUDE "engine/math.asm"
-_Multiply:: ; 66de
-
-; hMultiplier is one byte.
- ld a, 8
- ld b, a
-
- xor a
- ld [hMultiplicand - 1], a
- ld [hMathBuffer + 1], a
- ld [hMathBuffer + 2], a
- ld [hMathBuffer + 3], a
- ld [hMathBuffer + 4], a
-
-
-.loop
- ld a, [hMultiplier]
- srl a
- ld [hMultiplier], a
- jr nc, .next
-
- ld a, [hMathBuffer + 4]
- ld c, a
- ld a, [hMultiplicand + 2]
- add c
- ld [hMathBuffer + 4], a
-
- ld a, [hMathBuffer + 3]
- ld c, a
- ld a, [hMultiplicand + 1]
- adc c
- ld [hMathBuffer + 3], a
-
- ld a, [hMathBuffer + 2]
- ld c, a
- ld a, [hMultiplicand + 0]
- adc c
- ld [hMathBuffer + 2], a
-
- ld a, [hMathBuffer + 1]
- ld c, a
- ld a, [hMultiplicand - 1]
- adc c
- ld [hMathBuffer + 1], a
-
-.next
- dec b
- jr z, .done
-
-
-; hMultiplicand <<= 1
-
- ld a, [hMultiplicand + 2]
- add a
- ld [hMultiplicand + 2], a
-
- ld a, [hMultiplicand + 1]
- rla
- ld [hMultiplicand + 1], a
-
- ld a, [hMultiplicand + 0]
- rla
- ld [hMultiplicand + 0], a
-
- ld a, [hMultiplicand - 1]
- rla
- ld [hMultiplicand - 1], a
-
- jr .loop
-
-
-.done
- ld a, [hMathBuffer + 4]
- ld [hProduct + 3], a
-
- ld a, [hMathBuffer + 3]
- ld [hProduct + 2], a
-
- ld a, [hMathBuffer + 2]
- ld [hProduct + 1], a
-
- ld a, [hMathBuffer + 1]
- ld [hProduct + 0], a
-
- ret
-; 673e
-
-
-_Divide:: ; 673e
- xor a
- ld [hMathBuffer + 0], a
- ld [hMathBuffer + 1], a
- ld [hMathBuffer + 2], a
- ld [hMathBuffer + 3], a
- ld [hMathBuffer + 4], a
-
- ld a, 9
- ld e, a
-
-.loop
- ld a, [hMathBuffer + 0]
- ld c, a
- ld a, [hDividend + 1]
- sub c
- ld d, a
-
- ld a, [hDivisor]
- ld c, a
- ld a, [hDividend + 0]
- sbc c
- jr c, .asm_6767
-
- ld [hDividend + 0], a
-
- ld a, d
- ld [hDividend + 1], a
-
- ld a, [hMathBuffer + 4]
- inc a
- ld [hMathBuffer + 4], a
-
- jr .loop
-
-.asm_6767
- ld a, b
- cp 1
- jr z, .done
-
- ld a, [hMathBuffer + 4]
- add a
- ld [hMathBuffer + 4], a
-
- ld a, [hMathBuffer + 3]
- rla
- ld [hMathBuffer + 3], a
-
- ld a, [hMathBuffer + 2]
- rla
- ld [hMathBuffer + 2], a
-
- ld a, [hMathBuffer + 1]
- rla
- ld [hMathBuffer + 1], a
-
- dec e
- jr nz, .asm_6798
-
- ld e, 8
- ld a, [hMathBuffer + 0]
- ld [hDivisor], a
- xor a
- ld [hMathBuffer + 0], a
-
- ld a, [hDividend + 1]
- ld [hDividend + 0], a
-
- ld a, [hDividend + 2]
- ld [hDividend + 1], a
-
- ld a, [hDividend + 3]
- ld [hDividend + 2], a
-
-.asm_6798
- ld a, e
- cp 1
- jr nz, .asm_679e
- dec b
-
-.asm_679e
- ld a, [hDivisor]
- srl a
- ld [hDivisor], a
-
- ld a, [hMathBuffer + 0]
- rr a
- ld [hMathBuffer + 0], a
-
- jr .loop
-
-.done
- ld a, [hDividend + 1]
- ld [hDivisor], a
-
- ld a, [hMathBuffer + 4]
- ld [hDividend + 3], a
-
- ld a, [hMathBuffer + 3]
- ld [hDividend + 2], a
-
- ld a, [hMathBuffer + 2]
- ld [hDividend + 1], a
-
- ld a, [hMathBuffer + 1]
- ld [hDividend + 0], a
-
- ret
-; 67c1
-
-
ItemAttributes: ; 67c1
INCLUDE "items/item_attributes.asm"
; 6ec1
+INCLUDE "engine/npc_movement.asm"
-
-Function6ec1: ; 6ec1
-
- ld hl, OBJECT_PALETTE
- add hl, bc
- bit 5, [hl]
- jr z, .not_bit_5
-
- ld hl, OBJECT_FLAGS1
- add hl, bc
- bit 4, [hl] ; lost
- push hl
- push bc
- call Function6f2c
- pop bc
- pop hl
- ret c
- jr .resume
-
-.not_bit_5
- ld hl, OBJECT_FLAGS1
- add hl, bc
- bit 4, [hl]
- jr nz, .resume
- push hl
- push bc
- call Function6f07
- pop bc
- pop hl
- ret c
-
-.resume
- bit 6, [hl]
- jr nz, .bit_6
-
- push hl
- push bc
- call WillPersonBumpIntoSomeoneElse
- pop bc
- pop hl
- ret c
-
-.bit_6
- bit 5, [hl]
- jr nz, .bit_5
- push hl
- call HasPersonReachedMovementLimit
- pop hl
- ret c
-
- push hl
- call IsPersonMovingOffEdgeOfScreen
- pop hl
- ret c
-
-.bit_5
- and a
- ret
-; 6f07
-
-
-Function6f07: ; 6f07
- call Function6f5f
- ret c
- ld hl, OBJECT_NEXT_MAP_X
- add hl, bc
- ld d, [hl]
- ld hl, OBJECT_NEXT_MAP_Y
- add hl, bc
- ld e, [hl]
- ld hl, OBJECT_PALETTE
- add hl, bc
- bit 7, [hl]
- jp nz, Function6fa1
- ld hl, OBJECT_NEXT_TILE
- add hl, bc
- ld a, [hl]
- ld d, a
- call GetTileCollision
- and a
- jr z, Function6f3e
- scf
- ret
-; 6f2c
-
-Function6f2c: ; 6f2c
- call Function6f5f
- ret c
- ld hl, OBJECT_NEXT_TILE
- add hl, bc
- ld a, [hl]
- call GetTileCollision
- cp $1
- jr z, Function6f3e
- scf
- ret
-; 6f3e
-
-Function6f3e: ; 6f3e
- ld hl, OBJECT_NEXT_TILE
- add hl, bc
- ld a, [hl]
- call Function6f7f
- ret nc
- push af
- ld hl, OBJECT_DIRECTION_WALKING
- add hl, bc
- ld a, [hl]
- and 3
- ld e, a
- ld d, 0
- ld hl, .data_6f5b
- add hl, de
- pop af
- and [hl]
- ret z
- scf
- ret
-; 6f5b
-
-.data_6f5b
- db 1 << DOWN, 1 << UP, 1 << RIGHT, 1 << LEFT
-; 6f5f
-
-Function6f5f: ; 6f5f
- ld hl, OBJECT_STANDING_TILE
- add hl, bc
- ld a, [hl]
- call Function6f7f
- ret nc
- push af
- ld hl, OBJECT_DIRECTION_WALKING
- add hl, bc
- and 3
- ld e, a
- ld d, 0
- ld hl, .data_6f7b
- add hl, de
- pop af
- and [hl]
- ret z
- scf
- ret
-; 6f7b
-
-.data_6f7b
- db 1 << UP, 1 << DOWN, 1 << LEFT, 1 << RIGHT
-; 6f7f
-
-Function6f7f: ; 6f7f
- ld d, a
- and $f0
- cp $b0
- jr z, .done
- cp $c0
- jr z, .done
- xor a
- ret
-
-.done
- ld a, d
- and 7
- ld e, a
- ld d, 0
- ld hl, .data_6f99
- add hl, de
- ld a, [hl]
- scf
- ret
-; 6f99
-
-.data_6f99
- db 8, 4, 1, 2
- db 10, 6, 9, 5
-; 6fa1
-
-Function6fa1: ; 6fa1
- ld hl, OBJECT_DIRECTION_WALKING
- add hl, bc
- ld a, [hl]
- and 3
- jr z, .asm_6fb2
- dec a
- jr z, .asm_6fb7
- dec a
- jr z, .asm_6fbb
- jr .asm_6fbf
-
-.asm_6fb2
- inc e
- push de
- inc d
- jr .asm_6fc2
-
-.asm_6fb7
- push de
- inc d
- jr .asm_6fc2
-
-.asm_6fbb
- push de
- inc e
- jr .asm_6fc2
-
-.asm_6fbf
- inc d
- push de
- inc e
-
-.asm_6fc2
- call GetCoordTile
- call GetTileCollision
- pop de
- and a
- jr nz, .asm_6fd7
- call GetCoordTile
- call GetTileCollision
- and a
- jr nz, .asm_6fd7
- xor a
- ret
-
-.asm_6fd7
- scf
- ret
-; 6fd9
-
-
-
-CheckFacingObject:: ; 6fd9
-
- call GetFacingTileCoord
-
-; Double the distance for counter tiles.
- call CheckCounterTile
- jr nz, .asm_6ff1
-
- ld a, [PlayerNextMapX]
- sub d
- cpl
- inc a
- add d
- ld d, a
-
- ld a, [PlayerNextMapY]
- sub e
- cpl
- inc a
- add e
- ld e, a
-
-.asm_6ff1
- ld bc, ObjectStructs ; redundant
- ld a, 0
- ld [hMapObjectIndexBuffer], a
- call IsNPCAtCoord
- ret nc
- ld hl, OBJECT_DIRECTION_WALKING
- add hl, bc
- ld a, [hl]
- cp STANDING
- jr z, .standing
- xor a
- ret
-
-.standing
- scf
- ret
-; 7009
-
-
-WillPersonBumpIntoSomeoneElse: ; 7009
- ld hl, OBJECT_NEXT_MAP_X
- add hl, bc
- ld d, [hl]
- ld hl, OBJECT_NEXT_MAP_Y
- add hl, bc
- ld e, [hl]
- jr IsNPCAtCoord
-; 7015
-
-Function7015: ; unreferenced
- ld a, [hMapObjectIndexBuffer]
- call GetObjectStruct
- call .CheckWillBeFacingNPC
- call IsNPCAtCoord
- ret
-
-.CheckWillBeFacingNPC: ; 7021
- ld hl, OBJECT_NEXT_MAP_X
- add hl, bc
- ld d, [hl]
- ld hl, OBJECT_NEXT_MAP_Y
- add hl, bc
- ld e, [hl]
- call GetSpriteDirection
- and a
- jr z, .down
- cp OW_UP
- jr z, .up
- cp OW_LEFT
- jr z, .left
- inc d
- ret
-
-.down
- inc e
- ret
-
-.up
- dec e
- ret
-
-.left
- dec d
- ret
-; 7041
-
-IsNPCAtCoord: ; 7041
- ld bc, ObjectStructs
- xor a
-.loop
- ld [hObjectStructIndexBuffer], a
- call GetObjectSprite
- jr z, .next
-
- ld hl, OBJECT_FLAGS1
- add hl, bc
- bit 7, [hl]
- jr nz, .next
-
- ld hl, OBJECT_PALETTE
- add hl, bc
- bit 7, [hl]
- jr z, .got
-
- call Function7171
- jr nc, .ok
- jr .ok2
-
-.got
- ld hl, OBJECT_NEXT_MAP_X
- add hl, bc
- ld a, [hl]
- cp d
- jr nz, .ok
- ld hl, OBJECT_NEXT_MAP_Y
- add hl, bc
- ld a, [hl]
- cp e
- jr nz, .ok
-
-.ok2
- ld a, [hMapObjectIndexBuffer]
- ld l, a
- ld a, [hObjectStructIndexBuffer]
- cp l
- jr nz, .setcarry
-
-.ok
- ld hl, OBJECT_MAP_X
- add hl, bc
- ld a, [hl]
- cp d
- jr nz, .next
- ld hl, OBJECT_MAP_Y
- add hl, bc
- ld a, [hl]
- cp e
- jr nz, .next
- ld a, [hMapObjectIndexBuffer]
- ld l, a
- ld a, [hObjectStructIndexBuffer]
- cp l
- jr nz, .setcarry
-
-.next
- ld hl, OBJECT_STRUCT_LENGTH
- add hl, bc
- ld b, h
- ld c, l
- ld a, [hObjectStructIndexBuffer]
- inc a
- cp NUM_OBJECT_STRUCTS
- jr nz, .loop
- and a
- ret
-
-.setcarry
- scf
- ret
-; 70a4
-
-HasPersonReachedMovementLimit: ; 70a4
- ld hl, OBJECT_RADIUS
- add hl, bc
- ld a, [hl]
- and a
- jr z, .nope
- and $f
- jr z, .check_y
- ld e, a
- ld d, a
- ld hl, OBJECT_INIT_X
- add hl, bc
- ld a, [hl]
- sub d
- ld d, a
- ld a, [hl]
- add e
- ld e, a
- ld hl, OBJECT_NEXT_MAP_X
- add hl, bc
- ld a, [hl]
- cp d
- jr z, .yes
- cp e
- jr z, .yes
-
-.check_y
- ld hl, OBJECT_RADIUS
- add hl, bc
- ld a, [hl]
- swap a
- and $f
- jr z, .nope
- ld e, a
- ld d, a
- ld hl, OBJECT_INIT_Y
- add hl, bc
- ld a, [hl]
- sub d
- ld d, a
- ld a, [hl]
- add e
- ld e, a
- ld hl, OBJECT_NEXT_MAP_Y
- add hl, bc
- ld a, [hl]
- cp d
- jr z, .yes
- cp e
- jr z, .yes
-
-.nope
- xor a
- ret
-
-.yes
- scf
- ret
-; 70ed
-
-IsPersonMovingOffEdgeOfScreen: ; 70ed
- ld hl, OBJECT_NEXT_MAP_X
- add hl, bc
- ld a, [XCoord]
- cp [hl]
- jr z, .check_y
- jr nc, .yes
- add $9
- cp [hl]
- jr c, .yes
-
-.check_y
- ld hl, OBJECT_NEXT_MAP_Y
- add hl, bc
- ld a, [YCoord]
- cp [hl]
- jr z, .nope
- jr nc, .yes
- add $8
- cp [hl]
- jr c, .yes
-
-.nope
- and a
- ret
-
-.yes
- scf
- ret
-; 7113
-
-Function7113: ; unreferenced
- ld a, [PlayerNextMapX]
- ld d, a
- ld a, [PlayerNextMapY]
- ld e, a
- ld bc, ObjectStructs
- xor a
-.loop
- ld [hObjectStructIndexBuffer], a
- call GetObjectSprite
- jr z, .next
- ld hl, OBJECT_MOVEMENTTYPE
- add hl, bc
- ld a, [hl]
- cp SPRITEMOVEDATA_SNORLAX
- jr nz, .not_snorlax
- call Function7171
- jr c, .yes
- jr .next
-
-.not_snorlax
- ld hl, OBJECT_NEXT_MAP_Y
- add hl, bc
- ld a, [hl]
- cp e
- jr nz, .check_current_coords
- ld hl, OBJECT_NEXT_MAP_X
- add hl, bc
- ld a, [hl]
- cp d
- jr nz, .check_current_coords
- ld a, [hObjectStructIndexBuffer]
- cp $0
- jr z, .next
- jr .yes
-
-.check_current_coords
- ld hl, OBJECT_MAP_Y
- add hl, bc
- ld a, [hl]
- cp e
- jr nz, .next
- ld hl, OBJECT_MAP_X
- add hl, bc
- ld a, [hl]
- cp d
- jr nz, .next
- jr .yes
-
-.next
- ld hl, OBJECT_STRUCT_LENGTH
- add hl, bc
- ld b, h
- ld c, l
- ld a, [hObjectStructIndexBuffer]
- inc a
- cp NUM_OBJECT_STRUCTS
- jr nz, .loop
- xor a
- ret
-
-.yes
- scf
- ret
-; 7171
-
-
-Function7171: ; 7171
- ld hl, OBJECT_NEXT_MAP_X
- add hl, bc
- ld a, d
- sub [hl]
- jr c, .nope
- cp $2
- jr nc, .nope
- ld hl, OBJECT_NEXT_MAP_Y
- add hl, bc
- ld a, e
- sub [hl]
- jr c, .nope
- cp $2
- jr nc, .nope
- scf
- ret
-
-.nope
- and a
- ret
-; 718d
-
GetFirstPokemonHappiness: ; 718d
ld hl, PartyMon1Happiness
ld bc, PARTYMON_STRUCT_LENGTH
@@ -1316,7 +285,6 @@
jp CopyPokemonName_Buffer1_Buffer3
; 71c2
-
ChangeHappiness: ; 71c2
; Perform happiness action c on CurPartyMon
@@ -1382,7 +350,7 @@
ret z
ld a, [CurPartyMon]
ld b, a
- ld a, [wd0d8]
+ ld a, [wPartyMenuCursor]
cp b
ret nz
ld a, [de]
@@ -1412,7 +380,6 @@
db +10, +6, +4 ; Gained a level in the place where it was caught
; 725a
-
StepHappiness:: ; 725a
; Raise the party's happiness by 1 point every other step cycle.
@@ -1449,53 +416,52 @@
ret
; 7282
-
DaycareStep:: ; 7282
ld a, [wDaycareMan]
bit 0, a
- jr z, .asm_72a4
+ jr z, .daycare_lady
ld a, [wBreedMon1Level] ; level
cp 100
- jr nc, .asm_72a4
+ jr nc, .daycare_lady
ld hl, wBreedMon1Exp + 2 ; exp
inc [hl]
- jr nz, .asm_72a4
+ jr nz, .daycare_lady
dec hl
inc [hl]
- jr nz, .asm_72a4
+ jr nz, .daycare_lady
dec hl
inc [hl]
ld a, [hl]
- cp $50
- jr c, .asm_72a4
- ld a, $50
+ cp 5242880 / $10000
+ jr c, .daycare_lady
+ ld a, 5242880 / $10000
ld [hl], a
-.asm_72a4
+.daycare_lady
ld a, [wDaycareLady]
bit 0, a
- jr z, .asm_72c6
+ jr z, .check_egg
ld a, [wBreedMon2Level] ; level
cp 100
- jr nc, .asm_72c6
+ jr nc, .check_egg
ld hl, wBreedMon2Exp + 2 ; exp
inc [hl]
- jr nz, .asm_72c6
+ jr nz, .check_egg
dec hl
inc [hl]
- jr nz, .asm_72c6
+ jr nz, .check_egg
dec hl
inc [hl]
ld a, [hl]
- cp $50
- jr c, .asm_72c6
- ld a, $50
+ cp 5242880 / $10000
+ jr c, .check_egg
+ ld a, 5242880 / $10000
ld [hl], a
-.asm_72c6
+.check_egg
ld hl, wDaycareMan
bit 5, [hl] ; egg
ret z
@@ -1505,22 +471,22 @@
call Random
ld [hl], a
- callab Function16e1d
+ callab CheckBreedmonCompatibility
ld a, [wd265]
- cp $e6
- ld b, $50
- jr nc, .asm_72f8
+ cp 230
+ ld b, -1 + 32 percent
+ jr nc, .okay
ld a, [wd265]
- cp $aa
- ld b, $28
- jr nc, .asm_72f8
+ cp 170
+ ld b, 16 percent
+ jr nc, .okay
ld a, [wd265]
- cp $6e
- ld b, $1e
- jr nc, .asm_72f8
- ld b, $a
+ cp 110
+ ld b, 12 percent
+ jr nc, .okay
+ ld b, 4 percent
-.asm_72f8
+.okay
call Random
cp b
ret nc
@@ -1530,7 +496,6 @@
ret
; 7305
-
SpecialGiveShuckle: ; 7305
; Adding to the party.
@@ -1604,7 +569,6 @@
db "SHUCKIE@"
; 737e
-
SpecialReturnShuckle: ; 737e
callba SelectMonFromParty
jr c, .refused
@@ -1655,9 +619,8 @@
jr nc, .HappyToStayWithYou
xor a ; take from pc
ld [wPokemonWithdrawDepositParameter], a
- callab Functione039
+ callab RemoveMonFromPartyOrBox
ld a, $2
-
.HappyToStayWithYou
ld [ScriptVar], a
ret
@@ -1777,10 +740,9 @@
ret
; 747b
-
SECTION "bank2", ROMX, BANK[$2]
-Function8000: ; 8000
+BlankScreen: ; 8000
call DisableSpriteUpdates
xor a
ld [hBGMapMode], a
@@ -1794,7 +756,7 @@
ld bc, AttrMapEnd - AttrMap
ld a, $7
call ByteFill
- call Function3200
+ call WaitBGMap2
call SetPalettes
ret
; 8029
@@ -1869,7 +831,6 @@
ret
; 80a1
-
WritePersonXY:: ; 80a1
ld a, b
call CheckObjectVisibility
@@ -1917,7 +878,6 @@
ret
; 80e7
-
CopyObjectStruct:: ; 80e7
call CheckObjectMask
and a
@@ -2080,63 +1040,62 @@
ret
; 81ca
-Function81ca:: ; 81ca
+CheckObjectEnteringVisibleRange:: ; 81ca
nop
ld a, [wPlayerStepDirection]
- cp $ff
+ cp STANDING
ret z
- ld hl, .jumptable
+ ld hl, .dw
rst JumpTable
ret
; 81d6
-.jumptable: ; 81d6
- dw Function81e5
- dw Function81de
- dw Function8232
- dw Function8239
+.dw: ; 81d6
+ dw .Down
+ dw .Up
+ dw .Left
+ dw .Right
; 81de
-Function81de: ; 81de
+.Up: ; 81de
ld a, [YCoord]
- sub $1
- jr Function81ea
+ sub 1
+ jr .Vertical
-Function81e5: ; 81e5
+.Down: ; 81e5
ld a, [YCoord]
- add $9
-
-Function81ea: ; 81ea
+ add 9
+.Vertical: ; 81ea
ld d, a
ld a, [XCoord]
ld e, a
ld bc, MapObjects + OBJECT_LENGTH
ld a, 1
-.loop
+.loop_v
ld [hMapObjectIndexBuffer], a
ld hl, MAPOBJECT_SPRITE
add hl, bc
ld a, [hl]
and a
- jr z, .next
+ jr z, .next_v
ld hl, MAPOBJECT_Y_COORD
add hl, bc
ld a, d
cp [hl]
- jr nz, .next
+ jr nz, .next_v
ld hl, MAPOBJECT_OBJECT_STRUCT_ID
add hl, bc
ld a, [hl]
cp -1
- jr nz, .next
+ jr nz, .next_v
ld hl, MAPOBJECT_X_COORD
add hl, bc
ld a, [hl]
add 1
sub e
- jr c, .next
+ jr c, .next_v
cp MAPOBJECT_SCREEN_WIDTH
- jr nc, .next
+ jr nc, .next_v
push de
push bc
call CopyObjectStruct
@@ -2143,7 +1102,7 @@
pop bc
pop de
-.next
+.next_v
ld hl, OBJECT_LENGTH
add hl, bc
ld b, h
@@ -2151,50 +1110,49 @@
ld a, [hMapObjectIndexBuffer]
inc a
cp NUM_OBJECTS
- jr nz, .loop
+ jr nz, .loop_v
ret
; 8232
-Function8232: ; 8232
+.Left: ; 8232
ld a, [XCoord]
sub 1
- jr Function823e
+ jr .Horizontal
-Function8239: ; 8239
+.Right: ; 8239
ld a, [XCoord]
- add $a
-
-Function823e: ; 823e
+ add 10
+.Horizontal: ; 823e
ld e, a
ld a, [YCoord]
ld d, a
ld bc, MapObjects + OBJECT_LENGTH
ld a, 1
-.loop
+.loop_h
ld [hMapObjectIndexBuffer], a
ld hl, MAPOBJECT_SPRITE
add hl, bc
ld a, [hl]
and a
- jr z, .next
+ jr z, .next_h
ld hl, MAPOBJECT_X_COORD
add hl, bc
ld a, e
cp [hl]
- jr nz, .next
+ jr nz, .next_h
ld hl, MAPOBJECT_OBJECT_STRUCT_ID
add hl, bc
ld a, [hl]
cp -1
- jr nz, .next
+ jr nz, .next_h
ld hl, MAPOBJECT_Y_COORD
add hl, bc
ld a, [hl]
add 1
sub d
- jr c, .next
+ jr c, .next_h
cp MAPOBJECT_SCREEN_HEIGHT
- jr nc, .next
+ jr nc, .next_h
push de
push bc
call CopyObjectStruct
@@ -2201,7 +1159,7 @@
pop bc
pop de
-.next
+.next_h
ld hl, OBJECT_LENGTH
add hl, bc
ld b, h
@@ -2209,11 +1167,10 @@
ld a, [hMapObjectIndexBuffer]
inc a
cp NUM_OBJECTS
- jr nz, .loop
+ jr nz, .loop_h
ret
; 8286
-
CopyTempObjectToObjectStruct: ; 8286
ld a, [wTempObjectCopyMapObjectIndex]
ld hl, OBJECT_MAP_OBJECT_INDEX
@@ -2278,7 +1235,7 @@
sub [hl]
and $f
swap a
- ld hl, wd14d
+ ld hl, wFollowNotExactPersonY
sub [hl]
ld hl, OBJECT_SPRITE_Y
add hl, de
@@ -2297,7 +1254,7 @@
sub [hl]
and $f
swap a
- ld hl, wd14c
+ ld hl, wFollowNotExactPersonX
sub [hl]
ld hl, OBJECT_SPRITE_X
add hl, de
@@ -2415,7 +1372,6 @@
slow_step_right
; 839e
-
FollowNotExact:: ; 839e
push bc
ld a, c
@@ -2473,7 +1429,7 @@
sub [hl]
and $f
swap a
- ld hl, wd14c
+ ld hl, wFollowNotExactPersonX
sub [hl]
ld hl, OBJECT_SPRITE_X
add hl, de
@@ -2486,7 +1442,7 @@
sub [hl]
and $f
swap a
- ld hl, wd14d
+ ld hl, wFollowNotExactPersonY
sub [hl]
ld hl, OBJECT_SPRITE_Y
add hl, de
@@ -2612,21 +1568,21 @@
ret
; 848a
-Function848a: ; 848a
- call Function849d
+QueueFollowerFirstStep: ; 848a
+ call .QueueFirstStep
jr c, .same
- ld [wd4d1], a
+ ld [wFollowMovementQueue], a
xor a
- ld [wd4d0], a
+ ld [wFollowerMovementQueueLength], a
ret
.same
ld a, -1
- ld [wd4d0], a
+ ld [wFollowerMovementQueueLength], a
ret
; 849d
-Function849d: ; 849d
+.QueueFirstStep
ld a, [wObjectFollow_Leader]
call GetObjectStruct
ld hl, OBJECT_NEXT_MAP_X
@@ -2644,12 +1600,12 @@
jr z, .check_y
jr c, .left
and a
- ld a, $c + RIGHT
+ ld a, movement_step_right
ret
.left
and a
- ld a, $c + LEFT
+ ld a, movement_step_left
ret
.check_y
@@ -2660,12 +1616,12 @@
jr z, .same_xy
jr c, .up
and a
- ld a, $c + DOWN
+ ld a, movement_step_down
ret
.up
and a
- ld a, $c + UP
+ ld a, movement_step_up
ret
.same_xy
@@ -2683,13 +1639,13 @@
cp %100000
jr nc, .negative
- call Function84ef
+ call .ApplySineWave
ld a, h
ret
.negative
and %011111
- call Function84ef
+ call .ApplySineWave
ld a, h
xor -1
inc a
@@ -2696,14 +1652,13 @@
ret
; 84ef
-Function84ef: ; 84ef
+.ApplySineWave: ; 84ef
ld e, a
ld a, d
ld d, 0
- ld hl, SineWave
-rept 2
+ ld hl, .sinewave
add hl, de
-endr
+ add hl, de
ld e, [hl]
inc hl
ld d, [hl]
@@ -2722,19 +1677,16 @@
ret
; 850b
-SineWave: ; 850b
+.sinewave: ; 850b
; A $20-word table representing a sine wave.
; 90 degrees is index $10 at a base amplitude of $100.
sine_wave $100
; 854b
-
INCLUDE "engine/predef.asm"
-
INCLUDE "engine/color.asm"
-
SECTION "bank3", ROMX, BANK[$3]
CheckTime:: ; c000
@@ -2759,10 +1711,8 @@
db -1
; c01b
-
INCLUDE "engine/specials.asm"
-
_PrintNum:: ; c4c7
; Print c digits of the b-byte value from de to hl.
; Allows 2 to 7 digits. For 1-digit numbers, add
@@ -2971,7 +1921,7 @@
ld a, [hPrintNum5]
ld b, a
ld a, [hPrintNum2]
- ld [$ffba], a
+ ld [hPrintNum8], a
cp b
jr c, .skip1
sub b
@@ -3019,7 +1969,7 @@
ld a, [hPrintNum9]
ld [hPrintNum3], a
.skip3
- ld a, [$ffba]
+ ld a, [hPrintNum8]
ld [hPrintNum2], a
.skip1
ld a, [hPrintNum1]
@@ -3030,7 +1980,7 @@
jr nz, .done
bit 5, d
jr z, .done
- ld a, $f0
+ ld a, "¥"
ld [hli], a
res 5, d
.done
@@ -3042,7 +1992,7 @@
dec e
ret nz
inc hl
- ld [hl], $f2
+ ld [hl], "·"
ret
.PrintLeadingZero: ; c644
@@ -3067,7 +2017,6 @@
ret
; c658
-
HealParty: ; c658
xor a
ld [CurPartyMon], a
@@ -3111,9 +2060,8 @@
; bc = MON_HP
ld b, h
ld c, l
-rept 2
dec bc
-endr
+ dec bc
ld a, [hli]
ld [bc], a
@@ -3125,7 +2073,8 @@
ret
; c699
-DrawPartyMenuHPBar: ; c699
+ComputeHPBarPixels: ; c699
+; bc * (6 * 8) / de
ld a, b
or c
jr z, .zero
@@ -3136,12 +2085,14 @@
ld [hMultiplicand + 1], a
ld a, c
ld [hMultiplicand + 2], a
- ld a, $30
+ ld a, 6 * 8
ld [hMultiplier], a
call Multiply
+ ; We need de to be under 256 because hDivisor is only 1 byte.
ld a, d
and a
jr z, .divide
+ ; divide de and hProduct by 4
srl d
rr e
srl d
@@ -3156,11 +2107,10 @@
ld [hDividend + 3], a
ld a, b
ld [hDividend + 2], a
-
.divide
ld a, e
ld [hDivisor], a
- ld b, $4
+ ld b, 4
call Divide
ld a, [hQuotient + 2]
ld e, a
@@ -3167,11 +2117,11 @@
pop hl
and a
ret nz
- ld e, $1
+ ld e, 1
ret
.zero
- ld e, $0
+ ld e, 0
ret
; c6e0
@@ -3182,7 +2132,6 @@
ret
; c6ea
-
ClearBuffer1: ; c6ea
xor a
ld hl, Buffer1
@@ -3206,7 +2155,6 @@
ret
; c706
-
GetPartyNick: ; c706
; write CurPartyMon nickname to StringBuffer1-3
ld hl, PartyMonNicknames
@@ -3222,7 +2170,6 @@
ret
; c721
-
CheckEngineFlag: ; c721
; Check engine flag de
; Return carry if flag is not set
@@ -3243,13 +2190,13 @@
; Display "Badge required" text and return carry if the badge is not owned
call CheckEngineFlag
ret nc
- ld hl, BadgeRequiredText
+ ld hl, .BadgeRequiredText
call MenuTextBoxBackup ; push text to queue
scf
ret
; c73d
-BadgeRequiredText: ; c73d
+.BadgeRequiredText: ; c73d
; Sorry! A new BADGE
; is required.
text_jump _BadgeRequiredText
@@ -3256,7 +2203,6 @@
db "@"
; c742
-
CheckPartyMove: ; c742
; Check if a monster in your party has move d.
@@ -3302,14 +2248,14 @@
ret
; c779
-
FieldMoveFailed: ; c779
- ld hl, UnknownText_0xc780
+ ld hl, .CantUseHere
call MenuTextBoxBackup
ret
; c780
-UnknownText_0xc780: ; 0xc780
+.CantUseHere: ; 0xc780
+ ; Can't use that here.
text_jump UnknownText_0x1c05c8
db "@"
; 0xc785
@@ -3321,17 +2267,16 @@
call FieldMoveJumptable
jr nc, .loop
and $7f
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; c796
-
.Jumptable: ; c796 (3:4796)
+
dw .CheckAble
dw .DoCut
dw .FailCut
-
.CheckAble: ; c79c (3:479c)
ld de, ENGINE_HIVEBADGE
call CheckBadge
@@ -3340,9 +2285,11 @@
jr c, .nothingtocut
ld a, $1
ret
+
.nohivebadge
ld a, $80
ret
+
.nothingtocut
ld a, $2
ret
@@ -3354,18 +2301,18 @@
ret
.FailCut: ; c7bb (3:47bb)
- ld hl, UnknownText_0xc7c9
+ ld hl, Text_NothingToCut
call MenuTextBoxBackup
ld a, $80
ret
-UnknownText_0xc7c4: ; 0xc7c4
+Text_UsedCut: ; 0xc7c4
; used CUT!
text_jump UnknownText_0x1c05dd
db "@"
; 0xc7c9
-UnknownText_0xc7c9: ; 0xc7c9
+Text_NothingToCut: ; 0xc7c9
; There's nothing to CUT here.
text_jump UnknownText_0x1c05ec
db "@"
@@ -3372,6 +2319,7 @@
; 0xc7ce
CheckMapForSomethingToCut: ; c7ce
+ ; Does the collision data of the facing tile permit cutting?
call GetFacingTileCoord
ld c, a
push de
@@ -3378,21 +2326,26 @@
callba CheckCutCollision
pop de
jr nc, .fail
+ ; Get the location of the current block in OverworldMap.
call GetBlockLocation
ld c, [hl]
+ ; See if that block contains something that can be cut.
push hl
ld hl, CutTreeBlockPointers
call CheckOverworldTileArrays
pop hl
jr nc, .fail
+ ; Back up the OverworldMap address to Buffer3
ld a, l
- ld [wd1ec], a
+ ld [Buffer3], a
ld a, h
- ld [wd1ed], a
+ ld [Buffer4], a
+ ; Back up the replacement tile to Buffer5
ld a, b
- ld [wd1ee], a
+ ld [Buffer5], a
+ ; Back up the animation index to Buffer6
ld a, c
- ld [wd1ef], a
+ ld [Buffer6], a
xor a
ret
@@ -3407,19 +2360,19 @@
Script_Cut: ; 0xc802
callasm GetPartyNick
- writetext UnknownText_0xc7c4
+ writetext Text_UsedCut
reloadmappart
callasm CutDownTreeOrGrass
- loadmovesprites
+ closetext
end
; 0xc810
CutDownTreeOrGrass: ; c810
- ld hl, wd1ec
+ ld hl, Buffer3 ; OverworldMapTile
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [wd1ee]
+ ld a, [Buffer5] ; ReplacementTile
ld [hl], a
xor a
ld [hBGMapMode], a
@@ -3426,7 +2379,7 @@
call OverworldTextModeSwitch
call UpdateSprites
call DelayFrame
- ld a, [wd1ef]
+ ld a, [Buffer6] ; Animation type
ld e, a
callba OWCutAnimation
call BufferScreen
@@ -3438,6 +2391,12 @@
; c840
CheckOverworldTileArrays: ; c840
+ ; Input: c contains the tile you're facing
+ ; Output: Replacement tile in b and effect on wild encounters in c, plus carry set.
+ ; Carry is not set if the facing tile cannot be replaced, or if the tileset
+ ; does not contain a tile you can replace.
+
+ ; Dictionary lookup for pointer to tile replacement table
push bc
ld a, [wTileset]
ld de, 3
@@ -3444,16 +2403,20 @@
call IsInArray
pop bc
jr nc, .nope
+ ; Load the pointer
inc hl
ld a, [hli]
ld h, [hl]
ld l, a
+ ; Look up the tile you're facing
ld de, 3
ld a, c
call IsInArray
jr nc, .nope
+ ; Load the replacement to b
inc hl
ld b, [hl]
+ ; Load the animation type parameter to c
inc hl
ld c, [hl]
scf
@@ -3466,16 +2429,16 @@
CutTreeBlockPointers: ; c862
; Which tileset are we in?
- dbw TILESET_JOHTO_1, .one
- dbw TILESET_JOHTO_2, .two
- dbw TILESET_KANTO, .three
- dbw TILESET_PARK, .twentyfive
- dbw TILESET_ILEX_FOREST, .thirtyone
+ dbw TILESET_JOHTO_1, .johto1
+ dbw TILESET_JOHTO_2, .johto2
+ dbw TILESET_KANTO, .kanto
+ dbw TILESET_PARK, .park
+ dbw TILESET_ILEX_FOREST, .ilex
db -1
; c872
-.one: ; Johto OW
-; Which meta tile are we facing, which should we replace it with, and does it affect encounters?
+.johto1: ; Johto OW
+; Which meta tile are we facing, which should we replace it with, and which animation?
db $03, $02, $01 ; grass
db $5b, $3c, $00 ; tree
db $5f, $3d, $00 ; tree
@@ -3484,12 +2447,12 @@
db -1
; c882
-.two: ; Goldenrod area
+.johto2: ; Goldenrod area
db $03, $02, $01 ; grass
db -1
; c886
-.three: ; Kanto OW
+.kanto: ; Kanto OW
db $0b, $0a, $01 ; grass
db $32, $6d, $00 ; tree
db $33, $6c, $00 ; tree
@@ -3499,35 +2462,35 @@
db -1
; c899
-.twentyfive: ; National Park
+.park: ; National Park
db $13, $03, $01 ; grass
db $03, $04, $01 ; grass
db -1
; c8a0
-.thirtyone: ; Ilex Forest
+.ilex: ; Ilex Forest
db $0f, $17, $00
db -1
; c8a4
WhirlpoolBlockPointers: ; c8a4
- dbw TILESET_JOHTO_1, .one
+ dbw TILESET_JOHTO_1, .johto
db -1
; c8a8
-.one: ; c8a8
+.johto: ; c8a8
db $07, $36, $00
db -1
; c8ac
-Functionc8ac: ; c8ac
- call Functionc8b5
+OWFlash: ; c8ac
+ call .CheckUseFlash
and $7f
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; c8b5
-Functionc8b5: ; c8b5
+.CheckUseFlash: ; c8b5
; Flash
ld de, ENGINE_ZEPHYRBADGE
callba CheckBadge
@@ -3536,10 +2499,9 @@
callba SpecialAerodactylChamber
pop hl
jr c, .useflash
- ld a, [wd847]
- cp -1
+ ld a, [wTimeOfDayPalset]
+ cp %11111111 ; 3, 3, 3, 3
jr nz, .notadarkcave
-
.useflash
call UseFlash
ld a, $81
@@ -3565,7 +2527,7 @@
special UpdateTimePals
writetext UnknownText_0xc8f3
callasm BlindingFlash
- loadmovesprites
+ closetext
end
; 0xc8f3
@@ -3576,11 +2538,11 @@
ld de, SFX_FLASH
call PlaySFX
call WaitSFX
- ld hl, UnknownText_0xc908
+ ld hl, .BlankText
ret
; c908
-UnknownText_0xc908: ; 0xc908
+.BlankText: ; 0xc908
db "@"
; 0xc909
@@ -3591,11 +2553,10 @@
call FieldMoveJumptable
jr nc, .loop
and $7f
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; c91a
-
.Jumptable: ; c91a (3:491a)
dw .TrySurf
dw .DoSurf
@@ -3602,7 +2563,6 @@
dw .FailSurf
dw .AlreadySurfing
-
.TrySurf: ; c922 (3:4922)
ld de, ENGINE_FOGBADGE
call CheckBadge
@@ -3662,8 +2622,8 @@
UsedSurfScript: ; c986
writetext UsedSurfText ; "used SURF!"
+ waitbutton
closetext
- loadmovesprites
callasm Functionc9a2 ; empty function
@@ -3698,7 +2658,6 @@
db "@"
; c9b8
-
GetSurfType: ; c9b8
; Surfing on Pikachu uses an alternate sprite.
; This is done by using a separate movement type.
@@ -3717,7 +2676,6 @@
ret
; c9cb
-
CheckDirection: ; c9cb
; Return carry if a tile permission prevents you
; from moving in the direction you're facing.
@@ -3750,7 +2708,6 @@
db FACE_RIGHT
; c9e7
-
TrySurfOW:: ; c9e7
; Checking a tile in the overworld.
; Return carry if surfing is allowed.
@@ -3800,13 +2757,12 @@
ret
; ca2c
-
AskSurfScript: ; ca2c
- loadfont
+ opentext
writetext AskSurfText
yesorno
iftrue UsedSurfScript
- loadmovesprites
+ closetext
end
; ca36
@@ -3815,25 +2771,23 @@
db "@" ; Want to SURF?
; ca3b
-
FlyFunction: ; ca3b
call ClearBuffer1
-.asm_ca3e
- ld hl, .data_ca4c
+.loop
+ ld hl, .Jumptable
call FieldMoveJumptable
- jr nc, .asm_ca3e
+ jr nc, .loop
and $7f
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; ca4c
-.data_ca4c
+.Jumptable
dw .TryFly
dw .DoFly
dw .FailFly
; ca52
-
.TryFly: ; ca52
; Fly
ld de, ENGINE_STORMBADGE
@@ -3853,11 +2807,11 @@
ld a, e
cp -1
jr z, .illegal
- cp $1c ; NUM_SPAWNS
+ cp NUM_SPAWNS
jr nc, .illegal
ld [wd001], a
- call WriteBackup
+ call CloseWindow
ld a, $1
ret
@@ -3870,7 +2824,7 @@
ret
.illegal
- call WriteBackup
+ call CloseWindow
call WaitBGMap
ld a, $80
ret
@@ -3893,13 +2847,13 @@
reloadmappart
callasm HideSprites
special UpdateTimePals
- callasm Function8caed
+ callasm FlyFromAnim
farscall Script_AbortBugContest
special WarpToSpawnPoint
callasm DelayLoadingNewSprites
writecode VAR_MOVEMENT, PLAYER_NORMAL
newloadmap MAPSETUP_FLY
- callasm Function8cb33
+ callasm FlyToAnim
special WaitSFX
callasm .ReturnFromFly
end
@@ -3909,18 +2863,18 @@
callba Function561d
call DelayFrame
call ReplaceKrisSprite
- callba Function106594
+ callba LoadOverworldFont
ret
; cade
-Functioncade: ; cade
- call AttemptToWaterfall
+WaterfallFunction: ; cade
+ call .TryWaterfall
and $7f
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; cae7
-AttemptToWaterfall: ; cae7
+.TryWaterfall: ; cae7
; Waterfall
ld de, ENGINE_RISINGBADGE
callba CheckBadge
@@ -3961,18 +2915,18 @@
Script_UsedWaterfall: ; 0xcb20
callasm GetPartyNick
- writetext UnknownText_0xcb51
+ writetext .Text_UsedWaterfall
+ waitbutton
closetext
- loadmovesprites
playsound SFX_BUBBLEBEAM
.loop
- applymovement PLAYER, WaterfallStep
- callasm CheckContinueWaterfall
+ applymovement PLAYER, .WaterfallStep
+ callasm .CheckContinueWaterfall
iffalse .loop
end
; 0xcb38
-CheckContinueWaterfall: ; cb38
+.CheckContinueWaterfall: ; cb38
xor a
ld [ScriptVar], a
ld a, [PlayerNextTile]
@@ -3984,12 +2938,13 @@
ret
; cb4f
-WaterfallStep: ; cb4f
+.WaterfallStep: ; cb4f
turn_waterfall_up
step_end
; cb51
-UnknownText_0xcb51: ; 0xcb51
+.Text_UsedWaterfall: ; 0xcb51
+ ; used WATERFALL!
text_jump UnknownText_0x1c068e
db "@"
; 0xcb56
@@ -4018,29 +2973,30 @@
; cb7e
Script_CantDoWaterfall: ; 0xcb7e
- jumptext UnknownText_0xcb81
+ jumptext .Text_CantDoWaterfall
; 0xcb81
-UnknownText_0xcb81: ; 0xcb81
+.Text_CantDoWaterfall: ; 0xcb81
+ ; Wow, it's a huge waterfall.
text_jump UnknownText_0x1c06a3
db "@"
; 0xcb86
Script_AskWaterfall: ; 0xcb86
- loadfont
- writetext UnknownText_0xcb90
+ opentext
+ writetext .AskUseWaterfall
yesorno
iftrue Script_UsedWaterfall
- loadmovesprites
+ closetext
end
; 0xcb90
-UnknownText_0xcb90: ; 0xcb90
+.AskUseWaterfall: ; 0xcb90
+ ; Do you want to use WATERFALL?
text_jump UnknownText_0x1c06bf
db "@"
; 0xcb95
-
EscapeRopeFunction: ; cb95
call ClearBuffer1
ld a, $1
@@ -4057,7 +3013,7 @@
call FieldMoveJumptable
jr nc, .loop
and $7f
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; cbb2
@@ -4069,9 +3025,9 @@
.CheckCanDig: ; cbb8
call GetMapPermission
- cp $4
+ cp CAVE
jr z, .incave
- cp $7
+ cp DUNGEON
jr z, .incave
.fail
ld a, $2
@@ -4078,7 +3034,7 @@
ret
.incave
- ld hl, wdca9
+ ld hl, wDigWarp
ld a, [hli]
and a
jr z, .fail
@@ -4093,8 +3049,8 @@
; cbd8
.DoDig: ; cbd8
- ld hl, wdca9
- ld de, wd146
+ ld hl, wDigWarp
+ ld de, wNextWarp
ld bc, 3
call CopyBytes
call GetPartyNick
@@ -4101,7 +3057,7 @@
ld a, [Buffer2]
cp $2
jr nz, .escaperope
- ld hl, UsedDigScript
+ ld hl, .UsedDigScript
call QueueScript
ld a, $81
ret
@@ -4108,7 +3064,7 @@
.escaperope
callba SpecialKabutoChamber
- ld hl, UsedEscapeRopeScript
+ ld hl, .UsedEscapeRopeScript
call QueueScript
ld a, $81
ret
@@ -4118,10 +3074,10 @@
ld a, [Buffer2]
cp $2
jr nz, .failescaperope
- ld hl, UnknownText_0xcc26
+ ld hl, .Text_CantUseHere
call MenuTextBox
call WaitPressAorB_BlinkCursor
- call WriteBackup
+ call CloseWindow
.failescaperope
ld a, $80
@@ -4128,39 +3084,39 @@
ret
; cc1c
-UnknownText_0xcc1c: ; 0xcc1c
+.Text_UsedDig: ; 0xcc1c
; used DIG!
text_jump UnknownText_0x1c06de
db "@"
; 0xcc21
-UnknownText_0xcc21: ; 0xcc21
+.Text_UsedEscapeRope: ; 0xcc21
; used an ESCAPE ROPE.
text_jump UnknownText_0x1c06ed
db "@"
; 0xcc26
-UnknownText_0xcc26: ; 0xcc26
+.Text_CantUseHere: ; 0xcc26
; Can't use that here.
text_jump UnknownText_0x1c0705
db "@"
; 0xcc2b
-UsedEscapeRopeScript: ; 0xcc2b
+.UsedEscapeRopeScript: ; 0xcc2b
reloadmappart
special UpdateTimePals
- writetext UnknownText_0xcc21
- jump UsedDigOrEscapeRopeScript
+ writetext .Text_UsedEscapeRope
+ jump .UsedDigOrEscapeRopeScript
; 0xcc35
-UsedDigScript: ; 0xcc35
+.UsedDigScript: ; 0xcc35
reloadmappart
special UpdateTimePals
- writetext UnknownText_0xcc1c
+ writetext .Text_UsedDig
-UsedDigOrEscapeRopeScript: ; 0xcc3c
+.UsedDigOrEscapeRopeScript: ; 0xcc3c
+ waitbutton
closetext
- loadmovesprites
playsound SFX_WARP_TO
applymovement PLAYER, .DigOut
farscall Script_AbortBugContest
@@ -4191,7 +3147,7 @@
call FieldMoveJumptable
jr nc, .loop
and $7f
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; cc72
@@ -4208,9 +3164,9 @@
jr .nope
.CheckIfSpawnPoint
- ld a, [wdcb2]
+ ld a, [wLastSpawnMapGroup]
ld d, a
- ld a, [wdcb3]
+ ld a, [wLastSpawnMapNumber]
ld e, a
callba IsSpawnPoint
jr nc, .nope
@@ -4226,7 +3182,7 @@
.DoTeleport: ; cc9c
call GetPartyNick
- ld hl, Script_UsedTeleport
+ ld hl, .TeleportScript
call QueueScript
ld a, $81
ret
@@ -4233,31 +3189,31 @@
; cca8
.FailTeleport: ; cca8
- ld hl, UnknownText_0xccb6
+ ld hl, .Text_CantUseHere
call MenuTextBoxBackup
ld a, $80
ret
; ccb1
-UnknownText_0xccb1: ; 0xccb1
+.Text_ReturnToLastMonCenter: ; 0xccb1
; Return to the last #MON CENTER.
text_jump UnknownText_0x1c071a
db "@"
; 0xccb6
-UnknownText_0xccb6: ; 0xccb6
+.Text_CantUseHere: ; 0xccb6
; Can't use that here.
text_jump UnknownText_0x1c073b
db "@"
; 0xccbb
-Script_UsedTeleport: ; 0xccbb
+.TeleportScript: ; 0xccbb
reloadmappart
special UpdateTimePals
- writetext UnknownText_0xccb1
+ writetext .Text_ReturnToLastMonCenter
pause 60
reloadmappart
- loadmovesprites
+ closetext
playsound SFX_WARP_TO
applymovement PLAYER, .TeleportFrom
farscall Script_AbortBugContest
@@ -4282,7 +3238,7 @@
StrengthFunction: ; cce5
call .TryStrength
and $7f
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; ccee
@@ -4290,28 +3246,28 @@
; Strength
ld de, ENGINE_PLAINBADGE
call CheckBadge
- jr c, FailedStrength
- jr StartToUseStrength
+ jr c, .Failed
+ jr .UseStrength
; ccf8
-AlreadyUsingStrength: ; unreferenced
- ld hl, UnknownText_0xcd01
+.AlreadyUsing: ; unreferenced
+ ld hl, .JumpText
call MenuTextBoxBackup
ld a, $80
ret
; cd01
-UnknownText_0xcd01: ; 0xcd01
+.JumpText: ; 0xcd01
text_jump UnknownText_0x1c0751
db "@"
; 0xcd06
-FailedStrength: ; cd06
+.Failed: ; cd06
ld a, $80
ret
; cd09
-StartToUseStrength: ; cd09
+.UseStrength: ; cd09
ld hl, Script_StrengthFromMenu
call QueueScript
ld a, $81
@@ -4318,20 +3274,16 @@
ret
; cd12
-Functioncd12: ; cd12
+SetStrengthFlag: ; cd12
ld hl, BikeFlags
set 0, [hl]
ld a, [CurPartyMon]
ld e, a
ld d, 0
- ; fallthrough
-; cd1d
-
-Functioncd1d: ; cd1d
ld hl, PartySpecies
add hl, de
ld a, [hl]
- ld [wd1ef], a
+ ld [Buffer6], a
call GetPartyNick
ret
; cd29
@@ -4341,22 +3293,22 @@
special UpdateTimePals
Script_UsedStrength: ; 0xcd2d
- callasm Functioncd12
- writetext UnknownText_0xcd41
- copybytetovar wd1ef
+ callasm SetStrengthFlag
+ writetext .UsedStrength
+ copybytetovar Buffer6
cry 0
pause 3
- writetext UnknownText_0xcd46
- loadmovesprites
+ writetext .StrengthAllowedItToMoveBoulders
+ closetext
end
; 0xcd41
-UnknownText_0xcd41: ; 0xcd41
+.UsedStrength: ; 0xcd41
text_jump UnknownText_0x1c0774
db "@"
; 0xcd46
-UnknownText_0xcd46: ; 0xcd46
+.StrengthAllowedItToMoveBoulders: ; 0xcd46
text_jump UnknownText_0x1c0788
db "@"
; 0xcd4b
@@ -4377,11 +3329,11 @@
; 0xcd5f
.AskStrength: ; 0xcd5f
- loadfont
+ opentext
writetext UnknownText_0xcd69
yesorno
iftrue Script_UsedStrength
- loadmovesprites
+ closetext
end
; 0xcd69
@@ -4439,7 +3391,7 @@
call FieldMoveJumptable
jr nc, .loop
and $7f
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; cdae
@@ -4480,7 +3432,7 @@
ret
; cdd9
-UnknownText_0xcdd9: ; 0xcdd9
+Text_UsedWhirlpool: ; 0xcdd9
; used WHIRLPOOL!
text_jump UnknownText_0x1c0816
db "@"
@@ -4501,13 +3453,13 @@
pop hl
jr nc, .failed
ld a, l
- ld [wd1ec], a
+ ld [Buffer3], a
ld a, h
- ld [wd1ed], a
+ ld [Buffer4], a
ld a, b
- ld [wd1ee], a
+ ld [Buffer5], a
ld a, c
- ld [wd1ef], a
+ ld [Buffer6], a
xor a
ret
@@ -4522,24 +3474,24 @@
Script_UsedWhirlpool: ; 0xce0f
callasm GetPartyNick
- writetext UnknownText_0xcdd9
+ writetext Text_UsedWhirlpool
reloadmappart
callasm DisappearWhirlpool
- loadmovesprites
+ closetext
end
; 0xce1d
DisappearWhirlpool: ; ce1d
- ld hl, wd1ec
+ ld hl, Buffer3
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [wd1ee]
+ ld a, [Buffer5]
ld [hl], a
xor a
ld [hBGMapMode], a
call OverworldTextModeSwitch
- ld a, [wd1ef]
+ ld a, [Buffer6]
ld e, a
callba PlayWhirlpoolSound
call BufferScreen
@@ -4571,20 +3523,20 @@
; ce66
Script_MightyWhirlpool: ; 0xce66
- jumptext UnknownText_0xce69
+ jumptext .MightyWhirlpoolText
; 0xce69
-UnknownText_0xce69: ; 0xce69
+.MightyWhirlpoolText: ; 0xce69
text_jump UnknownText_0x1c082b
db "@"
; 0xce6e
Script_AskWhirlpoolOW: ; 0xce6e
- loadfont
+ opentext
writetext UnknownText_0xce78
yesorno
iftrue Script_UsedWhirlpool
- loadmovesprites
+ closetext
end
; 0xce78
@@ -4593,11 +3545,10 @@
db "@"
; 0xce7d
-
HeadbuttFunction: ; ce7d
call TryHeadbuttFromMenu
and $7f
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; ce86
@@ -4642,16 +3593,16 @@
callasm TreeMonEncounter
iffalse .no_battle
- loadmovesprites
- battlecheck
+ closetext
+ randomwildmon
startbattle
- returnafterbattle
+ reloadmapafterbattle
end
.no_battle
writetext UnknownText_0xcea2
+ waitbutton
closetext
- loadmovesprites
end
; 0xcec9
@@ -4672,11 +3623,11 @@
; cedc
AskHeadbuttScript: ; 0xcedc
- loadfont
+ opentext
writetext UnknownText_0xcee6
yesorno
iftrue HeadbuttScript
- loadmovesprites
+ closetext
end
; 0xcee6
@@ -4686,11 +3637,10 @@
db "@"
; 0xceeb
-
RockSmashFunction: ; ceeb
call TryRockSmashFromMenu
and $7f
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; cef4
@@ -4742,7 +3692,7 @@
RockSmashScript: ; cf32
callasm GetPartyNick
writetext UnknownText_0xcf58
- loadmovesprites
+ closetext
special WaitSFX
playsound SFX_STRENGTH
earthquake 84
@@ -4752,9 +3702,9 @@
callasm RockMonEncounter
copybytetovar TempWildMonSpecies
iffalse .done
- battlecheck
+ randomwildmon
startbattle
- returnafterbattle
+ reloadmapafterbattle
.done
end
; 0xcf55
@@ -4772,11 +3722,11 @@
callasm HasRockSmash
if_equal 1, .no
- loadfont
+ opentext
writetext UnknownText_0xcf77
yesorno
iftrue RockSmashScript
- loadmovesprites
+ closetext
end
.no
jumptext UnknownText_0xcf72
@@ -4808,7 +3758,6 @@
ld [ScriptVar], a
ret
-
FishFunction: ; cf8e
ld a, e
push af
@@ -4820,7 +3769,7 @@
call FieldMoveJumptable
jr nc, .loop
and $7f
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; cfa5
@@ -4882,7 +3831,7 @@
.FishGotSomething: ; cff4
ld a, $1
- ld [wd1ef], a
+ ld [Buffer6], a
ld hl, Script_GotABite
call QueueScript
ld a, $81
@@ -4891,7 +3840,7 @@
.FishNoBite: ; d002
ld a, $2
- ld [wd1ef], a
+ ld [Buffer6], a
ld hl, Script_NotEvenANibble
call QueueScript
ld a, $81
@@ -4900,7 +3849,7 @@
.FailFish: ; d010
ld a, $0
- ld [wd1ef], a
+ ld [Buffer6], a
ld hl, Script_NotEvenANibble2
call QueueScript
ld a, $81
@@ -4920,7 +3869,7 @@
Script_NotEvenANibble_FallThrough: ; 0xd02d
loademote EMOTE_SHADOW
callasm PutTheRodAway
- loadmovesprites
+ closetext
end
; 0xd035
@@ -4940,10 +3889,10 @@
applymovement PLAYER, .Movement_RestoreRod
writetext UnknownText_0xd0a4
callasm PutTheRodAway
- loadmovesprites
- battlecheck
+ closetext
+ randomwildmon
startbattle
- returnafterbattle
+ reloadmapafterbattle
end
; 0xd05c
@@ -5033,7 +3982,7 @@
BikeFunction: ; d0b3
call .TryBike
and $7f
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; d0bc
@@ -5090,7 +4039,7 @@
; d119
.CheckIfRegistered: ; d119
- ld a, [wd0ef]
+ ld a, [wUsingItemWithSelect]
and a
ret z
ld h, d
@@ -5125,8 +4074,8 @@
special UpdateTimePals
writecode VAR_MOVEMENT, PLAYER_BIKE
writetext UnknownText_0xd17c
+ waitbutton
closetext
- loadmovesprites
special ReplaceKrisSprite
end
; 0xd14e
@@ -5133,7 +4082,7 @@
Script_GetOnBike_Register: ; 0xd14e
writecode VAR_MOVEMENT, PLAYER_BIKE
- loadmovesprites
+ closetext
special ReplaceKrisSprite
end
; 0xd156
@@ -5147,10 +4096,10 @@
special UpdateTimePals
writecode VAR_MOVEMENT, PLAYER_NORMAL
writetext UnknownText_0xd181
- closetext
+ waitbutton
FinishGettingOffBike:
- loadmovesprites
+ closetext
special ReplaceKrisSprite
special PlayMapMusic
end
@@ -5163,8 +4112,8 @@
UnknownScript_0xd171: ; 0xd171
writetext UnknownText_0xd177
+ waitbutton
closetext
- loadmovesprites
end
; 0xd177
@@ -5186,7 +4135,6 @@
db "@"
; 0xd186
-
TryCutOW:: ; d186
ld d, CUT
call CheckPartyMove
@@ -5211,7 +4159,7 @@
; d1a9
AskCutScript: ; 0xd1a9
- loadfont
+ opentext
writetext UnknownText_0xd1c8
yesorno
iffalse .script_d1b8
@@ -5218,7 +4166,7 @@
callasm .CheckMap
iftrue Script_Cut
.script_d1b8
- loadmovesprites
+ closetext
end
; 0xd1ba
@@ -5227,7 +4175,7 @@
ld [ScriptVar], a
call CheckMapForSomethingToCut
ret c
- ld a, 1
+ ld a, TRUE
ld [ScriptVar], a
ret
; d1c8
@@ -5246,7 +4194,6 @@
db "@"
; 0xd1d5
-
_ReceiveItem:: ; d1d5
call DoesHLEqualNumItems
jp nz, PutItemInPocket
@@ -5293,7 +4240,6 @@
jp ReceiveTMHM
; d20d
-
_TossItem:: ; d20d
call DoesHLEqualNumItems
jr nz, .remove
@@ -5504,14 +4450,13 @@
ld e, l
ld a, [hli]
ld c, a
- ld a, [ItemCountBuffer]
+ ld a, [CurItemQuantity]
cp c
jr nc, .ok ; memory
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [CurItem]
cp [hl]
inc hl
@@ -5545,9 +4490,8 @@
dec hl
ld b, h
ld c, l
-rept 2
inc hl
-endr
+ inc hl
.loop2
ld a, [hli]
ld [bc], a
@@ -5677,8 +4621,6 @@
ret
; d3c4
-
-
ReceiveTMHM: ; d3c4
dec c
ld b, 0
@@ -5737,8 +4679,6 @@
ret
; d407
-
-
GetTMHMNumber:: ; d407
; Return the number of a TM/HM by item id c.
@@ -5760,7 +4700,6 @@
ret
; d417
-
GetNumberedTMHM: ; d417
; Return the item id of a TM/HM by number c.
@@ -5783,7 +4722,6 @@
ret
; d427
-
_CheckTossableItem:: ; d427
; Return 1 in wItemAttributeParamBuffer and carry if CurItem can't be removed from the bag.
ld a, ITEMATTR_PERMISSIONS
@@ -5866,7 +4804,6 @@
ret
; d486
-
GetItemPrice: ; d486
; Return the price of CurItem in de.
push hl
@@ -5882,2521 +4819,10 @@
ret
; d497
+INCLUDE "engine/player_step.asm"
+INCLUDE "engine/anim_hp_bar.asm"
+INCLUDE "engine/move_mon.asm"
-Functiond497:: ; d497 (3:5497)
- ld a, [wPlayerStepFlags]
- and a
- ret z
- bit 7, a
- jr nz, .asm_d4a9
- bit 6, a
- jr nz, .asm_d4b3
- bit 5, a
- jr nz, .asm_d4b8
- ret
-.asm_d4a9
- ld a, $4
- ld [wd13f], a
- call Functiond536
- jr .asm_d4b8
-.asm_d4b3
- call Functiond511
- jr .asm_d4b8
-.asm_d4b8
- call Functiond4e5
- ld a, [wPlayerStepVectorX]
- ld d, a
- ld a, [wPlayerStepVectorY]
- ld e, a
- ld a, [wd14c]
- sub d
- ld [wd14c], a
- ld a, [wd14d]
- sub e
- ld [wd14d], a
- ret
-
-Functiond4d2:: ; d4d2 (3:54d2)
- ld a, [wPlayerStepVectorX]
- ld d, a
- ld a, [wPlayerStepVectorY]
- ld e, a
- ld a, [hSCX]
- add d
- ld [hSCX], a
- ld a, [hSCY]
- add e
- ld [hSCY], a
- ret
-
-Functiond4e5: ; d4e5 (3:54e5)
- ld hl, wd13f
- ld a, [hl]
- and a
- ret z
- dec [hl]
- ld a, [hl]
- ld hl, Jumptable_d4f2
- rst JumpTable
- ret
-
-Jumptable_d4f2: ; d4f2 (3:54f2)
- dw GetMovementPermissions
- dw BufferScreen
- dw .mobile
- dw .fail2
- dw .fail1
- dw .fail1
- dw .fail1
- dw .fail1
- dw .fail1
- dw .fail1
- dw .fail1
-
-
-.fail1: ; d508 (3:5508)
- ret
-
-.mobile: ; d509 (3:5509)
- callba MobileFn_10602e
- ret
-
-.fail2: ; d510 (3:5510)
- ret
-
-Functiond511: ; d511 (3:5511)
- ld a, [wPlayerStepDirection]
- and a
- jr nz, .asm_d51c
- ld hl, YCoord
- inc [hl]
- ret
-.asm_d51c
- cp $1
- jr nz, .asm_d525
- ld hl, YCoord
- dec [hl]
- ret
-.asm_d525
- cp $2
- jr nz, .asm_d52e
- ld hl, XCoord
- dec [hl]
- ret
-.asm_d52e
- cp $3
- ret nz
- ld hl, XCoord
- inc [hl]
- ret
-
-Functiond536: ; d536 (3:5536)
- ld a, [wPlayerStepDirection]
- and a
- jr z, .asm_d549
- cp $1
- jr z, .asm_d553
- cp $2
- jr z, .asm_d55d
- cp $3
- jr z, .asm_d567
- ret
-
-.asm_d549
- call Functiond571
- call LoadMapPart
- call ScrollMapUp
- ret
-
-.asm_d553
- call Functiond5a2
- call LoadMapPart
- call ScrollMapDown
- ret
-
-.asm_d55d
- call Functiond5d5
- call LoadMapPart
- call ScrollMapLeft
- ret
-
-.asm_d567
- call Functiond5fe
- call LoadMapPart
- call ScrollMapRight
- ret
-
-Functiond571: ; d571 (3:5571)
- ld a, [wBGMapAnchor]
- add $40
- ld [wBGMapAnchor], a
- jr nc, .not_overflowed
- ld a, [wBGMapAnchor + 1]
- inc a
- and $3
- or VBGMap0 / $100
- ld [wBGMapAnchor + 1], a
-.not_overflowed
- ld hl, wd196
- inc [hl]
- ld a, [hl]
- cp $2 ; was 1
- jr nz, .skip
- ld [hl], $0
- call Functiond595
-.skip
- ret
-
-Functiond595: ; d595 (3:5595)
- ld hl, wd194
- ld a, [MapWidth]
- add $6
- add [hl]
- ld [hli], a
- ret nc
- inc [hl]
- ret
-
-Functiond5a2: ; d5a2 (3:55a2)
- ld a, [wBGMapAnchor]
- sub $40
- ld [wBGMapAnchor], a
- jr nc, .not_underflowed
- ld a, [wBGMapAnchor + 1]
- dec a
- and $3
- or VBGMap0 / $100
- ld [wBGMapAnchor + 1], a
-.not_underflowed
- ld hl, wd196
- dec [hl]
- ld a, [hl]
- cp $ff ; was 0
- jr nz, .skip
- ld [hl], $1
- call Functiond5c6
-.skip
- ret
-
-Functiond5c6: ; d5c6 (3:55c6)
- ld hl, wd194
- ld a, [MapWidth]
- add $6
- ld b, a
- ld a, [hl]
- sub b
- ld [hli], a
- ret nc
- dec [hl]
- ret
-
-Functiond5d5: ; d5d5 (3:55d5)
- ld a, [wBGMapAnchor]
- ld e, a
- and $e0
- ld d, a
- ld a, e
- sub $2
- and $1f
- or d
- ld [wBGMapAnchor], a
- ld hl, wd197
- dec [hl]
- ld a, [hl]
- cp $ff
- jr nz, .asm_d5f3
- ld [hl], $1
- call Functiond5f4
-.asm_d5f3
- ret
-
-Functiond5f4: ; d5f4 (3:55f4)
- ld hl, wd194
- ld a, [hl]
- sub $1
- ld [hli], a
- ret nc
- dec [hl]
- ret
-
-Functiond5fe: ; d5fe (3:55fe)
- ld a, [wBGMapAnchor]
- ld e, a
- and $e0
- ld d, a
- ld a, e
- add $2
- and $1f
- or d
- ld [wBGMapAnchor], a
- ld hl, wd197
- inc [hl]
- ld a, [hl]
- cp $2
- jr nz, .asm_d61c
- ld [hl], $0
- call .Incrementwd194
-.asm_d61c
- ret
-
-.Incrementwd194: ; d61d (3:561d)
- ld hl, wd194
- ld a, [hl]
- add $1
- ld [hli], a
- ret nc
- inc [hl]
- ret
-
-_AnimateHPBar: ; d627
- call Functiond65f
- jr c, .do_player
- call Functiond670
-.enemy_loop
- push bc
- push hl
- call Functiond6e2
- pop hl
- pop bc
- push af
- push bc
- push hl
- call Functiond730
- call Functiond7c9
- pop hl
- pop bc
- pop af
- jr nc, .enemy_loop
- ret
-
-.do_player
- call Functiond670
-.player_loop
- push bc
- push hl
- call Functiond6f5
- pop hl
- pop bc
- ret c
- push af
- push bc
- push hl
- call Functiond749
- call Functiond7c9
- pop hl
- pop bc
- pop af
- jr nc, .player_loop
- ret
-; d65f
-
-Functiond65f: ; d65f
- ld a, [Buffer2]
- and a
- jr nz, .player
- ld a, [Buffer1]
- cp $30
- jr nc, .player
- and a
- ret
-
-.player
- scf
- ret
-; d670
-
-Functiond670: ; d670
- push hl
- ld hl, Buffer1
- ld a, [hli]
- ld e, a
- ld a, [hli]
- ld d, a
- ld a, [hli]
- ld c, a
- ld a, [hli]
- ld b, a
- pop hl
- call DrawPartyMenuHPBar
- ld a, e
- ld [wd1f1], a
- ld a, [wd1ee]
- ld c, a
- ld a, [wd1ef]
- ld b, a
- ld a, [Buffer1]
- ld e, a
- ld a, [Buffer2]
- ld d, a
- call DrawPartyMenuHPBar
- ld a, e
- ld [wd1f2], a
- push hl
- ld hl, wd1ec
- ld a, [hli]
- ld c, a
- ld a, [hli]
- ld b, a
- ld a, [hli]
- ld e, a
- ld a, [hli]
- ld d, a
- pop hl
- ld a, e
- sub c
- ld e, a
- ld a, d
- sbc b
- ld d, a
- jr c, .asm_d6c1
- ld a, [wd1ec]
- ld [wd1f5], a
- ld a, [wd1ee]
- ld [wd1f6], a
- ld bc, 1
- jr .asm_d6d9
-
-.asm_d6c1
- ld a, [wd1ec]
- ld [wd1f6], a
- ld a, [wd1ee]
- ld [wd1f5], a
- ld a, e
- xor $ff
- inc a
- ld e, a
- ld a, d
- xor $ff
- ld d, a
- ld bc, rIE
-
-.asm_d6d9
- ld a, d
- ld [wd1f3], a
- ld a, e
- ld [wd1f4], a
- ret
-; d6e2
-
-Functiond6e2: ; d6e2
- ld hl, wd1f1
- ld a, [wd1f2]
- cp [hl]
- jr nz, .asm_d6ed
- scf
- ret
-
-.asm_d6ed
- ld a, c
- add [hl]
- ld [hl], a
- call Functiond839
- and a
- ret
-; d6f5
-
-Functiond6f5: ; d6f5
-.asm_d6f5
- ld hl, wd1ec
- ld a, [hli]
- ld e, a
- ld a, [hli]
- ld d, a
- ld a, e
- cp [hl]
- jr nz, .asm_d707
- inc hl
- ld a, d
- cp [hl]
- jr nz, .asm_d707
- scf
- ret
-
-.asm_d707
- ld l, e
- ld h, d
- add hl, bc
- ld a, l
- ld [wd1ec], a
- ld a, h
- ld [wd1ed], a
- push hl
- push de
- push bc
- ld hl, Buffer1
- ld a, [hli]
- ld e, a
- ld a, [hli]
- ld d, a
- ld a, [hli]
- ld c, a
- ld a, [hli]
- ld b, a
- call DrawPartyMenuHPBar
- pop bc
- pop de
- pop hl
- ld a, e
- ld hl, wd1f1
- cp [hl]
- jr z, .asm_d6f5
- ld [hl], a
- and a
- ret
-; d730
-
-Functiond730: ; d730
- call Functiond784
- ld d, $6
- ld a, [wd10a]
- and $1
- ld b, a
- ld a, [wd1f1]
- ld e, a
- ld c, a
- push de
- call Functiond771
- pop de
- call Functiond7b4
- ret
-; d749
-
-Functiond749: ; d749
- call Functiond784
- ld a, [wd1ec]
- ld c, a
- ld a, [wd1ed]
- ld b, a
- ld a, [Buffer1]
- ld e, a
- ld a, [Buffer2]
- ld d, a
- call DrawPartyMenuHPBar
- ld c, e
- ld d, $6
- ld a, [wd10a]
- and $1
- ld b, a
- push de
- call Functiond771
- pop de
- call Functiond7b4
- ret
-; d771
-
-Functiond771: ; d771
- ld a, [wd10a]
- cp $2
- jr nz, .asm_d780
- ld a, $28
- add l
- ld l, a
- ld a, $0
- adc h
- ld h, a
-
-.asm_d780
- call DrawBattleHPBar
- ret
-; d784
-
-Functiond784: ; d784
- ld a, [wd10a]
- and a
- ret z
- cp $1
- jr z, .load_15
- ld de, $16
- jr .loaded_de
-
-.load_15
- ld de, $15
-
-.loaded_de
- push hl
- add hl, de
- ld a, " "
-rept 2
- ld [hli], a
-endr
- ld [hld], a
- dec hl
- ld a, [wd1ec]
- ld [StringBuffer2 + 1], a
- ld a, [wd1ed]
- ld [StringBuffer2], a
- ld de, StringBuffer2
- lb bc, 2, 3
- call PrintNum
- pop hl
- ret
-; d7b4
-
-Functiond7b4: ; d7b4
- ld a, [hCGB]
- and a
- ret z
- ld hl, wd1f0
- call SetHPPal
- ld a, [wd1f0]
- ld c, a
- callba Function8c43
- ret
-; d7c9
-
-Functiond7c9: ; d7c9
- ld a, [hCGB]
- and a
- jr nz, .cgb
- call DelayFrame
- call DelayFrame
- ret
-
-.cgb
- ld a, [wd10a]
- and a
- jr z, .load_0
- cp $1
- jr z, .load_1
- ld a, [CurPartyMon]
- cp $3
- jr nc, .c_is_1
- ld c, $0
- jr .c_is_0
-
-.c_is_1
- ld c, $1
-
-.c_is_0
- push af
- cp $2
- jr z, .skip_delay
- cp $5
- jr z, .skip_delay
- ld a, $2
- ld [hBGMapMode], a
- ld a, c
- ld [hBGMapThird], a
- call DelayFrame
-
-.skip_delay
- ld a, $1
- ld [hBGMapMode], a
- ld a, c
- ld [hBGMapThird], a
- call DelayFrame
- pop af
- cp $2
- jr z, .two_frames
- cp $5
- jr z, .two_frames
- ret
-
-.two_frames
- inc c
- ld a, $2
- ld [hBGMapMode], a
- ld a, c
- ld [hBGMapThird], a
- call DelayFrame
- ld a, $1
- ld [hBGMapMode], a
- ld a, c
- ld [hBGMapThird], a
- call DelayFrame
- ret
-
-.load_0
- ld c, $0
- jr .finish
-
-.load_1
- ld c, $1
-
-.finish
- call DelayFrame
- ld a, c
- ld [hBGMapThird], a
- call DelayFrame
- ret
-; d839
-
-Functiond839: ; d839
- ld a, [Buffer1]
- ld c, a
- ld b, $0
- ld hl, 0
- ld a, [wd1f1]
- cp $30
- jr nc, .coppy_buffer
- and a
- jr z, .return_zero
- call AddNTimes
- ld b, $0
-.loop
- ld a, l
- sub $30
- ld l, a
- ld a, h
- sbc $0
- ld h, a
- jr c, .done
- inc b
- jr .loop
-
-.done
- push bc
- ld bc, $80
- add hl, bc
- pop bc
- ld a, l
- sub $30
- ld l, a
- ld a, h
- sbc $0
- ld h, a
- jr c, .no_carry
- inc b
-
-.no_carry
- ld a, [wd1f5]
- cp b
- jr nc, .finish
- ld a, [wd1f6]
- cp b
- jr c, .finish
- ld a, b
-
-.finish
- ld [wd1ec], a
- ret
-
-.return_zero
- xor a
- ld [wd1ec], a
- ret
-
-.coppy_buffer
- ld a, [Buffer1]
- ld [wd1ec], a
- ret
-; d88c
-
-
-TryAddMonToParty: ; d88c
-; Check if to copy wild Pkmn or generate new Pkmn
- ; Whose is it?
- ld de, PartyCount
- ld a, [MonType]
- and $f
- jr z, .getpartylocation ; PARTYMON
- ld de, OTPartyCount
-
-.getpartylocation
- ; Do we have room for it?
- ld a, [de]
- inc a
- cp PARTY_LENGTH + 1
- ret nc
- ; Increase the party count
- ld [de], a
- ld a, [de] ; Why are we doing this?
- ld [$ffae], a ; HRAM backup
- add e
- ld e, a
- jr nc, .loadspecies
- inc d
-
-.loadspecies
- ; Load the species of the Pokemon into the party list.
- ; The terminator is usually here, but it'll be back.
- ld a, [CurPartySpecies]
- ld [de], a
- ; Load the terminator into the next slot.
- inc de
- ld a, -1
- ld [de], a
- ; Now let's load the OT name.
- ld hl, PartyMonOT
- ld a, [MonType]
- and $f
- jr z, .loadOTname
- ld hl, OTPartyMonOT
-
-.loadOTname
- ld a, [$ffae] ; Restore index from backup
- dec a
- call SkipNames
- ld d, h
- ld e, l
- ld hl, PlayerName
- ld bc, NAME_LENGTH
- call CopyBytes
- ld a, [MonType]
- and a
- jr nz, .skipnickname
- ld a, [CurPartySpecies]
- ld [wd265], a
- call GetPokemonName
- ld hl, PartyMonNicknames
- ld a, [$ffae]
- dec a
- call SkipNames
- ld d, h
- ld e, l
- ld hl, StringBuffer1
- ld bc, PKMN_NAME_LENGTH
- call CopyBytes
-
-.skipnickname
- ld hl, PartyMon1Species
- ld a, [MonType]
- and $f
- jr z, .initializeStats
- ld hl, OTPartyMon1Species
-
-.initializeStats
- ld a, [$ffae]
- dec a
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
-GeneratePartyMonStats: ; d906
- ld e, l
- ld d, h
- push hl
- ld a, [CurPartySpecies]
- ld [CurSpecies], a
- call GetBaseData
- ld a, [BaseDexNo]
- ld [de], a
- inc de
- ld a, [wBattleMode]
- and a
- ld a, $0
- jr z, .skipitem
- ld a, [EnemyMonItem]
-
-.skipitem
- ld [de], a
- inc de
- push de
- ld h, d
- ld l, e
- ld a, [wBattleMode]
- and a
- jr z, .randomlygeneratemoves
- ld a, [MonType]
- and a
- jr nz, .randomlygeneratemoves
- ld de, EnemyMonMoves
- rept NUM_MOVES + -1
- ld a, [de]
- inc de
- ld [hli], a
- endr
- ld a, [de]
- ld [hl], a
- jr .next
-
-.randomlygeneratemoves
- xor a
- rept NUM_MOVES + -1
- ld [hli], a
- endr
- ld [hl], a
- ld [Buffer1], a
- predef FillMoves
-
-.next
- pop de
-rept 4
- inc de
-endr
- ld a, [PlayerID]
- ld [de], a
- inc de
- ld a, [PlayerID + 1]
- ld [de], a
- inc de
- push de
- ld a, [CurPartyLevel]
- ld d, a
- callab CalcExpAtLevel
- pop de
- ld a, [hMultiplicand]
- ld [de], a
- inc de
- ld a, [$ffb5]
- ld [de], a
- inc de
- ld a, [$ffb6]
- ld [de], a
- inc de
- xor a
- ld b, $a
-.loop
- ld [de], a
- inc de
- dec b
- jr nz, .loop
- pop hl
- push hl
- ld a, [MonType]
- and $f
- jr z, .generateDVs
- push hl
- callba GetTrainerDVs
- pop hl
- jr .initializetrainermonstats
-
-.generateDVs
- ld a, [CurPartySpecies]
- ld [wd265], a
- dec a
- push de
- call CheckCaughtMon
- ld a, [wd265]
- dec a
- call SetSeenAndCaughtMon
- pop de
- pop hl
- push hl
- ld a, [wBattleMode]
- and a
- jr nz, .copywildmonstats
- call Random
- ld b, a
- call Random
- ld c, a
-
-.initializetrainermonstats
- ld a, b
- ld [de], a
- inc de
- ld a, c
- ld [de], a
- inc de
- push hl
- push de
-rept 2
- inc hl
-endr
- call FillPP
- pop de
- pop hl
-rept 4
- inc de
-endr
- ld a, 70
- ld [de], a
- inc de
- xor a
- ld [de], a
- inc de
- ld [de], a
- inc de
- ld [de], a
- inc de
- ld a, [CurPartyLevel]
- ld [de], a
- inc de
- xor a
- ld [de], a
- inc de
- ld [de], a
- inc de
- ld bc, 10
- add hl, bc
- ld a, $1
- ld c, a
- ld b, $0
- call CalcPkmnStatC
- ld a, [$ffb5]
- ld [de], a
- inc de
- ld a, [$ffb6]
- ld [de], a
- inc de
- jr .next2
-
-.copywildmonstats
- ld a, [EnemyMonDVs]
- ld [de], a
- inc de
- ld a, [EnemyMonDVs + 1]
- ld [de], a
- inc de
-
- push hl
- ld hl, EnemyMonPP
- ld b, NUM_MOVES
-.wildmonpploop
- ld a, [hli]
- ld [de], a
- inc de
- dec b
- jr nz, .wildmonpploop
- pop hl
-
- ld a, BASE_HAPPINESS
- ld [de], a
- inc de
- xor a
- ld [de], a
- inc de
- ld [de], a
- inc de
- ld [de], a
- inc de
- ld a, [CurPartyLevel]
- ld [de], a
- inc de
- ld hl, EnemyMonStatus
- ; Copy EnemyMonStatus
- ld a, [hli]
- ld [de], a
- inc de
- ; Copy EnemyMonUnused
- ld a, [hli]
- ld [de], a
- inc de
- ; Copy EnemyMonHP
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hl]
- ld [de], a
- inc de
-
-.next2
- ld a, [wBattleMode]
- dec a
- jr nz, .generatestats
- ld hl, EnemyMonMaxHP
- ld bc, 2*6 ; MaxHP + 5 Stats
- call CopyBytes
- pop hl
- jr .next3
-
-.generatestats
- pop hl
- ld bc, 2*5 ; 5 Stats
- add hl, bc
- ld b, $0 ; if b = 1, then the Stats of the Pkmn are calculated
- ; only the current HP aren't set to MaxHP after this
- call CalcPkmnStats
-
-.next3
- ld a, [MonType]
- and $f
- jr nz, .done
- ld a, [CurPartySpecies]
- cp UNOWN
- jr nz, .done
- ld hl, PartyMon1DVs
- ld a, [PartyCount]
- dec a
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- predef GetUnownLetter
- callab UpdateUnownDex
-
-.done
- scf ; When this function returns, the carry flag indicates success vs failure.
- ret
-; da6d
-
-
-FillPP: ; da6d
- push bc
- ld b, NUM_MOVES
-.loop
- ld a, [hli]
- and a
- jr z, .next
- dec a
- push hl
- push de
- push bc
- ld hl, Moves
- ld bc, MOVE_LENGTH
- call AddNTimes
- ld de, StringBuffer1
- ld a, BANK(Moves)
- call FarCopyBytes
- pop bc
- pop de
- pop hl
- ld a, [StringBuffer1 + MOVE_PP]
-
-.next
- ld [de], a
- inc de
- dec b
- jr nz, .loop
- pop bc
- ret
-; da96
-
-AddTempmonToParty: ; da96
- ld hl, PartyCount
- ld a, [hl]
- cp PARTY_LENGTH
- scf
- ret z
-
- inc a
- ld [hl], a
- ld c, a
- ld b, 0
- add hl, bc
- ld a, [CurPartySpecies]
- ld [hli], a
- ld [hl], $ff
-
- ld hl, PartyMon1Species
- ld a, [PartyCount]
- dec a
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld e, l
- ld d, h
- ld hl, TempMonSpecies
- call CopyBytes
-
- ld hl, PartyMonOT
- ld a, [PartyCount]
- dec a
- call SkipNames
- ld d, h
- ld e, l
- ld hl, OTPartyMonOT
- ld a, [CurPartyMon]
- call SkipNames
- ld bc, NAME_LENGTH
- call CopyBytes
-
- ld hl, PartyMonNicknames
- ld a, [PartyCount]
- dec a
- call SkipNames
- ld d, h
- ld e, l
- ld hl, OTPartyMonNicknames
- ld a, [CurPartyMon]
- call SkipNames
- ld bc, PKMN_NAME_LENGTH
- call CopyBytes
-
- ld a, [CurPartySpecies]
- ld [wNamedObjectIndexBuffer], a
- cp EGG
- jr z, .egg
- dec a
- call SetSeenAndCaughtMon
- ld hl, PartyMon1Happiness
- ld a, [PartyCount]
- dec a
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld [hl], BASE_HAPPINESS
-.egg
-
- ld a, [CurPartySpecies]
- cp UNOWN
- jr nz, .done
- ld hl, PartyMon1DVs
- ld a, [PartyCount]
- dec a
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- predef GetUnownLetter
- callab UpdateUnownDex
- ld a, [wdef4]
- and a
- jr nz, .done
- ld a, [UnownLetter]
- ld [wdef4], a
-.done
-
- and a
- ret
-
-
-SentGetPkmnIntoFromBox: ; db3f
-; Sents/Gets Pkmn into/from Box depending on Parameter
-; wPokemonWithdrawDepositParameter == 0: get Pkmn into Party
-; wPokemonWithdrawDepositParameter == 1: sent Pkmn into Box
-; wPokemonWithdrawDepositParameter == 2: get Pkmn from DayCare
-; wPokemonWithdrawDepositParameter == 3: put Pkmn into DayCare
-
- ld a, BANK(sBoxCount)
- call GetSRAMBank
- ld a, [wPokemonWithdrawDepositParameter]
- and a
- jr z, .check_IfPartyIsFull
- cp DAYCARE_WITHDRAW
- jr z, .check_IfPartyIsFull
- cp DAYCARE_DEPOSIT
- ld hl, wBreedMon1Species
- jr z, .breedmon
-
- ; we want to sent a Pkmn into the Box
- ; so check if there's enough space
- ld hl, sBoxCount
- ld a, [hl]
- cp MONS_PER_BOX
- jr nz, .there_is_room
- jp CloseSRAM_And_SetCarryFlag
-
-.check_IfPartyIsFull
- ld hl, PartyCount
- ld a, [hl]
- cp PARTY_LENGTH
- jp z, CloseSRAM_And_SetCarryFlag
-
-.there_is_room
- inc a
- ld [hl], a
- ld c, a
- ld b, 0
- add hl, bc
- ld a, [wPokemonWithdrawDepositParameter]
- cp DAYCARE_WITHDRAW
- ld a, [wBreedMon1Species]
- jr z, .okay1
- ld a, [CurPartySpecies]
-
-.okay1
- ld [hli], a
- ld [hl], $ff
- ld a, [wPokemonWithdrawDepositParameter]
- dec a
- ld hl, PartyMon1Species
- ld bc, PARTYMON_STRUCT_LENGTH
- ld a, [PartyCount]
- jr nz, .okay2
- ld hl, sBoxMon1Species
- ld bc, BOXMON_STRUCT_LENGTH
- ld a, [sBoxCount]
-
-.okay2
- dec a ; PartyCount - 1
- call AddNTimes
-
-.breedmon
- push hl
- ld e, l
- ld d, h
- ld a, [wPokemonWithdrawDepositParameter]
- and a
- ld hl, sBoxMon1Species
- ld bc, BOXMON_STRUCT_LENGTH
- jr z, .okay3
- cp DAYCARE_WITHDRAW
- ld hl, wBreedMon1Species
- jr z, .okay4
- ld hl, PartyMon1Species
- ld bc, PARTYMON_STRUCT_LENGTH
-
-.okay3
- ld a, [CurPartyMon]
- call AddNTimes
-
-.okay4
- ld bc, BOXMON_STRUCT_LENGTH
- call CopyBytes
- ld a, [wPokemonWithdrawDepositParameter]
- cp DAYCARE_DEPOSIT
- ld de, wBreedMon1OT
- jr z, .okay5
- dec a
- ld hl, PartyMonOT
- ld a, [PartyCount]
- jr nz, .okay6
- ld hl, sBoxMonOT
- ld a, [sBoxCount]
-
-.okay6
- dec a
- call SkipNames
- ld d, h
- ld e, l
-
-.okay5
- ld hl, sBoxMonOT
- ld a, [wPokemonWithdrawDepositParameter]
- and a
- jr z, .okay7
- ld hl, wBreedMon1OT
- cp DAYCARE_WITHDRAW
- jr z, .okay8
- ld hl, PartyMonOT
-
-.okay7
- ld a, [CurPartyMon]
- call SkipNames
-
-.okay8
- ld bc, NAME_LENGTH
- call CopyBytes
- ld a, [wPokemonWithdrawDepositParameter]
- cp DAYCARE_DEPOSIT
- ld de, wBreedMon1Nick
- jr z, .okay9
- dec a
- ld hl, PartyMonNicknames
- ld a, [PartyCount]
- jr nz, .okay10
- ld hl, sBoxMonNicknames
- ld a, [sBoxCount]
-
-.okay10
- dec a
- call SkipNames
- ld d, h
- ld e, l
-
-.okay9
- ld hl, sBoxMonNicknames
- ld a, [wPokemonWithdrawDepositParameter]
- and a
- jr z, .okay11
- ld hl, wBreedMon1Nick
- cp DAYCARE_WITHDRAW
- jr z, .okay12
- ld hl, PartyMonNicknames
-
-.okay11
- ld a, [CurPartyMon]
- call SkipNames
-
-.okay12
- ld bc, PKMN_NAME_LENGTH
- call CopyBytes
- pop hl
-
- ld a, [wPokemonWithdrawDepositParameter]
- cp PC_DEPOSIT
- jr z, .took_out_of_box
- cp DAYCARE_DEPOSIT
- jp z, .CloseSRAM_And_ClearCarryFlag
-
- push hl
- srl a
- add $2
- ld [MonType], a
- predef CopyPkmnToTempMon
- callab CalcLevel
- ld a, d
- ld [CurPartyLevel], a
- pop hl
-
- ld b, h
- ld c, l
- ld hl, MON_LEVEL
- add hl, bc
- ld [hl], a
- ld hl, MON_MAXHP
- add hl, bc
- ld d, h
- ld e, l
- ld hl, MON_EXP + 2
- add hl, bc
-
- push bc
- ld b, $1
- call CalcPkmnStats
- pop bc
-
- ld a, [wPokemonWithdrawDepositParameter]
- and a
- jr nz, .CloseSRAM_And_ClearCarryFlag
- ld hl, MON_STATUS
- add hl, bc
- xor a
- ld [hl], a
- ld hl, MON_HP
- add hl, bc
- ld d, h
- ld e, l
- ld a, [CurPartySpecies]
- cp EGG
- jr z, .egg
-rept 2
- inc hl
-endr
- ld a, [hli]
- ld [de], a
- ld a, [hl]
- inc de
- ld [de], a
- jr .CloseSRAM_And_ClearCarryFlag
-
-.egg
- xor a
- ld [de], a
- inc de
- ld [de], a
- jr .CloseSRAM_And_ClearCarryFlag
-
-.took_out_of_box
- ld a, [sBoxCount]
- dec a
- ld b, a
- call Functiondcb6
-
-.CloseSRAM_And_ClearCarryFlag
- call CloseSRAM
- and a
- ret
-; dcb1
-
-CloseSRAM_And_SetCarryFlag: ; dcb1
- call CloseSRAM
- scf
- ret
-; dcb6
-
-
-Functiondcb6: ; dcb6
- ld a, b
- ld hl, sBoxMons
- ld bc, BOXMON_STRUCT_LENGTH
- call AddNTimes
- ld b, h
- ld c, l
- ld hl, MON_PP
- add hl, bc
- push hl
- push bc
- ld de, TempMonPP
- ld bc, NUM_MOVES
- call CopyBytes
- pop bc
- ld hl, MON_MOVES
- add hl, bc
- push hl
- ld de, TempMonMoves
- ld bc, NUM_MOVES
- call CopyBytes
- pop hl
- pop de
-
- ld a, [MenuSelection2]
- push af
- ld a, [MonType]
- push af
- ld b, 0
-.asm_dcec
- ld a, [hli]
- and a
- jr z, .asm_dd18
- ld [TempMonMoves+0], a
- ld a, BOXMON
- ld [MonType], a
- ld a, b
- ld [MenuSelection2], a
- push bc
- push hl
- push de
- callba GetMaxPPOfMove
- pop de
- pop hl
- ld a, [wd265]
- ld b, a
- ld a, [de]
- and %11000000
- add b
- ld [de], a
- pop bc
- inc de
- inc b
- ld a, b
- cp NUM_MOVES
- jr c, .asm_dcec
-
-.asm_dd18
- pop af
- ld [MonType], a
- pop af
- ld [MenuSelection2], a
- ret
-; dd21
-
-
-Functiondd21: ; dd21
- ld a, [wBreedMon1Species]
- ld [CurPartySpecies], a
- ld de, SFX_TRANSACTION
- call PlaySFX
- call WaitSFX
- call Functione698
- ld a, b
- ld [wd002], a
- ld a, e
- ld [CurPartyLevel], a
- xor a
- ld [wPokemonWithdrawDepositParameter], a
- jp Functiondd64
-; dd42
-
-Functiondd42: ; dd42
- ld a, [wBreedMon2Species]
- ld [CurPartySpecies], a
- ld de, SFX_TRANSACTION
- call PlaySFX
- call WaitSFX
- call Functione6b3
- ld a, b
- ld [wd002], a
- ld a, e
- ld [CurPartyLevel], a
- ld a, PC_DEPOSIT
- ld [wPokemonWithdrawDepositParameter], a
- jp Functiondd64
-; dd64
-
-Functiondd64: ; dd64
- ld hl, PartyCount
- ld a, [hl]
- cp PARTY_LENGTH
- jr nz, .room_in_party
- scf
- ret
-
-.room_in_party
- inc a
- ld [hl], a
- ld c, a
- ld b, 0
- add hl, bc
- ld a, [wPokemonWithdrawDepositParameter]
- and a
- ld a, [wBreedMon1Species]
- ld de, wBreedMon1Nick
- jr z, .okay
- ld a, [wBreedMon2Species]
- ld de, wBreedMon2Nick
-
-.okay
- ld [hli], a
- ld [CurSpecies], a
- ld a, $ff
- ld [hl], a
- ld hl, PartyMonNicknames
- ld a, [PartyCount]
- dec a
- call SkipNames
- push hl
- ld h, d
- ld l, e
- pop de
- call CopyBytes
- push hl
- ld hl, PartyMonOT
- ld a, [PartyCount]
- dec a
- call SkipNames
- ld d, h
- ld e, l
- pop hl
- call CopyBytes
- push hl
- call Functionde1a
- pop hl
- ld bc, BOXMON_STRUCT_LENGTH
- call CopyBytes
- call GetBaseData
- call Functionde1a
- ld b, d
- ld c, e
- ld hl, MON_LEVEL
- add hl, bc
- ld a, [CurPartyLevel]
- ld [hl], a
- ld hl, MON_MAXHP
- add hl, bc
- ld d, h
- ld e, l
- ld hl, $a
- add hl, bc
- push bc
- ld b, $1
- call CalcPkmnStats
- ld hl, PartyMon1Moves
- ld a, [PartyCount]
- dec a
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld d, h
- ld e, l
- ld a, $1
- ld [Buffer1], a
- predef FillMoves
- ld a, [PartyCount]
- dec a
- ld [CurPartyMon], a
- callba HealPartyMon
- ld a, [CurPartyLevel]
- ld d, a
- callab CalcExpAtLevel
- pop bc
- ld hl, $8
- add hl, bc
- ld a, [hMultiplicand]
- ld [hli], a
- ld a, [hMultiplicand + 1]
- ld [hli], a
- ld a, [hMultiplicand + 2]
- ld [hl], a
- and a
- ret
-; de1a
-
-Functionde1a: ; de1a
- ld a, [PartyCount]
- dec a
- ld hl, PartyMon1Species
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld d, h
- ld e, l
- ret
-; de2a
-
-Functionde2a: ; de2a
- ld de, wBreedMon1Nick
- call Functionde44
- xor a
- ld [wPokemonWithdrawDepositParameter], a
- jp Functione039
-; de37
-
-Functionde37: ; de37
- ld de, wBreedMon2Nick
- call Functionde44
- xor a
- ld [wPokemonWithdrawDepositParameter], a
- jp Functione039
-; de44
-
-Functionde44: ; de44
- ld a, [CurPartyMon]
- ld hl, PartyMonNicknames
- call SkipNames
- call CopyBytes
- ld a, [CurPartyMon]
- ld hl, PartyMonOT
- call SkipNames
- call CopyBytes
- ld a, [CurPartyMon]
- ld hl, PartyMon1Species
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld bc, BOXMON_STRUCT_LENGTH
- jp CopyBytes
-
-
-SentPkmnIntoBox: ; de6e
-; Sents the Pkmn into one of Bills Boxes
-; the data comes mainly from 'EnemyMon:'
- ld a, BANK(sBoxCount)
- call GetSRAMBank
- ld de, sBoxCount
- ld a, [de]
- cp MONS_PER_BOX
- jp nc, Functiondf42
- inc a
- ld [de], a
-
- ld a, [CurPartySpecies]
- ld [CurSpecies], a
- ld c, a
-.asm_de85
- inc de
- ld a, [de]
- ld b, a
- ld a, c
- ld c, b
- ld [de], a
- inc a
- jr nz, .asm_de85
-
- call GetBaseData
- call ShiftBoxMon
-
- ld hl, PlayerName
- ld de, sBoxMonOT
- ld bc, NAME_LENGTH
- call CopyBytes
-
- ld a, [CurPartySpecies]
- ld [wd265], a
- call GetPokemonName
-
- ld de, sBoxMonNicknames
- ld hl, StringBuffer1
- ld bc, PKMN_NAME_LENGTH
- call CopyBytes
-
- ld hl, EnemyMon
- ld de, sBoxMon1
- ld bc, 1 + 1 + NUM_MOVES ; species + item + moves
- call CopyBytes
-
- ld hl, PlayerID
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hl]
- ld [de], a
- inc de
- push de
- ld a, [CurPartyLevel]
- ld d, a
- callab CalcExpAtLevel
- pop de
- ld a, [hMultiplicand]
- ld [de], a
- inc de
- ld a, [$ffb5]
- ld [de], a
- inc de
- ld a, [$ffb6]
- ld [de], a
- inc de
-
- ; Set all 5 Experience Values to 0
- xor a
- ld b, 2*5
-.asm_dee5
- ld [de], a
- inc de
- dec b
- jr nz, .asm_dee5
-
- ld hl, EnemyMonDVs
- ld b, 2 + NUM_MOVES ; DVs and PP ; EnemyMonHappiness - EnemyMonDVs
-.asm_deef
- ld a, [hli]
- ld [de], a
- inc de
- dec b
- jr nz, .asm_deef
-
- ld a, BASE_HAPPINESS
- ld [de], a
- inc de
- xor a
- ld [de], a
- inc de
- ld [de], a
- inc de
- ld [de], a
- inc de
- ld a, [CurPartyLevel]
- ld [de], a
- ld a, [CurPartySpecies]
- dec a
- call SetSeenAndCaughtMon
- ld a, [CurPartySpecies]
- cp UNOWN
- jr nz, .asm_df20
- ld hl, sBoxMon1DVs
- predef GetUnownLetter
- callab UpdateUnownDex
-
-.asm_df20
- ld hl, sBoxMon1Moves
- ld de, TempMonMoves
- ld bc, NUM_MOVES
- call CopyBytes
-
- ld hl, sBoxMon1PP
- ld de, TempMonPP
- ld bc, NUM_MOVES
- call CopyBytes
-
- ld b, 0
- call Functiondcb6
-
- call CloseSRAM
- scf
- ret
-; df42
-
-
-Functiondf42: ; df42
- call CloseSRAM
- and a
- ret
-; df47
-
-ShiftBoxMon: ; df47
- ld hl, sBoxMonOT
- ld bc, NAME_LENGTH
- call .asm_df5f
-
- ld hl, sBoxMonNicknames
- ld bc, PKMN_NAME_LENGTH
- call .asm_df5f
-
- ld hl, sBoxMons
- ld bc, BOXMON_STRUCT_LENGTH
-
-.asm_df5f
- ld a, [sBoxCount]
- cp 2
- ret c
-
- push hl
- call AddNTimes
- dec hl
- ld e, l
- ld d, h
- pop hl
-
- ld a, [sBoxCount]
- dec a
- call AddNTimes
- dec hl
-
- push hl
- ld a, [sBoxCount]
- dec a
- ld hl, 0
- call AddNTimes
- ld c, l
- ld b, h
- pop hl
-.loop
- ld a, [hld]
- ld [de], a
- dec de
- dec bc
- ld a, c
- or b
- jr nz, .loop
- ret
-; df8c
-
-GiveEgg:: ; df8c
- ld a, [CurPartySpecies]
- push af
- callab GetPreEvolution
- callab GetPreEvolution
- ld a, [CurPartySpecies]
- dec a
-
-; TryAddMonToParty sets Seen and Caught flags
-; when it is successful. This routine will make
-; sure that we aren't newly setting flags.
- push af
- call CheckCaughtMon
- pop af
- push bc
- call CheckSeenMon
- push bc
-
- call TryAddMonToParty
-
-; If we haven't caught this Pokemon before receiving
-; the Egg, reset the flag that was just set by
-; TryAddMonToParty.
- pop bc
- ld a, c
- and a
- jr nz, .skip_caught_flag
- ld a, [CurPartySpecies]
- dec a
- ld c, a
- ld d, $0
- ld hl, PokedexCaught
- ld b, RESET_FLAG
- predef FlagPredef
-
-.skip_caught_flag
-; If we haven't seen this Pokemon before receiving
-; the Egg, reset the flag that was just set by
-; TryAddMonToParty.
- pop bc
- ld a, c
- and a
- jr nz, .skip_seen_flag
- ld a, [CurPartySpecies]
- dec a
- ld c, a
- ld d, $0
- ld hl, PokedexSeen
- ld b, RESET_FLAG
- predef FlagPredef
-
-.skip_seen_flag
- pop af
- ld [CurPartySpecies], a
- ld a, [PartyCount]
- dec a
- ld bc, PARTYMON_STRUCT_LENGTH
- ld hl, PartyMon1Species
- call AddNTimes
- ld a, [CurPartySpecies]
- ld [hl], a
- ld hl, PartyCount
- ld a, [hl]
- ld b, 0
- ld c, a
- add hl, bc
- ld a, EGG
- ld [hl], a
- ld a, [PartyCount]
- dec a
- ld hl, PartyMonNicknames
- call SkipNames
- ld de, String_Egg
- call CopyName2
- ld a, [PartyCount]
- dec a
- ld hl, PartyMon1Happiness
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld a, [wc2cc]
- bit 1, a
- ld a, $1
- jr nz, .asm_e022
- ld a, [BaseEggSteps]
-
-.asm_e022
- ld [hl], a
- ld a, [PartyCount]
- dec a
- ld hl, PartyMon1HP
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- xor a
- ld [hli], a
- ld [hl], a
- and a
- ret
-; e035
-
-String_Egg: ; e035
- db "EGG@"
-; e039
-
-Functione039: ; e039
- ld hl, PartyCount
-
- ld a, [wPokemonWithdrawDepositParameter]
- and a
- jr z, .okay
-
- ld a, BANK(sBoxCount)
- call GetSRAMBank
- ld hl, sBoxCount
-
-.okay
- ld a, [hl]
- dec a
- ld [hli], a
- ld a, [CurPartyMon]
- ld c, a
- ld b, 0
- add hl, bc
- ld e, l
- ld d, h
- inc de
-.asm_e057
- ld a, [de]
- inc de
- ld [hli], a
- inc a
- jr nz, .asm_e057
- ld hl, PartyMonOT
- ld d, PARTY_LENGTH - 1
- ld a, [wPokemonWithdrawDepositParameter]
- and a
- jr z, .asm_e06d
- ld hl, sBoxMonOT
- ld d, MONS_PER_BOX - 1
-
-.asm_e06d
- ld a, [CurPartyMon]
- call SkipNames
- ld a, [CurPartyMon]
- cp d
- jr nz, .asm_e07e
- ld [hl], $ff
- jp .asm_60f0
-
-.asm_e07e
- ld d, h
- ld e, l
- ld bc, PKMN_NAME_LENGTH
- add hl, bc
- ld bc, PartyMonNicknames
- ld a, [wPokemonWithdrawDepositParameter]
- and a
- jr z, .asm_e090
- ld bc, sBoxMonNicknames
-.asm_e090
- call CopyDataUntil
-
- ld hl, PartyMons
- ld bc, PARTYMON_STRUCT_LENGTH
- ld a, [wPokemonWithdrawDepositParameter]
- and a
- jr z, .asm_e0a5
- ld hl, sBoxMons
- ld bc, BOXMON_STRUCT_LENGTH
-
-.asm_e0a5
- ld a, [CurPartyMon]
- call AddNTimes
- ld d, h
- ld e, l
- ld a, [wPokemonWithdrawDepositParameter]
- and a
- jr z, .asm_e0bc
- ld bc, BOXMON_STRUCT_LENGTH
- add hl, bc
- ld bc, sBoxMonOT
- jr .asm_e0c3
-
-.asm_e0bc
- ld bc, PARTYMON_STRUCT_LENGTH
- add hl, bc
- ld bc, PartyMonOT
-
-.asm_e0c3
- call CopyDataUntil
- ld hl, PartyMonNicknames
- ld a, [wPokemonWithdrawDepositParameter]
- and a
- jr z, .asm_e0d2
- ld hl, sBoxMonNicknames
-
-.asm_e0d2
- ld bc, PKMN_NAME_LENGTH
- ld a, [CurPartyMon]
- call AddNTimes
- ld d, h
- ld e, l
- ld bc, PKMN_NAME_LENGTH
- add hl, bc
- ld bc, PartyMonNicknamesEnd
- ld a, [wPokemonWithdrawDepositParameter]
- and a
- jr z, .asm_e0ed
- ld bc, sBoxMonNicknamesEnd
-
-.asm_e0ed
- call CopyDataUntil
-
-.asm_60f0
- ld a, [wPokemonWithdrawDepositParameter]
- and a
- jp nz, CloseSRAM
- ld a, [wLinkMode]
- and a
- ret nz
- ld a, BANK(sPartyMail)
- call GetSRAMBank
- ld hl, PartyCount
- ld a, [CurPartyMon]
- cp [hl]
- jr z, .asm_e131
- ld hl, sPartyMail
- ld bc, MAIL_STRUCT_LENGTH
- call AddNTimes
- push hl
- add hl, bc
- pop de
- ld a, [CurPartyMon]
- ld b, a
-.asm_e11a
- push bc
- push hl
- ld bc, MAIL_STRUCT_LENGTH
- call CopyBytes
- pop hl
- push hl
- ld bc, MAIL_STRUCT_LENGTH
- add hl, bc
- pop de
- pop bc
- inc b
- ld a, [PartyCount]
- cp b
- jr nz, .asm_e11a
-
-.asm_e131
- jp CloseSRAM
-; e134
-
-Functione134: ; e134
- ld a, MON_LEVEL
- call GetPartyParamLocation
- ld a, [hl]
- ld [MON_LEVEL], a ; wow
- ld a, MON_SPECIES
- call GetPartyParamLocation
- ld a, [hl]
- ld [CurSpecies], a
- call GetBaseData
- ld a, MON_MAXHP
- call GetPartyParamLocation
- ld d, h
- ld e, l
- push de
- ld a, MON_EXP + 2
- call GetPartyParamLocation
- ld b, $1
- call CalcPkmnStats
- pop de
- ld a, MON_HP
- call GetPartyParamLocation
- ld a, [de]
- inc de
- ld [hli], a
- ld a, [de]
- ld [hl], a
- ret
-; e167
-
-CalcPkmnStats: ; e167
-; Calculates all 6 Stats of a Pkmn
-; b = 0 or 1
-; 'c' counts from 1-6 and points with 'BaseStats' to the base value
-; results in $ffb5 and $ffb6 are saved in [de]
-
- ld c, $0
-.loop
- inc c
- call CalcPkmnStatC
- ld a, [hMultiplicand + 1]
- ld [de], a
- inc de
- ld a, [hMultiplicand + 2]
- ld [de], a
- inc de
- ld a, c
- cp STAT_SDEF
- jr nz, .loop
- ret
-; e17b
-
-CalcPkmnStatC: ; e17b
-; 'c' is 1-6 and points to the BaseStat
-; 1: HP
-; 2: Attack
-; 3: Defense
-; 4: Speed
-; 5: SpAtk
-; 6: SpDef
- push hl
- push de
- push bc
- ld a, b
- ld d, a
- push hl
- ld hl, BaseStats
- dec hl ; has to be decreased, because 'c' begins with 1
- ld b, $0
- add hl, bc
- ld a, [hl]
- ld e, a
- pop hl
- push hl
- ld a, c
- cp STAT_SDEF
- jr nz, .not_spdef
-rept 2
- dec hl
-endr
-
-.not_spdef
- sla c
- ld a, d
- and a
- jr z, .SkipSqrt
- add hl, bc
- push de
- ld a, [hld]
- ld e, a
- ld d, [hl]
- callba GetSquareRoot
- pop de
-
-.SkipSqrt
- srl c
- pop hl
- push bc
- ld bc, MON_DVS - MON_HP_EXP + 1
- add hl, bc
- pop bc
- ld a, c
- cp STAT_ATK
- jr z, .Attack
- cp STAT_DEF
- jr z, .Defense
- cp STAT_SPD
- jr z, .Speed
- cp STAT_SATK
- jr z, .Special
- cp STAT_SDEF
- jr z, .Special
-; DV_HP = (DV_ATK & 1) << 3 + (DV_DEF & 1) << 2 + (DV_SPD & 1) << 1 + (DV_SPC & 1)
- push bc
- ld a, [hl]
- swap a
- and $1
-rept 3
- add a
-endr
- ld b, a
- ld a, [hli]
- and $1
-rept 2
- add a
-endr
- add b
- ld b, a
- ld a, [hl]
- swap a
- and $1
- add a
- add b
- ld b, a
- ld a, [hl]
- and $1
- add b
- pop bc
- jr .GotDV
-
-.Attack
- ld a, [hl]
- swap a
- and $f
- jr .GotDV
-
-.Defense
- ld a, [hl]
- and $f
- jr .GotDV
-
-.Speed
- inc hl
- ld a, [hl]
- swap a
- and $f
- jr .GotDV
-
-.Special
- inc hl
- ld a, [hl]
- and $f
-
-.GotDV
- ld d, 0
- add e
- ld e, a
- jr nc, .no_overflow_1
- inc d
-
-.no_overflow_1
- sla e
- rl d
- srl b
- srl b
- ld a, b
- add e
- jr nc, .no_overflow_2
- inc d
-
-.no_overflow_2
- ld [hMultiplicand + 2], a
- ld a, d
- ld [hMultiplicand + 1], a
- xor a
- ld [hMultiplicand + 0], a
- ld a, [CurPartyLevel]
- ld [hMultiplier], a
- call Multiply
- ld a, [hProduct + 1]
- ld [hDividend + 0], a
- ld a, [hProduct + 2]
- ld [hDividend + 1], a
- ld a, [hProduct + 3]
- ld [hDividend + 2], a
- ld a, 100
- ld [hDivisor], a
- ld a, 3
- ld b, a
- call Divide
- ld a, c
- cp STAT_HP
- ld a, 5
- jr nz, .not_hp
- ld a, [CurPartyLevel]
- ld b, a
- ld a, [hQuotient + 2]
- add b
- ld [hMultiplicand + 2], a
- jr nc, .no_overflow_3
- ld a, [hQuotient + 1]
- inc a
- ld [hMultiplicand + 1], a
-
-.no_overflow_3
- ld a, 10
-
-.not_hp
- ld b, a
- ld a, [hQuotient + 2]
- add b
- ld [hMultiplicand + 2], a
- jr nc, .no_overflow_4
- ld a, [hQuotient + 1]
- inc a
- ld [hMultiplicand + 1], a
-
-.no_overflow_4
- ld a, [hQuotient + 1]
- cp (1000 / $100) + 1
- jr nc, .max_stat
- cp 1000 / $100
- jr c, .stat_value_okay
- ld a, [hQuotient + 2]
- cp 1000 % $100
- jr c, .stat_value_okay
-
-.max_stat
- ld a, 999 / $100
- ld [hMultiplicand + 1], a
- ld a, 999 % $100
- ld [hMultiplicand + 2], a
-
-.stat_value_okay
- pop bc
- pop de
- pop hl
- ret
-; e277
-
-GivePoke:: ; e277
- push de
- push bc
- xor a ; PARTYMON
- ld [MonType], a
- call TryAddMonToParty
- jr nc, .failed
- ld hl, PartyMonNicknames
- ld a, [PartyCount]
- dec a
- ld [CurPartyMon], a
- call SkipNames
- ld d, h
- ld e, l
- pop bc
- ld a, b
- ld b, $0
- push bc
- push de
- push af
- ld a, [CurItem]
- and a
- jr z, .done
- ld a, [CurPartyMon]
- ld hl, PartyMon1Item
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld a, [CurItem]
- ld [hl], a
- jr .done
-
-.failed
- ld a, [CurPartySpecies]
- ld [TempEnemyMonSpecies], a
- callab LoadEnemyMon
- call SentPkmnIntoBox
- jp nc, Functione3d4
- ld a, $2
- ld [MonType], a
- xor a
- ld [CurPartyMon], a
- ld de, wd050
- pop bc
- ld a, b
- ld b, $1
- push bc
- push de
- push af
- ld a, [CurItem]
- and a
- jr z, .done
- ld a, [CurItem]
- ld [sBoxMon1Item], a
-
-.done
- ld a, [CurPartySpecies]
- ld [wd265], a
- ld [TempEnemyMonSpecies], a
- call GetPokemonName
- ld hl, StringBuffer1
- ld de, wd050
- ld bc, PKMN_NAME_LENGTH
- call CopyBytes
- pop af
- and a
- jp z, .asm_e390
- pop de
- pop bc
- pop hl
- push bc
- push hl
- ld a, [ScriptBank]
- call GetFarHalfword
- ld bc, PKMN_NAME_LENGTH
- ld a, [ScriptBank]
- call FarCopyBytes
- pop hl
-rept 2
- inc hl
-endr
- ld a, [ScriptBank]
- call GetFarHalfword
- pop bc
- ld a, b
- and a
- push de
- push bc
- jr nz, .asm_e35e
-
- push hl
- ld a, [CurPartyMon]
- ld hl, PartyMonOT
- call SkipNames
- ld d, h
- ld e, l
- pop hl
-.otnameloop
- ld a, [ScriptBank]
- call GetFarByte
- ld [de], a
- inc hl
- inc de
- cp "@"
- jr nz, .otnameloop
- ld a, [ScriptBank]
- call GetFarByte
- ld b, a
- push bc
- ld a, [CurPartyMon]
- ld hl, PartyMon1ID
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld a, 01001 / $100
- ld [hli], a
- ld [hl], 01001 % $100
- pop bc
- callba SetGiftPartyMonCaughtData
- jr .skip_nickname
-
-.asm_e35e
- ld a, BANK(sBoxMonOT)
- call GetSRAMBank
- ld de, sBoxMonOT
-.loop
- ld a, [ScriptBank]
- call GetFarByte
- ld [de], a
- inc hl
- inc de
- cp "@"
- jr nz, .loop
- ld a, [ScriptBank]
- call GetFarByte
- ld b, a
- ld hl, sBoxMon1ID
- call Random
- ld [hli], a
- call Random
- ld [hl], a
- call CloseSRAM
- callba SetGiftBoxMonCaughtData
- jr .skip_nickname
-
-.asm_e390
- pop de
- pop bc
- push bc
- push de
- ld a, b
- and a
- jr z, .asm_e3a0
- callba SetBoxMonCaughtData
- jr .asm_e3a6
-
-.asm_e3a0
- callba SetCaughtData
-
-.asm_e3a6
- callba GiveANickname_YesNo
- pop de
- jr c, .skip_nickname
- call InitNickname
-
-.skip_nickname
- pop bc
- pop de
- ld a, b
- and a
- ret z
- ld hl, TextJump_WasSentToBillsPC
- call PrintText
- ld a, BANK(sBoxMonNicknames)
- call GetSRAMBank
- ld hl, wd050
- ld de, sBoxMonNicknames
- ld bc, PKMN_NAME_LENGTH
- call CopyBytes
- call CloseSRAM
- ld b, $1
- ret
-; e3d4
-
-Functione3d4: ; e3d4
- pop bc
- pop de
- ld b, $2
- ret
-; e3d9
-
-
-TextJump_WasSentToBillsPC: ; 0xe3d9
- ; was sent to BILL's PC.
- text_jump Text_WasSentToBillsPC
- db "@"
-; 0xe3de
-
-InitNickname: ; e3de
- push de
- call LoadStandardMenuDataHeader
- call DisableSpriteUpdates
- pop de
- push de
- ld b, $0
- callba NamingScreen
- pop hl
- ld de, StringBuffer1
- call InitName
- ld a, $4 ; XXX could this be in bank 4 in pokered?
- ld hl, ExitAllMenus
- rst FarCall
- ret
-; e3fd
-
_BillsPC: ; e3fd
call .CheckCanUsePC
ret c
@@ -8444,7 +4870,7 @@
; 0xe43f
.LogOut: ; e43f (3:643f)
- call ReturnToCallingMenu
+ call CloseSubmenu
ret
.UseBillsPC: ; e443 (3:6443)
@@ -8455,7 +4881,7 @@
ld [wMenuCursorBuffer], a
call SetPalettes
xor a
- ld [wcf76], a
+ ld [wWhichIndexSet], a
ld [hBGMapMode], a
call DoNthMenu
jr c, .cancel
@@ -8468,7 +4894,7 @@
ld a, b
jr nc, .loop
.cancel
- call WriteBackup
+ call CloseWindow
ret
; e46f (3:646f)
@@ -8484,7 +4910,7 @@
db $80 ; flags
db 0 ; items
dw .items
- dw Function1f79
+ dw PlaceMenuStrings
dw .strings
; 0xe47f
@@ -8534,7 +4960,7 @@
call ClearPCItemScreen
.quit
- call WriteBackup
+ call CloseWindow
and a
ret
; e4f9
@@ -8550,7 +4976,7 @@
callba _DepositPKMN
call ReturnToMapFromSubmenu
call ClearPCItemScreen
- call WriteBackup
+ call CloseWindow
and a
ret
; e512 (3:6512)
@@ -8589,7 +5015,6 @@
db "@"
; 0xe538
-
CheckCurPartyMonFainted: ; e538
ld hl, PartyMon1HP
ld de, PARTYMON_STRUCT_LENGTH
@@ -8620,13 +5045,12 @@
ret
; e559
-
BillsPC_WithdrawMenu: ; e559 (3:6559)
call LoadStandardMenuDataHeader
callba _WithdrawPKMN
call ReturnToMapFromSubmenu
call ClearPCItemScreen
- call WriteBackup
+ call CloseWindow
and a
ret
; e56d (3:656d)
@@ -8672,18 +5096,18 @@
hlcoord 0,12
lb bc, 4, 18
call TextBox
- call Function3200
+ call WaitBGMap2
call SetPalettes ; load regular palettes?
ret
; 0xe5bb
-Functione5bb: ; e5bb
+CopyBoxmonToTempMon: ; e5bb
ld a, [CurPartyMon]
ld hl, sBoxMon1Species
- ld bc, $20
+ ld bc, BOXMON_STRUCT_LENGTH
call AddNTimes
ld de, TempMonSpecies
- ld bc, $20
+ ld bc, BOXMON_STRUCT_LENGTH
ld a, BANK(sBoxMon1Species)
call GetSRAMBank
call CopyBytes
@@ -8694,9 +5118,9 @@
Functione5d9: ; unreferenced
ld a, [wCurBox]
cp b
- jr z, .asm_e5f1
+ jr z, .same_box
ld a, b
- ld hl, Unknown_e66e
+ ld hl, .BoxAddrs
ld bc, 3
call AddNTimes
ld a, [hli]
@@ -8705,16 +5129,16 @@
ld h, [hl]
ld l, a
pop af
- jr .asm_e5f6
+ jr .okay
-.asm_e5f1
+.same_box
ld a, BANK(sBoxCount)
ld hl, sBoxCount
-.asm_e5f6
+.okay
call GetSRAMBank
ld a, [hl]
- ld bc, $16
+ ld bc, 1 + MONS_PER_BOX + 1
add hl, bc
ld b, a
ld c, $0
@@ -8721,14 +5145,14 @@
ld de, wc608
ld a, b
and a
- jr z, .asm_e66a
-.asm_e608
+ jr z, .empty_box
+.loop
push hl
push bc
ld a, c
ld bc, 0
add hl, bc
- ld bc, $20
+ ld bc, BOXMON_STRUCT_LENGTH
call AddNTimes
ld a, [hl]
ld [de], a
@@ -8737,21 +5161,23 @@
call GetBaseData
pop bc
pop hl
+
push hl
push bc
ld a, c
- ld bc, $35c
+ ld bc, MONS_PER_BOX * (BOXMON_STRUCT_LENGTH + NAME_LENGTH)
add hl, bc
call SkipNames
call CopyBytes
pop bc
pop hl
+
push hl
push bc
ld a, c
- ld bc, $1f
+ ld bc, MON_LEVEL
add hl, bc
- ld bc, $20
+ ld bc, BOXMON_STRUCT_LENGTH
call AddNTimes
ld a, [hl]
ld [de], a
@@ -8758,12 +5184,13 @@
inc de
pop bc
pop hl
+
push hl
push bc
ld a, c
- ld bc, $15
+ ld bc, MON_DVS
add hl, bc
- ld bc, $20
+ ld bc, BOXMON_STRUCT_LENGTH
call AddNTimes
ld a, [hli]
and $f0
@@ -8776,24 +5203,23 @@
ld a, [BaseGender]
cp b
ld a, $1
- jr c, .asm_e662
+ jr c, .okay2
xor a
-
-.asm_e662
+.okay2
ld [de], a
inc de
pop bc
pop hl
+
inc c
dec b
- jr nz, .asm_e608
-
-.asm_e66a
+ jr nz, .loop
+.empty_box
call CloseSRAM
ret
; e66e
-Unknown_e66e: ; e66e
+.BoxAddrs: ; e66e
dba sBox1
dba sBox2
dba sBox3
@@ -8810,10 +5236,10 @@
dba sBox14
; e698
-Functione698: ; e698
+GetBreedMon1LevelGrowth: ; e698
ld hl, wBreedMon1Stats
ld de, TempMon
- ld bc, $20
+ ld bc, BOXMON_STRUCT_LENGTH
call CopyBytes
callab CalcLevel
ld a, [wBreedMon1Level]
@@ -8825,10 +5251,10 @@
ret
; e6b3
-Functione6b3: ; e6b3
+GetBreedMon2LevelGrowth: ; e6b3
ld hl, wBreedMon2Stats
ld de, TempMon
- ld bc, $20
+ ld bc, BOXMON_STRUCT_LENGTH
call CopyBytes
callab CalcLevel
ld a, [wBreedMon2Level]
@@ -8840,7 +5266,6 @@
ret
; e6ce
-
BugContest_SetCaughtContestMon: ; e6ce
ld a, [wContestMon]
and a
@@ -8883,10 +5308,8 @@
db "@"
; 0xe722
-
INCLUDE "items/item_effects.asm"
-
GetPokeBallWobble: ; f971 (3:7971)
; Returns whether a Poke Ball will wobble in the catch animation.
; Whether a Pokemon is caught is determined beforehand.
@@ -8908,12 +5331,12 @@
cp 3 + 1
jr z, .finished
- ld a, [wc64e]
+ ld a, [wWildMon]
and a
ld c, 0 ; next
jr nz, .done
- ld hl, WobbleChances
+ ld hl, .WobbleProbabilities
ld a, [Buffer1]
ld b, a
.loop
@@ -8933,7 +5356,7 @@
jr .done
.finished
- ld a, [wc64e]
+ ld a, [wWildMon]
and a
ld c, 1 ; caught
jr nz, .done
@@ -8949,8 +5372,9 @@
ret
; f9ba (3:79ba)
-WobbleChances: ; f9ba
+.WobbleProbabilities: ; f9ba
; catch rate, chance of wobbling / 255
+; nLeft/255 = (nRight/255) ** 4
db 1, 63
db 2, 75
db 3, 84
@@ -8977,36 +5401,34 @@
db 255, 255
; f9ea
-
KnowsMove: ; f9ea
ld a, MON_MOVES
call GetPartyParamLocation
- ld a, [wd262]
+ ld a, [wPutativeTMHMMove]
ld b, a
ld c, NUM_MOVES
-.asm_f9f5
+.loop
ld a, [hli]
cp b
- jr z, .asm_f9fe
+ jr z, .knows_move
dec c
- jr nz, .asm_f9f5
+ jr nz, .loop
and a
ret
-.asm_f9fe
- ld hl, UnknownText_0xfa06
+.knows_move
+ ld hl, .Text_knows
call PrintText
scf
ret
; fa06
-UnknownText_0xfa06: ; 0xfa06
+.Text_knows: ; 0xfa06
; knows @ .
text_jump UnknownText_0x1c5ea8
db "@"
; 0xfa0b
-
SECTION "bank4", ROMX, BANK[$4]
INCLUDE "engine/pack.asm"
@@ -9044,9 +5466,9 @@
BugCatchingContestBattleScript:: ; 0x135eb
writecode VAR_BATTLETYPE, BATTLETYPE_CONTEST
- battlecheck
+ randomwildmon
startbattle
- returnafterbattle
+ reloadmapafterbattle
copybytetovar wParkBallsRemaining
iffalse BugCatchingContestOutOfBallsScript
end
@@ -9054,30 +5476,30 @@
BugCatchingContestOverScript:: ; 0x135f8
playsound SFX_ELEVATOR_END
- loadfont
- writetext UnknownText_0x1360f
- closetext
+ opentext
+ writetext BugCatchingContestText_BeeepTimesUp
+ waitbutton
jump BugCatchingContestReturnToGateScript
; 0x13603
BugCatchingContestOutOfBallsScript: ; 0x13603
playsound SFX_ELEVATOR_END
- loadfont
- writetext UnknownText_0x13614
- closetext
+ opentext
+ writetext BugCatchingContestText_ContestIsOver
+ waitbutton
BugCatchingContestReturnToGateScript: ; 0x1360b
- loadmovesprites
+ closetext
jumpstd bugcontestresultswarp
; 0x1360f
-UnknownText_0x1360f: ; 0x1360f
+BugCatchingContestText_BeeepTimesUp: ; 0x1360f
; ANNOUNCER: BEEEP! Time's up!
text_jump UnknownText_0x1bd2ca
db "@"
; 0x13614
-UnknownText_0x13614: ; 0x13614
+BugCatchingContestText_ContestIsOver: ; 0x13614
; ANNOUNCER: The Contest is over!
text_jump UnknownText_0x1bd2e7
db "@"
@@ -9084,10 +5506,10 @@
; 0x13619
RepelWoreOffScript:: ; 0x13619
- loadfont
+ opentext
writetext .text
+ waitbutton
closetext
- loadmovesprites
end
; 0x13620
@@ -9097,8 +5519,8 @@
db "@"
; 0x13625
-SignpostItemScript:: ; 0x13625
- loadfont
+HiddenItemScript:: ; 0x13625
+ opentext
copybytetovar EngineBuffer3
itemtotext 0, 0
writetext .found_text
@@ -9111,12 +5533,12 @@
; 0x1363e
.bag_full: ; 0x1363e
- keeptextopen
+ buttonsound
writetext .no_room_text
- closetext
+ waitbutton
.finish: ; 13643
- loadmovesprites
+ closetext
end
; 0x13645
@@ -9141,7 +5563,6 @@
call EventFlagAction
ret
-
CheckFacingTileForStd:: ; 1365b
; Checks to see if the tile you're facing has a std script associated with it. If so, executes the script and returns carry.
ld a, c
@@ -9177,7 +5598,7 @@
dbw $97, tv
dbw $9d, window
dbw $9f, incenseburner
- db $ff ; end
+ db -1 ; end
; 1369a
Script_JumpStdFromRAM: ; 0x1369a
@@ -9252,357 +5673,21 @@
endr
; 13d96
-
SECTION "bank5", ROMX, BANK[$5]
-
-StopRTC: ; Unreferenced???
- ld a, SRAM_ENABLE
- ld [MBC3SRamEnable], a
- call LatchClock
- ld a, RTC_DH
- ld [MBC3SRamBank], a
- ld a, [MBC3RTC]
- set 6, a ; halt
- ld [MBC3RTC], a
- call CloseSRAM
- ret
-; 14019
-
-StartRTC: ; 14019
- ld a, SRAM_ENABLE
- ld [MBC3SRamEnable], a
- call LatchClock
- ld a, RTC_DH
- ld [MBC3SRamBank], a
- ld a, [MBC3RTC]
- res 6, a ; halt
- ld [MBC3RTC], a
- call CloseSRAM
- ret
-; 14032
-
-
-GetTimeOfDay:: ; 14032
-; get time of day based on the current hour
- ld a, [hHours] ; hour
- ld hl, TimesOfDay
-
-.check
-; if we're within the given time period,
-; get the corresponding time of day
- cp [hl]
- jr c, .match
-; else, get the next entry
-rept 2
- inc hl
-endr
-; try again
- jr .check
-
-.match
-; get time of day
- inc hl
- ld a, [hl]
- ld [TimeOfDay], a
- ret
-; 14044
-
-TimesOfDay: ; 14044
-; hours for the time of day
-; 04-09 morn | 10-17 day | 18-03 nite
- db 04, NITE
- db 10, MORN
- db 18, DAY
- db 24, NITE
- db -1, MORN
-; 1404e
-
-Unknown_1404e: ; Unreferenced
- db 20, 2
- db 40, 0
- db 60, 1
- db -1, 0
-; 14056
-
-
-StageRTCTimeForSave: ; 14056
- call UpdateTime
- ld hl, wRTC
- ld a, [CurDay]
- ld [hli], a
- ld a, [hHours]
- ld [hli], a
- ld a, [hMinutes]
- ld [hli], a
- ld a, [hSeconds]
- ld [hli], a
- ret
-; 1406a
-
-SaveRTC: ; 1406a
- ld a, $a
- ld [MBC3SRamEnable], a
- call LatchClock
- ld hl, MBC3RTC
- ld a, $c
- ld [MBC3SRamBank], a
- res 7, [hl]
- ld a, BANK(sRTCStatusFlags)
- ld [MBC3SRamBank], a
- xor a
- ld [sRTCStatusFlags], a
- call CloseSRAM
- ret
-; 14089
-
-
-
-StartClock:: ; 14089
- call GetClock
- call Function1409b
- call FixDays
- jr nc, .skip_set
- ; bit 5: Day count exceeds 139
- ; bit 6: Day count exceeds 255
- call RecordRTCStatus ; set flag on sRTCStatusFlags
-
-.skip_set
- call StartRTC
- ret
-; 1409b
-
-Function1409b: ; 1409b
- ld hl, hRTCDayHi
- bit 7, [hl]
- jr nz, .set_bit_7
- bit 6, [hl]
- jr nz, .set_bit_7
- xor a
- ret
-
-.set_bit_7
- ; Day count exceeds 16383
- ld a, %10000000
- call RecordRTCStatus ; set bit 7 on sRTCStatusFlags
- ret
-; 140ae
-
-Function140ae: ; 140ae
- call CheckRTCStatus
- ld c, a
- and %11000000 ; Day count exceeded 255 or 16383
- jr nz, .time_overflow
-
- ld a, c
- and %00100000 ; Day count exceeded 139
- jr z, .dont_update
-
- call UpdateTime
- ld a, [wRTC + 0]
- ld b, a
- ld a, [CurDay]
- cp b
- jr c, .dont_update
-
-.time_overflow
- callba ClearDailyTimers
- callba Function170923
-; mobile
- ld a, $5
- call GetSRAMBank
- ld a, [$aa8c]
- inc a
- ld [$aa8c], a
- ld a, [$b2fa]
- inc a
- ld [$b2fa], a
- call CloseSRAM
- ret
-
-.dont_update
- xor a
- ret
-; 140ed
-
-
-
-Function140ed:: ; 140ed
- call GetClock
- call FixDays
- ld hl, hRTCSeconds
- ld de, StartSecond
-
- ld a, [StringBuffer2 + 3]
- sub [hl]
- dec hl
- jr nc, .okay_secs
- add 60
-.okay_secs
- ld [de], a
- dec de
-
- ld a, [StringBuffer2 + 2]
- sbc [hl]
- dec hl
- jr nc, .okay_mins
- add 60
-.okay_mins
- ld [de], a
- dec de
-
- ld a, [StringBuffer2 + 1]
- sbc [hl]
- dec hl
- jr nc, .okay_hrs
- add 24
-.okay_hrs
- ld [de], a
- dec de
-
- ld a, [StringBuffer2]
- sbc [hl]
- dec hl
- jr nc, .okay_days
- add 140
- ld c, 7
- call SimpleDivide
-
-.okay_days
- ld [de], a
- ret
-; 1412a
-
+INCLUDE "engine/rtc.asm"
INCLUDE "engine/overworld.asm"
-
-Function1499a:: ; 1499a
- ld a, [PlayerNextTile]
- cp $60
- jr z, .warp
- cp $68
- jr z, .warp
- and $f0
- cp $70
- jr z, .warp
- and a
- ret
-
-.warp
- scf
- ret
-; 149af
-
-Function149af:: ; 149af
- ld a, [PlayerNextTile]
- cp $70
- jr z, .not_warp
- cp $76
- jr z, .not_warp
- cp $78
- jr z, .not_warp
- cp $7e
- jr z, .not_warp
- scf
- ret
-
-.not_warp
- xor a
- ret
-; 149c6
-
-CheckWarpCollision: ; 149c6
- ld de, 1
- ld hl, .blocks
- ld a, [PlayerNextTile]
- call IsInArray
- ret
-; 149d3
-
-.blocks: ; 149d3
- db $71 ; door
- db $79
- db $7a ; stairs
- db $73
- db $7b ; cave entrance
- db $74
- db $7c ; warp pad
- db $75
- db $7d
- db -1
-; 149dd
-
-CheckGrassCollision:: ; 149dd
- ld a, [PlayerNextTile]
- ld hl, .blocks
- ld de, 1
- call IsInArray
- ret
-; 149ea
-
-.blocks: ; 149ea
- db $08
- db $18 ; tall grass
- db $14 ; tall grass
- db $28
- db $29
- db $48
- db $49
- db $4a
- db $4b
- db $4c
- db -1
-; 149f5
-
-CheckCutCollision: ; 149f5
- ld a, c
- ld hl, .blocks
- ld de, 1
- call IsInArray
- ret
-; 14a00
-
-.blocks: ; 14a00
- db $12 ; cut tree
- db $1a ; cut tree
- db $10 ; tall grass
- db $18 ; tall grass
- db $14 ; tall grass
- db $1c ; tall grass
- db -1
-; 14a07
-
-Function14a07:: ; 14a07
- ld a, [PlayerNextTile]
- ld de, $1f
- cp $71 ; door
- ret z
- ld de, $13
- cp $7c ; warp pad
- ret z
- ld de, $23
- ret
-; 14a1a
-
+INCLUDE "engine/tile_events.asm"
INCLUDE "engine/save.asm"
-
INCLUDE "engine/spawn_points.asm"
-
INCLUDE "engine/map_setup.asm"
-
INCLUDE "engine/pokecenter_pc.asm"
-
INCLUDE "engine/mart.asm"
-
INCLUDE "engine/money.asm"
-
INCLUDE "items/marts.asm"
-
INCLUDE "event/mom.asm"
-
INCLUDE "event/daycare.asm"
-
INCLUDE "event/photo.asm"
-
INCLUDE "engine/breeding/egg.asm"
SECTION "Tileset Data 1", ROMX, BANK[TILESETS_1]
@@ -9609,18 +5694,14 @@
INCLUDE "tilesets/data_1.asm"
-
SECTION "Roofs", ROMX, BANK[ROOFS]
INCLUDE "tilesets/roofs.asm"
-
SECTION "Tileset Data 2", ROMX, BANK[TILESETS_2]
INCLUDE "tilesets/data_2.asm"
-
-
SECTION "bank8", ROMX, BANK[$8]
INCLUDE "engine/clock_reset.asm"
@@ -9629,7 +5710,6 @@
INCLUDE "tilesets/data_3.asm"
-
SECTION "bank9", ROMX, BANK[$9]
StringBufferPointers:: ; 24000
@@ -9644,264 +5724,7 @@
INCLUDE "engine/menu.asm"
-_BackUpTiles:: ; 24374
- ld a, [rSVBK]
- push af
- ld a, $7
- ld [rSVBK], a
-
- ld hl, wcf71
- ld e, [hl]
- inc hl
- ld d, [hl]
- push de
-
- ld b, $10
- ld hl, wMenuFlags
-.loop
- ld a, [hli]
- ld [de], a
- dec de
- dec b
- jr nz, .loop
-
-; If bit 6 or 7 of the menu flags is set, set bit 0 of the address
-; at 7:[wcf71], and draw the menu using the coordinates from the header.
-; Otherwise, reset bit 0 of 7:[wcf71].
- ld a, [wMenuFlags]
- bit 6, a
- jr nz, .bit_6
- bit 7, a
- jr z, .not_bit_7
-
-.bit_6
- ld hl, wcf71
- ld a, [hli]
- ld h, [hl]
- ld l, a
- set 0, [hl]
- call MenuBoxCoord2Tile
- call .copy
- call MenuBoxCoord2Attr
- call .copy
- jr .done
-
-.not_bit_7
- pop hl ; last-pushed register was de
- push hl
- ld a, [hld]
- ld l, [hl]
- ld h, a
- res 0, [hl]
-
-.done
- pop hl
- call .ret ; empty function
- ld a, h
- ld [de], a
- dec de
- ld a, l
- ld [de], a
- dec de
- ld hl, wcf71
- ld [hl], e
- inc hl
- ld [hl], d
-
- pop af
- ld [rSVBK], a
- ld hl, wcf78
- inc [hl]
- ret
-; 243cd
-
-.copy: ; 243cd
- call GetMenuBoxDims
- inc b
- inc c
- call .ret ; empty function
-
-.row
- push bc
- push hl
-
-.col
- ld a, [hli]
- ld [de], a
- dec de
- dec c
- jr nz, .col
-
- pop hl
- ld bc, SCREEN_WIDTH
- add hl, bc
- pop bc
- dec b
- jr nz, .row
-
- ret
-; 243e7
-
-.ret: ; 243e7
- ret
-; 243e8
-
-Function243e8:: ; 243e8
- xor a
- ld [hBGMapMode], a
-
- ld a, [rSVBK]
- push af
- ld a, $7
- ld [rSVBK], a
-
- call Function1c7e
- ld a, l
- or h
- jp z, Function2445d
- ld a, l
- ld [wcf71], a
- ld a, h
- ld [wcf72], a
- call Function1c47
- ld a, [wMenuFlags]
- bit 0, a
- jr z, .next
- ld d, h
- ld e, l
- call RestoreTileBackup
-
-.next
- call Function1c7e
- ld a, h
- or l
- jr z, .done
- call Function1c47
-
-.done
- pop af
- ld [rSVBK], a
- ld hl, wcf78
- dec [hl]
- ret
-; 24423
-
-
-Function24423: ; 24423
- ld a, [VramState]
- bit 0, a
- ret z
- xor a
- call GetSRAMBank
- hlcoord 0, 0
- ld de, sScratch
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- call CopyBytes
- call CloseSRAM
- call OverworldTextModeSwitch
- xor a
- call GetSRAMBank
- ld hl, sScratch
- decoord 0, 0
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
-.asm_2444c
- ld a, [hl]
- cp $61
- jr c, .asm_24452
- ld [de], a
-
-.asm_24452
- inc hl
- inc de
- dec bc
- ld a, c
- or b
- jr nz, .asm_2444c
- call CloseSRAM
- ret
-; 2445d
-
-Function2445d: ; 2445d
- ld hl, UnknownText_0x24468
- call PrintText
- call WaitBGMap
-.asm_24466
- jr .asm_24466
-; 24468
-
-UnknownText_0x24468: ; 24468
- text_jump UnknownText_0x1c46b7
- db "@"
-; 2446d
-
-Function2446d:: ; 2446d
- ld a, [wMenuData2Flags]
- ld b, a
- ld hl, wcfa1
- ld a, [wMenuBorderTopCoord]
- inc a
- bit 6, b
- jr nz, .asm_2447d
- inc a
-
-.asm_2447d
- ld [hli], a
- ld a, [wMenuBorderLeftCoord]
- inc a
- ld [hli], a
- ld a, [wMenuData2Items]
- ld [hli], a
- ld a, $1
- ld [hli], a
- ld [hl], $0
- bit 5, b
- jr z, .asm_24492
- set 5, [hl]
-
-.asm_24492
- ld a, [wMenuFlags]
- bit 4, a
- jr z, .asm_2449b
- set 6, [hl]
-
-.asm_2449b
- inc hl
- xor a
- ld [hli], a
- ld a, $20
- ld [hli], a
- ld a, $1
- bit 0, b
- jr nz, .asm_244a9
- add $2
-
-.asm_244a9
- ld [hli], a
- ld a, [wMenuCursorBuffer]
- and a
- jr z, .asm_244b7
- ld c, a
- ld a, [wMenuData2Items]
- cp c
- jr nc, .asm_244b9
-
-.asm_244b7
- ld c, $1
-
-.asm_244b9
- ld [hl], c
- inc hl
- ld a, $1
- ld [hli], a
- xor a
-rept 3
- ld [hli], a
-endr
- ret
-; 244c3
-
-
-UpdateItemDescription: ; 0x244c3
+UpdateItemDescription: ; 0x244c3
ld a, [MenuSelection]
ld [CurSpecies], a
hlcoord 0, 12
@@ -9917,7 +5740,7 @@
; 0x244e3
Pokepic:: ; 244e3
- ld hl, MenuDataHeader_0x24547
+ ld hl, PokepicMenuDataHeader
call CopyMenuDataHeader
call MenuBox
call UpdateSprites
@@ -9946,8 +5769,8 @@
ret
; 24528
-PokepicYesOrNo:: ; 24528
- ld hl, MenuDataHeader_0x24547
+ClosePokepic:: ; 24528
+ ld hl, PokepicMenuDataHeader
call CopyMenuDataHeader
call ClearMenuBoxInterior
call WaitBGMap
@@ -9961,7 +5784,7 @@
ret
; 24547
-MenuDataHeader_0x24547: ; 0x24547
+PokepicMenuDataHeader: ; 0x24547
db $40 ; flags
db 04, 06 ; start coords
db 13, 14 ; end coords
@@ -10040,823 +5863,9 @@
xor a
ret
+INCLUDE "engine/scrolling_menu.asm"
+INCLUDE "engine/switch_items.asm"
-Function245af:: ; 245af
- xor a
- ld [wcf73], a
- ld [hBGMapMode], a
- inc a
- ld [hInMenu], a
- call ClearObjectStructsa
- call Function24764
- call Function247dd
- call Function245f1
- call ApplyTilemap
- xor a
- ld [hBGMapMode], a
- ret
-; 245cb
-
-Function245cb:: ; 245cb
-.loop
- call MenuJoyAction
- jp c, .exit
- call z, .zero
- jr .loop
-; 245d6
-
-.exit: ; 245d6
- call Function1ff8
- ld [wcf73], a
- ld a, 0
- ld [hInMenu], a
- ret
-; 245e1
-
-.zero: ; 245e1
- call Function245f1
- ld a, 1
- ld [hBGMapMode], a
- ld c, 3
- call DelayFrames
- xor a
- ld [hBGMapMode], a
- ret
-; 245f1
-
-Function245f1: ; 245f1
- xor a
- ld [hBGMapMode], a
- ld hl, Options
- ld a, [hl]
- push af
- set NO_TEXT_SCROLL, [hl]
- call Function247f0
- call Function2488b
- call Function248b8
- pop af
- ld [Options], a
- ret
-; 24609
-
-MenuJoyAction: ; 24609
-.loop
- call Function1bd3
- ld a, [hJoyLast]
- and D_PAD
- ld b, a
- ld a, [hJoyPressed]
- and BUTTONS
- or b
- bit 0, a ; A
- jp nz, .a_button
- bit 1, a ; B
- jp nz, .b_button
- bit 2, a ; Select
- jp nz, .select
- bit 3, a ; Start
- jp nz, .start
- bit 4, a ; Right
- jp nz, .d_right
- bit 5, a ; Left
- jp nz, .d_left
- bit 6, a ; Up
- jp nz, .d_up
- bit 7, a ; Down
- jp nz, .d_down
- jr .loop
-; 24640
-
-.unreferenced: ; unreferenced
- ld a, -1
- and a
- ret
-; 24644
-
-
-.a_button: ; 24644
- call Function1bee
- ld a, [MenuSelection2]
- dec a
- call Function248d5
- ld a, [MenuSelection]
- ld [CurItem], a
- ld a, [wcf75]
- ld [wItemQuantityBuffer], a
- call Function246fc
- dec a
- ld [wcf77], a
- ld [wd107], a
- ld a, [MenuSelection]
- cp -1
- jr z, .b_button
- ld a, A_BUTTON
- scf
- ret
-; 2466f
-
-.b_button: ; 2466f
- ld a, B_BUTTON
- scf
- ret
-; 24673
-
-.select: ; 24673
- ld a, [wMenuData2Flags]
- bit 7, a
- jp z, xor_a_dec_a
- ld a, [MenuSelection2]
- dec a
- call Function248d5
- ld a, [MenuSelection]
- cp -1
- jp z, xor_a_dec_a
- call Function246fc
- dec a
- ld [wcf77], a
- ld a, SELECT
- scf
- ret
-; 24695
-
-.start: ; 24695
- ld a, [wMenuData2Flags]
- bit 6, a
- jp z, xor_a_dec_a
- ld a, START
- scf
- ret
-; 246a1
-
-.d_left: ; 246a1
- ld hl, wcfa6
- bit 7, [hl]
- jp z, xor_a_dec_a
- ld a, [wMenuData2Flags]
- bit 3, a
- jp z, xor_a_dec_a
- ld a, D_LEFT
- scf
- ret
-; 246b5
-
-.d_right: ; 246b5
- ld hl, wcfa6
- bit 7, [hl]
- jp z, xor_a_dec_a
- ld a, [wMenuData2Flags]
- bit 2, a
- jp z, xor_a_dec_a
- ld a, D_RIGHT
- scf
- ret
-; 246c9
-
-.d_up: ; 246c9
- ld hl, wcfa6
- bit 7, [hl]
- jp z, xor_a
- ld hl, wMenuScrollPosition
- ld a, [hl]
- and a
- jr z, .xor_dec_up
- dec [hl]
- jp xor_a
-
-.xor_dec_up
- jp xor_a_dec_a
-; 246df
-
-.d_down: ; 246df
- ld hl, wcfa6
- bit 7, [hl]
- jp z, xor_a
- ld hl, wMenuScrollPosition
- ld a, [wMenuData2Items]
- add [hl]
- ld b, a
- ld a, [wd144]
- cp b
- jr c, .xor_dec_down
- inc [hl]
- jp xor_a
-
-.xor_dec_down
- jp xor_a_dec_a
-; 246fc
-
-Function246fc: ; 246fc
- ld a, [wMenuScrollPosition]
- ld c, a
- ld a, [MenuSelection2]
- add c
- ld c, a
- ret
-; 24706
-
-Function24706: ; 24706 (9:4706)
- call MenuBoxCoord2Tile
- ld de, SCREEN_WIDTH
- add hl, de
- ld de, 2 * SCREEN_WIDTH
- ld a, [wMenuData2Items]
-.asm_24713
- ld [hl], " "
- add hl, de
- dec a
- jr nz, .asm_24713
- ret
-
-ClearObjectStructsa: ; 2471a
-; Get the value of (wcf95):(wcf96,wcf97) and store it in wd144.
- ld hl, wcf96
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [wcf95]
- call GetFarByte
- ld [wd144], a
-; if ([wd144] + 1) < [wMenuData2Items] + [wMenuScrollPosition]: [wMenuScrollPosition] = max(([wd144] + 1) - [wMenuData2Items], 0)
- ld a, [wMenuData2Items]
- ld c, a
- ld a, [wMenuScrollPosition]
- add c
- ld c, a
- ld a, [wd144]
- inc a
- cp c
- jr nc, .skip
- ld a, [wMenuData2Items]
- ld c, a
- ld a, [wd144]
- inc a
- sub c
- jr nc, .store
- xor a
-
-.store
- ld [wMenuScrollPosition], a
-
-.skip
- ld a, [wMenuScrollPosition]
- ld c, a
- ld a, [wMenuCursorBuffer]
- add c
- ld b, a
- ld a, [wd144]
- inc a
- cp b
- jr c, .asm_2475a
- jr nc, .asm_24763
-
-.asm_2475a
- xor a
- ld [wMenuScrollPosition], a
- ld a, $1
- ld [wMenuCursorBuffer], a
-
-.asm_24763
- ret
-; 24764
-
-Function24764: ; 24764
- ld a, [wMenuData2Flags]
- ld c, a
- ld a, [wd144]
- ld b, a
- ld a, [wMenuBorderTopCoord]
- add $1
- ld [wcfa1], a
- ld a, [wMenuBorderLeftCoord]
- add $0
- ld [wcfa2], a
- ld a, [wMenuData2Items]
- cp b
- jr c, .asm_24786
- jr z, .asm_24786
- ld a, b
- inc a
-
-.asm_24786
- ld [wcfa3], a
- ld a, $1
- ld [wcfa4], a
- ld a, $8c
- bit 2, c
- jr z, .asm_24796
- set 0, a
-
-.asm_24796
- bit 3, c
- jr z, .asm_2479c
- set 1, a
-
-.asm_2479c
- ld [wcfa5], a
- xor a
- ld [wcfa6], a
- ld a, $20
- ld [wcfa7], a
- ld a, $c3
- bit 7, c
- jr z, .asm_247b0
- add $4
-
-.asm_247b0
- bit 6, c
- jr z, .asm_247b6
- add $8
-
-.asm_247b6
- ld [wcfa8], a
- ld a, [wcfa3]
- ld b, a
- ld a, [wMenuCursorBuffer]
- and a
- jr z, .asm_247c8
- cp b
- jr z, .asm_247ca
- jr c, .asm_247ca
-
-.asm_247c8
- ld a, $1
-
-.asm_247ca
- ld [MenuSelection2], a
- ld a, $1
- ld [wcfaa], a
- xor a
- ld [wcfac], a
- ld [wcfad], a
- ld [wcfab], a
- ret
-; 247dd
-
-Function247dd: ; 247dd
- ld a, [wd144]
- ld c, a
- ld a, [wd0e3]
- and a
- jr z, .asm_247ef
- dec a
- cp c
- jr c, .asm_247ef
- xor a
- ld [wd0e3], a
-
-.asm_247ef
- ret
-; 247f0
-
-Function247f0: ; 247f0
- call ClearWholeMenuBox
- ld a, [wMenuData2Flags]
- bit 4, a
- jr z, .asm_2480d
- ld a, [wMenuScrollPosition]
- and a
- jr z, .asm_2480d
- ld a, [wMenuBorderTopCoord]
- ld b, a
- ld a, [wMenuBorderRightCoord]
- ld c, a
- call Coord2Tile
- ld [hl], $61
-
-.asm_2480d
- call MenuBoxCoord2Tile
- ld bc, $15
- add hl, bc
- ld a, [wMenuData2Items]
- ld b, a
- ld c, $0
-.asm_2481a
- ld a, [wMenuScrollPosition]
- add c
- ld [wcf77], a
- ld a, c
- call Function248d5
- ld a, [MenuSelection]
- cp $ff
- jr z, .asm_24851
- push bc
- push hl
- call Function2486e
- pop hl
- ld bc, $28
- add hl, bc
- pop bc
- inc c
- ld a, c
- cp b
- jr nz, .asm_2481a
- ld a, [wMenuData2Flags]
- bit 4, a
- jr z, .asm_24850
- ld a, [wMenuBorderBottomCoord]
- ld b, a
- ld a, [wMenuBorderRightCoord]
- ld c, a
- call Coord2Tile
- ld [hl], $ee
-
-.asm_24850
- ret
-
-.asm_24851
- ld a, [wMenuData2Flags]
- bit 0, a
- jr nz, .asm_24866
- ld de, .string_2485f
- call PlaceString
- ret
-
-.string_2485f
- db "CANCEL@"
-
-.asm_24866
- ld d, h
- ld e, l
- ld hl, wcf98
- jp CallPointerAt
-; 2486e
-
-Function2486e: ; 2486e
- push hl
- ld d, h
- ld e, l
- ld hl, wcf98
- call CallPointerAt
- pop hl
- ld a, [wcf93]
- and a
- jr z, .asm_2488a
- ld e, a
- ld d, $0
- add hl, de
- ld d, h
- ld e, l
- ld hl, wcf9b
- call CallPointerAt
-
-.asm_2488a
- ret
-; 2488b
-
-Function2488b: ; 2488b
- ld a, [wd0e3]
- and a
- jr z, .asm_248b7
- ld b, a
- ld a, [wMenuScrollPosition]
- cp b
- jr nc, .asm_248b7
- ld c, a
- ld a, [wMenuData2Items]
- add c
- cp b
- jr c, .asm_248b7
- ld a, b
- sub c
- dec a
- add a
- add $1
- ld c, a
- ld a, [wMenuBorderTopCoord]
- add c
- ld b, a
- ld a, [wMenuBorderLeftCoord]
- add $0
- ld c, a
- call Coord2Tile
- ld [hl], $ec
-
-.asm_248b7
- ret
-; 248b8
-
-Function248b8: ; 248b8
- ld a, [wMenuData2Flags]
- bit 5, a
- ret z
- bit 1, a
- jr z, .asm_248c7
- ld a, [wd0e3]
- and a
- ret nz
-
-.asm_248c7
- ld a, [MenuSelection2]
- dec a
- call Function248d5
- ld hl, wcf9e
- call CallPointerAt
- ret
-; 248d5
-
-Function248d5: ; 248d5
- push de
- push hl
- ld e, a
- ld a, [wMenuScrollPosition]
- add e
- ld e, a
- ld d, $0
- ld hl, wcf96
- ld a, [hli]
- ld h, [hl]
- ld l, a
- inc hl
- ld a, [wcf94]
- cp $1
- jr z, .asm_248f2
- cp $2
- jr z, .asm_248f1
-
-.asm_248f1
- add hl, de
-
-.asm_248f2
- add hl, de
- ld a, [wcf95]
- call GetFarByte
- ld [MenuSelection], a
- ld [CurItem], a
- inc hl
- ld a, [wcf95]
- call GetFarByte
- ld [wcf75], a
- pop hl
- pop de
- ret
-; 2490c
-
-
-Function2490c: ; 2490c (9:490c)
- ld a, [wd0e3]
- and a
- jr z, .asm_2493d
- ld b, a
- ld a, [wcf77]
- inc a
- cp b
- jr z, .asm_24945
- ld a, [wcf77]
- call Function24a5c
- ld a, [hl]
- cp $ff
- ret z
- ld a, [wd0e3]
- dec a
- ld [wd0e3], a
- call Function249a7
- jp c, Function249d1
- ld a, [wcf77]
- ld c, a
- ld a, [wd0e3]
- cp c
- jr c, .asm_2497a
- jr .asm_2494a
-.asm_2493d
- ld a, [wcf77]
- inc a
- ld [wd0e3], a
- ret
-.asm_24945
- xor a
- ld [wd0e3], a
- ret
-.asm_2494a
- ld a, [wd0e3]
- call Function24a40
- ld a, [wcf77]
- ld d, a
- ld a, [wd0e3]
- ld e, a
- call Function24a6c
- push bc
- ld a, [wd0e3]
- call Function24a5c
- dec hl
- push hl
- call Function24a80
- add hl, bc
- ld d, h
- ld e, l
- pop hl
- pop bc
- call Function24aab
- ld a, [wcf77]
- call Function24a4d
- xor a
- ld [wd0e3], a
- ret
-.asm_2497a
- ld a, [wd0e3]
- call Function24a40
- ld a, [wcf77]
- ld d, a
- ld a, [wd0e3]
- ld e, a
- call Function24a6c
- push bc
- ld a, [wd0e3]
- call Function24a5c
- ld d, h
- ld e, l
- call Function24a80
- add hl, bc
- pop bc
- call CopyBytes
- ld a, [wcf77]
- call Function24a4d
- xor a
- ld [wd0e3], a
- ret
-
-Function249a7: ; 249a7 (9:49a7)
- ld a, [wd0e3]
- call Function24a5c
- ld d, h
- ld e, l
- ld a, [wcf77]
- call Function24a5c
- ld a, [de]
- cp [hl]
- jr nz, .asm_249cd
- ld a, [wcf77]
- call Function24a97
- cp $63
- jr z, .asm_249cd
- ld a, [wd0e3]
- call Function24a97
- cp $63
- jr nz, .asm_249cf
-.asm_249cd
- and a
- ret
-.asm_249cf
- scf
- ret
-
-Function249d1: ; 249d1 (9:49d1)
- ld a, [wd0e3]
- call Function24a5c
- inc hl
- push hl
- ld a, [wcf77]
- call Function24a5c
- inc hl
- ld a, [hl]
- pop hl
- add [hl]
- cp $64
- jr c, .asm_24a01
- sub $63
- push af
- ld a, [wcf77]
- call Function24a5c
- inc hl
- ld [hl], $63
- ld a, [wd0e3]
- call Function24a5c
- inc hl
- pop af
- ld [hl], a
- xor a
- ld [wd0e3], a
- ret
-.asm_24a01
- push af
- ld a, [wcf77]
- call Function24a5c
- inc hl
- pop af
- ld [hl], a
- ld hl, wcf96
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [wd0e3]
- cp [hl]
- jr nz, .asm_24a25
- dec [hl]
- ld a, [wd0e3]
- call Function24a5c
- ld [hl], $ff
- xor a
- ld [wd0e3], a
- ret
-.asm_24a25
- dec [hl]
- call Function24a80
- push bc
- ld a, [wd0e3]
- call Function24a5c
- pop bc
- push hl
- add hl, bc
- pop de
-.asm_24a34
- ld a, [hli]
- ld [de], a
- inc de
- cp $ff
- jr nz, .asm_24a34
- xor a
- ld [wd0e3], a
- ret
-
-Function24a40: ; 24a40 (9:4a40)
- call Function24a5c
- ld de, wd002
- call Function24a80
- call CopyBytes
- ret
-
-Function24a4d: ; 24a4d (9:4a4d)
- call Function24a5c
- ld d, h
- ld e, l
- ld hl, wd002
- call Function24a80
- call CopyBytes
- ret
-
-Function24a5c: ; 24a5c (9:4a5c)
- push af
- call Function24a80
- ld hl, wcf96
- ld a, [hli]
- ld h, [hl]
- ld l, a
- inc hl
- pop af
- call AddNTimes
- ret
-
-Function24a6c: ; 24a6c (9:4a6c)
- push hl
- call Function24a80
- ld a, d
- sub e
- jr nc, .asm_24a76
- dec a
- cpl
-.asm_24a76
- ld hl, 0
- call AddNTimes
- ld b, h
- ld c, l
- pop hl
- ret
-
-Function24a80: ; 24a80 (9:4a80)
- push hl
- ld a, [wcf94]
- ld c, a
- ld b, 0
- ld hl, Unknown_24a91
-rept 2
- add hl, bc
-endr
- ld c, [hl]
- inc hl
- ld b, [hl]
- pop hl
- ret
-; 24a91 (9:4a91)
-
-Unknown_24a91: ; 24a91
- dw 0, 1, 2
-; 24a97
-
-Function24a97: ; 24a97 (9:4a97)
- push af
- call Function24a80
- ld a, c
- cp $2
- jr nz, .asm_24aa7
- pop af
- call Function24a5c
- inc hl
- ld a, [hl]
- ret
-.asm_24aa7
- pop af
- ld a, $1
- ret
-
-Function24aab: ; 24aab (9:4aab)
- ld a, [hld]
- ld [de], a
- dec de
- dec bc
- ld a, b
- or c
- jr nz, Function24aab
- ret
-
PlaceMenuItemName: ; 0x24ab4
push de
ld a, [MenuSelection]
@@ -10880,7 +5889,7 @@
add hl, de
ld [hl], "×"
inc hl
- ld de, wcf75
+ ld de, MenuSelectionQuantity
lb bc, 1, 2
call PrintNum
@@ -10888,25 +5897,25 @@
ret
; 0x24ae8
-PlaceMoneyTopRightOW: ; 24ae8
+PlaceMoneyTopRight: ; 24ae8
ld hl, MenuDataHeader_0x24b15
call CopyMenuDataHeader
- jr Function24b01
+ jr PlaceMoneyDataHeader
-PlaceMoneyBottomLeftOW: ; 24af0
+PlaceMoneyBottomLeft: ; 24af0
ld hl, MenuDataHeader_0x24b1d
call CopyMenuDataHeader
- jr Function24b01
+ jr PlaceMoneyDataHeader
-PlaceMoneyTopRightMenu: ; 24af8
+PlaceMoneyAtTopLeftOfTextbox: ; 24af8
ld hl, MenuDataHeader_0x24b15
- ld de, $b
- call Function1e2e
+ lb de, 0, 11
+ call OffsetMenuDataHeader
-Function24b01: ; 24b01
+PlaceMoneyDataHeader: ; 24b01
call MenuBox
call MenuBoxCoord2Tile
- ld de, $15
+ ld de, SCREEN_WIDTH + 1
add hl, de
ld de, Money
lb bc, PRINTNUM_MONEY | 3, 6
@@ -11079,7 +6088,6 @@
db "LEVEL@"
; 24c64
-
FindApricornsInBag: ; 24c64
; Checks the bag for Apricorns.
ld hl, Buffer1
@@ -11103,9 +6111,8 @@
ld a, [hl]
call .addtobuffer
.nope
-rept 2
inc hl
-endr
+ inc hl
jr .loop
.done
@@ -11139,719 +6146,9 @@
db -1
; 24caf
-
-MonMenuOptionStrings: ; 24caf
- db "STATS@"
- db "SWITCH@"
- db "ITEM@"
- db "CANCEL@"
- db "MOVE@"
- db "MAIL@"
- db "ERROR!@"
-; 24cd9
-
-MonMenuOptions: ; 24cd9
-
-; Moves
- db MONMENU_FIELD_MOVE, MONMENU_CUT, CUT
- db MONMENU_FIELD_MOVE, MONMENU_FLY, FLY
- db MONMENU_FIELD_MOVE, MONMENU_SURF, SURF
- db MONMENU_FIELD_MOVE, MONMENU_STRENGTH, STRENGTH
- db MONMENU_FIELD_MOVE, MONMENU_FLASH, FLASH
- db MONMENU_FIELD_MOVE, MONMENU_WATERFALL, WATERFALL
- db MONMENU_FIELD_MOVE, MONMENU_WHIRLPOOL, WHIRLPOOL
- db MONMENU_FIELD_MOVE, MONMENU_DIG, DIG
- db MONMENU_FIELD_MOVE, MONMENU_TELEPORT, TELEPORT
- db MONMENU_FIELD_MOVE, MONMENU_SOFTBOILED, SOFTBOILED
- db MONMENU_FIELD_MOVE, MONMENU_HEADBUTT, HEADBUTT
- db MONMENU_FIELD_MOVE, MONMENU_ROCKSMASH, ROCK_SMASH
- db MONMENU_FIELD_MOVE, MONMENU_MILKDRINK, MILK_DRINK
- db MONMENU_FIELD_MOVE, MONMENU_SWEETSCENT, SWEET_SCENT
-
-; Options
- db MONMENU_MENUOPTION, MONMENU_STATS, 1 ; STATS
- db MONMENU_MENUOPTION, MONMENU_SWITCH, 2 ; SWITCH
- db MONMENU_MENUOPTION, MONMENU_ITEM, 3 ; ITEM
- db MONMENU_MENUOPTION, MONMENU_CANCEL, 4 ; CANCEL
- db MONMENU_MENUOPTION, MONMENU_MOVE, 5 ; MOVE
- db MONMENU_MENUOPTION, MONMENU_MAIL, 6 ; MAIL
- db MONMENU_MENUOPTION, MONMENU_ERROR, 7 ; ERROR!
-
- db -1
-; 24d19
-
-MonSubmenu: ; 24d19
- xor a
- ld [hBGMapMode], a
- call GetMonSubmenuItems
- callba Function8ea4a
- ld hl, .MenuDataHeader
- call LoadMenuDataHeader
- call .GetTopCoord
- call PopulateMonMenu
-
- ld a, 1
- ld [hBGMapMode], a
- call MonMenuLoop
- ld [MenuSelection], a
-
- call ExitMenu
- ret
-; 24d3f
-
-.MenuDataHeader: ; 24d3f
- db $40 ; tile backup
- db 00, 06 ; start coords
- db 17, 19 ; end coords
- dw 0
- db 1 ; default option
-; 24d47
-
-.GetTopCoord: ; 24d47
-; TopCoord = 1 + BottomCoord - 2 * (NumSubmenuItems + 1)
- ld a, [Buffer1]
- inc a
- add a
- ld b, a
- ld a, [wMenuBorderBottomCoord]
- sub b
- inc a
- ld [wMenuBorderTopCoord], a
- call MenuBox
- ret
-; 24d59
-
-MonMenuLoop: ; 24d59
-.loop
- ld a, $a0 ; flags
- ld [wMenuData2Flags], a
- ld a, [Buffer1] ; items
- ld [wMenuData2Items], a
- call Function1c10
- ld hl, wcfa5
- set 6, [hl]
- call Function1bc9
- ld de, SFX_READ_TEXT_2
- call PlaySFX
- ld a, [hJoyPressed]
- bit 0, a ; A
- jr nz, .select
- bit 1, a ; B
- jr nz, .cancel
- jr .loop
-
-.cancel
- ld a, MONMENU_CANCEL ; CANCEL
- ret
-
-.select
- ld a, [MenuSelection2]
- dec a
- ld c, a
- ld b, 0
- ld hl, Buffer2
- add hl, bc
- ld a, [hl]
- ret
-; 24d91
-
-PopulateMonMenu: ; 24d91
- call MenuBoxCoord2Tile
- ld bc, $2a ; 42
- add hl, bc
- ld de, Buffer2
-.loop
- ld a, [de]
- inc de
- cp -1
- ret z
- push de
- push hl
- call GetMonMenuString
- pop hl
- call PlaceString
- ld bc, $28 ; 40
- add hl, bc
- pop de
- jr .loop
-; 24db0
-
-GetMonMenuString: ; 24db0
- ld hl, MonMenuOptions + 1
- ld de, 3
- call IsInArray
- dec hl
- ld a, [hli]
- cp 1
- jr z, .NotMove
- inc hl
- ld a, [hl]
- ld [wd265], a
- call GetMoveName
- ret
-
-.NotMove
- inc hl
- ld a, [hl]
- dec a
- ld hl, MonMenuOptionStrings
- call GetNthString
- ld d, h
- ld e, l
- ret
-; 24dd4
-
-GetMonSubmenuItems: ; 24dd4
- call ResetMonSubmenu
- ld a, [CurPartySpecies]
- cp EGG
- jr z, .egg
- ld a, [wLinkMode]
- and a
- jr nz, .skip_moves
- ld a, MON_MOVES
- call GetPartyParamLocation
- ld d, h
- ld e, l
- ld c, NUM_MOVES
-.loop
- push bc
- push de
- ld a, [de]
- and a
- jr z, .next
- push hl
- call IsFieldMove
- pop hl
- jr nc, .next
- call AddMonMenuItem
-
-.next
- pop de
- inc de
- pop bc
- dec c
- jr nz, .loop
-
-.skip_moves
- ld a, MONMENU_STATS
- call AddMonMenuItem
- ld a, MONMENU_SWITCH
- call AddMonMenuItem
- ld a, MONMENU_MOVE
- call AddMonMenuItem
- ld a, [wLinkMode]
- and a
- jr nz, .skip2
- push hl
- ld a, MON_ITEM
- call GetPartyParamLocation
- ld d, [hl]
- callba ItemIsMail
- pop hl
- ld a, MONMENU_MAIL
- jr c, .ok
- ld a, MONMENU_ITEM
-
-.ok
- call AddMonMenuItem
-
-.skip2
- ld a, [Buffer1]
- cp NUM_MON_SUBMENU_ITEMS
- jr z, .ok2
- ld a, MONMENU_CANCEL
- call AddMonMenuItem
-
-.ok2
- call TerminateMonSubmenu
- ret
-
-.egg
- ld a, MONMENU_STATS
- call AddMonMenuItem
- ld a, MONMENU_SWITCH
- call AddMonMenuItem
- ld a, MONMENU_CANCEL
- call AddMonMenuItem
- call TerminateMonSubmenu
- ret
-; 24e52
-
-IsFieldMove: ; 24e52
- ld b, a
- ld hl, MonMenuOptions
-.next
- ld a, [hli]
- cp -1
- jr z, .nope
- cp MONMENU_MENUOPTION
- jr z, .nope
- ld d, [hl]
- inc hl
- ld a, [hli]
- cp b
- jr nz, .next
- ld a, d
- scf
-
-.nope
- ret
-; 24e68
-
-ResetMonSubmenu: ; 24e68
- xor a
- ld [Buffer1], a
- ld hl, Buffer2
- ld bc, NUM_MON_SUBMENU_ITEMS + 1
- call ByteFill
- ret
-; 24e76
-
-TerminateMonSubmenu: ; 24e76
- ld a, [Buffer1]
- ld e, a
- ld d, $0
- ld hl, Buffer2
- add hl, de
- ld [hl], -1
- ret
-; 24e83
-
-AddMonMenuItem: ; 24e83
- push hl
- push de
- push af
- ld a, [Buffer1]
- ld e, a
- inc a
- ld [Buffer1], a
- ld d, $0
- ld hl, Buffer2
- add hl, de
- pop af
- ld [hl], a
- pop de
- pop hl
- ret
-; 24e99
-
-Function24e99: ; 24e99
-; BattleMonMenu
- ld hl, MenuDataHeader_0x24ed4
- call CopyMenuDataHeader
- xor a
- ld [hBGMapMode], a
- call MenuBox
- call UpdateSprites
- call Function1c89
- call WaitBGMap
- call CopyMenuData2
- ld a, [wMenuData2Flags]
- bit 7, a
- jr z, .asm_24ed0
- call Function1c10
- ld hl, wcfa5
- set 6, [hl]
- call Function1bc9
- ld de, SFX_READ_TEXT_2
- call PlaySFX
- ld a, [hJoyPressed]
- bit 1, a
- jr z, .asm_24ed2
- ret z
-
-.asm_24ed0
- scf
- ret
-
-.asm_24ed2
- and a
- ret
-; 24ed4
-
-MenuDataHeader_0x24ed4: ; 24ed4
- db $00 ; flags
- db 11, 11 ; start coords
- db 17, 19 ; end coords
- dw MenuData2_0x24edc
- db 1 ; default option
-; 24edc
-
-MenuData2_0x24edc: ; 24edc
- db $c0 ; flags
- db 3 ; items
- db "SWITCH@"
- db "STATS@"
- db "CANCEL@"
-; 24ef2
-
-
-LoadBattleMenu: ; 24ef2
- ld hl, BattleMenuDataHeader
- call LoadMenuDataHeader
- ld a, [wd0d2]
- ld [wMenuCursorBuffer], a
- call Function2039
- ld a, [wMenuCursorBuffer]
- ld [wd0d2], a
- call ExitMenu
- ret
-; 24f0b
-
-
-SafariBattleMenu: ; 24f0b
-; untranslated
- ld hl, MenuDataHeader_0x24f4e
- call LoadMenuDataHeader
- jr Function24f19
-; 24f13
-
-ContestBattleMenu: ; 24f13
- ld hl, MenuDataHeader_0x24f89
- call LoadMenuDataHeader
-; 24f19
-
-Function24f19: ; 24f19
- ld a, [wd0d2]
- ld [wMenuCursorBuffer], a
- call InterpretMenu
- ld a, [wMenuCursorBuffer]
- ld [wd0d2], a
- call ExitMenu
- ret
-; 24f2c
-
-
-BattleMenuDataHeader: ; 24f2c
- db $40 ; flags
- db 12, 08 ; start coords
- db 17, 19 ; end coords
- dw MenuData_0x24f34
- db 1 ; default option
-; 24f34
-
-MenuData_0x24f34: ; 0x24f34
- db $81 ; flags
- dn 2, 2 ; rows, columns
- db 6 ; spacing
- dba Strings24f3d
- dbw BANK(MenuData_0x24f34), 0
-; 0x24f3d
-
-Strings24f3d: ; 0x24f3d
- db "FIGHT@"
- db "<PKMN>@"
- db "PACK@"
- db "RUN@"
-; 24f4e
-
-
-MenuDataHeader_0x24f4e: ; 24f4e
- db $40 ; flags
- db 12, 00 ; start coords
- db 17, 19 ; end coords
- dw MenuData_0x24f56
- db 1 ; default option
-; 24f56
-
-MenuData_0x24f56: ; 24f56
- db $81 ; flags
- dn 2, 2 ; rows, columns
- db 11 ; spacing
- dba Strings24f5f
- dba Function24f7c
-; 24f5f
-
-Strings24f5f: ; 24f5f
- db "サファりボール× @" ; "SAFARI BALL× @"
- db "エサをなげる@" ; "THROW BAIT"
- db "いしをなげる@" ; "THROW ROCK"
- db "にげる@" ; "RUN"
-; 24f7c
-
-Function24f7c: ; 24f7c
- hlcoord 17, 13
- ld de, wSafariBallsRemaining
- lb bc, PRINTNUM_LEADINGZEROS | 1, 2
- call PrintNum
- ret
-; 24f89
-
-
-MenuDataHeader_0x24f89: ; 24f89
- db $40 ; flags
- db 12, 02 ; start coords
- db 17, 19 ; end coords
- dw MenuData_0x24f91
- db 1 ; default option
-; 24f91
-
-MenuData_0x24f91: ; 24f91
- db $81 ; flags
- dn 2, 2 ; rows, columns
- db 12 ; spacing
- dba Strings24f9a
- dba Function24fb2
-; 24f9a
-
-Strings24f9a: ; 24f9a
- db "FIGHT@"
- db "<PKMN>", "@"
- db "PARKBALL× @"
- db "RUN@"
-; 24fb2
-
-Function24fb2: ; 24fb2
- hlcoord 13, 16
- ld de, wParkBallsRemaining
- lb bc, PRINTNUM_LEADINGZEROS | 1, 2
- call PrintNum
- ret
-; 24fbf
-
-
-Function24fbf: ; 24fbf
- ld hl, MenuDataHeader_0x250ed
- call LoadMenuDataHeader
- call Function24ff9
- ret
-; 24fc9
-
-
-Function24fc9: ; 24fc9
- callba GetItemPrice
-Function24fcf: ; 24fcf
- ld a, d
- ld [Buffer1], a
- ld a, e
- ld [Buffer2], a
- ld hl, MenuDataHeader_0x250f5
- call LoadMenuDataHeader
- call Function24ff9
- ret
-; 24fe1
-
-Function24fe1: ; 24fe1
- callba GetItemPrice
- ld a, d
- ld [Buffer1], a
- ld a, e
- ld [Buffer2], a
- ld hl, MenuDataHeader_0x250fd
- call LoadMenuDataHeader
- call Function24ff9
- ret
-; 24ff9
-
-Function24ff9: ; 24ff9
- ld a, $1
- ld [wItemQuantityChangeBuffer], a
-.loop
- call Function25072 ; update display
- call Function2500e ; joy action
- jr nc, .loop
- cp -1
- jr nz, .nope
- scf
- ret
-
-.nope
- and a
- ret
-; 2500e
-
-Function2500e: ; 2500e
- call Function354b ; get joypad
- bit B_BUTTON_F, c
- jr nz, .b
- bit A_BUTTON_F, c
- jr nz, .a
- bit D_DOWN_F, c
- jr nz, .down
- bit D_UP_F, c
- jr nz, .up
- bit D_LEFT_F, c
- jr nz, .left
- bit D_RIGHT_F, c
- jr nz, .right
- and a
- ret
-
-.b
- ld a, -1
- scf
- ret
-
-.a
- ld a, 0
- scf
- ret
-
-.down
- ld hl, wItemQuantityChangeBuffer
- dec [hl]
- jr nz, .finish_down
- ld a, [wItemQuantityBuffer]
- ld [hl], a
-
-.finish_down
- and a
- ret
-
-.up
- ld hl, wItemQuantityChangeBuffer
- inc [hl]
- ld a, [wItemQuantityBuffer]
- cp [hl]
- jr nc, .finish_up
- ld [hl], $1
-
-.finish_up
- and a
- ret
-
-.left
- ld a, [wItemQuantityChangeBuffer]
- sub $a
- jr c, .load_1
- jr z, .load_1
- jr .finish_left
-
-.load_1
- ld a, $1
-
-.finish_left
- ld [wItemQuantityChangeBuffer], a
- and a
- ret
-
-.right
- ld a, [wItemQuantityChangeBuffer]
- add $a
- ld b, a
- ld a, [wItemQuantityBuffer]
- cp b
- jr nc, .finish_right
- ld b, a
-
-.finish_right
- ld a, b
- ld [wItemQuantityChangeBuffer], a
- and a
- ret
-; 25072
-
-Function25072: ; 25072
- call MenuBox
- call MenuBoxCoord2Tile
- ld de, $15
- add hl, de
- ld [hl], $f1
- inc hl
- ld de, wItemQuantityChangeBuffer
- lb bc, PRINTNUM_LEADINGZEROS | 1, 2
- call PrintNum
- ld a, [wMenuData2Pointer]
- ld e, a
- ld a, [wMenuData2Pointer + 1]
- ld d, a
- ld a, [wMenuDataBank]
- call FarCall_de
- ret
-; 25097
-
-
-Function25097: ; 25097
- ret
-; 25098
-
-Function25098: ; 25098
- call Function250a9
- call Function250d1
- ret
-; 2509f
-
-Function2509f: ; 2509f
- call Function250a9
- call Function250c1
- call Function250d1
- ret
-; 250a9
-
-Function250a9: ; 250a9
- xor a
- ld [hMultiplicand + 0], a
- ld a, [Buffer1]
- ld [hMultiplicand + 1], a
- ld a, [Buffer2]
- ld [hMultiplicand + 2], a
- ld a, [wItemQuantityChangeBuffer]
- ld [hMultiplier], a
- push hl
- call Multiply
- pop hl
- ret
-; 250c1
-
-Function250c1: ; 250c1
- push hl
- ld hl, hMultiplicand
- ld a, [hl]
- srl a
- ld [hli], a
- ld a, [hl]
- rra
- ld [hli], a
- ld a, [hl]
- rra
- ld [hl], a
- pop hl
- ret
-; 250d1
-
-Function250d1: ; 250d1
- push hl
- ld hl, hMoneyTemp
- ld a, [hMultiplicand]
- ld [hli], a
- ld a, [$ffb5]
- ld [hli], a
- ld a, [$ffb6]
- ld [hl], a
- pop hl
- inc hl
- ld de, hMoneyTemp
- lb bc, PRINTNUM_MONEY | 3, 6
- call PrintNum
- call WaitBGMap
- ret
-; 250ed
-
-MenuDataHeader_0x250ed: ; 0x250ed
- db $40 ; flags
- db 09, 15 ; start coords
- db 11, 19 ; end coords
- dw Function25097
- db 0 ; default option
-; 0x250f5
-
-MenuDataHeader_0x250f5: ; 0x250f5
- db $40 ; flags
- db 15, 07 ; start coords
- db 17, 19 ; end coords
- dw Function25098
- db -1 ; default option
-; 0x250fd
-
-MenuDataHeader_0x250fd: ; 0x250fd
- db $40 ; flags
- db 15, 07 ; start coords
- db 17, 19 ; end coords
- dw Function2509f
- db 0 ; default option
-; 0x25105
-
+INCLUDE "engine/mon_menu.asm"
+INCLUDE "battle/menu.asm"
+INCLUDE "engine/buy_sell_toss.asm"
INCLUDE "engine/trainer_card.asm"
ProfOaksPC: ; 0x265d3
@@ -11878,7 +6175,7 @@
ret
; 0x26601
-Function26601: ; 0x26601
+ProfOaksPCRating: ; 0x26601
call Rate
push de
ld de, MUSIC_NONE
@@ -11902,7 +6199,7 @@
ld [wd003], a
; print appropriate rating
- call ClearOakRatingBuffers
+ call .UpdateRatingBuffers
ld hl, OakPCText3
call PrintText
call JoyWaitAorB
@@ -11915,17 +6212,17 @@
ret
; 0x26647
-ClearOakRatingBuffers: ; 0x26647
+.UpdateRatingBuffers: ; 0x26647
ld hl, StringBuffer3
ld de, wd002
- call ClearOakRatingBuffer
+ call .UpdateRatingBuffer
ld hl, StringBuffer4
ld de, wd003
- call ClearOakRatingBuffer
+ call .UpdateRatingBuffer
ret
; 0x2665a
-ClearOakRatingBuffer: ; 0x2665a
+.UpdateRatingBuffer: ; 0x2665a
push hl
ld a, "@"
ld bc, ITEM_NAME_LENGTH
@@ -11962,86 +6259,32 @@
; 0x2667f
OakRatings: ; 0x2667f
-; db count (if number caught ≤ this number, then this entry is used)
-; dw sound effect
-; dw text pointer
+oakrating: MACRO
+ db \1
+ dw \2, \3
+endm
- db 9
- dw SFX_DEX_FANFARE_LESS_THAN_20
- dw OakRating01
+; if you caught at most this many, play this sound, load this text
+ oakrating 9, SFX_DEX_FANFARE_LESS_THAN_20, OakRating01
+ oakrating 19, SFX_DEX_FANFARE_LESS_THAN_20, OakRating02
+ oakrating 34, SFX_DEX_FANFARE_20_49, OakRating03
+ oakrating 49, SFX_DEX_FANFARE_20_49, OakRating04
+ oakrating 64, SFX_DEX_FANFARE_50_79, OakRating05
+ oakrating 79, SFX_DEX_FANFARE_50_79, OakRating06
+ oakrating 94, SFX_DEX_FANFARE_80_109, OakRating07
+ oakrating 109, SFX_DEX_FANFARE_80_109, OakRating08
+ oakrating 124, SFX_CAUGHT_MON, OakRating09
+ oakrating 139, SFX_CAUGHT_MON, OakRating10
+ oakrating 154, SFX_DEX_FANFARE_140_169, OakRating11
+ oakrating 169, SFX_DEX_FANFARE_140_169, OakRating12
+ oakrating 184, SFX_DEX_FANFARE_170_199, OakRating13
+ oakrating 199, SFX_DEX_FANFARE_170_199, OakRating14
+ oakrating 214, SFX_DEX_FANFARE_200_229, OakRating15
+ oakrating 229, SFX_DEX_FANFARE_200_229, OakRating16
+ oakrating 239, SFX_DEX_FANFARE_230_PLUS, OakRating17
+ oakrating 248, SFX_DEX_FANFARE_230_PLUS, OakRating18
+ oakrating 255, SFX_DEX_FANFARE_230_PLUS, OakRating19
- db 19
- dw SFX_DEX_FANFARE_LESS_THAN_20
- dw OakRating02
-
- db 34
- dw SFX_DEX_FANFARE_20_49
- dw OakRating03
-
- db 49
- dw SFX_DEX_FANFARE_20_49
- dw OakRating04
-
- db 64
- dw SFX_DEX_FANFARE_50_79
- dw OakRating05
-
- db 79
- dw SFX_DEX_FANFARE_50_79
- dw OakRating06
-
- db 94
- dw SFX_DEX_FANFARE_80_109
- dw OakRating07
-
- db 109
- dw SFX_DEX_FANFARE_80_109
- dw OakRating08
-
- db 124
- dw SFX_CAUGHT_MON
- dw OakRating09
-
- db 139
- dw SFX_CAUGHT_MON
- dw OakRating10
-
- db 154
- dw SFX_DEX_FANFARE_140_169
- dw OakRating11
-
- db 169
- dw SFX_DEX_FANFARE_140_169
- dw OakRating12
-
- db 184
- dw SFX_DEX_FANFARE_170_199
- dw OakRating13
-
- db 199
- dw SFX_DEX_FANFARE_170_199
- dw OakRating14
-
- db 214
- dw SFX_DEX_FANFARE_200_229
- dw OakRating15
-
- db 229
- dw SFX_DEX_FANFARE_200_229
- dw OakRating16
-
- db 239
- dw SFX_DEX_FANFARE_230_PLUS
- dw OakRating17
-
- db 248
- dw SFX_DEX_FANFARE_230_PLUS
- dw OakRating18
-
- db 255
- dw SFX_DEX_FANFARE_230_PLUS
- dw OakRating19
-
OakPCText1: ; 0x266de
text_jump _OakPCText1
db "@"
@@ -12147,7 +6390,6 @@
ret
; 2709e
-
LevelUpHappinessMod: ; 2709e
ld a, [CurPartyMon]
ld hl, PartyMon1CaughtLocation
@@ -12183,12 +6425,11 @@
.gettutorialbackpic
callba GetTrainerBackpic
-
.continue
callba GetMonFrontpic
callba _LoadBattleFontsHPBar
call GetMemSGBLayout
- call WriteBackup
+ call CloseWindow
call LoadStandardMenuDataHeader
call WaitBGMap
jp SetPalettes
@@ -12284,12 +6525,11 @@
INCLUDE "battle/moves/move_effects.asm"
Function27a28: ; 27a28
- call Function2500e
+ call BuySellToss_InterpretJoypad
ld b, a
ret
; 27a2d
-
SECTION "bankA", ROMX, BANK[$A]
INCLUDE "engine/link.asm"
@@ -12476,7 +6716,6 @@
ret
; 2ba1a
-
ChrisBackpic: ; 2ba1a
INCBIN "gfx/misc/player.6x6.2bpp.lz"
; 2bbaa
@@ -12485,1388 +6724,26 @@
INCBIN "gfx/misc/dude.6x6.2bpp.lz"
; 2bcea
-
SECTION "bankB", ROMX, BANK[$B]
-Function2c000: ; 2c000
- ld a, $e4
- ld [rOBP0], a
- call Function2c165
- call Function2c01c
- ld a, [wBattleMode]
- dec a
- ret z
- jp Function2c03a
-; 2c012
+INCLUDE "battle/trainer_huds.asm"
-
-
-Function2c012: ; 2c012
- ld a, $e4
- ld [rOBP0], a
- call Function2c165
- jp Function2c03a
-; 2c01c
-
-Function2c01c: ; 2c01c
- call Function2c0ad
- ld hl, PartyMon1HP
- ld de, PartyCount
- call Function2c059
- ld a, $60
- ld hl, wcfc4
- ld [hli], a
- ld [hl], a
- ld a, $8
- ld [wd003], a
- ld hl, Sprites
- jp Function2c143
-; 2c03a
-
-
-
-Function2c03a: ; 2c03a
- call Function2c0c5
- ld hl, OTPartyMon1HP
- ld de, OTPartyCount
- call Function2c059
- ld hl, wcfc4
- ld a, $48
- ld [hli], a
- ld [hl], $20
- ld a, $f8
- ld [wd003], a
- ld hl, Sprites + $18
- jp Function2c143
-; 2c059
-
-
-Function2c059: ; 2c059
- ld a, [de]
- push af
- ld de, Buffer1
- ld c, $6
- ld a, $34
-.asm_2c062
- ld [de], a
- inc de
- dec c
- jr nz, .asm_2c062
- pop af
- ld de, Buffer1
-.asm_2c06b
- push af
- call Function2c075
- inc de
- pop af
- dec a
- jr nz, .asm_2c06b
- ret
-; 2c075
-
-Function2c075: ; 2c075
- ld a, [hli]
- and a
- jr nz, .asm_2c07f
- ld a, [hl]
- and a
- ld b, $33
- jr z, .asm_2c08b
-
-.asm_2c07f
-rept 3
- dec hl
-endr
- ld a, [hl]
- and a
- ld b, $32
- jr nz, .asm_2c08e
- dec b
- jr .asm_2c08e
-
-.asm_2c08b
-rept 3
- dec hl
-endr
-
-.asm_2c08e
- ld a, b
- ld [de], a
- ld bc, $32
- add hl, bc
- ret
-; 2c095
-
-DrawPlayerExpBar: ; 2c095
- ld hl, .data_2c0a9
- ld de, wd004
- ld bc, 4
- call CopyBytes
- hlcoord 18, 10
- ld de, -1
- jr Function2c0f1
-
-.data_2c0a9
- db $73
- db $77
- db $6f
- db $76
-; 2c0ad
-
-Function2c0ad: ; 2c0ad
- ld hl, .data_2c0c1
- ld de, wd004
- ld bc, 4
- call CopyBytes
- hlcoord 18, 10
- ld de, -1
- jr Function2c0f1
-
-.data_2c0c1
- db $73, $5c, $6f, $76
-; 2c0c5
-
-Function2c0c5: ; 2c0c5
- ld hl, .data_2c0ed
- ld de, wd004
- ld bc, 4
- call CopyBytes
- hlcoord 1, 2
- ld de, 1
- call Function2c0f1
- ld a, [wBattleMode]
- dec a
- ret nz
- ld a, [TempEnemyMonSpecies]
- dec a
- call CheckCaughtMon
- ret z
- hlcoord 1, 1
- ld [hl], $5d
- ret
-
-.data_2c0ed
- db $6d
- db $74
- db $78
- db $76
-; 2c0f1
-
-Function2c0f1: ; 2c0f1
- ld a, [wd004]
- ld [hl], a
- ld bc, SCREEN_WIDTH
- add hl, bc
- ld a, [StartFlypoint]
- ld [hl], a
- ld b, $8
-.asm_2c0ff
- add hl, de
- ld a, [MovementBuffer]
- ld [hl], a
- dec b
- jr nz, .asm_2c0ff
- add hl, de
- ld a, [EndFlypoint]
- ld [hl], a
- ret
-; 2c10d
-
-
-Function2c10d: ; 2c10d
- call Function2c165
- ld hl, PartyMon1HP
- ld de, PartyCount
- call Function2c059
- ld hl, wcfc4
- ld a, $50
- ld [hli], a
- ld [hl], $40
- ld a, $8
- ld [wd003], a
- ld hl, Sprites
- call Function2c143
- ld hl, OTPartyMon1HP
- ld de, OTPartyCount
- call Function2c059
- ld hl, wcfc4
- ld a, "@"
- ld [hli], a
- ld [hl], $68
- ld hl, Sprites + $18
- jp Function2c143
-; 2c143
-
-Function2c143: ; 2c143
- ld de, Buffer1
- ld c, $6
-.loop
- ld a, [wcfc5]
- ld [hli], a
- ld a, [wcfc4]
- ld [hli], a
- ld a, [de]
- ld [hli], a
- ld a, $3
- ld [hli], a
- ld a, [wcfc4]
- ld b, a
- ld a, [wd003]
- add b
- ld [wcfc4], a
- inc de
- dec c
- jr nz, .loop
- ret
-; 2c165
-
-Function2c165: ; 2c165
- ld de, GFX_2c172
- ld hl, VTiles0 tile $31
- lb bc, BANK(GFX_2c172), 4
- call Get2bpp_2
- ret
-; 2c172
-
-GFX_2c172: ; 2c172
-INCBIN "gfx/battle/balls.2bpp"
-; 2c1b2
-
-_ShowLinkBattleParticipants: ; 2c1b2
- call ClearBGPalettes
- call LoadFontsExtra
- hlcoord 2, 3
- ld b, 9
- ld c, 14
- call TextBox
- hlcoord 4, 5
- ld de, PlayerName
- call PlaceString
- hlcoord 4, 10
- ld de, OTPlayerName
- call PlaceString
- hlcoord 9, 8
- ld a, $69
- ld [hli], a
- ld [hl], $6a
- callba Function2c10d ; no need to callba
- ld b, SCGB_08
- call GetSGBLayout
- call SetPalettes
- ld a, $e4
- ld [rOBP0], a
- ret
-; 2c1ef
-
-
TrainerClassNames:: ; 2c1ef
- db "LEADER@"
- db "LEADER@"
- db "LEADER@"
- db "LEADER@"
- db "LEADER@"
- db "LEADER@"
- db "LEADER@"
- db "LEADER@"
- db "RIVAL@"
- db "#MON PROF.@"
- db "ELITE FOUR@"
- db "<PKMN> TRAINER@"
- db "ELITE FOUR@"
- db "ELITE FOUR@"
- db "ELITE FOUR@"
- db "CHAMPION@"
- db "LEADER@"
- db "LEADER@"
- db "LEADER@"
- db "SCIENTIST@"
- db "LEADER@"
- db "YOUNGSTER@"
- db "SCHOOLBOY@"
- db "BIRD KEEPER@"
- db "LASS@"
- db "LEADER@"
- db "COOLTRAINER@"
- db "COOLTRAINER@"
- db "BEAUTY@"
- db "#MANIAC@"
- db "ROCKET@"
- db "GENTLEMAN@"
- db "SKIER@"
- db "TEACHER@"
- db "LEADER@"
- db "BUG CATCHER@"
- db "FISHER@"
- db "SWIMMER♂@"
- db "SWIMMER♀@"
- db "SAILOR@"
- db "SUPER NERD@"
- db "RIVAL@"
- db "GUITARIST@"
- db "HIKER@"
- db "BIKER@"
- db "LEADER@"
- db "BURGLAR@"
- db "FIREBREATHER@"
- db "JUGGLER@"
- db "BLACKBELT@"
- db "ROCKET@"
- db "PSYCHIC@"
- db "PICNICKER@"
- db "CAMPER@"
- db "ROCKET@"
- db "SAGE@"
- db "MEDIUM@"
- db "BOARDER@"
- db "#FAN@"
- db "KIMONO GIRL@"
- db "TWINS@"
- db "#FAN@"
- db "<PKMN> TRAINER@"
- db "LEADER@"
- db "OFFICER@"
- db "ROCKET@"
- db "MYSTICALMAN@"
+INCLUDE "text/trainer_class_names.asm"
+INCLUDE "battle/ai/redundant.asm"
-
-AI_Redundant: ; 2c41a
-; Check if move effect c will fail because it's already been used.
-; Return z if the move is a good choice.
-; Return nz if the move is a bad choice.
- ld a, c
- ld de, 3
- ld hl, .Moves
- call IsInArray
- jp nc, .NotRedundant
- inc hl
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-
-.Moves: ; 2c42c
- dbw EFFECT_DREAM_EATER, .DreamEater
- dbw EFFECT_HEAL, .Heal
- dbw EFFECT_LIGHT_SCREEN, .LightScreen
- dbw EFFECT_MIST, .Mist
- dbw EFFECT_FOCUS_ENERGY, .FocusEnergy
- dbw EFFECT_CONFUSE, .Confuse
- dbw EFFECT_TRANSFORM, .Transform
- dbw EFFECT_REFLECT, .Reflect
- dbw EFFECT_SUBSTITUTE, .Substitute
- dbw EFFECT_LEECH_SEED, .LeechSeed
- dbw EFFECT_DISABLE, .Disable
- dbw EFFECT_ENCORE, .Encore
- dbw EFFECT_SNORE, .Snore
- dbw EFFECT_SLEEP_TALK, .SleepTalk
- dbw EFFECT_MEAN_LOOK, .MeanLook
- dbw EFFECT_NIGHTMARE, .Nightmare
- dbw EFFECT_SPIKES, .Spikes
- dbw EFFECT_FORESIGHT, .Foresight
- dbw EFFECT_PERISH_SONG, .PerishSong
- dbw EFFECT_SANDSTORM, .Sandstorm
- dbw EFFECT_ATTRACT, .Attract
- dbw EFFECT_SAFEGUARD, .Safeguard
- dbw EFFECT_RAIN_DANCE, .RainDance
- dbw EFFECT_SUNNY_DAY, .SunnyDay
- dbw EFFECT_TELEPORT, .Teleport
- dbw EFFECT_MORNING_SUN, .MorningSun
- dbw EFFECT_SYNTHESIS, .Synthesis
- dbw EFFECT_MOONLIGHT, .Moonlight
- dbw EFFECT_SWAGGER, .Swagger
- dbw EFFECT_FUTURE_SIGHT, .FutureSight
- db -1
-
-.LightScreen: ; 2c487
- ld a, [EnemyScreens]
- bit SCREENS_LIGHT_SCREEN, a
- ret
-
-.Mist: ; 2c48d
- ld a, [EnemySubStatus4]
- bit SUBSTATUS_MIST, a
- ret
-
-.FocusEnergy: ; 2c493
- ld a, [EnemySubStatus4]
- bit SUBSTATUS_FOCUS_ENERGY, a
- ret
-
-.Confuse: ; 2c499
- ld a, [PlayerSubStatus3]
- bit SUBSTATUS_CONFUSED, a
- ret nz
- ld a, [PlayerScreens]
- bit SCREENS_SAFEGUARD, a
- ret
-
-.Transform: ; 2c4a5
- ld a, [EnemySubStatus5]
- bit SUBSTATUS_TRANSFORMED, a
- ret
-
-.Reflect: ; 2c4ab
- ld a, [EnemyScreens]
- bit SCREENS_REFLECT, a
- ret
-
-.Substitute: ; 2c4b1
- ld a, [EnemySubStatus4]
- bit SUBSTATUS_SUBSTITUTE, a
- ret
-
-.LeechSeed: ; 2c4b7
- ld a, [PlayerSubStatus4]
- bit SUBSTATUS_LEECH_SEED, a
- ret
-
-.Disable: ; 2c4bd
- ld a, [PlayerDisableCount]
- and a
- ret
-
-.Encore: ; 2c4c2
- ld a, [PlayerSubStatus5]
- bit SUBSTATUS_ENCORED, a
- ret
-
-.Snore:
-.SleepTalk: ; 2c4c8
- ld a, [EnemyMonStatus]
- and SLP
- jr z, .Redundant
- jr .NotRedundant
-
-.MeanLook: ; 2c4d1
- ld a, [EnemySubStatus5]
- bit SUBSTATUS_CANT_RUN, a
- ret
-
-.Nightmare: ; 2c4d7
- ld a, [BattleMonStatus]
- and a
- jr z, .Redundant
- ld a, [PlayerSubStatus1]
- bit SUBSTATUS_NIGHTMARE, a
- ret
-
-.Spikes: ; 2c4e3
- ld a, [PlayerScreens]
- bit SCREENS_SPIKES, a
- ret
-
-.Foresight: ; 2c4e9
- ld a, [PlayerSubStatus1]
- bit SUBSTATUS_IDENTIFIED, a
- ret
-
-.PerishSong: ; 2c4ef
- ld a, [PlayerSubStatus1]
- bit SUBSTATUS_PERISH, a
- ret
-
-.Sandstorm: ; 2c4f5
- ld a, [Weather]
- cp WEATHER_SANDSTORM
- jr z, .Redundant
- jr .NotRedundant
-
-.Attract: ; 2c4fe
- callba CheckOppositeGender
- jr c, .Redundant
- ld a, [PlayerSubStatus1]
- bit SUBSTATUS_IN_LOVE, a
- ret
-
-.Safeguard: ; 2c50c
- ld a, [EnemyScreens]
- bit SCREENS_SAFEGUARD, a
- ret
-
-.RainDance: ; 2c512
- ld a, [Weather]
- cp WEATHER_RAIN
- jr z, .Redundant
- jr .NotRedundant
-
-.SunnyDay: ; 2c51b
- ld a, [Weather]
- cp WEATHER_SUN
- jr z, .Redundant
- jr .NotRedundant
-
-.DreamEater: ; 2c524
- ld a, [BattleMonStatus]
- and SLP
- jr z, .Redundant
- jr .NotRedundant
-
-.Swagger: ; 2c52d
- ld a, [PlayerSubStatus3]
- bit SUBSTATUS_CONFUSED, a
- ret
-
-.FutureSight: ; 2c533
- ld a, [EnemyScreens]
- bit 5, a
- ret
-
-.Heal:
-.MorningSun:
-.Synthesis:
-.Moonlight: ; 2c539
- callba AICheckEnemyMaxHP
- jr nc, .NotRedundant
-
-.Teleport:
-.Redundant: ; 2c541
- ld a, 1
- and a
- ret
-
-.NotRedundant: ; 2c545
- xor a
- ret
-
-
INCLUDE "event/move_deleter.asm"
+INCLUDE "engine/mysterygift2.asm"
-Function2c642: ; 2c642 (b:4642)
- ld de, OverworldMap
- ld a, $1
- ld [de], a
- inc de
- ld a, BANK(sGameData)
- call GetSRAMBank
- ld hl, sPlayerData + PlayerID - wPlayerData
- ld a, [hli]
- ld [de], a
- ld b, a
- inc de
- ld a, [hl]
- ld [de], a
- ld c, a
- inc de
- push bc
- ld hl, sPlayerData + PlayerName - wPlayerData
- ld bc, NAME_LENGTH
- call CopyBytes
- push de
- ld hl, sPokemonData + PokedexCaught - wPokemonData
- ld b, (NUM_POKEMON + 7) / 8
- call CountSetBits
- pop de
- pop bc
- ld a, [wd265]
- ld [de], a
- inc de
- call CloseSRAM
- call Random
- and $1
- ld [de], a
- inc de
- call Function2c6ac
- ld [de], a
- inc de
- ld a, c
- ld c, b
- ld b, a
- call Function2c6ac
- ld [de], a
- inc de
- ld a, BANK(sBackupMysteryGiftItem)
- call GetSRAMBank
- ld a, [sBackupMysteryGiftItem]
- ld [de], a
- inc de
- ld a, [sBackupMysteryGiftItem + 1]
- ld [de], a
- ld a, $14
- ld [wca00], a
- call CloseSRAM
- ld hl, OverworldMap
- ld de, wc950
- ld bc, SCREEN_WIDTH
- jp CopyBytes
+INCLUDE "engine/tmhm2.asm"
-Function2c6ac: ; 2c6ac (b:46ac)
- push de
- call Random
- cp $19 ; 10 percent
- jr c, .tenpercent
- call Random
- and $7
- ld d, a
- rl d
- ld e, $80
-.loop
- rlc e
- dec a
- jr nz, .loop
- ld a, e
- and c
- jr z, .skip
- ld a, $1
-.skip
- add d
- jr .done
-
-.tenpercent
- call Random
- cp $32 ; 20 percent
- jr c, .twopercent
- call Random
- and $3
- ld d, a
- rl d
- ld e, $80
-.loop2
- rlc e
- dec a
- jr nz, .loop2
- ld a, e
- and b
- jr z, .skip2
- ld a, $1
-.skip2
- add d
- add $10
- jr .done
-
-.twopercent
- call Random
- cp $32 ; 50 ; 20 percent
- jr c, .pointfourpercent
- ld a, b
- swap a
- and $7
- add $18
- jr .done
-
-.pointfourpercent
- ld a, b
- and $80
- ld a, $20
- jr z, .done
- ld a, $21
-
-.done
- pop de
- ret
-
-MysteryGiftGetItemHeldEffect: ; 2c708 (b:4708)
- ld a, c
- cp $25 ; 37
- jr nc, Function2c722
- ld hl, Unknown_2c725
- ld b, 0
- add hl, bc
- ld c, [hl]
- ret
-
-MysteryGiftGetDecoration: ; 2c715 (b:4715)
- ld a, c
- cp $25 ; 37
- jr nc, Function2c722
- ld hl, Unknown_2c74a
- ld b, 0
- add hl, bc
- ld c, [hl]
- ret
-
-Function2c722: ; 2c722 (b:4722)
- ld c, DECO_POLKADOT_BED ; GREAT_BALL
- ret
-; 2c725 (b:4725)
-
-Unknown_2c725: ; 2c725
-; May or may not be items.
- db BERRY
- db PRZCUREBERRY
- db MINT_BERRY
- db ICE_BERRY
- db BURNT_BERRY
- db PSNCUREBERRY
- db GUARD_SPEC
- db X_DEFEND
- db X_ATTACK
- db BITTER_BERRY
- db DIRE_HIT
- db X_SPECIAL
- db X_ACCURACY
- db EON_MAIL
- db MORPH_MAIL
- db MUSIC_MAIL
- db MIRACLEBERRY
- db GOLD_BERRY
- db REVIVE
- db GREAT_BALL
- db SUPER_REPEL
- db MAX_REPEL
- db ELIXER
- db ETHER
- db WATER_STONE
- db FIRE_STONE
- db LEAF_STONE
- db THUNDERSTONE
- db MAX_ETHER
- db MAX_ELIXER
- db MAX_REVIVE
- db SCOPE_LENS
- db HP_UP
- db PP_UP
- db RARE_CANDY
- db BLUESKY_MAIL
- db MIRAGE_MAIL
-; 2c74a
-
-Unknown_2c74a: ; 2c74a
-; May or may not be items.
- db DECO_SNES
- db DECO_BIG_SNORLAX_DOLL
- db DECO_BIG_ONIX_DOLL
- db DECO_BIG_LAPRAS_DOLL
- db DECO_DOLLS
- db DECO_PIKACHU_DOLL
- db DECO_SURF_PIKACHU_DOLL
- db DECO_CLEFAIRY_DOLL
- db DECO_JIGGLYPUFF_DOLL
- db DECO_BULBASAUR_DOLL
- db DECO_TROPICPLANT
- db DECO_JUMBOPLANT
- db DECO_TOWN_MAP
- db DECO_CHARMANDER_DOLL
- db DECO_POLIWAG_DOLL
- db DECO_DIGLETT_DOLL
- db DECO_BLUE_CARPET
- db DECO_YELLOW_CARPET
- db DECO_POSTERS
- db DECO_PIKACHU_POSTER
- db DECO_N64
- db DECO_BIG_DOLLS
- db DECO_BEDS
- db DECO_FEATHERY_BED
- db DECO_POLKADOT_BED
- db DECO_PIKACHU_BED
- db DECO_CARPETS
- db DECO_RED_CARPET
- db DECO_GREEN_CARPET
- db DECO_CLEFAIRY_POSTER
- db DECO_ODDISH_DOLL
- db DECO_MAGNAPLANT
- db DECO_GENGAR_DOLL
- db DECO_CONSOLES
- db DECO_PINK_BED
- db DECO_SQUIRTLE_DOLL
- db DECO_STARMIE_DOLL
-; 2c76f
-
-Function2c76f: ; 2c76f (b:476f)
- ld a, $1
- ld [hInMenu], a
- call Function2c8d3
- ld a, $0
- ld [hInMenu], a
- ret nc
- call Function1bee
- call WaitBGMap
- ld a, [CurItem]
- dec a
- ld [wd107], a
- ld hl, TMsHMs
- ld c, a
- ld b, $0
- add hl, bc
- ld a, [hl]
- ld [wItemQuantityBuffer], a
- call Function2c798
- scf
- ret
-
-Function2c798: ; 2c798 (b:4798)
- ld a, [CurItem]
- ld c, a
- callab GetNumberedTMHM
- ld a, c
- ld [CurItem], a
- ret
-
-ConvertCurItemIntoCurTMHM: ; 2c7a7 (b:47a7)
- ld a, [CurItem]
- ld c, a
- callab GetTMHMNumber
- ld a, c
- ld [wCurTMHM], a
- ret
-
-GetTMHMItemMove: ; 2c7b6 (b:47b6)
- call ConvertCurItemIntoCurTMHM
- predef GetTMHMMove
- ret
-
-Function2c7bf: ; 2c7bf (b:47bf)
- ld hl, Options
- ld a, [hl]
- push af
- res 4, [hl]
- ld a, [CurItem]
- cp TM01
- jr c, .NotTMHM
- call GetTMHMItemMove
- ld a, [wCurTMHM]
- ld [wd262], a
- call GetMoveName
- call CopyName1
- ld hl, UnknownText_0x2c8bf ; Booted up a TM
- ld a, [CurItem]
- cp HM01
- jr c, .TM
- ld hl, UnknownText_0x2c8c4 ; Booted up an HM
-.TM
- call PrintText
- ld hl, UnknownText_0x2c8c9
- call PrintText
- call YesNoBox
-.NotTMHM
- pop bc
- ld a, b
- ld [Options], a
- ret
-
-
-Function2c7fb: ; 2c7fb
- ld hl, StringBuffer2
- ld de, wd066
- ld bc, $c
- call CopyBytes
- call ClearBGPalettes
-
-Function2c80a: ; 2c80a
- callba LoadPartyMenuGFX
- callba InitPartyMenuWithCancel
- callba InitPartyMenuGFX
- ld a, $3
- ld [PartyMenuActionText], a
-.loopback
- callba WritePartyMenuTilemap
- callba PrintPartyMenuText
- call WaitBGMap
- call SetPalettes
- call DelayFrame
- callba PartyMenuSelect
- push af
- ld a, [CurPartySpecies]
- cp EGG
- pop bc ; now contains the former contents of af
- jr z, .egg
- push bc
- ld hl, wd066
- ld de, StringBuffer2
- ld bc, $c
- call CopyBytes
- pop af ; now contains the original contents of af
- ret
-
-.egg
- push hl
- push de
- push bc
- push af
- ld de, SFX_WRONG
- call PlaySFX
- call WaitSFX
- pop af
- pop bc
- pop de
- pop hl
- jr .loopback
-; 2c867
-
-Function2c867: ; 2c867
- predef CanLearnTMHMMove
-
- push bc
- ld a, [CurPartyMon]
- ld hl, PartyMonNicknames
- call GetNick
- pop bc
-
- ld a, c
- and a
- jr nz, .compatible
- push de
- ld de, SFX_WRONG
- call PlaySFX
- pop de
- ld hl, UnknownText_0x2c8ce
- call PrintText
- jr .nope
-
-.compatible
- callab KnowsMove
- jr c, .nope
-
- predef LearnMove
- ld a, b
- and a
- jr z, .nope
-
- callba MobileFn_106049
- ld a, [CurItem]
- call IsHM
- ret c
-
- ld c, HAPPINESS_LEARNMOVE
- callab ChangeHappiness
- call Function2cb0c
- jr .asm_2c8bd
-
-.nope
- and a
- ret
-
-.asm_2c8b8
- ld a, $2
- ld [wd0ec], a
-
-.asm_2c8bd
- scf
- ret
-; 2c8bf (b:48bf)
-
-UnknownText_0x2c8bf: ; 0x2c8bf
- ; Booted up a TM.
- text_jump UnknownText_0x1c0373
- db "@"
-; 0x2c8c4
-
-UnknownText_0x2c8c4: ; 0x2c8c4
- ; Booted up an HM.
- text_jump UnknownText_0x1c0384
- db "@"
-; 0x2c8c9
-
-UnknownText_0x2c8c9: ; 0x2c8c9
- ; It contained @ . Teach @ to a #MON?
- text_jump UnknownText_0x1c0396
- db "@"
-; 0x2c8ce
-
-UnknownText_0x2c8ce: ; 0x2c8ce
- ; is not compatible with @ . It can't learn @ .
- text_jump UnknownText_0x1c03c2
- db "@"
-; 0x2c8d3
-
-Function2c8d3: ; 2c8d3 (b:48d3)
- xor a
- ld [hBGMapMode], a
- call Function2c9e2
- ld a, $2
- ld [wcfa1], a
- ld a, $7
- ld [wcfa2], a
- ld a, $1
- ld [wcfa4], a
- ld a, $5
- sub d
- inc a
- cp $6
- jr nz, .asm_2c8f1
- dec a
-.asm_2c8f1
- ld [wcfa3], a
- ld a, $c
- ld [wcfa5], a
- xor a
- ld [wcfa6], a
- ld a, $20
- ld [wcfa7], a
- ld a, $f3
- ld [wcfa8], a
- ld a, [wTMHMPocketCursor]
- inc a
- ld [MenuSelection2], a
- ld a, $1
- ld [wcfaa], a
- jr Function2c946
-
-Function2c915: ; 2c915 (b:4915)
- call Function2c9e2
- call Function1bc9
- ld b, a
- ld a, [MenuSelection2]
- dec a
- ld [wTMHMPocketCursor], a
- xor a
- ld [hBGMapMode], a
- ld a, [wcfa6]
- bit 7, a
- jp nz, Function2c9b1
- ld a, b
- ld [wcf73], a
- bit 0, a
- jp nz, Function2c974
- bit 1, a
- jp nz, Function2c9a5
- bit 4, a
- jp nz, Function2c9af
- bit 5, a
- jp nz, Function2c9af
-
-Function2c946: ; 2c946 (b:4946)
- call Function2c98a
- jp nc, Function2c9af
- hlcoord 0, 12
- ld b, $4
- ld c, $12
- call TextBox
- ld a, [CurItem]
- cp $3a
- jr nc, Function2c915
- ld [wd265], a
- predef GetTMHMMove
- ld a, [wd265]
- ld [CurSpecies], a
- hlcoord 1, 14
- call PrintMoveDesc
- jp Function2c915
-
-Function2c974: ; 2c974 (b:4974)
- call Function2cad6
- call Function2cb2a
- ld a, [MenuSelection2]
- dec a
- ld b, a
- ld a, [wTMHMPocketScrollPosition]
- add b
- ld b, a
- ld a, [wd265]
- cp b
- jr z, asm_2c9a8
-
-Function2c98a: ; 2c98a (b:498a)
- call Function2cab5
- ld a, [MenuSelection2]
- ld b, a
-.asm_2c991
- inc c
- ld a, c
- cp $3a
- jr nc, .asm_2c99f
- ld a, [hli]
- and a
- jr z, .asm_2c991
- dec b
- jr nz, .asm_2c991
- ld a, c
-.asm_2c99f
- ld [CurItem], a
- cp $ff
- ret
-
-Function2c9a5: ; 2c9a5 (b:49a5)
- call Function2cad6
-
-asm_2c9a8: ; 2c9a8 (b:49a8)
- ld a, $2
- ld [wcf73], a
- and a
- ret
-
-Function2c9af: ; 2c9af (b:49af)
- and a
- ret
-
-Function2c9b1: ; 2c9b1 (b:49b1)
- ld a, b
- bit 7, a
- jr nz, .skip
- ld hl, wTMHMPocketScrollPosition
- ld a, [hl]
- and a
- jp z, Function2c915
- dec [hl]
- call Function2c9e2
- jp Function2c946
-
-.skip
- call Function2cab5
- ld b, $5
-.loop
- inc c
- ld a, c
- cp NUM_TMS + NUM_HMS + 1
- jp nc, Function2c915
- ld a, [hli]
- and a
- jr z, .loop
- dec b
- jr nz, .loop
- ld hl, wTMHMPocketScrollPosition
- inc [hl]
- call Function2c9e2
- jp Function2c946
-
-Function2c9e2: ; 2c9e2 (b:49e2)
- ld a, [BattleType]
- cp BATTLETYPE_TUTORIAL
- jp z, Function2caca
-
- hlcoord 5, 2
- lb bc, 10, 15
- ld a, " "
- call ClearBox
- call Function2cab5
- ld d, $5
-.loop2
- inc c
- ld a, c
- cp NUM_TMS + NUM_HMS + 1
- jr nc, .NotTMHM
- ld a, [hli]
- and a
- jr z, .loop2
- ld b, a
- ld a, c
- ld [wd265], a
- push hl
- push de
- push bc
- call Function2ca86
- push hl
- ld a, [wd265]
- cp NUM_TMS + 1
- jr nc, .HM
- ld de, wd265
- lb bc, PRINTNUM_LEADINGZEROS | 1, 2
- call PrintNum
- jr .okay
-
-.HM
- push af
- sub NUM_TMS
- ld [wd265], a
- ld [hl], "H"
- inc hl
- ld de, wd265
- lb bc, PRINTNUM_RIGHTALIGN | 1, 2
- call PrintNum
- pop af
- ld [wd265], a
-.okay
- predef GetTMHMMove
- ld a, [wd265]
- ld [wd262], a
- call GetMoveName
- pop hl
- ld bc, $3
- add hl, bc
- push hl
- call PlaceString
- pop hl
- pop bc
- ld a, c
- push bc
- cp NUM_TMS + 1
- jr nc, .hm2
- ld bc, $1d
- add hl, bc
- ld [hl], $f1
- inc hl
- ld a, "0" ; why are we doing this?
- pop bc
- push bc
- ld a, b
- ld [wd265], a
- ld de, wd265
- lb bc, 1, 2
- call PrintNum
-.hm2
- pop bc
- pop de
- pop hl
- dec d
- jr nz, .loop2
- jr .done
-
-.NotTMHM
- call Function2ca86
-rept 3
- inc hl
-endr
- push de
- ld de, String_2caae
- call PlaceString
- pop de
-.done
- ret
-
-Function2ca86: ; 2ca86 (b:4a86)
- hlcoord 5, 0
- ld bc, $28
- ld a, 6
- sub d
- ld e, a
-.loop
- add hl, bc
- dec e
- jr nz, .loop
- ret
-; 2ca95 (b:4a95)
-
-Function2ca95: ; 2ca95
- pop hl
- ld bc, 3
- add hl, bc
- predef GetTMHMMove
- ld a, [wd265]
- ld [wd262], a
- call GetMoveName
- push hl
- call PlaceString
- pop hl
- ret
-; 2caae
-
-String_2caae: ; 2caae
- db "CANCEL@"
-; 2cab5
-
-Function2cab5: ; 2cab5 (b:4ab5)
- ld hl, TMsHMs
- ld a, [wTMHMPocketScrollPosition]
- ld b, a
- inc b
- ld c, 0
-.loop
- inc c
- ld a, [hli]
- and a
- jr z, .loop
- dec b
- jr nz, .loop
- dec hl
- dec c
- ret
-
-Function2caca: ; 2caca (b:4aca)
- hlcoord 9, 3
- push de
- ld de, String_2caae
- call PlaceString
- pop de
- ret
-
-Function2cad6: ; 2cad6 (b:4ad6)
- push de
- ld de, SFX_READ_TEXT_2
- call PlaySFX
- pop de
- ret
-; 2cadf (b:4adf)
-
-Function2cadf: ; 2cadf
- call ConvertCurItemIntoCurTMHM
- call Function2cafa
- ld hl, UnknownText_0x2caf0
- jr nc, .asm_2caed
- ld hl, UnknownText_0x2caf5
-
-.asm_2caed
- jp PrintText
-; 2caf0
-
-UnknownText_0x2caf0: ; 0x2caf0
- ; You have no room for any more @ S.
- text_jump UnknownText_0x1c03fa
- db "@"
-; 0x2caf5
-
-UnknownText_0x2caf5: ; 0x2caf5
- ; You received @ !
- text_jump UnknownText_0x1c0421
- db "@"
-; 0x2cafa
-
-Function2cafa: ; 2cafa
- ld a, [wd265]
- dec a
- ld hl, TMsHMs
- ld b, 0
- ld c, a
- add hl, bc
- ld a, [hl]
- inc a
- cp NUM_TMS * 2
- ret nc
- ld [hl], a
- ret
-; 2cb0c
-
-Function2cb0c: ; 2cb0c (b:4b0c)
- call ConvertCurItemIntoCurTMHM
- ld a, [wd265]
- dec a
- ld hl, TMsHMs
- ld b, 0
- ld c, a
- add hl, bc
- ld a, [hl]
- and a
- ret z
- dec a
- ld [hl], a
- ret nz
- ld a, [wTMHMPocketScrollPosition]
- and a
- ret z
- dec a
- ld [wTMHMPocketScrollPosition], a
- ret
-
-Function2cb2a: ; 2cb2a (b:4b2a)
- ld b, $0
- ld c, $39
- ld hl, TMsHMs
-.asm_2cb31
- ld a, [hli]
- and a
- jr z, .asm_2cb36
- inc b
-.asm_2cb36
- dec c
- jr nz, .asm_2cb31
- ld a, b
- ld [wd265], a
- ret
-
-
-PrintMoveDesc: ; 2cb3e
- push hl
- ld hl, MoveDescriptions
- ld a, [CurSpecies]
- dec a
- ld c, a
- ld b, 0
-rept 2
- add hl, bc
-endr
- ld a, [hli]
- ld e, a
- ld d, [hl]
- pop hl
- jp PlaceString
-; 2cb52
-
MoveDescriptions:: ; 2cb52
INCLUDE "battle/moves/move_descriptions.asm"
; 2ed44
-
-Function2ed44: ; 2ed44
+GivePokerusAndConvertBerries: ; 2ed44
call ConvertBerriesToBerryJuice
ld hl, PartyMon1PokerusStatus
ld a, [PartyCount]
@@ -13907,12 +6784,11 @@
jr z, .randomPokerusLoop
ld b, a
and $f0
- jr z, .asm_2ed91
+ jr z, .load_pkrs
ld a, b
and $7
inc a
-
-.asm_2ed91
+.load_pkrs
ld b, a
swap b
and $3
@@ -13923,10 +6799,10 @@
.monHasActivePokerus
call Random
- cp $55
+ cp 1 + 33 percent
ret nc ; 1/3 chance
ld a, [PartyCount]
- cp $1
+ cp 1
ret z ; only one mon, nothing to do
ld c, [hl]
ld a, b
@@ -14035,7 +6911,6 @@
ret
; 2ee2f
-
FindFirstAliveMon: ; 2ee2f
xor a
ld [hMapAnims], a
@@ -14071,7 +6946,6 @@
ret
; 2ee6c
-
PlayBattleMusic: ; 2ee6c
push hl
@@ -14174,13 +7048,12 @@
ret
; 2ef18
-
ClearBattleRAM: ; 2ef18
xor a
- ld [wd0ec], a
+ ld [wPlayerAction], a
ld [wBattleResult], a
- ld hl, wd0d8
+ ld hl, wPartyMenuCursor
rept 3
ld [hli], a
endr
@@ -14217,26 +7090,25 @@
callab ResetEnemyStatLevels
- call ResetTextRelatedRAM
+ call ClearWindowData
ld hl, hBGMapAddress
xor a
ld [hli], a
- ld [hl], $98
+ ld [hl], VBGMap0 / $100
ret
; 2ef6e
-
FillBox: ; 2ef6e
-; Fill wc2c6-aligned box width b height c
+; Fill wBoxAlignment-aligned box width b height c
; with iterating tile starting from hFillBox at hl.
; Predef $13
- ld de, 20
+ ld de, SCREEN_WIDTH
- ld a, [wc2c6]
+ ld a, [wBoxAlignment]
and a
- jr nz, .left
+ jr nz, .right
ld a, [hFillBox]
.x1
@@ -14257,7 +7129,7 @@
jr nz, .x1
ret
-.left
+.right
; Right-aligned.
push bc
ld b, 0
@@ -14285,25 +7157,21 @@
ret
; 2ef9f
-
SECTION "Tileset Data 4", ROMX, BANK[TILESETS_4]
INCLUDE "tilesets/data_4.asm"
+SECTION "Effect Commands", ROMX, BANK[$D]
-SECTION "bankD", ROMX, BANK[$D]
-
INCLUDE "battle/effect_commands.asm"
+SECTION "Enemy Trainers", ROMX, BANK[$E]
-SECTION "bankE", ROMX, BANK[$E]
-
INCLUDE "battle/ai/items.asm"
AIScoring: ; 38591
INCLUDE "battle/ai/scoring.asm"
-
GetTrainerClassName: ; 3952d
ld hl, RivalName
ld a, c
@@ -14326,8 +7194,8 @@
ret
; 39550
-Function39550: ; 39550
- ld hl, wd26b
+GetOTName: ; 39550
+ ld hl, OTPlayerName
ld a, [wLinkMode]
and a
jr nz, .ok
@@ -14352,13 +7220,13 @@
ret
; 3957b
-Function3957b: ; 3957b
+GetTrainerAttributes: ; 3957b
ld a, [TrainerClass]
ld c, a
- call Function39550
+ call GetOTName
ld a, [TrainerClass]
dec a
- ld hl, TrainerClassAttributes
+ ld hl, TrainerClassAttributes + TRNATTR_ITEM1
ld bc, NUM_TRAINER_ATTRIBUTES
call AddNTimes
ld de, wEnemyTrainerItem1
@@ -14374,491 +7242,22 @@
INCLUDE "trainers/attributes.asm"
+INCLUDE "trainers/read_party.asm"
-ReadTrainerParty: ; 39771
- ld a, [InBattleTowerBattle]
- bit 0, a
- ret nz
-
- ld a, [wLinkMode]
- and a
- ret nz
-
- ld hl, OTPartyCount
- xor a
- ld [hli], a
- dec a
- ld [hl], a
-
- ld hl, OTPartyMons
- ld bc, OTPartyMonsEnd - OTPartyMons
- xor a
- call ByteFill
-
- ld a, [OtherTrainerClass]
- cp CAL
- jr nz, .not_cal2
- ld a, [OtherTrainerID]
- cp CAL2
- jr z, .cal2
- ld a, [OtherTrainerClass]
-.not_cal2
-
- dec a
- ld c, a
- ld b, 0
- ld hl, TrainerGroups
-rept 2
- add hl, bc
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
-
- ld a, [OtherTrainerID]
- ld b, a
-.skip_trainer
- dec b
- jr z, .got_trainer
-.loop
- ld a, [hli]
- cp $ff
- jr nz, .loop
- jr .skip_trainer
-.got_trainer
-
-.skip_name
- ld a, [hli]
- cp "@"
- jr nz, .skip_name
-
- ld a, [hli]
- ld c, a
- ld b, 0
- ld d, h
- ld e, l
- ld hl, TrainerTypes
-rept 2
- add hl, bc
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld bc, .done
- push bc
- jp [hl]
-
-.done
- jp ComputeTrainerReward
-
-.cal2
- ld a, BANK(sMysteryGiftTrainer)
- call GetSRAMBank
- ld de, sMysteryGiftTrainer
- call TrainerType2
- call CloseSRAM
- jr .done
-; 397e3
-
-TrainerTypes: ; 397e3
- dw TrainerType1 ; level, species
- dw TrainerType2 ; level, species, moves
- dw TrainerType3 ; level, species, item
- dw TrainerType4 ; level, species, item, moves
-; 397eb
-
-TrainerType1: ; 397eb
-; normal (level, species)
- ld h, d
- ld l, e
-.loop
- ld a, [hli]
- cp $ff
- ret z
-
- ld [CurPartyLevel], a
- ld a, [hli]
- ld [CurPartySpecies], a
- ld a, OTPARTYMON
- ld [MonType], a
- push hl
- predef TryAddMonToParty
- pop hl
- jr .loop
-; 39806
-
-TrainerType2: ; 39806
-; moves
- ld h, d
- ld l, e
-.loop
- ld a, [hli]
- cp $ff
- ret z
-
- ld [CurPartyLevel], a
- ld a, [hli]
- ld [CurPartySpecies], a
- ld a, OTPARTYMON
- ld [MonType], a
-
- push hl
- predef TryAddMonToParty
- ld a, [OTPartyCount]
- dec a
- ld hl, OTPartyMon1Moves
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld d, h
- ld e, l
- pop hl
-
- ld b, NUM_MOVES
-.copy_moves
- ld a, [hli]
- ld [de], a
- inc de
- dec b
- jr nz, .copy_moves
-
- push hl
-
- ld a, [OTPartyCount]
- dec a
- ld hl, OTPartyMon1Species
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld d, h
- ld e, l
- ld hl, MON_PP
- add hl, de
- push hl
- ld hl, MON_MOVES
- add hl, de
- pop de
-
- ld b, NUM_MOVES
-.copy_pp
- ld a, [hli]
- and a
- jr z, .copied_pp
-
- push hl
- push bc
- dec a
- ld hl, Moves + MOVE_PP
- ld bc, MOVE_LENGTH
- call AddNTimes
- ld a, BANK(Moves)
- call GetFarByte
- pop bc
- pop hl
-
- ld [de], a
- inc de
- dec b
- jr nz, .copy_pp
-.copied_pp
-
- pop hl
- jr .loop
-; 39871
-
-TrainerType3: ; 39871
-; item
- ld h, d
- ld l, e
-.loop
- ld a, [hli]
- cp $ff
- ret z
-
- ld [CurPartyLevel], a
- ld a, [hli]
- ld [CurPartySpecies], a
- ld a, OTPARTYMON
- ld [MonType], a
- push hl
- predef TryAddMonToParty
- ld a, [OTPartyCount]
- dec a
- ld hl, OTPartyMon1Item
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld d, h
- ld e, l
- pop hl
- ld a, [hli]
- ld [de], a
- jr .loop
-; 3989d (e:589d)
-
-TrainerType4: ; 3989d
-; item + moves
- ld h, d
- ld l, e
-.loop
- ld a, [hli]
- cp $ff
- ret z
-
- ld [CurPartyLevel], a
- ld a, [hli]
- ld [CurPartySpecies], a
-
- ld a, OTPARTYMON
- ld [MonType], a
-
- push hl
- predef TryAddMonToParty
- ld a, [OTPartyCount]
- dec a
- ld hl, OTPartyMon1Item
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld d, h
- ld e, l
- pop hl
-
- ld a, [hli]
- ld [de], a
-
- push hl
- ld a, [OTPartyCount]
- dec a
- ld hl, OTPartyMon1Moves
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld d, h
- ld e, l
- pop hl
-
- ld b, NUM_MOVES
-.copy_moves
- ld a, [hli]
- ld [de], a
- inc de
- dec b
- jr nz, .copy_moves
-
- push hl
-
- ld a, [OTPartyCount]
- dec a
- ld hl, OTPartyMon1
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld d, h
- ld e, l
- ld hl, MON_PP
- add hl, de
-
- push hl
- ld hl, MON_MOVES
- add hl, de
- pop de
-
- ld b, NUM_MOVES
-.copy_pp
- ld a, [hli]
- and a
- jr z, .copied_pp
-
- push hl
- push bc
- dec a
- ld hl, Moves + MOVE_PP
- ld bc, MOVE_LENGTH
- call AddNTimes
- ld a, BANK(Moves)
- call GetFarByte
- pop bc
- pop hl
-
- ld [de], a
- inc de
- dec b
- jr nz, .copy_pp
-.copied_pp
-
- pop hl
- jr .loop
-; 3991b
-
-ComputeTrainerReward: ; 3991b (e:591b)
- ld hl, hProduct
- xor a
-rept 3
- ld [hli], a
-endr
- ld a, [wEnemyTrainerBaseReward]
- ld [hli], a
- ld a, [CurPartyLevel]
- ld [hl], a
- call Multiply
- ld hl, wBattleReward
- xor a
- ld [hli], a
- ld a, [hProduct + 2]
- ld [hli], a
- ld a, [hProduct + 3]
- ld [hl], a
- ret
-
-
-Battle_GetTrainerName:: ; 39939
- ld a, [InBattleTowerBattle]
- bit 0, a
- ld hl, wd26b
- jp nz, CopyTrainerName
-
- ld a, [OtherTrainerID]
- ld b, a
- ld a, [OtherTrainerClass]
- ld c, a
-
-GetTrainerName:: ; 3994c
- ld a, c
- cp CAL
- jr nz, .not_cal2
-
- ld a, BANK(sMysteryGiftTrainerHouseFlag)
- call GetSRAMBank
- ld a, [sMysteryGiftTrainerHouseFlag]
- and a
- call CloseSRAM
- jr z, .not_cal2
-
- ld a, BANK(sMysteryGiftPartnerName)
- call GetSRAMBank
- ld hl, sMysteryGiftPartnerName
- call CopyTrainerName
- jp CloseSRAM
-
-.not_cal2
- dec c
- push bc
- ld b, 0
- ld hl, TrainerGroups
-rept 2
- add hl, bc
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- pop bc
-
-.loop
- dec b
- jr z, CopyTrainerName
-
-.skip
- ld a, [hli]
- cp $ff
- jr nz, .skip
- jr .loop
-
-CopyTrainerName: ; 39984
- ld de, StringBuffer1
- push de
- ld bc, NAME_LENGTH
- call CopyBytes
- pop de
- ret
-; 39990
-
-Function39990: ; 39990
-; This function is useless.
- ld de, StringBuffer1
- push de
- ld bc, NAME_LENGTH
- pop de
- ret
-; 39999
-
INCLUDE "trainers/trainer_pointers.asm"
INCLUDE "trainers/trainers.asm"
+SECTION "Battle Core", ROMX, BANK[$F]
-SECTION "bankF", ROMX, BANK[$F]
-
INCLUDE "battle/core.asm"
INCLUDE "battle/effect_command_pointers.asm"
-
SECTION "bank10", ROMX, BANK[$10]
-
INCLUDE "engine/pokedex.asm"
-
-Function41a7f: ; 41a7f
- xor a
- ld [hBGMapMode], a
- callba Function1de247
- call Function41af7
- call DisableLCD
- call LoadStandardFont
- call LoadFontsExtra
- call Function414b7
- call Function4147b
- ld a, [wd265]
- ld [CurPartySpecies], a
- call Function407fd
- call Function40ba0
- hlcoord 0, 17
- ld [hl], $3b
- inc hl
- ld bc, $13
- ld a, " "
- call ByteFill
- callba Function4424d
- call EnableLCD
- call WaitBGMap
- call GetBaseData
- ld de, VTiles2
- predef GetFrontpic
- ld a, $4
- call Function41423
- ld a, [CurPartySpecies]
- call PlayCry
- ret
-; 41ad7
-
-
-Function41ad7: ; 41ad7 (10:5ad7)
- ld a, $3
- ld [hBGMapMode], a
- ld c, 4
- call DelayFrames
- ret
-
-Function41ae1: ; 41ae1 (10:5ae1)
- ld a, $4
- ld [hBGMapMode], a
- ld c, 4
- call DelayFrames
- ret
-
-Function41aeb: ; 41aeb (10:5aeb)
- ld a, [hCGB]
- and a
- jr z, .asm_41af3
- call Function41ae1
-.asm_41af3
- call Function41ad7
- ret
-
-
-Function41af7: ; 41af7
- xor a
- ld [hBGMapMode], a
- ret
-; 41afb
-
-
INCLUDE "battle/moves/moves.asm"
INCLUDE "engine/evolve.asm"
@@ -14867,233 +7266,10 @@
INCLUDE "engine/fruit_trees.asm"
+INCLUDE "battle/ai/move.asm"
-AIChooseMove: ; 440ce
-; Score each move in EnemyMonMoves starting from Buffer1. Lower is better.
-; Pick the move with the lowest score.
-
-; Wildmons attack at random.
- ld a, [wBattleMode]
- dec a
- ret z
-
- ld a, [wLinkMode]
- and a
- ret nz
-
-; No use picking a move if there's no choice.
- callba CheckSubstatus_RechargeChargedRampageBideRollout
- ret nz
-
-
-; The default score is 20. Unusable moves are given a score of 80.
- ld a, 20
- ld hl, Buffer1
-rept 3
- ld [hli], a
-endr
- ld [hl], a
-
-; Don't pick disabled moves.
- ld a, [EnemyDisabledMove]
- and a
- jr z, .CheckPP
-
- ld hl, EnemyMonMoves
- ld c, 0
-.CheckDisabledMove
- cp [hl]
- jr z, .ScoreDisabledMove
- inc c
- inc hl
- jr .CheckDisabledMove
-.ScoreDisabledMove
- ld hl, Buffer1
- ld b, 0
- add hl, bc
- ld [hl], 80
-
-; Don't pick moves with 0 PP.
-.CheckPP
- ld hl, Buffer1 - 1
- ld de, EnemyMonPP
- ld b, 0
-.CheckMovePP
- inc b
- ld a, b
- cp EnemyMonMovesEnd - EnemyMonMoves + 1
- jr z, .ApplyLayers
- inc hl
- ld a, [de]
- inc de
- and $3f
- jr nz, .CheckMovePP
- ld [hl], 80
- jr .CheckMovePP
-
-
-; Apply AI scoring layers depending on the trainer class.
-.ApplyLayers
- ld hl, TrainerClassAttributes + 3
-
- ; If we have a battle in BattleTower just load the Attributes of the first TrainerClass (Falkner)
- ; so we have always the same AI, regardless of the loaded class of trainer
- ld a, [InBattleTowerBattle]
- bit 0, a
- jr nz, .battle_tower_skip
-
- ld a, [TrainerClass]
- dec a
- ld bc, 7 ; Trainer2AI - Trainer1AI
- call AddNTimes
-
-.battle_tower_skip
- lb bc, CHECK_FLAG, 0
- push bc
- push hl
-
-.CheckLayer
- pop hl
- pop bc
-
- ld a, c
- cp 16 ; up to 16 scoring layers
- jr z, .DecrementScores
-
- push bc
- ld d, BANK(TrainerClassAttributes)
- predef FlagPredef
- ld d, c
- pop bc
-
- inc c
- push bc
- push hl
-
- ld a, d
- and a
- jr z, .CheckLayer
-
- ld hl, AIScoringPointers
- dec c
- ld b, 0
-rept 2
- add hl, bc
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, BANK(AIScoring)
- call FarCall_hl
-
- jr .CheckLayer
-
-; Decrement the scores of all moves one by one until one reaches 0.
-.DecrementScores
- ld hl, Buffer1
- ld de, EnemyMonMoves
- ld c, EnemyMonMovesEnd - EnemyMonMoves
-
-.DecrementNextScore
- ; If the enemy has no moves, this will infinite.
- ld a, [de]
- inc de
- and a
- jr z, .DecrementScores
-
- ; We are done whenever a score reaches 0
- dec [hl]
- jr z, .PickLowestScoreMoves
-
- ; If we just decremented the fourth move's score, go back to the first move
- inc hl
- dec c
- jr z, .DecrementScores
-
- jr .DecrementNextScore
-
-; In order to avoid bias towards the moves located first in memory, increment the scores
-; that were decremented one more time than the rest (in case there was a tie).
-; This means that the minimum score will be 1.
-.PickLowestScoreMoves
- ld a, c
-
-.move_loop
- inc [hl]
- dec hl
- inc a
- cp NUM_MOVES + 1
- jr nz, .move_loop
-
- ld hl, Buffer1
- ld de, EnemyMonMoves
- ld c, NUM_MOVES
-
-; Give a score of 0 to a blank move
-.loop2
- ld a, [de]
- and a
- jr nz, .skip_load
- ld [hl], a
-
-; Disregard the move if its score is not 1
-.skip_load
- ld a, [hl]
- dec a
- jr z, .keep
- xor a
- ld [hli], a
- jr .after_toss
-
-.keep
- ld a, [de]
- ld [hli], a
-.after_toss
- inc de
- dec c
- jr nz, .loop2
-
-; Randomly choose one of the moves with a score of 1
-.ChooseMove
- ld hl, Buffer1
- call Random
- and 3
- ld c, a
- ld b, 0
- add hl, bc
- ld a, [hl]
- and a
- jr z, .ChooseMove
-
- ld [CurEnemyMove], a
- ld a, c
- ld [CurEnemyMoveNum], a
- ret
-; 441af
-
-
-AIScoringPointers: ; 441af
- dw AI_Basic
- dw AI_Setup
- dw AI_Types
- dw AI_Offensive
- dw AI_Smart
- dw AI_Opportunist
- dw AI_Aggressive
- dw AI_Cautious
- dw AI_Status
- dw AI_Risky
- dw AI_None
- dw AI_None
- dw AI_None
- dw AI_None
- dw AI_None
- dw AI_None
-; 441cf
-
-
-Function441cf: ; 441cf
- ld hl, Unknown_441fc
+AnimateDexSearchSlowpoke: ; 441cf
+ ld hl, .FrameIDs
ld b, 25
.loop
ld a, [hli]
@@ -15101,16 +7277,16 @@
; Wrap around
cp $fe
jr nz, .ok
- ld hl, Unknown_441fc
+ ld hl, .FrameIDs
ld a, [hli]
.ok
- ld [wc7db], a
+ ld [wDexSearchSlowpokeFrame], a
ld a, [hli]
ld c, a
push bc
push hl
- call Function44207
+ call DoDexSearchSlowpokeFrame
pop hl
pop bc
call DelayFrames
@@ -15117,30 +7293,30 @@
dec b
jr nz, .loop
xor a
- ld [wc7db], a
- call Function44207
+ ld [wDexSearchSlowpokeFrame], a
+ call DoDexSearchSlowpokeFrame
ld c, 32
call DelayFrames
ret
; 441fc
-Unknown_441fc: ; 441fc
+.FrameIDs: ; 441fc
+ ; frame ID, duration
db 0, 7
db 1, 7
db 2, 7
db 3, 7
db 4, 7
- db $fe
+ db -2
; 44207
-
-Function44207: ; 44207
- ld a, [wc7db]
- ld hl, Unknown_44228
+DoDexSearchSlowpokeFrame: ; 44207
+ ld a, [wDexSearchSlowpokeFrame]
+ ld hl, .SpriteData
ld de, Sprites
-.asm_44210
+.loop
ld a, [hli]
- cp $ff
+ cp -1
ret z
ld [de], a
inc de
@@ -15147,7 +7323,7 @@
ld a, [hli]
ld [de], a
inc de
- ld a, [wc7db]
+ ld a, [wDexSearchSlowpokeFrame]
ld b, a
add a
add b
@@ -15158,44 +7334,46 @@
ld a, [hli]
ld [de], a
inc de
- jr .asm_44210
+ jr .loop
; 44228
-Unknown_44228: ; 44228
- db $58, $48, $00, $00
- db $58, $50, $01, $00
- db $58, $58, $02, $00
- db $60, $48, $10, $00
- db $60, $50, $11, $00
- db $60, $58, $12, $00
- db $68, $48, $20, $00
- db $68, $50, $21, $00
- db $68, $58, $22, $00
- db $ff
+.SpriteData: ; 44228
+ dsprite 11, 0, 9, 0, $00, $00
+ dsprite 11, 0, 10, 0, $01, $00
+ dsprite 11, 0, 11, 0, $02, $00
+ dsprite 12, 0, 9, 0, $10, $00
+ dsprite 12, 0, 10, 0, $11, $00
+ dsprite 12, 0, 11, 0, $12, $00
+ dsprite 13, 0, 9, 0, $20, $00
+ dsprite 13, 0, 10, 0, $21, $00
+ dsprite 13, 0, 11, 0, $22, $00
+ db -1
; 4424d
-Function4424d: ; 4424d
+DisplayDexEntry: ; 4424d
call GetPokemonName
hlcoord 9, 3
- call PlaceString
+ call PlaceString ; mon species
ld a, [wd265]
ld b, a
- call Function44333
+ call GetDexEntryPointer
ld a, b
push af
hlcoord 9, 5
- call FarString
+ call FarString ; dex species
ld h, b
ld l, c
push de
+; Print dex number
hlcoord 2, 8
- ld a, $5c
+ ld a, $5c ; No
ld [hli], a
- ld a, $5d
+ ld a, $5d ; .
ld [hli], a
ld de, wd265
lb bc, PRINTNUM_LEADINGZEROS | 1, 3
call PrintNum
+; Check to see if we caught it. Get out of here if we haven't.
ld a, [wd265]
dec a
call CheckCaughtMon
@@ -15202,6 +7380,7 @@
pop hl
pop bc
ret z
+; Get the height of the Pokemon.
ld a, [CurPartySpecies]
ld [CurSpecies], a
inc hl
@@ -15212,12 +7391,11 @@
ld d, l
ld e, h
pop hl
-rept 2
inc hl
-endr
+ inc hl
ld a, d
or e
- jr z, .asm_442b0
+ jr z, .skip_height
push hl
push de
ld hl, [sp+$0]
@@ -15227,11 +7405,11 @@
lb bc, 2, 36
call PrintNum
hlcoord 14, 7
- ld [hl], "<ROCKET>"
+ ld [hl], $5e ; ft symbol
pop af
pop hl
-.asm_442b0
+.skip_height
pop af
push af
inc hl
@@ -15242,32 +7420,34 @@
ld e, h
ld a, e
or d
- jr z, .skip
+ jr z, .skip_weight
push de
ld hl, [sp+$0]
ld d, h
ld e, l
hlcoord 11, 9
- lb bc, 2, 69
+ lb bc, 2, PRINTNUM_RIGHTALIGN | 5
call PrintNum
pop de
-.skip
+.skip_weight
+; Page 1
lb bc, 5, SCREEN_WIDTH - 2
hlcoord 2, 11
call ClearBox
hlcoord 1, 10
- ld bc, $13
- ld a, $61
+ ld bc, SCREEN_WIDTH - 1
+ ld a, $61 ; horizontal divider
call ByteFill
+ ; page number
hlcoord 1, 9
- ld [hl], "<CONT>"
+ ld [hl], $55
inc hl
- ld [hl], "<CONT>"
+ ld [hl], $55
hlcoord 1, 10
- ld [hl], "<......>"
+ ld [hl], $56 ; P.
inc hl
- ld [hl], "<DONE>"
+ ld [hl], $57 ; 1
pop de
inc de
pop af
@@ -15278,6 +7458,8 @@
ld a, [wPokedexStatus]
or a
ret z
+
+; Page 2
push bc
push de
lb bc, 5, SCREEN_WIDTH - 2
@@ -15284,17 +7466,18 @@
hlcoord 2, 11
call ClearBox
hlcoord 1, 10
- ld bc, $13
+ ld bc, SCREEN_WIDTH - 1
ld a, $61
call ByteFill
+ ; page number
hlcoord 1, 9
- ld [hl], "<CONT>"
+ ld [hl], $55
inc hl
- ld [hl], "<CONT>"
+ ld [hl], $55
hlcoord 1, 10
- ld [hl], "<......>"
+ ld [hl], $56 ; P.
inc hl
- ld [hl], "<PROMPT>"
+ ld [hl], $58 ; 2
pop de
inc de
pop af
@@ -15307,7 +7490,8 @@
db "#@"
; 44333
-Function44333: ; 44333
+GetDexEntryPointer: ; 44333
+; return dex entry pointer b:de
push hl
ld hl, PokedexDataPointerTable
ld a, b
@@ -15314,9 +7498,8 @@
dec a
ld d, 0
ld e, a
-rept 2
add hl, de
-endr
+ add hl, de
ld e, [hl]
inc hl
ld d, [hl]
@@ -15324,7 +7507,7 @@
rlca
rlca
and $3
- ld hl, PokedexEntryBanks
+ ld hl, .PokedexEntryBanks
ld d, 0
ld e, a
add hl, de
@@ -15334,7 +7517,7 @@
ret
; 44351
-PokedexEntryBanks: ; 44351
+.PokedexEntryBanks: ; 44351
GLOBAL PokedexEntries1
GLOBAL PokedexEntries2
@@ -15347,11 +7530,12 @@
db BANK(PokedexEntries4)
; 44355
-Function44355: ; 44355
- call Function44333
+GetDexEntryPagePointer: ; 44355
+ call GetDexEntryPointer ; b:de
push hl
ld h, d
ld l, e
+; skip species name
.loop1
ld a, b
call GetFarByte
@@ -15358,11 +7542,14 @@
inc hl
cp "@"
jr nz, .loop1
+; skip height and weight
rept 4
inc hl
endr
+; if c != 1: skip entry
dec c
jr z, .done
+; skip entry
.loop2
ld a, b
call GetFarByte
@@ -15377,136 +7564,19 @@
ret
; 44378
-
PokedexDataPointerTable: ; 0x44378
INCLUDE "data/pokedex/entry_pointers.asm"
INCLUDE "engine/mail.asm"
-SECTION "bank12", ROMX, BANK[$12]
+SECTION "Crystal Unique", ROMX, BANK[$12]
-Function48000: ; 48000
- ld a, $1
- ld [wd474], a
- xor a
- ld [wd473], a
- ld [PlayerGender], a
- ld [wd475], a
- ld [wd476], a
- ld [wd477], a
- ld [wd478], a
- ld [wd002], a
- ld [wd003], a
- ; could have done "ld a, [wd479] \ and %11111100", saved four operations
- ld a, [wd479]
- res 0, a
- ld [wd479], a
- ld a, [wd479]
- res 1, a
- ld [wd479], a
- ret
-; 4802f
+INCLUDE "engine/init_gender.asm"
-INCLUDE "misc/mobile_12.asm"
-
-InitGender: ; 48dcb (12:4dcb)
- call Function48e14
- call Function48e47
- call Function48e64
- call Function3200
- call SetPalettes
- ld hl, TextJump_AreYouABoyOrAreYouAGirl
- call PrintText
- ld hl, .MenuDataHeader
- call LoadMenuDataHeader
- call Function3200
- call InterpretMenu2
- call WriteBackup
- ld a, [MenuSelection2]
- dec a
- ld [PlayerGender], a
- ld c, 10
- call DelayFrames
- ret
-; 48dfc (12:4dfc)
-
-.MenuDataHeader: ; 0x48dfc
- db $40 ; flags
- db 04, 06 ; start coords
- db 09, 12 ; end coords
- dw .MenuData2
- db 1 ; default option
-; 0x48e04
-
-.MenuData2: ; 0x48e04
- db $a1 ; flags
- db 2 ; items
- db "Boy@"
- db "Girl@"
-; 0x48e0f
-
-TextJump_AreYouABoyOrAreYouAGirl: ; 0x48e0f
- ; Are you a boy? Or are you a girl?
- text_jump Text_AreYouABoyOrAreYouAGirl
- db "@"
-; 0x48e14
-
-Function48e14: ; 48e14 (12:4e14)
- ld a, $10
- ld [MusicFade], a
- ld a, $0
- ld [MusicFadeIDLo], a
- ld a, $0
- ld [MusicFadeIDHi], a
- ld c, 8
- call DelayFrames
- call ClearBGPalettes
- call Function48000
- call LoadFontsExtra
- hlcoord 0, 0
- ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
- ld a, $0
- call ByteFill
- hlcoord 0, 0, AttrMap
- ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
- xor a
- call ByteFill
- ret
-
-Function48e47: ; 48e47 (12:4e47)
- ld hl, Palette_48e5c
- ld de, UnknBGPals
- ld bc, $8
- ld a, $5
- call FarCopyWRAM
- callba Function96a4
- ret
-; 48e5c (12:4e5c)
-
-Palette_48e5c: ; 48e5c
- RGB 31, 31, 31
- RGB 09, 30, 31
- RGB 01, 11, 31
- RGB 00, 00, 00
-; 48e64
-
-Function48e64: ; 48e64 (12:4e64)
- ld de, GFX_48e71
- ld hl, VTiles2 tile $00
- lb bc, BANK(GFX_48e71), 1
- call Get2bpp
- ret
-; 48e71 (12:4e71)
-
-GFX_48e71: ; 48e71
-INCBIN "gfx/unknown/048e71.2bpp"
-
-
DrawKrisPackGFX: ; 48e81
ld hl, PackFGFXPointers
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld d, [hl]
@@ -15517,10 +7587,10 @@
; 48e93
PackFGFXPointers: ; 48e93
- dw PackFGFX + $f0 * 1
- dw PackFGFX + $f0 * 3
- dw PackFGFX + $f0 * 0
- dw PackFGFX + $f0 * 2
+ dw PackFGFX + (15 tiles) * 1
+ dw PackFGFX + (15 tiles) * 3
+ dw PackFGFX + (15 tiles) * 0
+ dw PackFGFX + (15 tiles) * 2
; 48e9b
PackFGFX: ; 48e9b
@@ -15532,59 +7602,57 @@
call ClearBGPalettes
call ClearScreen
call DelayFrame
- ld b, SCGB_14
+ ld b, SCGB_PACKPALS
call GetSGBLayout
xor a
ld [wItemAttributeParamBuffer], a
- call Function492a5
+ call .GetMoveTutorMove
ld [wd265], a
- ld [wd262], a
+ ld [wPutativeTMHMMove], a
call GetMoveName
call CopyName1
- callba Function2c7fb
- jr c, .asm_4929c
- jr .asm_49291
+ callba ChooseMonToLearnTMHM
+ jr c, .cancel
+ jr .enter_loop
-.asm_49289
- callba Function2c80a
- jr c, .asm_4929c
-
-.asm_49291
- call Function492b9
- jr nc, .asm_49289
+.loop
+ callba ChooseMonToLearnTMHM_NoRefresh
+ jr c, .cancel
+.enter_loop
+ call CheckCanLearnMoveTutorMove
+ jr nc, .loop
xor a
ld [ScriptVar], a
- jr .asm_492a1
+ jr .quit
-.asm_4929c
- ld a, $ff
+.cancel
+ ld a, -1
ld [ScriptVar], a
-
-.asm_492a1
- call ReturnToCallingMenu
+.quit
+ call CloseSubmenu
ret
; 492a5
-Function492a5: ; 492a5
+.GetMoveTutorMove: ; 492a5
ld a, [ScriptVar]
- cp $1
- jr z, .asm_492b3
- cp $2
- jr z, .asm_492b6
+ cp 1
+ jr z, .flamethrower
+ cp 2
+ jr z, .thunderbolt
ld a, ICE_BEAM
ret
-.asm_492b3
+.flamethrower
ld a, FLAMETHROWER
ret
-.asm_492b6
+.thunderbolt
ld a, THUNDERBOLT
ret
; 492b9
-Function492b9: ; 492b9
- ld hl, MenuDataHeader_0x4930a
+CheckCanLearnMoveTutorMove: ; 492b9
+ ld hl, .MenuDataHeader
call LoadMenuDataHeader
predef CanLearnTMHMMove
@@ -15602,12 +7670,12 @@
ld de, SFX_WRONG
call PlaySFX
pop de
- ld a, BANK(UnknownText_0x2c8ce)
- ld hl, UnknownText_0x2c8ce
+ ld a, BANK(Text_TMHMNotCompatible)
+ ld hl, Text_TMHMNotCompatible
call FarPrintText
jr .didnt_learn
-.can_learn
+.can_learn
callab KnowsMove
jr c, .didnt_learn
@@ -15631,628 +7699,14 @@
ret
; 4930a
-MenuDataHeader_0x4930a: ; 0x4930a
+.MenuDataHeader: ; 0x4930a
db $40 ; flags
db 12, 00 ; start coords
db 17, 19 ; end coords
; 4930f
-Function4930f: ; 4930f (mobile)
- ld a, b
- cp SCGB_RAM
- jr nz, .not_ram
- ld a, [SGBPredef]
-.not_ram
- push af
- callba Function9673
- pop af
- ld l, a
- ld h, 0
- add hl, hl
- ld de, .jumptable
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld de, .done
- push de
- jp [hl]
-.done
- ret
-; 49330 (12:5330)
+INCLUDE "predef/crystal.asm"
-.jumptable: ; 49330
- dw Function4936e
- dw Function4942f
- dw Function49706
-; 49336
-
-Function49336: ; 49336
-.asm_49336
- push bc
- push hl
-.asm_49338
- ld [hli], a
- dec c
- jr nz, .asm_49338
- pop hl
- ld bc, SCREEN_WIDTH
- add hl, bc
- pop bc
- dec b
- jr nz, .asm_49336
- ret
-; 49346
-
-
-Function49346: ; 49346 (12:5346)
- hlcoord 0, 0, AttrMap
- ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
- xor a
- call ByteFill
- ret
-
-Function49351: ; 49351 (12:5351)
- ld de, UnknBGPals
- ld hl, Palette_493e1
- ld bc, $28
- ld a, $5 ; BANK(UnknBGPals)
- call FarCopyWRAM
- ld de, UnknBGPals + $38
- ld hl, Palette_49418
- ld bc, $8
- ld a, $5 ; BANK(UnknBGPals)
- call FarCopyWRAM
- ret
-
-Function4936e: ; 4936e (12:536e)
- call Function49351
- call Function49346
- call Function49384
- callba Function96b3
- callba Function96a4
- ret
-
-Function49384: ; 49384 (12:5384)
- hlcoord 0, 0, AttrMap
- lb bc, 4, 1
- ld a, $1
- call Function49336
- lb bc, 2, 1
- ld a, $2
- call Function49336
- lb bc, 6, 1
- ld a, $3
- call Function49336
- hlcoord 1, 0, AttrMap
- ld a, $1
- lb bc, 3, 18
- call Function49336
- lb bc, 2, 18
- ld a, $2
- call Function49336
- lb bc, 12, 18
- ld a, $3
- call Function49336
- hlcoord 19, 0, AttrMap
- lb bc, 4, 1
- ld a, $1
- call Function49336
- lb bc, 2, 1
- ld a, $2
- call Function49336
- lb bc, 6, 1
- ld a, $3
- call Function49336
- hlcoord 0, 12, AttrMap
- ld bc, 6 * SCREEN_WIDTH
- ld a, $7
- call ByteFill
- ret
-; 493e1 (12:53e1)
-
-Palette_493e1: ; 493e1
- RGB 03, 07, 09
- RGB 26, 31, 00
- RGB 20, 16, 03
- RGB 31, 31, 31
-
- RGB 13, 24, 29
- RGB 11, 16, 30
- RGB 07, 11, 22
- RGB 05, 06, 18
-
- RGB 31, 31, 31
- RGB 20, 26, 31
- RGB 13, 24, 29
- RGB 11, 16, 30
-
- RGB 31, 31, 31
- RGB 20, 26, 31
- RGB 00, 00, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 20, 16, 08
- RGB 31, 00, 00
- RGB 00, 00, 00
-; 49409
-
-
-Function49409:: ; 49409
- ld hl, Palette_49418
- ld de, UnknBGPals + 8 * 7
- ld bc, 8
- ld a, $5
- call FarCopyWRAM
- ret
-; 49418
-
-Palette_49418: ; 49418
- RGB 31, 31, 31
- RGB 08, 19, 28
- RGB 05, 05, 16
- RGB 00, 00, 00
-; 49420
-
-Function49420:: ; 49420 (12:5420)
- ld hl, MansionPalette4
- ld de, UnknBGPals + $30
- ld bc, $8
- ld a, $5 ; BANK(UnknBGPals)
- call FarCopyWRAM
- ret
-; 4942f (12:542f)
-
-Function4942f: ; 4942f
- call Function49351
- ld de, UnknBGPals + $38
- ld hl, Palette_49478
- ld bc, $8
- ld a, $5 ; BANK(UnknBGPals)
- call FarCopyWRAM
- call Function49346
- hlcoord 0, 0, AttrMap
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- xor a
- call ByteFill
- hlcoord 0, 14, AttrMap
- ld bc, 4 * SCREEN_WIDTH
- ld a, $7
- call ByteFill
- ld a, [wd002]
- bit 6, a
- jr z, .asm_49464
- call Function49480
- jr .asm_49467
-
-.asm_49464
- call Function49496
-
-.asm_49467
- callba Function96b3
- callba Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 49478
-
-Palette_49478: ; 49478
- RGB 31, 31, 31
- RGB 26, 31, 00
- RGB 20, 16, 03
- RGB 00, 00, 00
-; 49480
-
-Function49480: ; 49480
- hlcoord 0, 0, AttrMap
- lb bc, 4, SCREEN_WIDTH
- ld a, $7
- call Function49336
- hlcoord 0, 2, AttrMap
- ld a, $4
- ld [hl], a
- hlcoord 19, 2, AttrMap
- ld [hl], a
- ret
-; 49496
-
-Function49496: ; 49496
- hlcoord 0, 0, AttrMap
- lb bc, 2, SCREEN_WIDTH
- ld a, $7
- call Function49336
- hlcoord 0, 1, AttrMap
- ld a, $4
- ld [hl], a
- hlcoord 19, 1, AttrMap
- ld [hl], a
- ret
-; 494ac
-
-LoadSpecialMapPalette: ; 494ac
- ld a, [wTileset]
- cp TILESET_POKECOM_CENTER
- jr z, .pokecom_2f
- cp TILESET_BATTLE_TOWER
- jr z, .battle_tower
- cp TILESET_ICE_PATH
- jr z, .ice_path
- cp TILESET_HOUSE_1
- jr z, .house
- cp TILESET_RADIO_TOWER
- jr z, .radio_tower
- cp TILESET_CELADON_MANSION
- jr z, .mansion_mobile
- jr .do_nothing
-
-.pokecom_2f
- call LoadPokeComPalette
- scf
- ret
-
-.battle_tower
- call LoadBattleTowerPalette
- scf
- ret
-
-.ice_path
- ld a, [wPermission] ; permission
- and 7
- cp 3 ; Hall of Fame
- jr z, .do_nothing
- call LoadIcePathPalette
- scf
- ret
-
-.house
- call LoadHousePalette
- scf
- ret
-
-.radio_tower
- call LoadRadioTowerPalette
- scf
- ret
-
-.mansion_mobile
- call LoadMansionPalette
- scf
- ret
-
-.do_nothing
- and a
- ret
-; 494f2
-
-LoadPokeComPalette: ; 494f2
- ld a, $5
- ld de, UnknBGPals
- ld hl, PokeComPalette
- ld bc, 8 palettes
- call FarCopyWRAM
- ret
-; 49501
-
-PokeComPalette: ; 49501
-INCLUDE "tilesets/pokecom.pal"
-; 49541
-
-LoadBattleTowerPalette: ; 49541
- ld a, $5
- ld de, UnknBGPals
- ld hl, BattleTowerPalette
- ld bc, 8 palettes
- call FarCopyWRAM
- ret
-; 49550
-
-BattleTowerPalette: ; 49550
-INCLUDE "tilesets/battle_tower.pal"
-; 49590
-
-LoadIcePathPalette: ; 49590
- ld a, $5
- ld de, UnknBGPals
- ld hl, IcePathPalette
- ld bc, 8 palettes
- call FarCopyWRAM
- ret
-; 4959f
-
-IcePathPalette: ; 4959f
-INCLUDE "tilesets/ice_path.pal"
-; 495df
-
-LoadHousePalette: ; 495df
- ld a, $5
- ld de, UnknBGPals
- ld hl, HousePalette
- ld bc, 8 palettes
- call FarCopyWRAM
- ret
-; 495ee
-
-HousePalette: ; 495ee
-INCLUDE "tilesets/house.pal"
-; 4962e
-
-LoadRadioTowerPalette: ; 4962e
- ld a, $5
- ld de, UnknBGPals
- ld hl, RadioTowerPalette
- ld bc, 8 palettes
- call FarCopyWRAM
- ret
-; 4963d
-
-RadioTowerPalette: ; 4963d
-INCLUDE "tilesets/radio_tower.pal"
-; 4967d
-
-MansionPalette1: ; 4967d
- RGB 30, 28, 26
- RGB 19, 19, 19
- RGB 13, 13, 13
- RGB 07, 07, 07
-
- RGB 30, 28, 26
- RGB 31, 19, 24
- RGB 30, 10, 06
- RGB 07, 07, 07
-
- RGB 18, 24, 09
- RGB 15, 20, 01
- RGB 09, 13, 00
- RGB 07, 07, 07
-
- RGB 30, 28, 26
- RGB 15, 16, 31
- RGB 09, 09, 31
- RGB 07, 07, 07
-
- RGB 30, 28, 26
- RGB 31, 31, 07
- RGB 31, 16, 01
- RGB 07, 07, 07
-
- RGB 26, 24, 17
- RGB 21, 17, 07
- RGB 16, 13, 03
- RGB 07, 07, 07
-
-MansionPalette3: ; 496ad
- RGB 30, 28, 26
- RGB 17, 19, 31
- RGB 14, 16, 31
- RGB 07, 07, 07
-
- RGB 31, 31, 16
- RGB 31, 31, 16
- RGB 14, 09, 00
- RGB 00, 00, 00
-; 496bd
-
-MansionPalette4: ; 496bd
- RGB 05, 05, 16
- RGB 08, 19, 28
- RGB 00, 00, 00
- RGB 31, 31, 31
-; 496c5
-
-LoadMansionPalette: ; 496c5
- ld a, $5
- ld de, UnknBGPals
- ld hl, MansionPalette1
- ld bc, 8 palettes
- call FarCopyWRAM
- ld a, $5
- ld de, UnknBGPals + 4 palettes
- ld hl, MansionPalette2
- ld bc, 1 palettes
- call FarCopyWRAM
- ld a, $5
- ld de, UnknBGPals + 3 palettes
- ld hl, MansionPalette3
- ld bc, 1 palettes
- call FarCopyWRAM
- ld a, $5
- ld de, UnknBGPals + 6 palettes
- ld hl, MansionPalette4
- ld bc, 1 palettes
- call FarCopyWRAM
- ret
-; 496fe
-
-MansionPalette2: ; 496fe
- RGB 25, 24, 23
- RGB 20, 19, 19
- RGB 14, 16, 31
- RGB 07, 07, 07
-; 49706
-
-Function49706: ; 49706
- ld hl, Palette_49732
- ld de, UnknBGPals
- ld bc, 1 palettes
- ld a, $5
- call FarCopyWRAM
- callba Function96a4
- call Function49346
- callba Function96b3
- ld hl, Palette_4973a
- ld de, UnknOBPals
- ld bc, 1 palettes
- ld a, $5
- call FarCopyWRAM
- ret
-; 49732
-
-Palette_49732: ; 49732
- RGB 31, 31, 31
- RGB 23, 16, 07
- RGB 23, 07, 07
- RGB 03, 07, 20
-; 4973a
-
-Palette_4973a: ; 4973a
- RGB 00, 00, 00
- RGB 07, 05, 31
- RGB 14, 18, 31
- RGB 31, 31, 31
-; 49742
-
-Function49742: ; 49742
- ld hl, Palette_49757
- ld de, UnknBGPals
- ld bc, $40
- ld a, $5
- call FarCopyWRAM
- callba Function96a4
- ret
-; 49757
-
-Palette_49757: ; 49757
- RGB 31, 31, 63
- RGB 00, 00, 00
- RGB 00, 00, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 63
- RGB 00, 00, 00
- RGB 00, 00, 00
- RGB 00, 00, 00
-
- RGB 04, 02, 15
- RGB 21, 00, 21
- RGB 31, 00, 00
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 21, 00, 21
- RGB 30, 16, 26
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 21, 00, 21
- RGB 16, 16, 16
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 21, 00, 21
- RGB 31, 12, 12
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 21, 00, 21
- RGB 07, 08, 31
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 21, 00, 21
- RGB 29, 28, 09
- RGB 31, 31, 31
-; 49797
-
-Function49797: ; 49797
- hlcoord 0, 0, AttrMap
- lb bc, 16, 2
- ld a, $4
- call Function49336
- ld a, $3
- ldcoord_a 0, 1, AttrMap
- ldcoord_a 0, 14, AttrMap
- hlcoord 2, 0, AttrMap
- lb bc, 8, 18
- ld a, $5
- call Function49336
- hlcoord 2, 8, AttrMap
- lb bc, 8, 18
- ld a, $6
- call Function49336
- hlcoord 0, 16, AttrMap
- lb bc, 2, SCREEN_WIDTH
- ld a, $4
- call Function49336
- ld a, $3
- lb bc, 6, 1
- hlcoord 6, 1, AttrMap
- call Function49336
- ld a, $3
- lb bc, 6, 1
- hlcoord 17, 1, AttrMap
- call Function49336
- ld a, $3
- lb bc, 6, 1
- hlcoord 6, 9, AttrMap
- call Function49336
- ld a, $3
- lb bc, 6, 1
- hlcoord 17, 9, AttrMap
- call Function49336
- ld a, $2
- hlcoord 2, 16, AttrMap
- ld [hli], a
- ld a, $7
-rept 3
- ld [hli], a
-endr
- ld a, $2
- ld [hl], a
- hlcoord 2, 17, AttrMap
- ld a, $3
- ld bc, 6
- call ByteFill
- ret
-; 49811
-
-Function49811: ; 49811
- ld hl, Palette_49826
- ld de, UnknBGPals + $10
- ld bc, $30
- ld a, $5
- call FarCopyWRAM
- callba Function96a4
- ret
-; 49826
-
-Palette_49826: ; 49826
- RGB 04, 02, 15
- RGB 07, 09, 31
- RGB 31, 00, 00
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 07, 09, 31
- RGB 15, 23, 30
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 07, 09, 31
- RGB 16, 16, 16
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 07, 09, 31
- RGB 25, 07, 04
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 07, 09, 31
- RGB 03, 22, 08
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 07, 09, 31
- RGB 29, 28, 09
- RGB 31, 31, 31
-; 49856
-
-Function49856: ; 49856
- call Function49797
- ret
-; 4985a
-
Unknown_4985a: ; unreferenced
db $ab, $03, $57, $24, $ac, $0e, $13, $32
db $be, $30, $5b, $4c, $47, $60, $ed, $f2
@@ -16265,1224 +7719,11 @@
INCLUDE "event/celebi.asm"
INCLUDE "engine/main_menu.asm"
-
-SpecialBeastsCheck: ; 0x4a6e8
-; Check if the player owns all three legendary beasts.
-; They must exist in either party or PC, and have the player's OT and ID.
-; Return the result in ScriptVar.
-
- ld a, RAIKOU
- ld [ScriptVar], a
- call CheckOwnMonAnywhere
- jr nc, .notexist
-
- ld a, ENTEI
- ld [ScriptVar], a
- call CheckOwnMonAnywhere
- jr nc, .notexist
-
- ld a, SUICUNE
- ld [ScriptVar], a
- call CheckOwnMonAnywhere
- jr nc, .notexist
-
- ; they exist
- ld a, 1
- ld [ScriptVar], a
- ret
-
-.notexist
- xor a
- ld [ScriptVar], a
- ret
-
-
-SpecialMonCheck: ; 0x4a711
-; Check if the player owns any monsters of the species in ScriptVar.
-; Return the result in ScriptVar.
-
- call CheckOwnMonAnywhere
- jr c, .exists
-
- ; doesn't exist
- xor a
- ld [ScriptVar], a
- ret
-
-.exists
- ld a, 1
- ld [ScriptVar], a
- ret
-
-
-CheckOwnMonAnywhere: ; 0x4a721
-; Check if the player owns any monsters of the species in ScriptVar.
-; It must exist in either party or PC, and have the player's OT and ID.
-
- ; If there are no monsters in the party,
- ; the player must not own any yet.
- ld a, [PartyCount]
- and a
- ret z
-
- ld d, a
- ld e, 0
- ld hl, PartyMon1Species
- ld bc, PartyMonOT
-
- ; Run CheckOwnMon on each Pokémon in the party.
-.partymon
- call CheckOwnMon
- ret c ; found!
-
- push bc
- ld bc, PARTYMON_STRUCT_LENGTH
- add hl, bc
- pop bc
- call UpdateOTPointer
- dec d
- jr nz, .partymon
-
- ; Run CheckOwnMon on each Pokémon in the PC.
- ld a, BANK(sBoxCount)
- call GetSRAMBank
- ld a, [sBoxCount]
- and a
- jr z, .boxes
-
- ld d, a
- ld hl, sBoxMon1Species
- ld bc, sBoxMonOT
-.openboxmon
- call CheckOwnMon
- jr nc, .loop
-
- ; found!
- call CloseSRAM
- ret
-
-.loop
- push bc
- ld bc, BOXMON_STRUCT_LENGTH
- add hl, bc
- pop bc
- call UpdateOTPointer
- dec d
- jr nz, .openboxmon
-
- ; Run CheckOwnMon on each monster in the other 13 PC boxes.
-.boxes
- call CloseSRAM
-
- ld c, 0
-.box
- ; Don't search the current box again.
- ld a, [wCurBox]
- and $f
- cp c
- jr z, .loopbox
-
- ; Load the box.
- ld hl, BoxAddressTable1
- ld b, 0
-rept 3
- add hl, bc
-endr
- ld a, [hli]
- call GetSRAMBank
- ld a, [hli]
- ld h, [hl]
- ld l, a
-
- ; Number of monsters in the box
- ld a, [hl]
- and a
- jr z, .loopbox
-
- push bc
-
- push hl
- ld de, sBoxMons - sBoxCount
- add hl, de
- ld d, h
- ld e, l
- pop hl
- push de
- ld de, sBoxMonOT - sBoxCount
- add hl, de
- ld b, h
- ld c, l
- pop hl
-
- ld d, a
-
-.boxmon
- call CheckOwnMon
- jr nc, .loopboxmon
-
- ; found!
- pop bc
- call CloseSRAM
- ret
-
-.loopboxmon
- push bc
- ld bc, BOXMON_STRUCT_LENGTH
- add hl, bc
- pop bc
- call UpdateOTPointer
- dec d
- jr nz, .boxmon
- pop bc
-
-.loopbox
- inc c
- ld a, c
- cp NUM_BOXES
- jr c, .box
-
- ; not found
- call CloseSRAM
- and a
- ret
-
-
-CheckOwnMon: ; 0x4a7ba
-; Check if a Pokémon belongs to the player and is of a specific species.
-
-; inputs:
-; hl, pointer to PartyMonNSpecies
-; bc, pointer to PartyMonNOT
-; ScriptVar should contain the species we're looking for
-
-; outputs:
-; sets carry if monster matches species, ID, and OT name.
-
- push bc
- push hl
- push de
- ld d, b
- ld e, c
-
-; check species
- ld a, [ScriptVar] ; species we're looking for
- ld b, [hl] ; species we have
- cp b
- jr nz, .notfound ; species doesn't match
+INCLUDE "misc/mobile_menu.asm"
+INCLUDE "engine/search.asm"
+INCLUDE "misc/mobile_12_2.asm"
+; mobile battle selection
-; check ID number
- ld bc, MON_ID
- add hl, bc ; now hl points to ID number
- ld a, [PlayerID]
- cp [hl]
- jr nz, .notfound ; ID doesn't match
- inc hl
- ld a, [PlayerID + 1]
- cp [hl]
- jr nz, .notfound ; ID doesn't match
-
-; check OT
-; This only checks five characters, which is fine for the Japanese version,
-; but in the English version the player name is 7 characters, so this is wrong.
-
- ld hl, PlayerName
-
- rept 4
- ld a, [de]
- cp [hl]
- jr nz, .notfound
- cp "@"
- jr z, .found ; reached end of string
- inc hl
- inc de
- endr
-
- ld a, [de]
- cp [hl]
- jr z, .found
-
-.notfound
- pop de
- pop hl
- pop bc
- and a
- ret
-
-.found
- pop de
- pop hl
- pop bc
- scf
- ret
-; 0x4a810
-
-BoxAddressTable1: ; 4a810
- dba sBox1
- dba sBox2
- dba sBox3
- dba sBox4
- dba sBox5
- dba sBox6
- dba sBox7
- dba sBox8
- dba sBox9
- dba sBox10
- dba sBox11
- dba sBox12
- dba sBox13
- dba sBox14
-; 4a83a
-
-UpdateOTPointer: ; 0x4a83a
- push hl
- ld hl, NAME_LENGTH
- add hl, bc
- ld b, h
- ld c, l
- pop hl
- ret
-; 0x4a843
-
-
-MobileCheckOwnMonAnywhere: ; 4a843
-; Like CheckOwnMonAnywhere, but only check for species.
-; OT/ID don't matter.
-
- ld a, [PartyCount]
- and a
- ret z
-
- ld d, a
- ld e, 0
- ld hl, PartyMon1Species
- ld bc, PartyMonOT
-.asm_4a851
- call Function4a8dc
- ret c
- push bc
- ld bc, PARTYMON_STRUCT_LENGTH
- add hl, bc
- pop bc
- call Function4a91e
- dec d
- jr nz, .asm_4a851
- ld a, BANK(sBoxCount)
- call GetSRAMBank
- ld a, [sBoxCount]
- and a
- jr z, .asm_4a888
- ld d, a
- ld hl, sBoxMon1Species
- ld bc, sBoxMonOT
-.asm_4a873
- call Function4a8dc
- jr nc, .asm_4a87c
- call CloseSRAM
- ret
-
-.asm_4a87c
- push bc
- ld bc, BOXMON_STRUCT_LENGTH
- add hl, bc
- pop bc
- call Function4a91e
- dec d
- jr nz, .asm_4a873
-
-.asm_4a888
- call CloseSRAM
- ld c, 0
-.asm_4a88d
- ld a, [wCurBox]
- and $f
- cp c
- jr z, .asm_4a8d1
- ld hl, BoxAddressTable2
- ld b, 0
-rept 3
- add hl, bc
-endr
- ld a, [hli]
- call GetSRAMBank
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [hl]
- and a
- jr z, .asm_4a8d1
- push bc
- push hl
- ld de, sBoxMons - sBoxCount
- add hl, de
- ld d, h
- ld e, l
- pop hl
- push de
- ld de, sBoxMonOT - sBoxCount
- add hl, de
- ld b, h
- ld c, l
- pop hl
- ld d, a
-.asm_4a8ba
- call Function4a8dc
- jr nc, .asm_4a8c4
- pop bc
- call CloseSRAM
- ret
-
-.asm_4a8c4
- push bc
- ld bc, BOXMON_STRUCT_LENGTH
- add hl, bc
- pop bc
- call Function4a91e
- dec d
- jr nz, .asm_4a8ba
- pop bc
-
-.asm_4a8d1
- inc c
- ld a, c
- cp NUM_BOXES
- jr c, .asm_4a88d
- call CloseSRAM
- and a
- ret
-; 4a8dc
-
-Function4a8dc: ; 4a8dc
- push bc
- push hl
- push de
- ld d, b
- ld e, c
- ld a, [ScriptVar]
- ld b, [hl]
- cp b
- jr nz, .no_match
- jr .match
-
-.no_match
- pop de
- pop hl
- pop bc
- and a
- ret
-
-.match
- pop de
- pop hl
- pop bc
- scf
- ret
-; 4a8f4
-
-BoxAddressTable2: ; 4a8f4
- dba sBox1
- dba sBox2
- dba sBox3
- dba sBox4
- dba sBox5
- dba sBox6
- dba sBox7
- dba sBox8
- dba sBox9
- dba sBox10
- dba sBox11
- dba sBox12
- dba sBox13
- dba sBox14
-; 4a91e
-
-Function4a91e: ; 4a91e
- push hl
- ld hl, NAME_LENGTH
- add hl, bc
- ld b, h
- ld c, l
- pop hl
- ret
-; 4a927
-
-
-FindItemInPCOrBag: ; 4a927
- ld a, [ScriptVar]
- ld [CurItem], a
- ld hl, PCItems
- call CheckItem
- jr c, .found
-
- ld a, [ScriptVar]
- ld [CurItem], a
- ld hl, NumItems
- call CheckItem
- jr c, .found
-
- xor a
- ld [ScriptVar], a
- ret
-
-.found
- ld a, 1
- ld [ScriptVar], a
- ret
-; 4a94e
-
-Function4a94e: ; 4a94e
- call FadeToMenu
- ld a, -1
- ld hl, wd002
- ld bc, 3
- call ByteFill
- xor a
- ld [wd018], a
- ld [wd019], a
- ld b, SCGB_14
- call GetSGBLayout
- call SetPalettes
- call Function4aa22
- jr c, .asm_4a985
- jr z, .asm_4a9a1
- jr .asm_4a97b
-
-.asm_4a974
- call Function4aa25
- jr c, .asm_4a985
- jr z, .asm_4a9a1
-
-.asm_4a97b
- call Function4ac58
- ld hl, wd019
- res 1, [hl]
- jr .asm_4a974
-
-.asm_4a985
- ld a, [wd018]
- and a
- jr nz, .asm_4a990
- call Function4aba8
- jr c, .asm_4a974
-
-.asm_4a990
- call ReturnToCallingMenu
- ld hl, wd002
- ld a, -1
- ld bc, 3
- call ByteFill
- scf
- jr .asm_4a9af
-
-.asm_4a9a1
- call Function4a9c3
- jr c, .asm_4a9b0
- call Function4a9d7
- jr c, .asm_4a974
- call ReturnToCallingMenu
- and a
-
-.asm_4a9af
- ret
-
-.asm_4a9b0
- ld de, SFX_WRONG
- call PlaySFX
- ld hl, UnknownText_0x4a9be
- call PrintText
- jr .asm_4a974
-; 4a9be
-
-UnknownText_0x4a9be: ; 0x4a9be
- ; Pick three #MON for battle.
- text_jump UnknownText_0x1c51d7
- db "@"
-; 0x4a9c3
-
-Function4a9c3: ; 4a9c3
- ld hl, wd002
- ld a, $ff
- cp [hl]
- jr z, .asm_4a9d5
- inc hl
- cp [hl]
- jr z, .asm_4a9d5
- inc hl
- cp [hl]
- jr z, .asm_4a9d5
- and a
- ret
-
-.asm_4a9d5
- scf
- ret
-; 4a9d7
-
-Function4a9d7: ; 4a9d7
- ld a, [wd002]
- ld hl, PartyMonNicknames
- call GetNick
- ld h, d
- ld l, e
- ld de, EndFlypoint
- ld bc, 6
- call CopyBytes
- ld a, [wd003]
- ld hl, PartyMonNicknames
- call GetNick
- ld h, d
- ld l, e
- ld de, wd00c
- ld bc, 6
- call CopyBytes
- ld a, [wd004]
- ld hl, PartyMonNicknames
- call GetNick
- ld h, d
- ld l, e
- ld de, wd012
- ld bc, 6
- call CopyBytes
- ld hl, UnknownText_0x4aa1d
- call PrintText
- call YesNoBox
- ret
-; 4aa1d
-
-UnknownText_0x4aa1d: ; 0x4aa1d
- ; , @ and @ . Use these three?
- text_jump UnknownText_0x1c51f4
- db "@"
-; 0x4aa22
-
-Function4aa22: ; 4aa22
- call ClearBGPalettes
-
-Function4aa25: ; 4aa25
- callba LoadPartyMenuGFX
- callba InitPartyMenuWithCancel
- call Function4aad3
-
-Function4aa34: ; 4aa34
- ld a, $9
- ld [PartyMenuActionText], a
- callba WritePartyMenuTilemap
- xor a
- ld [PartyMenuActionText], a
- callba PrintPartyMenuText
- call Function4aab6
- call WaitBGMap
- call SetPalettes
- call DelayFrame
- call Function4ab1a
- jr z, .asm_4aa66
- push af
- call Function4aafb
- jr c, .asm_4aa67
- call Function4ab06
- jr c, .asm_4aa67
- pop af
-
-.asm_4aa66
- ret
-
-.asm_4aa67
- ld hl, wd019
- set 1, [hl]
- pop af
- ret
-; 4aa6e
-
-Function4aa6e: ; 4aa6e
- pop af
- ld de, SFX_WRONG
- call PlaySFX
- call WaitSFX
- jr Function4aa34
-; 4aa7a
-
-Function4aa7a: ; 4aa7a
- ld hl, wd002
- ld d, $3
-.loop
- ld e, PARTY_LENGTH
- ld a, [hli]
- push de
- push hl
- cp -1
- jr z, .done
- ld hl, wSpriteAnimationStructs
- inc a
- ld d, a
-.inner_loop
- ld a, [hl]
- and a
- jr z, .next
- cp d
- jr z, .same_as_d
- jr .next
-
- ld a, $3
- jr .proceed
-
-.same_as_d
- ld a, $2
-
-.proceed
- push hl
- ld c, l
- ld b, h
- ld hl, $2
- add hl, bc
- ld [hl], a
- pop hl
-
-.next
- ld bc, $10
- add hl, bc
- dec e
- jr nz, .inner_loop
- pop hl
- pop de
- dec d
- jr nz, .loop
- jr .finished
-
-.done
- pop hl
- pop de
-
-.finished
- ret
-; 4aab6
-
-Function4aab6: ; 4aab6
- ld hl, wd002
- ld d, $3
-.loop
- ld a, [hli]
- cp -1
- jr z, .done
- push de
- push hl
- hlcoord 0, 1
- ld bc, $28
- call AddNTimes
- ld [hl], $ec
- pop hl
- pop de
- dec d
- jr nz, .loop
-
-.done
- ret
-; 4aad3
-
-Function4aad3: ; 4aad3
- ld hl, PartyCount
- ld a, [hli]
- and a
- ret z ; Nothing in your party
-
- ld c, a
- xor a
- ld [hObjectStructIndexBuffer], a
-.loop
- push bc
- push hl
- ld e, 0
- callba Function8e83f
- ld a, [hObjectStructIndexBuffer]
- inc a
- ld [hObjectStructIndexBuffer], a
- pop hl
- pop bc
- dec c
- jr nz, .loop
-
- call Function4aa7a
- callba Function8cf69
- ret
-; 4aafb
-
-Function4aafb: ; 4aafb
- ld a, [CurPartySpecies]
- cp EGG
- jr z, .egg
- and a
- ret
-
-.egg
- scf
- ret
-; 4ab06
-
-Function4ab06: ; 4ab06
- ld a, [CurPartyMon]
- ld bc, PARTYMON_STRUCT_LENGTH
- ld hl, PartyMon1HP
- call AddNTimes
- ld a, [hli]
- ld b, a
- ld a, [hl]
- or b
- jr nz, .NotFainted
- scf
-
-.NotFainted
- ret
-; 4ab1a
-
-Function4ab1a: ; 4ab1a
-.asm_4ab1a
- ld a, $fb
- ld [wcfa8], a
- ld a, $26
- ld [wcfa7], a
- ld a, $2
- ld [wcfa4], a
- call Function4adf7
- call Function1bc9
- call Function4abc3
- jr c, .asm_4ab1a
- push af
- call Function4ab99
- call nc, Function1bee
- pop af
- bit 1, a
- jr nz, .asm_4ab6d
- ld a, [PartyCount]
- inc a
- ld b, a
- ld a, [MenuSelection2]
- ld [wd0d8], a
- cp b
- jr z, .asm_4ab7e
- ld a, [MenuSelection2]
- dec a
- ld [CurPartyMon], a
- ld c, a
- ld b, $0
- ld hl, PartySpecies
- add hl, bc
- ld a, [hl]
- ld [CurPartySpecies], a
- ld de, SFX_READ_TEXT_2
- call PlaySFX
- call WaitSFX
- ld a, $1
- and a
- ret
-
-.asm_4ab6d
- ld a, [MenuSelection2]
- ld [wd0d8], a
-.asm_4ab73
- ld de, SFX_READ_TEXT_2
- call PlaySFX
- call WaitSFX
- scf
- ret
-
-.asm_4ab7e
- ld a, $1
- ld [wd018], a
- ld a, [wcfaa]
- cp $2
- jr z, .asm_4ab73
- ld de, SFX_READ_TEXT_2
- call PlaySFX
- call WaitSFX
- xor a
- ld [wd018], a
- and a
- ret
-; 4ab99
-
-Function4ab99: ; 4ab99
- bit 1, a
- jr z, .asm_4aba6
- ld a, [wd002]
- cp $ff
- jr z, .asm_4aba6
- scf
- ret
-
-.asm_4aba6
- and a
- ret
-; 4aba8
-
-Function4aba8: ; 4aba8
- ld hl, wd004
- ld a, [hl]
- cp $ff
- jr nz, .asm_4abbe
- dec hl
- ld a, [hl]
- cp $ff
- jr nz, .asm_4abbe
- dec hl
- ld a, [hl]
- cp $ff
- jr nz, .asm_4abbe
- and a
- ret
-
-.asm_4abbe
- ld a, $ff
- ld [hl], a
- scf
- ret
-; 4abc3
-
-Function4abc3: ; 4abc3
- bit 3, a
- jr z, .asm_4abd5
- ld a, [PartyCount]
- inc a
- ld [MenuSelection2], a
- ld a, $1
- ld [wcfaa], a
- jr .asm_4ac29
-
-.asm_4abd5
- bit 6, a
- jr z, .asm_4abeb
- ld a, [MenuSelection2]
- ld [MenuSelection2], a
- and a
- jr nz, .asm_4ac29
- ld a, [PartyCount]
- inc a
- ld [MenuSelection2], a
- jr .asm_4ac29
-
-.asm_4abeb
- bit 7, a
- jr z, .asm_4ac08
- ld a, [MenuSelection2]
- ld [MenuSelection2], a
- ld a, [PartyCount]
-rept 2
- inc a
-endr
- ld b, a
- ld a, [MenuSelection2]
- cp b
- jr nz, .asm_4ac29
- ld a, $1
- ld [MenuSelection2], a
- jr .asm_4ac29
-
-.asm_4ac08
- bit 4, a
- jr nz, .asm_4ac10
- bit 5, a
- jr z, .asm_4ac56
-
-.asm_4ac10
- ld a, [MenuSelection2]
- ld b, a
- ld a, [PartyCount]
- inc a
- cp b
- jr nz, .asm_4ac29
- ld a, [wcfaa]
- cp $1
- jr z, .asm_4ac26
- ld a, $1
- jr .asm_4ac29
-
-.asm_4ac26
- ld [wcfaa], a
-
-.asm_4ac29
- hlcoord 0, 1
- lb bc, 13, 1
- call ClearBox
- call Function4aab6
- ld a, [PartyCount]
- hlcoord 6, 1
-.asm_4ac3b
- ld bc, $28
- add hl, bc
- dec a
- jr nz, .asm_4ac3b
- ld [hl], $7f
- ld a, [MenuSelection2]
- ld b, a
- ld a, [PartyCount]
- inc a
- cp b
- jr z, .asm_4ac54
- ld a, $1
- ld [wcfaa], a
-
-.asm_4ac54
- scf
- ret
-
-.asm_4ac56
- and a
- ret
-; 4ac58
-
-Function4ac58: ; 4ac58
- lb bc, 2, 18
- hlcoord 1, 15
- call ClearBox
- callba Function8ea4a
- ld hl, MenuDataHeader_0x4aca2
- call LoadMenuDataHeader
- ld hl, wd019
- bit 1, [hl]
- jr z, .asm_4ac89
- hlcoord 11, 13
- ld b, $3
- ld c, $7
- call TextBox
- hlcoord 13, 14
- ld de, String_4ada7
- call PlaceString
- jr .asm_4ac96
-
-.asm_4ac89
- hlcoord 11, 9
- ld b, $7
- ld c, $7
- call TextBox
- call Function4ad68
-
-.asm_4ac96
- ld a, $1
- ld [hBGMapMode], a
- call Function4acaa
- call ExitMenu
- and a
- ret
-; 4aca2
-
-MenuDataHeader_0x4aca2: ; 0x4aca2
- db $40 ; flags
- db 09, 11 ; start coords
- db 17, 19 ; end coords
- dw NULL
- db 1 ; default option
-; 0x4acaa
-
-Function4acaa: ; 4acaa
-.asm_4acaa
- ld a, $a0
- ld [wMenuData2Flags], a
- ld a, [wd019]
- bit 1, a
- jr z, .asm_4acc2
- ld a, $2
- ld [wMenuData2Items], a
- ld a, $c
- ld [wMenuBorderTopCoord], a
- jr .asm_4accc
-
-.asm_4acc2
- ld a, $4
- ld [wMenuData2Items], a
- ld a, $8
- ld [wMenuBorderTopCoord], a
-
-.asm_4accc
- ld a, $b
- ld [wMenuBorderLeftCoord], a
- ld a, $1
- ld [wMenuCursorBuffer], a
- call Function1c10
- ld hl, wcfa5
- set 6, [hl]
- call Function1bc9
- ld de, SFX_READ_TEXT_2
- call PlaySFX
- ld a, [hJoyPressed]
- bit 0, a
- jr nz, .asm_4acf4
- bit 1, a
- jr nz, .asm_4acf3
- jr .asm_4acaa
-
-.asm_4acf3
- ret
-
-.asm_4acf4
- ld a, [wd019]
- bit 1, a
- jr nz, .asm_4ad0e
- ld a, [MenuSelection2]
- cp $1
- jr z, Function4ad17
- cp $2
- jp z, Function4ad56
- cp $3
- jp z, Function4ad60
- jr .asm_4acf3
-
-.asm_4ad0e
- ld a, [MenuSelection2]
- cp $1
- jr z, Function4ad56
- jr .asm_4acf3
-
-Function4ad17: ; 4ad17
- call Function4adb2
- jr z, .asm_4ad4a
- ld hl, wd002
- ld a, $ff
- cp [hl]
- jr z, .asm_4ad39
- inc hl
- cp [hl]
- jr z, .asm_4ad39
- inc hl
- cp [hl]
- jr z, .asm_4ad39
- ld de, SFX_WRONG
- call WaitPlaySFX
- ld hl, UnknownText_0x4ad51
- call PrintText
- ret
-
-.asm_4ad39
- ld a, [CurPartyMon]
- ld [hl], a
- call Function4a9c3
- ret c
- ld a, [wd019]
- set 0, a
- ld [wd019], a
- ret
-
-.asm_4ad4a
- ld a, $ff
- ld [hl], a
- call Function4adc2
- ret
-
-UnknownText_0x4ad51: ; 0x4ad51
- ; Only three #MON may enter.
- text_jump UnknownText_0x1c521c
- db "@"
-; 0x4ad56
-
-Function4ad56: ; 4ad56
- callba OpenPartyStats
- call Function3200
- ret
-; 4ad60
-
-Function4ad60: ; 4ad60
- callba ManagePokemonMoves
- ret
-; 4ad67
-
-Function4ad67: ; 4ad67
- ret
-; 4ad68
-
-Function4ad68: ; 4ad68
- hlcoord 13, 12
- ld de, String_4ad88
- call PlaceString
- call Function4adb2
- jr c, .asm_4ad7e
- hlcoord 13, 10
- ld de, String_4ada0
- jr .asm_4ad84
-
-.asm_4ad7e
- hlcoord 13, 10
- ld de, String_4ad9a
-
-.asm_4ad84
- call PlaceString
- ret
-; 4ad88
-
-String_4ad88: ; 4ad88
- db "つよさをみる"
- next "つかえるわざ"
- next "もどる@"
-; 4ad9a
-
-String_4ad9a: ; 4ad9a
- db "さんかする@"
-; 4ada0
-
-String_4ada0: ; 4ada0
- db "さんかしない@"
-; 4ada7
-
-String_4ada7: ; 4ada7
- db "つよさをみる"
- next "もどる@" ; BACK
-; 4adb2
-
-Function4adb2: ; 4adb2
- ld hl, wd002
- ld a, [CurPartyMon]
- cp [hl]
- ret z
- inc hl
- cp [hl]
- ret z
- inc hl
- cp [hl]
- ret z
- scf
- ret
-; 4adc2
-
-Function4adc2: ; 4adc2
- ld a, [wd002]
- cp $ff
- jr nz, .skip
- ld a, [wd003]
- cp $ff
- jr nz, .skip2
- ld a, [wd004]
- ld [wd002], a
- ld a, $ff
- ld [wd004], a
- jr .skip
-
-.skip2
- ld [wd002], a
- ld a, $ff
- ld [wd003], a
-
-.skip
- ld a, [wd003]
- cp $ff
- ret nz
- ld b, a
- ld a, [wd004]
- ld [wd003], a
- ld a, b
- ld [wd004], a
- ret
-; 4adf7
-
-Function4adf7: ; 4adf7
- ld a, [wd019]
- bit 0, a
- ret z
- ld a, [PartyCount]
- inc a
- ld [MenuSelection2], a
- ld a, $1
- ld [wcfaa], a
- ld a, [wd019]
- res 0, a
- ld [wd019], a
- ret
-; 4ae12
-
AskRememberPassword: ; 4ae12
call .DoMenu
ld a, $0
@@ -17508,8 +7749,8 @@
ld [wMenuBorderTopCoord], a
add $4
ld [wMenuBorderBottomCoord], a
- call BackUpTiles
- call InterpretMenu2
+ call PushWindow
+ call VerticalMenu
push af
ld c, 15
call DelayFrames
@@ -17516,7 +7757,7 @@
call Buena_ExitMenu
pop af
jr c, .refused
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $2
jr z, .refused
and a
@@ -17524,7 +7765,7 @@
.refused
ld a, $2
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
scf
ret
; 4ae5e
@@ -17545,13 +7786,12 @@
ret
; 4ae78
-
SECTION "bank13", ROMX, BANK[$13]
SwapTextboxPalettes:: ; 4c000
hlcoord 0, 0
decoord 0, 0, AttrMap
- ld b, $12
+ ld b, SCREEN_HEIGHT
.loop
push bc
ld c, SCREEN_WIDTH
@@ -17637,10 +7877,8 @@
ret
; 4c075
-
INCLUDE "tilesets/palette_maps.asm"
-
TileCollisionTable:: ; 4ce1f
; 00 land
; 01 water
@@ -17707,7 +7945,6 @@
ret
; 4cf45
-
SaveMenu_LoadEDTile: ; 4cf45 (13:4f45)
ld a, [hCGB]
and a
@@ -17731,11 +7968,11 @@
ld a, 1 ; BANK(VBGMap2)
ld [rVBK], a
hlcoord 0, 0, AttrMap
- call Function4cf80
+ call .LoadEDTile
ld a, 0 ; BANK(VBGMap0)
ld [rVBK], a
hlcoord 0, 0
- call Function4cf80
+ call .LoadEDTile
.WaitLY2
ld a, [rLY]
cp $60
@@ -17748,7 +7985,7 @@
ld [hBGMapMode], a
ret
-Function4cf80: ; 4cf80 (13:4f80)
+.LoadEDTile: ; 4cf80 (13:4f80)
ld [hSPBuffer], sp ; $ffd9
ld sp, hl
ld a, [hBGMapAddress + 1]
@@ -17786,7 +8023,6 @@
ld sp, hl
ret
-
CheckSave:: ; 4cffe
ld a, BANK(s1_a008)
call GetSRAMBank
@@ -17809,27 +8045,24 @@
ret
; 4d01e
-
INCLUDE "engine/map_triggers.asm"
-
-Function4d15b:: ; 4d15b
- ld hl, wc608
- ld a, [wd196]
+_LoadMapPart:: ; 4d15b
+ ld hl, wMisc
+ ld a, [wMetatileStandingY]
and a
- jr z, .skip
- ld bc, $30
+ jr z, .top_row
+ ld bc, WMISC_WIDTH * 2
add hl, bc
-.skip
- ld a, [wd197]
+.top_row
+ ld a, [wMetatileStandingX]
and a
- jr z, .next_dw
-rept 2
+ jr z, .left_column
inc hl
-endr
+ inc hl
-.next_dw
+.left_column
decoord 0, 0
ld b, SCREEN_HEIGHT
.loop
@@ -17942,8 +8175,8 @@
INCBIN "gfx/shrink2.2bpp.lz"
; 4d319
-Function4d319: ; 4d319
- ld a, [MenuSelection2]
+LinkMonStatsScreen: ; 4d319
+ ld a, [wMenuCursorY]
dec a
ld [CurPartyMon], a
call LowVolume
@@ -17950,41 +8183,38 @@
predef StatsScreenInit
ld a, [CurPartyMon]
inc a
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
call ClearScreen
call ClearBGPalettes
call MaxVolume
- callba Function28ef8
+ callba LoadTradeScreenBorder
callba Function4d354
- callba Function16d673
+ callba InitTradeSpeciesList
callba Function28eff
- call Function3200
+ call WaitBGMap2
ret
; 4d354
Function4d354: ; 4d354
call WaitBGMap
- call Function3200
+ call WaitBGMap2
ret
; 4d35b
-
-Function4d35b: ; 4d35b
+LinkTextbox2: ; 4d35b
ld h, d
ld l, e
push bc
push hl
- call Function4d37e
+ call .PlaceBorder
pop hl
pop bc
ld de, AttrMap - TileMap
add hl, de
-rept 2
inc b
-endr
-rept 2
+ inc b
inc c
-endr
+ inc c
ld a, $7
.row
push bc
@@ -18002,12 +8232,12 @@
ret
; 4d37e
-Function4d37e: ; 4d37e
+.PlaceBorder: ; 4d37e
push hl
ld a, $76
ld [hli], a
inc a
- call Function4d3ab
+ call .PlaceRow
inc a
ld [hl], a
pop hl
@@ -18018,7 +8248,7 @@
ld a, "┌"
ld [hli], a
ld a, " "
- call Function4d3ab
+ call .PlaceRow
ld [hl], "─"
pop hl
ld de, SCREEN_WIDTH
@@ -18028,22 +8258,22 @@
ld a, "┐"
ld [hli], a
ld a, "│"
- call Function4d3ab
+ call .PlaceRow
ld [hl], "└"
ret
; 4d3ab
-Function4d3ab: ; 4d3ab
+.PlaceRow: ; 4d3ab
ld d, c
-.loop
+.row_loop
ld [hli], a
dec d
- jr nz, .loop
+ jr nz, .row_loop
ret
; 4d3b1
_ResetClock: ; 4d3b1
- callba Function8000
+ callba BlankScreen
ld b, SCGB_08
call GetSGBLayout
call LoadStandardFont
@@ -18054,9 +8284,9 @@
call PrintText
ld hl, .NoYes_MenuDataHeader
call CopyMenuDataHeader
- call InterpretMenu2
+ call VerticalMenu
ret c
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
ret z
call ClockResetPassword
@@ -18318,8 +8548,8 @@
ret
; 4d54c
-Function4d54c: ; 4d54c
- callba Function8000
+_DeleteSaveData: ; 4d54c
+ callba BlankScreen
ld b, SCGB_08
call GetSGBLayout
call LoadStandardFont
@@ -18326,13 +8556,13 @@
call LoadFontsExtra
ld de, MUSIC_MAIN_MENU
call PlayMusic
- ld hl, UnknownText_0x4d580
+ ld hl, .Text_ClearAllSaveData
call PrintText
- ld hl, MenuDataHeader_0x4d585
+ ld hl, .NoYesMenuDataHeader
call CopyMenuDataHeader
- call InterpretMenu2
+ call VerticalMenu
ret c
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
ret z
callba EmptyAllSRAMBanks
@@ -18339,21 +8569,21 @@
ret
; 4d580
-UnknownText_0x4d580: ; 0x4d580
+.Text_ClearAllSaveData: ; 0x4d580
; Clear all save data?
text_jump UnknownText_0x1c564a
db "@"
; 0x4d585
-MenuDataHeader_0x4d585: ; 0x4d585
+.NoYesMenuDataHeader: ; 0x4d585
db $00 ; flags
db 07, 14 ; start coords
db 11, 19 ; end coords
- dw MenuData2_0x4d58d
+ dw .MenuData2
db 1 ; default option
; 0x4d58d
-MenuData2_0x4d58d: ; 0x4d58d
+.MenuData2: ; 0x4d58d
db $c0 ; flags
db 2 ; items
db "NO@"
@@ -18363,7 +8593,6 @@
Tilesets::
INCLUDE "tilesets/tileset_headers.asm"
-
FlagPredef: ; 4d7c1
; Perform action b on flag c in flag array hl.
; If checking a flag, check flag array d:hl unless d is 0.
@@ -18436,9 +8665,9 @@
ret
; 4d7fd
-Function4d7fd: ; 4d7fd
- ld a, [wc702]
- ld hl, wEnemyTrappingMove
+GetTrademonFrontpic: ; 4d7fd
+ ld a, [wOTTrademonSpecies]
+ ld hl, wOTTrademonDVs
ld de, VTiles2
push de
push af
@@ -18452,23 +8681,23 @@
ret
; 4d81e
-Function4d81e: ; 4d81e
- ld a, [wc702]
+AnimateTrademonFrontpic: ; 4d81e
+ ld a, [wOTTrademonSpecies]
call IsAPokemon
ret c
callba Function29549
- ld a, [wc702]
+ ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
- ld a, [wEnemyTrappingMove]
+ ld a, [wOTTrademonDVs]
ld [TempMonDVs], a
- ld a, [wPlayerWrapCount]
+ ld a, [wOTTrademonDVs + 1]
ld [TempMonDVs + 1], a
ld b, SCGB_1A
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
- callba Function294c0
- ld a, [wc702]
+ callba TradeAnim_ShowGetmonFrontpic
+ ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
hlcoord 7, 2
ld d, $0
@@ -18780,7 +9009,7 @@
ld [wd265], a
call GetPokemonName
ld hl, StringBuffer1
- ld de, wd050
+ ld de, wMonOrItemNameBuffer
ld bc, PKMN_NAME_LENGTH
call CopyBytes
call GiveANickname_YesNo
@@ -18790,7 +9019,7 @@
ld [CurPartyMon], a
xor a
ld [MonType], a
- ld de, wd050
+ ld de, wMonOrItemNameBuffer
callab InitNickname
.Party_SkipNickname
@@ -18800,7 +9029,7 @@
call SkipNames
ld d, h
ld e, l
- ld hl, wd050
+ ld hl, wMonOrItemNameBuffer
call CopyBytes
ld a, [PartyCount]
dec a
@@ -18836,11 +9065,11 @@
xor a
ld [CurPartyMon], a
ld hl, wContestMon
- ld de, wd018_Mon
+ ld de, wBufferMon
ld bc, BOXMON_STRUCT_LENGTH
call CopyBytes
ld hl, PlayerName
- ld de, wd00d_MonOT
+ ld de, wBufferMonOT
ld bc, NAME_LENGTH
call CopyBytes
callab Function51322
@@ -18852,9 +9081,9 @@
jr c, .Box_SkipNickname
ld a, BOXMON
ld [MonType], a
- ld de, wd050_MonNick
+ ld de, wMonOrItemNameBuffer
callab InitNickname
- ld hl, wd050_MonNick
+ ld hl, wMonOrItemNameBuffer
.Box_SkipNickname
ld a, BANK(sBoxMonNicknames)
@@ -18893,7 +9122,6 @@
ret
; 4db3b
-
GiveANickname_YesNo: ; 4db3b
ld hl, TextJump_GiveANickname
call PrintText
@@ -18906,7 +9134,6 @@
db "@"
; 0x4db49
-
SetCaughtData: ; 4db49
ld a, [PartyCount]
dec a
@@ -18983,7 +9210,6 @@
ret
; 4dbb8
-
SetEggMonCaughtData: ; 4dbb8 (13:5bb8)
ld a, [CurPartyMon]
ld hl, PartyMon1CaughtLevel
@@ -19140,7 +9366,6 @@
jr .loop
; 4dc7b
-
INCLUDE "engine/stats_screen.asm"
CatchTutorial:: ; 4e554
@@ -19147,11 +9372,10 @@
ld a, [BattleType]
dec a
ld c, a
- ld hl, .jumptable
+ ld hl, .dw
ld b, 0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -19158,7 +9382,7 @@
jp [hl]
; 4e564
-.jumptable: ; 4e564 (13:6564)
+.dw: ; 4e564 (13:6564)
dw .DudeTutorial
dw .DudeTutorial
dw .DudeTutorial
@@ -19200,26 +9424,25 @@
ret
.LoadDudeData: ; 4e5b7 (13:65b7)
- ld hl, OTPartyMon1
- ld [hl], BULBASAUR
+ ld hl, wDudeNumItems
+ ld [hl], 1
inc hl
ld [hl], POTION
inc hl
- ld [hl], POUND
+ ld [hl], 1
inc hl
- ld [hl], $ff
- ld hl, OTPartyMon1Exp + 2
- ld [hl], $0
+ ld [hl], -1
+ ld hl, wDudeNumKeyItems
+ ld [hl], 0
inc hl
- ld [hl], $ff
- ld hl, OTPartyMon1CaughtGender
- ld a, $1
+ ld [hl], -1
+ ld hl, wDudeNumBalls
+ ld a, 1
ld [hli], a
- ld a, $5
-rept 2
+ ld a, POKE_BALL ; 5
ld [hli], a
-endr
- ld [hl], $ff
+ ld [hli], a
+ ld [hl], -1
ret
; 4e5da (13:65da)
@@ -19233,6 +9456,90 @@
INCLUDE "engine/evolution_animation.asm"
+Function4e881: ; 4e881
+ call ClearBGPalettes
+ call ClearTileMap
+ call ClearSprites
+ call DisableLCD
+ call LoadStandardFont
+ call LoadFontsBattleExtra
+ hlbgcoord 0, 0
+ ld bc, VBGMap1 - VBGMap0
+ ld a, " "
+ call ByteFill
+ hlcoord 0, 0, AttrMap
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
+ xor a
+ call ByteFill
+ xor a
+ ld [hSCY], a
+ ld [hSCX], a
+ call EnableLCD
+ ld hl, .SavingRecordDontTurnOff
+ call PrintText
+ call WaitBGMap2
+ call SetPalettes
+ ret
+; 4e8bd
+
+.SavingRecordDontTurnOff: ; 0x4e8bd
+ ; SAVING RECORD… DON'T TURN OFF!
+ text_jump UnknownText_0x1bd39e
+ db "@"
+; 0x4e8c2
+
+Function4e8c2: ; 4e8c2
+ call ClearBGPalettes
+ call ClearTileMap
+ call ClearSprites
+ call DisableLCD
+ call LoadStandardFont
+ call LoadFontsBattleExtra
+ hlbgcoord 0, 0
+ ld bc, VBGMap1 - VBGMap0
+ ld a, " "
+ call ByteFill
+ hlcoord 0, 0, AttrMap
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
+ xor a
+ call ByteFill
+ ld hl, wd000 ; UnknBGPals
+ ld c, 4 * $10
+.load_white_palettes
+ ld a, (palred 31 + palgreen 31 + palblue 31) % $100
+ ld [hli], a
+ ld a, (palred 31 + palgreen 31 + palblue 31) / $100
+ ld [hli], a
+ dec c
+ jr nz, .load_white_palettes
+ xor a
+ ld [hSCY], a
+ ld [hSCX], a
+ call EnableLCD
+ call WaitBGMap2
+ call SetPalettes
+ ret
+; 4e906
+
+Function4e906: ; 4e906
+ ld a, [rSVBK]
+ push af
+ ld a, $6
+ ld [rSVBK], a
+ ld hl, wDecompressScratch
+ ld bc, wBackupAttrMap - wDecompressScratch
+ ld a, " "
+ call ByteFill
+ hlbgcoord 0, 0
+ ld de, wDecompressScratch
+ ld b, $0
+ ld c, $40
+ call Request2bpp
+ pop af
+ ld [rSVBK], a
+ ret
+; 4e929
+
Function4e929: ; mobile function
ld h, b
ld l, c
@@ -19323,10 +9630,8 @@
FemaleTrainersEnd:
; 4e980
-
INCLUDE "battle/sliding_intro.asm"
-
Function4ea0a: ; 4ea0a
ld a, c
push af
@@ -19359,8 +9664,6 @@
ret
; 4ea44
-
-
CheckBattleScene: ; 4ea44
; Return carry if battle scene is turned off.
@@ -19410,12 +9713,10 @@
ret
; 4ea82
-
INCLUDE "misc/gbc_only.asm"
INCLUDE "event/poke_seer.asm"
-
SECTION "bank14", ROMX, BANK[$14]
INCLUDE "engine/party_menu.asm"
@@ -19447,7 +9748,7 @@
cp OTPARTYMON
jr z, .copywholestruct
ld bc, BOXMON_STRUCT_LENGTH
- callab Functione5bb
+ callab CopyBoxmonToTempMon
jr .done
.copywholestruct
@@ -19461,18 +9762,14 @@
ret
; 5088b
-
-Function5088b: ; 5088b
- ld bc, wd018_Mon
- jr Function50893
+CalcwBufferMonStats: ; 5088b
+ ld bc, wBufferMon
+ jr _TempMonStatsCalculation
; 50890
-Function50890: ; 50890
+CalcTempmonStats: ; 50890
ld bc, TempMon
- ; fallthrough
-; 50893
-
-Function50893: ; 50893
+_TempMonStatsCalculation: ; 50893
ld hl, MON_LEVEL
add hl, bc
ld a, [hl]
@@ -19481,7 +9778,7 @@
add hl, bc
ld d, h
ld e, l
- ld hl, MON_EXP + 2
+ ld hl, MON_STAT_EXP - 1
add hl, bc
push bc
ld b, $1
@@ -19493,14 +9790,14 @@
ld e, l
ld a, [CurPartySpecies]
cp EGG
- jr nz, .asm_508c1
+ jr nz, .not_egg
xor a
ld [de], a
inc de
ld [de], a
- jr .asm_508cd
+ jr .zero_status
-.asm_508c1
+.not_egg
push bc
ld hl, MON_MAXHP
add hl, bc
@@ -19508,7 +9805,7 @@
call CopyBytes
pop bc
-.asm_508cd
+.zero_status
ld hl, MON_STATUS
add hl, bc
xor a
@@ -19562,10 +9859,8 @@
ret
; 5090d
-
INCLUDE "text/types.asm"
-
Function50a28: ; 50a28
ld hl, Strings50a42
ld a, [TrainerClass]
@@ -19572,9 +9867,8 @@
dec a
ld c, a
ld b, 0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -19590,7 +9884,6 @@
Strings50a42: ; 50a42
; Untranslated trainer class names from Red.
-
dw .Youngster
dw .BugCatcher
dw .Lass
@@ -19662,7 +9955,6 @@
.CooltrainerF db "エりート♀@"
; 50b0a
-
DrawPlayerHP: ; 50b0a
ld a, $1
jr DrawHP
@@ -19671,7 +9963,7 @@
ld a, $2
DrawHP: ; 50b10
- ld [wd10a], a
+ ld [wWhichHPBar], a
push hl
push bc
ld a, [MonType]
@@ -19707,7 +9999,7 @@
ld c, e
.asm_50b41
- predef DrawPartyMenuHPBar
+ predef ComputeHPBarPixels
ld a, 6
ld d, a
ld c, a
@@ -19747,7 +10039,6 @@
ret
; 50b7b
-
PrintTempMonStats: ; 50b7b
; Print TempMon's stats at hl, with spacing bc.
push bc
@@ -19790,7 +10081,6 @@
next "@"
; 50bdd
-
GetGender: ; 50bdd
; Return the gender of a given monster (CurPartyMon/CurOTMon/CurWildMon).
; When calling this function, a should be set to an appropriate MonType value.
@@ -19803,7 +10093,6 @@
; This is determined by comparing the Attack and Speed DVs
; with the species' gender ratio.
-
; Figure out what type of monster struct we're looking at.
; 0: PartyMon
@@ -19833,7 +10122,6 @@
ld hl, EnemyMonDVs
jr .DVs
-
; Get our place in the party/box.
.PartyMon
@@ -19841,7 +10129,6 @@
ld a, [CurPartyMon]
call AddNTimes
-
.DVs
; sBoxMon data is read directly from SRAM.
@@ -19868,7 +10155,6 @@
cp BOXMON
call z, CloseSRAM
-
; We need the gender ratio to do anything with this.
push bc
ld a, [CurPartySpecies]
@@ -19881,7 +10167,6 @@
ld a, BANK(BaseData)
call GetFarByte
-
; The higher the ratio, the more likely the monster is to be female.
cp $ff
@@ -19911,11 +10196,11 @@
ret
; 50c50
-Function50c50: ; 50c50
- ld a, [wd0eb]
+ListMovePP: ; 50c50
+ ld a, [wNumMoves]
inc a
ld c, a
- ld a, $4
+ ld a, NUM_MOVES
sub c
ld b, a
push hl
@@ -19922,16 +10207,16 @@
ld a, [Buffer1]
ld e, a
ld d, $0
- ld a, $3e
- call Function50cc9
+ ld a, $3e ; P
+ call .load_loop
ld a, b
and a
- jr z, .asm_50c6f
+ jr z, .skip
ld c, a
- ld a, $e3
- call Function50cc9
+ ld a, "-"
+ call .load_loop
-.asm_50c6f
+.skip
pop hl
rept 3
inc hl
@@ -19940,14 +10225,14 @@
ld e, l
ld hl, TempMonMoves
ld b, 0
-.asm_50c7a
+.loop
ld a, [hli]
and a
- jr z, .asm_50cc8
+ jr z, .done
push bc
push hl
push de
- ld hl, MenuSelection2
+ ld hl, wMenuCursorY
ld a, [hl]
push af
ld [hl], b
@@ -19970,7 +10255,7 @@
ld de, StringBuffer1 + 4
lb bc, 1, 2
call PrintNum
- ld a, $f3
+ ld a, "/"
ld [hli], a
ld de, wd265
lb bc, 1, 2
@@ -19987,19 +10272,18 @@
inc b
ld a, b
cp NUM_MOVES
- jr nz, .asm_50c7a
+ jr nz, .loop
-.asm_50cc8
+.done
ret
; 50cc9
-Function50cc9: ; 50cc9
-.asm_50cc9
+.load_loop: ; 50cc9
ld [hli], a
ld [hld], a
add hl, de
dec c
- jr nz, .asm_50cc9
+ jr nz, .load_loop
ret
; 50cd0
@@ -20044,12 +10328,10 @@
ret
; 50d0a
-
PlaceStatusString: ; 50d0a
push de
-rept 2
inc de
-endr
+ inc de
ld a, [de]
ld b, a
inc de
@@ -20140,7 +10422,7 @@
call PlaceString
pop bc
ld a, b
- ld [wd0eb], a
+ ld [wNumMoves], a
inc b
pop hl
push bc
@@ -20230,7 +10512,6 @@
ret
; 50e1b
-
CalcLevel: ; 50e1b
ld a, [TempMonSpecies]
ld [CurSpecies], a
@@ -20264,14 +10545,11 @@
ret
; 50e47
-
-
CalcExpAtLevel: ; 50e47
; (a/b)*n**3 + c*n**2 + d*n - e
ld a, [BaseGrowthRate]
-rept 2
add a
-endr
+ add a
ld c, a
ld b, 0
ld hl, GrowthRates
@@ -20422,15 +10700,15 @@
_SwitchPartyMons:
ld a, [wd0e3]
dec a
- ld [wd1ec], a
+ ld [Buffer3], a
ld b, a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld [Buffer2], a ; wd1eb (aliases: MovementType)
cp b
jr z, .skip
call .SwapMonAndMail
- ld a, [wd1ec]
+ ld a, [Buffer3]
call .ClearSprite
ld a, [Buffer2] ; wd1eb (aliases: MovementType)
call .ClearSprite
@@ -20616,7 +10894,6 @@
ret
; 51077
-
GetFrontpic: ; 51077
ld a, [CurPartySpecies]
ld [CurSpecies], a
@@ -20657,15 +10934,15 @@
ld a, $6
ld [rSVBK], a
ld a, b
- ld de, w6_d000 + $800
+ ld de, wDecompressScratch + $800
call FarDecompress
pop bc
- ld hl, w6_d000
- ld de, w6_d000 + $800
+ ld hl, wDecompressScratch
+ ld de, wDecompressScratch + $800
call Function512ab
pop hl
push hl
- ld de, w6_d000
+ ld de, wDecompressScratch
ld c, 7 * 7
ld a, [hROMBank]
ld b, a
@@ -20708,7 +10985,7 @@
ld a, $1
ld [rVBK], a
push hl
- ld de, w6_d000
+ ld de, wDecompressScratch
ld c, 7 * 7
ld a, [hROMBank]
ld b, a
@@ -20739,7 +11016,7 @@
call Function5114f
pop bc
pop hl
- ld de, w6_d000
+ ld de, wDecompressScratch
ld a, [hROMBank]
ld b, a
call Get2bpp
@@ -20749,7 +11026,7 @@
; 5114f
Function5114f: ; 5114f
- ld hl, w6_d000
+ ld hl, wDecompressScratch
swap c
ld a, c
and $f
@@ -20758,12 +11035,12 @@
and $f0
ld c, a
push bc
- call Function512f2
+ call LoadFrontpic
pop bc
.asm_51161
push bc
ld c, $0
- call Function512f2
+ call LoadFrontpic
pop bc
dec b
jr nz, .asm_51161
@@ -20808,14 +11085,14 @@
inc hl
ld a, d
call GetFarHalfword
- ld de, w6_d000
+ ld de, wDecompressScratch
pop af
call FarDecompress
- ld hl, w6_d000
+ ld hl, wDecompressScratch
ld c, 6 * 6
- call Function5127c
+ call FixBackpicAlignment
pop hl
- ld de, w6_d000
+ ld de, wDecompressScratch
ld a, [hROMBank]
ld b, a
call Get2bpp
@@ -20824,7 +11101,6 @@
ret
; 511c5
-
FixPicBank: ; 511c5
; This is a thing for some reason.
push hl
@@ -20886,7 +11162,6 @@
ret
; 0x5120d
-
GetTrainerPic: ; 5120d
ld a, [TrainerClass]
and a
@@ -20914,10 +11189,10 @@
ld a, BANK(TrainerPicPointers)
call GetFarHalfword
pop af
- ld de, w6_d000
+ ld de, wDecompressScratch
call FarDecompress
pop hl
- ld de, w6_d000
+ ld de, wDecompressScratch
ld c, 7 * 7
ld a, [hROMBank]
ld b, a
@@ -20930,8 +11205,6 @@
ret
; 5125d
-
-
DecompressPredef: ; 5125d
; Decompress lz data from b:hl to scratch space at 6:d000, then copy it to address de.
@@ -20943,10 +11216,10 @@
push de
push bc
ld a, b
- ld de, w6_d000
+ ld de, wDecompressScratch
call FarDecompress
pop bc
- ld de, w6_d000
+ ld de, wDecompressScratch
pop hl
ld a, [hROMBank]
ld b, a
@@ -20957,13 +11230,12 @@
ret
; 5127c
-
-Function5127c: ; 5127c
+FixBackpicAlignment: ; 5127c
push de
push bc
- ld a, [wc2c6]
+ ld a, [wBoxAlignment]
and a
- jr z, .asm_512a8
+ jr z, .keep_dims
ld a, c
cp 7 * 7
ld de, 7 * 7 tiles
@@ -20989,7 +11261,7 @@
or d
jr nz, .got_dims
-.asm_512a8
+.keep_dims
pop bc
pop de
ret
@@ -21002,11 +11274,11 @@
cp 5
jr z, .five
-.seven
+.seven_loop
ld c, $70
- call Function512f2
+ call LoadFrontpic
dec b
- jr nz, .seven
+ jr nz, .seven_loop
ret
.six
@@ -21013,14 +11285,14 @@
ld c, $70
xor a
call .Fill
-.asm_512c3
+.six_loop
ld c, $10
xor a
call .Fill
ld c, $60
- call Function512f2
+ call LoadFrontpic
dec b
- jr nz, .asm_512c3
+ jr nz, .six_loop
ret
.five
@@ -21027,14 +11299,14 @@
ld c, $70
xor a
call .Fill
-.asm_512d8
+.five_loop
ld c, $20
xor a
call .Fill
ld c, $50
- call Function512f2
+ call LoadFrontpic
dec b
- jr nz, .asm_512d8
+ jr nz, .five_loop
ld c, $70
xor a
call .Fill
@@ -21047,21 +11319,21 @@
ret
; 512f2
-Function512f2: ; 512f2
- ld a, [wc2c6]
+LoadFrontpic: ; 512f2
+ ld a, [wBoxAlignment]
and a
- jr nz, .asm_512ff
-.asm_512f8
+ jr nz, .x_flip
+.left_loop
ld a, [de]
inc de
ld [hli], a
dec c
- jr nz, .asm_512f8
+ jr nz, .left_loop
ret
-.asm_512ff
+.x_flip
push bc
-.asm_51300
+.right_loop
ld a, [de]
inc de
ld b, a
@@ -21072,7 +11344,7 @@
endr
ld [hli], a
dec c
- jr nz, .asm_51300
+ jr nz, .right_loop
pop bc
ret
; 51322
@@ -21087,7 +11359,7 @@
ld [wd265], a
ld hl, sBoxMonNicknames
ld bc, PKMN_NAME_LENGTH
- ld de, wd002
+ ld de, wBufferMonNick
call Function513e0
ld a, [sBoxCount]
dec a
@@ -21094,7 +11366,7 @@
ld [wd265], a
ld hl, sBoxMonOT
ld bc, NAME_LENGTH
- ld de, wd00d
+ ld de, wBufferMonOT
call Function513e0
ld a, [sBoxCount]
dec a
@@ -21101,13 +11373,13 @@
ld [wd265], a
ld hl, sBoxMons
ld bc, BOXMON_STRUCT_LENGTH
- ld de, wd018_Mon
+ ld de, wBufferMon
call Function513e0
- ld hl, wd018_MonMoves
+ ld hl, wBufferMonMoves
ld de, TempMonMoves
ld bc, NUM_MOVES
call CopyBytes
- ld hl, wd018_MonPP
+ ld hl, wBufferMonPP
ld de, TempMonPP
ld bc, NUM_MOVES
call CopyBytes
@@ -21125,7 +11397,7 @@
ld [wd265], a
ld hl, PartyMonNicknames
ld bc, PKMN_NAME_LENGTH
- ld de, wd002
+ ld de, wBufferMonNick
call Function513e0
ld a, [PartyCount]
dec a
@@ -21132,7 +11404,7 @@
ld [wd265], a
ld hl, PartyMonOT
ld bc, NAME_LENGTH
- ld de, wd00d
+ ld de, wBufferMonOT
call Function513e0
ld a, [PartyCount]
dec a
@@ -21139,7 +11411,7 @@
ld [wd265], a
ld hl, PartyMons
ld bc, PARTYMON_STRUCT_LENGTH
- ld de, wd018_Mon
+ ld de, wBufferMon
call Function513e0
ret
; 513cb
@@ -21241,892 +11513,14 @@
INCBIN "gfx/misc/unknown_egg.5x5.2bpp.lz"
; 53e2e
-
SECTION "bank19", ROMX, BANK[$19]
INCLUDE "text/phone/extra.asm"
-
-
SECTION "bank20", ROMX, BANK[$20]
+INCLUDE "engine/player_movement.asm"
-DoPlayerMovement:: ; 80000
-
- call GetMovementInput
- ld a, movement_step_sleep_1
- ld [MovementAnimation], a
- xor a
- ld [wd041], a
- call GetPlayerMovement
- ld c, a
- ld a, [MovementAnimation]
- ld [wc2de], a
- ret
-; 80017
-
-
-GetMovementInput: ; 80017
-
- ld a, [hJoyDown]
- ld [CurInput], a
-
-; Standing downhill instead moves down.
-
- ld hl, BikeFlags
- bit 2, [hl] ; downhill
- ret z
-
- ld c, a
- and D_PAD
- ret nz
-
- ld a, c
- or D_DOWN
- ld [CurInput], a
- ret
-; 8002d
-
-
-GetPlayerMovement: ; 8002d
-
- ld a, [PlayerState]
- cp PLAYER_NORMAL
- jr z, .Normal
- cp PLAYER_SURF
- jr z, .Surf
- cp PLAYER_SURF_PIKA
- jr z, .Surf
- cp PLAYER_BIKE
- jr z, .Normal
- cp PLAYER_SLIP
- jr z, .Ice
-
-.Normal
- call CheckForcedMovementInput
- call GetMovementAction
- call CheckTileMovement
- ret c
- call CheckTurning
- ret c
- call TryStep
- ret c
- call TryJumpLedge
- ret c
- call CheckEdgeWarp
- ret c
- jr .NotMoving
-
-.Surf
- call CheckForcedMovementInput
- call GetMovementAction
- call CheckTileMovement
- ret c
- call CheckTurning
- ret c
- call TrySurfStep
- ret c
- jr .NotMoving
-
-.Ice
- call CheckForcedMovementInput
- call GetMovementAction
- call CheckTileMovement
- ret c
- call CheckTurning
- ret c
- call TryStep
- ret c
- call TryJumpLedge
- ret c
- call CheckEdgeWarp
- ret c
- ld a, [WalkingDirection]
- cp STANDING
- jr z, .HitWall
- call PlayBump
-.HitWall
- call StandInPlace
- xor a
- ret
-
-.NotMoving
- ld a, [WalkingDirection]
- cp STANDING
- jr z, .Standing
-
-; Walking into an edge warp won't bump.
- ld a, [EngineBuffer4]
- and a
- jr nz, .CantMove
- call PlayBump
-.CantMove
- call WalkInPlace
- xor a
- ret
-
-.Standing
- call StandInPlace
- xor a
- ret
-; 800b7
-
-
-CheckTileMovement: ; 800b7
-; Tiles such as waterfalls and warps move the player
-; in a given direction, overriding input.
-
- ld a, [PlayerNextTile]
- ld c, a
- call CheckWhirlpoolTile
- jr c, .asm_800c4
- ld a, 3
- scf
- ret
-
-.asm_800c4
- and $f0
- cp $30 ; moving water
- jr z, .water
- cp $40 ; moving land 1
- jr z, .land1
- cp $50 ; moving land 2
- jr z, .land2
- cp $70 ; warps
- jr z, .warps
- jr .asm_8013c
-
-.water
- ld a, c
- and 3
- ld c, a
- ld b, 0
- ld hl, .water_table
- add hl, bc
- ld a, [hl]
- ld [WalkingDirection], a
- jr .asm_8013e
-
-.water_table
- db RIGHT
- db LEFT
- db UP
- db DOWN
-
-.land1
- ld a, c
- and 7
- ld c, a
- ld b, 0
- ld hl, .land1_table
- add hl, bc
- ld a, [hl]
- cp STANDING
- jr z, .asm_8013c
- ld [WalkingDirection], a
- jr .asm_8013e
-
-.land1_table
- db STANDING
- db RIGHT
- db LEFT
- db UP
- db DOWN
- db STANDING
- db STANDING
- db STANDING
-
-.land2
- ld a, c
- and 7
- ld c, a
- ld b, 0
- ld hl, .land2_table
- add hl, bc
- ld a, [hl]
- cp STANDING
- jr z, .asm_8013c
- ld [WalkingDirection], a
- jr .asm_8013e
-
-.land2_table
- db RIGHT
- db LEFT
- db UP
- db DOWN
- db STANDING
- db STANDING
- db STANDING
- db STANDING
-
-.warps
- ld a, c
- cp $71 ; door
- jr z, .down
- cp $79
- jr z, .down
- cp $7a ; stairs
- jr z, .down
- cp $7b ; cave
- jr nz, .asm_8013c
-
-.down
- ld a, DOWN
- ld [WalkingDirection], a
- jr .asm_8013e
-
-.asm_8013c
- xor a
- ret
-
-.asm_8013e
- ld a, STEP_WALK
- call DoStep
- ld a, 5
- scf
- ret
-; 80147
-
-
-CheckTurning: ; 80147
-; If the player is turning, change direction first. This also lets
-; the player change facing without moving by tapping a direction.
-
- ld a, [wd04e]
- cp 0
- jr nz, .asm_80169
- ld a, [WalkingDirection]
- cp STANDING
- jr z, .asm_80169
-
- ld e, a
- ld a, [PlayerDirection]
- rrca
- rrca
- and 3
- cp e
- jr z, .asm_80169
-
- ld a, STEP_TURN
- call DoStep
- ld a, 2
- scf
- ret
-
-.asm_80169
- xor a
- ret
-; 8016b
-
-
-TryStep: ; 8016b
-
-; Surfing actually calls TrySurfStep directly instead of passing through here.
- ld a, [PlayerState]
- cp PLAYER_SURF
- jr z, TrySurfStep
- cp PLAYER_SURF_PIKA
- jr z, TrySurfStep
-
- call CheckLandPermissions
- jr c, .bump
-
- call IsNPCInFront
- and a
- jr z, .bump
- cp 2
- jr z, .bump
-
- ld a, [PlayerNextTile]
- call CheckIceTile
- jr nc, .ice
-
-; Downhill riding is slower when not moving down.
- call CheckRiding
- jr nz, .walk
-
- ld hl, BikeFlags
- bit 2, [hl] ; downhill
- jr z, .fast
-
- ld a, [WalkingDirection]
- cp DOWN
- jr z, .fast
-
- ld a, STEP_WALK
- call DoStep
- scf
- ret
-
-.fast
- ld a, STEP_BIKE
- call DoStep
- scf
- ret
-
-.walk
- ld a, STEP_WALK
- call DoStep
- scf
- ret
-
-.ice
- ld a, STEP_ICE
- call DoStep
- scf
- ret
-
-; unused?
- xor a
- ret
-
-.bump
- xor a
- ret
-; 801c0
-
-
-TrySurfStep: ; 801c0
-
- call CheckWaterPermissions
- ld [wd040], a
- jr c, .bump
-
- call IsNPCInFront
- ld [wd03f], a
- and a
- jr z, .bump
- cp 2
- jr z, .bump
-
- ld a, [wd040]
- and a
- jr nz, .ExitWater
-
- ld a, STEP_WALK
- call DoStep
- scf
- ret
-
-.ExitWater
- call WaterToLandSprite
- call PlayMapMusic
- ld a, STEP_WALK
- call DoStep
- ld a, 6
- scf
- ret
-
-.bump
- xor a
- ret
-; 801f3
-
-
-TryJumpLedge: ; 801f3
- ld a, [PlayerNextTile]
- ld e, a
- and $f0
- cp $a0 ; ledge
- jr nz, .DontJump
-
- ld a, e
- and 7
- ld e, a
- ld d, 0
- ld hl, .data_8021e
- add hl, de
- ld a, [FacingDirection]
- and [hl]
- jr z, .DontJump
-
- ld de, SFX_JUMP_OVER_LEDGE
- call PlaySFX
- ld a, STEP_LEDGE
- call DoStep
- ld a, 7
- scf
- ret
-
-.DontJump
- xor a
- ret
-
-.data_8021e
- db FACE_RIGHT
- db FACE_LEFT
- db FACE_UP
- db FACE_DOWN
- db FACE_RIGHT | FACE_DOWN
- db FACE_DOWN | FACE_LEFT
- db FACE_UP | FACE_RIGHT
- db FACE_UP | FACE_LEFT
-; 80226
-
-
-CheckEdgeWarp: ; 80226
-
-; Bug: Since no case is made for STANDING here, it will check
-; [.edgewarps + $ff]. This resolves to $3e at $8035a.
-; This causes wd041 to be nonzero when standing on tile $3e,
-; making bumps silent.
-
- ld a, [WalkingDirection]
- ld e, a
- ld d, 0
- ld hl, .EdgeWarps
- add hl, de
- ld a, [PlayerNextTile]
- cp [hl]
- jr nz, .nope
-
- ld a, 1
- ld [wd041], a
- ld a, [WalkingDirection]
- cp STANDING
- jr z, .nope
-
- ld e, a
- ld a, [PlayerDirection]
- rrca
- rrca
- and 3
- cp e
- jr nz, .nope
- call WarpCheck
- jr nc, .nope
-
- call StandInPlace
- scf
- ld a, 1
- ret
-
-.nope
- xor a
- ret
-
-.EdgeWarps
- db $70, $78, $76, $7e
-; 8025f
-
-
-DoStep: ; 8025f
- ld e, a
- ld d, 0
- ld hl, .Steps
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
-
- ld a, [WalkingDirection]
- ld e, a
- cp STANDING
- jp z, StandInPlace
-
- add hl, de
- ld a, [hl]
- ld [MovementAnimation], a
-
- ld hl, .WalkInPlace
- add hl, de
- ld a, [hl]
- ld [wd04e], a
-
- ld a, 4
- ret
-
-.Steps
- dw .Slow
- dw .Walk
- dw .Bike
- dw .Ledge
- dw .Ice
- dw .Turn
- dw .BackwardsLedge
- dw .WalkInPlace
-
-.Slow
- slow_step_down
- slow_step_up
- slow_step_left
- slow_step_right
-.Walk
- step_down
- step_up
- step_left
- step_right
-.Bike
- big_step_down
- big_step_up
- big_step_left
- big_step_right
-.Ledge
- jump_step_down
- jump_step_up
- jump_step_left
- jump_step_right
-.Ice
- fast_slide_step_down
- fast_slide_step_up
- fast_slide_step_left
- fast_slide_step_right
-.BackwardsLedge
- jump_step_up
- jump_step_down
- jump_step_right
- jump_step_left
-.Turn
- half_step_down
- half_step_up
- half_step_left
- half_step_right
-.WalkInPlace
- db $80 + movement_turn_head_down
- db $80 + movement_turn_head_up
- db $80 + movement_turn_head_left
- db $80 + movement_turn_head_right
-; 802b3
-
-
-StandInPlace: ; 802b3
- ld a, 0
- ld [wd04e], a
- ld a, movement_step_sleep_1
- ld [MovementAnimation], a
- xor a
- ret
-; 802bf
-
-
-WalkInPlace: ; 802bf
- ld a, 0
- ld [wd04e], a
- ld a, movement_step_bump
- ld [MovementAnimation], a
- xor a
- ret
-; 802cb
-
-
-CheckForcedMovementInput: ; 802cb
-; When sliding on ice, input is forced to remain in the same direction.
-
- call CheckStandingOnIce
- ret nc
-
- ld a, [wd04e]
- cp 0
- ret z
-
- and 3
- ld e, a
- ld d, 0
- ld hl, .data_802e8
- add hl, de
- ld a, [CurInput]
- and BUTTONS
- or [hl]
- ld [CurInput], a
- ret
-
-.data_802e8
- db D_DOWN, D_UP, D_LEFT, D_RIGHT
-; 802ec
-
-
-GetMovementAction: ; 802ec
-; Poll player input and update movement info.
-
- ld hl, .table
- ld de, .table2 - .table1
- ld a, [CurInput]
- bit 7, a
- jr nz, .down
- bit 6, a
- jr nz, .up
- bit 5, a
- jr nz, .left
- bit 4, a
- jr nz, .right
-; Standing
- jr .update
-
-.down add hl, de
-.up add hl, de
-.left add hl, de
-.right add hl, de
-
-.update
- ld a, [hli]
- ld [WalkingDirection], a
- ld a, [hli]
- ld [FacingDirection], a
- ld a, [hli]
- ld [WalkingX], a
- ld a, [hli]
- ld [WalkingY], a
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [hl]
- ld [WalkingTile], a
- ret
-
-.table
-; struct:
-; walk direction
-; facing
-; x movement
-; y movement
-; tile collision pointer
-.table1
- db STANDING, FACE_CURRENT, 0, 0
- dw PlayerNextTile
-.table2
- db RIGHT, FACE_RIGHT, 1, 0
- dw TileRight
- db LEFT, FACE_LEFT, -1, 0
- dw TileLeft
- db UP, FACE_UP, 0, -1
- dw TileUp
- db DOWN, FACE_DOWN, 0, 1
- dw TileDown
-; 80341
-
-
-IsNPCInFront: ; 80341
-; Returns 0 if there is an NPC in front that you can't move
-; Returns 1 if there is no NPC in front
-; Returns 2 if there is a movable NPC in front
- ld a, 0
- ld [hMapObjectIndexBuffer], a
-; Load the next X coordinate into d
- ld a, [PlayerNextMapX]
- ld d, a
- ld a, [WalkingX]
- add d
- ld d, a
-; Load the next Y coordinate into e
- ld a, [PlayerNextMapY]
- ld e, a
- ld a, [WalkingY]
- add e
- ld e, a
-; Find an object struct with coordinates equal to d,e
- ld bc, ObjectStructs ; redundant
- callba IsNPCAtCoord
- jr nc, .nope
- call Function8036f
- jr c, .no_bump
-
-; .bump
- xor a
- ret
-
-.nope
- ld a, 1
- ret
-
-.no_bump
- ld a, 2
- ret
-; 8036f
-
-
-Function8036f: ; 8036f
-
- ld hl, BikeFlags
- bit 0, [hl] ; using strength
- jr z, .nope
-
- ld hl, OBJECT_DIRECTION_WALKING
- add hl, bc
- ld a, [hl]
- cp STANDING
- jr nz, .nope
-
- ld hl, OBJECT_PALETTE
- add hl, bc
- bit 6, [hl]
- jr z, .nope
-
- ld hl, OBJECT_FLAGS2
- add hl, bc
- set 2, [hl]
-
- ld a, [WalkingDirection]
- ld d, a
- ld hl, OBJECT_RANGE
- add hl, bc
- ld a, [hl]
- and $fc
- or d
- ld [hl], a
-
- scf
- ret
-
-.nope
- xor a
- ret
-; 8039e
-
-
-CheckLandPermissions: ; 8039e
-; Return 0 if walking onto land and tile permissions allow it.
-; Otherwise, return carry.
-
- ld a, [TilePermissions]
- ld d, a
- ld a, [FacingDirection]
- and d
- jr nz, .NotWalkable
-
- ld a, [WalkingTile]
- call CheckWalkable
- jr c, .NotWalkable
-
- xor a
- ret
-
-.NotWalkable
- scf
- ret
-; 803b4
-
-CheckWaterPermissions: ; 803b4
-; Return 0 if moving in water, or 1 if moving onto land.
-; Otherwise, return carry.
-
- ld a, [TilePermissions]
- ld d, a
- ld a, [FacingDirection]
- and d
- jr nz, .NotSurfable
-
- ld a, [WalkingTile]
- call CheckSurfable
- jr c, .NotSurfable
-
- and a
- ret
-
-.NotSurfable
- scf
- ret
-; 803ca
-
-
-CheckRiding: ; 803ca
-
- ld a, [PlayerState]
- cp PLAYER_BIKE
- ret z
- cp PLAYER_SLIP
- ret
-; 803d3
-
-
-CheckWalkable: ; 803d3
-; Return 0 if tile a is land. Otherwise, return carry.
-
- call GetTileCollision
- and a ; land
- ret z
- scf
- ret
-; 803da
-
-
-CheckSurfable: ; 803da
-; Return 0 if tile a is water, or 1 if land.
-; Otherwise, return carry.
-
- call GetTileCollision
- cp 1
- jr z, .Water
-
-; Can walk back onto land from water.
- and a
- jr z, .Land
-
- jr .Neither
-
-.Water
- xor a
- ret
-
-.Land
- ld a, 1
- and a
- ret
-
-.Neither
- scf
- ret
-; 803ee
-
-
-PlayBump: ; 803ee
-
- call CheckSFX
- ret c
- ld de, SFX_BUMP
- call PlaySFX
- ret
-; 803f9
-
-
-WaterToLandSprite: ; 803f9
- push bc
- ld a, PLAYER_NORMAL
- ld [PlayerState], a
- call ReplaceKrisSprite ; UpdateSprites
- pop bc
- ret
-; 80404
-
-
-CheckStandingOnIce:: ; 80404
- ld a, [wd04e]
- cp 0
- jr z, .nope
- cp $f0
- jr z, .nope
- ld a, [PlayerNextTile]
- call CheckIceTile
- jr nc, .yep
- ld a, [PlayerState]
- cp PLAYER_SLIP
- jr nz, .nope
-
-.yep
- scf
- ret
-
-.nope
- and a
- ret
-; 80422
-
-
-Function80422:: ; 80422
- ld hl, wc2de
- ld a, movement_step_sleep_1
- cp [hl]
- ret z
-
- ld [hl], a
- ld a, 0
- ld [wd04e], a
- ret
-; 80430
-
-
-
INCLUDE "engine/engine_flags.asm"
; 80648
@@ -22216,11 +11610,11 @@
ld hl, KrisNameMenuHeader
.GotGender
call LoadMenuDataHeader
- call InterpretMenu2
- ld a, [MenuSelection2]
+ call VerticalMenu
+ ld a, [wMenuCursorY]
dec a
call CopyNameFromMenu
- call WriteBackup
+ call CloseWindow
ret
; 882b5
@@ -22300,7 +11694,7 @@
ret
; 8833e
-Function8833e: ; 8833e
+GetCardPic: ; 8833e
ld hl, ChrisCardPic
ld a, [PlayerGender]
bit 0, a
@@ -22331,7 +11725,6 @@
INCBIN "gfx/misc/trainer_card.2bpp"
; 88825
-
GetPlayerBackpic: ; 88825
ld a, [PlayerGender]
bit 0, a
@@ -22378,17 +11771,15 @@
ret
; 88874
-
-
DrawIntroPlayerPic: ; 88874
; Draw the player pic at (6,4).
; Get class
- ld e, 0
+ ld e, CHRIS
ld a, [PlayerGender]
bit 0, a
jr z, .GotClass
- ld e, 1
+ ld e, KRIS
.GotClass
ld a, e
ld [TrainerClass], a
@@ -22414,7 +11805,6 @@
ret
; 888a9
-
ChrisPic: ; 888a9
INCBIN "gfx/misc/chris.7x7.2bpp"
; 88bb9
@@ -22423,7 +11813,6 @@
INCBIN "gfx/misc/kris.7x7.2bpp"
; 88ec9
-
GetKrisBackpic: ; 88ec9
; Kris's backpic is uncompressed.
ld de, KrisBackpic
@@ -22437,7 +11826,6 @@
INCBIN "gfx/misc/kris_back.6x6.2bpp"
; 89116
-
String_89116:
db "-----@"
; 8911c
@@ -22449,7 +11837,6 @@
INCLUDE "event/battle_tower.asm"
INCLUDE "misc/mobile_22_2.asm"
-
SECTION "bank23", ROMX, BANK[$23]
Predef35: ; 8c000
@@ -22457,7 +11844,6 @@
ret
; 8c001
-
INCLUDE "engine/timeofdaypals.asm"
INCLUDE "engine/battle_start.asm"
@@ -22471,153 +11857,6 @@
; 8c7d4
INCLUDE "event/field_moves.asm"
-
-Function8caed: ; 8caed
- call DelayFrame
- ld a, [VramState]
- push af
- xor a
- ld [VramState], a
- call Function8cb9b
- depixel 10, 10, 4, 0
- ld a, SPRITE_ANIM_INDEX_0A
- call _InitSpriteAnimStruct
- ld hl, $3
- add hl, bc
- ld [hl], $84
- ld hl, $2
- add hl, bc
- ld [hl], $16
- ld a, $80
- ld [wcf64], a
-.asm_8cb14
- ld a, [wJumptableIndex]
- bit 7, a
- jr nz, .asm_8cb2e
- ld a, $0
- ld [wc3b5], a
- callab Function8cf7a
- call Function8cbc8
- call DelayFrame
- jr .asm_8cb14
-.asm_8cb2e
- pop af
- ld [VramState], a
- ret
-; 8cb33
-
-Function8cb33: ; 8cb33
- call DelayFrame
- ld a, [VramState]
- push af
- xor a
- ld [VramState], a
- call Function8cb9b
- depixel 31, 10, 4, 0
- ld a, SPRITE_ANIM_INDEX_0A
- call _InitSpriteAnimStruct
- ld hl, $3
- add hl, bc
- ld [hl], $84
- ld hl, $2
- add hl, bc
- ld [hl], $18
- ld hl, $f
- add hl, bc
- ld [hl], $58
- ld a, $40
- ld [wcf64], a
-.asm_8cb60
- ld a, [wJumptableIndex]
- bit 7, a
- jr nz, .asm_8cb7a
- ld a, $0
- ld [wc3b5], a
- callab Function8cf7a
- call Function8cbc8
- call DelayFrame
- jr .asm_8cb60
-.asm_8cb7a
- pop af
- ld [VramState], a
- call Function8cb82
- ret
-
-Function8cb82: ; 8cb82 (23:4b82)
- ld hl, Sprites + 2
- xor a
- ld c, $4
-.asm_8cb88
- ld [hli], a
-rept 3
- inc hl
-endr
- inc a
- dec c
- jr nz, .asm_8cb88
- ld hl, Sprites + $10
- ld bc, $90
- xor a
- call ByteFill
- ret
-
-Function8cb9b: ; 8cb9b (23:4b9b)
- callab Function8cf53
- ld de, CutGrassGFX
- ld hl, VTiles1 tile $00
- lb bc, BANK(CutGrassGFX), 4
- call Request2bpp
- ld a, [CurPartyMon]
- ld hl, PartySpecies
- ld e, a
- ld d, 0
- add hl, de
- ld a, [hl]
- ld [wd265], a
- ld e, $84
- callba Function8e9bc
- xor a
- ld [wJumptableIndex], a
- ret
-
-Function8cbc8: ; 8cbc8 (23:4bc8)
- call Function8cbe6
- ld hl, wcf64
- ld a, [hl]
- and a
- jr z, .asm_8cbe0
- dec [hl]
- cp $40
- ret c
- and $7
- ret nz
- ld de, SFX_FLY
- call PlaySFX
- ret
-.asm_8cbe0
- ld hl, wJumptableIndex
- set 7, [hl]
- ret
-
-Function8cbe6: ; 8cbe6 (23:4be6)
- ld hl, wcf65
- ld a, [hl]
- inc [hl]
- and $7
- ret nz
- ld a, [hl]
- and $18
- sla a
- add $40
- ld d, a
- ld e, $0
- ld a, SPRITE_ANIM_INDEX_18 ; fly land
- call _InitSpriteAnimStruct
- ld hl, $3
- add hl, bc
- ld [hl], $80
- ret
-
INCLUDE "event/magnet_train.asm"
Function8cf4f: ; 8cf4f
@@ -22625,9 +11864,9 @@
ret
; 8cf53
-
INCLUDE "engine/sprites.asm"
+INCLUDE "engine/mon_icons.asm"
SECTION "bank24", ROMX, BANK[$24]
@@ -22638,13 +11877,11 @@
INCLUDE "data/wild/fish.asm"
INCLUDE "engine/slot_machine.asm"
-
SECTION "Phone Engine", ROMX, BANK[$28]
INCLUDE "engine/more_phone_scripts.asm"
INCLUDE "engine/buena_phone_scripts.asm"
-
SECTION "Phone Text", ROMX, BANK[$29]
INCLUDE "text/phone/anthony_overworld.asm"
@@ -22669,7 +11906,6 @@
INCLUDE "tilesets/data_5.asm"
-
SECTION "bank2E", ROMX, BANK[$2E]
INCLUDE "engine/events_3.asm"
@@ -22686,16 +11922,16 @@
TalkToTrainerScript:: ; 0xbe66a
faceplayer
- trainerstatus CHECK_FLAG
+ trainerflagaction CHECK_FLAG
iftrue AlreadyBeatenTrainerScript
- loadtrainerdata
- playrammusic
+ loadmemtrainer
+ encountermusic
jump StartBattleWithMapTrainerScript
; 0xbe675
SeenByTrainerScript:: ; 0xbe675
- loadtrainerdata
- playrammusic
+ loadmemtrainer
+ encountermusic
showemote EMOTE_SHOCK, LAST_TALKED, 30
callasm TrainerWalkToPlayer
applymovement2 MovementBuffer
@@ -22705,14 +11941,14 @@
; 0xbe68a
StartBattleWithMapTrainerScript: ; 0xbe68a
- loadfont
+ opentext
trainertext $0
+ waitbutton
closetext
- loadmovesprites
- loadtrainerdata
+ loadmemtrainer
startbattle
- returnafterbattle
- trainerstatus SET_FLAG
+ reloadmapafterbattle
+ trainerflagaction SET_FLAG
loadvar wRunningTrainerBattleScript, -1
AlreadyBeatenTrainerScript:
@@ -22719,8 +11955,6 @@
scripttalkafter
; 0xbe699
-
-
SECTION "bank30", ROMX, BANK[$30]
INCLUDE "gfx/overworld/sprites_1.asm"
@@ -22729,7 +11963,6 @@
INCLUDE "gfx/overworld/sprites_2.asm"
-
SECTION "bank32", ROMX, BANK[$32]
INCLUDE "battle/bg_effects.asm"
@@ -22736,8 +11969,8 @@
INCLUDE "battle/anims.asm"
-Functioncbcdd: ; cbcdd
- call Functioncbce5
+LoadPoisonBGPals: ; cbcdd
+ call .LoadPals
ld a, [hCGB]
and a
ret nz
@@ -22744,18 +11977,18 @@
ret
; cbce5
-Functioncbce5: ; cbce5
+.LoadPals: ; cbce5
ld a, [hCGB]
and a
- jr nz, .asm_cbd06
+ jr nz, .cgb
ld a, [TimeOfDayPal]
and $3
cp $3
ld a, $0
- jr z, .asm_cbcf7
+ jr z, .convert_pals
ld a, $aa
-.asm_cbcf7
+.convert_pals
call DmgToCgbBGPals
ld c, 4
call DelayFrames
@@ -22762,7 +11995,7 @@
callba _UpdateTimePals
ret
-.asm_cbd06
+.cgb
ld a, [rSVBK]
push af
ld a, $5
@@ -22769,14 +12002,14 @@
ld [rSVBK], a
ld hl, BGPals
ld c, $20
-.asm_cbd12
+.loop
; RGB 31, 21, 28
- ld a, $bc
+ ld a, (palred 31 + palgreen 21 + palblue 28) % $100
ld [hli], a
- ld a, $7e
+ ld a, (palred 31 + palgreen 21 + palblue 28) / $100
ld [hli], a
dec c
- jr nz, .asm_cbd12
+ jr nz, .loop
pop af
ld [rSVBK], a
ld a, $1
@@ -22791,7 +12024,6 @@
INCBIN "gfx/credits/theend.2bpp"
; cbe2e
-
SECTION "bank33", ROMX, BANK[$33]
DisplayCaughtContestMonStats: ; cc000
@@ -22908,12 +12140,10 @@
ret
; cc0d6
-
INCLUDE "battle/anim_commands.asm"
INCLUDE "battle/anim_objects.asm"
-
SECTION "Pic Animations 1", ROMX, BANK[$34]
INCLUDE "gfx/pics/animation.asm"
@@ -22954,18 +12184,15 @@
INCLUDE "gfx/pics/unown_bitmask_pointers.asm"
INCLUDE "gfx/pics/unown_bitmasks.asm"
-
SECTION "Pic Animations 2", ROMX, BANK[$35]
INCLUDE "gfx/pics/frame_pointers.asm"
INCLUDE "gfx/pics/kanto_frames.asm"
-
SECTION "bank36", ROMX, BANK[$36]
FontInversed: INCBIN "gfx/misc/font_inversed.1bpp"
-
SECTION "Pic Animations 3", ROMX, BANK[$36]
INCLUDE "gfx/pics/johto_frames.asm"
@@ -22972,37 +12199,35 @@
INCLUDE "gfx/pics/unown_frame_pointers.asm"
INCLUDE "gfx/pics/unown_frames.asm"
-
SECTION "Tileset Data 6", ROMX, BANK[TILESETS_6]
INCLUDE "tilesets/data_6.asm"
-
SECTION "bank38", ROMX, BANK[$38]
Functione0000: ; e0000
+; something to do with Unown printer
push de
xor a
call GetSRAMBank
ld hl, sScratch
ld bc, 0
-.asm_e000b
+.loop
push bc
push hl
push bc
ld de, wd002
- call Functione004e
- call Functione0057
+ call .Copy
+ call .Decompress
ld hl, Unknown_e008b
pop bc
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld e, a
ld d, [hl]
ld hl, wd012
- call Functione004e
+ call .Copy
pop hl
ld bc, $10
add hl, bc
@@ -23010,10 +12235,11 @@
inc c
ld a, c
cp $31
- jr c, .asm_e000b
+ jr c, .loop
+
ld hl, OverworldMap
ld de, sScratch
- ld bc, $310
+ ld bc, $31 tiles
call CopyBytes
pop hl
ld de, sScratch
@@ -23025,69 +12251,76 @@
ret
; e004e
-Functione004e: ; e004e
+.Copy: ; e004e
ld c, $10
-.asm_e0050
+.loop_copy
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_e0050
+ jr nz, .loop_copy
ret
; e0057
-Functione0057: ; e0057
+.Decompress: ; e0057
ld hl, wd012
- ld e, $80
- ld d, $8
-.asm_e005e
+ ld e, %10000000
+ ld d, 8
+.loop_decompress
push hl
ld hl, wd002
- call Functione0078
+ call .CountSetBit
pop hl
ld a, b
ld [hli], a
push hl
ld hl, wd003
- call Functione0078
+ call .CountSetBit
pop hl
ld a, b
ld [hli], a
srl e
dec d
- jr nz, .asm_e005e
+ jr nz, .loop_decompress
ret
; e0078
-Functione0078: ; e0078
- ld b, $0
- ld c, $8
-.asm_e007c
+.CountSetBit: ; e0078
+ ld b, 0
+ ld c, 8
+.loop_count
ld a, [hli]
and e
- jr z, .asm_e0083
+ jr z, .clear
scf
- jr .asm_e0084
+ jr .apply
-.asm_e0083
+.clear
and a
-.asm_e0084
+.apply
rr b
inc hl
dec c
- jr nz, .asm_e007c
+ jr nz, .loop_count
ret
; e008b
+overworldmaptile EQUS "dw OverworldMap + $10 *"
+overworldmaprect: MACRO
+y = 0
+rept \1
+x = \1 * (\2 +- 1) + y
+rept \2
+ overworldmaptile x
+x = x +- \2
+endr
+y = y + 1
+endr
+endm
+
Unknown_e008b: ; e008b
- dw wcaa0, wca30, wc9c0, wc950, wc8e0, wc870, wc800
- dw wcab0, wca40, wc9d0, wc960, wc8f0, wc880, wc810
- dw wcac0, wca50, wc9e0, wc970, wc900, wc890, wc820
- dw wcad0, wca60, wc9f0, wc980, wc910, wc8a0, wc830
- dw wcae0, wca70, wca00, wc990, wc920, wc8b0, wc840
- dw wcaf0, wca80, wca10, wc9a0, wc930, wc8c0, wc850
- dw wcb00, wca90, wca20, wc9b0, wc940, wc8d0, wc860
+ overworldmaprect 7, 7
; e00ed
Unknown_e00ed:
@@ -23094,11 +12327,13 @@
; Graphics for an unused Game Corner
; game were meant to be here.
-Functione00ed: ; e00ed (38:40ed)
+ret_e00ed: ; e00ed (38:40ed)
+; How many coins?
ret
; e00ee (38:40ee)
INCLUDE "engine/card_flip.asm"
+INCLUDE "engine/unown_puzzle.asm"
INCLUDE "engine/dummy_game.asm"
INCLUDE "engine/billspc.asm"
@@ -23115,127 +12350,7 @@
INCLUDE "gfx/font.asm"
INCLUDE "engine/time_capsule/conversion.asm"
-
-UpdateUnownDex: ; fba18
- ld a, [UnownLetter]
- ld c, a
- ld b, 26
- ld hl, UnownDex
-.loop
- ld a, [hli]
- and a
- jr z, .done
- cp c
- ret z
- dec b
- jr nz, .loop
- ret
-
-.done
- dec hl
- ld [hl], c
- ret
-; fba2e
-
-
-Functionfba2e: ; fba2e (3e:7a2e)
- hlcoord 4, 15
- ld bc, 12
- ld a, " "
- call ByteFill
- ld a, [wc7dd]
- ld e, a
- ld d, 0
- ld hl, UnownDex
- add hl, de
- ld a, [hl]
- ld e, a
- ld d, 0
- ld hl, UnownWords
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld e, a
- ld d, [hl]
- hlcoord 4, 15
-.asm_fba52
- ld a, [de]
- cp $ff
- ret z
- inc de
- ld [hli], a
- jr .asm_fba52
-; fba5a (3e:7a5a)
-
-UnownWords: ; fba5a
- dw UnownWord1
- dw UnownWord1
- dw UnownWord2
- dw UnownWord3
- dw UnownWord4
- dw UnownWord5
- dw UnownWord6
- dw UnownWord7
- dw UnownWord8
- dw UnownWord9
- dw UnownWord10
- dw UnownWord11
- dw UnownWord12
- dw UnownWord13
- dw UnownWord14
- dw UnownWord15
- dw UnownWord16
- dw UnownWord17
- dw UnownWord18
- dw UnownWord19
- dw UnownWord20
- dw UnownWord21
- dw UnownWord22
- dw UnownWord23
- dw UnownWord24
- dw UnownWord25
- dw UnownWord26
-; fba90
-
-unownword: macro
-x = 1
- rept STRLEN(\1)
- db STRSUB(\1, x, 1) - $40
-x = x + 1
- endr
- db -1
-endm
-
-
-UnownWord1: unownword "ANGRY"
-UnownWord2: unownword "BEAR"
-UnownWord3: unownword "CHASE"
-UnownWord4: unownword "DIRECT"
-UnownWord5: unownword "ENGAGE"
-UnownWord6: unownword "FIND"
-UnownWord7: unownword "GIVE"
-UnownWord8: unownword "HELP"
-UnownWord9: unownword "INCREASE"
-UnownWord10: unownword "JOIN"
-UnownWord11: unownword "KEEP"
-UnownWord12: unownword "LAUGH"
-UnownWord13: unownword "MAKE"
-UnownWord14: unownword "NUZZLE"
-UnownWord15: unownword "OBSERVE"
-UnownWord16: unownword "PERFORM"
-UnownWord17: unownword "QUICKEN"
-UnownWord18: unownword "REASSURE"
-UnownWord19: unownword "SEARCH"
-UnownWord20: unownword "TELL"
-UnownWord21: unownword "UNDO"
-UnownWord22: unownword "VANISH"
-UnownWord23: unownword "WANT"
-UnownWord24: unownword "XXXXX"
-UnownWord25: unownword "YIELD"
-UnownWord26: unownword "ZOOM"
-; fbb32
-
+INCLUDE "engine/unowndex.asm"
INCLUDE "event/magikarp.asm"
INCLUDE "battle/hidden_power.asm"
@@ -23250,1055 +12365,16 @@
INCLUDE "event/mom_phone.asm"
+SECTION "bank40", ROMX, BANK[$40]
+
INCLUDE "misc/mobile_40.asm"
-
SECTION "bank41", ROMX, BANK[$41]
-Function104000:: ; 104000
- ld hl, Function104006
- jp Function104177
-; 104006
+INCLUDE "misc/gfx_41.asm"
-Function104006: ; 104006
- decoord 0, 0, AttrMap
- ld hl, w6_d400
- call Function104263
- decoord 0, 0
- ld hl, w6_d000
- call Function10425f
- ld a, $0
- ld [rVBK], a
- ld hl, w6_d000
- call Function10419d
- ld a, $1
- ld [rVBK], a
- ld hl, w6_d400
- call Function10419d
- ret
-; 10402d
+INCLUDE "engine/warp_connection.asm"
-Function10402d:: ; 10402d
- ld hl, Function104033
- jp Function104177
-; 104033
-
-Function104033: ; 104033
- decoord 0, 0
- ld hl, w6_d000
- call Function10425f
- ld a, $0
- ld [rVBK], a
- ld hl, w6_d000
- call Function10419d
- ret
-; 104047
-
-Function104047: ; 104047
- ld hl, Function10404d
- jp Function104177
-; 10404d
-
-Function10404d: ; 10404d
- decoord 0, 0, AttrMap
- ld hl, w6_d400
- call Function104263
- ld a, $1
- ld [rVBK], a
- ld hl, w6_d400
- call Function10419d
- ret
-; 104061
-
-ReloadMapPart:: ; 104061
- ld hl, Function104067
- jp Function104177
-; 104067
-
-Function104067: ; 104067
- decoord 0, 0, AttrMap
- ld hl, w6_d400
- call Function104263
- decoord 0, 0
- ld hl, w6_d000
- call Function10425f
- call DelayFrame
- di
- ld a, [rVBK]
- push af
- ld a, $1
- ld [rVBK], a
- ld hl, w6_d400
- call Function1041ad
- ld a, $0
- ld [rVBK], a
- ld hl, w6_d000
- call Function1041ad
- pop af
- ld [rVBK], a
- ei
- ret
-
-Function104099: ; 104099
- ld hl, ReloadMapPart ; useless
- ld hl, Function1040a2
- jp Function104177
-; 1040a2
-
-Function1040a2: ; 1040a2
- decoord 0, 0, AttrMap
- ld hl, w6_d400
- call Function104263
- decoord 0, 0
- ld hl, w6_d000
- call Function10425f
- call DelayFrame
- di
- ld a, [rVBK]
- push af
- ld a, $1
- ld [rVBK], a
- ld hl, w6_d400
- call Function1041c1
- ld a, $0
- ld [rVBK], a
- ld hl, w6_d000
- call Function1041c1
- pop af
- ld [rVBK], a
- ei
- ret
-; 1040d4
-
-Function1040d4: ; 1040d4
- ld hl, Function1040da
- jp Function104177
-; 1040da
-
-Function1040da: ; 1040da
- ld a, $1
- ld [rVBK], a
- ld a, $3
- ld [rSVBK], a
- ld de, w3_d800
- ld a, [hBGMapAddress + 1]
- ld [rHDMA1], a
- ld a, [hBGMapAddress]
- ld [rHDMA2], a
- ld a, d
- ld [rHDMA3], a
- ld a, e
- ld [rHDMA4], a
- ld a, $23
- ld [hDMATransfer], a
- call Function1041a4
- ret
-; 1040fb
-
-Function1040fb: ; 1040fb
- ld hl, Function104101
- jp Function104177
-; 104101
-
-Function104101: ; 104101
- ld a, $1
- ld [rVBK], a
- ld a, $3
- ld [rSVBK], a
- ld hl, w3_d800
- call Function10419d
- ret
-; 104110
-
-Function104110:: ; 104110
- ld hl, Function104116
- jp Function104177
-; 104116
-
-Function104116: ; 104116
- decoord 0, 0, AttrMap
- ld hl, w6_d400
- call Function104263
- decoord 0, 0
- ld hl, w6_d000
- call Function10425f
- call DelayFrame
- di
- ld a, [rVBK]
- push af
- ld a, $1
- ld [rVBK], a
- ld hl, w6_d400
- call Function1041b7
- ld a, $0
- ld [rVBK], a
- ld hl, w6_d000
- call Function1041b7
- pop af
- ld [rVBK], a
- ei
- ret
-; 104148
-
-Function104148: ; 104148 (41:4148)
- ld hl, Function10414e
- jp Function104177
-; 10414e (41:414e)
-
-Function10414e: ; 10414e
- decoord 0, 0, AttrMap
- ld hl, w6_d400
- call Function104263
- ld c, $ff
- decoord 0, 0
- ld hl, w6_d000
- call Function104265
- ld a, $1
- ld [rVBK], a
- ld hl, w6_d400
- call Function1041ad
- ld a, $0
- ld [rVBK], a
- ld hl, w6_d000
- call Function1041ad
- ret
-; 104177
-
-Function104177: ; 104177
- ld a, [hBGMapMode]
- push af
- ld a, [hMapAnims]
- push af
- xor a
- ld [hBGMapMode], a
- ld [hMapAnims], a
- ld a, [rSVBK]
- push af
- ld a, 6
- ld [rSVBK], a
- ld a, [rVBK]
- push af
- call Function10419c
- pop af
- ld [rVBK], a
- pop af
- ld [rSVBK], a
- pop af
- ld [hMapAnims], a
- pop af
- ld [hBGMapMode], a
- ret
-; 10419c
-
-Function10419c: ; 10419c
- jp [hl]
-; 10419d
-
-
-Function10419d: ; 10419d (41:419d)
- call Function10424e
- ld a, $23
- ld [hDMATransfer], a
-
-Function1041a4: ; 104a14
-.asm_1041a4
- call DelayFrame
- ld a, [hDMATransfer]
- and a
- jr nz, .asm_1041a4
- ret
-
-Function1041ad: ; 1041ad (41:41ad)
- ld a, [hBGMapAddress + 1]
- ld d, a
- ld a, [hBGMapAddress]
- ld e, a
- ld c, $24
- jr Function104209
-
-Function1041b7: ; 1041b7 (41:41b7)
- ld a, [hBGMapAddress + 1]
- ld d, a
- ld a, [hBGMapAddress]
- ld e, a
- ld c, $24
- jr asm_104205
-; 1041c1 (41:41c1)
-
-Function1041c1: ; 1041c1
- ld a, [hBGMapAddress + 1]
- ld d, a
- ld a, [hBGMapAddress]
- ld e, a
- ld c, $24
- ld a, h
- ld [rHDMA1], a
- ld a, l
- and $f0
- ld [rHDMA2], a
- ld a, d
- and $1f
- ld [rHDMA3], a
- ld a, e
- and $f0
- ld [rHDMA4], a
- ld a, c
- dec c
- or $80
- ld b, a
- ld a, $7f
- sub c
- ld d, a
-.loop1
- ld a, [rLY]
- cp d
- jr nc, .loop1
-.loop2
- ld a, [rSTAT]
- and $3
- jr z, .loop2
- ld a, b
- ld [rHDMA5], a
- ld a, [rLY]
- inc c
- ld hl, rLY
-.loop3
- cp [hl]
- jr z, .loop3
- ld a, [hl]
- dec c
- jr nz, .loop3
- ld hl, rHDMA5
- res 7, [hl]
- ret
-; 104205
-
-asm_104205:
- ld b, $7b
- jr asm_10420b
-
-
-Function104209:
-; LY magic
- ld b, $7f
-asm_10420b:
- ld a, h
- ld [rHDMA1], a
- ld a, l
- and $f0 ; high nybble
- ld [rHDMA2], a
- ld a, d
- and $1f ; lower 5 bits
- ld [rHDMA3], a
- ld a, e
- and $f0 ; high nybble
- ld [rHDMA4], a
- ld a, c
- dec c
- or $80 ; set 7, a
- ld e, a
- ld a, b
- sub c
- ld d, a
-.ly_loop
- ld a, [rLY]
- cp d
- jr nc, .ly_loop
-
- di
-.rstat_loop_1
- ld a, [rSTAT]
- and $3
- jr nz, .rstat_loop_1
-.rstat_loop_2
- ld a, [rSTAT]
- and $3
- jr z, .rstat_loop_2
- ld a, e
- ld [rHDMA5], a
- ld a, [rLY]
- inc c
- ld hl, rLY
-.final_ly_loop
- cp [hl]
- jr z, .final_ly_loop
- ld a, [hl]
- dec c
- jr nz, .final_ly_loop
- ld hl, rHDMA5
- res 7, [hl]
- ei
-
- ret
-; 10424e
-
-
-Function10424e: ; 10424e (41:424e)
- ld a, h
- ld [rHDMA1], a
- ld a, l
- ld [rHDMA2], a
- ld a, [hBGMapAddress + 1]
- and $1f
- ld [rHDMA3], a
- ld a, [hBGMapAddress]
- ld [rHDMA4], a
- ret
-
-Function10425f: ; 10425f (41:425f)
- ld c, $7f
- jr Function104265
-
-Function104263: ; 104263 (41:4263)
- ld c, $0
-
-Function104265: ; 104265 (41:4265)
-; back up the value of c to hMapObjectIndexBuffer
- ld a, [hMapObjectIndexBuffer]
- push af
- ld a, c
- ld [hMapObjectIndexBuffer], a
-
-; for each row on the screen
- ld c, SCREEN_HEIGHT
-.loop1
-; for each tile in the row
- ld b, SCREEN_WIDTH
-.loop2
-; copy from de to hl
- ld a, [de]
- inc de
- ld [hli], a
- dec b
- jr nz, .loop2
-
-; load the original value of c into hl 12 times
- ld a, [hMapObjectIndexBuffer]
- ld b, 12
-.loop3
- ld [hli], a
- dec b
- jr nz, .loop3
-
- dec c
- jr nz, .loop1
-
-; restore the original value of hMapObjectIndexBuffer
- pop af
- ld [hMapObjectIndexBuffer], a
- ret
-
-
-_Get2bpp:: ; 104284
- ; 2bpp when [rLCDC] & $80
- ; switch to WRAM bank 6
- ld a, [rSVBK]
- push af
- ld a, $6
- ld [rSVBK], a
-
- push bc
- push hl
-
- ; Copy c tiles of the 2bpp from b:de to w6_d000
- ld a, b ; bank
- ld l, c ; number of tiles
- ld h, $0
-rept 4
- add hl, hl ; multiply by 16 (16 bytes of a 2bpp = 8 x 8 tile)
-endr
- ld b, h
- ld c, l
- ld h, d ; address
- ld l, e
- ld de, w6_d000
- call FarCopyBytes
-
- pop hl
- pop bc
-
- push bc
- call DelayFrame
- pop bc
-
- ld d, h
- ld e, l
- ld hl, w6_d000
- call Function104209
-
- ; restore the previous bank
- pop af
- ld [rSVBK], a
- ret
-; 1042b2
-
-_Get1bpp:: ; 1042b2
- ; 1bpp when [rLCDC] & $80
-.loop
- ld a, c
- cp $10
- jp c, .bankswitch
- jp z, .bankswitch
- push bc
- push hl
- push de
- ld c, $10
- call .bankswitch
- pop de
- ld hl, $80
- add hl, de
- ld d, h
- ld e, l
- pop hl
- lb bc, 1, 0
- add hl, bc
- pop bc
- ld a, c
- sub $10
- ld c, a
- jr .loop
-; 1042d6
-
-.bankswitch: ; 1042d6
- ld a, [rSVBK]
- push af
- ld a, $6
- ld [rSVBK], a
-
- push bc
- push hl
-
- ld a, b
- ld l, c
- ld h, $0
-rept 3
- add hl, hl ; multiply by 8
-endr
- ld c, l
- ld b, h
- ld h, d
- ld l, e
- ld de, w6_d000
- call FarCopyBytesDouble_DoubleBankSwitch
-
- pop hl
- pop bc
-
- push bc
- call DelayFrame
- pop bc
-
- ld d, h
- ld e, l
- ld hl, w6_d000
- call Function104209
-
- pop af
- ld [rSVBK], a
- ret
-; 104303
-
-Function104303: ; 104303
- ld hl, Function104309
- jp Function104177
-; 104309
-
-Function104309:
- ld hl, w6_d000
- decoord 0, 0
- call Function10433a
- ld hl, w6_d000 + $80
- decoord 0, 0, AttrMap
- call Function10433a
- ld a, $1
- ld [rVBK], a
- ld c, $8
- ld hl, w6_d000 + $80
- debgcoord 0, 0, VBGMap1
- call Function104209
- ld a, $0
- ld [rVBK], a
- ld c, $8
- ld hl, w6_d000
- debgcoord 0, 0, VBGMap1
- call Function104209
- ret
-
-Function10433a: ; 10433a (41:433a)
- ld b, 4
-.outer_loop
- ld c, 20
-.inner_loop
- ld a, [de]
- ld [hli], a
- inc de
- dec c
- jr nz, .inner_loop
- ld a, l
- add $20 - 20
- ld l, a
- ld a, h
- adc $0
- ld h, a
- dec b
- jr nz, .outer_loop
- ret
-; 104350
-
-ShockEmote: INCBIN "gfx/emotes/shock.2bpp"
-QuestionEmote: INCBIN "gfx/emotes/question.2bpp"
-HappyEmote: INCBIN "gfx/emotes/happy.2bpp"
-SadEmote: INCBIN "gfx/emotes/sad.2bpp"
-HeartEmote: INCBIN "gfx/emotes/heart.2bpp"
-BoltEmote: INCBIN "gfx/emotes/bolt.2bpp"
-SleepEmote: INCBIN "gfx/emotes/sleep.2bpp"
-FishEmote: INCBIN "gfx/emotes/fish.2bpp"
-JumpShadowGFX: INCBIN "gfx/misc/shadow.2bpp"
-FishingRodGFX2: INCBIN "gfx/misc/fishing2.2bpp"
-BoulderDustGFX: INCBIN "gfx/misc/boulderdust.2bpp"
-FishingRodGFX4: INCBIN "gfx/misc/fishing4.2bpp"
-
-
-RunCallback_05_03: ; 1045b0
- call Clearwc7e8
- call ResetMapBufferEventFlags
- call ResetFlashIfOutOfCave
- call GetCurrentMapTrigger
- call ResetBikeFlags
- ld a, $5
- call RunMapCallback
-
-RunCallback_03: ; 1045c4
- callba ClearCmdQueue
- ld a, $3
- call RunMapCallback
- call GetMapHeaderTimeOfDayNybble
- ld [wc2d0], a
- ret
-
-
-EnterMapConnection: ; 1045d6
-; Return carry if a connection has been entered.
- ld a, [wPlayerStepDirection]
- and a
- jp z, EnterSouthConnection
- cp 1
- jp z, EnterNorthConnection
- cp 2
- jp z, EnterWestConnection
- cp 3
- jp z, EnterEastConnection
- ret
-; 1045ed
-
-
-EnterWestConnection: ; 1045ed
- ld a, [WestConnectedMapGroup]
- ld [MapGroup], a
- ld a, [WestConnectedMapNumber]
- ld [MapNumber], a
- ld a, [WestConnectionStripXOffset]
- ld [XCoord], a
- ld a, [WestConnectionStripYOffset]
- ld hl, YCoord
- add [hl]
- ld [hl], a
- ld c, a
- ld hl, WestConnectionWindow
- ld a, [hli]
- ld h, [hl]
- ld l, a
- srl c
- jr z, .skip_to_load
- ld a, [WestConnectedMapWidth]
- add 6
- ld e, a
- ld d, 0
-
-.loop
- add hl, de
- dec c
- jr nz, .loop
-
-.skip_to_load
- ld a, l
- ld [wd194], a
- ld a, h
- ld [wd194 + 1], a
- jp EnteredConnection
-; 104629
-
-
-EnterEastConnection: ; 104629
- ld a, [EastConnectedMapGroup]
- ld [MapGroup], a
- ld a, [EastConnectedMapNumber]
- ld [MapNumber], a
- ld a, [EastConnectionStripXOffset]
- ld [XCoord], a
- ld a, [EastConnectionStripYOffset]
- ld hl, YCoord
- add [hl]
- ld [hl], a
- ld c, a
- ld hl, EastConnectionWindow
- ld a, [hli]
- ld h, [hl]
- ld l, a
- srl c
- jr z, .skip_to_load
- ld a, [EastConnectedMapWidth]
- add 6
- ld e, a
- ld d, 0
-
-.loop
- add hl, de
- dec c
- jr nz, .loop
-
-.skip_to_load
- ld a, l
- ld [wd194], a
- ld a, h
- ld [wd194 + 1], a
- jp EnteredConnection
-; 104665
-
-
-EnterNorthConnection: ; 104665
- ld a, [NorthConnectedMapGroup]
- ld [MapGroup], a
- ld a, [NorthConnectedMapNumber]
- ld [MapNumber], a
- ld a, [NorthConnectionStripYOffset]
- ld [YCoord], a
- ld a, [NorthConnectionStripXOffset]
- ld hl, XCoord
- add [hl]
- ld [hl], a
- ld c, a
- ld hl, NorthConnectionWindow
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld b, 0
- srl c
- add hl, bc
- ld a, l
- ld [wd194], a
- ld a, h
- ld [wd194 + 1], a
- jp EnteredConnection
-; 104696
-
-
-EnterSouthConnection: ; 104696
- ld a, [SouthConnectedMapGroup]
- ld [MapGroup], a
- ld a, [SouthConnectedMapNumber]
- ld [MapNumber], a
- ld a, [SouthConnectionStripYOffset]
- ld [YCoord], a
- ld a, [SouthConnectionStripXOffset]
- ld hl, XCoord
- add [hl]
- ld [hl], a
- ld c, a
- ld hl, SouthConnectionWindow
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld b, 0
- srl c
- add hl, bc
- ld a, l
- ld [wd194], a
- ld a, h
- ld [wd194 + 1], a
- ; fallthrough
-; 1046c4
-
-EnteredConnection: ; 1046c4
- scf
- ret
-; 1046c6
-
-LoadWarpData: ; 1046c6
- call Function1046df
- call Function104718
- ld a, [wd146]
- ld [WarpNumber], a
- ld a, [wd147]
- ld [MapGroup], a
- ld a, [wd148]
- ld [MapNumber], a
- ret
-
-Function1046df: ; 1046df (41:46df)
- call GetMapPermission
- call CheckOutdoorMap
- ret nz
- ld a, [wd147]
- ld b, a
- ld a, [wd148]
- ld c, a
- call GetAnyMapPermission
- call CheckIndoorMap
- ret nz
- ld a, [wd14a]
- cp $f
- jr nz, .asm_104705
- ld a, [wd14b]
- cp $a
- ret z
- cp $c
- ret z
-.asm_104705
- ld a, [wd149]
- ld [wdca9], a
- ld a, [wd14a]
- ld [wdcaa], a
- ld a, [wd14b]
- ld [wdcab], a
- ret
-
-Function104718: ; 104718 (41:4718)
- call GetMapPermission
- call CheckOutdoorMap
- ret nz
- ld a, [wd147]
- ld b, a
- ld a, [wd148]
- ld c, a
- call GetAnyMapPermission
- call CheckIndoorMap
- ret nz
- ld a, [wd147]
- ld b, a
- ld a, [wd148]
- ld c, a
- call GetAnyMapTileset
- ld a, c
- cp $7
- jr z, .asm_104743
- cp $15
- jr z, .asm_104743
- ret
-.asm_104743
- ld a, [wd14a]
- ld [wdcb2], a
- ld a, [wd14b]
- ld [wdcb3], a
- ret
-
-LoadMapTimeOfDay: ; 104750
- ld hl, VramState
- res 6, [hl]
- ld a, $1
- ld [wSpriteUpdatesEnabled], a
- callba Function8c0e5
- callba Function8c001
- call OverworldTextModeSwitch
- call Function104770
- call Function1047a3
- ret
-
-Function104770: ; 104770 (41:4770)
- ld a, VBGMap0 / $100
- ld [wBGMapAnchor + 1], a
- xor a
- ld [wBGMapAnchor], a
- ld [hSCY], a
- ld [hSCX], a
- callba Function5958
- ld a, [rVBK]
- push af
- ld a, $1
- ld [rVBK], a
- xor a
- lb bc, 4, 0
- hlbgcoord 0, 0
- call ByteFill
- pop af
- ld [rVBK], a
- ld a, $60
- lb bc, 4, 0
- hlbgcoord 0, 0
- call ByteFill
- ret
-
-Function1047a3: ; 1047a3 (41:47a3)
- decoord 0, 0
- call .copy
- ld a, [hCGB]
- and a
- ret z
-
- decoord 0, 0, AttrMap
- ld a, $1
- ld [rVBK], a
-.copy:
- hlbgcoord 0, 0
- ld c, SCREEN_WIDTH
- ld b, SCREEN_HEIGHT
-.row
- push bc
-.column
- ld a, [de]
- inc de
- ld [hli], a
- dec c
- jr nz, .column
- ld bc, $20 - SCREEN_WIDTH
- add hl, bc
- pop bc
- dec b
- jr nz, .row
- ld a, $0
- ld [rVBK], a
- ret
-
-LoadGraphics: ; 1047cf
- call LoadTilesetHeader
- call LoadTileset
- xor a
- ld [hMapAnims], a
- xor a
- ld [hTileAnimFrame], a
- callba RefreshSprites
- call LoadFontsExtra
- callba Function106594
- ret
-
-LoadMapPalettes: ; 1047eb
- ld b, SCGB_09
- jp GetSGBLayout
-; 1047f0
-
-RefreshMapSprites: ; 1047f0
- call ClearSprites
- callba ReturnFromMapSetupScript
- call GetMovementPermissions
- callba Function579d
- callba CheckReplaceKrisSprite
- ld hl, wPlayerSpriteSetupFlags
- bit 6, [hl]
- jr nz, .skip
- ld hl, VramState
- set 0, [hl]
- call Function2e31
-.skip
- ld a, [wPlayerSpriteSetupFlags]
- and $1c
- ld [wPlayerSpriteSetupFlags], a
- ret
-
-CheckMovingOffEdgeOfMap:: ; 104820 (41:4820)
- ld a, [wPlayerStepDirection]
- cp STANDING
- ret z
- and a ; DOWN
- jr z, .down
- cp UP
- jr z, .up
- cp LEFT
- jr z, .left
- cp RIGHT
- jr z, .right
- and a
- ret
-
-.down
- ld a, [PlayerNextMapY]
- sub 4
- ld b, a
- ld a, [MapHeight]
- add a
- cp b
- jr z, .ok
- and a
- ret
-
-.up
- ld a, [PlayerNextMapY]
- sub 4
- cp -1
- jr z, .ok
- and a
- ret
-
-.left
- ld a, [PlayerNextMapX]
- sub $4
- cp -1
- jr z, .ok
- and a
- ret
-
-.right
- ld a, [PlayerNextMapX]
- sub 4
- ld b, a
- ld a, [MapWidth]
- add a
- cp b
- jr z, .ok
- and a
- ret
-
-.ok
- scf
- ret
-
-
-GetCoordOfUpperLeftCorner:: ; 10486d
- ld hl, OverworldMap
- ld a, [XCoord]
- bit 0, a
- jr nz, .increment_then_halve1
- srl a
- add $1
- jr .resume
-
-.increment_then_halve1
- add $1
- srl a
-
-.resume
- ld c, a
- ld b, $0
- add hl, bc
- ld a, [MapWidth]
- add $6
- ld c, a
- ld b, $0
- ld a, [YCoord]
- bit 0, a
- jr nz, .increment_then_halve2
- srl a
- add $1
- jr .resume2
-
-.increment_then_halve2
- add $1
- srl a
-
-.resume2
- call AddNTimes
- ld a, l
- ld [wd194], a
- ld a, h
- ld [wd194 + 1], a
- ld a, [YCoord]
- and $1
- ld [wd196], a
- ld a, [XCoord]
- and $1
- ld [wd197], a
- ret
-; 1048ba
-
INCLUDE "engine/mysterygift.asm"
INCLUDE "battle/used_move_text.asm"
@@ -24305,9 +12381,10 @@
INCLUDE "misc/mobile_41.asm"
+SECTION "bank42", ROMX, BANK[$42]
+
INCLUDE "misc/mobile_42.asm"
-
SECTION "Intro Logo", ROMX, BANK[$42]
IntroLogoGFX: ; 109407
@@ -24314,13 +12391,10 @@
INCBIN "gfx/intro/logo.2bpp.lz"
; 109847
-
INCLUDE "misc/unused_title.asm"
-
INCLUDE "engine/title.asm"
-
INCLUDE "misc/mobile_45.asm"
INCLUDE "misc/mobile_46.asm"
@@ -24331,6 +12405,7 @@
SECTION "bank5B", ROMX, BANK[$5B]
INCLUDE "misc/mobile_5b.asm"
+INCLUDE "engine/link_trade.asm"
SECTION "bank5C", ROMX, BANK[$5C]
@@ -24340,7 +12415,6 @@
INCLUDE "text/phone/extra3.asm"
-
SECTION "bank5E", ROMX, BANK[$5E]
_UpdateBattleHUDs:
@@ -24354,10 +12428,8 @@
ret
; 17801f (5e:401f)
-
INCLUDE "misc/mobile_5f.asm"
-
SECTION "Common Text 1", ROMX, BANK[$6C]
INCLUDE "text/stdtext.asm"
@@ -24380,7 +12452,6 @@
INCLUDE "text/phone/elm.asm"
INCLUDE "text/phone/trainers1.asm"
-
SECTION "bank72", ROMX, BANK[$72]
ItemNames::
@@ -24393,13 +12464,10 @@
INCLUDE "engine/landmarks.asm"
-
SECTION "bank75", ROMX, BANK[$75]
-
SECTION "bank76", ROMX, BANK[$76]
-
SECTION "bank77", ROMX, BANK[$77]
UnownFont: ; 1dc000
@@ -24406,363 +12474,8 @@
INCBIN "gfx/misc/unown_font.2bpp"
; 1dc1b0
-Function1dc1b0: ; 1dc1b0
- hlcoord 0, 0
- ld de, wca90
- ld bc, 17 * SCREEN_WIDTH
- call CopyBytes
- ld hl, wcab5
- ld a, $62
- ld [hli], a
- inc a
- ld [hl], a
- ld hl, wcac9
- ld a, $64
- ld [hli], a
- inc a
- ld [hl], a
- ld hl, wcb45
- ld a, " "
- ld [hli], a
- ld [hl], a
- ld hl, wcb59
- ld a, $61
- ld [hli], a
- ld [hl], a
- ld hl, wcb6e
- lb bc, 5, 18
- call ClearBox
- ld a, [wd265]
- dec a
- call CheckCaughtMon
- push af
- ld a, [wd265]
- ld b, a
- ld c, $1
- callba Function44355
- pop af
- ld a, b
- ld hl, wcb6d
- call nz, FarString
- ld hl, wcaa3
- ld [hl], $35
- ld de, SCREEN_WIDTH
- add hl, de
- ld b, $f
-.asm_1dc20a
- ld [hl], $37
- add hl, de
- dec b
- jr nz, .asm_1dc20a
- ld [hl], $3a
- ret
-; 1dc213
+INCLUDE "misc/printer_77.asm"
-Function1dc213: ; 1dc213
- ld hl, wca90
- ld bc, $a0
- ld a, " "
- call ByteFill
- ld hl, wca90
- ld a, $36
- ld b, $6
- call Function1dc26a
- ld hl, wcaa3
- ld a, $37
- ld b, $6
- call Function1dc26a
- ld hl, wcb08
- ld [hl], $38
- inc hl
- ld a, $39
- ld bc, SCREEN_HEIGHT
- call ByteFill
- ld [hl], $3a
- ld hl, wcb1c
- ld bc, SCREEN_WIDTH
- ld a, $32
- call ByteFill
- ld a, [wd265]
- dec a
- call CheckCaughtMon
- push af
- ld a, [wd265]
- ld b, a
- ld c, $2
- callba Function44355
- pop af
- ld hl, wcaa5
- ld a, b
- call nz, FarString
- ret
-; 1dc26a
-
-Function1dc26a: ; 1dc26a
- push de
- ld de, SCREEN_WIDTH
-.asm_1dc26e
- ld [hl], a
- add hl, de
- dec b
- jr nz, .asm_1dc26e
- pop de
- ret
-; 1dc275
-
-GBPrinterStrings:
-String_1dc275: db "@"
-String_1dc276: next " CHECKING LINK...@"
-String_1dc289: next " TRANSMITTING...@"
-String_1dc29c: next " PRINTING...@"
-String_1dc2ad:
- db " Printer Error 1"
- next ""
- next "Check the Game Boy"
- next "Printer Manual."
- db "@"
-String_1dc2e2:
- db " Printer Error 2"
- next ""
- next "Check the Game Boy"
- next "Printer Manual."
- db "@"
-String_1dc317:
- db " Printer Error 3"
- next ""
- next "Check the Game Boy"
- next "Printer Manual."
- db "@"
-String_1dc34c:
- db " Printer Error 4"
- next ""
- next "Check the Game Boy"
- next "Printer Manual."
- db "@"
-; 1dc381
-
-Function1dc381: ; 1dc381
- call ClearBGPalettes
- call ClearTileMap
- call ClearSprites
- xor a
- ld [hBGMapMode], a
- call LoadFontsBattleExtra
-
- ld de, MobileHPIcon
- ld hl, VTiles2 tile $71
- lb bc, BANK(MobileHPIcon), 1
- call Request1bpp
-
- ld de, MobileLvIcon
- ld hl, VTiles2 tile $6e
- lb bc, BANK(MobileLvIcon), 1
- call Request1bpp
-
- ld de, ShinyIcon
- ld hl, VTiles2 tile $3f
- lb bc, BANK(ShinyIcon), 1
- call Get2bpp
-
- xor a
- ld [MonType], a
- callba CopyPkmnToTempMon
- hlcoord 0, 7
- ld b, 9
- ld c, 18
- call TextBox
- hlcoord 8, 2
- ld a, [TempMonLevel]
- call Function383d
- hlcoord 12, 2
- ld [hl], "◀" ; Filled left triangle
- inc hl
- ld de, TempMonMaxHP
- lb bc, 2, 3
- call PrintNum
- ld a, [CurPartySpecies]
- ld [wd265], a
- ld [CurSpecies], a
- ld hl, PartyMonNicknames
- call Function1dc50e
- hlcoord 8, 4
- call PlaceString
- hlcoord 9, 6
- ld [hl], "/"
- call GetPokemonName
- hlcoord 10, 6
- call PlaceString
- hlcoord 8, 0
- ld [hl], "№"
- inc hl
- ld [hl], "."
- inc hl
- ld de, wd265
- lb bc, PRINTNUM_LEADINGZEROS | 1, 3
- call PrintNum
- hlcoord 1, 9
- ld de, String1dc550
- call PlaceString
- ld hl, PartyMonOT
- call Function1dc50e
- hlcoord 4, 9
- call PlaceString
- hlcoord 1, 11
- ld de, String1dc559
- call PlaceString
- hlcoord 4, 11
- ld de, TempMonID
- lb bc, PRINTNUM_LEADINGZEROS | 2, 5
- call PrintNum
- hlcoord 1, 14
- ld de, String1dc554
- call PlaceString
- hlcoord 7, 14
- ld a, [TempMonMoves + 0]
- call Function1dc51a
- call Function1dc52c
- ld hl, TempMonDVs
- predef GetUnownLetter
- ld hl, wc2c6
- xor a
- ld [hl], a
- ld a, [CurPartySpecies]
- cp UNOWN
- jr z, .asm_1dc469
- inc [hl]
-
-.asm_1dc469
- hlcoord 0, 0
- call _PrepMonFrontpic
- call WaitBGMap
- ld b, SCGB_03
- call GetSGBLayout
- call SetPalettes
- ret
-; 1dc47b
-
-Function1dc47b: ; 1dc47b
- call ClearBGPalettes
- call ClearTileMap
- call ClearSprites
- xor a
- ld [hBGMapMode], a
- call LoadFontsBattleExtra
- xor a
- ld [MonType], a
- callba CopyPkmnToTempMon
- hlcoord 0, 0
- ld b, 15
- ld c, 18
- call TextBox
- ld bc, SCREEN_WIDTH
- decoord 0, 0
- hlcoord 0, 1
- call CopyBytes
- hlcoord 7, 0
- ld a, [TempMonMoves + 1]
- call Function1dc51a
- hlcoord 7, 2
- ld a, [TempMonMoves + 2]
- call Function1dc51a
- hlcoord 7, 4
- ld a, [TempMonMoves + 3]
- call Function1dc51a
- hlcoord 7, 7
- ld de, String1dc55d
- call PlaceString
- hlcoord 16, 7
- ld de, TempMonAttack
- call .PrintTempMonStats
- hlcoord 16, 9
- ld de, TempMonDefense
- call .PrintTempMonStats
- hlcoord 16, 11
- ld de, TempMonSpclAtk
- call .PrintTempMonStats
- hlcoord 16, 13
- ld de, TempMonSpclDef
- call .PrintTempMonStats
- hlcoord 16, 15
- ld de, TempMonSpeed
- call .PrintTempMonStats
- call WaitBGMap
- ld b, SCGB_03
- call GetSGBLayout
- call SetPalettes
- ret
-; 1dc507
-
-.PrintTempMonStats: ; 1dc507
- lb bc, 2, 3
- call PrintNum
- ret
-; 1dc50e
-
-Function1dc50e: ; 1dc50e
- ld bc, NAME_LENGTH
- ld a, [CurPartyMon]
- call AddNTimes
- ld e, l
- ld d, h
- ret
-; 1dc51a
-
-Function1dc51a: ; 1dc51a
- and a
- jr z, .no_move
-
- ld [wd265], a
- call GetMoveName
- jr .got_string
-
-.no_move
- ld de, String1dc584
-
-.got_string
- call PlaceString
- ret
-; 1dc52c
-
-Function1dc52c: ; 1dc52c
- callba GetGender
- ld a, " "
- jr c, .got_gender
- ld a, "♂"
- jr nz, .got_gender
- ld a, "♀"
-
-.got_gender
- hlcoord 17, 2
- ld [hl], a
- ld bc, TempMonDVs
- callba CheckShininess
- ret nc
- hlcoord 18, 2
- ld [hl], "<SHINY>"
- ret
-; 1dc550
-
-String1dc550: ; 1dc550
- db "OT/@"
-
-String1dc554: ; 1dc554
- db "MOVE@"
-
-String1dc559: ; 1dc559
- db "<ID>№.@"
-
-String1dc55d: ; 1dc55d
- db "ATTACK"
- next "DEFENSE"
- next "SPCL.ATK"
- next "SPCL.DEF"
- next "SPEED"
- db "@"
-
-String1dc584: ; 1dc584
- db "------------@"
-; 1dc591
-
MobileHPIcon: ; 1dc591
INCBIN "gfx/mobile/hp.1bpp"
@@ -24769,14 +12482,10 @@
MobileLvIcon: ; 1dc599
INCBIN "gfx/mobile/lv.1bpp"
-
-
SECTION "Tileset Data 7", ROMX, BANK[TILESETS_7]
INCLUDE "tilesets/data_7.asm"
-
-
SECTION "bank77_2", ROMX, BANK[$77]
Function1dd6a9: ; 1dd6a9
@@ -24846,11 +12555,9 @@
String_PM: db "PM@" ; 1dd6ff
; 1dd702
-
INCLUDE "engine/diploma.asm"
-
-Function1ddf1c: ; 1ddf1c
+LoadSGBPokedexGFX: ; 1ddf1c
ld hl, LZ_1ddf33
ld de, VTiles2 tile $31
call Decompress
@@ -24866,21 +12573,21 @@
; 1ddf33 (77:5f33)
LZ_1ddf33: ; 1ddf33
-INCBIN "gfx/unknown/1ddf33.2bpp.lz"
+INCBIN "gfx/pokedex/sgb.2bpp.lz"
; 1de0d7
-Function1de0d7: ; 1de0d7
- ld hl, LZ_1de0e1
+LoadQuestionMarkPic: ; 1de0d7
+ ld hl, .QuestionMarkLZ
ld de, sScratch
call Decompress
ret
; 1de0e1
-LZ_1de0e1: ; 1de0e1
-INCBIN "gfx/unknown/1de0e1.2bpp.lz"
+.QuestionMarkLZ: ; 1de0e1
+INCBIN "gfx/pics/questionmark/front.2bpp.lz"
; 1de171
-Function1de171: ; 1de171 (77:6171)
+DrawPokedexListWindow: ; 1de171 (77:6171)
ld a, $32
hlcoord 0, 17
ld bc, 12
@@ -24890,46 +12597,49 @@
call ClearBox
ld a, $34
hlcoord 0, 0
- ld bc, $b
+ ld bc, 11
call ByteFill
ld a, $39
hlcoord 0, 16
- ld bc, $b
+ ld bc, 11
call ByteFill
hlcoord 5, 0
ld [hl], $3f
hlcoord 5, 16
ld [hl], $40
- ld a, [wc7d4]
- cp $1
- jr z, .asm_1de1bf
+ ld a, [wCurrentDexMode]
+ cp DEXMODE_OLD
+ jr z, .OldMode
+; scroll bar
hlcoord 11, 0
ld [hl], $50
ld a, $51
hlcoord 11, 1
ld b, SCREEN_HEIGHT - 3
- call Function1de27f
+ call Bank77_FillColumn
ld [hl], $52
- jr .asm_1de1d0
-.asm_1de1bf
+ jr .Done
+
+.OldMode
+; no scroll bar
hlcoord 11, 0
ld [hl], $66
ld a, $67
hlcoord 11, 1
ld b, SCREEN_HEIGHT - 3
- call Function1de27f
+ call Bank77_FillColumn
ld [hl], $68
-.asm_1de1d0
+.Done
ret
-Function1de1d1: ; 1de1d1 (77:61d1)
+DrawPokedexSearchResultsWindow: ; 1de1d1 (77:61d1)
ld a, $34
hlcoord 0, 0
- ld bc, $b
+ ld bc, 11
call ByteFill
ld a, $39
hlcoord 0, 10
- ld bc, $b
+ ld bc, 11
call ByteFill
hlcoord 5, 0
ld [hl], $3f
@@ -24940,15 +12650,15 @@
ld a, $67
hlcoord 11, 1
ld b, SCREEN_HEIGHT / 2
- call Function1de27f
+ call Bank77_FillColumn
ld [hl], $68
ld a, $34
hlcoord 0, 11
- ld bc, $b
+ ld bc, 11
call ByteFill
ld a, $39
hlcoord 0, 17
- ld bc, $b
+ ld bc, 11
call ByteFill
hlcoord 11, 11
ld [hl], $66
@@ -24955,20 +12665,21 @@
ld a, $67
hlcoord 11, 12
ld b, 5
- call Function1de27f
+ call Bank77_FillColumn
ld [hl], $68
hlcoord 0, 12
lb bc, 5, 11
call ClearBox
- ld de, String_1de23c
+ ld de, .esults_D
hlcoord 0, 12
call PlaceString
ret
; 1de23c (77:623c)
-String_1de23c: ; 1de23c
-; At a glance, this is less coherent in the Japanese charset.
+.esults_D: ; 1de23c
+; (SEARCH R)
db "ESULTS<NEXT>"
+; (### FOUN)
next "D!@"
; 1de247
@@ -24987,8 +12698,8 @@
ld [hl], $66
hlcoord 19, 1
ld a, $67
- ld b, SCREEN_HEIGHT - 3
- call Function1de27f
+ ld b, 15
+ call Bank77_FillColumn
ld [hl], $68
hlcoord 19, 17
ld [hl], $3c
@@ -24995,8 +12706,8 @@
xor a
ld b, SCREEN_HEIGHT
hlcoord 19, 0, AttrMap
- call Function1de27f
- call Function3200
+ call Bank77_FillColumn
+ call WaitBGMap2
pop hl
ld a, l
ld [hBGMapAddress], a
@@ -25005,7 +12716,7 @@
ret
; 1de27f
-Function1de27f: ; 1de27f
+Bank77_FillColumn: ; 1de27f
push de
ld de, SCREEN_WIDTH
.loop
@@ -25017,8 +12728,6 @@
ret
; 1de28a
-
-
_DudeAutoInput_A:: ; 1de28a
ld hl, DudeAutoInput_A
jr _DudeAutoInput
@@ -25040,7 +12749,6 @@
ret
; 1de29f
-
DudeAutoInputs:
DudeAutoInput_A: ; 1de29f
@@ -25071,7 +12779,6 @@
db NO_INPUT, $ff ; end
; 1de2c5
-
Function1de2c5: ; 1de2c5
ld hl, StringBuffer1
.loop
@@ -25233,28 +12940,22 @@
ret
; 1df238
-
SECTION "Tileset Data 8", ROMX, BANK[TILESETS_8]
INCLUDE "tilesets/data_8.asm"
-
SECTION "bank79", ROMX, BANK[$79]
-
SECTION "bank7A", ROMX, BANK[$7A]
-
SECTION "bank7B", ROMX, BANK[$7B]
INCLUDE "text/battle_tower.asm"
-
SECTION "bank7C", ROMX, BANK[$7C]
INCLUDE "data/battle_tower_2.asm"
-
SECTION "bank7D", ROMX, BANK[$7D]
db $cc, $6b, $1e ; XXX
@@ -25301,15 +13002,12 @@
Unknown_1f5db4:
INCBIN "unknown/1f5db4.bin"
-
SECTION "bank7E", ROMX, BANK[$7E]
INCLUDE "data/battle_tower.asm"
INCLUDE "data/odd_eggs.asm"
-
SECTION "bank7F", ROMX, BANK[$7F]
-
SECTION "stadium2", ROMX[$8000-$220], BANK[$7F]
--- a/maps/AzaleaGym.asm
+++ b/maps/AzaleaGym.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const AZALEAGYM_BUGSY
+ const AZALEAGYM_BUG_CATCHER1
+ const AZALEAGYM_BUG_CATCHER2
+ const AZALEAGYM_BUG_CATCHER3
+ const AZALEAGYM_TWIN1
+ const AZALEAGYM_TWIN2
+ const AZALEAGYM_GYM_GUY
+
AzaleaGym_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,21 +16,21 @@
BugsyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_BUGSY
iftrue .FightDone
writetext BugsyText_INeverLose
+ waitbutton
closetext
- loadmovesprites
winlosstext BugsyText_ResearchIncomplete, 0
loadtrainer BUGSY, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_BUGSY
- loadfont
+ opentext
writetext Text_ReceivedHiveBadge
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_HIVEBADGE
checkcode VAR_BADGES
scall AzaleaGymTriggerRockets
@@ -33,20 +42,20 @@
setevent EVENT_BEAT_BUG_CATCHER_AL
setevent EVENT_BEAT_BUG_CATCHER_JOSH
writetext BugsyText_HiveBadgeSpeech
- keeptextopen
+ buttonsound
verbosegiveitem TM_FURY_CUTTER
iffalse .NoRoomForFuryCutter
setevent EVENT_GOT_TM49_FURY_CUTTER
writetext BugsyText_FuryCutterSpeech
+ waitbutton
closetext
- loadmovesprites
end
.GotFuryCutter:
writetext BugsyText_BugMonsAreDeep
- closetext
+ waitbutton
.NoRoomForFuryCutter:
- loadmovesprites
+ closetext
end
AzaleaGymTriggerRockets:
@@ -64,11 +73,11 @@
trainer EVENT_BEAT_TWINS_AMY_AND_MAY, TWINS, AMYANDMAY1, TwinsAmyandmay1SeenText, TwinsAmyandmay1BeatenText, 0, .AfterScript
.AfterScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext TwinsAmyandmay1AfterBattleText
+ waitbutton
closetext
- loadmovesprites
end
TrainerTwinsAmyandmay2:
@@ -75,11 +84,11 @@
trainer EVENT_BEAT_TWINS_AMY_AND_MAY, TWINS, AMYANDMAY2, TwinsAmyandmay2SeenText, TwinsAmyandmay2BeatenText, 0, .AfterScript
.AfterScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext TwinsAmyandmay2AfterBattleText
+ waitbutton
closetext
- loadmovesprites
end
TrainerBug_catcherbenny:
@@ -86,11 +95,11 @@
trainer EVENT_BEAT_BUG_CATCHER_BENNY, BUG_CATCHER, BUG_CATCHER_BENNY, Bug_catcherbennySeenText, Bug_catcherbennyBeatenText, 0, .AfterScript
.AfterScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext Bug_catcherbennyAfterBattleText
+ waitbutton
closetext
- loadmovesprites
end
TrainerBug_catcherAl:
@@ -97,11 +106,11 @@
trainer EVENT_BEAT_BUG_CATCHER_AL, BUG_CATCHER, AL, Bug_catcherAlSeenText, Bug_catcherAlBeatenText, 0, .AfterScript
.AfterScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext Bug_catcherAlAfterBattleText
+ waitbutton
closetext
- loadmovesprites
end
TrainerBug_catcherJosh:
@@ -108,11 +117,11 @@
trainer EVENT_BEAT_BUG_CATCHER_JOSH, BUG_CATCHER, JOSH, Bug_catcherJoshSeenText, Bug_catcherJoshBeatenText, 0, .AfterScript
.AfterScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext Bug_catcherJoshAfterBattleText
+ waitbutton
closetext
- loadmovesprites
end
AzaleaGymGuyScript:
@@ -119,17 +128,17 @@
faceplayer
checkevent EVENT_BEAT_BUGSY
iftrue .AzaleaGymGuyWinScript
- loadfont
+ opentext
writetext AzaleaGymGuyText
+ waitbutton
closetext
- loadmovesprites
end
.AzaleaGymGuyWinScript
- loadfont
+ opentext
writetext AzaleaGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
end
AzaleaGymStatue:
--- a/maps/AzaleaMart.asm
+++ b/maps/AzaleaMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const AZALEAMART_CLERK
+ const AZALEAMART_COOLTRAINER_M
+ const AZALEAMART_BUG_CATCHER
+
AzaleaMart_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,9 +11,9 @@
db 0
ClerkScript_0x18e040:
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_AZALEA
- loadmovesprites
+ closetext
end
CooltrainerMScript_0x18e047:
--- a/maps/AzaleaPokeCenter1F.asm
+++ b/maps/AzaleaPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const AZALEAPOKECENTER1F_NURSE
+ const AZALEAPOKECENTER1F_GENTLEMAN
+ const AZALEAPOKECENTER1F_FISHING_GURU
+ const AZALEAPOKECENTER1F_POKEFAN_F
+
AzaleaPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 1
--- a/maps/AzaleaTown.asm
+++ b/maps/AzaleaTown.asm
@@ -1,11 +1,25 @@
+const_value set 2
+ const AZALEATOWN_AZALEA_ROCKET1
+ const AZALEATOWN_GRAMPS
+ const AZALEATOWN_TEACHER
+ const AZALEATOWN_YOUNGSTER
+ const AZALEATOWN_SLOWPOKE1
+ const AZALEATOWN_SLOWPOKE2
+ const AZALEATOWN_SLOWPOKE3
+ const AZALEATOWN_SLOWPOKE4
+ const AZALEATOWN_FRUIT_TREE
+ const AZALEATOWN_SILVER
+ const AZALEATOWN_AZALEA_ROCKET3
+ const AZALEATOWN_KURT_OUTSIDE
+
AzaleaTown_MapScriptHeader:
.MapTriggers:
db 3
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
dw .Trigger2, 0
- dw .Trigger3, 0
.MapCallbacks:
db 1
@@ -13,6 +27,9 @@
; callbacks
dbw 5, .Flypoint
+.Trigger0
+ end
+
.Trigger1
end
@@ -19,158 +36,155 @@
.Trigger2
end
-.Trigger3
- end
-
.Flypoint
setflag ENGINE_FLYPOINT_AZALEA
return
-UnknownScript_0x198018:
- moveperson $b, $b, $b
+AzaleaTownRivalBattleTrigger1:
+ moveperson AZALEATOWN_SILVER, $b, $b
spriteface PLAYER, RIGHT
showemote EMOTE_SHOCK, PLAYER, 15
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 15
- appear $b
- applymovement $b, MovementData_0x198134
+ appear AZALEATOWN_SILVER
+ applymovement AZALEATOWN_SILVER, AzaleaTownRivalBattleApproachMovement1
spriteface PLAYER, DOWN
- jump UnknownScript_0x198049
+ jump AzaleaTownRivalBattleScript
-UnknownScript_0x198034:
+AzaleaTownRivalBattleTrigger2:
spriteface PLAYER, RIGHT
showemote EMOTE_SHOCK, PLAYER, 15
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 15
- appear $b
- applymovement $b, MovementData_0x19813c
+ appear AZALEATOWN_SILVER
+ applymovement AZALEATOWN_SILVER, AzaleaTownRivalBattleApproachMovement2
spriteface PLAYER, UP
-UnknownScript_0x198049:
+AzaleaTownRivalBattleScript:
playmusic MUSIC_RIVAL_ENCOUNTER
- loadfont
- writetext UnknownText_0x19814d
+ opentext
+ writetext AzaleaTownRivalBeforeText
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_RIVAL_AZALEA_TOWN
checkevent EVENT_GOT_TOTODILE_FROM_ELM
- iftrue UnknownScript_0x198071
+ iftrue .Totodile
checkevent EVENT_GOT_CHIKORITA_FROM_ELM
- iftrue UnknownScript_0x198081
- winlosstext UnknownText_0x1981e6, UnknownText_0x19835b
- setlasttalked $b
+ iftrue .Chikorita
+ winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText
+ setlasttalked AZALEATOWN_SILVER
loadtrainer RIVAL1, RIVAL1_6
startbattle
- reloadmapmusic
- returnafterbattle
- jump UnknownScript_0x198091
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .AfterBattle
-UnknownScript_0x198071:
- winlosstext UnknownText_0x1981e6, UnknownText_0x19835b
- setlasttalked $b
+.Totodile:
+ winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText
+ setlasttalked AZALEATOWN_SILVER
loadtrainer RIVAL1, RIVAL1_4
startbattle
- reloadmapmusic
- returnafterbattle
- jump UnknownScript_0x198091
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .AfterBattle
-UnknownScript_0x198081:
- winlosstext UnknownText_0x1981e6, UnknownText_0x19835b
- setlasttalked $b
+.Chikorita:
+ winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText
+ setlasttalked AZALEATOWN_SILVER
loadtrainer RIVAL1, RIVAL1_5
startbattle
- reloadmapmusic
- returnafterbattle
- jump UnknownScript_0x198091
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .AfterBattle
-UnknownScript_0x198091:
+.AfterBattle:
playmusic MUSIC_RIVAL_AFTER
- loadfont
- writetext UnknownText_0x198233
+ opentext
+ writetext AzaleaTownRivalAfterText
+ waitbutton
closetext
- loadmovesprites
spriteface PLAYER, LEFT
- applymovement $b, MovementData_0x198144
+ applymovement AZALEATOWN_SILVER, AzaleaTownRivalBattleExitMovement
playsound SFX_EXIT_BUILDING
- disappear $b
+ disappear AZALEATOWN_SILVER
dotrigger $0
- waitbutton
+ waitsfx
playmapmusic
end
-AzaleaRocketScript_0x1980ab:
- jumptextfaceplayer UnknownText_0x19837b
+AzaleaTownRocket1Script:
+ jumptextfaceplayer GoodSamaritanRocketText
-AzaleaRocketScript_0x1980ae:
- jumptextfaceplayer UnknownText_0x1983c7
+AzaleaTownRocket2Script:
+ jumptextfaceplayer TastySlowpokeTailRocketText
-GrampsScript_0x1980b1:
+AzaleaTownGrampsScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_CLEARED_SLOWPOKE_WELL
- iftrue UnknownScript_0x1980bf
- writetext UnknownText_0x19841b
+ iftrue .ClearedWell
+ writetext AzaleaTownGrampsTextBefore
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1980bf:
- writetext UnknownText_0x198473
+.ClearedWell:
+ writetext AzaleaTownGrampsTextAfter
+ waitbutton
closetext
- loadmovesprites
end
-TeacherScript_0x1980c5:
- jumptextfaceplayer UnknownText_0x1984ce
+AzaleaTownTeacherScript:
+ jumptextfaceplayer AzaleaTownTeacherText
-YoungsterScript_0x1980c8:
- jumptextfaceplayer UnknownText_0x19851a
+AzaleaTownYoungsterScript:
+ jumptextfaceplayer AzaleaTownYoungsterText
-SlowpokeScript_0x1980cb:
- loadfont
- writetext UnknownText_0x1985b0
+AzaleaTownSlowpokeScript:
+ opentext
+ writetext AzaleaTownSlowpokeText1
pause 60
- writetext UnknownText_0x1985c3
+ writetext AzaleaTownSlowpokeText2
cry SLOWPOKE
+ waitbutton
closetext
- loadmovesprites
end
WoosterScript:
; unused
faceplayer
- loadfont
+ opentext
writetext WoosterText
cry QUAGSIRE
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1980e5:
- applymovement PLAYER, MovementData_0x198148
- loadfont
- writetext UnknownText_0x1985df
- keeptextopen
- spriteface $d, RIGHT
- writetext UnknownText_0x19860b
- keeptextopen
- writetext UnknownText_0x198628
- closetext
+AzaleaTown_CelebiEventScript:
+ applymovement PLAYER, Movement_PlayerWalksOutOfKurtsHouse
+ opentext
+ writetext IlexForestIsRestlessText
+ buttonsound
+ spriteface AZALEATOWN_KURT_OUTSIDE, RIGHT
+ writetext HeresTheGSBallBackText
+ buttonsound
+ writetext PleaseInvestigateIlexForestText
+ waitbutton
verbosegiveitem GS_BALL
- spriteface $d, LEFT
+ spriteface AZALEATOWN_KURT_OUTSIDE, LEFT
setflag ENGINE_HAVE_EXAMINED_GS_BALL
clearevent EVENT_ILEX_FOREST_LASS
setevent EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS
dotrigger $0
- loadmovesprites
+ closetext
end
-KurtOutsideScript_0x19810c:
+AzaleaTownKurtScript:
faceplayer
- loadfont
- writetext UnknownText_0x198628
+ opentext
+ writetext PleaseInvestigateIlexForestText
+ waitbutton
+ spriteface AZALEATOWN_KURT_OUTSIDE, LEFT
closetext
- spriteface $d, LEFT
- loadmovesprites
end
AzaleaTownSign:
@@ -200,11 +214,11 @@
WhiteApricornTree:
fruittree FRUITTREE_AZALEA_TOWN
-MapAzaleaTownSignpostItem8:
+AzaleaTownHiddenFullHeal:
dwb EVENT_AZALEA_TOWN_HIDDEN_FULL_HEAL, FULL_HEAL
-MovementData_0x198134:
+AzaleaTownRivalBattleApproachMovement1:
step_left
step_left
step_left
@@ -214,7 +228,7 @@
turn_head_up
step_end
-MovementData_0x19813c:
+AzaleaTownRivalBattleApproachMovement2:
step_left
step_left
step_left
@@ -224,13 +238,13 @@
turn_head_down
step_end
-MovementData_0x198144:
+AzaleaTownRivalBattleExitMovement:
step_left
step_left
step_left
step_end
-MovementData_0x198148:
+Movement_PlayerWalksOutOfKurtsHouse:
step_left
step_left
step_up
@@ -237,7 +251,7 @@
turn_head_left
step_end
-UnknownText_0x19814d:
+AzaleaTownRivalBeforeText:
text "…Tell me some-"
line "thing."
@@ -254,7 +268,7 @@
cont "good you are."
done
-UnknownText_0x1981e6:
+AzaleaTownRivalWinText:
text "… Humph! Useless"
line "#MON!"
@@ -265,7 +279,7 @@
line "weak."
done
-UnknownText_0x198233:
+AzaleaTownRivalAfterText:
text "I hate the weak."
para "#MON, trainers."
@@ -295,12 +309,12 @@
line "distraction."
done
-UnknownText_0x19835b:
+AzaleaTownRivalLossText:
text "…Humph! I knew"
line "you were lying."
done
-UnknownText_0x19837b:
+GoodSamaritanRocketText:
text "It's unsafe to go"
line "in there, so I'm"
cont "standing guard."
@@ -309,7 +323,7 @@
line "Samaritan?"
done
-UnknownText_0x1983c7:
+TastySlowpokeTailRocketText:
text "Do you know about"
line "SLOWPOKETAIL? I"
cont "heard it's tasty!"
@@ -318,7 +332,7 @@
line "told you that?"
done
-UnknownText_0x19841b:
+AzaleaTownGrampsTextBefore:
text "The SLOWPOKE have"
line "disappeared from"
cont "town…"
@@ -328,7 +342,7 @@
cont "sold somewhere."
done
-UnknownText_0x198473:
+AzaleaTownGrampsTextAfter:
text "The SLOWPOKE have"
line "returned."
@@ -339,7 +353,7 @@
line "where."
done
-UnknownText_0x1984ce:
+AzaleaTownTeacherText:
text "Did you come to"
line "get KURT to make"
cont "some BALLS?"
@@ -348,7 +362,7 @@
line "just that."
done
-UnknownText_0x19851a:
+AzaleaTownYoungsterText:
text "Cut through AZALEA"
line "and you'll be in"
cont "ILEX FOREST."
@@ -364,13 +378,13 @@
cont "down trees."
done
-UnknownText_0x1985b0:
+AzaleaTownSlowpokeText1:
text "SLOWPOKE: …"
para "<......> <......> <......>"
done
-UnknownText_0x1985c3:
+AzaleaTownSlowpokeText2:
text "<......> <......>Yawn?"
done
@@ -378,7 +392,7 @@
text "WOOSTER: Gugyoo…"
done
-UnknownText_0x1985df:
+IlexForestIsRestlessText:
text "ILEX FOREST is"
line "restless!"
@@ -385,12 +399,12 @@
para "What is going on?"
done
-UnknownText_0x19860b:
+HeresTheGSBallBackText:
text "<PLAYER>, here's"
line "your GS BALL back!"
done
-UnknownText_0x198628:
+PleaseInvestigateIlexForestText:
text "Could you go see"
line "why ILEX FOREST is"
cont "so restless?"
@@ -463,9 +477,9 @@
.XYTriggers:
db 3
- xy_trigger 1, $a, $5, $0, UnknownScript_0x198018, $0, $0
- xy_trigger 1, $b, $5, $0, UnknownScript_0x198034, $0, $0
- xy_trigger 2, $6, $9, $0, UnknownScript_0x1980e5, $0, $0
+ xy_trigger 1, $a, $5, $0, AzaleaTownRivalBattleTrigger1, $0, $0
+ xy_trigger 1, $b, $5, $0, AzaleaTownRivalBattleTrigger2, $0, $0
+ xy_trigger 2, $6, $9, $0, AzaleaTown_CelebiEventScript, $0, $0
.Signposts:
db 9
@@ -477,19 +491,19 @@
signpost 9, 16, SIGNPOST_READ, AzaleaTownPokeCenterSign
signpost 5, 22, SIGNPOST_READ, AzaleaTownMartSign
signpost 9, 3, SIGNPOST_READ, AzaleaTownIlextForestSign
- signpost 6, 31, SIGNPOST_ITEM, MapAzaleaTownSignpostItem8
+ signpost 6, 31, SIGNPOST_ITEM, AzaleaTownHiddenFullHeal
.PersonEvents:
db 12
- person_event SPRITE_AZALEA_ROCKET, 9, 31, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, AzaleaRocketScript_0x1980ab, EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET
- person_event SPRITE_GRAMPS, 9, 21, SPRITEMOVEDATA_WANDER, 2, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x1980b1, -1
- person_event SPRITE_TEACHER, 13, 15, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, TeacherScript_0x1980c5, -1
- person_event SPRITE_YOUNGSTER, 9, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x1980c8, -1
- person_event SPRITE_SLOWPOKE, 17, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
- person_event SPRITE_SLOWPOKE, 9, 18, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
- person_event SPRITE_SLOWPOKE, 9, 29, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
- person_event SPRITE_SLOWPOKE, 15, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
+ person_event SPRITE_AZALEA_ROCKET, 9, 31, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, AzaleaTownRocket1Script, EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET
+ person_event SPRITE_GRAMPS, 9, 21, SPRITEMOVEDATA_WANDER, 2, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, AzaleaTownGrampsScript, -1
+ person_event SPRITE_TEACHER, 13, 15, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, AzaleaTownTeacherScript, -1
+ person_event SPRITE_YOUNGSTER, 9, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, AzaleaTownYoungsterScript, -1
+ person_event SPRITE_SLOWPOKE, 17, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, AzaleaTownSlowpokeScript, EVENT_AZALEA_TOWN_SLOWPOKES
+ person_event SPRITE_SLOWPOKE, 9, 18, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, AzaleaTownSlowpokeScript, EVENT_AZALEA_TOWN_SLOWPOKES
+ person_event SPRITE_SLOWPOKE, 9, 29, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, AzaleaTownSlowpokeScript, EVENT_AZALEA_TOWN_SLOWPOKES
+ person_event SPRITE_SLOWPOKE, 15, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, AzaleaTownSlowpokeScript, EVENT_AZALEA_TOWN_SLOWPOKES
person_event SPRITE_FRUIT_TREE, 2, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, WhiteApricornTree, -1
person_event SPRITE_AZALEA_ROCKET, 10, 11, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_AZALEA_TOWN
- person_event SPRITE_AZALEA_ROCKET, 16, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, AzaleaRocketScript_0x1980ae, EVENT_SLOWPOKE_WELL_ROCKETS
- person_event SPRITE_KURT_OUTSIDE, 5, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, KurtOutsideScript_0x19810c, EVENT_AZALEA_TOWN_KURT
+ person_event SPRITE_AZALEA_ROCKET, 16, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, AzaleaTownRocket2Script, EVENT_SLOWPOKE_WELL_ROCKETS
+ person_event SPRITE_KURT_OUTSIDE, 5, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, AzaleaTownKurtScript, EVENT_AZALEA_TOWN_KURT
--- a/maps/BattleTower1F.asm
+++ b/maps/BattleTower1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const BATTLETOWER1F_RECEPTIONIST
+ const BATTLETOWER1F_YOUNGSTER
+ const BATTLETOWER1F_COOLTRAINER_F
+ const BATTLETOWER1F_BUG_CATCHER
+ const BATTLETOWER1F_GRANNY
+
BattleTower1F_MapScriptHeader:
.MapTriggers:
db 2
@@ -10,27 +17,27 @@
db 0
.Trigger0:
- writebyte BATTLE_TOWER_ACTION_09
+ writebyte BATTLETOWERACTION_CHECKSAVEFILEISYOURS
special BattleTowerAction
iffalse .SkipEverything
- writebyte BATTLE_TOWER_ACTION_02
+ writebyte BATTLETOWERACTION_02 ; copybytetovar sBattleTowerChallengeState
special BattleTowerAction
if_equal $0, .SkipEverything
if_equal $2, .priorityjump1
if_equal $3, .SkipEverything
if_equal $4, .SkipEverything
- loadfont
- writetext UnknownText_0x9f037
+ opentext
+ writetext Text_WeveBeenWaitingForYou
+ waitbutton
closetext
- loadmovesprites
- priorityjump UnknownScript_0x9e44e
+ priorityjump Script_ResumeBattleTowerChallenge
end
.priorityjump1:
priorityjump BattleTower_LeftWithoutSaving
- writebyte BATTLE_TOWER_ACTION_04
+ writebyte BATTLETOWERACTION_CHALLENGECANCELED
special BattleTowerAction
- writebyte BATTLE_TOWER_ACTION_06
+ writebyte BATTLETOWERACTION_06
special BattleTowerAction
.SkipEverything:
dotrigger $1
@@ -38,24 +45,24 @@
end
MapBattleTower1FSignpost0Script:
- loadfont
+ opentext
writetext Text_ReadBattleTowerRules
yesorno
iffalse UnknownScript_0x9e3e0
writetext Text_BattleTowerRules
- closetext
+ waitbutton
UnknownScript_0x9e3e0:
- loadmovesprites
+ closetext
end
ReceptionistScript_0x9e3e2:
- writebyte BATTLE_TOWER_ACTION_02
+ writebyte BATTLETOWERACTION_02 ; copybytetovar sBattleTowerChallengeState
special BattleTowerAction
- if_equal $3, BattleTowerBattleRoomScript_0x9f4e4 ; maps/BattleTowerBattleRoom.asm
- loadfont
+ if_equal $3, Script_BeatenAllTrainers2 ; maps/BattleTowerBattleRoom.asm
+ opentext
writetext Text_BattleTowerWelcomesYou
- keeptextopen
- writebyte BATTLE_TOWER_ACTION_00
+ buttonsound
+ writebyte BATTLETOWERACTION_00 ; if new save file: bit 1, [sbe4f]
special BattleTowerAction
if_not_equal $0, Script_Menu_ChallengeExplanationCancel
jump Script_BattleTowerIntroductionYesNo
@@ -66,13 +73,13 @@
special Special_Menu_ChallengeExplanationCancel
if_equal $1, Script_ChoseChallenge
if_equal $2, Script_BattleTowerExplanation
- jump UnknownScript_0x9e4b0
+ jump Script_BattleTowerHopeToServeYouAgain
Script_ChoseChallenge: ; 0x9e40f
- writebyte BATTLE_TOWER_ACTION_1A ; ResetBattleTowerTrainerSRAM
+ writebyte BATTLETOWERACTION_RESETDATA ; ResetBattleTowerTrainerSRAM
special BattleTowerAction
special SpecialCheckForBattleTowerRules
- if_not_equal $0, Script_CloseText
+ if_not_equal $0, Script_WaitButton
writetext Text_SaveBeforeEnteringBattleRoom
yesorno
iffalse Script_Menu_ChallengeExplanationCancel
@@ -80,128 +87,128 @@
special Special_TryQuickSave
iffalse Script_Menu_ChallengeExplanationCancel
dotrigger $1
- writebyte BATTLE_TOWER_ACTION_01
+ writebyte BATTLETOWERACTION_01 ; set 1, [sbe4f]
special BattleTowerAction
special Function1700b0
if_equal $a, Script_Menu_ChallengeExplanationCancel
if_not_equal $0, UnknownScript_0x9e550
- writebyte BATTLE_TOWER_ACTION_11
+ writebyte BATTLETOWERACTION_11
special BattleTowerAction
writetext Text_RightThisWayToYourBattleRoom
+ waitbutton
closetext
- loadmovesprites
- writebyte BATTLE_TOWER_ACTION_1E
+ writebyte BATTLETOWERACTION_CHOOSEREWARD
special BattleTowerAction
- jump UnknownScript_0x9e454
+ jump Script_WalkToBattleTowerElevator
-UnknownScript_0x9e44e:
- loadmovesprites
- writebyte BATTLE_TOWER_ACTION_08
+Script_ResumeBattleTowerChallenge:
+ closetext
+ writebyte BATTLETOWERACTION_LOADLEVELGROUP ; load choice of level group
special BattleTowerAction
-UnknownScript_0x9e454:
- musicfadeout MUSIC_NONE, $8
+Script_WalkToBattleTowerElevator:
+ musicfadeout MUSIC_NONE, 8
domaptrigger BATTLE_TOWER_BATTLE_ROOM, $0
domaptrigger BATTLE_TOWER_ELEVATOR, $0
domaptrigger BATTLE_TOWER_HALLWAY, $0
- follow $2, PLAYER
- applymovement $2, MovementData_0x9e571
- writebyte BATTLE_TOWER_ACTION_0A
+ follow BATTLETOWER1F_RECEPTIONIST, PLAYER
+ applymovement BATTLETOWER1F_RECEPTIONIST, MovementData_BattleTower1FWalkToElevator
+ writebyte BATTLETOWERACTION_0A
special BattleTowerAction
warpsound
- disappear $2
+ disappear BATTLETOWER1F_RECEPTIONIST
stopfollow
- applymovement PLAYER, MovementData_0x9e576
+ applymovement PLAYER, MovementData_BattleTowerHallwayPlayerEntersBattleRoom
warpcheck
end
Script_GivePlayerHisPrize: ; 0x9e47a
- writebyte BATTLE_TOWER_ACTION_1C
+ writebyte BATTLETOWERACTION_1C
special BattleTowerAction
- writebyte BATTLE_TOWER_ACTION_1B
+ writebyte BATTLETOWERACTION_GIVEREWARD
special BattleTowerAction
if_equal POTION, Script_YourPackIsStuffedFull
itemtotext $0, $1
giveitem ITEM_FROM_MEM, 5
writetext Text_PlayerGotFive
- writebyte BATTLE_TOWER_ACTION_1D
+ writebyte BATTLETOWERACTION_1D
special BattleTowerAction
- loadmovesprites
+ closetext
end
Script_YourPackIsStuffedFull: ; 0x9e498
writetext Text_YourPackIsStuffedFull
+ waitbutton
closetext
- loadmovesprites
end
Script_BattleTowerIntroductionYesNo: ; 0x9e49e
writetext Text_WouldYouLikeToHearAboutTheBattleTower
yesorno
- iffalse UnknownScript_0x9e4a8
+ iffalse Script_BattleTowerSkipExplanation
Script_BattleTowerExplanation: ; 0x9e4a5
writetext Text_BattleTowerIntroduction_2
-UnknownScript_0x9e4a8:
- writebyte BATTLE_TOWER_ACTION_01
+Script_BattleTowerSkipExplanation:
+ writebyte BATTLETOWERACTION_01
special BattleTowerAction
jump Script_Menu_ChallengeExplanationCancel
-UnknownScript_0x9e4b0:
+Script_BattleTowerHopeToServeYouAgain:
writetext Text_WeHopeToServeYouAgain
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x9e4b6:
+UnreferencedScript_0x9e4b6:
special Function17f53d
- loadmovesprites
+ closetext
end
-Script_CloseText: ; 0x9e4bb
+Script_WaitButton: ; 0x9e4bb
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x9e4be:
+UnreferencedScript_0x9e4be:
writetext Text_SaveBeforeEnteringBattleRoom
yesorno
iffalse Script_Menu_ChallengeExplanationCancel
special Special_TryQuickSave
iffalse Script_Menu_ChallengeExplanationCancel
- writebyte BATTLE_TOWER_ACTION_01
+ writebyte BATTLETOWERACTION_01
special BattleTowerAction
special Function1700ba
if_equal $a, Script_Menu_ChallengeExplanationCancel
if_not_equal $0, UnknownScript_0x9e550
writetext Text_ReceivedAListOfLeadersOnTheHonorRoll
- spriteface $2, LEFT
+ spriteface BATTLETOWER1F_RECEPTIONIST, LEFT
writetext Text_PleaseConfirmOnThisMonitor
+ waitbutton
+ spriteface BATTLETOWER1F_RECEPTIONIST, DOWN
closetext
- spriteface $2, DOWN
- loadmovesprites
end
-UnknownScript_0x9e4ea:
- writebyte BATTLE_TOWER_ACTION_18
+UnreferencedScript_0x9e4ea:
+ writebyte BATTLETOWERACTION_18
special BattleTowerAction
if_not_equal $0, Script_APkmnLevelExceeds
- writebyte BATTLE_TOWER_ACTION_19
+ writebyte BATTLETOWERACTION_19
special BattleTowerAction
if_not_equal $0, Script_MayNotEnterABattleRoomUnderL70
special SpecialCheckForBattleTowerRules
- if_not_equal $0, Script_CloseText
- writebyte BATTLE_TOWER_ACTION_05
+ if_not_equal $0, Script_WaitButton
+ writebyte BATTLETOWERACTION_05
special BattleTowerAction
- if_equal $0, UnknownScript_0x9e512
- writetext UnknownText_0x9ecb0
- jump UnknownScript_0x9e515
+ if_equal $0, .zero
+ writetext Text_CantBeRegistered_PreviousRecordDeleted
+ jump continue
-UnknownScript_0x9e512:
- writetext UnknownText_0x9ec6d
-UnknownScript_0x9e515:
+.zero:
+ writetext Text_CantBeRegistered
+continue:
yesorno
iffalse Script_Menu_ChallengeExplanationCancel
- writetext UnknownText_0x9ef79
+ writetext Text_SaveBeforeReentry
yesorno
iffalse Script_Menu_ChallengeExplanationCancel
dotrigger $0
@@ -208,47 +215,47 @@
special Special_TryQuickSave
iffalse Script_Menu_ChallengeExplanationCancel
dotrigger $1
- writebyte BATTLE_TOWER_ACTION_06
+ writebyte BATTLETOWERACTION_06
special BattleTowerAction
- writebyte BATTLE_TOWER_ACTION_12
+ writebyte BATTLETOWERACTION_12
special BattleTowerAction
writetext Text_RightThisWayToYourBattleRoom
- closetext
- jump UnknownScript_0x9e44e
+ waitbutton
+ jump Script_ResumeBattleTowerChallenge
-UnknownScript_0x9e53b:
- writetext UnknownText_0x9f076
- closetext
- jump UnknownScript_0x9e4b0
+UnreferencedScript_0x9e53b:
+ writetext Text_FiveDayBattleLimit_Mobile
+ waitbutton
+ jump Script_BattleTowerHopeToServeYouAgain
Script_APkmnLevelExceeds: ; 0x9e542
writetext Text_APkmnLevelExceeds
- closetext
+ waitbutton
jump Script_Menu_ChallengeExplanationCancel
Script_MayNotEnterABattleRoomUnderL70: ; 0x9e549
writetext Text_MayNotEnterABattleRoomUnderL70
- closetext
+ waitbutton
jump Script_Menu_ChallengeExplanationCancel
UnknownScript_0x9e550:
special Function17f53d
- loadmovesprites
+ closetext
end
BattleTower_LeftWithoutSaving:
- loadfont
+ opentext
writetext Text_BattleTower_LeftWithoutSaving
- closetext
- jump UnknownScript_0x9e4b0
+ waitbutton
+ jump Script_BattleTowerHopeToServeYouAgain
YoungsterScript_0x9e55d:
faceplayer
- loadfont
+ opentext
writetext Text_BattleTowerYoungster
+ waitbutton
closetext
- loadmovesprites
- spriteface $3, RIGHT
+ spriteface BATTLETOWER1F_YOUNGSTER, RIGHT
end
CooltrainerFScript_0x9e568:
@@ -260,24 +267,24 @@
GrannyScript_0x9e56e:
jumptextfaceplayer Text_BattleTowerGranny
-MovementData_0x9e571:
+MovementData_BattleTower1FWalkToElevator:
step_up
step_up
step_up
step_up
step_up
-MovementData_0x9e576:
+MovementData_BattleTowerHallwayPlayerEntersBattleRoom:
step_up
step_end
-MovementData_0x9e578:
+MovementData_BattleTowerElevatorExitElevator:
step_down
step_end
-MovementData_0x9e57a:
+MovementData_BattleTowerHallwayWalkTo1020Room:
step_right
step_right
-MovementData_0x9e57c:
+MovementData_BattleTowerHallwayWalkTo3040Room:
step_right
step_right
step_up
@@ -285,13 +292,13 @@
turn_head_left
step_end
-MovementData_0x9e582:
+MovementData_BattleTowerHallwayWalkTo90100Room:
step_left
step_left
-MovementData_0x9e584:
+MovementData_BattleTowerHallwayWalkTo7080Room:
step_left
step_left
-MovementData_0x9e586:
+MovementData_BattleTowerHallwayWalkTo5060Room:
step_left
step_left
step_up
@@ -299,7 +306,7 @@
turn_head_right
step_end
-MovementData_0x9e58c:
+MovementData_BattleTowerBattleRoomPlayerWalksIn:
step_up
step_up
step_up
@@ -307,7 +314,7 @@
turn_head_right
step_end
-MovementData_0x9e592:
+MovementData_BattleTowerBattleRoomOpponentWalksIn:
slow_step_down
slow_step_down
slow_step_down
@@ -314,7 +321,7 @@
turn_head_left
step_end
-MovementData_0x9e597:
+MovementData_BattleTowerBattleRoomOpponentWalksOut:
turn_head_up
slow_step_up
slow_step_up
@@ -321,7 +328,7 @@
slow_step_up
step_end
-MovementData_0x9e59c:
+MovementData_BattleTowerBattleRoomReceptionistWalksToPlayer:
slow_step_right
slow_step_right
slow_step_up
@@ -328,7 +335,7 @@
slow_step_up
step_end
-MovementData_0x9e5a1:
+MovementData_BattleTowerBattleRoomReceptionistWalksAway:
slow_step_down
slow_step_down
slow_step_left
@@ -336,11 +343,11 @@
turn_head_right
step_end
-MovementData_0x9e5a7:
+MovementData_BattleTowerBattleRoomPlayerTurnsToFaceReceptionist:
turn_head_down
step_end
-MovementData_0x9e5a9:
+MovementData_BattleTowerBattleRoomPlayerTurnsToFaceNextOpponent:
turn_head_right
step_end
@@ -482,7 +489,7 @@
line "visiting!"
done
-UnknownText_0x9ea5f:
+Text_BeatenAllTheTrainers_Mobile:
text "Congratulations!"
para "You've beaten all"
@@ -512,7 +519,7 @@
para ""
done
-UnknownText_0x9eb45:
+Text_AskRegisterRecord_Mobile:
text "Would you like to"
line "register your"
@@ -560,7 +567,7 @@
cont "BATTLE TOWER?"
done
-UnknownText_0x9ec6d:
+Text_CantBeRegistered:
text "Your record from"
line "the previous"
@@ -568,7 +575,7 @@
line "be registered. OK?"
done
-UnknownText_0x9ecb0:
+Text_CantBeRegistered_PreviousRecordDeleted:
text "Your record from"
line "the previous"
@@ -637,7 +644,7 @@
text ". Ready?"
done
-UnknownText_0x9eee0:
+Text_SaveBeforeConnecting_Mobile:
text "Your session will"
line "be SAVED before"
@@ -658,7 +665,7 @@
line "session?"
done
-UnknownText_0x9ef79:
+Text_SaveBeforeReentry:
text "Your record will"
line "be SAVED before"
@@ -671,7 +678,7 @@
line "ROOM challenge?"
done
-UnknownText_0x9efe3:
+Text_RegisterRecordOnFile_Mobile:
text "We have your"
line "previous record on"
@@ -680,7 +687,7 @@
cont "it at the CENTER?"
done
-UnknownText_0x9f037:
+Text_WeveBeenWaitingForYou:
text "We've been waiting"
line "for you. This way"
@@ -688,7 +695,7 @@
line "please."
done
-UnknownText_0x9f076:
+Text_FiveDayBattleLimit_Mobile:
text "You may enter only"
line "five BATTLE ROOMS"
cont "each day."
@@ -713,7 +720,7 @@
done
; a dupe?
-UnknownText_0x9f151:
+Text_RegisterRecordTimedOut_Mobile:
text "Sorry, but it's"
line "not possible to"
--- a/maps/BattleTowerBattleRoom.asm
+++ b/maps/BattleTowerBattleRoom.asm
@@ -1,35 +1,39 @@
+const_value set 2
+ const BATTLETOWERBATTLEROOM_YOUNGSTER
+ const BATTLETOWERBATTLEROOM_RECEPTIONIST
+
BattleTowerBattleRoom_MapScriptHeader:
.MapTriggers:
db 2
; triggers
- dw Script_EnterBattleRoom, 0
- dw UnknownScript_0x9f420, 0
+ dw .EnterBattleRoom, 0
+ dw .DummyTrigger, 0
.MapCallbacks:
db 0
-Script_EnterBattleRoom: ; 0x9f419
- disappear $2
+.EnterBattleRoom: ; 0x9f419
+ disappear BATTLETOWERBATTLEROOM_YOUNGSTER
priorityjump Script_BattleRoom
dotrigger $1
-UnknownScript_0x9f420:
+.DummyTrigger:
end
Script_BattleRoom: ; 0x9f421
- applymovement PLAYER, MovementData_0x9e58c
+ applymovement PLAYER, MovementData_BattleTowerBattleRoomPlayerWalksIn
; beat all 7 opponents in a row
Script_BattleRoomLoop: ; 0x9f425
- writebyte $2
+ writebyte BATTLETOWERBATTLEROOM_YOUNGSTER
special Function_LoadOpponentTrainerAndPokemonsWithOTSprite
- appear $2
+ appear BATTLETOWERBATTLEROOM_YOUNGSTER
warpsound
- waitbutton
- applymovement $2, MovementData_0x9e592
- loadfont
+ waitsfx
+ applymovement BATTLETOWERBATTLEROOM_YOUNGSTER, MovementData_BattleTowerBattleRoomOpponentWalksIn
+ opentext
battletowertext 1
- keeptextopen
- loadmovesprites
+ buttonsound
+ closetext
special BattleTowerBattle ; calls predef startbattle
special FadeOutPalettes
reloadmap
@@ -36,15 +40,15 @@
if_not_equal $0, Script_FailedBattleTowerChallenge
copybytetovar wNrOfBeatenBattleTowerTrainers ; wcf64
if_equal BATTLETOWER_NROFTRAINERS, Script_BeatenAllTrainers
- applymovement $2, MovementData_0x9e597
+ applymovement BATTLETOWERBATTLEROOM_YOUNGSTER, MovementData_BattleTowerBattleRoomOpponentWalksOut
warpsound
- disappear $2
- applymovement $3, MovementData_0x9e59c
- applymovement PLAYER, MovementData_0x9e5a7
- loadfont
+ disappear BATTLETOWERBATTLEROOM_YOUNGSTER
+ applymovement BATTLETOWERBATTLEROOM_RECEPTIONIST, MovementData_BattleTowerBattleRoomReceptionistWalksToPlayer
+ applymovement PLAYER, MovementData_BattleTowerBattleRoomPlayerTurnsToFaceReceptionist
+ opentext
writetext Text_YourPkmnWillBeHealedToFullHealth
+ waitbutton
closetext
- loadmovesprites
playmusic MUSIC_HEAL
special FadeOutPalettes
special LoadMapPalettes
@@ -51,14 +55,14 @@
pause 60
special FadeInPalettes
special RestartMapMusic
- loadfont
+ opentext
writetext Text_NextUpOpponentNo
yesorno
iffalse Script_DontBattleNextOpponent
Script_ContinueAndBattleNextOpponent: ; 0x9f477
- loadmovesprites
- applymovement PLAYER, MovementData_0x9e5a9
- applymovement $3, MovementData_0x9e5a1
+ closetext
+ applymovement PLAYER, MovementData_BattleTowerBattleRoomPlayerTurnsToFaceNextOpponent
+ applymovement BATTLETOWERBATTLEROOM_RECEPTIONIST, MovementData_BattleTowerBattleRoomReceptionistWalksAway
jump Script_BattleRoomLoop
Script_DontBattleNextOpponent: ; 0x9f483
@@ -65,14 +69,14 @@
writetext Text_SaveAndEndTheSession
yesorno
iffalse Script_DontSaveAndEndTheSession
- writebyte BATTLE_TOWER_ACTION_07
+ writebyte BATTLETOWERACTION_SAVELEVELGROUP ; save level group
special BattleTowerAction
- writebyte BATTLE_TOWER_ACTION_1F
+ writebyte BATTLETOWERACTION_SAVEOPTIONS ; choose reward
special BattleTowerAction
- writebyte BATTLE_TOWER_ACTION_03
+ writebyte BATTLETOWERACTION_SAVE_AND_QUIT ; quicksave
special BattleTowerAction
playsound SFX_SAVE
- waitbutton
+ waitsfx
special FadeOutPalettes
special Reset
Script_DontSaveAndEndTheSession: ; 0x9f4a3
@@ -79,26 +83,26 @@
writetext Text_CancelYourBattleRoomChallenge
yesorno
iffalse Script_ContinueAndBattleNextOpponent
- writebyte BATTLE_TOWER_ACTION_04
+ writebyte BATTLETOWERACTION_CHALLENGECANCELED
special BattleTowerAction
- writebyte BATTLE_TOWER_ACTION_06
+ writebyte BATTLETOWERACTION_06
special BattleTowerAction
- loadmovesprites
+ closetext
special FadeOutPalettes
warpfacing UP, BATTLE_TOWER_1F, $7, $7
- loadfont
- jump UnknownScript_0x9e4b0
+ opentext
+ jump Script_BattleTowerHopeToServeYouAgain
Script_FailedBattleTowerChallenge:
pause 60
special Special_BattleTowerFade
warpfacing UP, BATTLE_TOWER_1F, $7, $7
- writebyte BATTLE_TOWER_ACTION_04
+ writebyte BATTLETOWERACTION_CHALLENGECANCELED
special BattleTowerAction
- loadfont
+ opentext
writetext Text_ThanksForVisiting
+ waitbutton
closetext
- loadmovesprites
end
Script_BeatenAllTrainers: ; 0x9f4d9
@@ -105,34 +109,34 @@
pause 60
special Special_BattleTowerFade
warpfacing UP, BATTLE_TOWER_1F, $7, $7
-BattleTowerBattleRoomScript_0x9f4e4:
- loadfont
+Script_BeatenAllTrainers2:
+ opentext
writetext Text_CongratulationsYouveBeatenAllTheTrainers
jump Script_GivePlayerHisPrize
-UnknownScript_0x9f4eb:
- writebyte BATTLE_TOWER_ACTION_04
+UnreferencedScript_0x9f4eb:
+ writebyte BATTLETOWERACTION_CHALLENGECANCELED
special BattleTowerAction
- loadfont
+ opentext
writetext Text_TooMuchTimeElapsedNoRegister
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x9f4f7:
- writebyte BATTLE_TOWER_ACTION_04
+UnreferencedScript_0x9f4f7:
+ writebyte BATTLETOWERACTION_CHALLENGECANCELED
special BattleTowerAction
- writebyte BATTLE_TOWER_ACTION_06
+ writebyte BATTLETOWERACTION_06
special BattleTowerAction
- loadfont
+ opentext
writetext Text_ThanksForVisiting
writetext Text_WeHopeToServeYouAgain
+ waitbutton
closetext
- loadmovesprites
end
-UnknownText_0x9f50b:
+Text_ReturnedAfterSave_Mobile:
text "You'll be returned"
line "after you SAVE."
done
--- a/maps/BattleTowerElevator.asm
+++ b/maps/BattleTowerElevator.asm
@@ -1,45 +1,48 @@
+const_value set 2
+ const BATTLETOWERELEVATOR_RECEPTIONIST
+
BattleTowerElevator_MapScriptHeader:
.MapTriggers:
db 2
; triggers
- dw UnknownScript_0x9f562, 0
- dw UnknownScript_0x9f567, 0
+ dw .Trigger0, 0
+ dw .Trigger1, 0
.MapCallbacks:
db 0
-UnknownScript_0x9f562:
- priorityjump UnknownScript_0x9f568
+.Trigger0:
+ priorityjump .RideElevator
dotrigger $1
-UnknownScript_0x9f567:
+.Trigger1:
end
-UnknownScript_0x9f568:
- follow $2, PLAYER
- applymovement $2, MovementData_0x9f58f
- applymovement PLAYER, MovementData_0x9f592
- writebyte BATTLE_TOWER_ACTION_0A
+.RideElevator:
+ follow BATTLETOWERELEVATOR_RECEPTIONIST, PLAYER
+ applymovement BATTLETOWERELEVATOR_RECEPTIONIST, MovementData_BattleTowerElevatorReceptionistWalksIn
+ applymovement PLAYER, MovementData_BattleTowerElevatorPlayerWalksIn
+ writebyte BATTLETOWERACTION_0A
special BattleTowerAction
playsound SFX_ELEVATOR
earthquake 60
- waitbutton
- follow $2, PLAYER
- applymovement $2, MovementData_0x9e578
+ waitsfx
+ follow BATTLETOWERELEVATOR_RECEPTIONIST, PLAYER
+ applymovement BATTLETOWERELEVATOR_RECEPTIONIST, MovementData_BattleTowerElevatorExitElevator
stopfollow
warpsound
- disappear $2
- applymovement PLAYER, MovementData_0x9e578
+ disappear BATTLETOWERELEVATOR_RECEPTIONIST
+ applymovement PLAYER, MovementData_BattleTowerElevatorExitElevator
warpcheck
end
-MovementData_0x9f58f:
+MovementData_BattleTowerElevatorReceptionistWalksIn:
step_right
turn_head_down
step_end
-MovementData_0x9f592:
+MovementData_BattleTowerElevatorPlayerWalksIn:
turn_head_down
step_end
@@ -60,4 +63,4 @@
.PersonEvents:
db 1
- person_event SPRITE_RECEPTIONIST, 2, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, MovementData_0x9f58f, -1
+ person_event SPRITE_RECEPTIONIST, 2, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, MovementData_BattleTowerElevatorReceptionistWalksIn, -1
--- a/maps/BattleTowerHallway.asm
+++ b/maps/BattleTowerHallway.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const BATTLETOWERHALLWAY_RECEPTIONIST
+
BattleTowerHallway_MapScriptHeader:
.MapTriggers:
db 2
@@ -16,7 +19,7 @@
end
.ChooseBattleRoom:
- follow $2, PLAYER
+ follow BATTLETOWERHALLWAY_RECEPTIONIST, PLAYER
callasm .asm_load_battle_room
jump .WalkToChosenBattleRoom
@@ -47,33 +50,33 @@
if_equal 8, .L70L80
if_equal 9, .L90L100
if_equal 10, .L90L100
- applymovement $2, MovementData_0x9e57a
+ applymovement BATTLETOWERHALLWAY_RECEPTIONIST, MovementData_BattleTowerHallwayWalkTo1020Room
jump .EnterBattleRoom
.L30L40: ; 0x9f603
- applymovement $2, MovementData_0x9e57c
+ applymovement BATTLETOWERHALLWAY_RECEPTIONIST, MovementData_BattleTowerHallwayWalkTo3040Room
jump .EnterBattleRoom
.L50L60: ; 0x9f60a
- applymovement $2, MovementData_0x9e586
+ applymovement BATTLETOWERHALLWAY_RECEPTIONIST, MovementData_BattleTowerHallwayWalkTo5060Room
jump .EnterBattleRoom
.L70L80: ; 0x9f611
- applymovement $2, MovementData_0x9e584
+ applymovement BATTLETOWERHALLWAY_RECEPTIONIST, MovementData_BattleTowerHallwayWalkTo7080Room
jump .EnterBattleRoom
.L90L100: ; 0x9f618
- applymovement $2, MovementData_0x9e582
+ applymovement BATTLETOWERHALLWAY_RECEPTIONIST, MovementData_BattleTowerHallwayWalkTo90100Room
jump .EnterBattleRoom
.EnterBattleRoom: ; 0x9f61f
- faceperson PLAYER, $2
- loadfont
+ faceperson PLAYER, BATTLETOWERHALLWAY_RECEPTIONIST
+ opentext
writetext Text_PleaseStepThisWay
+ waitbutton
closetext
- loadmovesprites
stopfollow
- applymovement PLAYER, MovementData_0x9e576
+ applymovement PLAYER, MovementData_BattleTowerHallwayPlayerEntersBattleRoom
warpcheck
end
--- a/maps/BattleTowerOutside.asm
+++ b/maps/BattleTowerOutside.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const BATTLETOWEROUTSIDE_STANDING_YOUNGSTER
+ const BATTLETOWEROUTSIDE_BUENA
+ const BATTLETOWEROUTSIDE_SAILOR
+ const BATTLETOWEROUTSIDE_LASS
+
BattleTowerOutside_MapScriptHeader:
.MapTriggers:
db 0
@@ -16,19 +22,19 @@
clearevent EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
return
-StandingYoungsterScript_0x9f85f:
- jumptextfaceplayer UnknownText_0x9f930
+BattleTowerOutsideYoungsterScript:
+ jumptextfaceplayer BattleTowerOutsideYoungsterText
-BuenaScript_0x9f862:
- jumptextfaceplayer UnknownText_0x9f9db
+BattleTowerOutsideBuenaScript:
+ jumptextfaceplayer BattleTowerOutsideBuenaText
-SailorScript_0x9f865:
- jumptextfaceplayer UnknownText_0x9fa8c
+BattleTowerOutsideSailorScript:
+ jumptextfaceplayer BattleTowerOutsideSailorText
MapBattleTowerOutsideSignpost0Script:
- jumptext UnknownText_0x9fafc
+ jumptext BattleTowerOutsideText_UltimateChallenge
-UnknownText_0x9f86b:
+BattleTowerOutsideUnusedText1:
text "Wow, the BATTLE"
line "TOWER is huge! My"
@@ -36,7 +42,7 @@
line "looking up at it."
done
-UnknownText_0x9f8b3:
+BattleTowerOutsideUnusedText2:
text "Wow, the BATTLE"
line "TOWER is huge!"
@@ -50,7 +56,7 @@
line "#MON."
done
-UnknownText_0x9f930:
+BattleTowerOutsideYoungsterText:
text "Wow, the BATTLE"
line "TOWER is huge!"
@@ -59,7 +65,7 @@
cont "in there!"
done
-UnknownText_0x9f97b:
+BattleTowerOutsideUnusedText3:
text "What on earth do"
line "they do here?"
@@ -70,7 +76,7 @@
line "#MON battles."
done
-UnknownText_0x9f9db:
+BattleTowerOutsideBuenaText:
text "You can use only"
line "three #MON."
@@ -81,7 +87,7 @@
line "battle…"
done
-UnknownText_0x9fa32:
+BattleTowerOutsideUnusedText4:
text "Ehehehe…"
line "I sneaked out of"
cont "work to come here."
@@ -91,7 +97,7 @@
cont "a LEADER!"
done
-UnknownText_0x9fa8c:
+BattleTowerOutsideSailorText:
text "Hehehe, I snuck"
line "out from work."
@@ -102,11 +108,11 @@
line "all. That I must!"
done
-UnknownText_0x9faee:
+BattleTowerOutsideText_BattleTower:
text "BATTLE TOWER"
done
-UnknownText_0x9fafc:
+BattleTowerOutsideText_UltimateChallenge:
text "BATTLE TOWER"
para "Take the Ultimate"
@@ -113,12 +119,12 @@
line "Trainer Challenge!"
done
-UnknownText_0x9fb2f:
+BattleTowerOutsideText_DoorsClosed:
text "The BATTLE TOWER's"
line "doors are closed…"
done
-UnknownText_0x9fb54:
+BattleTowerOutsideText_DoorsOpen:
text "It's open!"
done
@@ -142,7 +148,7 @@
.PersonEvents:
db 4
- person_event SPRITE_STANDING_YOUNGSTER, 12, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, StandingYoungsterScript_0x9f85f, -1
- person_event SPRITE_BUENA, 11, 13, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, BuenaScript_0x9f862, -1
- person_event SPRITE_SAILOR, 18, 12, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SailorScript_0x9f865, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
+ person_event SPRITE_STANDING_YOUNGSTER, 12, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, BattleTowerOutsideYoungsterScript, -1
+ person_event SPRITE_BUENA, 11, 13, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, BattleTowerOutsideBuenaScript, -1
+ person_event SPRITE_SAILOR, 18, 12, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BattleTowerOutsideSailorScript, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
person_event SPRITE_LASS, 24, 12, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, ObjectEvent, -1
--- a/maps/BillsHouse.asm
+++ b/maps/BillsHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const BILLSHOUSE_GRAMPS
+
BillsHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,208 +10,208 @@
GrampsScript_0x189538:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
- iftrue UnknownScript_0x1896ba
+ iftrue .JustShowedSomething
checkevent EVENT_GOT_THUNDERSTONE_FROM_BILLS_GRANDPA
- iftrue UnknownScript_0x1896c0
+ iftrue .GotThunderstone
checkevent EVENT_MET_BILLS_GRANDPA
- iftrue UnknownScript_0x189553
- writetext UnknownText_0x1896ce
- keeptextopen
+ iftrue .MetGrandpa
+ writetext BillsGrandpaIntroText
+ buttonsound
setevent EVENT_MET_BILLS_GRANDPA
-UnknownScript_0x189553:
+.MetGrandpa:
checkevent EVENT_SHOWED_PICHU_TO_BILLS_GRANDPA
- iftrue UnknownScript_0x189697
+ iftrue .ShowedPichu
checkevent EVENT_SHOWED_GROWLITHE_VULPIX_TO_BILLS_GRANDPA
- iftrue UnknownScript_0x189680
+ iftrue .ShowedGrowlitheVulpix
checkevent EVENT_SHOWED_STARYU_TO_BILLS_GRANDPA
- iftrue UnknownScript_0x189669
+ iftrue .ShowedStaryu
checkevent EVENT_SHOWED_ODDISH_TO_BILLS_GRANDPA
- iftrue UnknownScript_0x189652
+ iftrue .ShowedOddish
checkevent EVENT_SHOWED_LICKITUNG_TO_BILLS_GRANDPA
- iftrue UnknownScript_0x18963b
- writetext UnknownText_0x1898c0
- keeptextopen
- writetext UnknownText_0x189732
+ iftrue .ShowedLickitung
+ writetext BillsGrandpaLickitungText
+ buttonsound
+ writetext BillsGrandpaAskToSeeMonText
yesorno
- iffalse UnknownScript_0x1896aa
- scall UnknownScript_0x1896a5
+ iffalse .SaidNo
+ scall .ExcitedToSee
special Special_BillsGrandfather
- iffalse UnknownScript_0x1896aa
- if_not_equal LICKITUNG, UnknownScript_0x1896c6
- scall UnknownScript_0x1896b0
+ iffalse .SaidNo
+ if_not_equal LICKITUNG, .WrongPokemon
+ scall .CorrectPokemon
setevent EVENT_SHOWED_LICKITUNG_TO_BILLS_GRANDPA
- jump UnknownScript_0x18963b
+ jump .ShowedLickitung
-UnknownScript_0x189592:
- writetext UnknownText_0x1898ff
- keeptextopen
- writetext UnknownText_0x189732
+.GotEverstone:
+ writetext BillsGrandpaOddishText
+ buttonsound
+ writetext BillsGrandpaAskToSeeMonText
yesorno
- iffalse UnknownScript_0x1896aa
- scall UnknownScript_0x1896a5
+ iffalse .SaidNo
+ scall .ExcitedToSee
special Special_BillsGrandfather
- iffalse UnknownScript_0x1896aa
- if_not_equal ODDISH, UnknownScript_0x1896c6
- scall UnknownScript_0x1896b0
+ iffalse .SaidNo
+ if_not_equal ODDISH, .WrongPokemon
+ scall .CorrectPokemon
setevent EVENT_SHOWED_ODDISH_TO_BILLS_GRANDPA
- jump UnknownScript_0x189652
+ jump .ShowedOddish
-UnknownScript_0x1895b3:
- writetext UnknownText_0x189953
- keeptextopen
- writetext UnknownText_0x189732
+.GotLeafStone:
+ writetext BillsGrandpaStaryuText
+ buttonsound
+ writetext BillsGrandpaAskToSeeMonText
yesorno
- iffalse UnknownScript_0x1896aa
- scall UnknownScript_0x1896a5
+ iffalse .SaidNo
+ scall .ExcitedToSee
special Special_BillsGrandfather
- iffalse UnknownScript_0x1896aa
- if_not_equal STARYU, UnknownScript_0x1896c6
- scall UnknownScript_0x1896b0
+ iffalse .SaidNo
+ if_not_equal STARYU, .WrongPokemon
+ scall .CorrectPokemon
setevent EVENT_SHOWED_STARYU_TO_BILLS_GRANDPA
- jump UnknownScript_0x189669
+ jump .ShowedStaryu
-UnknownScript_0x1895d4:
+.GotWaterStone:
checkver
- iftrue UnknownScript_0x1895f9
- writetext UnknownText_0x1899fe
- keeptextopen
- writetext UnknownText_0x189732
+ iftrue .Crystal11
+ writetext BillsGrandpaGrowlitheText
+ buttonsound
+ writetext BillsGrandpaAskToSeeMonText
yesorno
- iffalse UnknownScript_0x1896aa
- scall UnknownScript_0x1896a5
+ iffalse .SaidNo
+ scall .ExcitedToSee
special Special_BillsGrandfather
- iffalse UnknownScript_0x1896aa
- if_not_equal GROWLITHE, UnknownScript_0x1896c6
- scall UnknownScript_0x1896b0
+ iffalse .SaidNo
+ if_not_equal GROWLITHE, .WrongPokemon
+ scall .CorrectPokemon
setevent EVENT_SHOWED_GROWLITHE_VULPIX_TO_BILLS_GRANDPA
- jump UnknownScript_0x189680
+ jump .ShowedGrowlitheVulpix
-UnknownScript_0x1895f9:
- writetext UnknownText_0x189a57
- keeptextopen
- writetext UnknownText_0x189732
+.Crystal11:
+ writetext BillsGrandpaVulpixText
+ buttonsound
+ writetext BillsGrandpaAskToSeeMonText
yesorno
- iffalse UnknownScript_0x1896aa
- scall UnknownScript_0x1896a5
+ iffalse .SaidNo
+ scall .ExcitedToSee
special Special_BillsGrandfather
- iffalse UnknownScript_0x1896aa
- if_not_equal VULPIX, UnknownScript_0x1896c6
- scall UnknownScript_0x1896b0
+ iffalse .SaidNo
+ if_not_equal VULPIX, .WrongPokemon
+ scall .CorrectPokemon
setevent EVENT_SHOWED_GROWLITHE_VULPIX_TO_BILLS_GRANDPA
- jump UnknownScript_0x189680
+ jump .ShowedGrowlitheVulpix
-UnknownScript_0x18961a:
- writetext UnknownText_0x189ab1
- keeptextopen
- writetext UnknownText_0x189732
+.GotFireStone:
+ writetext BillsGrandpaPichuText
+ buttonsound
+ writetext BillsGrandpaAskToSeeMonText
yesorno
- iffalse UnknownScript_0x1896aa
- scall UnknownScript_0x1896a5
+ iffalse .SaidNo
+ scall .ExcitedToSee
special Special_BillsGrandfather
- iffalse UnknownScript_0x1896aa
- if_not_equal PICHU, UnknownScript_0x1896c6
- scall UnknownScript_0x1896b0
+ iffalse .SaidNo
+ if_not_equal PICHU, .WrongPokemon
+ scall .CorrectPokemon
setevent EVENT_SHOWED_PICHU_TO_BILLS_GRANDPA
- jump UnknownScript_0x189697
+ jump .ShowedPichu
-UnknownScript_0x18963b:
+.ShowedLickitung:
checkevent EVENT_GOT_EVERSTONE_FROM_BILLS_GRANDPA
- iftrue UnknownScript_0x189592
- scall UnknownScript_0x1896b5
+ iftrue .GotEverstone
+ scall .ReceiveItem
verbosegiveitem EVERSTONE
- iffalse UnknownScript_0x1896cc
+ iffalse .BagFull
setevent EVENT_GOT_EVERSTONE_FROM_BILLS_GRANDPA
setevent EVENT_GAVE_KURT_APRICORNS
- loadmovesprites
+ closetext
end
-UnknownScript_0x189652:
+.ShowedOddish:
checkevent EVENT_GOT_LEAF_STONE_FROM_BILLS_GRANDPA
- iftrue UnknownScript_0x1895b3
- scall UnknownScript_0x1896b5
+ iftrue .GotLeafStone
+ scall .ReceiveItem
verbosegiveitem LEAF_STONE
- iffalse UnknownScript_0x1896cc
+ iffalse .BagFull
setevent EVENT_GOT_LEAF_STONE_FROM_BILLS_GRANDPA
setevent EVENT_GAVE_KURT_APRICORNS
- loadmovesprites
+ closetext
end
-UnknownScript_0x189669:
+.ShowedStaryu:
checkevent EVENT_GOT_WATER_STONE_FROM_BILLS_GRANDPA
- iftrue UnknownScript_0x1895d4
- scall UnknownScript_0x1896b5
+ iftrue .GotWaterStone
+ scall .ReceiveItem
verbosegiveitem WATER_STONE
- iffalse UnknownScript_0x1896cc
+ iffalse .BagFull
setevent EVENT_GOT_WATER_STONE_FROM_BILLS_GRANDPA
setevent EVENT_GAVE_KURT_APRICORNS
- loadmovesprites
+ closetext
end
-UnknownScript_0x189680:
+.ShowedGrowlitheVulpix:
checkevent EVENT_GOT_FIRE_STONE_FROM_BILLS_GRANDPA
- iftrue UnknownScript_0x18961a
- scall UnknownScript_0x1896b5
+ iftrue .GotFireStone
+ scall .ReceiveItem
verbosegiveitem FIRE_STONE
- iffalse UnknownScript_0x1896cc
+ iffalse .BagFull
setevent EVENT_GOT_FIRE_STONE_FROM_BILLS_GRANDPA
setevent EVENT_GAVE_KURT_APRICORNS
- loadmovesprites
+ closetext
end
-UnknownScript_0x189697:
- scall UnknownScript_0x1896b5
+.ShowedPichu:
+ scall .ReceiveItem
verbosegiveitem THUNDERSTONE
- iffalse UnknownScript_0x1896cc
+ iffalse .BagFull
setevent EVENT_GOT_THUNDERSTONE_FROM_BILLS_GRANDPA
- loadmovesprites
+ closetext
end
-UnknownScript_0x1896a5:
- writetext UnknownText_0x189760
- keeptextopen
+.ExcitedToSee:
+ writetext BillsGrandpaExcitedToSeeText
+ buttonsound
end
-UnknownScript_0x1896aa:
- writetext UnknownText_0x189784
+.SaidNo:
+ writetext BillsGrandpaYouDontHaveItTextText
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1896b0:
- writetext UnknownText_0x1897a6
- keeptextopen
+.CorrectPokemon:
+ writetext BillsGrandpaShownPokemonText
+ buttonsound
end
-UnknownScript_0x1896b5:
- writetext UnknownText_0x1897e1
- keeptextopen
+.ReceiveItem:
+ writetext BillsGrandpaTokenOfAppreciationText
+ buttonsound
end
-UnknownScript_0x1896ba:
- writetext UnknownText_0x18980e
+.JustShowedSomething:
+ writetext BillsGrandpaComeAgainText
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1896c0:
- writetext UnknownText_0x18982a
+.GotThunderstone:
+ writetext BillsGrandpaShownAllThePokemonText
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1896c6:
- writetext UnknownText_0x189891
+.WrongPokemon:
+ writetext BillsGrandpaWrongPokemonText
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1896cc:
- loadmovesprites
+.BagFull:
+ closetext
end
-UnknownText_0x1896ce:
+BillsGrandpaIntroText:
text "Hm? You know BILL?"
line "He's my grandson."
@@ -219,23 +222,23 @@
line "house-sitting."
done
-UnknownText_0x189732:
+BillsGrandpaAskToSeeMonText:
text "If you have that"
line "#MON, may I see"
cont "it, please?"
done
-UnknownText_0x189760:
+BillsGrandpaExcitedToSeeText:
text "You will show me?"
line "How good of you!"
done
-UnknownText_0x189784:
+BillsGrandpaYouDontHaveItTextText:
text "You don't have it?"
line "That's too bad…"
done
-UnknownText_0x1897a6:
+BillsGrandpaShownPokemonText:
text "Ah, so that is"
line "@"
text_from_ram StringBuffer3
@@ -246,7 +249,7 @@
cont "you."
done
-UnknownText_0x1897e1:
+BillsGrandpaTokenOfAppreciationText:
text "Thanks!"
para "This is a token of"
@@ -253,12 +256,12 @@
line "my appreciation."
done
-UnknownText_0x18980e:
+BillsGrandpaComeAgainText:
text "Come visit again"
line "sometime."
done
-UnknownText_0x18982a:
+BillsGrandpaShownAllThePokemonText:
text "Thanks for showing"
line "me so many cute"
cont "#MON."
@@ -270,7 +273,7 @@
line "long life."
done
-UnknownText_0x189891:
+BillsGrandpaWrongPokemonText:
text "Hm?"
para "That's not the"
@@ -278,7 +281,7 @@
cont "told about."
done
-UnknownText_0x1898c0:
+BillsGrandpaLickitungText:
text "My grandson BILL"
line "told me about a"
@@ -286,7 +289,7 @@
line "long tongue."
done
-UnknownText_0x1898ff:
+BillsGrandpaOddishText:
text "Ah, my grandson"
line "mentioned a round,"
@@ -295,7 +298,7 @@
cont "on its head."
done
-UnknownText_0x189953:
+BillsGrandpaStaryuText:
text "Do you know of a"
line "sea #MON that"
@@ -313,7 +316,7 @@
line "like to see it."
done
-UnknownText_0x1899fe:
+BillsGrandpaGrowlitheText:
text "BILL told me about"
line "a #MON that is"
@@ -324,7 +327,7 @@
line "ROAR well."
done
-UnknownText_0x189a57:
+BillsGrandpaVulpixText:
text "I heard about a"
line "cute #MON that"
cont "has six tails."
@@ -334,7 +337,7 @@
cont "like that."
done
-UnknownText_0x189ab1:
+BillsGrandpaPichuText:
text "Do you know that"
line "hugely popular"
cont "#MON?"
--- a/maps/BlackthornCity.asm
+++ b/maps/BlackthornCity.asm
@@ -1,3 +1,14 @@
+const_value set 2
+ const BLACKTHORNCITY_SUPER_NERD1
+ const BLACKTHORNCITY_SUPER_NERD2
+ const BLACKTHORNCITY_GRAMPS1
+ const BLACKTHORNCITY_GRAMPS2
+ const BLACKTHORNCITY_BLACK_BELT
+ const BLACKTHORNCITY_COOLTRAINER_F1
+ const BLACKTHORNCITY_YOUNGSTER1
+ const BLACKTHORNCITY_YOUNGSTER2
+ const BLACKTHORNCITY_COOLTRAINER_F2
+
BlackthornCity_MapScriptHeader:
.MapTriggers:
db 0
@@ -16,102 +27,102 @@
.Santos
checkcode VAR_WEEKDAY
if_equal SATURDAY, .SantosAppears
- disappear $9
+ disappear BLACKTHORNCITY_YOUNGSTER2
return
.SantosAppears
- appear $9
+ appear BLACKTHORNCITY_YOUNGSTER2
return
-SuperNerdScript_0x1a46e8:
+BlackthornSuperNerdScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_CLAIR
- iftrue UnknownScript_0x1a4702
+ iftrue .BeatClair
checkevent EVENT_CLEARED_RADIO_TOWER
- iftrue UnknownScript_0x1a46fc
- writetext UnknownText_0x1a477a
+ iftrue .ClearedRadioTower
+ writetext Text_ClairIsOut
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1a46fc:
- writetext UnknownText_0x1a47f3
+.ClearedRadioTower:
+ writetext Text_ClairIsIn
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1a4702:
- writetext UnknownText_0x1a4865
+.BeatClair:
+ writetext Text_ClairIsBeaten
+ waitbutton
closetext
- loadmovesprites
end
-GrampsScript_0x1a4708:
- jumptextfaceplayer UnknownText_0x1a48c3
+BlackthornGramps1Script:
+ jumptextfaceplayer BlackthornGrampsRefusesEntryText
-GrampsScript_0x1a470b:
- jumptextfaceplayer UnknownText_0x1a48fb
+BlackthornGramps2Script:
+ jumptextfaceplayer BlackthornGrampsGrantsEntryText
-BlackBeltScript_0x1a470e:
+BlackthornBlackBeltScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_CLEARED_RADIO_TOWER
- iftrue UnknownScript_0x1a471c
- writetext UnknownText_0x1a494a
+ iftrue .ClearedRadioTower
+ writetext BlackBeltText_WeirdRadio
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1a471c:
- writetext UnknownText_0x1a4983
+.ClearedRadioTower:
+ writetext BlackBeltText_VoicesInMyHead
+ waitbutton
closetext
- loadmovesprites
end
-CooltrainerFScript_0x1a4722:
- jumptextfaceplayer UnknownText_0x1a49bd
+BlackthornCooltrainerF1Script:
+ jumptextfaceplayer BlackthornCooltrainerF1Text
-YoungsterScript_0x1a4725:
- jumptextfaceplayer UnknownText_0x1a49f1
+BlackthornYoungsterScript:
+ jumptextfaceplayer BlackthornYoungsterText
-CooltrainerFScript_0x1a4728:
- jumptextfaceplayer UnknownText_0x1a4b1e
+BlackthornCooltrainerF2Script:
+ jumptextfaceplayer BlackthornCooltrainerF2Text
SantosScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_SPELL_TAG_FROM_SANTOS
- iftrue SantosSaturdayScript
+ iftrue .Saturday
checkcode VAR_WEEKDAY
- if_not_equal SATURDAY, SantosNotSaturdayScript
+ if_not_equal SATURDAY, .NotSaturday
checkevent EVENT_MET_SANTOS_OF_SATURDAY
iftrue .MetSantos
writetext MeetSantosText
- keeptextopen
+ buttonsound
setevent EVENT_MET_SANTOS_OF_SATURDAY
.MetSantos
writetext SantosGivesGiftText
- keeptextopen
+ buttonsound
verbosegiveitem SPELL_TAG
- iffalse SantosDoneScript
+ iffalse .Done
setevent EVENT_GOT_SPELL_TAG_FROM_SANTOS
writetext SantosGaveGiftText
+ waitbutton
closetext
- loadmovesprites
end
-SantosSaturdayScript:
+.Saturday
writetext SantosSaturdayText
+ waitbutton
+.Done
closetext
-SantosDoneScript:
- loadmovesprites
end
-SantosNotSaturdayScript:
+.NotSaturday
writetext SantosNotSaturdayText
+ waitbutton
closetext
- loadmovesprites
end
BlackthornCitySign:
@@ -135,7 +146,7 @@
BlackthornCityMartSign:
jumpstd martsign
-UnknownText_0x1a477a:
+Text_ClairIsOut:
text "I am sorry."
para "CLAIR, our GYM"
@@ -149,7 +160,7 @@
cont "will return."
done
-UnknownText_0x1a47f3:
+Text_ClairIsIn:
text "CLAIR, our GYM"
line "LEADER, is waiting"
cont "for you."
@@ -161,7 +172,7 @@
line "trainer to win."
done
-UnknownText_0x1a4865:
+Text_ClairIsBeaten:
text "You defeated"
line "CLAIR?"
@@ -174,7 +185,7 @@
line "LANCE."
done
-UnknownText_0x1a48c3:
+BlackthornGrampsRefusesEntryText:
text "No. Only chosen"
line "trainers may train"
@@ -182,7 +193,7 @@
line "Please leave."
done
-UnknownText_0x1a48fb:
+BlackthornGrampsGrantsEntryText:
text "If CLAIR allows"
line "it, her grand-"
cont "father--our MASTER"
@@ -191,13 +202,13 @@
para "You may enter."
done
-UnknownText_0x1a494a:
+BlackBeltText_WeirdRadio:
text "My radio's busted?"
line "Lately, I only get"
cont "this weird signal."
done
-UnknownText_0x1a4983:
+BlackBeltText_VoicesInMyHead:
text "Arooo! Voices in"
line "my head!"
@@ -205,13 +216,13 @@
line "to my radio!"
done
-UnknownText_0x1a49bd:
+BlackthornCooltrainerF1Text:
text "Are you going to"
line "make your #MON"
cont "forget some moves?"
done
-UnknownText_0x1a49f1:
+BlackthornYoungsterText:
text "Dragon masters all"
line "come from the city"
cont "of BLACKTHORN."
@@ -257,7 +268,7 @@
line "not Saturday…"
done
-UnknownText_0x1a4b1e:
+BlackthornCooltrainerF2Text:
text "Wow, you came"
line "through the ICE"
cont "PATH?"
@@ -333,12 +344,12 @@
.PersonEvents:
db 9
- person_event SPRITE_SUPER_NERD, 12, 18, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x1a46e8, EVENT_BLACKTHORN_CITY_SUPER_NERD_BLOCKS_GYM
- person_event SPRITE_SUPER_NERD, 12, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x1a46e8, EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM
- person_event SPRITE_GRAMPS, 2, 20, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x1a4708, EVENT_BLACKTHORN_CITY_GRAMPS_BLOCKS_DRAGONS_DEN
- person_event SPRITE_GRAMPS, 2, 21, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x1a470b, EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN
- person_event SPRITE_BLACK_BELT, 31, 24, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, BlackBeltScript_0x1a470e, -1
- person_event SPRITE_COOLTRAINER_F, 25, 9, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x1a4722, -1
- person_event SPRITE_YOUNGSTER, 15, 13, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x1a4725, -1
+ person_event SPRITE_SUPER_NERD, 12, 18, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, BlackthornSuperNerdScript, EVENT_BLACKTHORN_CITY_SUPER_NERD_BLOCKS_GYM
+ person_event SPRITE_SUPER_NERD, 12, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, BlackthornSuperNerdScript, EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM
+ person_event SPRITE_GRAMPS, 2, 20, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BlackthornGramps1Script, EVENT_BLACKTHORN_CITY_GRAMPS_BLOCKS_DRAGONS_DEN
+ person_event SPRITE_GRAMPS, 2, 21, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BlackthornGramps2Script, EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN
+ person_event SPRITE_BLACK_BELT, 31, 24, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, BlackthornBlackBeltScript, -1
+ person_event SPRITE_COOLTRAINER_F, 25, 9, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, BlackthornCooltrainerF1Script, -1
+ person_event SPRITE_YOUNGSTER, 15, 13, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BlackthornYoungsterScript, -1
person_event SPRITE_YOUNGSTER, 20, 22, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SantosScript, EVENT_BLACKTHORN_CITY_SANTOS_OF_SATURDAY
- person_event SPRITE_COOLTRAINER_F, 19, 35, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x1a4728, -1
+ person_event SPRITE_COOLTRAINER_F, 19, 35, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, BlackthornCooltrainerF2Script, -1
--- a/maps/BlackthornDodrioTradeHouse.asm
+++ b/maps/BlackthornDodrioTradeHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const BLACKTHORNDODRIOTRADEHOUSE_LASS
+
BlackthornDodrioTradeHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,10 +10,10 @@
Emy:
faceplayer
- loadfont
+ opentext
trade $3
+ waitbutton
closetext
- loadmovesprites
end
EmysHouseBookshelf:
--- a/maps/BlackthornDragonSpeechHouse.asm
+++ b/maps/BlackthornDragonSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const BLACKTHORNDRAGONSPEECHHOUSE_GRANNY
+ const BLACKTHORNDRAGONSPEECHHOUSE_EKANS
+
BlackthornDragonSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +13,11 @@
jumptextfaceplayer UnknownText_0x19595c
EkansScript_0x19594c:
- loadfont
+ opentext
writetext UnknownText_0x1959ee
cry DRATINI
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x195956:
--- a/maps/BlackthornGym1F.asm
+++ b/maps/BlackthornGym1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const BLACKTHORNGYM1F_CLAIR
+ const BLACKTHORNGYM1F_COOLTRAINER_M1
+ const BLACKTHORNGYM1F_COOLTRAINER_M2
+ const BLACKTHORNGYM1F_COOLTRAINER_F
+ const BLACKTHORNGYM1F_GYM_GUY
+
BlackthornGym1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -23,25 +30,25 @@
.skip3
return
-ClairScript_0x194e24:
+BlackthornGymClairScript:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_RISINGBADGE
- iftrue UnknownScript_0x194e69
+ iftrue .AlreadyGotBadge
checkevent EVENT_BEAT_CLAIR
iftrue .FightDone
- writetext UnknownText_0x194efa
+ writetext ClairIntroText
+ waitbutton
closetext
- loadmovesprites
- winlosstext UnknownText_0x194fd6, 0
+ winlosstext ClairWinText, 0
loadtrainer CLAIR, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_CLAIR
- loadfont
- writetext UnknownText_0x19500e
+ opentext
+ writetext ClairText_GoToDragonsDen
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_BEAT_COOLTRAINERM_PAUL
setevent EVENT_BEAT_COOLTRAINERM_CODY
setevent EVENT_BEAT_COOLTRAINERM_MIKE
@@ -51,39 +58,40 @@
setevent EVENT_BLACKTHORN_CITY_GRAMPS_BLOCKS_DRAGONS_DEN
clearevent EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN
end
+
.FightDone
- writetext UnknownText_0x195162
+ writetext ClairText_TooMuchToExpect
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x194e69:
+.AlreadyGotBadge
checkevent EVENT_GOT_TM24_DRAGONBREATH
- iftrue UnknownScript_0x194e94
- writetext UnknownText_0x195196
- keeptextopen
+ iftrue .GotTM24
+ writetext BlackthornGymClairText_YouKeptMeWaiting
+ buttonsound
giveitem TM_DRAGONBREATH
- iffalse UnknownScript_0x194e8e
+ iffalse .BagFull
itemtotext TM_DRAGONBREATH, $0
- writetext UnknownText_0x1951bf
+ writetext BlackthornGymText_ReceivedTM24
playsound SFX_ITEM
- waitbutton
+ waitsfx
itemnotify
setevent EVENT_GOT_TM24_DRAGONBREATH
- writetext UnknownText_0x1951d1
- keeptextopen
- jump UnknownScript_0x194e94
+ writetext BlackthornGymClairText_DescribeTM24
+ buttonsound
+ jump .GotTM24
-UnknownScript_0x194e8e:
- writetext UnknownText_0x19524f
+.BagFull:
+ writetext BlackthornGymClairText_BagFull
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x194e94:
- writetext UnknownText_0x195272
+.GotTM24:
+ writetext BlackthornGymClairText_League
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainermPaul:
@@ -90,11 +98,11 @@
trainer EVENT_BEAT_COOLTRAINERM_PAUL, COOLTRAINERM, PAUL, CooltrainermPaulSeenText, CooltrainermPaulBeatenText, 0, CooltrainermPaulScript
CooltrainermPaulScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x1953f1
+ end_if_just_battled
+ opentext
+ writetext CooltrainermPaulAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainermMike:
@@ -101,11 +109,11 @@
trainer EVENT_BEAT_COOLTRAINERM_MIKE, COOLTRAINERM, MIKE, CooltrainermMikeSeenText, CooltrainermMikeBeatenText, 0, CooltrainermMikeScript
CooltrainermMikeScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x195467
+ end_if_just_battled
+ opentext
+ writetext CooltrainermMikeAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfLola:
@@ -112,27 +120,27 @@
trainer EVENT_BEAT_COOLTRAINERF_LOLA, COOLTRAINERF, LOLA, CooltrainerfLolaSeenText, CooltrainerfLolaBeatenText, 0, CooltrainerfLolaScript
CooltrainerfLolaScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x195516
+ end_if_just_battled
+ opentext
+ writetext CooltrainerfLolaAfterText
+ waitbutton
closetext
- loadmovesprites
end
BlackthornGymGuyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_CLAIR
iftrue .BlackthornGymGuyWinScript
writetext BlackthornGymGuyText
+ waitbutton
closetext
- loadmovesprites
end
.BlackthornGymGuyWinScript
writetext BlackthornGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
end
BlackthornGymStatue:
@@ -143,7 +151,7 @@
trainertotext CLAIR, 1, $1
jumpstd gymstatue2
-UnknownText_0x194efa:
+ClairIntroText:
text "I am CLAIR."
para "The world's best"
@@ -168,7 +176,7 @@
line "opponent!"
done
-UnknownText_0x194fd6:
+ClairWinText:
text "I lost?"
para "I don't believe"
@@ -176,7 +184,7 @@
cont "some mistake…"
done
-UnknownText_0x19500e:
+ClairText_GoToDragonsDen:
text "I won't admit"
line "this."
@@ -211,7 +219,7 @@
cont "BADGE!"
done
-UnknownText_0x195162:
+ClairText_TooMuchToExpect:
text "What's the matter?"
para "Is it too much to"
@@ -218,7 +226,7 @@
line "expect of you?"
done
-UnknownText_0x195196:
+BlackthornGymClairText_YouKeptMeWaiting:
text "You've kept me"
line "waiting!"
@@ -225,12 +233,12 @@
para "Here! Take this!"
done
-UnknownText_0x1951bf:
+BlackthornGymText_ReceivedTM24:
text "<PLAYER> received"
line "TM24."
done
-UnknownText_0x1951d1:
+BlackthornGymClairText_DescribeTM24:
text "That contains"
line "DRAGONBREATH."
@@ -243,12 +251,12 @@
cont "to take it."
done
-UnknownText_0x19524f:
+BlackthornGymClairText_BagFull:
text "What is this? You"
line "don't have room?"
done
-UnknownText_0x195272:
+BlackthornGymClairText_League:
text "What's the matter?"
para "Aren't you headed"
@@ -292,7 +300,7 @@
line "lost?"
done
-UnknownText_0x1953f1:
+CooltrainermPaulAfterText:
text "LANCE told you"
line "that he'd like to"
@@ -310,7 +318,7 @@
text "That's odd."
done
-UnknownText_0x195467:
+CooltrainermMikeAfterText:
text "I know my short-"
line "comings now."
@@ -336,7 +344,7 @@
text "Way to go!"
done
-UnknownText_0x195516:
+CooltrainerfLolaAfterText:
text "Dragons are weak"
line "against dragon-"
cont "type moves."
@@ -404,7 +412,7 @@
.PersonEvents:
db 5
- person_event SPRITE_CLAIR, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, ClairScript_0x194e24, -1
+ person_event SPRITE_CLAIR, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, BlackthornGymClairScript, -1
person_event SPRITE_COOLTRAINER_M, 6, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 3, TrainerCooltrainermMike, -1
person_event SPRITE_COOLTRAINER_M, 14, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 3, TrainerCooltrainermPaul, -1
person_event SPRITE_COOLTRAINER_F, 2, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 1, TrainerCooltrainerfLola, -1
--- a/maps/BlackthornGym2F.asm
+++ b/maps/BlackthornGym2F.asm
@@ -1,3 +1,13 @@
+const_value set 2
+ const BLACKTHORNGYM2F_COOLTRAINER_M
+ const BLACKTHORNGYM2F_COOLTRAINER_F
+ const BLACKTHORNGYM2F_BOULDER1
+ const BLACKTHORNGYM2F_BOULDER2
+ const BLACKTHORNGYM2F_BOULDER3
+ const BLACKTHORNGYM2F_BOULDER4
+ const BLACKTHORNGYM2F_BOULDER5
+ const BLACKTHORNGYM2F_BOULDER6
+
BlackthornGym2F_MapScriptHeader:
.MapTriggers:
db 0
@@ -17,36 +27,30 @@
db 0, 0 ; filler
.BoulderTable
- db 5, 4 ; warp, person
- dw .Disappear4
+ stonetable 5, BLACKTHORNGYM2F_BOULDER1, .Disappear4
+ stonetable 3, BLACKTHORNGYM2F_BOULDER2, .Disappear5
+ stonetable 4, BLACKTHORNGYM2F_BOULDER3, .Disappear6
+ db -1 ; end
- db 3, 5 ; warp, person
- dw .Disappear5
-
- db 4, 6 ; warp, person
- dw .Disappear6
-
- db $ff ; end
-
.Disappear4
- disappear 4
+ disappear BLACKTHORNGYM2F_BOULDER1
jump .Fall
.Disappear5
- disappear 5
+ disappear BLACKTHORNGYM2F_BOULDER2
jump .Fall
.Disappear6
- disappear 6
+ disappear BLACKTHORNGYM2F_BOULDER3
jump .Fall
.Fall
pause 30
scall .FX
- loadfont
+ opentext
writetext BlackthornGym2FBoulderFellText
+ waitbutton
closetext
- loadmovesprites
end
.FX
@@ -62,11 +66,11 @@
trainer EVENT_BEAT_COOLTRAINERM_CODY, COOLTRAINERM, CODY, CooltrainermCodySeenText, CooltrainermCodyBeatenText, 0, CooltrainermCodyScript
CooltrainermCodyScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x1957d5
+ end_if_just_battled
+ opentext
+ writetext CooltrainermCodyAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfFran:
@@ -73,11 +77,11 @@
trainer EVENT_BEAT_COOLTRAINERF_FRAN, COOLTRAINERF, FRAN, CooltrainerfFranSeenText, CooltrainerfFranBeatenText, 0, CooltrainerfFranScript
CooltrainerfFranScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x195883
+ end_if_just_battled
+ opentext
+ writetext CooltrainerfFranAfterText
+ waitbutton
closetext
- loadmovesprites
end
CooltrainermCodySeenText:
@@ -91,7 +95,7 @@
line "had a dragon!"
done
-UnknownText_0x1957d5:
+CooltrainermCodyAfterText:
text "Members of our"
line "dragon-user clan"
@@ -115,7 +119,7 @@
text "Awww… I lost…"
done
-UnknownText_0x195883:
+CooltrainerfFranAfterText:
text "Uh-oh… CLAIR is"
line "going to be mad…"
done
--- a/maps/BlackthornMart.asm
+++ b/maps/BlackthornMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const BLACKTHORNMART_CLERK
+ const BLACKTHORNMART_COOLTRAINER_M
+ const BLACKTHORNMART_BLACK_BELT
+
BlackthornMart_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,9 +11,9 @@
db 0
ClerkScript_0x195a5d:
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_BLACKTHORN
- loadmovesprites
+ closetext
end
CooltrainerMScript_0x195a64:
--- a/maps/BlackthornPokeCenter1F.asm
+++ b/maps/BlackthornPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const BLACKTHORNPOKECENTER1F_NURSE
+ const BLACKTHORNPOKECENTER1F_GENTLEMAN
+ const BLACKTHORNPOKECENTER1F_TWIN
+ const BLACKTHORNPOKECENTER1F_COOLTRAINER_M
+
BlackthornPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/BluesHouse.asm
+++ b/maps/BluesHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const BLUESHOUSE_DAISY
+
BluesHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,12 +10,12 @@
DaisyScript_0x19b0d0:
faceplayer
- loadfont
+ opentext
checkcode VAR_HOUR
if_equal $f, UnknownScript_0x19b0de
writetext UnknownText_0x19b130
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19b0de:
@@ -22,44 +25,44 @@
yesorno
iffalse UnknownScript_0x19b124
writetext UnknownText_0x19b244
- closetext
+ waitbutton
special Special_DaisyMassage
if_equal 0, UnknownScript_0x19b124
if_equal 1, UnknownScript_0x19b12a
setflag ENGINE_TEA_IN_BLUES_HOUSE
writetext UnknownText_0x19b266
+ waitbutton
closetext
- loadmovesprites
special FadeOutPalettes
playmusic MUSIC_HEAL
pause 60
special FadeInPalettes
special RestartMapMusic
- loadfont
+ opentext
writetext UnknownText_0x19b296
special PlayCurMonCry
- keeptextopen
+ buttonsound
writetext UnknownText_0x19b2aa
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19b11e:
writetext UnknownText_0x19b2fa
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19b124:
writetext UnknownText_0x19b334
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19b12a:
writetext UnknownText_0x19b377
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x19b130:
--- a/maps/BrunosRoom.asm
+++ b/maps/BrunosRoom.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const BRUNOSROOM_BRUNO
+
BrunosRoom_MapScriptHeader:
.MapTriggers:
db 2
@@ -38,41 +41,41 @@
earthquake 80
changeblock $4, $e, $2a
reloadmappart
- loadmovesprites
+ closetext
dotrigger $1
setevent EVENT_BRUNOS_ROOM_ENTRANCE_CLOSED
- waitbutton
+ waitsfx
end
BrunoScript_0x1809c5:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_ELITE_4_BRUNO
iftrue UnknownScript_0x1809f3
writetext UnknownText_0x1809fe
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x180b23, 0
loadtrainer BRUNO, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_ELITE_4_BRUNO
- loadfont
+ opentext
writetext UnknownText_0x180b3c
+ waitbutton
closetext
- loadmovesprites
playsound SFX_ENTER_DOOR
changeblock $4, $2, $16
reloadmappart
- loadmovesprites
+ closetext
setevent EVENT_BRUNOS_ROOM_EXIT_OPEN
- waitbutton
+ waitsfx
end
UnknownScript_0x1809f3:
writetext UnknownText_0x180b3c
+ waitbutton
closetext
- loadmovesprites
end
MovementData_0x1809f9:
--- a/maps/BurnedTower1F.asm
+++ b/maps/BurnedTower1F.asm
@@ -1,11 +1,18 @@
+const_value set 2
+ const BURNEDTOWER1F_ROCK
+ const BURNEDTOWER1F_SUPER_NERD
+ const BURNEDTOWER1F_SILVER
+ const BURNEDTOWER1F_MORTY
+ const BURNEDTOWER1F_POKE_BALL
+
BurnedTower1F_MapScriptHeader:
.MapTriggers:
db 3
; triggers
- dw UnknownScript_0x185bf2, 0
- dw UnknownScript_0x185bf6, 0
- dw UnknownScript_0x185bf7, 0
+ dw .Trigger0, 0
+ dw .Trigger1, 0
+ dw .Trigger2, 0
.MapCallbacks:
db 1
@@ -12,19 +19,19 @@
; callbacks
- dbw 1, UnknownScript_0x185bf8
+ dbw 1, .HoleAndLadder
-UnknownScript_0x185bf2:
- priorityjump UnknownScript_0x185c0d
+.Trigger0:
+ priorityjump .EusineTrigger
end
-UnknownScript_0x185bf6:
+.Trigger1:
end
-UnknownScript_0x185bf7:
+.Trigger2:
end
-UnknownScript_0x185bf8:
+.HoleAndLadder:
checkevent EVENT_HOLE_IN_BURNED_TOWER
iftrue .Next
changeblock $a, $8, $32 ; hole
@@ -35,123 +42,123 @@
.Done
return
-UnknownScript_0x185c0d:
- spriteface $3, DOWN
- showemote EMOTE_SHOCK, $3, 15
- applymovement $3, MovementData_0x185cd3
- loadfont
- writetext UnknownText_0x185ecc
+.EusineTrigger:
+ spriteface BURNEDTOWER1F_SUPER_NERD, DOWN
+ showemote EMOTE_SHOCK, BURNEDTOWER1F_SUPER_NERD, 15
+ applymovement BURNEDTOWER1F_SUPER_NERD, BurnedTower1FEusineMovement
+ opentext
+ writetext BurnedTower1FEusineIntroText
+ waitbutton
closetext
- loadmovesprites
- moveperson $3, $9, $e
+ moveperson BURNEDTOWER1F_SUPER_NERD, $9, $e
dotrigger $1
end
-UnknownScript_0x185c25:
- showemote EMOTE_SHOCK, $4, 15
- special Special_RotatePalettesRightMusic
+BurnedTowerRivalBattleScript:
+ showemote EMOTE_SHOCK, BURNEDTOWER1F_SILVER, 15
+ special Special_FadeOutMusic
pause 15
- spriteface $4, RIGHT
+ spriteface BURNEDTOWER1F_SILVER, RIGHT
pause 15
- applymovement PLAYER, MovementData_0x185ccd
- applymovement $4, MovementData_0x185ccf
+ applymovement PLAYER, BurnedTowerMovement_PlayerWalksToSilver
+ applymovement BURNEDTOWER1F_SILVER, BurnedTowerMovement_SilverWalksToPlayer
playmusic MUSIC_RIVAL_ENCOUNTER
- loadfont
- writetext UnknownText_0x185cd9
+ opentext
+ writetext BurnedTowerSilver_BeforeText
+ waitbutton
closetext
- loadmovesprites
checkevent EVENT_GOT_TOTODILE_FROM_ELM
- iftrue UnknownScript_0x185c60
+ iftrue .totodile
checkevent EVENT_GOT_CHIKORITA_FROM_ELM
- iftrue UnknownScript_0x185c70
- winlosstext UnknownText_0x185d9b, UnknownText_0x185e2c
- setlasttalked $4
+ iftrue .chikorita
+ winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText
+ setlasttalked BURNEDTOWER1F_SILVER
loadtrainer RIVAL1, RIVAL1_9
startbattle
- reloadmapmusic
- returnafterbattle
- jump UnknownScript_0x185c80
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .returnfrombattle
-UnknownScript_0x185c60:
- winlosstext UnknownText_0x185d9b, UnknownText_0x185e2c
- setlasttalked $4
+.totodile:
+ winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText
+ setlasttalked BURNEDTOWER1F_SILVER
loadtrainer RIVAL1, RIVAL1_7
startbattle
- reloadmapmusic
- returnafterbattle
- jump UnknownScript_0x185c80
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .returnfrombattle
-UnknownScript_0x185c70:
- winlosstext UnknownText_0x185d9b, UnknownText_0x185e2c
- setlasttalked $4
+.chikorita:
+ winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText
+ setlasttalked BURNEDTOWER1F_SILVER
loadtrainer RIVAL1, RIVAL1_8
startbattle
- reloadmapmusic
- returnafterbattle
- jump UnknownScript_0x185c80
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .returnfrombattle
-UnknownScript_0x185c80:
+.returnfrombattle:
playmusic MUSIC_RIVAL_AFTER
- loadfont
- writetext UnknownText_0x185de2
+ opentext
+ writetext BurnedTowerSilver_AfterText1
+ waitbutton
closetext
- loadmovesprites
dotrigger $2
setevent EVENT_RIVAL_BURNED_TOWER
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 15
earthquake 50
showemote EMOTE_SHOCK, PLAYER, 15
playsound SFX_ENTER_DOOR
- waitbutton
+ waitsfx
changeblock $a, $8, $25
reloadmappart
pause 15
- applymovement PLAYER, MovementData_0x185cd1
+ applymovement PLAYER, BurnedTower1FMovement_PlayerStartsToFall
playsound SFX_KINESIS
- showemote EMOTE_SHOCK, $4, 20
- loadfont
- writetext UnknownText_0x185e75
+ showemote EMOTE_SHOCK, BURNEDTOWER1F_SILVER, 20
+ opentext
+ writetext BurnedTowerSilver_AfterText2
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_HOLE_IN_BURNED_TOWER
pause 15
warpcheck
end
-SuperNerdScript_0x185cbc:
- jumptextfaceplayer UnknownText_0x185f99
+BurnedTower1FEusineScript:
+ jumptextfaceplayer BurnedTower1FEusineText
-MortyScript_0x185cbf:
- jumptextfaceplayer UnknownText_0x186002
+BurnedTower1FMortyScript:
+ jumptextfaceplayer BurnedTower1FMortyText
BurnedTower1FRock:
jumpstd smashrock
-MapBurnedTower1FSignpostItem0:
+BurnedTower1FHiddenEther:
dwb EVENT_BURNED_TOWER_1F_HIDDEN_ETHER, ETHER
-MapBurnedTower1FSignpostItem1:
+BurnedTower1FHiddenUltraBall:
dwb EVENT_BURNED_TOWER_1F_HIDDEN_ULTRA_BALL, ULTRA_BALL
-ItemFragment_0x185ccb:
- db HP_UP, 1
+BurnedTower1FHPUp:
+ itemball HP_UP
-MovementData_0x185ccd:
+BurnedTowerMovement_PlayerWalksToSilver:
step_left
step_end
-MovementData_0x185ccf:
+BurnedTowerMovement_SilverWalksToPlayer:
step_right
step_end
-MovementData_0x185cd1:
- db $59 ; movement
+BurnedTower1FMovement_PlayerStartsToFall:
+ skyfall_top
step_end
-MovementData_0x185cd3:
+BurnedTower1FEusineMovement:
step_down
step_left
step_left
@@ -159,7 +166,7 @@
step_down
step_end
-UnknownText_0x185cd9:
+BurnedTowerSilver_BeforeText:
text "<......> <......> <......>"
para "…Oh, it's you."
@@ -183,7 +190,7 @@
line "fault!"
done
-UnknownText_0x185d9b:
+BurnedTowerSilver_WinText:
text "…Humph!"
para "This is why I hate"
@@ -193,7 +200,7 @@
line "challenge in it."
done
-UnknownText_0x185de2:
+BurnedTowerSilver_AfterText1:
text "…Aw, whatever."
para "You would never be"
@@ -203,7 +210,7 @@
line "anyway."
done
-UnknownText_0x185e2c:
+BurnedTowerSilver_LossText:
text "…Humph!"
para "This is why I hate"
@@ -213,7 +220,7 @@
line "of my time."
done
-UnknownText_0x185e75:
+BurnedTowerSilver_AfterText2:
text "Humph!"
para "What are you doing"
@@ -225,7 +232,7 @@
para "Serves you right!"
done
-UnknownText_0x185ecc:
+BurnedTower1FEusineIntroText:
text "EUSINE: My name's"
line "EUSINE."
@@ -248,7 +255,7 @@
line "could it be?"
done
-UnknownText_0x185f99:
+BurnedTower1FEusineText:
text "EUSINE: I heard"
line "that SUICUNE is in"
@@ -259,7 +266,7 @@
line "could it be?"
done
-UnknownText_0x186002:
+BurnedTower1FMortyText:
text "MORTY: ECRUTEAK's"
line "GYM LEADER has to"
@@ -285,32 +292,32 @@
db 14
warp_def $f, $9, 13, ECRUTEAK_CITY
warp_def $f, $a, 13, ECRUTEAK_CITY
- warp_def $9, $a, 1, BURNED_TOWER_B1F
- warp_def $5, $5, 1, BURNED_TOWER_B1F
- warp_def $6, $5, 1, BURNED_TOWER_B1F
- warp_def $6, $4, 1, BURNED_TOWER_B1F
- warp_def $4, $f, 2, BURNED_TOWER_B1F
- warp_def $5, $f, 2, BURNED_TOWER_B1F
- warp_def $7, $a, 3, BURNED_TOWER_B1F
- warp_def $e, $5, 4, BURNED_TOWER_B1F
- warp_def $e, $4, 4, BURNED_TOWER_B1F
- warp_def $e, $e, 5, BURNED_TOWER_B1F
- warp_def $e, $f, 5, BURNED_TOWER_B1F
- warp_def $f, $7, 6, BURNED_TOWER_B1F
+ warp_def $9, $a, 1, BURNED_TOWER_B1F
+ warp_def $5, $5, 1, BURNED_TOWER_B1F
+ warp_def $6, $5, 1, BURNED_TOWER_B1F
+ warp_def $6, $4, 1, BURNED_TOWER_B1F
+ warp_def $4, $f, 2, BURNED_TOWER_B1F
+ warp_def $5, $f, 2, BURNED_TOWER_B1F
+ warp_def $7, $a, 3, BURNED_TOWER_B1F
+ warp_def $e, $5, 4, BURNED_TOWER_B1F
+ warp_def $e, $4, 4, BURNED_TOWER_B1F
+ warp_def $e, $e, 5, BURNED_TOWER_B1F
+ warp_def $e, $f, 5, BURNED_TOWER_B1F
+ warp_def $f, $7, 6, BURNED_TOWER_B1F
.XYTriggers:
db 1
- xy_trigger 1, $9, $b, $0, UnknownScript_0x185c25, $0, $0
+ xy_trigger 1, $9, $b, $0, BurnedTowerRivalBattleScript, $0, $0
.Signposts:
db 2
- signpost 7, 8, SIGNPOST_ITEM, MapBurnedTower1FSignpostItem0
- signpost 11, 13, SIGNPOST_ITEM, MapBurnedTower1FSignpostItem1
+ signpost 7, 8, SIGNPOST_ITEM, BurnedTower1FHiddenEther
+ signpost 11, 13, SIGNPOST_ITEM, BurnedTower1FHiddenUltraBall
.PersonEvents:
db 5
person_event SPRITE_ROCK, 4, 15, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BurnedTower1FRock, -1
- person_event SPRITE_SUPER_NERD, 12, 12, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x185cbc, EVENT_BURNED_TOWER_1F_EUSINE
+ person_event SPRITE_SUPER_NERD, 12, 12, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, BurnedTower1FEusineScript, EVENT_BURNED_TOWER_1F_EUSINE
person_event SPRITE_SILVER, 9, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 3, ObjectEvent, EVENT_RIVAL_BURNED_TOWER
- person_event SPRITE_MORTY, 14, 14, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_SCRIPT, 0, MortyScript_0x185cbf, EVENT_BURNED_TOWER_MORTY
- person_event SPRITE_POKE_BALL, 2, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x185ccb, EVENT_BURNED_TOWER_1F_HP_UP
+ person_event SPRITE_MORTY, 14, 14, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_SCRIPT, 0, BurnedTower1FMortyScript, EVENT_BURNED_TOWER_MORTY
+ person_event SPRITE_POKE_BALL, 2, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, BurnedTower1FHPUp, EVENT_BURNED_TOWER_1F_HP_UP
--- a/maps/BurnedTowerB1F.asm
+++ b/maps/BurnedTowerB1F.asm
@@ -1,3 +1,14 @@
+const_value set 2
+ const BURNEDTOWERB1F_BOULDER
+ const BURNEDTOWERB1F_RAIKOU1
+ const BURNEDTOWERB1F_ENTEI1
+ const BURNEDTOWERB1F_SUICUNE1
+ const BURNEDTOWERB1F_RAIKOU2
+ const BURNEDTOWERB1F_ENTEI2
+ const BURNEDTOWERB1F_SUICUNE2
+ const BURNEDTOWERB1F_POKE_BALL
+ const BURNEDTOWERB1F_SUPER_NERD
+
BurnedTowerB1F_MapScriptHeader:
.MapTriggers:
db 2
@@ -29,51 +40,51 @@
UnknownScript_0x18616b:
playmusic MUSIC_NONE
pause 30
- appear $3
+ appear BURNEDTOWERB1F_RAIKOU1
spriteface PLAYER, UP
pause 5
- disappear $6
+ disappear BURNEDTOWERB1F_RAIKOU2
pause 15
cry RAIKOU
- appear $4
+ appear BURNEDTOWERB1F_ENTEI1
spriteface PLAYER, UP
pause 5
- disappear $7
+ disappear BURNEDTOWERB1F_ENTEI2
pause 15
cry ENTEI
- appear $5
+ appear BURNEDTOWERB1F_SUICUNE1
spriteface PLAYER, UP
pause 5
- disappear $8
+ disappear BURNEDTOWERB1F_SUICUNE2
pause 15
cry SUICUNE
pause 15
playsound SFX_WARP_FROM
spriteface PLAYER, LEFT
- applymovement $3, MovementData_0x186236
- disappear $3
- waitbutton
+ applymovement BURNEDTOWERB1F_RAIKOU1, MovementData_0x186236
+ disappear BURNEDTOWERB1F_RAIKOU1
+ waitsfx
playsound SFX_WARP_FROM
spriteface PLAYER, RIGHT
- applymovement $4, MovementData_0x18623b
- disappear $4
- waitbutton
+ applymovement BURNEDTOWERB1F_ENTEI1, MovementData_0x18623b
+ disappear BURNEDTOWERB1F_ENTEI1
+ waitsfx
pause 15
playsound SFX_WARP_FROM
spriteface PLAYER, UP
- applymovement $5, MovementData_0x186241
+ applymovement BURNEDTOWERB1F_SUICUNE1, MovementData_0x186241
playsound SFX_WARP_FROM
spriteface PLAYER, DOWN
- applymovement $5, MovementData_0x186248
+ applymovement BURNEDTOWERB1F_SUICUNE1, MovementData_0x186248
spriteface PLAYER, UP
pause 20
cry SUICUNE
pause 30
playsound SFX_WARP_FROM
- applymovement $5, MovementData_0x186253
+ applymovement BURNEDTOWERB1F_SUICUNE1, MovementData_0x186253
spriteface PLAYER, DOWN
- disappear $5
- waitbutton
+ disappear BURNEDTOWERB1F_SUICUNE1
+ waitsfx
special RestartMapMusic
dotrigger $1
setevent EVENT_RELEASED_THE_BEASTS
@@ -85,35 +96,35 @@
clearevent EVENT_ECRUTEAK_CITY_GRAMPS
setevent EVENT_BURNED_TOWER_MORTY
setevent EVENT_BURNED_TOWER_1F_EUSINE
- appear $a
+ appear BURNEDTOWERB1F_SUPER_NERD
refreshscreen $0
changeblock $6, $e, $1b
reloadmappart
- loadmovesprites
+ closetext
dotrigger $1
end
SuperNerdScript_0x186212:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x18626a
+ waitbutton
closetext
- loadmovesprites
checkcode VAR_FACING
if_equal $1, UnknownScript_0x186226
- applymovement $a, MovementData_0x186263
+ applymovement BURNEDTOWERB1F_SUPER_NERD, MovementData_0x186263
jump UnknownScript_0x18622a
UnknownScript_0x186226:
- applymovement $a, MovementData_0x18625c
+ applymovement BURNEDTOWERB1F_SUPER_NERD, MovementData_0x18625c
UnknownScript_0x18622a:
- disappear $a
+ disappear BURNEDTOWERB1F_SUPER_NERD
playsound SFX_EXIT_BUILDING
- waitbutton
+ waitsfx
end
-ItemFragment_0x186231:
- db TM_ENDURE, 1
+BurnedTowerB1FTMEndure:
+ itemball TM_ENDURE
BurnedTowerB1FBoulder:
jumpstd strengthboulder
@@ -258,5 +269,5 @@
person_event SPRITE_RAIKOU, 3, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
person_event SPRITE_ENTEI, 3, 12, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
person_event SPRITE_SUICUNE, 4, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
- person_event SPRITE_POKE_BALL, 4, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x186231, EVENT_BURNED_TOWER_B1F_TM_ENDURE
+ person_event SPRITE_POKE_BALL, 4, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, BurnedTowerB1FTMEndure, EVENT_BURNED_TOWER_B1F_TM_ENDURE
person_event SPRITE_SUPER_NERD, 12, 10, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x186212, EVENT_EUSINE_IN_BURNED_TOWER
--- a/maps/CeladonCafe.asm
+++ b/maps/CeladonCafe.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const CELADONCAFE_SUPER_NERD
+ const CELADONCAFE_FISHER1
+ const CELADONCAFE_FISHER2
+ const CELADONCAFE_FISHER3
+ const CELADONCAFE_TEACHER
+
CeladonCafe_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,77 +14,77 @@
SuperNerdScript_0x73049:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x730de
+ waitbutton
closetext
- loadmovesprites
end
FisherScript_0x73051:
- loadfont
+ opentext
writetext UnknownText_0x73129
+ waitbutton
closetext
- loadmovesprites
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x7313a
+ waitbutton
closetext
- loadmovesprites
- spriteface $3, LEFT
+ spriteface CELADONCAFE_FISHER1, LEFT
end
FisherScript_0x73062:
- loadfont
+ opentext
writetext UnknownText_0x7316a
+ waitbutton
closetext
- loadmovesprites
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x73178
+ waitbutton
closetext
- loadmovesprites
- spriteface $4, RIGHT
+ spriteface CELADONCAFE_FISHER2, RIGHT
end
FisherScript_0x73073:
- loadfont
+ opentext
writetext UnknownText_0x731ae
+ waitbutton
closetext
- loadmovesprites
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x731bd
+ waitbutton
closetext
- loadmovesprites
- spriteface $5, RIGHT
+ spriteface CELADONCAFE_FISHER3, RIGHT
end
TeacherScript_0x73084:
checkitem COIN_CASE
iftrue UnknownScript_0x7309a
- loadfont
+ opentext
writetext UnknownText_0x73201
+ waitbutton
closetext
- loadmovesprites
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x73212
+ waitbutton
closetext
- loadmovesprites
- spriteface $6, LEFT
+ spriteface CELADONCAFE_TEACHER, LEFT
end
UnknownScript_0x7309a:
- loadfont
+ opentext
writetext UnknownText_0x73254
+ waitbutton
closetext
- loadmovesprites
- spriteface $6, RIGHT
- loadfont
+ spriteface CELADONCAFE_TEACHER, RIGHT
+ opentext
writetext UnknownText_0x73278
+ waitbutton
closetext
- loadmovesprites
- spriteface $6, LEFT
+ spriteface CELADONCAFE_TEACHER, LEFT
end
EatathonContestPoster:
@@ -88,24 +95,24 @@
iftrue .TrashEmpty
giveitem LEFTOVERS
iffalse .PackFull
- loadfont
+ opentext
itemtotext LEFTOVERS, $0
writetext FoundLeftoversText
playsound SFX_ITEM
- waitbutton
+ waitsfx
itemnotify
- loadmovesprites
+ closetext
setevent EVENT_FOUND_LEFTOVERS_IN_CELADON_CAFE
end
.PackFull
- loadfont
+ opentext
itemtotext LEFTOVERS, $0
writetext FoundLeftoversText
- keeptextopen
+ buttonsound
writetext NoRoomForLeftoversText
+ waitbutton
closetext
- loadmovesprites
end
.TrashEmpty
--- a/maps/CeladonCity.asm
+++ b/maps/CeladonCity.asm
@@ -1,3 +1,14 @@
+const_value set 2
+ const CELADONCITY_FISHER
+ const CELADONCITY_POLIWAG
+ const CELADONCITY_TEACHER1
+ const CELADONCITY_GRAMPS1
+ const CELADONCITY_GRAMPS2
+ const CELADONCITY_YOUNGSTER1
+ const CELADONCITY_YOUNGSTER2
+ const CELADONCITY_TEACHER2
+ const CELADONCITY_LASS
+
CeladonCity_MapScriptHeader:
.MapTriggers:
db 0
@@ -16,11 +27,11 @@
jumptextfaceplayer UnknownText_0x1a9f7d
CeladonCityPoliwrath:
- loadfont
+ opentext
writetext CeladonCityPoliwrathText
cry POLIWRATH
+ waitbutton
closetext
- loadmovesprites
end
TeacherScript_0x1a9f50:
@@ -65,7 +76,7 @@
CeladonCityPokeCenterSign:
jumpstd pokecentersign
-MapCeladonCitySignpostItem7:
+CeladonCityHiddenPpUp:
dwb EVENT_CELADON_CITY_HIDDEN_PP_UP, PP_UP
UnknownText_0x1a9f7d:
@@ -253,7 +264,7 @@
signpost 21, 19, SIGNPOST_READ, CeladonCityGameCornerSign
signpost 21, 29, SIGNPOST_READ, CeladonCityTrainerTips
signpost 9, 30, SIGNPOST_READ, CeladonCityPokeCenterSign
- signpost 21, 37, SIGNPOST_ITEM, MapCeladonCitySignpostItem7
+ signpost 21, 37, SIGNPOST_ITEM, CeladonCityHiddenPpUp
.PersonEvents:
db 9
--- a/maps/CeladonDeptStore1F.asm
+++ b/maps/CeladonDeptStore1F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const CELADONDEPTSTORE1F_RECEPTIONIST
+ const CELADONDEPTSTORE1F_GENTLEMAN
+ const CELADONDEPTSTORE1F_TEACHER
+
CeladonDeptStore1F_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/CeladonDeptStore2F.asm
+++ b/maps/CeladonDeptStore2F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const CELADONDEPTSTORE2F_CLERK1
+ const CELADONDEPTSTORE2F_CLERK2
+ const CELADONDEPTSTORE2F_POKEFAN_M
+ const CELADONDEPTSTORE2F_YOUNGSTER
+
CeladonDeptStore2F_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,16 +13,16 @@
ClerkScript_0x70bad:
faceplayer
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_CELADON_2F_1
- loadmovesprites
+ closetext
end
ClerkScript_0x70bb5:
faceplayer
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_CELADON_2F_2
- loadmovesprites
+ closetext
end
PokefanMScript_0x70bbd:
--- a/maps/CeladonDeptStore3F.asm
+++ b/maps/CeladonDeptStore3F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const CELADONDEPTSTORE3F_CLERK
+ const CELADONDEPTSTORE3F_YOUNGSTER
+ const CELADONDEPTSTORE3F_GAMEBOY_KID1
+ const CELADONDEPTSTORE3F_GAMEBOY_KID2
+ const CELADONDEPTSTORE3F_SUPER_NERD
+
CeladonDeptStore3F_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,9 +14,9 @@
ClerkScript_0x70d29:
faceplayer
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_CELADON_3F
- loadmovesprites
+ closetext
end
YoungsterScript_0x70d31:
@@ -17,20 +24,20 @@
GameboyKidScript_0x70d34:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x70d86
+ waitbutton
closetext
- loadmovesprites
- spriteface $4, DOWN
+ spriteface CELADONDEPTSTORE3F_GAMEBOY_KID1, DOWN
end
GameboyKidScript_0x70d3f:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x70dc7
+ waitbutton
closetext
- loadmovesprites
- spriteface $5, DOWN
+ spriteface CELADONDEPTSTORE3F_GAMEBOY_KID2, DOWN
end
SuperNerdScript_0x70d4a:
--- a/maps/CeladonDeptStore4F.asm
+++ b/maps/CeladonDeptStore4F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const CELADONDEPTSTORE4F_CLERK
+ const CELADONDEPTSTORE4F_SUPER_NERD
+ const CELADONDEPTSTORE4F_YOUNGSTER
+
CeladonDeptStore4F_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,9 +12,9 @@
ClerkScript_0x70f0d:
faceplayer
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_CELADON_4F
- loadmovesprites
+ closetext
end
SuperNerdScript_0x70f15:
--- a/maps/CeladonDeptStore5F.asm
+++ b/maps/CeladonDeptStore5F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const CELADONDEPTSTORE5F_CLERK1
+ const CELADONDEPTSTORE5F_CLERK2
+ const CELADONDEPTSTORE5F_GENTLEMAN
+ const CELADONDEPTSTORE5F_SAILOR
+ const CELADONDEPTSTORE5F_TEACHER
+
CeladonDeptStore5F_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,16 +14,16 @@
ClerkScript_0x71004:
faceplayer
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_CELADON_5F_1
- loadmovesprites
+ closetext
end
ClerkScript_0x7100c:
faceplayer
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_CELADON_5F_2
- loadmovesprites
+ closetext
end
GentlemanScript_0x71014:
--- a/maps/CeladonDeptStore6F.asm
+++ b/maps/CeladonDeptStore6F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const CELADONDEPTSTORE6F_SUPER_NERD
+ const CELADONDEPTSTORE6F_YOUNGSTER
+
CeladonDeptStore6F_MapScriptHeader:
.MapTriggers:
db 0
@@ -20,17 +24,17 @@
jumptextfaceplayer UnknownText_0x71310
CeladonVendingMachine:
- loadfont
+ opentext
writetext CeladonVendingText
.Start
- special PlaceMoneyTopRightOW
+ special PlaceMoneyTopRight
loadmenudata .MenuData
- interpretmenu2
- writebackup
+ verticalmenu
+ closewindow
if_equal $1, .FreshWater
if_equal $2, .SodaPop
if_equal $3, .Lemonade
- loadmovesprites
+ closetext
end
.FreshWater
@@ -64,18 +68,18 @@
pause 10
playsound SFX_ENTER_DOOR
writetext CeladonClangText
- keeptextopen
+ buttonsound
itemnotify
jump .Start
.NotEnoughMoney
writetext CeladonVendingNoMoneyText
- closetext
+ waitbutton
jump .Start
.NotEnoughSpace
writetext CeladonVendingNoSpaceText
- closetext
+ waitbutton
jump .Start
.MenuData
--- a/maps/CeladonDeptStoreElevator.asm
+++ b/maps/CeladonDeptStoreElevator.asm
@@ -1,3 +1,4 @@
+
CeladonDeptStoreElevator_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,14 +7,14 @@
db 0
MapCeladonDeptStoreElevatorSignpost0Script:
- loadfont
+ opentext
elevator Elevator_0x713be
- loadmovesprites
+ closetext
iffalse UnknownScript_0x713bd
pause 5
playsound SFX_ELEVATOR
earthquake 60
- waitbutton
+ waitsfx
UnknownScript_0x713bd:
end
--- a/maps/CeladonGameCorner.asm
+++ b/maps/CeladonGameCorner.asm
@@ -1,3 +1,14 @@
+const_value set 2
+ const CELADONGAMECORNER_CLERK
+ const CELADONGAMECORNER_RECEPTIONIST
+ const CELADONGAMECORNER_POKEFAN_M
+ const CELADONGAMECORNER_TEACHER
+ const CELADONGAMECORNER_FISHING_GURU
+ const CELADONGAMECORNER_FISHER1
+ const CELADONGAMECORNER_FISHER2
+ const CELADONGAMECORNER_GYM_GUY
+ const CELADONGAMECORNER_GRAMPS
+
CeladonGameCorner_MapScriptHeader:
.MapTriggers:
db 0
@@ -13,38 +24,38 @@
PokefanMScript_0x72123:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x72215
+ waitbutton
closetext
- loadmovesprites
- spriteface $4, LEFT
+ spriteface CELADONGAMECORNER_POKEFAN_M, LEFT
end
TeacherScript_0x7212e:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x72242
+ waitbutton
closetext
- loadmovesprites
- spriteface $5, RIGHT
+ spriteface CELADONGAMECORNER_TEACHER, RIGHT
end
FishingGuruScript_0x72139:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x72295
+ waitbutton
closetext
- loadmovesprites
- spriteface $6, RIGHT
+ spriteface CELADONGAMECORNER_FISHING_GURU, RIGHT
end
FisherScript_0x72144:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_COINS_FROM_GAMBLER_AT_CELADON
iftrue .UnknownScript_0x72169
writetext UnknownText_0x722dc
- keeptextopen
+ buttonsound
checkitem COIN_CASE
iffalse UnknownScript_0x7217b
checkcoins 9998
@@ -55,8 +66,8 @@
setevent EVENT_GOT_COINS_FROM_GAMBLER_AT_CELADON
.UnknownScript_0x72169
writetext UnknownText_0x72345
+ waitbutton
closetext
- loadmovesprites
spriteface LAST_TALKED, LEFT
end
@@ -69,15 +80,15 @@
UnknownScript_0x7217b:
writetext UnknownText_0x7238a
+ waitbutton
closetext
- loadmovesprites
spriteface LAST_TALKED, LEFT
end
UnknownScript_0x72184:
writetext UnknownText_0x723d9
+ waitbutton
closetext
- loadmovesprites
spriteface LAST_TALKED, LEFT
end
@@ -86,11 +97,11 @@
GrampsScript_0x72190:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x724ad
+ waitbutton
closetext
- loadmovesprites
- spriteface $a, LEFT
+ spriteface CELADONGAMECORNER_GRAMPS, LEFT
end
MapCeladonGameCornerSignpost36Script:
@@ -105,7 +116,7 @@
refreshscreen $0
writebyte $0
special Special_SlotMachine
- loadmovesprites
+ closetext
end
MapCeladonGameCornerSignpost16Script:
@@ -112,13 +123,13 @@
refreshscreen $0
writebyte $1
special Special_SlotMachine
- loadmovesprites
+ closetext
end
MapCeladonGameCornerSignpost11Script:
refreshscreen $0
special Special_CardFlip
- loadmovesprites
+ closetext
end
MapCeladonGameCornerSignpost32Script:
@@ -125,11 +136,11 @@
jumptext UnknownText_0x7254f
MapCeladonGameCornerSignpost9Script:
- loadfont
+ opentext
writetext UnknownText_0x72567
- closetext
+ waitbutton
special Special_CardFlip
- loadmovesprites
+ closetext
end
MovementData_0x721cd:
--- a/maps/CeladonGameCornerPrizeRoom.asm
+++ b/maps/CeladonGameCornerPrizeRoom.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const CELADONGAMECORNERPRIZEROOM_GENTLEMAN
+ const CELADONGAMECORNERPRIZEROOM_PHARMACIST
+
CeladonGameCornerPrizeRoom_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,25 +9,25 @@
.MapCallbacks:
db 0
-GentlemanScript_0x726e9:
- jumptextfaceplayer UnknownText_0x728b8
+CeladonGameCornerPrizeRoomGentlemanScript:
+ jumptextfaceplayer CeladonGameCornerPrizeRoomGentlemanText
-PharmacistScript_0x726ec:
- jumptextfaceplayer UnknownText_0x728e9
+CeladonGameCornerPrizeRoomPharmacistScript:
+ jumptextfaceplayer CeladonGameCornerPrizeRoomPharmacistText
-MapCeladonGameCornerPrizeRoomSignpost0Script:
+GoldenrodGameCornerTMVendor:
faceplayer
- loadfont
- writetext UnknownText_0x7293e
- closetext
+ opentext
+ writetext CeladonPrizeRoom_PrizeVendorIntroText
+ waitbutton
checkitem COIN_CASE
iffalse CeladonPrizeRoom_NoCoinCase
- writetext UnknownText_0x72974
+ writetext CeladonPrizeRoom_AskWhichPrizeText
CeladonPrizeRoom_tmcounterloop:
special Special_DisplayCoinCaseBalance
- loadmenudata MenuDataHeader_0x72790
- interpretmenu2
- writebackup
+ loadmenudata CeladonPrizeRoom_TMMenuDataHeader
+ verticalmenu
+ closewindow
if_equal $1, .doubleteam
if_equal $2, .psychic
if_equal $3, .hyperbeam
@@ -63,50 +67,50 @@
jump CeladonPrizeRoom_purchased
CeladonPrizeRoom_askbuy:
- writetext UnknownText_0x72991
+ writetext CeladonPrizeRoom_ConfirmPurchaseText
yesorno
end
CeladonPrizeRoom_purchased:
- waitbutton
+ waitsfx
playsound SFX_TRANSACTION
- writetext UnknownText_0x729ad
- closetext
+ writetext CeladonPrizeRoom_HereYouGoText
+ waitbutton
jump CeladonPrizeRoom_tmcounterloop
CeladonPrizeRoom_notenoughcoins:
- writetext UnknownText_0x729bb
+ writetext CeladonPrizeRoom_NotEnoughCoinsText
+ waitbutton
closetext
- loadmovesprites
end
CeladonPrizeRoom_notenoughroom:
- writetext UnknownText_0x729d8
+ writetext CeladonPrizeRoom_NotEnoughRoomText
+ waitbutton
closetext
- loadmovesprites
end
CeladonPrizeRoom_cancel:
- writetext UnknownText_0x729f2
+ writetext CeladonPrizeRoom_ComeAgainText
+ waitbutton
closetext
- loadmovesprites
end
CeladonPrizeRoom_NoCoinCase:
- writetext UnknownText_0x72a14
+ writetext CeladonPrizeRoom_NoCoinCaseText
+ waitbutton
closetext
- loadmovesprites
end
-MenuDataHeader_0x72790:
+CeladonPrizeRoom_TMMenuDataHeader:
db $40 ; flags
db 02, 00 ; start coords
db 11, 15 ; end coords
- dw MenuData2_0x72798
+ dw .MenuData2
db 1 ; default option
-MenuData2_0x72798:
+.MenuData2:
db $80 ; flags
db 4 ; items
db "TM32 1500@"
@@ -115,19 +119,19 @@
db "CANCEL@"
-MapCeladonGameCornerPrizeRoomSignpost1Script:
+GoldenrodGameCornerPokemonVendor:
faceplayer
- loadfont
- writetext UnknownText_0x7293e
- closetext
+ opentext
+ writetext CeladonPrizeRoom_PrizeVendorIntroText
+ waitbutton
checkitem COIN_CASE
iffalse CeladonPrizeRoom_NoCoinCase
.loop:
- writetext UnknownText_0x72974
+ writetext CeladonPrizeRoom_AskWhichPrizeText
special Special_DisplayCoinCaseBalance
- loadmenudata MenuDataHeader_0x72877
- interpretmenu2
- writebackup
+ loadmenudata .MenuDataHeader
+ verticalmenu
+ closewindow
if_equal $1, .pikachu
if_equal $2, .porygon
if_equal $3, .larvitar
@@ -141,10 +145,10 @@
pokenamemem PIKACHU, $0
scall CeladonPrizeRoom_askbuy
iffalse CeladonPrizeRoom_cancel
- waitbutton
+ waitsfx
playsound SFX_TRANSACTION
- writetext UnknownText_0x729ad
- closetext
+ writetext CeladonPrizeRoom_HereYouGoText
+ waitbutton
writebyte PIKACHU
special Special_GameCornerPrizeMonCheckDex
givepoke PIKACHU, 25
@@ -159,10 +163,10 @@
pokenamemem PORYGON, $0
scall CeladonPrizeRoom_askbuy
iffalse CeladonPrizeRoom_cancel
- waitbutton
+ waitsfx
playsound SFX_TRANSACTION
- writetext UnknownText_0x729ad
- closetext
+ writetext CeladonPrizeRoom_HereYouGoText
+ waitbutton
writebyte PORYGON
special Special_GameCornerPrizeMonCheckDex
givepoke PORYGON, 15
@@ -177,10 +181,10 @@
pokenamemem LARVITAR, $0
scall CeladonPrizeRoom_askbuy
iffalse CeladonPrizeRoom_cancel
- waitbutton
+ waitsfx
playsound SFX_TRANSACTION
- writetext UnknownText_0x729ad
- closetext
+ writetext CeladonPrizeRoom_HereYouGoText
+ waitbutton
writebyte LARVITAR
special Special_GameCornerPrizeMonCheckDex
givepoke LARVITAR, 40
@@ -188,14 +192,14 @@
jump .loop
-MenuDataHeader_0x72877:
+.MenuDataHeader:
db $40 ; flags
db 02, 00 ; start coords
db 11, 17 ; end coords
- dw MenuData2_0x7287f
+ dw .MenuData2
db 1 ; default option
-MenuData2_0x7287f:
+.MenuData2:
db $80 ; flags
db 4 ; items
db "PIKACHU 2222@"
@@ -204,13 +208,13 @@
db "CANCEL@"
-UnknownText_0x728b8:
+CeladonGameCornerPrizeRoomGentlemanText:
text "I wanted PORYGON,"
line "but I was short by"
cont "100 coins…"
done
-UnknownText_0x728e9:
+CeladonGameCornerPrizeRoomPharmacistText:
text "Whew…"
para "I've got to stay"
@@ -221,7 +225,7 @@
cont "all my money…"
done
-UnknownText_0x7293e:
+CeladonPrizeRoom_PrizeVendorIntroText:
text "Welcome!"
para "We exchange your"
@@ -229,12 +233,12 @@
cont "prizes!"
done
-UnknownText_0x72974:
+CeladonPrizeRoom_AskWhichPrizeText:
text "Which prize would"
line "you like?"
done
-UnknownText_0x72991:
+CeladonPrizeRoom_ConfirmPurchaseText:
text "OK, so you wanted"
line "a @"
text_from_ram StringBuffer3
@@ -241,26 +245,26 @@
text "?"
done
-UnknownText_0x729ad:
+CeladonPrizeRoom_HereYouGoText:
text "Here you go!"
done
-UnknownText_0x729bb:
+CeladonPrizeRoom_NotEnoughCoinsText:
text "You don't have"
line "enough coins."
done
-UnknownText_0x729d8:
+CeladonPrizeRoom_NotEnoughRoomText:
text "You have no room"
line "for it."
done
-UnknownText_0x729f2:
+CeladonPrizeRoom_ComeAgainText:
text "Oh. Please come"
line "back with coins!"
done
-UnknownText_0x72a14:
+CeladonPrizeRoom_NoCoinCaseText:
text "Oh? You don't have"
line "a COIN CASE."
done
@@ -279,10 +283,10 @@
.Signposts:
db 2
- signpost 1, 2, SIGNPOST_READ, MapCeladonGameCornerPrizeRoomSignpost0Script
- signpost 1, 4, SIGNPOST_READ, MapCeladonGameCornerPrizeRoomSignpost1Script
+ signpost 1, 2, SIGNPOST_READ, GoldenrodGameCornerTMVendor
+ signpost 1, 4, SIGNPOST_READ, GoldenrodGameCornerPokemonVendor
.PersonEvents:
db 2
- person_event SPRITE_GENTLEMAN, 2, 0, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x726e9, -1
- person_event SPRITE_PHARMACIST, 4, 4, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, PharmacistScript_0x726ec, -1
+ person_event SPRITE_GENTLEMAN, 2, 0, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, CeladonGameCornerPrizeRoomGentlemanScript, -1
+ person_event SPRITE_PHARMACIST, 4, 4, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, CeladonGameCornerPrizeRoomPharmacistScript, -1
--- a/maps/CeladonGym.asm
+++ b/maps/CeladonGym.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const CELADONGYM_ERIKA
+ const CELADONGYM_LASS1
+ const CELADONGYM_LASS2
+ const CELADONGYM_BUENA
+ const CELADONGYM_TWIN1
+ const CELADONGYM_TWIN2
+
CeladonGym_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,38 +15,38 @@
ErikaScript_0x72a6a:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_RAINBOWBADGE
iftrue .FightDone
writetext UnknownText_0x72b28
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x72c3e, 0
loadtrainer ERIKA, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_ERIKA
setevent EVENT_BEAT_LASS_MICHELLE
setevent EVENT_BEAT_PICNICKER_TANYA
setevent EVENT_BEAT_BEAUTY_JULIA
setevent EVENT_BEAT_TWINS_JO_AND_ZOE
- loadfont
+ opentext
writetext UnknownText_0x72c96
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_RAINBOWBADGE
.FightDone
checkevent EVENT_GOT_TM19_GIGA_DRAIN
iftrue UnknownScript_0x72aae
writetext UnknownText_0x72cb0
- keeptextopen
+ buttonsound
verbosegiveitem TM_GIGA_DRAIN
iffalse UnknownScript_0x72aae
setevent EVENT_GOT_TM19_GIGA_DRAIN
UnknownScript_0x72aae:
writetext UnknownText_0x72d8f
+ waitbutton
closetext
- loadmovesprites
end
TrainerLassMichelle:
@@ -45,11 +53,11 @@
trainer EVENT_BEAT_LASS_MICHELLE, LASS, MICHELLE, LassMichelleSeenText, LassMichelleBeatenText, 0, LassMichelleScript
LassMichelleScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x72e30
+ waitbutton
closetext
- loadmovesprites
end
TrainerPicnickerTanya:
@@ -56,11 +64,11 @@
trainer EVENT_BEAT_PICNICKER_TANYA, PICNICKER, TANYA, PicnickerTanyaSeenText, PicnickerTanyaBeatenText, 0, PicnickerTanyaScript
PicnickerTanyaScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x72e8e
+ waitbutton
closetext
- loadmovesprites
end
TrainerBeautyJulia:
@@ -67,11 +75,11 @@
trainer EVENT_BEAT_BEAUTY_JULIA, BEAUTY, JULIA, BeautyJuliaSeenText, BeautyJuliaBeatenText, 0, BeautyJuliaScript
BeautyJuliaScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x72f01
+ waitbutton
closetext
- loadmovesprites
end
TrainerTwinsJoandzoe1:
@@ -78,11 +86,11 @@
trainer EVENT_BEAT_TWINS_JO_AND_ZOE, TWINS, JOANDZOE1, TwinsJoandzoe1SeenText, TwinsJoandzoe1BeatenText, 0, TwinsJoandzoe1Script
TwinsJoandzoe1Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x72f70
+ waitbutton
closetext
- loadmovesprites
end
TrainerTwinsJoandzoe2:
@@ -89,11 +97,11 @@
trainer EVENT_BEAT_TWINS_JO_AND_ZOE, TWINS, JOANDZOE2, TwinsJoandzoe2SeenText, TwinsJoandzoe2BeatenText, 0, TwinsJoandzoe2Script
TwinsJoandzoe2Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x72fc0
+ waitbutton
closetext
- loadmovesprites
end
CeladonGymStatue:
--- a/maps/CeladonMansion1F.asm
+++ b/maps/CeladonMansion1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const CELADONMANSION1F_GRANNY
+ const CELADONMANSION1F_GROWLITHE1
+ const CELADONMANSION1F_CLEFAIRY
+ const CELADONMANSION1F_GROWLITHE2
+
CeladonMansion1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,27 +15,27 @@
jumptextfaceplayer CeladonMansionManagerText
CeladonMansion1FMeowth:
- loadfont
+ opentext
writetext CeladonMansion1FMeowthText
cry MEOWTH
+ waitbutton
closetext
- loadmovesprites
end
CeladonMansion1FClefairy:
- loadfont
+ opentext
writetext CeladonMansion1FClefairyText
cry CLEFAIRY
+ waitbutton
closetext
- loadmovesprites
end
CeladonMansion1FNidoranF:
- loadfont
+ opentext
writetext CeladonMansion1FNidoranFText
cry NIDORAN_F
+ waitbutton
closetext
- loadmovesprites
end
CeladonMansionManagersSuiteSign:
--- a/maps/CeladonMansion2F.asm
+++ b/maps/CeladonMansion2F.asm
@@ -1,3 +1,4 @@
+
CeladonMansion2F_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/CeladonMansion3F.asm
+++ b/maps/CeladonMansion3F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const CELADONMANSION3F_COOLTRAINER_M
+ const CELADONMANSION3F_GYM_GUY
+ const CELADONMANSION3F_SUPER_NERD
+ const CELADONMANSION3F_FISHER
+
CeladonMansion3F_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,36 +13,36 @@
CooltrainerMScript_0x71670:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x716ce
checkcode VAR_DEXCAUGHT
if_greater_than 248, UnknownScript_0x7167e
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x7167e:
- keeptextopen
+ buttonsound
writetext UnknownText_0x71725
playsound SFX_DEX_FANFARE_230_PLUS
- waitbutton
+ waitsfx
writetext UnknownText_0x71760
- keeptextopen
+ buttonsound
special Diploma
writetext UnknownText_0x71763
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_ENABLE_DIPLOMA_PRINTING
end
GymGuyScript_0x71696:
faceplayer
- loadfont
+ opentext
checkevent EVENT_ENABLE_DIPLOMA_PRINTING
iftrue UnknownScript_0x716a4
writetext UnknownText_0x717b4
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x716a4:
@@ -44,19 +50,19 @@
yesorno
iffalse UnknownScript_0x716b0
special PrintDiploma
- loadmovesprites
+ closetext
end
UnknownScript_0x716b0:
writetext UnknownText_0x71830
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x716b6:
writetext UnknownText_0x71863
+ waitbutton
closetext
- loadmovesprites
end
SuperNerdScript_0x716bc:
--- a/maps/CeladonMansionRoof.asm
+++ b/maps/CeladonMansionRoof.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const CELADONMANSIONROOF_FISHER
+
CeladonMansionRoof_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/CeladonMansionRoofHouse.asm
+++ b/maps/CeladonMansionRoofHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const CELADONMANSIONROOFHOUSE_PHARMACIST
+
CeladonMansionRoofHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,29 +10,29 @@
PharmacistScript_0x71afd:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TM03_CURSE
iftrue UnknownScript_0x71b21
writetext UnknownText_0x71b27
- keeptextopen
+ buttonsound
checknite
iftrue UnknownScript_0x71b14
writetext UnknownText_0x71b4a
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x71b14:
writetext UnknownText_0x71ba3
- keeptextopen
+ buttonsound
verbosegiveitem TM_CURSE
iffalse UnknownScript_0x71b25
setevent EVENT_GOT_TM03_CURSE
UnknownScript_0x71b21:
writetext UnknownText_0x71db3
- closetext
+ waitbutton
UnknownScript_0x71b25:
- loadmovesprites
+ closetext
end
UnknownText_0x71b27:
--- a/maps/CeladonPokeCenter1F.asm
+++ b/maps/CeladonPokeCenter1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const CELADONPOKECENTER1F_NURSE
+ const CELADONPOKECENTER1F_GENTLEMAN
+ const CELADONPOKECENTER1F_PHARMACIST
+ const CELADONPOKECENTER1F_COOLTRAINER_F
+ const CELADONPOKECENTER1F_SUPER_NERD
+
CeladonPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -19,9 +26,9 @@
SuperNerdScript_0x71e2e:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x71f22
- keeptextopen
+ buttonsound
writebyte SUICUNE
special SpecialMonCheck
iffalse UnknownScript_0x71e46
@@ -28,26 +35,26 @@
special SpecialBeastsCheck
iftrue UnknownScript_0x71e48
writetext UnknownText_0x7201a
- closetext
+ waitbutton
UnknownScript_0x71e46:
- loadmovesprites
+ closetext
end
UnknownScript_0x71e48:
writetext UnknownText_0x71f65
+ waitbutton
closetext
- loadmovesprites
checkcode VAR_FACING
if_equal $1, UnknownScript_0x71e5a
- applymovement $6, MovementData_0x71e6b
+ applymovement CELADONPOKECENTER1F_SUPER_NERD, MovementData_0x71e6b
jump UnknownScript_0x71e5e
UnknownScript_0x71e5a:
- applymovement $6, MovementData_0x71e65
+ applymovement CELADONPOKECENTER1F_SUPER_NERD, MovementData_0x71e65
UnknownScript_0x71e5e:
- disappear $6
+ disappear CELADONPOKECENTER1F_SUPER_NERD
playsound SFX_EXIT_BUILDING
- waitbutton
+ waitsfx
end
MovementData_0x71e65:
--- a/maps/CeladonPokeCenter2FBeta.asm
+++ b/maps/CeladonPokeCenter2FBeta.asm
@@ -1,3 +1,4 @@
+
CeladonPokeCenter2FBeta_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/CeruleanCity.asm
+++ b/maps/CeruleanCity.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const CERULEANCITY_COOLTRAINER_M
+ const CERULEANCITY_SUPER_NERD
+ const CERULEANCITY_SLOWPOKE
+ const CERULEANCITY_COOLTRAINER_F
+ const CERULEANCITY_FISHER
+ const CERULEANCITY_YOUNGSTER
+
CeruleanCity_MapScriptHeader:
.MapTriggers:
db 0
@@ -14,18 +22,18 @@
CooltrainerMScript_0x184009:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x184017
writetext UnknownText_0x1840bc
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x184017:
writetext UnknownText_0x184144
+ waitbutton
closetext
- loadmovesprites
end
SuperNerdScript_0x18401d:
@@ -32,38 +40,38 @@
jumptextfaceplayer UnknownText_0x1841a8
CeruleanCitySlowbro:
- loadfont
+ opentext
writetext CeruleanCitySlowbroText
cry SLOWBRO
+ waitbutton
closetext
- loadmovesprites
end
CooltrainerFScript_0x18402a:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x1841fa
+ waitbutton
closetext
- loadmovesprites
- spriteface $5, LEFT
- loadfont
+ spriteface CERULEANCITY_COOLTRAINER_F, LEFT
+ opentext
writetext UnknownText_0x184229
+ waitbutton
closetext
- loadmovesprites
- loadfont
+ opentext
writetext CeruleanCitySlowbroText
cry SLOWBRO
+ waitbutton
closetext
- loadmovesprites
- loadfont
+ opentext
writetext UnknownText_0x18424b
+ waitbutton
closetext
- loadmovesprites
end
FisherScript_0x18404a:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x184058
checkevent EVENT_MET_ROCKET_GRUNT_AT_CERULEAN_GYM
@@ -70,50 +78,50 @@
iftrue UnknownScript_0x18405e
UnknownScript_0x184058:
writetext UnknownText_0x18424e
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x18405e:
writetext UnknownText_0x184275
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x184064:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x1842a9
+ waitbutton
closetext
- loadmovesprites
checkevent EVENT_FOUND_BERSERK_GENE_IN_CERULEAN_CITY
iffalse UnknownScript_0x184072
end
UnknownScript_0x184072:
- waitbutton
+ waitsfx
playsound SFX_SECOND_PART_OF_ITEMFINDER
- waitbutton
+ waitsfx
playsound SFX_TRANSACTION
- waitbutton
+ waitsfx
playsound SFX_SECOND_PART_OF_ITEMFINDER
- waitbutton
+ waitsfx
playsound SFX_TRANSACTION
- waitbutton
+ waitsfx
playsound SFX_SECOND_PART_OF_ITEMFINDER
- waitbutton
+ waitsfx
playsound SFX_TRANSACTION
- waitbutton
+ waitsfx
playsound SFX_SECOND_PART_OF_ITEMFINDER
- waitbutton
+ waitsfx
playsound SFX_TRANSACTION
- waitbutton
- showemote EMOTE_SHOCK, $7, 15
- spriteface $7, LEFT
- loadfont
+ waitsfx
+ showemote EMOTE_SHOCK, CERULEANCITY_YOUNGSTER, 15
+ spriteface CERULEANCITY_YOUNGSTER, LEFT
+ opentext
writetext UnknownText_0x1842ee
+ waitbutton
closetext
- loadmovesprites
end
CeruleanCitySign:
@@ -140,7 +148,7 @@
CeruleanCityMartSign:
jumpstd martsign
-MapCeruleanCitySignpostItem8:
+CeruleanCityHiddenBerserkGene:
dwb EVENT_FOUND_BERSERK_GENE_IN_CERULEAN_CITY, BERSERK_GENE
UnknownText_0x1840bc:
@@ -295,7 +303,7 @@
signpost 29, 14, SIGNPOST_READ, CeruleanLockedDoor
signpost 21, 20, SIGNPOST_READ, CeruleanCityPokeCenterSign
signpost 29, 26, SIGNPOST_READ, CeruleanCityMartSign
- signpost 12, 2, SIGNPOST_ITEM, MapCeruleanCitySignpostItem8
+ signpost 12, 2, SIGNPOST_ITEM, CeruleanCityHiddenBerserkGene
.PersonEvents:
db 6
--- a/maps/CeruleanGym.asm
+++ b/maps/CeruleanGym.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const CERULEANGYM_ROCKET
+ const CERULEANGYM_MISTY
+ const CERULEANGYM_SWIMMER_GIRL1
+ const CERULEANGYM_SWIMMER_GIRL2
+ const CERULEANGYM_SWIMMER_GUY
+ const CERULEANGYM_GYM_GUY
+
CeruleanGym_MapScriptHeader:
.MapTriggers:
db 2
@@ -17,28 +25,28 @@
end
UnknownScript_0x1883de:
- applymovement $2, MovementData_0x1884e3
+ applymovement CERULEANGYM_ROCKET, MovementData_0x1884e3
playsound SFX_TACKLE
- applymovement $2, MovementData_0x1884eb
+ applymovement CERULEANGYM_ROCKET, MovementData_0x1884eb
playmusic MUSIC_ROCKET_ENCOUNTER
- loadfont
+ opentext
writetext UnknownText_0x1884fb
+ waitbutton
closetext
- loadmovesprites
- showemote EMOTE_SHOCK, $2, 15
- applymovement $2, MovementData_0x1884f7
- loadfont
+ showemote EMOTE_SHOCK, CERULEANGYM_ROCKET, 15
+ applymovement CERULEANGYM_ROCKET, MovementData_0x1884f7
+ opentext
writetext UnknownText_0x188574
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x1884f5
- loadfont
+ applymovement CERULEANGYM_ROCKET, MovementData_0x1884f5
+ opentext
writetext UnknownText_0x1885a5
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x1884e8
+ applymovement CERULEANGYM_ROCKET, MovementData_0x1884e8
playsound SFX_EXIT_BUILDING
- disappear $2
+ disappear CERULEANGYM_ROCKET
setevent EVENT_MET_ROCKET_GRUNT_AT_CERULEAN_GYM
clearevent EVENT_ROUTE_24_ROCKET
clearevent EVENT_ROUTE_25_MISTY_BOYFRIEND
@@ -45,7 +53,7 @@
dotrigger $0
domaptrigger ROUTE_25, $1
domaptrigger POWER_PLANT, $0
- waitbutton
+ waitsfx
special RestartMapMusic
pause 15
spriteface PLAYER, DOWN
@@ -54,29 +62,29 @@
MistyScript_0x188432:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_CASCADEBADGE
iftrue .FightDone
writetext UnknownText_0x188674
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x18870c, 0
loadtrainer MISTY, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_MISTY
setevent EVENT_BEAT_SWIMMERF_DIANA
setevent EVENT_BEAT_SWIMMERF_BRIANA
setevent EVENT_BEAT_SWIMMERM_PARKER
- loadfont
+ opentext
writetext UnknownText_0x188768
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_CASCADEBADGE
.FightDone
writetext UnknownText_0x188782
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmerfDiana:
@@ -83,11 +91,11 @@
trainer EVENT_BEAT_SWIMMERF_DIANA, SWIMMERF, DIANA, SwimmerfDianaSeenText, SwimmerfDianaBeatenText, 0, SwimmerfDianaScript
SwimmerfDianaScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x188856
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmerfBriana:
@@ -94,11 +102,11 @@
trainer EVENT_BEAT_SWIMMERF_BRIANA, SWIMMERF, BRIANA, SwimmerfBrianaSeenText, SwimmerfBrianaBeatenText, 0, SwimmerfBrianaScript
SwimmerfBrianaScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1888c0
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmermParker:
@@ -105,30 +113,30 @@
trainer EVENT_BEAT_SWIMMERM_PARKER, SWIMMERM, PARKER, SwimmermParkerSeenText, SwimmermParkerBeatenText, 0, SwimmermParkerScript
SwimmermParkerScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x188943
+ waitbutton
closetext
- loadmovesprites
end
CeruleanGymGuyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_MISTY
iftrue .CeruleanGymGuyWinScript
writetext CeruleanGymGuyText
+ waitbutton
closetext
- loadmovesprites
end
.CeruleanGymGuyWinScript
writetext CeruleanGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
end
-MapCeruleanGymSignpostItem0:
+CeruleanGymHiddenMachinePart:
dwb EVENT_FOUND_MACHINE_PART_IN_CERULEAN_GYM, MACHINE_PART
@@ -135,19 +143,19 @@
CeruleanGymStatue1:
checkevent EVENT_TRAINERS_IN_CERULEAN_GYM
iffalse CeruleanGymStatue
- loadfont
+ opentext
writetext CeruleanGymNote1
+ waitbutton
closetext
- loadmovesprites
end
CeruleanGymStatue2:
checkevent EVENT_TRAINERS_IN_CERULEAN_GYM
iffalse CeruleanGymStatue
- loadfont
+ opentext
writetext CeruleanGymNote2
+ waitbutton
closetext
- loadmovesprites
end
CeruleanGymStatue:
@@ -371,7 +379,7 @@
.Signposts:
db 3
- signpost 8, 3, SIGNPOST_ITEM, MapCeruleanGymSignpostItem0
+ signpost 8, 3, SIGNPOST_ITEM, CeruleanGymHiddenMachinePart
signpost 13, 2, SIGNPOST_READ, CeruleanGymStatue1
signpost 13, 6, SIGNPOST_READ, CeruleanGymStatue2
--- a/maps/CeruleanGymBadgeSpeechHouse.asm
+++ b/maps/CeruleanGymBadgeSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const CERULEANGYMBADGESPEECHHOUSE_POKEFAN_M
+
CeruleanGymBadgeSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/CeruleanMart.asm
+++ b/maps/CeruleanMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const CERULEANMART_CLERK
+ const CERULEANMART_COOLTRAINER_M
+ const CERULEANMART_COOLTRAINER_F
+
CeruleanMart_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,9 +11,9 @@
db 0
ClerkScript_0x188ac0:
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_CERULEAN
- loadmovesprites
+ closetext
end
CooltrainerMScript_0x188ac7:
--- a/maps/CeruleanPokeCenter1F.asm
+++ b/maps/CeruleanPokeCenter1F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const CERULEANPOKECENTER1F_NURSE
+ const CERULEANPOKECENTER1F_SUPER_NERD
+ const CERULEANPOKECENTER1F_GYM_GUY
+
CeruleanPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/CeruleanPokeCenter2FBeta.asm
+++ b/maps/CeruleanPokeCenter2FBeta.asm
@@ -1,3 +1,4 @@
+
CeruleanPokeCenter2FBeta_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/CeruleanPoliceStation.asm
+++ b/maps/CeruleanPoliceStation.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const CERULEANPOLICESTATION_FISHING_GURU
+ const CERULEANPOLICESTATION_POKEFAN_F
+ const CERULEANPOLICESTATION_DIGLETT
+
CeruleanPoliceStation_MapScriptHeader:
.MapTriggers:
db 0
@@ -12,11 +17,11 @@
jumptextfaceplayer UnknownText_0x1880c3
DiglettScript_0x188050:
- loadfont
+ opentext
writetext UnknownText_0x1880e7
cry DIGLETT
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x18805a:
--- a/maps/CeruleanTradeSpeechHouse.asm
+++ b/maps/CeruleanTradeSpeechHouse.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const CERULEANTRADESPEECHHOUSE_GRANNY
+ const CERULEANTRADESPEECHHOUSE_GRAMPS
+ const CERULEANTRADESPEECHHOUSE_RHYDON
+ const CERULEANTRADESPEECHHOUSE_ZUBAT
+
CeruleanTradeSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -12,19 +18,19 @@
jumptextfaceplayer UnknownText_0x18818a
RhydonScript_0x188139:
- loadfont
+ opentext
writetext UnknownText_0x18819c
cry KANGASKHAN
+ waitbutton
closetext
- loadmovesprites
end
ZubatScript_0x188143:
- loadfont
+ opentext
writetext UnknownText_0x1881b5
cry ZUBAT
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x18814d:
--- a/maps/CharcoalKiln.asm
+++ b/maps/CharcoalKiln.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const CHARCOALKILN_BLACK_BELT
+ const CHARCOALKILN_YOUNGSTER
+ const CHARCOALKILN_MOLTRES
+
CharcoalKiln_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,63 +12,63 @@
CharcoalKilnBoss:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_HM01_CUT
iftrue .GotCut
checkevent EVENT_CLEARED_SLOWPOKE_WELL
iftrue .SavedSlowpoke
writetext CharcoalKilnBossText1
+ waitbutton
closetext
- loadmovesprites
end
.SavedSlowpoke
writetext CharcoalKilnBossText2
+ waitbutton
closetext
- loadmovesprites
end
.GotCut
writetext CharcoalKilnBossText3
+ waitbutton
closetext
- loadmovesprites
end
CharcoalKilnApprentice:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_CHARCOAL_IN_CHARCOAL_KILN
iftrue .YoureTheCoolest
checkevent EVENT_GOT_HM01_CUT
iftrue .Thanks
writetext CharcoalKilnApprenticeText1
+ waitbutton
closetext
- loadmovesprites
end
.Thanks
writetext CharcoalKilnApprenticeText2
- keeptextopen
+ buttonsound
verbosegiveitem CHARCOAL
iffalse .Done
setevent EVENT_GOT_CHARCOAL_IN_CHARCOAL_KILN
- loadmovesprites
+ closetext
end
.YoureTheCoolest
writetext CharcoalKilnApprenticeText3
- closetext
+ waitbutton
.Done
- loadmovesprites
+ closetext
end
CharcoalKilnFarfetchd:
faceplayer
- loadfont
+ opentext
writetext FarfetchdText
cry FARFETCH_D
+ waitbutton
closetext
- loadmovesprites
end
CharcoalKilnBookshelf:
--- a/maps/CherrygroveCity.asm
+++ b/maps/CherrygroveCity.asm
@@ -1,10 +1,17 @@
+const_value set 2
+ const CHERRYGROVECITY_GRAMPS
+ const CHERRYGROVECITY_SILVER
+ const CHERRYGROVECITY_TEACHER
+ const CHERRYGROVECITY_YOUNGSTER
+ const CHERRYGROVECITY_FISHER
+
CherrygroveCity_MapScriptHeader:
.MapTriggers:
db 2
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
- dw .Trigger2, 0
.MapCallbacks:
db 1
@@ -12,10 +19,10 @@
; callbacks
dbw 5, .FlyPoint
-.Trigger1
+.Trigger0
end
-.Trigger2
+.Trigger1
end
.FlyPoint
@@ -24,7 +31,7 @@
CherrygroveCityGuideGent:
faceplayer
- loadfont
+ opentext
writetext GuideGentIntroText
yesorno
iffalse .No
@@ -31,60 +38,60 @@
jump .Yes
.Yes
writetext GuideGentTourText1
+ waitbutton
closetext
- loadmovesprites
playmusic MUSIC_SHOW_ME_AROUND
- follow $2, PLAYER
- applymovement $2, MovementData_0x19c195
- loadfont
+ follow CHERRYGROVECITY_GRAMPS, PLAYER
+ applymovement CHERRYGROVECITY_GRAMPS, GuideGentMovement1
+ opentext
writetext GuideGentPokeCenterText
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x19c19b
+ applymovement CHERRYGROVECITY_GRAMPS, GuideGentMovement2
spriteface PLAYER, UP
- loadfont
+ opentext
writetext GuideGentMartText
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x19c1a3
+ applymovement CHERRYGROVECITY_GRAMPS, GuideGentMovement3
spriteface PLAYER, UP
- loadfont
+ opentext
writetext GuideGentRoute30Text
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x19c1ac
+ applymovement CHERRYGROVECITY_GRAMPS, GuideGentMovement4
spriteface PLAYER, LEFT
- loadfont
+ opentext
writetext GuideGentSeaText
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x19c1b6
+ applymovement CHERRYGROVECITY_GRAMPS, GuideGentMovement5
spriteface PLAYER, UP
pause 60
- spriteface $2, LEFT
+ spriteface CHERRYGROVECITY_GRAMPS, LEFT
spriteface PLAYER, RIGHT
- loadfont
+ opentext
writetext GuideGentGiftText
- keeptextopen
+ buttonsound
stringtotext .mapcardname, $1
- scall .UnknownScript_0x19c097
+ scall .JumpstdReceiveItem
setflag ENGINE_MAP_CARD
writetext GotMapCardText
- keeptextopen
+ buttonsound
writetext GuideGentPokegearText
+ waitbutton
closetext
- loadmovesprites
stopfollow
special RestartMapMusic
spriteface PLAYER, UP
- applymovement $2, MovementData_0x19c1cb
+ applymovement CHERRYGROVECITY_GRAMPS, GuideGentMovement6
playsound SFX_ENTER_DOOR
- disappear $2
+ disappear CHERRYGROVECITY_GRAMPS
clearevent EVENT_GUIDE_GENT_VISIBLE_IN_CHERRYGROVE
- waitbutton
+ waitsfx
end
-.UnknownScript_0x19c097
+.JumpstdReceiveItem
jumpstd receiveitem
end
@@ -93,134 +100,133 @@
.No
writetext GuideGentNoText
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x19c0aa:
- moveperson $3, $27, $7
-
-UnknownScript_0x19c0ae:
+CherrygroveSilverTriggerSouth:
+ moveperson CHERRYGROVECITY_SILVER, $27, $7
+CherrygroveSilverTriggerNorth:
spriteface PLAYER, RIGHT
showemote EMOTE_SHOCK, PLAYER, 15
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 15
- appear $3
- applymovement $3, MovementData_0x19c1ce
+ appear CHERRYGROVECITY_SILVER
+ applymovement CHERRYGROVECITY_SILVER, CherrygroveCity_RivalWalksToYou
spriteface PLAYER, RIGHT
playmusic MUSIC_RIVAL_ENCOUNTER
- loadfont
+ opentext
writetext UnknownText_0x19c4e2
+ waitbutton
closetext
- loadmovesprites
checkevent EVENT_GOT_TOTODILE_FROM_ELM
- iftrue UnknownScript_0x19c0ee
+ iftrue .Totodile
checkevent EVENT_GOT_CHIKORITA_FROM_ELM
- iftrue UnknownScript_0x19c104
- winlosstext UnknownText_0x19c57f, UnknownText_0x19c5e6
- setlasttalked $3
+ iftrue .Chikorita
+ winlosstext SilverCherrygroveWinText, SilverCherrygroveLossText
+ setlasttalked CHERRYGROVECITY_SILVER
loadtrainer RIVAL1, RIVAL1_3
writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE
startbattle
- reloadmapmusic
+ dontrestartmapmusic
reloadmap
- iftrue UnknownScript_0x19c11a
- jump UnknownScript_0x19c126
+ iftrue .AfterVictorious
+ jump .AfterYourDefeat
-UnknownScript_0x19c0ee:
- winlosstext UnknownText_0x19c57f, UnknownText_0x19c5e6
- setlasttalked $3
+.Totodile:
+ winlosstext SilverCherrygroveWinText, SilverCherrygroveLossText
+ setlasttalked CHERRYGROVECITY_SILVER
loadtrainer RIVAL1, RIVAL1_1
writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE
startbattle
- reloadmapmusic
+ dontrestartmapmusic
reloadmap
- iftrue UnknownScript_0x19c11a
- jump UnknownScript_0x19c126
+ iftrue .AfterVictorious
+ jump .AfterYourDefeat
-UnknownScript_0x19c104:
- winlosstext UnknownText_0x19c57f, UnknownText_0x19c5e6
- setlasttalked $3
+.Chikorita:
+ winlosstext SilverCherrygroveWinText, SilverCherrygroveLossText
+ setlasttalked CHERRYGROVECITY_SILVER
loadtrainer RIVAL1, RIVAL1_2
writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE
startbattle
- reloadmapmusic
+ dontrestartmapmusic
reloadmap
- iftrue UnknownScript_0x19c11a
- jump UnknownScript_0x19c126
+ iftrue .AfterVictorious
+ jump .AfterYourDefeat
-UnknownScript_0x19c11a:
+.AfterVictorious:
playmusic MUSIC_RIVAL_AFTER
- loadfont
- writetext UnknownText_0x19c608
+ opentext
+ writetext CherrygroveRivalText_YouWon
+ waitbutton
closetext
- loadmovesprites
- jump UnknownScript_0x19c12f
+ jump .FinishRival
-UnknownScript_0x19c126:
+.AfterYourDefeat:
playmusic MUSIC_RIVAL_AFTER
- loadfont
- writetext UnknownText_0x19c59e
+ opentext
+ writetext CherrygroveRivalText_YouLost
+ waitbutton
closetext
- loadmovesprites
-UnknownScript_0x19c12f:
+.FinishRival:
playsound SFX_TACKLE
- applymovement PLAYER, MovementData_0x19c1d4
+ applymovement PLAYER, CherrygroveCity_RivalPushesYouOutOfTheWay
spriteface PLAYER, LEFT
- applymovement $3, MovementData_0x19c1da
- disappear $3
+ applymovement CHERRYGROVECITY_SILVER, CherrygroveCity_RivalExitsStageLeft
+ disappear CHERRYGROVECITY_SILVER
dotrigger $0
special HealParty
playmapmusic
end
-TeacherScript_0x19c146:
+CherrygroveTeacherScript:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_MAP_CARD
- iftrue UnknownScript_0x19c154
- writetext UnknownText_0x19c650
+ iftrue .HaveMapCard
+ writetext CherrygroveTeacherText_NoMapCard
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x19c154:
- writetext UnknownText_0x19c6a8
+.HaveMapCard:
+ writetext CherrygroveTeacherText_HaveMapCard
+ waitbutton
closetext
- loadmovesprites
end
-YoungsterScript_0x19c15a:
+CherrygroveYoungsterScript:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_POKEDEX
- iftrue UnknownScript_0x19c168
- writetext UnknownText_0x19c6d6
+ iftrue .HavePokedex
+ writetext CherrygroveYoungsterText_NoPokedex
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x19c168:
- writetext UnknownText_0x19c701
+.HavePokedex:
+ writetext CherrygroveYoungsterText_HavePokedex
+ waitbutton
closetext
- loadmovesprites
end
MysticWaterGuy:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_MYSTIC_WATER_IN_CHERRYGROVE
- iftrue UnknownScript_0x19c183
- writetext UnknownText_0x19c766
- keeptextopen
+ iftrue .After
+ writetext MysticWaterGuyTextBefore
+ buttonsound
verbosegiveitem MYSTIC_WATER
- iffalse UnknownScript_0x19c187
+ iffalse .Exit
setevent EVENT_GOT_MYSTIC_WATER_IN_CHERRYGROVE
-UnknownScript_0x19c183:
- writetext UnknownText_0x19c7c1
+.After:
+ writetext MysticWaterGuyTextAfter
+ waitbutton
+.Exit:
closetext
-UnknownScript_0x19c187:
- loadmovesprites
end
CherrygroveCitySign:
@@ -235,7 +241,7 @@
CherrygroveCityMartSign:
jumpstd martsign
-MovementData_0x19c195:
+GuideGentMovement1:
step_left
step_left
step_up
@@ -243,7 +249,7 @@
turn_head_up
step_end
-MovementData_0x19c19b:
+GuideGentMovement2:
step_left
step_left
step_left
@@ -253,7 +259,7 @@
turn_head_up
step_end
-MovementData_0x19c1a3:
+GuideGentMovement3:
step_left
step_left
step_left
@@ -264,7 +270,7 @@
turn_head_up
step_end
-MovementData_0x19c1ac:
+GuideGentMovement4:
step_left
step_left
step_left
@@ -276,7 +282,7 @@
turn_head_left
step_end
-MovementData_0x19c1b6:
+GuideGentMovement5:
step_down
step_down
step_right
@@ -299,12 +305,12 @@
turn_head_up
step_end
-MovementData_0x19c1cb:
+GuideGentMovement6:
step_up
step_up
step_end
-MovementData_0x19c1ce:
+CherrygroveCity_RivalWalksToYou:
step_left
step_left
step_left
@@ -312,17 +318,17 @@
step_left
step_end
-MovementData_0x19c1d4:
+CherrygroveCity_RivalPushesYouOutOfTheWay:
big_step_down
turn_head_up
step_end
-MovementData_0x19c1d7:
+CherrygroveCity_UnusedMovementData:
step_left
turn_head_down
step_end
-MovementData_0x19c1da:
+CherrygroveCity_RivalExitsStageLeft:
big_step_left
big_step_left
big_step_left
@@ -451,12 +457,12 @@
line "what I mean!"
done
-UnknownText_0x19c57f:
+SilverCherrygroveWinText:
text "Humph. Are you"
line "happy you won?"
done
-UnknownText_0x19c59e:
+CherrygroveRivalText_YouLost:
text "<......> <......> <......>"
para "My name's ???."
@@ -467,12 +473,12 @@
cont "trainer."
done
-UnknownText_0x19c5e6:
+SilverCherrygroveLossText:
text "Humph. That was a"
line "waste of time."
done
-UnknownText_0x19c608:
+CherrygroveRivalText_YouWon:
text "<......> <......> <......>"
para "My name's ???."
@@ -483,7 +489,7 @@
cont "trainer."
done
-UnknownText_0x19c650:
+CherrygroveTeacherText_NoMapCard:
text "Did you talk to"
line "the old man by the"
cont "#MON CENTER?"
@@ -493,19 +499,19 @@
cont "#GEAR."
done
-UnknownText_0x19c6a8:
+CherrygroveTeacherText_HaveMapCard:
text "When you're with"
line "#MON, going"
cont "anywhere is fun."
done
-UnknownText_0x19c6d6:
+CherrygroveYoungsterText_NoPokedex:
text "MR.#MON's house"
line "is still farther"
cont "up ahead."
done
-UnknownText_0x19c701:
+CherrygroveYoungsterText_HavePokedex:
text "I battled the"
line "trainers on the"
cont "road."
@@ -517,7 +523,7 @@
line "a #MON CENTER."
done
-UnknownText_0x19c766:
+MysticWaterGuyTextBefore:
text "A #MON I caught"
line "had an item."
@@ -528,7 +534,7 @@
line "so do you want it?"
done
-UnknownText_0x19c7c1:
+MysticWaterGuyTextAfter:
text "Back to fishing"
line "for me, then."
done
@@ -558,8 +564,8 @@
.XYTriggers:
db 2
- xy_trigger 1, $6, $21, $0, UnknownScript_0x19c0ae, $0, $0
- xy_trigger 1, $7, $21, $0, UnknownScript_0x19c0aa, $0, $0
+ xy_trigger 1, $6, $21, $0, CherrygroveSilverTriggerNorth, $0, $0
+ xy_trigger 1, $7, $21, $0, CherrygroveSilverTriggerSouth, $0, $0
.Signposts:
db 4
@@ -572,6 +578,6 @@
db 5
person_event SPRITE_GRAMPS, 6, 32, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CherrygroveCityGuideGent, EVENT_GUIDE_GENT_IN_HIS_HOUSE
person_event SPRITE_SILVER, 6, 39, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_CHERRYGROVE_CITY
- person_event SPRITE_TEACHER, 12, 27, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, TeacherScript_0x19c146, -1
- person_event SPRITE_YOUNGSTER, 7, 23, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x19c15a, -1
+ person_event SPRITE_TEACHER, 12, 27, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, CherrygroveTeacherScript, -1
+ person_event SPRITE_YOUNGSTER, 7, 23, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, CherrygroveYoungsterScript, -1
person_event SPRITE_FISHER, 12, 7, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, MysticWaterGuy, -1
--- a/maps/CherrygroveEvolutionSpeechHouse.asm
+++ b/maps/CherrygroveEvolutionSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const CHERRYGROVEEVOLUTIONSPEECHHOUSE_LASS
+ const CHERRYGROVEEVOLUTIONSPEECHHOUSE_YOUNGSTER
+
CherrygroveEvolutionSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,17 +10,17 @@
db 0
YoungsterScript_0x196cb2:
- loadfont
+ opentext
writetext UnknownText_0x196cc3
+ waitbutton
closetext
- loadmovesprites
end
LassScript_0x196cb9:
- loadfont
+ opentext
writetext UnknownText_0x196cfc
+ waitbutton
closetext
- loadmovesprites
end
CherrygroveEvolutionSpeechHouseBookshelf:
--- a/maps/CherrygroveGymSpeechHouse.asm
+++ b/maps/CherrygroveGymSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const CHERRYGROVEGYMSPEECHHOUSE_POKEFAN_M
+ const CHERRYGROVEGYMSPEECHHOUSE_BUG_CATCHER
+
CherrygroveGymSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/CherrygroveMart.asm
+++ b/maps/CherrygroveMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const CHERRYGROVEMART_CLERK
+ const CHERRYGROVEMART_COOLTRAINER_M
+ const CHERRYGROVEMART_YOUNGSTER
+
CherrygroveMart_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,32 +11,32 @@
db 0
ClerkScript_0x19680a:
- loadfont
+ opentext
checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
iftrue UnknownScript_0x196817
pokemart MARTTYPE_STANDARD, MART_CHERRYGROVE
- loadmovesprites
+ closetext
end
UnknownScript_0x196817:
pokemart MARTTYPE_STANDARD, MART_CHERRYGROVE_DEX
- loadmovesprites
+ closetext
end
CooltrainerMScript_0x19681d:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
iftrue UnknownScript_0x19682b
writetext UnknownText_0x196834
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19682b:
writetext UnknownText_0x196873
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x196831:
--- a/maps/CherrygrovePokeCenter1F.asm
+++ b/maps/CherrygrovePokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const CHERRYGROVEPOKECENTER1F_NURSE
+ const CHERRYGROVEPOKECENTER1F_FISHER
+ const CHERRYGROVEPOKECENTER1F_GENTLEMAN
+ const CHERRYGROVEPOKECENTER1F_TEACHER
+
CherrygrovePokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -16,18 +22,18 @@
TeacherScript_0x196976:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
iftrue UnknownScript_0x196984
writetext UnknownText_0x1969f1
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x196984:
writetext UnknownText_0x196a46
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x19698a:
--- a/maps/CianwoodCity.asm
+++ b/maps/CianwoodCity.asm
@@ -1,10 +1,24 @@
+const_value set 2
+ const CIANWOODCITY_STANDING_YOUNGSTER
+ const CIANWOODCITY_POKEFAN_M
+ const CIANWOODCITY_LASS
+ const CIANWOODCITY_ROCK1
+ const CIANWOODCITY_ROCK2
+ const CIANWOODCITY_ROCK3
+ const CIANWOODCITY_ROCK4
+ const CIANWOODCITY_ROCK5
+ const CIANWOODCITY_ROCK6
+ const CIANWOODCITY_POKEFAN_F
+ const CIANWOODCITY_EUSINE
+ const CIANWOODCITY_SUICUNE
+
CianwoodCity_MapScriptHeader:
.MapTriggers:
db 2
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
- dw .Trigger2, 0
.MapCallbacks:
db 1
@@ -12,10 +26,10 @@
; callbacks
dbw 5, .FlyPointAndSuicune
-.Trigger1
+.Trigger0
end
-.Trigger2
+.Trigger1
end
.FlyPointAndSuicune
@@ -23,7 +37,7 @@
setevent EVENT_EUSINE_IN_BURNED_TOWER
checkevent EVENT_FOUGHT_EUSINE
iffalse UnknownScript_0x1a001d
- disappear $c
+ disappear CIANWOODCITY_EUSINE
UnknownScript_0x1a001d:
return
@@ -32,12 +46,12 @@
showemote EMOTE_SHOCK, PLAYER, 15
pause 15
playsound SFX_WARP_FROM
- applymovement $d, MovementData_0x1a00da
+ applymovement CIANWOODCITY_SUICUNE, MovementData_0x1a00da
spriteface PLAYER, DOWN
pause 15
playsound SFX_WARP_FROM
- applymovement $d, MovementData_0x1a00e0
- disappear $d
+ applymovement CIANWOODCITY_SUICUNE, MovementData_0x1a00e0
+ disappear CIANWOODCITY_SUICUNE
pause 10
dotrigger $0
clearevent EVENT_SAW_SUICUNE_ON_ROUTE_42
@@ -46,27 +60,27 @@
iftrue .Done
setevent EVENT_FOUGHT_EUSINE
playmusic MUSIC_MYSTICALMAN_ENCOUNTER
- appear $c
- applymovement $c, MovementData_0x1a00e7
- loadfont
+ appear CIANWOODCITY_EUSINE
+ applymovement CIANWOODCITY_EUSINE, MovementData_0x1a00e7
+ opentext
writetext UnknownText_0x1a0433
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x1a05a1, 0
- setlasttalked $c
+ setlasttalked CIANWOODCITY_EUSINE
loadtrainer MYSTICALMAN, EUSINE
startbattle
- reloadmapmusic
- returnafterbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
playmusic MUSIC_MYSTICALMAN_ENCOUNTER
- loadfont
+ opentext
writetext UnknownText_0x1a05c3
+ waitbutton
closetext
- loadmovesprites
- applymovement $c, MovementData_0x1a00ec
- disappear $c
+ applymovement CIANWOODCITY_EUSINE, MovementData_0x1a00ec
+ disappear CIANWOODCITY_EUSINE
pause 20
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
playmapmusic
pause 10
.Done
@@ -74,31 +88,31 @@
PokefanFScript_0x1a0084:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_HM02_FLY
iftrue UnknownScript_0x1a00ad
writetext UnknownText_0x1a00f1
- keeptextopen
+ buttonsound
checkevent EVENT_BEAT_CHUCK
iftrue UnknownScript_0x1a009c
writetext UnknownText_0x1a0163
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x1a009c:
writetext UnknownText_0x1a01e3
- keeptextopen
+ buttonsound
verbosegiveitem HM_FLY
iffalse UnknownScript_0x1a00b1
setevent EVENT_GOT_HM02_FLY
writetext UnknownText_0x1a021d
- keeptextopen
+ buttonsound
UnknownScript_0x1a00ad:
writetext UnknownText_0x1a0277
- closetext
+ waitbutton
UnknownScript_0x1a00b1:
- loadmovesprites
+ closetext
end
StandingYoungsterScript_0x1a00b3:
@@ -134,10 +148,10 @@
CianwoodCityRock:
jumpstd smashrock
-MapCianwoodCitySignpostItem6:
+CianwoodCityHiddenRevive:
dwb EVENT_CIANWOOD_CITY_HIDDEN_REVIVE, REVIVE
-MapCianwoodCitySignpostItem7:
+CianwoodCityHiddenMaxEther:
dwb EVENT_CIANWOOD_CITY_HIDDEN_MAX_ETHER, MAX_ETHER
MovementData_0x1a00da:
@@ -396,8 +410,8 @@
signpost 47, 19, SIGNPOST_READ, CianwoodPharmacySign
signpost 32, 8, SIGNPOST_READ, CianwoodPhotoStudioSign
signpost 24, 8, SIGNPOST_READ, CianwoodPokeSeerSign
- signpost 19, 4, SIGNPOST_ITEM, MapCianwoodCitySignpostItem6
- signpost 29, 5, SIGNPOST_ITEM, MapCianwoodCitySignpostItem7
+ signpost 19, 4, SIGNPOST_ITEM, CianwoodCityHiddenRevive
+ signpost 29, 5, SIGNPOST_ITEM, CianwoodCityHiddenMaxEther
.PersonEvents:
db 12
--- a/maps/CianwoodCityPhotoStudio.asm
+++ b/maps/CianwoodCityPhotoStudio.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const CIANWOODCITYPHOTOSTUDIO_FISHING_GURU
+
CianwoodCityPhotoStudio_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,21 +10,21 @@
FishingGuruScript_0x9e0e0:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x9e0f9
yesorno
iffalse UnknownScript_0x9e0f3
writetext UnknownText_0x9e142
- closetext
+ waitbutton
special PhotoStudio
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x9e0f3:
writetext UnknownText_0x9e156
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x9e0f9:
--- a/maps/CianwoodGym.asm
+++ b/maps/CianwoodGym.asm
@@ -1,3 +1,14 @@
+const_value set 2
+ const CIANWOODGYM_CHUCK
+ const CIANWOODGYM_BLACK_BELT1
+ const CIANWOODGYM_BLACK_BELT2
+ const CIANWOODGYM_BLACK_BELT3
+ const CIANWOODGYM_BLACK_BELT4
+ const CIANWOODGYM_BOULDER1
+ const CIANWOODGYM_BOULDER2
+ const CIANWOODGYM_BOULDER3
+ const CIANWOODGYM_BOULDER4
+
CianwoodGym_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,36 +18,36 @@
ChuckScript_0x9d60f:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_CHUCK
iftrue .FightDone
writetext UnknownText_0x9d6f9
+ waitbutton
closetext
- loadmovesprites
- spriteface $2, RIGHT
- loadfont
+ spriteface CIANWOODGYM_CHUCK, RIGHT
+ opentext
writetext UnknownText_0x9d76f
+ waitbutton
closetext
- loadmovesprites
- applymovement $7, MovementData_0x9d6f3
+ applymovement CIANWOODGYM_BOULDER1, MovementData_0x9d6f3
playsound SFX_STRENGTH
earthquake 80
- disappear $7
+ disappear CIANWOODGYM_BOULDER1
pause 30
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x9d78a
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x9d7f6, 0
loadtrainer CHUCK, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_CHUCK
- loadfont
+ opentext
writetext UnknownText_0x9d835
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_STORMBADGE
checkcode VAR_BADGES
scall CianwoodGymTriggerRockets
@@ -48,20 +59,20 @@
setevent EVENT_BEAT_BLACKBELT_NOB
setevent EVENT_BEAT_BLACKBELT_LUNG
writetext UnknownText_0x9d84d
- keeptextopen
+ buttonsound
verbosegiveitem TM_DYNAMICPUNCH
iffalse UnknownScript_0x9d67f
setevent EVENT_GOT_TM01_DYNAMICPUNCH
writetext UnknownText_0x9d8da
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x9d67b:
writetext UnknownText_0x9d930
- closetext
+ waitbutton
UnknownScript_0x9d67f:
- loadmovesprites
+ closetext
end
CianwoodGymTriggerRockets:
@@ -79,11 +90,11 @@
trainer EVENT_BEAT_BLACKBELT_YOSHI, BLACKBELT_T, YOSHI, BlackbeltYoshiSeenText, BlackbeltYoshiBeatenText, 0, BlackbeltYoshiScript
BlackbeltYoshiScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x9d9fa
+ waitbutton
closetext
- loadmovesprites
end
TrainerBlackbeltLao:
@@ -90,11 +101,11 @@
trainer EVENT_BEAT_BLACKBELT_LAO, BLACKBELT_T, LAO, BlackbeltLaoSeenText, BlackbeltLaoBeatenText, 0, BlackbeltLaoScript
BlackbeltLaoScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x9da61
+ waitbutton
closetext
- loadmovesprites
end
TrainerBlackbeltNob:
@@ -101,11 +112,11 @@
trainer EVENT_BEAT_BLACKBELT_NOB, BLACKBELT_T, NOB, BlackbeltNobSeenText, BlackbeltNobBeatenText, 0, BlackbeltNobScript
BlackbeltNobScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x9dac0
+ waitbutton
closetext
- loadmovesprites
end
TrainerBlackbeltLung:
@@ -112,11 +123,11 @@
trainer EVENT_BEAT_BLACKBELT_LUNG, BLACKBELT_T, LUNG, BlackbeltLungSeenText, BlackbeltLungBeatenText, 0, BlackbeltLungScript
BlackbeltLungScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x9db14
+ waitbutton
closetext
- loadmovesprites
end
CianwoodGymBoulder:
--- a/maps/CianwoodLugiaSpeechHouse.asm
+++ b/maps/CianwoodLugiaSpeechHouse.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const CIANWOODLUGIASPEECHHOUSE_TEACHER
+ const CIANWOODLUGIASPEECHHOUSE_LASS
+ const CIANWOODLUGIASPEECHHOUSE_TWIN
+
CianwoodLugiaSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/CianwoodPharmacy.asm
+++ b/maps/CianwoodPharmacy.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const CIANWOODPHARMACY_PHARMACIST
+
CianwoodPharmacy_MapScriptHeader:
.MapTriggers:
db 1
@@ -13,27 +16,27 @@
CianwoodPharmacist:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_SECRETPOTION_FROM_PHARMACY
iftrue .Mart
checkevent EVENT_JASMINE_EXPLAINED_AMPHYS_SICKNESS
iffalse .Mart
writetext PharmacistGiveSecretpotionText
- keeptextopen
+ buttonsound
giveitem SECRETPOTION
writetext ReceivedSecretpotionText
playsound SFX_KEY_ITEM
- waitbutton
+ waitsfx
itemnotify
setevent EVENT_GOT_SECRETPOTION_FROM_PHARMACY
writetext PharmacistDescribeSecretpotionText
+ waitbutton
closetext
- loadmovesprites
end
.Mart
pokemart MARTTYPE_PHARMACY, MART_CIANWOOD
- loadmovesprites
+ closetext
end
CianwoodPharmacyBookshelf:
--- a/maps/CianwoodPokeCenter1F.asm
+++ b/maps/CianwoodPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const CIANWOODPOKECENTER1F_NURSE
+ const CIANWOODPOKECENTER1F_LASS
+ const CIANWOODPOKECENTER1F_GYM_GUY
+ const CIANWOODPOKECENTER1F_SUPER_NERD
+
CianwoodPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -15,17 +21,17 @@
faceplayer
checkevent EVENT_BEAT_CHUCK
iftrue .CianwoodGymGuyWinScript
- loadfont
+ opentext
writetext CianwoodGymGuyText
+ waitbutton
closetext
- loadmovesprites
end
.CianwoodGymGuyWinScript
- loadfont
+ opentext
writetext CianwoodGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
end
SuperNerdScript_0x9dbea:
--- a/maps/CinnabarIsland.asm
+++ b/maps/CinnabarIsland.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const CINNABARISLAND_BLUE
+
CinnabarIsland_MapScriptHeader:
.MapTriggers:
db 0
@@ -14,13 +17,13 @@
CinnabarIslandBlue:
faceplayer
- loadfont
+ opentext
writetext CinnabarIslandBlueText
+ waitbutton
closetext
- loadmovesprites
playsound SFX_WARP_TO
- applymovement $2, CinnabarIslandBlueTeleport
- disappear $2
+ applymovement CINNABARISLAND_BLUE, CinnabarIslandBlueTeleport
+ disappear CINNABARISLAND_BLUE
clearevent EVENT_VIRIDIAN_GYM_BLUE
end
@@ -33,7 +36,7 @@
CinnabarIslandPokeCenterSign:
jumpstd pokecentersign
-MapCinnabarIslandSignpostItem3:
+CinnabarIslandHiddenRareCandy:
dwb EVENT_CINNABAR_ISLAND_HIDDEN_RARE_CANDY, RARE_CANDY
CinnabarIslandBlueTeleport:
@@ -142,7 +145,7 @@
signpost 11, 12, SIGNPOST_READ, CinnabarIslandPokeCenterSign
signpost 11, 9, SIGNPOST_READ, CinnabarIslandGymSign
signpost 7, 7, SIGNPOST_READ, CinnabarIslandSign
- signpost 1, 9, SIGNPOST_ITEM, MapCinnabarIslandSignpostItem3
+ signpost 1, 9, SIGNPOST_ITEM, CinnabarIslandHiddenRareCandy
.PersonEvents:
db 1
--- a/maps/CinnabarPokeCenter1F.asm
+++ b/maps/CinnabarPokeCenter1F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const CINNABARPOKECENTER1F_NURSE
+ const CINNABARPOKECENTER1F_COOLTRAINER_F
+ const CINNABARPOKECENTER1F_FISHER
+
CinnabarPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/CinnabarPokeCenter2FBeta.asm
+++ b/maps/CinnabarPokeCenter2FBeta.asm
@@ -1,3 +1,4 @@
+
CinnabarPokeCenter2FBeta_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Colosseum.asm
+++ b/maps/Colosseum.asm
@@ -1,11 +1,15 @@
+const_value set 2
+ const COLOSSEUM_CHRIS1
+ const COLOSSEUM_CHRIS2
+
Colosseum_MapScriptHeader:
.MapTriggers:
db 3
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
dw .Trigger2, 0
- dw .Trigger3, 0
.MapCallbacks:
db 2
@@ -16,26 +20,26 @@
dbw 5, ColosseumScript_InitializeCB
-.Trigger1:
+.Trigger0:
priorityjump ColosseumScript_Initialize
end
-.Trigger2:
+.Trigger1:
end
-.Trigger3:
+.Trigger2:
end
ColosseumScript_SetWhichChris:
special Special_CableClubCheckWhichChris
iffalse .Chris2
- disappear $3
- appear $2
+ disappear COLOSSEUM_CHRIS2
+ appear COLOSSEUM_CHRIS1
return
.Chris2:
- disappear $2
- appear $3
+ disappear COLOSSEUM_CHRIS1
+ appear COLOSSEUM_CHRIS2
return
ColosseumScript_InitializeCB:
@@ -53,10 +57,10 @@
end
ChrisScript_0x193499:
- loadfont
+ opentext
writetext .FriendReadyText
+ waitbutton
closetext
- loadmovesprites
end
.FriendReadyText:
--- a/maps/CopycatsHouse1F.asm
+++ b/maps/CopycatsHouse1F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const COPYCATSHOUSE1F_POKEFAN_M
+ const COPYCATSHOUSE1F_POKEFAN_F
+ const COPYCATSHOUSE1F_CLEFAIRY
+
CopycatsHouse1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -10,26 +15,26 @@
PokefanFScript_0x18ad16:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x18ad24
writetext UnknownText_0x18ad95
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x18ad24:
writetext UnknownText_0x18add3
+ waitbutton
closetext
- loadmovesprites
end
ClefairyScript_0x18ad2a:
- loadfont
+ opentext
writetext UnknownText_0x18ae4b
cry BLISSEY
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x18ad34:
--- a/maps/CopycatsHouse2F.asm
+++ b/maps/CopycatsHouse2F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const COPYCATSHOUSE2F_COPYCAT1
+ const COPYCATSHOUSE2F_MOLTRES
+ const COPYCATSHOUSE2F_FAIRY
+ const COPYCATSHOUSE2F_MONSTER
+ const COPYCATSHOUSE2F_BIRD
+ const COPYCATSHOUSE2F_COPYCAT2
+
CopycatsHouse2F_MapScriptHeader:
.MapTriggers:
db 0
@@ -12,12 +20,12 @@
CopycatsHouse2FCallback:
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Part1
- disappear $7
- appear $2
+ disappear COPYCATSHOUSE2F_COPYCAT2
+ appear COPYCATSHOUSE2F_COPYCAT1
jump .Done
.Part1
- disappear $2
- appear $7
+ disappear COPYCATSHOUSE2F_COPYCAT1
+ appear COPYCATSHOUSE2F_COPYCAT2
.Done
return
@@ -31,13 +39,13 @@
iftrue .Part12
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Part1
- applymovement $2, MovementData_0x18afd0
+ applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_CHRIS
jump .Part2
.Part1
- applymovement $7, MovementData_0x18afd0
+ applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_KRIS
.Part2
@@ -44,7 +52,7 @@
special RunCallback_04
checkevent EVENT_RETURNED_MACHINE_PART
iftrue .Part7
- loadfont
+ opentext
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Part3
writetext UnknownText_0x18afda
@@ -53,27 +61,27 @@
.Part3
writetext UnknownText_0x18b316
.Part4
+ waitbutton
closetext
- loadmovesprites
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Part5
- applymovement $2, MovementData_0x18afd0
+ applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0
jump .Part6
.Part5
- applymovement $7, MovementData_0x18afd0
+ applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0
.Part6
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_LASS
special RunCallback_04
- loadfont
+ opentext
writetext UnknownText_0x18b028
+ waitbutton
closetext
- loadmovesprites
end
.Part7
- loadfont
+ opentext
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Part8
writetext UnknownText_0x18b064
@@ -82,30 +90,30 @@
.Part8
writetext UnknownText_0x18b366
.Part9
+ waitbutton
closetext
- loadmovesprites
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Part10
- applymovement $2, MovementData_0x18afd0
+ applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0
jump .Part11
.Part10
- applymovement $7, MovementData_0x18afd0
+ applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0
.Part11
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_LASS
special RunCallback_04
- loadfont
+ opentext
writetext UnknownText_0x18b116
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_MET_COPYCAT_FOUND_OUT_ABOUT_LOST_ITEM
end
.Part12
- loadfont
+ opentext
writetext UnknownText_0x18b17f
- keeptextopen
+ buttonsound
takeitem LOST_ITEM
setevent EVENT_RETURNED_LOST_ITEM_TO_COPYCAT
clearevent EVENT_COPYCATS_HOUSE_2F_DOLL
@@ -112,33 +120,33 @@
jump .Part14
.Part13
- loadfont
+ opentext
.Part14
writetext UnknownText_0x18b1e2
- keeptextopen
+ buttonsound
verbosegiveitem PASS
iffalse .Part22
setevent EVENT_GOT_PASS_FROM_COPYCAT
writetext UnknownText_0x18b214
+ waitbutton
closetext
- loadmovesprites
end
.Part15
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Part16
- applymovement $2, MovementData_0x18afd0
+ applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_CHRIS
jump .Part17
.Part16
- applymovement $7, MovementData_0x18afd0
+ applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_KRIS
.Part17
special RunCallback_04
- loadfont
+ opentext
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Part18
writetext UnknownText_0x18b298
@@ -147,34 +155,34 @@
.Part18
writetext UnknownText_0x18b415
.Part19
+ waitbutton
closetext
- loadmovesprites
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Part20
- applymovement $2, MovementData_0x18afd0
+ applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0
jump .Part21
.Part20
- applymovement $7, MovementData_0x18afd0
+ applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0
.Part21
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_LASS
special RunCallback_04
- loadfont
+ opentext
writetext UnknownText_0x18b2f5
- closetext
+ waitbutton
.Part22
- loadmovesprites
+ closetext
end
CopycatsDodrio:
- loadfont
+ opentext
writetext CopycatsDodrioText1
cry DODRIO
- keeptextopen
+ buttonsound
writetext CopycatsDodrioText2
+ waitbutton
closetext
- loadmovesprites
end
CopycatsHouse2FDoll:
--- a/maps/DanceTheatre.asm
+++ b/maps/DanceTheatre.asm
@@ -1,3 +1,14 @@
+const_value set 2
+ const DANCETHEATRE_KIMONO_GIRL1
+ const DANCETHEATRE_KIMONO_GIRL2
+ const DANCETHEATRE_KIMONO_GIRL3
+ const DANCETHEATRE_KIMONO_GIRL4
+ const DANCETHEATRE_KIMONO_GIRL5
+ const DANCETHEATRE_GENTLEMAN
+ const DANCETHEATRE_RHYDON
+ const DANCETHEATRE_COOLTRAINER_M
+ const DANCETHEATRE_GRANNY
+
DanceTheatre_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +20,11 @@
trainer EVENT_BEAT_KIMONO_GIRL_NAOKO, KIMONO_GIRL, NAOKO2, Kimono_girlNaoko2SeenText, Kimono_girlNaoko2BeatenText, 0, Kimono_girlNaoko2Script
Kimono_girlNaoko2Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x99579
+ waitbutton
closetext
- loadmovesprites
end
TrainerKimono_girlSayo:
@@ -20,11 +31,11 @@
trainer EVENT_BEAT_KIMONO_GIRL_SAYO, KIMONO_GIRL, SAYO, Kimono_girlSayoSeenText, Kimono_girlSayoBeatenText, 0, Kimono_girlSayoScript
Kimono_girlSayoScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x9960b
+ waitbutton
closetext
- loadmovesprites
end
TrainerKimono_girlZuki:
@@ -31,11 +42,11 @@
trainer EVENT_BEAT_KIMONO_GIRL_ZUKI, KIMONO_GIRL, ZUKI, Kimono_girlZukiSeenText, Kimono_girlZukiBeatenText, 0, Kimono_girlZukiScript
Kimono_girlZukiScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x99688
+ waitbutton
closetext
- loadmovesprites
end
TrainerKimono_girlKuni:
@@ -42,11 +53,11 @@
trainer EVENT_BEAT_KIMONO_GIRL_KUNI, KIMONO_GIRL, KUNI, Kimono_girlKuniSeenText, Kimono_girlKuniBeatenText, 0, Kimono_girlKuniScript
Kimono_girlKuniScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x99714
+ waitbutton
closetext
- loadmovesprites
end
TrainerKimono_girlMiki:
@@ -53,18 +64,18 @@
trainer EVENT_BEAT_KIMONO_GIRL_MIKI, KIMONO_GIRL, MIKI, Kimono_girlMikiSeenText, Kimono_girlMikiBeatenText, 0, Kimono_girlMikiScript
Kimono_girlMikiScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x997a8
+ waitbutton
closetext
- loadmovesprites
end
GentlemanScript_0x994c6:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x9980a
- keeptextopen
+ buttonsound
checkevent EVENT_GOT_HM03_SURF
iftrue UnknownScript_0x99515
checkevent EVENT_BEAT_KIMONO_GIRL_NAOKO
@@ -83,38 +94,38 @@
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue UnknownScript_0x994ff
writetext UnknownText_0x99891
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x994ff:
writetext UnknownText_0x998d4
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x99505:
writetext UnknownText_0x9991a
- keeptextopen
+ buttonsound
verbosegiveitem HM_SURF
setevent EVENT_GOT_HM03_SURF
writetext UnknownText_0x9999b
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x99515:
writetext UnknownText_0x999d5
+ waitbutton
closetext
- loadmovesprites
end
RhydonScript_0x9951b:
- loadfont
+ opentext
writetext UnknownText_0x99a0a
cry RHYDON
+ waitbutton
closetext
- loadmovesprites
end
CooltrainerMScript_0x99525:
--- a/maps/DarkCaveBlackthornEntrance.asm
+++ b/maps/DarkCaveBlackthornEntrance.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const DARKCAVEBLACKTHORNENTRANCE_PHARMACIST
+ const DARKCAVEBLACKTHORNENTRANCE_POKE_BALL1
+ const DARKCAVEBLACKTHORNENTRANCE_POKE_BALL2
+
DarkCaveBlackthornEntrance_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,26 +12,26 @@
PharmacistScript_0x18c720:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_BLACKGLASSES_IN_DARK_CAVE
iftrue UnknownScript_0x18c735
writetext UnknownText_0x18c73f
- keeptextopen
+ buttonsound
verbosegiveitem BLACKGLASSES
iffalse UnknownScript_0x18c739
setevent EVENT_GOT_BLACKGLASSES_IN_DARK_CAVE
UnknownScript_0x18c735:
writetext UnknownText_0x18c80c
- closetext
+ waitbutton
UnknownScript_0x18c739:
- loadmovesprites
+ closetext
end
-ItemFragment_0x18c73b:
- db REVIVE, 1
+DarkCaveBlackthornEntranceRevive:
+ itemball REVIVE
-ItemFragment_0x18c73d:
- db TM_SNORE, 1
+DarkCaveBlackthornEntranceTMSnore:
+ itemball TM_SNORE
UnknownText_0x18c73f:
text "Whoa! You startled"
@@ -74,5 +79,5 @@
.PersonEvents:
db 3
person_event SPRITE_PHARMACIST, 3, 7, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, PharmacistScript_0x18c720, -1
- person_event SPRITE_POKE_BALL, 24, 21, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c73b, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_REVIVE
- person_event SPRITE_POKE_BALL, 22, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c73d, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_TM_SNORE
+ person_event SPRITE_POKE_BALL, 24, 21, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, DarkCaveBlackthornEntranceRevive, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_REVIVE
+ person_event SPRITE_POKE_BALL, 22, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, DarkCaveBlackthornEntranceTMSnore, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_TM_SNORE
--- a/maps/DarkCaveVioletEntrance.asm
+++ b/maps/DarkCaveVioletEntrance.asm
@@ -1,3 +1,13 @@
+const_value set 2
+ const DARKCAVEVIOLETENTRANCE_POKE_BALL1
+ const DARKCAVEVIOLETENTRANCE_ROCK1
+ const DARKCAVEVIOLETENTRANCE_ROCK2
+ const DARKCAVEVIOLETENTRANCE_ROCK3
+ const DARKCAVEVIOLETENTRANCE_ROCK4
+ const DARKCAVEVIOLETENTRANCE_POKE_BALL2
+ const DARKCAVEVIOLETENTRANCE_POKE_BALL3
+ const DARKCAVEVIOLETENTRANCE_POKE_BALL4
+
DarkCaveVioletEntrance_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,22 +15,22 @@
.MapCallbacks:
db 0
-ItemFragment_0x18c68e:
- db POTION, 1
+DarkCaveVioletEntrancePotion:
+ itemball POTION
-ItemFragment_0x18c690:
- db FULL_HEAL, 1
+DarkCaveVioletEntranceFullHeal:
+ itemball FULL_HEAL
-ItemFragment_0x18c692:
- db HYPER_POTION, 1
+DarkCaveVioletEntranceHyperPotion:
+ itemball HYPER_POTION
-ItemFragment_0x18c694:
- db DIRE_HIT, 1
+DarkCaveVioletEntranceDireHit:
+ itemball DIRE_HIT
DarkCaveVioletEntranceRock:
jumpstd smashrock
-MapDarkCaveVioletEntranceSignpostItem0:
+DarkCaveVioletEntranceHiddenElixer:
dwb EVENT_DARK_CAVE_VIOLET_ENTRANCE_HIDDEN_ELIXER, ELIXER
@@ -39,15 +49,15 @@
.Signposts:
db 1
- signpost 3, 26, SIGNPOST_ITEM, MapDarkCaveVioletEntranceSignpostItem0
+ signpost 3, 26, SIGNPOST_ITEM, DarkCaveVioletEntranceHiddenElixer
.PersonEvents:
db 8
- person_event SPRITE_POKE_BALL, 8, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c68e, EVENT_DARK_CAVE_VIOLET_ENTRANCE_POTION
+ person_event SPRITE_POKE_BALL, 8, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, DarkCaveVioletEntrancePotion, EVENT_DARK_CAVE_VIOLET_ENTRANCE_POTION
person_event SPRITE_ROCK, 14, 16, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DarkCaveVioletEntranceRock, -1
person_event SPRITE_ROCK, 6, 27, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DarkCaveVioletEntranceRock, -1
person_event SPRITE_ROCK, 14, 7, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DarkCaveVioletEntranceRock, -1
person_event SPRITE_ROCK, 31, 36, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DarkCaveVioletEntranceRock, -1
- person_event SPRITE_POKE_BALL, 22, 36, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c690, EVENT_DARK_CAVE_VIOLET_ENTRANCE_FULL_HEAL
- person_event SPRITE_POKE_BALL, 9, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c692, EVENT_DARK_CAVE_VIOLET_ENTRANCE_HYPER_POTION
- person_event SPRITE_POKE_BALL, 28, 30, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c694, EVENT_DARK_CAVE_VIOLET_ENTRANCE_DIRE_HIT
+ person_event SPRITE_POKE_BALL, 22, 36, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, DarkCaveVioletEntranceFullHeal, EVENT_DARK_CAVE_VIOLET_ENTRANCE_FULL_HEAL
+ person_event SPRITE_POKE_BALL, 9, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, DarkCaveVioletEntranceHyperPotion, EVENT_DARK_CAVE_VIOLET_ENTRANCE_HYPER_POTION
+ person_event SPRITE_POKE_BALL, 28, 30, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, DarkCaveVioletEntranceDireHit, EVENT_DARK_CAVE_VIOLET_ENTRANCE_DIRE_HIT
--- a/maps/DayCare.asm
+++ b/maps/DayCare.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const DAYCARE_GRAMPS
+ const DAYCARE_GRANNY
+
DayCare_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,79 +11,79 @@
; callbacks
- dbw 2, UnknownScript_0x62f7b
+ dbw 2, .EggCheckCallback
-UnknownScript_0x62f7b:
- checkflag ENGINE_DAYCARE_MONS_ARE_COMPATIBLE
- iftrue UnknownScript_0x62f88
+.EggCheckCallback:
+ checkflag ENGINE_DAYCARE_MAN_HAS_EGG
+ iftrue .PutDaycareManOutside
clearevent EVENT_DAYCARE_MAN_IN_DAYCARE
setevent EVENT_DAYCARE_MAN_ON_ROUTE_34
return
-UnknownScript_0x62f88:
+.PutDaycareManOutside:
setevent EVENT_DAYCARE_MAN_IN_DAYCARE
clearevent EVENT_DAYCARE_MAN_ON_ROUTE_34
return
-GrampsScript_0x62f8f:
+DayCareManScript_Inside:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_ODD_EGG
- iftrue UnknownScript_0x62fbd
- writetext UnknownText_0x630ce
- keeptextopen
- loadmovesprites
+ iftrue .AlreadyHaveOddEgg
+ writetext DayCareManText_GiveOddEgg
+ buttonsound
+ closetext
checkcode VAR_PARTYCOUNT
- if_equal $6, UnknownScript_0x62fb6
- special Function117656
- loadfont
- writetext UnknownText_0x631ae
+ if_equal PARTY_LENGTH, .PartyFull
+ special Special_GiveOddEgg
+ opentext
+ writetext DayCareText_GotOddEgg
playsound SFX_KEY_ITEM
+ waitsfx
+ writetext DayCareText_DescribeOddEgg
waitbutton
- writetext UnknownText_0x631c3
closetext
- loadmovesprites
setevent EVENT_GOT_ODD_EGG
end
-UnknownScript_0x62fb6:
- loadfont
- writetext UnknownText_0x63237
+.PartyFull:
+ opentext
+ writetext DayCareText_PartyFull
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x62fbd:
+.AlreadyHaveOddEgg:
special Special_DayCareMan
+ waitbutton
closetext
- loadmovesprites
end
-GrannyScript_0x62fc3:
+DayCareLadyScript:
faceplayer
- loadfont
- checkflag ENGINE_DAYCARE_MONS_ARE_COMPATIBLE
- iftrue UnknownScript_0x62fd1
+ opentext
+ checkflag ENGINE_DAYCARE_MAN_HAS_EGG
+ iftrue .HusbandWasLookingForYou
special Special_DayCareLady
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x62fd1:
- writetext UnknownText_0x62fda
+.HusbandWasLookingForYou:
+ writetext Text_GrampsLookingForYou
+ waitbutton
closetext
- loadmovesprites
end
DayCareBookshelf:
jumpstd difficultbookshelf
-UnknownText_0x62fda:
+Text_GrampsLookingForYou:
text "Gramps was looking"
line "for you."
done
-UnknownText_0x62ff7:
+Text_DayCareManTalksAboutEggTicket:
text "I'm the DAY-CARE"
line "MAN."
@@ -102,7 +106,7 @@
line "as well have it."
done
-UnknownText_0x630ce:
+DayCareManText_GiveOddEgg:
text "I'm the DAY-CARE"
line "MAN."
@@ -126,16 +130,16 @@
line "yours to keep!"
done
-UnknownText_0x631a1:
+DayCareText_ComeAgain:
text "Come again."
done
-UnknownText_0x631ae:
+DayCareText_GotOddEgg:
text "<PLAYER> received"
line "ODD EGG!"
done
-UnknownText_0x631c3:
+DayCareText_DescribeOddEgg:
text "I found that when"
line "I was caring for"
@@ -149,7 +153,7 @@
line "it around."
done
-UnknownText_0x63237:
+DayCareText_PartyFull:
text "You've no room for"
line "this."
done
@@ -175,5 +179,5 @@
.PersonEvents:
db 2
- person_event SPRITE_GRAMPS, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x62f8f, EVENT_DAYCARE_MAN_IN_DAYCARE
- person_event SPRITE_GRANNY, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, GrannyScript_0x62fc3, -1
+ person_event SPRITE_GRAMPS, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DayCareManScript_Inside, EVENT_DAYCARE_MAN_IN_DAYCARE
+ person_event SPRITE_GRANNY, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, DayCareLadyScript, -1
--- a/maps/DiglettsCave.asm
+++ b/maps/DiglettsCave.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const DIGLETTSCAVE_POKEFAN_M
+
DiglettsCave_MapScriptHeader:
.MapTriggers:
db 0
@@ -8,7 +11,7 @@
PokefanMScript_0x74002:
jumptextfaceplayer UnknownText_0x74008
-MapDiglettsCaveSignpostItem0:
+DiglettsCaveHiddenMaxRevive:
dwb EVENT_DIGLETTS_CAVE_HIDDEN_MAX_REVIVE, MAX_REVIVE
@@ -38,7 +41,7 @@
.Signposts:
db 1
- signpost 11, 6, SIGNPOST_ITEM, MapDiglettsCaveSignpostItem0
+ signpost 11, 6, SIGNPOST_ITEM, DiglettsCaveHiddenMaxRevive
.PersonEvents:
db 1
--- a/maps/DragonShrine.asm
+++ b/maps/DragonShrine.asm
@@ -1,34 +1,40 @@
+const_value set 2
+ const DRAGONSHRINE_ELDER1
+ const DRAGONSHRINE_ELDER2
+ const DRAGONSHRINE_ELDER3
+ const DRAGONSHRINE_CLAIR
+
DragonShrine_MapScriptHeader:
.MapTriggers:
db 2
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
- dw .Trigger2, 0
.MapCallbacks:
db 0
-.Trigger1:
+.Trigger0:
priorityjump DragonShrineTestScript
end
-.Trigger2:
+.Trigger1:
end
DragonShrineTestScript:
applymovement PLAYER, MovementData_0x18d2bf
- applymovement $2, MovementData_0x18d2c7
- loadfont
+ applymovement DRAGONSHRINE_ELDER1, MovementData_0x18d2c7
+ opentext
writetext UnknownText_0x18d2ea
- keeptextopen
+ buttonsound
.Question1:
setevent EVENT_RECEIVED_BALLS_FROM_KURT
writetext UnknownText_0x18d3bc
- keeptextopen
+ buttonsound
loadmenudata MenuDataHeader_0x18d215
- interpretmenu2
- writebackup
+ verticalmenu
+ closewindow
if_equal $1, .RightAnswer
if_equal $2, .WrongAnswer
if_equal $3, .RightAnswer
@@ -37,10 +43,10 @@
.Question2:
setevent EVENT_DRAGON_SHRINE_QUESTION_2
writetext UnknownText_0x18d3d3
- keeptextopen
+ buttonsound
loadmenudata MenuDataHeader_0x18d234
- interpretmenu2
- writebackup
+ verticalmenu
+ closewindow
if_equal $1, .RightAnswer
if_equal $2, .RightAnswer
if_equal $3, .WrongAnswer
@@ -47,10 +53,10 @@
.Question3:
setevent EVENT_DRAGON_SHRINE_QUESTION_3
writetext UnknownText_0x18d3f3
- keeptextopen
+ buttonsound
loadmenudata MenuDataHeader_0x18d258
- interpretmenu2
- writebackup
+ verticalmenu
+ closewindow
if_equal $1, .WrongAnswer
if_equal $2, .RightAnswer
if_equal $3, .RightAnswer
@@ -57,10 +63,10 @@
.Question4:
setevent EVENT_DRAGON_SHRINE_QUESTION_4
writetext UnknownText_0x18d420
- keeptextopen
+ buttonsound
loadmenudata MenuDataHeader_0x18d283
- interpretmenu2
- writebackup
+ verticalmenu
+ closewindow
if_equal $1, .RightAnswer
if_equal $2, .WrongAnswer
if_equal $3, .RightAnswer
@@ -67,10 +73,10 @@
.Question5:
setevent EVENT_DRAGON_SHRINE_QUESTION_5
writetext UnknownText_0x18d44a
- keeptextopen
+ buttonsound
loadmenudata MenuDataHeader_0x18d2a5
- interpretmenu2
- writebackup
+ verticalmenu
+ closewindow
if_equal $1, .WrongAnswer
if_equal $2, .RightAnswer
if_equal $3, .WrongAnswer
@@ -78,7 +84,7 @@
checkevent EVENT_DRAGON_SHRINE_QUESTION_5
iftrue .PassedTheTest
writetext UnknownText_0x18d82d
- keeptextopen
+ buttonsound
checkevent EVENT_DRAGON_SHRINE_QUESTION_4
iftrue .Question5
checkevent EVENT_DRAGON_SHRINE_QUESTION_3
@@ -88,19 +94,19 @@
checkevent EVENT_RECEIVED_BALLS_FROM_KURT
iftrue .Question2
.WrongAnswer:
- loadmovesprites
- spriteface $2, LEFT
- loadfont
+ closetext
+ spriteface DRAGONSHRINE_ELDER1, LEFT
+ opentext
writetext UnknownText_0x18d7f6
+ waitbutton
closetext
- loadmovesprites
- spriteface $2, DOWN
- loadfont
+ spriteface DRAGONSHRINE_ELDER1, DOWN
+ opentext
writetext UnknownText_0x18d816
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG
- loadfont
+ opentext
checkevent EVENT_DRAGON_SHRINE_QUESTION_5
iftrue .Question5
checkevent EVENT_DRAGON_SHRINE_QUESTION_4
@@ -113,83 +119,83 @@
iftrue .Question1
.PassedTheTest:
writetext UnknownText_0x18d47c
+ waitbutton
closetext
- loadmovesprites
playsound SFX_ENTER_DOOR
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_CLAIR
- appear $5
- waitbutton
+ appear DRAGONSHRINE_CLAIR
+ waitsfx
spriteface PLAYER, DOWN
pause 30
- applymovement $5, MovementData_0x18d2d4
- spriteface $5, RIGHT
+ applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2d4
+ spriteface DRAGONSHRINE_CLAIR, RIGHT
spriteface PLAYER, LEFT
- spriteface $2, LEFT
- loadfont
+ spriteface DRAGONSHRINE_ELDER1, LEFT
+ opentext
writetext UnknownText_0x18d916
+ waitbutton
closetext
- loadmovesprites
- special Special_RotatePalettesRightMusic
- applymovement $5, MovementData_0x18d2da
- loadfont
+ special Special_FadeOutMusic
+ applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2da
+ opentext
writetext UnknownText_0x18d974
+ waitbutton
closetext
- loadmovesprites
- applymovement $5, MovementData_0x18d2dd
- loadfont
+ applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2dd
+ opentext
writetext UnknownText_0x18d983
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x18d2c9
- spriteface $5, UP
- loadfont
+ applymovement DRAGONSHRINE_ELDER1, MovementData_0x18d2c9
+ spriteface DRAGONSHRINE_CLAIR, UP
+ opentext
writetext UnknownText_0x18d520
+ waitbutton
closetext
- loadmovesprites
- showemote EMOTE_SHOCK, $5, 15
- loadfont
+ showemote EMOTE_SHOCK, DRAGONSHRINE_CLAIR, 15
+ opentext
writetext UnknownText_0x18d9ae
+ waitbutton
closetext
- loadmovesprites
- applymovement $5, MovementData_0x18d2e0
- loadfont
+ applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2e0
+ opentext
writetext UnknownText_0x18d9bf
- closetext
+ waitbutton
setflag ENGINE_RISINGBADGE
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
special RestartMapMusic
specialphonecall SPECIALCALL_MASTERBALL
dotrigger $1
domaptrigger DRAGONS_DEN_B1F, $1
writetext UnknownText_0x18d9f2
- keeptextopen
+ buttonsound
writetext UnknownText_0x18da0b
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x18d2ce
- spriteface $5, UP
- applymovement $2, MovementData_0x18d2d1
+ applymovement DRAGONSHRINE_ELDER1, MovementData_0x18d2ce
+ spriteface DRAGONSHRINE_CLAIR, UP
+ applymovement DRAGONSHRINE_ELDER1, MovementData_0x18d2d1
spriteface PLAYER, UP
- loadfont
+ opentext
writetext UnknownText_0x18d5a3
+ waitbutton
closetext
- loadmovesprites
- loadfont
+ opentext
writetext UnknownText_0x18dab4
+ waitbutton
closetext
- loadmovesprites
- applymovement $5, MovementData_0x18d2e3
+ applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2e3
playsound SFX_ENTER_DOOR
- disappear $5
- waitbutton
+ disappear DRAGONSHRINE_CLAIR
+ waitsfx
setevent EVENT_GAVE_KURT_APRICORNS
end
ElderScript_0x18d1a5:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iftrue .DontGiveDratiniYet
checkevent EVENT_JUST_RECEIVED_DRATINI
@@ -199,18 +205,18 @@
checkevent EVENT_BEAT_RIVAL_IN_MT_MOON
iftrue .BeatRivalInMtMoon
writetext UnknownText_0x18d724
+ waitbutton
closetext
- loadmovesprites
end
.GiveDratini:
writetext UnknownText_0x18d604
- closetext
+ waitbutton
checkcode VAR_PARTYCOUNT
if_equal 6, .PartyFull
writetext UnknownText_0x18d697
playsound SFX_CAUGHT_MON
- waitbutton
+ waitsfx
givepoke DRATINI, 15
checkevent EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG
special SpecialDratini
@@ -217,48 +223,48 @@
setevent EVENT_GOT_DRATINI
setevent EVENT_JUST_RECEIVED_DRATINI
writetext UnknownText_0x18d6ca
+ waitbutton
closetext
- loadmovesprites
end
.PartyFull:
writetext UnknownText_0x18d6ac
+ waitbutton
closetext
- loadmovesprites
end
.BeatRivalInMtMoon:
writetext UnknownText_0x18d782
+ waitbutton
closetext
- loadmovesprites
end
.DontGiveDratiniYet:
writetext UnknownText_0x18d5e5
+ waitbutton
closetext
- loadmovesprites
end
.ReceivedDratini:
writetext UnknownText_0x18d6ca
+ waitbutton
closetext
- loadmovesprites
end
ElderScript_0x18d205:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x18d840
+ waitbutton
closetext
- loadmovesprites
end
ElderScript_0x18d20d:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x18d8b1
+ waitbutton
closetext
- loadmovesprites
end
--- a/maps/DragonsDen1F.asm
+++ b/maps/DragonsDen1F.asm
@@ -1,3 +1,4 @@
+
DragonsDen1F_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/DragonsDenB1F.asm
+++ b/maps/DragonsDenB1F.asm
@@ -1,10 +1,21 @@
+const_value set 2
+ const DRAGONSDENB1F_POKE_BALL1
+ const DRAGONSDENB1F_CLAIR
+ const DRAGONSDENB1F_SILVER
+ const DRAGONSDENB1F_COOLTRAINER_M
+ const DRAGONSDENB1F_COOLTRAINER_F
+ const DRAGONSDENB1F_TWIN1
+ const DRAGONSDENB1F_TWIN2
+ const DRAGONSDENB1F_POKE_BALL2
+ const DRAGONSDENB1F_POKE_BALL3
+
DragonsDenB1F_MapScriptHeader:
.MapTriggers:
db 2
; triggers
- dw UnknownScript_0x18c89d, 0
- dw UnknownScript_0x18c89e, 0
+ dw .Trigger0, 0
+ dw .Trigger1, 0
.MapCallbacks:
db 1
@@ -11,69 +22,69 @@
; callbacks
- dbw 5, UnknownScript_0x18c89f
+ dbw 5, .CheckSilver
-UnknownScript_0x18c89d:
+.Trigger0:
end
-UnknownScript_0x18c89e:
+.Trigger1:
end
-UnknownScript_0x18c89f:
+.CheckSilver:
checkevent EVENT_BEAT_RIVAL_IN_MT_MOON
- iftrue UnknownScript_0x18c8a8
- disappear $4
+ iftrue .CheckDay
+ disappear DRAGONSDENB1F_SILVER
return
-UnknownScript_0x18c8a8:
+.CheckDay:
checkcode VAR_WEEKDAY
- if_equal TUESDAY, UnknownScript_0x18c8b5
- if_equal THURSDAY, UnknownScript_0x18c8b5
- disappear $4
+ if_equal TUESDAY, .AppearSilver
+ if_equal THURSDAY, .AppearSilver
+ disappear DRAGONSDENB1F_SILVER
return
-UnknownScript_0x18c8b5:
- appear $4
+.AppearSilver:
+ appear DRAGONSDENB1F_SILVER
return
-UnknownScript_0x18c8b8:
- appear $3
- loadfont
- writetext UnknownText_0x18c9b8
+DragonsDenB1F_ClairTrigger:
+ appear DRAGONSDENB1F_CLAIR
+ opentext
+ writetext ClairText_Wait
pause 30
- loadmovesprites
+ closetext
showemote EMOTE_SHOCK, PLAYER, 15
spriteface PLAYER, LEFT
playmusic MUSIC_CLAIR
- applymovement $3, MovementData_0x18c9ae
- loadfont
- writetext UnknownText_0x18c9bf
- keeptextopen
+ applymovement DRAGONSDENB1F_CLAIR, MovementDragonsDen_ClairWalksToYou
+ opentext
+ writetext ClairText_GiveDragonbreathDragonDen
+ buttonsound
giveitem TM_DRAGONBREATH
- iffalse UnknownScript_0x18c8f4
+ iffalse .BagFull
itemtotext TM_DRAGONBREATH, $0
- writetext UnknownText_0x18c9fb
+ writetext NotifyReceiveDragonbreath
playsound SFX_ITEM
- waitbutton
+ waitsfx
itemnotify
setevent EVENT_GOT_TM24_DRAGONBREATH
- writetext UnknownText_0x18ca0d
- keeptextopen
- writetext UnknownText_0x18caf1
+ writetext ClairText_DescribeDragonbreathDragonDen
+ buttonsound
+ writetext ClairText_WhatsTheMatterDragonDen
+ waitbutton
closetext
- loadmovesprites
- jump UnknownScript_0x18c8f9
+ jump .FinishClair
-UnknownScript_0x18c8f4:
- writetext UnknownText_0x18ca8b
+.BagFull:
+ writetext ClairText_NoRoom
+ waitbutton
closetext
- loadmovesprites
-UnknownScript_0x18c8f9:
- applymovement $3, MovementData_0x18c9b3
- special Special_RotatePalettesRightMusic
+.FinishClair:
+ applymovement DRAGONSDENB1F_CLAIR, MovementDragonsDen_ClairWalksAway
+ special Special_FadeOutMusic
pause 30
special RestartMapMusic
- disappear $3
+ disappear DRAGONSDENB1F_CLAIR
dotrigger $0
end
@@ -81,11 +92,11 @@
trainer EVENT_BEAT_COOLTRAINERM_DARIN, COOLTRAINERM, DARIN, CooltrainermDarinSeenText, CooltrainermDarinBeatenText, 0, CooltrainermDarinScript
CooltrainermDarinScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x18cd82
+ end_if_just_battled
+ opentext
+ writetext CooltrainermDarinAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfCara:
@@ -92,11 +103,11 @@
trainer EVENT_BEAT_COOLTRAINERF_CARA, COOLTRAINERF, CARA, CooltrainerfCaraSeenText, CooltrainerfCaraBeatenText, 0, CooltrainerfCaraScript
CooltrainerfCaraScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x18ce11
+ end_if_just_battled
+ opentext
+ writetext CooltrainerfCaraAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerTwinsLeaandpia1:
@@ -103,11 +114,11 @@
trainer EVENT_BEAT_TWINS_LEA_AND_PIA, TWINS, LEAANDPIA1, TwinsLeaandpia1SeenText, TwinsLeaandpia1BeatenText, 0, TwinsLeaandpia1Script
TwinsLeaandpia1Script:
- talkaftercancel
- loadfont
- writetext UnknownText_0x18ced3
+ end_if_just_battled
+ opentext
+ writetext TrinsLeaandpia1AfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerTwinsLeaandpia2:
@@ -114,75 +125,78 @@
trainer EVENT_BEAT_TWINS_LEA_AND_PIA, TWINS, LEAANDPIA1, TwinsLeaandpia2SeenText, TwinsLeaandpia2BeatenText, 0, TwinsLeaandpia2Script
TwinsLeaandpia2Script:
- talkaftercancel
- loadfont
- writetext UnknownText_0x18cf0f
+ end_if_just_battled
+ opentext
+ writetext TrinsLeaandpia2AfterText
+ waitbutton
closetext
- loadmovesprites
end
PokeBallScript_0x18c95a:
+; This whole script is written out rather than as an
+; item fragment because it's left over from the GS
+; event.
giveitem DRAGON_FANG
- iffalse UnknownScript_0x18c970
- disappear $2
- loadfont
+ iffalse .BagFull
+ disappear DRAGONSDENB1F_POKE_BALL1
+ opentext
itemtotext DRAGON_FANG, $0
- writetext UnknownText_0x18cf41
+ writetext Text_FoundDragonFang
playsound SFX_ITEM
- waitbutton
+ waitsfx
itemnotify
- loadmovesprites
+ closetext
end
-UnknownScript_0x18c970:
- loadfont
+.BagFull:
+ opentext
itemtotext DRAGON_FANG, $0
- writetext UnknownText_0x18cf41
- keeptextopen
- writetext UnknownText_0x18cf51
+ writetext Text_FoundDragonFang
+ buttonsound
+ writetext Text_NoRoomForDragonFang
+ waitbutton
closetext
- loadmovesprites
end
SilverScript_0x18c97e:
playmusic MUSIC_RIVAL_ENCOUNTER
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
- iftrue UnknownScript_0x18c995
- writetext UnknownText_0x18cc83
+ iftrue .SilverTalkAgain
+ writetext SilverText_Training1
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_GAVE_KURT_APRICORNS
special RestartMapMusic
end
-UnknownScript_0x18c995:
- writetext UnknownText_0x18cd2d
+.SilverTalkAgain:
+ writetext SilverText_Training2
+ waitbutton
closetext
- loadmovesprites
special RestartMapMusic
end
MapDragonsDenB1FSignpost0Script:
- jumptext UnknownText_0x18cc2e
+ jumptext DragonShrineSignpostText
-ItemFragment_0x18c9a1:
- db CALCIUM, 1
+DragonsDenB1FCalcium:
+ itemball CALCIUM
-ItemFragment_0x18c9a3:
- db MAX_ELIXER, 1
+DragonsDenB1FMaxElixer:
+ itemball MAX_ELIXER
-MapDragonsDenB1FSignpostItem1:
+DragonsDenB1FHiddenRevive:
dwb EVENT_DRAGONS_DEN_B1F_HIDDEN_REVIVE, REVIVE
-MapDragonsDenB1FSignpostItem2:
+DragonsDenB1FHiddenMaxPotion:
dwb EVENT_DRAGONS_DEN_B1F_HIDDEN_MAX_POTION, MAX_POTION
-MapDragonsDenB1FSignpostItem3:
+DragonsDenB1FHiddenMaxElixer:
dwb EVENT_DRAGONS_DEN_B1F_HIDDEN_MAX_ELIXER, MAX_ELIXER
-MovementData_0x18c9ae:
+MovementDragonsDen_ClairWalksToYou:
slow_step_right
slow_step_right
slow_step_right
@@ -189,7 +203,7 @@
slow_step_right
step_end
-MovementData_0x18c9b3:
+MovementDragonsDen_ClairWalksAway:
slow_step_left
slow_step_left
slow_step_left
@@ -196,11 +210,11 @@
slow_step_left
step_end
-UnknownText_0x18c9b8:
+ClairText_Wait:
text "Wait!"
done
-UnknownText_0x18c9bf:
+ClairText_GiveDragonbreathDragonDen:
text "CLAIR: I'm sorry"
line "about this."
@@ -208,12 +222,12 @@
line "my apology."
done
-UnknownText_0x18c9fb:
+NotifyReceiveDragonbreath:
text "<PLAYER> received"
line "TM24."
done
-UnknownText_0x18ca0d:
+ClairText_DescribeDragonbreathDragonDen:
text "That contains"
line "DRAGONBREATH."
@@ -226,7 +240,7 @@
cont "to take it."
done
-UnknownText_0x18ca8b:
+ClairText_NoRoom:
text "Oh? You don't have"
line "any room for this."
@@ -237,7 +251,7 @@
line "see me there."
done
-UnknownText_0x18caf1:
+ClairText_WhatsTheMatterDragonDen:
text "CLAIR: What's the"
line "matter? Aren't you"
@@ -270,7 +284,7 @@
line "you've got."
done
-UnknownText_0x18cc2e:
+DragonShrineSignpostText:
text "DRAGON SHRINE"
para "A shrine honoring"
@@ -280,7 +294,7 @@
line "in DRAGON'S DEN."
done
-UnknownText_0x18cc83:
+SilverText_Training1:
text "…"
line "What? <PLAYER>?"
@@ -300,7 +314,7 @@
line "MON trainer…"
done
-UnknownText_0x18cd2d:
+SilverText_Training2:
text "…"
para "Whew…"
@@ -318,7 +332,7 @@
text "S-strong!"
done
-UnknownText_0x18cd82:
+CooltrainermDarinAfterText:
text "The SHRINE ahead"
line "is home to the"
@@ -338,7 +352,7 @@
text "Oh yikes, I lost!"
done
-UnknownText_0x18ce11:
+CooltrainerfCaraAfterText:
text "Soon I'm going to"
line "get permission"
@@ -364,7 +378,7 @@
text "Ouchies."
done
-UnknownText_0x18ced3:
+TrinsLeaandpia1AfterText:
text "It was like having"
line "to battle LANCE."
done
@@ -377,7 +391,7 @@
text "Meanie."
done
-UnknownText_0x18cf0f:
+TrinsLeaandpia2AfterText:
text "We'll tell on you."
para "MASTER will be"
@@ -384,7 +398,7 @@
line "angry with you."
done
-UnknownText_0x18cf41:
+Text_FoundDragonFang:
text "<PLAYER> found"
line "@"
text_from_ram StringBuffer3
@@ -391,7 +405,7 @@
text "!"
done
-UnknownText_0x18cf51:
+Text_NoRoomForDragonFang:
text "But <PLAYER> can't"
line "carry any more"
cont "items."
@@ -408,14 +422,14 @@
.XYTriggers:
db 1
- xy_trigger 1, $1e, $13, $0, UnknownScript_0x18c8b8, $0, $0
+ xy_trigger 1, $1e, $13, $0, DragonsDenB1F_ClairTrigger, $0, $0
.Signposts:
db 4
signpost 24, 18, SIGNPOST_READ, MapDragonsDenB1FSignpost0Script
- signpost 29, 33, SIGNPOST_ITEM, MapDragonsDenB1FSignpostItem1
- signpost 17, 21, SIGNPOST_ITEM, MapDragonsDenB1FSignpostItem2
- signpost 15, 31, SIGNPOST_ITEM, MapDragonsDenB1FSignpostItem3
+ signpost 29, 33, SIGNPOST_ITEM, DragonsDenB1FHiddenRevive
+ signpost 17, 21, SIGNPOST_ITEM, DragonsDenB1FHiddenMaxPotion
+ signpost 15, 31, SIGNPOST_ITEM, DragonsDenB1FHiddenMaxElixer
.PersonEvents:
db 9
@@ -426,5 +440,5 @@
person_event SPRITE_COOLTRAINER_F, 8, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 3, TrainerCooltrainerfCara, -1
person_event SPRITE_TWIN, 17, 4, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 1, TrainerTwinsLeaandpia1, -1
person_event SPRITE_TWIN, 18, 4, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 1, TrainerTwinsLeaandpia2, -1
- person_event SPRITE_POKE_BALL, 4, 30, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c9a1, EVENT_DRAGONS_DEN_B1F_CALCIUM
- person_event SPRITE_POKE_BALL, 20, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c9a3, EVENT_DRAGONS_DEN_B1F_MAX_ELIXER
+ person_event SPRITE_POKE_BALL, 4, 30, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, DragonsDenB1FCalcium, EVENT_DRAGONS_DEN_B1F_CALCIUM
+ person_event SPRITE_POKE_BALL, 20, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, DragonsDenB1FMaxElixer, EVENT_DRAGONS_DEN_B1F_MAX_ELIXER
--- a/maps/EarlsPokemonAcademy.asm
+++ b/maps/EarlsPokemonAcademy.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const EARLSPOKEMONACADEMY_FISHER
+ const EARLSPOKEMONACADEMY_YOUNGSTER1
+ const EARLSPOKEMONACADEMY_GAMEBOY_KID1
+ const EARLSPOKEMONACADEMY_GAMEBOY_KID2
+ const EARLSPOKEMONACADEMY_YOUNGSTER2
+ const EARLSPOKEMONACADEMY_POKEDEX
+
EarlsPokemonAcademy_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,9 +14,9 @@
db 0
AcademyEarl:
- applymovement $2, MovementData_0x68b2d
+ applymovement EARLSPOKEMONACADEMY_FISHER, MovementData_0x68b2d
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x68b3b
yesorno
iffalse .Part1
@@ -20,14 +28,14 @@
yesorno
iffalse .Done
writetext UnknownText_0x68c7b
+ waitbutton
closetext
- loadmovesprites
end
.Done
writetext UnknownText_0x68d31
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x68a83:
@@ -35,20 +43,20 @@
GameboyKidScript_0x68a86:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x68dda
+ waitbutton
closetext
- loadmovesprites
- spriteface $4, DOWN
+ spriteface EARLSPOKEMONACADEMY_GAMEBOY_KID1, DOWN
end
GameboyKidScript_0x68a91:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x68e07
+ waitbutton
closetext
- loadmovesprites
- spriteface $5, DOWN
+ spriteface EARLSPOKEMONACADEMY_GAMEBOY_KID2, DOWN
end
YoungsterScript_0x68a9c:
@@ -55,43 +63,43 @@
jumptextfaceplayer UnknownText_0x68e39
AcademyBlackboard:
- loadfont
+ opentext
writetext AcademyBlackboardText
.Loop
loadmenudata .MenuHeader
- interpretmenu
- writebackup
+ _2dmenu
+ closewindow
if_equal $1, .Poison
if_equal $2, .Paralysis
if_equal $3, .Sleep
if_equal $4, .Burn
if_equal $5, .Freeze
- loadmovesprites
+ closetext
end
.Poison
writetext AcademyPoisonText
- closetext
+ waitbutton
jump .Loop
.Paralysis
writetext AcademyParalysisText
- closetext
+ waitbutton
jump .Loop
.Sleep
writetext AcademySleepText
- closetext
+ waitbutton
jump .Loop
.Burn
writetext AcademyBurnText
- closetext
+ waitbutton
jump .Loop
.Freeze:
writetext AcademyFreezeText
- closetext
+ waitbutton
jump .Loop
.MenuHeader
@@ -106,7 +114,7 @@
dn 3, 2 ; rows, columns
db 5 ; spacing
dba .Text
- dbw $1a, 0
+ dbw BANK(AcademyBlackboard), 0
.Text
db "PSN@"
@@ -117,7 +125,7 @@
db "QUIT@"
AcademyNotebook:
- loadfont
+ opentext
writetext AcademyNotebookText
yesorno
iffalse .Done
@@ -128,9 +136,9 @@
yesorno
iffalse .Done
writetext AcademyNotebookText3
- closetext
+ waitbutton
.Done
- loadmovesprites
+ closetext
end
AcademyStickerMachine:
--- a/maps/EcruteakCity.asm
+++ b/maps/EcruteakCity.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const ECRUTEAKCITY_GRAMPS1
+ const ECRUTEAKCITY_GRAMPS2
+ const ECRUTEAKCITY_LASS1
+ const ECRUTEAKCITY_LASS2
+ const ECRUTEAKCITY_FISHER
+ const ECRUTEAKCITY_YOUNGSTER
+ const ECRUTEAKCITY_GRAMPS3
+
EcruteakCity_MapScriptHeader:
.MapTriggers:
db 0
@@ -26,34 +35,34 @@
LassScript_0x1a4015:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RELEASED_THE_BEASTS
iftrue UnknownScript_0x1a4023
writetext UnknownText_0x1a421a
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x1a4023:
writetext UnknownText_0x1a4269
+ waitbutton
closetext
- loadmovesprites
end
FisherScript_0x1a4029:
faceplayer
- loadfont
+ opentext
checkevent EVENT_JASMINE_RETURNED_TO_GYM
iftrue UnknownScript_0x1a4037
writetext UnknownText_0x1a42ac
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x1a4037:
writetext UnknownText_0x1a4325
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x1a403d:
@@ -80,7 +89,7 @@
EcruteakCityMartSign:
jumpstd martsign
-MapEcruteakCitySignpostItem7:
+EcruteakCityHiddenHyperPotion:
dwb EVENT_ECRUTEAK_CITY_HIDDEN_HYPER_POTION, HYPER_POTION
UnusedMissingDaughterText:
@@ -286,7 +295,7 @@
signpost 10, 2, SIGNPOST_READ, BurnedTowerSign
signpost 27, 24, SIGNPOST_READ, EcruteakCityPokeCenterSign
signpost 21, 30, SIGNPOST_READ, EcruteakCityMartSign
- signpost 14, 23, SIGNPOST_ITEM, MapEcruteakCitySignpostItem7
+ signpost 14, 23, SIGNPOST_ITEM, EcruteakCityHiddenHyperPotion
.PersonEvents:
db 7
--- a/maps/EcruteakGym.asm
+++ b/maps/EcruteakGym.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const ECRUTEAKGYM_MORTY
+ const ECRUTEAKGYM_SAGE1
+ const ECRUTEAKGYM_SAGE2
+ const ECRUTEAKGYM_GRANNY1
+ const ECRUTEAKGYM_GRANNY2
+ const ECRUTEAKGYM_GYM_GUY
+ const ECRUTEAKGYM_GRAMPS
+
EcruteakGym_MapScriptHeader:
.MapTriggers:
db 2
@@ -18,21 +27,21 @@
MortyScript_0x99d58:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_MORTY
iftrue .FightDone
writetext UnknownText_0x99e65
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x9a00a, 0
loadtrainer MORTY, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_MORTY
- loadfont
+ opentext
writetext UnknownText_0x9a043
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_FOGBADGE
checkcode VAR_BADGES
scall EcruteakGymTriggerRockets
@@ -47,20 +56,20 @@
setevent EVENT_BEAT_MEDIUM_MARTHA
setevent EVENT_BEAT_MEDIUM_GRACE
writetext UnknownText_0x9a059
- keeptextopen
+ buttonsound
verbosegiveitem TM_SHADOW_BALL
iffalse UnknownScript_0x99db5
setevent EVENT_GOT_TM30_SHADOW_BALL
writetext UnknownText_0x9a0ec
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x99db1:
writetext UnknownText_0x9a145
- closetext
+ waitbutton
UnknownScript_0x99db5:
- loadmovesprites
+ closetext
end
EcruteakGymTriggerRockets:
@@ -76,17 +85,17 @@
UnknownScript_0x99dc6:
applymovement PLAYER, MovementData_0x99e5d
- applymovement $8, MovementData_0x99e63
- loadfont
+ applymovement ECRUTEAKGYM_GRAMPS, MovementData_0x99e63
+ opentext
writetext UnknownText_0x9a49c
+ waitbutton
closetext
- loadmovesprites
- follow PLAYER, $8
+ follow PLAYER, ECRUTEAKGYM_GRAMPS
applymovement PLAYER, MovementData_0x99e5f
stopfollow
special FadeOutPalettes
playsound SFX_ENTER_DOOR
- waitbutton
+ waitsfx
warp ECRUTEAK_CITY, $6, $1b
end
@@ -94,11 +103,11 @@
trainer EVENT_BEAT_SAGE_JEFFREY, SAGE, JEFFREY, SageJeffreySeenText, SageJeffreyBeatenText, 0, SageJeffreyScript
SageJeffreyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x9a263
+ waitbutton
closetext
- loadmovesprites
end
TrainerSagePing:
@@ -105,11 +114,11 @@
trainer EVENT_BEAT_SAGE_PING, SAGE, PING, SagePingSeenText, SagePingBeatenText, 0, SagePingScript
SagePingScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x9a2b7
+ waitbutton
closetext
- loadmovesprites
end
TrainerMediumMartha:
@@ -116,11 +125,11 @@
trainer EVENT_BEAT_MEDIUM_MARTHA, MEDIUM, MARTHA, MediumMarthaSeenText, MediumMarthaBeatenText, 0, MediumMarthaScript
MediumMarthaScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x9a318
+ waitbutton
closetext
- loadmovesprites
end
TrainerMediumGrace:
@@ -127,27 +136,27 @@
trainer EVENT_BEAT_MEDIUM_GRACE, MEDIUM, GRACE, MediumGraceSeenText, MediumGraceBeatenText, 0, MediumGraceScript
MediumGraceScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x9a38a
+ waitbutton
closetext
- loadmovesprites
end
EcruteakGymGuyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_MORTY
iftrue .EcruteakGymGuyWinScript
writetext EcruteakGymGuyText
+ waitbutton
closetext
- loadmovesprites
end
.EcruteakGymGuyWinScript
writetext EcruteakGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
end
EcruteakGymStatue:
--- a/maps/EcruteakHouse.asm
+++ b/maps/EcruteakHouse.asm
@@ -1,10 +1,16 @@
+const_value set 2
+ const ECRUTEAKHOUSE_SAGE1
+ const ECRUTEAKHOUSE_SAGE2
+ const ECRUTEAKHOUSE_SAGE3
+ const ECRUTEAKHOUSE_GRAMPS
+
EcruteakHouse_MapScriptHeader:
.MapTriggers:
db 2
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
- dw .Trigger2, 0
.MapCallbacks:
db 1
@@ -13,10 +19,10 @@
dbw 2, .InitializeSages
-.Trigger1:
+.Trigger0:
end
-.Trigger2:
+.Trigger1:
end
.InitializeSages:
@@ -45,21 +51,21 @@
EcruteakHouse_XYTrigger1:
checkevent EVENT_RANG_CLEAR_BELL_2
iftrue EcruteakHouse_XYTrigger_DontMove
- applymovement $3, MovementData_0x980c7
- moveperson $2, $4, $6
- appear $2
+ applymovement ECRUTEAKHOUSE_SAGE2, MovementData_0x980c7
+ moveperson ECRUTEAKHOUSE_SAGE1, $4, $6
+ appear ECRUTEAKHOUSE_SAGE1
pause 5
- disappear $3
+ disappear ECRUTEAKHOUSE_SAGE2
end
EcruteakHouse_XYTrigger2:
checkevent EVENT_RANG_CLEAR_BELL_1
iftrue EcruteakHouse_XYTrigger_DontMove
- applymovement $2, MovementData_0x980cc
- moveperson $3, $5, $6
- appear $3
+ applymovement ECRUTEAKHOUSE_SAGE1, MovementData_0x980cc
+ moveperson ECRUTEAKHOUSE_SAGE2, $5, $6
+ appear ECRUTEAKHOUSE_SAGE2
pause 5
- disappear $2
+ disappear ECRUTEAKHOUSE_SAGE1
end
EcruteakHouse_XYTrigger_DontMove:
@@ -67,20 +73,20 @@
SageScript_0x98062:
faceplayer
- loadfont
+ opentext
checkevent EVENT_CLEARED_RADIO_TOWER
iftrue .CheckForClearBell
checkflag ENGINE_FOGBADGE
iftrue .BlockPassage_GotFogBadge
writetext UnknownText_0x980d1
+ waitbutton
closetext
- loadmovesprites
end
.BlockPassage_GotFogBadge:
writetext UnknownText_0x98131
+ waitbutton
closetext
- loadmovesprites
end
.CheckForClearBell:
@@ -91,14 +97,14 @@
checkitem CLEAR_BELL
iftrue .RingClearBell
writetext UnknownText_0x981a4
+ waitbutton
closetext
- loadmovesprites
end
.RingClearBell:
writetext UnknownText_0x98250
+ waitbutton
closetext
- loadmovesprites
dotrigger $1
setevent EVENT_RANG_CLEAR_BELL_2
clearevent EVENT_RANG_CLEAR_BELL_1
@@ -107,30 +113,30 @@
.AllowedThrough:
writetext UnknownText_0x9837e
+ waitbutton
closetext
- loadmovesprites
end
.Event000:
writetext UnknownText_0x98391
+ waitbutton
closetext
- loadmovesprites
end
SageScript_0x980b0:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_CLEAR_BELL
iftrue .GotClearBell
writetext UnknownText_0x9840b
+ waitbutton
closetext
- loadmovesprites
end
.GotClearBell:
writetext UnknownText_0x9846f
+ waitbutton
closetext
- loadmovesprites
end
GrampsScript_0x980c4:
--- a/maps/EcruteakItemfinderHouse.asm
+++ b/maps/EcruteakItemfinderHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ECRUTEAKITEMFINDERHOUSE_COOLTRAINER_M
+ const ECRUTEAKITEMFINDERHOUSE_POKEDEX
+
EcruteakItemfinderHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,7 +11,7 @@
CooltrainerMScript_0x9a5fb:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_ITEMFINDER
iftrue UnknownScript_0x9a614
writetext UnknownText_0x9a63c
@@ -14,27 +18,27 @@
yesorno
iffalse UnknownScript_0x9a61a
writetext UnknownText_0x9a6b5
- keeptextopen
+ buttonsound
verbosegiveitem ITEMFINDER
setevent EVENT_GOT_ITEMFINDER
UnknownScript_0x9a614:
writetext UnknownText_0x9a70e
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x9a61a:
writetext UnknownText_0x9a805
+ waitbutton
closetext
- loadmovesprites
end
PokedexScript_0x9a620:
- loadfont
+ opentext
writetext UnknownText_0x9a826
yesorno
iftrue UnknownScript_0x9a62a
- loadmovesprites
+ closetext
end
UnknownScript_0x9a62a:
@@ -41,13 +45,13 @@
writetext UnknownText_0x9a84c
yesorno
iftrue UnknownScript_0x9a633
- loadmovesprites
+ closetext
end
UnknownScript_0x9a633:
writetext UnknownText_0x9a902
+ waitbutton
closetext
- loadmovesprites
end
ItemFinderHouseRadio:
--- a/maps/EcruteakLugiaSpeechHouse.asm
+++ b/maps/EcruteakLugiaSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ECRUTEAKLUGIASPEECHHOUSE_GRAMPS
+ const ECRUTEAKLUGIASPEECHHOUSE_YOUNGSTER
+
EcruteakLugiaSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/EcruteakMart.asm
+++ b/maps/EcruteakMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const ECRUTEAKMART_CLERK
+ const ECRUTEAKMART_SUPER_NERD
+ const ECRUTEAKMART_GRANNY
+
EcruteakMart_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,9 +11,9 @@
db 0
ClerkScript_0x99c3b:
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_ECRUTEAK
- loadmovesprites
+ closetext
end
SuperNerdScript_0x99c42:
--- a/maps/EcruteakPokeCenter1F.asm
+++ b/maps/EcruteakPokeCenter1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const ECRUTEAKPOKECENTER1F_NURSE
+ const ECRUTEAKPOKECENTER1F_POKEFAN_M
+ const ECRUTEAKPOKECENTER1F_COOLTRAINER_F
+ const ECRUTEAKPOKECENTER1F_GYM_GUY
+ const ECRUTEAKPOKECENTER1F_BILL
+
EcruteakPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 2
@@ -19,37 +26,37 @@
UnknownScript_0x98e64:
pause 30
playsound SFX_EXIT_BUILDING
- appear $6
- waitbutton
- applymovement $6, MovementData_0x98ec5
+ appear ECRUTEAKPOKECENTER1F_BILL
+ waitsfx
+ applymovement ECRUTEAKPOKECENTER1F_BILL, MovementData_0x98ec5
applymovement PLAYER, MovementData_0x98ed4
- spriteface $2, UP
+ spriteface ECRUTEAKPOKECENTER1F_NURSE, UP
pause 10
- spriteface $2, DOWN
+ spriteface ECRUTEAKPOKECENTER1F_NURSE, DOWN
pause 30
- spriteface $2, UP
+ spriteface ECRUTEAKPOKECENTER1F_NURSE, UP
pause 10
- spriteface $2, DOWN
+ spriteface ECRUTEAKPOKECENTER1F_NURSE, DOWN
pause 20
- spriteface $6, DOWN
+ spriteface ECRUTEAKPOKECENTER1F_BILL, DOWN
pause 10
- loadfont
+ opentext
writetext UnknownText_0x98ed8
- keeptextopen
+ buttonsound
jump UnknownScript_0x98e95
UnknownScript_0x98e95:
writetext UnknownText_0x98f22
+ waitbutton
closetext
- loadmovesprites
spriteface PLAYER, DOWN
- applymovement $6, MovementData_0x98ece
+ applymovement ECRUTEAKPOKECENTER1F_BILL, MovementData_0x98ece
playsound SFX_EXIT_BUILDING
- disappear $6
+ disappear ECRUTEAKPOKECENTER1F_BILL
clearevent EVENT_MET_BILL
setflag ENGINE_TIME_CAPSULE
dotrigger $1
- waitbutton
+ waitsfx
end
NurseScript_0x98eb0:
--- a/maps/ElmsHouse.asm
+++ b/maps/ElmsHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ELMSHOUSE_TEACHER
+ const ELMSHOUSE_BUG_CATCHER
+
ElmsHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/ElmsLab.asm
+++ b/maps/ElmsLab.asm
@@ -1,14 +1,22 @@
+const_value set 2
+ const ELMSLAB_ELM
+ const ELMSLAB_SCIENTIST
+ const ELMSLAB_POKE_BALL1
+ const ELMSLAB_POKE_BALL2
+ const ELMSLAB_POKE_BALL3
+ const ELMSLAB_OFFICER
+
ElmsLab_MapScriptHeader:
.MapTriggers:
db 6
; triggers
- dw UnknownScript_0x78b7a, 0
- dw UnknownScript_0x78b7e, 0
- dw UnknownScript_0x78b7f, 0
- dw UnknownScript_0x78b80, 0
- dw UnknownScript_0x78b81, 0
- dw UnknownScript_0x78b82, 0
+ dw .Trigger0, 0
+ dw .Trigger1, 0
+ dw .Trigger2, 0
+ dw .Trigger3, 0
+ dw .Trigger4, 0
+ dw .Trigger5, 0
.MapCallbacks:
db 1
@@ -15,39 +23,39 @@
; callbacks
- dbw 2, ElmsLab_PutElmAtLaptop
+ dbw 2, .Callback_MoveElm
-UnknownScript_0x78b7a:
+.Trigger0:
priorityjump ElmsLab_AutowalkUpToElm
end
-UnknownScript_0x78b7e:
+.Trigger1:
end
-UnknownScript_0x78b7f:
+.Trigger2:
end
-UnknownScript_0x78b80:
+.Trigger3:
end
-UnknownScript_0x78b81:
+.Trigger4:
end
-UnknownScript_0x78b82:
+.Trigger5:
end
-ElmsLab_PutElmAtLaptop:
+.Callback_MoveElm:
checktriggers
iftrue .Skip
- moveperson $2, $3, $4
+ moveperson ELMSLAB_ELM, $3, $4
.Skip:
return
ElmsLab_AutowalkUpToElm:
applymovement PLAYER, ElmsLab_WalkUpToElmMovement
- showemote EMOTE_SHOCK, $2, 15
- spriteface $2, RIGHT
- loadfont
+ showemote EMOTE_SHOCK, ELMSLAB_ELM, 15
+ spriteface ELMSLAB_ELM, RIGHT
+ opentext
writetext ElmText_Intro
ElmsLab_RefuseLoop:
yesorno
@@ -57,37 +65,37 @@
ElmsLab_ElmGetsEmail:
writetext ElmText_Accepted
- keeptextopen
+ buttonsound
writetext ElmText_ResearchAmbitions
+ waitbutton
closetext
- loadmovesprites
playsound SFX_GLASS_TING
pause 30
- showemote EMOTE_SHOCK, $2, 10
- spriteface $2, DOWN
- loadfont
+ showemote EMOTE_SHOCK, ELMSLAB_ELM, 10
+ spriteface ELMSLAB_ELM, DOWN
+ opentext
writetext ElmText_GotAnEmail
+ waitbutton
closetext
- loadmovesprites
- loadfont
- spriteface $2, RIGHT
+ opentext
+ spriteface ELMSLAB_ELM, RIGHT
writetext ElmText_MissionFromMrPokemon
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, ElmsLab_ElmToDefaultPositionMovement1
+ applymovement ELMSLAB_ELM, ElmsLab_ElmToDefaultPositionMovement1
spriteface PLAYER, UP
- applymovement $2, ElmsLab_ElmToDefaultPositionMovement2
+ applymovement ELMSLAB_ELM, ElmsLab_ElmToDefaultPositionMovement2
spriteface PLAYER, RIGHT
- loadfont
+ opentext
writetext ElmText_ChooseAPokemon
- closetext
+ waitbutton
dotrigger $1
- loadmovesprites
+ closetext
end
ProfElmScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_SS_TICKET_FROM_ELM
iftrue ElmCheckMasterBall
checkevent EVENT_BEAT_ELITE_FOUR
@@ -111,8 +119,8 @@
special Special_FindThatSpeciesYourTrainerID
iftrue ShowElmTogepiScript
writetext UnknownText_0x79a40
+ waitbutton
closetext
- loadmovesprites
end
ElmEggHatchedScript:
@@ -141,16 +149,16 @@
checkevent EVENT_GOT_A_POKEMON_FROM_ELM
iftrue ElmDescribesMrPokemonScript
writetext ElmText_LetYourMonBattleIt
+ waitbutton
closetext
- loadmovesprites
end
LabTryToLeaveScript:
- spriteface $2, DOWN
- loadfont
+ spriteface ELMSLAB_ELM, DOWN
+ opentext
writetext LabWhereGoingText
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x78f70
end
@@ -157,30 +165,30 @@
CyndaquilPokeBallScript:
checkevent EVENT_GOT_A_POKEMON_FROM_ELM
iftrue LookAtElmPokeBallScript
- spriteface $2, DOWN
+ spriteface ELMSLAB_ELM, DOWN
refreshscreen $0
pokepic CYNDAQUIL
cry CYNDAQUIL
- closetext
- pokepicyesorno
- loadfont
+ waitbutton
+ closepokepic
+ opentext
writetext TakeCyndaquilText
yesorno
iffalse DidntChooseStarterScript
- disappear $4
+ disappear ELMSLAB_POKE_BALL1
setevent EVENT_GOT_CYNDAQUIL_FROM_ELM
writetext ChoseStarterText
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
pokenamemem CYNDAQUIL, $0
writetext ReceivedStarterText
playsound SFX_CAUGHT_MON
- waitbutton
- keeptextopen
+ waitsfx
+ buttonsound
givepoke CYNDAQUIL, 5, BERRY
- loadmovesprites
+ closetext
checkcode VAR_FACING
- if_equal $3, ElmDirectionsScript
+ if_equal RIGHT, ElmDirectionsScript
applymovement PLAYER, AfterCyndaquilMovement
jump ElmDirectionsScript
@@ -187,28 +195,28 @@
TotodilePokeBallScript:
checkevent EVENT_GOT_A_POKEMON_FROM_ELM
iftrue LookAtElmPokeBallScript
- spriteface $2, DOWN
+ spriteface ELMSLAB_ELM, DOWN
refreshscreen $0
pokepic TOTODILE
cry TOTODILE
- closetext
- pokepicyesorno
- loadfont
+ waitbutton
+ closepokepic
+ opentext
writetext TakeTotodileText
yesorno
iffalse DidntChooseStarterScript
- disappear $5
+ disappear ELMSLAB_POKE_BALL2
setevent EVENT_GOT_TOTODILE_FROM_ELM
writetext ChoseStarterText
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
pokenamemem TOTODILE, $0
writetext ReceivedStarterText
playsound SFX_CAUGHT_MON
- waitbutton
- keeptextopen
+ waitsfx
+ buttonsound
givepoke TOTODILE, 5, BERRY
- loadmovesprites
+ closetext
applymovement PLAYER, AfterTotodileMovement
jump ElmDirectionsScript
@@ -215,60 +223,60 @@
ChikoritaPokeBallScript:
checkevent EVENT_GOT_A_POKEMON_FROM_ELM
iftrue LookAtElmPokeBallScript
- spriteface $2, DOWN
+ spriteface ELMSLAB_ELM, DOWN
refreshscreen $0
pokepic CHIKORITA
cry CHIKORITA
- closetext
- pokepicyesorno
- loadfont
+ waitbutton
+ closepokepic
+ opentext
writetext TakeChikoritaText
yesorno
iffalse DidntChooseStarterScript
- disappear $6
+ disappear ELMSLAB_POKE_BALL3
setevent EVENT_GOT_CHIKORITA_FROM_ELM
writetext ChoseStarterText
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
pokenamemem CHIKORITA, $0
writetext ReceivedStarterText
playsound SFX_CAUGHT_MON
- waitbutton
- keeptextopen
+ waitsfx
+ buttonsound
givepoke CHIKORITA, 5, BERRY
- loadmovesprites
+ closetext
applymovement PLAYER, AfterChikoritaMovement
jump ElmDirectionsScript
DidntChooseStarterScript:
writetext DidntChooseStarterText
+ waitbutton
closetext
- loadmovesprites
end
ElmDirectionsScript:
spriteface PLAYER, UP
- loadfont
+ opentext
writetext ElmDirectionsText1
+ waitbutton
closetext
- loadmovesprites
addcellnum PHONE_ELM
- loadfont
+ opentext
writetext GotElmsNumberText
playsound SFX_REGISTER_PHONE_NUMBER
+ waitsfx
waitbutton
closetext
- loadmovesprites
- spriteface $2, LEFT
- loadfont
+ spriteface ELMSLAB_ELM, LEFT
+ opentext
writetext ElmDirectionsText2
+ waitbutton
closetext
- loadmovesprites
- spriteface $2, DOWN
- loadfont
+ spriteface ELMSLAB_ELM, DOWN
+ opentext
writetext ElmDirectionsText3
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_GOT_A_POKEMON_FROM_ELM
setevent EVENT_RIVAL_CHERRYGROVE_CITY
dotrigger $5
@@ -277,24 +285,24 @@
ElmDescribesMrPokemonScript:
writetext ElmDescribesMrPokemonText
+ waitbutton
closetext
- loadmovesprites
end
LookAtElmPokeBallScript:
- loadfont
+ opentext
writetext ElmPokeBallText
+ waitbutton
closetext
- loadmovesprites
end
ElmsLabHealingMachine:
- loadfont
+ opentext
checkevent EVENT_GOT_A_POKEMON_FROM_ELM
iftrue .CanHeal
writetext ElmsLabHealingMachineText1
+ waitbutton
closetext
- loadmovesprites
end
.CanHeal
@@ -301,7 +309,7 @@
writetext ElmsLabHealingMachineText2
yesorno
iftrue ElmsLabHealingMachine_HealParty
- loadmovesprites
+ closetext
end
ElmsLabHealingMachine_HealParty:
@@ -312,12 +320,12 @@
special HealMachineAnim
pause 30
special RestartMapMusic
- loadmovesprites
+ closetext
end
ElmAfterTheftDoneScript:
+ waitbutton
closetext
- loadmovesprites
end
ElmAfterTheftScript:
@@ -324,18 +332,18 @@
writetext ElmAfterTheftText1
checkitem MYSTERY_EGG
iffalse ElmAfterTheftDoneScript
- keeptextopen
+ buttonsound
writetext ElmAfterTheftText2
- closetext
+ waitbutton
takeitem MYSTERY_EGG
scall ElmJumpBackScript1
writetext ElmAfterTheftText3
- closetext
+ waitbutton
scall ElmJumpBackScript2
writetext ElmAfterTheftText4
- keeptextopen
+ buttonsound
writetext ElmAfterTheftText5
- keeptextopen
+ buttonsound
setevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
setflag ENGINE_BUG_CONTEST_ON
domaptrigger ROUTE_29, $1
@@ -342,82 +350,82 @@
clearevent EVENT_ROUTE_30_YOUNGSTER_JOEY
setevent EVENT_ROUTE_30_BATTLE
writetext ElmAfterTheftText6
+ waitbutton
closetext
- loadmovesprites
dotrigger $6
end
ElmStudyingEggScript:
writetext ElmStudyingEggText
+ waitbutton
closetext
- loadmovesprites
end
ElmAideHasEggScript:
writetext ElmAideHasEggText
+ waitbutton
closetext
- loadmovesprites
end
ElmWaitingEggHatchScript:
writetext ElmWaitingEggHatchText
+ waitbutton
closetext
- loadmovesprites
end
ShowElmTogepiScript:
writetext ShowElmTogepiText1
+ waitbutton
closetext
- loadmovesprites
- showemote EMOTE_SHOCK, $2, 15
+ showemote EMOTE_SHOCK, ELMSLAB_ELM, 15
setevent EVENT_SHOWED_TOGEPI_TO_ELM
- loadfont
+ opentext
writetext ShowElmTogepiText2
- keeptextopen
+ buttonsound
writetext ShowElmTogepiText3
- keeptextopen
+ buttonsound
ElmGiveEverstoneScript:
writetext ElmGiveEverstoneText1
- keeptextopen
+ buttonsound
verbosegiveitem EVERSTONE
iffalse ElmScript_NoRoomForEverstone
writetext ElmGiveEverstoneText2
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_GOT_EVERSTONE_FROM_ELM
end
ElmScript_CallYou:
writetext ElmText_CallYou
- closetext
+ waitbutton
ElmScript_NoRoomForEverstone:
- loadmovesprites
+ closetext
end
ElmGiveMasterBallScript:
writetext ElmGiveMasterBallText1
- keeptextopen
+ buttonsound
verbosegiveitem MASTER_BALL
iffalse .notdone
setevent EVENT_GOT_MASTER_BALL_FROM_ELM
writetext ElmGiveMasterBallText2
- closetext
+ waitbutton
.notdone
- loadmovesprites
+ closetext
end
ElmGiveTicketScript:
writetext ElmGiveTicketText1
- keeptextopen
+ buttonsound
verbosegiveitem S_S_TICKET
setevent EVENT_GOT_SS_TICKET_FROM_ELM
writetext ElmGiveTicketText2
+ waitbutton
closetext
- loadmovesprites
end
ElmJumpBackScript1:
- loadmovesprites
+ closetext
checkcode VAR_FACING
if_equal DOWN, ElmJumpDownScript
if_equal UP, ElmJumpUpScript
@@ -426,7 +434,7 @@
end
ElmJumpBackScript2:
- loadmovesprites
+ closetext
checkcode VAR_FACING
if_equal DOWN, ElmJumpUpScript
if_equal UP, ElmJumpDownScript
@@ -435,75 +443,75 @@
end
ElmJumpUpScript:
- applymovement $2, ElmJumpUpMovement
- loadfont
+ applymovement ELMSLAB_ELM, ElmJumpUpMovement
+ opentext
end
ElmJumpDownScript:
- applymovement $2, ElmJumpDownMovement
- loadfont
+ applymovement ELMSLAB_ELM, ElmJumpDownMovement
+ opentext
end
ElmJumpLeftScript:
- applymovement $2, ElmJumpLeftMovement
- loadfont
+ applymovement ELMSLAB_ELM, ElmJumpLeftMovement
+ opentext
end
ElmJumpRightScript:
- applymovement $2, ElmJumpRightMovement
- loadfont
+ applymovement ELMSLAB_ELM, ElmJumpRightMovement
+ opentext
end
AideScript_WalkPotions1:
- applymovement $3, AideWalksRight1
+ applymovement ELMSLAB_SCIENTIST, AideWalksRight1
spriteface PLAYER, DOWN
scall AideScript_GivePotions
- applymovement $3, AideWalksLeft1
+ applymovement ELMSLAB_SCIENTIST, AideWalksLeft1
end
AideScript_WalkPotions2:
- applymovement $3, AideWalksRight2
+ applymovement ELMSLAB_SCIENTIST, AideWalksRight2
spriteface PLAYER, DOWN
scall AideScript_GivePotions
- applymovement $3, AideWalksLeft2
+ applymovement ELMSLAB_SCIENTIST, AideWalksLeft2
end
AideScript_GivePotions:
- loadfont
+ opentext
writetext AideText_GiveYouPotions
- keeptextopen
+ buttonsound
verbosegiveitem POTION
writetext AideText_AlwaysBusy
+ waitbutton
closetext
- loadmovesprites
dotrigger $2
end
AideScript_WalkBalls1:
- applymovement $3, AideWalksRight1
+ applymovement ELMSLAB_SCIENTIST, AideWalksRight1
spriteface PLAYER, DOWN
scall AideScript_GiveYouBalls
- applymovement $3, AideWalksLeft1
+ applymovement ELMSLAB_SCIENTIST, AideWalksLeft1
end
AideScript_WalkBalls2:
- applymovement $3, AideWalksRight2
+ applymovement ELMSLAB_SCIENTIST, AideWalksRight2
spriteface PLAYER, DOWN
scall AideScript_GiveYouBalls
- applymovement $3, AideWalksLeft2
+ applymovement ELMSLAB_SCIENTIST, AideWalksLeft2
end
AideScript_GiveYouBalls:
- loadfont
+ opentext
writetext AideText_GiveYouBalls
- keeptextopen
+ buttonsound
itemtotext POKE_BALL, $1
scall AideScript_ReceiveTheBalls
giveitem POKE_BALL, 5
writetext AideText_ExplainBalls
- keeptextopen
+ buttonsound
itemnotify
- loadmovesprites
+ closetext
dotrigger $2
end
@@ -513,7 +521,7 @@
ElmsAideScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
iftrue AideScript_AfterTheft
checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
@@ -521,26 +529,26 @@
checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
iftrue AideScript_TheftTestimony
writetext AideText_AlwaysBusy
+ waitbutton
closetext
- loadmovesprites
end
AideScript_TheftTestimony:
writetext AideText_TheftTestimony
+ waitbutton
closetext
- loadmovesprites
end
AideScript_ExplainBalls:
writetext AideText_ExplainBalls
+ waitbutton
closetext
- loadmovesprites
end
AideScript_AfterTheft:
writetext AideText_AfterTheft
+ waitbutton
closetext
- loadmovesprites
end
MeetCopScript2:
@@ -549,21 +557,21 @@
MeetCopScript:
applymovement PLAYER, MeetCopScript_WalkUp
CopScript:
- spriteface $7, LEFT
- loadfont
+ spriteface ELMSLAB_OFFICER, LEFT
+ opentext
writetext ElmsLabOfficerText1
- keeptextopen
+ buttonsound
special SpecialNameRival
writetext ElmsLabOfficerText2
+ waitbutton
closetext
- loadmovesprites
- applymovement $7, OfficerLeavesMovement
- disappear $7
+ applymovement ELMSLAB_OFFICER, OfficerLeavesMovement
+ disappear ELMSLAB_OFFICER
dotrigger $2
end
ElmsLabWindow:
- loadfont
+ opentext
checkflag ENGINE_FLYPOINT_VIOLET
iftrue .Normal
checkevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON
@@ -572,14 +580,14 @@
.BreakIn
writetext ElmsLabWindowText2
+ waitbutton
closetext
- loadmovesprites
end
.Normal
writetext ElmsLabWindowText1
+ waitbutton
closetext
- loadmovesprites
end
ElmsLabTravelTip1:
--- a/maps/FastShip1F.asm
+++ b/maps/FastShip1F.asm
@@ -1,29 +1,35 @@
+const_value set 2
+ const FASTSHIP1F_SAILOR1
+ const FASTSHIP1F_SAILOR2
+ const FASTSHIP1F_SAILOR3
+ const FASTSHIP1F_GENTLEMAN
+
FastShip1F_MapScriptHeader:
.MapTriggers:
db 3
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
dw .Trigger2, 0
- dw .Trigger3, 0
.MapCallbacks:
db 0
-.Trigger1:
+.Trigger0:
end
-.Trigger2:
+.Trigger1:
priorityjump .PriorityJump2
end
-.Trigger3:
+.Trigger2:
end
.PriorityJump2:
- applymovement $2, MovementData_0x7520e
+ applymovement FASTSHIP1F_SAILOR1, MovementData_0x7520e
applymovement PLAYER, MovementData_0x75217
- applymovement $2, MovementData_0x75211
+ applymovement FASTSHIP1F_SAILOR1, MovementData_0x75211
pause 30
playsound SFX_BOAT
earthquake 30
@@ -40,20 +46,20 @@
SailorScript_0x75160:
faceplayer
- loadfont
+ opentext
checkevent EVENT_FAST_SHIP_HAS_ARRIVED
iftrue .Arrived
checkevent EVENT_FAST_SHIP_DESTINATION_OLIVINE
iftrue .Olivine
writetext UnknownText_0x7523b
+ waitbutton
closetext
- loadmovesprites
end
.Olivine
writetext UnknownText_0x7529b
+ waitbutton
closetext
- loadmovesprites
end
.Arrived:
@@ -60,12 +66,12 @@
checkevent EVENT_FAST_SHIP_DESTINATION_OLIVINE
iftrue ._Olivine
writetext UnknownText_0x754be
+ waitbutton
closetext
- loadmovesprites
scall .LetThePlayerOut
playsound SFX_EXIT_BUILDING
special FadeOutPalettes
- waitbutton
+ waitsfx
setevent EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
domaptrigger VERMILION_PORT, $1
warp VERMILION_PORT, $7, $11
@@ -73,12 +79,12 @@
._Olivine
writetext UnknownText_0x7548d
+ waitbutton
closetext
- loadmovesprites
scall .LetThePlayerOut
playsound SFX_EXIT_BUILDING
special FadeOutPalettes
- waitbutton
+ waitsfx
setevent EVENT_OLIVINE_PORT_SAILOR_AT_GANGWAY
domaptrigger OLIVINE_PORT, $1
warp OLIVINE_PORT, $7, $17
@@ -87,29 +93,29 @@
.LetThePlayerOut:
checkcode VAR_FACING
if_equal RIGHT, .YouAreFacingRight
- applymovement $2, MovementData_0x7520e
+ applymovement FASTSHIP1F_SAILOR1, MovementData_0x7520e
applymovement PLAYER, MovementData_0x75235
end
.YouAreFacingRight:
- applymovement $2, MovementData_0x75214
+ applymovement FASTSHIP1F_SAILOR1, MovementData_0x75214
applymovement PLAYER, MovementData_0x75238
end
SailorScript_0x751d0:
faceplayer
- loadfont
+ opentext
checkevent EVENT_FAST_SHIP_FIRST_TIME
iftrue .Vermilion
writetext UnknownText_0x752f9
+ waitbutton
closetext
- loadmovesprites
end
.Vermilion:
writetext UnknownText_0x7534f
+ waitbutton
closetext
- loadmovesprites
end
SailorScript_0x751e4:
@@ -116,21 +122,21 @@
jumptextfaceplayer UnknownText_0x753c0
WorriedGrandpaTriggerRight:
- moveperson $5, $14, $6
+ moveperson FASTSHIP1F_GENTLEMAN, $14, $6
WorriedGrandpaTriggerLeft:
- appear $5
- applymovement $5, MovementData_0x7521b
+ appear FASTSHIP1F_GENTLEMAN
+ applymovement FASTSHIP1F_GENTLEMAN, MovementData_0x7521b
playsound SFX_TACKLE
applymovement PLAYER, MovementData_0x7522e
- applymovement $5, MovementData_0x75220
- loadfont
+ applymovement FASTSHIP1F_GENTLEMAN, MovementData_0x75220
+ opentext
writetext UnknownText_0x75412
+ waitbutton
closetext
- loadmovesprites
spriteface PLAYER, RIGHT
- applymovement $5, MovementData_0x75222
- disappear $5
+ applymovement FASTSHIP1F_GENTLEMAN, MovementData_0x75222
+ disappear FASTSHIP1F_GENTLEMAN
dotrigger $0
end
--- a/maps/FastShipB1F.asm
+++ b/maps/FastShipB1F.asm
@@ -1,3 +1,17 @@
+const_value set 2
+ const FASTSHIPB1F_SAILOR1
+ const FASTSHIPB1F_SAILOR2
+ const FASTSHIPB1F_SAILOR3
+ const FASTSHIPB1F_LASS
+ const FASTSHIPB1F_SUPER_NERD
+ const FASTSHIPB1F_SAILOR4
+ const FASTSHIPB1F_FISHER
+ const FASTSHIPB1F_BLACK_BELT
+ const FASTSHIPB1F_SAILOR5
+ const FASTSHIPB1F_TEACHER
+ const FASTSHIPB1F_YOUNGSTER1
+ const FASTSHIPB1F_YOUNGSTER2
+
FastShipB1F_MapScriptHeader:
.MapTriggers:
db 2
@@ -18,21 +32,21 @@
UnknownScript_0x7673c:
checkevent EVENT_FAST_SHIP_B1F_SAILOR_RIGHT
iftrue UnknownScript_0x76766
- applymovement $3, MovementData_0x76876
- moveperson $2, $1e, $6
- appear $2
+ applymovement FASTSHIPB1F_SAILOR2, MovementData_0x76876
+ moveperson FASTSHIPB1F_SAILOR1, $1e, $6
+ appear FASTSHIPB1F_SAILOR1
pause 5
- disappear $3
+ disappear FASTSHIPB1F_SAILOR2
end
UnknownScript_0x76751:
checkevent EVENT_FAST_SHIP_B1F_SAILOR_LEFT
iftrue UnknownScript_0x76766
- applymovement $2, MovementData_0x76871
- moveperson $3, $1f, $6
- appear $3
+ applymovement FASTSHIPB1F_SAILOR1, MovementData_0x76871
+ moveperson FASTSHIPB1F_SAILOR2, $1f, $6
+ appear FASTSHIPB1F_SAILOR2
pause 5
- disappear $2
+ disappear FASTSHIPB1F_SAILOR1
end
UnknownScript_0x76766:
@@ -40,7 +54,7 @@
SailorScript_0x76767:
faceplayer
- loadfont
+ opentext
checkevent EVENT_FAST_SHIP_FIRST_TIME
iftrue UnknownScript_0x767a0
checkevent EVENT_FAST_SHIP_LAZY_SAILOR
@@ -48,8 +62,8 @@
checkevent EVENT_FAST_SHIP_INFORMED_ABOUT_LAZY_SAILOR
iftrue UnknownScript_0x76787
writetext UnknownText_0x7687b
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_FAST_SHIP_INFORMED_ABOUT_LAZY_SAILOR
clearevent EVENT_FAST_SHIP_CABINS_NNW_NNE_NE_SAILOR
end
@@ -56,8 +70,8 @@
UnknownScript_0x76787:
writetext UnknownText_0x76907
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x7678d:
@@ -64,21 +78,21 @@
writetext UnknownText_0x7692e
checkevent EVENT_FAST_SHIP_FOUND_GIRL
iffalse UnknownScript_0x76799
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x76799:
- keeptextopen
+ buttonsound
writetext UnknownText_0x7696d
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x767a0:
writetext UnknownText_0x7699d
+ waitbutton
closetext
- loadmovesprites
end
TrainerSailorJeff:
@@ -85,11 +99,11 @@
trainer EVENT_BEAT_SAILOR_JEFF, SAILOR, JEFF, SailorJeffSeenText, SailorJeffBeatenText, 0, SailorJeffScript
SailorJeffScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x76a38
+ waitbutton
closetext
- loadmovesprites
end
TrainerPicnickerDebra:
@@ -96,11 +110,11 @@
trainer EVENT_BEAT_PICNICKER_DEBRA, PICNICKER, DEBRA, PicnickerDebraSeenText, PicnickerDebraBeatenText, 0, PicnickerDebraScript
PicnickerDebraScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x76a99
+ waitbutton
closetext
- loadmovesprites
end
TrainerJugglerFritz:
@@ -107,11 +121,11 @@
trainer EVENT_BEAT_JUGGLER_FRITZ, JUGGLER, FRITZ, JugglerFritzSeenText, JugglerFritzBeatenText, 0, JugglerFritzScript
JugglerFritzScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x76b02
+ waitbutton
closetext
- loadmovesprites
end
TrainerSailorGarrett:
@@ -118,11 +132,11 @@
trainer EVENT_BEAT_SAILOR_GARRETT, SAILOR, GARRETT, SailorGarrettSeenText, SailorGarrettBeatenText, 0, SailorGarrettScript
SailorGarrettScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x76b7a
+ waitbutton
closetext
- loadmovesprites
end
TrainerFisherJonah:
@@ -129,11 +143,11 @@
trainer EVENT_BEAT_FISHER_JONAH, FISHER, JONAH, FisherJonahSeenText, FisherJonahBeatenText, 0, FisherJonahScript
FisherJonahScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x76c22
+ waitbutton
closetext
- loadmovesprites
end
TrainerBlackbeltWai:
@@ -140,11 +154,11 @@
trainer EVENT_BEAT_BLACKBELT_WAI, BLACKBELT_T, WAI, BlackbeltWaiSeenText, BlackbeltWaiBeatenText, 0, BlackbeltWaiScript
BlackbeltWaiScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x76c9e
+ waitbutton
closetext
- loadmovesprites
end
TrainerSailorKenneth:
@@ -151,11 +165,11 @@
trainer EVENT_BEAT_SAILOR_KENNETH, SAILOR, KENNETH, SailorKennethSeenText, SailorKennethBeatenText, 0, SailorKennethScript
SailorKennethScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x76d5f
+ waitbutton
closetext
- loadmovesprites
end
TrainerTeacherShirley:
@@ -162,11 +176,11 @@
trainer EVENT_BEAT_TEACHER_SHIRLEY, TEACHER, SHIRLEY, TeacherShirleySeenText, TeacherShirleyBeatenText, 0, TeacherShirleyScript
TeacherShirleyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x76de1
+ waitbutton
closetext
- loadmovesprites
end
TrainerSchoolboyNate:
@@ -173,11 +187,11 @@
trainer EVENT_BEAT_SCHOOLBOY_NATE, SCHOOLBOY, NATE, SchoolboyNateSeenText, SchoolboyNateBeatenText, 0, SchoolboyNateScript
SchoolboyNateScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x76e3d
+ waitbutton
closetext
- loadmovesprites
end
TrainerSchoolboyRicky:
@@ -184,11 +198,11 @@
trainer EVENT_BEAT_SCHOOLBOY_RICKY, SCHOOLBOY, RICKY, SchoolboyRickySeenText, SchoolboyRickyBeatenText, 0, SchoolboyRickyScript
SchoolboyRickyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x76eb6
+ waitbutton
closetext
- loadmovesprites
end
FashShipB1FTrashcan:
--- a/maps/FastShipCabins_NNW_NNE_NE.asm
+++ b/maps/FastShipCabins_NNW_NNE_NE.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const FASTSHIPCABINS_NNW_NNE_NE_COOLTRAINER_M
+ const FASTSHIPCABINS_NNW_NNE_NE_COOLTRAINER_F
+ const FASTSHIPCABINS_NNW_NNE_NE_SUPER_NERD
+ const FASTSHIPCABINS_NNW_NNE_NE_POKEFAN_M
+ const FASTSHIPCABINS_NNW_NNE_NE_SAILOR
+ const FASTSHIPCABINS_NNW_NNE_NE_GENTLEMAN
+ const FASTSHIPCABINS_NNW_NNE_NE_PHARMACIST
+
FastShipCabins_NNW_NNE_NE_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +18,11 @@
trainer EVENT_BEAT_COOLTRAINERM_SEAN, COOLTRAINERM, SEAN, CooltrainermSeanSeenText, CooltrainermSeanBeatenText, 0, CooltrainermSeanScript
CooltrainermSeanScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7567b
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfCarol:
@@ -20,11 +29,11 @@
trainer EVENT_BEAT_COOLTRAINERF_CAROL, COOLTRAINERF, CAROL, CooltrainerfCarolSeenText, CooltrainerfCarolBeatenText, 0, CooltrainerfCarolScript
CooltrainerfCarolScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x756f7
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokemaniacEthan:
@@ -31,11 +40,11 @@
trainer EVENT_BEAT_POKEMANIAC_ETHAN, POKEMANIAC, ETHAN, PokemaniacEthanSeenText, PokemaniacEthanBeatenText, 0, PokemaniacEthanScript
PokemaniacEthanScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7574b
+ waitbutton
closetext
- loadmovesprites
end
TrainerHikerNoland:
@@ -42,11 +51,11 @@
trainer EVENT_BEAT_HIKER_NOLAND, HIKER, NOLAND, HikerNolandSeenText, HikerNolandBeatenText, 0, HikerNolandScript
HikerNolandScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x757d4
+ waitbutton
closetext
- loadmovesprites
end
TrainerGentlemanEdward:
@@ -53,11 +62,11 @@
trainer EVENT_BEAT_GENTLEMAN_EDWARD, GENTLEMAN, EDWARD, GentlemanEdwardSeenText, GentlemanEdwardBeatenText, 0, GentlemanEdwardScript
GentlemanEdwardScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x75937
+ waitbutton
closetext
- loadmovesprites
end
TrainerBurglarCorey:
@@ -64,20 +73,20 @@
trainer EVENT_BEAT_BURGLAR_COREY, BURGLAR, COREY, BurglarCoreySeenText, BurglarCoreyBeatenText, 0, BurglarCoreyScript
BurglarCoreyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x75996
+ waitbutton
closetext
- loadmovesprites
end
SailorScript_0x755f1:
playmusic MUSIC_HIKER_ENCOUNTER
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x75812
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x75897, 0
loadtrainer SAILOR, STANLY
startbattle
@@ -84,25 +93,25 @@
reloadmap
special HealParty
setevent EVENT_BEAT_SAILOR_STANLY
- loadfont
+ opentext
writetext UnknownText_0x758b1
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_FAST_SHIP_LAZY_SAILOR
domaptrigger FAST_SHIP_B1F, $1
checkcode VAR_FACING
if_equal $3, UnknownScript_0x75629
- applymovement $6, MovementData_0x75637
+ applymovement FASTSHIPCABINS_NNW_NNE_NE_SAILOR, MovementData_0x75637
playsound SFX_EXIT_BUILDING
- disappear $6
- waitbutton
+ disappear FASTSHIPCABINS_NNW_NNE_NE_SAILOR
+ waitsfx
end
UnknownScript_0x75629:
- applymovement $6, MovementData_0x7563c
+ applymovement FASTSHIPCABINS_NNW_NNE_NE_SAILOR, MovementData_0x7563c
playsound SFX_EXIT_BUILDING
- disappear $6
- waitbutton
+ disappear FASTSHIPCABINS_NNW_NNE_NE_SAILOR
+ waitsfx
end
FastShipCabins_NNW_NNE_NETrashcan:
--- a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
+++ b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
@@ -1,3 +1,16 @@
+const_value set 2
+ const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_CAPTAIN
+ const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN
+ const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1
+ const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN2
+ const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_POKEFAN_M1
+ const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN3
+ const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN4
+ const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_SUPER_NERD1
+ const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_POKEFAN_M2
+ const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_POKEFAN_F
+ const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_SUPER_NERD2
+
FastShipCabins_SE_SSE_CaptainsCabin_MapScriptHeader:
.MapTriggers:
db 0
@@ -10,63 +23,63 @@
CaptainScript_0x75ea7:
faceplayer
- loadfont
+ opentext
checkevent EVENT_FAST_SHIP_FIRST_TIME
iftrue UnknownScript_0x75eb5
writetext UnknownText_0x76012
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x75eb5:
writetext UnknownText_0x76064
+ waitbutton
closetext
- loadmovesprites
end
TwinScript_0x75ebb:
- spriteface $5, RIGHT
- loadfont
+ spriteface FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN2, RIGHT
+ opentext
writetext UnknownText_0x761e0
+ waitbutton
closetext
- loadmovesprites
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x7621f
+ waitbutton
closetext
- loadmovesprites
special Special_FadeBlackQuickly
special Special_ReloadSpritesNoPalettes
- disappear $5
+ disappear FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN2
applymovement PLAYER, MovementData_0x76004
- moveperson $4, $3, $13
- appear $4
+ moveperson FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1, $3, $13
+ appear FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1
spriteface PLAYER, UP
- spriteface $4, UP
+ spriteface FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1, UP
special Special_FadeInQuickly
- spriteface $3, DOWN
- showemote EMOTE_SHOCK, $3, 15
- applymovement $4, MovementData_0x7600c
- spriteface $3, RIGHT
+ spriteface FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN, DOWN
+ showemote EMOTE_SHOCK, FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN, 15
+ applymovement FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1, MovementData_0x7600c
+ spriteface FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN, RIGHT
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue UnknownScript_0x75f03
- loadfont
+ opentext
writetext UnknownText_0x76284
+ waitbutton
closetext
- loadmovesprites
jump UnknownScript_0x75f09
UnknownScript_0x75f03:
- loadfont
+ opentext
writetext UnknownText_0x762c6
+ waitbutton
closetext
- loadmovesprites
UnknownScript_0x75f09:
- spriteface $5, DOWN
- applymovement $3, MovementData_0x76010
- loadfont
+ spriteface FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN2, DOWN
+ applymovement FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN, MovementData_0x76010
+ opentext
writetext UnknownText_0x76143
- keeptextopen
+ buttonsound
setevent EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
domaptrigger FAST_SHIP_1F, $0
jump UnknownScript_0x75f37
@@ -73,58 +86,58 @@
GentlemanScript_0x75f1f:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_METAL_COAT_FROM_GRANDPA_ON_SS_AQUA
iftrue UnknownScript_0x75f67
checkevent EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_2
iftrue UnknownScript_0x75f58
writetext UnknownText_0x760ae
+ waitbutton
closetext
- loadmovesprites
domaptrigger FAST_SHIP_1F, $0
end
UnknownScript_0x75f37:
writetext UnknownText_0x7619b
- keeptextopen
+ buttonsound
verbosegiveitem METAL_COAT
iffalse UnknownScript_0x75f44
setevent EVENT_GOT_METAL_COAT_FROM_GRANDPA_ON_SS_AQUA
UnknownScript_0x75f44:
- loadmovesprites
- waitbutton
+ closetext
+ waitsfx
playsound SFX_ELEVATOR_END
pause 30
- loadfont
+ opentext
writetext UnknownText_0x76645
- closetext
+ waitbutton
setevent EVENT_FAST_SHIP_HAS_ARRIVED
setevent EVENT_FAST_SHIP_FOUND_GIRL
- loadmovesprites
+ closetext
end
UnknownScript_0x75f58:
writetext UnknownText_0x7619b
- keeptextopen
+ buttonsound
verbosegiveitem METAL_COAT
iffalse UnknownScript_0x75f65
setevent EVENT_GOT_METAL_COAT_FROM_GRANDPA_ON_SS_AQUA
UnknownScript_0x75f65:
- loadmovesprites
+ closetext
end
UnknownScript_0x75f67:
writetext UnknownText_0x761be
+ waitbutton
closetext
- loadmovesprites
end
TwinScript_0x75f6d:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x7630d
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokefanmColin:
@@ -131,11 +144,11 @@
trainer EVENT_BEAT_POKEFANM_COLIN, POKEFANM, COLIN, PokefanmColinSeenText, PokefanmColinBeatenText, 0, PokefanmColinScript
PokefanmColinScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7635b
+ waitbutton
closetext
- loadmovesprites
end
TrainerTwinsMegandpeg1:
@@ -142,11 +155,11 @@
trainer EVENT_BEAT_TWINS_MEG_AND_PEG, TWINS, MEGANDPEG1, TwinsMegandpeg1SeenText, TwinsMegandpeg1BeatenText, 0, TwinsMegandpeg1Script
TwinsMegandpeg1Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x763c2
+ waitbutton
closetext
- loadmovesprites
end
TrainerTwinsMegandpeg2:
@@ -153,11 +166,11 @@
trainer EVENT_BEAT_TWINS_MEG_AND_PEG, TWINS, MEGANDPEG2, TwinsMegandpeg2SeenText, TwinsMegandpeg2BeatenText, 0, TwinsMegandpeg2Script
TwinsMegandpeg2Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x76428
+ waitbutton
closetext
- loadmovesprites
end
TrainerPsychicRodney:
@@ -164,11 +177,11 @@
trainer EVENT_BEAT_PSYCHIC_RODNEY, PSYCHIC_T, RODNEY, PsychicRodneySeenText, PsychicRodneyBeatenText, 0, PsychicRodneyScript
PsychicRodneyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x76497
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokefanmJeremy:
@@ -175,11 +188,11 @@
trainer EVENT_BEAT_POKEFANM_JEREMY, POKEFANM, JEREMY, PokefanmJeremySeenText, PokefanmJeremyBeatenText, 0, PokefanmJeremyScript
PokefanmJeremyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7651c
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokefanfGeorgia:
@@ -186,11 +199,11 @@
trainer EVENT_BEAT_POKEFANF_GEORGIA, POKEFANF, GEORGIA, PokefanfGeorgiaSeenText, PokefanfGeorgiaBeatenText, 0, PokefanfGeorgiaScript
PokefanfGeorgiaScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x76596
+ waitbutton
closetext
- loadmovesprites
end
TrainerSupernerdShawn:
@@ -197,11 +210,11 @@
trainer EVENT_BEAT_SUPER_NERD_SHAWN, SUPER_NERD, SHAWN, SupernerdShawnSeenText, SupernerdShawnBeatenText, 0, SupernerdShawnScript
SupernerdShawnScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7660f
+ waitbutton
closetext
- loadmovesprites
end
FastShipCaptainsCabinTrashcan:
--- a/maps/FastShipCabins_SW_SSW_NW.asm
+++ b/maps/FastShipCabins_SW_SSW_NW.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const FASTSHIPCABINS_SW_SSW_NW_FISHER
+ const FASTSHIPCABINS_SW_SSW_NW_BUG_CATCHER
+ const FASTSHIPCABINS_SW_SSW_NW_BUENA
+ const FASTSHIPCABINS_SW_SSW_NW_ROCKER
+
FastShipCabins_SW_SSW_NW_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +15,11 @@
trainer EVENT_BEAT_FIREBREATHER_LYLE, FIREBREATHER, LYLE, FirebreatherLyleSeenText, FirebreatherLyleBeatenText, 0, FirebreatherLyleScript
FirebreatherLyleScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x75b52
+ waitbutton
closetext
- loadmovesprites
end
TrainerBug_catcherKen:
@@ -20,11 +26,11 @@
trainer EVENT_BEAT_BUG_CATCHER_KEN, BUG_CATCHER, KEN, Bug_catcherKenSeenText, Bug_catcherKenBeatenText, 0, Bug_catcherKenScript
Bug_catcherKenScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x75bd5
+ waitbutton
closetext
- loadmovesprites
end
TrainerBeautyCassie:
@@ -31,11 +37,11 @@
trainer EVENT_BEAT_BEAUTY_CASSIE, BEAUTY, CASSIE, BeautyCassieSeenText, BeautyCassieBeatenText, 0, BeautyCassieScript
BeautyCassieScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x75c43
+ waitbutton
closetext
- loadmovesprites
end
TrainerGuitaristClyde:
@@ -42,27 +48,27 @@
trainer EVENT_BEAT_GUITARIST_CLYDE, GUITARIST, CLYDE, GuitaristClydeSeenText, GuitaristClydeBeatenText, 0, GuitaristClydeScript
GuitaristClydeScript:
- talkaftercancel
+ end_if_just_battled
special Mobile_DummyReturnFalse
iftrue .mobile
- loadfont
+ opentext
writetext UnknownText_0x75d65
+ waitbutton
closetext
- loadmovesprites
end
.mobile:
- loadfont
+ opentext
writetext UnknownText_0x75cfe
+ waitbutton
closetext
- loadmovesprites
end
FastShipBed:
- loadfont
+ opentext
writetext FastShipBedText1
+ waitbutton
closetext
- loadmovesprites
special Special_FadeBlackQuickly
special Special_ReloadSpritesNoPalettes
special Mobile_HealParty
@@ -71,10 +77,10 @@
pause 60
special RestartMapMusic
special Special_FadeInQuickly
- loadfont
+ opentext
writetext FastShipBedText2
+ waitbutton
closetext
- loadmovesprites
checkevent EVENT_FAST_SHIP_HAS_ARRIVED
iftrue UnknownScript_0x75ae1
checkevent EVENT_FAST_SHIP_FOUND_GIRL
@@ -89,18 +95,18 @@
pause 30
checkevent EVENT_FAST_SHIP_DESTINATION_OLIVINE
iftrue UnknownScript_0x75af7
- loadfont
+ opentext
writetext FastShipArrivedVermilionText
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_FAST_SHIP_HAS_ARRIVED
end
UnknownScript_0x75af7:
- loadfont
+ opentext
writetext FastShipArrivedOlivineText
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_FAST_SHIP_HAS_ARRIVED
end
--- a/maps/FightingDojo.asm
+++ b/maps/FightingDojo.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const FIGHTINGDOJO_BLACK_BELT
+ const FIGHTINGDOJO_POKE_BALL
+
FightingDojo_MapScriptHeader:
.MapTriggers:
db 0
@@ -14,8 +18,8 @@
MapFightingDojoSignpost1Script:
jumptext UnknownText_0x189be0
-ItemFragment_0x189b6a:
- db FOCUS_BAND, 1
+FightingDojoFocusBand:
+ itemball FOCUS_BAND
UnknownText_0x189b6c:
text "Hello!"
@@ -58,4 +62,4 @@
.PersonEvents:
db 2
person_event SPRITE_BLACK_BELT, 4, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, BlackBeltScript_0x189b61, -1
- person_event SPRITE_POKE_BALL, 1, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x189b6a, EVENT_PICKED_UP_FOCUS_BAND
+ person_event SPRITE_POKE_BALL, 1, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, FightingDojoFocusBand, EVENT_PICKED_UP_FOCUS_BAND
--- a/maps/FuchsiaBillSpeechHouse.asm
+++ b/maps/FuchsiaBillSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const FUCHSIABILLSPEECHHOUSE_POKEFAN_F
+ const FUCHSIABILLSPEECHHOUSE_YOUNGSTER
+
FuchsiaBillSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/FuchsiaCity.asm
+++ b/maps/FuchsiaCity.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const FUCHSIACITY_YOUNGSTER
+ const FUCHSIACITY_POKEFAN_M
+ const FUCHSIACITY_TEACHER
+ const FUCHSIACITY_FRUIT_TREE
+
FuchsiaCity_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/FuchsiaGym.asm
+++ b/maps/FuchsiaGym.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const FUCHSIAGYM_JANINE
+ const FUCHSIAGYM_FUCHSIA_GYM_1
+ const FUCHSIAGYM_FUCHSIA_GYM_2
+ const FUCHSIAGYM_FUCHSIA_GYM_3
+ const FUCHSIAGYM_FUCHSIA_GYM_4
+ const FUCHSIAGYM_GYM_GUY
+
FuchsiaGym_MapScriptHeader:
.MapTriggers:
db 0
@@ -8,16 +16,16 @@
JanineScript_0x195db9:
checkflag ENGINE_SOULBADGE
iftrue .FightDone
- applymovement $2, MovementData_0x195f27
+ applymovement FUCHSIAGYM_JANINE, MovementData_0x195f27
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x195f35
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x195fa1, 0
loadtrainer JANINE, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_JANINE
setevent EVENT_BEAT_LASS_ALICE
setevent EVENT_BEAT_LASS_LINDA
@@ -28,179 +36,179 @@
variablesprite SPRITE_FUCHSIA_GYM_3, SPRITE_LASS
variablesprite SPRITE_FUCHSIA_GYM_4, SPRITE_YOUNGSTER
special RunCallback_04
- loadfont
+ opentext
writetext UnknownText_0x195feb
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_SOULBADGE
jump UnknownScript_0x195e02
.FightDone
faceplayer
- loadfont
+ opentext
UnknownScript_0x195e02:
checkevent EVENT_GOT_TM06_TOXIC
iftrue UnknownScript_0x195e15
writetext UnknownText_0x196002
- keeptextopen
+ buttonsound
verbosegiveitem TM_TOXIC
iffalse UnknownScript_0x195e15
setevent EVENT_GOT_TM06_TOXIC
UnknownScript_0x195e15:
writetext UnknownText_0x196074
+ waitbutton
closetext
- loadmovesprites
end
FuschiaGym1Script_0x195e1b:
checkevent EVENT_BEAT_LASS_ALICE
iftrue UnknownScript_0x195e2c
- applymovement $3, MovementData_0x195f27
+ applymovement FUCHSIAGYM_FUCHSIA_GYM_1, MovementData_0x195f27
faceplayer
variablesprite SPRITE_FUCHSIA_GYM_1, SPRITE_LASS
special RunCallback_04
UnknownScript_0x195e2c:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_LASS_ALICE
iftrue UnknownScript_0x195e4f
writetext UnknownText_0x1960e6
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x196126, 0
loadtrainer LASS, ALICE
startbattle
iftrue UnknownScript_0x195e4a
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_LASS_ALICE
end
UnknownScript_0x195e4a:
variablesprite SPRITE_FUCHSIA_GYM_1, SPRITE_JANINE
- returnafterbattle
+ reloadmapafterbattle
end
UnknownScript_0x195e4f:
writetext UnknownText_0x196139
+ waitbutton
closetext
- loadmovesprites
end
FuschiaGym2Script_0x195e55:
checkevent EVENT_BEAT_LASS_LINDA
iftrue UnknownScript_0x195e66
- applymovement $4, MovementData_0x195f27
+ applymovement FUCHSIAGYM_FUCHSIA_GYM_2, MovementData_0x195f27
faceplayer
variablesprite SPRITE_FUCHSIA_GYM_2, SPRITE_LASS
special RunCallback_04
UnknownScript_0x195e66:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_LASS_LINDA
iftrue UnknownScript_0x195e89
writetext UnknownText_0x196166
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x19617b, 0
loadtrainer LASS, LINDA
startbattle
iftrue UnknownScript_0x195e84
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_LASS_LINDA
end
UnknownScript_0x195e84:
variablesprite SPRITE_FUCHSIA_GYM_2, SPRITE_JANINE
- returnafterbattle
+ reloadmapafterbattle
end
UnknownScript_0x195e89:
writetext UnknownText_0x196199
+ waitbutton
closetext
- loadmovesprites
end
FuschiaGym3Script_0x195e8f:
checkevent EVENT_BEAT_PICNICKER_CINDY
iftrue UnknownScript_0x195ea0
- applymovement $5, MovementData_0x195f27
+ applymovement FUCHSIAGYM_FUCHSIA_GYM_3, MovementData_0x195f27
faceplayer
variablesprite SPRITE_FUCHSIA_GYM_3, SPRITE_LASS
special RunCallback_04
UnknownScript_0x195ea0:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_PICNICKER_CINDY
iftrue UnknownScript_0x195ec3
writetext UnknownText_0x1961bb
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x1961f1, 0
loadtrainer PICNICKER, CINDY
startbattle
iftrue UnknownScript_0x195ebe
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_PICNICKER_CINDY
end
UnknownScript_0x195ebe:
variablesprite SPRITE_FUCHSIA_GYM_3, SPRITE_JANINE
- returnafterbattle
+ reloadmapafterbattle
end
UnknownScript_0x195ec3:
writetext UnknownText_0x19620c
+ waitbutton
closetext
- loadmovesprites
end
FuschiaGym4Script_0x195ec9:
checkevent EVENT_BEAT_CAMPER_BARRY
iftrue UnknownScript_0x195eda
- applymovement $6, MovementData_0x195f27
+ applymovement FUCHSIAGYM_FUCHSIA_GYM_4, MovementData_0x195f27
faceplayer
variablesprite SPRITE_FUCHSIA_GYM_4, SPRITE_YOUNGSTER
special RunCallback_04
UnknownScript_0x195eda:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_CAMPER_BARRY
iftrue UnknownScript_0x195efd
writetext UnknownText_0x196228
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x19624a, 0
loadtrainer CAMPER, BARRY
startbattle
iftrue UnknownScript_0x195ef8
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_CAMPER_BARRY
end
UnknownScript_0x195ef8:
variablesprite SPRITE_FUCHSIA_GYM_4, SPRITE_JANINE
- returnafterbattle
+ reloadmapafterbattle
end
UnknownScript_0x195efd:
writetext UnknownText_0x19626b
+ waitbutton
closetext
- loadmovesprites
end
FuchsiaGymGuyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_JANINE
iftrue .FuchsiaGymGuyWinScript
writetext FuchsiaGymGuyText
+ waitbutton
closetext
- loadmovesprites
end
.FuchsiaGymGuyWinScript
writetext FuchsiaGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
end
FuchsiaGymStatue:
--- a/maps/FuchsiaMart.asm
+++ b/maps/FuchsiaMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const FUCHSIAMART_CLERK
+ const FUCHSIAMART_FISHER
+ const FUCHSIAMART_COOLTRAINER_F
+
FuchsiaMart_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,9 +11,9 @@
db 0
ClerkScript_0x195ce8:
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_FUCHSIA
- loadmovesprites
+ closetext
end
FisherScript_0x195cef:
--- a/maps/FuchsiaPokeCenter1F.asm
+++ b/maps/FuchsiaPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const FUCHSIAPOKECENTER1F_NURSE
+ const FUCHSIAPOKECENTER1F_COOLTRAINER_M
+ const FUCHSIAPOKECENTER1F_COOLTRAINER_F
+ const FUCHSIAPOKECENTER1F_JANINE_IMPERSONATOR
+
FuchsiaPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 1
@@ -22,19 +28,19 @@
JanineImpersonatorScript_0x196462:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x19652e
+ waitbutton
closetext
- loadmovesprites
- applymovement $5, MovementData_0x196486
+ applymovement FUCHSIAPOKECENTER1F_JANINE_IMPERSONATOR, MovementData_0x196486
faceplayer
variablesprite SPRITE_JANINE_IMPERSONATOR, SPRITE_JANINE
special RunCallback_04
- loadfont
+ opentext
writetext UnknownText_0x19654e
+ waitbutton
closetext
- loadmovesprites
- applymovement $5, MovementData_0x196486
+ applymovement FUCHSIAPOKECENTER1F_JANINE_IMPERSONATOR, MovementData_0x196486
faceplayer
variablesprite SPRITE_JANINE_IMPERSONATOR, SPRITE_LASS
special RunCallback_04
--- a/maps/FuchsiaPokeCenter2FBeta.asm
+++ b/maps/FuchsiaPokeCenter2FBeta.asm
@@ -1,3 +1,4 @@
+
FuchsiaPokeCenter2FBeta_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/GoldenrodBikeShop.asm
+++ b/maps/GoldenrodBikeShop.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const GOLDENRODBIKESHOP_CLERK
+
GoldenrodBikeShop_MapScriptHeader:
.MapTriggers:
db 0
@@ -10,7 +13,7 @@
ClerkScript_0x54750:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_BICYCLE
iftrue UnknownScript_0x54775
writetext UnknownText_0x54787
@@ -17,25 +20,25 @@
yesorno
iffalse UnknownScript_0x5477b
writetext UnknownText_0x547f8
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
giveitem BICYCLE
writetext UnknownText_0x54848
playsound SFX_KEY_ITEM
- waitbutton
+ waitsfx
itemnotify
setflag ENGINE_BIKE_SHOP_CALL_ENABLED
setevent EVENT_GOT_BICYCLE
UnknownScript_0x54775:
writetext UnknownText_0x5485f
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x5477b:
writetext UnknownText_0x54898
+ waitbutton
closetext
- loadmovesprites
end
; possibly unused
--- a/maps/GoldenrodBillsHouse.asm
+++ b/maps/GoldenrodBillsHouse.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const GOLDENRODBILLSHOUSE_BILL
+ const GOLDENRODBILLSHOUSE_POKEFAN_F
+ const GOLDENRODBILLSHOUSE_TWIN
+
GoldenrodBillsHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,7 +12,7 @@
BillsHouseBill:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_EEVEE
iftrue UnknownScript_0x54c1f
writetext UnknownText_0x54c74
@@ -14,57 +19,57 @@
yesorno
iffalse UnknownScript_0x54c19
writetext UnknownText_0x54d3f
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
checkcode VAR_PARTYCOUNT
if_equal $6, UnknownScript_0x54c13
writetext UnknownText_0x54dae
playsound SFX_CAUGHT_MON
- waitbutton
+ waitsfx
givepoke EEVEE, 20
setevent EVENT_GOT_EEVEE
writetext UnknownText_0x54dc1
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x54c13:
writetext UnknownText_0x54e02
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x54c19:
writetext UnknownText_0x54e2d
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x54c1f:
writetext UnknownText_0x54e42
+ waitbutton
closetext
- loadmovesprites
end
BillsMom:
faceplayer
- loadfont
+ opentext
checkevent EVENT_MET_BILL
iffalse UnknownScript_0x54c33
writetext UnknownText_0x54ea8
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x54c33:
writetext UnknownText_0x54f4e
+ waitbutton
closetext
- loadmovesprites
end
BillsSister:
faceplayer
- loadfont
+ opentext
checkcellnum PHONE_BILL
iftrue UnknownScript_0x54c58
writetext UnknownText_0x54f9e
@@ -71,27 +76,27 @@
askforphonenumber PHONE_BILL
if_equal $1, UnknownScript_0x54c64
if_equal $2, UnknownScript_0x54c5e
- waitbutton
+ waitsfx
addcellnum PHONE_BILL
writetext UnknownText_0x54fd9
playsound SFX_REGISTER_PHONE_NUMBER
- waitbutton
- keeptextopen
+ waitsfx
+ buttonsound
UnknownScript_0x54c58: ;0x54c58
writetext UnknownText_0x55069
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x54c5e:
writetext UnknownText_0x54ff3
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x54c64:
writetext UnknownText_0x55046
- keeptextopen
+ buttonsound
jump UnknownScript_0x54c5e
BillsHouseBookshelf1:
--- a/maps/GoldenrodCity.asm
+++ b/maps/GoldenrodCity.asm
@@ -1,3 +1,20 @@
+const_value set 2
+ const GOLDENRODCITY_POKEFAN_M1
+ const GOLDENRODCITY_YOUNGSTER1
+ const GOLDENRODCITY_COOLTRAINER_F1
+ const GOLDENRODCITY_COOLTRAINER_F2
+ const GOLDENRODCITY_YOUNGSTER2
+ const GOLDENRODCITY_LASS
+ const GOLDENRODCITY_GRAMPS
+ const GOLDENRODCITY_ROCKET1
+ const GOLDENRODCITY_ROCKET2
+ const GOLDENRODCITY_ROCKET3
+ const GOLDENRODCITY_ROCKET4
+ const GOLDENRODCITY_ROCKET5
+ const GOLDENRODCITY_ROCKET6
+ const GOLDENRODCITY_ROCKET7
+ const GOLDENRODCITY_POKEFAN_M2
+
GoldenrodCity_MapScriptHeader:
.MapTriggers:
db 0
@@ -27,19 +44,19 @@
if_equal WEDNESDAY, .MoveTutorAppear
if_equal SATURDAY, .MoveTutorAppear
.MoveTutorDisappear
- disappear $10
+ disappear GOLDENRODCITY_POKEFAN_M2
return
.MoveTutorAppear
checkflag ENGINE_DAILY_MOVE_TUTOR
iftrue .MoveTutorDone
- appear $10
+ appear GOLDENRODCITY_POKEFAN_M2
.MoveTutorDone
return
MoveTutor:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x199042
yesorno
iffalse .Refused
@@ -51,8 +68,8 @@
if_equal $2, .NotEnoughMoney
writetext UnknownText_0x1990ce
loadmenudata .MoveMenuDataHeader
- interpretmenu2
- writebackup
+ verticalmenu
+ closewindow
if_equal $1, .Flamethrower
if_equal $2, .Thunderbolt
if_equal $3, .IceBeam
@@ -98,51 +115,51 @@
.Refused:
writetext UnknownText_0x1990b4
+ waitbutton
closetext
- loadmovesprites
end
.Refused2:
writetext UnknownText_0x199107
+ waitbutton
closetext
- loadmovesprites
end
.TeachMove:
writetext UnknownText_0x19913a
- keeptextopen
+ buttonsound
takecoins 4000
- waitbutton
+ waitsfx
playsound SFX_TRANSACTION
special Special_DisplayCoinCaseBalance
writetext UnknownText_0x19918b
+ waitbutton
closetext
- loadmovesprites
checkcode VAR_FACING
- if_equal $2, .WalkAroundPlayer
- applymovement $10, MovementData_0x198a5f
+ if_equal LEFT, .WalkAroundPlayer
+ applymovement GOLDENRODCITY_POKEFAN_M2, MovementData_0x198a5f
jump .GoInside
.WalkAroundPlayer:
- applymovement $10, MovementData_0x198a63
+ applymovement GOLDENRODCITY_POKEFAN_M2, MovementData_0x198a63
.GoInside:
playsound SFX_ENTER_DOOR
- disappear $10
+ disappear GOLDENRODCITY_POKEFAN_M2
clearevent EVENT_GOLDENROD_GAME_CORNER_MOVE_TUTOR
setflag ENGINE_DAILY_MOVE_TUTOR
- waitbutton
+ waitsfx
end
.Incompatible:
writetext UnknownText_0x1991a4
+ waitbutton
closetext
- loadmovesprites
end
.NotEnoughMoney:
writetext UnknownText_0x1991ac
+ waitbutton
closetext
- loadmovesprites
end
PokefanMScript_0x1989e3:
@@ -153,34 +170,34 @@
CooltrainerFScript_0x1989e9:
faceplayer
- loadfont
+ opentext
checkevent EVENT_CLEARED_RADIO_TOWER
iftrue .ClearedRadioTower
writetext UnknownText_0x198ae6
+ waitbutton
closetext
- loadmovesprites
end
.ClearedRadioTower:
writetext UnknownText_0x198b2d
+ waitbutton
closetext
- loadmovesprites
end
CooltrainerFScript_0x1989fd:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_RADIO_CARD
iftrue .GotRadioCard
writetext UnknownText_0x198b73
+ waitbutton
closetext
- loadmovesprites
end
.GotRadioCard:
writetext UnknownText_0x198c14
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x198a11:
@@ -193,14 +210,14 @@
jumptextfaceplayer UnknownText_0x198ccf
RocketScript_0x198a1a:
- loadfont
+ opentext
writetext UnknownText_0x198d0d
- keeptextopen
+ buttonsound
faceplayer
writetext UnknownText_0x198d2a
+ waitbutton
closetext
- loadmovesprites
- spriteface $9, UP
+ spriteface GOLDENRODCITY_ROCKET1, UP
end
RocketScript_0x198a29:
--- a/maps/GoldenrodDeptStore1F.asm
+++ b/maps/GoldenrodDeptStore1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const GOLDENRODDEPTSTORE1F_RECEPTIONIST
+ const GOLDENRODDEPTSTORE1F_POKEFAN_F
+ const GOLDENRODDEPTSTORE1F_BUG_CATCHER
+ const GOLDENRODDEPTSTORE1F_GENTLEMAN
+
GoldenrodDeptStore1F_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/GoldenrodDeptStore2F.asm
+++ b/maps/GoldenrodDeptStore2F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const GOLDENRODDEPTSTORE2F_CLERK1
+ const GOLDENRODDEPTSTORE2F_CLERK2
+ const GOLDENRODDEPTSTORE2F_YOUNGSTER
+ const GOLDENRODDEPTSTORE2F_COOLTRAINER_F
+ const GOLDENRODDEPTSTORE2F_GENTLEMAN
+
GoldenrodDeptStore2F_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,16 +14,16 @@
ClerkScript_0x55b5d:
faceplayer
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_GOLDENROD_2F_1
- loadmovesprites
+ closetext
end
ClerkScript_0x55b65:
faceplayer
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_GOLDENROD_2F_2
- loadmovesprites
+ closetext
end
YoungsterScript_0x55b6d:
--- a/maps/GoldenrodDeptStore3F.asm
+++ b/maps/GoldenrodDeptStore3F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const GOLDENRODDEPTSTORE3F_CLERK
+ const GOLDENRODDEPTSTORE3F_SUPER_NERD
+ const GOLDENRODDEPTSTORE3F_ROCKER
+
GoldenrodDeptStore3F_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,9 +12,9 @@
ClerkScript_0x55db8:
faceplayer
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_GOLDENROD_3F
- loadmovesprites
+ closetext
end
SuperNerdScript_0x55dc0:
--- a/maps/GoldenrodDeptStore4F.asm
+++ b/maps/GoldenrodDeptStore4F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const GOLDENRODDEPTSTORE4F_CLERK
+ const GOLDENRODDEPTSTORE4F_COOLTRAINER_M
+ const GOLDENRODDEPTSTORE4F_BUG_CATCHER
+ const GOLDENRODDEPTSTORE4F_GAMEBOY_KID
+
GoldenrodDeptStore4F_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,9 +13,9 @@
ClerkScript_0x55ee9:
faceplayer
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_GOLDENROD_4F
- loadmovesprites
+ closetext
end
CooltrainerMScript_0x55ef1:
@@ -20,11 +26,11 @@
GameboyKidScript_0x55ef7:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x55f74
+ waitbutton
closetext
- loadmovesprites
- spriteface $5, DOWN
+ spriteface GOLDENRODDEPTSTORE4F_GAMEBOY_KID, DOWN
end
GoldenrodDeptStore4FDirectory:
--- a/maps/GoldenrodDeptStore5F.asm
+++ b/maps/GoldenrodDeptStore5F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const GOLDENRODDEPTSTORE5F_CLERK
+ const GOLDENRODDEPTSTORE5F_LASS
+ const GOLDENRODDEPTSTORE5F_COOLTRAINER_M
+ const GOLDENRODDEPTSTORE5F_POKEFAN_M
+ const GOLDENRODDEPTSTORE5F_TWIN
+ const GOLDENRODDEPTSTORE5F_RECEPTIONIST
+
GoldenrodDeptStore5F_MapScriptHeader:
.MapTriggers:
db 0
@@ -12,16 +20,16 @@
.CheckIfSunday:
checkcode VAR_WEEKDAY
if_equal SUNDAY, .yes
- disappear $7
+ disappear GOLDENRODDEPTSTORE5F_RECEPTIONIST
return
.yes:
- appear $7
+ appear GOLDENRODDEPTSTORE5F_RECEPTIONIST
return
ClerkScript_0x5609c:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TM02_HEADBUTT
iftrue .headbutt
checkevent EVENT_GOT_TM08_ROCK_SMASH
@@ -35,27 +43,27 @@
.neither:
pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_1
- loadmovesprites
+ closetext
end
.onlyheadbutt:
pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_2
- loadmovesprites
+ closetext
end
.onlyrocksmash:
pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_3
- loadmovesprites
+ closetext
end
.both:
pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_4
- loadmovesprites
+ closetext
end
ReceptionistScript_0x560ce:
faceplayer
- loadfont
+ opentext
checkcode VAR_WEEKDAY
if_not_equal SUNDAY, .EventIsOver
checkflag ENGINE_GOLDENROD_MALL_5F_HAPPINESS_EVENT
@@ -62,7 +70,7 @@
iftrue .EventIsOver
special GetFirstPokemonHappiness
writetext UnknownText_0x56143
- keeptextopen
+ buttonsound
if_greater_than $95, .VeryHappy
if_greater_than $31, .SomewhatHappy
jump .NotVeryHappy
@@ -69,50 +77,50 @@
.VeryHappy:
writetext UnknownText_0x5615a
- keeptextopen
+ buttonsound
verbosegiveitem TM_RETURN
iffalse .Done
setflag ENGINE_GOLDENROD_MALL_5F_HAPPINESS_EVENT
- loadmovesprites
+ closetext
end
.SomewhatHappy:
writetext UnknownText_0x561a6
+ waitbutton
closetext
- loadmovesprites
end
.NotVeryHappy:
writetext UnknownText_0x561d8
- keeptextopen
+ buttonsound
verbosegiveitem TM_FRUSTRATION
iffalse .Done
setflag ENGINE_GOLDENROD_MALL_5F_HAPPINESS_EVENT
- loadmovesprites
+ closetext
end
.EventIsOver:
writetext UnknownText_0x56202
- closetext
+ waitbutton
.Done:
- loadmovesprites
+ closetext
end
TwinScript_0x56118:
faceplayer
- loadfont
+ opentext
special SpecialGameboyCheck
if_not_equal $2, .NotGBC ; This is a dummy check from Gold and Silver. In normal gameplay, this would not be checked.
writetext UnknownText_0x56241
+ waitbutton
closetext
- loadmovesprites
special Special_UnlockMysteryGift
end
.NotGBC:
writetext UnknownText_0x56279
+ waitbutton
closetext
- loadmovesprites
end
LassScript_0x56130:
@@ -120,10 +128,10 @@
CooltrainerMScript_0x56133:
faceplayer
- loadfont
+ opentext
trade $0
+ waitbutton
closetext
- loadmovesprites
end
PokefanMScript_0x5613a:
--- a/maps/GoldenrodDeptStore6F.asm
+++ b/maps/GoldenrodDeptStore6F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const GOLDENRODDEPTSTORE6F_LASS
+ const GOLDENRODDEPTSTORE6F_SUPER_NERD
+
GoldenrodDeptStore6F_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,17 +10,17 @@
db 0
GoldenrodVendingMachine:
- loadfont
+ opentext
writetext GoldenrodVendingText
.Start
- special PlaceMoneyTopRightOW
+ special PlaceMoneyTopRight
loadmenudata .MenuData
- interpretmenu2
- writebackup
+ verticalmenu
+ closewindow
if_equal $1, .FreshWater
if_equal $2, .SodaPop
if_equal $3, .Lemonade
- loadmovesprites
+ closetext
end
.FreshWater
@@ -50,18 +54,18 @@
pause 10
playsound SFX_ENTER_DOOR
writetext GoldenrodClangText
- keeptextopen
+ buttonsound
itemnotify
jump .Start
.NotEnoughMoney
writetext GoldenrodVendingNoMoneyText
- closetext
+ waitbutton
jump .Start
.NotEnoughSpace
writetext GoldenrodVendingNoSpaceText
- closetext
+ waitbutton
jump .Start
.MenuData
--- a/maps/GoldenrodDeptStoreB1F.asm
+++ b/maps/GoldenrodDeptStoreB1F.asm
@@ -1,3 +1,13 @@
+const_value set 2
+ const GOLDENRODDEPTSTOREB1F_POKE_BALL1
+ const GOLDENRODDEPTSTOREB1F_POKE_BALL2
+ const GOLDENRODDEPTSTOREB1F_POKE_BALL3
+ const GOLDENRODDEPTSTOREB1F_POKE_BALL4
+ const GOLDENRODDEPTSTOREB1F_BLACK_BELT1
+ const GOLDENRODDEPTSTOREB1F_BLACK_BELT2
+ const GOLDENRODDEPTSTOREB1F_BLACK_BELT3
+ const GOLDENRODDEPTSTOREB1F_MACHOP
+
GoldenrodDeptStoreB1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -50,24 +60,24 @@
jumptextfaceplayer UnknownText_0x7d875
MachopScript_0x7d7b9:
- loadfont
+ opentext
writetext UnknownText_0x7d8bb
cry MACHOKE
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x7d7c3:
- db ETHER, 1
+GoldenrodDeptStoreB1FEther:
+ itemball ETHER
-ItemFragment_0x7d7c5:
- db AMULET_COIN, 1
+GoldenrodDeptStoreB1FAmuletCoin:
+ itemball AMULET_COIN
-ItemFragment_0x7d7c7:
- db BURN_HEAL, 1
+GoldenrodDeptStoreB1FBurnHeal:
+ itemball BURN_HEAL
-ItemFragment_0x7d7c9:
- db ULTRA_BALL, 1
+GoldenrodDeptStoreB1FUltraBall:
+ itemball ULTRA_BALL
UnknownText_0x7d7cb:
text "Hey, kid! You're"
@@ -121,10 +131,10 @@
.PersonEvents:
db 8
- person_event SPRITE_POKE_BALL, 15, 10, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7d7c3, EVENT_GOLDENROD_DEPT_STORE_B1F_ETHER
- person_event SPRITE_POKE_BALL, 2, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7d7c5, EVENT_GOLDENROD_DEPT_STORE_B1F_AMULET_COIN
- person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7d7c7, EVENT_GOLDENROD_DEPT_STORE_B1F_BURN_HEAL
- person_event SPRITE_POKE_BALL, 15, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7d7c9, EVENT_GOLDENROD_DEPT_STORE_B1F_ULTRA_BALL
+ person_event SPRITE_POKE_BALL, 15, 10, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, GoldenrodDeptStoreB1FEther, EVENT_GOLDENROD_DEPT_STORE_B1F_ETHER
+ person_event SPRITE_POKE_BALL, 2, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, GoldenrodDeptStoreB1FAmuletCoin, EVENT_GOLDENROD_DEPT_STORE_B1F_AMULET_COIN
+ person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, GoldenrodDeptStoreB1FBurnHeal, EVENT_GOLDENROD_DEPT_STORE_B1F_BURN_HEAL
+ person_event SPRITE_POKE_BALL, 15, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, GoldenrodDeptStoreB1FUltraBall, EVENT_GOLDENROD_DEPT_STORE_B1F_ULTRA_BALL
person_event SPRITE_BLACK_BELT, 10, 9, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, BlackBeltScript_0x7d7b0, -1
person_event SPRITE_BLACK_BELT, 8, 4, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, BlackBeltScript_0x7d7b3, -1
person_event SPRITE_BLACK_BELT, 13, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, BlackBeltScript_0x7d7b6, -1
--- a/maps/GoldenrodDeptStoreElevator.asm
+++ b/maps/GoldenrodDeptStoreElevator.asm
@@ -1,3 +1,4 @@
+
GoldenrodDeptStoreElevator_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,14 +7,14 @@
db 0
MapGoldenrodDeptStoreElevatorSignpost0Script:
- loadfont
+ opentext
elevator Elevator_0x566e0
- loadmovesprites
+ closetext
iffalse .Done
pause 5
playsound SFX_ELEVATOR
earthquake 60
- waitbutton
+ waitsfx
checkevent EVENT_WAREHOUSE_BLOCKED_OFF
iftrue .Done
checkevent EVENT_WAREHOUSE_LAYOUT_1
@@ -53,7 +54,7 @@
elevfloor _4F, 3, GOLDENROD_DEPT_STORE_4F
elevfloor _5F, 3, GOLDENROD_DEPT_STORE_5F
elevfloor _6F, 2, GOLDENROD_DEPT_STORE_6F
- db $ff ; end
+ db -1 ; end
GoldenrodDeptStoreElevator_MapEventHeader:
--- a/maps/GoldenrodDeptStoreRoof.asm
+++ b/maps/GoldenrodDeptStoreRoof.asm
@@ -1,3 +1,13 @@
+const_value set 2
+ const GOLDENRODDEPTSTOREROOF_CLERK
+ const GOLDENRODDEPTSTOREROOF_POKEFAN_F
+ const GOLDENRODDEPTSTOREROOF_FISHER
+ const GOLDENRODDEPTSTOREROOF_TWIN
+ const GOLDENRODDEPTSTOREROOF_SUPER_NERD
+ const GOLDENRODDEPTSTOREROOF_POKEFAN_M
+ const GOLDENRODDEPTSTOREROOF_TEACHER
+ const GOLDENRODDEPTSTOREROOF_BUG_CATCHER
+
GoldenrodDeptStoreRoof_MapScriptHeader:
.MapTriggers:
db 0
@@ -34,9 +44,9 @@
return
ClerkScript_0x5673f:
- loadfont
+ opentext
pokemart MARTTYPE_ROOFTOP, 0
- loadmovesprites
+ closetext
end
PokefanFScript_0x56746:
@@ -44,11 +54,11 @@
FisherScript_0x56749:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x567d2
+ waitbutton
closetext
- loadmovesprites
- spriteface $4, UP
+ spriteface GOLDENRODDEPTSTOREROOF_FISHER, UP
end
TwinScript_0x56754:
@@ -55,16 +65,16 @@
jumptextfaceplayer UnknownText_0x56839
SuperNerdScript_0x56757:
- loadfont
+ opentext
writetext UnknownText_0x56867
+ waitbutton
closetext
- loadmovesprites
- spriteface $6, UP
- loadfont
+ spriteface GOLDENRODDEPTSTOREROOF_SUPER_NERD, UP
+ opentext
writetext UnknownText_0x56871
+ waitbutton
closetext
- loadmovesprites
- spriteface $6, RIGHT
+ spriteface GOLDENRODDEPTSTOREROOF_SUPER_NERD, RIGHT
end
PokefanMScript_0x5676a:
--- a/maps/GoldenrodFlowerShop.asm
+++ b/maps/GoldenrodFlowerShop.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const GOLDENRODFLOWERSHOP_TEACHER
+ const GOLDENRODFLOWERSHOP_LASS
+
GoldenrodFlowerShop_MapScriptHeader:
.MapTriggers:
db 0
@@ -17,22 +21,22 @@
checkflag ENGINE_PLAINBADGE
iffalse .NoPlainBadge
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x554c2
- keeptextopen
+ buttonsound
verbosegiveitem SQUIRTBOTTLE
setevent EVENT_GOT_SQUIRTBOTTLE
- loadmovesprites
+ closetext
setevent EVENT_FLORIA_AT_SUDOWOODO
clearevent EVENT_FLORIA_AT_FLOWER_SHOP
end
.Lalala:
- spriteface $2, LEFT
- loadfont
+ spriteface GOLDENRODFLOWERSHOP_TEACHER, LEFT
+ opentext
writetext UnknownText_0x5552e
+ waitbutton
closetext
- loadmovesprites
end
.GotSquirtbottle:
@@ -46,14 +50,14 @@
FlowerShopFloriaScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_FOUGHT_SUDOWOODO
iftrue .FoughtSudowoodo
checkevent EVENT_GOT_SQUIRTBOTTLE
iftrue .GotSquirtbottle
writetext UnknownText_0x55561
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_TALKED_TO_FLORIA_AT_FLOWER_SHOP
setevent EVENT_FLORIA_AT_FLOWER_SHOP
clearevent EVENT_FLORIA_AT_SUDOWOODO
@@ -61,14 +65,14 @@
.GotSquirtbottle:
writetext UnknownText_0x555e6
+ waitbutton
closetext
- loadmovesprites
end
.FoughtSudowoodo:
writetext UnknownText_0x55604
+ waitbutton
closetext
- loadmovesprites
end
FlowerShopShelf1:
--- a/maps/GoldenrodGameCorner.asm
+++ b/maps/GoldenrodGameCorner.asm
@@ -1,3 +1,17 @@
+const_value set 2
+ const GOLDENRODGAMECORNER_CLERK
+ const GOLDENRODGAMECORNER_RECEPTIONIST1
+ const GOLDENRODGAMECORNER_RECEPTIONIST2
+ const GOLDENRODGAMECORNER_PHARMACIST1
+ const GOLDENRODGAMECORNER_PHARMACIST2
+ const GOLDENRODGAMECORNER_POKEFAN_M1
+ const GOLDENRODGAMECORNER_COOLTRAINER_M
+ const GOLDENRODGAMECORNER_POKEFAN_F
+ const GOLDENRODGAMECORNER_COOLTRAINER_F
+ const GOLDENRODGAMECORNER_GENTLEMAN
+ const GOLDENRODGAMECORNER_POKEFAN_M2
+ const GOLDENRODGAMECORNER_POKEFAN_M3
+
GoldenrodGameCorner_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,135 +21,135 @@
; callbacks
- dbw 2, UnknownScript_0x56bf9
+ dbw 2, .Callback
-UnknownScript_0x56bf9:
+.Callback
checkevent EVENT_BEAT_ELITE_FOUR
- iffalse UnknownScript_0x56c19
+ iffalse .finish
checkitem COIN_CASE
- iffalse UnknownScript_0x56c0e
+ iffalse .move_tutor_inside
checkcode VAR_WEEKDAY
- if_equal WEDNESDAY, UnknownScript_0x56c11
- if_equal SATURDAY, UnknownScript_0x56c11
-UnknownScript_0x56c0e:
- appear $d
+ if_equal WEDNESDAY, .move_tutor_outside
+ if_equal SATURDAY, .move_tutor_outside
+.move_tutor_inside
+ appear GOLDENRODGAMECORNER_POKEFAN_M3
return
-UnknownScript_0x56c11:
+.move_tutor_outside
checkflag ENGINE_DAILY_MOVE_TUTOR
- iftrue UnknownScript_0x56c19
- disappear $d
-UnknownScript_0x56c19: ;0x56c19
+ iftrue .finish
+ disappear GOLDENRODGAMECORNER_POKEFAN_M3
+.finish
return
-PokefanMScript_0x56c1a:
+GoldenrodGameCornerPokefanM3Script:
faceplayer
- loadfont
- writetext UnknownText_0x5718a
+ opentext
+ writetext GoldenrodGameCornerPokefanM3Text
+ waitbutton
closetext
- loadmovesprites
- spriteface $d, RIGHT
+ spriteface GOLDENRODGAMECORNER_POKEFAN_M3, RIGHT
end
-ClerkScript_0x56c25:
+GoldenrodGmeCornerCoinVendorScript:
jumpstd gamecornercoinvendor
-ReceptionistScript_0x56c28:
+GoldenrodGmeCornerTMVendorScript:
faceplayer
- loadfont
- writetext UnknownText_0x56e50
- closetext
+ opentext
+ writetext GoldenrodGameCornerPrizeVendorIntroText
+ waitbutton
checkitem COIN_CASE
- iffalse UnknownScript_0x56cc3
- writetext UnknownText_0x56e8b
-UnknownScript_0x56c36: ; 056c36
+ iffalse GoldenrodGameCornerPrizeVendor_NoCoinCaseScript
+ writetext GoldenrodGameCornerPrizeVendorWhichPrizeText
+GoldenrodGmeCornerTMVendor_LoopScript: ; 056c36
special Special_DisplayCoinCaseBalance
- loadmenudata MenuDataHeader_0x56cc9
- interpretmenu2
- writebackup
- if_equal $1, UnknownScript_0x56c4d
- if_equal $2, UnknownScript_0x56c69
- if_equal $3, UnknownScript_0x56c85
- jump UnknownScript_0x56cbd
+ loadmenudata GoldenrodGameCornerTMVendorMenuData
+ verticalmenu
+ closewindow
+ if_equal $1, .Thunder
+ if_equal $2, .Blizzard
+ if_equal $3, .FireBlast
+ jump GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
-UnknownScript_0x56c4d:
+.Thunder:
checkcoins 5500
- if_equal $2, UnknownScript_0x56cb1
+ if_equal $2, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
itemtotext TM_THUNDER, $0
- scall UnknownScript_0x56ca1
- iffalse UnknownScript_0x56cbd
+ scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
+ iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
giveitem TM_THUNDER
- iffalse UnknownScript_0x56cb7
+ iffalse GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
takecoins 5500
- jump UnknownScript_0x56ca6
+ jump GoldenrodGmeCornerTMVendor_FinishScript
-UnknownScript_0x56c69:
+.Blizzard:
checkcoins 5500
- if_equal $2, UnknownScript_0x56cb1
+ if_equal $2, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
itemtotext TM_BLIZZARD, $0
- scall UnknownScript_0x56ca1
- iffalse UnknownScript_0x56cbd
+ scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
+ iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
giveitem TM_BLIZZARD
- iffalse UnknownScript_0x56cb7
+ iffalse GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
takecoins 5500
- jump UnknownScript_0x56ca6
+ jump GoldenrodGmeCornerTMVendor_FinishScript
-UnknownScript_0x56c85:
+.FireBlast:
checkcoins 5500
- if_equal $2, UnknownScript_0x56cb1
+ if_equal $2, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
itemtotext TM_FIRE_BLAST, $0
- scall UnknownScript_0x56ca1
- iffalse UnknownScript_0x56cbd
+ scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
+ iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
giveitem TM_FIRE_BLAST
- iffalse UnknownScript_0x56cb7
+ iffalse GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
takecoins 5500
- jump UnknownScript_0x56ca6
+ jump GoldenrodGmeCornerTMVendor_FinishScript
-UnknownScript_0x56ca1:
- writetext UnknownText_0x56ea8
+GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript:
+ writetext GoldenrodGameCornerPrizeVendorConfirmPrizeText
yesorno
end
-UnknownScript_0x56ca6:
- waitbutton
+GoldenrodGmeCornerTMVendor_FinishScript:
+ waitsfx
playsound SFX_TRANSACTION
- writetext UnknownText_0x56ebd
- closetext
- jump UnknownScript_0x56c36
+ writetext GoldenrodGameCornerPrizeVendorHereYouGoText
+ waitbutton
+ jump GoldenrodGmeCornerTMVendor_LoopScript
-UnknownScript_0x56cb1:
- writetext UnknownText_0x56ecb
+GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript:
+ writetext GoldenrodGameCornerPrizeVendorNeedMoreCoinsText
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x56cb7:
- writetext UnknownText_0x56ee8
+GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript:
+ writetext GoldenrodGameCornerPrizeVendorNoMoreRoomText
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x56cbd:
- writetext UnknownText_0x56f09
+GoldenrodGameCornerPrizeVendor_CancelPurchaseScript:
+ writetext GoldenrodGameCornerPrizeVendorQuitText
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x56cc3:
- writetext UnknownText_0x56f35
+GoldenrodGameCornerPrizeVendor_NoCoinCaseScript:
+ writetext GoldenrodGameCornerPrizeVendorNoCoinCaseText
+ waitbutton
closetext
- loadmovesprites
end
-MenuDataHeader_0x56cc9:
+GoldenrodGameCornerTMVendorMenuData:
db $40 ; flags
db 02, 00 ; start coords
db 11, 15 ; end coords
- dw MenuData2_0x56cd1
+ dw .MenuData2
db 1 ; default option
-MenuData2_0x56cd1:
+.MenuData2
db $80 ; flags
db 4 ; items
db "TM25 5500@"
@@ -144,87 +158,87 @@
db "CANCEL@"
-ReceptionistScript_0x56d01:
+GoldenrodGameCornerPrizeMonVendorScript:
faceplayer
- loadfont
- writetext UnknownText_0x56e50
- closetext
+ opentext
+ writetext GoldenrodGameCornerPrizeVendorIntroText
+ waitbutton
checkitem COIN_CASE
- iffalse UnknownScript_0x56cc3
-UnknownScript_0x56d0c:
- writetext UnknownText_0x56e8b
+ iffalse GoldenrodGameCornerPrizeVendor_NoCoinCaseScript
+.loop
+ writetext GoldenrodGameCornerPrizeVendorWhichPrizeText
special Special_DisplayCoinCaseBalance
- loadmenudata MenuDataHeader_0x56db0
- interpretmenu2
- writebackup
- if_equal $1, UnknownScript_0x56d26
- if_equal $2, UnknownScript_0x56d54
- if_equal $3, UnknownScript_0x56d82
- jump UnknownScript_0x56cbd
+ loadmenudata .MenuDataHeader
+ verticalmenu
+ closewindow
+ if_equal $1, .abra
+ if_equal $2, .cubone
+ if_equal $3, .wobbuffet
+ jump GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
-UnknownScript_0x56d26:
+.abra:
checkcoins 100
- if_equal $2, UnknownScript_0x56cb1
+ if_equal $2, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
checkcode VAR_PARTYCOUNT
- if_equal $6, UnknownScript_0x56cb7
+ if_equal $6, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
pokenamemem ABRA, $0
- scall UnknownScript_0x56ca1
- iffalse UnknownScript_0x56cbd
- waitbutton
+ scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
+ iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
+ waitsfx
playsound SFX_TRANSACTION
- writetext UnknownText_0x56ebd
- closetext
+ writetext GoldenrodGameCornerPrizeVendorHereYouGoText
+ waitbutton
writebyte ABRA
special Special_GameCornerPrizeMonCheckDex
givepoke ABRA, 5
takecoins 100
- jump UnknownScript_0x56d0c
+ jump .loop
-UnknownScript_0x56d54:
+.cubone:
checkcoins 800
- if_equal $2, UnknownScript_0x56cb1
+ if_equal $2, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
checkcode VAR_PARTYCOUNT
- if_equal $6, UnknownScript_0x56cb7
+ if_equal $6, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
pokenamemem CUBONE, $0
- scall UnknownScript_0x56ca1
- iffalse UnknownScript_0x56cbd
- waitbutton
+ scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
+ iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
+ waitsfx
playsound SFX_TRANSACTION
- writetext UnknownText_0x56ebd
- closetext
+ writetext GoldenrodGameCornerPrizeVendorHereYouGoText
+ waitbutton
writebyte CUBONE
special Special_GameCornerPrizeMonCheckDex
givepoke CUBONE, 15
takecoins 800
- jump UnknownScript_0x56d0c
+ jump .loop
-UnknownScript_0x56d82:
+.wobbuffet:
checkcoins 1500
- if_equal $2, UnknownScript_0x56cb1
+ if_equal $2, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
checkcode VAR_PARTYCOUNT
- if_equal $6, UnknownScript_0x56cb7
+ if_equal $6, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
pokenamemem WOBBUFFET, $0
- scall UnknownScript_0x56ca1
- iffalse UnknownScript_0x56cbd
- waitbutton
+ scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
+ iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
+ waitsfx
playsound SFX_TRANSACTION
- writetext UnknownText_0x56ebd
- closetext
+ writetext GoldenrodGameCornerPrizeVendorHereYouGoText
+ waitbutton
writebyte WOBBUFFET
special Special_GameCornerPrizeMonCheckDex
givepoke WOBBUFFET, 15
takecoins 1500
- jump UnknownScript_0x56d0c
+ jump .loop
-MenuDataHeader_0x56db0:
+.MenuDataHeader:
db $40 ; flags
db 02, 00 ; start coords
db 11, 17 ; end coords
- dw MenuData2_0x56db8
+ dw .MenuData2
db 1 ; default option
-MenuData2_0x56db8:
+.MenuData2:
db $80 ; flags
db 4 ; items
db "ABRA 100@"
@@ -233,83 +247,83 @@
db "CANCEL@"
-PharmacistScript_0x56df1:
+GoldenrodGameCornerPharmacistScript:
faceplayer
- loadfont
- writetext UnknownText_0x56f55
+ opentext
+ writetext GoldenrodGameCornerPharmacistText
+ waitbutton
closetext
- loadmovesprites
spriteface LAST_TALKED, LEFT
end
-PokefanMScript_0x56dfc:
+GoldenrodGameCornerPokefanM1Script:
faceplayer
- loadfont
- writetext UnknownText_0x56f9e
+ opentext
+ writetext GoldenrodGameCornerPokefanM1Text
+ waitbutton
closetext
- loadmovesprites
- spriteface $7, RIGHT
+ spriteface GOLDENRODGAMECORNER_POKEFAN_M1, RIGHT
end
-CooltrainerMScript_0x56e07:
+GoldenrodGameCornerCooltrainerMScript:
faceplayer
- loadfont
- writetext UnknownText_0x56ff4
+ opentext
+ writetext GoldenrodGameCornerCooltrainerMText
+ waitbutton
closetext
- loadmovesprites
- spriteface $8, LEFT
+ spriteface GOLDENRODGAMECORNER_COOLTRAINER_M, LEFT
end
-PokefanFScript_0x56e12:
+GoldenrodGameCornerPokefanFScript:
faceplayer
- loadfont
- writetext UnknownText_0x5702b
+ opentext
+ writetext GoldenrodGameCornerPokefanFText
+ waitbutton
closetext
- loadmovesprites
- spriteface $9, RIGHT
+ spriteface GOLDENRODGAMECORNER_POKEFAN_F, RIGHT
end
-CooltrainerFScript_0x56e1d:
- jumptextfaceplayer UnknownText_0x57097
+GoldenrodGameCornerCooltrainerFScript:
+ jumptextfaceplayer GoldenrodGameCornerCooltrainerFText
-GentlemanScript_0x56e20:
+GoldenrodGameCornerGentlemanScript:
faceplayer
- loadfont
- writetext UnknownText_0x570b1
+ opentext
+ writetext GoldenrodGameCornerGentlemanText
+ waitbutton
closetext
- loadmovesprites
- spriteface $b, RIGHT
+ spriteface GOLDENRODGAMECORNER_GENTLEMAN, RIGHT
end
-PokefanMScript_0x56e2b:
- jumptextfaceplayer UnknownText_0x5710d
+GoldenrodGameCornerPokefanM2Script:
+ jumptextfaceplayer GoldenrodGameCornerPokefanM2Text
-MapGoldenrodGameCornerSignpost30Script:
- jumptext UnknownText_0x571af
+GoldenrodGameCornerLeftTheirDrinkScript:
+ jumptext GoldenrodGameCornerLeftTheirDrinkText
-MapGoldenrodGameCornerSignpost17Script:
- random $6
- if_equal $0, MapGoldenrodGameCornerSignpost7Script
+GoldenrodGameCornerSlotsMachineScript:
+ random 6
+ if_equal 0, GoldenrodGameCornerLuckySlotsMachineScript
refreshscreen $0
- writebyte $0
+ writebyte FALSE
special Special_SlotMachine
- loadmovesprites
+ closetext
end
-MapGoldenrodGameCornerSignpost7Script:
+GoldenrodGameCornerLuckySlotsMachineScript:
refreshscreen $0
- writebyte $1
+ writebyte TRUE
special Special_SlotMachine
- loadmovesprites
+ closetext
end
-MapGoldenrodGameCornerSignpost29Script:
+GoldenrodGameCornerCardFlipMachineScript:
refreshscreen $0
special Special_CardFlip
- loadmovesprites
+ closetext
end
-UnknownText_0x56e50:
+GoldenrodGameCornerPrizeVendorIntroText:
text "Welcome!"
para "We exchange your"
@@ -317,43 +331,43 @@
cont "fabulous prizes!"
done
-UnknownText_0x56e8b:
+GoldenrodGameCornerPrizeVendorWhichPrizeText:
text "Which prize would"
line "you like?"
done
-UnknownText_0x56ea8:
+GoldenrodGameCornerPrizeVendorConfirmPrizeText:
text_from_ram StringBuffer3
text "."
line "Is that right?"
done
-UnknownText_0x56ebd:
+GoldenrodGameCornerPrizeVendorHereYouGoText:
text "Here you go!"
done
-UnknownText_0x56ecb:
+GoldenrodGameCornerPrizeVendorNeedMoreCoinsText:
text "Sorry! You need"
line "more coins."
done
-UnknownText_0x56ee8:
+GoldenrodGameCornerPrizeVendorNoMoreRoomText:
text "Sorry. You can't"
line "carry any more."
done
-UnknownText_0x56f09:
+GoldenrodGameCornerPrizeVendorQuitText:
text "OK. Please save"
line "your coins and"
cont "come again!"
done
-UnknownText_0x56f35:
+GoldenrodGameCornerPrizeVendorNoCoinCaseText:
text "Oh? You don't have"
line "a COIN CASE."
done
-UnknownText_0x56f55:
+GoldenrodGameCornerPharmacistText:
text "I always play this"
line "slot machine. It"
@@ -361,7 +375,7 @@
line "others, I think."
done
-UnknownText_0x56f9e:
+GoldenrodGameCornerPokefanM1Text:
text "I just love this"
line "new slot machine."
@@ -370,13 +384,13 @@
cont "ones in CELADON."
done
-UnknownText_0x56ff4:
+GoldenrodGameCornerCooltrainerMText:
text "Life is a gamble."
line "I'm going to flip"
cont "cards till I drop!"
done
-UnknownText_0x5702b:
+GoldenrodGameCornerPokefanFText:
text "Card flip…"
para "I prefer it over"
@@ -389,12 +403,12 @@
line "much lower."
done
-UnknownText_0x57097:
+GoldenrodGameCornerCooltrainerFText:
text "I won't quit until"
line "I win!"
done
-UnknownText_0x570b1:
+GoldenrodGameCornerGentlemanText:
text "I taught BLIZZARD"
line "to my #MON."
@@ -405,7 +419,7 @@
line "worth it."
done
-UnknownText_0x5710d:
+GoldenrodGameCornerPokefanM2Text:
text "I couldn't win at"
line "the slots, and I"
@@ -419,12 +433,12 @@
line "UNDERGROUND."
done
-UnknownText_0x5718a:
+GoldenrodGameCornerPokefanM3Text:
text "Wahahah! The coins"
line "keep rolling in!"
done
-UnknownText_0x571af:
+GoldenrodGameCornerLeftTheirDrinkText:
text "Someone left their"
line "drink."
@@ -445,49 +459,49 @@
.Signposts:
db 31
- signpost 6, 6, SIGNPOST_READ, MapGoldenrodGameCornerSignpost17Script
- signpost 7, 6, SIGNPOST_READ, MapGoldenrodGameCornerSignpost17Script
- signpost 8, 6, SIGNPOST_READ, MapGoldenrodGameCornerSignpost17Script
- signpost 9, 6, SIGNPOST_READ, MapGoldenrodGameCornerSignpost17Script
- signpost 10, 6, SIGNPOST_READ, MapGoldenrodGameCornerSignpost17Script
- signpost 11, 6, SIGNPOST_RIGHT, MapGoldenrodGameCornerSignpost17Script
- signpost 6, 7, SIGNPOST_READ, MapGoldenrodGameCornerSignpost17Script
- signpost 7, 7, SIGNPOST_READ, MapGoldenrodGameCornerSignpost7Script
- signpost 8, 7, SIGNPOST_READ, MapGoldenrodGameCornerSignpost17Script
- signpost 9, 7, SIGNPOST_READ, MapGoldenrodGameCornerSignpost17Script
- signpost 10, 7, SIGNPOST_READ, MapGoldenrodGameCornerSignpost17Script
- signpost 11, 7, SIGNPOST_LEFT, MapGoldenrodGameCornerSignpost17Script
- signpost 6, 12, SIGNPOST_READ, MapGoldenrodGameCornerSignpost17Script
- signpost 7, 12, SIGNPOST_READ, MapGoldenrodGameCornerSignpost17Script
- signpost 8, 12, SIGNPOST_READ, MapGoldenrodGameCornerSignpost17Script
- signpost 9, 12, SIGNPOST_READ, MapGoldenrodGameCornerSignpost17Script
- signpost 10, 12, SIGNPOST_READ, MapGoldenrodGameCornerSignpost17Script
- signpost 11, 12, SIGNPOST_RIGHT, MapGoldenrodGameCornerSignpost17Script
- signpost 6, 13, SIGNPOST_READ, MapGoldenrodGameCornerSignpost29Script
- signpost 7, 13, SIGNPOST_READ, MapGoldenrodGameCornerSignpost29Script
- signpost 8, 13, SIGNPOST_READ, MapGoldenrodGameCornerSignpost29Script
- signpost 9, 13, SIGNPOST_READ, MapGoldenrodGameCornerSignpost29Script
- signpost 10, 13, SIGNPOST_READ, MapGoldenrodGameCornerSignpost29Script
- signpost 11, 13, SIGNPOST_LEFT, MapGoldenrodGameCornerSignpost29Script
- signpost 6, 18, SIGNPOST_READ, MapGoldenrodGameCornerSignpost29Script
- signpost 7, 18, SIGNPOST_READ, MapGoldenrodGameCornerSignpost29Script
- signpost 8, 18, SIGNPOST_READ, MapGoldenrodGameCornerSignpost29Script
- signpost 9, 18, SIGNPOST_READ, MapGoldenrodGameCornerSignpost29Script
- signpost 10, 18, SIGNPOST_READ, MapGoldenrodGameCornerSignpost29Script
- signpost 11, 18, SIGNPOST_RIGHT, MapGoldenrodGameCornerSignpost29Script
- signpost 1, 12, SIGNPOST_LEFT, MapGoldenrodGameCornerSignpost30Script
+ signpost 6, 6, SIGNPOST_READ, GoldenrodGameCornerSlotsMachineScript
+ signpost 7, 6, SIGNPOST_READ, GoldenrodGameCornerSlotsMachineScript
+ signpost 8, 6, SIGNPOST_READ, GoldenrodGameCornerSlotsMachineScript
+ signpost 9, 6, SIGNPOST_READ, GoldenrodGameCornerSlotsMachineScript
+ signpost 10, 6, SIGNPOST_READ, GoldenrodGameCornerSlotsMachineScript
+ signpost 11, 6, SIGNPOST_RIGHT, GoldenrodGameCornerSlotsMachineScript
+ signpost 6, 7, SIGNPOST_READ, GoldenrodGameCornerSlotsMachineScript
+ signpost 7, 7, SIGNPOST_READ, GoldenrodGameCornerLuckySlotsMachineScript
+ signpost 8, 7, SIGNPOST_READ, GoldenrodGameCornerSlotsMachineScript
+ signpost 9, 7, SIGNPOST_READ, GoldenrodGameCornerSlotsMachineScript
+ signpost 10, 7, SIGNPOST_READ, GoldenrodGameCornerSlotsMachineScript
+ signpost 11, 7, SIGNPOST_LEFT, GoldenrodGameCornerSlotsMachineScript
+ signpost 6, 12, SIGNPOST_READ, GoldenrodGameCornerSlotsMachineScript
+ signpost 7, 12, SIGNPOST_READ, GoldenrodGameCornerSlotsMachineScript
+ signpost 8, 12, SIGNPOST_READ, GoldenrodGameCornerSlotsMachineScript
+ signpost 9, 12, SIGNPOST_READ, GoldenrodGameCornerSlotsMachineScript
+ signpost 10, 12, SIGNPOST_READ, GoldenrodGameCornerSlotsMachineScript
+ signpost 11, 12, SIGNPOST_RIGHT, GoldenrodGameCornerSlotsMachineScript
+ signpost 6, 13, SIGNPOST_READ, GoldenrodGameCornerCardFlipMachineScript
+ signpost 7, 13, SIGNPOST_READ, GoldenrodGameCornerCardFlipMachineScript
+ signpost 8, 13, SIGNPOST_READ, GoldenrodGameCornerCardFlipMachineScript
+ signpost 9, 13, SIGNPOST_READ, GoldenrodGameCornerCardFlipMachineScript
+ signpost 10, 13, SIGNPOST_READ, GoldenrodGameCornerCardFlipMachineScript
+ signpost 11, 13, SIGNPOST_LEFT, GoldenrodGameCornerCardFlipMachineScript
+ signpost 6, 18, SIGNPOST_READ, GoldenrodGameCornerCardFlipMachineScript
+ signpost 7, 18, SIGNPOST_READ, GoldenrodGameCornerCardFlipMachineScript
+ signpost 8, 18, SIGNPOST_READ, GoldenrodGameCornerCardFlipMachineScript
+ signpost 9, 18, SIGNPOST_READ, GoldenrodGameCornerCardFlipMachineScript
+ signpost 10, 18, SIGNPOST_READ, GoldenrodGameCornerCardFlipMachineScript
+ signpost 11, 18, SIGNPOST_RIGHT, GoldenrodGameCornerCardFlipMachineScript
+ signpost 1, 12, SIGNPOST_LEFT, GoldenrodGameCornerLeftTheirDrinkScript
.PersonEvents:
db 12
- person_event SPRITE_CLERK, 2, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, ClerkScript_0x56c25, -1
- person_event SPRITE_RECEPTIONIST, 2, 16, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, ReceptionistScript_0x56c28, -1
- person_event SPRITE_RECEPTIONIST, 2, 18, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, ReceptionistScript_0x56d01, -1
- person_event SPRITE_PHARMACIST, 7, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, 2, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, PharmacistScript_0x56df1, -1
- person_event SPRITE_PHARMACIST, 7, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, 4, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, PharmacistScript_0x56df1, -1
- person_event SPRITE_POKEFAN_M, 10, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x56dfc, -1
- person_event SPRITE_COOLTRAINER_M, 8, 14, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x56e07, -1
- person_event SPRITE_POKEFAN_F, 6, 17, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, PokefanFScript_0x56e12, -1
- person_event SPRITE_COOLTRAINER_F, 3, 10, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x56e1d, -1
- person_event SPRITE_GENTLEMAN, 10, 5, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x56e20, -1
- person_event SPRITE_POKEFAN_M, 9, 2, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x56e2b, -1
- person_event SPRITE_POKEFAN_M, 10, 17, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, PokefanMScript_0x56c1a, EVENT_GOLDENROD_GAME_CORNER_MOVE_TUTOR
+ person_event SPRITE_CLERK, 2, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, GoldenrodGmeCornerCoinVendorScript, -1
+ person_event SPRITE_RECEPTIONIST, 2, 16, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, GoldenrodGmeCornerTMVendorScript, -1
+ person_event SPRITE_RECEPTIONIST, 2, 18, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, GoldenrodGameCornerPrizeMonVendorScript, -1
+ person_event SPRITE_PHARMACIST, 7, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, (1 << DAY), (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, GoldenrodGameCornerPharmacistScript, -1
+ person_event SPRITE_PHARMACIST, 7, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, (1 << NITE), (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, GoldenrodGameCornerPharmacistScript, -1
+ person_event SPRITE_POKEFAN_M, 10, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_SCRIPT, 0, GoldenrodGameCornerPokefanM1Script, -1
+ person_event SPRITE_COOLTRAINER_M, 8, 14, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, GoldenrodGameCornerCooltrainerMScript, -1
+ person_event SPRITE_POKEFAN_F, 6, 17, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, GoldenrodGameCornerPokefanFScript, -1
+ person_event SPRITE_COOLTRAINER_F, 3, 10, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, GoldenrodGameCornerCooltrainerFScript, -1
+ person_event SPRITE_GENTLEMAN, 10, 5, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, GoldenrodGameCornerGentlemanScript, -1
+ person_event SPRITE_POKEFAN_M, 9, 2, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_SCRIPT, 0, GoldenrodGameCornerPokefanM2Script, -1
+ person_event SPRITE_POKEFAN_M, 10, 17, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, GoldenrodGameCornerPokefanM3Script, EVENT_GOLDENROD_GAME_CORNER_MOVE_TUTOR
--- a/maps/GoldenrodGym.asm
+++ b/maps/GoldenrodGym.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const GOLDENRODGYM_WHITNEY
+ const GOLDENRODGYM_LASS1
+ const GOLDENRODGYM_LASS2
+ const GOLDENRODGYM_BUENA1
+ const GOLDENRODGYM_BUENA2
+ const GOLDENRODGYM_GYM_GUY
+
GoldenrodGym_MapScriptHeader:
.MapTriggers:
db 2
@@ -19,14 +27,14 @@
faceplayer
checkevent EVENT_BEAT_WHITNEY
iftrue .FightDone
- loadfont
+ opentext
writetext UnknownText_0x54122
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x541a5, 0
loadtrainer WHITNEY, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_WHITNEY
setevent EVENT_MADE_WHITNEY_CRY
dotrigger $1
@@ -35,12 +43,12 @@
setevent EVENT_BEAT_LASS_CARRIE
setevent EVENT_BEAT_LASS_BRIDGET
.FightDone
- loadfont
+ opentext
checkevent EVENT_MADE_WHITNEY_CRY
iffalse .StoppedCrying
writetext UnknownText_0x541f4
+ waitbutton
closetext
- loadmovesprites
end
.StoppedCrying
@@ -49,30 +57,30 @@
checkflag ENGINE_PLAINBADGE
iftrue UnknownScript_0x54064
writetext UnknownText_0x54222
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
writetext UnknownText_0x54273
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_PLAINBADGE
checkcode VAR_BADGES
scall GoldenrodGymTriggerRockets
UnknownScript_0x54064:
writetext UnknownText_0x5428b
- keeptextopen
+ buttonsound
verbosegiveitem TM_ATTRACT
iffalse UnknownScript_0x5407b
setevent EVENT_GOT_TM45_ATTRACT
writetext UnknownText_0x54302
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x54077:
writetext UnknownText_0x54360
- closetext
+ waitbutton
UnknownScript_0x5407b:
- loadmovesprites
+ closetext
end
GoldenrodGymTriggerRockets:
@@ -90,22 +98,22 @@
trainer EVENT_BEAT_LASS_CARRIE, LASS, CARRIE, LassCarrieSeenText, LassCarrieBeatenText, 0, LassCarrieScript
LassCarrieScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext LassCarrieOWText
+ waitbutton
closetext
- loadmovesprites
end
WhitneyCriesScript:
- showemote EMOTE_SHOCK, $4, 15
- applymovement $4, BridgetWalksUpMovement
+ showemote EMOTE_SHOCK, GOLDENRODGYM_LASS2, 15
+ applymovement GOLDENRODGYM_LASS2, BridgetWalksUpMovement
spriteface PLAYER, DOWN
- loadfont
+ opentext
writetext BridgetWhitneyCriesText
+ waitbutton
closetext
- loadmovesprites
- applymovement $4, BridgetWalksAwayMovement
+ applymovement GOLDENRODGYM_LASS2, BridgetWalksAwayMovement
dotrigger $0
clearevent EVENT_MADE_WHITNEY_CRY
end
@@ -114,11 +122,11 @@
trainer EVENT_BEAT_LASS_BRIDGET, LASS, BRIDGET, LassBridgetSeenText, LassBridgetBeatenText, 0, LassBridgetScript
LassBridgetScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext LassBridgetOWText
+ waitbutton
closetext
- loadmovesprites
end
TrainerBeautyVictoria:
@@ -125,11 +133,11 @@
trainer EVENT_BEAT_BEAUTY_VICTORIA, BEAUTY, VICTORIA, BeautyVictoriaSeenText, BeautyVictoriaBeatenText, 0, BeautyVictoriaScript
BeautyVictoriaScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext BeautyVictoriaOWText
+ waitbutton
closetext
- loadmovesprites
end
TrainerBeautySamantha:
@@ -136,11 +144,11 @@
trainer EVENT_BEAT_BEAUTY_SAMANTHA, BEAUTY, SAMANTHA, BeautySamanthaSeenText, BeautySamanthaBeatenText, 0, BeautySamanthaScript
BeautySamanthaScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext BeautySamanthaOWText
+ waitbutton
closetext
- loadmovesprites
end
GoldenrodGymGuyScript:
@@ -147,17 +155,17 @@
faceplayer
checkevent EVENT_BEAT_WHITNEY
iftrue .GoldenrodGymGuyWinScript
- loadfont
+ opentext
writetext GoldenrodGymGuyText
+ waitbutton
closetext
- loadmovesprites
end
.GoldenrodGymGuyWinScript
- loadfont
+ opentext
writetext GoldenrodGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
end
GoldenrodGymStatue:
--- a/maps/GoldenrodHappinessRater.asm
+++ b/maps/GoldenrodHappinessRater.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const GOLDENRODHAPPINESSRATER_TEACHER
+ const GOLDENRODHAPPINESSRATER_POKEFAN_M
+ const GOLDENRODHAPPINESSRATER_TWIN
+
GoldenrodHappinessRater_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,10 +12,10 @@
TeacherScript_0x54953:
faceplayer
- loadfont
+ opentext
special GetFirstPokemonHappiness
writetext UnknownText_0x549a3
- keeptextopen
+ buttonsound
if_greater_than $f9, UnknownScript_0x54973
if_greater_than $c7, UnknownScript_0x54979
if_greater_than $95, UnknownScript_0x5497f
@@ -20,38 +25,38 @@
UnknownScript_0x54973:
writetext UnknownText_0x549fc
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x54979:
writetext UnknownText_0x54a2c
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x5497f:
writetext UnknownText_0x54a5a
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x54985:
writetext UnknownText_0x54a8e
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x5498b:
writetext UnknownText_0x54a9f
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x54991:
writetext UnknownText_0x54ad1
+ waitbutton
closetext
- loadmovesprites
end
PokefanMScript_0x54997:
--- a/maps/GoldenrodMagnetTrainStation.asm
+++ b/maps/GoldenrodMagnetTrainStation.asm
@@ -1,24 +1,28 @@
+const_value set 2
+ const GOLDENRODMAGNETTRAINSTATION_OFFICER
+ const GOLDENRODMAGNETTRAINSTATION_GENTLEMAN
+
GoldenrodMagnetTrainStation_MapScriptHeader:
.MapTriggers:
db 1
; triggers
- dw .Trigger1, 0
+ dw .Trigger0, 0
.MapCallbacks:
db 0
-.Trigger1:
+.Trigger0:
end
OfficerScript_0x550ec:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RESTORED_POWER_TO_KANTO
iftrue .MagnetTrainToSaffron
writetext UnknownText_0x55160
+ waitbutton
closetext
- loadmovesprites
end
.MagnetTrainToSaffron:
@@ -28,9 +32,9 @@
checkitem PASS
iffalse .PassNotInBag
writetext UnknownText_0x551ed
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x55146
+ applymovement GOLDENRODMAGNETTRAINSTATION_OFFICER, MovementData_0x55146
applymovement PLAYER, MovementData_0x5514f
writebyte $0
special Special_MagnetTrain
@@ -46,24 +50,24 @@
.PassNotInBag:
writetext UnknownText_0x5522c
+ waitbutton
closetext
- loadmovesprites
end
.DecidedNotToRide:
writetext UnknownText_0x5524f
+ waitbutton
closetext
- loadmovesprites
end
Script_ArriveFromSaffron:
- applymovement $2, MovementData_0x55146
+ applymovement GOLDENRODMAGNETTRAINSTATION_OFFICER, MovementData_0x55146
applymovement PLAYER, MovementData_0x55158
- applymovement $2, MovementData_0x5514b
- loadfont
+ applymovement GOLDENRODMAGNETTRAINSTATION_OFFICER, MovementData_0x5514b
+ opentext
writetext UnknownText_0x5526a
+ waitbutton
closetext
- loadmovesprites
end
GentlemanScript_0x55143:
--- a/maps/GoldenrodNameRatersHouse.asm
+++ b/maps/GoldenrodNameRatersHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const GOLDENRODNAMERATERSHOUSE_GENTLEMAN
+
GoldenrodNameRatersHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,10 +10,10 @@
GentlemanScript_0x5577c:
faceplayer
- loadfont
+ opentext
special SpecialNameRater
+ waitbutton
closetext
- loadmovesprites
end
GoldenrodNameRatersHouseBookshelf:
--- a/maps/GoldenrodPPSpeechHouse.asm
+++ b/maps/GoldenrodPPSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const GOLDENRODPPSPEECHHOUSE_FISHER
+ const GOLDENRODPPSPEECHHOUSE_LASS
+
GoldenrodPPSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/GoldenrodPokeCenter1F.asm
+++ b/maps/GoldenrodPokeCenter1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const GOLDENRODPOKECENTER1F_NURSE
+ const GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
+ const GOLDENRODPOKECENTER1F_GAMEBOY_KID
+ const GOLDENRODPOKECENTER1F_LASS
+ const GOLDENRODPOKECENTER1F_POKEFAN_F
+
GoldenrodPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,7 +16,7 @@
jumpstd pokecenternurse
GoldenrodPokeCenter1F_GSBallTriggerLeft:
- writebyte BATTLE_TOWER_ACTION_0B
+ writebyte BATTLETOWERACTION_CHECKMOBILEEVENT
special BattleTowerAction
if_equal MOBILE_EVENT_OBJECT_GS_BALL, .gsball
end
@@ -18,30 +25,30 @@
checkevent EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
iftrue .cancel
playsound SFX_EXIT_BUILDING
- moveperson $3, $0, $7
- disappear $3
- appear $3
+ moveperson GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, $0, $7
+ disappear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
+ appear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
playmusic MUSIC_SHOW_ME_AROUND
- applymovement $3, MovementData_0x6105a
+ applymovement GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, MovementData_0x6105a
spriteface PLAYER, UP
- loadfont
+ opentext
writetext UnknownText_0x622f0
- closetext
+ waitbutton
verbosegiveitem GS_BALL
setevent EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
setevent EVENT_CAN_GIVE_GS_BALL_TO_KURT
writetext UnknownText_0x62359
+ waitbutton
closetext
- loadmovesprites
- applymovement $3, MovementData_0x61060
+ applymovement GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, MovementData_0x61060
special RestartMapMusic
- disappear $3
+ disappear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
playsound SFX_EXIT_BUILDING
.cancel:
end
GoldenrodPokeCenter1F_GSBallTriggerRight:
- writebyte BATTLE_TOWER_ACTION_0B
+ writebyte BATTLETOWERACTION_CHECKMOBILEEVENT
special BattleTowerAction
if_equal MOBILE_EVENT_OBJECT_GS_BALL, .gsball
end
@@ -50,24 +57,24 @@
checkevent EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
iftrue .cancel
playsound SFX_EXIT_BUILDING
- moveperson $3, $0, $7
- disappear $3
- appear $3
+ moveperson GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, $0, $7
+ disappear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
+ appear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
playmusic MUSIC_SHOW_ME_AROUND
- applymovement $3, MovementData_0x61065
+ applymovement GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, MovementData_0x61065
spriteface PLAYER, UP
- loadfont
+ opentext
writetext UnknownText_0x622f0
- closetext
+ waitbutton
verbosegiveitem GS_BALL
setevent EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
setevent EVENT_CAN_GIVE_GS_BALL_TO_KURT
writetext UnknownText_0x62359
+ waitbutton
closetext
- loadmovesprites
- applymovement $3, MovementData_0x6106c
+ applymovement GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, MovementData_0x6106c
special RestartMapMusic
- disappear $3
+ disappear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
playsound SFX_EXIT_BUILDING
.cancel:
end
@@ -80,9 +87,9 @@
PokefanFScript_0x61024:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x623fb
- closetext
+ waitbutton
writetext UnknownText_0x6248c
yesorno
iffalse UnknownScript_0x6104b
@@ -89,27 +96,27 @@
takeitem EON_MAIL
iffalse UnknownScript_0x6104b
writetext UnknownText_0x62549
- closetext
+ waitbutton
writetext UnknownText_0x624a4
- closetext
+ waitbutton
verbosegiveitem REVIVE
iffalse UnknownScript_0x61051
writetext UnknownText_0x624e9
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6104b:
writetext UnknownText_0x62509
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x61051:
giveitem EON_MAIL
writetext UnknownText_0x6252a
+ waitbutton
closetext
- loadmovesprites
end
MovementData_0x6105a:
--- a/maps/GoldenrodPokeComCenter2FMobile.asm
+++ b/maps/GoldenrodPokeComCenter2FMobile.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const GOLDENRODPOKECOMCENTER2FMOBILE_SCIENTIST1
+ const GOLDENRODPOKECOMCENTER2FMOBILE_SCIENTIST2
+ const GOLDENRODPOKECOMCENTER2FMOBILE_SCIENTIST3
+
GoldenrodPokeComCenter2FMobile_MapScriptHeader:
.MapTriggers:
db 0
@@ -15,32 +20,32 @@
jumptextfaceplayer UnknownText_0x62795
MapGoldenrodPokeComCenter2FMobileSignpost0Script:
- loadfont
+ opentext
writetext UnknownText_0x627ee
- closetext
+ waitbutton
UnknownScript_0x625df:
reloadmappart
loadmenudata MenuDataHeader_0x62602
- interpretmenu2
- writebackup
+ verticalmenu
+ closewindow
if_equal $1, UnknownScript_0x625f0
if_equal $2, UnknownScript_0x625f8
jump UnknownScript_0x62600
UnknownScript_0x625f0:
- loadfont
+ opentext
writetext UnknownText_0x62828
- closetext
+ waitbutton
jump UnknownScript_0x625df
UnknownScript_0x625f8:
- loadfont
+ opentext
writetext UnknownText_0x628f4
- closetext
+ waitbutton
jump UnknownScript_0x625df
UnknownScript_0x62600:
- loadmovesprites
+ closetext
end
@@ -60,32 +65,32 @@
MapGoldenrodPokeComCenter2FMobileSignpost1Script:
- loadfont
+ opentext
writetext UnknownText_0x62989
- closetext
+ waitbutton
UnknownScript_0x62629:
reloadmappart
loadmenudata MenuDataHeader_0x6264c
- interpretmenu2
- writebackup
+ verticalmenu
+ closewindow
if_equal $1, UnknownScript_0x6263a
if_equal $2, UnknownScript_0x62642
jump UnknownScript_0x6264a
UnknownScript_0x6263a:
- loadfont
+ opentext
writetext UnknownText_0x629ae
- closetext
+ waitbutton
jump UnknownScript_0x62629
UnknownScript_0x62642:
- loadfont
+ opentext
writetext UnknownText_0x62a5a
- closetext
+ waitbutton
jump UnknownScript_0x62629
UnknownScript_0x6264a:
- loadmovesprites
+ closetext
end
--- a/maps/GuideGentsHouse.asm
+++ b/maps/GuideGentsHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const GUIDEGENTSHOUSE_GRAMPS
+
GuideGentsHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/HallOfFame.asm
+++ b/maps/HallOfFame.asm
@@ -1,31 +1,34 @@
+const_value set 2
+ const HALLOFFAME_LANCE
+
HallOfFame_MapScriptHeader:
.MapTriggers:
db 2
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
- dw .Trigger2, 0
.MapCallbacks:
db 0
-.Trigger1:
+.Trigger0:
priorityjump HallOfFameScript
end
-.Trigger2:
+.Trigger1:
end
HallOfFameScript:
- follow $2, PLAYER
- applymovement $2, HallOfFame_WalkUpWithLance
+ follow HALLOFFAME_LANCE, PLAYER
+ applymovement HALLOFFAME_LANCE, HallOfFame_WalkUpWithLance
stopfollow
spriteface PLAYER, RIGHT
- loadfont
+ opentext
writetext HallOfFame_LanceText
+ waitbutton
closetext
- loadmovesprites
- spriteface $2, UP
+ spriteface HALLOFFAME_LANCE, UP
applymovement PLAYER, HallOfFame_SlowlyApproachMachine
dotrigger $1
pause 15
--- a/maps/IcePath1F.asm
+++ b/maps/IcePath1F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const ICEPATH1F_POKE_BALL1
+ const ICEPATH1F_POKE_BALL2
+ const ICEPATH1F_POKE_BALL3
+
IcePath1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,14 +10,14 @@
.MapCallbacks:
db 0
-ItemFragment_0x7e472:
- db HM_WATERFALL, 1
+IcePath1FHMWaterfall:
+ itemball HM_WATERFALL
-ItemFragment_0x7e474:
- db PP_UP, 1
+IcePath1FPPUp:
+ itemball PP_UP
-ItemFragment_0x7e476:
- db PROTEIN, 1
+IcePath1FProtein:
+ itemball PROTEIN
IcePath1F_MapEventHeader:
; filler
@@ -33,6 +38,6 @@
.PersonEvents:
db 3
- person_event SPRITE_POKE_BALL, 7, 31, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e472, EVENT_GOT_HM07_WATERFALL
- person_event SPRITE_POKE_BALL, 23, 32, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e474, EVENT_ICE_PATH_1F_PP_UP
- person_event SPRITE_POKE_BALL, 9, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e476, EVENT_ICE_PATH_1F_PROTEIN
+ person_event SPRITE_POKE_BALL, 7, 31, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, IcePath1FHMWaterfall, EVENT_GOT_HM07_WATERFALL
+ person_event SPRITE_POKE_BALL, 23, 32, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, IcePath1FPPUp, EVENT_ICE_PATH_1F_PP_UP
+ person_event SPRITE_POKE_BALL, 9, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, IcePath1FProtein, EVENT_ICE_PATH_1F_PROTEIN
--- a/maps/IcePathB1F.asm
+++ b/maps/IcePathB1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const ICEPATHB1F_BOULDER1
+ const ICEPATHB1F_BOULDER2
+ const ICEPATHB1F_BOULDER3
+ const ICEPATHB1F_BOULDER4
+ const ICEPATHB1F_POKE_BALL
+
IcePathB1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -18,37 +25,29 @@
db 0, 0 ; filler
.StoneTable:
- db 3, 2 ; warp, person
- dw .Boulder1
+ stonetable 3, ICEPATHB1F_BOULDER1, .Boulder1
+ stonetable 4, ICEPATHB1F_BOULDER2, .Boulder2
+ stonetable 5, ICEPATHB1F_BOULDER3, .Boulder3
+ stonetable 6, ICEPATHB1F_BOULDER4, .Boulder4
+ db -1
- db 4, 3 ; warp, person
- dw .Boulder2
-
- db 5, 4 ; warp, person
- dw .Boulder3
-
- db 6, 5 ; warp, person
- dw .Boulder4
-
- db -1 ; end
-
.Boulder1:
- disappear 2
+ disappear ICEPATHB1F_BOULDER1
clearevent EVENT_BOULDER_IN_ICE_PATH_1A
jump .FinishBoulder
.Boulder2:
- disappear 3
+ disappear ICEPATHB1F_BOULDER2
clearevent EVENT_BOULDER_IN_ICE_PATH_2A
jump .FinishBoulder
.Boulder3:
- disappear 4
+ disappear ICEPATHB1F_BOULDER3
clearevent EVENT_BOULDER_IN_ICE_PATH_3A
jump .FinishBoulder
.Boulder4:
- disappear 5
+ disappear ICEPATHB1F_BOULDER4
clearevent EVENT_BOULDER_IN_ICE_PATH_4A
jump .FinishBoulder
@@ -55,10 +54,10 @@
.FinishBoulder:
pause 30
scall .BoulderFallsThrough
- loadfont
- writetext UnknownText_0x7e512
+ opentext
+ writetext IcePathBoulderFellThroughText
+ waitbutton
closetext
- loadmovesprites
end
.BoulderFallsThrough:
@@ -70,14 +69,14 @@
IcePathB1FBoulder:
jumpstd strengthboulder
-ItemFragment_0x7e50d:
- db IRON, 1
+IcePathB1FIron:
+ itemball IRON
-MapIcePathB1FSignpostItem0:
+IcePathB1FHiddenMaxPotion:
dwb EVENT_ICE_PATH_B1F_HIDDEN_MAX_POTION, MAX_POTION
-UnknownText_0x7e512:
+IcePathBoulderFellThroughText:
text "The boulder fell"
line "through."
done
@@ -103,7 +102,7 @@
.Signposts:
db 1
- signpost 30, 17, SIGNPOST_ITEM, MapIcePathB1FSignpostItem0
+ signpost 30, 17, SIGNPOST_ITEM, IcePathB1FHiddenMaxPotion
.PersonEvents:
db 5
@@ -111,4 +110,4 @@
person_event SPRITE_BOULDER, 8, 7, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_2
person_event SPRITE_BOULDER, 9, 8, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_3
person_event SPRITE_BOULDER, 7, 17, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_4
- person_event SPRITE_POKE_BALL, 35, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e50d, EVENT_ICE_PATH_B1F_IRON
+ person_event SPRITE_POKE_BALL, 35, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, IcePathB1FIron, EVENT_ICE_PATH_B1F_IRON
--- a/maps/IcePathB2FBlackthornSide.asm
+++ b/maps/IcePathB2FBlackthornSide.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ICEPATHB2FBLACKTHORNSIDE_POKE_BALL
+
IcePathB2FBlackthornSide_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,10 +8,10 @@
.MapCallbacks:
db 0
-ItemFragment_0x7e646:
- db TM_REST, 1
+IcePathB2FBlackthornSideTMRest:
+ itemball TM_REST
-MapIcePathB2FBlackthornSideSignpostItem0:
+IcePathB2FBlackthornSideHiddenIceHeal:
dwb EVENT_ICE_PATH_B2F_BLACKTHORN_SIDE_HIDDEN_ICE_HEAL, ICE_HEAL
@@ -26,8 +29,8 @@
.Signposts:
db 1
- signpost 10, 2, SIGNPOST_ITEM, MapIcePathB2FBlackthornSideSignpostItem0
+ signpost 10, 2, SIGNPOST_ITEM, IcePathB2FBlackthornSideHiddenIceHeal
.PersonEvents:
db 1
- person_event SPRITE_POKE_BALL, 16, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e646, EVENT_ICE_PATH_B2F_BLACKTHORN_SIDE_TM_REST
+ person_event SPRITE_POKE_BALL, 16, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, IcePathB2FBlackthornSideTMRest, EVENT_ICE_PATH_B2F_BLACKTHORN_SIDE_TM_REST
--- a/maps/IcePathB2FMahoganySide.asm
+++ b/maps/IcePathB2FMahoganySide.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const ICEPATHB2FMAHOGANYSIDE_BOULDER1
+ const ICEPATHB2FMAHOGANYSIDE_BOULDER2
+ const ICEPATHB2FMAHOGANYSIDE_BOULDER3
+ const ICEPATHB2FMAHOGANYSIDE_BOULDER4
+ const ICEPATHB2FMAHOGANYSIDE_POKE_BALL1
+ const ICEPATHB2FMAHOGANYSIDE_POKE_BALL2
+
IcePathB2FMahoganySide_MapScriptHeader:
.MapTriggers:
db 0
@@ -8,13 +16,13 @@
BoulderScript_0x7e5a3:
jumptext UnknownText_0x7e5ad
-ItemFragment_0x7e5a6:
- db FULL_HEAL, 1
+IcePathB2FMahoganySideFullHeal:
+ itemball FULL_HEAL
-ItemFragment_0x7e5a8:
- db MAX_POTION, 1
+IcePathB2FMahoganySideMaxPotion:
+ itemball MAX_POTION
-MapIcePathB2FMahoganySideSignpostItem0:
+IcePathB2FMahoganySideHiddenCarbos:
dwb EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_HIDDEN_CARBOS, CARBOS
@@ -41,7 +49,7 @@
.Signposts:
db 1
- signpost 17, 0, SIGNPOST_ITEM, MapIcePathB2FMahoganySideSignpostItem0
+ signpost 17, 0, SIGNPOST_ITEM, IcePathB2FMahoganySideHiddenCarbos
.PersonEvents:
db 6
@@ -49,5 +57,5 @@
person_event SPRITE_BOULDER, 7, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_2A
person_event SPRITE_BOULDER, 12, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_3A
person_event SPRITE_BOULDER, 13, 12, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_4A
- person_event SPRITE_POKE_BALL, 9, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e5a6, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_FULL_HEAL
- person_event SPRITE_POKE_BALL, 2, 0, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e5a8, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_MAX_POTION
+ person_event SPRITE_POKE_BALL, 9, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, IcePathB2FMahoganySideFullHeal, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_FULL_HEAL
+ person_event SPRITE_POKE_BALL, 2, 0, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, IcePathB2FMahoganySideMaxPotion, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_MAX_POTION
--- a/maps/IcePathB3F.asm
+++ b/maps/IcePathB3F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ICEPATHB3F_POKE_BALL
+ const ICEPATHB3F_ROCK
+
IcePathB3F_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,8 +9,8 @@
.MapCallbacks:
db 0
-ItemFragment_0x7e66f:
- db NEVERMELTICE, 1
+IcePathB3FNevermeltice:
+ itemball NEVERMELTICE
IcePathB3FRock:
jumpstd smashrock
@@ -28,5 +32,5 @@
.PersonEvents:
db 2
- person_event SPRITE_POKE_BALL, 7, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e66f, EVENT_ICE_PATH_B3F_NEVERMELTICE
+ person_event SPRITE_POKE_BALL, 7, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, IcePathB3FNevermeltice, EVENT_ICE_PATH_B3F_NEVERMELTICE
person_event SPRITE_ROCK, 6, 6, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, IcePathB3FRock, -1
--- a/maps/IlexForest.asm
+++ b/maps/IlexForest.asm
@@ -1,3 +1,16 @@
+const_value set 2
+ const ILEXFOREST_BIRD
+ const ILEXFOREST_YOUNGSTER1
+ const ILEXFOREST_BLACK_BELT
+ const ILEXFOREST_ROCKER
+ const ILEXFOREST_POKE_BALL1
+ const ILEXFOREST_KURT
+ const ILEXFOREST_LASS
+ const ILEXFOREST_YOUNGSTER2
+ const ILEXFOREST_POKE_BALL2
+ const ILEXFOREST_POKE_BALL3
+ const ILEXFOREST_POKE_BALL4
+
IlexForest_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,343 +20,345 @@
; callbacks
- dbw 2, UnknownScript_0x6eb03
+ dbw 2, .FarfetchdCallback
-UnknownScript_0x6eb03:
+.FarfetchdCallback:
checkevent EVENT_GOT_HM01_CUT
- iftrue UnknownScript_0x6eb34
+ iftrue .Static
copybytetovar FarfetchdPosition
- if_equal $1, UnknownScript_0x6eb35
- if_equal $2, UnknownScript_0x6eb3c
- if_equal $3, UnknownScript_0x6eb43
- if_equal $4, UnknownScript_0x6eb4a
- if_equal $5, UnknownScript_0x6eb51
- if_equal $6, UnknownScript_0x6eb58
- if_equal $7, UnknownScript_0x6eb5f
- if_equal $8, UnknownScript_0x6eb66
- if_equal $9, UnknownScript_0x6eb6d
- if_equal $a, UnknownScript_0x6eb74
-UnknownScript_0x6eb34:
+ if_equal 1, .PositionOne
+ if_equal 2, .PositionTwo
+ if_equal 3, .PositionThree
+ if_equal 4, .PositionFour
+ if_equal 5, .PositionFive
+ if_equal 6, .PositionSix
+ if_equal 7, .PositionSeven
+ if_equal 8, .PositionEight
+ if_equal 9, .PositionNine
+ if_equal 10, .PositionTen
+.Static:
return
-UnknownScript_0x6eb35:
- moveperson $2, $e, $1f
- appear $2
+.PositionOne:
+ moveperson ILEXFOREST_BIRD, $e, $1f
+ appear ILEXFOREST_BIRD
return
-UnknownScript_0x6eb3c:
- moveperson $2, $f, $19
- appear $2
+.PositionTwo:
+ moveperson ILEXFOREST_BIRD, $f, $19
+ appear ILEXFOREST_BIRD
return
-UnknownScript_0x6eb43:
- moveperson $2, $14, $18
- appear $2
+.PositionThree:
+ moveperson ILEXFOREST_BIRD, $14, $18
+ appear ILEXFOREST_BIRD
return
-UnknownScript_0x6eb4a:
- moveperson $2, $1d, $16
- appear $2
+.PositionFour:
+ moveperson ILEXFOREST_BIRD, $1d, $16
+ appear ILEXFOREST_BIRD
return
-UnknownScript_0x6eb51:
- moveperson $2, $1c, $1f
- appear $2
+.PositionFive:
+ moveperson ILEXFOREST_BIRD, $1c, $1f
+ appear ILEXFOREST_BIRD
return
-UnknownScript_0x6eb58:
- moveperson $2, $18, $23
- appear $2
+.PositionSix:
+ moveperson ILEXFOREST_BIRD, $18, $23
+ appear ILEXFOREST_BIRD
return
-UnknownScript_0x6eb5f:
- moveperson $2, $16, $1f
- appear $2
+.PositionSeven:
+ moveperson ILEXFOREST_BIRD, $16, $1f
+ appear ILEXFOREST_BIRD
return
-UnknownScript_0x6eb66:
- moveperson $2, $f, $1d
- appear $2
+.PositionEight:
+ moveperson ILEXFOREST_BIRD, $f, $1d
+ appear ILEXFOREST_BIRD
return
-UnknownScript_0x6eb6d:
- moveperson $2, $a, $23
- appear $2
+.PositionNine:
+ moveperson ILEXFOREST_BIRD, $a, $23
+ appear ILEXFOREST_BIRD
return
-UnknownScript_0x6eb74:
- moveperson $2, $6, $1c
- appear $2
+.PositionTen:
+ moveperson ILEXFOREST_BIRD, $6, $1c
+ appear ILEXFOREST_BIRD
return
-YoungsterScript_0x6eb7b:
+IlexForestCharcoalApprenticeScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_HERDED_FARFETCHD
- iftrue UnknownScript_0x6eb89
+ iftrue .DoneFarfetchd
writetext UnknownText_0x6ef5c
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x6eb89:
+.DoneFarfetchd:
writetext UnknownText_0x6f019
+ waitbutton
closetext
- loadmovesprites
end
-BirdScript_0x6eb8f:
+IlexForestFarfetchdScript:
copybytetovar FarfetchdPosition
- if_equal $1, UnknownScript_0x6ebba
- if_equal $2, UnknownScript_0x6ebd9
- if_equal $3, UnknownScript_0x6ec02
- if_equal $4, UnknownScript_0x6ec2b
- if_equal $5, UnknownScript_0x6ec54
- if_equal $6, UnknownScript_0x6eca7
- if_equal $7, UnknownScript_0x6ecd0
- if_equal $8, UnknownScript_0x6ed0e
- if_equal $9, UnknownScript_0x6ed50
- if_equal $a, UnknownScript_0x6ed96
-UnknownScript_0x6ebba:
+ if_equal 1, .Position1
+ if_equal 2, .Position2
+ if_equal 3, .Position3
+ if_equal 4, .Position4
+ if_equal 5, .Position5
+ if_equal 6, .Position6
+ if_equal 7, .Position7
+ if_equal 8, .Position8
+ if_equal 9, .Position9
+ if_equal 10, .Position10
+
+.Position1:
faceplayer
- loadfont
- writetext UnknownText_0x6f06f
- keeptextopen
- writetext UnknownText_0x6f086
+ opentext
+ writetext Text_ItsTheMissingPokemon
+ buttonsound
+ writetext Text_Kwaaaa
cry FARFETCH_D
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x6ee8f
- moveperson $2, $f, $19
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $2
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetchd_Pos1_Pos2
+ moveperson ILEXFOREST_BIRD, $f, $19
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 2
end
-UnknownScript_0x6ebd9:
- scall UnknownScript_0x6eda1
- if_equal $0, UnknownScript_0x6ebf1
- applymovement $2, MovementData_0x6ee95
- moveperson $2, $14, $18
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $3
+.Position2:
+ scall .CryAndCheckFacing
+ if_equal DOWN, .Position2_Down
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetchd_Pos2_Pos3
+ moveperson ILEXFOREST_BIRD, $14, $18
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 3
end
-UnknownScript_0x6ebf1:
- applymovement $2, MovementData_0x6ee9e
- moveperson $2, $f, $1d
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $8
+.Position2_Down:
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetchd_Pos2_Pos8
+ moveperson ILEXFOREST_BIRD, $f, $1d
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 8
end
-UnknownScript_0x6ec02:
- scall UnknownScript_0x6eda1
- if_equal $2, UnknownScript_0x6ec1a
- applymovement $2, MovementData_0x6eea4
- moveperson $2, $1d, $16
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $4
+.Position3:
+ scall .CryAndCheckFacing
+ if_equal LEFT, .Position3_Left
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetchd_Pos3_Pos4
+ moveperson ILEXFOREST_BIRD, $1d, $16
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 4
end
-UnknownScript_0x6ec1a:
- applymovement $2, MovementData_0x6eeab
- moveperson $2, $f, $19
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $2
+.Position3_Left:
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetchd_Pos3_Pos2
+ moveperson ILEXFOREST_BIRD, $f, $19
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 2
end
-UnknownScript_0x6ec2b:
- scall UnknownScript_0x6eda1
- if_equal $1, UnknownScript_0x6ec43
- applymovement $2, MovementData_0x6eeb1
- moveperson $2, $1c, $1f
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $5
+.Position4:
+ scall .CryAndCheckFacing
+ if_equal UP, .Position4_Up
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetchd_Pos4_Pos5
+ moveperson ILEXFOREST_BIRD, $1c, $1f
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 5
end
-UnknownScript_0x6ec43:
- applymovement $2, MovementData_0x6eeb8
- moveperson $2, $14, $18
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $3
+.Position4_Up:
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetchd_Pos4_Pos3
+ moveperson ILEXFOREST_BIRD, $14, $18
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 3
end
-UnknownScript_0x6ec54:
- scall UnknownScript_0x6eda1
- if_equal $1, UnknownScript_0x6ec85
- if_equal $2, UnknownScript_0x6ec74
- if_equal $3, UnknownScript_0x6ec96
- applymovement $2, MovementData_0x6eebd
- moveperson $2, $18, $23
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $6
+.Position5:
+ scall .CryAndCheckFacing
+ if_equal UP, .Position5_Up
+ if_equal LEFT, .Position5_Left
+ if_equal RIGHT, .Position5_Right
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetchd_Pos5_Pos6
+ moveperson ILEXFOREST_BIRD, $18, $23
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 6
end
-UnknownScript_0x6ec74:
- applymovement $2, MovementData_0x6eec7
- moveperson $2, $16, $1f
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $7
+.Position5_Left:
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetchd_Pos5_Pos7
+ moveperson ILEXFOREST_BIRD, $16, $1f
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 7
end
-UnknownScript_0x6ec85:
- applymovement $2, MovementData_0x6eecc
- moveperson $2, $1d, $16
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $4
+.Position5_Up:
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetched_Pos5_Pos4_Up
+ moveperson ILEXFOREST_BIRD, $1d, $16
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 4
end
-UnknownScript_0x6ec96:
- applymovement $2, MovementData_0x6eed2
- moveperson $2, $1d, $16
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $4
+.Position5_Right:
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetched_Pos5_Pos4_Right
+ moveperson ILEXFOREST_BIRD, $1d, $16
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 4
end
-UnknownScript_0x6eca7:
- scall UnknownScript_0x6eda1
- if_equal $3, UnknownScript_0x6ecbf
- applymovement $2, MovementData_0x6eee6
- moveperson $2, $16, $1f
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $7
+.Position6:
+ scall .CryAndCheckFacing
+ if_equal RIGHT, .Position6_Right
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetched_Pos6_Pos7
+ moveperson ILEXFOREST_BIRD, $16, $1f
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 7
end
-UnknownScript_0x6ecbf:
- applymovement $2, MovementData_0x6eeef
- moveperson $2, $1c, $1f
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $5
+.Position6_Right:
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetched_Pos6_Pos5
+ moveperson ILEXFOREST_BIRD, $1c, $1f
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 5
end
-UnknownScript_0x6ecd0:
- scall UnknownScript_0x6eda1
- if_equal $0, UnknownScript_0x6ecfd
- if_equal $2, UnknownScript_0x6ecec
- applymovement $2, MovementData_0x6eef8
- moveperson $2, $f, $1d
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $8
+.Position7:
+ scall .CryAndCheckFacing
+ if_equal DOWN, .Position7_Down
+ if_equal LEFT, .Position7_Left
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetched_Pos7_Pos8
+ moveperson ILEXFOREST_BIRD, $f, $1d
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 8
end
-UnknownScript_0x6ecec:
- applymovement $2, MovementData_0x6ef00
- moveperson $2, $18, $23
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $6
+.Position7_Left:
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetched_Pos7_Pos6
+ moveperson ILEXFOREST_BIRD, $18, $23
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 6
end
-UnknownScript_0x6ecfd:
- applymovement $2, MovementData_0x6ef09
- moveperson $2, $1c, $1f
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $5
+.Position7_Down:
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetched_Pos7_Pos5
+ moveperson ILEXFOREST_BIRD, $1c, $1f
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 5
end
-UnknownScript_0x6ed0e:
- scall UnknownScript_0x6eda1
- if_equal $1, UnknownScript_0x6ed3f
- if_equal $2, UnknownScript_0x6ed3f
- if_equal $3, UnknownScript_0x6ed2e
- applymovement $2, MovementData_0x6ef10
- moveperson $2, $a, $23
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $9
+.Position8:
+ scall .CryAndCheckFacing
+ if_equal UP, .Position8_Up
+ if_equal LEFT, .Position8_Left
+ if_equal RIGHT, .Position8_Right
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetched_Pos8_Pos9
+ moveperson ILEXFOREST_BIRD, $a, $23
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 9
end
-UnknownScript_0x6ed2e:
- applymovement $2, MovementData_0x6ef18
- moveperson $2, $16, $1f
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $7
+.Position8_Right:
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetched_Pos8_Pos7
+ moveperson ILEXFOREST_BIRD, $16, $1f
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 7
end
-UnknownScript_0x6ed3f:
- applymovement $2, MovementData_0x6ef1e
- moveperson $2, $f, $19
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $2
+.Position8_Up:
+.Position8_Left:
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetched_Pos8_Pos2
+ moveperson ILEXFOREST_BIRD, $f, $19
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 2
end
-UnknownScript_0x6ed50:
- scall UnknownScript_0x6eda1
- if_equal $0, UnknownScript_0x6ed85
- if_equal $3, UnknownScript_0x6ed74
- applymovement $2, MovementData_0x6ef23
- moveperson $2, $6, $1c
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $a
- appear $4
+.Position9:
+ scall .CryAndCheckFacing
+ if_equal DOWN, .Position9_Down
+ if_equal RIGHT, .Position9_Right
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetched_Pos9_Pos10
+ moveperson ILEXFOREST_BIRD, $6, $1c
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 10
+ appear ILEXFOREST_BLACK_BELT
setevent EVENT_CHARCOAL_KILN_BOSS
setevent EVENT_HERDED_FARFETCHD
end
-UnknownScript_0x6ed74:
- applymovement $2, MovementData_0x6ef33
- moveperson $2, $f, $1d
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $8
+.Position9_Right:
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetched_Pos9_Pos8_Right
+ moveperson ILEXFOREST_BIRD, $f, $1d
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 8
end
-UnknownScript_0x6ed85:
- applymovement $2, MovementData_0x6ef3d
- moveperson $2, $f, $1d
- disappear $2
- appear $2
- loadvar FarfetchdPosition, $8
+.Position9_Down:
+ applymovement ILEXFOREST_BIRD, MovementData_Farfetched_Pos9_Pos8_Down
+ moveperson ILEXFOREST_BIRD, $f, $1d
+ disappear ILEXFOREST_BIRD
+ appear ILEXFOREST_BIRD
+ loadvar FarfetchdPosition, 8
end
-UnknownScript_0x6ed96:
+.Position10:
faceplayer
- loadfont
- writetext UnknownText_0x6f086
+ opentext
+ writetext Text_Kwaaaa
cry FARFETCH_D
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x6eda1:
+.CryAndCheckFacing:
faceplayer
- loadfont
- writetext UnknownText_0x6f086
+ opentext
+ writetext Text_Kwaaaa
cry FARFETCH_D
+ waitbutton
closetext
- loadmovesprites
checkcode VAR_FACING
end
-BlackBeltScript_0x6edae:
+IlexForestCharcoalMasterScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_HM01_CUT
- iftrue UnknownScript_0x6edd8
- writetext UnknownText_0x6f099
- keeptextopen
+ iftrue .AlreadyGotCut
+ writetext Text_CharcoalMasterIntro
+ buttonsound
verbosegiveitem HM_CUT
setevent EVENT_GOT_HM01_CUT
- writetext UnknownText_0x6f141
+ writetext Text_CharcoalMasterOutro
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_ILEX_FOREST_FARFETCHD
setevent EVENT_ILEX_FOREST_APPRENTICE
setevent EVENT_ILEX_FOREST_CHARCOAL_MASTER
@@ -352,27 +367,27 @@
clearevent EVENT_CHARCOAL_KILN_BOSS
end
-UnknownScript_0x6edd8:
- writetext UnknownText_0x6f1c0
+.AlreadyGotCut:
+ writetext Text_CharcoalMasterTalkAfter
+ waitbutton
closetext
- loadmovesprites
end
-RockerScript_0x6edde:
+IlexForestHeadbuttGuyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TM02_HEADBUTT
- iftrue UnknownScript_0x6edf3
- writetext UnknownText_0x6f21b
- keeptextopen
+ iftrue .AlreadyGotHeadbutt
+ writetext Text_HeadbuttIntro
+ buttonsound
verbosegiveitem TM_HEADBUTT
- iffalse UnknownScript_0x6edf7
+ iffalse .BagFull
setevent EVENT_GOT_TM02_HEADBUTT
-UnknownScript_0x6edf3:
- writetext UnknownText_0x6f26d
+.AlreadyGotHeadbutt:
+ writetext Text_HeadbuttOutro
+ waitbutton
+.BagFull:
closetext
-UnknownScript_0x6edf7:
- loadmovesprites
end
TrainerBug_catcherWayne:
@@ -379,37 +394,37 @@
trainer EVENT_BEAT_BUG_CATCHER_WAYNE, BUG_CATCHER, WAYNE, Bug_catcherWayneSeenText, Bug_catcherWayneBeatenText, 0, Bug_catcherWayneScript
Bug_catcherWayneScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x6f571
+ end_if_just_battled
+ opentext
+ writetext Bug_catcherWayneAfterText
+ waitbutton
closetext
- loadmovesprites
end
-LassScript_0x6ee0d:
- jumptextfaceplayer UnknownText_0x6f2af
+IlexForestLassScript:
+ jumptextfaceplayer Text_IlexForestLass
-ItemFragment_0x6ee10:
- db REVIVE, 1
+IlexForestRevive:
+ itemball REVIVE
-ItemFragment_0x6ee12:
- db X_ATTACK, 1
+IlexForestXAttack:
+ itemball X_ATTACK
-ItemFragment_0x6ee14:
- db ANTIDOTE, 1
+IlexForestAntidote:
+ itemball ANTIDOTE
-ItemFragment_0x6ee16:
- db ETHER, 1
+IlexForestEther:
+ itemball ETHER
-MapIlexForestSignpostItem1:
+IlexForestHiddenEther:
dwb EVENT_ILEX_FOREST_HIDDEN_ETHER, ETHER
-MapIlexForestSignpostItem2:
+IlexForestHiddenSuperPotion:
dwb EVENT_ILEX_FOREST_HIDDEN_SUPER_POTION, SUPER_POTION
-MapIlexForestSignpostItem3:
+IlexForestHiddenFullHeal:
dwb EVENT_ILEX_FOREST_HIDDEN_FULL_HEAL, FULL_HEAL
IlexForestBoulder:
@@ -417,39 +432,39 @@
jumpstd strengthboulder
MapIlexForestSignpost0Script:
- jumptext UnknownText_0x6f2de
+ jumptext Text_IlexForestSignpost0
MapIlexForestSignpost4Script:
checkevent EVENT_FOREST_IS_RESTLESS
- iftrue UnknownScript_0x6ee30
- jump UnknownScript_0x6ee35
+ iftrue .ForestIsRestless
+ jump .DontDoCelebiEvent
-UnknownScript_0x6ee30:
+.ForestIsRestless:
checkitem GS_BALL
- iftrue UnknownScript_0x6ee38
-UnknownScript_0x6ee35:
- jumptext UnknownText_0x6f358
+ iftrue .AskCelebiEvent
+.DontDoCelebiEvent:
+ jumptext Text_IlexForestShrine
-UnknownScript_0x6ee38:
- loadfont
- writetext UnknownText_0x6f394
+.AskCelebiEvent:
+ opentext
+ writetext Text_ShrineCelebiEvent
yesorno
- iftrue UnknownScript_0x6ee42
- loadmovesprites
+ iftrue .CelebiEvent
+ closetext
end
-UnknownScript_0x6ee42:
+.CelebiEvent:
takeitem GS_BALL
clearevent EVENT_FOREST_IS_RESTLESS
setevent EVENT_AZALEA_TOWN_KURT
- disappear $8
+ disappear ILEXFOREST_LASS
clearevent EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS
- writetext UnknownText_0x6f43b
+ writetext Text_InsertGSBall
+ waitbutton
closetext
- loadmovesprites
pause 20
showemote EMOTE_SHOCK, PLAYER, 20
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
applymovement PLAYER, MovementData_0x6ef58
pause 30
spriteface PLAYER, DOWN
@@ -456,24 +471,24 @@
pause 20
clearflag ENGINE_HAVE_EXAMINED_GS_BALL
special Special_CelebiShrineEvent
- loadpokedata CELEBI, 30
+ loadwildmon CELEBI, 30
startbattle
- returnafterbattle
+ reloadmapafterbattle
pause 20
special CheckCaughtCelebi
- iffalse UnknownScript_0x6ee8e
- appear $7
- applymovement $7, MovementData_0x6ef4e
- loadfont
- writetext UnknownText_0x6f452
+ iffalse .DidntCatchCelebi
+ appear ILEXFOREST_KURT
+ applymovement ILEXFOREST_KURT, MovementData_0x6ef4e
+ opentext
+ writetext Text_KurtCaughtCelebi
+ waitbutton
closetext
- loadmovesprites
- applymovement $7, MovementData_0x6ef53
- disappear $7
-UnknownScript_0x6ee8e:
+ applymovement ILEXFOREST_KURT, MovementData_0x6ef53
+ disappear ILEXFOREST_KURT
+.DidntCatchCelebi:
end
-MovementData_0x6ee8f:
+MovementData_Farfetchd_Pos1_Pos2:
big_step_up
big_step_up
big_step_up
@@ -481,7 +496,7 @@
big_step_up
step_end
-MovementData_0x6ee95:
+MovementData_Farfetchd_Pos2_Pos3:
big_step_up
big_step_up
big_step_right
@@ -492,7 +507,7 @@
big_step_down
step_end
-MovementData_0x6ee9e:
+MovementData_Farfetchd_Pos2_Pos8:
big_step_down
big_step_down
big_step_down
@@ -500,7 +515,7 @@
big_step_down
step_end
-MovementData_0x6eea4:
+MovementData_Farfetchd_Pos3_Pos4:
big_step_right
big_step_right
big_step_right
@@ -509,7 +524,7 @@
big_step_right
step_end
-MovementData_0x6eeab:
+MovementData_Farfetchd_Pos3_Pos2:
big_step_up
big_step_left
big_step_left
@@ -517,7 +532,7 @@
big_step_left
step_end
-MovementData_0x6eeb1:
+MovementData_Farfetchd_Pos4_Pos5:
big_step_down
big_step_down
big_step_down
@@ -526,7 +541,7 @@
big_step_down
step_end
-MovementData_0x6eeb8:
+MovementData_Farfetchd_Pos4_Pos3:
big_step_left
jump_step_left
big_step_left
@@ -533,7 +548,7 @@
big_step_left
step_end
-MovementData_0x6eebd:
+MovementData_Farfetchd_Pos5_Pos6:
big_step_down
big_step_down
big_step_down
@@ -545,7 +560,7 @@
big_step_left
step_end
-MovementData_0x6eec7:
+MovementData_Farfetchd_Pos5_Pos7:
big_step_left
big_step_left
big_step_left
@@ -552,7 +567,7 @@
big_step_left
step_end
-MovementData_0x6eecc:
+MovementData_Farfetched_Pos5_Pos4_Up:
big_step_up
big_step_up
big_step_up
@@ -560,14 +575,14 @@
big_step_up
step_end
-MovementData_0x6eed2:
+MovementData_Farfetched_Pos5_Pos4_Right:
big_step_right
turn_head_up
- db $3e ; movement
+ step_sleep_1
turn_head_down
- db $3e ; movement
+ step_sleep_1
turn_head_up
- db $3e ; movement
+ step_sleep_1
big_step_down
big_step_down
fix_facing
@@ -582,7 +597,7 @@
big_step_up
step_end
-MovementData_0x6eee6:
+MovementData_Farfetched_Pos6_Pos7:
big_step_left
big_step_left
big_step_left
@@ -593,7 +608,7 @@
big_step_up
step_end
-MovementData_0x6eeef:
+MovementData_Farfetched_Pos6_Pos5:
big_step_right
big_step_right
big_step_right
@@ -604,7 +619,7 @@
big_step_up
step_end
-MovementData_0x6eef8:
+MovementData_Farfetched_Pos7_Pos8:
big_step_up
big_step_up
big_step_left
@@ -614,7 +629,7 @@
big_step_left
step_end
-MovementData_0x6ef00:
+MovementData_Farfetched_Pos7_Pos6:
big_step_down
big_step_down
big_step_left
@@ -625,7 +640,7 @@
big_step_right
step_end
-MovementData_0x6ef09:
+MovementData_Farfetched_Pos7_Pos5:
big_step_right
big_step_right
big_step_right
@@ -634,7 +649,7 @@
big_step_right
step_end
-MovementData_0x6ef10:
+MovementData_Farfetched_Pos8_Pos9:
big_step_down
big_step_left
big_step_down
@@ -644,7 +659,7 @@
big_step_down
step_end
-MovementData_0x6ef18:
+MovementData_Farfetched_Pos8_Pos7:
big_step_right
big_step_right
big_step_right
@@ -652,7 +667,7 @@
big_step_right
step_end
-MovementData_0x6ef1e:
+MovementData_Farfetched_Pos8_Pos2:
big_step_up
big_step_up
big_step_up
@@ -659,7 +674,7 @@
big_step_up
step_end
-MovementData_0x6ef23:
+MovementData_Farfetched_Pos9_Pos10:
big_step_left
big_step_left
fix_facing
@@ -677,7 +692,7 @@
big_step_up
step_end
-MovementData_0x6ef33:
+MovementData_Farfetched_Pos9_Pos8_Right:
big_step_right
big_step_right
big_step_right
@@ -689,7 +704,7 @@
big_step_up
step_end
-MovementData_0x6ef3d:
+MovementData_Farfetched_Pos9_Pos8_Down:
big_step_left
big_step_left
fix_facing
@@ -757,16 +772,16 @@
cont "a BADGE."
done
-UnknownText_0x6f06f:
+Text_ItsTheMissingPokemon:
text "It's the missing"
line "#MON!"
done
-UnknownText_0x6f086:
+Text_Kwaaaa:
text "FARFETCH'D: Kwaa!"
done
-UnknownText_0x6f099:
+Text_CharcoalMasterIntro:
text "Ah! My FARFETCH'D!"
para "You found it for"
@@ -787,7 +802,7 @@
line "this."
done
-UnknownText_0x6f141:
+Text_CharcoalMasterOutro:
text "That's the CUT HM."
line "Teach that to a"
@@ -801,7 +816,7 @@
line "AZALEA to use it."
done
-UnknownText_0x6f1c0:
+Text_CharcoalMasterTalkAfter:
text "Do you want to"
line "apprentice as a"
@@ -812,7 +827,7 @@
line "rate in ten years!"
done
-UnknownText_0x6f21b:
+Text_HeadbuttIntro:
text "What am I doing?"
para "I'm shaking trees"
@@ -822,7 +837,7 @@
line "you try it too!"
done
-UnknownText_0x6f26d:
+Text_HeadbuttOutro:
text "Rattle trees with"
line "HEADBUTT. Some-"
cont "times, sleeping"
@@ -829,13 +844,13 @@
cont "#MON fall out."
done
-UnknownText_0x6f2af:
+Text_IlexForestLass:
text "Did something"
line "happen to the"
cont "forest's guardian?"
done
-UnknownText_0x6f2de:
+Text_IlexForestSignpost0:
text "ILEX FOREST is"
line "so overgrown with"
@@ -847,7 +862,7 @@
cont "have been dropped."
done
-UnknownText_0x6f358:
+Text_IlexForestShrine:
text "ILEX FOREST"
line "SHRINE…"
@@ -856,7 +871,7 @@
cont "protector…"
done
-UnknownText_0x6f394:
+Text_ShrineCelebiEvent:
text "ILEX FOREST"
line "SHRINE…"
@@ -876,12 +891,12 @@
line "BALL here?"
done
-UnknownText_0x6f43b:
+Text_InsertGSBall:
text "<PLAYER> put in the"
line "GS BALL."
done
-UnknownText_0x6f452:
+Text_KurtCaughtCelebi:
text "Whew, wasn't that"
line "something!"
@@ -914,7 +929,7 @@
line "#MON before…"
done
-UnknownText_0x6f571:
+Bug_catcherWayneAfterText:
text "A #MON I've"
line "never seen before"
@@ -943,21 +958,21 @@
.Signposts:
db 5
signpost 17, 3, SIGNPOST_READ, MapIlexForestSignpost0Script
- signpost 7, 11, SIGNPOST_ITEM, MapIlexForestSignpostItem1
- signpost 14, 22, SIGNPOST_ITEM, MapIlexForestSignpostItem2
- signpost 17, 1, SIGNPOST_ITEM, MapIlexForestSignpostItem3
+ signpost 7, 11, SIGNPOST_ITEM, IlexForestHiddenEther
+ signpost 14, 22, SIGNPOST_ITEM, IlexForestHiddenSuperPotion
+ signpost 17, 1, SIGNPOST_ITEM, IlexForestHiddenFullHeal
signpost 22, 8, SIGNPOST_UP, MapIlexForestSignpost4Script
.PersonEvents:
db 11
- person_event SPRITE_BIRD, 31, 14, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_SCRIPT, 0, BirdScript_0x6eb8f, EVENT_ILEX_FOREST_FARFETCHD
- person_event SPRITE_YOUNGSTER, 28, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x6eb7b, EVENT_ILEX_FOREST_APPRENTICE
- person_event SPRITE_BLACK_BELT, 28, 5, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, BlackBeltScript_0x6edae, EVENT_ILEX_FOREST_CHARCOAL_MASTER
- person_event SPRITE_ROCKER, 14, 15, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RockerScript_0x6edde, -1
- person_event SPRITE_POKE_BALL, 32, 20, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x6ee10, EVENT_ILEX_FOREST_REVIVE
+ person_event SPRITE_BIRD, 31, 14, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_SCRIPT, 0, IlexForestFarfetchdScript, EVENT_ILEX_FOREST_FARFETCHD
+ person_event SPRITE_YOUNGSTER, 28, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, IlexForestCharcoalApprenticeScript, EVENT_ILEX_FOREST_APPRENTICE
+ person_event SPRITE_BLACK_BELT, 28, 5, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, IlexForestCharcoalMasterScript, EVENT_ILEX_FOREST_CHARCOAL_MASTER
+ person_event SPRITE_ROCKER, 14, 15, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, IlexForestHeadbuttGuyScript, -1
+ person_event SPRITE_POKE_BALL, 32, 20, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, IlexForestRevive, EVENT_ILEX_FOREST_REVIVE
person_event SPRITE_KURT, 29, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_ILEX_FOREST_KURT
- person_event SPRITE_LASS, 24, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, LassScript_0x6ee0d, EVENT_ILEX_FOREST_LASS
+ person_event SPRITE_LASS, 24, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, IlexForestLassScript, EVENT_ILEX_FOREST_LASS
person_event SPRITE_YOUNGSTER, 1, 12, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_TRAINER, 0, TrainerBug_catcherWayne, -1
- person_event SPRITE_POKE_BALL, 17, 9, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x6ee12, EVENT_ILEX_FOREST_X_ATTACK
- person_event SPRITE_POKE_BALL, 7, 17, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x6ee14, EVENT_ILEX_FOREST_ANTIDOTE
- person_event SPRITE_POKE_BALL, 1, 27, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x6ee16, EVENT_ILEX_FOREST_ETHER
+ person_event SPRITE_POKE_BALL, 17, 9, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, IlexForestXAttack, EVENT_ILEX_FOREST_X_ATTACK
+ person_event SPRITE_POKE_BALL, 7, 17, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, IlexForestAntidote, EVENT_ILEX_FOREST_ANTIDOTE
+ person_event SPRITE_POKE_BALL, 1, 27, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, IlexForestEther, EVENT_ILEX_FOREST_ETHER
--- a/maps/IlexForestAzaleaGate.asm
+++ b/maps/IlexForestAzaleaGate.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ILEXFORESTAZALEAGATE_OFFICER
+ const ILEXFORESTAZALEAGATE_GRANNY
+
IlexForestAzaleaGate_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/IndigoPlateauPokeCenter1F.asm
+++ b/maps/IndigoPlateauPokeCenter1F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const INDIGOPLATEAUPOKECENTER1F_NURSE
+ const INDIGOPLATEAUPOKECENTER1F_CLERK
+ const INDIGOPLATEAUPOKECENTER1F_COOLTRAINER_M
+ const INDIGOPLATEAUPOKECENTER1F_SILVER
+ const INDIGOPLATEAUPOKECENTER1F_GRAMPS
+ const INDIGOPLATEAUPOKECENTER1F_JYNX
+
IndigoPlateauPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 1
@@ -51,13 +59,13 @@
if_equal THURSDAY, UnknownScript_0x18012b
if_equal FRIDAY, UnknownScript_0x18012b
if_equal SATURDAY, UnknownScript_0x18012b
- moveperson $5, $11, $9
- appear $5
+ moveperson INDIGOPLATEAUPOKECENTER1F_SILVER, $11, $9
+ appear INDIGOPLATEAUPOKECENTER1F_SILVER
spriteface PLAYER, DOWN
showemote EMOTE_SHOCK, PLAYER, 15
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 15
- applymovement $5, MovementData_0x180164
+ applymovement INDIGOPLATEAUPOKECENTER1F_SILVER, MovementData_0x180164
playmusic MUSIC_RIVAL_ENCOUNTER
spriteface PLAYER, RIGHT
jump UnknownScript_0x1800ce
@@ -73,19 +81,19 @@
if_equal THURSDAY, UnknownScript_0x18012b
if_equal FRIDAY, UnknownScript_0x18012b
if_equal SATURDAY, UnknownScript_0x18012b
- appear $5
+ appear INDIGOPLATEAUPOKECENTER1F_SILVER
spriteface PLAYER, DOWN
showemote EMOTE_SHOCK, PLAYER, 15
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 15
- applymovement $5, MovementData_0x18016b
+ applymovement INDIGOPLATEAUPOKECENTER1F_SILVER, MovementData_0x18016b
playmusic MUSIC_RIVAL_ENCOUNTER
spriteface PLAYER, LEFT
UnknownScript_0x1800ce:
- loadfont
+ opentext
writetext UnknownText_0x1801f5
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL
checkevent EVENT_GOT_TOTODILE_FROM_ELM
iftrue UnknownScript_0x1800f3
@@ -92,40 +100,40 @@
checkevent EVENT_GOT_CHIKORITA_FROM_ELM
iftrue UnknownScript_0x180103
winlosstext UnknownText_0x180295, UnknownText_0x1802fd
- setlasttalked $5
+ setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER
loadtrainer RIVAL2, 6
startbattle
- reloadmapmusic
- returnafterbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
jump UnknownScript_0x180113
UnknownScript_0x1800f3:
winlosstext UnknownText_0x180295, UnknownText_0x1802fd
- setlasttalked $5
+ setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER
loadtrainer RIVAL2, 4
startbattle
- reloadmapmusic
- returnafterbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
jump UnknownScript_0x180113
UnknownScript_0x180103:
winlosstext UnknownText_0x180295, UnknownText_0x1802fd
- setlasttalked $5
+ setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER
loadtrainer RIVAL2, 5
startbattle
- reloadmapmusic
- returnafterbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
jump UnknownScript_0x180113
UnknownScript_0x180113:
playmusic MUSIC_RIVAL_AFTER
- loadfont
+ opentext
writetext UnknownText_0x1802a4
+ waitbutton
closetext
- loadmovesprites
spriteface PLAYER, DOWN
- applymovement $5, MovementData_0x180172
- disappear $5
+ applymovement INDIGOPLATEAUPOKECENTER1F_SILVER, MovementData_0x180172
+ disappear INDIGOPLATEAUPOKECENTER1F_SILVER
dotrigger $0
playmapmusic
setflag ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT
@@ -136,9 +144,9 @@
jumpstd pokecenternurse
ClerkScript_0x18012f:
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_INDIGO_PLATEAU
- loadmovesprites
+ closetext
end
CooltrainerMScript_0x180136:
@@ -146,31 +154,31 @@
TeleportGuyScript:
faceplayer
- loadfont
+ opentext
writetext TeleportGuyText1
yesorno
iffalse .No
writetext TeleportGuyYesText
+ waitbutton
closetext
- loadmovesprites
playsound SFX_WARP_TO
special FadeOutPalettes
- waitbutton
+ waitsfx
warp NEW_BARK_TOWN, $d, $6
end
.No
writetext TeleportGuyNoText
+ waitbutton
closetext
- loadmovesprites
end
AbraScript:
- loadfont
+ opentext
writetext AbraText
cry ABRA
+ waitbutton
closetext
- loadmovesprites
end
MovementData_0x180164:
--- a/maps/KarensRoom.asm
+++ b/maps/KarensRoom.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const KARENSROOM_KAREN
+
KarensRoom_MapScriptHeader:
.MapTriggers:
db 2
@@ -38,41 +41,41 @@
earthquake 80
changeblock $4, $e, $2a
reloadmappart
- loadmovesprites
+ closetext
dotrigger $1
setevent EVENT_KARENS_ROOM_ENTRANCE_CLOSED
- waitbutton
+ waitsfx
end
KarenScript_0x180bee:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_ELITE_4_KAREN
iftrue UnknownScript_0x180c1c
writetext UnknownText_0x180c27
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x180cf8, 0
loadtrainer KAREN, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_ELITE_4_KAREN
- loadfont
+ opentext
writetext UnknownText_0x180d29
+ waitbutton
closetext
- loadmovesprites
playsound SFX_ENTER_DOOR
changeblock $4, $2, $16
reloadmappart
- loadmovesprites
+ closetext
setevent EVENT_KARENS_ROOM_EXIT_OPEN
- waitbutton
+ waitsfx
end
UnknownScript_0x180c1c:
writetext UnknownText_0x180d29
+ waitbutton
closetext
- loadmovesprites
end
MovementData_0x180c22:
--- a/maps/KogasRoom.asm
+++ b/maps/KogasRoom.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const KOGASROOM_KOGA
+
KogasRoom_MapScriptHeader:
.MapTriggers:
db 2
@@ -38,41 +41,41 @@
earthquake 80
changeblock $4, $e, $2a
reloadmappart
- loadmovesprites
+ closetext
dotrigger $1
setevent EVENT_KOGAS_ROOM_ENTRANCE_CLOSED
- waitbutton
+ waitsfx
end
KogaScript_0x18075a:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_ELITE_4_KOGA
iftrue UnknownScript_0x180788
writetext UnknownText_0x180793
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x1808a9, 0
loadtrainer KOGA, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_ELITE_4_KOGA
- loadfont
+ opentext
writetext UnknownText_0x1808ca
+ waitbutton
closetext
- loadmovesprites
playsound SFX_ENTER_DOOR
changeblock $4, $2, $16
reloadmappart
- loadmovesprites
+ closetext
setevent EVENT_KOGAS_ROOM_EXIT_OPEN
- waitbutton
+ waitsfx
end
UnknownScript_0x180788:
writetext UnknownText_0x1808ca
+ waitbutton
closetext
- loadmovesprites
end
MovementData_0x18078e:
--- a/maps/KrissHouse1F.asm
+++ b/maps/KrissHouse1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const KRISSHOUSE1F_MOM1
+ const KRISSHOUSE1F_MOM2
+ const KRISSHOUSE1F_MOM3
+ const KRISSHOUSE1F_MOM4
+ const KRISSHOUSE1F_POKEFAN_F
+
KrissHouse1F_MapScriptHeader:
.MapTriggers:
db 2
@@ -20,19 +27,19 @@
UnknownScript_0x7a4db:
playmusic MUSIC_MOM
- showemote EMOTE_SHOCK, $2, 15
+ showemote EMOTE_SHOCK, KRISSHOUSE1F_MOM1, 15
spriteface PLAYER, LEFT
checkevent EVENT_GAVE_KURT_APRICORNS
iffalse UnknownScript_0x7a4f2
- applymovement $2, MovementData_0x7a5fc
+ applymovement KRISSHOUSE1F_MOM1, MovementData_0x7a5fc
jump UnknownScript_0x7a4f6
UnknownScript_0x7a4f2:
- applymovement $2, MovementData_0x7a5fe
+ applymovement KRISSHOUSE1F_MOM1, MovementData_0x7a5fe
UnknownScript_0x7a4f6:
- loadfont
+ opentext
writetext UnknownText_0x7a604
- keeptextopen
+ buttonsound
stringtotext GearName, $1
scall UnknownScript_0x7a57e
setflag ENGINE_POKEGEAR
@@ -42,7 +49,7 @@
setevent EVENT_KRISS_HOUSE_MOM_1
clearevent EVENT_KRISS_HOUSE_MOM_2
writetext UnknownText_0x7a6bd
- keeptextopen
+ buttonsound
special Special_SetDayOfWeek
UnknownScript_0x7a519:
writetext UnknownText_0x7a742
@@ -65,18 +72,18 @@
UnknownScript_0x7a53b:
writetext UnknownText_0x7a7cb
- keeptextopen
+ buttonsound
jump UnknownScript_0x7a549
UnknownScript_0x7a542:
writetext UnknownText_0x7a807
- keeptextopen
+ buttonsound
jump UnknownScript_0x7a549
UnknownScript_0x7a549:
writetext UnknownText_0x7a850
+ waitbutton
closetext
- loadmovesprites
checkevent EVENT_GAVE_KURT_APRICORNS
iftrue UnknownScript_0x7a55d
checkevent EVENT_RECEIVED_BALLS_FROM_KURT
@@ -84,16 +91,16 @@
jump UnknownScript_0x7a56b
UnknownScript_0x7a55d:
- applymovement $2, MovementData_0x7a600
+ applymovement KRISSHOUSE1F_MOM1, MovementData_0x7a600
jump UnknownScript_0x7a56b
UnknownScript_0x7a564:
- applymovement $2, MovementData_0x7a602
+ applymovement KRISSHOUSE1F_MOM1, MovementData_0x7a602
jump UnknownScript_0x7a56b
UnknownScript_0x7a56b:
special RestartMapMusic
- spriteface $2, LEFT
+ spriteface KRISSHOUSE1F_MOM1, LEFT
end
UnknownScript_0x7a572:
@@ -112,7 +119,7 @@
setevent EVENT_RECEIVED_BALLS_FROM_KURT
checktriggers
iffalse UnknownScript_0x7a572
- loadfont
+ opentext
checkevent EVENT_FIRST_TIME_BANKING_WITH_MOM
iftrue UnknownScript_0x7a5af
checkevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST
@@ -122,20 +129,20 @@
checkevent EVENT_GOT_A_POKEMON_FROM_ELM
iftrue UnknownScript_0x7a5a9
writetext UnknownText_0x7a8b5
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x7a5a9:
writetext UnknownText_0x7a8e5
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x7a5af:
writetext UnknownText_0x7a957
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x7a5b5:
@@ -143,13 +150,13 @@
UnknownScript_0x7a5b8:
setevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST
special Special_BankOfMom
+ waitbutton
closetext
- loadmovesprites
end
NeighborScript:
faceplayer
- loadfont
+ opentext
checkmorn
iftrue .MornScript
checkday
@@ -159,24 +166,24 @@
.MornScript
writetext NeighborMornIntroText
- keeptextopen
+ buttonsound
jump .Main
.DayScript
writetext NeighborDayIntroText
- keeptextopen
+ buttonsound
jump .Main
.NiteScript
writetext NeighborNiteIntroText
- keeptextopen
+ buttonsound
jump .Main
.Main
writetext NeighborText
+ waitbutton
closetext
- loadmovesprites
- spriteface $6, RIGHT
+ spriteface KRISSHOUSE1F_POKEFAN_F, RIGHT
end
TVScript:
--- a/maps/KrissHouse2F.asm
+++ b/maps/KrissHouse2F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const KRISSHOUSE2F_CONSOLE
+ const KRISSHOUSE2F_DOLL_1
+ const KRISSHOUSE2F_DOLL_2
+ const KRISSHOUSE2F_BIG_DOLL
+
KrissHouse2F_MapScriptHeader:
.MapTriggers:
db 0
@@ -34,22 +40,21 @@
Doll1:
- describedecoration $1
+ describedecoration 1
Doll2:
- describedecoration $2
+ describedecoration 2
BigDoll:
- describedecoration $3
+ describedecoration 3
GameConsole:
- describedecoration $4
+ describedecoration 4
KrissHousePoster:
- dw EVENT_KRISS_ROOM_POSTER ; event
- dw .Script
+ dw EVENT_KRISS_ROOM_POSTER, .Script
.Script
- describedecoration $0
+ describedecoration 0
KrissHouseRadio:
checkevent EVENT_GOT_A_POKEMON_FROM_ELM
@@ -57,7 +62,7 @@
checkevent EVENT_LISTENED_TO_INITIAL_RADIO
iftrue .AbbreviatedRadio
playmusic MUSIC_POKEMON_TALK
- loadfont
+ opentext
writetext KrisRadioText1
pause 45
writetext KrisRadioText2
@@ -64,10 +69,10 @@
pause 45
writetext KrisRadioText3
pause 45
- musicfadeout MUSIC_NEW_BARK_TOWN, $10
+ musicfadeout MUSIC_NEW_BARK_TOWN, 16
writetext KrisRadioText4
pause 45
- loadmovesprites
+ closetext
setevent EVENT_LISTENED_TO_INITIAL_RADIO
end
@@ -75,10 +80,10 @@
jumpstd radio1
.AbbreviatedRadio
- loadfont
+ opentext
writetext KrisRadioText4
pause 45
- loadmovesprites
+ closetext
end
KrissHouseBookshelf:
@@ -85,10 +90,10 @@
jumpstd picturebookshelf
KrissHousePC:
- loadfont
+ opentext
special Special_KrissHousePC
iftrue .Warp
- loadmovesprites
+ closetext
end
.Warp
warp NONE, $0, $0
--- a/maps/KrissNeighborsHouse.asm
+++ b/maps/KrissNeighborsHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const KRISSNEIGHBORSHOUSE_COOLTRAINER_F
+ const KRISSNEIGHBORSHOUSE_POKEFAN_F
+
KrissNeighborsHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -20,7 +24,7 @@
checkevent EVENT_LISTENED_TO_INITIAL_RADIO
iftrue .AbbreviatedRadio
playmusic MUSIC_POKEMON_TALK
- loadfont
+ opentext
writetext KrisNeighborRadioText1
pause 45
writetext KrisNeighborRadioText2
@@ -30,16 +34,16 @@
musicfadeout MUSIC_NEW_BARK_TOWN, $10
writetext KrisNeighborRadioText4
pause 45
- loadmovesprites
+ closetext
setevent EVENT_LISTENED_TO_INITIAL_RADIO
end
.NormalRadio
jumpstd radio1
.AbbreviatedRadio
- loadfont
+ opentext
writetext KrisNeighborRadioText4
pause 45
- loadmovesprites
+ closetext
end
KrissNeighborsDaughterText:
--- a/maps/KurtsHouse.asm
+++ b/maps/KurtsHouse.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const KURTSHOUSE_KURT1
+ const KURTSHOUSE_TWIN1
+ const KURTSHOUSE_SLOWPOKE
+ const KURTSHOUSE_KURT2
+ const KURTSHOUSE_TWIN2
+
KurtsHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -16,40 +23,40 @@
iftrue UnknownScript_0x18e177
checkflag ENGINE_KURT_MAKING_BALLS
iftrue UnknownScript_0x18e16f
- disappear $5
- appear $2
- disappear $6
- appear $3
+ disappear KURTSHOUSE_KURT2
+ appear KURTSHOUSE_KURT1
+ disappear KURTSHOUSE_TWIN2
+ appear KURTSHOUSE_TWIN1
return
UnknownScript_0x18e16f:
- disappear $2
- appear $5
- disappear $3
- appear $6
+ disappear KURTSHOUSE_KURT1
+ appear KURTSHOUSE_KURT2
+ disappear KURTSHOUSE_TWIN1
+ appear KURTSHOUSE_TWIN2
UnknownScript_0x18e177:
return
KurtScript_0x18e178:
faceplayer
- loadfont
+ opentext
checkevent EVENT_KURT_GAVE_YOU_LURE_BALL
iftrue .GotLureBall
checkevent EVENT_CLEARED_SLOWPOKE_WELL
iftrue .ClearedSlowpokeWell
writetext UnknownText_0x18e473
+ waitbutton
closetext
- loadmovesprites
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
setevent EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET
checkcode VAR_FACING
if_equal UP, .RunAround
spriteface PLAYER, DOWN
playsound SFX_FLY
- applymovement $2, MovementData_0x18e466
+ applymovement KURTSHOUSE_KURT1, MovementData_0x18e466
playsound SFX_EXIT_BUILDING
- disappear $2
- waitbutton
+ disappear KURTSHOUSE_KURT1
+ waitsfx
special RestartMapMusic
end
@@ -56,16 +63,16 @@
.RunAround:
spriteface PLAYER, DOWN
playsound SFX_FLY
- applymovement $2, MovementData_0x18e46c
+ applymovement KURTSHOUSE_KURT1, MovementData_0x18e46c
playsound SFX_EXIT_BUILDING
- disappear $2
- waitbutton
+ disappear KURTSHOUSE_KURT1
+ waitsfx
special RestartMapMusic
end
.ClearedSlowpokeWell:
writetext UnknownText_0x18e615
- keeptextopen
+ buttonsound
verbosegiveitem LURE_BALL
iffalse .NoRoomForBall
setevent EVENT_KURT_GAVE_YOU_LURE_BALL
@@ -94,7 +101,7 @@
checkevent EVENT_DRAGON_SHRINE_QUESTION_2
iftrue .CheckApricorns
writetext UnknownText_0x18e6c9
- closetext
+ waitbutton
.CheckApricorns:
checkitem RED_APRICORN
iftrue .AskApricorn
@@ -114,18 +121,18 @@
iftrue .ThatTurnedOutGreat
checkevent EVENT_DRAGON_SHRINE_QUESTION_2
iftrue .IMakeBallsFromApricorns
- loadmovesprites
+ closetext
end
.IMakeBallsFromApricorns:
writetext UnknownText_0x18e6c9
+ waitbutton
closetext
- loadmovesprites
end
.AskApricorn:
writetext UnknownText_0x18e736
- keeptextopen
+ buttonsound
setevent EVENT_DRAGON_SHRINE_QUESTION_2
special Special_SelectApricornForKurt
if_equal $0, .Cancel
@@ -168,14 +175,14 @@
setflag ENGINE_KURT_MAKING_BALLS
.WaitForApricorns:
writetext UnknownText_0x18e779
+ waitbutton
closetext
- loadmovesprites
end
.Cancel:
writetext UnknownText_0x18e7bc
+ waitbutton
closetext
- loadmovesprites
end
._ThatTurnedOutGreat:
@@ -182,9 +189,9 @@
setevent EVENT_RECEIVED_BALLS_FROM_KURT
.ThatTurnedOutGreat:
writetext UnknownText_0x18e82a
- closetext
+ waitbutton
.NoRoomForBall:
- loadmovesprites
+ closetext
end
.GiveLevelBall:
@@ -191,7 +198,7 @@
checkflag ENGINE_KURT_MAKING_BALLS
iftrue KurtMakingBallsScript
writetext UnknownText_0x18e7fb
- keeptextopen
+ buttonsound
verbosegiveitem2 LEVEL_BALL, VAR_KURT_APRICORNS
iffalse .NoRoomForBall
clearevent EVENT_GAVE_KURT_RED_APRICORN
@@ -201,7 +208,7 @@
checkflag ENGINE_KURT_MAKING_BALLS
iftrue KurtMakingBallsScript
writetext UnknownText_0x18e7fb
- keeptextopen
+ buttonsound
verbosegiveitem2 LURE_BALL, VAR_KURT_APRICORNS
iffalse .NoRoomForBall
clearevent EVENT_GAVE_KURT_BLU_APRICORN
@@ -211,7 +218,7 @@
checkflag ENGINE_KURT_MAKING_BALLS
iftrue KurtMakingBallsScript
writetext UnknownText_0x18e7fb
- keeptextopen
+ buttonsound
verbosegiveitem2 MOON_BALL, VAR_KURT_APRICORNS
iffalse .NoRoomForBall
clearevent EVENT_GAVE_KURT_YLW_APRICORN
@@ -221,7 +228,7 @@
checkflag ENGINE_KURT_MAKING_BALLS
iftrue KurtMakingBallsScript
writetext UnknownText_0x18e7fb
- keeptextopen
+ buttonsound
verbosegiveitem2 FRIEND_BALL, VAR_KURT_APRICORNS
iffalse .NoRoomForBall
clearevent EVENT_GAVE_KURT_GRN_APRICORN
@@ -231,7 +238,7 @@
checkflag ENGINE_KURT_MAKING_BALLS
iftrue KurtMakingBallsScript
writetext UnknownText_0x18e7fb
- keeptextopen
+ buttonsound
verbosegiveitem2 FAST_BALL, VAR_KURT_APRICORNS
iffalse .NoRoomForBall
clearevent EVENT_GAVE_KURT_WHT_APRICORN
@@ -241,7 +248,7 @@
checkflag ENGINE_KURT_MAKING_BALLS
iftrue KurtMakingBallsScript
writetext UnknownText_0x18e7fb
- keeptextopen
+ buttonsound
verbosegiveitem2 HEAVY_BALL, VAR_KURT_APRICORNS
iffalse .NoRoomForBall
clearevent EVENT_GAVE_KURT_BLK_APRICORN
@@ -251,7 +258,7 @@
checkflag ENGINE_KURT_MAKING_BALLS
iftrue KurtMakingBallsScript
writetext UnknownText_0x18e7fb
- keeptextopen
+ buttonsound
verbosegiveitem2 LOVE_BALL, VAR_KURT_APRICORNS
iffalse .NoRoomForBall
clearevent EVENT_GAVE_KURT_PNK_APRICORN
@@ -263,8 +270,8 @@
checkitem GS_BALL
iffalse .NoGSBall
writetext UnknownText_0x18e8ab
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_GAVE_GS_BALL_TO_KURT
takeitem GS_BALL
setflag ENGINE_KURT_MAKING_BALLS
@@ -274,38 +281,38 @@
checkflag ENGINE_KURT_MAKING_BALLS
iffalse .NotMakingBalls
writetext UnknownText_0x18e934
- closetext
+ waitbutton
writetext UnknownText_0x18e949
+ waitbutton
closetext
- loadmovesprites
end
.NotMakingBalls:
writetext UnknownText_0x18e95c
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_FOREST_IS_RESTLESS
clearevent EVENT_CAN_GIVE_GS_BALL_TO_KURT
clearevent EVENT_GAVE_GS_BALL_TO_KURT
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 20
- showemote EMOTE_SHOCK, $2, 30
+ showemote EMOTE_SHOCK, KURTSHOUSE_KURT1, 30
checkcode VAR_FACING
if_equal UP, .GSBallRunAround
spriteface PLAYER, DOWN
playsound SFX_FLY
- applymovement $2, MovementData_0x18e466
+ applymovement KURTSHOUSE_KURT1, MovementData_0x18e466
jump .KurtHasLeftTheBuilding
.GSBallRunAround:
spriteface PLAYER, DOWN
playsound SFX_FLY
- applymovement $2, MovementData_0x18e46c
+ applymovement KURTSHOUSE_KURT1, MovementData_0x18e46c
.KurtHasLeftTheBuilding:
playsound SFX_EXIT_BUILDING
- disappear $2
+ disappear KURTSHOUSE_KURT1
clearevent EVENT_AZALEA_TOWN_KURT
- waitbutton
+ waitsfx
special RestartMapMusic
domaptrigger AZALEA_TOWN, $2
end
@@ -312,7 +319,7 @@
KurtScript_0x18e3bd:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_GS_BALL_TO_KURT
iftrue KurtScript_ImCheckingItNow
KurtMakingBallsScript:
@@ -319,26 +326,26 @@
checkevent EVENT_BUGGING_KURT_TOO_MUCH
iffalse Script_FirstTimeBuggingKurt
writetext UnknownText_0x18e7d8
+ waitbutton
closetext
- loadmovesprites
- spriteface $5, UP
+ spriteface KURTSHOUSE_KURT2, UP
end
Script_FirstTimeBuggingKurt:
writetext UnknownText_0x18e863
+ waitbutton
closetext
- loadmovesprites
- spriteface $5, UP
+ spriteface KURTSHOUSE_KURT2, UP
setevent EVENT_BUGGING_KURT_TOO_MUCH
end
KurtScript_ImCheckingItNow:
writetext UnknownText_0x18e934
- closetext
- spriteface $5, UP
+ waitbutton
+ spriteface KURTSHOUSE_KURT2, UP
writetext UnknownText_0x18e949
+ waitbutton
closetext
- loadmovesprites
end
KurtsGranddaughter1:
@@ -355,66 +362,66 @@
iftrue .SlowpokeBack
checkevent EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET
iftrue .Lonely
- loadfont
+ opentext
writetext KurtsGranddaughterSlowpokeGoneText
+ waitbutton
closetext
- loadmovesprites
end
.SlowpokeBack
- loadfont
+ opentext
writetext KurtsGranddaughterSlowpokeBackText
+ waitbutton
closetext
- loadmovesprites
end
.Lonely
- loadfont
+ opentext
writetext KurtsGranddaughterLonelyText
+ waitbutton
closetext
- loadmovesprites
end
.Dad
- loadfont
+ opentext
writetext KurtsGranddaughterDadText
+ waitbutton
closetext
- loadmovesprites
end
KurtsGranddaughter2:
faceplayer
KurtsGranddaughter2Subscript:
- loadfont
+ opentext
checkevent EVENT_GAVE_GS_BALL_TO_KURT
iftrue .GSBall
writetext KurtsGranddaughterHelpText
+ waitbutton
closetext
- loadmovesprites
- spriteface $6, RIGHT
+ spriteface KURTSHOUSE_TWIN2, RIGHT
end
.GSBall
writetext KurtsGranddaughterGSBallText
+ waitbutton
closetext
- loadmovesprites
- spriteface $6, RIGHT
+ spriteface KURTSHOUSE_TWIN2, RIGHT
end
KurtsGranddaughterFunScript:
- loadfont
+ opentext
writetext KurtsGranddaughterFunText
+ waitbutton
closetext
- loadmovesprites
end
KurtsHouseSlowpoke:
faceplayer
- loadfont
+ opentext
writetext KurtsHouseSlowpokeText
cry SLOWPOKE
+ waitbutton
closetext
- loadmovesprites
end
KurtsHouseOakPhoto:
--- a/maps/LakeofRage.asm
+++ b/maps/LakeofRage.asm
@@ -1,10 +1,24 @@
+const_value set 2
+ const LAKEOFRAGE_LANCE
+ const LAKEOFRAGE_GRAMPS
+ const LAKEOFRAGE_SUPER_NERD1
+ const LAKEOFRAGE_COOLTRAINER_F1
+ const LAKEOFRAGE_FISHER1
+ const LAKEOFRAGE_FISHER2
+ const LAKEOFRAGE_COOLTRAINER_M
+ const LAKEOFRAGE_COOLTRAINER_F2
+ const LAKEOFRAGE_GYARADOS
+ const LAKEOFRAGE_SUPER_NERD2
+ const LAKEOFRAGE_POKE_BALL1
+ const LAKEOFRAGE_POKE_BALL2
+
LakeofRage_MapScriptHeader:
.MapTriggers:
db 2
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
- dw .Trigger2, 0
.MapCallbacks:
db 2
@@ -14,10 +28,10 @@
dbw 5, .FlyPoint
dbw 2, .Wesley
-.Trigger1
+.Trigger0
end
-.Trigger2
+.Trigger1
end
.FlyPoint
@@ -27,19 +41,19 @@
.Wesley
checkcode VAR_WEEKDAY
if_equal WEDNESDAY, .WesleyAppears
- disappear $b
+ disappear LAKEOFRAGE_SUPER_NERD2
return
.WesleyAppears
- appear $b
+ appear LAKEOFRAGE_SUPER_NERD2
return
LanceScript_0x70022:
checkevent EVENT_REFUSED_TO_HELP_LANCE_AT_LAKE_OF_RAGE
iftrue UnknownScript_0x70057
- loadfont
+ opentext
writetext UnknownText_0x70157
- keeptextopen
+ buttonsound
faceplayer
writetext UnknownText_0x701b4
yesorno
@@ -46,11 +60,11 @@
iffalse UnknownScript_0x7004e
UnknownScript_0x70035:
writetext UnknownText_0x702c6
+ waitbutton
closetext
- loadmovesprites
playsound SFX_WARP_TO
- applymovement $2, MovementData_0x70155
- disappear $2
+ applymovement LAKEOFRAGE_LANCE, MovementData_0x70155
+ disappear LAKEOFRAGE_LANCE
clearevent EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
setevent EVENT_DECIDED_TO_HELP_LANCE
domaptrigger MAHOGANY_MART_1F, $1
@@ -58,14 +72,14 @@
UnknownScript_0x7004e:
writetext UnknownText_0x70371
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_REFUSED_TO_HELP_LANCE_AT_LAKE_OF_RAGE
end
UnknownScript_0x70057:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x703a5
yesorno
iffalse UnknownScript_0x7004e
@@ -72,44 +86,44 @@
jump UnknownScript_0x70035
GyaradosScript_0x70063:
- loadfont
+ opentext
writetext UnknownText_0x703cb
pause 15
cry GYARADOS
- loadmovesprites
- loadpokedata GYARADOS, 30
+ closetext
+ loadwildmon GYARADOS, 30
writecode VAR_BATTLETYPE, BATTLETYPE_SHINY
startbattle
if_equal $1, UnknownScript_0x7007a
- disappear $a
+ disappear LAKEOFRAGE_GYARADOS
UnknownScript_0x7007a:
- returnafterbattle
- loadfont
+ reloadmapafterbattle
+ opentext
giveitem RED_SCALE
- waitbutton
+ waitsfx
writetext UnknownText_0x703df
playsound SFX_ITEM
- waitbutton
+ waitsfx
itemnotify
- loadmovesprites
+ closetext
dotrigger $0
- appear $2
+ appear LAKEOFRAGE_LANCE
end
GrampsScript_0x7008e:
faceplayer
- loadfont
+ opentext
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue UnknownScript_0x7009c
writetext UnknownText_0x703f8
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x7009c:
writetext UnknownText_0x70421
+ waitbutton
closetext
- loadmovesprites
end
SuperNerdScript_0x700a2:
@@ -122,18 +136,18 @@
jumptext UnknownText_0x708d7
MapLakeofRageSignpost1Script:
- loadfont
+ opentext
writetext UnknownText_0x70903
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue UnknownScript_0x700b8
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x700b8:
- keeptextopen
+ buttonsound
special Special_MagikarpHouseSign
- loadmovesprites
+ closetext
end
TrainerFisherAndre:
@@ -140,11 +154,11 @@
trainer EVENT_BEAT_FISHER_ANDRE, FISHER, ANDRE, FisherAndreSeenText, FisherAndreBeatenText, 0, FisherAndreScript
FisherAndreScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7058f
+ waitbutton
closetext
- loadmovesprites
end
TrainerFisherRaymond:
@@ -151,11 +165,11 @@
trainer EVENT_BEAT_FISHER_RAYMOND, FISHER, RAYMOND, FisherRaymondSeenText, FisherRaymondBeatenText, 0, FisherRaymondScript
FisherRaymondScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x70611
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainermAaron:
@@ -162,11 +176,11 @@
trainer EVENT_BEAT_COOLTRAINERM_AARON, COOLTRAINERM, AARON, CooltrainermAaronSeenText, CooltrainermAaronBeatenText, 0, CooltrainermAaronScript
CooltrainermAaronScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7069c
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfLois:
@@ -173,16 +187,16 @@
trainer EVENT_BEAT_COOLTRAINERF_LOIS, COOLTRAINERF, LOIS, CooltrainerfLoisSeenText, CooltrainerfLoisBeatenText, 0, CooltrainerfLoisScript
CooltrainerfLoisScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x70752
+ waitbutton
closetext
- loadmovesprites
end
WesleyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_BLACKBELT_FROM_WESLEY
iftrue WesleyWednesdayScript
checkcode VAR_WEEKDAY
@@ -190,47 +204,47 @@
checkevent EVENT_MET_WESLEY_OF_WEDNESDAY
iftrue .MetWesley
writetext MeetWesleyText
- keeptextopen
+ buttonsound
setevent EVENT_MET_WESLEY_OF_WEDNESDAY
.MetWesley
writetext WesleyGivesGiftText
- keeptextopen
+ buttonsound
verbosegiveitem BLACKBELT
iffalse WesleyDoneScript
setevent EVENT_GOT_BLACKBELT_FROM_WESLEY
writetext WesleyGaveGiftText
+ waitbutton
closetext
- loadmovesprites
end
WesleyWednesdayScript:
writetext WesleyWednesdayText
- closetext
+ waitbutton
WesleyDoneScript:
- loadmovesprites
+ closetext
end
WesleyNotWednesdayScript:
writetext WesleyNotWednesdayText
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x70148:
- db ELIXER, 1
+LakeofRageElixer:
+ itemball ELIXER
-ItemFragment_0x7014a:
- db TM_DETECT, 1
+LakeofRageTMDetect:
+ itemball TM_DETECT
-MapLakeofRageSignpostItem2:
+LakeofRageHiddenFullRestore:
dwb EVENT_LAKE_OF_RAGE_HIDDEN_FULL_RESTORE, FULL_RESTORE
-MapLakeofRageSignpostItem3:
+LakeofRageHiddenRareCandy:
dwb EVENT_LAKE_OF_RAGE_HIDDEN_RARE_CANDY, RARE_CANDY
-MapLakeofRageSignpostItem4:
+LakeofRageHiddenMaxPotion:
dwb EVENT_LAKE_OF_RAGE_HIDDEN_MAX_POTION, MAX_POTION
@@ -503,9 +517,9 @@
db 5
signpost 27, 21, SIGNPOST_READ, MapLakeofRageSignpost0Script
signpost 31, 25, SIGNPOST_READ, MapLakeofRageSignpost1Script
- signpost 28, 11, SIGNPOST_ITEM, MapLakeofRageSignpostItem2
- signpost 4, 4, SIGNPOST_ITEM, MapLakeofRageSignpostItem3
- signpost 5, 35, SIGNPOST_ITEM, MapLakeofRageSignpostItem4
+ signpost 28, 11, SIGNPOST_ITEM, LakeofRageHiddenFullRestore
+ signpost 4, 4, SIGNPOST_ITEM, LakeofRageHiddenRareCandy
+ signpost 5, 35, SIGNPOST_ITEM, LakeofRageHiddenMaxPotion
.PersonEvents:
db 12
@@ -519,5 +533,5 @@
person_event SPRITE_COOLTRAINER_F, 7, 36, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 0, TrainerCooltrainerfLois, EVENT_LAKE_OF_RAGE_CIVILIANS
person_event SPRITE_GYARADOS, 22, 18, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, GyaradosScript_0x70063, EVENT_LAKE_OF_RAGE_RED_GYARADOS
person_event SPRITE_SUPER_NERD, 4, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, WesleyScript, EVENT_LAKE_OF_RAGE_WESLEY_OF_WEDNESDAY
- person_event SPRITE_POKE_BALL, 10, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x70148, EVENT_LAKE_OF_RAGE_ELIXER
- person_event SPRITE_POKE_BALL, 2, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7014a, EVENT_LAKE_OF_RAGE_TM_DETECT
+ person_event SPRITE_POKE_BALL, 10, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, LakeofRageElixer, EVENT_LAKE_OF_RAGE_ELIXER
+ person_event SPRITE_POKE_BALL, 2, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, LakeofRageTMDetect, EVENT_LAKE_OF_RAGE_TM_DETECT
--- a/maps/LakeofRageHiddenPowerHouse.asm
+++ b/maps/LakeofRageHiddenPowerHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const LAKEOFRAGEHIDDENPOWERHOUSE_FISHER
+
LakeofRageHiddenPowerHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,23 +10,23 @@
HiddenPowerGuy:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TM10_HIDDEN_POWER
iftrue .AlreadyGotItem
writetext HiddenPowerGuyText1
- keeptextopen
+ buttonsound
verbosegiveitem TM_HIDDEN_POWER
iffalse .Done
setevent EVENT_GOT_TM10_HIDDEN_POWER
writetext HiddenPowerGuyText2
+ waitbutton
closetext
- loadmovesprites
end
.AlreadyGotItem
writetext HiddenPowerGuyText3
- closetext
+ waitbutton
.Done
- loadmovesprites
+ closetext
end
HiddenPowerHouseBookshelf:
--- a/maps/LakeofRageMagikarpHouse.asm
+++ b/maps/LakeofRageMagikarpHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const LAKEOFRAGEMAGIKARPHOUSE_FISHING_GURU
+
LakeofRageMagikarpHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,7 +10,7 @@
FishingGuruScript_0x19a6ae:
faceplayer
- loadfont
+ opentext
checkevent EVENT_LAKE_OF_RAGE_ELIXIR_ON_STANDBY
iftrue UnknownScript_0x19a6fe
checkevent EVENT_LAKE_OF_RAGE_ASKED_FOR_MAGIKARP
@@ -17,21 +20,21 @@
checkevent EVENT_LAKE_OF_RAGE_EXPLAINED_WEIRD_MAGIKARP
iftrue UnknownScript_0x19a6d1
writetext UnknownText_0x19a72e
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_LAKE_OF_RAGE_EXPLAINED_WEIRD_MAGIKARP
end
UnknownScript_0x19a6d1:
writetext UnknownText_0x19a84d
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19a6d7:
writetext UnknownText_0x19a890
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_LAKE_OF_RAGE_ASKED_FOR_MAGIKARP
end
@@ -40,7 +43,7 @@
special Special_FindThatSpecies
iffalse UnknownScript_0x19a6d7
writetext UnknownText_0x19a93e
- closetext
+ waitbutton
special Special_CheckMagikarpLength
if_equal $0, UnknownScript_0x19a71c
if_equal $1, UnknownScript_0x19a722
@@ -49,36 +52,36 @@
UnknownScript_0x19a6fe:
writetext UnknownText_0x19a977
- keeptextopen
+ buttonsound
verbosegiveitem ELIXER
iffalse UnknownScript_0x19a711
writetext UnknownText_0x19a9c3
+ waitbutton
closetext
- loadmovesprites
clearevent EVENT_LAKE_OF_RAGE_ELIXIR_ON_STANDBY
end
UnknownScript_0x19a711:
- loadmovesprites
+ closetext
setevent EVENT_LAKE_OF_RAGE_ELIXIR_ON_STANDBY
end
UnknownScript_0x19a716:
writetext UnknownText_0x19aa01
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19a71c:
writetext UnknownText_0x19aa5c
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19a722:
writetext UnknownText_0x19aa79
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19a728:
--- a/maps/LancesRoom.asm
+++ b/maps/LancesRoom.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const LANCESROOM_LANCE
+ const LANCESROOM_MARY
+ const LANCESROOM_OAK
+
LancesRoom_MapScriptHeader:
.MapTriggers:
db 2
@@ -38,93 +43,93 @@
earthquake 80
changeblock $4, $16, $34
reloadmappart
- loadmovesprites
+ closetext
dotrigger $1
setevent EVENT_LANCES_ROOM_ENTRANCE_CLOSED
end
UnknownScript_0x180e6a:
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
applymovement PLAYER, MovementData_0x180f38
jump LanceScript_0x180e7b
UnknownScript_0x180e74:
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
applymovement PLAYER, MovementData_0x180f3c
LanceScript_0x180e7b:
- spriteface $2, LEFT
- loadfont
+ spriteface LANCESROOM_LANCE, LEFT
+ opentext
writetext UnknownText_0x180f67
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x1810a4, 0
- setlasttalked $2
+ setlasttalked LANCESROOM_LANCE
loadtrainer CHAMPION, LANCE
startbattle
- reloadmapmusic
- returnafterbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
setevent EVENT_BEAT_CHAMPION_LANCE
- loadfont
+ opentext
writetext UnknownText_0x181132
+ waitbutton
closetext
- loadmovesprites
playsound SFX_ENTER_DOOR
changeblock $4, $0, $b
reloadmappart
- loadmovesprites
+ closetext
setevent EVENT_LANCES_ROOM_ENTRANCE_CLOSED
musicfadeout MUSIC_BEAUTY_ENCOUNTER, $10
pause 30
- showemote EMOTE_SHOCK, $2, 15
- spriteface $2, DOWN
+ showemote EMOTE_SHOCK, LANCESROOM_LANCE, 15
+ spriteface LANCESROOM_LANCE, DOWN
pause 10
spriteface PLAYER, DOWN
- appear $3
- applymovement $3, MovementData_0x180f41
- loadfont
+ appear LANCESROOM_MARY
+ applymovement LANCESROOM_MARY, MovementData_0x180f41
+ opentext
writetext UnknownText_0x1811dd
+ waitbutton
closetext
- loadmovesprites
- appear $4
- applymovement $4, MovementData_0x180f46
- follow $3, $4
- applymovement $3, MovementData_0x180f49
+ appear LANCESROOM_OAK
+ applymovement LANCESROOM_OAK, MovementData_0x180f46
+ follow LANCESROOM_MARY, LANCESROOM_OAK
+ applymovement LANCESROOM_MARY, MovementData_0x180f49
stopfollow
- spriteface $4, UP
- spriteface $2, LEFT
- loadfont
+ spriteface LANCESROOM_OAK, UP
+ spriteface LANCESROOM_LANCE, LEFT
+ opentext
writetext UnknownText_0x18121b
+ waitbutton
closetext
- loadmovesprites
- applymovement $3, MovementData_0x180f4c
+ applymovement LANCESROOM_MARY, MovementData_0x180f4c
spriteface PLAYER, LEFT
- loadfont
+ opentext
writetext UnknownText_0x18134b
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x180f4f
+ applymovement LANCESROOM_LANCE, MovementData_0x180f4f
spriteface PLAYER, UP
- loadfont
+ opentext
writetext UnknownText_0x18137b
+ waitbutton
closetext
- loadmovesprites
- follow $2, PLAYER
- spriteface $3, UP
- spriteface $4, UP
- applymovement $2, MovementData_0x180f53
+ follow LANCESROOM_LANCE, PLAYER
+ spriteface LANCESROOM_MARY, UP
+ spriteface LANCESROOM_OAK, UP
+ applymovement LANCESROOM_LANCE, MovementData_0x180f53
stopfollow
playsound SFX_EXIT_BUILDING
- disappear $2
+ disappear LANCESROOM_LANCE
applymovement PLAYER, MovementData_0x180f55
playsound SFX_EXIT_BUILDING
disappear PLAYER
- applymovement $3, MovementData_0x180f57
- showemote EMOTE_SHOCK, $3, 15
- loadfont
+ applymovement LANCESROOM_MARY, MovementData_0x180f57
+ showemote EMOTE_SHOCK, LANCESROOM_MARY, 15
+ opentext
writetext UnknownText_0x1813c5
pause 30
- loadmovesprites
- applymovement $3, MovementData_0x180f5b
+ closetext
+ applymovement LANCESROOM_MARY, MovementData_0x180f5b
special FadeOutPalettes
pause 15
warpfacing UP, HALL_OF_FAME, $4, $d
--- a/maps/LavRadioTower1F.asm
+++ b/maps/LavRadioTower1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const LAVRADIOTOWER1F_RECEPTIONIST
+ const LAVRADIOTOWER1F_OFFICER
+ const LAVRADIOTOWER1F_SUPER_NERD1
+ const LAVRADIOTOWER1F_GENTLEMAN
+ const LAVRADIOTOWER1F_SUPER_NERD2
+
LavRadioTower1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -16,26 +23,26 @@
GentlemanScript_0x7ee6c:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_EXPN_CARD
iftrue .UnknownScript_0x7ee8e
checkevent EVENT_RETURNED_MACHINE_PART
iftrue .UnknownScript_0x7ee80
writetext UnknownText_0x7effb
+ waitbutton
closetext
- loadmovesprites
end
.UnknownScript_0x7ee80:
writetext UnknownText_0x7f0a1
- keeptextopen
+ buttonsound
stringtotext .expncardname, $1
scall .UnknownScript_0x7ee94
setflag ENGINE_EXPN_CARD
.UnknownScript_0x7ee8e
writetext UnknownText_0x7f141
+ waitbutton
closetext
- loadmovesprites
end
.UnknownScript_0x7ee94
@@ -47,18 +54,18 @@
SuperNerdScript_0x7eea2:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_EXPN_CARD
iftrue UnknownScript_0x7eeb0
writetext UnknownText_0x7f193
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x7eeb0:
writetext UnknownText_0x7f248
+ waitbutton
closetext
- loadmovesprites
end
MapLavRadioTower1FSignpost0Script:
--- a/maps/LavenderMart.asm
+++ b/maps/LavenderMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const LAVENDERMART_CLERK
+ const LAVENDERMART_POKEFAN_M
+ const LAVENDERMART_ROCKER
+
LavenderMart_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,9 +11,9 @@
db 0
ClerkScript_0x7eb1c:
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_LAVENDER
- loadmovesprites
+ closetext
end
PokefanMScript_0x7eb23:
--- a/maps/LavenderNameRater.asm
+++ b/maps/LavenderNameRater.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const LAVENDERNAMERATER_GENTLEMAN
+
LavenderNameRater_MapScriptHeader:
.MapTriggers:
db 1
@@ -13,10 +16,10 @@
LavenderNameRater:
faceplayer
- loadfont
+ opentext
special SpecialNameRater
+ waitbutton
closetext
- loadmovesprites
end
LavenderNameRaterBookshelf:
--- a/maps/LavenderPokeCenter1F.asm
+++ b/maps/LavenderPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const LAVENDERPOKECENTER1F_NURSE
+ const LAVENDERPOKECENTER1F_GENTLEMAN
+ const LAVENDERPOKECENTER1F_TEACHER
+ const LAVENDERPOKECENTER1F_YOUNGSTER
+
LavenderPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -16,18 +22,18 @@
YoungsterScript_0x7e6a9:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x7e6b7
writetext UnknownText_0x7e779
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x7e6b7:
writetext UnknownText_0x7e7ed
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x7e6bd:
--- a/maps/LavenderPokeCenter2FBeta.asm
+++ b/maps/LavenderPokeCenter2FBeta.asm
@@ -1,3 +1,4 @@
+
LavenderPokeCenter2FBeta_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/LavenderTown.asm
+++ b/maps/LavenderTown.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const LAVENDERTOWN_POKEFAN_M
+ const LAVENDERTOWN_TEACHER
+ const LAVENDERTOWN_GRAMPS
+ const LAVENDERTOWN_YOUNGSTER
+
LavenderTown_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/LavenderTownSpeechHouse.asm
+++ b/maps/LavenderTownSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const LAVENDERTOWNSPEECHHOUSE_POKEFAN_F
+
LavenderTownSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/MahoganyGym.asm
+++ b/maps/MahoganyGym.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const MAHOGANYGYM_PRYCE
+ const MAHOGANYGYM_BUENA1
+ const MAHOGANYGYM_ROCKER1
+ const MAHOGANYGYM_BUENA2
+ const MAHOGANYGYM_ROCKER2
+ const MAHOGANYGYM_ROCKER3
+ const MAHOGANYGYM_GYM_GUY
+
MahoganyGym_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,21 +16,21 @@
PryceScript_0x199a9e:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_PRYCE
iftrue .FightDone
writetext UnknownText_0x199b8d
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x199cb3, 0
loadtrainer PRYCE, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_PRYCE
- loadfont
+ opentext
writetext UnknownText_0x199d3b
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_GLACIERBADGE
checkcode VAR_BADGES
scall MahoganyGymTriggerRockets
@@ -34,20 +43,20 @@
setevent EVENT_BEAT_BOARDER_BRAD
setevent EVENT_BEAT_BOARDER_DOUGLAS
writetext UnknownText_0x199d55
- keeptextopen
+ buttonsound
verbosegiveitem TM_ICY_WIND
iffalse UnknownScript_0x199af4
setevent EVENT_GOT_TM16_ICY_WIND
writetext UnknownText_0x199def
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x199af0:
writetext UnknownText_0x199e59
- closetext
+ waitbutton
UnknownScript_0x199af4:
- loadmovesprites
+ closetext
end
MahoganyGymTriggerRockets:
@@ -65,11 +74,11 @@
trainer EVENT_BEAT_SKIER_ROXANNE, SKIER, ROXANNE, SkierRoxanneSeenText, SkierRoxanneBeatenText, 0, SkierRoxanneScript
SkierRoxanneScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19a116
+ waitbutton
closetext
- loadmovesprites
end
TrainerSkierClarissa:
@@ -76,11 +85,11 @@
trainer EVENT_BEAT_SKIER_CLARISSA, SKIER, CLARISSA, SkierClarissaSeenText, SkierClarissaBeatenText, 0, SkierClarissaScript
SkierClarissaScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19a18f
+ waitbutton
closetext
- loadmovesprites
end
TrainerBoarderRonald:
@@ -87,11 +96,11 @@
trainer EVENT_BEAT_BOARDER_RONALD, BOARDER, RONALD, BoarderRonaldSeenText, BoarderRonaldBeatenText, 0, BoarderRonaldScript
BoarderRonaldScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x199f2d
+ waitbutton
closetext
- loadmovesprites
end
TrainerBoarderBrad:
@@ -98,11 +107,11 @@
trainer EVENT_BEAT_BOARDER_BRAD, BOARDER, BRAD, BoarderBradSeenText, BoarderBradBeatenText, 0, BoarderBradScript
BoarderBradScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x199fdd
+ waitbutton
closetext
- loadmovesprites
end
TrainerBoarderDouglas:
@@ -109,27 +118,27 @@
trainer EVENT_BEAT_BOARDER_DOUGLAS, BOARDER, DOUGLAS, BoarderDouglasSeenText, BoarderDouglasBeatenText, 0, BoarderDouglasScript
BoarderDouglasScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19a047
+ waitbutton
closetext
- loadmovesprites
end
MahoganyGymGuyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_PRYCE
iftrue .MahoganyGymGuyWinScript
writetext MahoganyGymGuyText
+ waitbutton
closetext
- loadmovesprites
end
.MahoganyGymGuyWinScript
writetext MahoganyGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
end
MahoganyGymStatue:
--- a/maps/MahoganyMart1F.asm
+++ b/maps/MahoganyMart1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const MAHOGANYMART1F_PHARMACIST
+ const MAHOGANYMART1F_BLACK_BELT
+ const MAHOGANYMART1F_LANCE
+ const MAHOGANYMART1F_DRAGON
+ const MAHOGANYMART1F_GRANNY
+
MahoganyMart1F_MapScriptHeader:
.MapTriggers:
db 2
@@ -31,83 +38,83 @@
PharmacistScript_0x6c367:
faceplayer
- loadfont
+ opentext
checkevent EVENT_DECIDED_TO_HELP_LANCE
iftrue UnknownScript_0x6c375
pokemart MARTTYPE_STANDARD, MART_MAHOGANY_1
- loadmovesprites
+ closetext
end
UnknownScript_0x6c375:
writetext UnknownText_0x6c46b
+ waitbutton
closetext
- loadmovesprites
end
BlackBeltScript_0x6c37b:
faceplayer
- loadfont
+ opentext
checkevent EVENT_DECIDED_TO_HELP_LANCE
iftrue UnknownScript_0x6c389
writetext UnknownText_0x6c494
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6c389:
writetext UnknownText_0x6c501
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6c38f:
pause 15
- loadfont
+ opentext
writetext UnknownText_0x6c52a
pause 15
- loadmovesprites
+ closetext
playsound SFX_TACKLE
- applymovement $5, MovementData_0x6c3f6
- applymovement $3, MovementData_0x6c3fb
+ applymovement MAHOGANYMART1F_DRAGON, MovementData_0x6c3f6
+ applymovement MAHOGANYMART1F_BLACK_BELT, MovementData_0x6c3fb
pause 15
- disappear $5
+ disappear MAHOGANYMART1F_DRAGON
pause 15
- applymovement $4, MovementData_0x6c407
- loadfont
+ applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c407
+ opentext
writetext UnknownText_0x6c549
+ waitbutton
closetext
- loadmovesprites
- follow $4, PLAYER
- applymovement $4, MovementData_0x6c40a
- applymovement $2, MovementData_0x6c403
- applymovement $4, MovementData_0x6c40e
+ follow MAHOGANYMART1F_LANCE, PLAYER
+ applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c40a
+ applymovement MAHOGANYMART1F_PHARMACIST, MovementData_0x6c403
+ applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c40e
stopfollow
- loadfont
+ opentext
writetext UnknownText_0x6c59e
- closetext
- showemote EMOTE_SHOCK, $2, 10
+ waitbutton
+ showemote EMOTE_SHOCK, MAHOGANYMART1F_PHARMACIST, 10
playsound SFX_FAINT
changeblock $6, $2, $1e
reloadmappart
- loadmovesprites
+ closetext
setevent EVENT_UNCOVERED_STAIRCASE_IN_MAHOGANY_MART
- spriteface $4, LEFT
- loadfont
+ spriteface MAHOGANYMART1F_LANCE, LEFT
+ opentext
writetext UnknownText_0x6c5ba
+ waitbutton
closetext
- loadmovesprites
- applymovement $4, MovementData_0x6c412
+ applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c412
playsound SFX_EXIT_BUILDING
- disappear $4
+ disappear MAHOGANYMART1F_LANCE
dotrigger $0
- waitbutton
+ waitsfx
end
GrannyScript_0x6c3ee:
faceplayer
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_MAHOGANY_2
- loadmovesprites
+ closetext
end
MovementData_0x6c3f6:
--- a/maps/MahoganyPokeCenter1F.asm
+++ b/maps/MahoganyPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const MAHOGANYPOKECENTER1F_NURSE
+ const MAHOGANYPOKECENTER1F_POKEFAN_M
+ const MAHOGANYPOKECENTER1F_YOUNGSTER
+ const MAHOGANYPOKECENTER1F_COOLTRAINER_F
+
MahoganyPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/MahoganyRedGyaradosSpeechHouse.asm
+++ b/maps/MahoganyRedGyaradosSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const MAHOGANYREDGYARADOSSPEECHHOUSE_BLACK_BELT
+ const MAHOGANYREDGYARADOSSPEECHHOUSE_TEACHER
+
MahoganyRedGyaradosSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -10,18 +14,18 @@
TeacherScript_0x199982:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
iftrue UnknownScript_0x199990
writetext UnknownText_0x199a0e
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x199990:
writetext UnknownText_0x199a3d
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x195996:
--- a/maps/MahoganyTown.asm
+++ b/maps/MahoganyTown.asm
@@ -1,10 +1,16 @@
+const_value set 2
+ const MAHOGANYTOWN_POKEFAN_M
+ const MAHOGANYTOWN_GRAMPS
+ const MAHOGANYTOWN_FISHER
+ const MAHOGANYTOWN_LASS
+
MahoganyTown_MapScriptHeader:
.MapTriggers:
db 2
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
- dw .Trigger2, 0
.MapCallbacks:
db 1
@@ -12,10 +18,10 @@
; callbacks
dbw 5, .FlyPoint
-.Trigger1
+.Trigger0
end
-.Trigger2
+.Trigger1
end
.FlyPoint
@@ -23,14 +29,14 @@
return
UnknownScript_0x190013:
- showemote EMOTE_SHOCK, $2, 15
- applymovement $2, MovementData_0x1900a9
- follow PLAYER, $2
+ showemote EMOTE_SHOCK, MAHOGANYTOWN_POKEFAN_M, 15
+ applymovement MAHOGANYTOWN_POKEFAN_M, MovementData_0x1900a9
+ follow PLAYER, MAHOGANYTOWN_POKEFAN_M
applymovement PLAYER, MovementData_0x1900a7
stopfollow
spriteface PLAYER, RIGHT
scall UnknownScript_0x19002f
- applymovement $2, MovementData_0x1900ad
+ applymovement MAHOGANYTOWN_POKEFAN_M, MovementData_0x1900ad
end
PokefanMScript_0x19002e:
@@ -42,16 +48,16 @@
end
UnknownScript_0x190039:
- loadfont
+ opentext
writetext UnknownText_0x1901a6
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x190040:
- loadfont
+ opentext
writetext UnknownText_0x1900b0
- special PlaceMoneyTopRightOW
+ special PlaceMoneyTopRight
yesorno
iffalse UnknownScript_0x190072
checkmoney $0, 300
@@ -58,47 +64,47 @@
if_equal $2, UnknownScript_0x19006c
giveitem RAGECANDYBAR
iffalse UnknownScript_0x190078
- waitbutton
+ waitsfx
playsound SFX_TRANSACTION
takemoney $0, 300
- special PlaceMoneyTopRightOW
+ special PlaceMoneyTopRight
writetext UnknownText_0x19014a
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19006c:
writetext UnknownText_0x19015b
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x190072:
writetext UnknownText_0x190178
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x190078:
writetext UnknownText_0x190188
+ waitbutton
closetext
- loadmovesprites
end
GrampsScript_0x19007e:
faceplayer
- loadfont
+ opentext
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue UnknownScript_0x19008c
writetext UnknownText_0x1901e5
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19008c:
writetext UnknownText_0x19021d
+ waitbutton
closetext
- loadmovesprites
end
FisherScript_0x190092:
--- a/maps/ManiasHouse.asm
+++ b/maps/ManiasHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const MANIASHOUSE_ROCKER
+
ManiasHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,7 +10,7 @@
ManiaScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
iftrue .default_postevent
checkevent EVENT_GOT_SHUCKIE
@@ -18,12 +21,12 @@
special SpecialGiveShuckle
iffalse .partyfull
writetext ManiaText_TakeCareOfShuckle
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
writetext ManiaText_GotShuckle
playsound SFX_KEY_ITEM
- waitbutton
- loadmovesprites
+ waitsfx
+ closetext
setevent EVENT_GOT_SHUCKIE
end
@@ -31,20 +34,20 @@
checkflag ENGINE_SHUCKLE_GIVEN
iffalse .returnshuckie
writetext ManiaText_TakeCareOfShuckle
+ waitbutton
closetext
- loadmovesprites
end
.partyfull:
writetext ManiaText_PartyFull
+ waitbutton
closetext
- loadmovesprites
end
.refusetotakeshuckie:
writetext ManiaText_IfHeComesBack
+ waitbutton
closetext
- loadmovesprites
end
.returnshuckie:
@@ -57,40 +60,40 @@
if_equal $3, .superhappy
if_equal $4, .default_postevent
writetext ManiaText_ThankYou
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
end
.wrong:
writetext ManiaText_ShuckleNotThere
+ waitbutton
closetext
- loadmovesprites
end
.superhappy:
writetext ManiaText_ShuckleLikesYou
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
end
.refused:
writetext ManiaText_SameAsBeingRobbed
+ waitbutton
closetext
- loadmovesprites
end
.nothingleft:
writetext ManiaText_ShuckleIsYourLastMon
+ waitbutton
closetext
- loadmovesprites
end
.default_postevent:
writetext ManiaText_HappinessSpeech
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x9d300:
--- a/maps/MobileBattleRoom.asm
+++ b/maps/MobileBattleRoom.asm
@@ -1,19 +1,20 @@
+
MobileBattleRoom_MapScriptHeader:
.MapTriggers:
db 2
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
- dw .Trigger2, 0
.MapCallbacks:
db 0
-.Trigger1:
+.Trigger0:
priorityjump MobileBattleRoom_Initialize
end
-.Trigger2:
+.Trigger1:
end
MobileBattleRoom_Initialize:
@@ -34,7 +35,7 @@
.one_:
writetext MobileBattleRoom_HealText
pause 20
- loadmovesprites
+ closetext
special FadeOutPalettes
playmusic MUSIC_HEAL
special LoadMapPalettes
@@ -50,11 +51,11 @@
.one:
special Function10387b
writetext MobileBattleRoom_EstablishingCommsText
- closetext
+ waitbutton
reloadmappart
special Function101225
.false:
- loadmovesprites
+ closetext
end
MobileBattleRoom_EstablishingCommsText:
--- a/maps/MobileTradeRoomMobile.asm
+++ b/maps/MobileTradeRoomMobile.asm
@@ -1,19 +1,20 @@
+
MobileTradeRoomMobile_MapScriptHeader:
.MapTriggers:
db 2
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
- dw .Trigger2, 0
.MapCallbacks:
db 0
-.Trigger1:
+.Trigger0:
priorityjump MobileTradeRoomMobile_Initialize
end
-.Trigger2:
+.Trigger1:
end
MobileTradeRoomMobile_Initialize:
@@ -25,10 +26,10 @@
refreshscreen $0
special Function1037c2
writetext MobileTradeRoomMobile_EstablishingCommsText
- closetext
+ waitbutton
reloadmappart
special Function101231
- loadmovesprites
+ closetext
end
MobileTradeRoomMobile_EstablishingCommsText:
--- a/maps/MountMoon.asm
+++ b/maps/MountMoon.asm
@@ -1,82 +1,85 @@
+const_value set 2
+ const MOUNTMOON_SILVER
+
MountMoon_MapScriptHeader:
.MapTriggers:
db 2
; triggers
- dw UnknownScript_0x74089, 0
- dw UnknownScript_0x7408d, 0
+ dw .Trigger0, 0
+ dw .Trigger1, 0
.MapCallbacks:
db 0
-UnknownScript_0x74089:
- priorityjump UnknownScript_0x7408e
+.Trigger0:
+ priorityjump .RivalBattle
end
-UnknownScript_0x7408d:
+.Trigger1:
end
-UnknownScript_0x7408e:
+.RivalBattle:
spriteface PLAYER, RIGHT
showemote EMOTE_SHOCK, PLAYER, 15
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 15
- applymovement $2, MovementData_0x740f9
+ applymovement MOUNTMOON_SILVER, MountMoonSilverMovementBefore
playmusic MUSIC_RIVAL_ENCOUNTER
- loadfont
- writetext UnknownText_0x74105
+ opentext
+ writetext MountMoonSilverTextBefore
+ waitbutton
closetext
- loadmovesprites
checkevent EVENT_GOT_TOTODILE_FROM_ELM
- iftrue UnknownScript_0x740c3
+ iftrue .Totodile
checkevent EVENT_GOT_CHIKORITA_FROM_ELM
- iftrue UnknownScript_0x740d3
- winlosstext UnknownText_0x7419d, UnknownText_0x742e0
- setlasttalked $2
+ iftrue .Chikorita
+ winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss
+ setlasttalked MOUNTMOON_SILVER
loadtrainer RIVAL2, 3
startbattle
- reloadmapmusic
- returnafterbattle
- jump UnknownScript_0x740e3
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .FinishBattle
-UnknownScript_0x740c3:
- winlosstext UnknownText_0x7419d, UnknownText_0x742e0
- setlasttalked $2
+.Totodile:
+ winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss
+ setlasttalked MOUNTMOON_SILVER
loadtrainer RIVAL2, 1
startbattle
- reloadmapmusic
- returnafterbattle
- jump UnknownScript_0x740e3
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .FinishBattle
-UnknownScript_0x740d3:
- winlosstext UnknownText_0x7419d, UnknownText_0x742e0
- setlasttalked $2
+.Chikorita:
+ winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss
+ setlasttalked MOUNTMOON_SILVER
loadtrainer RIVAL2, 2
startbattle
- reloadmapmusic
- returnafterbattle
- jump UnknownScript_0x740e3
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .FinishBattle
-UnknownScript_0x740e3:
+.FinishBattle:
playmusic MUSIC_RIVAL_AFTER
- loadfont
- writetext UnknownText_0x741fa
+ opentext
+ writetext MountMoonSilverTextAfter
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x740fd
- disappear $2
+ applymovement MOUNTMOON_SILVER, MountMoonSilverMovementAfter
+ disappear MOUNTMOON_SILVER
dotrigger $1
setevent EVENT_BEAT_RIVAL_IN_MT_MOON
playmapmusic
end
-MovementData_0x740f9:
+MountMoonSilverMovementBefore:
step_left
step_left
step_left
step_end
-MovementData_0x740fd:
+MountMoonSilverMovementAfter:
step_right
step_right
step_down
@@ -86,7 +89,7 @@
step_down
step_end
-UnknownText_0x74105:
+MountMoonSilverTextBefore:
text "<......> <......> <......>"
para "It's been a while,"
@@ -106,7 +109,7 @@
line "show you!"
done
-UnknownText_0x7419d:
+MountMoonSilverTextWin:
text "<......> <......> <......>"
para "I thought I raised"
@@ -119,7 +122,7 @@
line "wasn't enough…"
done
-UnknownText_0x741fa:
+MountMoonSilverTextAfter:
text "<......> <......> <......>"
para "…You won, fair"
@@ -145,7 +148,7 @@
line "beating you."
done
-UnknownText_0x742e0:
+MountMoonSilverTextLoss:
text "<......> <......> <......>"
para "I've repaid my"
--- a/maps/MountMoonGiftShop.asm
+++ b/maps/MountMoonGiftShop.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const MOUNTMOONGIFTSHOP_GRAMPS1
+ const MOUNTMOONGIFTSHOP_GRAMPS2
+ const MOUNTMOONGIFTSHOP_LASS1
+ const MOUNTMOONGIFTSHOP_LASS2
+
MountMoonGiftShop_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,9 +13,9 @@
GrampsScript_0x771a8:
faceplayer
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_MT_MOON
- loadmovesprites
+ closetext
end
LassScript_0x771b0:
--- a/maps/MountMoonSquare.asm
+++ b/maps/MountMoonSquare.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const MOUNTMOONSQUARE_FAIRY1
+ const MOUNTMOONSQUARE_FAIRY2
+ const MOUNTMOONSQUARE_ROCK
+
MountMoonSquare_MapScriptHeader:
.MapTriggers:
db 1
@@ -22,7 +27,7 @@
return
UnknownScript_0x77097:
- disappear $4
+ disappear MOUNTMOONSQUARE_ROCK
return
UnknownScript_0x7709a:
@@ -32,41 +37,41 @@
if_not_equal MONDAY, .NoDancing
checknite
iffalse .NoDancing
- appear $2
- appear $3
+ appear MOUNTMOONSQUARE_FAIRY1
+ appear MOUNTMOONSQUARE_FAIRY2
applymovement PLAYER, MovementData_0x77121
pause 15
- appear $4
- spriteface $2, RIGHT
+ appear MOUNTMOONSQUARE_ROCK
+ spriteface MOUNTMOONSQUARE_FAIRY1, RIGHT
cry CLEFAIRY
- waitbutton
+ waitsfx
pause 30
- follow $2, $3
+ follow MOUNTMOONSQUARE_FAIRY1, MOUNTMOONSQUARE_FAIRY2
cry CLEFAIRY
- applymovement $2, MovementData_0x77123
+ applymovement MOUNTMOONSQUARE_FAIRY1, MovementData_0x77123
cry CLEFAIRY
- applymovement $2, MovementData_0x77126
+ applymovement MOUNTMOONSQUARE_FAIRY1, MovementData_0x77126
cry CLEFAIRY
- applymovement $2, MovementData_0x77128
+ applymovement MOUNTMOONSQUARE_FAIRY1, MovementData_0x77128
cry CLEFAIRY
- applymovement $2, MovementData_0x7712b
+ applymovement MOUNTMOONSQUARE_FAIRY1, MovementData_0x7712b
cry CLEFAIRY
- applymovement $2, MovementData_0x7712d
+ applymovement MOUNTMOONSQUARE_FAIRY1, MovementData_0x7712d
stopfollow
- applymovement $3, MovementData_0x77130
- follow $2, $3
- applymovement $2, MovementData_0x77132
+ applymovement MOUNTMOONSQUARE_FAIRY2, MovementData_0x77130
+ follow MOUNTMOONSQUARE_FAIRY1, MOUNTMOONSQUARE_FAIRY2
+ applymovement MOUNTMOONSQUARE_FAIRY1, MovementData_0x77132
stopfollow
- spriteface $2, DOWN
+ spriteface MOUNTMOONSQUARE_FAIRY1, DOWN
pause 10
- showemote EMOTE_SHOCK, $2, 15
- spriteface $2, DOWN
+ showemote EMOTE_SHOCK, MOUNTMOONSQUARE_FAIRY1, 15
+ spriteface MOUNTMOONSQUARE_FAIRY1, DOWN
cry CLEFAIRY
pause 15
- follow $2, $3
- applymovement $2, MovementData_0x77134
- disappear $2
- disappear $3
+ follow MOUNTMOONSQUARE_FAIRY1, MOUNTMOONSQUARE_FAIRY2
+ applymovement MOUNTMOONSQUARE_FAIRY1, MovementData_0x77134
+ disappear MOUNTMOONSQUARE_FAIRY1
+ disappear MOUNTMOONSQUARE_FAIRY2
stopfollow
clearevent EVENT_MOUNT_MOON_SQUARE_HIDDEN_MOON_STONE
setflag ENGINE_MT_MOON_SQUARE_CLEFAIRY
@@ -75,7 +80,7 @@
.NoDancing:
end
-MapMountMoonSquareSignpostItem0:
+MountMoonSquareHiddenMoonStone:
dwb EVENT_MOUNT_MOON_SQUARE_HIDDEN_MOON_STONE, MOON_STONE
@@ -150,7 +155,7 @@
.Signposts:
db 2
- signpost 7, 7, SIGNPOST_ITEM, MapMountMoonSquareSignpostItem0
+ signpost 7, 7, SIGNPOST_ITEM, MountMoonSquareHiddenMoonStone
signpost 7, 17, SIGNPOST_READ, MapMountMoonSquareSignpost1Script
.PersonEvents:
--- a/maps/MountMortar1FInside.asm
+++ b/maps/MountMortar1FInside.asm
@@ -1,3 +1,15 @@
+const_value set 2
+ const MOUNTMORTAR1FINSIDE_BOULDER
+ const MOUNTMORTAR1FINSIDE_POKE_BALL1
+ const MOUNTMORTAR1FINSIDE_POKE_BALL2
+ const MOUNTMORTAR1FINSIDE_POKE_BALL3
+ const MOUNTMORTAR1FINSIDE_POKE_BALL4
+ const MOUNTMORTAR1FINSIDE_POKE_BALL5
+ const MOUNTMORTAR1FINSIDE_SUPER_NERD1
+ const MOUNTMORTAR1FINSIDE_SUPER_NERD2
+ const MOUNTMORTAR1FINSIDE_POKE_BALL6
+ const MOUNTMORTAR1FINSIDE_POKE_BALL7
+
MountMortar1FInside_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +21,11 @@
trainer EVENT_BEAT_POKEMANIAC_MILLER, POKEMANIAC, MILLER, PokemaniacMillerSeenText, PokemaniacMillerBeatenText, 0, PokemaniacMillerScript
PokemaniacMillerScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7debd
+ waitbutton
closetext
- loadmovesprites
end
TrainerSupernerdMarkus:
@@ -20,38 +32,38 @@
trainer EVENT_BEAT_SUPER_NERD_MARKUS, SUPER_NERD, MARKUS, SupernerdMarkusSeenText, SupernerdMarkusBeatenText, 0, SupernerdMarkusScript
SupernerdMarkusScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7df97
+ waitbutton
closetext
- loadmovesprites
end
MountMortar1FBoulder:
jumpstd strengthboulder
-ItemFragment_0x7de7c:
- db ESCAPE_ROPE, 1
+MountMortar1FInsideEscapeRope:
+ itemball ESCAPE_ROPE
-ItemFragment_0x7de7e:
- db MAX_REVIVE, 1
+MountMortar1FInsideMaxRevive:
+ itemball MAX_REVIVE
-ItemFragment_0x7de80:
- db HYPER_POTION, 1
+MountMortar1FInsideHyperPotion:
+ itemball HYPER_POTION
-ItemFragment_0x7de82:
- db MAX_POTION, 1
+MountMortar1FInsideMaxPotion:
+ itemball MAX_POTION
-ItemFragment_0x7de84:
- db NUGGET, 1
+MountMortar1FInsideNugget:
+ itemball NUGGET
-ItemFragment_0x7de86:
- db IRON, 1
+MountMortar1FInsideIron:
+ itemball IRON
-ItemFragment_0x7de88:
- db ULTRA_BALL, 1
+MountMortar1FInsideUltraBall:
+ itemball ULTRA_BALL
-MapMountMortar1FInsideSignpostItem0:
+MountMortar1FInsideHiddenMaxRepel:
dwb EVENT_MOUNT_MORTAR_1F_INSIDE_HIDDEN_MAX_REPEL, MAX_REPEL
@@ -123,17 +135,17 @@
.Signposts:
db 1
- signpost 11, 30, SIGNPOST_ITEM, MapMountMortar1FInsideSignpostItem0
+ signpost 11, 30, SIGNPOST_ITEM, MountMortar1FInsideHiddenMaxRepel
.PersonEvents:
db 10
person_event SPRITE_BOULDER, 43, 21, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, MountMortar1FBoulder, -1
- person_event SPRITE_POKE_BALL, 38, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7de7c, EVENT_MOUNT_MORTAR_1F_INSIDE_ESCAPE_ROPE
- person_event SPRITE_POKE_BALL, 10, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7de7e, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_REVIVE
- person_event SPRITE_POKE_BALL, 27, 10, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7de80, EVENT_MOUNT_MORTAR_1F_INSIDE_HYPER_POTION
- person_event SPRITE_POKE_BALL, 20, 22, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7de82, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_POTION
- person_event SPRITE_POKE_BALL, 19, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7de84, EVENT_MOUNT_MORTAR_1F_INSIDE_NUGGET
+ person_event SPRITE_POKE_BALL, 38, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar1FInsideEscapeRope, EVENT_MOUNT_MORTAR_1F_INSIDE_ESCAPE_ROPE
+ person_event SPRITE_POKE_BALL, 10, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar1FInsideMaxRevive, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_REVIVE
+ person_event SPRITE_POKE_BALL, 27, 10, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar1FInsideHyperPotion, EVENT_MOUNT_MORTAR_1F_INSIDE_HYPER_POTION
+ person_event SPRITE_POKE_BALL, 20, 22, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar1FInsideMaxPotion, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_POTION
+ person_event SPRITE_POKE_BALL, 19, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar1FInsideNugget, EVENT_MOUNT_MORTAR_1F_INSIDE_NUGGET
person_event SPRITE_SUPER_NERD, 43, 33, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerPokemaniacMiller, -1
person_event SPRITE_SUPER_NERD, 28, 24, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_TRAINER, 3, TrainerSupernerdMarkus, -1
- person_event SPRITE_POKE_BALL, 16, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7de86, EVENT_MOUNT_MORTAR_1F_INSIDE_IRON
- person_event SPRITE_POKE_BALL, 17, 17, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7de88, EVENT_MOUNT_MORTAR_1F_INSIDE_ULTRA_BALL
+ person_event SPRITE_POKE_BALL, 16, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar1FInsideIron, EVENT_MOUNT_MORTAR_1F_INSIDE_IRON
+ person_event SPRITE_POKE_BALL, 17, 17, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar1FInsideUltraBall, EVENT_MOUNT_MORTAR_1F_INSIDE_ULTRA_BALL
--- a/maps/MountMortar1FOutside.asm
+++ b/maps/MountMortar1FOutside.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const MOUNTMORTAR1FOUTSIDE_POKE_BALL1
+ const MOUNTMORTAR1FOUTSIDE_POKE_BALL2
+
MountMortar1FOutside_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,13 +9,13 @@
.MapCallbacks:
db 0
-ItemFragment_0x7ddf6:
- db ETHER, 1
+MountMortar1FOutsideEther:
+ itemball ETHER
-ItemFragment_0x7ddf8:
- db REVIVE, 1
+MountMortar1FOutsideRevive:
+ itemball REVIVE
-MapMountMortar1FOutsideSignpostItem0:
+MountMortar1FOutsideHiddenHyperPotion:
dwb EVENT_MOUNT_MORTAR_1F_OUTSIDE_HIDDEN_HYPER_POTION, HYPER_POTION
@@ -36,9 +40,9 @@
.Signposts:
db 1
- signpost 22, 25, SIGNPOST_ITEM, MapMountMortar1FOutsideSignpostItem0
+ signpost 22, 25, SIGNPOST_ITEM, MountMortar1FOutsideHiddenHyperPotion
.PersonEvents:
db 2
- person_event SPRITE_POKE_BALL, 15, 13, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7ddf6, EVENT_MOUNT_MORTAR_1F_OUTSIDE_ETHER
- person_event SPRITE_POKE_BALL, 18, 31, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7ddf8, EVENT_MOUNT_MORTAR_1F_OUTSIDE_REVIVE
+ person_event SPRITE_POKE_BALL, 15, 13, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar1FOutsideEther, EVENT_MOUNT_MORTAR_1F_OUTSIDE_ETHER
+ person_event SPRITE_POKE_BALL, 18, 31, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar1FOutsideRevive, EVENT_MOUNT_MORTAR_1F_OUTSIDE_REVIVE
--- a/maps/MountMortar2FInside.asm
+++ b/maps/MountMortar2FInside.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const MOUNTMORTAR2FINSIDE_POKE_BALL1
+ const MOUNTMORTAR2FINSIDE_POKE_BALL2
+ const MOUNTMORTAR2FINSIDE_POKE_BALL3
+ const MOUNTMORTAR2FINSIDE_POKE_BALL4
+ const MOUNTMORTAR2FINSIDE_POKE_BALL5
+ const MOUNTMORTAR2FINSIDE_POKE_BALL6
+ const MOUNTMORTAR2FINSIDE_SUPER_NERD
+
MountMortar2FInside_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,32 +18,32 @@
trainer EVENT_BEAT_SUPER_NERD_HUGH, SUPER_NERD, HUGH, SupernerdHughSeenText, SupernerdHughBeatenText, 0, SupernerdHughScript
SupernerdHughScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7e10e
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x7e0de:
- db MAX_POTION, 1
+MountMortar2FInsideMaxPotion:
+ itemball MAX_POTION
-ItemFragment_0x7e0e0:
- db RARE_CANDY, 1
+MountMortar2FInsideRareCandy:
+ itemball RARE_CANDY
-ItemFragment_0x7e0e2:
- db TM_DEFENSE_CURL, 1
+MountMortar2FInsideTMDefenseCurl:
+ itemball TM_DEFENSE_CURL
-ItemFragment_0x7e0e4:
- db DRAGON_SCALE, 1
+MountMortar2FInsideDragonScale:
+ itemball DRAGON_SCALE
-ItemFragment_0x7e0e6:
- db ELIXER, 1
+MountMortar2FInsideElixer:
+ itemball ELIXER
-ItemFragment_0x7e0e8:
- db ESCAPE_ROPE, 1
+MountMortar2FInsideEscapeRope:
+ itemball ESCAPE_ROPE
-MapMountMortar2FInsideSignpostItem0:
+MountMortar2FInsideHiddenFullRestore:
dwb EVENT_MOUNT_MORTAR_2F_INSIDE_HIDDEN_FULL_RESTORE, FULL_RESTORE
@@ -72,14 +81,14 @@
.Signposts:
db 1
- signpost 8, 24, SIGNPOST_ITEM, MapMountMortar2FInsideSignpostItem0
+ signpost 8, 24, SIGNPOST_ITEM, MountMortar2FInsideHiddenFullRestore
.PersonEvents:
db 7
- person_event SPRITE_POKE_BALL, 22, 28, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e0de, EVENT_MOUNT_MORTAR_2F_INSIDE_MAX_POTION
- person_event SPRITE_POKE_BALL, 33, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e0e0, EVENT_MOUNT_MORTAR_2F_INSIDE_RARE_CANDY
- person_event SPRITE_POKE_BALL, 17, 19, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e0e2, EVENT_MOUNT_MORTAR_2F_INSIDE_TM_DEFENSE_CURL
- person_event SPRITE_POKE_BALL, 5, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e0e4, EVENT_MOUNT_MORTAR_2F_INSIDE_DRAGON_SCALE
- person_event SPRITE_POKE_BALL, 11, 9, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e0e6, EVENT_MOUNT_MORTAR_2F_INSIDE_ELIXER
- person_event SPRITE_POKE_BALL, 5, 28, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e0e8, EVENT_MOUNT_MORTAR_2F_INSIDE_ESCAPE_ROPE
+ person_event SPRITE_POKE_BALL, 22, 28, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar2FInsideMaxPotion, EVENT_MOUNT_MORTAR_2F_INSIDE_MAX_POTION
+ person_event SPRITE_POKE_BALL, 33, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar2FInsideRareCandy, EVENT_MOUNT_MORTAR_2F_INSIDE_RARE_CANDY
+ person_event SPRITE_POKE_BALL, 17, 19, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar2FInsideTMDefenseCurl, EVENT_MOUNT_MORTAR_2F_INSIDE_TM_DEFENSE_CURL
+ person_event SPRITE_POKE_BALL, 5, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar2FInsideDragonScale, EVENT_MOUNT_MORTAR_2F_INSIDE_DRAGON_SCALE
+ person_event SPRITE_POKE_BALL, 11, 9, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar2FInsideElixer, EVENT_MOUNT_MORTAR_2F_INSIDE_ELIXER
+ person_event SPRITE_POKE_BALL, 5, 28, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortar2FInsideEscapeRope, EVENT_MOUNT_MORTAR_2F_INSIDE_ESCAPE_ROPE
person_event SPRITE_SUPER_NERD, 26, 13, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_TRAINER, 2, TrainerSupernerdHugh, -1
--- a/maps/MountMortarB1F.asm
+++ b/maps/MountMortarB1F.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const MOUNTMORTARB1F_POKE_BALL1
+ const MOUNTMORTARB1F_POKE_BALL2
+ const MOUNTMORTARB1F_BOULDER
+ const MOUNTMORTARB1F_BLACK_BELT
+ const MOUNTMORTARB1F_POKE_BALL3
+ const MOUNTMORTARB1F_POKE_BALL4
+ const MOUNTMORTARB1F_POKE_BALL5
+
MountMortarB1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,62 +16,62 @@
BlackBeltScript_0x7e1f6:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TYROGUE_FROM_KIYO
iftrue UnknownScript_0x7e231
checkevent EVENT_BEAT_BLACKBELT_KIYO
iftrue UnknownScript_0x7e217
writetext UnknownText_0x7e24d
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x7e2a9, 0
loadtrainer BLACKBELT_T, KIYO
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_BLACKBELT_KIYO
- loadfont
+ opentext
UnknownScript_0x7e217:
writetext UnknownText_0x7e2c0
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
checkcode VAR_PARTYCOUNT
if_equal $6, UnknownScript_0x7e237
writetext UnknownText_0x7e355
playsound SFX_CAUGHT_MON
- waitbutton
+ waitsfx
givepoke TYROGUE, 10
setevent EVENT_GOT_TYROGUE_FROM_KIYO
UnknownScript_0x7e231:
writetext UnknownText_0x7e36a
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x7e237:
writetext UnknownText_0x7e3df
+ waitbutton
closetext
- loadmovesprites
end
MountMortarB1FBoulder:
jumpstd strengthboulder
-ItemFragment_0x7e240:
- db HYPER_POTION, 1
+MountMortarB1FHyperPotion:
+ itemball HYPER_POTION
-ItemFragment_0x7e242:
- db CARBOS, 1
+MountMortarB1FCarbos:
+ itemball CARBOS
-ItemFragment_0x7e244:
- db FULL_RESTORE, 1
+MountMortarB1FFullRestore:
+ itemball FULL_RESTORE
-ItemFragment_0x7e246:
- db MAX_ETHER, 1
+MountMortarB1FMaxEther:
+ itemball MAX_ETHER
-ItemFragment_0x7e248:
- db PP_UP, 1
+MountMortarB1FPPUp:
+ itemball PP_UP
-MapMountMortarB1FSignpostItem0:
+MountMortarB1FHiddenMaxRevive:
dwb EVENT_MOUNT_MORTAR_B1F_HIDDEN_MAX_REVIVE, MAX_REVIVE
@@ -140,14 +149,14 @@
.Signposts:
db 1
- signpost 6, 4, SIGNPOST_ITEM, MapMountMortarB1FSignpostItem0
+ signpost 6, 4, SIGNPOST_ITEM, MountMortarB1FHiddenMaxRevive
.PersonEvents:
db 7
- person_event SPRITE_POKE_BALL, 12, 29, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e240, EVENT_MOUNT_MORTAR_B1F_HYPER_POTION
- person_event SPRITE_POKE_BALL, 16, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e242, EVENT_MOUNT_MORTAR_B1F_CARBOS
+ person_event SPRITE_POKE_BALL, 12, 29, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortarB1FHyperPotion, EVENT_MOUNT_MORTAR_B1F_HYPER_POTION
+ person_event SPRITE_POKE_BALL, 16, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortarB1FCarbos, EVENT_MOUNT_MORTAR_B1F_CARBOS
person_event SPRITE_BOULDER, 10, 9, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, MountMortarB1FBoulder, -1
person_event SPRITE_BLACK_BELT, 4, 16, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_SCRIPT, 0, BlackBeltScript_0x7e1f6, -1
- person_event SPRITE_POKE_BALL, 24, 34, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e244, EVENT_MOUNT_MORTAR_B1F_FULL_RESTORE
- person_event SPRITE_POKE_BALL, 3, 32, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e246, EVENT_MOUNT_MORTAR_B1F_MAX_ETHER
- person_event SPRITE_POKE_BALL, 26, 21, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7e248, EVENT_MOUNT_MORTAR_B1F_PP_UP
+ person_event SPRITE_POKE_BALL, 24, 34, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortarB1FFullRestore, EVENT_MOUNT_MORTAR_B1F_FULL_RESTORE
+ person_event SPRITE_POKE_BALL, 3, 32, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortarB1FMaxEther, EVENT_MOUNT_MORTAR_B1F_MAX_ETHER
+ person_event SPRITE_POKE_BALL, 26, 21, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, MountMortarB1FPPUp, EVENT_MOUNT_MORTAR_B1F_PP_UP
--- a/maps/MoveDeletersHouse.asm
+++ b/maps/MoveDeletersHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const MOVEDELETERSHOUSE_SUPER_NERD
+
MoveDeletersHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,10 +10,10 @@
MoveDeleter:
faceplayer
- loadfont
+ opentext
special MoveDeletion
+ waitbutton
closetext
- loadmovesprites
end
MoveDeletersHouseBookshelf:
--- a/maps/MrFujisHouse.asm
+++ b/maps/MrFujisHouse.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const MRFUJISHOUSE_SUPER_NERD
+ const MRFUJISHOUSE_LASS
+ const MRFUJISHOUSE_RHYDON
+ const MRFUJISHOUSE_GROWLITHE
+ const MRFUJISHOUSE_MOLTRES
+
MrFujisHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -12,27 +19,27 @@
jumptextfaceplayer UnknownText_0x7e940
MrFujisPsyduck:
- loadfont
+ opentext
writetext MrFujisPsyduckText
cry PSYDUCK
+ waitbutton
closetext
- loadmovesprites
end
MrFujisNidorino:
- loadfont
+ opentext
writetext MrFujisNidorinoText
cry NIDORINO
+ waitbutton
closetext
- loadmovesprites
end
MrFujisPidgey:
- loadfont
+ opentext
writetext MrFujisPidgeyText
cry PIDGEY
+ waitbutton
closetext
- loadmovesprites
end
MrFujisHouseBookshelf:
--- a/maps/MrPokemonsHouse.asm
+++ b/maps/MrPokemonsHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const MRPOKEMONSHOUSE_GENTLEMAN
+ const MRPOKEMONSHOUSE_OAK
+
MrPokemonsHouse_MapScriptHeader:
.MapTriggers:
db 2
@@ -17,52 +21,52 @@
end
UnknownScript_0x196e56:
- showemote EMOTE_SHOCK, $2, 15
- spriteface $2, DOWN
- loadfont
+ showemote EMOTE_SHOCK, MRPOKEMONSHOUSE_GENTLEMAN, 15
+ spriteface MRPOKEMONSHOUSE_GENTLEMAN, DOWN
+ opentext
writetext UnknownText_0x196f66
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x196f5a
- loadfont
+ opentext
writetext UnknownText_0x196fa8
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
giveitem MYSTERY_EGG
writetext UnknownText_0x196fd2
playsound SFX_KEY_ITEM
- waitbutton
+ waitsfx
itemnotify
setevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
blackoutmod CHERRYGROVE_CITY
writetext UnknownText_0x196feb
- keeptextopen
- spriteface $2, RIGHT
+ buttonsound
+ spriteface MRPOKEMONSHOUSE_GENTLEMAN, RIGHT
writetext UnknownText_0x197092
- keeptextopen
- spriteface $2, DOWN
- spriteface $3, LEFT
+ buttonsound
+ spriteface MRPOKEMONSHOUSE_GENTLEMAN, DOWN
+ spriteface MRPOKEMONSHOUSE_OAK, LEFT
writetext UnknownText_0x1970b7
+ waitbutton
closetext
- loadmovesprites
jump UnknownScript_0x196ec9
GentlemanScript_0x196e97:
faceplayer
- loadfont
+ opentext
checkitem RED_SCALE
iftrue UnknownScript_0x196eb0
checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
iftrue UnknownScript_0x196eaa
writetext UnknownText_0x197134
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x196eaa:
writetext UnknownText_0x19714a
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x196eb0:
@@ -76,38 +80,38 @@
UnknownScript_0x196ec3:
writetext UnknownText_0x19750d
- closetext
+ waitbutton
UnknownScript_0x196ec7:
- loadmovesprites
+ closetext
end
UnknownScript_0x196ec9:
playmusic MUSIC_PROF_OAK
- applymovement $3, MovementData_0x196f5d
+ applymovement MRPOKEMONSHOUSE_OAK, MovementData_0x196f5d
spriteface PLAYER, RIGHT
- loadfont
+ opentext
writetext UnknownText_0x197185
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
writetext UnknownText_0x1973cc
playsound SFX_ITEM
- waitbutton
+ waitsfx
setflag ENGINE_POKEDEX
writetext UnknownText_0x1973de
+ waitbutton
closetext
- loadmovesprites
spriteface PLAYER, DOWN
- applymovement $3, MovementData_0x196f61
+ applymovement MRPOKEMONSHOUSE_OAK, MovementData_0x196f61
playsound SFX_EXIT_BUILDING
- disappear $3
- waitbutton
+ disappear MRPOKEMONSHOUSE_OAK
+ waitsfx
special RestartMapMusic
pause 15
spriteface PLAYER, UP
- loadfont
+ opentext
writetext UnknownText_0x1970ed
+ waitbutton
closetext
- loadmovesprites
special Special_FadeBlackQuickly
special Special_ReloadSpritesNoPalettes
playmusic MUSIC_HEAL
@@ -116,10 +120,10 @@
pause 60
special Special_FadeInQuickly
special RestartMapMusic
- loadfont
+ opentext
writetext UnknownText_0x197134
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_RIVAL_NEW_BARK_TOWN
setevent EVENT_KRISS_HOUSE_1F_NEIGHBOR
clearevent EVENT_KRISS_NEIGHBORS_HOUSE_NEIGHBOR
--- a/maps/MrPsychicsHouse.asm
+++ b/maps/MrPsychicsHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const MRPSYCHICSHOUSE_FISHING_GURU
+
MrPsychicsHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,19 +10,19 @@
MrPsychic:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TM29_PSYCHIC
iftrue .AlreadyGotItem
writetext MrPsychicText1
- keeptextopen
+ buttonsound
verbosegiveitem TM_PSYCHIC
iffalse .Done
setevent EVENT_GOT_TM29_PSYCHIC
.AlreadyGotItem
writetext MrPsychicText2
- closetext
+ waitbutton
.Done
- loadmovesprites
+ closetext
end
MrPsychicsHouseBookshelf:
--- a/maps/NationalPark.asm
+++ b/maps/NationalPark.asm
@@ -1,3 +1,19 @@
+const_value set 2
+ const NATIONALPARK_LASS1
+ const NATIONALPARK_POKEFAN_F1
+ const NATIONALPARK_TEACHER1
+ const NATIONALPARK_YOUNGSTER1
+ const NATIONALPARK_YOUNGSTER2
+ const NATIONALPARK_TEACHER2
+ const NATIONALPARK_GROWLITHE
+ const NATIONALPARK_YOUNGSTER3
+ const NATIONALPARK_POKEFAN_F2
+ const NATIONALPARK_POKEFAN_M
+ const NATIONALPARK_LASS2
+ const NATIONALPARK_POKE_BALL1
+ const NATIONALPARK_GAMEBOY_KID
+ const NATIONALPARK_POKE_BALL2
+
NationalPark_MapScriptHeader:
.MapTriggers:
db 0
@@ -13,19 +29,19 @@
TeacherScript_0x5c008:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_QUICK_CLAW
iftrue UnknownScript_0x5c01d
writetext UnknownText_0x5c265
- keeptextopen
+ buttonsound
verbosegiveitem QUICK_CLAW
iffalse UnknownScript_0x5c021
setevent EVENT_GOT_QUICK_CLAW
UnknownScript_0x5c01d:
writetext UnknownText_0x5c30d
- closetext
+ waitbutton
UnknownScript_0x5c021:
- loadmovesprites
+ closetext
end
YoungsterScript_0x5c023:
@@ -39,20 +55,20 @@
GrowlitheScript_0x5c02c:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5c416
cry PERSIAN
+ waitbutton
closetext
- loadmovesprites
end
GameboyKidScript_0x5c037:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5c42a
+ waitbutton
closetext
- loadmovesprites
- spriteface $e, DOWN
+ spriteface NATIONALPARK_GAMEBOY_KID, DOWN
end
TrainerSchoolboyJack1:
@@ -60,8 +76,8 @@
SchoolboyJack1Script:
writecode VAR_CALLERID, PHONE_SCHOOLBOY_JACK
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_JACK
iftrue UnknownScript_0x5c088
checkcellnum PHONE_SCHOOLBOY_JACK
@@ -69,7 +85,7 @@
checkevent EVENT_JACK_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x5c071
writetext UnknownText_0x5c4f3
- keeptextopen
+ buttonsound
setevent EVENT_JACK_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x5c0fc
jump UnknownScript_0x5c074
@@ -108,7 +124,7 @@
.LoadFight0
loadtrainer SCHOOLBOY, JACK1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wJackFightCount, 1
clearflag ENGINE_JACK
end
@@ -116,7 +132,7 @@
.LoadFight1
loadtrainer SCHOOLBOY, JACK2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wJackFightCount, 2
clearflag ENGINE_JACK
end
@@ -124,7 +140,7 @@
.LoadFight2
loadtrainer SCHOOLBOY, JACK3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wJackFightCount, 3
clearflag ENGINE_JACK
end
@@ -132,7 +148,7 @@
.LoadFight3
loadtrainer SCHOOLBOY, JACK4
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wJackFightCount, 4
clearflag ENGINE_JACK
end
@@ -140,7 +156,7 @@
.LoadFight4
loadtrainer SCHOOLBOY, JACK5
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_JACK
end
@@ -176,11 +192,11 @@
trainer EVENT_BEAT_POKEFANM_WILLIAM, POKEFANM, WILLIAM, PokefanmWilliamSeenText, PokefanmWilliamBeatenText, 0, PokefanmWilliamScript
PokefanmWilliamScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5c645
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokefanfBeverly1:
@@ -188,8 +204,8 @@
PokefanfBeverly1Script:
writecode VAR_CALLERID, PHONE_POKEFAN_BEVERLY
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_BEVERLY_HAS_NUGGET
iftrue UnknownScript_0x5c177
checkcellnum PHONE_POKEFAN_BEVERLY
@@ -199,7 +215,7 @@
checkevent EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x5c160
writetext UnknownText_0x5c5bd
- keeptextopen
+ buttonsound
setevent EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x5c18f
jump UnknownScript_0x5c163
@@ -226,8 +242,8 @@
UnknownScript_0x5c189:
writetext UnknownText_0x5c68a
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x5c18f:
@@ -266,11 +282,11 @@
trainer EVENT_BEAT_LASS_KRISE, LASS, KRISE, LassKriseSeenText, LassKriseBeatenText, 0, LassKriseScript
LassKriseScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5c71d
+ waitbutton
closetext
- loadmovesprites
end
MapNationalParkSignpost0Script:
@@ -282,13 +298,13 @@
MapNationalParkSignpost3Script:
jumptext UnknownText_0x5c7c6
-ItemFragment_0x5c1cc:
- db PARLYZ_HEAL, 1
+NationalParkParlyzHeal:
+ itemball PARLYZ_HEAL
-ItemFragment_0x5c1ce:
- db TM_DIG, 1
+NationalParkTMDig:
+ itemball TM_DIG
-MapNationalParkSignpostItem2:
+NationalParkHiddenFullHeal:
dwb EVENT_NATIONAL_PARK_HIDDEN_FULL_HEAL, FULL_HEAL
@@ -516,7 +532,7 @@
db 4
signpost 44, 14, SIGNPOST_READ, MapNationalParkSignpost0Script
signpost 31, 27, SIGNPOST_READ, MapNationalParkSignpost1Script
- signpost 47, 6, SIGNPOST_ITEM, MapNationalParkSignpostItem2
+ signpost 47, 6, SIGNPOST_ITEM, NationalParkHiddenFullHeal
signpost 4, 12, SIGNPOST_READ, MapNationalParkSignpost3Script
.PersonEvents:
@@ -532,6 +548,6 @@
person_event SPRITE_POKEFAN_F, 29, 18, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 2, TrainerPokefanfBeverly1, -1
person_event SPRITE_POKEFAN_M, 9, 16, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 2, TrainerPokefanmWilliam, -1
person_event SPRITE_LASS, 14, 8, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerLassKrise, -1
- person_event SPRITE_POKE_BALL, 12, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x5c1cc, EVENT_NATIONAL_PARK_PARLYZ_HEAL
+ person_event SPRITE_POKE_BALL, 12, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, NationalParkParlyzHeal, EVENT_NATIONAL_PARK_PARLYZ_HEAL
person_event SPRITE_GAMEBOY_KID, 6, 26, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GameboyKidScript_0x5c037, -1
- person_event SPRITE_POKE_BALL, 43, 1, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x5c1ce, EVENT_NATIONAL_PARK_TM_DIG
+ person_event SPRITE_POKE_BALL, 43, 1, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, NationalParkTMDig, EVENT_NATIONAL_PARK_TM_DIG
--- a/maps/NationalParkBugContest.asm
+++ b/maps/NationalParkBugContest.asm
@@ -1,3 +1,17 @@
+const_value set 2
+ const NATIONALPARKBUGCONTEST_YOUNGSTER1
+ const NATIONALPARKBUGCONTEST_YOUNGSTER2
+ const NATIONALPARKBUGCONTEST_ROCKER
+ const NATIONALPARKBUGCONTEST_POKEFAN_M
+ const NATIONALPARKBUGCONTEST_YOUNGSTER3
+ const NATIONALPARKBUGCONTEST_YOUNGSTER4
+ const NATIONALPARKBUGCONTEST_LASS
+ const NATIONALPARKBUGCONTEST_YOUNGSTER5
+ const NATIONALPARKBUGCONTEST_YOUNGSTER6
+ const NATIONALPARKBUGCONTEST_YOUNGSTER7
+ const NATIONALPARKBUGCONTEST_POKE_BALL1
+ const NATIONALPARKBUGCONTEST_POKE_BALL2
+
NationalParkBugContest_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,82 +21,82 @@
YoungsterScript_0x5c8ec:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5c94c
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x5c8f4:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5c973
+ waitbutton
closetext
- loadmovesprites
end
RockerScript_0x5c8fc:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5c9a3
+ waitbutton
closetext
- loadmovesprites
end
PokefanMScript_0x5c904:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5c9cc
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x5c90c:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5ca15
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x5c914:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5ca52
+ waitbutton
closetext
- loadmovesprites
end
LassScript_0x5c91c:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5ca8f
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x5c924:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5cac8
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x5c92c:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5cb25
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x5c934:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5cb64
+ waitbutton
closetext
- loadmovesprites
end
MapNationalParkBugContestSignpost0Script:
@@ -94,13 +108,13 @@
MapNationalParkBugContestSignpost3Script:
jumptext UnknownText_0x5cc1d
-ItemFragment_0x5c945:
- db PARLYZ_HEAL, 1
+NationalParkBugContestParlyzHeal:
+ itemball PARLYZ_HEAL
-ItemFragment_0x5c947:
- db TM_DIG, 1
+NationalParkBugContestTMDig:
+ itemball TM_DIG
-MapNationalParkBugContestSignpostItem2:
+NationalParkBugContestHiddenFullHeal:
dwb EVENT_NATIONAL_PARK_HIDDEN_FULL_HEAL, FULL_HEAL
@@ -225,7 +239,7 @@
db 4
signpost 44, 14, SIGNPOST_READ, MapNationalParkBugContestSignpost0Script
signpost 31, 27, SIGNPOST_READ, MapNationalParkBugContestSignpost1Script
- signpost 47, 6, SIGNPOST_ITEM, MapNationalParkBugContestSignpostItem2
+ signpost 47, 6, SIGNPOST_ITEM, NationalParkBugContestHiddenFullHeal
signpost 4, 12, SIGNPOST_READ, MapNationalParkBugContestSignpost3Script
.PersonEvents:
@@ -240,5 +254,5 @@
person_event SPRITE_YOUNGSTER, 27, 11, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x5c924, EVENT_BUG_CATCHING_CONTESTANT_8A
person_event SPRITE_YOUNGSTER, 8, 16, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x5c92c, EVENT_BUG_CATCHING_CONTESTANT_9A
person_event SPRITE_YOUNGSTER, 34, 17, SPRITEMOVEDATA_WANDER, 3, 3, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x5c934, EVENT_BUG_CATCHING_CONTESTANT_10A
- person_event SPRITE_POKE_BALL, 12, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x5c945, EVENT_NATIONAL_PARK_PARLYZ_HEAL
- person_event SPRITE_POKE_BALL, 43, 1, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x5c947, EVENT_NATIONAL_PARK_TM_DIG
+ person_event SPRITE_POKE_BALL, 12, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, NationalParkBugContestParlyzHeal, EVENT_NATIONAL_PARK_PARLYZ_HEAL
+ person_event SPRITE_POKE_BALL, 43, 1, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, NationalParkBugContestTMDig, EVENT_NATIONAL_PARK_TM_DIG
--- a/maps/NewBarkTown.asm
+++ b/maps/NewBarkTown.asm
@@ -1,10 +1,15 @@
+const_value set 2
+ const NEWBARKTOWN_TEACHER
+ const NEWBARKTOWN_FISHER
+ const NEWBARKTOWN_SILVER
+
NewBarkTown_MapScriptHeader:
.MapTriggers:
db 2
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
- dw .Trigger2, 0
.MapCallbacks:
db 1
@@ -12,10 +17,10 @@
; callbacks
dbw 5, .FlyPoint
-.Trigger1
+.Trigger0
end
-.Trigger2
+.Trigger1
end
.FlyPoint
@@ -23,122 +28,122 @@
clearevent EVENT_FIRST_TIME_BANKING_WITH_MOM
return
-UnknownScript_0x1a8016:
+NewBarkTown_TeacherStopsYouTrigger1:
playmusic MUSIC_MOM
- spriteface $2, LEFT
- loadfont
- writetext UnknownText_0x1a8134
+ spriteface NEWBARKTOWN_TEACHER, LEFT
+ opentext
+ writetext Text_WaitPlayer
+ waitbutton
closetext
- loadmovesprites
spriteface PLAYER, RIGHT
- applymovement $2, MovementData_0x1a80d4
- loadfont
- writetext UnknownText_0x1a813e
+ applymovement NEWBARKTOWN_TEACHER, Movement_TeacherRunsToYou1_NBT
+ opentext
+ writetext Text_WhatDoYouThinkYoureDoing
+ waitbutton
closetext
- loadmovesprites
- follow $2, PLAYER
- applymovement $2, MovementData_0x1a80e0
+ follow NEWBARKTOWN_TEACHER, PLAYER
+ applymovement NEWBARKTOWN_TEACHER, Movement_TeacherBringsYouBack1_NBT
stopfollow
- loadfont
- writetext UnknownText_0x1a815e
+ opentext
+ writetext Text_ItsDangerousToGoAlone
+ waitbutton
closetext
- loadmovesprites
special RestartMapMusic
end
-UnknownScript_0x1a8041:
+NewBarkTown_TeacherStopsYouTrigger2:
playmusic MUSIC_MOM
- spriteface $2, LEFT
- loadfont
- writetext UnknownText_0x1a8134
+ spriteface NEWBARKTOWN_TEACHER, LEFT
+ opentext
+ writetext Text_WaitPlayer
+ waitbutton
closetext
- loadmovesprites
spriteface PLAYER, RIGHT
- applymovement $2, MovementData_0x1a80d9
+ applymovement NEWBARKTOWN_TEACHER, Movement_TeacherRunsToYou2_NBT
spriteface PLAYER, UP
- loadfont
- writetext UnknownText_0x1a813e
+ opentext
+ writetext Text_WhatDoYouThinkYoureDoing
+ waitbutton
closetext
- loadmovesprites
- follow $2, PLAYER
- applymovement $2, MovementData_0x1a80e6
+ follow NEWBARKTOWN_TEACHER, PLAYER
+ applymovement NEWBARKTOWN_TEACHER, Movement_TeacherBringsYouBack2_NBT
stopfollow
- loadfont
- writetext UnknownText_0x1a815e
+ opentext
+ writetext Text_ItsDangerousToGoAlone
+ waitbutton
closetext
- loadmovesprites
special RestartMapMusic
end
-TeacherScript_0x1a806f:
+NewBarkTownTeacherScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST
- iftrue UnknownScript_0x1a8095
+ iftrue .CallMom
checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
- iftrue UnknownScript_0x1a808f
+ iftrue .TellMomYoureLeaving
checkevent EVENT_GOT_A_POKEMON_FROM_ELM
- iftrue UnknownScript_0x1a8089
- writetext UnknownText_0x1a80f7
+ iftrue .MonIsAdorable
+ writetext Text_GearIsImpressive
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1a8089:
- writetext UnknownText_0x1a81c4
+.MonIsAdorable:
+ writetext Text_YourMonIsAdorable
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1a808f:
- writetext UnknownText_0x1a81f2
+.TellMomYoureLeaving:
+ writetext Text_TellMomIfLeaving
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1a8095:
- writetext UnknownText_0x1a8236
+.CallMom:
+ writetext Text_CallMomOnGear
+ waitbutton
closetext
- loadmovesprites
end
-FisherScript_0x1a809b:
- jumptextfaceplayer UnknownText_0x1a8274
+NewBarkTownFisherScript:
+ jumptextfaceplayer Text_ElmDiscoveredNewMon
-SilverScript_0x1a809e:
- loadfont
- writetext UnknownText_0x1a82a6
+NewBarkTownSilverScript:
+ opentext
+ writetext NewBarkTownRivalText1
+ waitbutton
closetext
- loadmovesprites
- spriteface $4, LEFT
- loadfont
- writetext UnknownText_0x1a82cd
+ spriteface NEWBARKTOWN_SILVER, LEFT
+ opentext
+ writetext NewBarkTownRivalText2
+ waitbutton
closetext
- loadmovesprites
- follow PLAYER, $4
- applymovement PLAYER, MovementData_0x1a80ed
+ follow PLAYER, NEWBARKTOWN_SILVER
+ applymovement PLAYER, Movement_SilverPushesYouAway_NBT
stopfollow
pause 5
- spriteface $4, DOWN
+ spriteface NEWBARKTOWN_SILVER, DOWN
pause 5
playsound SFX_TACKLE
- applymovement PLAYER, MovementData_0x1a80f0
- applymovement $4, MovementData_0x1a80f5
+ applymovement PLAYER, Movement_SilverShovesYouOut_NBT
+ applymovement NEWBARKTOWN_SILVER, Movement_SilverReturnsToTheShadows_NBT
end
MapNewBarkTownSignpost0Script:
- jumptext UnknownText_0x1a82e8
+ jumptext NewBarkTownSignText
MapNewBarkTownSignpost1Script:
- jumptext UnknownText_0x1a8328
+ jumptext PlayersHouseSignText
MapNewBarkTownSignpost2Script:
- jumptext UnknownText_0x1a8332
+ jumptext ElmsLabSignText
MapNewBarkTownSignpost3Script:
- jumptext UnknownText_0x1a8340
+ jumptext ElmsHouseSignText
-MovementData_0x1a80d4:
+Movement_TeacherRunsToYou1_NBT:
step_left
step_left
step_left
@@ -145,7 +150,7 @@
step_left
step_end
-MovementData_0x1a80d9:
+Movement_TeacherRunsToYou2_NBT:
step_left
step_left
step_left
@@ -154,7 +159,7 @@
turn_head_down
step_end
-MovementData_0x1a80e0:
+Movement_TeacherBringsYouBack1_NBT:
step_right
step_right
step_right
@@ -162,7 +167,7 @@
turn_head_left
step_end
-MovementData_0x1a80e6:
+Movement_TeacherBringsYouBack2_NBT:
step_right
step_right
step_right
@@ -171,12 +176,12 @@
turn_head_left
step_end
-MovementData_0x1a80ed:
+Movement_SilverPushesYouAway_NBT:
turn_head_up
step_down
step_end
-MovementData_0x1a80f0:
+Movement_SilverShovesYouOut_NBT:
turn_head_up
fix_facing
jump_step_down
@@ -183,11 +188,11 @@
remove_fixed_facing
step_end
-MovementData_0x1a80f5:
+Movement_SilverReturnsToTheShadows_NBT:
step_right
step_end
-UnknownText_0x1a80f7:
+Text_GearIsImpressive:
text "Wow, your #GEAR"
line "is impressive!"
@@ -195,16 +200,16 @@
line "it for you?"
done
-UnknownText_0x1a8134:
+Text_WaitPlayer:
text "Wait, <PLAY_G>!"
done
-UnknownText_0x1a813e:
+Text_WhatDoYouThinkYoureDoing:
text "What do you think"
line "you're doing?"
done
-UnknownText_0x1a815e:
+Text_ItsDangerousToGoAlone:
text "It's dangerous to"
line "go out without a"
cont "#MON!"
@@ -216,13 +221,13 @@
line "to the next town."
done
-UnknownText_0x1a81c4:
+Text_YourMonIsAdorable:
text "Oh! Your #MON"
line "is adorable!"
cont "I wish I had one!"
done
-UnknownText_0x1a81f2:
+Text_TellMomIfLeaving:
text "Hi, <PLAY_G>!"
line "Leaving again?"
@@ -231,7 +236,7 @@
cont "are leaving."
done
-UnknownText_0x1a8236:
+Text_CallMomOnGear:
text "Call your mom on"
line "your #GEAR to"
@@ -239,7 +244,7 @@
line "you're doing."
done
-UnknownText_0x1a8274:
+Text_ElmDiscoveredNewMon:
text "Yo, <PLAYER>!"
para "I hear PROF.ELM"
@@ -247,8 +252,8 @@
cont "new #MON."
done
-UnknownText_0x1a82a6:
- text $56
+NewBarkTownRivalText1:
+ text "<......>"
para "So this is the"
line "famous ELM #MON"
@@ -255,12 +260,12 @@
cont "LAB…"
done
-UnknownText_0x1a82cd:
+NewBarkTownRivalText2:
text "…What are you"
line "staring at?"
done
-UnknownText_0x1a82e8:
+NewBarkTownSignText:
text "NEW BARK TOWN"
para "The Town Where the"
@@ -268,15 +273,15 @@
cont "Beginning Blow"
done
-UnknownText_0x1a8328:
+PlayersHouseSignText:
text "<PLAYER>'s House"
done
-UnknownText_0x1a8332:
+ElmsLabSignText:
text "ELM #MON LAB"
done
-UnknownText_0x1a8340:
+ElmsHouseSignText:
text "ELM'S HOUSE"
done
@@ -293,8 +298,8 @@
.XYTriggers:
db 2
- xy_trigger 0, $8, $1, $0, UnknownScript_0x1a8016, $0, $0
- xy_trigger 0, $9, $1, $0, UnknownScript_0x1a8041, $0, $0
+ xy_trigger 0, $8, $1, $0, NewBarkTown_TeacherStopsYouTrigger1, $0, $0
+ xy_trigger 0, $9, $1, $0, NewBarkTown_TeacherStopsYouTrigger2, $0, $0
.Signposts:
db 4
@@ -305,6 +310,6 @@
.PersonEvents:
db 3
- person_event SPRITE_TEACHER, 8, 6, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeacherScript_0x1a806f, -1
- person_event SPRITE_FISHER, 9, 12, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, FisherScript_0x1a809b, -1
- person_event SPRITE_SILVER, 2, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SilverScript_0x1a809e, EVENT_RIVAL_NEW_BARK_TOWN
+ person_event SPRITE_TEACHER, 8, 6, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NewBarkTownTeacherScript, -1
+ person_event SPRITE_FISHER, 9, 12, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, NewBarkTownFisherScript, -1
+ person_event SPRITE_SILVER, 2, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NewBarkTownSilverScript, EVENT_RIVAL_NEW_BARK_TOWN
--- a/maps/OaksLab.asm
+++ b/maps/OaksLab.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const OAKSLAB_OAK
+ const OAKSLAB_SCIENTIST1
+ const OAKSLAB_SCIENTIST2
+ const OAKSLAB_SCIENTIST3
+
OaksLab_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,58 +11,58 @@
.MapCallbacks:
db 0
-UnknownScript_0x19b3c7:
+.DummyTrigger:
end
Oak:
faceplayer
- loadfont
+ opentext
checkevent EVENT_OPENED_MT_SILVER
iftrue .CheckPokedex
checkevent EVENT_TALKED_TO_OAK_IN_KANTO
iftrue .CheckBadges
writetext OakWelcomeKantoText
- keeptextopen
+ buttonsound
setevent EVENT_TALKED_TO_OAK_IN_KANTO
.CheckBadges
checkcode VAR_BADGES
if_equal 16, .OpenMtSilver
- if_equal 8, .Complain
+ if_equal 8, .Complain
jump .AhGood
.CheckPokedex
writetext OakLabDexCheckText
- closetext
+ waitbutton
special ProfOaksPCBoot
writetext OakLabGoodbyeText
+ waitbutton
closetext
- loadmovesprites
end
.OpenMtSilver
writetext OakOpenMtSilverText
- keeptextopen
+ buttonsound
setevent EVENT_OPENED_MT_SILVER
jump .CheckPokedex
.Complain
writetext OakNoKantoBadgesText
- keeptextopen
+ buttonsound
jump .CheckPokedex
.AhGood
writetext OakYesKantoBadgesText
- keeptextopen
+ buttonsound
jump .CheckPokedex
-ScientistScript_0x19b40f:
- jumptextfaceplayer UnknownText_0x19b7fb
+OaksAssistant1Script:
+ jumptextfaceplayer OaksAssistant1Text
-ScientistScript_0x19b412:
- jumptextfaceplayer UnknownText_0x19b859
+OaksAssistant2Script:
+ jumptextfaceplayer OaksAssistant2Text
-ScientistScript_0x19b415:
- jumptextfaceplayer UnknownText_0x19b8a7
+OaksAssistant3Script:
+ jumptextfaceplayer OaksAssistant3Text
OaksLabBookshelf:
jumpstd difficultbookshelf
@@ -178,7 +184,7 @@
line "<PLAY_G>!"
done
-UnknownText_0x19b7fb:
+OaksAssistant1Text:
text "The PROF's #MON"
line "TALK radio program"
@@ -189,7 +195,7 @@
line "like to hear it."
done
-UnknownText_0x19b859:
+OaksAssistant2Text:
text "Thanks to your"
line "work on the #-"
cont "DEX, the PROF's"
@@ -198,7 +204,7 @@
line "along great."
done
-UnknownText_0x19b8a7:
+OaksAssistant3Text:
text "Don't tell anyone,"
line "but PROF.OAK'S"
@@ -284,6 +290,6 @@
.PersonEvents:
db 4
person_event SPRITE_OAK, 2, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Oak, -1
- person_event SPRITE_SCIENTIST, 8, 1, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, ScientistScript_0x19b40f, -1
- person_event SPRITE_SCIENTIST, 9, 8, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, ScientistScript_0x19b412, -1
- person_event SPRITE_SCIENTIST, 4, 1, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, ScientistScript_0x19b415, -1
+ person_event SPRITE_SCIENTIST, 8, 1, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, OaksAssistant1Script, -1
+ person_event SPRITE_SCIENTIST, 9, 8, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, OaksAssistant2Script, -1
+ person_event SPRITE_SCIENTIST, 4, 1, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, OaksAssistant3Script, -1
--- a/maps/OlivineCafe.asm
+++ b/maps/OlivineCafe.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const OLIVINECAFE_SAILOR1
+ const OLIVINECAFE_FISHING_GURU
+ const OLIVINECAFE_SAILOR2
+
OlivineCafe_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,17 +12,17 @@
SailorScript_0x9c8c1:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_HM04_STRENGTH
iftrue UnknownScript_0x9c8d3
writetext UnknownText_0x9c8df
- keeptextopen
+ buttonsound
verbosegiveitem HM_STRENGTH
setevent EVENT_GOT_HM04_STRENGTH
UnknownScript_0x9c8d3:
writetext UnknownText_0x9c965
+ waitbutton
closetext
- loadmovesprites
end
FishingGuruScript_0x9c8d9:
--- a/maps/OlivineCity.asm
+++ b/maps/OlivineCity.asm
@@ -1,10 +1,16 @@
+const_value set 2
+ const OLIVINECITY_SAILOR1
+ const OLIVINECITY_STANDING_YOUNGSTER
+ const OLIVINECITY_SAILOR2
+ const OLIVINECITY_OLIVINE_RIVAL
+
OlivineCity_MapScriptHeader:
.MapTriggers:
db 2
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
- dw .Trigger2, 0
.MapCallbacks:
db 1
@@ -12,10 +18,10 @@
; callbacks
dbw 5, .FlyPoint
-.Trigger1
+.Trigger0
end
-.Trigger2
+.Trigger1
end
.FlyPoint
@@ -25,22 +31,22 @@
UnknownScript_0x1a8833:
spriteface PLAYER, LEFT
showemote EMOTE_SHOCK, PLAYER, 15
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 15
playsound SFX_ENTER_DOOR
- appear $5
- waitbutton
- applymovement $5, MovementData_0x1a88d2
+ appear OLIVINECITY_OLIVINE_RIVAL
+ waitsfx
+ applymovement OLIVINECITY_OLIVINE_RIVAL, MovementData_0x1a88d2
playmusic MUSIC_RIVAL_ENCOUNTER
- loadfont
+ opentext
writetext UnknownText_0x1a88fa
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x1a88f4
spriteface PLAYER, RIGHT
- applymovement $5, MovementData_0x1a88db
+ applymovement OLIVINECITY_OLIVINE_RIVAL, MovementData_0x1a88db
dotrigger $1
- disappear $5
+ disappear OLIVINECITY_OLIVINE_RIVAL
special RestartMapMusic
variablesprite SPRITE_OLIVINE_RIVAL, SPRITE_SWIMMER_GUY
special RunCallback_04
@@ -49,21 +55,21 @@
UnknownScript_0x1a886b:
spriteface PLAYER, LEFT
showemote EMOTE_SHOCK, PLAYER, 15
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 15
playsound SFX_ENTER_DOOR
- appear $5
- waitbutton
- applymovement $5, MovementData_0x1a88d6
+ appear OLIVINECITY_OLIVINE_RIVAL
+ waitsfx
+ applymovement OLIVINECITY_OLIVINE_RIVAL, MovementData_0x1a88d6
playmusic MUSIC_RIVAL_ENCOUNTER
- loadfont
+ opentext
writetext UnknownText_0x1a88fa
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x1a88f7
spriteface PLAYER, RIGHT
- applymovement $5, MovementData_0x1a88e8
- disappear $5
+ applymovement OLIVINECITY_OLIVINE_RIVAL, MovementData_0x1a88e8
+ disappear OLIVINECITY_OLIVINE_RIVAL
dotrigger $1
special RestartMapMusic
variablesprite SPRITE_OLIVINE_RIVAL, SPRITE_SWIMMER_GUY
@@ -75,18 +81,18 @@
StandingYoungsterScript_0x1a88a6:
faceplayer
- loadfont
+ opentext
random $2
if_equal $0, UnknownScript_0x1a88b4
writetext UnknownText_0x1a8b04
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x1a88b4:
writetext UnknownText_0x1a8b41
+ waitbutton
closetext
- loadmovesprites
end
SailorScript_0x1a88ba:
--- a/maps/OlivineGoodRodHouse.asm
+++ b/maps/OlivineGoodRodHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const OLIVINEGOODRODHOUSE_FISHING_GURU
+
OlivineGoodRodHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,7 +10,7 @@
GoodRodGuru:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_GOOD_ROD
iftrue .AlreadyGotItem
writetext OfferGoodRodText
@@ -14,24 +17,24 @@
yesorno
iffalse .DontWantIt
writetext GiveGoodRodText
- keeptextopen
+ buttonsound
verbosegiveitem GOOD_ROD
writetext GaveGoodRodText
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_GOT_GOOD_ROD
end
.DontWantIt
writetext DontWantGoodRodText
+ waitbutton
closetext
- loadmovesprites
end
.AlreadyGotItem
writetext HaveGoodRodText
+ waitbutton
closetext
- loadmovesprites
end
GoodRodHouseBookshelf:
--- a/maps/OlivineGym.asm
+++ b/maps/OlivineGym.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const OLIVINEGYM_JASMINE
+ const OLIVINEGYM_GYM_GUY
+
OlivineGym_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,21 +11,21 @@
JasmineScript_0x9c12f:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_JASMINE
iftrue .FightDone
writetext UnknownText_0x9c1b9
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x9c2bb, 0
loadtrainer JASMINE, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_JASMINE
- loadfont
+ opentext
writetext UnknownText_0x9c33a
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_MINERALBADGE
checkcode VAR_BADGES
scall OlivineGymTriggerRockets
@@ -29,20 +33,20 @@
checkevent EVENT_GOT_TM23_IRON_TAIL
iftrue UnknownScript_0x9c172
writetext UnknownText_0x9c354
- keeptextopen
+ buttonsound
verbosegiveitem TM_IRON_TAIL
iffalse UnknownScript_0x9c176
setevent EVENT_GOT_TM23_IRON_TAIL
writetext UnknownText_0x9c3a5
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x9c172:
writetext UnknownText_0x9c3d1
- closetext
+ waitbutton
UnknownScript_0x9c176:
- loadmovesprites
+ closetext
end
OlivineGymTriggerRockets:
@@ -62,24 +66,24 @@
iftrue .OlivineGymGuyWinScript
checkevent EVENT_JASMINE_RETURNED_TO_GYM
iffalse .OlivineGymGuyPreScript
- loadfont
+ opentext
writetext OlivineGymGuyText
+ waitbutton
closetext
- loadmovesprites
end
.OlivineGymGuyWinScript
- loadfont
+ opentext
writetext OlivineGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
end
.OlivineGymGuyPreScript
- loadfont
+ opentext
writetext OlivineGymGuyPreText
+ waitbutton
closetext
- loadmovesprites
end
OlivineGymStatue:
--- a/maps/OlivineHouseBeta.asm
+++ b/maps/OlivineHouseBeta.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const OLIVINEHOUSEBETA_TEACHER
+ const OLIVINEHOUSEBETA_RHYDON
+
OlivineHouseBeta_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +13,11 @@
jumptextfaceplayer UnknownText_0x9c5a2
RhydonScript_0x9c592:
- loadfont
+ opentext
writetext UnknownText_0x9c5f0
cry RHYDON
+ waitbutton
closetext
- loadmovesprites
end
OlivineHouseBetaBookshelf1:
--- a/maps/OlivineLighthouse1F.asm
+++ b/maps/OlivineLighthouse1F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const OLIVINELIGHTHOUSE1F_SAILOR
+ const OLIVINELIGHTHOUSE1F_POKEFAN_F
+
OlivineLighthouse1F_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/OlivineLighthouse2F.asm
+++ b/maps/OlivineLighthouse2F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const OLIVINELIGHTHOUSE2F_SAILOR
+ const OLIVINELIGHTHOUSE2F_GENTLEMAN
+
OlivineLighthouse2F_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +13,11 @@
trainer EVENT_BEAT_GENTLEMAN_ALFRED, GENTLEMAN, ALFRED, GentlemanAlfredSeenText, GentlemanAlfredBeatenText, 0, GentlemanAlfredScript
GentlemanAlfredScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5b13e
+ waitbutton
closetext
- loadmovesprites
end
TrainerSailorHuey1:
@@ -21,8 +25,8 @@
SailorHuey1Script:
writecode VAR_CALLERID, PHONE_SAILOR_HUEY
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_HUEY
iftrue UnknownScript_0x5afc7
checkcellnum PHONE_SAILOR_HUEY
@@ -63,7 +67,7 @@
.LoadFight0
loadtrainer SAILOR, HUEY1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wHueyFightCount, 1
clearflag ENGINE_HUEY
end
@@ -71,7 +75,7 @@
.LoadFight1
loadtrainer SAILOR, HUEY2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wHueyFightCount, 2
clearflag ENGINE_HUEY
end
@@ -79,7 +83,7 @@
.LoadFight2
loadtrainer SAILOR, HUEY3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wHueyFightCount, 3
clearflag ENGINE_HUEY
end
@@ -87,7 +91,7 @@
.LoadFight3
loadtrainer SAILOR, HUEY4
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_HUEY
checkevent EVENT_HUEY_PROTEIN
iftrue UnknownScript_0x5b03f
@@ -103,9 +107,9 @@
end
UnknownScript_0x5b03f:
- loadfont
+ opentext
writetext UnknownText_0x5b1b6
- closetext
+ waitbutton
verbosegiveitem PROTEIN
iffalse UnknownScript_0x5b06f
clearevent EVENT_HUEY_PROTEIN
--- a/maps/OlivineLighthouse3F.asm
+++ b/maps/OlivineLighthouse3F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const OLIVINELIGHTHOUSE3F_SAILOR
+ const OLIVINELIGHTHOUSE3F_GENTLEMAN
+ const OLIVINELIGHTHOUSE3F_YOUNGSTER
+ const OLIVINELIGHTHOUSE3F_POKE_BALL
+
OlivineLighthouse3F_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +15,11 @@
trainer EVENT_BEAT_BIRD_KEEPER_THEO, BIRD_KEEPER, THEO, Bird_keeperTheoSeenText, Bird_keeperTheoBeatenText, 0, Bird_keeperTheoScript
Bird_keeperTheoScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5b2df
+ waitbutton
closetext
- loadmovesprites
end
TrainerGentlemanPreston:
@@ -20,11 +26,11 @@
trainer EVENT_BEAT_GENTLEMAN_PRESTON, GENTLEMAN, PRESTON, GentlemanPrestonSeenText, GentlemanPrestonBeatenText, 0, GentlemanPrestonScript
GentlemanPrestonScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5b457
+ waitbutton
closetext
- loadmovesprites
end
TrainerSailorTerrell:
@@ -31,15 +37,15 @@
trainer EVENT_BEAT_SAILOR_TERRELL, SAILOR, TERRELL, SailorTerrellSeenText, SailorTerrellBeatenText, 0, SailorTerrellScript
SailorTerrellScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5b384
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x5b279:
- db ETHER, 1
+OlivineLighthouse3FEther:
+ itemball ETHER
Bird_keeperTheoSeenText:
text "Why are you here?"
@@ -133,4 +139,4 @@
person_event SPRITE_SAILOR, 2, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 1, TrainerSailorTerrell, -1
person_event SPRITE_GENTLEMAN, 5, 13, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 4, TrainerGentlemanPreston, -1
person_event SPRITE_YOUNGSTER, 9, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerBird_keeperTheo, -1
- person_event SPRITE_POKE_BALL, 2, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x5b279, EVENT_OLIVINE_LIGHTHOUSE_3F_ETHER
+ person_event SPRITE_POKE_BALL, 2, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, OlivineLighthouse3FEther, EVENT_OLIVINE_LIGHTHOUSE_3F_ETHER
--- a/maps/OlivineLighthouse4F.asm
+++ b/maps/OlivineLighthouse4F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const OLIVINELIGHTHOUSE4F_SAILOR
+ const OLIVINELIGHTHOUSE4F_LASS
+
OlivineLighthouse4F_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +13,11 @@
trainer EVENT_BEAT_LASS_CONNIE, LASS, CONNIE1, LassConnie1SeenText, LassConnie1BeatenText, 0, LassConnie1Script
LassConnie1Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5b63c
+ waitbutton
closetext
- loadmovesprites
end
TrainerSailorKent:
@@ -20,11 +24,11 @@
trainer EVENT_BEAT_SAILOR_KENT, SAILOR, KENT, SailorKentSeenText, SailorKentBeatenText, 0, SailorKentScript
SailorKentScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5b584
+ waitbutton
closetext
- loadmovesprites
end
SailorKentSeenText:
--- a/maps/OlivineLighthouse5F.asm
+++ b/maps/OlivineLighthouse5F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const OLIVINELIGHTHOUSE5F_SAILOR
+ const OLIVINELIGHTHOUSE5F_YOUNGSTER
+ const OLIVINELIGHTHOUSE5F_POKE_BALL1
+ const OLIVINELIGHTHOUSE5F_POKE_BALL2
+ const OLIVINELIGHTHOUSE5F_POKE_BALL3
+
OlivineLighthouse5F_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +16,11 @@
trainer EVENT_BEAT_BIRD_KEEPER_DENIS, BIRD_KEEPER, DENIS, Bird_keeperDenisSeenText, Bird_keeperDenisBeatenText, 0, Bird_keeperDenisScript
Bird_keeperDenisScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x60ac3
+ waitbutton
closetext
- loadmovesprites
end
TrainerSailorErnest:
@@ -20,23 +27,23 @@
trainer EVENT_BEAT_SAILOR_ERNEST, SAILOR, ERNEST, SailorErnestSeenText, SailorErnestBeatenText, 0, SailorErnestScript
SailorErnestScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x60a1f
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x609aa:
- db RARE_CANDY, 1
+OlivineLighthouse5FRareCandy:
+ itemball RARE_CANDY
-ItemFragment_0x609ac:
- db SUPER_REPEL, 1
+OlivineLighthouse5FSuperRepel:
+ itemball SUPER_REPEL
-ItemFragment_0x609ae:
- db TM_SWAGGER, 1
+OlivineLighthouse5FTMSwagger:
+ itemball TM_SWAGGER
-MapOlivineLighthouse5FSignpostItem0:
+OlivineLighthouse5FHiddenHyperPotion:
dwb EVENT_OLIVINE_LIGHTHOUSE_5F_HIDDEN_HYPER_POTION, HYPER_POTION
@@ -103,12 +110,12 @@
.Signposts:
db 1
- signpost 13, 3, SIGNPOST_ITEM, MapOlivineLighthouse5FSignpostItem0
+ signpost 13, 3, SIGNPOST_ITEM, OlivineLighthouse5FHiddenHyperPotion
.PersonEvents:
db 5
person_event SPRITE_SAILOR, 11, 8, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerSailorErnest, -1
person_event SPRITE_YOUNGSTER, 3, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 4, TrainerBird_keeperDenis, -1
- person_event SPRITE_POKE_BALL, 12, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x609aa, EVENT_OLIVINE_LIGHTHOUSE_5F_RARE_CANDY
- person_event SPRITE_POKE_BALL, 15, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x609ac, EVENT_OLIVINE_LIGHTHOUSE_5F_SUPER_REPEL
- person_event SPRITE_POKE_BALL, 13, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x609ae, EVENT_OLIVINE_LIGHTHOUSE_5F_TM_SWAGGER
+ person_event SPRITE_POKE_BALL, 12, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, OlivineLighthouse5FRareCandy, EVENT_OLIVINE_LIGHTHOUSE_5F_RARE_CANDY
+ person_event SPRITE_POKE_BALL, 15, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, OlivineLighthouse5FSuperRepel, EVENT_OLIVINE_LIGHTHOUSE_5F_SUPER_REPEL
+ person_event SPRITE_POKE_BALL, 13, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, OlivineLighthouse5FTMSwagger, EVENT_OLIVINE_LIGHTHOUSE_5F_TM_SWAGGER
--- a/maps/OlivineLighthouse6F.asm
+++ b/maps/OlivineLighthouse6F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const OLIVINELIGHTHOUSE6F_JASMINE
+ const OLIVINELIGHTHOUSE6F_MONSTER
+ const OLIVINELIGHTHOUSE6F_POKE_BALL
+
OlivineLighthouse6F_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,18 +12,18 @@
JasmineScript_0x60b91:
faceplayer
- loadfont
+ opentext
checkitem SECRETPOTION
iftrue UnknownScript_0x60bab
checkevent EVENT_JASMINE_EXPLAINED_AMPHYS_SICKNESS
iftrue UnknownScript_0x60ba5
writetext UnknownText_0x60c81
- keeptextopen
+ buttonsound
setevent EVENT_JASMINE_EXPLAINED_AMPHYS_SICKNESS
UnknownScript_0x60ba5:
writetext UnknownText_0x60d64
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x60bab:
@@ -26,72 +31,72 @@
yesorno
iffalse UnknownScript_0x60c25
writetext UnknownText_0x60dc3
- keeptextopen
+ buttonsound
takeitem SECRETPOTION
writetext UnknownText_0x60dea
+ waitbutton
closetext
- loadmovesprites
- spriteface $2, RIGHT
+ spriteface OLIVINELIGHTHOUSE6F_JASMINE, RIGHT
pause 15
- spriteface $3, LEFT
- loadfont
+ spriteface OLIVINELIGHTHOUSE6F_MONSTER, LEFT
+ opentext
playmusic MUSIC_HEAL
writetext UnknownText_0x60e44
pause 60
- keeptextopen
- loadmovesprites
+ buttonsound
+ closetext
special RestartMapMusic
cry AMPHAROS
special FadeOutPalettes
pause 10
special FadeInPalettes
- loadfont
+ opentext
writetext UnknownText_0x60f3d
+ waitbutton
closetext
- loadmovesprites
- spriteface $3, RIGHT
+ spriteface OLIVINELIGHTHOUSE6F_MONSTER, RIGHT
pause 10
- spriteface $3, LEFT
+ spriteface OLIVINELIGHTHOUSE6F_MONSTER, LEFT
pause 10
- spriteface $3, RIGHT
+ spriteface OLIVINELIGHTHOUSE6F_MONSTER, RIGHT
pause 10
- spriteface $3, LEFT
+ spriteface OLIVINELIGHTHOUSE6F_MONSTER, LEFT
pause 10
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x60e6c
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_JASMINE_RETURNED_TO_GYM
clearevent EVENT_OLIVINE_GYM_JASMINE
checkcode VAR_FACING
- if_equal $0, UnknownScript_0x60c17
- if_equal $3, UnknownScript_0x60c1e
- applymovement $2, MovementData_0x60c68
- disappear $2
+ if_equal DOWN, UnknownScript_0x60c17
+ if_equal RIGHT, UnknownScript_0x60c1e
+ applymovement OLIVINELIGHTHOUSE6F_JASMINE, MovementData_0x60c68
+ disappear OLIVINELIGHTHOUSE6F_JASMINE
end
UnknownScript_0x60c17:
- applymovement $2, MovementData_0x60c70
- disappear $2
+ applymovement OLIVINELIGHTHOUSE6F_JASMINE, MovementData_0x60c70
+ disappear OLIVINELIGHTHOUSE6F_JASMINE
end
UnknownScript_0x60c1e:
- applymovement $2, MovementData_0x60c79
- disappear $2
+ applymovement OLIVINELIGHTHOUSE6F_JASMINE, MovementData_0x60c79
+ disappear OLIVINELIGHTHOUSE6F_JASMINE
end
UnknownScript_0x60c25:
writetext UnknownText_0x60edf
+ waitbutton
closetext
- loadmovesprites
- spriteface $2, RIGHT
+ spriteface OLIVINELIGHTHOUSE6F_JASMINE, RIGHT
pause 15
- spriteface $3, LEFT
- loadfont
+ spriteface OLIVINELIGHTHOUSE6F_MONSTER, LEFT
+ opentext
writetext UnknownText_0x60ef1
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x60c39:
@@ -99,23 +104,23 @@
MonsterScript_0x60c3a:
faceplayer
- loadfont
+ opentext
checkevent EVENT_JASMINE_RETURNED_TO_GYM
iftrue UnknownScript_0x60c51
writetext UnknownText_0x60f03
writebyte AMPHAROS
special PlaySlowCry
- keeptextopen
+ buttonsound
writetext UnknownText_0x60f19
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x60c51:
writetext UnknownText_0x60f3d
cry AMPHAROS
+ waitbutton
closetext
- loadmovesprites
special FadeOutPalettes
special FadeInPalettes
special FadeOutPalettes
@@ -122,8 +127,8 @@
special FadeInPalettes
end
-ItemFragment_0x60c66:
- db SUPER_POTION, 1
+OlivineLighthouse6FSuperPotion:
+ itemball SUPER_POTION
MovementData_0x60c68:
slow_step_up
@@ -272,4 +277,4 @@
db 3
person_event SPRITE_JASMINE, 8, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, JasmineScript_0x60b91, EVENT_OLIVINE_LIGHTHOUSE_JASMINE
person_event SPRITE_MONSTER, 8, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_SCRIPT, 0, MonsterScript_0x60c3a, -1
- person_event SPRITE_POKE_BALL, 4, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x60c66, EVENT_OLIVINE_LIGHTHOUSE_6F_SUPER_POTION
+ person_event SPRITE_POKE_BALL, 4, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, OlivineLighthouse6FSuperPotion, EVENT_OLIVINE_LIGHTHOUSE_6F_SUPER_POTION
--- a/maps/OlivineMart.asm
+++ b/maps/OlivineMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const OLIVINEMART_CLERK
+ const OLIVINEMART_COOLTRAINER_F
+ const OLIVINEMART_LASS
+
OlivineMart_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,9 +11,9 @@
db 0
ClerkScript_0x9cac7:
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_OLIVINE
- loadmovesprites
+ closetext
end
CooltrainerFScript_0x9cace:
--- a/maps/OlivinePokeCenter1F.asm
+++ b/maps/OlivinePokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const OLIVINEPOKECENTER1F_NURSE
+ const OLIVINEPOKECENTER1F_FISHING_GURU
+ const OLIVINEPOKECENTER1F_FISHER
+ const OLIVINEPOKECENTER1F_TEACHER
+
OlivinePokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/OlivinePort.asm
+++ b/maps/OlivinePort.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const OLIVINEPORT_SAILOR1
+ const OLIVINEPORT_SAILOR2
+ const OLIVINEPORT_SAILOR3
+ const OLIVINEPORT_FISHING_GURU1
+ const OLIVINEPORT_FISHING_GURU2
+ const OLIVINEPORT_YOUNGSTER
+ const OLIVINEPORT_COOLTRAINER_F
+
OlivinePort_MapScriptHeader:
.MapTriggers:
db 2
@@ -18,7 +27,7 @@
UnknownScript_0x748b1:
applymovement PLAYER, MovementData_0x74a32
- appear $2
+ appear OLIVINEPORT_SAILOR1
dotrigger $0
setevent EVENT_GAVE_KURT_APRICORNS
blackoutmod OLIVINE_CITY
@@ -26,21 +35,21 @@
SailorScript_0x748c0:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iftrue UnknownScript_0x74919
writetext UnknownText_0x74a55
+ waitbutton
closetext
- loadmovesprites
- spriteface $2, DOWN
+ spriteface OLIVINEPORT_SAILOR1, DOWN
pause 10
playsound SFX_EXIT_BUILDING
- disappear $2
- waitbutton
+ disappear OLIVINEPORT_SAILOR1
+ waitsfx
applymovement PLAYER, MovementData_0x74a30
playsound SFX_EXIT_BUILDING
special FadeOutPalettes
- waitbutton
+ waitsfx
checkevent EVENT_FAST_SHIP_FIRST_TIME
iffalse UnknownScript_0x7490a
clearevent EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
@@ -56,7 +65,7 @@
clearevent EVENT_BEAT_BLACKBELT_WAI
UnknownScript_0x7490a:
clearevent EVENT_FAST_SHIP_DESTINATION_OLIVINE
- appear $2
+ appear OLIVINEPORT_SAILOR1
domaptrigger FAST_SHIP_1F, $1
warp FAST_SHIP_1F, $19, $1
end
@@ -63,18 +72,18 @@
UnknownScript_0x74919:
writetext UnknownText_0x74a80
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x7491f:
- spriteface $4, RIGHT
+ spriteface OLIVINEPORT_SAILOR3, RIGHT
checkevent EVENT_GAVE_KURT_APRICORNS
iftrue UnknownScript_0x7498b
checkevent EVENT_RECEIVED_BALLS_FROM_KURT
iftrue UnknownScript_0x7498b
spriteface PLAYER, LEFT
- loadfont
+ opentext
checkevent EVENT_FAST_SHIP_FIRST_TIME
iffalse UnknownScript_0x7494e
checkcode VAR_WEEKDAY
@@ -88,12 +97,12 @@
yesorno
iffalse UnknownScript_0x74992
writetext UnknownText_0x74ada
- keeptextopen
+ buttonsound
checkitem S_S_TICKET
iffalse UnknownScript_0x7496d
writetext UnknownText_0x74b11
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_RECEIVED_BALLS_FROM_KURT
applymovement PLAYER, MovementData_0x74a37
jump SailorScript_0x748c0
@@ -100,22 +109,22 @@
UnknownScript_0x7496d:
writetext UnknownText_0x74b41
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x74a34
end
UnknownScript_0x74977:
writetext UnknownText_0x74ba8
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x74a34
end
UnknownScript_0x74981:
writetext UnknownText_0x74bce
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x74a34
end
@@ -124,20 +133,20 @@
UnknownScript_0x7498c:
writetext UnknownText_0x74af6
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x74992:
writetext UnknownText_0x74af6
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x74a34
end
SailorScript_0x7499c:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iftrue UnknownScript_0x74919
checkevent EVENT_FAST_SHIP_FIRST_TIME
@@ -153,15 +162,15 @@
yesorno
iffalse UnknownScript_0x7498c
writetext UnknownText_0x74ada
- keeptextopen
+ buttonsound
checkitem S_S_TICKET
iffalse UnknownScript_0x749ec
writetext UnknownText_0x74b11
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_RECEIVED_BALLS_FROM_KURT
checkcode VAR_FACING
- if_equal $3, UnknownScript_0x749e5
+ if_equal RIGHT, UnknownScript_0x749e5
applymovement PLAYER, MovementData_0x74a3f
jump SailorScript_0x748c0
@@ -171,20 +180,20 @@
UnknownScript_0x749ec:
writetext UnknownText_0x74b41
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x749f2:
writetext UnknownText_0x74ba8
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x749f8:
writetext UnknownText_0x74bce
+ waitbutton
closetext
- loadmovesprites
end
SailorScript_0x749fe:
@@ -192,41 +201,41 @@
FishingGuruScript_0x74a01:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x74bf4
+ waitbutton
closetext
- loadmovesprites
- spriteface $5, UP
+ spriteface OLIVINEPORT_FISHING_GURU1, UP
end
FishingGuruScript_0x74a0c:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x74c35
+ waitbutton
closetext
- loadmovesprites
- spriteface $6, UP
+ spriteface OLIVINEPORT_FISHING_GURU2, UP
end
YoungsterScript_0x74a17:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x74c76
+ waitbutton
closetext
- loadmovesprites
- spriteface $7, DOWN
+ spriteface OLIVINEPORT_YOUNGSTER, DOWN
end
CooltrainerFScript_0x74a22:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x74ca2
+ waitbutton
closetext
- loadmovesprites
- spriteface $8, DOWN
+ spriteface OLIVINEPORT_COOLTRAINER_F, DOWN
end
-MapOlivinePortSignpostItem0:
+OlivinePortHiddenProtein:
dwb EVENT_OLIVINE_PORT_HIDDEN_PROTEIN, PROTEIN
@@ -393,7 +402,7 @@
.Signposts:
db 1
- signpost 22, 1, SIGNPOST_ITEM, MapOlivinePortSignpostItem0
+ signpost 22, 1, SIGNPOST_ITEM, OlivinePortHiddenProtein
.PersonEvents:
db 7
--- a/maps/OlivinePortPassage.asm
+++ b/maps/OlivinePortPassage.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const OLIVINEPORTPASSAGE_POKEFAN_M
+
OlivinePortPassage_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/OlivinePunishmentSpeechHouse.asm
+++ b/maps/OlivinePunishmentSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const OLIVINEPUNISHMENTSPEECHHOUSE_POKEFAN_M
+ const OLIVINEPUNISHMENTSPEECHHOUSE_LASS
+
OlivinePunishmentSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/OlivineVoltorbHouse.asm
+++ b/maps/OlivineVoltorbHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const OLIVINEVOLTORBHOUSE_FISHING_GURU
+
OlivineVoltorbHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,10 +10,10 @@
Tim:
faceplayer
- loadfont
+ opentext
trade $2
+ waitbutton
closetext
- loadmovesprites
end
TimsHouseBookshelf:
--- a/maps/PalletTown.asm
+++ b/maps/PalletTown.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const PALLETTOWN_TEACHER
+ const PALLETTOWN_FISHER
+
PalletTown_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/PewterCity.asm
+++ b/maps/PewterCity.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const PEWTERCITY_COOLTRAINER_F
+ const PEWTERCITY_BUG_CATCHER
+ const PEWTERCITY_GRAMPS
+ const PEWTERCITY_FRUIT_TREE1
+ const PEWTERCITY_FRUIT_TREE2
+
PewterCity_MapScriptHeader:
.MapTriggers:
db 0
@@ -20,20 +27,20 @@
GrampsScript_0x18c00f:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_SILVER_WING
iftrue UnknownScript_0x18c023
writetext UnknownText_0x18c0c6
- keeptextopen
+ buttonsound
verbosegiveitem SILVER_WING
setevent EVENT_GOT_SILVER_WING
- loadmovesprites
+ closetext
end
UnknownScript_0x18c023:
writetext UnknownText_0x18c1aa
+ waitbutton
closetext
- loadmovesprites
end
PewterCitySign:
--- a/maps/PewterGym.asm
+++ b/maps/PewterGym.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const PEWTERGYM_BROCK
+ const PEWTERGYM_YOUNGSTER
+ const PEWTERGYM_GYM_GUY
+
PewterGym_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,32 +12,32 @@
BrockScript_0x1a2864:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_BOULDERBADGE
iftrue .FightDone
writetext UnknownText_0x1a28d0
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x1a29bb, 0
loadtrainer BROCK, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_BROCK
setevent EVENT_BEAT_CAMPER_JERRY
- loadfont
+ opentext
writetext UnknownText_0x1a2a3d
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_BOULDERBADGE
writetext UnknownText_0x1a2a57
+ waitbutton
closetext
- loadmovesprites
end
.FightDone
writetext UnknownText_0x1a2ada
+ waitbutton
closetext
- loadmovesprites
end
TrainerCamperJerry:
@@ -39,27 +44,27 @@
trainer EVENT_BEAT_CAMPER_JERRY, CAMPER, JERRY, CamperJerrySeenText, CamperJerryBeatenText, 0, CamperJerryScript
CamperJerryScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a2c0f
+ waitbutton
closetext
- loadmovesprites
end
PewterGymGuyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_BROCK
iftrue .PewterGymGuyWinScript
writetext PewterGymGuyText
+ waitbutton
closetext
- loadmovesprites
end
.PewterGymGuyWinScript
writetext PewterGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
end
PewterGymStatue:
--- a/maps/PewterMart.asm
+++ b/maps/PewterMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const PEWTERMART_CLERK
+ const PEWTERMART_YOUNGSTER
+ const PEWTERMART_SUPER_NERD
+
PewterMart_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,9 +11,9 @@
db 0
ClerkScript_0x1a2dcb:
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_PEWTER
- loadmovesprites
+ closetext
end
YoungsterScript_0x1a2dd2:
--- a/maps/PewterNidoranSpeechHouse.asm
+++ b/maps/PewterNidoranSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const PEWTERNIDORANSPEECHHOUSE_SUPER_NERD
+ const PEWTERNIDORANSPEECHHOUSE_GROWLITHE
+
PewterNidoranSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +13,11 @@
jumptextfaceplayer UnknownText_0x1a2814
GrowlitheScript_0x1a280a:
- loadfont
+ opentext
writetext UnknownText_0x1a2825
cry NIDORAN_M
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x1a2814:
--- a/maps/PewterPokeCEnter2FBeta.asm
+++ b/maps/PewterPokeCEnter2FBeta.asm
@@ -1,3 +1,4 @@
+
PewterPokeCEnter2FBeta_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/PewterPokeCenter1F.asm
+++ b/maps/PewterPokeCenter1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const PEWTERPOKECENTER1F_NURSE
+ const PEWTERPOKECENTER1F_TEACHER
+ const PEWTERPOKECENTER1F_JIGGLYPUFF
+ const PEWTERPOKECENTER1F_BUG_CATCHER
+ const PEWTERPOKECENTER1F_POKEFAN_M
+
PewterPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -12,11 +19,11 @@
jumptextfaceplayer UnknownText_0x1a2f01
JigglypuffScript_0x1a2eed:
- loadfont
+ opentext
writetext UnknownText_0x1a2f5d
cry JIGGLYPUFF
+ waitbutton
closetext
- loadmovesprites
end
BugCatcherScript_0x1a2ef7:
@@ -24,10 +31,10 @@
PokefanMScript_0x1a2efa:
faceplayer
- loadfont
+ opentext
trade $4
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x1a2f01:
--- a/maps/PewterSnoozeSpeechHouse.asm
+++ b/maps/PewterSnoozeSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const PEWTERSNOOZESPEECHHOUSE_GRAMPS
+
PewterSnoozeSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/PokeCenter2F.asm
+++ b/maps/PokeCenter2F.asm
@@ -1,74 +1,80 @@
+const_value set 2
+ const POKECENTER2F_TRADE_RECEPTIONIST
+ const POKECENTER2F_BATTLE_RECEPTIONIST
+ const POKECENTER2F_TIME_CAPSULE_RECEPTIONIST
+ const POKECENTER2F_OFFICER
+
PokeCenter2F_MapScriptHeader:
.MapTriggers:
db 6
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
dw .Trigger2, 0
dw .Trigger3, 0
dw .Trigger4, 0
dw .Trigger5, 0
- dw .Trigger6, 0
.MapCallbacks:
db 0
-.Trigger1:
+.Trigger0:
special Special_CheckMysteryGift
- if_equal $0, .Trigger1Done
+ if_equal $0, .Trigger0Done
clearevent EVENT_MYSTERY_GIFT_DELIVERY_GUY
checkevent EVENT_RECEIVED_BALLS_FROM_KURT
- iftrue .Trigger1Done
+ iftrue .Trigger0Done
priorityjump PokeCenter2F_AppearMysteryGiftDeliveryGuy
-.Trigger1Done:
+.Trigger0Done:
end
-.Trigger2:
+.Trigger1:
priorityjump Script_LeftCableTradeCenter
end
-.Trigger3:
+.Trigger2:
priorityjump Script_LeftCableColosseum
end
-.Trigger4:
+.Trigger3:
priorityjump Script_LeftTimeCapsule
end
-.Trigger5:
+.Trigger4:
priorityjump Script_LeftMobileTradeRoom
end
-.Trigger6:
+.Trigger5:
priorityjump Script_LeftMobileBattleRoom
end
PokeCenter2F_AppearMysteryGiftDeliveryGuy:
- appear $5
+ appear POKECENTER2F_OFFICER
setevent EVENT_RECEIVED_BALLS_FROM_KURT
end
Script_TradeCenterClosed:
faceplayer
- loadfont
+ opentext
writetext Text_TradeRoomClosed
+ waitbutton
closetext
- loadmovesprites
end
Script_BattleRoomClosed:
faceplayer
- loadfont
+ opentext
writetext Text_BattleRoomClosed
+ waitbutton
closetext
- loadmovesprites
end
LinkReceptionistScript_Trade:
checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
iffalse Script_TradeCenterClosed
- loadfont
+ opentext
writetext Text_TradeReceptionistIntro
yesorno
iffalse .Cancel
@@ -96,16 +102,16 @@
special Special_CheckBothSelectedSameRoom
iffalse .IncompatibleRooms
writetext Text_PleaseComeIn2
+ waitbutton
closetext
- loadmovesprites
scall PokeCenter2F_CheckGender
warpcheck
end
.FriendNotReady:
- special Special_AbortLink
+ special WaitForOtherPlayerToExit
writetext Text_FriendNotReady
- loadmovesprites
+ closetext
end
.LinkedToFirstGen:
@@ -112,13 +118,13 @@
special Special_FailedLinkToPast
writetext Text_CantLinkToThePast
special Special_CloseLink
- loadmovesprites
+ closetext
end
.IncompatibleRooms:
writetext Text_IncompatibleRooms
special Special_CloseLink
- loadmovesprites
+ closetext
end
.LinkTimedOut:
@@ -128,9 +134,9 @@
.DidNotSave:
writetext Text_PleaseComeAgain
.AbortLink:
- special Special_AbortLink
+ special WaitForOtherPlayerToExit
.Cancel:
- loadmovesprites
+ closetext
end
.Mobile:
@@ -151,26 +157,26 @@
iffalse .Mobile_DidNotSave
special Function1011f1
writetext Text_PleaseComeIn2
+ waitbutton
closetext
- loadmovesprites
writebyte $0
end
.Mobile_DidNotSave:
writetext Text_PleaseComeAgain
- loadmovesprites
+ closetext
writebyte $1
end
BattleTradeMobile_WalkIn:
- applymovement2 MovementData_0x192cce
- applymovement PLAYER, MovementData_0x192ce7
+ applymovement2 PokeCenter2FMobileMobileMovementData_ReceptionistWalksUpAndLeft_LookDown
+ applymovement PLAYER, PokeCenter2FMobileMovementData_PlayerWalksIntoMobileBattleRoom
end
LinkReceptionistScript_Battle:
checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
iffalse Script_BattleRoomClosed
- loadfont
+ opentext
writetext Text_BattleReceptionistIntro
yesorno
iffalse .Cancel
@@ -198,16 +204,16 @@
special Special_CheckBothSelectedSameRoom
iffalse .IncompatibleRooms
writetext Text_PleaseComeIn2
+ waitbutton
closetext
- loadmovesprites
scall PokeCenter2F_CheckGender
warpcheck
end
.FriendNotReady:
- special Special_AbortLink
+ special WaitForOtherPlayerToExit
writetext Text_FriendNotReady
- loadmovesprites
+ closetext
end
.LinkedToFirstGen:
@@ -214,13 +220,13 @@
special Special_FailedLinkToPast
writetext Text_CantLinkToThePast
special Special_CloseLink
- loadmovesprites
+ closetext
end
.IncompatibleRooms:
writetext Text_IncompatibleRooms
special Special_CloseLink
- loadmovesprites
+ closetext
end
.LinkTimedOut:
@@ -230,9 +236,9 @@
.DidNotSave:
writetext Text_PleaseComeAgain
.AbortLink:
- special Special_AbortLink
+ special WaitForOtherPlayerToExit
.Cancel:
- loadmovesprites
+ closetext
end
.Mobile:
@@ -255,14 +261,14 @@
iffalse .Mobile_DidNotSave
special Function1011f1
writetext Text_PleaseComeIn2
+ waitbutton
closetext
- loadmovesprites
writebyte $0
end
.Mobile_DidNotSave:
writetext Text_PleaseComeAgain
- loadmovesprites
+ closetext
writebyte $1
end
@@ -276,9 +282,9 @@
.Mobile_InvalidParty:
writetext Text_BrokeStadiumRules
- closetext
+ waitbutton
.Mobile_DidNotSelect:
- loadmovesprites
+ closetext
writebyte $0
end
@@ -288,10 +294,10 @@
Script_TimeCapsuleClosed:
faceplayer
- loadfont
+ opentext
writetext Text_TimeCapsuleClosed
+ waitbutton
closetext
- loadmovesprites
end
LinkReceptionistScript_TimeCapsule:
@@ -301,7 +307,7 @@
iftrue Script_TimeCapsuleClosed
special Special_SetBitsForTimeCapsuleRequest
faceplayer
- loadfont
+ opentext
writetext Text_TimeCapsuleReceptionistIntro
yesorno
iffalse .Cancel
@@ -325,22 +331,22 @@
special Special_CheckBothSelectedSameRoom
writetext Text_IncompatibleRooms
special Special_CloseLink
- loadmovesprites
+ closetext
end
.OK:
special Special_EnterTimeCapsule
writetext Text_PleaseComeIn2
+ waitbutton
closetext
- loadmovesprites
scall TimeCapsuleScript_CheckPlayerGender
warpcheck
end
.FriendNotReady:
- special Special_AbortLink
+ special WaitForOtherPlayerToExit
writetext Text_FriendNotReady
- loadmovesprites
+ closetext
end
.LinkTimedOut:
@@ -350,28 +356,28 @@
.DidNotSave:
writetext Text_PleaseComeAgain
.Cancel:
- special Special_AbortLink
- loadmovesprites
+ special WaitForOtherPlayerToExit
+ closetext
end
.MonTooNew:
writetext Text_RejectNewMon
- loadmovesprites
+ closetext
end
.MonMoveTooNew:
writetext Text_RejectMonWithNewMove
- loadmovesprites
+ closetext
end
.MonHasMail:
writetext Text_RejectMonWithMail
- loadmovesprites
+ closetext
end
Script_LeftCableTradeCenter:
- special Special_AbortLink
- scall Script_CleanUpFemaleFlagAfterTrade
+ special WaitForOtherPlayerToExit
+ scall Script_WalkOutOfLinkTradeRoom
dotrigger $0
domaptrigger TRADE_CENTER, $0
end
@@ -384,14 +390,14 @@
end
Script_WalkOutOfMobileTradeRoom:
- applymovement $2, MovementData_0x192d0b
- applymovement PLAYER, MovementData_0x192d0f
- applymovement $2, MovementData_0x192d14
+ applymovement POKECENTER2F_TRADE_RECEPTIONIST, PokeCenter2FMobileMovementData_ReceptionistWalksUpAndLeft
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerWalksOutOfMobileRoom
+ applymovement POKECENTER2F_TRADE_RECEPTIONIST, PokeCenter2FMobileMovementData_ReceptionistWalksRightAndDown
end
Script_LeftCableColosseum:
- special Special_AbortLink
- scall Script_CleanUpFemaleFlagAfterBattle
+ special WaitForOtherPlayerToExit
+ scall Script_WalkOutOfLinkBattleRoom
dotrigger $0
domaptrigger COLOSSEUM, $0
end
@@ -404,88 +410,88 @@
end
Script_WalkOutOfMobileBattleRoom:
- applymovement $3, MovementData_0x192d0b
- applymovement PLAYER, MovementData_0x192d0f
- applymovement $3, MovementData_0x192d14
+ applymovement POKECENTER2F_BATTLE_RECEPTIONIST, PokeCenter2FMobileMovementData_ReceptionistWalksUpAndLeft
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerWalksOutOfMobileRoom
+ applymovement POKECENTER2F_BATTLE_RECEPTIONIST, PokeCenter2FMobileMovementData_ReceptionistWalksRightAndDown
end
PokeCenter2F_CheckGender:
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Female
- applymovement2 MovementData_0x192cca
- applymovement PLAYER, MovementData_0x192cde
+ applymovement2 PokeCenter2FMovementData_ReceptionistWalksUpAndLeft_LookRight
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesThreeStepsUp
end
.Female:
- applymovement2 MovementData_0x192cd8
- applymovement PLAYER, MovementData_0x192ce2
- loadfont
+ applymovement2 PokeCenter2FMovementData_ReceptionistWalksUpAndLeft_LookRight_2
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesTwoStepsUp
+ opentext
writetext Text_OhPleaseWait
+ waitbutton
closetext
- loadmovesprites
- applymovement2 MovementData_0x192cdc
+ applymovement2 PokeCenter2FMovementData_ReceptionistLooksRight
spriteface PLAYER, LEFT
- loadfont
+ opentext
writetext Text_ChangeTheLook
+ waitbutton
closetext
- loadmovesprites
playsound SFX_TINGLE
- applymovement PLAYER, MovementData_0x192d17
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerSpinsClockwiseEndsFacingRight
writebyte (1 << 7) | (PAL_OW_RED << 4)
special Special_SetPlayerPalette
- applymovement PLAYER, MovementData_0x192d1c
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerSpinsClockwiseEndsFacingLeft
setflag ENGINE_KRIS_IN_CABLE_CLUB
special ReplaceKrisSprite
- loadfont
+ opentext
writetext Text_LikeTheLook
+ waitbutton
closetext
- loadmovesprites
showemote EMOTE_SHOCK, PLAYER, 15
- applymovement PLAYER, MovementData_0x192ce5
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesOneStepUp
end
-Script_CleanUpFemaleFlagAfterTrade:
+Script_WalkOutOfLinkTradeRoom:
checkflag ENGINE_KRIS_IN_CABLE_CLUB
iftrue .Female
- applymovement $2, MovementData_0x192d04
- applymovement PLAYER, MovementData_0x192cf5
- applymovement $2, MovementData_0x192cfe
+ applymovement POKECENTER2F_TRADE_RECEPTIONIST, PokeCenter2FMovementData_ReceptionistStepsRightLooksDown_3
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesThreeStepsDown
+ applymovement POKECENTER2F_TRADE_RECEPTIONIST, PokeCenter2FMovementData_ReceptionistStepsRightAndDown
end
.Female:
- applymovement $2, MovementData_0x192d04
- applymovement PLAYER, MovementData_0x192d28
+ applymovement POKECENTER2F_TRADE_RECEPTIONIST, PokeCenter2FMovementData_ReceptionistStepsRightLooksDown_3
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesOneStepDown_2
clearflag ENGINE_KRIS_IN_CABLE_CLUB
playsound SFX_TINGLE
- applymovement PLAYER, MovementData_0x192d17
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerSpinsClockwiseEndsFacingRight
writebyte (1 << 7) | (PAL_OW_BLUE << 4)
special Special_SetPlayerPalette
- applymovement PLAYER, MovementData_0x192d1c
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerSpinsClockwiseEndsFacingLeft
special ReplaceKrisSprite
- applymovement PLAYER, MovementData_0x192d2a
- applymovement $2, MovementData_0x192cfe
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesTwoStepsDown_2
+ applymovement POKECENTER2F_TRADE_RECEPTIONIST, PokeCenter2FMovementData_ReceptionistStepsRightAndDown
end
-Script_CleanUpFemaleFlagAfterBattle:
+Script_WalkOutOfLinkBattleRoom:
checkflag ENGINE_KRIS_IN_CABLE_CLUB
iftrue .Female
- applymovement $3, MovementData_0x192d04
- applymovement PLAYER, MovementData_0x192cf5
- applymovement $3, MovementData_0x192cfe
+ applymovement POKECENTER2F_BATTLE_RECEPTIONIST, PokeCenter2FMovementData_ReceptionistStepsRightLooksDown_3
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesThreeStepsDown
+ applymovement POKECENTER2F_BATTLE_RECEPTIONIST, PokeCenter2FMovementData_ReceptionistStepsRightAndDown
end
.Female:
- applymovement $3, MovementData_0x192d04
- applymovement PLAYER, MovementData_0x192d28
+ applymovement POKECENTER2F_BATTLE_RECEPTIONIST, PokeCenter2FMovementData_ReceptionistStepsRightLooksDown_3
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesOneStepDown_2
clearflag ENGINE_KRIS_IN_CABLE_CLUB
playsound SFX_TINGLE
- applymovement PLAYER, MovementData_0x192d17
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerSpinsClockwiseEndsFacingRight
writebyte (1 << 7) | (PAL_OW_BLUE << 4)
special Special_SetPlayerPalette
- applymovement PLAYER, MovementData_0x192d1c
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerSpinsClockwiseEndsFacingLeft
special ReplaceKrisSprite
- applymovement PLAYER, MovementData_0x192d2a
- applymovement $3, MovementData_0x192cfe
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesTwoStepsDown_2
+ applymovement POKECENTER2F_BATTLE_RECEPTIONIST, PokeCenter2FMovementData_ReceptionistStepsRightAndDown
end
TimeCapsuleScript_CheckPlayerGender:
@@ -494,18 +500,18 @@
checkcode VAR_FACING
if_equal LEFT, .MaleFacingLeft
if_equal RIGHT, .MaleFacingRight
- applymovement2 MovementData_0x192cd2
- applymovement PLAYER, MovementData_0x192cec
+ applymovement2 PokeCenter2FMovementData_ReceptionistStepsLeftLooksDown
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesTwoStepsUp_2
end
.MaleFacingLeft:
- applymovement2 MovementData_0x192cd2
- applymovement PLAYER, MovementData_0x192cef
+ applymovement2 PokeCenter2FMovementData_ReceptionistStepsLeftLooksDown
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerWalksLeftAndUp
end
.MaleFacingRight:
- applymovement2 MovementData_0x192cd5
- applymovement PLAYER, MovementData_0x192cf2
+ applymovement2 PokeCenter2FMovementData_ReceptionistStepsRightLooksDown
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerWalksRightAndUp
end
.Female:
@@ -512,68 +518,68 @@
checkcode VAR_FACING
if_equal RIGHT, .FemaleFacingRight
if_equal LEFT, .FemaleFacingLeft
- applymovement2 MovementData_0x192d33
- applymovement PLAYER, MovementData_0x192d2d
+ applymovement2 PokeCenter2FMovementData_ReceptionistStepsLeftLooksRight_2
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesOneStepUp_2
jump .FemaleContinue
.FemaleFacingRight:
- applymovement2 MovementData_0x192d36
- applymovement PLAYER, MovementData_0x192d2f
+ applymovement2 PokeCenter2FMovementData_ReceptionistStepsRightLooksLeft_2
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesOneStepRight
jump .FemaleContinue
.FemaleFacingLeft:
- applymovement2 MovementData_0x192d33
- applymovement PLAYER, MovementData_0x192d31
+ applymovement2 PokeCenter2FMovementData_ReceptionistStepsLeftLooksRight_2
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesOneStepLeft
.FemaleContinue:
- loadfont
+ opentext
writetext Text_OhPleaseWait
+ waitbutton
closetext
- loadmovesprites
checkcode VAR_FACING
if_not_equal UP, .FemaleChangeApperance
spriteface PLAYER, LEFT
.FemaleChangeApperance:
- loadfont
+ opentext
writetext Text_ChangeTheLook
+ waitbutton
closetext
- loadmovesprites
playsound SFX_TINGLE
- applymovement PLAYER, MovementData_0x192d17
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerSpinsClockwiseEndsFacingRight
writebyte (1 << 7) | (PAL_OW_RED << 4)
special Special_SetPlayerPalette
- applymovement PLAYER, MovementData_0x192d22
- faceperson PLAYER, $4
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerSpinsClockwiseEndsFacingDown
+ faceperson PLAYER, POKECENTER2F_TIME_CAPSULE_RECEPTIONIST
setflag ENGINE_KRIS_IN_CABLE_CLUB
special ReplaceKrisSprite
- loadfont
+ opentext
writetext Text_LikeTheLook
+ waitbutton
closetext
- loadmovesprites
showemote EMOTE_SHOCK, PLAYER, 15
- applymovement PLAYER, MovementData_0x192d2d
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesOneStepUp_2
end
Script_LeftTimeCapsule:
- special Special_AbortLink
+ special WaitForOtherPlayerToExit
checkflag ENGINE_KRIS_IN_CABLE_CLUB
iftrue .Female
- applymovement $4, MovementData_0x192d08
- applymovement PLAYER, MovementData_0x192cf9
- applymovement $4, MovementData_0x192d01
+ applymovement POKECENTER2F_TIME_CAPSULE_RECEPTIONIST, PokeCenter2FMovementData_ReceptionistStepsLeftLooksRight
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesTwoStepsDown
+ applymovement POKECENTER2F_TIME_CAPSULE_RECEPTIONIST, PokeCenter2FMovementData_ReceptionistStepsRightLooksDown_2
jump .Done
.Female:
- applymovement $4, MovementData_0x192d08
- applymovement PLAYER, MovementData_0x192cfc
+ applymovement POKECENTER2F_TIME_CAPSULE_RECEPTIONIST, PokeCenter2FMovementData_ReceptionistStepsLeftLooksRight
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesOneStepDown
clearflag ENGINE_KRIS_IN_CABLE_CLUB
playsound SFX_TINGLE
- applymovement PLAYER, MovementData_0x192d17
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerSpinsClockwiseEndsFacingRight
writebyte (1 << 7) | (PAL_OW_BLUE << 4)
special Special_SetPlayerPalette
- applymovement PLAYER, MovementData_0x192d1c
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerSpinsClockwiseEndsFacingLeft
special ReplaceKrisSprite
- applymovement PLAYER, MovementData_0x192cfc
- applymovement $4, MovementData_0x192d01
+ applymovement PLAYER, PokeCenter2FMovementData_PlayerTakesOneStepDown
+ applymovement POKECENTER2F_TIME_CAPSULE_RECEPTIONIST, PokeCenter2FMovementData_ReceptionistStepsRightLooksDown_2
.Done:
dotrigger $0
domaptrigger TIME_CAPSULE, $0
@@ -582,12 +588,12 @@
MapPokeCenter2FSignpost0Script:
refreshscreen $0
special Special_DisplayLinkRecord
- loadmovesprites
+ closetext
end
OfficerScript_0x192c9a:
faceplayer
- loadfont
+ opentext
checkevent EVENT_MYSTERY_GIFT_DELIVERY_GUY
iftrue .AlreadyGotGift
writetext Text_MysteryGiftDeliveryGuy_Intro
@@ -594,8 +600,8 @@
yesorno
iffalse .RefusedGift
writetext Text_MysteryGiftDeliveryGuy_HereYouGo
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
special Special_GetMysteryGiftItem
iffalse .BagIsFull
itemnotify
@@ -602,70 +608,70 @@
setevent EVENT_MYSTERY_GIFT_DELIVERY_GUY
.AlreadyGotGift:
writetext Text_MysteryGiftDeliveryGuy_Outro
+ waitbutton
closetext
- loadmovesprites
end
.BagIsFull:
writetext Text_MysteryGiftDeliveryGuy_NoRoom
+ waitbutton
closetext
- loadmovesprites
end
.RefusedGift:
writetext Text_MysteryGiftDeliveryGuy_SaidNo
+ waitbutton
closetext
- loadmovesprites
end
-MovementData_0x192cca:
+PokeCenter2FMovementData_ReceptionistWalksUpAndLeft_LookRight:
slow_step_up
slow_step_left
turn_head_right
step_end
-MovementData_0x192cce:
+PokeCenter2FMobileMobileMovementData_ReceptionistWalksUpAndLeft_LookDown:
slow_step_up
slow_step_left
turn_head_down
step_end
-MovementData_0x192cd2:
+PokeCenter2FMovementData_ReceptionistStepsLeftLooksDown:
slow_step_left
turn_head_down
step_end
-MovementData_0x192cd5:
+PokeCenter2FMovementData_ReceptionistStepsRightLooksDown:
slow_step_right
turn_head_down
step_end
-MovementData_0x192cd8:
+PokeCenter2FMovementData_ReceptionistWalksUpAndLeft_LookRight_2:
slow_step_up
slow_step_left
turn_head_right
step_end
-MovementData_0x192cdc:
+PokeCenter2FMovementData_ReceptionistLooksRight:
turn_head_right
step_end
-MovementData_0x192cde:
+PokeCenter2FMovementData_PlayerTakesThreeStepsUp:
step_up
step_up
step_up
step_end
-MovementData_0x192ce2:
+PokeCenter2FMovementData_PlayerTakesTwoStepsUp:
step_up
step_up
step_end
-MovementData_0x192ce5:
+PokeCenter2FMovementData_PlayerTakesOneStepUp:
step_up
step_end
-MovementData_0x192ce7:
+PokeCenter2FMobileMovementData_PlayerWalksIntoMobileBattleRoom:
step_up
step_up
step_right
@@ -672,64 +678,64 @@
step_up
step_end
-MovementData_0x192cec:
+PokeCenter2FMovementData_PlayerTakesTwoStepsUp_2:
step_up
step_up
step_end
-MovementData_0x192cef:
+PokeCenter2FMovementData_PlayerWalksLeftAndUp:
step_left
step_up
step_end
-MovementData_0x192cf2:
+PokeCenter2FMovementData_PlayerWalksRightAndUp:
step_right
step_up
step_end
-MovementData_0x192cf5:
+PokeCenter2FMovementData_PlayerTakesThreeStepsDown:
step_down
step_down
step_down
step_end
-MovementData_0x192cf9:
+PokeCenter2FMovementData_PlayerTakesTwoStepsDown:
step_down
step_down
step_end
-MovementData_0x192cfc:
+PokeCenter2FMovementData_PlayerTakesOneStepDown:
step_down
step_end
-MovementData_0x192cfe:
+PokeCenter2FMovementData_ReceptionistStepsRightAndDown:
slow_step_right
slow_step_down
step_end
-MovementData_0x192d01:
+PokeCenter2FMovementData_ReceptionistStepsRightLooksDown_2:
slow_step_right
turn_head_down
step_end
-MovementData_0x192d04:
+PokeCenter2FMovementData_ReceptionistStepsRightLooksDown_3:
slow_step_up
slow_step_left
turn_head_right
step_end
-MovementData_0x192d08:
+PokeCenter2FMovementData_ReceptionistStepsLeftLooksRight:
slow_step_left
turn_head_right
step_end
-MovementData_0x192d0b:
+PokeCenter2FMobileMovementData_ReceptionistWalksUpAndLeft:
slow_step_up
slow_step_left
turn_head_right
step_end
-MovementData_0x192d0f:
+PokeCenter2FMovementData_PlayerWalksOutOfMobileRoom:
step_down
step_left
step_down
@@ -736,12 +742,12 @@
step_down
step_end
-MovementData_0x192d14:
+PokeCenter2FMobileMovementData_ReceptionistWalksRightAndDown:
slow_step_right
slow_step_down
step_end
-MovementData_0x192d17:
+PokeCenter2FMovementData_PlayerSpinsClockwiseEndsFacingRight:
turn_head_down
turn_head_left
turn_head_up
@@ -748,7 +754,7 @@
turn_head_right
step_end
-MovementData_0x192d1c:
+PokeCenter2FMovementData_PlayerSpinsClockwiseEndsFacingLeft:
turn_head_down
turn_head_left
turn_head_up
@@ -756,7 +762,7 @@
turn_head_left
step_end
-MovementData_0x192d22:
+PokeCenter2FMovementData_PlayerSpinsClockwiseEndsFacingDown:
turn_head_down
turn_head_left
turn_head_up
@@ -764,33 +770,33 @@
turn_head_down
step_end
-MovementData_0x192d28:
+PokeCenter2FMovementData_PlayerTakesOneStepDown_2:
step_down
step_end
-MovementData_0x192d2a:
+PokeCenter2FMovementData_PlayerTakesTwoStepsDown_2:
step_down
step_down
step_end
-MovementData_0x192d2d:
+PokeCenter2FMovementData_PlayerTakesOneStepUp_2:
step_up
step_end
-MovementData_0x192d2f:
+PokeCenter2FMovementData_PlayerTakesOneStepRight:
step_right
step_end
-MovementData_0x192d31:
+PokeCenter2FMovementData_PlayerTakesOneStepLeft:
step_left
step_end
-MovementData_0x192d33:
+PokeCenter2FMovementData_ReceptionistStepsLeftLooksRight_2:
slow_step_left
turn_head_right
step_end
-MovementData_0x192d36:
+PokeCenter2FMovementData_ReceptionistStepsRightLooksLeft_2:
slow_step_right
turn_head_left
step_end
--- a/maps/PokeSeersHouse.asm
+++ b/maps/PokeSeersHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const POKESEERSHOUSE_GRANNY
+
PokeSeersHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,10 +10,10 @@
SeerScript:
faceplayer
- loadfont
+ opentext
special SpecialPokeSeer
+ waitbutton
closetext
- loadmovesprites
end
PokeSeersHouse_MapEventHeader:
--- a/maps/PokemonFanClub.asm
+++ b/maps/PokemonFanClub.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const POKEMONFANCLUB_GENTLEMAN
+ const POKEMONFANCLUB_RECEPTIONIST
+ const POKEMONFANCLUB_FISHER
+ const POKEMONFANCLUB_TEACHER
+ const POKEMONFANCLUB_FAIRY
+ const POKEMONFANCLUB_ODDISH
+
PokemonFanClub_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,7 +15,7 @@
GentlemanScript_0x1917e9:
faceplayer
- loadfont
+ opentext
checkevent EVENT_LISTENED_TO_FAN_CLUB_PRESIDENT
iftrue UnknownScript_0x191815
checkevent EVENT_LISTENED_TO_FAN_CLUB_PRESIDENT_BUT_BAG_WAS_FULL
@@ -16,29 +24,29 @@
yesorno
iffalse UnknownScript_0x19181b
writetext UnknownText_0x191911
- keeptextopen
+ buttonsound
UnknownScript_0x191802:
writetext UnknownText_0x191a3d
- keeptextopen
+ buttonsound
verbosegiveitem RARE_CANDY
iffalse UnknownScript_0x19181f
setevent EVENT_LISTENED_TO_FAN_CLUB_PRESIDENT
writetext UnknownText_0x191a72
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x191815:
writetext UnknownText_0x191ae0
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19181b:
writetext UnknownText_0x191b38
- closetext
+ waitbutton
UnknownScript_0x19181f:
- loadmovesprites
+ closetext
end
ReceptionistScript_0x191821:
@@ -46,14 +54,14 @@
FisherScript_0x191824:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_LOST_ITEM_FROM_FAN_CLUB
iftrue UnknownScript_0x19185f
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x191838
writetext UnknownText_0x191ba0
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x191838:
@@ -60,36 +68,36 @@
writetext UnknownText_0x191bff
checkevent EVENT_MET_COPYCAT_FOUND_OUT_ABOUT_LOST_ITEM
iftrue UnknownScript_0x191844
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x191844:
- keeptextopen
+ buttonsound
writetext UnknownText_0x191c5a
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
giveitem LOST_ITEM
iffalse UnknownScript_0x191865
- disappear $6
+ disappear POKEMONFANCLUB_FAIRY
writetext UnknownText_0x191d0a
playsound SFX_KEY_ITEM
- waitbutton
+ waitsfx
itemnotify
setevent EVENT_GOT_LOST_ITEM_FROM_FAN_CLUB
- loadmovesprites
+ closetext
end
UnknownScript_0x19185f:
writetext UnknownText_0x191d1e
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x191865:
writetext UnknownText_0x191d58
+ waitbutton
closetext
- loadmovesprites
end
TeacherScript_0x19186b:
@@ -99,11 +107,11 @@
jumptext UnknownText_0x191db1
OddishScript_0x191871:
- loadfont
+ opentext
writetext UnknownText_0x191de9
cry BAYLEEF
+ waitbutton
closetext
- loadmovesprites
end
MapPokemonFanClubSignpost0Script:
--- a/maps/PowerPlant.asm
+++ b/maps/PowerPlant.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const POWERPLANT_OFFICER1
+ const POWERPLANT_GYM_GUY1
+ const POWERPLANT_GYM_GUY2
+ const POWERPLANT_OFFICER2
+ const POWERPLANT_GYM_GUY3
+ const POWERPLANT_FISHER
+ const POWERPLANT_GYM_GUY4
+
PowerPlant_MapScriptHeader:
.MapTriggers:
db 2
@@ -17,118 +26,118 @@
UnknownScript_0x188dc5:
playsound SFX_CALL
- showemote EMOTE_SHOCK, $2, 15
- waitbutton
+ showemote EMOTE_SHOCK, POWERPLANT_OFFICER1, 15
+ waitsfx
pause 30
- applymovement $2, MovementData_0x188ed5
- spriteface $3, DOWN
- spriteface $4, DOWN
- loadfont
+ applymovement POWERPLANT_OFFICER1, MovementData_0x188ed5
+ spriteface POWERPLANT_GYM_GUY1, DOWN
+ spriteface POWERPLANT_GYM_GUY2, DOWN
+ opentext
writetext UnknownText_0x188f22
+ waitbutton
closetext
- loadmovesprites
- spriteface $2, LEFT
+ spriteface POWERPLANT_OFFICER1, LEFT
spriteface PLAYER, RIGHT
- loadfont
+ opentext
writetext UnknownText_0x188f7f
+ waitbutton
closetext
- loadmovesprites
spriteface PLAYER, DOWN
- applymovement $2, MovementData_0x188eda
+ applymovement POWERPLANT_OFFICER1, MovementData_0x188eda
dotrigger $0
end
OfficerScript_0x188df5:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x188e0f
checkevent EVENT_MET_MANAGER_AT_POWER_PLANT
iftrue UnknownScript_0x188e09
writetext UnknownText_0x188ee0
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x188e09:
writetext UnknownText_0x188f7f
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x188e0f:
writetext UnknownText_0x188fa2
+ waitbutton
closetext
- loadmovesprites
end
GymGuyScript_0x188e15:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x188e23
writetext UnknownText_0x188fcf
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x188e23:
writetext UnknownText_0x189038
+ waitbutton
closetext
- loadmovesprites
end
GymGuyScript_0x188e29:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x188e37
writetext UnknownText_0x189079
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x188e37:
writetext UnknownText_0x1890ef
+ waitbutton
closetext
- loadmovesprites
end
OfficerScript_0x188e3d:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x188e4b
writetext UnknownText_0x18910e
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x188e4b:
writetext UnknownText_0x18917f
+ waitbutton
closetext
- loadmovesprites
end
GymGuyScript_0x188e51:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x188e5f
writetext UnknownText_0x1891c2
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x188e5f:
writetext UnknownText_0x189225
+ waitbutton
closetext
- loadmovesprites
end
PowerPlantManager:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x188eac
checkitem MACHINE_PART
@@ -136,8 +145,8 @@
checkevent EVENT_MET_MANAGER_AT_POWER_PLANT
iftrue UnknownScript_0x188e8d
writetext UnknownText_0x189264
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_MET_MANAGER_AT_POWER_PLANT
clearevent EVENT_CERULEAN_GYM_ROCKET
clearevent EVENT_FOUND_MACHINE_PART_IN_CERULEAN_GYM
@@ -147,13 +156,13 @@
UnknownScript_0x188e8d:
writetext UnknownText_0x189308
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x188e93:
writetext UnknownText_0x18936e
- keeptextopen
+ buttonsound
takeitem MACHINE_PART
setevent EVENT_RETURNED_MACHINE_PART
clearevent EVENT_SAFFRON_TRAIN_STATION_POPULATION
@@ -165,28 +174,28 @@
checkevent EVENT_GOT_TM07_ZAP_CANNON
iftrue UnknownScript_0x188ec5
writetext UnknownText_0x1893c4
- keeptextopen
+ buttonsound
verbosegiveitem TM_ZAP_CANNON
iffalse UnknownScript_0x188ec3
setevent EVENT_GOT_TM07_ZAP_CANNON
writetext UnknownText_0x1893f4
- closetext
+ waitbutton
UnknownScript_0x188ec3:
- loadmovesprites
+ closetext
end
UnknownScript_0x188ec5:
writetext UnknownText_0x189475
+ waitbutton
closetext
- loadmovesprites
end
GymGuyScript_0x188ecb:
faceplayer
- loadfont
+ opentext
trade $6
+ waitbutton
closetext
- loadmovesprites
end
PowerPlantBookshelf:
--- a/maps/RadioTower1F.asm
+++ b/maps/RadioTower1F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const RADIOTOWER1F_RECEPTIONIST
+ const RADIOTOWER1F_LASS
+ const RADIOTOWER1F_YOUNGSTER
+ const RADIOTOWER1F_ROCKET
+ const RADIOTOWER1F_GENTLEMAN
+ const RADIOTOWER1F_COOLTRAINER_F
+
RadioTower1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,25 +15,25 @@
ReceptionistScript_0x5cd29:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
iftrue UnknownScript_0x5cd37
writetext UnknownText_0x5ce77
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x5cd37:
writetext UnknownText_0x5ce81
+ waitbutton
closetext
- loadmovesprites
end
GentlemanScript_0x5cd3d:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5ceba
- keeptextopen
+ buttonsound
special Special_CheckLuckyNumberShowFlag
iffalse .skip
special Special_ResetLuckyNumberShowFlag
@@ -34,21 +42,21 @@
checkflag ENGINE_LUCKY_NUMBER_SHOW
iftrue .GameOver
writetext UnknownText_0x5cf3a
- keeptextopen
- loadmovesprites
- applymovement $6, MovementData_0x5ce71
- loadfont
+ buttonsound
+ closetext
+ applymovement RADIOTOWER1F_GENTLEMAN, MovementData_0x5ce71
+ opentext
writetext UnknownText_0x5cf5a
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
writetext UnknownText_0x5cf79
playsound SFX_DEX_FANFARE_20_49
- waitbutton
- keeptextopen
+ waitsfx
+ buttonsound
special Special_CheckForLuckyNumberWinners
- loadmovesprites
- applymovement $6, MovementData_0x5ce74
- loadfont
+ closetext
+ applymovement RADIOTOWER1F_GENTLEMAN, MovementData_0x5ce74
+ opentext
if_equal 1, .FirstPlace
if_equal 2, .SecondPlace
if_equal 3, .ThirdPlace
@@ -56,15 +64,15 @@
.GameOver
writetext UnknownText_0x5cf7e
+ waitbutton
closetext
- loadmovesprites
end
.FirstPlace
writetext UnknownText_0x5cfb5
playsound SFX_1ST_PLACE
- waitbutton
- keeptextopen
+ waitsfx
+ buttonsound
giveitem MASTER_BALL
iffalse .BagFull
itemnotify
@@ -74,8 +82,8 @@
.SecondPlace
writetext UnknownText_0x5d023
playsound SFX_2ND_PLACE
- waitbutton
- keeptextopen
+ waitsfx
+ buttonsound
giveitem EXP_SHARE
iffalse .BagFull
itemnotify
@@ -85,8 +93,8 @@
.ThirdPlace
writetext UnknownText_0x5d076
playsound SFX_3RD_PLACE
- waitbutton
- keeptextopen
+ waitsfx
+ buttonsound
giveitem PP_UP
iffalse .BagFull
itemnotify
@@ -95,19 +103,19 @@
.NoPrize
writetext UnknownText_0x5d0c0
+ waitbutton
closetext
- loadmovesprites
end
.BagFull:
writetext UnknownText_0x5d0e6
+ waitbutton
closetext
- loadmovesprites
end
CooltrainerFScript_0x5cdd5:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_RADIO_CARD
iftrue UnknownScript_0x5ce2d
writetext UnknownText_0x5d12d
@@ -117,38 +125,38 @@
yesorno
iffalse UnknownScript_0x5ce42
playsound SFX_ELEVATOR_END
- waitbutton
+ waitsfx
writetext UnknownText_0x5d231
yesorno
iffalse UnknownScript_0x5ce42
playsound SFX_ELEVATOR_END
- waitbutton
+ waitsfx
writetext UnknownText_0x5d282
yesorno
iftrue UnknownScript_0x5ce42
playsound SFX_ELEVATOR_END
- waitbutton
+ waitsfx
writetext UnknownText_0x5d2bc
yesorno
iffalse UnknownScript_0x5ce42
playsound SFX_ELEVATOR_END
- waitbutton
+ waitsfx
writetext UnknownText_0x5d30e
yesorno
iftrue UnknownScript_0x5ce42
playsound SFX_ELEVATOR_END
- waitbutton
+ waitsfx
writetext UnknownText_0x5d37b
- keeptextopen
+ buttonsound
stringtotext RadioCardText, $1
scall UnknownScript_0x5ce3e
writetext UnknownText_0x5d3c0
- keeptextopen
+ buttonsound
setflag ENGINE_RADIO_CARD
UnknownScript_0x5ce2d:
writetext UnknownText_0x5d3e5
+ waitbutton
closetext
- loadmovesprites
end
RadioCardText:
@@ -161,14 +169,14 @@
UnknownScript_0x5ce42:
playsound SFX_WRONG
writetext UnknownText_0x5d409
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x5ce4b:
writetext UnknownText_0x5d443
+ waitbutton
closetext
- loadmovesprites
end
LassScript_0x5ce51:
@@ -181,11 +189,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_3, GRUNTM, 3, GruntM3SeenText, GruntM3BeatenText, 0, GruntM3Script
GruntM3Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5d5a2
+ waitbutton
closetext
- loadmovesprites
end
MapRadioTower1FSignpost0Script:
--- a/maps/RadioTower2F.asm
+++ b/maps/RadioTower2F.asm
@@ -1,3 +1,16 @@
+const_value set 2
+ const RADIOTOWER2F_SUPER_NERD
+ const RADIOTOWER2F_TEACHER
+ const RADIOTOWER2F_ROCKET1
+ const RADIOTOWER2F_ROCKET2
+ const RADIOTOWER2F_ROCKET3
+ const RADIOTOWER2F_ROCKET_GIRL
+ const RADIOTOWER2F_BLACK_BELT1
+ const RADIOTOWER2F_BLACK_BELT2
+ const RADIOTOWER2F_JIGGLYPUFF
+ const RADIOTOWER2F_BUENA
+ const RADIOTOWER2F_RECEPTIONIST
+
RadioTower2F_MapScriptHeader:
.MapTriggers:
db 0
@@ -13,26 +26,26 @@
TeacherScript_0x5d701:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
iftrue UnknownScript_0x5d70f
writetext UnknownText_0x5d956
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x5d70f:
writetext UnknownText_0x5d983
+ waitbutton
closetext
- loadmovesprites
end
JigglypuffScript_0x5d715:
- loadfont
+ opentext
writetext UnknownText_0x5d9b6
cry JIGGLYPUFF
+ waitbutton
closetext
- loadmovesprites
end
BlackBeltScript_0x5d71f:
@@ -45,11 +58,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_4, GRUNTM, 4, GruntM4SeenText, GruntM4BeatenText, 0, GruntM4Script
GruntM4Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5db07
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntM5:
@@ -56,11 +69,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_5, GRUNTM, 5, GruntM5SeenText, GruntM5BeatenText, 0, GruntM5Script
GruntM5Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5db99
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntM6:
@@ -67,11 +80,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_6, GRUNTM, 6, GruntM6SeenText, GruntM6BeatenText, 0, GruntM6Script
GruntM6Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5dc00
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntF2:
@@ -78,16 +91,16 @@
trainer EVENT_BEAT_ROCKET_GRUNTF_2, GRUNTF, 2, GruntF2SeenText, GruntF2BeatenText, 0, GruntF2Script
GruntF2Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5dcd0
+ waitbutton
closetext
- loadmovesprites
end
Buena:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
iftrue UnknownScript_0x5d865
checkevent EVENT_MET_BUENA
@@ -107,40 +120,40 @@
special AskRememberPassword
iffalse UnknownScript_0x5d81e
writetext UnknownText_0x5de84
+ waitbutton
closetext
- loadmovesprites
- spriteface $b, RIGHT
+ spriteface RADIOTOWER2F_BUENA, RIGHT
checkcode VAR_FACING
- if_not_equal $3, UnknownScript_0x5d7be
+ if_not_equal RIGHT, UnknownScript_0x5d7be
applymovement PLAYER, MovementData_0x5d921
UnknownScript_0x5d7be:
spriteface PLAYER, RIGHT
- loadfont
+ opentext
writetext UnknownText_0x5dedd
+ waitbutton
closetext
- loadmovesprites
- spriteface $b, DOWN
+ spriteface RADIOTOWER2F_BUENA, DOWN
refreshscreen $0
special SpecialBuenasPassword
- loadmovesprites
+ closetext
iffalse UnknownScript_0x5d845
- loadfont
+ opentext
writetext UnknownText_0x5dfc1
+ waitbutton
closetext
- loadmovesprites
checkcode VAR_BLUECARDBALANCE
addvar $1
writevarcode VAR_BLUECARDBALANCE
- waitbutton
+ waitsfx
playsound SFX_TRANSACTION
setflag ENGINE_BUENAS_PASSWORD_2
pause 20
- spriteface $b, RIGHT
- loadfont
+ spriteface RADIOTOWER2F_BUENA, RIGHT
+ opentext
writetext UnknownText_0x5e054
+ waitbutton
closetext
- loadmovesprites
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 20
special RestartMapMusic
checkcode VAR_BLUECARDBALANCE
@@ -149,27 +162,27 @@
UnknownScript_0x5d800:
writetext UnknownText_0x5dcf4
- keeptextopen
+ buttonsound
setevent EVENT_MET_BUENA
verbosegiveitem BLUE_CARD
UnknownScript_0x5d80a:
writetext UnknownText_0x5de10
+ waitbutton
closetext
- loadmovesprites
checkcellnum PHONE_BUENA
iftrue UnknownScript_0x5d81a
checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER
iftrue UnknownScript_0x5d8cc
UnknownScript_0x5d81a:
- spriteface $b, RIGHT
+ spriteface RADIOTOWER2F_BUENA, RIGHT
end
UnknownScript_0x5d81e:
writetext UnknownText_0x5df29
+ waitbutton
closetext
- loadmovesprites
- spriteface $b, RIGHT
- special Special_RotatePalettesRightMusic
+ spriteface RADIOTOWER2F_BUENA, RIGHT
+ special Special_FadeOutMusic
pause 20
special RestartMapMusic
end
@@ -176,31 +189,31 @@
UnknownScript_0x5d82f:
writetext UnknownText_0x5df6c
+ waitbutton
closetext
- loadmovesprites
checkcellnum PHONE_BUENA
iftrue UnknownScript_0x5d83f
checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER
iftrue UnknownScript_0x5d8cc
UnknownScript_0x5d83f:
- spriteface $b, RIGHT
+ spriteface RADIOTOWER2F_BUENA, RIGHT
pause 10
end
UnknownScript_0x5d845:
setflag ENGINE_BUENAS_PASSWORD_2
- loadfont
+ opentext
writetext UnknownText_0x5e01c
+ waitbutton
closetext
- loadmovesprites
- spriteface $b, RIGHT
+ spriteface RADIOTOWER2F_BUENA, RIGHT
pause 20
- loadfont
+ opentext
writetext UnknownText_0x5e054
+ waitbutton
closetext
- loadmovesprites
- spriteface $b, RIGHT
- special Special_RotatePalettesRightMusic
+ spriteface RADIOTOWER2F_BUENA, RIGHT
+ special Special_FadeOutMusic
pause 20
special RestartMapMusic
end
@@ -207,38 +220,38 @@
UnknownScript_0x5d865:
writetext UnknownText_0x5e0c2
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x5d86b:
writetext UnknownText_0x5e192
+ waitbutton
closetext
- loadmovesprites
checkcellnum PHONE_BUENA
iftrue UnknownScript_0x5d87b
checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD
iftrue UnknownScript_0x5d8cc
UnknownScript_0x5d87b:
- spriteface $b, RIGHT
+ spriteface RADIOTOWER2F_BUENA, RIGHT
end
UnknownScript_0x5d87f:
writetext UnknownText_0x5e0f1
+ waitbutton
closetext
- loadmovesprites
checkcellnum PHONE_BUENA
iftrue UnknownScript_0x5d88f
checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD
iftrue UnknownScript_0x5d8cc
UnknownScript_0x5d88f:
- spriteface $b, RIGHT
+ spriteface RADIOTOWER2F_BUENA, RIGHT
end
UnknownScript_0x5d893:
writetext UnknownText_0x5e131
+ waitbutton
closetext
- loadmovesprites
checkcellnum PHONE_BUENA
iftrue UnknownScript_0x5d8a3
checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER
@@ -250,21 +263,21 @@
checkcellnum PHONE_BUENA
iftrue UnknownScript_0x5d8fe
pause 20
- spriteface $b, DOWN
+ spriteface RADIOTOWER2F_BUENA, DOWN
pause 15
spriteface PLAYER, UP
pause 15
checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD
iftrue UnknownScript_0x5d8cc
- showemote EMOTE_SHOCK, $b, 15
+ showemote EMOTE_SHOCK, RADIOTOWER2F_BUENA, 15
setevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD
setevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER
- loadfont
+ opentext
writetext UnknownText_0x5e1ee
jump UnknownScript_0x5d8d0
UnknownScript_0x5d8cc:
- loadfont
+ opentext
writetext UnknownText_0x5e2bf
UnknownScript_0x5d8d0:
askforphonenumber PHONE_BUENA
@@ -272,45 +285,45 @@
if_equal $2, UnknownScript_0x5d8ed
writetext UnknownText_0x5e2f3
playsound SFX_REGISTER_PHONE_NUMBER
- waitbutton
- keeptextopen
+ waitsfx
+ buttonsound
writetext UnknownText_0x5e310
+ waitbutton
closetext
- loadmovesprites
- spriteface $b, RIGHT
+ spriteface RADIOTOWER2F_BUENA, RIGHT
addcellnum PHONE_BUENA
end
UnknownScript_0x5d8ed:
writetext UnknownText_0x5e33c
+ waitbutton
closetext
- loadmovesprites
- spriteface $b, RIGHT
+ spriteface RADIOTOWER2F_BUENA, RIGHT
end
UnknownScript_0x5d8f6:
writetext UnknownText_0x5e35e
+ waitbutton
closetext
- loadmovesprites
- spriteface $b, RIGHT
+ spriteface RADIOTOWER2F_BUENA, RIGHT
UnknownScript_0x5d8fe:
end
ReceptionistScript_0x5d8ff:
faceplayer
- loadfont
+ opentext
checkitem BLUE_CARD
iffalse UnknownScript_0x5d90f
writetext UnknownText_0x5e392
- keeptextopen
+ buttonsound
special SpecialBuenaPrize
- loadmovesprites
+ closetext
end
UnknownScript_0x5d90f:
writetext UnknownText_0x5e3d8
- keeptextopen
- loadmovesprites
+ buttonsound
+ closetext
end
MapRadioTower2FSignpost0Script:
--- a/maps/RadioTower3F.asm
+++ b/maps/RadioTower3F.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const RADIOTOWER3F_SUPER_NERD
+ const RADIOTOWER3F_GYM_GUY
+ const RADIOTOWER3F_COOLTRAINER_F
+ const RADIOTOWER3F_ROCKET1
+ const RADIOTOWER3F_ROCKET2
+ const RADIOTOWER3F_ROCKET3
+ const RADIOTOWER3F_SCIENTIST
+
RadioTower3F_MapScriptHeader:
.MapTriggers:
db 0
@@ -24,23 +33,23 @@
GymGuyScript_0x5e556:
faceplayer
- loadfont
+ opentext
checkevent EVENT_CLEARED_RADIO_TOWER
iftrue UnknownScript_0x5e564
writetext UnknownText_0x5e682
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x5e564:
writetext UnknownText_0x5e6eb
+ waitbutton
closetext
- loadmovesprites
end
CooltrainerFScript_0x5e56a:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_SUNNY_DAY_FROM_RADIO_TOWER
iftrue UnknownScript_0x5e59d
checkevent EVENT_CLEARED_RADIO_TOWER
@@ -48,32 +57,32 @@
checkevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
iftrue UnknownScript_0x5e584
writetext UnknownText_0x5e754
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x5e584:
writetext UnknownText_0x5e7cb
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x5e58a:
writetext UnknownText_0x5e7e2
- keeptextopen
+ buttonsound
verbosegiveitem TM_SUNNY_DAY
iffalse UnknownScript_0x5e5a1
writetext UnknownText_0x5e821
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_GOT_SUNNY_DAY_FROM_RADIO_TOWER
end
UnknownScript_0x5e59d:
writetext UnknownText_0x5e85c
- closetext
+ waitbutton
UnknownScript_0x5e5a1:
- loadmovesprites
+ closetext
end
TrainerGruntM7:
@@ -80,11 +89,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_7, GRUNTM, 7, GruntM7SeenText, GruntM7BeatenText, 0, GruntM7Script
GruntM7Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5e8d0
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntM8:
@@ -91,11 +100,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_8, GRUNTM, 8, GruntM8SeenText, GruntM8BeatenText, 0, GruntM8Script
GruntM8Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5e944
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntM9:
@@ -102,11 +111,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_9, GRUNTM, 9, GruntM9SeenText, GruntM9BeatenText, 0, GruntM9Script
GruntM9Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5e9d0
+ waitbutton
closetext
- loadmovesprites
end
TrainerScientistMarc:
@@ -113,35 +122,35 @@
trainer EVENT_BEAT_SCIENTIST_MARC, SCIENTIST, MARC, ScientistMarcSeenText, ScientistMarcBeatenText, 0, ScientistMarcScript
ScientistMarcScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5ea61
+ waitbutton
closetext
- loadmovesprites
end
MapRadioTower3FSignpost2Script::
- loadfont
+ opentext
writetext UnknownText_0x5eaa4
- closetext
+ waitbutton
checkevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
iftrue UnknownScript_0x5e603
checkitem CARD_KEY
iftrue UnknownScript_0x5e605
UnknownScript_0x5e603:
- loadmovesprites
+ closetext
end
UnknownScript_0x5e605:
writetext UnknownText_0x5eabc
- closetext
+ waitbutton
setevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
playsound SFX_ENTER_DOOR
changeblock $e, $2, $2a
changeblock $e, $4, $1
reloadmappart
- loadmovesprites
- waitbutton
+ closetext
+ waitsfx
end
MapRadioTower3FSignpost0Script:
--- a/maps/RadioTower4F.asm
+++ b/maps/RadioTower4F.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const RADIOTOWER4F_FISHER
+ const RADIOTOWER4F_TEACHER
+ const RADIOTOWER4F_GROWLITHE
+ const RADIOTOWER4F_ROCKET1
+ const RADIOTOWER4F_ROCKET2
+ const RADIOTOWER4F_ROCKET_GIRL
+ const RADIOTOWER4F_SCIENTIST
+
RadioTower4F_MapScriptHeader:
.MapTriggers:
db 0
@@ -10,40 +19,40 @@
TeacherScript_0x5eb85:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_PINK_BOW_FROM_MARY
iftrue UnknownScript_0x5ebac
checkevent EVENT_CLEARED_RADIO_TOWER
iftrue UnknownScript_0x5eb99
writetext UnknownText_0x5ec68
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x5eb99:
writetext UnknownText_0x5ecab
- keeptextopen
+ buttonsound
verbosegiveitem PINK_BOW
iffalse UnknownScript_0x5ebb0
writetext UnknownText_0x5ecef
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_GOT_PINK_BOW_FROM_MARY
end
UnknownScript_0x5ebac:
writetext UnknownText_0x5ed2c
- closetext
+ waitbutton
UnknownScript_0x5ebb0:
- loadmovesprites
+ closetext
end
GrowlitheScript_0x5ebb2:
- loadfont
+ opentext
writetext UnknownText_0x5ed66
cry MEOWTH
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntM10:
@@ -50,11 +59,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_10, GRUNTM, 10, GruntM10SeenText, GruntM10BeatenText, 0, GruntM10Script
GruntM10Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5ede2
+ waitbutton
closetext
- loadmovesprites
end
TrainerExecutivem2:
@@ -61,11 +70,11 @@
trainer EVENT_BEAT_ROCKET_EXECUTIVEM_2, EXECUTIVEM, 2, Executivem2SeenText, Executivem2BeatenText, 0, Executivem2Script
Executivem2Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5ee69
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntF4:
@@ -72,11 +81,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTF_4, GRUNTF, 4, GruntF4SeenText, GruntF4BeatenText, 0, GruntF4Script
GruntF4Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5ef31
+ waitbutton
closetext
- loadmovesprites
end
TrainerScientistRich:
@@ -83,11 +92,11 @@
trainer EVENT_BEAT_SCIENTIST_RICH, SCIENTIST, RICH, ScientistRichSeenText, ScientistRichBeatenText, 0, ScientistRichScript
ScientistRichScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5efcb
+ waitbutton
closetext
- loadmovesprites
end
MapRadioTower4FSignpost0Script:
--- a/maps/RadioTower5F.asm
+++ b/maps/RadioTower5F.asm
@@ -1,47 +1,54 @@
+const_value set 2
+ const RADIOTOWER5F_DIRECTOR
+ const RADIOTOWER5F_ROCKET
+ const RADIOTOWER5F_ROCKET_GIRL
+ const RADIOTOWER5F_ROCKER
+ const RADIOTOWER5F_POKE_BALL
+
RadioTower5F_MapScriptHeader:
.MapTriggers:
db 3
; triggers
- dw UnknownScript_0x6000e, 0
- dw UnknownScript_0x6000f, 0
- dw UnknownScript_0x60010, 0
+ dw .Trigger0, 0
+ dw .Trigger1, 0
+ dw .Trigger2, 0
.MapCallbacks:
db 0
-UnknownScript_0x6000e:
+.Trigger0:
end
-UnknownScript_0x6000f:
+.Trigger1:
end
-UnknownScript_0x60010:
+.Trigger2:
end
-UnknownScript_0x60011:
- spriteface $2, UP
- showemote EMOTE_SHOCK, $2, 15
- loadfont
- writetext UnknownText_0x60128
+FakeDirectorScript:
+ spriteface RADIOTOWER5F_DIRECTOR, UP
+ showemote EMOTE_SHOCK, RADIOTOWER5F_DIRECTOR, 15
+ opentext
+ writetext FakeDirectorTextBefore1
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x60109
+ applymovement RADIOTOWER5F_DIRECTOR, FakeDirectorMovement
playmusic MUSIC_ROCKET_ENCOUNTER
- loadfont
- writetext UnknownText_0x60147
+ opentext
+ writetext FakeDirectorTextBefore2
+ waitbutton
closetext
- loadmovesprites
- winlosstext UnknownText_0x60223, 0
- setlasttalked $2
+ winlosstext FakeDirectorWinText, 0
+ setlasttalked RADIOTOWER5F_DIRECTOR
loadtrainer EXECUTIVEM, 3
startbattle
- returnafterbattle
- loadfont
- writetext UnknownText_0x60246
- keeptextopen
+ reloadmapafterbattle
+ opentext
+ writetext FakeDirectorTextAfter
+ buttonsound
verbosegiveitem BASEMENT_KEY
- loadmovesprites
+ closetext
dotrigger $1
setevent EVENT_BEAT_ROCKET_EXECUTIVEM_3
end
@@ -48,18 +55,18 @@
Director:
faceplayer
- loadfont
+ opentext
checkevent EVENT_CLEARED_RADIO_TOWER
- iftrue UnknownScript_0x60054
- writetext UnknownText_0x60246
+ iftrue .TrueDirector
+ writetext FakeDirectorTextAfter
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x60054:
- writetext UnknownText_0x60824
+.TrueDirector:
+ writetext RadioTower5FDirectorText
+ waitbutton
closetext
- loadmovesprites
end
TrainerExecutivef1:
@@ -66,34 +73,34 @@
trainer EVENT_BEAT_ROCKET_EXECUTIVEF_1, EXECUTIVEF, 1, Executivef1SeenText, Executivef1BeatenText, 0, Executivef1Script
Executivef1Script:
- talkaftercancel
- loadfont
- writetext UnknownText_0x60358
+ end_if_just_battled
+ opentext
+ writetext Executivef1AfterText
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x6006e:
+RadioTower5FRocketBossTrigger:
applymovement PLAYER, MovementData_0x60125
playmusic MUSIC_ROCKET_ENCOUNTER
- spriteface $3, RIGHT
- loadfont
- writetext UnknownText_0x603d1
+ spriteface RADIOTOWER5F_ROCKET, RIGHT
+ opentext
+ writetext RadioTower5FRocketBossBeforeText
+ waitbutton
closetext
- loadmovesprites
- winlosstext UnknownText_0x604f3, 0
- setlasttalked $3
+ winlosstext RadioTower5FRocketBossWinText, 0
+ setlasttalked RADIOTOWER5F_ROCKET
loadtrainer EXECUTIVEM, 1
startbattle
- returnafterbattle
- loadfont
- writetext UnknownText_0x6050e
+ reloadmapafterbattle
+ opentext
+ writetext RadioTower5FRocketBossAfterText
+ waitbutton
closetext
- loadmovesprites
special Special_FadeBlackQuickly
special Special_ReloadSpritesNoPalettes
- disappear $3
- disappear $4
+ disappear RADIOTOWER5F_ROCKET
+ disappear RADIOTOWER5F_ROCKET_GIRL
pause 15
special Special_FadeInQuickly
setevent EVENT_BEAT_ROCKET_EXECUTIVEM_1
@@ -109,46 +116,46 @@
setevent EVENT_BLACKTHORN_CITY_SUPER_NERD_BLOCKS_GYM
clearevent EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM
special PlayMapMusic
- disappear $2
- moveperson $2, $c, $0
- appear $2
- applymovement $2, MovementData_0x6010f
+ disappear RADIOTOWER5F_DIRECTOR
+ moveperson RADIOTOWER5F_DIRECTOR, $c, $0
+ appear RADIOTOWER5F_DIRECTOR
+ applymovement RADIOTOWER5F_DIRECTOR, RadioTower5FDirectorWalksIn
spriteface PLAYER, RIGHT
- loadfont
- writetext UnknownText_0x605b2
- keeptextopen
+ opentext
+ writetext RadioTower5FDirectorThankYouText
+ buttonsound
verbosegiveitem CLEAR_BELL
- writetext UnknownText_0x6062c
+ writetext RadioTower5FDirectorDescribeClearBellText
+ waitbutton
closetext
- loadmovesprites
dotrigger $2
domaptrigger ECRUTEAK_HOUSE, $0
setevent EVENT_GOT_CLEAR_BELL
setevent EVENT_TEAM_ROCKET_DISBANDED
- jump UnknownScript_0x600f1
+ jump .UselessJump
-UnknownScript_0x600f1:
- applymovement $2, MovementData_0x6011a
+.UselessJump:
+ applymovement RADIOTOWER5F_DIRECTOR, RadioTower5FDirectorWalksOut
playsound SFX_EXIT_BUILDING
- disappear $2
+ disappear RADIOTOWER5F_DIRECTOR
end
Ben:
jumptextfaceplayer BenText
-ItemFragment_0x600fe:
- db ULTRA_BALL, 1
+RadioTower5FUltraBall:
+ itemball ULTRA_BALL
MapRadioTower5FSignpost0Script:
- jumptext UnknownText_0x608e0
+ jumptext SignpostRadioTower5FOffice
MapRadioTower5FSignpost2Script:
- jumptext UnknownText_0x608f9
+ jumptext SignpostRadioTower5FStudio
RadioTower5FBookshelf:
jumpstd magazinebookshelf
-MovementData_0x60109:
+FakeDirectorMovement:
step_left
step_left
step_left
@@ -156,7 +163,7 @@
step_up
step_end
-MovementData_0x6010f:
+RadioTower5FDirectorWalksIn:
step_down
step_down
step_right
@@ -169,7 +176,7 @@
step_left
step_end
-MovementData_0x6011a:
+RadioTower5FDirectorWalksOut:
step_right
step_up
step_up
@@ -187,12 +194,12 @@
step_left
step_end
-UnknownText_0x60128:
+FakeDirectorTextBefore1:
text "Y-you! You came to"
line "rescue me?"
done
-UnknownText_0x60147:
+FakeDirectorTextBefore2:
text "Is that what you"
line "were expecting?"
@@ -214,12 +221,12 @@
cont "you can beat me!"
done
-UnknownText_0x60223:
+FakeDirectorWinText:
text "OK, OK. I'll tell"
line "you where he is."
done
-UnknownText_0x60246:
+FakeDirectorTextAfter:
text "We stashed the"
line "real DIRECTOR in"
@@ -251,7 +258,7 @@
line "I still lost…"
done
-UnknownText_0x60358:
+Executivef1AfterText:
text "<PLAYER>, isn't it?"
para "A brat like you"
@@ -265,7 +272,7 @@
cont "your power."
done
-UnknownText_0x603d1:
+RadioTower5FRocketBossBeforeText:
text "Oh? You managed to"
line "get this far?"
@@ -294,12 +301,12 @@
cont "our plans."
done
-UnknownText_0x604f3:
+RadioTower5FRocketBossWinText:
text "No! Forgive me,"
line "GIOVANNI!"
done
-UnknownText_0x6050e:
+RadioTower5FRocketBossAfterText:
text "How could this be?"
para "Our dreams have"
@@ -317,7 +324,7 @@
para "Farewell."
done
-UnknownText_0x605b2:
+RadioTower5FDirectorThankYouText:
text "DIRECTOR: <PLAY_G>,"
line "thank you!"
@@ -332,7 +339,7 @@
cont "take this."
done
-UnknownText_0x6062c:
+RadioTower5FDirectorDescribeClearBellText:
text "There used to be a"
line "tower right here"
cont "in GOLDENROD CITY."
@@ -383,7 +390,7 @@
line "my OFFICE."
done
-UnknownText_0x60824:
+RadioTower5FDirectorText:
text "DIRECTOR: Hello,"
line "<PLAY_G>!"
@@ -406,12 +413,12 @@
line "to our music?"
done
-UnknownText_0x608e0:
+SignpostRadioTower5FOffice:
text "5F DIRECTOR'S"
line " OFFICE"
done
-UnknownText_0x608f9:
+SignpostRadioTower5FStudio:
text "5F STUDIO 1"
done
@@ -426,8 +433,8 @@
.XYTriggers:
db 2
- xy_trigger 0, $3, $0, $0, UnknownScript_0x60011, $0, $0
- xy_trigger 1, $5, $10, $0, UnknownScript_0x6006e, $0, $0
+ xy_trigger 0, $3, $0, $0, FakeDirectorScript, $0, $0
+ xy_trigger 1, $5, $10, $0, RadioTower5FRocketBossTrigger, $0, $0
.Signposts:
db 5
@@ -443,4 +450,4 @@
person_event SPRITE_ROCKET, 5, 13, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
person_event SPRITE_ROCKET_GIRL, 2, 17, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 1, TrainerExecutivef1, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
person_event SPRITE_ROCKER, 5, 13, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, Ben, EVENT_RADIO_TOWER_CIVILIANS_AFTER
- person_event SPRITE_POKE_BALL, 5, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x600fe, EVENT_RADIO_TOWER_5F_ULTRA_BALL
+ person_event SPRITE_POKE_BALL, 5, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RadioTower5FUltraBall, EVENT_RADIO_TOWER_5F_ULTRA_BALL
--- a/maps/RedsHouse1F.asm
+++ b/maps/RedsHouse1F.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const REDSHOUSE1F_REDS_MOM
+
RedsHouse1F_MapScriptHeader:
.MapTriggers:
db 1
@@ -13,18 +16,18 @@
RedsMom:
faceplayer
- loadfont
+ opentext
checkevent EVENT_MET_REDS_MOM
iftrue .MetAlready
writetext RedsMomText1
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_MET_REDS_MOM
end
.MetAlready
writetext RedsMomText2
+ waitbutton
closetext
- loadmovesprites
end
RedsHouse1FTV:
--- a/maps/RedsHouse2F.asm
+++ b/maps/RedsHouse2F.asm
@@ -1,3 +1,4 @@
+
RedsHouse2F_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/RockTunnel1F.asm
+++ b/maps/RockTunnel1F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ROCKTUNNEL1F_POKE_BALL1
+ const ROCKTUNNEL1F_POKE_BALL2
+
RockTunnel1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,17 +9,17 @@
.MapCallbacks:
db 0
-ItemFragment_0x743b5:
- db ELIXER, 1
+RockTunnel1FElixer:
+ itemball ELIXER
-ItemFragment_0x743b7:
- db TM_STEEL_WING, 1
+RockTunnel1FTMSteelWing:
+ itemball TM_STEEL_WING
-MapRockTunnel1FSignpostItem0:
+RockTunnel1FHiddenXAccuracy:
dwb EVENT_ROCK_TUNNEL_1F_HIDDEN_X_ACCURACY, X_ACCURACY
-MapRockTunnel1FSignpostItem1:
+RockTunnel1FHiddenXDefend:
dwb EVENT_ROCK_TUNNEL_1F_HIDDEN_X_DEFEND, X_DEFEND
@@ -37,10 +41,10 @@
.Signposts:
db 2
- signpost 4, 24, SIGNPOST_ITEM, MapRockTunnel1FSignpostItem0
- signpost 15, 21, SIGNPOST_ITEM, MapRockTunnel1FSignpostItem1
+ signpost 4, 24, SIGNPOST_ITEM, RockTunnel1FHiddenXAccuracy
+ signpost 15, 21, SIGNPOST_ITEM, RockTunnel1FHiddenXDefend
.PersonEvents:
db 2
- person_event SPRITE_POKE_BALL, 18, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x743b5, EVENT_ROCK_TUNNEL_1F_ELIXER
- person_event SPRITE_POKE_BALL, 15, 10, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x743b7, EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING
+ person_event SPRITE_POKE_BALL, 18, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RockTunnel1FElixer, EVENT_ROCK_TUNNEL_1F_ELIXER
+ person_event SPRITE_POKE_BALL, 15, 10, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RockTunnel1FTMSteelWing, EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING
--- a/maps/RockTunnelB1F.asm
+++ b/maps/RockTunnelB1F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const ROCKTUNNELB1F_POKE_BALL1
+ const ROCKTUNNELB1F_POKE_BALL2
+ const ROCKTUNNELB1F_POKE_BALL3
+
RockTunnelB1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,16 +10,16 @@
.MapCallbacks:
db 0
-ItemFragment_0x74409:
- db IRON, 1
+RockTunnelB1FIron:
+ itemball IRON
-ItemFragment_0x7440b:
- db PP_UP, 1
+RockTunnelB1FPPUp:
+ itemball PP_UP
-ItemFragment_0x7440d:
- db REVIVE, 1
+RockTunnelB1FRevive:
+ itemball REVIVE
-MapRockTunnelB1FSignpostItem0:
+RockTunnelB1FHiddenMaxPotion:
dwb EVENT_ROCK_TUNNEL_B1F_HIDDEN_MAX_POTION, MAX_POTION
@@ -34,10 +39,10 @@
.Signposts:
db 1
- signpost 14, 4, SIGNPOST_ITEM, MapRockTunnelB1FSignpostItem0
+ signpost 14, 4, SIGNPOST_ITEM, RockTunnelB1FHiddenMaxPotion
.PersonEvents:
db 3
- person_event SPRITE_POKE_BALL, 25, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x74409, EVENT_ROCK_TUNNEL_B1F_IRON
- person_event SPRITE_POKE_BALL, 17, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7440b, EVENT_ROCK_TUNNEL_B1F_PP_UP
- person_event SPRITE_POKE_BALL, 2, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7440d, EVENT_ROCK_TUNNEL_B1F_REVIVE
+ person_event SPRITE_POKE_BALL, 25, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RockTunnelB1FIron, EVENT_ROCK_TUNNEL_B1F_IRON
+ person_event SPRITE_POKE_BALL, 17, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RockTunnelB1FPPUp, EVENT_ROCK_TUNNEL_B1F_PP_UP
+ person_event SPRITE_POKE_BALL, 2, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RockTunnelB1FRevive, EVENT_ROCK_TUNNEL_B1F_REVIVE
--- a/maps/Route1.asm
+++ b/maps/Route1.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const ROUTE1_YOUNGSTER
+ const ROUTE1_COOLTRAINER_F
+ const ROUTE1_FRUIT_TREE
+
Route1_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +14,11 @@
trainer EVENT_BEAT_SCHOOLBOY_DANNY, SCHOOLBOY, DANNY, SchoolboyDannySeenText, SchoolboyDannyBeatenText, 0, SchoolboyDannyScript
SchoolboyDannyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ac5d7
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfQuinn:
@@ -20,11 +25,11 @@
trainer EVENT_BEAT_COOLTRAINERF_QUINN, COOLTRAINERF, QUINN, CooltrainerfQuinnSeenText, CooltrainerfQuinnBeatenText, 0, CooltrainerfQuinnScript
CooltrainerfQuinnScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ac640
+ waitbutton
closetext
- loadmovesprites
end
MapRoute1Signpost0Script:
--- a/maps/Route10North.asm
+++ b/maps/Route10North.asm
@@ -1,3 +1,4 @@
+
Route10North_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route10PokeCenter1F.asm
+++ b/maps/Route10PokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const ROUTE10POKECENTER1F_NURSE
+ const ROUTE10POKECENTER1F_GENTLEMAN
+ const ROUTE10POKECENTER1F_GYM_GUY
+ const ROUTE10POKECENTER1F_COOLTRAINER_F
+
Route10PokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -13,18 +19,18 @@
GymGuyScript_0x188bda:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x188be8
writetext UnknownText_0x188c26
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x188be8:
writetext UnknownText_0x188c9e
+ waitbutton
closetext
- loadmovesprites
end
CooltrainerFScript_0x188bee:
--- a/maps/Route10PokeCenter2FBeta.asm
+++ b/maps/Route10PokeCenter2FBeta.asm
@@ -1,3 +1,4 @@
+
Route10PokeCenter2FBeta_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route10South.asm
+++ b/maps/Route10South.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ROUTE10SOUTH_POKEFAN_M1
+ const ROUTE10SOUTH_POKEFAN_M2
+
Route10South_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +13,11 @@
trainer EVENT_BEAT_HIKER_JIM, HIKER, JIM, HikerJimSeenText, HikerJimBeatenText, 0, HikerJimScript
HikerJimScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ae43b
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokefanmRobert:
@@ -20,11 +24,11 @@
trainer EVENT_BEAT_POKEFANM_ROBERT, POKEFANM, ROBERT, PokefanmRobertSeenText, PokefanmRobertBeatenText, 0, PokefanmRobertScript
PokefanmRobertScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ae4a9
+ waitbutton
closetext
- loadmovesprites
end
MapRoute10SouthSignpost0Script:
--- a/maps/Route11.asm
+++ b/maps/Route11.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const ROUTE11_YOUNGSTER1
+ const ROUTE11_YOUNGSTER2
+ const ROUTE11_YOUNGSTER3
+ const ROUTE11_YOUNGSTER4
+ const ROUTE11_FRUIT_TREE
+
Route11_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +16,11 @@
trainer EVENT_BEAT_YOUNGSTER_OWEN, YOUNGSTER, OWEN, YoungsterOwenSeenText, YoungsterOwenBeatenText, 0, YoungsterOwenScript
YoungsterOwenScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x680b2
+ waitbutton
closetext
- loadmovesprites
end
TrainerYoungsterJason:
@@ -20,11 +27,11 @@
trainer EVENT_BEAT_YOUNGSTER_JASON, YOUNGSTER, JASON, YoungsterJasonSeenText, YoungsterJasonBeatenText, 0, YoungsterJasonScript
YoungsterJasonScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6814a
+ waitbutton
closetext
- loadmovesprites
end
TrainerPsychicHerman:
@@ -31,11 +38,11 @@
trainer EVENT_BEAT_PSYCHIC_HERMAN, PSYCHIC_T, HERMAN, PsychicHermanSeenText, PsychicHermanBeatenText, 0, PsychicHermanScript
PsychicHermanScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6817b
+ waitbutton
closetext
- loadmovesprites
end
TrainerPsychicFidel:
@@ -42,11 +49,11 @@
trainer EVENT_BEAT_PSYCHIC_FIDEL, PSYCHIC_T, FIDEL, PsychicFidelSeenText, PsychicFidelBeatenText, 0, PsychicFidelScript
PsychicFidelScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x681ec
+ waitbutton
closetext
- loadmovesprites
end
MapRoute11Signpost0Script:
@@ -55,7 +62,7 @@
FruitTreeScript_0x68055:
fruittree FRUITTREE_ROUTE_11
-MapRoute11SignpostItem1:
+Route11HiddenRevive:
dwb EVENT_ROUTE_11_HIDDEN_REVIVE, REVIVE
@@ -152,7 +159,7 @@
.Signposts:
db 2
signpost 7, 3, SIGNPOST_READ, MapRoute11Signpost0Script
- signpost 5, 32, SIGNPOST_ITEM, MapRoute11SignpostItem1
+ signpost 5, 32, SIGNPOST_ITEM, Route11HiddenRevive
.PersonEvents:
db 5
--- a/maps/Route12.asm
+++ b/maps/Route12.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const ROUTE12_FISHER1
+ const ROUTE12_FISHER2
+ const ROUTE12_FISHER3
+ const ROUTE12_FISHER4
+ const ROUTE12_POKE_BALL1
+ const ROUTE12_POKE_BALL2
+
Route12_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +17,11 @@
trainer EVENT_BEAT_FISHER_KYLE, FISHER, KYLE, FisherKyleSeenText, FisherKyleBeatenText, 0, FisherKyleScript
FisherKyleScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a7238
+ waitbutton
closetext
- loadmovesprites
end
TrainerFisherMartin:
@@ -20,11 +28,11 @@
trainer EVENT_BEAT_FISHER_MARTIN, FISHER, MARTIN, FisherMartinSeenText, FisherMartinBeatenText, 0, FisherMartinScript
FisherMartinScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a704c
+ waitbutton
closetext
- loadmovesprites
end
TrainerFisherStephen:
@@ -31,11 +39,11 @@
trainer EVENT_BEAT_FISHER_STEPHEN, FISHER, STEPHEN, FisherStephenSeenText, FisherStephenBeatenText, 0, FisherStephenScript
FisherStephenScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a70d4
+ waitbutton
closetext
- loadmovesprites
end
TrainerFisherBarney:
@@ -42,11 +50,11 @@
trainer EVENT_BEAT_FISHER_BARNEY, FISHER, BARNEY, FisherBarneySeenText, FisherBarneyBeatenText, 0, FisherBarneyScript
FisherBarneyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a716d
+ waitbutton
closetext
- loadmovesprites
end
MapRoute12Signpost0Script:
@@ -55,13 +63,13 @@
MapRoute12Signpost1Script:
jumptext UnknownText_0x1a72c1
-ItemFragment_0x1a700b:
- db CALCIUM, 1
+Route12Calcium:
+ itemball CALCIUM
-ItemFragment_0x1a700d:
- db NUGGET, 1
+Route12Nugget:
+ itemball NUGGET
-MapRoute12SignpostItem2:
+Route12HiddenElixer:
dwb EVENT_ROUTE_12_HIDDEN_ELIXER, ELIXER
@@ -174,7 +182,7 @@
db 3
signpost 27, 11, SIGNPOST_READ, MapRoute12Signpost0Script
signpost 9, 13, SIGNPOST_READ, MapRoute12Signpost1Script
- signpost 13, 14, SIGNPOST_ITEM, MapRoute12SignpostItem2
+ signpost 13, 14, SIGNPOST_ITEM, Route12HiddenElixer
.PersonEvents:
db 6
@@ -182,5 +190,5 @@
person_event SPRITE_FISHER, 23, 14, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_TRAINER, 1, TrainerFisherStephen, -1
person_event SPRITE_FISHER, 38, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_TRAINER, 5, TrainerFisherBarney, -1
person_event SPRITE_FISHER, 7, 6, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_TRAINER, 3, TrainerFisherKyle, -1
- person_event SPRITE_POKE_BALL, 43, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1a700b, EVENT_ROUTE_12_CALCIUM
- person_event SPRITE_POKE_BALL, 51, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1a700d, EVENT_ROUTE_12_NUGGET
+ person_event SPRITE_POKE_BALL, 43, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route12Calcium, EVENT_ROUTE_12_CALCIUM
+ person_event SPRITE_POKE_BALL, 51, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route12Nugget, EVENT_ROUTE_12_NUGGET
--- a/maps/Route12SuperRodHouse.asm
+++ b/maps/Route12SuperRodHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE12SUPERRODHOUSE_FISHING_GURU
+
Route12SuperRodHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,7 +10,7 @@
FishingGuruScript_0x7f484:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_SUPER_ROD
iftrue UnknownScript_0x7f4a0
writetext UnknownText_0x7f4af
@@ -14,21 +17,21 @@
yesorno
iffalse UnknownScript_0x7f4a6
writetext UnknownText_0x7f52f
- keeptextopen
+ buttonsound
verbosegiveitem SUPER_ROD
iffalse UnknownScript_0x7f4aa
setevent EVENT_GOT_SUPER_ROD
UnknownScript_0x7f4a0:
writetext UnknownText_0x7f57c
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x7f4a6:
writetext UnknownText_0x7f5ec
- closetext
+ waitbutton
UnknownScript_0x7f4aa:
- loadmovesprites
+ closetext
end
SuperRodHouseBookshelf:
--- a/maps/Route13.asm
+++ b/maps/Route13.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const ROUTE13_YOUNGSTER1
+ const ROUTE13_YOUNGSTER2
+ const ROUTE13_POKEFAN_M1
+ const ROUTE13_POKEFAN_M2
+ const ROUTE13_POKEFAN_M3
+
Route13_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +16,11 @@
trainer EVENT_BEAT_POKEFANM_ALEX, POKEFANM, ALEX, PokefanmAlexSeenText, PokefanmAlexBeatenText, 0, PokefanmAlexScript
PokefanmAlexScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a24e3
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokefanmJoshua:
@@ -20,11 +27,11 @@
trainer EVENT_BEAT_POKEFANM_JOSHUA, POKEFANM, JOSHUA, PokefanmJoshuaSeenText, PokefanmJoshuaBeatenText, 0, PokefanmJoshuaScript
PokefanmJoshuaScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a254f
+ waitbutton
closetext
- loadmovesprites
end
TrainerBird_keeperPerry:
@@ -31,11 +38,11 @@
trainer EVENT_BEAT_BIRD_KEEPER_PERRY, BIRD_KEEPER, PERRY, Bird_keeperPerrySeenText, Bird_keeperPerryBeatenText, 0, Bird_keeperPerryScript
Bird_keeperPerryScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a25db
+ waitbutton
closetext
- loadmovesprites
end
TrainerBird_keeperBret:
@@ -42,11 +49,11 @@
trainer EVENT_BEAT_BIRD_KEEPER_BRET, BIRD_KEEPER, BRET, Bird_keeperBretSeenText, Bird_keeperBretBeatenText, 0, Bird_keeperBretScript
Bird_keeperBretScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a2662
+ waitbutton
closetext
- loadmovesprites
end
TrainerHikerKenny:
@@ -53,11 +60,11 @@
trainer EVENT_BEAT_HIKER_KENNY, HIKER, KENNY, HikerKennySeenText, HikerKennyBeatenText, 0, HikerKennyScript
HikerKennyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a26c2
+ waitbutton
closetext
- loadmovesprites
end
MapRoute13Signpost0Script:
@@ -69,7 +76,7 @@
MapRoute13Signpost2Script:
jumptext UnknownText_0x1a277d
-MapRoute13SignpostItem3:
+Route13HiddenCalcium:
dwb EVENT_ROUTE_13_HIDDEN_CALCIUM, CALCIUM
@@ -200,7 +207,7 @@
signpost 13, 29, SIGNPOST_READ, MapRoute13Signpost0Script
signpost 11, 41, SIGNPOST_READ, MapRoute13Signpost1Script
signpost 13, 17, SIGNPOST_READ, MapRoute13Signpost2Script
- signpost 13, 30, SIGNPOST_ITEM, MapRoute13SignpostItem3
+ signpost 13, 30, SIGNPOST_ITEM, Route13HiddenCalcium
.PersonEvents:
db 5
--- a/maps/Route14.asm
+++ b/maps/Route14.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const ROUTE14_POKEFAN_M1
+ const ROUTE14_YOUNGSTER
+ const ROUTE14_POKEFAN_M2
+ const ROUTE14_TEACHER
+
Route14_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,10 +13,10 @@
TeacherScript_0x1ad47f:
faceplayer
- loadfont
+ opentext
trade $5
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokefanmCarter:
@@ -17,11 +23,11 @@
trainer EVENT_BEAT_POKEFANM_CARTER, POKEFANM, CARTER, PokefanmCarterSeenText, PokefanmCarterBeatenText, 0, PokefanmCarterScript
PokefanmCarterScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ad508
+ waitbutton
closetext
- loadmovesprites
end
TrainerBird_keeperRoy:
@@ -28,11 +34,11 @@
trainer EVENT_BEAT_BIRD_KEEPER_ROY, BIRD_KEEPER, ROY, Bird_keeperRoySeenText, Bird_keeperRoyBeatenText, 0, Bird_keeperRoyScript
Bird_keeperRoyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ad5a4
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokefanmTrevor:
@@ -39,11 +45,11 @@
trainer EVENT_BEAT_POKEFANM_TREVOR, POKEFANM, TREVOR, PokefanmTrevorSeenText, PokefanmTrevorBeatenText, 0, PokefanmTrevorScript
PokefanmTrevorScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ad660
+ waitbutton
closetext
- loadmovesprites
end
PokefanmCarterSeenText:
--- a/maps/Route15.asm
+++ b/maps/Route15.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const ROUTE15_YOUNGSTER1
+ const ROUTE15_YOUNGSTER2
+ const ROUTE15_YOUNGSTER3
+ const ROUTE15_YOUNGSTER4
+ const ROUTE15_TEACHER1
+ const ROUTE15_TEACHER2
+ const ROUTE15_POKE_BALL
+
Route15_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +18,11 @@
trainer EVENT_BEAT_TEACHER_COLETTE, TEACHER, COLETTE, TeacherColetteSeenText, TeacherColetteBeatenText, 0, TeacherColetteScript
TeacherColetteScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1aa60d
+ waitbutton
closetext
- loadmovesprites
end
TrainerTeacherHillary:
@@ -20,11 +29,11 @@
trainer EVENT_BEAT_TEACHER_HILLARY, TEACHER, HILLARY, TeacherHillarySeenText, TeacherHillaryBeatenText, 0, TeacherHillaryScript
TeacherHillaryScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1aa6ca
+ waitbutton
closetext
- loadmovesprites
end
TrainerSchoolboyKipp:
@@ -31,11 +40,11 @@
trainer EVENT_BEAT_SCHOOLBOY_KIP, SCHOOLBOY, KIPP, SchoolboyKippSeenText, SchoolboyKippBeatenText, 0, SchoolboyKippScript
SchoolboyKippScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1aa740
+ waitbutton
closetext
- loadmovesprites
end
TrainerSchoolboyTommy:
@@ -42,11 +51,11 @@
trainer EVENT_BEAT_SCHOOLBOY_TOMMY, SCHOOLBOY, TOMMY, SchoolboyTommySeenText, SchoolboyTommyBeatenText, 0, SchoolboyTommyScript
SchoolboyTommyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1aa7bc
+ waitbutton
closetext
- loadmovesprites
end
TrainerSchoolboyJohnny:
@@ -53,11 +62,11 @@
trainer EVENT_BEAT_SCHOOLBOY_JOHNNY, SCHOOLBOY, JOHNNY, SchoolboyJohnnySeenText, SchoolboyJohnnyBeatenText, 0, SchoolboyJohnnyScript
SchoolboyJohnnyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1aa84a
+ waitbutton
closetext
- loadmovesprites
end
TrainerSchoolboyBilly:
@@ -64,18 +73,18 @@
trainer EVENT_BEAT_SCHOOLBOY_BILLY, SCHOOLBOY, BILLY, SchoolboyBillySeenText, SchoolboyBillyBeatenText, 0, SchoolboyBillyScript
SchoolboyBillyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1aa8b0
+ waitbutton
closetext
- loadmovesprites
end
MapRoute15Signpost0Script:
jumptext UnknownText_0x1aa8e3
-ItemFragment_0x1aa5e4:
- db PP_UP, 1
+Route15PPUp:
+ itemball PP_UP
TeacherColetteSeenText:
text "Have you forgotten"
@@ -216,4 +225,4 @@
person_event SPRITE_YOUNGSTER, 10, 27, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerSchoolboyBilly, -1
person_event SPRITE_TEACHER, 12, 30, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 4, TrainerTeacherColette, -1
person_event SPRITE_TEACHER, 10, 20, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 3, TrainerTeacherHillary, -1
- person_event SPRITE_POKE_BALL, 5, 12, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1aa5e4, EVENT_ROUTE_15_PP_UP
+ person_event SPRITE_POKE_BALL, 5, 12, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route15PPUp, EVENT_ROUTE_15_PP_UP
--- a/maps/Route15FuchsiaGate.asm
+++ b/maps/Route15FuchsiaGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE15FUCHSIAGATE_OFFICER
+
Route15FuchsiaGate_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route16.asm
+++ b/maps/Route16.asm
@@ -1,3 +1,4 @@
+
Route16_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route16FuchsiaSpeechHouse.asm
+++ b/maps/Route16FuchsiaSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE16FUCHSIASPEECHHOUSE_SUPER_NERD
+
Route16FuchsiaSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route16Gate.asm
+++ b/maps/Route16Gate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE16GATE_OFFICER
+
Route16Gate_MapScriptHeader:
.MapTriggers:
db 1
@@ -20,12 +23,12 @@
end
UnknownScript_0x733f3:
- showemote EMOTE_SHOCK, $2, 15
+ showemote EMOTE_SHOCK, ROUTE16GATE_OFFICER, 15
spriteface PLAYER, UP
- loadfont
+ opentext
writetext UnknownText_0x73496
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x73405
end
--- a/maps/Route17.asm
+++ b/maps/Route17.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const ROUTE17_BIKER1
+ const ROUTE17_BIKER2
+ const ROUTE17_BIKER3
+ const ROUTE17_BIKER4
+
Route17_MapScriptHeader:
.MapTriggers:
db 0
@@ -18,11 +24,11 @@
trainer EVENT_BEAT_BIKER_CHARLES, BIKER, CHARLES, BikerCharlesSeenText, BikerCharlesBeatenText, 0, BikerCharlesScript
BikerCharlesScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ad293
+ waitbutton
closetext
- loadmovesprites
end
TrainerBikerRiley:
@@ -29,11 +35,11 @@
trainer EVENT_BEAT_BIKER_RILEY, BIKER, RILEY, BikerRileySeenText, BikerRileyBeatenText, 0, BikerRileyScript
BikerRileyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ad13b
+ waitbutton
closetext
- loadmovesprites
end
TrainerBikerJoel:
@@ -40,11 +46,11 @@
trainer EVENT_BEAT_BIKER_JOEL, BIKER, JOEL, BikerJoelSeenText, BikerJoelBeatenText, 0, BikerJoelScript
BikerJoelScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ad196
+ waitbutton
closetext
- loadmovesprites
end
TrainerBikerGlenn:
@@ -51,18 +57,18 @@
trainer EVENT_BEAT_BIKER_GLENN, BIKER, GLENN, BikerGlennSeenText, BikerGlennBeatenText, 0, BikerGlennScript
BikerGlennScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ad225
+ waitbutton
closetext
- loadmovesprites
end
-MapRoute17SignpostItem0:
+Route17HiddenMaxEther:
dwb EVENT_ROUTE_17_HIDDEN_MAX_ETHER, MAX_ETHER
-MapRoute17SignpostItem1:
+Route17HiddenMaxElixer:
dwb EVENT_ROUTE_17_HIDDEN_MAX_ELIXER, MAX_ELIXER
@@ -145,8 +151,8 @@
.Signposts:
db 2
- signpost 54, 9, SIGNPOST_ITEM, MapRoute17SignpostItem0
- signpost 77, 8, SIGNPOST_ITEM, MapRoute17SignpostItem1
+ signpost 54, 9, SIGNPOST_ITEM, Route17HiddenMaxEther
+ signpost 77, 8, SIGNPOST_ITEM, Route17HiddenMaxElixer
.PersonEvents:
db 4
--- a/maps/Route1718Gate.asm
+++ b/maps/Route1718Gate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE1718GATE_OFFICER
+
Route1718Gate_MapScriptHeader:
.MapTriggers:
db 1
@@ -20,12 +23,12 @@
end
UnknownScript_0x73617:
- showemote EMOTE_SHOCK, $2, 15
+ showemote EMOTE_SHOCK, ROUTE1718GATE_OFFICER, 15
spriteface PLAYER, UP
- loadfont
+ opentext
writetext UnknownText_0x7364d
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x73629
end
--- a/maps/Route18.asm
+++ b/maps/Route18.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ROUTE18_YOUNGSTER1
+ const ROUTE18_YOUNGSTER2
+
Route18_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +13,11 @@
trainer EVENT_BEAT_BIRD_KEEPER_BORIS, BIRD_KEEPER, BORIS, Bird_keeperBorisSeenText, Bird_keeperBorisBeatenText, 0, Bird_keeperBorisScript
Bird_keeperBorisScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1acfa5
+ waitbutton
closetext
- loadmovesprites
end
TrainerBird_keeperBob:
@@ -20,11 +24,11 @@
trainer EVENT_BEAT_BIRD_KEEPER_BOB, BIRD_KEEPER, BOB, Bird_keeperBobSeenText, Bird_keeperBobBeatenText, 0, Bird_keeperBobScript
Bird_keeperBobScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ad00d
+ waitbutton
closetext
- loadmovesprites
end
MapRoute18Signpost0Script:
--- a/maps/Route19.asm
+++ b/maps/Route19.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const ROUTE19_SWIMMER_GIRL
+ const ROUTE19_SWIMMER_GUY1
+ const ROUTE19_SWIMMER_GUY2
+ const ROUTE19_SWIMMER_GUY3
+ const ROUTE19_FISHER1
+ const ROUTE19_FISHER2
+
Route19_MapScriptHeader:
.MapTriggers:
db 0
@@ -25,11 +33,11 @@
trainer EVENT_BEAT_SWIMMERF_DAWN, SWIMMERF, DAWN, SwimmerfDawnSeenText, SwimmerfDawnBeatenText, 0, SwimmerfDawnScript
SwimmerfDawnScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19ebad
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmermHarold:
@@ -36,11 +44,11 @@
trainer EVENT_BEAT_SWIMMERM_HAROLD, SWIMMERM, HAROLD, SwimmermHaroldSeenText, SwimmermHaroldBeatenText, 0, SwimmermHaroldScript
SwimmermHaroldScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19eab4
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmermJerome:
@@ -47,11 +55,11 @@
trainer EVENT_BEAT_SWIMMERM_JEROME, SWIMMERM, JEROME, SwimmermJeromeSeenText, SwimmermJeromeBeatenText, 0, SwimmermJeromeScript
SwimmermJeromeScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19ec7e
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmermTucker:
@@ -58,43 +66,43 @@
trainer EVENT_BEAT_SWIMMERM_TUCKER, SWIMMERM, TUCKER, SwimmermTuckerSeenText, SwimmermTuckerBeatenText, 0, SwimmermTuckerScript
SwimmermTuckerScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19eb3b
+ waitbutton
closetext
- loadmovesprites
end
FisherScript_0x19ea4d:
faceplayer
- loadfont
+ opentext
checkevent EVENT_CINNABAR_ROCKS_CLEARED
iftrue UnknownScript_0x19ea5b
writetext UnknownText_0x19ecaf
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19ea5b:
writetext UnknownText_0x19ed24
+ waitbutton
closetext
- loadmovesprites
end
FisherScript_0x19ea61:
faceplayer
- loadfont
+ opentext
checkevent EVENT_CINNABAR_ROCKS_CLEARED
iftrue UnknownScript_0x19ea6f
writetext UnknownText_0x19ed45
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19ea6f:
writetext UnknownText_0x19ed7d
+ waitbutton
closetext
- loadmovesprites
end
MapRoute19Signpost0Script:
--- a/maps/Route19FuchsiaGate.asm
+++ b/maps/Route19FuchsiaGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE19FUCHSIAGATE_OFFICER
+
Route19FuchsiaGate_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,18 +10,18 @@
OfficerScript_0x1ab3f6:
faceplayer
- loadfont
+ opentext
checkevent EVENT_CINNABAR_ROCKS_CLEARED
iftrue .RocksCleared
writetext UnknownText_0x1ab40a
+ waitbutton
closetext
- loadmovesprites
end
.RocksCleared
writetext UnknownText_0x1ab48a
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x1ab40a:
--- a/maps/Route2.asm
+++ b/maps/Route2.asm
@@ -1,3 +1,13 @@
+const_value set 2
+ const ROUTE2_BUG_CATCHER1
+ const ROUTE2_BUG_CATCHER2
+ const ROUTE2_BUG_CATCHER3
+ const ROUTE2_POKE_BALL1
+ const ROUTE2_POKE_BALL2
+ const ROUTE2_POKE_BALL3
+ const ROUTE2_POKE_BALL4
+ const ROUTE2_FRUIT_TREE
+
Route2_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +19,11 @@
trainer EVENT_BEAT_BUG_CATCHER_ROB, BUG_CATCHER, ROB, Bug_catcherRobSeenText, Bug_catcherRobBeatenText, 0, Bug_catcherRobScript
Bug_catcherRobScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ac34d
+ waitbutton
closetext
- loadmovesprites
end
TrainerBug_catcherEd:
@@ -20,11 +30,11 @@
trainer EVENT_BEAT_BUG_CATCHER_ED, BUG_CATCHER, ED, Bug_catcherEdSeenText, Bug_catcherEdBeatenText, 0, Bug_catcherEdScript
Bug_catcherEdScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ac3cf
+ waitbutton
closetext
- loadmovesprites
end
TrainerBug_catcherDoug:
@@ -31,11 +41,11 @@
trainer EVENT_BEAT_BUG_CATCHER_DOUG, BUG_CATCHER, DOUG, Bug_catcherDougSeenText, Bug_catcherDougBeatenText, 0, Bug_catcherDougScript
Bug_catcherDougScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ac423
+ waitbutton
closetext
- loadmovesprites
end
MapRoute2Signpost0Script:
@@ -44,31 +54,31 @@
MapRoute2Signpost1Script:
jumptext UnknownText_0x1ac49f
-ItemFragment_0x1ac2fe:
- db DIRE_HIT, 1
+Route2DireHit:
+ itemball DIRE_HIT
-ItemFragment_0x1ac300:
- db MAX_POTION, 1
+Route2MaxPotion:
+ itemball MAX_POTION
-ItemFragment_0x1ac302:
- db CARBOS, 1
+Route2Carbos:
+ itemball CARBOS
-ItemFragment_0x1ac304:
- db ELIXER, 1
+Route2Elixer:
+ itemball ELIXER
FruitTreeScript_0x1ac306:
fruittree FRUITTREE_ROUTE_2
-MapRoute2SignpostItem2:
+Route2HiddenMaxEther:
dwb EVENT_ROUTE_2_HIDDEN_MAX_ETHER, MAX_ETHER
-MapRoute2SignpostItem3:
+Route2HiddenFullHeal:
dwb EVENT_ROUTE_2_HIDDEN_FULL_HEAL, FULL_HEAL
-MapRoute2SignpostItem4:
+Route2HiddenFullRestore:
dwb EVENT_ROUTE_2_HIDDEN_FULL_RESTORE, FULL_RESTORE
-MapRoute2SignpostItem5:
+Route2HiddenRevive:
dwb EVENT_ROUTE_2_HIDDEN_REVIVE, REVIVE
Bug_catcherRobSeenText:
@@ -155,10 +165,10 @@
db 6
signpost 51, 7, SIGNPOST_READ, MapRoute2Signpost0Script
signpost 9, 11, SIGNPOST_READ, MapRoute2Signpost1Script
- signpost 23, 7, SIGNPOST_ITEM, MapRoute2SignpostItem2
- signpost 14, 4, SIGNPOST_ITEM, MapRoute2SignpostItem3
- signpost 27, 4, SIGNPOST_ITEM, MapRoute2SignpostItem4
- signpost 30, 11, SIGNPOST_ITEM, MapRoute2SignpostItem5
+ signpost 23, 7, SIGNPOST_ITEM, Route2HiddenMaxEther
+ signpost 14, 4, SIGNPOST_ITEM, Route2HiddenFullHeal
+ signpost 27, 4, SIGNPOST_ITEM, Route2HiddenFullRestore
+ signpost 30, 11, SIGNPOST_ITEM, Route2HiddenRevive
.PersonEvents:
db 8
@@ -165,8 +175,8 @@
person_event SPRITE_BUG_CATCHER, 45, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_TRAINER, 5, TrainerBug_catcherRob, -1
person_event SPRITE_BUG_CATCHER, 4, 6, SPRITEMOVEDATA_SPINCLOCKWISE, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_TRAINER, 3, TrainerBug_catcherEd, -1
person_event SPRITE_BUG_CATCHER, 40, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_TRAINER, 3, TrainerBug_catcherDoug, -1
- person_event SPRITE_POKE_BALL, 29, 0, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1ac2fe, EVENT_ROUTE_2_DIRE_HIT
- person_event SPRITE_POKE_BALL, 23, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1ac300, EVENT_ROUTE_2_MAX_POTION
- person_event SPRITE_POKE_BALL, 2, 19, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1ac302, EVENT_ROUTE_2_CARBOS
- person_event SPRITE_POKE_BALL, 50, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1ac304, EVENT_ROUTE_2_ELIXER
+ person_event SPRITE_POKE_BALL, 29, 0, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route2DireHit, EVENT_ROUTE_2_DIRE_HIT
+ person_event SPRITE_POKE_BALL, 23, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route2MaxPotion, EVENT_ROUTE_2_MAX_POTION
+ person_event SPRITE_POKE_BALL, 2, 19, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route2Carbos, EVENT_ROUTE_2_CARBOS
+ person_event SPRITE_POKE_BALL, 50, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route2Elixer, EVENT_ROUTE_2_ELIXER
person_event SPRITE_FRUIT_TREE, 14, 10, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x1ac306, -1
--- a/maps/Route20.asm
+++ b/maps/Route20.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const ROUTE20_SWIMMER_GIRL1
+ const ROUTE20_SWIMMER_GIRL2
+ const ROUTE20_SWIMMER_GUY
+
Route20_MapScriptHeader:
.MapTriggers:
db 0
@@ -17,11 +22,11 @@
trainer EVENT_BEAT_SWIMMERF_NICOLE, SWIMMERF, NICOLE, SwimmerfNicoleSeenText, SwimmerfNicoleBeatenText, 0, SwimmerfNicoleScript
SwimmerfNicoleScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1acd93
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmerfLori:
@@ -28,11 +33,11 @@
trainer EVENT_BEAT_SWIMMERF_LORI, SWIMMERF, LORI, SwimmerfLoriSeenText, SwimmerfLoriBeatenText, 0, SwimmerfLoriScript
SwimmerfLoriScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ace15
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmermCameron:
@@ -39,11 +44,11 @@
trainer EVENT_BEAT_SWIMMERM_CAMERON, SWIMMERM, CAMERON, SwimmermCameronSeenText, SwimmermCameronBeatenText, 0, SwimmermCameronScript
SwimmermCameronScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ace8b
+ waitbutton
closetext
- loadmovesprites
end
MapRoute20Signpost0Script:
--- a/maps/Route21.asm
+++ b/maps/Route21.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const ROUTE21_SWIMMER_GIRL
+ const ROUTE21_SWIMMER_GUY
+ const ROUTE21_FISHER
+
Route21_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +14,11 @@
trainer EVENT_BEAT_SWIMMERM_SETH, SWIMMERM, SETH, SwimmermSethSeenText, SwimmermSethBeatenText, 0, SwimmermSethScript
SwimmermSethScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ac873
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmerfNikki:
@@ -20,11 +25,11 @@
trainer EVENT_BEAT_SWIMMERF_NIKKI, SWIMMERF, NIKKI, SwimmerfNikkiSeenText, SwimmerfNikkiBeatenText, 0, SwimmerfNikkiScript
SwimmerfNikkiScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ac8f1
+ waitbutton
closetext
- loadmovesprites
end
TrainerFisherArnold:
@@ -31,11 +36,11 @@
trainer EVENT_BEAT_FISHER_ARNOLD, FISHER, ARNOLD, FisherArnoldSeenText, FisherArnoldBeatenText, 0, FisherArnoldScript
FisherArnoldScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ac95c
+ waitbutton
closetext
- loadmovesprites
end
SwimmermSethSeenText:
--- a/maps/Route22.asm
+++ b/maps/Route22.asm
@@ -1,3 +1,4 @@
+
Route22_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route23.asm
+++ b/maps/Route23.asm
@@ -1,3 +1,4 @@
+
Route23_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route24.asm
+++ b/maps/Route24.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE24_ROCKET
+
Route24_MapScriptHeader:
.MapTriggers:
db 0
@@ -8,26 +11,26 @@
RocketScript_0x1adbfa:
faceplayer
playmusic MUSIC_ROCKET_ENCOUNTER
- loadfont
+ opentext
writetext UnknownText_0x1adc2e
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x1add67, -1
loadtrainer GRUNTM, 31
startbattle
- reloadmapmusic
- returnafterbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
playmusic MUSIC_ROCKET_ENCOUNTER
- loadfont
+ opentext
writetext UnknownText_0x1addc0
- keeptextopen
- special Special_RotatePalettesRightMusic
+ buttonsound
+ special Special_FadeOutMusic
writetext UnknownText_0x1adee1
+ waitbutton
closetext
- loadmovesprites
special Special_FadeBlackQuickly
special Special_ReloadSpritesNoPalettes
- disappear $2
+ disappear ROUTE24_ROCKET
pause 25
special Special_FadeInQuickly
playmapmusic
--- a/maps/Route25.asm
+++ b/maps/Route25.asm
@@ -1,3 +1,16 @@
+const_value set 2
+ const ROUTE25_MISTY
+ const ROUTE25_COOLTRAINER_M1
+ const ROUTE25_YOUNGSTER1
+ const ROUTE25_LASS1
+ const ROUTE25_YOUNGSTER2
+ const ROUTE25_LASS2
+ const ROUTE25_YOUNGSTER3
+ const ROUTE25_LASS3
+ const ROUTE25_SUPER_NERD
+ const ROUTE25_COOLTRAINER_M2
+ const ROUTE25_POKE_BALL
+
Route25_MapScriptHeader:
.MapTriggers:
db 2
@@ -16,26 +29,26 @@
end
UnknownScript_0x19eea0:
- showemote EMOTE_HEART, $2, 15
+ showemote EMOTE_HEART, ROUTE25_MISTY, 15
pause 30
- showemote EMOTE_SHOCK, $3, 10
- spriteface $2, DOWN
- applymovement $3, MovementData_0x19efe8
- disappear $3
+ showemote EMOTE_SHOCK, ROUTE25_COOLTRAINER_M1, 10
+ spriteface ROUTE25_MISTY, DOWN
+ applymovement ROUTE25_COOLTRAINER_M1, MovementData_0x19efe8
+ disappear ROUTE25_COOLTRAINER_M1
pause 15
playmusic MUSIC_BEAUTY_ENCOUNTER
- spriteface $2, UP
+ spriteface ROUTE25_MISTY, UP
pause 10
- applymovement $2, MovementData_0x19efed
- loadfont
+ applymovement ROUTE25_MISTY, MovementData_0x19efed
+ opentext
writetext UnknownText_0x19f006
+ waitbutton
closetext
- loadmovesprites
spriteface PLAYER, DOWN
- applymovement $2, MovementData_0x19effa
+ applymovement ROUTE25_MISTY, MovementData_0x19effa
spriteface PLAYER, LEFT
- applymovement $2, MovementData_0x19f000
- disappear $2
+ applymovement ROUTE25_MISTY, MovementData_0x19f000
+ disappear ROUTE25_MISTY
clearevent EVENT_TRAINERS_IN_CERULEAN_GYM
dotrigger $0
special RestartMapMusic
@@ -42,26 +55,26 @@
end
UnknownScript_0x19eee0:
- showemote EMOTE_HEART, $2, 15
+ showemote EMOTE_HEART, ROUTE25_MISTY, 15
pause 30
- showemote EMOTE_SHOCK, $3, 10
- spriteface $2, DOWN
- applymovement $3, MovementData_0x19efea
- disappear $3
+ showemote EMOTE_SHOCK, ROUTE25_COOLTRAINER_M1, 10
+ spriteface ROUTE25_MISTY, DOWN
+ applymovement ROUTE25_COOLTRAINER_M1, MovementData_0x19efea
+ disappear ROUTE25_COOLTRAINER_M1
pause 15
playmusic MUSIC_BEAUTY_ENCOUNTER
- spriteface $2, UP
+ spriteface ROUTE25_MISTY, UP
pause 10
- applymovement $2, MovementData_0x19eff4
- loadfont
+ applymovement ROUTE25_MISTY, MovementData_0x19eff4
+ opentext
writetext UnknownText_0x19f006
+ waitbutton
closetext
- loadmovesprites
spriteface PLAYER, UP
- applymovement $2, MovementData_0x19effd
+ applymovement ROUTE25_MISTY, MovementData_0x19effd
spriteface PLAYER, LEFT
- applymovement $2, MovementData_0x19f000
- disappear $2
+ applymovement ROUTE25_MISTY, MovementData_0x19f000
+ disappear ROUTE25_MISTY
clearevent EVENT_TRAINERS_IN_CERULEAN_GYM
dotrigger $0
special RestartMapMusic
@@ -71,11 +84,11 @@
trainer EVENT_BEAT_SCHOOLBOY_DUDLEY, SCHOOLBOY, DUDLEY, SchoolboyDudleySeenText, SchoolboyDudleyBeatenText, 0, SchoolboyDudleyScript
SchoolboyDudleyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19f1b5
+ waitbutton
closetext
- loadmovesprites
end
TrainerLassEllen:
@@ -82,11 +95,11 @@
trainer EVENT_BEAT_LASS_ELLEN, LASS, ELLEN, LassEllenSeenText, LassEllenBeatenText, 0, LassEllenScript
LassEllenScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19f208
+ waitbutton
closetext
- loadmovesprites
end
TrainerSchoolboyJoe:
@@ -93,11 +106,11 @@
trainer EVENT_BEAT_SCHOOLBOY_JOE, SCHOOLBOY, JOE, SchoolboyJoeSeenText, SchoolboyJoeBeatenText, 0, SchoolboyJoeScript
SchoolboyJoeScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19f25c
+ waitbutton
closetext
- loadmovesprites
end
TrainerLassLaura:
@@ -104,11 +117,11 @@
trainer EVENT_BEAT_LASS_LAURA, LASS, LAURA, LassLauraSeenText, LassLauraBeatenText, 0, LassLauraScript
LassLauraScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19f2a6
+ waitbutton
closetext
- loadmovesprites
end
TrainerCamperLloyd:
@@ -115,11 +128,11 @@
trainer EVENT_BEAT_CAMPER_LLOYD, CAMPER, LLOYD, CamperLloydSeenText, CamperLloydBeatenText, 0, CamperLloydScript
CamperLloydScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19f2f8
+ waitbutton
closetext
- loadmovesprites
end
TrainerLassShannon:
@@ -126,11 +139,11 @@
trainer EVENT_BEAT_LASS_SHANNON, LASS, SHANNON, LassShannonSeenText, LassShannonBeatenText, 0, LassShannonScript
LassShannonScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19f35b
+ waitbutton
closetext
- loadmovesprites
end
TrainerSupernerdPat:
@@ -137,49 +150,49 @@
trainer EVENT_BEAT_SUPER_NERD_PAT, SUPER_NERD, PAT, SupernerdPatSeenText, SupernerdPatBeatenText, 0, SupernerdPatScript
SupernerdPatScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19f41a
+ waitbutton
closetext
- loadmovesprites
end
CooltrainerMScript_0x19efac:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_COOLTRAINERM_KEVIN
iftrue UnknownScript_0x19efda
checkevent EVENT_CLEARED_NUGGET_BRIDGE
iftrue UnknownScript_0x19efc7
writetext UnknownText_0x19f43b
- keeptextopen
+ buttonsound
verbosegiveitem NUGGET
iffalse UnknownScript_0x19efde
setevent EVENT_CLEARED_NUGGET_BRIDGE
UnknownScript_0x19efc7:
writetext UnknownText_0x19f49d
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x19f4fd, 0
loadtrainer COOLTRAINERM, KEVIN
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_COOLTRAINERM_KEVIN
- loadfont
+ opentext
UnknownScript_0x19efda:
writetext UnknownText_0x19f520
- closetext
+ waitbutton
UnknownScript_0x19efde:
- loadmovesprites
+ closetext
end
MapRoute25Signpost0Script:
jumptext UnknownText_0x19f567
-ItemFragment_0x19efe3:
- db PROTEIN, 1
+Route25Protein:
+ itemball PROTEIN
-MapRoute25SignpostItem1:
+Route25HiddenPotion:
dwb EVENT_ROUTE_25_HIDDEN_POTION, POTION
@@ -435,7 +448,7 @@
.Signposts:
db 2
signpost 5, 45, SIGNPOST_READ, MapRoute25Signpost0Script
- signpost 5, 4, SIGNPOST_ITEM, MapRoute25SignpostItem1
+ signpost 5, 4, SIGNPOST_ITEM, Route25HiddenPotion
.PersonEvents:
db 11
@@ -449,4 +462,4 @@
person_event SPRITE_LASS, 11, 28, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 1, TrainerLassShannon, -1
person_event SPRITE_SUPER_NERD, 7, 31, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_TRAINER, 1, TrainerSupernerdPat, -1
person_event SPRITE_COOLTRAINER_M, 8, 37, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x19efac, -1
- person_event SPRITE_POKE_BALL, 4, 32, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x19efe3, EVENT_ROUTE_25_PROTEIN
+ person_event SPRITE_POKE_BALL, 4, 32, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route25Protein, EVENT_ROUTE_25_PROTEIN
--- a/maps/Route26.asm
+++ b/maps/Route26.asm
@@ -1,3 +1,13 @@
+const_value set 2
+ const ROUTE26_COOLTRAINER_M1
+ const ROUTE26_COOLTRAINER_M2
+ const ROUTE26_COOLTRAINER_F1
+ const ROUTE26_COOLTRAINER_F2
+ const ROUTE26_YOUNGSTER
+ const ROUTE26_FISHER
+ const ROUTE26_FRUIT_TREE
+ const ROUTE26_POKE_BALL
+
Route26_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +19,11 @@
trainer EVENT_BEAT_COOLTRAINERM_JAKE, COOLTRAINERM, JAKE, CooltrainermJakeSeenText, CooltrainermJakeBeatenText, 0, CooltrainermJakeScript
CooltrainermJakeScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a4f08
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainermGaven3:
@@ -21,8 +31,8 @@
CooltrainermGaven3Script:
writecode VAR_CALLERID, PHONE_COOLTRAINERM_GAVEN
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_GAVEN
iftrue UnknownScript_0x1a4d79
checkcellnum PHONE_COOLTRAINERM_GAVEN
@@ -30,7 +40,7 @@
checkevent EVENT_GAVEN_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x1a4d62
writetext UnknownText_0x1a4fe4
- keeptextopen
+ buttonsound
setevent EVENT_GAVEN_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x1a4dbf
jump UnknownScript_0x1a4d65
@@ -61,7 +71,7 @@
.LoadFight0
loadtrainer COOLTRAINERM, GAVEN3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wGavenFightCount, 1
clearflag ENGINE_GAVEN
end
@@ -69,7 +79,7 @@
.LoadFight1
loadtrainer COOLTRAINERM, GAVEN1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wGavenFightCount, 2
clearflag ENGINE_GAVEN
end
@@ -77,7 +87,7 @@
.LoadFight2
loadtrainer COOLTRAINERM, GAVEN2
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_GAVEN
end
@@ -113,11 +123,11 @@
trainer EVENT_BEAT_COOLTRAINERF_JOYCE, COOLTRAINERF, JOYCE, CooltrainerfJoyceSeenText, CooltrainerfJoyceBeatenText, 0, CooltrainerfJoyceScript
CooltrainerfJoyceScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a50d7
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfBeth1:
@@ -125,8 +135,8 @@
CooltrainerfBeth1Script:
writecode VAR_CALLERID, PHONE_COOLTRAINERF_BETH
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_BETH
iftrue UnknownScript_0x1a4e35
checkcellnum PHONE_COOLTRAINERF_BETH
@@ -134,7 +144,7 @@
checkevent EVENT_BETH_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x1a4e1e
writetext UnknownText_0x1a51d9
- keeptextopen
+ buttonsound
setevent EVENT_BETH_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x1a4e7b
jump UnknownScript_0x1a4e21
@@ -165,7 +175,7 @@
.LoadFight0
loadtrainer COOLTRAINERF, BETH1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wBethFightCount, 1
clearflag ENGINE_BETH
end
@@ -173,7 +183,7 @@
.LoadFight1
loadtrainer COOLTRAINERF, BETH2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wBethFightCount, 2
clearflag ENGINE_BETH
end
@@ -181,7 +191,7 @@
.LoadFight2
loadtrainer COOLTRAINERF, BETH3
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_BETH
end
@@ -217,11 +227,11 @@
trainer EVENT_BEAT_PSYCHIC_RICHARD, PSYCHIC_T, RICHARD, PsychicRichardSeenText, PsychicRichardBeatenText, 0, PsychicRichardScript
PsychicRichardScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a5278
+ waitbutton
closetext
- loadmovesprites
end
TrainerFisherScott:
@@ -228,11 +238,11 @@
trainer EVENT_BEAT_FISHER_SCOTT, FISHER, SCOTT, FisherScottSeenText, FisherScottBeatenText, 0, FisherScottScript
FisherScottScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a5326
+ waitbutton
closetext
- loadmovesprites
end
MapRoute26Signpost0Script:
@@ -241,8 +251,8 @@
FruitTreeScript_0x1a4ec2:
fruittree FRUITTREE_ROUTE_26
-ItemFragment_0x1a4ec4:
- db MAX_ELIXER, 1
+Route26MaxElixer:
+ itemball MAX_ELIXER
CooltrainermJakeSeenText:
text "I'm making my"
@@ -428,4 +438,4 @@
person_event SPRITE_YOUNGSTER, 79, 13, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 2, TrainerPsychicRichard, -1
person_event SPRITE_FISHER, 92, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_TRAINER, 3, TrainerFisherScott, -1
person_event SPRITE_FRUIT_TREE, 54, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x1a4ec2, -1
- person_event SPRITE_POKE_BALL, 15, 9, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1a4ec4, EVENT_ROUTE_26_MAX_ELIXER
+ person_event SPRITE_POKE_BALL, 15, 9, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route26MaxElixer, EVENT_ROUTE_26_MAX_ELIXER
--- a/maps/Route26DayofWeekSiblingsHouse.asm
+++ b/maps/Route26DayofWeekSiblingsHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE26DAYOFWEEKSIBLINGSHOUSE_POKEDEX
+
Route26DayofWeekSiblingsHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,7 +9,7 @@
db 0
PokedexScript_0x7b1e4:
- loadfont
+ opentext
writetext UnknownText_0x7b1f9
yesorno
iffalse UnknownText_0x7b1f7
@@ -14,9 +17,9 @@
yesorno
iffalse UnknownText_0x7b1f7
writetext UnknownText_0x7b2b9
- closetext
+ waitbutton
UnknownText_0x7b1f7:
- loadmovesprites
+ closetext
end
UnknownText_0x7b1f9:
--- a/maps/Route26HealSpeechHouse.asm
+++ b/maps/Route26HealSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE26HEALSPEECHHOUSE_TEACHER
+
Route26HealSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,10 +10,10 @@
TeacherScript_0x7b125:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x7b14d
+ waitbutton
closetext
- loadmovesprites
special Special_FadeBlackQuickly
special Special_ReloadSpritesNoPalettes
special Mobile_HealParty
@@ -19,10 +22,10 @@
pause 60
special Special_FadeInQuickly
special RestartMapMusic
- loadfont
+ opentext
writetext UnknownText_0x7b18b
+ waitbutton
closetext
- loadmovesprites
end
Route26HealHouseBookshelf:
--- a/maps/Route27.asm
+++ b/maps/Route27.asm
@@ -1,3 +1,14 @@
+const_value set 2
+ const ROUTE27_COOLTRAINER_M1
+ const ROUTE27_COOLTRAINER_M2
+ const ROUTE27_COOLTRAINER_F1
+ const ROUTE27_COOLTRAINER_F2
+ const ROUTE27_YOUNGSTER1
+ const ROUTE27_YOUNGSTER2
+ const ROUTE27_POKE_BALL1
+ const ROUTE27_POKE_BALL2
+ const ROUTE27_FISHER
+
Route27_MapScriptHeader:
.MapTriggers:
db 2
@@ -16,23 +27,23 @@
end
UnknownScript_0x1a0873:
- spriteface $a, LEFT
- showemote EMOTE_SHOCK, $a, 15
- applymovement $a, MovementData_0x1a0a66
+ spriteface ROUTE27_FISHER, LEFT
+ showemote EMOTE_SHOCK, ROUTE27_FISHER, 15
+ applymovement ROUTE27_FISHER, MovementData_0x1a0a66
jump UnknownScript_0x1a088c
UnknownScript_0x1a0881:
- spriteface $a, LEFT
- showemote EMOTE_SHOCK, $a, 15
- applymovement $a, MovementData_0x1a0a69
+ spriteface ROUTE27_FISHER, LEFT
+ showemote EMOTE_SHOCK, ROUTE27_FISHER, 15
+ applymovement ROUTE27_FISHER, MovementData_0x1a0a69
UnknownScript_0x1a088c:
spriteface PLAYER, RIGHT
- loadfont
+ opentext
writetext UnknownText_0x1a0a6b
- keeptextopen
+ buttonsound
writetext UnknownText_0x1a0a71
+ waitbutton
closetext
- loadmovesprites
dotrigger $1
end
@@ -43,11 +54,11 @@
trainer EVENT_BEAT_PSYCHIC_GILBERT, PSYCHIC_T, GILBERT, PsychicGilbertSeenText, PsychicGilbertBeatenText, 0, PsychicGilbertScript
PsychicGilbertScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a0dd2
+ waitbutton
closetext
- loadmovesprites
end
TrainerBird_keeperJose2:
@@ -55,8 +66,8 @@
Bird_keeperJose2Script:
writecode VAR_CALLERID, PHONE_BIRDKEEPER_JOSE
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_JOSE
iftrue UnknownScript_0x1a08ff
checkflag ENGINE_JOSE_HAS_STAR_PIECE
@@ -66,7 +77,7 @@
checkevent EVENT_JOSE_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x1a08e8
writetext UnknownText_0x1a0e42
- keeptextopen
+ buttonsound
setevent EVENT_JOSE_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x1a0957
jump UnknownScript_0x1a08eb
@@ -97,7 +108,7 @@
.LoadFight0
loadtrainer BIRD_KEEPER, JOSE2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wJoseFightCount, 1
clearflag ENGINE_JOSE
end
@@ -105,7 +116,7 @@
.LoadFight1
loadtrainer BIRD_KEEPER, JOSE1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wJoseFightCount, 2
clearflag ENGINE_JOSE
end
@@ -113,7 +124,7 @@
.LoadFight2
loadtrainer BIRD_KEEPER, JOSE3
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_JOSE
end
@@ -167,11 +178,11 @@
trainer EVENT_BEAT_COOLTRAINERM_BLAKE, COOLTRAINERM, BLAKE, CooltrainermBlakeSeenText, CooltrainermBlakeBeatenText, 0, CooltrainermBlakeScript
CooltrainermBlakeScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a0b0b
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainermBrian:
@@ -178,11 +189,11 @@
trainer EVENT_BEAT_COOLTRAINERM_BRIAN, COOLTRAINERM, BRIAN, CooltrainermBrianSeenText, CooltrainermBrianBeatenText, 0, CooltrainermBrianScript
CooltrainermBrianScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a0bac
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfReena:
@@ -190,8 +201,8 @@
CooltrainerfReena1Script:
writecode VAR_CALLERID, PHONE_COOLTRAINERF_REENA
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_REENA
iftrue UnknownScript_0x1a09e9
checkcellnum PHONE_COOLTRAINERF_REENA
@@ -199,7 +210,7 @@
checkevent EVENT_REENA_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x1a09d2
writetext UnknownText_0x1a0c35
- keeptextopen
+ buttonsound
setevent EVENT_REENA_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x1a0a2f
jump UnknownScript_0x1a09d5
@@ -230,7 +241,7 @@
.LoadFight0
loadtrainer COOLTRAINERF, REENA1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wReenaFightCount, 1
clearflag ENGINE_REENA
end
@@ -238,7 +249,7 @@
.LoadFight1
loadtrainer COOLTRAINERF, REENA2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wReenaFightCount, 2
clearflag ENGINE_REENA
end
@@ -246,7 +257,7 @@
.LoadFight2
loadtrainer COOLTRAINERF, REENA3
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_REENA
end
@@ -282,21 +293,21 @@
trainer EVENT_BEAT_COOLTRAINERF_MEGAN, COOLTRAINERF, MEGAN, CooltrainerfMeganSeenText, CooltrainerfMeganBeatenText, 0, CooltrainerfMeganScript
CooltrainerfMeganScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a0cce
+ waitbutton
closetext
- loadmovesprites
end
MapRoute27Signpost0Script:
jumptext UnknownText_0x1a0e7f
-ItemFragment_0x1a0a62:
- db TM_SOLARBEAM, 1
+Route27TMSolarbeam:
+ itemball TM_SOLARBEAM
-ItemFragment_0x1a0a64:
- db RARE_CANDY, 1
+Route27RareCandy:
+ itemball RARE_CANDY
MovementData_0x1a0a66:
step_left
@@ -485,6 +496,6 @@
person_event SPRITE_COOLTRAINER_F, 6, 37, SPRITEMOVEDATA_SPINCLOCKWISE, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 2, TrainerCooltrainerfMegan, -1
person_event SPRITE_YOUNGSTER, 7, 65, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerPsychicGilbert, -1
person_event SPRITE_YOUNGSTER, 13, 58, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerBird_keeperJose2, -1
- person_event SPRITE_POKE_BALL, 12, 60, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1a0a62, EVENT_ROUTE_27_TM_SOLARBEAM
- person_event SPRITE_POKE_BALL, 12, 53, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1a0a64, EVENT_ROUTE_27_RARE_CANDY
+ person_event SPRITE_POKE_BALL, 12, 60, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route27TMSolarbeam, EVENT_ROUTE_27_TM_SOLARBEAM
+ person_event SPRITE_POKE_BALL, 12, 53, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route27RareCandy, EVENT_ROUTE_27_RARE_CANDY
person_event SPRITE_FISHER, 10, 21, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 3, FisherScript_0x1a089c, -1
--- a/maps/Route27SandstormHouse.asm
+++ b/maps/Route27SandstormHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE27SANDSTORMHOUSE_GRANNY
+
Route27SandstormHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,32 +10,32 @@
SandstormHouseWoman:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TM37_SANDSTORM
iftrue .AlreadyGotItem
special GetFirstPokemonHappiness
writetext SandstormHouseWomanText1
- keeptextopen
+ buttonsound
if_greater_than $95, .Loyal
jump .Disloyal
.Loyal
writetext SandstormHouseWomanLoyalText
- keeptextopen
+ buttonsound
verbosegiveitem TM_SANDSTORM
iffalse .Done
setevent EVENT_GOT_TM37_SANDSTORM
.AlreadyGotItem
writetext SandstormHouseSandstormDescription
- closetext
+ waitbutton
.Done
- loadmovesprites
+ closetext
end
.Disloyal
writetext SandstormHouseWomanDisloyalText
+ waitbutton
closetext
- loadmovesprites
end
SandstormHouseBookshelf:
--- a/maps/Route28.asm
+++ b/maps/Route28.asm
@@ -1,3 +1,4 @@
+
Route28_MapScriptHeader:
.MapTriggers:
db 0
@@ -8,7 +9,7 @@
MapRoute28Signpost0Script:
jumptext UnknownText_0x1a5413
-MapRoute28SignpostItem1:
+Route28HiddenRareCandy:
dwb EVENT_ROUTE_28_HIDDEN_RARE_CANDY, RARE_CANDY
@@ -31,7 +32,7 @@
.Signposts:
db 2
signpost 5, 31, SIGNPOST_READ, MapRoute28Signpost0Script
- signpost 2, 25, SIGNPOST_ITEM, MapRoute28SignpostItem1
+ signpost 2, 25, SIGNPOST_ITEM, Route28HiddenRareCandy
.PersonEvents:
db 0
--- a/maps/Route28FamousSpeechHouse.asm
+++ b/maps/Route28FamousSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ROUTE28FAMOUSSPEECHHOUSE_COOLTRAINER_F
+ const ROUTE28FAMOUSSPEECHHOUSE_MOLTRES
+
Route28FamousSpeechHouse_MapScriptHeader:
.MapTriggers:
db 1
@@ -13,29 +17,29 @@
Celebrity:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TM47_STEEL_WING
iftrue .AlreadyGotItem
writetext CelebrityText1
- keeptextopen
+ buttonsound
verbosegiveitem TM_STEEL_WING
iffalse .Done
setevent EVENT_GOT_TM47_STEEL_WING
.Done
- loadmovesprites
+ closetext
end
.AlreadyGotItem
writetext CelebrityText2
+ waitbutton
closetext
- loadmovesprites
end
CelebritysFearow:
- loadfont
+ opentext
writetext CelebritysFearowText
cry FEAROW
+ waitbutton
closetext
- loadmovesprites
end
CelebrityHouseBookshelf:
--- a/maps/Route29.asm
+++ b/maps/Route29.asm
@@ -1,10 +1,20 @@
+const_value set 2
+ const ROUTE29_COOLTRAINER_M1
+ const ROUTE29_YOUNGSTER
+ const ROUTE29_TEACHER1
+ const ROUTE29_FRUIT_TREE
+ const ROUTE29_FISHER
+ const ROUTE29_COOLTRAINER_M2
+ const ROUTE29_TEACHER2
+ const ROUTE29_POKE_BALL
+
Route29_MapScriptHeader:
.MapTriggers:
db 2
; triggers
- dw UnknownScript_0x1a0f59, 0
- dw UnknownScript_0x1a0f5a, 0
+ dw .Trigger0, 0
+ dw .Trigger1, 0
.MapCallbacks:
db 1
@@ -11,159 +21,159 @@
; callbacks
- dbw 2, TuscanyCallback
+ dbw 2, .Tuscany
-UnknownScript_0x1a0f59:
+.Trigger0:
end
-UnknownScript_0x1a0f5a:
+.Trigger1:
end
-TuscanyCallback:
+.Tuscany:
checkflag ENGINE_ZEPHYRBADGE
iftrue .DoesTuscanyAppear
.TuscanyDisappears
- disappear $8
+ disappear ROUTE29_TEACHER2
return
.DoesTuscanyAppear
checkcode VAR_WEEKDAY
if_not_equal TUESDAY, .TuscanyDisappears
- appear $8
+ appear ROUTE29_TEACHER2
return
-UnknownScript_0x1a0f6d:
- spriteface $2, UP
- showemote EMOTE_SHOCK, $2, 15
- applymovement $2, MovementData_0x1a108d
+Route29Tutorial1:
+ spriteface ROUTE29_COOLTRAINER_M1, UP
+ showemote EMOTE_SHOCK, ROUTE29_COOLTRAINER_M1, 15
+ applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData1a
spriteface PLAYER, LEFT
setevent EVENT_DUDE_TALKED_TO_YOU
- loadfont
- writetext UnknownText_0x1a10df
+ opentext
+ writetext CatchingTutorialIntroText
yesorno
- iffalse UnknownScript_0x1a0fd9
- loadmovesprites
- follow $2, PLAYER
- applymovement $2, MovementData_0x1a109a
+ iffalse Script_RefusedTutorial1
+ closetext
+ follow ROUTE29_COOLTRAINER_M1, PLAYER
+ applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData1b
stopfollow
- loadpokedata RATTATA, 5
+ loadwildmon RATTATA, 5
catchtutorial BATTLETYPE_TUTORIAL
- spriteface $2, UP
- loadfont
- writetext UnknownText_0x1a114d
+ spriteface ROUTE29_COOLTRAINER_M1, UP
+ opentext
+ writetext CatchingTutorialDebriefText
+ waitbutton
closetext
- loadmovesprites
dotrigger $0
setevent EVENT_LEARNED_TO_CATCH_POKEMON
end
-UnknownScript_0x1a0fa3:
- spriteface $2, UP
- showemote EMOTE_SHOCK, $2, 15
- applymovement $2, MovementData_0x1a1094
+Route29Tutorial2:
+ spriteface ROUTE29_COOLTRAINER_M1, UP
+ showemote EMOTE_SHOCK, ROUTE29_COOLTRAINER_M1, 15
+ applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData2a
spriteface PLAYER, LEFT
setevent EVENT_DUDE_TALKED_TO_YOU
- loadfont
- writetext UnknownText_0x1a10df
+ opentext
+ writetext CatchingTutorialIntroText
yesorno
- iffalse UnknownScript_0x1a0fe5
- loadmovesprites
- follow $2, PLAYER
- applymovement $2, MovementData_0x1a10a1
+ iffalse Script_RefusedTutorial2
+ closetext
+ follow ROUTE29_COOLTRAINER_M1, PLAYER
+ applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData2b
stopfollow
- loadpokedata RATTATA, 5
+ loadwildmon RATTATA, 5
catchtutorial BATTLETYPE_TUTORIAL
- spriteface $2, UP
- loadfont
- writetext UnknownText_0x1a114d
+ spriteface ROUTE29_COOLTRAINER_M1, UP
+ opentext
+ writetext CatchingTutorialDebriefText
+ waitbutton
closetext
- loadmovesprites
dotrigger $0
setevent EVENT_LEARNED_TO_CATCH_POKEMON
end
-UnknownScript_0x1a0fd9:
- writetext UnknownText_0x1a1197
+Script_RefusedTutorial1:
+ writetext CatchingTutorialDeclinedText
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x1a109a
+ applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData1b
dotrigger $0
end
-UnknownScript_0x1a0fe5:
- writetext UnknownText_0x1a1197
+Script_RefusedTutorial2:
+ writetext CatchingTutorialDeclinedText
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x1a10a1
+ applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData2b
dotrigger $0
end
-CooltrainerMScript_0x1a0ff1:
+CatchingTutorialDudeScript:
faceplayer
- loadfont
+ opentext
checkcode VAR_BOXSPACE
- if_equal $0, UnknownScript_0x1a101c
+ if_equal $0, .BoxFull
checkevent EVENT_LEARNED_TO_CATCH_POKEMON
- iftrue UnknownScript_0x1a101c
+ iftrue .BoxFull
checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
- iffalse UnknownScript_0x1a101c
- writetext UnknownText_0x1a11e3
+ iffalse .BoxFull
+ writetext CatchingTutorialRepeatText
yesorno
- iffalse UnknownScript_0x1a1022
- loadmovesprites
- loadpokedata RATTATA, 5
+ iffalse .Declined
+ closetext
+ loadwildmon RATTATA, 5
catchtutorial BATTLETYPE_TUTORIAL
- loadfont
- writetext UnknownText_0x1a114d
+ opentext
+ writetext CatchingTutorialDebriefText
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_LEARNED_TO_CATCH_POKEMON
end
-UnknownScript_0x1a101c:
+.BoxFull:
writetext UnknownText_0x1a10a7
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1a1022:
- writetext UnknownText_0x1a1197
+.Declined:
+ writetext CatchingTutorialDeclinedText
+ waitbutton
closetext
- loadmovesprites
end
-YoungsterScript_0x1a1028:
- jumptextfaceplayer UnknownText_0x1a1214
+Route29YoungsterScript:
+ jumptextfaceplayer Route29YoungsterText
-TeacherScript_0x1a102b:
- jumptextfaceplayer UnknownText_0x1a126c
+Route29TeacherScript:
+ jumptextfaceplayer Route29TeacherText
-FisherScript_0x1a102e:
- jumptextfaceplayer UnknownText_0x1a12d9
+Route29FisherScript:
+ jumptextfaceplayer Route29FisherText
CooltrainerMScript_0x1a1031:
faceplayer
- loadfont
+ opentext
checkday
- iftrue UnknownScript_0x1a103d
+ iftrue .day_morn
checknite
- iftrue UnknownScript_0x1a1043
-UnknownScript_0x1a103d:
- writetext UnknownText_0x1a134c
+ iftrue .nite
+.day_morn:
+ writetext Text_WaitingForNight
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1a1043:
- writetext UnknownText_0x1a137c
+.nite:
+ writetext Text_WaitingForMorning
+ waitbutton
closetext
- loadmovesprites
end
TuscanyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_PINK_BOW_FROM_TUSCANY
iftrue TuscanyTuesdayScript
checkcode VAR_WEEKDAY
@@ -171,45 +181,45 @@
checkevent EVENT_MET_TUSCANY_OF_TUESDAY
iftrue .MetTuscany
writetext MeetTuscanyText
- keeptextopen
+ buttonsound
setevent EVENT_MET_TUSCANY_OF_TUESDAY
.MetTuscany
writetext TuscanyGivesGiftText
- keeptextopen
+ buttonsound
verbosegiveitem PINK_BOW
iffalse TuscanyDoneScript
setevent EVENT_GOT_PINK_BOW_FROM_TUSCANY
writetext TuscanyGaveGiftText
+ waitbutton
closetext
- loadmovesprites
end
TuscanyTuesdayScript:
writetext TuscanyTuesdayText
- closetext
+ waitbutton
TuscanyDoneScript:
- loadmovesprites
+ closetext
end
TuscanyNotTuesdayScript:
writetext TuscanyNotTuesdayText
+ waitbutton
closetext
- loadmovesprites
end
MapRoute29Signpost0Script:
- jumptext UnknownText_0x1a158e
+ jumptext Route29SignText1
MapRoute29Signpost1Script:
- jumptext UnknownText_0x1a15b9
+ jumptext Route29SignText2
-FruitTreeScript_0x1a1089:
+Route29FruitTree:
fruittree FRUITTREE_ROUTE_29
-ItemFragment_0x1a108b:
- db POTION, 1
+Route29Potion:
+ itemball POTION
-MovementData_0x1a108d:
+DudeMovementData1a:
step_up
step_up
step_up
@@ -218,7 +228,7 @@
step_right
step_end
-MovementData_0x1a1094:
+DudeMovementData2a:
step_up
step_up
step_up
@@ -226,7 +236,7 @@
step_right
step_end
-MovementData_0x1a109a:
+DudeMovementData1b:
step_left
step_left
step_down
@@ -235,7 +245,7 @@
step_down
step_end
-MovementData_0x1a10a1:
+DudeMovementData2b:
step_left
step_left
step_down
@@ -251,7 +261,7 @@
line "pop out…"
done
-UnknownText_0x1a10df:
+CatchingTutorialIntroText:
text "I've seen you a"
line "couple times. How"
@@ -263,7 +273,7 @@
cont "catch #MON?"
done
-UnknownText_0x1a114d:
+CatchingTutorialDebriefText:
text "That's how you do"
line "it."
@@ -272,7 +282,7 @@
cont "easier to catch."
done
-UnknownText_0x1a1197:
+CatchingTutorialDeclinedText:
text "Oh. Fine, then."
para "Anyway, if you"
@@ -282,13 +292,13 @@
line "to walk a lot."
done
-UnknownText_0x1a11e3:
+CatchingTutorialRepeatText:
text "Huh? You want me"
line "to show you how to"
cont "catch #MON?"
done
-UnknownText_0x1a1214:
+Route29YoungsterText:
text "Yo. How are your"
line "#MON?"
@@ -299,7 +309,7 @@
line "of the grass."
done
-UnknownText_0x1a126c:
+Route29TeacherText:
text "See those ledges?"
line "It's scary to jump"
cont "off them."
@@ -311,7 +321,7 @@
line "the grass."
done
-UnknownText_0x1a12d9:
+Route29FisherText:
text "I wanted to take a"
line "break, so I saved"
@@ -320,7 +330,7 @@
done
; possibly unused
-UnknownText_0x1a1316:
+Text_WaitingForDay:
text "I'm waiting for"
line "#MON that"
@@ -328,7 +338,7 @@
line "daytime."
done
-UnknownText_0x1a134c:
+Text_WaitingForNight:
text "I'm waiting for"
line "#MON that"
@@ -336,7 +346,7 @@
line "night."
done
-UnknownText_0x1a137c:
+Text_WaitingForMorning:
text "I'm waiting for"
line "#MON that"
@@ -396,7 +406,7 @@
cont "is unfortunate…"
done
-UnknownText_0x1a158e:
+Route29SignText1:
text "ROUTE 29"
para "CHERRYGROVE CITY -"
@@ -403,7 +413,7 @@
line "NEW BARK TOWN"
done
-UnknownText_0x1a15b9:
+Route29SignText2:
text "ROUTE 29"
para "CHERRYGROVE CITY -"
@@ -420,8 +430,8 @@
.XYTriggers:
db 2
- xy_trigger 1, $8, $35, $0, UnknownScript_0x1a0f6d, $0, $0
- xy_trigger 1, $9, $35, $0, UnknownScript_0x1a0fa3, $0, $0
+ xy_trigger 1, $8, $35, $0, Route29Tutorial1, $0, $0
+ xy_trigger 1, $9, $35, $0, Route29Tutorial2, $0, $0
.Signposts:
db 2
@@ -430,11 +440,11 @@
.PersonEvents:
db 8
- person_event SPRITE_COOLTRAINER_M, 12, 50, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x1a0ff1, -1
- person_event SPRITE_YOUNGSTER, 16, 27, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x1a1028, -1
- person_event SPRITE_TEACHER, 11, 15, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, TeacherScript_0x1a102b, -1
- person_event SPRITE_FRUIT_TREE, 2, 12, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x1a1089, -1
- person_event SPRITE_FISHER, 3, 25, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, FisherScript_0x1a102e, -1
+ person_event SPRITE_COOLTRAINER_M, 12, 50, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, CatchingTutorialDudeScript, -1
+ person_event SPRITE_YOUNGSTER, 16, 27, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, Route29YoungsterScript, -1
+ person_event SPRITE_TEACHER, 11, 15, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, Route29TeacherScript, -1
+ person_event SPRITE_FRUIT_TREE, 2, 12, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route29FruitTree, -1
+ person_event SPRITE_FISHER, 3, 25, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, Route29FisherScript, -1
person_event SPRITE_COOLTRAINER_M, 4, 13, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x1a1031, -1
person_event SPRITE_TEACHER, 12, 29, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TuscanyScript, EVENT_ROUTE_29_TUSCANY_OF_TUESDAY
- person_event SPRITE_POKE_BALL, 2, 48, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1a108b, EVENT_ROUTE_29_POTION
+ person_event SPRITE_POKE_BALL, 2, 48, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route29Potion, EVENT_ROUTE_29_POTION
--- a/maps/Route2946Gate.asm
+++ b/maps/Route2946Gate.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ROUTE2946GATE_OFFICER
+ const ROUTE2946GATE_YOUNGSTER
+
Route2946Gate_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route2Gate.asm
+++ b/maps/Route2Gate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE2GATE_SCIENTIST
+
Route2Gate_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route2NuggetSpeechHouse.asm
+++ b/maps/Route2NuggetSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE2NUGGETSPEECHHOUSE_FISHER
+
Route2NuggetSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,19 +10,19 @@
FisherScript_0x9b847:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_NUGGET_FROM_GUY
iftrue .GotItem
writetext UnknownText_0x9b865
- keeptextopen
+ buttonsound
verbosegiveitem NUGGET
iffalse .Done
setevent EVENT_GOT_NUGGET_FROM_GUY
.GotItem
writetext UnknownText_0x9b8e5
- closetext
+ waitbutton
.Done
- loadmovesprites
+ closetext
end
Route2NuggetSpeechHouseBookshelf:
--- a/maps/Route3.asm
+++ b/maps/Route3.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const ROUTE3_FISHER1
+ const ROUTE3_YOUNGSTER1
+ const ROUTE3_YOUNGSTER2
+ const ROUTE3_FISHER2
+
Route3_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +15,11 @@
trainer EVENT_BEAT_FIREBREATHER_OTIS, FIREBREATHER, OTIS, FirebreatherOtisSeenText, FirebreatherOtisBeatenText, 0, FirebreatherOtisScript
FirebreatherOtisScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1adff7
+ waitbutton
closetext
- loadmovesprites
end
TrainerYoungsterWarren:
@@ -20,11 +26,11 @@
trainer EVENT_BEAT_YOUNGSTER_WARREN, YOUNGSTER, WARREN, YoungsterWarrenSeenText, YoungsterWarrenBeatenText, 0, YoungsterWarrenScript
YoungsterWarrenScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ae051
+ waitbutton
closetext
- loadmovesprites
end
TrainerYoungsterJimmy:
@@ -31,11 +37,11 @@
trainer EVENT_BEAT_YOUNGSTER_JIMMY, YOUNGSTER, JIMMY, YoungsterJimmySeenText, YoungsterJimmyBeatenText, 0, YoungsterJimmyScript
YoungsterJimmyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ae0a9
+ waitbutton
closetext
- loadmovesprites
end
TrainerFirebreatherBurt:
@@ -42,11 +48,11 @@
trainer EVENT_BEAT_FIREBREATHER_BURT, FIREBREATHER, BURT, FirebreatherBurtSeenText, FirebreatherBurtBeatenText, 0, FirebreatherBurtScript
FirebreatherBurtScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ae118
+ waitbutton
closetext
- loadmovesprites
end
MapRoute3Signpost0Script:
--- a/maps/Route30.asm
+++ b/maps/Route30.asm
@@ -1,3 +1,16 @@
+const_value set 2
+ const ROUTE30_YOUNGSTER1
+ const ROUTE30_YOUNGSTER2
+ const ROUTE30_YOUNGSTER3
+ const ROUTE30_BUG_CATCHER
+ const ROUTE30_YOUNGSTER4
+ const ROUTE30_MONSTER1
+ const ROUTE30_MONSTER2
+ const ROUTE30_FRUIT_TREE1
+ const ROUTE30_FRUIT_TREE2
+ const ROUTE30_COOLTRAINER_F
+ const ROUTE30_POKE_BALL
+
Route30_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,57 +18,57 @@
.MapCallbacks:
db 0
-YoungsterScript_0x1a1673:
- waitbutton
+YoungsterJoey_ImportantBattleScript:
+ waitsfx
playmusic MUSIC_JOHTO_TRAINER_BATTLE
- loadfont
- writetext UnknownText_0x1a1806
+ opentext
+ writetext Text_UseTackle
pause 30
- loadmovesprites
+ closetext
playsound SFX_TACKLE
- applymovement $8, MovementData_0x1a17fe
- loadfont
+ applymovement ROUTE30_MONSTER2, Route30_JoeysRattataAttacksMovement
+ opentext
faceplayer
- writetext UnknownText_0x1a181c
+ writetext Text_ThisIsABigBattle
+ waitbutton
+ spriteface ROUTE30_YOUNGSTER1, UP
closetext
- spriteface $2, UP
- loadmovesprites
playsound SFX_TACKLE
- applymovement $7, MovementData_0x1a1802
+ applymovement ROUTE30_MONSTER1, Route30_MikeysRattataAttacksMovement
special RestartMapMusic
end
TrainerYoungsterJoey:
- trainer EVENT_BEAT_YOUNGSTER_JOEY, YOUNGSTER, JOEY1, YoungsterJoey1SeenText, YoungsterJoey1BeatenText, 0, YoungsterJoey1Script
+ trainer EVENT_BEAT_YOUNGSTER_JOEY, YOUNGSTER, JOEY1, YoungsterJoey1SeenText, YoungsterJoey1BeatenText, 0, .Script
-YoungsterJoey1Script:
+.Script:
writecode VAR_CALLERID, PHONE_YOUNGSTER_JOEY
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_JOEY
- iftrue UnknownScript_0x1a16e0
+ iftrue .Rematch
checkcellnum PHONE_YOUNGSTER_JOEY
- iftrue UnknownScript_0x1a178f
+ iftrue .NumberAccepted
checkevent EVENT_JOEY_ASKED_FOR_PHONE_NUMBER
- iftrue UnknownScript_0x1a16c9
- writetext UnknownText_0x1a18c2
- keeptextopen
+ iftrue .AskAgain
+ writetext YoungsterJoey1AfterText
+ buttonsound
setevent EVENT_JOEY_ASKED_FOR_PHONE_NUMBER
- scall UnknownScript_0x1a1783
- jump UnknownScript_0x1a16cc
+ scall .AskNumber1
+ jump .RequestNumber
-UnknownScript_0x1a16c9:
- scall UnknownScript_0x1a1787
-UnknownScript_0x1a16cc:
+.AskAgain:
+ scall .AskNumber2
+.RequestNumber:
askforphonenumber PHONE_YOUNGSTER_JOEY
- if_equal $1, UnknownScript_0x1a1797
- if_equal $2, UnknownScript_0x1a1793
+ if_equal $1, .PhoneFull
+ if_equal $2, .NumberDeclined
trainertotext YOUNGSTER, JOEY1, $0
- scall UnknownScript_0x1a178b
- jump UnknownScript_0x1a178f
+ scall .RegisteredNumber
+ jump .NumberAccepted
-UnknownScript_0x1a16e0:
- scall UnknownScript_0x1a179b
+.Rematch:
+ scall .RematchStd
winlosstext YoungsterJoey1BeatenText, 0
copybytetovar wJoeyFightCount
if_equal 4, .Fight4
@@ -78,7 +91,7 @@
.LoadFight0
loadtrainer YOUNGSTER, JOEY1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wJoeyFightCount, 1
clearflag ENGINE_JOEY
end
@@ -86,7 +99,7 @@
.LoadFight1
loadtrainer YOUNGSTER, JOEY2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wJoeyFightCount, 2
clearflag ENGINE_JOEY
end
@@ -94,7 +107,7 @@
.LoadFight2
loadtrainer YOUNGSTER, JOEY3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wJoeyFightCount, 3
clearflag ENGINE_JOEY
end
@@ -102,7 +115,7 @@
.LoadFight3
loadtrainer YOUNGSTER, JOEY4
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wJoeyFightCount, 4
clearflag ENGINE_JOEY
end
@@ -110,153 +123,153 @@
.LoadFight4
loadtrainer YOUNGSTER, JOEY5
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_JOEY
checkevent EVENT_JOEY_HP_UP
- iftrue UnknownScript_0x1a176f
+ iftrue .GiveHPUp
checkevent EVENT_GOT_HP_UP_FROM_JOEY
- iftrue UnknownScript_0x1a176e
- scall UnknownScript_0x1a17a6
+ iftrue .done
+ scall .RematchGift
verbosegiveitem HP_UP
- iffalse UnknownScript_0x1a179f
+ iffalse .PackFull
setevent EVENT_GOT_HP_UP_FROM_JOEY
- jump UnknownScript_0x1a178f
+ jump .NumberAccepted
-UnknownScript_0x1a176e:
+.done:
end
-UnknownScript_0x1a176f:
- loadfont
- writetext UnknownText_0x1a1bc0
- closetext
+.GiveHPUp:
+ opentext
+ writetext YoungsterJoeyText_GiveHPUpAfterBattle
+ waitbutton
verbosegiveitem HP_UP
- iffalse UnknownScript_0x1a179f
+ iffalse .PackFull
clearevent EVENT_JOEY_HP_UP
setevent EVENT_GOT_HP_UP_FROM_JOEY
- jump UnknownScript_0x1a178f
+ jump .NumberAccepted
-UnknownScript_0x1a1783:
+.AskNumber1:
jumpstd asknumber1m
end
-UnknownScript_0x1a1787:
+.AskNumber2:
jumpstd asknumber2m
end
-UnknownScript_0x1a178b:
+.RegisteredNumber:
jumpstd registerednumberm
end
-UnknownScript_0x1a178f:
+.NumberAccepted:
jumpstd numberacceptedm
end
-UnknownScript_0x1a1793:
+.NumberDeclined:
jumpstd numberdeclinedm
end
-UnknownScript_0x1a1797:
+.PhoneFull:
jumpstd phonefullm
end
-UnknownScript_0x1a179b:
+.RematchStd:
jumpstd rematchm
end
-UnknownScript_0x1a179f:
+.PackFull:
setevent EVENT_JOEY_HP_UP
jumpstd packfullm
end
-UnknownScript_0x1a17a6:
+.RematchGift:
jumpstd rematchgiftm
end
TrainerYoungsterMikey:
- trainer EVENT_BEAT_YOUNGSTER_MIKEY, YOUNGSTER, MIKEY, YoungsterMikeySeenText, YoungsterMikeyBeatenText, 0, YoungsterMikeyScript
+ trainer EVENT_BEAT_YOUNGSTER_MIKEY, YOUNGSTER, MIKEY, YoungsterMikeySeenText, YoungsterMikeyBeatenText, 0, .Script
-YoungsterMikeyScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x1a197d
+.Script:
+ end_if_just_battled
+ opentext
+ writetext YoungsterMikeyAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerBug_catcherDon:
- trainer EVENT_BEAT_BUG_CATCHER_DON, BUG_CATCHER, DON, Bug_catcherDonSeenText, Bug_catcherDonBeatenText, 0, Bug_catcherDonScript
+ trainer EVENT_BEAT_BUG_CATCHER_DON, BUG_CATCHER, DON, Bug_catcherDonSeenText, Bug_catcherDonBeatenText, 0, .Script
-Bug_catcherDonScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x1a1a1c
+.Script:
+ end_if_just_battled
+ opentext
+ writetext Bug_catcherDonAfterText
+ waitbutton
closetext
- loadmovesprites
end
-YoungsterScript_0x1a17d2:
+Route30YoungsterScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
- iftrue UnknownScript_0x1a17e0
- writetext UnknownText_0x1a1a6a
+ iftrue .CompletedEggQuest
+ writetext Route30YoungsterText_DirectionsToMrPokemonsHouse
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1a17e0:
- writetext UnknownText_0x1a1a94
+.CompletedEggQuest:
+ writetext Route30YoungsterText_EveryoneIsBattling
+ waitbutton
closetext
- loadmovesprites
end
-CooltrainerFScript_0x1a17e6:
- jumptextfaceplayer UnknownText_0x1a1ac4
+Route30CooltrainerFScript:
+ jumptextfaceplayer Route30CooltrainerFText
MapRoute30Signpost0Script:
- jumptext UnknownText_0x1a1b0b
+ jumptext Route30MapSignText
MapRoute30Signpost1Script:
- jumptext UnknownText_0x1a1b34
+ jumptext Route30DirectionsToMrPokemonsHouseSignText
MapRoute30Signpost2Script:
- jumptext UnknownText_0x1a1b55
+ jumptext Route30MrPokemonsHouseSignText
MapRoute30Signpost3Script:
- jumptext UnknownText_0x1a1b66
+ jumptext Route30TrainerTipsSignText
-ItemFragment_0x1a17f5:
- db ANTIDOTE, 1
+Route30Antidote:
+ itemball ANTIDOTE
-FruitTreeScript_0x1a17f7:
+Route30FruitTree1:
fruittree FRUITTREE_ROUTE_30_1
-FruitTreeScript_0x1a17f9:
+Route30FruitTree2:
fruittree FRUITTREE_ROUTE_30_2
-MapRoute30SignpostItem4:
+Route30HiddenPotion:
dwb EVENT_ROUTE_30_HIDDEN_POTION, POTION
-MovementData_0x1a17fe:
+Route30_JoeysRattataAttacksMovement:
fix_facing
big_step_up
big_step_down
step_end
-MovementData_0x1a1802:
+Route30_MikeysRattataAttacksMovement:
fix_facing
big_step_down
big_step_up
step_end
-UnknownText_0x1a1806:
+Text_UseTackle:
text "Go, RATTATA!"
para "TACKLE!"
done
-UnknownText_0x1a181c:
+Text_ThisIsABigBattle:
text "What? This is a"
line "big battle!"
cont "Leave me alone!"
@@ -277,7 +290,7 @@
line "Doggone it!"
done
-UnknownText_0x1a18c2:
+YoungsterJoey1AfterText:
text "Do I have to have"
line "more #MON in"
@@ -302,7 +315,7 @@
line "I won before."
done
-UnknownText_0x1a197d:
+YoungsterMikeyAfterText:
text "Becoming a good"
line "trainer is really"
cont "tough."
@@ -323,7 +336,7 @@
line "strong!"
done
-UnknownText_0x1a1a1c:
+Bug_catcherDonAfterText:
text "I ran out of #"
line "BALLS while I was"
cont "catching #MON."
@@ -332,19 +345,19 @@
line "some more…"
done
-UnknownText_0x1a1a6a:
+Route30YoungsterText_DirectionsToMrPokemonsHouse:
text "MR.#MON's"
line "house? It's a bit"
cont "farther ahead."
done
-UnknownText_0x1a1a94:
+Route30YoungsterText_EveryoneIsBattling:
text "Everyone's having"
line "fun battling!"
cont "You should too!"
done
-UnknownText_0x1a1ac4:
+Route30CooltrainerFText:
text "I'm not a trainer."
para "But if you look"
@@ -352,7 +365,7 @@
cont "prepare to battle."
done
-UnknownText_0x1a1b0b:
+Route30MapSignText:
text "ROUTE 30"
para "VIOLET CITY -"
@@ -359,16 +372,16 @@
line "CHERRYGROVE CITY"
done
-UnknownText_0x1a1b34:
+Route30DirectionsToMrPokemonsHouseSignText:
text "MR.#MON'S HOUSE"
line "STRAIGHT AHEAD!"
done
-UnknownText_0x1a1b55:
+Route30MrPokemonsHouseSignText:
text "MR.#MON'S HOUSE"
done
-UnknownText_0x1a1b66:
+Route30TrainerTipsSignText:
text "TRAINER TIPS"
para "No stealing other"
@@ -379,7 +392,7 @@
cont "wild #MON!"
done
-UnknownText_0x1a1bc0:
+YoungsterJoeyText_GiveHPUpAfterBattle:
text "I lost again…"
line "Gee, you're tough!"
@@ -412,18 +425,18 @@
signpost 29, 13, SIGNPOST_READ, MapRoute30Signpost1Script
signpost 5, 15, SIGNPOST_READ, MapRoute30Signpost2Script
signpost 21, 3, SIGNPOST_READ, MapRoute30Signpost3Script
- signpost 9, 14, SIGNPOST_ITEM, MapRoute30SignpostItem4
+ signpost 9, 14, SIGNPOST_ITEM, Route30HiddenPotion
.PersonEvents:
db 11
- person_event SPRITE_YOUNGSTER, 26, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x1a1673, EVENT_ROUTE_30_BATTLE
+ person_event SPRITE_YOUNGSTER, 26, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, YoungsterJoey_ImportantBattleScript, EVENT_ROUTE_30_BATTLE
person_event SPRITE_YOUNGSTER, 28, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerYoungsterJoey, EVENT_ROUTE_30_YOUNGSTER_JOEY
person_event SPRITE_YOUNGSTER, 23, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 1, TrainerYoungsterMikey, -1
person_event SPRITE_BUG_CATCHER, 7, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_TRAINER, 3, TrainerBug_catcherDon, -1
- person_event SPRITE_YOUNGSTER, 30, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x1a17d2, -1
+ person_event SPRITE_YOUNGSTER, 30, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, Route30YoungsterScript, -1
person_event SPRITE_MONSTER, 24, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_ROUTE_30_BATTLE
person_event SPRITE_MONSTER, 25, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_ROUTE_30_BATTLE
- person_event SPRITE_FRUIT_TREE, 39, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x1a17f7, -1
- person_event SPRITE_FRUIT_TREE, 5, 11, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x1a17f9, -1
- person_event SPRITE_COOLTRAINER_F, 13, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerFScript_0x1a17e6, -1
- person_event SPRITE_POKE_BALL, 35, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1a17f5, EVENT_ROUTE_30_ANTIDOTE
+ person_event SPRITE_FRUIT_TREE, 39, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route30FruitTree1, -1
+ person_event SPRITE_FRUIT_TREE, 5, 11, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route30FruitTree2, -1
+ person_event SPRITE_COOLTRAINER_F, 13, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route30CooltrainerFScript, -1
+ person_event SPRITE_POKE_BALL, 35, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route30Antidote, EVENT_ROUTE_30_ANTIDOTE
--- a/maps/Route30BerrySpeechHouse.asm
+++ b/maps/Route30BerrySpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE30BERRYSPEECHHOUSE_POKEFAN_M
+
Route30BerrySpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,19 +10,19 @@
PokefanMScript_0x196d64:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_BERRY_FROM_ROUTE_30_HOUSE
iftrue UnknownScript_0x196d79
writetext UnknownText_0x196d82
- keeptextopen
+ buttonsound
verbosegiveitem BERRY
iffalse UnknownScript_0x196d7d
setevent EVENT_GOT_BERRY_FROM_ROUTE_30_HOUSE
UnknownScript_0x196d79:
writetext UnknownText_0x196dec
- closetext
+ waitbutton
UnknownScript_0x196d7d:
- loadmovesprites
+ closetext
end
Route30BerrySpeechHouseBookshelf:
--- a/maps/Route31.asm
+++ b/maps/Route31.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const ROUTE31_FISHER
+ const ROUTE31_YOUNGSTER
+ const ROUTE31_BUG_CATCHER
+ const ROUTE31_COOLTRAINER_M
+ const ROUTE31_FRUIT_TREE
+ const ROUTE31_POKE_BALL1
+ const ROUTE31_POKE_BALL2
+
Route31_MapScriptHeader:
.MapTriggers:
db 0
@@ -19,12 +28,12 @@
return
TrainerBug_catcherWade1:
- trainer EVENT_BEAT_BUG_CATCHER_WADE, BUG_CATCHER, WADE1, Bug_catcherWade1SeenText, Bug_catcherWade1BeatenText, 0, Bug_catcherWade1Script
+ trainer EVENT_BEAT_BUG_CATCHER_WADE, BUG_CATCHER, WADE1, Bug_catcherWade1SeenText, Bug_catcherWade1BeatenText, 0, .Script
-Bug_catcherWade1Script:
+.Script:
writecode VAR_CALLERID, PHONE_BUG_CATCHER_WADE
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_WADE
iftrue .WadeRematch
checkflag ENGINE_WADE_HAS_ITEM
@@ -33,8 +42,8 @@
iftrue .AcceptedNumberSTD
checkevent EVENT_WADE_ASKED_FOR_PHONE_NUMBER
iftrue .AskAgain
- writetext UnknownText_0x1a5671
- closetext
+ writetext Bug_catcherWade1AfterText
+ waitbutton
setevent EVENT_WADE_ASKED_FOR_PHONE_NUMBER
scall .AskPhoneNumberSTD
jump .Continue
@@ -73,7 +82,7 @@
.LoadFight0
loadtrainer BUG_CATCHER, WADE1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wWadeFightCount, 1
clearflag ENGINE_WADE
end
@@ -81,7 +90,7 @@
.LoadFight1
loadtrainer BUG_CATCHER, WADE2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wWadeFightCount, 2
clearflag ENGINE_WADE
end
@@ -89,7 +98,7 @@
.LoadFight2
loadtrainer BUG_CATCHER, WADE3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wWadeFightCount, 3
clearflag ENGINE_WADE
end
@@ -97,7 +106,7 @@
.LoadFight3
loadtrainer BUG_CATCHER, WADE4
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wWadeFightCount, 4
clearflag ENGINE_WADE
end
@@ -105,7 +114,7 @@
.LoadFight4
loadtrainer BUG_CATCHER, WADE5
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_WADE
end
@@ -176,63 +185,63 @@
jumpstd packfullm
end
-FisherScript_0x1a5570:
+Route31MailRecipientScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TM50_NIGHTMARE
iftrue .DescribeNightmare
checkevent EVENT_GOT_KENYA
iftrue .TryGiveKenya
- writetext UnknownText_0x1a56d9
+ writetext Text_Route31SleepyMan
+ waitbutton
closetext
- loadmovesprites
end
.TryGiveKenya:
- writetext UnknownText_0x1a5761
- keeptextopen
+ writetext Text_Route31SleepyManGotMail
+ buttonsound
checkpokeitem ReceivedSpearowMailText
if_equal $0, .WrongMail
if_equal $2, .Refused
if_equal $3, .NoMail
if_equal $4, .LastMon
- writetext UnknownText_0x1a5790
- keeptextopen
- writetext UnknownText_0x1a57ba
- keeptextopen
+ writetext Text_Route31HandOverMailMon
+ buttonsound
+ writetext Text_Route31ReadingMail
+ buttonsound
setevent EVENT_GAVE_KENYA
verbosegiveitem TM_NIGHTMARE
iffalse .NoRoomForItems
setevent EVENT_GOT_TM50_NIGHTMARE
.DescribeNightmare:
- writetext UnknownText_0x1a5896
- closetext
+ writetext Text_Route31DescribeNightmare
+ waitbutton
.NoRoomForItems:
- loadmovesprites
+ closetext
end
.WrongMail:
- writetext UnknownText_0x1a5921
+ writetext Text_Route31WrongMail
+ waitbutton
closetext
- loadmovesprites
end
.NoMail:
- writetext UnknownText_0x1a5939
+ writetext Text_Route31MissingMail
+ waitbutton
closetext
- loadmovesprites
end
.Refused:
- writetext UnknownText_0x1a5972
+ writetext Text_Route31DeclinedToHandOverMail
+ waitbutton
closetext
- loadmovesprites
end
.LastMon:
- writetext UnknownText_0x1a5991
+ writetext Text_Route31CantTakeLastMon
+ waitbutton
closetext
- loadmovesprites
end
ReceivedSpearowMailText:
@@ -239,28 +248,28 @@
db "DARK CAVE leads"
next "to another road@"
-YoungsterScript_0x1a55ed:
- jumptextfaceplayer UnknownText_0x1a59d5
+Route31YoungsterScript:
+ jumptextfaceplayer Route31YoungsterText
MapRoute31Signpost0Script:
- jumptext UnknownText_0x1a5a45
+ jumptext Route31Signpost0Text
MapRoute31Signpost1Script:
- jumptext UnknownText_0x1a5a6e
+ jumptext Route31Signpost1Text
-CooltrainerMScript_0x1a55f6:
- jumptextfaceplayer UnknownText_0x1a55ff
+Route31CooltrainerMScript:
+ jumptextfaceplayer Route31CooltrainerMText
-FruitTreeScript_0x1a55f9:
+Route31FruitTree:
fruittree FRUITTREE_ROUTE_31
-ItemFragment_0x1a55fb:
- db POTION, 1
+Route31Potion:
+ itemball POTION
-ItemFragment_0x1a55fd:
- db POKE_BALL, 1
+Route31PokeBall:
+ itemball POKE_BALL
-UnknownText_0x1a55ff:
+Route31CooltrainerMText:
text "DARK CAVE…"
para "If #MON could"
@@ -278,7 +287,7 @@
text "Awwwww…"
done
-UnknownText_0x1a5671:
+Bug_catcherWade1AfterText:
text "You can catch"
line "#MON even if"
@@ -290,7 +299,7 @@
cont "BOX automatically."
done
-UnknownText_0x1a56d9:
+Text_Route31SleepyMan:
text "… Hnuurg… Huh?"
para "I walked too far"
@@ -307,7 +316,7 @@
para "…Zzzz…"
done
-UnknownText_0x1a5761:
+Text_Route31SleepyManGotMail:
text "…Zzzz… Huh?"
para "What's that? You"
@@ -314,13 +323,13 @@
line "have MAIL for me?"
done
-UnknownText_0x1a5790:
+Text_Route31HandOverMailMon:
text "<PLAYER> handed"
line "over the #MON"
cont "holding the MAIL."
done
-UnknownText_0x1a57ba:
+Text_Route31ReadingMail:
text "Let's see…"
para "…DARK CAVE leads"
@@ -344,7 +353,7 @@
line "to have this!"
done
-UnknownText_0x1a5896:
+Text_Route31DescribeNightmare:
text "TM50 is NIGHTMARE."
para "It's a wicked move"
@@ -360,12 +369,12 @@
line "have bad dreams."
done
-UnknownText_0x1a5921:
+Text_Route31WrongMail:
text "This MAIL isn't"
line "for me."
done
-UnknownText_0x1a5939:
+Text_Route31MissingMail:
text "Why is this #-"
line "MON so special?"
@@ -373,12 +382,12 @@
line "any MAIL."
done
-UnknownText_0x1a5972:
+Text_Route31DeclinedToHandOverMail:
text "What? You don't"
line "want anything?"
done
-UnknownText_0x1a5991:
+Text_Route31CantTakeLastMon:
text "If I take that"
line "#MON from you,"
@@ -386,7 +395,7 @@
line "to use in battle?"
done
-UnknownText_0x1a59d5:
+Route31YoungsterText:
text "I found a good"
line "#MON in DARK"
cont "CAVE."
@@ -399,7 +408,7 @@
line "VIOLET CITY's GYM."
done
-UnknownText_0x1a5a45:
+Route31Signpost0Text:
text "ROUTE 31"
para "VIOLET CITY -"
@@ -406,7 +415,7 @@
line "CHERRYGROVE CITY"
done
-UnknownText_0x1a5a6e:
+Route31Signpost1Text:
text "DARK CAVE"
done
@@ -430,10 +439,10 @@
.PersonEvents:
db 7
- person_event SPRITE_FISHER, 7, 17, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FisherScript_0x1a5570, -1
- person_event SPRITE_YOUNGSTER, 5, 9, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x1a55ed, -1
+ person_event SPRITE_FISHER, 7, 17, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route31MailRecipientScript, -1
+ person_event SPRITE_YOUNGSTER, 5, 9, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route31YoungsterScript, -1
person_event SPRITE_BUG_CATCHER, 13, 21, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_TRAINER, 5, TrainerBug_catcherWade1, -1
- person_event SPRITE_COOLTRAINER_M, 8, 33, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x1a55f6, -1
- person_event SPRITE_FRUIT_TREE, 7, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x1a55f9, -1
- person_event SPRITE_POKE_BALL, 5, 29, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1a55fb, EVENT_ROUTE_31_POTION
- person_event SPRITE_POKE_BALL, 15, 19, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1a55fd, EVENT_ROUTE_31_POKE_BALL
+ person_event SPRITE_COOLTRAINER_M, 8, 33, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route31CooltrainerMScript, -1
+ person_event SPRITE_FRUIT_TREE, 7, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route31FruitTree, -1
+ person_event SPRITE_POKE_BALL, 5, 29, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route31Potion, EVENT_ROUTE_31_POTION
+ person_event SPRITE_POKE_BALL, 15, 19, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route31PokeBall, EVENT_ROUTE_31_POKE_BALL
--- a/maps/Route31VioletGate.asm
+++ b/maps/Route31VioletGate.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ROUTE31VIOLETGATE_OFFICER
+ const ROUTE31VIOLETGATE_COOLTRAINER_F
+
Route31VioletGate_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route32.asm
+++ b/maps/Route32.asm
@@ -1,11 +1,27 @@
+const_value set 2
+ const ROUTE32_FISHER1
+ const ROUTE32_FISHER2
+ const ROUTE32_FISHER3
+ const ROUTE32_YOUNGSTER1
+ const ROUTE32_YOUNGSTER2
+ const ROUTE32_YOUNGSTER3
+ const ROUTE32_LASS1
+ const ROUTE32_COOLTRAINER_M
+ const ROUTE32_YOUNGSTER4
+ const ROUTE32_FISHER4
+ const ROUTE32_POKE_BALL1
+ const ROUTE32_FISHER5
+ const ROUTE32_LASS2
+ const ROUTE32_POKE_BALL2
+
Route32_MapScriptHeader:
.MapTriggers:
db 3
; triggers
- dw UnknownScript_0x190460, 0
- dw UnknownScript_0x190461, 0
- dw UnknownScript_0x190462, 0
+ dw .Trigger0, 0
+ dw .Trigger1, 0
+ dw .Trigger2, 0
.MapCallbacks:
db 1
@@ -12,181 +28,181 @@
; callbacks
- dbw 2, FriedaCallback
+ dbw 2, .Frieda
-UnknownScript_0x190460:
+.Trigger0:
end
-UnknownScript_0x190461:
+.Trigger1:
end
-UnknownScript_0x190462:
+.Trigger2:
end
-FriedaCallback:
+.Frieda:
checkcode VAR_WEEKDAY
if_equal FRIDAY, .FriedaAppears
- disappear $e
+ disappear ROUTE32_LASS2
return
.FriedaAppears
- appear $e
+ appear ROUTE32_LASS2
return
-CooltrainerMScript_0x19046f:
+Route32CooltrainerMScript:
faceplayer
-UnknownScript_0x190470:
- loadfont
+Route32CooltrainerMTrigger:
+ opentext
checkevent EVENT_GOT_MIRACLE_SEED_IN_ROUTE_32
- iftrue UnknownScript_0x1904a5
+ iftrue .GotMiracleSeed
checkflag ENGINE_ZEPHYRBADGE
- iffalse UnknownScript_0x19049f
+ iffalse .DontHaveZephyrBadge
checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
- iftrue UnknownScript_0x19048f
- writetext UnknownText_0x1907ab
+ iftrue .GiveMiracleSeed
+ writetext Route32CooltrainerMText_AideIsWaiting
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x190489:
- writetext UnknownText_0x190820
+.Unused:
+ writetext Route32CooltrainerMText_UnusedSproutTower
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x19048f:
- writetext UnknownText_0x190925
- keeptextopen
+.GiveMiracleSeed:
+ writetext Route32CooltrainerMText_HaveThisSeed
+ buttonsound
verbosegiveitem MIRACLE_SEED
- iffalse UnknownScript_0x1904a9
+ iffalse .BagFull
setevent EVENT_GOT_MIRACLE_SEED_IN_ROUTE_32
- jump UnknownScript_0x1904a5
+ jump .GotMiracleSeed
-UnknownScript_0x19049f:
- writetext UnknownText_0x1908b0
+.DontHaveZephyrBadge:
+ writetext Route32CooltrainerMText_VioletGym
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1904a5:
- writetext UnknownText_0x190a15
+.GotMiracleSeed:
+ writetext Route32CooltrainerMText_ExperiencesShouldBeUseful
+ waitbutton
+.BagFull:
closetext
-UnknownScript_0x1904a9:
- loadmovesprites
end
-UnknownScript_0x1904ab:
- spriteface $9, LEFT
+Route32CooltrainerMStopsYou:
+ spriteface ROUTE32_COOLTRAINER_M, LEFT
spriteface PLAYER, RIGHT
- loadfont
- writetext UnknownText_0x190790
+ opentext
+ writetext Route32CooltrainerMText_WhatsTheHurry
+ waitbutton
closetext
- loadmovesprites
- follow PLAYER, $9
- applymovement PLAYER, MovementData_0x190789
+ follow PLAYER, ROUTE32_COOLTRAINER_M
+ applymovement PLAYER, Movement_Route32CooltrainerMPushesYouBackToViolet
stopfollow
spriteface PLAYER, DOWN
- scall UnknownScript_0x190470
- applymovement $9, MovementData_0x19078c
- applymovement $9, MovementData_0x19078e
+ scall Route32CooltrainerMTrigger
+ applymovement ROUTE32_COOLTRAINER_M, Movement_Route32CooltrainerMReset1
+ applymovement ROUTE32_COOLTRAINER_M, Movement_Route32CooltrainerMReset2
end
-FisherScript_0x1904ce:
+Route32RoarTMGuyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TM05_ROAR
- iftrue UnknownScript_0x1904e3
- writetext UnknownText_0x191133
- keeptextopen
+ iftrue .AlreadyHaveRoar
+ writetext Text_RoarIntro
+ buttonsound
verbosegiveitem TM_ROAR
- iffalse UnknownScript_0x1904e7
+ iffalse .Finish
setevent EVENT_GOT_TM05_ROAR
-UnknownScript_0x1904e3:
- writetext UnknownText_0x19118c
+.AlreadyHaveRoar:
+ writetext Text_RoarOutro
+ waitbutton
+.Finish:
closetext
-UnknownScript_0x1904e7:
- loadmovesprites
end
-UnknownScript_0x1904e9:
- spriteface $b, DOWN
+Route32WannaBuyASlowpokeTailScript:
+ spriteface ROUTE32_FISHER4, DOWN
spriteface PLAYER, UP
- jump UnknownScript_0x1904f3
+ jump _OfferToSellSlowpokeTail
-FisherScript_0x1904f2:
+SlowpokeTailSalesmanScript:
faceplayer
-UnknownScript_0x1904f3:
+_OfferToSellSlowpokeTail:
dotrigger $2
- loadfont
- writetext UnknownText_0x190a59
+ opentext
+ writetext Text_MillionDollarSlowpokeTail
yesorno
- iffalse UnknownScript_0x190503
- writetext UnknownText_0x190acf
+ iffalse .refused
+ writetext Text_ThoughtKidsWereLoaded
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x190503:
- writetext UnknownText_0x190afc
+.refused:
+ writetext Text_RefusedToBuySlowpokeTail
+ waitbutton
closetext
- loadmovesprites
end
TrainerCamperRoland:
- trainer EVENT_BEAT_CAMPER_ROLAND, CAMPER, ROLAND, CamperRolandSeenText, CamperRolandBeatenText, 0, CamperRolandScript
+ trainer EVENT_BEAT_CAMPER_ROLAND, CAMPER, ROLAND, CamperRolandSeenText, CamperRolandBeatenText, 0, .Script
-CamperRolandScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x190faa
+.Script:
+ end_if_just_battled
+ opentext
+ writetext CamperRolandAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerFisherJustin:
- trainer EVENT_BEAT_FISHER_JUSTIN, FISHER, JUSTIN, FisherJustinSeenText, FisherJustinBeatenText, 0, FisherJustinScript
+ trainer EVENT_BEAT_FISHER_JUSTIN, FISHER, JUSTIN, FisherJustinSeenText, FisherJustinBeatenText, 0, .Script
-FisherJustinScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x190b4e
+.Script:
+ end_if_just_battled
+ opentext
+ writetext FisherJustinAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerFisherRalph1:
- trainer EVENT_BEAT_FISHER_RALPH, FISHER, RALPH1, FisherRalph1SeenText, FisherRalph1BeatenText, 0, FisherRalph1Script
+ trainer EVENT_BEAT_FISHER_RALPH, FISHER, RALPH1, FisherRalph1SeenText, FisherRalph1BeatenText, 0, .Script
-FisherRalph1Script:
+.Script:
writecode VAR_CALLERID, PHONE_FISHER_RALPH
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_RALPH
- iftrue UnknownScript_0x19057d
+ iftrue .Rematch
checkflag ENGINE_SPECIAL_WILDDATA
- iftrue UnknownScript_0x1905f1
+ iftrue .Swarm
checkcellnum PHONE_FISHER_RALPH
- iftrue UnknownScript_0x190603
+ iftrue .NumberAccepted
checkevent EVENT_RALPH_ASKED_FOR_PHONE_NUMBER
- iftrue UnknownScript_0x190566
- writetext UnknownText_0x190bf8
- keeptextopen
+ iftrue .AskAgain
+ writetext FisherRalphAfterText
+ buttonsound
setevent EVENT_RALPH_ASKED_FOR_PHONE_NUMBER
- scall UnknownScript_0x1905f7
- jump UnknownScript_0x190569
+ scall .AskNumber1
+ jump .AskForNumber
-UnknownScript_0x190566:
- scall UnknownScript_0x1905fb
-UnknownScript_0x190569:
+.AskAgain:
+ scall .AskNumber2
+.AskForNumber:
askforphonenumber PHONE_FISHER_RALPH
- if_equal $1, UnknownScript_0x19060b
- if_equal $2, UnknownScript_0x190607
+ if_equal $1, .PhoneFull
+ if_equal $2, .NumberDeclined
trainertotext FISHER, RALPH1, $0
- scall UnknownScript_0x1905ff
- jump UnknownScript_0x190603
+ scall .RegisteredNumber
+ jump .NumberAccepted
-UnknownScript_0x19057d:
- scall UnknownScript_0x19060f
+.Rematch:
+ scall .RematchStd
winlosstext FisherRalph1BeatenText, 0
copybytetovar wRalphFightCount
if_equal 4, .Fight4
@@ -209,7 +225,7 @@
.LoadFight0
loadtrainer FISHER, RALPH1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wRalphFightCount, 1
clearflag ENGINE_RALPH
end
@@ -217,7 +233,7 @@
.LoadFight1
loadtrainer FISHER, RALPH2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wRalphFightCount, 2
clearflag ENGINE_RALPH
end
@@ -225,7 +241,7 @@
.LoadFight2
loadtrainer FISHER, RALPH3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wRalphFightCount, 3
clearflag ENGINE_RALPH
end
@@ -233,7 +249,7 @@
.LoadFight3
loadtrainer FISHER, RALPH4
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wRalphFightCount, 4
clearflag ENGINE_RALPH
end
@@ -241,86 +257,86 @@
.LoadFight4
loadtrainer FISHER, RALPH5
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_RALPH
end
-UnknownScript_0x1905f1:
- writetext UnknownText_0x190c37
+.Swarm:
+ writetext FisherRalphSwarmText
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1905f7:
+.AskNumber1:
jumpstd asknumber1m
end
-UnknownScript_0x1905fb:
+.AskNumber2:
jumpstd asknumber2m
end
-UnknownScript_0x1905ff:
+.RegisteredNumber:
jumpstd registerednumberm
end
-UnknownScript_0x190603:
+.NumberAccepted:
jumpstd numberacceptedm
end
-UnknownScript_0x190607:
+.NumberDeclined:
jumpstd numberdeclinedm
end
-UnknownScript_0x19060b:
+.PhoneFull:
jumpstd phonefullm
end
-UnknownScript_0x19060f:
+.RematchStd:
jumpstd rematchm
end
TrainerFisherHenry:
- trainer EVENT_BEAT_FISHER_HENRY, FISHER, HENRY, FisherHenrySeenText, FisherHenryBeatenText, 0, FisherHenryScript
+ trainer EVENT_BEAT_FISHER_HENRY, FISHER, HENRY, FisherHenrySeenText, FisherHenryBeatenText, 0, .Script
-FisherHenryScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x190df2
+.Script:
+ end_if_just_battled
+ opentext
+ writetext FisherHenryAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerPicnickerLiz1:
- trainer EVENT_BEAT_PICNICKER_LIZ, PICNICKER, LIZ1, PicnickerLiz1SeenText, PicnickerLiz1BeatenText, 0, PicnickerLiz1Script
+ trainer EVENT_BEAT_PICNICKER_LIZ, PICNICKER, LIZ1, PicnickerLiz1SeenText, PicnickerLiz1BeatenText, 0, .Script
-PicnickerLiz1Script:
+.Script:
writecode VAR_CALLERID, PHONE_PICNICKER_LIZ
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_LIZ
- iftrue UnknownScript_0x19066d
+ iftrue .Rematch
checkcellnum PHONE_PICNICKER_LIZ
- iftrue UnknownScript_0x1906ed
+ iftrue .NumberAccepted
checkevent EVENT_LIZ_ASKED_FOR_PHONE_NUMBER
- iftrue UnknownScript_0x190656
- writetext UnknownText_0x191060
- keeptextopen
+ iftrue .AskAgain
+ writetext PicnickerLiz1AfterText
+ buttonsound
setevent EVENT_LIZ_ASKED_FOR_PHONE_NUMBER
- scall UnknownScript_0x1906e1
- jump UnknownScript_0x190659
+ scall .AskNumber1
+ jump .AskForNumber
-UnknownScript_0x190656:
- scall UnknownScript_0x1906e5
-UnknownScript_0x190659:
+.AskAgain:
+ scall .AskNumber2
+.AskForNumber:
askforphonenumber PHONE_PICNICKER_LIZ
- if_equal $1, UnknownScript_0x1906f5
- if_equal $2, UnknownScript_0x1906f1
+ if_equal $1, .PhoneFull
+ if_equal $2, .NumberDeclined
trainertotext PICNICKER, LIZ1, $0
- scall UnknownScript_0x1906e9
- jump UnknownScript_0x1906ed
+ scall .RegisteredNumber
+ jump .NumberAccepted
-UnknownScript_0x19066d:
- scall UnknownScript_0x1906f9
+.Rematch:
+ scall .RematchStd
winlosstext PicnickerLiz1BeatenText, 0
copybytetovar wLizFightCount
if_equal 4, .Fight4
@@ -343,7 +359,7 @@
.LoadFight0
loadtrainer PICNICKER, LIZ1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wLizFightCount, 1
clearflag ENGINE_LIZ
end
@@ -351,7 +367,7 @@
.LoadFight1
loadtrainer PICNICKER, LIZ2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wLizFightCount, 2
clearflag ENGINE_LIZ
end
@@ -359,7 +375,7 @@
.LoadFight2
loadtrainer PICNICKER, LIZ3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wLizFightCount, 3
clearflag ENGINE_LIZ
end
@@ -367,7 +383,7 @@
.LoadFight3
loadtrainer PICNICKER, LIZ4
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wLizFightCount, 4
clearflag ENGINE_LIZ
end
@@ -375,112 +391,112 @@
.LoadFight4
loadtrainer PICNICKER, LIZ5
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_LIZ
end
-UnknownScript_0x1906e1:
+.AskNumber1:
jumpstd asknumber1f
end
-UnknownScript_0x1906e5:
+.AskNumber2:
jumpstd asknumber2f
end
-UnknownScript_0x1906e9:
+.RegisteredNumber:
jumpstd registerednumberf
end
-UnknownScript_0x1906ed:
+.NumberAccepted:
jumpstd numberacceptedf
end
-UnknownScript_0x1906f1:
+.NumberDeclined:
jumpstd numberdeclinedf
end
-UnknownScript_0x1906f5:
+.PhoneFull:
jumpstd phonefullf
end
-UnknownScript_0x1906f9:
+.RematchStd:
jumpstd rematchf
end
TrainerYoungsterAlbert:
- trainer EVENT_BEAT_YOUNGSTER_ALBERT, YOUNGSTER, ALBERT, YoungsterAlbertSeenText, YoungsterAlbertBeatenText, 0, YoungsterAlbertScript
+ trainer EVENT_BEAT_YOUNGSTER_ALBERT, YOUNGSTER, ALBERT, YoungsterAlbertSeenText, YoungsterAlbertBeatenText, 0, .Script
-YoungsterAlbertScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x190e82
+.Script:
+ end_if_just_battled
+ opentext
+ writetext YoungsterAlbertAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerYoungsterGordon:
- trainer EVENT_BEAT_YOUNGSTER_GORDON, YOUNGSTER, GORDON, YoungsterGordonSeenText, YoungsterGordonBeatenText, 0, YoungsterGordonScript
+ trainer EVENT_BEAT_YOUNGSTER_GORDON, YOUNGSTER, GORDON, YoungsterGordonSeenText, YoungsterGordonBeatenText, 0, .Script
-YoungsterGordonScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x190f49
+.Script:
+ end_if_just_battled
+ opentext
+ writetext YoungsterGordonAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerBird_keeperPeter:
- trainer EVENT_BEAT_BIRD_KEEPER_PETER, BIRD_KEEPER, PETER, Bird_keeperPeterSeenText, Bird_keeperPeterBeatenText, 0, Bird_keeperPeterScript
+ trainer EVENT_BEAT_BIRD_KEEPER_PETER, BIRD_KEEPER, PETER, Bird_keeperPeterSeenText, Bird_keeperPeterBeatenText, 0, .Script
-Bird_keeperPeterScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x1910d4
+.Script:
+ end_if_just_battled
+ opentext
+ writetext Bird_keeperPeterAfterText
+ waitbutton
closetext
- loadmovesprites
end
FriedaScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_POISON_BARB_FROM_FRIEDA
- iftrue FriedaFridayScript
+ iftrue .Friday
checkcode VAR_WEEKDAY
- if_not_equal FRIDAY, FriedaNotFridayScript
+ if_not_equal FRIDAY, .NotFriday
checkevent EVENT_MET_FRIEDA_OF_FRIDAY
iftrue .MetFrieda
writetext MeetFriedaText
- keeptextopen
+ buttonsound
setevent EVENT_MET_FRIEDA_OF_FRIDAY
.MetFrieda
writetext FriedaGivesGiftText
- keeptextopen
+ buttonsound
verbosegiveitem POISON_BARB
- iffalse FriedaDoneScript
+ iffalse .Done
setevent EVENT_GOT_POISON_BARB_FROM_FRIEDA
writetext FriedaGaveGiftText
+ waitbutton
closetext
- loadmovesprites
end
-FriedaFridayScript:
+.Friday:
writetext FriedaFridayText
+ waitbutton
+.Done:
closetext
-FriedaDoneScript:
- loadmovesprites
end
-FriedaNotFridayScript:
+.NotFriday:
writetext FriedaNotFridayText
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x190773:
- db GREAT_BALL, 1
+Route32GreatBall:
+ itemball GREAT_BALL
-ItemFragment_0x190775:
- db REPEL, 1
+Route32Repel:
+ itemball REPEL
Route32Sign:
jumptext Route32SignText
@@ -494,33 +510,33 @@
Route32PokeCenterSign:
jumpstd pokecentersign
-MapRoute32SignpostItem4:
+Route32HiddenGreatBall:
dwb EVENT_ROUTE_32_HIDDEN_GREAT_BALL, GREAT_BALL
-MapRoute32SignpostItem5:
+Route32HiddenSuperPotion:
dwb EVENT_ROUTE_32_HIDDEN_SUPER_POTION, SUPER_POTION
-MovementData_0x190789:
+Movement_Route32CooltrainerMPushesYouBackToViolet:
step_up
step_up
step_end
-MovementData_0x19078c:
+Movement_Route32CooltrainerMReset1:
step_down
step_end
-MovementData_0x19078e:
+Movement_Route32CooltrainerMReset2:
step_right
step_end
-UnknownText_0x190790:
+Route32CooltrainerMText_WhatsTheHurry:
text "Wait up!"
line "What's the hurry?"
done
-UnknownText_0x1907ab:
+Route32CooltrainerMText_AideIsWaiting:
text "<PLAYER>, right?"
line "Some guy wearing"
@@ -535,7 +551,7 @@
done
; might not be referenced anywhere
-UnknownText_0x190820:
+Route32CooltrainerMText_UnusedSproutTower:
text "Have you gone to"
line "SPROUT TOWER?"
@@ -550,7 +566,7 @@
cont "SPROUT TOWER!"
done
-UnknownText_0x1908b0:
+Route32CooltrainerMText_VioletGym:
text "Have you gone to"
line "the #MON GYM?"
@@ -563,7 +579,7 @@
cont "trainers!"
done
-UnknownText_0x190925:
+Route32CooltrainerMText_HaveThisSeed:
text "You have some good"
line "#MON there."
@@ -588,7 +604,7 @@
cont "type moves."
done
-UnknownText_0x190a15:
+Route32CooltrainerMText_ExperiencesShouldBeUseful:
text "Your experiences"
line "in VIOLET CITY"
@@ -596,7 +612,7 @@
line "for your journey."
done
-UnknownText_0x190a59:
+Text_MillionDollarSlowpokeTail:
text "How would you like"
line "to have this"
@@ -609,13 +625,13 @@
para "You'll want this!"
done
-UnknownText_0x190acf:
+Text_ThoughtKidsWereLoaded:
text "Tch! I thought"
line "kids these days"
cont "were loaded…"
done
-UnknownText_0x190afc:
+Text_RefusedToBuySlowpokeTail:
text "You don't want it?"
line "Then scram. Shoo!"
done
@@ -631,7 +647,7 @@
text "Sploosh!"
done
-UnknownText_0x190b4e:
+FisherJustinAfterText:
text "Calm, collected…"
line "The essence of"
@@ -653,7 +669,7 @@
line "rush things…"
done
-UnknownText_0x190bf8:
+FisherRalphAfterText:
text "Fishing is a life-"
line "long passion."
@@ -661,7 +677,7 @@
line "long friends!"
done
-UnknownText_0x190c37:
+FisherRalphSwarmText:
text "One, two, three…"
line "Muahahaha, what a"
@@ -674,7 +690,7 @@
; --- start a segment of possibly unused texts
-UnknownText_0x190c9c:
+Route32UnusedFisher1SeenText:
text "I keep catching"
line "the same #MON…"
@@ -683,29 +699,29 @@
cont "around for me."
done
-UnknownText_0x190ceb:
+Route32UnusedFisher1BeatenText:
text "Nothing ever goes"
line "right for me now…"
done
-UnknownText_0x190d10:
+Route32UnusedFisher1AfterText:
text "How come the guy"
line "next to me catches"
cont "good #MON?"
done
-UnknownText_0x190d40:
+Route32UnusedFisher2SeenText:
text "Heh, I'm on a roll"
line "today. How about a"
cont "battle, kid?"
done
-UnknownText_0x190d73:
+Route32UnusedFisher2BeatenText:
text "Oof. I wasn't"
line "lucky that time."
done
-UnknownText_0x190d92:
+Route32UnusedFisher2AfterText:
text "You have to have a"
line "good ROD if you"
@@ -724,7 +740,7 @@
text "SPLASH?"
done
-UnknownText_0x190df2:
+FisherHenryAfterText:
text "Freshly caught"
line "#MON are no"
@@ -744,7 +760,7 @@
text "You're strong!"
done
-UnknownText_0x190e82:
+YoungsterAlbertAfterText:
text "I'm going to try"
line "to be the best"
cont "with my favorites."
@@ -768,7 +784,7 @@
line "could win."
done
-UnknownText_0x190f49:
+YoungsterGordonAfterText:
text "The grass is full"
line "of clingy things."
done
@@ -783,7 +799,7 @@
line "disappointing."
done
-UnknownText_0x190faa:
+CamperRolandAfterText:
text "If you don't want"
line "to battle, just"
cont "avoid eye contact."
@@ -805,7 +821,7 @@
line "relieve my anger!"
done
-UnknownText_0x191060:
+PicnickerLiz1AfterText:
text "I was having a"
line "nice chat too."
done
@@ -822,7 +838,7 @@
line "weaknesses are."
done
-UnknownText_0x1910d4:
+Bird_keeperPeterAfterText:
text "I should train"
line "again at the GYM"
cont "in VIOLET CITY."
@@ -829,13 +845,13 @@
done
; possibly unused
-UnknownText_0x191105:
+Route32UnusedText:
text "The fishermen"
line "yelled at me for"
cont "bugging them…"
done
-UnknownText_0x191133:
+Text_RoarIntro:
text "WROOOOAR!"
line "PEOPLE RUN WHEN I"
@@ -846,7 +862,7 @@
line "NOW TAKE THIS!"
done
-UnknownText_0x19118c:
+Text_RoarOutro:
text "WROOOAR!"
line "IT'S ROAR!"
@@ -932,17 +948,17 @@
.XYTriggers:
db 2
- xy_trigger 0, $8, $12, $0, UnknownScript_0x1904ab, $0, $0
- xy_trigger 1, $47, $7, $0, UnknownScript_0x1904e9, $0, $0
+ xy_trigger 0, $8, $12, $0, Route32CooltrainerMStopsYou, $0, $0
+ xy_trigger 1, $47, $7, $0, Route32WannaBuyASlowpokeTailScript, $0, $0
.Signposts:
db 6
- signpost 5, 13, SIGNPOST_READ, Route32Sign
- signpost 1, 9, SIGNPOST_READ, Route32RuinsSign
+ signpost 5, 13, SIGNPOST_READ, Route32Sign
+ signpost 1, 9, SIGNPOST_READ, Route32RuinsSign
signpost 84, 10, SIGNPOST_READ, Route32UnionCaveSign
signpost 73, 12, SIGNPOST_READ, Route32PokeCenterSign
- signpost 67, 12, SIGNPOST_ITEM, MapRoute32SignpostItem4
- signpost 40, 11, SIGNPOST_ITEM, MapRoute32SignpostItem5
+ signpost 67, 12, SIGNPOST_ITEM, Route32HiddenGreatBall
+ signpost 40, 11, SIGNPOST_ITEM, Route32HiddenSuperPotion
.PersonEvents:
db 14
@@ -953,10 +969,10 @@
person_event SPRITE_YOUNGSTER, 63, 4, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerYoungsterGordon, -1
person_event SPRITE_YOUNGSTER, 45, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_TRAINER, 3, TrainerCamperRoland, -1
person_event SPRITE_LASS, 30, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_TRAINER, 1, TrainerPicnickerLiz1, -1
- person_event SPRITE_COOLTRAINER_M, 8, 19, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CooltrainerMScript_0x19046f, -1
+ person_event SPRITE_COOLTRAINER_M, 8, 19, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route32CooltrainerMScript, -1
person_event SPRITE_YOUNGSTER, 82, 11, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerBird_keeperPeter, -1
- person_event SPRITE_FISHER, 70, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FisherScript_0x1904f2, EVENT_SLOWPOKE_WELL_ROCKETS
- person_event SPRITE_POKE_BALL, 53, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x190773, EVENT_ROUTE_32_GREAT_BALL
- person_event SPRITE_FISHER, 13, 15, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FisherScript_0x1904ce, -1
+ person_event SPRITE_FISHER, 70, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SlowpokeTailSalesmanScript, EVENT_SLOWPOKE_WELL_ROCKETS
+ person_event SPRITE_POKE_BALL, 53, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route32GreatBall, EVENT_ROUTE_32_GREAT_BALL
+ person_event SPRITE_FISHER, 13, 15, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route32RoarTMGuyScript, -1
person_event SPRITE_LASS, 67, 12, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FriedaScript, EVENT_ROUTE_32_FRIEDA_OF_FRIDAY
- person_event SPRITE_POKE_BALL, 30, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x190775, EVENT_ROUTE_32_REPEL
+ person_event SPRITE_POKE_BALL, 30, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route32Repel, EVENT_ROUTE_32_REPEL
--- a/maps/Route32PokeCenter1F.asm
+++ b/maps/Route32PokeCenter1F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const ROUTE32POKECENTER1F_NURSE
+ const ROUTE32POKECENTER1F_FISHING_GURU
+ const ROUTE32POKECENTER1F_COOLTRAINER_F
+
Route32PokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -10,7 +15,7 @@
FishingGuruScript_0x69b55:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_OLD_ROD
iftrue UnknownScript_0x69b7a
writetext UnknownText_0x69b83
@@ -17,24 +22,24 @@
yesorno
iffalse UnknownScript_0x69b74
writetext UnknownText_0x69be8
- keeptextopen
+ buttonsound
verbosegiveitem OLD_ROD
writetext UnknownText_0x69c1b
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_GOT_OLD_ROD
end
UnknownScript_0x69b74:
writetext UnknownText_0x69c6c
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x69b7a:
writetext UnknownText_0x69c8d
+ waitbutton
closetext
- loadmovesprites
end
CooltrainerFScript_0x69b80:
--- a/maps/Route32RuinsofAlphGate.asm
+++ b/maps/Route32RuinsofAlphGate.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const ROUTE32RUINSOFALPHGATE_OFFICER
+ const ROUTE32RUINSOFALPHGATE_POKEFAN_M
+ const ROUTE32RUINSOFALPHGATE_YOUNGSTER
+
Route32RuinsofAlphGate_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route33.asm
+++ b/maps/Route33.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const ROUTE33_POKEFAN_M
+ const ROUTE33_LASS
+ const ROUTE33_FRUIT_TREE
+
Route33_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,42 +10,42 @@
.MapCallbacks:
db 0
-LassScript_0x1ac002:
- jumptextfaceplayer UnknownText_0x1ac1e7
+Route33LassScript:
+ jumptextfaceplayer Route33LassText
TrainerHikerAnthony:
- trainer EVENT_BEAT_HIKER_ANTHONY, HIKER, ANTHONY2, HikerAnthony2SeenText, HikerAnthony2BeatenText, 0, HikerAnthony2Script
+ trainer EVENT_BEAT_HIKER_ANTHONY, HIKER, ANTHONY2, HikerAnthony2SeenText, HikerAnthony2BeatenText, 0, .Script
-HikerAnthony2Script:
+.Script:
writecode VAR_CALLERID, PHONE_HIKER_ANTHONY
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_ANTHONY
- iftrue UnknownScript_0x1ac051
+ iftrue .Rematch
checkflag ENGINE_DUNSPARCE_SWARM
- iftrue UnknownScript_0x1ac0c5
+ iftrue .Swarm
checkcellnum PHONE_HIKER_ANTHONY
- iftrue UnknownScript_0x1ac0d7
+ iftrue .NumberAccepted
checkevent EVENT_ANTHONY_ASKED_FOR_PHONE_NUMBER
- iftrue UnknownScript_0x1ac03a
- writetext UnknownText_0x1ac153
- keeptextopen
+ iftrue .AskAgain
+ writetext HikerAnthony2AfterText
+ buttonsound
setevent EVENT_ANTHONY_ASKED_FOR_PHONE_NUMBER
- scall UnknownScript_0x1ac0cb
- jump UnknownScript_0x1ac03d
+ scall .AskNumber1
+ jump .AskForPhoneNumber
-UnknownScript_0x1ac03a:
- scall UnknownScript_0x1ac0cf
-UnknownScript_0x1ac03d:
+.AskAgain:
+ scall .AskNumber2
+.AskForPhoneNumber:
askforphonenumber PHONE_HIKER_ANTHONY
- if_equal $1, UnknownScript_0x1ac0df
- if_equal $2, UnknownScript_0x1ac0db
+ if_equal $1, .PhoneFull
+ if_equal $2, .NumberDeclined
trainertotext HIKER, ANTHONY2, $0
- scall UnknownScript_0x1ac0d3
- jump UnknownScript_0x1ac0d7
+ scall .RegisteredNumber
+ jump .NumberAccepted
-UnknownScript_0x1ac051:
- scall UnknownScript_0x1ac0e3
+.Rematch:
+ scall .RematchStd
winlosstext HikerAnthony2BeatenText, 0
copybytetovar wAnthonyFightCount
if_equal 4, .Fight4
@@ -63,7 +68,7 @@
.LoadFight0
loadtrainer HIKER, ANTHONY2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wAnthonyFightCount, 1
clearflag ENGINE_ANTHONY
end
@@ -71,7 +76,7 @@
.LoadFight1
loadtrainer HIKER, ANTHONY1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wAnthonyFightCount, 2
clearflag ENGINE_ANTHONY
end
@@ -79,7 +84,7 @@
.LoadFight2
loadtrainer HIKER, ANTHONY3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wAnthonyFightCount, 3
clearflag ENGINE_ANTHONY
end
@@ -87,7 +92,7 @@
.LoadFight3
loadtrainer HIKER, ANTHONY4
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wAnthonyFightCount, 4
clearflag ENGINE_ANTHONY
end
@@ -95,48 +100,48 @@
.LoadFight4
loadtrainer HIKER, ANTHONY5
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_ANTHONY
end
-UnknownScript_0x1ac0c5:
- writetext UnknownText_0x1ac180
+.Swarm:
+ writetext HikerAnthonyDunsparceText
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1ac0cb:
+.AskNumber1:
jumpstd asknumber1m
end
-UnknownScript_0x1ac0cf:
+.AskNumber2:
jumpstd asknumber2m
end
-UnknownScript_0x1ac0d3:
+.RegisteredNumber:
jumpstd registerednumberm
end
-UnknownScript_0x1ac0d7:
+.NumberAccepted:
jumpstd numberacceptedm
end
-UnknownScript_0x1ac0db:
+.NumberDeclined:
jumpstd numberdeclinedm
end
-UnknownScript_0x1ac0df:
+.PhoneFull:
jumpstd phonefullm
end
-UnknownScript_0x1ac0e3:
+.RematchStd:
jumpstd rematchm
end
MapRoute33Signpost0Script:
- jumptext UnknownText_0x1ac279
+ jumptext Route33RouteSignText
-FruitTreeScript_0x1ac0ea:
+Route33FruitTreeScript:
fruittree FRUITTREE_ROUTE_33
HikerAnthony2SeenText:
@@ -152,13 +157,13 @@
line "more zip than me!"
done
-UnknownText_0x1ac153:
+HikerAnthony2AfterText:
text "We HIKERS are at"
line "our best in the"
cont "mountains."
done
-UnknownText_0x1ac180:
+HikerAnthonyDunsparceText:
text "Hey, did you get a"
line "DUNSPARCE?"
@@ -169,7 +174,7 @@
cont "got a funny face!"
done
-UnknownText_0x1ac1e7:
+Route33LassText:
text "Pant, pant…"
para "I finally got"
@@ -185,7 +190,7 @@
line "outside."
done
-UnknownText_0x1ac279:
+Route33RouteSignText:
text "ROUTE 33"
done
@@ -207,5 +212,5 @@
.PersonEvents:
db 3
person_event SPRITE_POKEFAN_M, 13, 6, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_TRAINER, 2, TrainerHikerAnthony, -1
- person_event SPRITE_LASS, 16, 13, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, LassScript_0x1ac002, -1
- person_event SPRITE_FRUIT_TREE, 16, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x1ac0ea, -1
+ person_event SPRITE_LASS, 16, 13, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, Route33LassScript, -1
+ person_event SPRITE_FRUIT_TREE, 16, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route33FruitTreeScript, -1
--- a/maps/Route34.asm
+++ b/maps/Route34.asm
@@ -1,3 +1,18 @@
+const_value set 2
+ const ROUTE34_YOUNGSTER1
+ const ROUTE34_YOUNGSTER2
+ const ROUTE34_YOUNGSTER3
+ const ROUTE34_LASS
+ const ROUTE34_OFFICER
+ const ROUTE34_POKEFAN_M
+ const ROUTE34_GRAMPS
+ const ROUTE34_DAYCARE_MON_1
+ const ROUTE34_DAYCARE_MON_2
+ const ROUTE34_COOLTRAINER_F1
+ const ROUTE34_COOLTRAINER_F2
+ const ROUTE34_COOLTRAINER_F3
+ const ROUTE34_POKE_BALL
+
Route34_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,107 +22,107 @@
; callbacks
- dbw 2, UnknownScript_0x78005
+ dbw 2, .EggCheckCallback
-UnknownScript_0x78005:
- checkflag ENGINE_DAYCARE_MONS_ARE_COMPATIBLE
- iftrue UnknownScript_0x78014
+.EggCheckCallback:
+ checkflag ENGINE_DAYCARE_MAN_HAS_EGG
+ iftrue .PutDaycareManOutside
clearevent EVENT_DAYCARE_MAN_IN_DAYCARE
setevent EVENT_DAYCARE_MAN_ON_ROUTE_34
- jump UnknownScript_0x7801d
+ jump .CheckMon1
-UnknownScript_0x78014:
+.PutDaycareManOutside:
setevent EVENT_DAYCARE_MAN_IN_DAYCARE
clearevent EVENT_DAYCARE_MAN_ON_ROUTE_34
- jump UnknownScript_0x7801d
+ jump .CheckMon1
-UnknownScript_0x7801d:
+.CheckMon1:
checkflag ENGINE_DAYCARE_MAN_HAS_MON
- iffalse UnknownScript_0x78029
+ iffalse .HideMon1
clearevent EVENT_DAYCARE_MON_1
- jump UnknownScript_0x7802f
+ jump .CheckMon2
-UnknownScript_0x78029:
+.HideMon1:
setevent EVENT_DAYCARE_MON_1
- jump UnknownScript_0x7802f
+ jump .CheckMon2
-UnknownScript_0x7802f:
+.CheckMon2:
checkflag ENGINE_DAYCARE_LADY_HAS_MON
- iffalse UnknownScript_0x78039
+ iffalse .HideMon2
clearevent EVENT_DAYCARE_MON_2
return
-UnknownScript_0x78039:
+.HideMon2:
setevent EVENT_DAYCARE_MON_2
return
-GrampsScript_0x7803d:
+DayCareManScript_Outside:
faceplayer
- loadfont
+ opentext
special Special_DayCareManOutside
+ waitbutton
closetext
- loadmovesprites
- if_equal $1, UnknownScript_0x7805a
- clearflag ENGINE_DAYCARE_MONS_ARE_COMPATIBLE
+ if_equal $1, .end_fail
+ clearflag ENGINE_DAYCARE_MAN_HAS_EGG
checkcode VAR_FACING
- if_equal $3, UnknownScript_0x7805b
- applymovement $8, MovementData_0x78333
+ if_equal RIGHT, .walk_around_player
+ applymovement ROUTE34_GRAMPS, Route34MovementData_DayCareManWalksBackInside
playsound SFX_ENTER_DOOR
- disappear $8
-UnknownScript_0x7805a:
+ disappear ROUTE34_GRAMPS
+.end_fail:
end
-UnknownScript_0x7805b:
- applymovement $8, MovementData_0x78337
+.walk_around_player:
+ applymovement ROUTE34_GRAMPS, Route34MovementData_DayCareManWalksBackInside_WalkAroundPlayer
playsound SFX_ENTER_DOOR
- disappear $8
+ disappear ROUTE34_GRAMPS
end
-DaycareMon1Script_0x78065:
- loadfont
+DaycareMon1Script:
+ opentext
special Special_DayCareMon1
- loadmovesprites
+ closetext
end
-DaycareMon2Script_0x7806b:
- loadfont
+DaycareMon2Script:
+ opentext
special Special_DayCareMon2
- loadmovesprites
+ closetext
end
TrainerCamperTodd1:
- trainer EVENT_BEAT_CAMPER_TODD, CAMPER, TODD1, CamperTodd1SeenText, CamperTodd1BeatenText, 0, CamperTodd1Script
+ trainer EVENT_BEAT_CAMPER_TODD, CAMPER, TODD1, CamperTodd1SeenText, CamperTodd1BeatenText, 0, .Script
-CamperTodd1Script:
+.Script:
writecode VAR_CALLERID, PHONE_CAMPER_TODD
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_TODD
- iftrue UnknownScript_0x780bd
+ iftrue .Rematch
checkflag ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
- iftrue UnknownScript_0x78131
+ iftrue .SaleIsOn
checkcellnum PHONE_CAMPER_TODD
- iftrue UnknownScript_0x78143
+ iftrue .NumberAccepted
checkevent EVENT_TODD_ASKED_FOR_PHONE_NUMBER
- iftrue UnknownScript_0x780a6
- writetext UnknownText_0x784f0
- keeptextopen
+ iftrue .AskAgain
+ writetext CamperTodd1AfterText
+ buttonsound
setevent EVENT_TODD_ASKED_FOR_PHONE_NUMBER
- scall UnknownScript_0x78137
- jump UnknownScript_0x780a9
+ scall .AskNumber
+ jump .FinishAsk
-UnknownScript_0x780a6:
- scall UnknownScript_0x7813b
-UnknownScript_0x780a9:
+.AskAgain:
+ scall .AskNumber2
+.FinishAsk:
askforphonenumber PHONE_CAMPER_TODD
- if_equal $1, UnknownScript_0x7814b
- if_equal $2, UnknownScript_0x78147
+ if_equal $1, .PhoneFull
+ if_equal $2, .NumberDeclined
trainertotext CAMPER, TODD1, $0
- scall UnknownScript_0x7813f
- jump UnknownScript_0x78143
+ scall .RegisteredNumber
+ jump .NumberAccepted
-UnknownScript_0x780bd:
- scall UnknownScript_0x7814f
+.Rematch:
+ scall .RematchStd
winlosstext CamperTodd1BeatenText, 0
copybytetovar wToddFightCount
if_equal 4, .Fight4
@@ -130,7 +145,7 @@
.LoadFight0
loadtrainer CAMPER, TODD1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wToddFightCount, 1
clearflag ENGINE_TODD
end
@@ -138,7 +153,7 @@
.LoadFight1
loadtrainer CAMPER, TODD2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wToddFightCount, 2
clearflag ENGINE_TODD
end
@@ -146,7 +161,7 @@
.LoadFight2
loadtrainer CAMPER, TODD3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wToddFightCount, 3
clearflag ENGINE_TODD
end
@@ -154,7 +169,7 @@
.LoadFight3
loadtrainer CAMPER, TODD4
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wToddFightCount, 4
clearflag ENGINE_TODD
end
@@ -162,77 +177,77 @@
.LoadFight4
loadtrainer CAMPER, TODD5
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_TODD
end
-UnknownScript_0x78131:
- writetext UnknownText_0x78532
+.SaleIsOn:
+ writetext CamperToddSaleText
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x78137:
+.AskNumber:
jumpstd asknumber1m
end
-UnknownScript_0x7813b:
+.AskNumber2:
jumpstd asknumber2m
end
-UnknownScript_0x7813f:
+.RegisteredNumber:
jumpstd registerednumberm
end
-UnknownScript_0x78143:
+.NumberAccepted:
jumpstd numberacceptedm
end
-UnknownScript_0x78147:
+.NumberDeclined:
jumpstd numberdeclinedm
end
-UnknownScript_0x7814b:
+.PhoneFull:
jumpstd phonefullm
end
-UnknownScript_0x7814f:
+.RematchStd:
jumpstd rematchm
end
TrainerPicnickerGina1:
- trainer EVENT_BEAT_PICNICKER_GINA, PICNICKER, GINA1, PicnickerGina1SeenText, PicnickerGina1BeatenText, 0, PicnickerGina1Script
+ trainer EVENT_BEAT_PICNICKER_GINA, PICNICKER, GINA1, PicnickerGina1SeenText, PicnickerGina1BeatenText, 0, .Script
-PicnickerGina1Script:
+.Script:
writecode VAR_CALLERID, PHONE_PICNICKER_GINA
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_GINA
- iftrue UnknownScript_0x7819f
+ iftrue .Rematch
checkflag ENGINE_GINA_HAS_LEAF_STONE
- iftrue UnknownScript_0x78213
+ iftrue .LeafStone
checkcellnum PHONE_PICNICKER_GINA
- iftrue UnknownScript_0x78234
+ iftrue .NumberAccepted
checkevent EVENT_GINA_ASKED_FOR_PHONE_NUMBER
- iftrue UnknownScript_0x78188
- writetext UnknownText_0x785b8
- keeptextopen
+ iftrue .AskAgain
+ writetext PicnickerGina1AfterText
+ buttonsound
setevent EVENT_GINA_ASKED_FOR_PHONE_NUMBER
- scall UnknownScript_0x78228
- jump UnknownScript_0x7818b
+ scall .AskNumber1
+ jump .FinishAsk
-UnknownScript_0x78188:
- scall UnknownScript_0x7822c
-UnknownScript_0x7818b:
+.AskAgain:
+ scall .AskNumber2
+.FinishAsk:
askforphonenumber PHONE_PICNICKER_GINA
- if_equal $1, UnknownScript_0x7823c
- if_equal $2, UnknownScript_0x78238
+ if_equal $1, .PhoneFull
+ if_equal $2, .NumberDeclined
trainertotext PICNICKER, GINA1, $0
- scall UnknownScript_0x78230
- jump UnknownScript_0x78234
+ scall .RegisteredNumber
+ jump .NumberAccepted
-UnknownScript_0x7819f:
- scall UnknownScript_0x78240
+.Rematch:
+ scall .RematchStd
winlosstext PicnickerGina1BeatenText, 0
copybytetovar wGinaFightCount
if_equal 4, .Fight4
@@ -255,7 +270,7 @@
.LoadFight0
loadtrainer PICNICKER, GINA1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wGinaFightCount, 1
clearflag ENGINE_GINA
end
@@ -263,7 +278,7 @@
.LoadFight1
loadtrainer PICNICKER, GINA2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wGinaFightCount, 2
clearflag ENGINE_GINA
end
@@ -271,7 +286,7 @@
.LoadFight2
loadtrainer PICNICKER, GINA3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wGinaFightCount, 3
clearflag ENGINE_GINA
end
@@ -279,7 +294,7 @@
.LoadFight3
loadtrainer PICNICKER, GINA4
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wGinaFightCount, 4
clearflag ENGINE_GINA
end
@@ -287,209 +302,209 @@
.LoadFight4
loadtrainer PICNICKER, GINA5
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_GINA
end
-UnknownScript_0x78213:
- scall UnknownScript_0x78244
+.LeafStone:
+ scall .Gift
verbosegiveitem LEAF_STONE
- iffalse UnknownScript_0x78225
+ iffalse .BagFull
clearflag ENGINE_GINA_HAS_LEAF_STONE
setevent EVENT_GINA_GAVE_LEAF_STONE
- jump UnknownScript_0x78234
+ jump .NumberAccepted
-UnknownScript_0x78225:
- jump UnknownScript_0x78248
+.BagFull:
+ jump .PackFull
-UnknownScript_0x78228:
+.AskNumber1:
jumpstd asknumber1f
end
-UnknownScript_0x7822c:
+.AskNumber2:
jumpstd asknumber2f
end
-UnknownScript_0x78230:
+.RegisteredNumber:
jumpstd registerednumberf
end
-UnknownScript_0x78234:
+.NumberAccepted:
jumpstd numberacceptedf
end
-UnknownScript_0x78238:
+.NumberDeclined:
jumpstd numberdeclinedf
end
-UnknownScript_0x7823c:
+.PhoneFull:
jumpstd phonefullf
end
-UnknownScript_0x78240:
+.RematchStd:
jumpstd rematchf
end
-UnknownScript_0x78244:
+.Gift:
jumpstd giftf
end
-UnknownScript_0x78248:
+.PackFull:
jumpstd packfullf
end
-OfficerScript_0x7824c:
+OfficerKeithScript:
faceplayer
- loadfont
+ opentext
checknite
- iffalse UnknownScript_0x78276
+ iffalse .NoFight
checkevent EVENT_BEAT_OFFICER_KEITH
- iftrue UnknownScript_0x78270
+ iftrue .AfterScript
playmusic MUSIC_OFFICER_ENCOUNTER
- writetext UnknownText_0x785e4
+ writetext OfficerKeithSeenText
+ waitbutton
closetext
- loadmovesprites
- winlosstext UnknownText_0x78609, 0
+ winlosstext OfficerKeithWinText, 0
loadtrainer OFFICER, KEITH
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_OFFICER_KEITH
- loadmovesprites
+ closetext
end
-UnknownScript_0x78270:
- writetext UnknownText_0x78624
+.AfterScript:
+ writetext OfficerKeithAfterText
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x78276:
- writetext UnknownText_0x7866a
+.NoFight:
+ writetext OfficerKeithDaytimeText
+ waitbutton
closetext
- loadmovesprites
end
TrainerYoungsterSamuel:
- trainer EVENT_BEAT_YOUNGSTER_SAMUEL, YOUNGSTER, SAMUEL, YoungsterSamuelSeenText, YoungsterSamuelBeatenText, 0, YoungsterSamuelScript
+ trainer EVENT_BEAT_YOUNGSTER_SAMUEL, YOUNGSTER, SAMUEL, YoungsterSamuelSeenText, YoungsterSamuelBeatenText, 0, .Script
-YoungsterSamuelScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x783d8
+.Script:
+ end_if_just_battled
+ opentext
+ writetext YoungsterSamuelAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerYoungsterIan:
- trainer EVENT_BEAT_YOUNGSTER_IAN, YOUNGSTER, IAN, YoungsterIanSeenText, YoungsterIanBeatenText, 0, YoungsterIanScript
+ trainer EVENT_BEAT_YOUNGSTER_IAN, YOUNGSTER, IAN, YoungsterIanSeenText, YoungsterIanBeatenText, 0, .Script
-YoungsterIanScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x78469
+.Script:
+ end_if_just_battled
+ opentext
+ writetext YoungsterIanAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokefanmBrandon:
- trainer EVENT_BEAT_POKEFANM_BRANDON, POKEFANM, BRANDON, PokefanmBrandonSeenText, PokefanmBrandonBeatenText, 0, PokefanmBrandonScript
+ trainer EVENT_BEAT_POKEFANM_BRANDON, POKEFANM, BRANDON, PokefanmBrandonSeenText, PokefanmBrandonBeatenText, 0, .Script
-PokefanmBrandonScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x786fc
+.Script:
+ end_if_just_battled
+ opentext
+ writetext PokefanmBrandonAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfIrene:
- trainer EVENT_BEAT_COOLTRAINERF_IRENE, COOLTRAINERF, IRENE, CooltrainerfIreneSeenText, CooltrainerfIreneBeatenText, 0, CooltrainerfIreneScript
+ trainer EVENT_BEAT_COOLTRAINERF_IRENE, COOLTRAINERF, IRENE, CooltrainerfIreneSeenText, CooltrainerfIreneBeatenText, 0, .Script
-CooltrainerfIreneScript:
- talkaftercancel
- loadfont
+.Script:
+ end_if_just_battled
+ opentext
checkevent EVENT_GOT_SOFT_SAND_FROM_KATE
- iftrue UnknownScript_0x782d2
- writetext UnknownText_0x7877f
+ iftrue .GotSoftSand
+ writetext CooltrainerfIreneAfterText1
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x782d2:
- writetext UnknownText_0x787ad
+.GotSoftSand:
+ writetext CooltrainerfIreneAfterText2
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfJenn:
- trainer EVENT_BEAT_COOLTRAINERF_JENN, COOLTRAINERF, JENN, CooltrainerfJennSeenText, CooltrainerfJennBeatenText, 0, CooltrainerfJennScript
+ trainer EVENT_BEAT_COOLTRAINERF_JENN, COOLTRAINERF, JENN, CooltrainerfJennSeenText, CooltrainerfJennBeatenText, 0, .Script
-CooltrainerfJennScript:
- talkaftercancel
- loadfont
+.Script:
+ end_if_just_battled
+ opentext
checkevent EVENT_GOT_SOFT_SAND_FROM_KATE
- iftrue UnknownScript_0x782f2
- writetext UnknownText_0x78836
+ iftrue .GotSoftSand
+ writetext CooltrainerfJennAfterText1
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x782f2:
- writetext UnknownText_0x78866
+.GotSoftSand:
+ writetext CooltrainerfJennAfterText2
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfKate:
- trainer EVENT_BEAT_COOLTRAINERF_KATE, COOLTRAINERF, KATE, CooltrainerfKateSeenText, CooltrainerfKateBeatenText, 0, CooltrainerfKateScript
+ trainer EVENT_BEAT_COOLTRAINERF_KATE, COOLTRAINERF, KATE, CooltrainerfKateSeenText, CooltrainerfKateBeatenText, 0, .Script
-CooltrainerfKateScript:
- talkaftercancel
- loadfont
+.Script:
+ end_if_just_battled
+ opentext
checkevent EVENT_GOT_SOFT_SAND_FROM_KATE
- iftrue UnknownScript_0x78319
- writetext UnknownText_0x788e2
- keeptextopen
+ iftrue .GotSoftSand
+ writetext CooltrainerfKateOfferSoftSandText
+ buttonsound
verbosegiveitem SOFT_SAND
- iffalse UnknownScript_0x7831d
+ iffalse .BagFull
setevent EVENT_GOT_SOFT_SAND_FROM_KATE
-UnknownScript_0x78319:
- writetext UnknownText_0x7892b
+.GotSoftSand:
+ writetext CooltrainerfKateAfterText
+ waitbutton
+.BagFull:
closetext
-UnknownScript_0x7831d:
- loadmovesprites
end
-UnknownScript_0x7831f:
- jumptext UnknownText_0x7898a
+MapRoute34UnusedSignpostScript:
+ jumptext MapRoute34UnusedSignpostText
MapRoute34Signpost0Script:
- jumptext UnknownText_0x789a8
+ jumptext MapRoute34Signpost0Text
MapRoute34Signpost1Script:
- jumptext UnknownText_0x789ed
+ jumptext MapRoute34Signpost1Text
MapRoute34Signpost2Script:
- jumptext UnknownText_0x78a52
+ jumptext MapRoute34Signpost2Text
-ItemFragment_0x7832b:
- db NUGGET, 1
+Route34Nugget:
+ itemball NUGGET
-MapRoute34SignpostItem3:
+Route34HiddenRareCandy:
dwb EVENT_ROUTE_34_HIDDEN_RARE_CANDY, RARE_CANDY
-MapRoute34SignpostItem4:
+Route34HiddenSuperPotion:
dwb EVENT_ROUTE_34_HIDDEN_SUPER_POTION, SUPER_POTION
-MovementData_0x78333:
+Route34MovementData_DayCareManWalksBackInside:
slow_step_left
slow_step_left
slow_step_up
step_end
-MovementData_0x78337:
+Route34MovementData_DayCareManWalksBackInside_WalkAroundPlayer:
slow_step_down
slow_step_left
slow_step_left
@@ -507,7 +522,7 @@
line "passing stranger!"
done
-UnknownText_0x7837d:
+YoungsterSamuelMobileText:
text "Have you been to"
line "GOLDENROD CITY?"
@@ -518,7 +533,7 @@
line "#MON CENTER?"
done
-UnknownText_0x783d8:
+YoungsterSamuelAfterText:
text "I'm going to train"
line "even harder."
@@ -537,7 +552,7 @@
line "ter trainers…"
done
-UnknownText_0x78469:
+YoungsterIanAfterText:
text "I'm trying hard so"
line "I can be the star"
cont "in my class."
@@ -556,7 +571,7 @@
line "training?"
done
-UnknownText_0x784f0:
+CamperTodd1AfterText:
text "Maybe I should"
line "take one to a DAY-"
@@ -564,7 +579,7 @@
line "some items…"
done
-UnknownText_0x78532:
+CamperToddSaleText:
text "Shopping under the"
line "sky!"
@@ -584,24 +599,24 @@
line "can't win…"
done
-UnknownText_0x785b8:
+PicnickerGina1AfterText:
text "You're too strong"
line "to be a practice"
cont "partner."
done
-UnknownText_0x785e4:
+OfficerKeithSeenText:
text "Who goes there?"
line "What are you up"
cont "to?"
done
-UnknownText_0x78609:
+OfficerKeithWinText:
text "You're a tough"
line "little kid."
done
-UnknownText_0x78624:
+OfficerKeithAfterText:
text "Yep, I see nothing"
line "wrong today. You"
@@ -609,7 +624,7 @@
line "out of trouble."
done
-UnknownText_0x7866a:
+OfficerKeithDaytimeText:
text "I'm on patrol for"
line "suspicious indi-"
cont "viduals."
@@ -629,7 +644,7 @@
line "this way?"
done
-UnknownText_0x786fc:
+PokefanmBrandonAfterText:
text "My #MON knew"
line "moves I didn't"
cont "know it had."
@@ -648,13 +663,13 @@
line "Too strong!"
done
-UnknownText_0x7877f:
+CooltrainerfIreneAfterText1:
text "IRENE: My sister"
line "KATE will get you"
cont "for this!"
done
-UnknownText_0x787ad:
+CooltrainerfIreneAfterText2:
text "IRENE: Isn't this"
line "beach great?"
@@ -673,13 +688,13 @@
line "IRENE! Sis!"
done
-UnknownText_0x78836:
+CooltrainerfJennAfterText1:
text "JENN: Don't get"
line "cocky! My sister"
cont "KATE is tough!"
done
-UnknownText_0x78866:
+CooltrainerfJennAfterText2:
text "JENN: Sunlight"
line "makes your body"
cont "stronger."
@@ -696,7 +711,7 @@
line "believe I lost."
done
-UnknownText_0x788e2:
+CooltrainerfKateOfferSoftSandText:
text "KATE: You're too"
line "strong. I didn't"
cont "stand a chance."
@@ -705,7 +720,7 @@
line "this."
done
-UnknownText_0x7892b:
+CooltrainerfKateAfterText:
text "KATE: I'm sorry we"
line "jumped you."
@@ -716,12 +731,12 @@
line "startled us."
done
-UnknownText_0x7898a:
+MapRoute34UnusedSignpostText:
text "ILEX FOREST"
line "THROUGH THE GATE"
done
-UnknownText_0x789a8:
+MapRoute34Signpost0Text:
text "ROUTE 34"
para "GOLDENROD CITY -"
@@ -731,7 +746,7 @@
line "SOMEWHERE BETWEEN"
done
-UnknownText_0x789ed:
+MapRoute34Signpost1Text:
text "TRAINER TIPS"
para "BERRY trees grow"
@@ -743,7 +758,7 @@
cont "which BERRIES."
done
-UnknownText_0x78a52:
+MapRoute34Signpost2Text:
text "DAY-CARE"
para "LET US RAISE YOUR"
@@ -770,8 +785,8 @@
signpost 6, 12, SIGNPOST_READ, MapRoute34Signpost0Script
signpost 33, 13, SIGNPOST_READ, MapRoute34Signpost1Script
signpost 13, 10, SIGNPOST_READ, MapRoute34Signpost2Script
- signpost 32, 8, SIGNPOST_ITEM, MapRoute34SignpostItem3
- signpost 19, 17, SIGNPOST_ITEM, MapRoute34SignpostItem4
+ signpost 32, 8, SIGNPOST_ITEM, Route34HiddenRareCandy
+ signpost 19, 17, SIGNPOST_ITEM, Route34HiddenSuperPotion
.PersonEvents:
db 13
@@ -779,12 +794,12 @@
person_event SPRITE_YOUNGSTER, 32, 15, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerYoungsterSamuel, -1
person_event SPRITE_YOUNGSTER, 20, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerYoungsterIan, -1
person_event SPRITE_LASS, 26, 10, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_TRAINER, 3, TrainerPicnickerGina1, -1
- person_event SPRITE_OFFICER, 11, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, OfficerScript_0x7824c, -1
+ person_event SPRITE_OFFICER, 11, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, OfficerKeithScript, -1
person_event SPRITE_POKEFAN_M, 28, 18, SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 3, TrainerPokefanmBrandon, -1
- person_event SPRITE_GRAMPS, 16, 15, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x7803d, EVENT_DAYCARE_MAN_ON_ROUTE_34
- person_event SPRITE_DAYCARE_MON_1, 18, 14, SPRITEMOVEDATA_POKEMON, 2, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DaycareMon1Script_0x78065, EVENT_DAYCARE_MON_1
- person_event SPRITE_DAYCARE_MON_2, 19, 17, SPRITEMOVEDATA_POKEMON, 2, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DaycareMon2Script_0x7806b, EVENT_DAYCARE_MON_2
+ person_event SPRITE_GRAMPS, 16, 15, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DayCareManScript_Outside, EVENT_DAYCARE_MAN_ON_ROUTE_34
+ person_event SPRITE_DAYCARE_MON_1, 18, 14, SPRITEMOVEDATA_POKEMON, 2, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DaycareMon1Script, EVENT_DAYCARE_MON_1
+ person_event SPRITE_DAYCARE_MON_2, 19, 17, SPRITEMOVEDATA_POKEMON, 2, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, DaycareMon2Script, EVENT_DAYCARE_MON_2
person_event SPRITE_COOLTRAINER_F, 48, 11, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 5, TrainerCooltrainerfIrene, -1
person_event SPRITE_COOLTRAINER_F, 48, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 3, TrainerCooltrainerfJenn, -1
person_event SPRITE_COOLTRAINER_F, 51, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 2, TrainerCooltrainerfKate, -1
- person_event SPRITE_POKE_BALL, 30, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7832b, EVENT_ROUTE_34_NUGGET
+ person_event SPRITE_POKE_BALL, 30, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route34Nugget, EVENT_ROUTE_34_NUGGET
--- a/maps/Route34IlexForestGate.asm
+++ b/maps/Route34IlexForestGate.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const ROUTE34ILEXFORESTGATE_TEACHER1
+ const ROUTE34ILEXFORESTGATE_BUTTERFREE
+ const ROUTE34ILEXFORESTGATE_LASS
+ const ROUTE34ILEXFORESTGATE_TEACHER2
+
Route34IlexForestGate_MapScriptHeader:
.MapTriggers:
db 0
@@ -12,64 +18,64 @@
UnknownScript_0x62d2d:
checkevent EVENT_FOREST_IS_RESTLESS
iffalse UnknownScript_0x62d38
- disappear $2
- appear $5
+ disappear ROUTE34ILEXFORESTGATE_TEACHER1
+ appear ROUTE34ILEXFORESTGATE_TEACHER2
return
UnknownScript_0x62d38:
- disappear $5
- appear $2
+ disappear ROUTE34ILEXFORESTGATE_TEACHER2
+ appear ROUTE34ILEXFORESTGATE_TEACHER1
return
UnknownScript_0x62d3d:
checkevent EVENT_FOREST_IS_RESTLESS
iffalse UnknownScript_0x62d62
- showemote EMOTE_SHOCK, $5, 20
- spriteface $5, LEFT
+ showemote EMOTE_SHOCK, ROUTE34ILEXFORESTGATE_TEACHER2, 20
+ spriteface ROUTE34ILEXFORESTGATE_TEACHER2, LEFT
spriteface PLAYER, RIGHT
- follow PLAYER, $5
+ follow PLAYER, ROUTE34ILEXFORESTGATE_TEACHER2
applymovement PLAYER, MovementData_0x62d97
stopfollow
spriteface PLAYER, DOWN
- loadfont
+ opentext
writetext UnknownText_0x62e41
+ waitbutton
closetext
- loadmovesprites
- applymovement $5, MovementData_0x62d9a
+ applymovement ROUTE34ILEXFORESTGATE_TEACHER2, MovementData_0x62d9a
UnknownScript_0x62d62:
end
TeacherScript_0x62d63:
faceplayer
- loadfont
+ opentext
checkevent EVENT_FOREST_IS_RESTLESS
iftrue UnknownScript_0x62d84
checkevent EVENT_GOT_TM12_SWEET_SCENT
iftrue UnknownScript_0x62d7e
writetext UnknownText_0x62d9d
- keeptextopen
+ buttonsound
verbosegiveitem TM_SWEET_SCENT
iffalse UnknownScript_0x62d82
setevent EVENT_GOT_TM12_SWEET_SCENT
UnknownScript_0x62d7e:
writetext UnknownText_0x62df6
- closetext
+ waitbutton
UnknownScript_0x62d82:
- loadmovesprites
+ closetext
end
UnknownScript_0x62d84:
writetext UnknownText_0x62e41
- keeptextopen
- loadmovesprites
+ buttonsound
+ closetext
end
ButterfreeScript_0x62d8a:
- loadfont
+ opentext
writetext UnknownText_0x62e83
cry BUTTERFREE
+ waitbutton
closetext
- loadmovesprites
end
LassScript_0x62d94:
--- a/maps/Route35.asm
+++ b/maps/Route35.asm
@@ -1,3 +1,16 @@
+const_value set 2
+ const ROUTE35_YOUNGSTER1
+ const ROUTE35_YOUNGSTER2
+ const ROUTE35_LASS1
+ const ROUTE35_LASS2
+ const ROUTE35_YOUNGSTER3
+ const ROUTE35_FISHER
+ const ROUTE35_BUG_CATCHER
+ const ROUTE35_SUPER_NERD
+ const ROUTE35_OFFICER
+ const ROUTE35_FRUIT_TREE
+ const ROUTE35_POKE_BALL
+
Route35_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +22,11 @@
trainer EVENT_BEAT_BIRD_KEEPER_BRYAN, BIRD_KEEPER, BRYAN, Bird_keeperBryanSeenText, Bird_keeperBryanBeatenText, 0, Bird_keeperBryanScript
Bird_keeperBryanScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19cc87
+ waitbutton
closetext
- loadmovesprites
end
TrainerJugglerIrwin:
@@ -21,14 +34,14 @@
JugglerIrwin1Script:
writecode VAR_CALLERID, PHONE_JUGGLER_IRWIN
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkcellnum PHONE_JUGGLER_IRWIN
iftrue UnknownScript_0x19c90f
checkevent EVENT_IRWIN_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x19c8ec
writetext UnknownText_0x19cd5a
- keeptextopen
+ buttonsound
setevent EVENT_IRWIN_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x19c903
jump UnknownScript_0x19c8ef
@@ -75,11 +88,11 @@
trainer EVENT_BEAT_CAMPER_IVAN, CAMPER, IVAN, CamperIvanSeenText, CamperIvanBeatenText, 0, CamperIvanScript
CamperIvanScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19cac4
+ waitbutton
closetext
- loadmovesprites
end
TrainerCamperElliot:
@@ -86,11 +99,11 @@
trainer EVENT_BEAT_CAMPER_ELLIOT, CAMPER, ELLIOT, CamperElliotSeenText, CamperElliotBeatenText, 0, CamperElliotScript
CamperElliotScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19cb47
+ waitbutton
closetext
- loadmovesprites
end
TrainerPicnickerBrooke:
@@ -97,11 +110,11 @@
trainer EVENT_BEAT_PICNICKER_BROOKE, PICNICKER, BROOKE, PicnickerBrookeSeenText, PicnickerBrookeBeatenText, 0, PicnickerBrookeScript
PicnickerBrookeScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19cbba
+ waitbutton
closetext
- loadmovesprites
end
TrainerPicnickerKim:
@@ -108,11 +121,11 @@
trainer EVENT_BEAT_PICNICKER_KIM, PICNICKER, KIM, PicnickerKimSeenText, PicnickerKimBeatenText, 0, PicnickerKimScript
PicnickerKimScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19cc21
+ waitbutton
closetext
- loadmovesprites
end
TrainerBug_catcherArnie1:
@@ -120,8 +133,8 @@
Bug_catcherArnie1Script:
writecode VAR_CALLERID, PHONE_BUG_CATCHER_ARNIE
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_ARNIE
iftrue UnknownScript_0x19c9bb
checkflag ENGINE_YANMA_SWARM
@@ -131,7 +144,7 @@
checkevent EVENT_ARNIE_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x19c9a4
writetext UnknownText_0x19cdf6
- keeptextopen
+ buttonsound
setevent EVENT_ARNIE_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x19c903
jump UnknownScript_0x19c9a7
@@ -170,7 +183,7 @@
.LoadFight0
loadtrainer BUG_CATCHER, ARNIE1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wArnieFightCount, 1
clearflag ENGINE_ARNIE
end
@@ -178,7 +191,7 @@
.LoadFight1
loadtrainer BUG_CATCHER, ARNIE2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wArnieFightCount, 2
clearflag ENGINE_ARNIE
end
@@ -186,7 +199,7 @@
.LoadFight2
loadtrainer BUG_CATCHER, ARNIE3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wArnieFightCount, 3
clearflag ENGINE_ARNIE
end
@@ -194,7 +207,7 @@
.LoadFight3
loadtrainer BUG_CATCHER, ARNIE4
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wArnieFightCount, 4
clearflag ENGINE_ARNIE
end
@@ -202,14 +215,14 @@
.LoadFight4
loadtrainer BUG_CATCHER, ARNIE5
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_ARNIE
end
UnknownScript_0x19ca2f:
writetext UnknownText_0x19ce38
+ waitbutton
closetext
- loadmovesprites
end
TrainerFirebreatherWalt:
@@ -216,16 +229,16 @@
trainer EVENT_BEAT_FIREBREATHER_WALT, FIREBREATHER, WALT, FirebreatherWaltSeenText, FirebreatherWaltBeatenText, 0, FirebreatherWaltScript
FirebreatherWaltScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19cebc
+ waitbutton
closetext
- loadmovesprites
end
OfficerScript_0x19ca49:
faceplayer
- loadfont
+ opentext
checknite
iffalse UnknownScript_0x19ca73
checkevent EVENT_BEAT_OFFICER_DIRK
@@ -232,33 +245,33 @@
iftrue UnknownScript_0x19ca6d
playmusic MUSIC_OFFICER_ENCOUNTER
writetext UnknownText_0x19ceea
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x19cf06, 0
loadtrainer OFFICER, DIRK
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_OFFICER_DIRK
- loadmovesprites
+ closetext
end
UnknownScript_0x19ca6d:
writetext UnknownText_0x19cf0f
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19ca73:
writetext UnknownText_0x19cf56
+ waitbutton
closetext
- loadmovesprites
end
MapRoute35Signpost1Script:
jumptext UnknownText_0x19cf94
-ItemFragment_0x19ca7c:
- db TM_ROLLOUT, 1
+Route35TMRollout:
+ itemball TM_ROLLOUT
FruitTreeScript_0x19ca7e:
fruittree FRUITTREE_ROUTE_35
@@ -479,4 +492,4 @@
person_event SPRITE_SUPER_NERD, 10, 5, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 2, TrainerJugglerIrwin, -1
person_event SPRITE_OFFICER, 6, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, OfficerScript_0x19ca49, -1
person_event SPRITE_FRUIT_TREE, 25, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x19ca7e, -1
- person_event SPRITE_POKE_BALL, 16, 13, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x19ca7c, EVENT_ROUTE_35_TM_ROLLOUT
+ person_event SPRITE_POKE_BALL, 16, 13, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route35TMRollout, EVENT_ROUTE_35_TM_ROLLOUT
--- a/maps/Route35Goldenrodgate.asm
+++ b/maps/Route35Goldenrodgate.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const ROUTE35GOLDENRODGATE_OFFICER
+ const ROUTE35GOLDENRODGATE_POKEFAN_F
+ const ROUTE35GOLDENRODGATE_FISHER
+
Route35Goldenrodgate_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,7 +12,7 @@
OfficerScript_0x69d37:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_HP_UP_FROM_RANDY
iftrue .gothpup
checkevent EVENT_GAVE_KENYA
@@ -18,45 +23,45 @@
yesorno
iffalse .refused
writetext UnknownText_0x69e48
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
checkcode VAR_PARTYCOUNT
if_equal PARTY_LENGTH, .partyfull
writetext UnknownText_0x69eb8
playsound SFX_KEY_ITEM
- waitbutton
+ waitsfx
givepoke SPEAROW, 10, NO_ITEM, 1, GiftSpearowName, GiftSpearowOTName
givepokeitem GiftSpearowMail
setevent EVENT_GOT_KENYA
.alreadyhavekenya:
writetext UnknownText_0x69ed6
+ waitbutton
closetext
- loadmovesprites
end
.partyfull:
writetext UnknownText_0x69f56
+ waitbutton
closetext
- loadmovesprites
end
.refused:
writetext UnknownText_0x69f74
+ waitbutton
closetext
- loadmovesprites
end
.questcomplete:
writetext UnknownText_0x69f8b
- keeptextopen
+ buttonsound
verbosegiveitem HP_UP
iffalse .bagfull
setevent EVENT_GOT_HP_UP_FROM_RANDY
.gothpup:
writetext UnknownText_0x69fd9
- closetext
+ waitbutton
.bagfull:
- loadmovesprites
+ closetext
end
GiftSpearowMail:
@@ -72,18 +77,18 @@
PokefanFScript_0x69dc6:
faceplayer
- loadfont
+ opentext
checkevent EVENT_FOUGHT_SUDOWOODO
iftrue .aftersudowoodo
writetext UnknownText_0x6a00a
+ waitbutton
closetext
- loadmovesprites
end
.aftersudowoodo:
writetext UnknownText_0x6a09a
+ waitbutton
closetext
- loadmovesprites
end
FisherScript_0x69dda:
--- a/maps/Route35NationalParkgate.asm
+++ b/maps/Route35NationalParkgate.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const ROUTE35NATIONALPARKGATE_OFFICER1
+ const ROUTE35NATIONALPARKGATE_YOUNGSTER
+ const ROUTE35NATIONALPARKGATE_OFFICER2
+
Route35NationalParkgate_MapScriptHeader:
.MapTriggers:
db 3
@@ -43,21 +48,21 @@
if_equal SATURDAY, Route35NationalParkgate_IsContestDay
checkflag ENGINE_BUG_CONTEST_TIMER
iftrue Route35NationalParkgate_Yes
- disappear $2
- appear $3
- appear $4
+ disappear ROUTE35NATIONALPARKGATE_OFFICER1
+ appear ROUTE35NATIONALPARKGATE_YOUNGSTER
+ appear ROUTE35NATIONALPARKGATE_OFFICER2
return
Route35NationalParkgate_IsContestDay:
- appear $2
- disappear $3
- disappear $4
+ appear ROUTE35NATIONALPARKGATE_OFFICER1
+ disappear ROUTE35NATIONALPARKGATE_YOUNGSTER
+ disappear ROUTE35NATIONALPARKGATE_OFFICER2
return
Route35NationalParkGate_LeavingContestEarly:
applymovement PLAYER, MovementData_0x6a2e2
- spriteface $2, RIGHT
- loadfont
+ spriteface ROUTE35NATIONALPARKGATE_OFFICER1, RIGHT
+ opentext
checkcode VAR_CONTESTMINUTES
addvar $1
RAM2MEM $0
@@ -65,18 +70,18 @@
yesorno
iffalse Route35NationalParkgate_GoBackIn
writetext UnknownText_0x6a7db
+ waitbutton
closetext
- loadmovesprites
jumpstd bugcontestresultswarp
Route35NationalParkgate_GoBackIn:
writetext UnknownText_0x6a823
+ waitbutton
closetext
- loadmovesprites
scall Route35NationalParkgate_EnterContest
playsound SFX_ENTER_DOOR
special FadeOutPalettes
- waitbutton
+ waitsfx
warpfacing UP, NATIONAL_PARK_BUG_CONTEST, $a, $2f
end
@@ -87,7 +92,7 @@
if_equal WEDNESDAY, Route35NationalParkgate_NoContestToday
if_equal FRIDAY, Route35NationalParkgate_NoContestToday
faceplayer
- loadfont
+ opentext
checkflag ENGINE_DAILY_BUG_CONTEST
iftrue Route35NationalParkgate_ContestIsOver
scall Route35NationalParkgate_GetDayOfWeek
@@ -102,18 +107,18 @@
setflag ENGINE_BUG_CONTEST_TIMER
special PlayMapMusic
writetext UnknownText_0x6a39d
- keeptextopen
+ buttonsound
writetext UnknownText_0x6a3c7
playsound SFX_ITEM
- waitbutton
+ waitsfx
writetext UnknownText_0x6a3e2
+ waitbutton
closetext
- loadmovesprites
special Special_GiveParkBalls
scall Route35NationalParkgate_EnterContest
playsound SFX_ENTER_DOOR
special FadeOutPalettes
- waitbutton
+ waitsfx
special Special_SelectRandomBugContestContestants
warpfacing UP, NATIONAL_PARK_BUG_CONTEST, $a, $2f
end
@@ -144,47 +149,47 @@
iftrue Route35NationalParkgate_FirstMonIsFainted
setevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
writetext UnknownText_0x6a537
- keeptextopen
+ buttonsound
writetext UnknownText_0x6a56b
playsound SFX_GOT_SAFARI_BALLS
- waitbutton
- keeptextopen
+ waitsfx
+ buttonsound
jump Route35NationalParkgate_OkayToProceed
Route35NationalParkgate_DeclinedToParticipate:
writetext UnknownText_0x6a5dc
+ waitbutton
closetext
- loadmovesprites
end
Route35NationalParkgate_DeclinedToLeaveMonsBehind:
writetext UnknownText_0x6a597
+ waitbutton
closetext
- loadmovesprites
end
Route35NationalParkgate_FirstMonIsFainted:
writetext UnknownText_0x6a608
+ waitbutton
closetext
- loadmovesprites
end
Route35NationalParkgate_NoRoomInBox:
writetext UnknownText_0x6a67c
+ waitbutton
closetext
- loadmovesprites
end
Route35NationalParkgate_FirstMonIsEgg:
writetext UnknownText_0x6a71f
+ waitbutton
closetext
- loadmovesprites
end
Route35NationalParkgate_ContestIsOver:
writetext UnknownText_0x6a84f
+ waitbutton
closetext
- loadmovesprites
end
Route35NationalParkgate_NoContestToday:
@@ -192,12 +197,12 @@
OfficerScript_0x6a2ca:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_DAILY_BUG_CONTEST
iftrue Route35NationalParkgate_ContestIsOver
writetext UnknownText_0x6a894
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x6a2d8:
--- a/maps/Route36.asm
+++ b/maps/Route36.asm
@@ -1,3 +1,14 @@
+const_value set 2
+ const ROUTE36_YOUNGSTER1
+ const ROUTE36_YOUNGSTER2
+ const ROUTE36_WEIRD_TREE
+ const ROUTE36_LASS1
+ const ROUTE36_FISHER
+ const ROUTE36_FRUIT_TREE
+ const ROUTE36_YOUNGSTER3
+ const ROUTE36_LASS2
+ const ROUTE36_SUICUNE
+
Route36_MapScriptHeader:
.MapTriggers:
db 2
@@ -22,11 +33,11 @@
ArthurCallback:
checkcode VAR_WEEKDAY
if_equal THURSDAY, .ArthurAppears
- disappear $8
+ disappear ROUTE36_YOUNGSTER3
return
.ArthurAppears
- appear $8
+ appear ROUTE36_YOUNGSTER3
return
UnknownScript_0x19401b:
@@ -34,8 +45,8 @@
pause 15
playsound SFX_WARP_FROM
spriteface PLAYER, UP
- applymovement $a, MovementData_0x194262
- disappear $a
+ applymovement ROUTE36_SUICUNE, MovementData_0x194262
+ disappear ROUTE36_SUICUNE
spriteface PLAYER, DOWN
pause 10
dotrigger $0
@@ -46,48 +57,48 @@
WeirdTreeScript_0x19403c:
checkitem SQUIRTBOTTLE
iftrue UnknownScript_0x19404a
- waitbutton
+ waitsfx
playsound SFX_SANDSTORM
- applymovement $4, MovementData_0x194249
+ applymovement ROUTE36_WEIRD_TREE, MovementData_0x194249
end
UnknownScript_0x19404a:
- loadfont
+ opentext
writetext UnknownText_0x19426b
yesorno
iffalse UnknownScript_0x194079
- loadmovesprites
+ closetext
; fallthrough
WateredWeirdTreeScript::
- loadfont
+ opentext
writetext UnknownText_0x194290
- closetext
- loadmovesprites
waitbutton
+ closetext
+ waitsfx
playsound SFX_SANDSTORM
- applymovement $4, MovementData_0x194249
- loadfont
+ applymovement ROUTE36_WEIRD_TREE, MovementData_0x194249
+ opentext
writetext UnknownText_0x1942aa
+ waitbutton
closetext
- loadmovesprites
- loadpokedata SUDOWOODO, 20
+ loadwildmon SUDOWOODO, 20
startbattle
setevent EVENT_FOUGHT_SUDOWOODO
if_equal $2, UnknownScript_0x19407b
- disappear $4
+ disappear ROUTE36_WEIRD_TREE
variablesprite SPRITE_WEIRD_TREE, SPRITE_TWIN
- returnafterbattle
+ reloadmapafterbattle
end
UnknownScript_0x194079:
- loadmovesprites
+ closetext
end
UnknownScript_0x19407b:
- returnafterbattle
- applymovement $4, MovementData_0x19424b
- disappear $4
+ reloadmapafterbattle
+ applymovement ROUTE36_WEIRD_TREE, MovementData_0x19424b
+ disappear ROUTE36_WEIRD_TREE
variablesprite SPRITE_WEIRD_TREE, SPRITE_TWIN
special RunCallback_04
special RefreshSprites
@@ -95,70 +106,70 @@
LassScript_0x19408c:
faceplayer
- loadfont
+ opentext
checkevent EVENT_TALKED_TO_FLORIA_AT_FLOWER_SHOP
iftrue UnknownScript_0x1940b3
setevent EVENT_MET_FLORIA
writetext UnknownText_0x1942f1
+ waitbutton
closetext
- loadmovesprites
clearevent EVENT_FLORIA_AT_FLOWER_SHOP
checkcode VAR_FACING
- if_equal $1, UnknownScript_0x1940ac
- applymovement $9, MovementData_0x19424e
- disappear $9
+ if_equal UP, UnknownScript_0x1940ac
+ applymovement ROUTE36_LASS2, MovementData_0x19424e
+ disappear ROUTE36_LASS2
end
UnknownScript_0x1940ac:
- applymovement $9, MovementData_0x194258
- disappear $9
+ applymovement ROUTE36_LASS2, MovementData_0x194258
+ disappear ROUTE36_LASS2
end
UnknownScript_0x1940b3:
writetext UnknownText_0x1943ed
+ waitbutton
closetext
- loadmovesprites
end
FisherScript_0x1940b9:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TM08_ROCK_SMASH
iftrue UnknownScript_0x1940da
checkevent EVENT_FOUGHT_SUDOWOODO
iftrue UnknownScript_0x1940cd
writetext UnknownText_0x19446f
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x1940cd:
writetext UnknownText_0x1944d0
- keeptextopen
+ buttonsound
verbosegiveitem TM_ROCK_SMASH
iffalse UnknownScript_0x1940de
setevent EVENT_GOT_TM08_ROCK_SMASH
UnknownScript_0x1940da:
writetext UnknownText_0x19452c
- closetext
+ waitbutton
UnknownScript_0x1940de:
- loadmovesprites
+ closetext
end
LassScript_0x1940e0:
faceplayer
- loadfont
+ opentext
checkevent EVENT_FOUGHT_SUDOWOODO
iftrue UnknownScript_0x1940ee
writetext UnknownText_0x194626
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x1940ee:
writetext UnknownText_0x19469e
+ waitbutton
closetext
- loadmovesprites
end
TrainerSchoolboyAlan1:
@@ -166,8 +177,8 @@
SchoolboyAlan1Script:
writecode VAR_CALLERID, PHONE_SCHOOLBOY_ALAN
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_ALAN
iftrue UnknownScript_0x194140
checkflag ENGINE_ALAN_HAS_FIRE_STONE
@@ -177,7 +188,7 @@
checkevent EVENT_ALAN_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x194129
writetext UnknownText_0x1947aa
- keeptextopen
+ buttonsound
setevent EVENT_ALAN_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x1941c9
jump UnknownScript_0x19412c
@@ -216,7 +227,7 @@
.LoadFight0
loadtrainer SCHOOLBOY, ALAN1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wAlanFightCount, 1
clearflag ENGINE_ALAN
end
@@ -224,7 +235,7 @@
.LoadFight1
loadtrainer SCHOOLBOY, ALAN2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wAlanFightCount, 2
clearflag ENGINE_ALAN
end
@@ -232,7 +243,7 @@
.LoadFight2
loadtrainer SCHOOLBOY, ALAN3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wAlanFightCount, 3
clearflag ENGINE_ALAN
end
@@ -240,7 +251,7 @@
.LoadFight3
loadtrainer SCHOOLBOY, ALAN4
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wAlanFightCount, 4
clearflag ENGINE_ALAN
end
@@ -248,7 +259,7 @@
.LoadFight4
loadtrainer SCHOOLBOY, ALAN5
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_ALAN
end
@@ -303,16 +314,16 @@
trainer EVENT_BEAT_PSYCHIC_MARK, PSYCHIC_T, MARK, PsychicMarkSeenText, PsychicMarkBeatenText, 0, PsychicMarkScript
PsychicMarkScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19471e
+ waitbutton
closetext
- loadmovesprites
end
ArthurScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_HARD_STONE_FROM_ARTHUR
iftrue ArthurThursdayScript
checkcode VAR_WEEKDAY
@@ -320,30 +331,30 @@
checkevent EVENT_MET_ARTHUR_OF_THURSDAY
iftrue .MetArthur
writetext MeetArthurText
- keeptextopen
+ buttonsound
setevent EVENT_MET_ARTHUR_OF_THURSDAY
.MetArthur
writetext ArthurGivesGiftText
- keeptextopen
+ buttonsound
verbosegiveitem HARD_STONE
iffalse ArthurDoneScript
setevent EVENT_GOT_HARD_STONE_FROM_ARTHUR
writetext ArthurGaveGiftText
+ waitbutton
closetext
- loadmovesprites
end
ArthurThursdayScript:
writetext ArthurThursdayText
- closetext
+ waitbutton
ArthurDoneScript:
- loadmovesprites
+ closetext
end
ArthurNotThursdayScript:
writetext ArthurNotThursdayText
+ waitbutton
closetext
- loadmovesprites
end
MapRoute36Signpost2Script:
--- a/maps/Route36NationalParkgate.asm
+++ b/maps/Route36NationalParkgate.asm
@@ -1,11 +1,25 @@
+const_value set 2
+ const ROUTE36NATIONALPARKGATE_OFFICER1
+ const ROUTE36NATIONALPARKGATE_YOUNGSTER1
+ const ROUTE36NATIONALPARKGATE_YOUNGSTER2
+ const ROUTE36NATIONALPARKGATE_ROCKER
+ const ROUTE36NATIONALPARKGATE_POKEFAN_M
+ const ROUTE36NATIONALPARKGATE_YOUNGSTER3
+ const ROUTE36NATIONALPARKGATE_YOUNGSTER4
+ const ROUTE36NATIONALPARKGATE_LASS
+ const ROUTE36NATIONALPARKGATE_YOUNGSTER5
+ const ROUTE36NATIONALPARKGATE_YOUNGSTER6
+ const ROUTE36NATIONALPARKGATE_YOUNGSTER7
+ const ROUTE36NATIONALPARKGATE_OFFICER2
+
Route36NationalParkgate_MapScriptHeader:
.MapTriggers:
db 3
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
dw .Trigger2, 0
- dw .Trigger3, 0
.MapCallbacks:
db 2
@@ -16,13 +30,13 @@
dbw 2, .CheckIfContestAvailable
-.Trigger1:
+.Trigger0:
end
-.Trigger2:
+.Trigger1:
end
-.Trigger3:
+.Trigger2:
priorityjump .LeftTheContestEarly
end
@@ -45,19 +59,19 @@
if_equal SATURDAY, .SetContestOfficer
checkflag ENGINE_BUG_CONTEST_TIMER
iftrue .SetContestOfficer
- disappear $2
- appear $d
+ disappear ROUTE36NATIONALPARKGATE_OFFICER1
+ appear ROUTE36NATIONALPARKGATE_OFFICER2
return
.SetContestOfficer:
- appear $2
- disappear $d
+ appear ROUTE36NATIONALPARKGATE_OFFICER1
+ disappear ROUTE36NATIONALPARKGATE_OFFICER2
.Return:
return
.LeftTheContestEarly:
spriteface PLAYER, UP
- loadfont
+ opentext
checkcode VAR_CONTESTMINUTES
addvar $1
RAM2MEM $0
@@ -65,13 +79,13 @@
yesorno
iffalse .GoBackToContest
writetext UnknownText_0x6b2c5
+ waitbutton
closetext
- loadmovesprites
special Special_FadeBlackQuickly
special Special_ReloadSpritesNoPalettes
scall .CopyContestants
- disappear $2
- appear $d
+ disappear ROUTE36NATIONALPARKGATE_OFFICER1
+ appear ROUTE36NATIONALPARKGATE_OFFICER2
applymovement PLAYER, MovementData_0x6add1
pause 15
special Special_FadeInQuickly
@@ -79,12 +93,12 @@
.GoBackToContest:
writetext UnknownText_0x6b300
+ waitbutton
closetext
- loadmovesprites
spriteface PLAYER, LEFT
playsound SFX_EXIT_BUILDING
special FadeOutPalettes
- waitbutton
+ waitsfx
warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, $21, $12
end
@@ -91,43 +105,43 @@
.CopyContestants:
checkevent EVENT_BUG_CATCHING_CONTESTANT_1A
iftrue .Not1
- appear $3
+ appear ROUTE36NATIONALPARKGATE_YOUNGSTER1
.Not1:
checkevent EVENT_BUG_CATCHING_CONTESTANT_2A
iftrue .Not2
- appear $4
+ appear ROUTE36NATIONALPARKGATE_YOUNGSTER2
.Not2:
checkevent EVENT_BUG_CATCHING_CONTESTANT_3A
iftrue .Not3
- appear $5
+ appear ROUTE36NATIONALPARKGATE_ROCKER
.Not3:
checkevent EVENT_BUG_CATCHING_CONTESTANT_4A
iftrue .Not4
- appear $6
+ appear ROUTE36NATIONALPARKGATE_POKEFAN_M
.Not4:
checkevent EVENT_BUG_CATCHING_CONTESTANT_5A
iftrue .Not5
- appear $7
+ appear ROUTE36NATIONALPARKGATE_YOUNGSTER3
.Not5:
checkevent EVENT_BUG_CATCHING_CONTESTANT_6A
iftrue .Not6
- appear $8
+ appear ROUTE36NATIONALPARKGATE_YOUNGSTER4
.Not6:
checkevent EVENT_BUG_CATCHING_CONTESTANT_7A
iftrue .Not7
- appear $9
+ appear ROUTE36NATIONALPARKGATE_LASS
.Not7:
checkevent EVENT_BUG_CATCHING_CONTESTANT_8A
iftrue .Not8
- appear $a
+ appear ROUTE36NATIONALPARKGATE_YOUNGSTER5
.Not8:
checkevent EVENT_BUG_CATCHING_CONTESTANT_9A
iftrue .Not9
- appear $b
+ appear ROUTE36NATIONALPARKGATE_YOUNGSTER6
.Not9:
checkevent EVENT_BUG_CATCHING_CONTESTANT_10A
iftrue .Not10
- appear $c
+ appear ROUTE36NATIONALPARKGATE_YOUNGSTER7
.Not10:
special UpdateSprites
end
@@ -139,7 +153,7 @@
if_equal WEDNESDAY, _ContestNotOn
if_equal FRIDAY, _ContestNotOn
faceplayer
- loadfont
+ opentext
checkflag ENGINE_DAILY_BUG_CONTEST
iftrue Route36Officer_ContestHasConcluded
scall Route36Parkgate_DayToText
@@ -154,20 +168,20 @@
setflag ENGINE_BUG_CONTEST_TIMER
special PlayMapMusic
writetext UnknownText_0x6ae87
- keeptextopen
- waitbutton
+ buttonsound
+ waitsfx
writetext UnknownText_0x6aeb1
playsound SFX_ITEM
- waitbutton
+ waitsfx
writetext UnknownText_0x6aecc
+ waitbutton
closetext
- loadmovesprites
setflag ENGINE_BUG_CONTEST_TIMER
special Special_GiveParkBalls
spriteface PLAYER, LEFT
playsound SFX_EXIT_BUILDING
special FadeOutPalettes
- waitbutton
+ waitsfx
special Special_SelectRandomBugContestContestants
warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, $21, $12
end
@@ -187,41 +201,41 @@
iftrue .FirstMonIsFainted
setevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
writetext UnknownText_0x6b021
- keeptextopen
+ buttonsound
writetext UnknownText_0x6b055
playsound SFX_GOT_SAFARI_BALLS
- waitbutton
- keeptextopen
+ waitsfx
+ buttonsound
jump .ResumeStartingContest
.DecidedNotToJoinContest:
writetext UnknownText_0x6b0c6
+ waitbutton
closetext
- loadmovesprites
end
.RefusedToLeaveMons:
writetext UnknownText_0x6b081
+ waitbutton
closetext
- loadmovesprites
end
.FirstMonIsFainted:
writetext UnknownText_0x6b0f2
+ waitbutton
closetext
- loadmovesprites
end
.BoxFull:
writetext UnknownText_0x6b166
+ waitbutton
closetext
- loadmovesprites
end
.FirstMonIsEgg:
writetext UnknownText_0x6b209
+ waitbutton
closetext
- loadmovesprites
end
Route36Officer_ContestHasConcluded:
@@ -234,50 +248,50 @@
checkevent EVENT_CONTEST_OFFICER_HAS_BERRY
iftrue .Berry
writetext UnknownText_0x6b32b
+ waitbutton
closetext
- loadmovesprites
end
.Sunstone:
writetext UnknownText_0x6b97f
- keeptextopen
+ buttonsound
verbosegiveitem SUN_STONE
iffalse .BagFull
clearevent EVENT_CONTEST_OFFICER_HAS_SUN_STONE
- loadmovesprites
+ closetext
end
.Everstone:
writetext UnknownText_0x6b97f
- keeptextopen
+ buttonsound
verbosegiveitem EVERSTONE
iffalse .BagFull
clearevent EVENT_CONTEST_OFFICER_HAS_EVERSTONE
- loadmovesprites
+ closetext
end
.GoldBerry:
writetext UnknownText_0x6b97f
- keeptextopen
+ buttonsound
verbosegiveitem GOLD_BERRY
iffalse .BagFull
clearevent EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY
- loadmovesprites
+ closetext
end
.Berry:
writetext UnknownText_0x6b97f
- keeptextopen
+ buttonsound
verbosegiveitem BERRY
iffalse .BagFull
clearevent EVENT_CONTEST_OFFICER_HAS_BERRY
- loadmovesprites
+ closetext
end
.BagFull:
writetext UnknownText_0x6b910
+ waitbutton
closetext
- loadmovesprites
end
_ContestNotOn:
@@ -285,12 +299,12 @@
OfficerScript_0x6acf4:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_DAILY_BUG_CONTEST
iftrue Route36Officer_ContestHasConcluded
writetext UnknownText_0x6b370
+ waitbutton
closetext
- loadmovesprites
end
Route36Parkgate_DayToText:
@@ -299,162 +313,162 @@
YoungsterScript_0x6ad06:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iffalse UnknownScript_0x6ad14
writetext UnknownText_0x6b399
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6ad14:
writetext UnknownText_0x6b3c4
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x6ad1a:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iffalse UnknownScript_0x6ad28
writetext UnknownText_0x6b40f
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6ad28:
writetext UnknownText_0x6b440
+ waitbutton
closetext
- loadmovesprites
end
RockerScript_0x6ad2e:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iffalse UnknownScript_0x6ad3c
writetext UnknownText_0x6b462
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6ad3c:
writetext UnknownText_0x6b496
+ waitbutton
closetext
- loadmovesprites
end
PokefanMScript_0x6ad42:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iffalse UnknownScript_0x6ad50
writetext UnknownText_0x6b4da
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6ad50:
writetext UnknownText_0x6b50a
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x6ad56:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iffalse UnknownScript_0x6ad64
writetext UnknownText_0x6b54e
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6ad64:
writetext UnknownText_0x6b57c
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x6ad6a:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iffalse UnknownScript_0x6ad78
writetext UnknownText_0x6b5b0
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6ad78:
writetext UnknownText_0x6b5dd
+ waitbutton
closetext
- loadmovesprites
end
LassScript_0x6ad7e:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iffalse UnknownScript_0x6ad8c
writetext UnknownText_0x6b64b
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6ad8c:
writetext UnknownText_0x6b698
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x6ad92:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iffalse UnknownScript_0x6ada0
writetext UnknownText_0x6b6b8
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6ada0:
writetext UnknownText_0x6b6e9
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x6ada6:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iffalse UnknownScript_0x6adb4
writetext UnknownText_0x6b71b
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6adb4:
writetext UnknownText_0x6b740
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x6adba:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iffalse UnknownScript_0x6adc8
writetext UnknownText_0x6b76f
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6adc8:
writetext UnknownText_0x6b7af
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6adce:
--- a/maps/Route36RuinsofAlphgate.asm
+++ b/maps/Route36RuinsofAlphgate.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ROUTE36RUINSOFALPHGATE_OFFICER
+ const ROUTE36RUINSOFALPHGATE_GRAMPS
+
Route36RuinsofAlphgate_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route37.asm
+++ b/maps/Route37.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const ROUTE37_WEIRD_TREE1
+ const ROUTE37_WEIRD_TREE2
+ const ROUTE37_YOUNGSTER
+ const ROUTE37_FRUIT_TREE1
+ const ROUTE37_BUG_CATCHER
+ const ROUTE37_FRUIT_TREE2
+ const ROUTE37_FRUIT_TREE3
+
Route37_MapScriptHeader:
.MapTriggers:
db 0
@@ -12,11 +21,11 @@
SunnyCallback:
checkcode VAR_WEEKDAY
if_equal SUNDAY, .SunnyAppears
- disappear $6
+ disappear ROUTE37_BUG_CATCHER
return
.SunnyAppears
- appear $6
+ appear ROUTE37_BUG_CATCHER
return
TrainerTwinsAnnandanne1:
@@ -23,11 +32,11 @@
trainer EVENT_BEAT_TWINS_ANN_AND_ANNE, TWINS, ANNANDANNE1, TwinsAnnandanne1SeenText, TwinsAnnandanne1BeatenText, 0, TwinsAnnandanne1Script
TwinsAnnandanne1Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a8e62
+ waitbutton
closetext
- loadmovesprites
end
TrainerTwinsAnnandanne2:
@@ -34,11 +43,11 @@
trainer EVENT_BEAT_TWINS_ANN_AND_ANNE, TWINS, ANNANDANNE2, TwinsAnnandanne2SeenText, TwinsAnnandanne2BeatenText, 0, TwinsAnnandanne2Script
TwinsAnnandanne2Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a8eec
+ waitbutton
closetext
- loadmovesprites
end
TrainerPsychicGreg:
@@ -45,16 +54,16 @@
trainer EVENT_BEAT_PSYCHIC_GREG, PSYCHIC_T, GREG, PsychicGregSeenText, PsychicGregBeatenText, 0, PsychicGregScript
PsychicGregScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a8f80
+ waitbutton
closetext
- loadmovesprites
end
SunnyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_MAGNET_FROM_SUNNY
iftrue SunnySundayScript
checkcode VAR_WEEKDAY
@@ -62,37 +71,37 @@
checkevent EVENT_MET_SUNNY_OF_SUNDAY
iftrue .MetSunny
writetext MeetSunnyText
- keeptextopen
+ buttonsound
setevent EVENT_MET_SUNNY_OF_SUNDAY
.MetSunny
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .Kris
writetext SunnyGivesGiftText1
- keeptextopen
+ buttonsound
jump .next
.Kris
writetext SunnyGivesGiftText2
- keeptextopen
+ buttonsound
.next
verbosegiveitem MAGNET
iffalse SunnyDoneScript
setevent EVENT_GOT_MAGNET_FROM_SUNNY
writetext SunnyGaveGiftText
+ waitbutton
closetext
- loadmovesprites
end
SunnySundayScript:
writetext SunnySundayText
- closetext
+ waitbutton
SunnyDoneScript:
- loadmovesprites
+ closetext
end
SunnyNotSundayScript:
writetext SunnyNotSundayText
+ waitbutton
closetext
- loadmovesprites
end
MapRoute37Signpost0Script:
@@ -107,7 +116,7 @@
FruitTreeScript_0x1a8e0d:
fruittree FRUITTREE_ROUTE_37_3
-MapRoute37SignpostItem1:
+Route37HiddenEther:
dwb EVENT_ROUTE_37_HIDDEN_ETHER, ETHER
@@ -245,7 +254,7 @@
.Signposts:
db 2
signpost 3, 5, SIGNPOST_READ, MapRoute37Signpost0Script
- signpost 2, 4, SIGNPOST_ITEM, MapRoute37SignpostItem1
+ signpost 2, 4, SIGNPOST_ITEM, Route37HiddenEther
.PersonEvents:
db 7
--- a/maps/Route38.asm
+++ b/maps/Route38.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const ROUTE38_STANDING_YOUNGSTER1
+ const ROUTE38_LASS
+ const ROUTE38_STANDING_YOUNGSTER2
+ const ROUTE38_BUENA1
+ const ROUTE38_SAILOR
+ const ROUTE38_FRUIT_TREE
+ const ROUTE38_BUENA2
+
Route38_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +18,11 @@
trainer EVENT_BEAT_BIRD_KEEPER_TOBY, BIRD_KEEPER, TOBY, Bird_keeperTobySeenText, Bird_keeperTobyBeatenText, 0, .script
.script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a1f86
+ waitbutton
closetext
- loadmovesprites
end
TrainerSailorHarry:
@@ -20,11 +29,11 @@
trainer EVENT_BEAT_SAILOR_HARRY, SAILOR, HARRY, SailorHarrySeenText, SailorHarryBeatenText, 0, .script
.script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a220c
+ waitbutton
closetext
- loadmovesprites
end
TrainerLassDana1:
@@ -32,8 +41,8 @@
.script:
writecode VAR_CALLERID, PHONE_LASS_DANA
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_DANA
iftrue .DanaRematch
checkflag ENGINE_DANA_HAS_THUNDERSTONE
@@ -43,7 +52,7 @@
checkevent EVENT_DANA_ASKED_FOR_PHONE_NUMBER
iftrue .SecondTimeAsking
writetext UnknownText_0x1a20ec
- keeptextopen
+ buttonsound
setevent EVENT_DANA_ASKED_FOR_PHONE_NUMBER
scall .AskNumber1F
jump .AskForPhoneNumber
@@ -82,7 +91,7 @@
.LoadFight0
loadtrainer LASS, DANA1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wDanaFightCount, 1
clearflag ENGINE_DANA
end
@@ -90,7 +99,7 @@
.LoadFight1
loadtrainer LASS, DANA2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wDanaFightCount, 2
clearflag ENGINE_DANA
end
@@ -98,7 +107,7 @@
.LoadFight2
loadtrainer LASS, DANA3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wDanaFightCount, 3
clearflag ENGINE_DANA
end
@@ -106,7 +115,7 @@
.LoadFight3
loadtrainer LASS, DANA4
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wDanaFightCount, 4
clearflag ENGINE_DANA
end
@@ -114,7 +123,7 @@
.LoadFight4
loadtrainer LASS, DANA5
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_DANA
end
@@ -170,8 +179,8 @@
.script:
writecode VAR_CALLERID, PHONE_SCHOOLBOY_CHAD
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_CHAD
iftrue .ChadRematch
checkcellnum PHONE_SCHOOLBOY_CHAD
@@ -179,7 +188,7 @@
checkevent EVENT_CHAD_ASKED_FOR_PHONE_NUMBER
iftrue .SecondTimeAsking
writetext UnknownText_0x1a200e
- keeptextopen
+ buttonsound
setevent EVENT_CHAD_ASKED_FOR_PHONE_NUMBER
scall .AskPhoneNumber1
jump .AskToRegisterNumber
@@ -218,7 +227,7 @@
.LoadFight0
loadtrainer SCHOOLBOY, CHAD1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wChadFightCount, 1
clearflag ENGINE_CHAD
end
@@ -226,7 +235,7 @@
.LoadFight1
loadtrainer SCHOOLBOY, CHAD2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wChadFightCount, 2
clearflag ENGINE_CHAD
end
@@ -234,7 +243,7 @@
.LoadFight2
loadtrainer SCHOOLBOY, CHAD3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wChadFightCount, 3
clearflag ENGINE_CHAD
end
@@ -242,7 +251,7 @@
.LoadFight3
loadtrainer SCHOOLBOY, CHAD4
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wChadFightCount, 4
clearflag ENGINE_CHAD
end
@@ -250,7 +259,7 @@
.LoadFight4
loadtrainer SCHOOLBOY, CHAD5
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_CHAD
end
@@ -286,11 +295,11 @@
trainer EVENT_BEAT_BEAUTY_VALERIE, BEAUTY, VALERIE, BeautyValerieSeenText, BeautyValerieBeatenText, 0, .script
.script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a2185
+ waitbutton
closetext
- loadmovesprites
end
TrainerBeautyOlivia:
@@ -297,11 +306,11 @@
trainer EVENT_BEAT_BEAUTY_OLIVIA, BEAUTY, OLIVIA, BeautyOliviaSeenText, BeautyOliviaBeatenText, 0, .script
.script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a229a
+ waitbutton
closetext
- loadmovesprites
end
MapRoute38Signpost0Script:
--- a/maps/Route38EcruteakGate.asm
+++ b/maps/Route38EcruteakGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE38ECRUTEAKGATE_OFFICER
+
Route38EcruteakGate_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route39.asm
+++ b/maps/Route39.asm
@@ -1,3 +1,15 @@
+const_value set 2
+ const ROUTE39_SAILOR
+ const ROUTE39_POKEFAN_M
+ const ROUTE39_POKEFAN_F1
+ const ROUTE39_TAUROS1
+ const ROUTE39_TAUROS2
+ const ROUTE39_TAUROS3
+ const ROUTE39_TAUROS4
+ const ROUTE39_STANDING_YOUNGSTER
+ const ROUTE39_FRUIT_TREE
+ const ROUTE39_POKEFAN_F2
+
Route39_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,11 +18,11 @@
db 0
TaurosScript_0x1a5af5:
- loadfont
+ opentext
writetext UnknownText_0x1a5bf9
cry MILTANK
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokefanmDerek1:
@@ -18,8 +30,8 @@
PokefanmDerek1Script:
writecode VAR_CALLERID, PHONE_POKEFANM_DEREK
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_DEREK_HAS_NUGGET
iftrue UnknownScript_0x1a5b4a
checkcellnum PHONE_POKEFANM_DEREK
@@ -29,7 +41,7 @@
checkevent EVENT_DEREK_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x1a5b33
writetext UnknownText_0x1a5cf8
- keeptextopen
+ buttonsound
setevent EVENT_DEREK_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x1a5b62
jump UnknownScript_0x1a5b36
@@ -56,8 +68,8 @@
UnknownScript_0x1a5b5c:
writetext UnknownText_0x1a5dec
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x1a5b62:
@@ -96,11 +108,11 @@
trainer EVENT_BEAT_POKEFANF_RUTH, POKEFANF, RUTH, PokefanfRuthSeenText, PokefanfRuthBeatenText, 0, PokefanfRuthScript
PokefanfRuthScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a5db2
+ waitbutton
closetext
- loadmovesprites
end
TrainerSailorEugene:
@@ -107,11 +119,11 @@
trainer EVENT_BEAT_SAILOR_EUGENE, SAILOR, EUGENE, SailorEugeneSeenText, SailorEugeneBeatenText, 0, SailorEugeneScript
SailorEugeneScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a5c4d
+ waitbutton
closetext
- loadmovesprites
end
TrainerPsychicNorman:
@@ -118,41 +130,41 @@
trainer EVENT_BEAT_PSYCHIC_NORMAN, PSYCHIC_T, NORMAN, PsychicNormanSeenText, PsychicNormanBeatenText, 0, PsychicNormanScript
PsychicNormanScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a5e57
+ waitbutton
closetext
- loadmovesprites
end
PokefanFScript_0x1a5bbe:
faceplayer
- loadfont
+ opentext
checknite
iffalse UnknownScript_0x1a5be5
checkevent EVENT_BEAT_POKEFANF_JAIME
iftrue UnknownScript_0x1a5bdf
writetext UnknownText_0x1a5ee8
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x1a5f17, 0
loadtrainer POKEFANF, JAIME
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_POKEFANF_JAIME
- loadmovesprites
+ closetext
end
UnknownScript_0x1a5bdf:
writetext UnknownText_0x1a5f31
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x1a5be5:
writetext UnknownText_0x1a5ec4
+ waitbutton
closetext
- loadmovesprites
end
MapRoute39Signpost2Script:
@@ -167,7 +179,7 @@
FruitTreeScript_0x1a5bf4:
fruittree FRUITTREE_ROUTE_39
-MapRoute39SignpostItem3:
+Route39HiddenNugget:
dwb EVENT_ROUTE_39_HIDDEN_NUGGET, NUGGET
@@ -349,7 +361,7 @@
signpost 31, 5, SIGNPOST_READ, MapRoute39Signpost0Script
signpost 5, 9, SIGNPOST_READ, MapRoute39Signpost1Script
signpost 7, 15, SIGNPOST_READ, MapRoute39Signpost2Script
- signpost 13, 5, SIGNPOST_ITEM, MapRoute39SignpostItem3
+ signpost 13, 5, SIGNPOST_ITEM, Route39HiddenNugget
.PersonEvents:
db 10
--- a/maps/Route39Barn.asm
+++ b/maps/Route39Barn.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const ROUTE39BARN_TWIN1
+ const ROUTE39BARN_TWIN2
+ const ROUTE39BARN_TAUROS
+
Route39Barn_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,57 +12,57 @@
TwinScript_0x9cc76:
faceplayer
- loadfont
+ opentext
checkevent EVENT_HEALED_MOOMOO
iftrue .FeedingMooMoo
writetext Text_MoomooIsSick
+ waitbutton
closetext
- loadmovesprites
- spriteface $2, RIGHT
+ spriteface ROUTE39BARN_TWIN1, RIGHT
end
.FeedingMooMoo:
writetext Text_WereFeedingMoomoo
+ waitbutton
closetext
- loadmovesprites
- spriteface $2, RIGHT
+ spriteface ROUTE39BARN_TWIN1, RIGHT
end
TwinScript_0x9cc90:
faceplayer
- loadfont
+ opentext
checkevent EVENT_HEALED_MOOMOO
iftrue .FeedingMooMoo
writetext Text_MoomooIsSick
+ waitbutton
closetext
- loadmovesprites
- spriteface $3, LEFT
+ spriteface ROUTE39BARN_TWIN2, LEFT
end
.FeedingMooMoo:
writetext Text_WereFeedingMoomoo
+ waitbutton
closetext
- loadmovesprites
- spriteface $3, LEFT
+ spriteface ROUTE39BARN_TWIN2, LEFT
end
TaurosScript_0x9ccaa:
- loadfont
+ opentext
checkevent EVENT_HEALED_MOOMOO
iftrue .HappyCow
writetext Text_WeakMoo
writebyte MILTANK
special PlaySlowCry
- keeptextopen
+ buttonsound
writetext Text_ItsCryIsWeak
checkevent EVENT_TALKED_TO_FARMER_ABOUT_MOOMOO
iftrue .GiveBerry
+ waitbutton
closetext
- loadmovesprites
end
.GiveBerry:
- keeptextopen
+ buttonsound
writetext Text_AskGiveBerry
yesorno
iffalse .Refused
@@ -71,24 +76,24 @@
if_equal 5, .FiveBerries
if_equal 7, .SevenBerries
writetext Text_GaveBerry
+ waitbutton
closetext
- loadmovesprites
end
.ThreeBerries:
writetext Text_GaveBerry
- keeptextopen
+ buttonsound
writetext Text_LittleHealthier
+ waitbutton
closetext
- loadmovesprites
end
.FiveBerries:
writetext Text_GaveBerry
- keeptextopen
+ buttonsound
writetext Text_QuiteHealthy
+ waitbutton
closetext
- loadmovesprites
end
.SevenBerries:
@@ -95,31 +100,31 @@
playmusic MUSIC_HEAL
writetext Text_GaveBerry
pause 60
- keeptextopen
+ buttonsound
special RestartMapMusic
writetext Text_TotallyHealthy
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_HEALED_MOOMOO
end
.NoBerriesInBag:
writetext Text_NoBerries
+ waitbutton
closetext
- loadmovesprites
end
.Refused:
writetext Text_RefusedToGiveBerry
+ waitbutton
closetext
- loadmovesprites
end
.HappyCow:
writetext UnknownText_0x9cd92
cry MILTANK
+ waitbutton
closetext
- loadmovesprites
end
Text_MoomooIsSick:
--- a/maps/Route39Farmhouse.asm
+++ b/maps/Route39Farmhouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ROUTE39FARMHOUSE_POKEFAN_M
+ const ROUTE39FARMHOUSE_POKEFAN_F
+
Route39Farmhouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,12 +11,12 @@
PokefanMScript_0x9ceb4:
faceplayer
- loadfont
+ opentext
checkevent EVENT_HEALED_MOOMOO
iftrue UnknownScript_0x9cec5
writetext UnknownText_0x9cf38
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_TALKED_TO_FARMER_ABOUT_MOOMOO
end
@@ -20,7 +24,7 @@
checkitem MOOMOO_MILK
iftrue UnknownScript_0x9cf08
writetext UnknownText_0x9cfe1
- special PlaceMoneyTopRightOW
+ special PlaceMoneyTopRight
yesorno
iffalse UnknownScript_0x9cf02
checkmoney $0, 500
@@ -28,62 +32,62 @@
giveitem MOOMOO_MILK
iffalse UnknownScript_0x9cefc
takemoney $0, 500
- special PlaceMoneyTopRightOW
- waitbutton
+ special PlaceMoneyTopRight
+ waitsfx
playsound SFX_TRANSACTION
writetext UnknownText_0x9d05d
- keeptextopen
+ buttonsound
itemnotify
- loadmovesprites
+ closetext
end
UnknownScript_0x9cef6:
writetext UnknownText_0x9d07c
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x9cefc:
writetext UnknownText_0x9d09d
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x9cf02:
writetext UnknownText_0x9d0b7
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x9cf08:
writetext UnknownText_0x9d0dc
+ waitbutton
closetext
- loadmovesprites
end
PokefanFScript_0x9cf0e:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TM13_SNORE_FROM_MOOMOO_FARM
iftrue UnknownScript_0x9cf2f
checkevent EVENT_HEALED_MOOMOO
iftrue UnknownScript_0x9cf22
writetext UnknownText_0x9d0f6
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x9cf22:
writetext UnknownText_0x9d156
- keeptextopen
+ buttonsound
verbosegiveitem TM_SNORE
iffalse UnknownScript_0x9cf33
setevent EVENT_GOT_TM13_SNORE_FROM_MOOMOO_FARM
UnknownScript_0x9cf2f:
writetext UnknownText_0x9d1c7
- closetext
+ waitbutton
UnknownScript_0x9cf33:
- loadmovesprites
+ closetext
end
FarmhouseBookshelf:
--- a/maps/Route4.asm
+++ b/maps/Route4.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const ROUTE4_YOUNGSTER
+ const ROUTE4_LASS1
+ const ROUTE4_LASS2
+ const ROUTE4_POKE_BALL
+
Route4_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +15,11 @@
trainer EVENT_BEAT_BIRD_KEEPER_HANK, BIRD_KEEPER, HANK, Bird_keeperHankSeenText, Bird_keeperHankBeatenText, 0, Bird_keeperHankScript
Bird_keeperHankScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ae258
+ waitbutton
closetext
- loadmovesprites
end
TrainerPicnickerHope:
@@ -20,11 +26,11 @@
trainer EVENT_BEAT_PICNICKER_HOPE, PICNICKER, HOPE, PicnickerHopeSeenText, PicnickerHopeBeatenText, 0, PicnickerHopeScript
PicnickerHopeScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ae320
+ waitbutton
closetext
- loadmovesprites
end
TrainerPicnickerSharon:
@@ -31,20 +37,20 @@
trainer EVENT_BEAT_PICNICKER_SHARON, PICNICKER, SHARON, PicnickerSharonSeenText, PicnickerSharonBeatenText, 0, PicnickerSharonScript
PicnickerSharonScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ae369
+ waitbutton
closetext
- loadmovesprites
end
MapRoute4Signpost0Script:
jumptext UnknownText_0x1ae384
-ItemFragment_0x1ae20f:
- db HP_UP, 1
+Route4HPUp:
+ itemball HP_UP
-MapRoute4SignpostItem1:
+Route4HiddenUltraBall:
dwb EVENT_ROUTE_4_HIDDEN_ULTRA_BALL, ULTRA_BALL
@@ -129,7 +135,7 @@
.Signposts:
db 2
signpost 7, 3, SIGNPOST_READ, MapRoute4Signpost0Script
- signpost 3, 10, SIGNPOST_ITEM, MapRoute4SignpostItem1
+ signpost 3, 10, SIGNPOST_ITEM, Route4HiddenUltraBall
.PersonEvents:
db 4
@@ -136,4 +142,4 @@
person_event SPRITE_YOUNGSTER, 9, 17, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerBird_keeperHank, -1
person_event SPRITE_LASS, 8, 9, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_TRAINER, 4, TrainerPicnickerHope, -1
person_event SPRITE_LASS, 6, 21, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_TRAINER, 4, TrainerPicnickerSharon, -1
- person_event SPRITE_POKE_BALL, 3, 26, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1ae20f, EVENT_ROUTE_4_HP_UP
+ person_event SPRITE_POKE_BALL, 3, 26, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route4HPUp, EVENT_ROUTE_4_HP_UP
--- a/maps/Route40.asm
+++ b/maps/Route40.asm
@@ -1,3 +1,17 @@
+const_value set 2
+ const ROUTE40_OLIVINE_RIVAL1
+ const ROUTE40_OLIVINE_RIVAL2
+ const ROUTE40_SWIMMER_GIRL1
+ const ROUTE40_SWIMMER_GIRL2
+ const ROUTE40_ROCK1
+ const ROUTE40_ROCK2
+ const ROUTE40_ROCK3
+ const ROUTE40_LASS1
+ const ROUTE40_BUENA
+ const ROUTE40_POKEFAN_M
+ const ROUTE40_LASS2
+ const ROUTE40_STANDING_YOUNGSTER
+
Route40_MapScriptHeader:
.MapTriggers:
db 0
@@ -13,11 +27,11 @@
clearevent EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
checkcode VAR_WEEKDAY
if_equal MONDAY, .MonicaAppears
- disappear $a
+ disappear ROUTE40_BUENA
return
.MonicaAppears
- appear $a
+ appear ROUTE40_BUENA
return
TrainerSwimmerfElaine:
@@ -24,11 +38,11 @@
trainer EVENT_BEAT_SWIMMERF_ELAINE, SWIMMERF, ELAINE, SwimmerfElaineSeenText, SwimmerfElaineBeatenText, 0, SwimmerfElaineScript
SwimmerfElaineScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a637b
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmerfPaula:
@@ -35,11 +49,11 @@
trainer EVENT_BEAT_SWIMMERF_PAULA, SWIMMERF, PAULA, SwimmerfPaulaSeenText, SwimmerfPaulaBeatenText, 0, SwimmerfPaulaScript
SwimmerfPaulaScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a63f5
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmermSimon:
@@ -46,11 +60,11 @@
trainer EVENT_BEAT_SWIMMERM_SIMON, SWIMMERM, SIMON, SwimmermSimonSeenText, SwimmermSimonBeatenText, 0, SwimmermSimonScript
SwimmermSimonScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a6282
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmermRandall:
@@ -57,11 +71,11 @@
trainer EVENT_BEAT_SWIMMERM_RANDALL, SWIMMERM, RANDALL, SwimmermRandallSeenText, SwimmermRandallBeatenText, 0, SwimmermRandallScript
SwimmermRandallScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a62fa
+ waitbutton
closetext
- loadmovesprites
end
LassScript_0x1a61c4:
@@ -83,7 +97,7 @@
MonicaScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_SHARP_BEAK_FROM_MONICA
iftrue MonicaMondayScript
checkcode VAR_WEEKDAY
@@ -91,30 +105,30 @@
checkevent EVENT_MET_MONICA_OF_MONDAY
iftrue .MetMonica
writetext MeetMonicaText
- keeptextopen
+ buttonsound
setevent EVENT_MET_MONICA_OF_MONDAY
.MetMonica
writetext MonicaGivesGiftText
- keeptextopen
+ buttonsound
verbosegiveitem SHARP_BEAK
iffalse MonicaDoneScript
setevent EVENT_GOT_SHARP_BEAK_FROM_MONICA
writetext MonicaGaveGiftText
+ waitbutton
closetext
- loadmovesprites
end
MonicaMondayScript:
writetext MonicaMondayText
- closetext
+ waitbutton
MonicaDoneScript:
- loadmovesprites
+ closetext
end
MonicaNotMondayScript:
writetext MonicaNotMondayText
+ waitbutton
closetext
- loadmovesprites
end
MapRoute40Signpost0Script:
@@ -123,7 +137,7 @@
Route40Rock:
jumpstd smashrock
-MapRoute40SignpostItem1:
+Route40HiddenHyperPotion:
dwb EVENT_ROUTE_40_HIDDEN_HYPER_POTION, HYPER_POTION
MovementData_0x1a621c:
@@ -340,7 +354,7 @@
.Signposts:
db 2
signpost 10, 14, SIGNPOST_READ, MapRoute40Signpost0Script
- signpost 8, 7, SIGNPOST_ITEM, MapRoute40SignpostItem1
+ signpost 8, 7, SIGNPOST_ITEM, Route40HiddenHyperPotion
.PersonEvents:
db 12
--- a/maps/Route40BattleTowerGate.asm
+++ b/maps/Route40BattleTowerGate.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ROUTE40BATTLETOWERGATE_ROCKER
+ const ROUTE40BATTLETOWERGATE_TWIN
+
Route40BattleTowerGate_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route41.asm
+++ b/maps/Route41.asm
@@ -1,3 +1,15 @@
+const_value set 2
+ const ROUTE41_OLIVINE_RIVAL1
+ const ROUTE41_OLIVINE_RIVAL2
+ const ROUTE41_OLIVINE_RIVAL3
+ const ROUTE41_OLIVINE_RIVAL4
+ const ROUTE41_OLIVINE_RIVAL5
+ const ROUTE41_SWIMMER_GIRL1
+ const ROUTE41_SWIMMER_GIRL2
+ const ROUTE41_SWIMMER_GIRL3
+ const ROUTE41_SWIMMER_GIRL4
+ const ROUTE41_SWIMMER_GIRL5
+
Route41_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +21,11 @@
trainer EVENT_BEAT_SWIMMERF_KAYLEE, SWIMMERF, KAYLEE, SwimmerfKayleeSeenText, SwimmerfKayleeBeatenText, 0, SwimmerfKayleeScript
SwimmerfKayleeScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a6c7f
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmerfSusie:
@@ -20,11 +32,11 @@
trainer EVENT_BEAT_SWIMMERF_SUSIE, SWIMMERF, SUSIE, SwimmerfSusieSeenText, SwimmerfSusieBeatenText, 0, SwimmerfSusieScript
SwimmerfSusieScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a6d11
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmerfDenise:
@@ -31,11 +43,11 @@
trainer EVENT_BEAT_SWIMMERF_DENISE, SWIMMERF, DENISE, SwimmerfDeniseSeenText, SwimmerfDeniseBeatenText, 0, SwimmerfDeniseScript
SwimmerfDeniseScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a6d79
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmerfKara:
@@ -42,11 +54,11 @@
trainer EVENT_BEAT_SWIMMERF_KARA, SWIMMERF, KARA, SwimmerfKaraSeenText, SwimmerfKaraBeatenText, 0, SwimmerfKaraScript
SwimmerfKaraScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a6e58
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmerfWendy:
@@ -53,11 +65,11 @@
trainer EVENT_BEAT_SWIMMERF_WENDY, SWIMMERF, WENDY, SwimmerfWendySeenText, SwimmerfWendyBeatenText, 0, SwimmerfWendyScript
SwimmerfWendyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a6ec2
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmermCharlie:
@@ -64,11 +76,11 @@
trainer EVENT_BEAT_SWIMMERM_CHARLIE, SWIMMERM, CHARLIE, SwimmermCharlieSeenText, SwimmermCharlieBeatenText, 0, SwimmermCharlieScript
SwimmermCharlieScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a696e
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmermGeorge:
@@ -75,11 +87,11 @@
trainer EVENT_BEAT_SWIMMERM_GEORGE, SWIMMERM, GEORGE, SwimmermGeorgeSeenText, SwimmermGeorgeBeatenText, 0, SwimmermGeorgeScript
SwimmermGeorgeScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a69d4
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmermBerke:
@@ -86,11 +98,11 @@
trainer EVENT_BEAT_SWIMMERM_BERKE, SWIMMERM, BERKE, SwimmermBerkeSeenText, SwimmermBerkeBeatenText, 0, SwimmermBerkeScript
SwimmermBerkeScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a6aa4
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmermKirk:
@@ -97,11 +109,11 @@
trainer EVENT_BEAT_SWIMMERM_KIRK, SWIMMERM, KIRK, SwimmermKirkSeenText, SwimmermKirkBeatenText, 0, SwimmermKirkScript
SwimmermKirkScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a6b6c
+ waitbutton
closetext
- loadmovesprites
end
TrainerSwimmermMathew:
@@ -108,11 +120,11 @@
trainer EVENT_BEAT_SWIMMERM_MATHEW, SWIMMERM, MATHEW, SwimmermMathewSeenText, SwimmermMathewBeatenText, 0, SwimmermMathewScript
SwimmermMathewScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a6bed
+ waitbutton
closetext
- loadmovesprites
end
Route41Rock:
@@ -119,7 +131,7 @@
; unused
jumpstd smashrock
-MapRoute41SignpostItem0:
+Route41HiddenMaxEther:
dwb EVENT_ROUTE_41_HIDDEN_MAX_ETHER, MAX_ETHER
SwimmermCharlieSeenText:
@@ -345,7 +357,7 @@
.Signposts:
db 1
- signpost 35, 9, SIGNPOST_ITEM, MapRoute41SignpostItem0
+ signpost 35, 9, SIGNPOST_ITEM, Route41HiddenMaxEther
.PersonEvents:
db 10
--- a/maps/Route42.asm
+++ b/maps/Route42.asm
@@ -1,3 +1,14 @@
+const_value set 2
+ const ROUTE42_FISHER
+ const ROUTE42_POKEFAN_M
+ const ROUTE42_SUPER_NERD
+ const ROUTE42_FRUIT_TREE1
+ const ROUTE42_FRUIT_TREE2
+ const ROUTE42_FRUIT_TREE3
+ const ROUTE42_POKE_BALL1
+ const ROUTE42_POKE_BALL2
+ const ROUTE42_SUICUNE
+
Route42_MapScriptHeader:
.MapTriggers:
db 2
@@ -19,8 +30,8 @@
showemote EMOTE_SHOCK, PLAYER, 15
pause 15
playsound SFX_WARP_FROM
- applymovement $a, MovementData_0x1a9356
- disappear $a
+ applymovement ROUTE42_SUICUNE, MovementData_0x1a9356
+ disappear ROUTE42_SUICUNE
pause 10
dotrigger $0
clearevent EVENT_SAW_SUICUNE_ON_ROUTE_36
@@ -32,8 +43,8 @@
FisherTully1Script:
writecode VAR_CALLERID, PHONE_FISHER_TULLY
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_TULLY
iftrue UnknownScript_0x1a927f
checkflag ENGINE_TULLY_HAS_WATER_STONE
@@ -43,7 +54,7 @@
checkevent EVENT_TULLY_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x1a9268
writetext UnknownText_0x1a93ab
- keeptextopen
+ buttonsound
setevent EVENT_TULLY_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x1a92f1
jump UnknownScript_0x1a926b
@@ -78,7 +89,7 @@
.LoadFight0
loadtrainer FISHER, TULLY1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wTullyFightCount, 1
clearflag ENGINE_TULLY
end
@@ -86,7 +97,7 @@
.LoadFight1
loadtrainer FISHER, TULLY2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wTullyFightCount, 2
clearflag ENGINE_TULLY
end
@@ -94,7 +105,7 @@
.LoadFight2
loadtrainer FISHER, TULLY3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wTullyFightCount, 3
clearflag ENGINE_TULLY
end
@@ -102,7 +113,7 @@
.LoadFight3
loadtrainer FISHER, TULLY4
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_TULLY
end
@@ -157,11 +168,11 @@
trainer EVENT_BEAT_POKEMANIAC_SHANE, POKEMANIAC, SHANE, PokemaniacShaneSeenText, PokemaniacShaneBeatenText, 0, PokemaniacShaneScript
PokemaniacShaneScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a94d6
+ waitbutton
closetext
- loadmovesprites
end
TrainerHikerBenjamin:
@@ -168,11 +179,11 @@
trainer EVENT_BEAT_HIKER_BENJAMIN, HIKER, BENJAMIN, HikerBenjaminSeenText, HikerBenjaminBeatenText, 0, HikerBenjaminScript
HikerBenjaminScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a943f
+ waitbutton
closetext
- loadmovesprites
end
MapRoute42Signpost0Script:
@@ -187,11 +198,11 @@
MapRoute42Signpost3Script:
jumptext UnknownText_0x1a95a1
-ItemFragment_0x1a9349:
- db ULTRA_BALL, 1
+Route42UltraBall:
+ itemball ULTRA_BALL
-ItemFragment_0x1a934b:
- db SUPER_POTION, 1
+Route42SuperPotion:
+ itemball SUPER_POTION
FruitTreeScript_0x1a934d:
fruittree FRUITTREE_ROUTE_42_1
@@ -202,7 +213,7 @@
FruitTreeScript_0x1a9351:
fruittree FRUITTREE_ROUTE_42_3
-MapRoute42SignpostItem4:
+Route42HiddenMaxPotion:
dwb EVENT_ROUTE_42_HIDDEN_MAX_POTION, MAX_POTION
@@ -332,7 +343,7 @@
signpost 5, 7, SIGNPOST_READ, MapRoute42Signpost1Script
signpost 9, 45, SIGNPOST_READ, MapRoute42Signpost2Script
signpost 8, 54, SIGNPOST_READ, MapRoute42Signpost3Script
- signpost 11, 16, SIGNPOST_ITEM, MapRoute42SignpostItem4
+ signpost 11, 16, SIGNPOST_ITEM, Route42HiddenMaxPotion
.PersonEvents:
db 9
@@ -342,6 +353,6 @@
person_event SPRITE_FRUIT_TREE, 16, 27, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x1a934d, -1
person_event SPRITE_FRUIT_TREE, 16, 28, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x1a934f, -1
person_event SPRITE_FRUIT_TREE, 16, 29, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x1a9351, -1
- person_event SPRITE_POKE_BALL, 4, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1a9349, EVENT_ROUTE_42_ULTRA_BALL
- person_event SPRITE_POKE_BALL, 8, 33, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1a934b, EVENT_ROUTE_42_SUPER_POTION
+ person_event SPRITE_POKE_BALL, 4, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route42UltraBall, EVENT_ROUTE_42_ULTRA_BALL
+ person_event SPRITE_POKE_BALL, 8, 33, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route42SuperPotion, EVENT_ROUTE_42_SUPER_POTION
person_event SPRITE_SUICUNE, 16, 26, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_SAW_SUICUNE_ON_ROUTE_42
--- a/maps/Route42EcruteakGate.asm
+++ b/maps/Route42EcruteakGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE42ECRUTEAKGATE_OFFICER
+
Route42EcruteakGate_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route43.asm
+++ b/maps/Route43.asm
@@ -1,3 +1,13 @@
+const_value set 2
+ const ROUTE43_SUPER_NERD1
+ const ROUTE43_SUPER_NERD2
+ const ROUTE43_SUPER_NERD3
+ const ROUTE43_FISHER
+ const ROUTE43_LASS
+ const ROUTE43_YOUNGSTER
+ const ROUTE43_FRUIT_TREE
+ const ROUTE43_POKE_BALL
+
Route43_MapScriptHeader:
.MapTriggers:
db 0
@@ -23,11 +33,11 @@
trainer EVENT_BEAT_CAMPER_SPENCER, CAMPER, SPENCER, CamperSpencerSeenText, CamperSpencerBeatenText, 0, CamperSpencerScript
CamperSpencerScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19d57e
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokemaniacBen:
@@ -34,11 +44,11 @@
trainer EVENT_BEAT_POKEMANIAC_BEN, POKEMANIAC, BEN, PokemaniacBenSeenText, PokemaniacBenBeatenText, 0, PokemaniacBenScript
PokemaniacBenScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19d2d2
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokemaniacBrent1:
@@ -46,8 +56,8 @@
PokemaniacBrent1Script:
writecode VAR_CALLERID, PHONE_POKEMANIAC_BRENT
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_BRENT
iftrue UnknownScript_0x19d0cf
checkcellnum PHONE_POKEMANIAC_BRENT
@@ -55,7 +65,7 @@
checkevent EVENT_BRENT_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x19d0b8
writetext UnknownText_0x19d359
- keeptextopen
+ buttonsound
setevent EVENT_BRENT_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x19d12c
jump UnknownScript_0x19d0bb
@@ -90,7 +100,7 @@
.LoadFight0
loadtrainer POKEMANIAC, BRENT1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wBrentFightCount, 1
clearflag ENGINE_BRENT
end
@@ -98,7 +108,7 @@
.LoadFight1
loadtrainer POKEMANIAC, BRENT2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wBrentFightCount, 2
clearflag ENGINE_BRENT
end
@@ -106,7 +116,7 @@
.LoadFight2
loadtrainer POKEMANIAC, BRENT3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wBrentFightCount, 3
clearflag ENGINE_BRENT
end
@@ -114,7 +124,7 @@
.LoadFight3
loadtrainer POKEMANIAC, BRENT4
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_BRENT
end
@@ -150,11 +160,11 @@
trainer EVENT_BEAT_POKEMANIAC_RON, POKEMANIAC, RON, PokemaniacRonSeenText, PokemaniacRonBeatenText, 0, PokemaniacRonScript
PokemaniacRonScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19d3f8
+ waitbutton
closetext
- loadmovesprites
end
TrainerFisherMarvin:
@@ -161,11 +171,11 @@
trainer EVENT_BEAT_FISHER_MARVIN, FISHER, MARVIN, FisherMarvinSeenText, FisherMarvinBeatenText, 0, FisherMarvinScript
FisherMarvinScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19d4d3
+ waitbutton
closetext
- loadmovesprites
end
TrainerPicnickerTiffany3:
@@ -173,8 +183,8 @@
PicnickerTiffany3Script:
writecode VAR_CALLERID, PHONE_PICNICKER_TIFFANY
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_TIFFANY
iftrue UnknownScript_0x19d1c1
checkflag ENGINE_TIFFANY_HAS_PINK_BOW
@@ -186,7 +196,7 @@
checkevent EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x19d1aa
writetext UnknownText_0x19d618
- keeptextopen
+ buttonsound
setevent EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x19d239
jump UnknownScript_0x19d1ad
@@ -221,7 +231,7 @@
.LoadFight0
loadtrainer PICNICKER, TIFFANY3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wTiffanyFightCount, 1
clearflag ENGINE_TIFFANY
end
@@ -229,7 +239,7 @@
.LoadFight1
loadtrainer PICNICKER, TIFFANY1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wTiffanyFightCount, 2
clearflag ENGINE_TIFFANY
end
@@ -237,7 +247,7 @@
.LoadFight2
loadtrainer PICNICKER, TIFFANY2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wTiffanyFightCount, 3
clearflag ENGINE_TIFFANY
end
@@ -245,7 +255,7 @@
.LoadFight3
loadtrainer PICNICKER, TIFFANY4
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_TIFFANY
end
@@ -262,8 +272,8 @@
UnknownScript_0x19d233:
writetext UnknownText_0x19d64b
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19d239:
@@ -314,8 +324,8 @@
FruitTreeScript_0x19d266:
fruittree FRUITTREE_ROUTE_43
-ItemFragment_0x19d268:
- db MAX_ETHER, 1
+Route43MaxEther:
+ itemball MAX_ETHER
PokemaniacBenSeenText:
text "I love #MON!"
@@ -523,4 +533,4 @@
person_event SPRITE_LASS, 25, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_TRAINER, 2, TrainerPicnickerTiffany3, -1
person_event SPRITE_YOUNGSTER, 40, 13, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_TRAINER, 3, TrainerCamperSpencer, -1
person_event SPRITE_FRUIT_TREE, 26, 1, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x19d266, -1
- person_event SPRITE_POKE_BALL, 32, 12, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x19d268, EVENT_ROUTE_43_MAX_ETHER
+ person_event SPRITE_POKE_BALL, 32, 12, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route43MaxEther, EVENT_ROUTE_43_MAX_ETHER
--- a/maps/Route43Gate.asm
+++ b/maps/Route43Gate.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const ROUTE43GATE_OFFICER
+ const ROUTE43GATE_ROCKET1
+ const ROUTE43GATE_ROCKET2
+
Route43Gate_MapScriptHeader:
.MapTriggers:
db 2
@@ -33,21 +38,21 @@
UnknownScript_0x19abda:
playmusic MUSIC_ROCKET_ENCOUNTER
checkcode VAR_FACING
- if_equal $0, UnknownScript_0x19abea
- if_equal $1, UnknownScript_0x19ac38
+ if_equal DOWN, UnknownScript_0x19abea
+ if_equal UP, UnknownScript_0x19ac38
dotrigger $1
end
UnknownScript_0x19abea:
applymovement PLAYER, MovementData_0x19aca2
- showemote EMOTE_SHOCK, $4, 15
- applymovement $4, MovementData_0x19acbb
- spriteface $3, UP
- showemote EMOTE_SHOCK, $3, 15
- applymovement $3, MovementData_0x19aca4
- loadfont
+ showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET2, 15
+ applymovement ROUTE43GATE_ROCKET2, MovementData_0x19acbb
+ spriteface ROUTE43GATE_ROCKET1, UP
+ showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET1, 15
+ applymovement ROUTE43GATE_ROCKET1, MovementData_0x19aca4
+ opentext
writetext UnknownText_0x19acd2
- keeptextopen
+ buttonsound
checkmoney $0, 999
if_equal $0, UnknownScript_0x19ac12
jump UnknownScript_0x19ac1d
@@ -63,23 +68,23 @@
jump UnknownScript_0x19ac28
UnknownScript_0x19ac28:
- keeptextopen
- loadmovesprites
- applymovement $3, MovementData_0x19acaa
- applymovement $4, MovementData_0x19acc1
+ buttonsound
+ closetext
+ applymovement ROUTE43GATE_ROCKET1, MovementData_0x19acaa
+ applymovement ROUTE43GATE_ROCKET2, MovementData_0x19acc1
dotrigger $1
special RestartMapMusic
end
UnknownScript_0x19ac38:
- showemote EMOTE_SHOCK, $3, 15
- applymovement $3, MovementData_0x19acaf
- spriteface $4, DOWN
- showemote EMOTE_SHOCK, $4, 15
- applymovement $4, MovementData_0x19acc7
- loadfont
+ showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET1, 15
+ applymovement ROUTE43GATE_ROCKET1, MovementData_0x19acaf
+ spriteface ROUTE43GATE_ROCKET2, DOWN
+ showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET2, 15
+ applymovement ROUTE43GATE_ROCKET2, MovementData_0x19acc7
+ opentext
writetext UnknownText_0x19acd2
- keeptextopen
+ buttonsound
checkmoney $0, 999
if_equal $0, UnknownScript_0x19ac5c
jump UnknownScript_0x19ac67
@@ -95,10 +100,10 @@
jump UnknownScript_0x19ac72
UnknownScript_0x19ac72:
- keeptextopen
- loadmovesprites
- applymovement $4, MovementData_0x19accd
- applymovement $3, MovementData_0x19acb5
+ buttonsound
+ closetext
+ applymovement ROUTE43GATE_ROCKET2, MovementData_0x19accd
+ applymovement ROUTE43GATE_ROCKET1, MovementData_0x19acb5
dotrigger $1
special RestartMapMusic
end
@@ -108,22 +113,22 @@
OfficerScript_0x19ac85:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TM36_SLUDGE_BOMB
iftrue UnknownScript_0x19ac9c
writetext UnknownText_0x19ad9b
- keeptextopen
+ buttonsound
verbosegiveitem TM_SLUDGE_BOMB
iffalse UnknownScript_0x19aca0
setevent EVENT_GOT_TM36_SLUDGE_BOMB
- loadmovesprites
+ closetext
end
UnknownScript_0x19ac9c:
writetext UnknownText_0x19ae2d
- closetext
+ waitbutton
UnknownScript_0x19aca0:
- loadmovesprites
+ closetext
end
MovementData_0x19aca2:
--- a/maps/Route43MahoganyGate.asm
+++ b/maps/Route43MahoganyGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE43MAHOGANYGATE_OFFICER
+
Route43MahoganyGate_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,18 +10,18 @@
OfficerScript_0x19ab0b:
faceplayer
- loadfont
+ opentext
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue UnknownScript_0x19ab19
writetext UnknownText_0x19ab1f
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19ab19:
writetext UnknownText_0x19ab65
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x19ab1f:
--- a/maps/Route44.asm
+++ b/maps/Route44.asm
@@ -1,3 +1,16 @@
+const_value set 2
+ const ROUTE44_FISHER1
+ const ROUTE44_FISHER2
+ const ROUTE44_YOUNGSTER1
+ const ROUTE44_SUPER_NERD
+ const ROUTE44_YOUNGSTER2
+ const ROUTE44_COOLTRAINER_M
+ const ROUTE44_COOLTRAINER_F
+ const ROUTE44_FRUIT_TREE
+ const ROUTE44_POKE_BALL1
+ const ROUTE44_POKE_BALL2
+ const ROUTE44_POKE_BALL3
+
Route44_MapScriptHeader:
.MapTriggers:
db 0
@@ -10,8 +23,8 @@
Bird_keeperVance1Script:
writecode VAR_CALLERID, PHONE_BIRDKEEPER_VANCE
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_VANCE
iftrue UnknownScript_0x19d86a
checkcellnum PHONE_BIRDKEEPER_VANCE
@@ -19,7 +32,7 @@
checkevent EVENT_VANCE_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x19d853
writetext UnknownText_0x19dbf3
- keeptextopen
+ buttonsound
setevent EVENT_VANCE_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x19d8df
jump UnknownScript_0x19d856
@@ -50,7 +63,7 @@
.LoadFight0
loadtrainer BIRD_KEEPER, VANCE1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wVanceFightCount, 1
clearflag ENGINE_VANCE
end
@@ -58,7 +71,7 @@
.LoadFight1
loadtrainer BIRD_KEEPER, VANCE2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wVanceFightCount, 2
clearflag ENGINE_VANCE
end
@@ -66,7 +79,7 @@
.LoadFight2
loadtrainer BIRD_KEEPER, VANCE3
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_VANCE
checkevent EVENT_VANCE_CARBOS
iftrue UnknownScript_0x19d8cb
@@ -82,9 +95,9 @@
end
UnknownScript_0x19d8cb:
- loadfont
+ opentext
writetext UnknownText_0x19dc67
- closetext
+ waitbutton
verbosegiveitem CARBOS
iffalse UnknownScript_0x19d903
clearevent EVENT_VANCE_CARBOS
@@ -140,11 +153,11 @@
trainer EVENT_BEAT_PSYCHIC_PHIL, PSYCHIC_T, PHIL, PsychicPhilSeenText, PsychicPhilBeatenText, 0, PsychicPhilScript
PsychicPhilScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19dcfc
+ waitbutton
closetext
- loadmovesprites
end
TrainerFisherWilton1:
@@ -152,8 +165,8 @@
FisherWilton1Script:
writecode VAR_CALLERID, PHONE_FISHER_WILTON
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_WILTON
iftrue UnknownScript_0x19d96e
checkflag ENGINE_WILTON_HAS_ITEM
@@ -163,7 +176,7 @@
checkevent EVENT_WILTON_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x19d957
writetext UnknownText_0x19daa8
- keeptextopen
+ buttonsound
setevent EVENT_WILTON_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x19d8df
jump UnknownScript_0x19d95a
@@ -194,7 +207,7 @@
.LoadFight0
loadtrainer FISHER, WILTON1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wWiltonFightCount, 1
clearflag ENGINE_WILTON
end
@@ -202,7 +215,7 @@
.LoadFight1
loadtrainer FISHER, WILTON2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wWiltonFightCount, 2
clearflag ENGINE_WILTON
end
@@ -210,7 +223,7 @@
.LoadFight2
loadtrainer FISHER, WILTON3
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_WILTON
end
@@ -246,11 +259,11 @@
trainer EVENT_BEAT_FISHER_EDGAR, FISHER, EDGAR, FisherEdgarSeenText, FisherEdgarBeatenText, 0, FisherEdgarScript
FisherEdgarScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19db6f
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfCybil:
@@ -257,11 +270,11 @@
trainer EVENT_BEAT_COOLTRAINERF_CYBIL, COOLTRAINERF, CYBIL, CooltrainerfCybilSeenText, CooltrainerfCybilBeatenText, 0, CooltrainerfCybilScript
CooltrainerfCybilScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19df4d
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokemaniacZach:
@@ -268,11 +281,11 @@
trainer EVENT_BEAT_POKEMANIAC_ZACH, POKEMANIAC, ZACH, PokemaniacZachSeenText, PokemaniacZachBeatenText, 0, PokemaniacZachScript
PokemaniacZachScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19dd7e
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainermAllen:
@@ -279,11 +292,11 @@
trainer EVENT_BEAT_COOLTRAINERM_ALLEN, COOLTRAINERM, ALLEN, CooltrainermAllenSeenText, CooltrainermAllenBeatenText, 0, CooltrainermAllenScript
CooltrainermAllenScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19de66
+ waitbutton
closetext
- loadmovesprites
end
MapRoute44Signpost0Script:
@@ -295,16 +308,16 @@
FruitTreeScript_0x19da40:
fruittree FRUITTREE_ROUTE_44
-ItemFragment_0x19da42:
- db MAX_REVIVE, 1
+Route44MaxRevive:
+ itemball MAX_REVIVE
-ItemFragment_0x19da44:
- db ULTRA_BALL, 1
+Route44UltraBall:
+ itemball ULTRA_BALL
-ItemFragment_0x19da46:
- db MAX_REPEL, 1
+Route44MaxRepel:
+ itemball MAX_REPEL
-MapRoute44SignpostItem2:
+Route44HiddenElixer:
dwb EVENT_ROUTE_44_HIDDEN_ELIXER, ELIXER
@@ -509,7 +522,7 @@
db 3
signpost 7, 53, SIGNPOST_READ, MapRoute44Signpost0Script
signpost 10, 6, SIGNPOST_READ, MapRoute44Signpost1Script
- signpost 9, 32, SIGNPOST_ITEM, MapRoute44SignpostItem2
+ signpost 9, 32, SIGNPOST_ITEM, Route44HiddenElixer
.PersonEvents:
db 11
@@ -521,6 +534,6 @@
person_event SPRITE_COOLTRAINER_M, 15, 41, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 5, TrainerCooltrainermAllen, -1
person_event SPRITE_COOLTRAINER_F, 14, 31, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 5, TrainerCooltrainerfCybil, -1
person_event SPRITE_FRUIT_TREE, 5, 9, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x19da40, -1
- person_event SPRITE_POKE_BALL, 8, 30, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x19da42, EVENT_ROUTE_44_MAX_REVIVE
- person_event SPRITE_POKE_BALL, 4, 45, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x19da44, EVENT_ROUTE_44_ULTRA_BALL
- person_event SPRITE_POKE_BALL, 9, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x19da46, EVENT_ROUTE_44_MAX_REPEL
+ person_event SPRITE_POKE_BALL, 8, 30, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route44MaxRevive, EVENT_ROUTE_44_MAX_REVIVE
+ person_event SPRITE_POKE_BALL, 4, 45, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route44UltraBall, EVENT_ROUTE_44_ULTRA_BALL
+ person_event SPRITE_POKE_BALL, 9, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route44MaxRepel, EVENT_ROUTE_44_MAX_REPEL
--- a/maps/Route45.asm
+++ b/maps/Route45.asm
@@ -1,3 +1,18 @@
+const_value set 2
+ const ROUTE45_POKEFAN_M1
+ const ROUTE45_POKEFAN_M2
+ const ROUTE45_POKEFAN_M3
+ const ROUTE45_POKEFAN_M4
+ const ROUTE45_BLACK_BELT
+ const ROUTE45_COOLTRAINER_M
+ const ROUTE45_COOLTRAINER_F
+ const ROUTE45_FRUIT_TREE
+ const ROUTE45_POKE_BALL1
+ const ROUTE45_POKE_BALL2
+ const ROUTE45_POKE_BALL3
+ const ROUTE45_POKE_BALL4
+ const ROUTE45_YOUNGSTER
+
Route45_MapScriptHeader:
.MapTriggers:
db 0
@@ -10,8 +25,8 @@
BlackbeltKenji3Script:
writecode VAR_CALLERID, PHONE_BLACKBELT_KENJI
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkcellnum PHONE_BLACKBELT_KENJI
iftrue UnknownScript_0x19e0e4
checkevent EVENT_KENJI_ASKED_FOR_PHONE_NUMBER
@@ -18,7 +33,7 @@
iftrue UnknownScript_0x19e0cd
special Special_SampleKenjiBreakCountdown
writetext UnknownText_0x19e5e2
- closetext
+ waitbutton
setevent EVENT_KENJI_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x19e11b
jump UnknownScript_0x19e0d0
@@ -51,14 +66,14 @@
UnknownScript_0x19e10c:
writetext UnknownText_0x19e634
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19e112:
writetext UnknownText_0x19e66c
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19e118:
@@ -113,11 +128,11 @@
trainer EVENT_BEAT_HIKER_ERIK, HIKER, ERIK, HikerErikSeenText, HikerErikBeatenText, 0, HikerErikScript
HikerErikScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19e301
+ waitbutton
closetext
- loadmovesprites
end
TrainerHikerMichael:
@@ -124,11 +139,11 @@
trainer EVENT_BEAT_HIKER_MICHAEL, HIKER, MICHAEL, HikerMichaelSeenText, HikerMichaelBeatenText, 0, HikerMichaelScript
HikerMichaelScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19e3b1
+ waitbutton
closetext
- loadmovesprites
end
TrainerHikerParry:
@@ -136,8 +151,8 @@
HikerParry3Script:
writecode VAR_CALLERID, PHONE_HIKER_PARRY
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_PARRY
iftrue UnknownScript_0x19e1b8
checkcellnum PHONE_HIKER_PARRY
@@ -145,7 +160,7 @@
checkevent EVENT_PARRY_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x19e1a1
writetext UnknownText_0x19e434
- keeptextopen
+ buttonsound
setevent EVENT_PARRY_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x19e11b
jump UnknownScript_0x19e1a4
@@ -176,7 +191,7 @@
.LoadFight0
loadtrainer HIKER, PARRY3
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wParryFightCount, 1
clearflag ENGINE_PARRY
end
@@ -184,7 +199,7 @@
.LoadFight1
loadtrainer HIKER, PARRY1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wParryFightCount, 2
clearflag ENGINE_PARRY
end
@@ -192,7 +207,7 @@
.LoadFight2
loadtrainer HIKER, PARRY2
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_PARRY
checkevent EVENT_PARRY_IRON
iftrue UnknownScript_0x19e219
@@ -208,9 +223,9 @@
end
UnknownScript_0x19e219:
- loadfont
+ opentext
writetext UnknownText_0x19e52c
- closetext
+ waitbutton
verbosegiveitem IRON
iffalse UnknownScript_0x19e13f
clearevent EVENT_PARRY_IRON
@@ -221,11 +236,11 @@
trainer EVENT_BEAT_HIKER_TIMOTHY, HIKER, TIMOTHY, HikerTimothySeenText, HikerTimothyBeatenText, 0, HikerTimothyScript
HikerTimothyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19e4f1
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainermRyan:
@@ -232,11 +247,11 @@
trainer EVENT_BEAT_COOLTRAINERM_RYAN, COOLTRAINERM, RYAN, CooltrainermRyanSeenText, CooltrainermRyanBeatenText, 0, CooltrainermRyanScript
CooltrainermRyanScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19e70d
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfKelly:
@@ -243,39 +258,39 @@
trainer EVENT_BEAT_COOLTRAINERF_KELLY, COOLTRAINERF, KELLY, CooltrainerfKellySeenText, CooltrainerfKellyBeatenText, 0, CooltrainerfKellyScript
CooltrainerfKellyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19e7d1
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x19e269:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_CAMPER_QUENTIN
iftrue UnknownScript_0x19e285
writetext UnknownText_0x19e87f
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x19e899, 0
loadtrainer CAMPER, QUENTIN
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_CAMPER_QUENTIN
- loadmovesprites
+ closetext
end
UnknownScript_0x19e285:
writetext UnknownText_0x19e8bb
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19e28b:
writetext UnknownText_0x19e830
+ waitbutton
closetext
- loadmovesprites
end
MapRoute45Signpost0Script:
@@ -284,19 +299,19 @@
FruitTreeScript_0x19e294:
fruittree FRUITTREE_ROUTE_45
-ItemFragment_0x19e296:
- db NUGGET, 1
+Route45Nugget:
+ itemball NUGGET
-ItemFragment_0x19e298:
- db REVIVE, 1
+Route45Revive:
+ itemball REVIVE
-ItemFragment_0x19e29a:
- db ELIXER, 1
+Route45Elixer:
+ itemball ELIXER
-ItemFragment_0x19e29c:
- db MAX_POTION, 1
+Route45MaxPotion:
+ itemball MAX_POTION
-MapRoute45SignpostItem1:
+Route45HiddenPpUp:
dwb EVENT_ROUTE_45_HIDDEN_PP_UP, PP_UP
@@ -531,7 +546,7 @@
.Signposts:
db 2
signpost 4, 10, SIGNPOST_READ, MapRoute45Signpost0Script
- signpost 80, 13, SIGNPOST_ITEM, MapRoute45SignpostItem1
+ signpost 80, 13, SIGNPOST_ITEM, Route45HiddenPpUp
.PersonEvents:
db 13
@@ -543,8 +558,8 @@
person_event SPRITE_COOLTRAINER_M, 18, 17, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 1, TrainerCooltrainermRyan, -1
person_event SPRITE_COOLTRAINER_F, 36, 5, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 3, TrainerCooltrainerfKelly, -1
person_event SPRITE_FRUIT_TREE, 82, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x19e294, -1
- person_event SPRITE_POKE_BALL, 51, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x19e296, EVENT_ROUTE_45_NUGGET
- person_event SPRITE_POKE_BALL, 66, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x19e298, EVENT_ROUTE_45_REVIVE
- person_event SPRITE_POKE_BALL, 20, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x19e29a, EVENT_ROUTE_45_ELIXER
- person_event SPRITE_POKE_BALL, 33, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x19e29c, EVENT_ROUTE_45_MAX_POTION
+ person_event SPRITE_POKE_BALL, 51, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route45Nugget, EVENT_ROUTE_45_NUGGET
+ person_event SPRITE_POKE_BALL, 66, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route45Revive, EVENT_ROUTE_45_REVIVE
+ person_event SPRITE_POKE_BALL, 20, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route45Elixer, EVENT_ROUTE_45_ELIXER
+ person_event SPRITE_POKE_BALL, 33, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route45MaxPotion, EVENT_ROUTE_45_MAX_POTION
person_event SPRITE_YOUNGSTER, 70, 4, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x19e269, -1
--- a/maps/Route46.asm
+++ b/maps/Route46.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const ROUTE46_POKEFAN_M
+ const ROUTE46_YOUNGSTER
+ const ROUTE46_LASS
+ const ROUTE46_FRUIT_TREE1
+ const ROUTE46_FRUIT_TREE2
+ const ROUTE46_POKE_BALL
+
Route46_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +17,11 @@
trainer EVENT_BEAT_CAMPER_TED, CAMPER, TED, CamperTedSeenText, CamperTedBeatenText, 0, CamperTedScript
CamperTedScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a9851
+ waitbutton
closetext
- loadmovesprites
end
TrainerPicnickerErin1:
@@ -21,8 +29,8 @@
PicnickerErin1Script:
writecode VAR_CALLERID, PHONE_PICNICKER_ERIN
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
checkflag ENGINE_ERIN
iftrue UnknownScript_0x1a96da
checkcellnum PHONE_PICNICKER_ERIN
@@ -30,7 +38,7 @@
checkevent EVENT_ERIN_ASKED_FOR_PHONE_NUMBER
iftrue UnknownScript_0x1a96c3
writetext UnknownText_0x1a98c6
- keeptextopen
+ buttonsound
setevent EVENT_ERIN_ASKED_FOR_PHONE_NUMBER
scall UnknownScript_0x1a974f
jump UnknownScript_0x1a96c6
@@ -61,7 +69,7 @@
.LoadFight0
loadtrainer PICNICKER, ERIN1
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wErinFightCount, 1
clearflag ENGINE_ERIN
end
@@ -69,7 +77,7 @@
.LoadFight1
loadtrainer PICNICKER, ERIN2
startbattle
- returnafterbattle
+ reloadmapafterbattle
loadvar wErinFightCount, 2
clearflag ENGINE_ERIN
end
@@ -77,7 +85,7 @@
.LoadFight2
loadtrainer PICNICKER, ERIN3
startbattle
- returnafterbattle
+ reloadmapafterbattle
clearflag ENGINE_ERIN
checkevent EVENT_ERIN_CALCIUM
iftrue UnknownScript_0x1a973b
@@ -93,9 +101,9 @@
end
UnknownScript_0x1a973b:
- loadfont
+ opentext
writetext UnknownText_0x1a9927
- closetext
+ waitbutton
verbosegiveitem CALCIUM
iffalse UnknownScript_0x1a976b
clearevent EVENT_ERIN_CALCIUM
@@ -143,18 +151,18 @@
trainer EVENT_BEAT_HIKER_BAILEY, HIKER, BAILEY, HikerBaileySeenText, HikerBaileyBeatenText, 0, HikerBaileyScript
HikerBaileyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1a97e8
+ waitbutton
closetext
- loadmovesprites
end
MapRoute46Signpost0Script:
jumptext UnknownText_0x1a99be
-ItemFragment_0x1a978d:
- db X_SPEED, 1
+Route46XSpeed:
+ itemball X_SPEED
FruitTreeScript_0x1a978f:
fruittree FRUITTREE_ROUTE_46_1
@@ -266,4 +274,4 @@
person_event SPRITE_LASS, 13, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_TRAINER, 2, TrainerPicnickerErin1, -1
person_event SPRITE_FRUIT_TREE, 5, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x1a978f, -1
person_event SPRITE_FRUIT_TREE, 6, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x1a9791, -1
- person_event SPRITE_POKE_BALL, 15, 1, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1a978d, EVENT_ROUTE_46_X_SPEED
+ person_event SPRITE_POKE_BALL, 15, 1, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, Route46XSpeed, EVENT_ROUTE_46_X_SPEED
--- a/maps/Route5.asm
+++ b/maps/Route5.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE5_POKEFAN_M
+
Route5_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route5CleanseTagSpeechHouse.asm
+++ b/maps/Route5CleanseTagSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const ROUTE5CLEANSETAGSPEECHHOUSE_GRANNY
+ const ROUTE5CLEANSETAGSPEECHHOUSE_TEACHER
+
Route5CleanseTagSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,19 +11,19 @@
GrannyScript_0x18b634:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_CLEANSE_TAG
iftrue UnknownScript_0x18b649
writetext UnknownText_0x18b655
- keeptextopen
+ buttonsound
verbosegiveitem CLEANSE_TAG
iffalse UnknownScript_0x18b64d
setevent EVENT_GOT_CLEANSE_TAG
UnknownScript_0x18b649:
writetext UnknownText_0x18b6a7
- closetext
+ waitbutton
UnknownScript_0x18b64d:
- loadmovesprites
+ closetext
end
TeacherScript_0x18b64f:
--- a/maps/Route5SaffronCityGate.asm
+++ b/maps/Route5SaffronCityGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE5SAFFRONCITYGATE_OFFICER
+
Route5SaffronCityGate_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route5UndergroundEntrance.asm
+++ b/maps/Route5UndergroundEntrance.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE5UNDERGROUNDENTRANCE_TEACHER
+
Route5UndergroundEntrance_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route6.asm
+++ b/maps/Route6.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const ROUTE6_POKEFAN_M1
+ const ROUTE6_POKEFAN_M2
+ const ROUTE6_POKEFAN_M3
+
Route6_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +14,11 @@
trainer EVENT_BEAT_POKEFANM_REX, POKEFANM, REX, PokefanmRexSeenText, PokefanmRexBeatenText, 0, PokefanmRexScript
PokefanmRexScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ad9ff
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokefanmAllan:
@@ -20,11 +25,11 @@
trainer EVENT_BEAT_POKEFANM_ALLAN, POKEFANM, ALLAN, PokefanmAllanSeenText, PokefanmAllanBeatenText, 0, PokefanmAllanScript
PokefanmAllanScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ada88
+ waitbutton
closetext
- loadmovesprites
end
PokefanMScript_0x1ad951:
--- a/maps/Route6SaffronGate.asm
+++ b/maps/Route6SaffronGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE6SAFFRONGATE_OFFICER
+
Route6SaffronGate_MapScriptHeader:
.MapTriggers:
db 1
@@ -13,18 +16,18 @@
OfficerScript_0x1926ea:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x1926f8
writetext UnknownText_0x1926fe
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x1926f8:
writetext UnknownText_0x1927cb
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x1926fe:
--- a/maps/Route6UndergroundEntrance.asm
+++ b/maps/Route6UndergroundEntrance.asm
@@ -1,3 +1,4 @@
+
Route6UndergroundEntrance_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route7.asm
+++ b/maps/Route7.asm
@@ -1,3 +1,4 @@
+
Route7_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route7SaffronGate.asm
+++ b/maps/Route7SaffronGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE7SAFFRONGATE_OFFICER
+
Route7SaffronGate_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,18 +10,18 @@
OfficerScript_0x73518:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x73526
writetext UnknownText_0x7352c
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x73526:
writetext UnknownText_0x73592
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x7352c:
--- a/maps/Route8.asm
+++ b/maps/Route8.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const ROUTE8_BIKER1
+ const ROUTE8_BIKER2
+ const ROUTE8_BIKER3
+ const ROUTE8_SUPER_NERD1
+ const ROUTE8_SUPER_NERD2
+ const ROUTE8_FRUIT_TREE
+
Route8_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +17,11 @@
trainer EVENT_BEAT_BIKER_DWAYNE, BIKER, DWAYNE, BikerDwayneSeenText, BikerDwayneBeatenText, 0, BikerDwayneScript
BikerDwayneScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6c0c8
+ waitbutton
closetext
- loadmovesprites
end
TrainerBikerHarris:
@@ -20,11 +28,11 @@
trainer EVENT_BEAT_BIKER_HARRIS, BIKER, HARRIS, BikerHarrisSeenText, BikerHarrisBeatenText, 0, BikerHarrisScript
BikerHarrisScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6c143
+ waitbutton
closetext
- loadmovesprites
end
TrainerBikerZeke:
@@ -31,11 +39,11 @@
trainer EVENT_BEAT_BIKER_ZEKE, BIKER, ZEKE, BikerZekeSeenText, BikerZekeBeatenText, 0, BikerZekeScript
BikerZekeScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6c1a3
+ waitbutton
closetext
- loadmovesprites
end
TrainerSupernerdSam:
@@ -42,11 +50,11 @@
trainer EVENT_BEAT_SUPER_NERD_SAM, SUPER_NERD, SAM, SupernerdSamSeenText, SupernerdSamBeatenText, 0, SupernerdSamScript
SupernerdSamScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6c219
+ waitbutton
closetext
- loadmovesprites
end
TrainerSupernerdTom:
@@ -53,11 +61,11 @@
trainer EVENT_BEAT_SUPER_NERD_TOM, SUPER_NERD, TOM, SupernerdTomSeenText, SupernerdTomBeatenText, 0, SupernerdTomScript
SupernerdTomScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6c27e
+ waitbutton
closetext
- loadmovesprites
end
MapRoute8Signpost1Script:
--- a/maps/Route8SaffronGate.asm
+++ b/maps/Route8SaffronGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const ROUTE8SAFFRONGATE_OFFICER
+
Route8SaffronGate_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/Route9.asm
+++ b/maps/Route9.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const ROUTE9_YOUNGSTER1
+ const ROUTE9_LASS1
+ const ROUTE9_YOUNGSTER2
+ const ROUTE9_LASS2
+ const ROUTE9_POKEFAN_M1
+ const ROUTE9_POKEFAN_M2
+
Route9_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +17,11 @@
trainer EVENT_BEAT_CAMPER_DEAN, CAMPER, DEAN, CamperDeanSeenText, CamperDeanBeatenText, 0, CamperDeanScript
CamperDeanScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1aafd9
+ waitbutton
closetext
- loadmovesprites
end
TrainerPicnickerHeidi:
@@ -20,11 +28,11 @@
trainer EVENT_BEAT_PICNICKER_HEIDI, PICNICKER, HEIDI, PicnickerHeidiSeenText, PicnickerHeidiBeatenText, 0, PicnickerHeidiScript
PicnickerHeidiScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ab07c
+ waitbutton
closetext
- loadmovesprites
end
TrainerCamperSid:
@@ -31,11 +39,11 @@
trainer EVENT_BEAT_CAMPER_SID, CAMPER, SID, CamperSidSeenText, CamperSidBeatenText, 0, CamperSidScript
CamperSidScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ab0f6
+ waitbutton
closetext
- loadmovesprites
end
TrainerPicnickerEdna:
@@ -42,11 +50,11 @@
trainer EVENT_BEAT_PICNICKER_EDNA, PICNICKER, EDNA, PicnickerEdnaSeenText, PicnickerEdnaBeatenText, 0, PicnickerEdnaScript
PicnickerEdnaScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ab15f
+ waitbutton
closetext
- loadmovesprites
end
TrainerHikerTim:
@@ -53,11 +61,11 @@
trainer EVENT_BEAT_HIKER_TIM, HIKER, TIM, HikerTimSeenText, HikerTimBeatenText, 0, HikerTimScript
HikerTimScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ab210
+ waitbutton
closetext
- loadmovesprites
end
TrainerHikerSidney:
@@ -64,17 +72,17 @@
trainer EVENT_BEAT_HIKER_SIDNEY, HIKER, SIDNEY, HikerSidneySeenText, HikerSidneyBeatenText, 0, HikerSidneyScript
HikerSidneyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1ab278
+ waitbutton
closetext
- loadmovesprites
end
MapRoute9Signpost0Script:
jumptext UnknownText_0x1ab2a2
-MapRoute9SignpostItem1:
+Route9HiddenEther:
dwb EVENT_ROUTE_9_HIDDEN_ETHER, ETHER
@@ -212,7 +220,7 @@
.Signposts:
db 2
signpost 7, 15, SIGNPOST_READ, MapRoute9Signpost0Script
- signpost 15, 41, SIGNPOST_ITEM, MapRoute9SignpostItem1
+ signpost 15, 41, SIGNPOST_ITEM, Route9HiddenEther
.PersonEvents:
db 6
--- a/maps/RuinsofAlphAerodactylChamber.asm
+++ b/maps/RuinsofAlphAerodactylChamber.asm
@@ -1,3 +1,4 @@
+
RuinsofAlphAerodactylChamber_MapScriptHeader:
.MapTriggers:
db 2
@@ -49,7 +50,7 @@
reloadmappart
earthquake 50
dotrigger $1
- loadmovesprites
+ closetext
end
MapRuinsofAlphAerodactylChamberSignpost2Script:
@@ -56,7 +57,7 @@
refreshscreen $0
writebyte $2
special Special_UnownPuzzle
- loadmovesprites
+ closetext
iftrue UnknownScript_0x58df7
end
@@ -74,7 +75,7 @@
earthquake 80
applymovement PLAYER, MovementData_0x58e4d
playsound SFX_KINESIS
- waitbutton
+ waitsfx
pause 20
warpcheck
end
@@ -86,28 +87,28 @@
jumptext UnknownText_0x58ee7
MapRuinsofAlphAerodactylChamberSignpost4Script:
- loadfont
+ opentext
writetext UnknownText_0x58e4f
writebyte $1
special Special_DisplayUnownWords
- loadmovesprites
+ closetext
end
MapRuinsofAlphAerodactylChamberSignpost5Script:
checkevent EVENT_WALL_OPENED_IN_AERODACTYL_CHAMBER
iftrue UnknownScript_0x58e46
- loadfont
+ opentext
writetext UnknownText_0x58e81
writebyte $1
special Special_DisplayUnownWords
- loadmovesprites
+ closetext
end
UnknownScript_0x58e46:
- loadfont
+ opentext
writetext UnknownText_0x58ea2
+ waitbutton
closetext
- loadmovesprites
end
MovementData_0x58e4d:
--- a/maps/RuinsofAlphAerodactylItemRoom.asm
+++ b/maps/RuinsofAlphAerodactylItemRoom.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const RUINSOFALPHAERODACTYLITEMROOM_POKE_BALL1
+ const RUINSOFALPHAERODACTYLITEMROOM_POKE_BALL2
+ const RUINSOFALPHAERODACTYLITEMROOM_POKE_BALL3
+ const RUINSOFALPHAERODACTYLITEMROOM_POKE_BALL4
+
RuinsofAlphAerodactylItemRoom_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,17 +11,17 @@
.MapCallbacks:
db 0
-ItemFragment_0x59ab6:
- db GOLD_BERRY, 1
+RuinsofAlphAerodactylItemRoomGoldBerry:
+ itemball GOLD_BERRY
-ItemFragment_0x59ab8:
- db MOON_STONE, 1
+RuinsofAlphAerodactylItemRoomMoonStone:
+ itemball MOON_STONE
-ItemFragment_0x59aba:
- db HEAL_POWDER, 1
+RuinsofAlphAerodactylItemRoomHealPowder:
+ itemball HEAL_POWDER
-ItemFragment_0x59abc:
- db ENERGY_ROOT, 1
+RuinsofAlphAerodactylItemRoomEnergyRoot:
+ itemball ENERGY_ROOT
MapRuinsofAlphAerodactylItemRoomSignpost1Script:
jumptext UnknownText_0x59ac1
@@ -47,7 +53,7 @@
.PersonEvents:
db 4
- person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x59ab6, EVENT_PICKED_UP_GOLD_BERRY_FROM_AERODACTYL_ITEM_ROOM
- person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x59ab8, EVENT_PICKED_UP_MOON_STONE_FROM_AERODACTYL_ITEM_ROOM
- person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x59aba, EVENT_PICKED_UP_HEAL_POWDER_FROM_AERODACTYL_ITEM_ROOM
- person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x59abc, EVENT_PICKED_UP_ENERGY_ROOT_FROM_AERODACTYL_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphAerodactylItemRoomGoldBerry, EVENT_PICKED_UP_GOLD_BERRY_FROM_AERODACTYL_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphAerodactylItemRoomMoonStone, EVENT_PICKED_UP_MOON_STONE_FROM_AERODACTYL_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphAerodactylItemRoomHealPowder, EVENT_PICKED_UP_HEAL_POWDER_FROM_AERODACTYL_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphAerodactylItemRoomEnergyRoot, EVENT_PICKED_UP_ENERGY_ROOT_FROM_AERODACTYL_ITEM_ROOM
--- a/maps/RuinsofAlphAerodactylWordRoom.asm
+++ b/maps/RuinsofAlphAerodactylWordRoom.asm
@@ -1,3 +1,4 @@
+
RuinsofAlphAerodactylWordRoom_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/RuinsofAlphHoOhChamber.asm
+++ b/maps/RuinsofAlphHoOhChamber.asm
@@ -1,3 +1,4 @@
+
RuinsofAlphHoOhChamber_MapScriptHeader:
.MapTriggers:
db 2
@@ -50,7 +51,7 @@
reloadmappart
earthquake 50
dotrigger $1
- loadmovesprites
+ closetext
end
MapRuinsofAlphHoOhChamberSignpost2Script:
@@ -57,7 +58,7 @@
refreshscreen $0
writebyte $3
special Special_UnownPuzzle
- loadmovesprites
+ closetext
iftrue UnknownScript_0x585ba
end
@@ -75,7 +76,7 @@
earthquake 80
applymovement PLAYER, MovementData_0x58610
playsound SFX_KINESIS
- waitbutton
+ waitsfx
pause 20
warpcheck
end
@@ -87,28 +88,28 @@
jumptext UnknownText_0x586aa
MapRuinsofAlphHoOhChamberSignpost4Script:
- loadfont
+ opentext
writetext UnknownText_0x58612
writebyte $3
special Special_DisplayUnownWords
- loadmovesprites
+ closetext
end
MapRuinsofAlphHoOhChamberSignpost5Script:
checkevent EVENT_WALL_OPENED_IN_HO_OH_CHAMBER
iftrue UnknownScript_0x58609
- loadfont
+ opentext
writetext UnknownText_0x58644
writebyte $3
special Special_DisplayUnownWords
- loadmovesprites
+ closetext
end
UnknownScript_0x58609:
- loadfont
+ opentext
writetext UnknownText_0x58665
+ waitbutton
closetext
- loadmovesprites
end
MovementData_0x58610:
--- a/maps/RuinsofAlphHoOhItemRoom.asm
+++ b/maps/RuinsofAlphHoOhItemRoom.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const RUINSOFALPHHOOHITEMROOM_POKE_BALL1
+ const RUINSOFALPHHOOHITEMROOM_POKE_BALL2
+ const RUINSOFALPHHOOHITEMROOM_POKE_BALL3
+ const RUINSOFALPHHOOHITEMROOM_POKE_BALL4
+
RuinsofAlphHoOhItemRoom_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,17 +11,17 @@
.MapCallbacks:
db 0
-ItemFragment_0x59918:
- db GOLD_BERRY, 1
+RuinsofAlphHoOhItemRoomGoldBerry:
+ itemball GOLD_BERRY
-ItemFragment_0x5991a:
- db MYSTERYBERRY, 1
+RuinsofAlphHoOhItemRoomMysteryberry:
+ itemball MYSTERYBERRY
-ItemFragment_0x5991c:
- db REVIVAL_HERB, 1
+RuinsofAlphHoOhItemRoomRevivalHerb:
+ itemball REVIVAL_HERB
-ItemFragment_0x5991e:
- db CHARCOAL, 1
+RuinsofAlphHoOhItemRoomCharcoal:
+ itemball CHARCOAL
MapRuinsofAlphHoOhItemRoomSignpost1Script:
jumptext UnknownText_0x59923
@@ -47,7 +53,7 @@
.PersonEvents:
db 4
- person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x59918, EVENT_PICKED_UP_GOLD_BERRY_FROM_HO_OH_ITEM_ROOM
- person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x5991a, EVENT_PICKED_UP_MYSTERYBERRY_FROM_HO_OH_ITEM_ROOM
- person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x5991c, EVENT_PICKED_UP_REVIVAL_HERB_FROM_HO_OH_ITEM_ROOM
- person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x5991e, EVENT_PICKED_UP_CHARCOAL_FROM_HO_OH_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphHoOhItemRoomGoldBerry, EVENT_PICKED_UP_GOLD_BERRY_FROM_HO_OH_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphHoOhItemRoomMysteryberry, EVENT_PICKED_UP_MYSTERYBERRY_FROM_HO_OH_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphHoOhItemRoomRevivalHerb, EVENT_PICKED_UP_REVIVAL_HERB_FROM_HO_OH_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphHoOhItemRoomCharcoal, EVENT_PICKED_UP_CHARCOAL_FROM_HO_OH_ITEM_ROOM
--- a/maps/RuinsofAlphHoOhWordRoom.asm
+++ b/maps/RuinsofAlphHoOhWordRoom.asm
@@ -1,3 +1,4 @@
+
RuinsofAlphHoOhWordRoom_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/RuinsofAlphInnerChamber.asm
+++ b/maps/RuinsofAlphInnerChamber.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const RUINSOFALPHINNERCHAMBER_FISHER
+ const RUINSOFALPHINNERCHAMBER_TEACHER
+ const RUINSOFALPHINNERCHAMBER_GRAMPS
+
RuinsofAlphInnerChamber_MapScriptHeader:
.MapTriggers:
db 2
@@ -19,10 +24,10 @@
end
UnknownScript_0x58f6e:
- loadfont
+ opentext
writetext UnknownText_0x58f89
+ waitbutton
closetext
- loadmovesprites
dotrigger $0
setevent EVENT_MADE_UNOWN_APPEAR_IN_RUINS
clearevent EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_FISHER
--- a/maps/RuinsofAlphKabutoChamber.asm
+++ b/maps/RuinsofAlphKabutoChamber.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const RUINSOFALPHKABUTOCHAMBER_RECEPTIONIST
+ const RUINSOFALPHKABUTOCHAMBER_SCIENTIST
+
RuinsofAlphKabutoChamber_MapScriptHeader:
.MapTriggers:
db 2
@@ -51,7 +55,7 @@
reloadmappart
earthquake 50
dotrigger $1
- loadmovesprites
+ closetext
end
ReceptionistScript_0x58769:
@@ -61,7 +65,7 @@
refreshscreen $0
writebyte $0
special Special_UnownPuzzle
- loadmovesprites
+ closetext
iftrue UnknownScript_0x58778
end
@@ -80,7 +84,7 @@
earthquake 80
applymovement PLAYER, MovementData_0x587fe
playsound SFX_KINESIS
- waitbutton
+ waitsfx
pause 20
warpcheck
end
@@ -87,7 +91,7 @@
ScientistScript_0x587a8:
faceplayer
- loadfont
+ opentext
checkcode VAR_UNOWNCOUNT
if_equal 26, UnknownScript_0x587cf
checkevent EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
@@ -95,24 +99,24 @@
checkevent EVENT_SOLVED_KABUTO_PUZZLE
iffalse UnknownScript_0x587c0
writetext UnknownText_0x589b8
- keeptextopen
+ buttonsound
UnknownScript_0x587c0:
writetext UnknownText_0x588f5
+ waitbutton
closetext
- loadmovesprites
- spriteface $3, UP
+ spriteface RUINSOFALPHKABUTOCHAMBER_SCIENTIST, UP
end
UnknownScript_0x587c9:
writetext UnknownText_0x5897c
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x587cf:
writetext UnknownText_0x594cb
+ waitbutton
closetext
- loadmovesprites
end
MapRuinsofAlphKabutoChamberSignpost1Script:
@@ -122,28 +126,28 @@
jumptext UnknownText_0x58b3f
MapRuinsofAlphKabutoChamberSignpost4Script:
- loadfont
+ opentext
writetext UnknownText_0x58aa7
writebyte $0
special Special_DisplayUnownWords
- loadmovesprites
+ closetext
end
MapRuinsofAlphKabutoChamberSignpost5Script:
checkevent EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
iftrue UnknownScript_0x587f7
- loadfont
+ opentext
writetext UnknownText_0x58ad9
writebyte $0
special Special_DisplayUnownWords
- loadmovesprites
+ closetext
end
UnknownScript_0x587f7:
- loadfont
+ opentext
writetext UnknownText_0x58afa
+ waitbutton
closetext
- loadmovesprites
end
MovementData_0x587fe:
--- a/maps/RuinsofAlphKabutoItemRoom.asm
+++ b/maps/RuinsofAlphKabutoItemRoom.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const RUINSOFALPHKABUTOITEMROOM_POKE_BALL1
+ const RUINSOFALPHKABUTOITEMROOM_POKE_BALL2
+ const RUINSOFALPHKABUTOITEMROOM_POKE_BALL3
+ const RUINSOFALPHKABUTOITEMROOM_POKE_BALL4
+
RuinsofAlphKabutoItemRoom_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,17 +11,17 @@
.MapCallbacks:
db 0
-ItemFragment_0x599a2:
- db BERRY, 1
+RuinsofAlphKabutoItemRoomBerry:
+ itemball BERRY
-ItemFragment_0x599a4:
- db PSNCUREBERRY, 1
+RuinsofAlphKabutoItemRoomPsncureberry:
+ itemball PSNCUREBERRY
-ItemFragment_0x599a6:
- db HEAL_POWDER, 1
+RuinsofAlphKabutoItemRoomHealPowder:
+ itemball HEAL_POWDER
-ItemFragment_0x599a8:
- db ENERGYPOWDER, 1
+RuinsofAlphKabutoItemRoomEnergypowder:
+ itemball ENERGYPOWDER
MapRuinsofAlphKabutoItemRoomSignpost1Script:
jumptext UnknownText_0x599ad
@@ -47,7 +53,7 @@
.PersonEvents:
db 4
- person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x599a2, EVENT_PICKED_UP_BERRY_FROM_KABUTO_ITEM_ROOM
- person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x599a4, EVENT_PICKED_UP_PSNCUREBERRY_FROM_KABUTO_ITEM_ROOM
- person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x599a6, EVENT_PICKED_UP_HEAL_POWDER_FROM_KABUTO_ITEM_ROOM
- person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x599a8, EVENT_PICKED_UP_ENERGYPOWDER_FROM_KABUTO_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphKabutoItemRoomBerry, EVENT_PICKED_UP_BERRY_FROM_KABUTO_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphKabutoItemRoomPsncureberry, EVENT_PICKED_UP_PSNCUREBERRY_FROM_KABUTO_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphKabutoItemRoomHealPowder, EVENT_PICKED_UP_HEAL_POWDER_FROM_KABUTO_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphKabutoItemRoomEnergypowder, EVENT_PICKED_UP_ENERGYPOWDER_FROM_KABUTO_ITEM_ROOM
--- a/maps/RuinsofAlphKabutoWordRoom.asm
+++ b/maps/RuinsofAlphKabutoWordRoom.asm
@@ -1,3 +1,4 @@
+
RuinsofAlphKabutoWordRoom_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/RuinsofAlphOmanyteChamber.asm
+++ b/maps/RuinsofAlphOmanyteChamber.asm
@@ -1,3 +1,4 @@
+
RuinsofAlphOmanyteChamber_MapScriptHeader:
.MapTriggers:
db 2
@@ -50,7 +51,7 @@
reloadmappart
earthquake 50
dotrigger $1
- loadmovesprites
+ closetext
end
MapRuinsofAlphOmanyteChamberSignpost2Script:
@@ -57,7 +58,7 @@
refreshscreen $0
writebyte $1
special Special_UnownPuzzle
- loadmovesprites
+ closetext
iftrue UnknownScript_0x58c36
end
@@ -75,7 +76,7 @@
earthquake 80
applymovement PLAYER, MovementData_0x58c8c
playsound SFX_KINESIS
- waitbutton
+ waitsfx
pause 20
warpcheck
end
@@ -87,28 +88,28 @@
jumptext UnknownText_0x58d26
MapRuinsofAlphOmanyteChamberSignpost4Script:
- loadfont
+ opentext
writetext UnknownText_0x58c8e
writebyte $2
special Special_DisplayUnownWords
- loadmovesprites
+ closetext
end
MapRuinsofAlphOmanyteChamberSignpost5Script:
checkevent EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
iftrue UnknownScript_0x58c85
- loadfont
+ opentext
writetext UnknownText_0x58cc0
writebyte $2
special Special_DisplayUnownWords
- loadmovesprites
+ closetext
end
UnknownScript_0x58c85:
- loadfont
+ opentext
writetext UnknownText_0x58ce1
+ waitbutton
closetext
- loadmovesprites
end
MovementData_0x58c8c:
--- a/maps/RuinsofAlphOmanyteItemRoom.asm
+++ b/maps/RuinsofAlphOmanyteItemRoom.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const RUINSOFALPHOMANYTEITEMROOM_POKE_BALL1
+ const RUINSOFALPHOMANYTEITEMROOM_POKE_BALL2
+ const RUINSOFALPHOMANYTEITEMROOM_POKE_BALL3
+ const RUINSOFALPHOMANYTEITEMROOM_POKE_BALL4
+
RuinsofAlphOmanyteItemRoom_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,17 +11,17 @@
.MapCallbacks:
db 0
-ItemFragment_0x59a2c:
- db MYSTERYBERRY, 1
+RuinsofAlphOmanyteItemRoomMysteryberry:
+ itemball MYSTERYBERRY
-ItemFragment_0x59a2e:
- db MYSTIC_WATER, 1
+RuinsofAlphOmanyteItemRoomMysticWater:
+ itemball MYSTIC_WATER
-ItemFragment_0x59a30:
- db STARDUST, 1
+RuinsofAlphOmanyteItemRoomStardust:
+ itemball STARDUST
-ItemFragment_0x59a32:
- db STAR_PIECE, 1
+RuinsofAlphOmanyteItemRoomStarPiece:
+ itemball STAR_PIECE
MapRuinsofAlphOmanyteItemRoomSignpost1Script:
jumptext UnknownText_0x59a37
@@ -47,7 +53,7 @@
.PersonEvents:
db 4
- person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x59a2c, EVENT_PICKED_UP_MYSTERYBERRY_FROM_OMANYTE_ITEM_ROOM
- person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x59a2e, EVENT_PICKED_UP_MYSTIC_WATER_FROM_OMANYTE_ITEM_ROOM
- person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x59a30, EVENT_PICKED_UP_STARDUST_FROM_OMANYTE_ITEM_ROOM
- person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x59a32, EVENT_PICKED_UP_STAR_PIECE_FROM_OMANYTE_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphOmanyteItemRoomMysteryberry, EVENT_PICKED_UP_MYSTERYBERRY_FROM_OMANYTE_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphOmanyteItemRoomMysticWater, EVENT_PICKED_UP_MYSTIC_WATER_FROM_OMANYTE_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphOmanyteItemRoomStardust, EVENT_PICKED_UP_STARDUST_FROM_OMANYTE_ITEM_ROOM
+ person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, RuinsofAlphOmanyteItemRoomStarPiece, EVENT_PICKED_UP_STAR_PIECE_FROM_OMANYTE_ITEM_ROOM
--- a/maps/RuinsofAlphOmanyteWordRoom.asm
+++ b/maps/RuinsofAlphOmanyteWordRoom.asm
@@ -1,3 +1,4 @@
+
RuinsofAlphOmanyteWordRoom_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/RuinsofAlphOutside.asm
+++ b/maps/RuinsofAlphOutside.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const RUINSOFALPHOUTSIDE_YOUNGSTER1
+ const RUINSOFALPHOUTSIDE_SCIENTIST
+ const RUINSOFALPHOUTSIDE_FISHER
+ const RUINSOFALPHOUTSIDE_YOUNGSTER2
+ const RUINSOFALPHOUTSIDE_YOUNGSTER3
+
RuinsofAlphOutside_MapScriptHeader:
.MapTriggers:
db 2
@@ -32,22 +39,22 @@
jump UnknownScript_0x5802c
UnknownScript_0x58027:
- appear $3
+ appear RUINSOFALPHOUTSIDE_SCIENTIST
dotrigger $1
return
UnknownScript_0x5802c:
- disappear $3
+ disappear RUINSOFALPHOUTSIDE_SCIENTIST
dotrigger $0
return
UnknownScript_0x58031:
- spriteface $3, UP
+ spriteface RUINSOFALPHOUTSIDE_SCIENTIST, UP
spriteface PLAYER, DOWN
jump UnknownScript_0x58044
UnknownScript_0x5803a:
- spriteface $3, LEFT
+ spriteface RUINSOFALPHOUTSIDE_SCIENTIST, LEFT
spriteface PLAYER, RIGHT
jump UnknownScript_0x58044
@@ -54,14 +61,14 @@
ScientistScript_0x58043:
faceplayer
UnknownScript_0x58044:
- loadfont
+ opentext
writetext UnknownText_0x580c7
+ waitbutton
closetext
- loadmovesprites
playmusic MUSIC_SHOW_ME_AROUND
- follow $3, PLAYER
- applymovement $3, MovementData_0x580ba
- disappear $3
+ follow RUINSOFALPHOUTSIDE_SCIENTIST, PLAYER
+ applymovement RUINSOFALPHOUTSIDE_SCIENTIST, MovementData_0x580ba
+ disappear RUINSOFALPHOUTSIDE_SCIENTIST
stopfollow
applymovement PLAYER, MovementData_0x580c5
domaptrigger RUINS_OF_ALPH_RESEARCH_CENTER, $1
@@ -70,33 +77,33 @@
FisherScript_0x58061:
faceplayer
- loadfont
+ opentext
checkevent EVENT_TALKED_TO_RUINS_COWARD
iftrue .Next
setevent EVENT_TALKED_TO_RUINS_COWARD
writetext UnknownText_0x583a4
- keeptextopen
+ buttonsound
.Next
writetext UnknownText_0x58420
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x58076:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x58449
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x5807e:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5848e
+ waitbutton
closetext
- loadmovesprites
- spriteface $6, UP
+ spriteface RUINSOFALPHOUTSIDE_YOUNGSTER3, UP
end
TrainerPsychicNathan:
@@ -103,11 +110,11 @@
trainer EVENT_BEAT_PSYCHIC_NATHAN, PSYCHIC_T, NATHAN, PsychicNathanSeenText, PsychicNathanBeatenText, 0, PsychicNathanScript
PsychicNathanScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5830e
+ waitbutton
closetext
- loadmovesprites
end
@@ -115,11 +122,11 @@
trainer EVENT_BEAT_SUPER_NERD_STAN, SUPER_NERD, STAN, UnknownText_0x581e5, UnknownText_0x58217, 0, UnknownScript_0x580a9
UnknownScript_0x580a9:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x58250
+ waitbutton
closetext
- loadmovesprites
end
--- a/maps/RuinsofAlphResearchCenter.asm
+++ b/maps/RuinsofAlphResearchCenter.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const RUINSOFALPHRESEARCHCENTER_SCIENTIST1
+ const RUINSOFALPHRESEARCHCENTER_SCIENTIST2
+ const RUINSOFALPHRESEARCHCENTER_SCIENTIST3
+
RuinsofAlphResearchCenter_MapScriptHeader:
.MapTriggers:
db 2
@@ -26,12 +31,12 @@
return
UnknownScript_0x5918b:
- moveperson $4, $3, $7
- appear $4
+ moveperson RUINSOFALPHRESEARCHCENTER_SCIENTIST3, $3, $7
+ appear RUINSOFALPHRESEARCHCENTER_SCIENTIST3
return
UnknownScript_0x59192:
- applymovement $4, MovementData_0x5926f
+ applymovement RUINSOFALPHRESEARCHCENTER_SCIENTIST3, MovementData_0x5926f
playsound SFX_BOOT_PC
pause 60
playsound SFX_SWITCH_POKEMON
@@ -40,21 +45,21 @@
pause 30
playsound SFX_TRANSACTION
pause 30
- spriteface $4, DOWN
- loadfont
+ spriteface RUINSOFALPHRESEARCHCENTER_SCIENTIST3, DOWN
+ opentext
writetext UnknownText_0x59278
+ waitbutton
closetext
- loadmovesprites
- applymovement $4, MovementData_0x59274
- loadfont
+ applymovement RUINSOFALPHRESEARCHCENTER_SCIENTIST3, MovementData_0x59274
+ opentext
writetext UnknownText_0x592fa
playsound SFX_ITEM
- waitbutton
+ waitsfx
setflag ENGINE_UNOWN_DEX
writetext UnknownText_0x59311
+ waitbutton
closetext
- loadmovesprites
- applymovement $4, MovementData_0x59276
+ applymovement RUINSOFALPHRESEARCHCENTER_SCIENTIST3, MovementData_0x59276
dotrigger $0
special RestartMapMusic
end
@@ -61,23 +66,23 @@
ScientistScript_0x591d1:
faceplayer
- loadfont
+ opentext
checkcode VAR_UNOWNCOUNT
if_equal 26, UnknownScript_0x591df
writetext UnknownText_0x59311
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x591df:
writetext UnknownText_0x5935f
+ waitbutton
closetext
- loadmovesprites
end
ScientistScript_0x591e5:
faceplayer
- loadfont
+ opentext
checkcode VAR_UNOWNCOUNT
if_equal 26, UnknownScript_0x5920b
checkflag ENGINE_UNOWN_DEX
@@ -85,55 +90,55 @@
checkevent EVENT_MADE_UNOWN_APPEAR_IN_RUINS
iftrue UnknownScript_0x591ff
writetext UnknownText_0x593ed
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x591ff:
writetext UnknownText_0x59478
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x59205:
writetext UnknownText_0x59445
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x5920b:
writetext UnknownText_0x594cb
+ waitbutton
closetext
- loadmovesprites
clearevent EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_YOUNGSTERS
end
ScientistScript_0x59214:
faceplayer
- loadfont
+ opentext
checkcode VAR_UNOWNCOUNT
if_equal 26, UnknownScript_0x5922e
checkevent EVENT_MADE_UNOWN_APPEAR_IN_RUINS
iftrue UnknownScript_0x59228
writetext UnknownText_0x5954f
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x59228:
writetext UnknownText_0x595cb
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x5922e:
writetext UnknownText_0x59769
+ waitbutton
closetext
- loadmovesprites
end
MapRuinsofAlphResearchCenterSignpost1Script:
- loadfont
+ opentext
checkevent EVENT_RUINS_OF_ALPH_RESEARCH_CENTER_SCIENTIST
iftrue UnknownScript_0x59241
checkcode VAR_UNOWNCOUNT
@@ -140,18 +145,18 @@
if_equal 26, UnknownScript_0x59247
UnknownScript_0x59241:
writetext UnknownText_0x597b6
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x59247:
writetext UnknownText_0x597d9
+ waitbutton
closetext
- loadmovesprites
end
MapRuinsofAlphResearchCenterSignpost2Script:
- loadfont
+ opentext
checkevent EVENT_RUINS_OF_ALPH_RESEARCH_CENTER_SCIENTIST
iftrue UnknownScript_0x5925a
checkcode VAR_UNOWNCOUNT
@@ -158,15 +163,15 @@
if_equal 26, UnknownScript_0x59260
UnknownScript_0x5925a:
writetext UnknownText_0x5980e
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x59260:
writetext UnknownText_0x5982d
- closetext
+ waitbutton
special Special_UnownPrinter
- loadmovesprites
+ closetext
end
UnknownScript_0x59269:
--- a/maps/SafariZoneBeta.asm
+++ b/maps/SafariZoneBeta.asm
@@ -1,3 +1,4 @@
+
SafariZoneBeta_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/SafariZoneFuchsiaGateBeta.asm
+++ b/maps/SafariZoneFuchsiaGateBeta.asm
@@ -1,3 +1,4 @@
+
SafariZoneFuchsiaGateBeta_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/SafariZoneMainOffice.asm
+++ b/maps/SafariZoneMainOffice.asm
@@ -1,3 +1,4 @@
+
SafariZoneMainOffice_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/SafariZoneWardensHome.asm
+++ b/maps/SafariZoneWardensHome.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const SAFARIZONEWARDENSHOME_LASS
+
SafariZoneWardensHome_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,18 +10,18 @@
WardensGranddaughter:
faceplayer
- loadfont
+ opentext
checkevent EVENT_TALKED_TO_WARDENS_GRANDDAUGHTER
iftrue .AlreadyMet
writetext WardensGranddaughterText1
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_TALKED_TO_WARDENS_GRANDDAUGHTER
end
.AlreadyMet
writetext WardensGranddaughterText2
+ waitbutton
closetext
- loadmovesprites
end
WardenPhoto:
--- a/maps/SaffronCity.asm
+++ b/maps/SaffronCity.asm
@@ -1,3 +1,13 @@
+const_value set 2
+ const SAFFRONCITY_LASS1
+ const SAFFRONCITY_POKEFAN_M
+ const SAFFRONCITY_COOLTRAINER_M
+ const SAFFRONCITY_COOLTRAINER_F
+ const SAFFRONCITY_FISHER
+ const SAFFRONCITY_YOUNGSTER1
+ const SAFFRONCITY_YOUNGSTER2
+ const SAFFRONCITY_LASS2
+
SaffronCity_MapScriptHeader:
.MapTriggers:
db 0
@@ -14,34 +24,34 @@
LassScript_0x19932a:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x199338
writetext UnknownText_0x19938d
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x199338:
writetext UnknownText_0x19940d
+ waitbutton
closetext
- loadmovesprites
end
PokefanMScript_0x19933e:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x19934c
writetext UnknownText_0x199460
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x19934c:
writetext UnknownText_0x1994ae
+ waitbutton
closetext
- loadmovesprites
end
CooltrainerMScript_0x199352:
@@ -52,18 +62,18 @@
FisherScript_0x199358:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x199366
writetext UnknownText_0x1995fc
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x199366:
writetext UnknownText_0x19964b
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x19936c:
--- a/maps/SaffronGym.asm
+++ b/maps/SaffronGym.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const SAFFRONGYM_SABRINA
+ const SAFFRONGYM_GRANNY1
+ const SAFFRONGYM_YOUNGSTER1
+ const SAFFRONGYM_GRANNY2
+ const SAFFRONGYM_YOUNGSTER2
+ const SAFFRONGYM_GYM_GUY
+
SaffronGym_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,35 +15,35 @@
SabrinaScript_0x189c2e:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_MARSHBADGE
iftrue .FightDone
writetext UnknownText_0x189cdf
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x189df4, 0
loadtrainer SABRINA, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_SABRINA
setevent EVENT_BEAT_MEDIUM_REBECCA
setevent EVENT_BEAT_MEDIUM_DORIS
setevent EVENT_BEAT_PSYCHIC_FRANKLIN
setevent EVENT_BEAT_PSYCHIC_JARED
- loadfont
+ opentext
writetext UnknownText_0x189e95
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_MARSHBADGE
writetext UnknownText_0x189ead
+ waitbutton
closetext
- loadmovesprites
end
.FightDone
writetext UnknownText_0x189f6c
+ waitbutton
closetext
- loadmovesprites
end
TrainerMediumRebecca:
@@ -42,11 +50,11 @@
trainer EVENT_BEAT_MEDIUM_REBECCA, MEDIUM, REBECCA, MediumRebeccaSeenText, MediumRebeccaBeatenText, 0, MediumRebeccaScript
MediumRebeccaScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x18a034
+ waitbutton
closetext
- loadmovesprites
end
TrainerPsychicFranklin:
@@ -53,11 +61,11 @@
trainer EVENT_BEAT_PSYCHIC_FRANKLIN, PSYCHIC_T, FRANKLIN, PsychicFranklinSeenText, PsychicFranklinBeatenText, 0, PsychicFranklinScript
PsychicFranklinScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x18a0a6
+ waitbutton
closetext
- loadmovesprites
end
TrainerMediumDoris:
@@ -64,11 +72,11 @@
trainer EVENT_BEAT_MEDIUM_DORIS, MEDIUM, DORIS, MediumDorisSeenText, MediumDorisBeatenText, 0, MediumDorisScript
MediumDorisScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x18a136
+ waitbutton
closetext
- loadmovesprites
end
TrainerPsychicJared:
@@ -75,27 +83,27 @@
trainer EVENT_BEAT_PSYCHIC_JARED, PSYCHIC_T, JARED, PsychicJaredSeenText, PsychicJaredBeatenText, 0, PsychicJaredScript
PsychicJaredScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x18a1b3
+ waitbutton
closetext
- loadmovesprites
end
SaffronGymGuyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_SABRINA
iftrue .SaffronGymGuyWinScript
writetext SaffronGymGuyText
+ waitbutton
closetext
- loadmovesprites
end
.SaffronGymGuyWinScript
writetext SaffronGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
end
SaffronGymStatue:
--- a/maps/SaffronMart.asm
+++ b/maps/SaffronMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const SAFFRONMART_CLERK
+ const SAFFRONMART_COOLTRAINER_M
+ const SAFFRONMART_COOLTRAINER_F
+
SaffronMart_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,9 +11,9 @@
db 0
ClerkScript_0x18a3bf:
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_SAFFRON
- loadmovesprites
+ closetext
end
CooltrainerMScript_0x18a3c6:
--- a/maps/SaffronPokeCenter1F.asm
+++ b/maps/SaffronPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const SAFFRONPOKECENTER1F_NURSE
+ const SAFFRONPOKECENTER1F_TEACHER
+ const SAFFRONPOKECENTER1F_FISHER
+ const SAFFRONPOKECENTER1F_YOUNGSTER
+
SaffronPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -18,18 +24,18 @@
FisherScript_0x18a48c:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue .SolvedKantoPowerCrisis
writetext UnknownText_0x18a5d3
+ waitbutton
closetext
- loadmovesprites
end
.SolvedKantoPowerCrisis:
writetext UnknownText_0x18a62e
+ waitbutton
closetext
- loadmovesprites
end
YoungsterScript_0x18a4a0:
--- a/maps/SaffronPokeCenter2FBeta.asm
+++ b/maps/SaffronPokeCenter2FBeta.asm
@@ -1,3 +1,4 @@
+
SaffronPokeCenter2FBeta_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/SaffronTrainStation.asm
+++ b/maps/SaffronTrainStation.asm
@@ -1,24 +1,30 @@
+const_value set 2
+ const SAFFRONTRAINSTATION_OFFICER
+ const SAFFRONTRAINSTATION_GYM_GUY
+ const SAFFRONTRAINSTATION_TEACHER
+ const SAFFRONTRAINSTATION_LASS
+
SaffronTrainStation_MapScriptHeader:
.MapTriggers:
db 1
; triggers
- dw .Trigger1, 0
+ dw .Trigger0, 0
.MapCallbacks:
db 0
-.Trigger1:
+.Trigger0:
end
OfficerScript_0x18a81e:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RESTORED_POWER_TO_KANTO
iftrue .MagnetTrainToGoldenrod
writetext UnknownText_0x18a8a9
+ waitbutton
closetext
- loadmovesprites
end
.MagnetTrainToGoldenrod:
@@ -28,9 +34,9 @@
checkitem PASS
iffalse .PassNotInBag
writetext UnknownText_0x18a917
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x18a88f
+ applymovement SAFFRONTRAINSTATION_OFFICER, MovementData_0x18a88f
applymovement PLAYER, MovementData_0x18a898
writebyte $1
special Special_MagnetTrain
@@ -46,40 +52,40 @@
.PassNotInBag:
writetext UnknownText_0x18a956
+ waitbutton
closetext
- loadmovesprites
end
.DecidedNotToRide:
writetext UnknownText_0x18a978
+ waitbutton
closetext
- loadmovesprites
end
Script_ArriveFromGoldenrod:
- applymovement $2, MovementData_0x18a88f
+ applymovement SAFFRONTRAINSTATION_OFFICER, MovementData_0x18a88f
applymovement PLAYER, MovementData_0x18a8a1
- applymovement $2, MovementData_0x18a894
- loadfont
+ applymovement SAFFRONTRAINSTATION_OFFICER, MovementData_0x18a894
+ opentext
writetext UnknownText_0x18a993
+ waitbutton
closetext
- loadmovesprites
end
GymGuyScript_0x18a875:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RETURNED_MACHINE_PART
iftrue UnknownScript_0x18a883
writetext UnknownText_0x18a9ca
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x18a883:
writetext UnknownText_0x18aa61
+ waitbutton
closetext
- loadmovesprites
end
TeacherScript_0x18a889:
--- a/maps/SeafoamGym.asm
+++ b/maps/SeafoamGym.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const SEAFOAMGYM_BLAINE
+ const SEAFOAMGYM_GYM_GUY
+
SeafoamGym_MapScriptHeader:
.MapTriggers:
db 1
@@ -13,51 +17,51 @@
BlaineScript_0x1ab4fb:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_VOLCANOBADGE
iftrue .FightDone
writetext UnknownText_0x1ab548
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x1ab646, 0
loadtrainer BLAINE, 1
startbattle
iftrue .ReturnAfterBattle
- appear $3
+ appear SEAFOAMGYM_GYM_GUY
.ReturnAfterBattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_BLAINE
- loadfont
+ opentext
writetext UnknownText_0x1ab683
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_VOLCANOBADGE
writetext UnknownText_0x1ab69d
+ waitbutton
closetext
- loadmovesprites
end
.FightDone
writetext UnknownText_0x1ab71c
+ waitbutton
closetext
- loadmovesprites
end
SeafoamGymGuyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_TALKED_TO_SEAFOAM_GYM_GUY_ONCE
iftrue .TalkedToSeafoamGymGuyScript
writetext SeafoamGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_TALKED_TO_SEAFOAM_GYM_GUY_ONCE
end
.TalkedToSeafoamGymGuyScript
writetext SeafoamGymGuyWinText2
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x1ab548:
--- a/maps/SilphCo1F.asm
+++ b/maps/SilphCo1F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const SILPHCO1F_RECEPTIONIST
+ const SILPHCO1F_OFFICER
+
SilphCo1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -10,19 +14,19 @@
OfficerScript_0x18abe8:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_UP_GRADE
iftrue UnknownScript_0x18abfd
writetext UnknownText_0x18ac36
- keeptextopen
+ buttonsound
verbosegiveitem UP_GRADE
iffalse UnknownScript_0x18ac01
setevent EVENT_GOT_UP_GRADE
UnknownScript_0x18abfd:
writetext UnknownText_0x18aca8
- closetext
+ waitbutton
UnknownScript_0x18ac01:
- loadmovesprites
+ closetext
end
UnknownText_0x18ac03:
--- a/maps/SilverCaveItemRooms.asm
+++ b/maps/SilverCaveItemRooms.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const SILVERCAVEITEMROOMS_POKE_BALL1
+ const SILVERCAVEITEMROOMS_POKE_BALL2
+
SilverCaveItemRooms_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,11 +9,11 @@
.MapCallbacks:
db 0
-ItemFragment_0x18c65e:
- db MAX_REVIVE, 1
+SilverCaveItemRoomsMaxRevive:
+ itemball MAX_REVIVE
-ItemFragment_0x18c660:
- db FULL_RESTORE, 1
+SilverCaveItemRoomsFullRestore:
+ itemball FULL_RESTORE
SilverCaveItemRooms_MapEventHeader:
; filler
@@ -28,5 +32,5 @@
.PersonEvents:
db 2
- person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c65e, EVENT_SILVER_CAVE_ITEM_ROOMS_MAX_REVIVE
- person_event SPRITE_POKE_BALL, 11, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c660, EVENT_SILVER_CAVE_ITEM_ROOMS_FULL_RESTORE
+ person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SilverCaveItemRoomsMaxRevive, EVENT_SILVER_CAVE_ITEM_ROOMS_MAX_REVIVE
+ person_event SPRITE_POKE_BALL, 11, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SilverCaveItemRoomsFullRestore, EVENT_SILVER_CAVE_ITEM_ROOMS_FULL_RESTORE
--- a/maps/SilverCaveOutside.asm
+++ b/maps/SilverCaveOutside.asm
@@ -1,3 +1,4 @@
+
SilverCaveOutside_MapScriptHeader:
.MapTriggers:
db 0
@@ -18,7 +19,7 @@
MtSilverSign:
jumptext MtSilverSignText
-MapSilverCaveOutsideSignpostItem2:
+SilverCaveOutsideHiddenFullRestore:
dwb EVENT_SILVER_CAVE_OUTSIDE_HIDDEN_FULL_RESTORE, FULL_RESTORE
MtSilverSignText:
@@ -41,7 +42,7 @@
db 3
signpost 19, 24, SIGNPOST_READ, MtSilverPokeCenterSign
signpost 13, 17, SIGNPOST_READ, MtSilverSign
- signpost 25, 9, SIGNPOST_ITEM, MapSilverCaveOutsideSignpostItem2
+ signpost 25, 9, SIGNPOST_ITEM, SilverCaveOutsideHiddenFullRestore
.PersonEvents:
db 0
--- a/maps/SilverCavePokeCenter1F.asm
+++ b/maps/SilverCavePokeCenter1F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const SILVERCAVEPOKECENTER1F_NURSE
+ const SILVERCAVEPOKECENTER1F_GRANNY
+
SilverCavePokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/SilverCaveRoom1.asm
+++ b/maps/SilverCaveRoom1.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const SILVERCAVEROOM1_POKE_BALL1
+ const SILVERCAVEROOM1_POKE_BALL2
+ const SILVERCAVEROOM1_POKE_BALL3
+ const SILVERCAVEROOM1_POKE_BALL4
+
SilverCaveRoom1_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,23 +11,23 @@
.MapCallbacks:
db 0
-ItemFragment_0x18c554:
- db MAX_ELIXER, 1
+SilverCaveRoom1MaxElixer:
+ itemball MAX_ELIXER
-ItemFragment_0x18c556:
- db PROTEIN, 1
+SilverCaveRoom1Protein:
+ itemball PROTEIN
-ItemFragment_0x18c558:
- db ESCAPE_ROPE, 1
+SilverCaveRoom1EscapeRope:
+ itemball ESCAPE_ROPE
-ItemFragment_0x18c55a:
- db ULTRA_BALL, 1
+SilverCaveRoom1UltraBall:
+ itemball ULTRA_BALL
-MapSilverCaveRoom1SignpostItem0:
+SilverCaveRoom1HiddenDireHit:
dwb EVENT_SILVER_CAVE_ROOM_1_HIDDEN_DIRE_HIT, DIRE_HIT
-MapSilverCaveRoom1SignpostItem1:
+SilverCaveRoom1HiddenUltraBall:
dwb EVENT_SILVER_CAVE_ROOM_1_HIDDEN_ULTRA_BALL, ULTRA_BALL
@@ -39,12 +45,12 @@
.Signposts:
db 2
- signpost 23, 16, SIGNPOST_ITEM, MapSilverCaveRoom1SignpostItem0
- signpost 12, 17, SIGNPOST_ITEM, MapSilverCaveRoom1SignpostItem1
+ signpost 23, 16, SIGNPOST_ITEM, SilverCaveRoom1HiddenDireHit
+ signpost 12, 17, SIGNPOST_ITEM, SilverCaveRoom1HiddenUltraBall
.PersonEvents:
db 4
- person_event SPRITE_POKE_BALL, 9, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c554, EVENT_SILVER_CAVE_ROOM_1_MAX_ELIXER
- person_event SPRITE_POKE_BALL, 29, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c556, EVENT_SILVER_CAVE_ROOM_1_PROTEIN
- person_event SPRITE_POKE_BALL, 30, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c558, EVENT_SILVER_CAVE_ROOM_1_ESCAPE_ROPE
- person_event SPRITE_POKE_BALL, 18, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c55a, EVENT_SILVER_CAVE_ROOM_1_ULTRA_BALL
+ person_event SPRITE_POKE_BALL, 9, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SilverCaveRoom1MaxElixer, EVENT_SILVER_CAVE_ROOM_1_MAX_ELIXER
+ person_event SPRITE_POKE_BALL, 29, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SilverCaveRoom1Protein, EVENT_SILVER_CAVE_ROOM_1_PROTEIN
+ person_event SPRITE_POKE_BALL, 30, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SilverCaveRoom1EscapeRope, EVENT_SILVER_CAVE_ROOM_1_ESCAPE_ROPE
+ person_event SPRITE_POKE_BALL, 18, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SilverCaveRoom1UltraBall, EVENT_SILVER_CAVE_ROOM_1_ULTRA_BALL
--- a/maps/SilverCaveRoom2.asm
+++ b/maps/SilverCaveRoom2.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const SILVERCAVEROOM2_POKE_BALL1
+ const SILVERCAVEROOM2_POKE_BALL2
+ const SILVERCAVEROOM2_POKE_BALL3
+
SilverCaveRoom2_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,16 +10,16 @@
.MapCallbacks:
db 0
-ItemFragment_0x18c5b2:
- db CALCIUM, 1
+SilverCaveRoom2Calcium:
+ itemball CALCIUM
-ItemFragment_0x18c5b4:
- db ULTRA_BALL, 1
+SilverCaveRoom2UltraBall:
+ itemball ULTRA_BALL
-ItemFragment_0x18c5b6:
- db PP_UP, 1
+SilverCaveRoom2PPUp:
+ itemball PP_UP
-MapSilverCaveRoom2SignpostItem0:
+SilverCaveRoom2HiddenMaxPotion:
dwb EVENT_SILVER_CAVE_ROOM_2_HIDDEN_MAX_POTION, MAX_POTION
@@ -34,10 +39,10 @@
.Signposts:
db 1
- signpost 31, 14, SIGNPOST_ITEM, MapSilverCaveRoom2SignpostItem0
+ signpost 31, 14, SIGNPOST_ITEM, SilverCaveRoom2HiddenMaxPotion
.PersonEvents:
db 3
- person_event SPRITE_POKE_BALL, 10, 24, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c5b2, EVENT_SILVER_CAVE_ROOM_2_CALCIUM
- person_event SPRITE_POKE_BALL, 24, 22, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c5b4, EVENT_SILVER_CAVE_ROOM_2_ULTRA_BALL
- person_event SPRITE_POKE_BALL, 20, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c5b6, EVENT_SILVER_CAVE_ROOM_2_PP_UP
+ person_event SPRITE_POKE_BALL, 10, 24, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SilverCaveRoom2Calcium, EVENT_SILVER_CAVE_ROOM_2_CALCIUM
+ person_event SPRITE_POKE_BALL, 24, 22, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SilverCaveRoom2UltraBall, EVENT_SILVER_CAVE_ROOM_2_ULTRA_BALL
+ person_event SPRITE_POKE_BALL, 20, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SilverCaveRoom2PPUp, EVENT_SILVER_CAVE_ROOM_2_PP_UP
--- a/maps/SilverCaveRoom3.asm
+++ b/maps/SilverCaveRoom3.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const SILVERCAVEROOM3_RED
+
SilverCaveRoom3_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,25 +9,25 @@
db 0
RedScript_0x18c603:
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x18c637
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x18c63c, UnknownText_0x18c63c
loadtrainer RED, 1
startbattle
- reloadmapmusic
- returnafterbattle
- special Special_RotatePalettesRightMusic
- loadfont
+ dontrestartmapmusic
+ reloadmapafterbattle
+ special Special_FadeOutMusic
+ opentext
writetext UnknownText_0x18c63f
+ waitbutton
closetext
- loadmovesprites
special Special_FadeBlackQuickly
special Special_ReloadSpritesNoPalettes
- disappear $2
+ disappear SILVERCAVEROOM3_RED
pause 15
special Special_FadeInQuickly
pause 30
--- a/maps/SlowpokeWellB1F.asm
+++ b/maps/SlowpokeWellB1F.asm
@@ -1,3 +1,14 @@
+const_value set 2
+ const SLOWPOKEWELLB1F_ROCKET1
+ const SLOWPOKEWELLB1F_ROCKET2
+ const SLOWPOKEWELLB1F_ROCKET3
+ const SLOWPOKEWELLB1F_ROCKET_GIRL
+ const SLOWPOKEWELLB1F_SLOWPOKE1
+ const SLOWPOKEWELLB1F_SLOWPOKE2
+ const SLOWPOKEWELLB1F_KURT
+ const SLOWPOKEWELLB1F_BOULDER
+ const SLOWPOKEWELLB1F_POKE_BALL
+
SlowpokeWellB1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -12,11 +23,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_29, GRUNTM, 29, GruntM29SeenText, GruntM29BeatenText, 0, GruntM29Script
GruntM29Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext TrainerGruntM29SlowpokeProfitText
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntM1:
@@ -23,27 +34,27 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_1, GRUNTM, 1, GruntM1SeenText, GruntM1BeatenText, 0, GruntM1Script
GruntM1Script:
- loadfont
+ opentext
writetext TrainerGruntM1WhenTalkText
+ waitbutton
closetext
- loadmovesprites
special Special_FadeBlackQuickly
special Special_ReloadSpritesNoPalettes
- disappear $2
- disappear $3
- disappear $4
- disappear $5
+ disappear SLOWPOKEWELLB1F_ROCKET1
+ disappear SLOWPOKEWELLB1F_ROCKET2
+ disappear SLOWPOKEWELLB1F_ROCKET3
+ disappear SLOWPOKEWELLB1F_ROCKET_GIRL
pause 15
special Special_FadeInQuickly
- disappear $8
- moveperson $8, $b, $6
- appear $8
- applymovement $8, KurtSlowpokeWellVictoryMovementData
+ disappear SLOWPOKEWELLB1F_KURT
+ moveperson SLOWPOKEWELLB1F_KURT, $b, $6
+ appear SLOWPOKEWELLB1F_KURT
+ applymovement SLOWPOKEWELLB1F_KURT, KurtSlowpokeWellVictoryMovementData
spriteface PLAYER, RIGHT
- loadfont
+ opentext
writetext KurtLeaveSlowpokeWellText
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_CLEARED_SLOWPOKE_WELL
variablesprite SPRITE_AZALEA_ROCKET, SPRITE_SILVER
domaptrigger AZALEA_TOWN, $1
@@ -66,11 +77,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_2, GRUNTM, 2, GruntM2SeenText, GruntM2BeatenText, 0, GruntM2Script
GruntM2Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5aaf2
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntF1:
@@ -77,43 +88,43 @@
trainer EVENT_BEAT_ROCKET_GRUNTF_1, GRUNTF, 1, GruntF1SeenText, GruntF1BeatenText, 0, GruntF1Script
GruntF1Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5ab8d
+ waitbutton
closetext
- loadmovesprites
end
SlowpokeScript_0x5a681:
faceplayer
- loadfont
+ opentext
cry SLOWPOKE
writetext UnknownText_0x5abcb
yesorno
iftrue UnknownScript_0x5a68f
- loadmovesprites
+ closetext
end
UnknownScript_0x5a68f:
writetext UnknownText_0x5ac09
+ waitbutton
closetext
- loadmovesprites
end
SlowpokeScript_0x5a695:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x5ac61
cry SLOWPOKE
+ waitbutton
closetext
- loadmovesprites
end
SlowpokeWellB1FBoulder:
jumpstd strengthboulder
-ItemFragment_0x5a6a3:
- db SUPER_POTION, 1
+SlowpokeWellB1FSuperPotion:
+ itemball SUPER_POTION
KurtSlowpokeWellVictoryMovementData:
step_left
@@ -334,4 +345,4 @@
person_event SPRITE_SLOWPOKE, 2, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, SlowpokeScript_0x5a695, EVENT_SLOWPOKE_WELL_SLOWPOKES
person_event SPRITE_KURT, 14, 16, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, KurtScript_0x5a5d5, EVENT_SLOWPOKE_WELL_KURT
person_event SPRITE_BOULDER, 2, 3, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SlowpokeWellB1FBoulder, -1
- person_event SPRITE_POKE_BALL, 3, 10, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x5a6a3, EVENT_SLOWPOKE_WELL_B1F_SUPER_POTION
+ person_event SPRITE_POKE_BALL, 3, 10, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SlowpokeWellB1FSuperPotion, EVENT_SLOWPOKE_WELL_B1F_SUPER_POTION
--- a/maps/SlowpokeWellB2F.asm
+++ b/maps/SlowpokeWellB2F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const SLOWPOKEWELLB2F_GYM_GUY
+ const SLOWPOKEWELLB2F_POKE_BALL
+
SlowpokeWellB2F_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,26 +11,26 @@
GymGuyScript_0x5ad0b:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_KINGS_ROCK_IN_SLOWPOKE_WELL
iftrue UnknownScript_0x5ad22
writetext UnknownText_0x5ad2a
- keeptextopen
+ buttonsound
verbosegiveitem KINGS_ROCK
iffalse UnknownScript_0x5ad20
setevent EVENT_GOT_KINGS_ROCK_IN_SLOWPOKE_WELL
UnknownScript_0x5ad20:
- loadmovesprites
+ closetext
end
UnknownScript_0x5ad22:
writetext UnknownText_0x5adf2
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x5ad28:
- db TM_RAIN_DANCE, 1
+SlowpokeWellB2FTMRainDance:
+ itemball TM_RAIN_DANCE
UnknownText_0x5ad2a:
text "I'm waiting to see"
@@ -74,4 +78,4 @@
.PersonEvents:
db 2
person_event SPRITE_GYM_GUY, 4, 5, SPRITEMOVEDATA_WANDER, 2, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 1, GymGuyScript_0x5ad0b, -1
- person_event SPRITE_POKE_BALL, 5, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x5ad28, EVENT_SLOWPOKE_WELL_B2F_TM_RAIN_DANCE
+ person_event SPRITE_POKE_BALL, 5, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SlowpokeWellB2FTMRainDance, EVENT_SLOWPOKE_WELL_B2F_TM_RAIN_DANCE
--- a/maps/SoulHouse.asm
+++ b/maps/SoulHouse.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const SOULHOUSE_GRAMPS
+ const SOULHOUSE_TEACHER
+ const SOULHOUSE_LASS
+ const SOULHOUSE_GRANNY
+
SoulHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/SproutTower1F.asm
+++ b/maps/SproutTower1F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const SPROUTTOWER1F_SAGE1
+ const SPROUTTOWER1F_SAGE2
+ const SPROUTTOWER1F_GRANNY
+ const SPROUTTOWER1F_TEACHER
+ const SPROUTTOWER1F_SAGE3
+ const SPROUTTOWER1F_POKE_BALL
+
SproutTower1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -21,15 +29,15 @@
trainer EVENT_BEAT_SAGE_CHOW, SAGE, CHOW, SageChowSeenText, SageChowBeatenText, 0, SageChowScript
SageChowScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x184583
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x18451e:
- db PARLYZ_HEAL, 1
+SproutTower1FParlyzHeal:
+ itemball PARLYZ_HEAL
MapSproutTower1FSignpost1Script:
jumptext UnknownText_0x1846d6
@@ -121,4 +129,4 @@
person_event SPRITE_GRANNY, 12, 11, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrannyScript_0x184504, -1
person_event SPRITE_TEACHER, 9, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeacherScript_0x184507, -1
person_event SPRITE_SAGE, 5, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 4, TrainerSageChow, -1
- person_event SPRITE_POKE_BALL, 7, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18451e, EVENT_SPROUT_TOWER1F_PARLYZ_HEAL
+ person_event SPRITE_POKE_BALL, 7, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SproutTower1FParlyzHeal, EVENT_SPROUT_TOWER1F_PARLYZ_HEAL
--- a/maps/SproutTower2F.asm
+++ b/maps/SproutTower2F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const SPROUTTOWER2F_SAGE1
+ const SPROUTTOWER2F_SAGE2
+ const SPROUTTOWER2F_POKE_BALL
+
SproutTower2F_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +14,11 @@
trainer EVENT_BEAT_SAGE_NICO, SAGE, NICO, SageNicoSeenText, SageNicoBeatenText, 0, SageNicoScript
SageNicoScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1847ff
+ waitbutton
closetext
- loadmovesprites
end
TrainerSageEdmond:
@@ -20,18 +25,18 @@
trainer EVENT_BEAT_SAGE_EDMOND, SAGE, EDMOND, SageEdmondSeenText, SageEdmondBeatenText, 0, SageEdmondScript
SageEdmondScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x18486f
+ waitbutton
closetext
- loadmovesprites
end
MapSproutTower2FSignpost0Script:
jumptext UnknownText_0x1848c8
-ItemFragment_0x1847a7:
- db X_ACCURACY, 1
+SproutTower2FXAccuracy:
+ itemball X_ACCURACY
SageNicoSeenText:
text "However hard we"
@@ -101,4 +106,4 @@
db 3
person_event SPRITE_SAGE, 3, 12, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 4, TrainerSageNico, -1
person_event SPRITE_SAGE, 14, 9, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 5, TrainerSageEdmond, -1
- person_event SPRITE_POKE_BALL, 1, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1847a7, EVENT_SPROUT_TOWER2F_X_ACCURACY
+ person_event SPRITE_POKE_BALL, 1, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SproutTower2FXAccuracy, EVENT_SPROUT_TOWER2F_X_ACCURACY
--- a/maps/SproutTower3F.asm
+++ b/maps/SproutTower3F.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const SPROUTTOWER3F_SAGE1
+ const SPROUTTOWER3F_SAGE2
+ const SPROUTTOWER3F_SAGE3
+ const SPROUTTOWER3F_SAGE4
+ const SPROUTTOWER3F_POKE_BALL1
+ const SPROUTTOWER3F_POKE_BALL2
+ const SPROUTTOWER3F_SILVER
+
SproutTower3F_MapScriptHeader:
.MapTriggers:
db 2
@@ -18,7 +27,7 @@
UnknownScript_0x184947:
spriteface PLAYER, UP
showemote EMOTE_SHOCK, PLAYER, 15
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
playsound SFX_TACKLE
playsound SFX_ELEVATOR
earthquake 79
@@ -27,30 +36,30 @@
playsound SFX_ELEVATOR
earthquake 79
applymovement PLAYER, MovementData_0x184a1d
- applymovement $8, MovementData_0x184a22
- loadfont
+ applymovement SPROUTTOWER3F_SILVER, MovementData_0x184a22
+ opentext
writetext UnknownText_0x184a27
+ waitbutton
closetext
- loadmovesprites
- showemote EMOTE_SHOCK, $8, 15
- spriteface $8, DOWN
+ showemote EMOTE_SHOCK, SPROUTTOWER3F_SILVER, 15
+ spriteface SPROUTTOWER3F_SILVER, DOWN
pause 15
- applymovement $8, MovementData_0x184a24
+ applymovement SPROUTTOWER3F_SILVER, MovementData_0x184a24
playmusic MUSIC_RIVAL_ENCOUNTER
- loadfont
+ opentext
writetext UnknownText_0x184aec
+ waitbutton
closetext
- loadmovesprites
- spriteface $8, UP
- loadfont
+ spriteface SPROUTTOWER3F_SILVER, UP
+ opentext
writetext UnknownText_0x184bc8
pause 15
- loadmovesprites
+ closetext
playsound SFX_WARP_TO
special Special_FadeBlackQuickly
special Special_ReloadSpritesNoPalettes
- disappear $8
- waitbutton
+ disappear SPROUTTOWER3F_SILVER
+ waitsfx
special Special_FadeInQuickly
dotrigger $1
special RestartMapMusic
@@ -58,31 +67,31 @@
SageLiScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_HM05_FLASH
iftrue UnknownScript_0x1849d1
writetext SageLiSeenText
+ waitbutton
closetext
- loadmovesprites
winlosstext SageLiBeatenText, 0
loadtrainer SAGE, LI
startbattle
- returnafterbattle
- loadfont
+ reloadmapafterbattle
+ opentext
writetext UnknownText_0x184cc2
- keeptextopen
+ buttonsound
verbosegiveitem HM_FLASH
setevent EVENT_GOT_HM05_FLASH
setevent EVENT_BEAT_SAGE_LI
writetext UnknownText_0x184d13
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x1849d1:
writetext UnknownText_0x184d88
+ waitbutton
closetext
- loadmovesprites
end
TrainerSageJin:
@@ -89,11 +98,11 @@
trainer EVENT_BEAT_SAGE_JIN, SAGE, JIN, SageJinSeenText, SageJinBeatenText, 0, SageJinScript
SageJinScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x184dfa
+ waitbutton
closetext
- loadmovesprites
end
TrainerSageTroy:
@@ -100,11 +109,11 @@
trainer EVENT_BEAT_SAGE_TROY, SAGE, TROY, SageTroySeenText, SageTroyBeatenText, 0, SageTroyScript
SageTroyScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x184ea4
+ waitbutton
closetext
- loadmovesprites
end
TrainerSageNeal:
@@ -111,11 +120,11 @@
trainer EVENT_BEAT_SAGE_NEAL, SAGE, NEAL, SageNealSeenText, SageNealBeatenText, 0, SageNealScript
SageNealScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x184f12
+ waitbutton
closetext
- loadmovesprites
end
MapSproutTower3FSignpost3Script:
@@ -124,11 +133,11 @@
MapSproutTower3FSignpost5Script:
jumptext UnknownText_0x184f61
-ItemFragment_0x184a19:
- db POTION, 1
+SproutTower3FPotion:
+ itemball POTION
-ItemFragment_0x184a1b:
- db ESCAPE_ROPE, 1
+SproutTower3FEscapeRope:
+ itemball ESCAPE_ROPE
MovementData_0x184a1d:
step_up
@@ -349,6 +358,6 @@
person_event SPRITE_SAGE, 8, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 2, TrainerSageTroy, -1
person_event SPRITE_SAGE, 2, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, SageLiScript, -1
person_event SPRITE_SAGE, 11, 11, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerSageNeal, -1
- person_event SPRITE_POKE_BALL, 14, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x184a19, EVENT_SPROUT_TOWER_3F_POTION
- person_event SPRITE_POKE_BALL, 1, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x184a1b, EVENT_SPROUT_TOWER_3F_ESCAPE_ROPE
+ person_event SPRITE_POKE_BALL, 14, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SproutTower3FPotion, EVENT_SPROUT_TOWER_3F_POTION
+ person_event SPRITE_POKE_BALL, 1, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, SproutTower3FEscapeRope, EVENT_SPROUT_TOWER_3F_ESCAPE_ROPE
person_event SPRITE_SILVER, 4, 10, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_SPROUT_TOWER
--- a/maps/TeamRocketBaseB1F.asm
+++ b/maps/TeamRocketBaseB1F.asm
@@ -1,9 +1,17 @@
+const_value set 2
+ const TEAMROCKETBASEB1F_ROCKET1
+ const TEAMROCKETBASEB1F_ROCKET2
+ const TEAMROCKETBASEB1F_SCIENTIST
+ const TEAMROCKETBASEB1F_POKE_BALL1
+ const TEAMROCKETBASEB1F_POKE_BALL2
+ const TEAMROCKETBASEB1F_POKE_BALL3
+
TeamRocketBaseB1F_MapScriptHeader:
.MapTriggers:
db 1
; triggers
- dw UnknownScript_0x6c65a, 0
+ dw .Trigger0, 0
.MapCallbacks:
db 1
@@ -10,13 +18,13 @@
; callbacks
- dbw 2, UnknownScript_0x6c65b
+ dbw 2, .Callback1
-UnknownScript_0x6c65a:
+.Trigger0:
end
-UnknownScript_0x6c65b:
- disappear $2
+.Callback1:
+ disappear TEAMROCKETBASEB1F_ROCKET1
return
SecurityCamera1a:
@@ -27,18 +35,18 @@
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveperson $2, $13, $2
- appear $2
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $13, $2
+ appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
- applymovement $2, SecurityCameraMovement1
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
if_equal $1, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveperson $2, $13, $2
- appear $2
- applymovement $2, SecurityCameraMovement1
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $13, $2
+ appear TEAMROCKETBASEB1F_ROCKET1
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt2
if_equal $1, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_1
@@ -52,18 +60,18 @@
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveperson $2, $13, $3
- appear $2
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $13, $3
+ appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
- applymovement $2, SecurityCameraMovement1
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
if_equal $1, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveperson $2, $13, $3
- appear $2
- applymovement $2, SecurityCameraMovement1
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $13, $3
+ appear TEAMROCKETBASEB1F_ROCKET1
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt2
if_equal $1, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_1
@@ -77,10 +85,10 @@
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveperson $2, $4, $7
- appear $2
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $4, $7
+ appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
- applymovement $2, SecurityCameraMovement2
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement2
scall TrainerCameraGrunt1
if_equal $1, NoSecurityCamera
scall PlaySecurityCameraSounds
@@ -87,9 +95,9 @@
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
spriteface PLAYER, RIGHT
- moveperson $2, $c, $5
- appear $2
- applymovement $2, SecurityCameraMovement3
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $c, $5
+ appear TEAMROCKETBASEB1F_ROCKET1
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement3
scall TrainerCameraGrunt2
if_equal $1, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_2
@@ -103,10 +111,10 @@
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveperson $2, $4, $8
- appear $2
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $4, $8
+ appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
- applymovement $2, SecurityCameraMovement4
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement4
scall TrainerCameraGrunt1
if_equal $1, NoSecurityCamera
scall PlaySecurityCameraSounds
@@ -113,9 +121,9 @@
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
spriteface PLAYER, RIGHT
- moveperson $2, $c, $5
- appear $2
- applymovement $2, SecurityCameraMovement5
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $c, $5
+ appear TEAMROCKETBASEB1F_ROCKET1
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement5
scall TrainerCameraGrunt2
if_equal $1, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_2
@@ -129,10 +137,10 @@
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveperson $2, $13, $6
- appear $2
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $13, $6
+ appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
- applymovement $2, SecurityCameraMovement1
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
if_equal $1, NoSecurityCamera
scall PlaySecurityCameraSounds
@@ -139,9 +147,9 @@
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
spriteface PLAYER, RIGHT
- moveperson $2, $19, $b
- appear $2
- applymovement $2, SecurityCameraMovement6
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $19, $b
+ appear TEAMROCKETBASEB1F_ROCKET1
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement6
scall TrainerCameraGrunt2
if_equal $1, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_3
@@ -155,10 +163,10 @@
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveperson $2, $13, $7
- appear $2
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $13, $7
+ appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
- applymovement $2, SecurityCameraMovement1
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
if_equal $1, NoSecurityCamera
scall PlaySecurityCameraSounds
@@ -165,9 +173,9 @@
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
spriteface PLAYER, RIGHT
- moveperson $2, $19, $c
- appear $2
- applymovement $2, SecurityCameraMovement7
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $19, $c
+ appear TEAMROCKETBASEB1F_ROCKET1
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement7
scall TrainerCameraGrunt2
if_equal $1, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_3
@@ -181,10 +189,10 @@
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveperson $2, $11, $10
- appear $2
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $11, $10
+ appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
- applymovement $2, SecurityCameraMovement1
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
if_equal $1, NoSecurityCamera
scall PlaySecurityCameraSounds
@@ -191,9 +199,9 @@
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
spriteface PLAYER, RIGHT
- moveperson $2, $19, $b
- appear $2
- applymovement $2, SecurityCameraMovement8
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $19, $b
+ appear TEAMROCKETBASEB1F_ROCKET1
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement8
scall TrainerCameraGrunt2
if_equal $1, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_4
@@ -207,10 +215,10 @@
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveperson $2, $3, $10
- appear $2
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $3, $10
+ appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
- applymovement $2, SecurityCameraMovement1
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
if_equal $1, NoSecurityCamera
scall PlaySecurityCameraSounds
@@ -217,9 +225,9 @@
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
spriteface PLAYER, RIGHT
- moveperson $2, $e, $10
- appear $2
- applymovement $2, SecurityCameraMovement9
+ moveperson TEAMROCKETBASEB1F_ROCKET1, $e, $10
+ appear TEAMROCKETBASEB1F_ROCKET1
+ applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement9
scall TrainerCameraGrunt2
if_equal $1, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_5
@@ -229,29 +237,29 @@
end
TrainerCameraGrunt1:
- loadfont
+ opentext
writetext CameraGrunt1SeenText
+ waitbutton
closetext
- loadmovesprites
winlosstext CameraGrunt1BeatenText, 0
- setlasttalked $2
+ setlasttalked TEAMROCKETBASEB1F_ROCKET1
loadtrainer GRUNTM, 20
startbattle
- disappear $2
- returnafterbattle
+ disappear TEAMROCKETBASEB1F_ROCKET1
+ reloadmapafterbattle
end
TrainerCameraGrunt2:
- loadfont
+ opentext
writetext CameraGrunt2SeenText
+ waitbutton
closetext
- loadmovesprites
winlosstext CameraGrunt2BeatenText, 0
- setlasttalked $2
+ setlasttalked TEAMROCKETBASEB1F_ROCKET1
loadtrainer GRUNTM, 21
startbattle
- disappear $2
- returnafterbattle
+ disappear TEAMROCKETBASEB1F_ROCKET1
+ reloadmapafterbattle
end
PlaySecurityCameraSounds:
@@ -272,7 +280,7 @@
checkevent EVENT_EXPLODING_TRAP_1
iftrue NoExplodingTrap
scall KoffingExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_1
end
@@ -280,7 +288,7 @@
checkevent EVENT_EXPLODING_TRAP_2
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_2
end
@@ -288,7 +296,7 @@
checkevent EVENT_EXPLODING_TRAP_3
iftrue NoExplodingTrap
scall GeodudeExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_3
end
@@ -296,7 +304,7 @@
checkevent EVENT_EXPLODING_TRAP_4
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_4
end
@@ -304,7 +312,7 @@
checkevent EVENT_EXPLODING_TRAP_5
iftrue NoExplodingTrap
scall GeodudeExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_5
end
@@ -312,7 +320,7 @@
checkevent EVENT_EXPLODING_TRAP_6
iftrue NoExplodingTrap
scall KoffingExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_6
end
@@ -320,7 +328,7 @@
checkevent EVENT_EXPLODING_TRAP_7
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_7
end
@@ -328,7 +336,7 @@
checkevent EVENT_EXPLODING_TRAP_8
iftrue NoExplodingTrap
scall KoffingExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_8
end
@@ -336,7 +344,7 @@
checkevent EVENT_EXPLODING_TRAP_9
iftrue NoExplodingTrap
scall KoffingExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_9
end
@@ -344,7 +352,7 @@
checkevent EVENT_EXPLODING_TRAP_10
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_10
end
@@ -352,7 +360,7 @@
checkevent EVENT_EXPLODING_TRAP_11
iftrue NoExplodingTrap
scall GeodudeExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_11
end
@@ -360,7 +368,7 @@
checkevent EVENT_EXPLODING_TRAP_12
iftrue NoExplodingTrap
scall GeodudeExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_12
end
@@ -368,7 +376,7 @@
checkevent EVENT_EXPLODING_TRAP_13
iftrue NoExplodingTrap
scall GeodudeExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_13
end
@@ -376,7 +384,7 @@
checkevent EVENT_EXPLODING_TRAP_14
iftrue NoExplodingTrap
scall KoffingExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_14
end
@@ -384,7 +392,7 @@
checkevent EVENT_EXPLODING_TRAP_15
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_15
end
@@ -392,7 +400,7 @@
checkevent EVENT_EXPLODING_TRAP_16
iftrue NoExplodingTrap
scall KoffingExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_16
end
@@ -400,7 +408,7 @@
checkevent EVENT_EXPLODING_TRAP_17
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_17
end
@@ -408,7 +416,7 @@
checkevent EVENT_EXPLODING_TRAP_18
iftrue NoExplodingTrap
scall GeodudeExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_18
end
@@ -416,7 +424,7 @@
checkevent EVENT_EXPLODING_TRAP_19
iftrue NoExplodingTrap
scall GeodudeExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_19
end
@@ -424,7 +432,7 @@
checkevent EVENT_EXPLODING_TRAP_20
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_20
end
@@ -432,7 +440,7 @@
checkevent EVENT_EXPLODING_TRAP_21
iftrue NoExplodingTrap
scall KoffingExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_21
end
@@ -440,7 +448,7 @@
checkevent EVENT_EXPLODING_TRAP_22
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_22
end
@@ -448,9 +456,9 @@
special FadeOutPalettes
cry VOLTORB
special FadeInPalettes
- setlasttalked $ff
+ setlasttalked -1
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
- loadpokedata VOLTORB, 23
+ loadwildmon VOLTORB, 23
startbattle
end
@@ -458,9 +466,9 @@
special FadeOutPalettes
cry GEODUDE
special FadeInPalettes
- setlasttalked $ff
+ setlasttalked -1
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
- loadpokedata GEODUDE, 21
+ loadwildmon GEODUDE, 21
startbattle
end
@@ -468,9 +476,9 @@
special FadeOutPalettes
cry KOFFING
special FadeInPalettes
- setlasttalked $ff
+ setlasttalked -1
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
- loadpokedata KOFFING, 21
+ loadwildmon KOFFING, 21
startbattle
end
@@ -481,11 +489,11 @@
trainer EVENT_BEAT_SCIENTIST_JED, SCIENTIST, JED, ScientistJedSeenText, ScientistJedBeatenText, 0, ScientistJedScript
ScientistJedScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6cc16
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntM16:
@@ -492,11 +500,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_16, GRUNTM, 16, GruntM16SeenText, GruntM16BeatenText, 0, GruntM16Script
GruntM16Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6cd1b
+ waitbutton
closetext
- loadmovesprites
end
MapTeamRocketBaseB1FSignpost5Script:
@@ -506,13 +514,13 @@
jumpstd teamrocketoath
MapTeamRocketBaseB1FSignpost0Script:
- loadfont
+ opentext
checkevent EVENT_TURNED_OFF_SECURITY_CAMERAS
iftrue UnknownScript_0x6cabe
writetext UnknownText_0x6cdad
playsound SFX_TALLY
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_TURNED_OFF_SECURITY_CAMERAS
setevent EVENT_SECURITY_CAMERA_1
setevent EVENT_SECURITY_CAMERA_2
@@ -523,20 +531,20 @@
UnknownScript_0x6cabe:
writetext UnknownText_0x6cdd0
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x6cac4:
- db HYPER_POTION, 1
+TeamRocketBaseB1FHyperPotion:
+ itemball HYPER_POTION
-ItemFragment_0x6cac6:
- db NUGGET, 1
+TeamRocketBaseB1FNugget:
+ itemball NUGGET
-ItemFragment_0x6cac8:
- db GUARD_SPEC, 1
+TeamRocketBaseB1FGuardSpec:
+ itemball GUARD_SPEC
-MapTeamRocketBaseB1FSignpostItem8:
+TeamRocketBaseB1FHiddenRevive:
dwb EVENT_TEAM_ROCKET_BASE_B1F_HIDDEN_REVIVE, REVIVE
@@ -782,7 +790,7 @@
signpost 5, 24, SIGNPOST_UP, MapTeamRocketBaseB1FSignpost5Script
signpost 11, 20, SIGNPOST_READ, MapTeamRocketBaseB1FSignpost7Script
signpost 11, 21, SIGNPOST_READ, MapTeamRocketBaseB1FSignpost7Script
- signpost 11, 3, SIGNPOST_ITEM, MapTeamRocketBaseB1FSignpostItem8
+ signpost 11, 3, SIGNPOST_ITEM, TeamRocketBaseB1FHiddenRevive
.PersonEvents:
db 6
@@ -789,6 +797,6 @@
person_event SPRITE_ROCKET, 0, 0, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_SECURITY_GRUNTS
person_event SPRITE_ROCKET, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 3, TrainerGruntM16, EVENT_TEAM_ROCKET_BASE_POPULATION
person_event SPRITE_SCIENTIST, 12, 18, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerScientistJed, EVENT_TEAM_ROCKET_BASE_POPULATION
- person_event SPRITE_POKE_BALL, 6, 27, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x6cac4, EVENT_TEAM_ROCKET_BASE_B1F_HYPER_POTION
- person_event SPRITE_POKE_BALL, 15, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x6cac6, EVENT_TEAM_ROCKET_BASE_B1F_NUGGET
- person_event SPRITE_POKE_BALL, 12, 21, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x6cac8, EVENT_TEAM_ROCKET_BASE_B1F_GUARD_SPEC
+ person_event SPRITE_POKE_BALL, 6, 27, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TeamRocketBaseB1FHyperPotion, EVENT_TEAM_ROCKET_BASE_B1F_HYPER_POTION
+ person_event SPRITE_POKE_BALL, 15, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TeamRocketBaseB1FNugget, EVENT_TEAM_ROCKET_BASE_B1F_NUGGET
+ person_event SPRITE_POKE_BALL, 12, 21, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TeamRocketBaseB1FGuardSpec, EVENT_TEAM_ROCKET_BASE_B1F_GUARD_SPEC
--- a/maps/TeamRocketBaseB2F.asm
+++ b/maps/TeamRocketBaseB2F.asm
@@ -1,3 +1,19 @@
+const_value set 2
+ const TEAMROCKETBASEB2F_ROCKET1
+ const TEAMROCKETBASEB2F_ROCKET_GIRL
+ const TEAMROCKETBASEB2F_LANCE
+ const TEAMROCKETBASEB2F_DRAGON
+ const TEAMROCKETBASEB2F_VOLTORB1
+ const TEAMROCKETBASEB2F_VOLTORB2
+ const TEAMROCKETBASEB2F_VOLTORB3
+ const TEAMROCKETBASEB2F_VOLTORB4
+ const TEAMROCKETBASEB2F_VOLTORB5
+ const TEAMROCKETBASEB2F_VOLTORB6
+ const TEAMROCKETBASEB2F_ROCKET2
+ const TEAMROCKETBASEB2F_ROCKET3
+ const TEAMROCKETBASEB2F_ROCKET4
+ const TEAMROCKETBASEB2F_POKE_BALL
+
TeamRocketBaseB2F_MapScriptHeader:
.MapTriggers:
db 4
@@ -37,99 +53,99 @@
return
UnknownScript_0x6cf95:
- moveperson $4, $9, $d
+ moveperson TEAMROCKETBASEB2F_LANCE, $9, $d
jump UnknownScript_0x6cfac
UnknownScript_0x6cf9c:
- moveperson $3, $15, $10
- moveperson $2, $15, $10
- moveperson $5, $a, $d
- moveperson $4, $a, $d
+ moveperson TEAMROCKETBASEB2F_ROCKET_GIRL, $15, $10
+ moveperson TEAMROCKETBASEB2F_ROCKET1, $15, $10
+ moveperson TEAMROCKETBASEB2F_DRAGON, $a, $d
+ moveperson TEAMROCKETBASEB2F_LANCE, $a, $d
UnknownScript_0x6cfac:
- appear $3
- appear $2
- loadfont
+ appear TEAMROCKETBASEB2F_ROCKET_GIRL
+ appear TEAMROCKETBASEB2F_ROCKET1
+ opentext
writetext UnknownText_0x6d2ad
+ waitbutton
closetext
- loadmovesprites
spriteface PLAYER, DOWN
showemote EMOTE_SHOCK, PLAYER, 15
applymovement PLAYER, MovementData_0x6d21f
playmusic MUSIC_ROCKET_ENCOUNTER
- applymovement $3, MovementData_0x6d224
+ applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d224
spriteface PLAYER, UP
- applymovement $2, MovementData_0x6d22f
- loadfont
+ applymovement TEAMROCKETBASEB2F_ROCKET1, MovementData_0x6d22f
+ opentext
writetext UnknownText_0x6d2c3
+ waitbutton
closetext
- loadmovesprites
cry DRAGONITE
- spriteface $3, LEFT
+ spriteface TEAMROCKETBASEB2F_ROCKET_GIRL, LEFT
spriteface PLAYER, LEFT
- appear $5
- applymovement $5, MovementData_0x6d236
- applymovement $3, MovementData_0x6d23b
- applymovement $2, MovementData_0x6d24c
- appear $4
- applymovement $4, MovementData_0x6d244
- loadfont
+ appear TEAMROCKETBASEB2F_DRAGON
+ applymovement TEAMROCKETBASEB2F_DRAGON, MovementData_0x6d236
+ applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d23b
+ applymovement TEAMROCKETBASEB2F_ROCKET1, MovementData_0x6d24c
+ appear TEAMROCKETBASEB2F_LANCE
+ applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d244
+ opentext
writetext UnknownText_0x6d38c
+ waitbutton
closetext
- loadmovesprites
spriteface PLAYER, RIGHT
- applymovement $3, MovementData_0x6d241
- loadfont
+ applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d241
+ opentext
writetext UnknownText_0x6d3bd
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x6d24a
- applymovement $3, MovementData_0x6d248
+ applymovement TEAMROCKETBASEB2F_ROCKET1, MovementData_0x6d24a
+ applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d248
winlosstext UnknownText_0x6d45c, 0
- setlasttalked $3
+ setlasttalked TEAMROCKETBASEB2F_ROCKET_GIRL
loadtrainer EXECUTIVEF, 2
startbattle
- disappear $5
+ disappear TEAMROCKETBASEB2F_DRAGON
setevent EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE
setevent EVENT_TEAM_ROCKET_BASE_B2F_GRUNT_WITH_EXECUTIVE
setevent EVENT_TEAM_ROCKET_BASE_B2F_LANCE
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_ROCKET_EXECUTIVEF_2
- loadfont
+ opentext
writetext UnknownText_0x6d4c6
+ waitbutton
closetext
- loadmovesprites
special Special_FadeBlackQuickly
special Special_ReloadSpritesNoPalettes
- disappear $2
- disappear $3
- disappear $c
- disappear $d
- disappear $e
+ disappear TEAMROCKETBASEB2F_ROCKET1
+ disappear TEAMROCKETBASEB2F_ROCKET_GIRL
+ disappear TEAMROCKETBASEB2F_ROCKET2
+ disappear TEAMROCKETBASEB2F_ROCKET3
+ disappear TEAMROCKETBASEB2F_ROCKET4
pause 15
special Special_FadeInQuickly
dotrigger $2
clearevent EVENT_TEAM_ROCKET_BASE_B2F_LANCE
- spriteface $4, DOWN
- loadfont
+ spriteface TEAMROCKETBASEB2F_LANCE, DOWN
+ opentext
writetext UnknownText_0x6d5d8
+ waitbutton
closetext
- loadmovesprites
- applymovement $4, MovementData_0x6d250
+ applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d250
spriteface PLAYER, UP
- loadfont
+ opentext
writetext UnknownText_0x6d64e
+ waitbutton
closetext
- loadmovesprites
- follow $4, PLAYER
- applymovement $4, MovementData_0x6d254
+ follow TEAMROCKETBASEB2F_LANCE, PLAYER
+ applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d254
stopfollow
- applymovement $4, MovementData_0x6d258
- loadfont
+ applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d258
+ opentext
writetext UnknownText_0x6d6cf
+ waitbutton
closetext
- loadmovesprites
- applymovement $4, MovementData_0x6d267
- disappear $4
+ applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d267
+ disappear TEAMROCKETBASEB2F_LANCE
UnknownScript_0x6d075:
applymovement PLAYER, MovementData_0x6d271
@@ -136,10 +152,10 @@
end
UnknownScript_0x6d07a:
- loadfont
+ opentext
writetext UnknownText_0x6d7ea
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x6d278
end
@@ -149,32 +165,32 @@
UnknownScript_0x6d08b:
spriteface PLAYER, RIGHT
- spriteface $4, LEFT
+ spriteface TEAMROCKETBASEB2F_LANCE, LEFT
UnknownScript_0x6d091:
- loadfont
+ opentext
writetext UnknownText_0x6da97
+ waitbutton
closetext
- loadmovesprites
special FadeOutPalettes
special Mobile_HealParty
playsound SFX_FULL_HEAL
special HealParty
special FadeInPalettes
- loadfont
+ opentext
writetext UnknownText_0x6daf7
+ waitbutton
closetext
- loadmovesprites
dotrigger $1
setevent EVENT_LANCE_HEALED_YOU_IN_TEAM_ROCKET_BASE
checkcode VAR_FACING
if_equal RIGHT, UnknownScript_0x6d0be
- applymovement $4, MovementData_0x6d212
- disappear $4
+ applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d212
+ disappear TEAMROCKETBASEB2F_LANCE
end
UnknownScript_0x6d0be:
- applymovement $4, MovementData_0x6d219
- disappear $4
+ applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d219
+ disappear TEAMROCKETBASEB2F_LANCE
end
TrainerGruntM17:
@@ -181,11 +197,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_17, GRUNTM, 17, GruntM17SeenText, GruntM17BeatenText, 0, GruntM17Script
GruntM17Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6db88
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntM18:
@@ -192,11 +208,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_18, GRUNTM, 18, GruntM18SeenText, GruntM18BeatenText, 0, GruntM18Script
GruntM18Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6dc1a
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntM19:
@@ -203,20 +219,20 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_19, GRUNTM, 19, GruntM19SeenText, GruntM19BeatenText, 0, GruntM19Script
GruntM19Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6dcd1
+ waitbutton
closetext
- loadmovesprites
end
VoltorbScript_0x6d101:
cry ELECTRODE
- loadpokedata ELECTRODE, 23
+ loadwildmon ELECTRODE, 23
startbattle
iftrue UnknownScript_0x6d182
- disappear $6
- disappear $9
+ disappear TEAMROCKETBASEB2F_VOLTORB1
+ disappear TEAMROCKETBASEB2F_VOLTORB4
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
iffalse UnknownScript_0x6d182
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
@@ -223,7 +239,7 @@
iffalse UnknownScript_0x6d182
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
iffalse UnknownScript_0x6d182
- returnafterbattle
+ reloadmapafterbattle
special PlayMapMusic
applymovement PLAYER, MovementData_0x6d28c
jump UnknownScript_0x6d184
@@ -230,11 +246,11 @@
VoltorbScript_0x6d12c:
cry ELECTRODE
- loadpokedata ELECTRODE, 23
+ loadwildmon ELECTRODE, 23
startbattle
iftrue UnknownScript_0x6d182
- disappear $7
- disappear $a
+ disappear TEAMROCKETBASEB2F_VOLTORB2
+ disappear TEAMROCKETBASEB2F_VOLTORB5
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
iffalse UnknownScript_0x6d182
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
@@ -241,7 +257,7 @@
iffalse UnknownScript_0x6d182
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
iffalse UnknownScript_0x6d182
- returnafterbattle
+ reloadmapafterbattle
special PlayMapMusic
applymovement PLAYER, MovementData_0x6d299
jump UnknownScript_0x6d184
@@ -248,11 +264,11 @@
VoltorbScript_0x6d157:
cry ELECTRODE
- loadpokedata ELECTRODE, 23
+ loadwildmon ELECTRODE, 23
startbattle
iftrue UnknownScript_0x6d182
- disappear $8
- disappear $b
+ disappear TEAMROCKETBASEB2F_VOLTORB3
+ disappear TEAMROCKETBASEB2F_VOLTORB6
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
iffalse UnknownScript_0x6d182
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
@@ -259,36 +275,36 @@
iffalse UnknownScript_0x6d182
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
iffalse UnknownScript_0x6d182
- returnafterbattle
+ reloadmapafterbattle
special PlayMapMusic
applymovement PLAYER, MovementData_0x6d2a4
jump UnknownScript_0x6d184
UnknownScript_0x6d182:
- returnafterbattle
+ reloadmapafterbattle
end
UnknownScript_0x6d184:
- moveperson $4, $12, $6
- appear $4
- applymovement $4, MovementData_0x6d27a
+ moveperson TEAMROCKETBASEB2F_LANCE, $12, $6
+ appear TEAMROCKETBASEB2F_LANCE
+ applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d27a
spriteface PLAYER, RIGHT
- loadfont
+ opentext
writetext UnknownText_0x6d809
- keeptextopen
+ buttonsound
verbosegiveitem HM_WHIRLPOOL
setevent EVENT_GOT_HM06_WHIRLPOOL
writetext UnknownText_0x6d8f8
+ waitbutton
closetext
- loadmovesprites
- spriteface $4, DOWN
- loadfont
+ spriteface TEAMROCKETBASEB2F_LANCE, DOWN
+ opentext
writetext UnknownText_0x6d994
+ waitbutton
closetext
- loadmovesprites
spriteface PLAYER, DOWN
- applymovement $4, MovementData_0x6d283
- disappear $4
+ applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d283
+ disappear TEAMROCKETBASEB2F_LANCE
setevent EVENT_CLEARED_ROCKET_HIDEOUT
clearflag ENGINE_ROCKET_SIGNAL_ON_CH20
setevent EVENT_ROUTE_43_GATE_ROCKETS
@@ -309,44 +325,44 @@
MapTeamRocketBaseB2FSignpost1Script:
- loadfont
+ opentext
checkevent EVENT_LEARNED_HAIL_GIOVANNI
iftrue UnknownScript_0x6d1e8
writetext UnknownText_0x6dd39
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6d1e8:
writetext UnknownText_0x6dd6b
- closetext
+ waitbutton
playsound SFX_ENTER_DOOR
changeblock $e, $c, $7
reloadmappart
- loadmovesprites
+ closetext
setevent EVENT_OPENED_DOOR_TO_ROCKET_HIDEOUT_TRANSMITTER
- waitbutton
+ waitsfx
end
MapTeamRocketBaseB2FSignpost21Script:
- loadfont
+ opentext
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue UnknownScript_0x6d207
writetext UnknownText_0x6dda7
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x6d207:
writetext UnknownText_0x6de03
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x6d20d:
- db TM_THIEF, 1
+TeamRocketBaseB2FTMThief:
+ itemball TM_THIEF
-MapTeamRocketBaseB2FSignpostItem22:
+TeamRocketBaseB2FHiddenFullHeal:
dwb EVENT_TEAM_ROCKET_BASE_B2F_HIDDEN_FULL_HEAL, FULL_HEAL
@@ -948,7 +964,7 @@
signpost 6, 17, SIGNPOST_READ, MapTeamRocketBaseB2FSignpost21Script
signpost 7, 17, SIGNPOST_READ, MapTeamRocketBaseB2FSignpost21Script
signpost 8, 17, SIGNPOST_READ, MapTeamRocketBaseB2FSignpost21Script
- signpost 7, 26, SIGNPOST_ITEM, MapTeamRocketBaseB2FSignpostItem22
+ signpost 7, 26, SIGNPOST_ITEM, TeamRocketBaseB2FHiddenFullHeal
.PersonEvents:
db 14
@@ -965,4 +981,4 @@
person_event SPRITE_ROCKET, 13, 25, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 3, TrainerGruntM17, EVENT_TEAM_ROCKET_BASE_POPULATION
person_event SPRITE_ROCKET, 1, 4, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 1, TrainerGruntM18, EVENT_TEAM_ROCKET_BASE_POPULATION
person_event SPRITE_ROCKET, 14, 21, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 4, TrainerGruntM19, EVENT_TEAM_ROCKET_BASE_POPULATION
- person_event SPRITE_POKE_BALL, 10, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x6d20d, EVENT_TEAM_ROCKET_BASE_B2F_TM_THIEF
+ person_event SPRITE_POKE_BALL, 10, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TeamRocketBaseB2FTMThief, EVENT_TEAM_ROCKET_BASE_B2F_TM_THIEF
--- a/maps/TeamRocketBaseB3F.asm
+++ b/maps/TeamRocketBaseB3F.asm
@@ -1,12 +1,28 @@
+const_value set 2
+ const TEAMROCKETBASEB3F_LANCE
+ const TEAMROCKETBASEB3F_ROCKET1
+ const TEAMROCKETBASEB3F_MOLTRES
+ const TEAMROCKETBASEB3F_ROCKET_GIRL
+ const TEAMROCKETBASEB3F_ROCKET2
+ const TEAMROCKETBASEB3F_SCIENTIST1
+ const TEAMROCKETBASEB3F_SCIENTIST2
+ const TEAMROCKETBASEB3F_ROCKET3
+ const TEAMROCKETBASEB3F_SILVER
+ const TEAMROCKETBASEB3F_POKE_BALL1
+ const TEAMROCKETBASEB3F_POKE_BALL2
+ const TEAMROCKETBASEB3F_POKE_BALL3
+ const TEAMROCKETBASEB3F_POKE_BALL4
+ const TEAMROCKETBASEB3F_POKE_BALL5
+
TeamRocketBaseB3F_MapScriptHeader:
.MapTriggers:
db 4
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
dw .Trigger2, 0
dw .Trigger3, 0
- dw .Trigger4, 0
.MapCallbacks:
db 1
@@ -15,10 +31,13 @@
dbw 1, .CheckGiovanniDoor
-.Trigger1:
+.Trigger0:
priorityjump LanceScript_0x6dffc
end
+.Trigger1:
+ end
+
.Trigger2:
end
@@ -25,9 +44,6 @@
.Trigger3:
end
-.Trigger4:
- end
-
.CheckGiovanniDoor:
checkevent EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE
iftrue .OpenSesame
@@ -40,15 +56,15 @@
LanceScript_0x6dffc:
spriteface PLAYER, LEFT
pause 5
- spriteface $4, RIGHT
+ spriteface TEAMROCKETBASEB3F_MOLTRES, RIGHT
pause 20
- applymovement $2, MovementData_0x6e12a
- loadfont
+ applymovement TEAMROCKETBASEB3F_LANCE, MovementData_0x6e12a
+ opentext
writetext UnknownText_0x6e179
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x6e12c
- disappear $2
+ applymovement TEAMROCKETBASEB3F_LANCE, MovementData_0x6e12c
+ disappear TEAMROCKETBASEB3F_LANCE
dotrigger $1
end
@@ -55,19 +71,19 @@
UnknownScript_0x6e019:
spriteface PLAYER, LEFT
showemote EMOTE_SHOCK, PLAYER, 15
- special Special_RotatePalettesRightMusic
- appear $a
- applymovement $a, MovementData_0x6e164
+ special Special_FadeOutMusic
+ appear TEAMROCKETBASEB3F_SILVER
+ applymovement TEAMROCKETBASEB3F_SILVER, MovementData_0x6e164
spriteface PLAYER, LEFT
playmusic MUSIC_RIVAL_ENCOUNTER
- loadfont
+ opentext
writetext UnknownText_0x6e267
+ waitbutton
closetext
- loadmovesprites
playsound SFX_TACKLE
applymovement PLAYER, MovementData_0x6e175
- applymovement $a, MovementData_0x6e16d
- disappear $a
+ applymovement TEAMROCKETBASEB3F_SILVER, MovementData_0x6e16d
+ disappear TEAMROCKETBASEB3F_SILVER
dotrigger $2
special RestartMapMusic
end
@@ -83,36 +99,36 @@
applymovement PLAYER, MovementData_0x6e13a
UnknownScript_0x6e056:
pause 30
- showemote EMOTE_SHOCK, $3, 15
+ showemote EMOTE_SHOCK, TEAMROCKETBASEB3F_ROCKET1, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- spriteface $3, DOWN
- loadfont
+ spriteface TEAMROCKETBASEB3F_ROCKET1, DOWN
+ opentext
writetext UnknownText_0x6e400
+ waitbutton
closetext
- loadmovesprites
- applymovement $3, MovementData_0x6e142
+ applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e142
winlosstext UnknownText_0x6e511, 0
- setlasttalked $3
+ setlasttalked TEAMROCKETBASEB3F_ROCKET1
loadtrainer EXECUTIVEM, 4
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_ROCKET_EXECUTIVEM_4
- loadfont
+ opentext
writetext UnknownText_0x6e548
+ waitbutton
closetext
- loadmovesprites
- applymovement $3, MovementData_0x6e144
+ applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e144
playsound SFX_TACKLE
- applymovement $3, MovementData_0x6e147
- disappear $3
+ applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e147
+ disappear TEAMROCKETBASEB3F_ROCKET1
dotrigger $3
end
MoltresScript_0x6e091:
- loadfont
+ opentext
writetext UnknownText_0x6e585
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_LEARNED_HAIL_GIOVANNI
end
@@ -120,11 +136,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTF_5, GRUNTF, 5, GruntF5SeenText, GruntF5BeatenText, 0, GruntF5Script
GruntF5Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6e611
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_LEARNED_SLOWPOKETAIL
end
@@ -132,11 +148,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_28, GRUNTM, 28, GruntM28SeenText, GruntM28BeatenText, 0, GruntM28Script
GruntM28Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6e737
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_LEARNED_RATICATE_TAIL
end
@@ -144,11 +160,11 @@
trainer EVENT_BEAT_SCIENTIST_ROSS, SCIENTIST, ROSS, ScientistRossSeenText, ScientistRossBeatenText, 0, ScientistRossScript
ScientistRossScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6e822
+ waitbutton
closetext
- loadmovesprites
end
TrainerScientistMitch:
@@ -155,11 +171,11 @@
trainer EVENT_BEAT_SCIENTIST_MITCH, SCIENTIST, MITCH, ScientistMitchSeenText, ScientistMitchBeatenText, 0, ScientistMitchScript
ScientistMitchScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x6e90a
+ waitbutton
closetext
- loadmovesprites
end
BossDoor:
@@ -167,7 +183,7 @@
dw .Script
.Script
- loadfont
+ opentext
checkevent EVENT_LEARNED_SLOWPOKETAIL
iffalse .NeedsPassword
checkevent EVENT_LEARNED_RATICATE_TAIL
@@ -176,38 +192,38 @@
.NeedsPassword
writetext UnknownText_0x6e970
+ waitbutton
closetext
- loadmovesprites
end
.OpenSesame
writetext UnknownText_0x6e9a3
- closetext
+ waitbutton
playsound SFX_ENTER_DOOR
changeblock $a, $8, $7
reloadmappart
- loadmovesprites
+ closetext
setevent EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE
- waitbutton
+ waitsfx
end
MapTeamRocketBaseB3FSignpost9Script:
jumpstd teamrocketoath
-ItemFragment_0x6e120:
- db PROTEIN, 1
+TeamRocketBaseB3FProtein:
+ itemball PROTEIN
-ItemFragment_0x6e122:
- db X_SPECIAL, 1
+TeamRocketBaseB3FXSpecial:
+ itemball X_SPECIAL
-ItemFragment_0x6e124:
- db FULL_HEAL, 1
+TeamRocketBaseB3FFullHeal:
+ itemball FULL_HEAL
-ItemFragment_0x6e126:
- db ICE_HEAL, 1
+TeamRocketBaseB3FIceHeal:
+ itemball ICE_HEAL
-ItemFragment_0x6e128:
- db ULTRA_BALL, 1
+TeamRocketBaseB3FUltraBall:
+ itemball ULTRA_BALL
MovementData_0x6e12a:
step_right
@@ -596,8 +612,8 @@
person_event SPRITE_SCIENTIST, 15, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerScientistMitch, EVENT_TEAM_ROCKET_BASE_POPULATION
person_event SPRITE_ROCKET, 14, 24, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, RocketScript_0x6e048, EVENT_TEAM_ROCKET_BASE_POPULATION
person_event SPRITE_SILVER, 5, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_TEAM_ROCKET_BASE
- person_event SPRITE_POKE_BALL, 12, 1, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x6e120, EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN
- person_event SPRITE_POKE_BALL, 12, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x6e122, EVENT_TEAM_ROCKET_BASE_B3F_X_SPECIAL
- person_event SPRITE_POKE_BALL, 9, 28, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x6e124, EVENT_TEAM_ROCKET_BASE_B3F_FULL_HEAL
- person_event SPRITE_POKE_BALL, 2, 17, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x6e126, EVENT_TEAM_ROCKET_BASE_B3F_ICE_HEAL
- person_event SPRITE_POKE_BALL, 10, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x6e128, EVENT_TEAM_ROCKET_BASE_B3F_ULTRA_BALL
+ person_event SPRITE_POKE_BALL, 12, 1, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TeamRocketBaseB3FProtein, EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN
+ person_event SPRITE_POKE_BALL, 12, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TeamRocketBaseB3FXSpecial, EVENT_TEAM_ROCKET_BASE_B3F_X_SPECIAL
+ person_event SPRITE_POKE_BALL, 9, 28, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TeamRocketBaseB3FFullHeal, EVENT_TEAM_ROCKET_BASE_B3F_FULL_HEAL
+ person_event SPRITE_POKE_BALL, 2, 17, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TeamRocketBaseB3FIceHeal, EVENT_TEAM_ROCKET_BASE_B3F_ICE_HEAL
+ person_event SPRITE_POKE_BALL, 10, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TeamRocketBaseB3FUltraBall, EVENT_TEAM_ROCKET_BASE_B3F_ULTRA_BALL
--- a/maps/TimeCapsule.asm
+++ b/maps/TimeCapsule.asm
@@ -1,10 +1,14 @@
+const_value set 2
+ const TIMECAPSULE_CHRIS1
+ const TIMECAPSULE_CHRIS2
+
TimeCapsule_MapScriptHeader:
.MapTriggers:
db 2
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
- dw .Trigger2, 0
.MapCallbacks:
db 1
@@ -13,23 +17,23 @@
dbw 2, TimeCapsule_SetWhichChris
-.Trigger1:
+.Trigger0:
priorityjump TimeCapsule_Initialize
end
-.Trigger2:
+.Trigger1:
end
TimeCapsule_SetWhichChris:
special Special_CableClubCheckWhichChris
iffalse .Chris2
- disappear $3
- appear $2
+ disappear TIMECAPSULE_CHRIS2
+ appear TIMECAPSULE_CHRIS1
return
.Chris2:
- disappear $2
- appear $3
+ disappear TIMECAPSULE_CHRIS1
+ appear TIMECAPSULE_CHRIS2
return
TimeCapsule_Initialize:
@@ -43,10 +47,10 @@
end
ChrisScript_0x19351a:
- loadfont
+ opentext
writetext UnknownText_0x193521
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x193521:
--- a/maps/TinTower1F.asm
+++ b/maps/TinTower1F.asm
@@ -1,3 +1,15 @@
+const_value set 2
+ const TINTOWER1F_SUICUNE
+ const TINTOWER1F_RAIKOU
+ const TINTOWER1F_ENTEI
+ const TINTOWER1F_SUPER_NERD
+ const TINTOWER1F_SAGE1
+ const TINTOWER1F_SAGE2
+ const TINTOWER1F_SAGE3
+ const TINTOWER1F_SAGE4
+ const TINTOWER1F_SAGE5
+ const TINTOWER1F_SAGE6
+
TinTower1F_MapScriptHeader:
.MapTriggers:
db 2
@@ -34,7 +46,7 @@
UnknownScript_0x185047:
checkevent EVENT_FOUGHT_HO_OH
iffalse UnknownScript_0x18504f
- appear $5
+ appear TINTOWER1F_SUPER_NERD
UnknownScript_0x18504f:
return
@@ -41,31 +53,31 @@
UnknownScript_0x185050:
checkevent EVENT_FOUGHT_SUICUNE
iftrue UnknownScript_0x185077
- appear $2
+ appear TINTOWER1F_SUICUNE
writebyte RAIKOU
special SpecialMonCheck
iftrue UnknownScript_0x185065
- appear $3
+ appear TINTOWER1F_RAIKOU
jump UnknownScript_0x185067
UnknownScript_0x185065:
- disappear $3
+ disappear TINTOWER1F_RAIKOU
UnknownScript_0x185067:
writebyte ENTEI
special SpecialMonCheck
iftrue UnknownScript_0x185074
- appear $4
+ appear TINTOWER1F_ENTEI
jump UnknownScript_0x185076
UnknownScript_0x185074:
- disappear $4
+ disappear TINTOWER1F_ENTEI
UnknownScript_0x185076:
return
UnknownScript_0x185077:
- disappear $2
- disappear $3
- disappear $4
+ disappear TINTOWER1F_SUICUNE
+ disappear TINTOWER1F_RAIKOU
+ disappear TINTOWER1F_ENTEI
clearevent EVENT_TIN_TOWER_1F_WISE_TRIO_1
setevent EVENT_TIN_TOWER_1F_WISE_TRIO_2
return
@@ -83,40 +95,40 @@
writebyte RAIKOU
special SpecialMonCheck
iftrue UnknownScript_0x1850b6
- applymovement $3, MovementData_0x1851d0
+ applymovement TINTOWER1F_RAIKOU, MovementData_0x1851d0
spriteface PLAYER, LEFT
cry RAIKOU
pause 10
playsound SFX_WARP_FROM
- applymovement $3, MovementData_0x1851d4
- disappear $3
+ applymovement TINTOWER1F_RAIKOU, MovementData_0x1851d4
+ disappear TINTOWER1F_RAIKOU
playsound SFX_EXIT_BUILDING
- waitbutton
+ waitsfx
UnknownScript_0x1850b6:
writebyte ENTEI
special SpecialMonCheck
iftrue UnknownScript_0x1850d7
- applymovement $4, MovementData_0x1851da
+ applymovement TINTOWER1F_ENTEI, MovementData_0x1851da
spriteface PLAYER, RIGHT
cry ENTEI
pause 10
playsound SFX_WARP_FROM
- applymovement $4, MovementData_0x1851de
- disappear $4
+ applymovement TINTOWER1F_ENTEI, MovementData_0x1851de
+ disappear TINTOWER1F_ENTEI
playsound SFX_EXIT_BUILDING
- waitbutton
+ waitsfx
UnknownScript_0x1850d7:
spriteface PLAYER, UP
pause 10
applymovement PLAYER, MovementData_0x1851e8
- applymovement $2, MovementData_0x1851e4
+ applymovement TINTOWER1F_SUICUNE, MovementData_0x1851e4
cry SUICUNE
pause 20
- loadpokedata SUICUNE, 40
+ loadwildmon SUICUNE, 40
writecode VAR_BATTLETYPE, BATTLETYPE_SUICUNE
startbattle
- reloadmapmusic
- disappear $2
+ dontrestartmapmusic
+ disappear TINTOWER1F_SUICUNE
setevent EVENT_FOUGHT_SUICUNE
setevent EVENT_SAW_SUICUNE_ON_ROUTE_42
domaptrigger ROUTE_42, $0
@@ -126,39 +138,39 @@
domaptrigger CIANWOOD_CITY, $0
dotrigger $1
clearevent EVENT_SET_WHEN_FOUGHT_HO_OH
- returnafterbattle
+ reloadmapafterbattle
pause 20
spriteface PLAYER, DOWN
playmusic MUSIC_MYSTICALMAN_ENCOUNTER
playsound SFX_ENTER_DOOR
- moveperson $5, $a, $f
- appear $5
- applymovement $5, MovementData_0x1851ec
+ moveperson TINTOWER1F_SUPER_NERD, $a, $f
+ appear TINTOWER1F_SUPER_NERD
+ applymovement TINTOWER1F_SUPER_NERD, MovementData_0x1851ec
playsound SFX_ENTER_DOOR
- moveperson $6, $9, $f
- appear $6
- applymovement $6, MovementData_0x1851f5
+ moveperson TINTOWER1F_SAGE1, $9, $f
+ appear TINTOWER1F_SAGE1
+ applymovement TINTOWER1F_SAGE1, MovementData_0x1851f5
playsound SFX_ENTER_DOOR
- moveperson $7, $9, $f
- appear $7
- applymovement $7, MovementData_0x1851fb
+ moveperson TINTOWER1F_SAGE2, $9, $f
+ appear TINTOWER1F_SAGE2
+ applymovement TINTOWER1F_SAGE2, MovementData_0x1851fb
playsound SFX_ENTER_DOOR
- moveperson $8, $9, $f
- appear $8
- applymovement $8, MovementData_0x1851fe
- moveperson $6, $7, $d
- moveperson $7, $9, $d
- moveperson $8, $b, $d
+ moveperson TINTOWER1F_SAGE3, $9, $f
+ appear TINTOWER1F_SAGE3
+ applymovement TINTOWER1F_SAGE3, MovementData_0x1851fe
+ moveperson TINTOWER1F_SAGE1, $7, $d
+ moveperson TINTOWER1F_SAGE2, $9, $d
+ moveperson TINTOWER1F_SAGE3, $b, $d
spriteface PLAYER, RIGHT
- loadfont
+ opentext
writetext UnknownText_0x185203
+ waitbutton
closetext
- loadmovesprites
- applymovement $5, MovementData_0x1851f1
+ applymovement TINTOWER1F_SUPER_NERD, MovementData_0x1851f1
playsound SFX_EXIT_BUILDING
- disappear $5
- waitbutton
- special Special_RotatePalettesRightMusic
+ disappear TINTOWER1F_SUPER_NERD
+ waitsfx
+ special Special_FadeOutMusic
pause 20
playmapmusic
end
@@ -182,34 +194,34 @@
SageScript_0x185188:
faceplayer
- loadfont
+ opentext
checkevent EVENT_FOUGHT_HO_OH
iftrue UnknownScript_0x1851b6
checkevent EVENT_GOT_RAINBOW_WING
iftrue UnknownScript_0x1851b0
writetext UnknownText_0x185629
- keeptextopen
+ buttonsound
verbosegiveitem RAINBOW_WING
- loadmovesprites
+ closetext
refreshscreen $0
earthquake 72
- waitbutton
+ waitsfx
playsound SFX_STRENGTH
changeblock $a, $2, $20
reloadmappart
setevent EVENT_GOT_RAINBOW_WING
- loadmovesprites
- loadfont
+ closetext
+ opentext
UnknownScript_0x1851b0:
writetext UnknownText_0x18564a
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x1851b6:
writetext UnknownText_0x185803
+ waitbutton
closetext
- loadmovesprites
end
SageScript_0x1851bc:
--- a/maps/TinTower2F.asm
+++ b/maps/TinTower2F.asm
@@ -1,3 +1,4 @@
+
TinTower2F_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/TinTower3F.asm
+++ b/maps/TinTower3F.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const TINTOWER3F_POKE_BALL
+
TinTower3F_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,8 +8,8 @@
.MapCallbacks:
db 0
-ItemFragment_0x185a37:
- db FULL_HEAL, 1
+TinTower3FFullHeal:
+ itemball FULL_HEAL
TinTower3F_MapEventHeader:
; filler
@@ -25,4 +28,4 @@
.PersonEvents:
db 1
- person_event SPRITE_POKE_BALL, 14, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x185a37, EVENT_TIN_TOWER_3F_FULL_HEAL
+ person_event SPRITE_POKE_BALL, 14, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TinTower3FFullHeal, EVENT_TIN_TOWER_3F_FULL_HEAL
--- a/maps/TinTower4F.asm
+++ b/maps/TinTower4F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const TINTOWER4F_POKE_BALL1
+ const TINTOWER4F_POKE_BALL2
+ const TINTOWER4F_POKE_BALL3
+
TinTower4F_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,16 +10,16 @@
.MapCallbacks:
db 0
-ItemFragment_0x185a58:
- db ULTRA_BALL, 1
+TinTower4FUltraBall:
+ itemball ULTRA_BALL
-ItemFragment_0x185a5a:
- db PP_UP, 1
+TinTower4FPPUp:
+ itemball PP_UP
-ItemFragment_0x185a5c:
- db ESCAPE_ROPE, 1
+TinTower4FEscapeRope:
+ itemball ESCAPE_ROPE
-MapTinTower4FSignpostItem0:
+TinTower4FHiddenMaxPotion:
dwb EVENT_TIN_TOWER_4F_HIDDEN_MAX_POTION, MAX_POTION
@@ -34,10 +39,10 @@
.Signposts:
db 1
- signpost 6, 11, SIGNPOST_ITEM, MapTinTower4FSignpostItem0
+ signpost 6, 11, SIGNPOST_ITEM, TinTower4FHiddenMaxPotion
.PersonEvents:
db 3
- person_event SPRITE_POKE_BALL, 10, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x185a58, EVENT_TIN_TOWER_4F_ULTRA_BALL
- person_event SPRITE_POKE_BALL, 14, 17, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x185a5a, EVENT_TIN_TOWER_4F_PP_UP
- person_event SPRITE_POKE_BALL, 12, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x185a5c, EVENT_TIN_TOWER_4F_ESCAPE_ROPE
+ person_event SPRITE_POKE_BALL, 10, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TinTower4FUltraBall, EVENT_TIN_TOWER_4F_ULTRA_BALL
+ person_event SPRITE_POKE_BALL, 14, 17, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TinTower4FPPUp, EVENT_TIN_TOWER_4F_PP_UP
+ person_event SPRITE_POKE_BALL, 12, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TinTower4FEscapeRope, EVENT_TIN_TOWER_4F_ESCAPE_ROPE
--- a/maps/TinTower5F.asm
+++ b/maps/TinTower5F.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const TINTOWER5F_POKE_BALL
+
TinTower5F_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,14 +8,14 @@
.MapCallbacks:
db 0
-ItemFragment_0x185aa9:
- db RARE_CANDY, 1
+TinTower5FRareCandy:
+ itemball RARE_CANDY
-MapTinTower5FSignpostItem0:
+TinTower5FHiddenFullRestore:
dwb EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE, FULL_RESTORE
-MapTinTower5FSignpostItem1:
+TinTower5FHiddenCarbos:
dwb EVENT_TIN_TOWER_5F_HIDDEN_CARBOS, CARBOS
@@ -32,9 +35,9 @@
.Signposts:
db 2
- signpost 14, 16, SIGNPOST_ITEM, MapTinTower5FSignpostItem0
- signpost 15, 3, SIGNPOST_ITEM, MapTinTower5FSignpostItem1
+ signpost 14, 16, SIGNPOST_ITEM, TinTower5FHiddenFullRestore
+ signpost 15, 3, SIGNPOST_ITEM, TinTower5FHiddenCarbos
.PersonEvents:
db 1
- person_event SPRITE_POKE_BALL, 9, 9, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x185aa9, EVENT_TIN_TOWER_5F_RARE_CANDY
+ person_event SPRITE_POKE_BALL, 9, 9, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TinTower5FRareCandy, EVENT_TIN_TOWER_5F_RARE_CANDY
--- a/maps/TinTower6F.asm
+++ b/maps/TinTower6F.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const TINTOWER6F_POKE_BALL
+
TinTower6F_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,8 +8,8 @@
.MapCallbacks:
db 0
-ItemFragment_0x185ae4:
- db MAX_POTION, 1
+TinTower6FMaxPotion:
+ itemball MAX_POTION
TinTower6F_MapEventHeader:
; filler
@@ -25,4 +28,4 @@
.PersonEvents:
db 1
- person_event SPRITE_POKE_BALL, 8, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x185ae4, EVENT_TIN_TOWER_6F_MAX_POTION
+ person_event SPRITE_POKE_BALL, 8, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TinTower6FMaxPotion, EVENT_TIN_TOWER_6F_MAX_POTION
--- a/maps/TinTower7F.asm
+++ b/maps/TinTower7F.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const TINTOWER7F_POKE_BALL
+
TinTower7F_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,8 +8,8 @@
.MapCallbacks:
db 0
-ItemFragment_0x185b05:
- db MAX_REVIVE, 1
+TinTower7FMaxRevive:
+ itemball MAX_REVIVE
TinTower7F_MapEventHeader:
; filler
@@ -28,4 +31,4 @@
.PersonEvents:
db 1
- person_event SPRITE_POKE_BALL, 1, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x185b05, EVENT_TIN_TOWER_7F_MAX_REVIVE
+ person_event SPRITE_POKE_BALL, 1, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TinTower7FMaxRevive, EVENT_TIN_TOWER_7F_MAX_REVIVE
--- a/maps/TinTower8F.asm
+++ b/maps/TinTower8F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const TINTOWER8F_POKE_BALL1
+ const TINTOWER8F_POKE_BALL2
+ const TINTOWER8F_POKE_BALL3
+
TinTower8F_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,14 +10,14 @@
.MapCallbacks:
db 0
-ItemFragment_0x185b35:
- db NUGGET, 1
+TinTower8FNugget:
+ itemball NUGGET
-ItemFragment_0x185b37:
- db MAX_ELIXER, 1
+TinTower8FMaxElixer:
+ itemball MAX_ELIXER
-ItemFragment_0x185b39:
- db FULL_RESTORE, 1
+TinTower8FFullRestore:
+ itemball FULL_RESTORE
TinTower8F_MapEventHeader:
; filler
@@ -35,6 +40,6 @@
.PersonEvents:
db 3
- person_event SPRITE_POKE_BALL, 13, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x185b35, EVENT_TIN_TOWER_8F_NUGGET
- person_event SPRITE_POKE_BALL, 6, 11, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x185b37, EVENT_TIN_TOWER_8F_MAX_ELIXER
- person_event SPRITE_POKE_BALL, 1, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x185b39, EVENT_TIN_TOWER_8F_FULL_RESTORE
+ person_event SPRITE_POKE_BALL, 13, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TinTower8FNugget, EVENT_TIN_TOWER_8F_NUGGET
+ person_event SPRITE_POKE_BALL, 6, 11, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TinTower8FMaxElixer, EVENT_TIN_TOWER_8F_MAX_ELIXER
+ person_event SPRITE_POKE_BALL, 1, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TinTower8FFullRestore, EVENT_TIN_TOWER_8F_FULL_RESTORE
--- a/maps/TinTower9F.asm
+++ b/maps/TinTower9F.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const TINTOWER9F_POKE_BALL
+
TinTower9F_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,8 +8,8 @@
.MapCallbacks:
db 0
-ItemFragment_0x185b88:
- db HP_UP, 1
+TinTower9FHPUp:
+ itemball HP_UP
UnknownText_0x185b8a:
text "HO-OH: Shaoooh!"
@@ -38,4 +41,4 @@
.PersonEvents:
db 1
- person_event SPRITE_POKE_BALL, 1, 9, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x185b88, EVENT_TIN_TOWER_9F_HP_UP
+ person_event SPRITE_POKE_BALL, 1, 9, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TinTower9FHPUp, EVENT_TIN_TOWER_9F_HP_UP
--- a/maps/TinTowerRoof.asm
+++ b/maps/TinTowerRoof.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const TINTOWERROOF_HO_OH
+
TinTowerRoof_MapScriptHeader:
.MapTriggers:
db 0
@@ -17,26 +20,26 @@
jump UnknownScript_0x77241
UnknownScript_0x7723e:
- appear $2
+ appear TINTOWERROOF_HO_OH
return
UnknownScript_0x77241:
- disappear $2
+ disappear TINTOWERROOF_HO_OH
return
HoOhScript_0x77244:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x77260
cry HO_OH
pause 15
- loadmovesprites
+ closetext
setevent EVENT_FOUGHT_HO_OH
writecode VAR_BATTLETYPE, BATTLETYPE_FORCEITEM
- loadpokedata HO_OH, 60
+ loadwildmon HO_OH, 60
startbattle
- disappear $2
- returnafterbattle
+ disappear TINTOWERROOF_HO_OH
+ reloadmapafterbattle
setevent EVENT_SET_WHEN_FOUGHT_HO_OH
end
--- a/maps/TohjoFalls.asm
+++ b/maps/TohjoFalls.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const TOHJOFALLS_POKE_BALL
+
TohjoFalls_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,8 +8,8 @@
.MapCallbacks:
db 0
-ItemFragment_0x18db02:
- db MOON_STONE, 1
+TohjoFallsMoonStone:
+ itemball MOON_STONE
TohjoFalls_MapEventHeader:
; filler
@@ -25,4 +28,4 @@
.PersonEvents:
db 1
- person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18db02, EVENT_TOHJO_FALLS_MOON_STONE
+ person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TohjoFallsMoonStone, EVENT_TOHJO_FALLS_MOON_STONE
--- a/maps/TradeCenter.asm
+++ b/maps/TradeCenter.asm
@@ -1,10 +1,14 @@
+const_value set 2
+ const TRADECENTER_CHRIS1
+ const TRADECENTER_CHRIS2
+
TradeCenter_MapScriptHeader:
.MapTriggers:
db 2
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
- dw .Trigger2, 0
.MapCallbacks:
db 1
@@ -13,23 +17,23 @@
dbw 2, TradeCenter_SetWhichChris
-.Trigger1:
+.Trigger0:
priorityjump TradeCenter_Initialize
end
-.Trigger2:
+.Trigger1:
end
TradeCenter_SetWhichChris:
special Special_CableClubCheckWhichChris
iffalse .Chris2
- disappear $3
- appear $2
+ disappear TRADECENTER_CHRIS2
+ appear TRADECENTER_CHRIS1
return
.Chris2:
- disappear $2
- appear $3
+ disappear TRADECENTER_CHRIS1
+ appear TRADECENTER_CHRIS2
return
TradeCenter_Initialize:
@@ -43,10 +47,10 @@
end
ChrisScript_0x19340b:
- loadfont
+ opentext
writetext .FriendReadyText
+ waitbutton
closetext
- loadmovesprites
end
.FriendReadyText:
--- a/maps/TrainerHouse1F.asm
+++ b/maps/TrainerHouse1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const TRAINERHOUSE1F_RECEPTIONIST
+ const TRAINERHOUSE1F_COOLTRAINER_M
+ const TRAINERHOUSE1F_COOLTRAINER_F
+ const TRAINERHOUSE1F_YOUNGSTER
+ const TRAINERHOUSE1F_GENTLEMAN
+
TrainerHouse1F_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/TrainerHouseB1F.asm
+++ b/maps/TrainerHouseB1F.asm
@@ -1,78 +1,82 @@
+const_value set 2
+ const TRAINERHOUSEB1F_RECEPTIONIST
+ const TRAINERHOUSEB1F_CHRIS
+
TrainerHouseB1F_MapScriptHeader:
.MapTriggers:
db 1
; triggers
- dw UnknownScript_0x9b38a, 0
+ dw Trigger0, 0
.MapCallbacks:
db 0
-UnknownScript_0x9b38a:
+Trigger0:
end
-UnknownScript_0x9b38b:
+TrainerHouseReceptionistScript:
spriteface PLAYER, UP
- loadfont
+ opentext
checkflag ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
- iftrue UnknownScript_0x9b3f7
- writetext UnknownText_0x9b420
- keeptextopen
+ iftrue .FoughtTooManyTimes
+ writetext TrainerHouseB1FIntroText
+ buttonsound
special SpecialTrainerHouse
- iffalse UnknownScript_0x9b3a6
+ iffalse .GetCal3Name
trainertotext CAL, CAL2, $0
- jump UnknownScript_0x9b3aa
+ jump .GotName
-UnknownScript_0x9b3a6:
+.GetCal3Name:
trainertotext CAL, CAL3, $0
-UnknownScript_0x9b3aa:
- writetext UnknownText_0x9b46a
- keeptextopen
- writetext UnknownText_0x9b487
+.GotName:
+ writetext TrainerHouseB1FYourOpponentIsText
+ buttonsound
+ writetext TrainerHouseB1FAskWantToBattleText
yesorno
- iffalse UnknownScript_0x9b3ed
+ iffalse .Declined
setflag ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
- writetext UnknownText_0x9b4a2
+ writetext TrainerHouseB1FGoRightInText
+ waitbutton
closetext
- loadmovesprites
- applymovement PLAYER, MovementData_0x9b401
- loadfont
- writetext UnknownText_0x9b587
+ applymovement PLAYER, Movement_EnterTrainerHouseBattleRoom
+ opentext
+ writetext TrainerHouseB1FCalBeforeText
+ waitbutton
closetext
- loadmovesprites
special SpecialTrainerHouse
- iffalse UnknownScript_0x9b3dc
- winlosstext UnknownText_0x9b578, 0
- setlasttalked $3
+ iffalse .NoSpecialBattle
+ winlosstext TrainerHouseB1FCalBeatenText, 0
+ setlasttalked TRAINERHOUSEB1F_CHRIS
loadtrainer CAL, CAL2
startbattle
- returnafterbattle
- iffalse UnknownScript_0x9b3e8
-UnknownScript_0x9b3dc:
- winlosstext UnknownText_0x9b578, 0
- setlasttalked $3
+ reloadmapafterbattle
+ iffalse .End
+.NoSpecialBattle:
+ winlosstext TrainerHouseB1FCalBeatenText, 0
+ setlasttalked TRAINERHOUSEB1F_CHRIS
loadtrainer CAL, CAL3
startbattle
- returnafterbattle
-UnknownScript_0x9b3e8:
- applymovement PLAYER, MovementData_0x9b40f
+ reloadmapafterbattle
+.End:
+ applymovement PLAYER, Movement_ExitTrainerHouseBattleRoom
end
-UnknownScript_0x9b3ed:
- writetext UnknownText_0x9b4d6
+.Declined:
+ writetext TrainerHouseB1FPleaseComeAgainText
+ waitbutton
closetext
- loadmovesprites
- applymovement PLAYER, MovementData_0x9b41d
+ applymovement PLAYER, Movement_TrainerHouseTurnBack
end
-UnknownScript_0x9b3f7:
- writetext UnknownText_0x9b51d
+.FoughtTooManyTimes:
+ writetext TrainerHouseB1FSecondChallengeDeniedText
+ waitbutton
closetext
- loadmovesprites
- applymovement PLAYER, MovementData_0x9b41d
+ applymovement PLAYER, Movement_TrainerHouseTurnBack
end
-MovementData_0x9b401:
+Movement_EnterTrainerHouseBattleRoom:
step_left
step_left
step_left
@@ -88,7 +92,7 @@
turn_head_right
step_end
-MovementData_0x9b40f:
+Movement_ExitTrainerHouseBattleRoom:
step_up
step_up
step_up
@@ -104,12 +108,12 @@
step_right
step_end
-MovementData_0x9b41d:
+Movement_TrainerHouseTurnBack:
step_right
turn_head_left
step_end
-UnknownText_0x9b420:
+TrainerHouseB1FIntroText:
text "Hi. Welcome to our"
line "TRAINING HALL."
@@ -118,18 +122,18 @@
cont "day."
done
-UnknownText_0x9b46a:
+TrainerHouseB1FYourOpponentIsText:
text_from_ram StringBuffer3
text " is your"
line "opponent today."
done
-UnknownText_0x9b487:
+TrainerHouseB1FAskWantToBattleText:
text "Would you like to"
line "battle?"
done
-UnknownText_0x9b4a2:
+TrainerHouseB1FGoRightInText:
text "Please go right"
line "through."
@@ -137,7 +141,7 @@
line "right away."
done
-UnknownText_0x9b4d6:
+TrainerHouseB1FPleaseComeAgainText:
text "Sorry. Only those"
line "trainers who will"
@@ -145,7 +149,7 @@
line "allowed to go in."
done
-UnknownText_0x9b51d:
+TrainerHouseB1FSecondChallengeDeniedText:
text "I'm sorry."
line "This would be your"
@@ -156,12 +160,12 @@
line "a day."
done
-UnknownText_0x9b578:
+TrainerHouseB1FCalBeatenText:
text "I lost…"
line "Darn…"
done
-UnknownText_0x9b587:
+TrainerHouseB1FCalBeforeText:
text "I traveled out"
line "here just so I"
cont "could battle you."
@@ -177,7 +181,7 @@
.XYTriggers:
db 1
- xy_trigger 0, $3, $7, $0, UnknownScript_0x9b38b, $0, $0
+ xy_trigger 0, $3, $7, $0, TrainerHouseReceptionistScript, $0, $0
.Signposts:
db 0
--- a/maps/Underground.asm
+++ b/maps/Underground.asm
@@ -1,3 +1,4 @@
+
Underground_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,11 +6,11 @@
.MapCallbacks:
db 0
-MapUndergroundSignpostItem0:
+UndergroundHiddenFullRestore:
dwb EVENT_UNDERGROUND_HIDDEN_FULL_RESTORE, FULL_RESTORE
-MapUndergroundSignpostItem1:
+UndergroundHiddenXSpecial:
dwb EVENT_UNDERGROUND_HIDDEN_X_SPECIAL, X_SPECIAL
@@ -27,8 +28,8 @@
.Signposts:
db 2
- signpost 9, 3, SIGNPOST_ITEM, MapUndergroundSignpostItem0
- signpost 19, 1, SIGNPOST_ITEM, MapUndergroundSignpostItem1
+ signpost 9, 3, SIGNPOST_ITEM, UndergroundHiddenFullRestore
+ signpost 19, 1, SIGNPOST_ITEM, UndergroundHiddenXSpecial
.PersonEvents:
db 0
--- a/maps/UndergroundPathSwitchRoomEntrances.asm
+++ b/maps/UndergroundPathSwitchRoomEntrances.asm
@@ -1,10 +1,55 @@
+UNDERGROUND_DOOR_CLOSED1 EQU $2a
+UNDERGROUND_DOOR_CLOSED2 EQU $3e
+UNDERGROUND_DOOR_CLOSED3 EQU $3f
+UNDERGROUND_DOOR_OPEN1 EQU $2d
+UNDERGROUND_DOOR_OPEN2 EQU $3d
+
+ugdoor: macro
+\1_YCOORD EQU \2
+\1_XCOORD EQU \3
+endm
+
+ ugdoor UGDOOR_1, $10, $06
+ ugdoor UGDOOR_2, $0a, $06
+ ugdoor UGDOOR_3, $02, $06
+ ugdoor UGDOOR_4, $02, $0a
+ ugdoor UGDOOR_5, $0a, $0a
+ ugdoor UGDOOR_6, $10, $0a
+ ugdoor UGDOOR_7, $0c, $06
+ ugdoor UGDOOR_8, $0c, $08
+ ugdoor UGDOOR_9, $06, $06
+ ugdoor UGDOOR_10, $06, $08
+ ugdoor UGDOOR_11, $0c, $0a
+ ugdoor UGDOOR_12, $0c, $0c
+ ugdoor UGDOOR_13, $06, $0a
+ ugdoor UGDOOR_14, $06, $0c
+ ugdoor UGDOOR_15, $12, $0a
+ ugdoor UGDOOR_16, $12, $0c
+
+doorstate: macro
+ changeblock UGDOOR_\1_YCOORD, UGDOOR_\1_XCOORD, UNDERGROUND_DOOR_\2
+endm
+
+const_value set 2
+ const UNDERGROUNDPATHSWITCHROOMENTRANCES_PHARMACIST1
+ const UNDERGROUNDPATHSWITCHROOMENTRANCES_PHARMACIST2
+ const UNDERGROUNDPATHSWITCHROOMENTRANCES_ROCKET1
+ const UNDERGROUNDPATHSWITCHROOMENTRANCES_ROCKET2
+ const UNDERGROUNDPATHSWITCHROOMENTRANCES_ROCKET3
+ const UNDERGROUNDPATHSWITCHROOMENTRANCES_ROCKET_GIRL
+ const UNDERGROUNDPATHSWITCHROOMENTRANCES_TEACHER
+ const UNDERGROUNDPATHSWITCHROOMENTRANCES_SUPER_NERD
+ const UNDERGROUNDPATHSWITCHROOMENTRANCES_POKE_BALL1
+ const UNDERGROUNDPATHSWITCHROOMENTRANCES_POKE_BALL2
+ const UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
+
UndergroundPathSwitchRoomEntrances_MapScriptHeader:
.MapTriggers:
db 2
; triggers
- dw UnknownScript_0x7c9f5, 0
- dw UnknownScript_0x7c9f6, 0
+ dw .Trigger0, 0
+ dw .Trigger1, 0
.MapCallbacks:
db 1
@@ -11,158 +56,158 @@
; callbacks
- dbw 1, UnknownScript_0x7c9f7
+ dbw 1, .UpdateDoorPositions
-UnknownScript_0x7c9f5:
+.Trigger0:
end
-UnknownScript_0x7c9f6:
+.Trigger1:
end
-UnknownScript_0x7c9f7:
+.UpdateDoorPositions:
checkevent EVENT_SWITCH_4
- iffalse UnknownScript_0x7ca01
- changeblock $10, $6, $2d
-UnknownScript_0x7ca01:
+ iffalse .false4
+ doorstate 1, OPEN1
+.false4:
checkevent EVENT_SWITCH_5
- iffalse UnknownScript_0x7ca0b
- changeblock $a, $6, $2d
-UnknownScript_0x7ca0b:
+ iffalse .false5
+ doorstate 2, OPEN1
+.false5:
checkevent EVENT_SWITCH_6
- iffalse UnknownScript_0x7ca15
- changeblock $2, $6, $2d
-UnknownScript_0x7ca15:
+ iffalse .false6
+ doorstate 3, OPEN1
+.false6:
checkevent EVENT_SWITCH_7
- iffalse UnknownScript_0x7ca1f
- changeblock $2, $a, $2d
-UnknownScript_0x7ca1f:
+ iffalse .false7
+ doorstate 4, OPEN1
+.false7:
checkevent EVENT_SWITCH_8
- iffalse UnknownScript_0x7ca29
- changeblock $a, $a, $2d
-UnknownScript_0x7ca29:
+ iffalse .false8
+ doorstate 5, OPEN1
+.false8:
checkevent EVENT_SWITCH_9
- iffalse UnknownScript_0x7ca33
- changeblock $10, $a, $2d
-UnknownScript_0x7ca33:
+ iffalse .false9
+ doorstate 6, OPEN1
+.false9:
checkevent EVENT_SWITCH_10
- iffalse UnknownScript_0x7ca41
- changeblock $c, $6, $2a
- changeblock $c, $8, $2d
-UnknownScript_0x7ca41:
+ iffalse .false10
+ doorstate 7, CLOSED1
+ doorstate 8, OPEN1
+.false10:
checkevent EVENT_SWITCH_11
- iffalse UnknownScript_0x7ca4f
- changeblock $6, $6, $2a
- changeblock $6, $8, $2d
-UnknownScript_0x7ca4f:
+ iffalse .false11
+ doorstate 9, CLOSED1
+ doorstate 10, OPEN1
+.false11:
checkevent EVENT_SWITCH_12
- iffalse UnknownScript_0x7ca5d
- changeblock $c, $a, $2a
- changeblock $c, $c, $2d
-UnknownScript_0x7ca5d:
+ iffalse .false12
+ doorstate 11, CLOSED1
+ doorstate 12, OPEN1
+.false12:
checkevent EVENT_SWITCH_13
- iffalse UnknownScript_0x7ca6b
- changeblock $6, $a, $2a
- changeblock $6, $c, $2d
-UnknownScript_0x7ca6b:
+ iffalse .false13
+ doorstate 13, CLOSED1
+ doorstate 14, OPEN1
+.false13:
checkevent EVENT_SWITCH_14
- iffalse UnknownScript_0x7ca79
- changeblock $12, $a, $2a
- changeblock $12, $c, $2d
-UnknownScript_0x7ca79:
+ iffalse .false14
+ doorstate 15, CLOSED1
+ doorstate 16, OPEN1
+.false14:
return
SuperNerdScript_0x7ca7a:
- jumptextfaceplayer UnknownText_0x7d176
+ jumptextfaceplayer UndergroundPathSwitchRoomEntrances_SuperNerdText
TeacherScript_0x7ca7d:
- jumptextfaceplayer UnknownText_0x7d1d0
+ jumptextfaceplayer UndergroundPathSwitchRoomEntrances_TeacherText
-UnknownScript_0x7ca80:
+UndergroundSilverTrigger1:
spriteface PLAYER, RIGHT
showemote EMOTE_SHOCK, PLAYER, 15
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 15
playsound SFX_EXIT_BUILDING
- appear $c
- waitbutton
- applymovement $c, MovementData_0x7ce87
+ appear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
+ waitsfx
+ applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, UndergroundSilverApproachMovement1
spriteface PLAYER, RIGHT
- scall UnknownScript_0x7cad4
- applymovement $c, MovementData_0x7ce92
+ scall UndergroundSilverBattleScript
+ applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, UndergroundSilverRetreatMovement1
playsound SFX_EXIT_BUILDING
- disappear $c
- dotrigger $1
- waitbutton
+ disappear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
+ dotrigger 1
+ waitsfx
playmapmusic
end
-UnknownScript_0x7caaa:
+UndergroundSilverTrigger2:
spriteface PLAYER, RIGHT
showemote EMOTE_SHOCK, PLAYER, 15
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 15
playsound SFX_EXIT_BUILDING
- appear $c
- waitbutton
- applymovement $c, MovementData_0x7ce8c
+ appear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
+ waitsfx
+ applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, UndergroundSilverApproachMovement2
spriteface PLAYER, RIGHT
- scall UnknownScript_0x7cad4
- applymovement $c, MovementData_0x7ce97
+ scall UndergroundSilverBattleScript
+ applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, UndergroundSilverRetreatMovement2
playsound SFX_EXIT_BUILDING
- disappear $c
- dotrigger $1
- waitbutton
+ disappear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
+ dotrigger 1
+ waitsfx
playmapmusic
end
-UnknownScript_0x7cad4:
+UndergroundSilverBattleScript:
checkevent EVENT_RIVAL_BURNED_TOWER
- iftrue UnknownScript_0x7cae1
+ iftrue .Continue
setevent EVENT_RIVAL_BURNED_TOWER
- domaptrigger BURNED_TOWER_1F, $1
-UnknownScript_0x7cae1:
+ domaptrigger BURNED_TOWER_1F, 1
+.Continue:
playmusic MUSIC_RIVAL_ENCOUNTER
- loadfont
- writetext UnknownText_0x7ce9d
+ opentext
+ writetext UndergroundSilverBeforeText
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_RIVAL_UNDERGROUND_PATH
checkevent EVENT_GOT_TOTODILE_FROM_ELM
- iftrue UnknownScript_0x7cb09
+ iftrue .Totodile
checkevent EVENT_GOT_CHIKORITA_FROM_ELM
- iftrue UnknownScript_0x7cb19
- winlosstext UnknownText_0x7cf5d, UnknownText_0x7d102
- setlasttalked $c
+ iftrue .Chikorita
+ winlosstext UndergroundSilverWinText, UndergroundSilverLossText
+ setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
loadtrainer RIVAL1, RIVAL1_12
startbattle
- reloadmapmusic
- returnafterbattle
- jump UnknownScript_0x7cb29
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .FinishRivalBattle
-UnknownScript_0x7cb09:
- winlosstext UnknownText_0x7cf5d, UnknownText_0x7d102
- setlasttalked $c
+.Totodile:
+ winlosstext UndergroundSilverWinText, UndergroundSilverLossText
+ setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
loadtrainer RIVAL1, RIVAL1_10
startbattle
- reloadmapmusic
- returnafterbattle
- jump UnknownScript_0x7cb29
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .FinishRivalBattle
-UnknownScript_0x7cb19:
- winlosstext UnknownText_0x7cf5d, UnknownText_0x7d102
- setlasttalked $c
+.Chikorita:
+ winlosstext UndergroundSilverWinText, UndergroundSilverLossText
+ setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
loadtrainer RIVAL1, RIVAL1_11
startbattle
- reloadmapmusic
- returnafterbattle
- jump UnknownScript_0x7cb29
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .FinishRivalBattle
-UnknownScript_0x7cb29:
+.FinishRivalBattle:
playmusic MUSIC_RIVAL_AFTER
- loadfont
- writetext UnknownText_0x7cfc2
+ opentext
+ writetext UndergroundSilverAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntM11:
@@ -169,11 +214,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_11, GRUNTM, 11, GruntM11SeenText, GruntM11BeatenText, 0, GruntM11Script
GruntM11Script:
- talkaftercancel
- loadfont
- writetext UnknownText_0x7d290
+ end_if_just_battled
+ opentext
+ writetext GruntM11AfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntM25:
@@ -180,11 +225,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_25, GRUNTM, 25, GruntM25SeenText, GruntM25BeatenText, 0, GruntM25Script
GruntM25Script:
- talkaftercancel
- loadfont
- writetext UnknownText_0x7d347
+ end_if_just_battled
+ opentext
+ writetext GruntM25AfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerBurglarDuncan:
@@ -191,11 +236,11 @@
trainer EVENT_BEAT_BURGLAR_DUNCAN, BURGLAR, DUNCAN, BurglarDuncanSeenText, BurglarDuncanBeatenText, 0, BurglarDuncanScript
BurglarDuncanScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x7d3cf
+ end_if_just_battled
+ opentext
+ writetext BurglarDuncanAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerBurglarEddie:
@@ -202,11 +247,11 @@
trainer EVENT_BEAT_BURGLAR_EDDIE, BURGLAR, EDDIE, BurglarEddieSeenText, BurglarEddieBeatenText, 0, BurglarEddieScript
BurglarEddieScript:
- talkaftercancel
- loadfont
- writetext UnknownText_0x7d45b
+ end_if_just_battled
+ opentext
+ writetext BurglarEddieAfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntM13:
@@ -213,11 +258,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_13, GRUNTM, 13, GruntM13SeenText, GruntM13BeatenText, 0, GruntM13Script
GruntM13Script:
- talkaftercancel
- loadfont
- writetext UnknownText_0x7d51f
+ end_if_just_battled
+ opentext
+ writetext GruntM13AfterText
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntF3:
@@ -224,380 +269,380 @@
trainer EVENT_BEAT_ROCKET_GRUNTF_3, GRUNTF, 3, GruntF3SeenText, GruntF3BeatenText, 0, GruntF3Script
GruntF3Script:
- talkaftercancel
- loadfont
- writetext UnknownText_0x7d5e6
+ end_if_just_battled
+ opentext
+ writetext GruntF3AfterText
+ waitbutton
closetext
- loadmovesprites
end
-MapUndergroundPathSwitchRoomEntrancesSignpost0Script:
- loadfont
- writetext UnknownText_0x7d554
- keeptextopen
+Switch1Script:
+ opentext
+ writetext SwitchRoomText_Switch1
+ buttonsound
checkevent EVENT_SWITCH_1
- iftrue UnknownScript_0x7cbcb
- writetext UnknownText_0x7d617
+ iftrue .On
+ writetext SwitchRoomText_OffTurnOn
yesorno
- iffalse UnknownScript_0x7cc8b
+ iffalse UndergroundPathSwitchRoomEntrances_DontToggle
copybytetovar UndergroundSwitchPositions
- addvar $1
+ addvar 1
copyvartobyte UndergroundSwitchPositions
setevent EVENT_SWITCH_1
- jump UnknownScript_0x7cc8d
+ jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-UnknownScript_0x7cbcb:
- writetext UnknownText_0x7d62d
+.On:
+ writetext SwitchRoomText_OnTurnOff
yesorno
- iffalse UnknownScript_0x7cc8b
+ iffalse UndergroundPathSwitchRoomEntrances_DontToggle
copybytetovar UndergroundSwitchPositions
addvar -1
copyvartobyte UndergroundSwitchPositions
clearevent EVENT_SWITCH_1
- jump UnknownScript_0x7cc8d
+ jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-MapUndergroundPathSwitchRoomEntrancesSignpost1Script:
- loadfont
- writetext UnknownText_0x7d643
- keeptextopen
+Switch2Script:
+ opentext
+ writetext SwitchRoomText_Switch2
+ buttonsound
checkevent EVENT_SWITCH_2
- iftrue UnknownScript_0x7cc00
- writetext UnknownText_0x7d617
+ iftrue .On
+ writetext SwitchRoomText_OffTurnOn
yesorno
- iffalse UnknownScript_0x7cc8b
+ iffalse UndergroundPathSwitchRoomEntrances_DontToggle
copybytetovar UndergroundSwitchPositions
- addvar $2
+ addvar 2
copyvartobyte UndergroundSwitchPositions
setevent EVENT_SWITCH_2
- jump UnknownScript_0x7cc8d
+ jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-UnknownScript_0x7cc00:
- writetext UnknownText_0x7d62d
+.On:
+ writetext SwitchRoomText_OnTurnOff
yesorno
- iffalse UnknownScript_0x7cc8b
+ iffalse UndergroundPathSwitchRoomEntrances_DontToggle
copybytetovar UndergroundSwitchPositions
addvar -2
copyvartobyte UndergroundSwitchPositions
clearevent EVENT_SWITCH_2
- jump UnknownScript_0x7cc8d
+ jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-MapUndergroundPathSwitchRoomEntrancesSignpost2Script:
- loadfont
- writetext UnknownText_0x7d65a
- keeptextopen
+Switch3Script:
+ opentext
+ writetext SwitchRoomText_Switch3
+ buttonsound
checkevent EVENT_SWITCH_3
- iftrue UnknownScript_0x7cc35
- writetext UnknownText_0x7d617
+ iftrue .On
+ writetext SwitchRoomText_OffTurnOn
yesorno
- iffalse UnknownScript_0x7cc8b
+ iffalse UndergroundPathSwitchRoomEntrances_DontToggle
copybytetovar UndergroundSwitchPositions
- addvar $3
+ addvar 3
copyvartobyte UndergroundSwitchPositions
setevent EVENT_SWITCH_3
- jump UnknownScript_0x7cc8d
+ jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-UnknownScript_0x7cc35:
- writetext UnknownText_0x7d62d
+.On:
+ writetext SwitchRoomText_OnTurnOff
yesorno
- iffalse UnknownScript_0x7cc8b
+ iffalse UndergroundPathSwitchRoomEntrances_DontToggle
copybytetovar UndergroundSwitchPositions
addvar -3
copyvartobyte UndergroundSwitchPositions
clearevent EVENT_SWITCH_3
- jump UnknownScript_0x7cc8d
+ jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-MapUndergroundPathSwitchRoomEntrancesSignpost3Script:
- loadfont
- writetext UnknownText_0x7d671
- keeptextopen
+EmergencySwitchScript:
+ opentext
+ writetext SwitchRoomText_Emergency
+ buttonsound
checkevent EVENT_EMERGENCY_SWITCH
- iftrue UnknownScript_0x7cc70
- writetext UnknownText_0x7d617
+ iftrue .On
+ writetext SwitchRoomText_OffTurnOn
yesorno
- iffalse UnknownScript_0x7cc8b
- writebyte $7
+ iffalse UndergroundPathSwitchRoomEntrances_DontToggle
+ writebyte 7
copyvartobyte UndergroundSwitchPositions
setevent EVENT_EMERGENCY_SWITCH
setevent EVENT_SWITCH_1
setevent EVENT_SWITCH_2
setevent EVENT_SWITCH_3
- jump UnknownScript_0x7cc8d
+ jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-UnknownScript_0x7cc70:
- writetext UnknownText_0x7d62d
+.On:
+ writetext SwitchRoomText_OnTurnOff
yesorno
- iffalse UnknownScript_0x7cc8b
- writebyte $0
+ iffalse UndergroundPathSwitchRoomEntrances_DontToggle
+ writebyte 0
copyvartobyte UndergroundSwitchPositions
clearevent EVENT_EMERGENCY_SWITCH
clearevent EVENT_SWITCH_1
clearevent EVENT_SWITCH_2
clearevent EVENT_SWITCH_3
- jump UnknownScript_0x7cc8d
+ jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-UnknownScript_0x7cc8b:
- loadmovesprites
+UndergroundPathSwitchRoomEntrances_DontToggle:
+ closetext
end
-UnknownScript_0x7cc8d:
+UndergroundPathSwitchRoomEntrances_UpdateDoors:
copybytetovar UndergroundSwitchPositions
- if_equal $0, UnknownScript_0x7ccb0
- if_equal $1, UnknownScript_0x7ccd7
- if_equal $2, UnknownScript_0x7ccf2
- if_equal $3, UnknownScript_0x7cd0d
- if_equal $4, UnknownScript_0x7cd28
- if_equal $5, UnknownScript_0x7cd43
- if_equal $6, UnknownScript_0x7cd5e
- if_equal $7, UnknownScript_0x7cd79
-UnknownScript_0x7ccb0:
+ if_equal 0, .Position0
+ if_equal 1, .Position1
+ if_equal 2, .Position2
+ if_equal 3, .Position3
+ if_equal 4, .Position4
+ if_equal 5, .Position5
+ if_equal 6, .Position6
+ if_equal 7, .EmergencyPosition
+.Position0:
playsound SFX_ENTER_DOOR
- scall UnknownScript_0x7ce11
- scall UnknownScript_0x7ce19
- scall UnknownScript_0x7ce21
- scall UnknownScript_0x7ce29
- scall UnknownScript_0x7ce31
- scall UnknownScript_0x7ce39
- scall UnknownScript_0x7ce41
- scall UnknownScript_0x7ce4d
- scall UnknownScript_0x7ce59
- scall UnknownScript_0x7ce65
- scall UnknownScript_0x7ce71
+ scall .Clear4
+ scall .Clear5
+ scall .Clear6
+ scall .Clear7
+ scall .Clear8
+ scall .Clear9
+ scall .Clear10
+ scall .Clear11
+ scall .Clear12
+ scall .Clear13
+ scall .Clear14
reloadmappart
- loadmovesprites
+ closetext
end
-UnknownScript_0x7ccd7:
+.Position1:
playsound SFX_ENTER_DOOR
- scall UnknownScript_0x7cda5
- scall UnknownScript_0x7cdd5
- scall UnknownScript_0x7cdf9
- scall UnknownScript_0x7ce39
- scall UnknownScript_0x7ce4d
- scall UnknownScript_0x7ce59
- scall UnknownScript_0x7ce71
+ scall .Set4
+ scall .Set10
+ scall .Set13
+ scall .Clear9
+ scall .Clear11
+ scall .Clear12
+ scall .Clear14
reloadmappart
- loadmovesprites
+ closetext
end
-UnknownScript_0x7ccf2:
+.Position2:
playsound SFX_ENTER_DOOR
- scall UnknownScript_0x7cdad
- scall UnknownScript_0x7cde1
- scall UnknownScript_0x7cded
- scall UnknownScript_0x7ce31
- scall UnknownScript_0x7ce41
- scall UnknownScript_0x7ce65
- scall UnknownScript_0x7ce71
+ scall .Set5
+ scall .Set11
+ scall .Set12
+ scall .Clear8
+ scall .Clear10
+ scall .Clear13
+ scall .Clear14
reloadmappart
- loadmovesprites
+ closetext
end
-UnknownScript_0x7cd0d:
+.Position3:
playsound SFX_ENTER_DOOR
- scall UnknownScript_0x7cdb5
- scall UnknownScript_0x7cdd5
- scall UnknownScript_0x7cdf9
- scall UnknownScript_0x7ce29
- scall UnknownScript_0x7ce4d
- scall UnknownScript_0x7ce59
- scall UnknownScript_0x7ce71
+ scall .Set6
+ scall .Set10
+ scall .Set13
+ scall .Clear7
+ scall .Clear11
+ scall .Clear12
+ scall .Clear14
reloadmappart
- loadmovesprites
+ closetext
end
-UnknownScript_0x7cd28:
+.Position4:
playsound SFX_ENTER_DOOR
- scall UnknownScript_0x7cdbd
- scall UnknownScript_0x7cde1
- scall UnknownScript_0x7cded
- scall UnknownScript_0x7ce21
- scall UnknownScript_0x7ce41
- scall UnknownScript_0x7ce65
- scall UnknownScript_0x7ce71
+ scall .Set7
+ scall .Set11
+ scall .Set12
+ scall .Clear6
+ scall .Clear10
+ scall .Clear13
+ scall .Clear14
reloadmappart
- loadmovesprites
+ closetext
end
-UnknownScript_0x7cd43:
+.Position5:
playsound SFX_ENTER_DOOR
- scall UnknownScript_0x7cdc5
- scall UnknownScript_0x7cdd5
- scall UnknownScript_0x7cdf9
- scall UnknownScript_0x7ce19
- scall UnknownScript_0x7ce4d
- scall UnknownScript_0x7ce59
- scall UnknownScript_0x7ce71
+ scall .Set8
+ scall .Set10
+ scall .Set13
+ scall .Clear5
+ scall .Clear11
+ scall .Clear12
+ scall .Clear14
reloadmappart
- loadmovesprites
+ closetext
end
-UnknownScript_0x7cd5e:
+.Position6:
playsound SFX_ENTER_DOOR
- scall UnknownScript_0x7cdcd
- scall UnknownScript_0x7cde1
- scall UnknownScript_0x7cded
- scall UnknownScript_0x7ce05
- scall UnknownScript_0x7ce11
- scall UnknownScript_0x7ce41
- scall UnknownScript_0x7ce65
+ scall .Set9
+ scall .Set11
+ scall .Set12
+ scall .Set14
+ scall .Clear4
+ scall .Clear10
+ scall .Clear13
reloadmappart
- loadmovesprites
+ closetext
end
-UnknownScript_0x7cd79:
+.EmergencyPosition:
playsound SFX_ENTER_DOOR
- scall UnknownScript_0x7ce11
- scall UnknownScript_0x7ce19
- scall UnknownScript_0x7cdb5
- scall UnknownScript_0x7ce29
- scall UnknownScript_0x7cdc5
- scall UnknownScript_0x7cdcd
- scall UnknownScript_0x7ce41
- scall UnknownScript_0x7cde1
- scall UnknownScript_0x7cded
- scall UnknownScript_0x7ce65
- scall UnknownScript_0x7ce05
+ scall .Clear4
+ scall .Clear5
+ scall .Set6
+ scall .Clear7
+ scall .Set8
+ scall .Set9
+ scall .Clear10
+ scall .Set11
+ scall .Set12
+ scall .Clear13
+ scall .Set14
reloadmappart
- loadmovesprites
- writebyte $6
+ closetext
+ writebyte 6
copyvartobyte UndergroundSwitchPositions
end
-UnknownScript_0x7cda5:
- changeblock $10, $6, $2d
+.Set4:
+ doorstate 1, OPEN1
setevent EVENT_SWITCH_4
end
-UnknownScript_0x7cdad:
- changeblock $a, $6, $2d
+.Set5:
+ doorstate 2, OPEN1
setevent EVENT_SWITCH_5
end
-UnknownScript_0x7cdb5:
- changeblock $2, $6, $2d
+.Set6:
+ doorstate 3, OPEN1
setevent EVENT_SWITCH_6
end
-UnknownScript_0x7cdbd:
- changeblock $2, $a, $2d
+.Set7:
+ doorstate 4, OPEN1
setevent EVENT_SWITCH_7
end
-UnknownScript_0x7cdc5:
- changeblock $a, $a, $2d
+.Set8:
+ doorstate 5, OPEN1
setevent EVENT_SWITCH_8
end
-UnknownScript_0x7cdcd:
- changeblock $10, $a, $2d
+.Set9:
+ doorstate 6, OPEN1
setevent EVENT_SWITCH_9
end
-UnknownScript_0x7cdd5:
- changeblock $c, $6, $2a
- changeblock $c, $8, $2d
+.Set10:
+ doorstate 7, CLOSED1
+ doorstate 8, OPEN1
setevent EVENT_SWITCH_10
end
-UnknownScript_0x7cde1:
- changeblock $6, $6, $2a
- changeblock $6, $8, $2d
+.Set11:
+ doorstate 9, CLOSED1
+ doorstate 10, OPEN1
setevent EVENT_SWITCH_11
end
-UnknownScript_0x7cded:
- changeblock $c, $a, $2a
- changeblock $c, $c, $2d
+.Set12:
+ doorstate 11, CLOSED1
+ doorstate 12, OPEN1
setevent EVENT_SWITCH_12
end
-UnknownScript_0x7cdf9:
- changeblock $6, $a, $2a
- changeblock $6, $c, $2d
+.Set13:
+ doorstate 13, CLOSED1
+ doorstate 14, OPEN1
setevent EVENT_SWITCH_13
end
-UnknownScript_0x7ce05:
- changeblock $12, $a, $2a
- changeblock $12, $c, $2d
+.Set14:
+ doorstate 15, CLOSED1
+ doorstate 16, OPEN1
setevent EVENT_SWITCH_14
end
-UnknownScript_0x7ce11:
- changeblock $10, $6, $3e
+.Clear4:
+ doorstate 1, CLOSED2
clearevent EVENT_SWITCH_4
end
-UnknownScript_0x7ce19:
- changeblock $a, $6, $3e
+.Clear5:
+ doorstate 2, CLOSED2
clearevent EVENT_SWITCH_5
end
-UnknownScript_0x7ce21:
- changeblock $2, $6, $3e
+.Clear6:
+ doorstate 3, CLOSED2
clearevent EVENT_SWITCH_6
end
-UnknownScript_0x7ce29:
- changeblock $2, $a, $3e
+.Clear7:
+ doorstate 4, CLOSED2
clearevent EVENT_SWITCH_7
end
-UnknownScript_0x7ce31:
- changeblock $a, $a, $3e
+.Clear8:
+ doorstate 5, CLOSED2
clearevent EVENT_SWITCH_8
end
-UnknownScript_0x7ce39:
- changeblock $10, $a, $3e
+.Clear9:
+ doorstate 6, CLOSED2
clearevent EVENT_SWITCH_9
end
-UnknownScript_0x7ce41:
- changeblock $c, $6, $3f
- changeblock $c, $8, $3d
+.Clear10:
+ doorstate 7, CLOSED3
+ doorstate 8, OPEN2
clearevent EVENT_SWITCH_10
end
-UnknownScript_0x7ce4d:
- changeblock $6, $6, $3f
- changeblock $6, $8, $3d
+.Clear11:
+ doorstate 9, CLOSED3
+ doorstate 10, OPEN2
clearevent EVENT_SWITCH_11
end
-UnknownScript_0x7ce59:
- changeblock $c, $a, $3f
- changeblock $c, $c, $3d
+.Clear12:
+ doorstate 11, CLOSED3
+ doorstate 12, OPEN2
clearevent EVENT_SWITCH_12
end
-UnknownScript_0x7ce65:
- changeblock $6, $a, $3f
- changeblock $6, $c, $3d
+.Clear13:
+ doorstate 13, CLOSED3
+ doorstate 14, OPEN2
clearevent EVENT_SWITCH_13
end
-UnknownScript_0x7ce71:
- changeblock $12, $a, $3f
- changeblock $12, $c, $3d
+.Clear14:
+ doorstate 15, CLOSED3
+ doorstate 16, OPEN2
clearevent EVENT_SWITCH_14
end
-ItemFragment_0x7ce7d:
- db SMOKE_BALL, 1
+UndergroundPathSwitchRoomEntrancesSmokeBall:
+ itemball SMOKE_BALL
-ItemFragment_0x7ce7f:
- db FULL_HEAL, 1
+UndergroundPathSwitchRoomEntrancesFullHeal:
+ itemball FULL_HEAL
-MapUndergroundPathSwitchRoomEntrancesSignpostItem4:
+UndergroundPathSwitchRoomEntrancesHiddenMaxPotion:
dwb EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_HIDDEN_MAX_POTION, MAX_POTION
-MapUndergroundPathSwitchRoomEntrancesSignpostItem5:
+UndergroundPathSwitchRoomEntrancesHiddenRevive:
dwb EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_HIDDEN_REVIVE, REVIVE
-MovementData_0x7ce87:
+UndergroundSilverApproachMovement1:
step_down
step_left
step_left
@@ -604,7 +649,7 @@
step_left
step_end
-MovementData_0x7ce8c:
+UndergroundSilverApproachMovement2:
step_down
step_down
step_left
@@ -612,7 +657,7 @@
step_left
step_end
-MovementData_0x7ce92:
+UndergroundSilverRetreatMovement1:
step_right
step_right
step_right
@@ -619,7 +664,7 @@
step_up
step_end
-MovementData_0x7ce97:
+UndergroundSilverRetreatMovement2:
step_right
step_right
step_right
@@ -627,7 +672,7 @@
step_up
step_end
-UnknownText_0x7ce9d:
+UndergroundSilverBeforeText:
text "Hold it!"
para "I saw you, so I"
@@ -650,7 +695,7 @@
line "debts!"
done
-UnknownText_0x7cf5d:
+UndergroundSilverWinText:
text "…Why…"
line "Why do I lose?"
@@ -663,7 +708,7 @@
para "So why do I lose?"
done
-UnknownText_0x7cfc2:
+UndergroundSilverAfterText:
text "…I don't under-"
line "stand…"
@@ -699,7 +744,7 @@
line "#MON trainer!"
done
-UnknownText_0x7d102:
+UndergroundSilverLossText:
text "Humph. This is my"
line "real power, wimp."
@@ -711,7 +756,7 @@
cont "under my heels."
done
-UnknownText_0x7d176:
+UndergroundPathSwitchRoomEntrances_SuperNerdText:
text "I was challenged"
line "to a battle down-"
cont "stairs."
@@ -721,7 +766,7 @@
cont "better be careful."
done
-UnknownText_0x7d1d0:
+UndergroundPathSwitchRoomEntrances_TeacherText:
text "There are some"
line "shops downstairs…"
@@ -745,7 +790,7 @@
line "by indecision!"
done
-UnknownText_0x7d290:
+GruntM11AfterText:
text "I'm confused too…"
line "The switch on the"
@@ -769,7 +814,7 @@
line "I blew it."
done
-UnknownText_0x7d347:
+GruntM25AfterText:
text "All right. A hint!"
para "Change the order"
@@ -789,7 +834,7 @@
text "Mercy!"
done
-UnknownText_0x7d3cf:
+BurglarDuncanAfterText:
text "Steal and sell!"
line "That's basic in"
cont "crime, kid!"
@@ -808,7 +853,7 @@
text "Over the top!"
done
-UnknownText_0x7d45b:
+BurglarEddieAfterText:
text "UNDERGROUND WARE-"
line "HOUSE?"
@@ -833,13 +878,13 @@
line "you're cool, huh?"
done
-UnknownText_0x7d51f:
+GruntM13AfterText:
text "You must have ice"
line "in your veins to"
cont "dis TEAM ROCKET."
done
-UnknownText_0x7d554:
+SwitchRoomText_Switch1:
text "It's labeled"
line "SWITCH 1."
done
@@ -860,33 +905,33 @@
text "How could you?"
done
-UnknownText_0x7d5e6:
+GruntF3AfterText:
text "Go wherever you'd"
line "like! Get lost!"
cont "See if I care!"
done
-UnknownText_0x7d617:
+SwitchRoomText_OffTurnOn:
text "It's OFF."
line "Turn it ON?"
done
-UnknownText_0x7d62d:
+SwitchRoomText_OnTurnOff:
text "It's ON."
line "Turn it OFF?"
done
-UnknownText_0x7d643:
+SwitchRoomText_Switch2:
text "It's labeled"
line "SWITCH 2."
done
-UnknownText_0x7d65a:
+SwitchRoomText_Switch3:
text "It's labeled"
line "SWITCH 3."
done
-UnknownText_0x7d671:
+SwitchRoomText_Emergency:
text "It's labeled"
line "EMERGENCY."
done
@@ -909,17 +954,17 @@
.XYTriggers:
db 2
- xy_trigger 0, $4, $13, $0, UnknownScript_0x7ca80, $0, $0
- xy_trigger 0, $5, $13, $0, UnknownScript_0x7caaa, $0, $0
+ xy_trigger 0, $4, $13, $0, UndergroundSilverTrigger1, $0, 0
+ xy_trigger 0, $5, $13, $0, UndergroundSilverTrigger2, $0, 0
.Signposts:
db 6
- signpost 1, 16, SIGNPOST_READ, MapUndergroundPathSwitchRoomEntrancesSignpost0Script
- signpost 1, 10, SIGNPOST_READ, MapUndergroundPathSwitchRoomEntrancesSignpost1Script
- signpost 1, 2, SIGNPOST_READ, MapUndergroundPathSwitchRoomEntrancesSignpost2Script
- signpost 11, 20, SIGNPOST_READ, MapUndergroundPathSwitchRoomEntrancesSignpost3Script
- signpost 9, 8, SIGNPOST_ITEM, MapUndergroundPathSwitchRoomEntrancesSignpostItem4
- signpost 8, 1, SIGNPOST_ITEM, MapUndergroundPathSwitchRoomEntrancesSignpostItem5
+ signpost 1, 16, SIGNPOST_READ, Switch1Script
+ signpost 1, 10, SIGNPOST_READ, Switch2Script
+ signpost 1, 2, SIGNPOST_READ, Switch3Script
+ signpost 11, 20, SIGNPOST_READ, EmergencySwitchScript
+ signpost 9, 8, SIGNPOST_ITEM, UndergroundPathSwitchRoomEntrancesHiddenMaxPotion
+ signpost 8, 1, SIGNPOST_ITEM, UndergroundPathSwitchRoomEntrancesHiddenRevive
.PersonEvents:
db 11
@@ -931,6 +976,6 @@
person_event SPRITE_ROCKET_GIRL, 12, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 1, TrainerGruntF3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
person_event SPRITE_TEACHER, 27, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TeacherScript_0x7ca7d, -1
person_event SPRITE_SUPER_NERD, 27, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x7ca7a, -1
- person_event SPRITE_POKE_BALL, 12, 1, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7ce7d, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
- person_event SPRITE_POKE_BALL, 9, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7ce7f, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_FULL_HEAL
+ person_event SPRITE_POKE_BALL, 12, 1, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, UndergroundPathSwitchRoomEntrancesSmokeBall, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
+ person_event SPRITE_POKE_BALL, 9, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, UndergroundPathSwitchRoomEntrancesFullHeal, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_FULL_HEAL
person_event SPRITE_SILVER, 3, 23, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_UNDERGROUND_PATH
--- a/maps/UndergroundWarehouse.asm
+++ b/maps/UndergroundWarehouse.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const UNDERGROUNDWAREHOUSE_ROCKET1
+ const UNDERGROUNDWAREHOUSE_ROCKET2
+ const UNDERGROUNDWAREHOUSE_ROCKET3
+ const UNDERGROUNDWAREHOUSE_GENTLEMAN
+ const UNDERGROUNDWAREHOUSE_POKE_BALL1
+ const UNDERGROUNDWAREHOUSE_POKE_BALL2
+ const UNDERGROUNDWAREHOUSE_POKE_BALL3
+
UndergroundWarehouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -33,11 +42,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_24, GRUNTM, 24, GruntM24SeenText, GruntM24BeatenText, 0, GruntM24Script
GruntM24Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7da48
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntM14:
@@ -44,11 +53,11 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_14, GRUNTM, 14, GruntM14SeenText, GruntM14BeatenText, 0, GruntM14Script
GruntM14Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7db01
+ waitbutton
closetext
- loadmovesprites
end
TrainerGruntM15:
@@ -55,20 +64,20 @@
trainer EVENT_BEAT_ROCKET_GRUNTM_15, GRUNTM, 15, GruntM15SeenText, GruntM15BeatenText, 0, GruntM15Script
GruntM15Script:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7db8e
+ waitbutton
closetext
- loadmovesprites
end
GentlemanScript_0x7d9bf:
faceplayer
- loadfont
+ opentext
checkevent EVENT_RECEIVED_CARD_KEY
iftrue UnknownScript_0x7d9de
writetext UnknownText_0x7dbc6
- keeptextopen
+ buttonsound
verbosegiveitem CARD_KEY
setevent EVENT_RECEIVED_CARD_KEY
setevent EVENT_WAREHOUSE_LAYOUT_1
@@ -75,21 +84,21 @@
clearevent EVENT_WAREHOUSE_LAYOUT_2
clearevent EVENT_WAREHOUSE_LAYOUT_3
writetext UnknownText_0x7dc5b
- keeptextopen
+ buttonsound
UnknownScript_0x7d9de:
writetext UnknownText_0x7dc8d
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x7d9e4:
- db MAX_ETHER, 1
+UndergroundWarehouseMaxEther:
+ itemball MAX_ETHER
-ItemFragment_0x7d9e6:
- db TM_SLEEP_TALK, 1
+UndergroundWarehouseTMSleepTalk:
+ itemball TM_SLEEP_TALK
-ItemFragment_0x7d9e8:
- db ULTRA_BALL, 1
+UndergroundWarehouseUltraBall:
+ itemball ULTRA_BALL
GruntM24SeenText:
text "How did you get"
@@ -226,6 +235,6 @@
person_event SPRITE_ROCKET, 15, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 3, TrainerGruntM14, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
person_event SPRITE_ROCKET, 3, 14, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, PERSONTYPE_TRAINER, 4, TrainerGruntM15, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
person_event SPRITE_GENTLEMAN, 8, 12, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x7d9bf, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
- person_event SPRITE_POKE_BALL, 15, 18, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7d9e4, EVENT_UNDERGROUND_WAREHOUSE_MAX_ETHER
- person_event SPRITE_POKE_BALL, 9, 13, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7d9e6, EVENT_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
- person_event SPRITE_POKE_BALL, 1, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7d9e8, EVENT_UNDERGROUND_WAREHOUSE_ULTRA_BALL
+ person_event SPRITE_POKE_BALL, 15, 18, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, UndergroundWarehouseMaxEther, EVENT_UNDERGROUND_WAREHOUSE_MAX_ETHER
+ person_event SPRITE_POKE_BALL, 9, 13, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, UndergroundWarehouseTMSleepTalk, EVENT_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
+ person_event SPRITE_POKE_BALL, 1, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, UndergroundWarehouseUltraBall, EVENT_UNDERGROUND_WAREHOUSE_ULTRA_BALL
--- a/maps/UnionCave1F.asm
+++ b/maps/UnionCave1F.asm
@@ -1,3 +1,14 @@
+const_value set 2
+ const UNIONCAVE1F_POKEFAN_M1
+ const UNIONCAVE1F_SUPER_NERD
+ const UNIONCAVE1F_POKEFAN_M2
+ const UNIONCAVE1F_FISHER1
+ const UNIONCAVE1F_FISHER2
+ const UNIONCAVE1F_POKE_BALL1
+ const UNIONCAVE1F_POKE_BALL2
+ const UNIONCAVE1F_POKE_BALL3
+ const UNIONCAVE1F_POKE_BALL4
+
UnionCave1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +20,11 @@
trainer EVENT_BEAT_POKEMANIAC_LARRY, POKEMANIAC, LARRY, PokemaniacLarrySeenText, PokemaniacLarryBeatenText, 0, PokemaniacLarryScript
PokemaniacLarryScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x59d31
+ waitbutton
closetext
- loadmovesprites
end
TrainerHikerRussell:
@@ -20,11 +31,11 @@
trainer EVENT_BEAT_HIKER_RUSSELL, HIKER, RUSSELL, HikerRussellSeenText, HikerRussellBeatenText, 0, HikerRussellScript
HikerRussellScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x59c6c
+ waitbutton
closetext
- loadmovesprites
end
TrainerHikerDaniel:
@@ -31,11 +42,11 @@
trainer EVENT_BEAT_HIKER_DANIEL, HIKER, DANIEL, HikerDanielSeenText, HikerDanielBeatenText, 0, HikerDanielScript
HikerDanielScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x59dc9
+ waitbutton
closetext
- loadmovesprites
end
TrainerFirebreatherBill:
@@ -42,11 +53,11 @@
trainer EVENT_BEAT_FIREBREATHER_BILL, FIREBREATHER, BILL, FirebreatherBillSeenText, FirebreatherBillBeatenText, 0, FirebreatherBillScript
FirebreatherBillScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x59e6f
+ waitbutton
closetext
- loadmovesprites
end
TrainerFirebreatherRay:
@@ -53,24 +64,24 @@
trainer EVENT_BEAT_FIREBREATHER_RAY, FIREBREATHER, RAY, FirebreatherRaySeenText, FirebreatherRayBeatenText, 0, FirebreatherRayScript
FirebreatherRayScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x59efc
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x59c00:
- db GREAT_BALL, 1
+UnionCave1FGreatBall:
+ itemball GREAT_BALL
-ItemFragment_0x59c02:
- db X_ATTACK, 1
+UnionCave1FXAttack:
+ itemball X_ATTACK
-ItemFragment_0x59c04:
- db POTION, 1
+UnionCave1FPotion:
+ itemball POTION
-ItemFragment_0x59c06:
- db AWAKENING, 1
+UnionCave1FAwakening:
+ itemball AWAKENING
UnknownScript_0x59c08:
jumptext UnknownText_0x59f29
@@ -212,7 +223,7 @@
person_event SPRITE_POKEFAN_M, 8, 11, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_TRAINER, 1, TrainerHikerRussell, -1
person_event SPRITE_FISHER, 27, 15, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 4, TrainerFirebreatherRay, -1
person_event SPRITE_FISHER, 19, 14, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 4, TrainerFirebreatherBill, -1
- person_event SPRITE_POKE_BALL, 21, 17, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x59c00, EVENT_UNION_CAVE_1F_GREAT_BALL
- person_event SPRITE_POKE_BALL, 2, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x59c02, EVENT_UNION_CAVE_1F_X_ATTACK
- person_event SPRITE_POKE_BALL, 17, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x59c04, EVENT_UNION_CAVE_1F_POTION
- person_event SPRITE_POKE_BALL, 33, 12, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x59c06, EVENT_UNION_CAVE_1F_AWAKENING
+ person_event SPRITE_POKE_BALL, 21, 17, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, UnionCave1FGreatBall, EVENT_UNION_CAVE_1F_GREAT_BALL
+ person_event SPRITE_POKE_BALL, 2, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, UnionCave1FXAttack, EVENT_UNION_CAVE_1F_X_ATTACK
+ person_event SPRITE_POKE_BALL, 17, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, UnionCave1FPotion, EVENT_UNION_CAVE_1F_POTION
+ person_event SPRITE_POKE_BALL, 33, 12, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, UnionCave1FAwakening, EVENT_UNION_CAVE_1F_AWAKENING
--- a/maps/UnionCaveB1F.asm
+++ b/maps/UnionCaveB1F.asm
@@ -1,3 +1,12 @@
+const_value set 2
+ const UNIONCAVEB1F_POKEFAN_M1
+ const UNIONCAVEB1F_POKEFAN_M2
+ const UNIONCAVEB1F_SUPER_NERD1
+ const UNIONCAVEB1F_SUPER_NERD2
+ const UNIONCAVEB1F_POKE_BALL1
+ const UNIONCAVEB1F_BOULDER
+ const UNIONCAVEB1F_POKE_BALL2
+
UnionCaveB1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -9,11 +18,11 @@
trainer EVENT_BEAT_POKEMANIAC_ANDREW, POKEMANIAC, ANDREW, PokemaniacAndrewSeenText, PokemaniacAndrewBeatenText, 0, PokemaniacAndrewScript
PokemaniacAndrewScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5a181
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokemaniacCalvin:
@@ -20,11 +29,11 @@
trainer EVENT_BEAT_POKEMANIAC_CALVIN, POKEMANIAC, CALVIN, PokemaniacCalvinSeenText, PokemaniacCalvinBeatenText, 0, PokemaniacCalvinScript
PokemaniacCalvinScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5a230
+ waitbutton
closetext
- loadmovesprites
end
TrainerHikerPhillip:
@@ -31,11 +40,11 @@
trainer EVENT_BEAT_HIKER_PHILLIP, HIKER, PHILLIP, HikerPhillipSeenText, HikerPhillipBeatenText, 0, HikerPhillipScript
HikerPhillipScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5a073
+ waitbutton
closetext
- loadmovesprites
end
TrainerHikerLeonard:
@@ -42,18 +51,18 @@
trainer EVENT_BEAT_HIKER_LEONARD, HIKER, LEONARD, HikerLeonardSeenText, HikerLeonardBeatenText, 0, HikerLeonardScript
HikerLeonardScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5a0fb
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x5a016:
- db TM_SWIFT, 1
+UnionCaveB1FTMSwift:
+ itemball TM_SWIFT
-ItemFragment_0x5a018:
- db X_DEFEND, 1
+UnionCaveB1FXDefend:
+ itemball X_DEFEND
UnionCaveB1FBoulder:
jumpstd strengthboulder
@@ -167,6 +176,6 @@
person_event SPRITE_POKEFAN_M, 7, 16, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_TRAINER, 3, TrainerHikerLeonard, -1
person_event SPRITE_SUPER_NERD, 32, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerPokemaniacAndrew, -1
person_event SPRITE_SUPER_NERD, 30, 17, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerPokemaniacCalvin, -1
- person_event SPRITE_POKE_BALL, 16, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x5a016, EVENT_UNION_CAVE_B1F_TM_SWIFT
+ person_event SPRITE_POKE_BALL, 16, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, UnionCaveB1FTMSwift, EVENT_UNION_CAVE_B1F_TM_SWIFT
person_event SPRITE_BOULDER, 10, 7, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, UnionCaveB1FBoulder, -1
- person_event SPRITE_POKE_BALL, 23, 17, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x5a018, EVENT_UNION_CAVE_B1F_X_DEFEND
+ person_event SPRITE_POKE_BALL, 23, 17, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, UnionCaveB1FXDefend, EVENT_UNION_CAVE_B1F_X_DEFEND
--- a/maps/UnionCaveB2F.asm
+++ b/maps/UnionCaveB2F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const UNIONCAVEB2F_ROCKER
+ const UNIONCAVEB2F_COOLTRAINER_F1
+ const UNIONCAVEB2F_COOLTRAINER_F2
+ const UNIONCAVEB2F_POKE_BALL1
+ const UNIONCAVEB2F_POKE_BALL2
+ const UNIONCAVEB2F_SURF
+
UnionCaveB2F_MapScriptHeader:
.MapTriggers:
db 0
@@ -15,21 +23,21 @@
checkcode VAR_WEEKDAY
if_equal FRIDAY, UnknownScript_0x5a31c
UnknownScript_0x5a319:
- disappear $7
+ disappear UNIONCAVEB2F_SURF
return
UnknownScript_0x5a31c:
- appear $7
+ appear UNIONCAVEB2F_SURF
return
SurfScript_0x5a31f:
faceplayer
cry LAPRAS
- loadpokedata LAPRAS, 20
+ loadwildmon LAPRAS, 20
startbattle
- disappear $7
+ disappear UNIONCAVEB2F_SURF
setflag ENGINE_UNION_CAVE_LAPRAS
- returnafterbattle
+ reloadmapafterbattle
end
TrainerCooltrainermNick:
@@ -36,11 +44,11 @@
trainer EVENT_BEAT_COOLTRAINERM_NICK, COOLTRAINERM, NICK, CooltrainermNickSeenText, CooltrainermNickBeatenText, 0, CooltrainermNickScript
CooltrainermNickScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5a3f0
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfGwen:
@@ -47,11 +55,11 @@
trainer EVENT_BEAT_COOLTRAINERF_GWEN, COOLTRAINERF, GWEN, CooltrainerfGwenSeenText, CooltrainerfGwenBeatenText, 0, CooltrainerfGwenScript
CooltrainerfGwenScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5a488
+ waitbutton
closetext
- loadmovesprites
end
TrainerCooltrainerfEmma:
@@ -58,18 +66,18 @@
trainer EVENT_BEAT_COOLTRAINERF_EMMA, COOLTRAINERF, EMMA, CooltrainerfEmmaSeenText, CooltrainerfEmmaBeatenText, 0, CooltrainerfEmmaScript
CooltrainerfEmmaScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x5a52b
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x5a36a:
- db ELIXER, 1
+UnionCaveB2FElixer:
+ itemball ELIXER
-ItemFragment_0x5a36c:
- db HYPER_POTION, 1
+UnionCaveB2FHyperPotion:
+ itemball HYPER_POTION
CooltrainermNickSeenText:
text "There are two"
@@ -155,6 +163,6 @@
person_event SPRITE_ROCKER, 19, 15, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 3, TrainerCooltrainermNick, -1
person_event SPRITE_COOLTRAINER_F, 13, 5, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 1, TrainerCooltrainerfGwen, -1
person_event SPRITE_COOLTRAINER_F, 30, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_TRAINER, 3, TrainerCooltrainerfEmma, -1
- person_event SPRITE_POKE_BALL, 2, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x5a36a, EVENT_UNION_CAVE_B2F_ELIXER
- person_event SPRITE_POKE_BALL, 19, 12, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x5a36c, EVENT_UNION_CAVE_B2F_HYPER_POTION
+ person_event SPRITE_POKE_BALL, 2, 16, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, UnionCaveB2FElixer, EVENT_UNION_CAVE_B2F_ELIXER
+ person_event SPRITE_POKE_BALL, 19, 12, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, UnionCaveB2FHyperPotion, EVENT_UNION_CAVE_B2F_HYPER_POTION
person_event SPRITE_SURF, 31, 11, SPRITEMOVEDATA_LAPRAS, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, SurfScript_0x5a31f, EVENT_UNION_CAVE_B2F_LAPRAS
--- a/maps/VermilionCity.asm
+++ b/maps/VermilionCity.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const VERMILIONCITY_TEACHER
+ const VERMILIONCITY_GRAMPS
+ const VERMILIONCITY_MACHOP
+ const VERMILIONCITY_SUPER_NERD
+ const VERMILIONCITY_BIG_SNORLAX
+ const VERMILIONCITY_POKEFAN_M
+
VermilionCity_MapScriptHeader:
.MapTriggers:
db 0
@@ -19,16 +27,16 @@
jumptextfaceplayer UnknownText_0x1aaa6f
VermilionMachop:
- loadfont
+ opentext
writetext UnknownText_0x1aaaca
cry MACHOP
+ waitbutton
closetext
- loadmovesprites
earthquake 30
- loadfont
+ opentext
writetext UnknownText_0x1aaae2
+ waitbutton
closetext
- loadmovesprites
end
SuperNerdScript_0x1aa99b:
@@ -35,12 +43,12 @@
jumptextfaceplayer UnknownText_0x1aab1a
VermilionSnorlax:
- loadfont
+ opentext
special SpecialSnorlaxAwake
iftrue UnknownScript_0x1aa9ab
writetext UnknownText_0x1aab64
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x1aa9ab:
@@ -47,18 +55,18 @@
writetext UnknownText_0x1aab84
pause 15
cry SNORLAX
- loadmovesprites
+ closetext
writecode VAR_BATTLETYPE, BATTLETYPE_FORCEITEM
- loadpokedata SNORLAX, 50
+ loadwildmon SNORLAX, 50
startbattle
- disappear $6
+ disappear VERMILIONCITY_BIG_SNORLAX
setevent EVENT_FOUGHT_SNORLAX
- returnafterbattle
+ reloadmapafterbattle
end
VermilionGymBadgeGuy:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_HP_UP_FROM_VERMILION_GUY
iftrue .AlreadyGotItem
checkcode VAR_BADGES
@@ -66,33 +74,33 @@
if_greater_than 13, .MostBadges
if_greater_than 9, .SomeBadges
writetext UnknownText_0x1aabc8
+ waitbutton
closetext
- loadmovesprites
end
.SomeBadges
writetext UnknownText_0x1aac2b
+ waitbutton
closetext
- loadmovesprites
end
.MostBadges
writetext UnknownText_0x1aac88
+ waitbutton
closetext
- loadmovesprites
end
.AllBadges
writetext UnknownText_0x1aacf3
- keeptextopen
+ buttonsound
verbosegiveitem HP_UP
iffalse .Done
setevent EVENT_GOT_HP_UP_FROM_VERMILION_GUY
.AlreadyGotItem
writetext UnknownText_0x1aad4a
- closetext
+ waitbutton
.Done
- loadmovesprites
+ closetext
end
VermilionCitySign:
@@ -116,7 +124,7 @@
VermilionCityMartSign:
jumpstd martsign
-MapVermilionCitySignpostItem7:
+VermilionCityHiddenFullHeal:
dwb EVENT_VERMILION_CITY_HIDDEN_FULL_HEAL, FULL_HEAL
UnknownText_0x1aaa15:
@@ -290,7 +298,7 @@
signpost 15, 27, SIGNPOST_READ, VermilionCityPortSign
signpost 5, 10, SIGNPOST_READ, VermilionCityPokeCenterSign
signpost 13, 22, SIGNPOST_READ, VermilionCityMartSign
- signpost 19, 12, SIGNPOST_ITEM, MapVermilionCitySignpostItem7
+ signpost 19, 12, SIGNPOST_ITEM, VermilionCityHiddenFullHeal
.PersonEvents:
db 6
--- a/maps/VermilionGym.asm
+++ b/maps/VermilionGym.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const VERMILIONGYM_SURGE
+ const VERMILIONGYM_GENTLEMAN
+ const VERMILIONGYM_ROCKER
+ const VERMILIONGYM_SUPER_NERD
+ const VERMILIONGYM_GYM_GUY
+
VermilionGym_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,34 +14,34 @@
SurgeScript_0x1920a5:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_THUNDERBADGE
iftrue .FightDone
writetext UnknownText_0x192142
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x192238, 0
loadtrainer LT_SURGE, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_LTSURGE
setevent EVENT_BEAT_GENTLEMAN_GREGORY
setevent EVENT_BEAT_GUITARIST_VINCENT
setevent EVENT_BEAT_JUGGLER_HORTON
- loadfont
+ opentext
writetext UnknownText_0x192277
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_THUNDERBADGE
writetext UnknownText_0x192291
+ waitbutton
closetext
- loadmovesprites
end
.FightDone
writetext UnknownText_0x192303
+ waitbutton
closetext
- loadmovesprites
end
TrainerGentlemanGregory:
@@ -41,11 +48,11 @@
trainer EVENT_BEAT_GENTLEMAN_GREGORY, GENTLEMAN, GREGORY, GentlemanGregorySeenText, GentlemanGregoryBeatenText, 0, GentlemanGregoryScript
GentlemanGregoryScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1923b0
+ waitbutton
closetext
- loadmovesprites
end
TrainerGuitaristVincent:
@@ -52,11 +59,11 @@
trainer EVENT_BEAT_GUITARIST_VINCENT, GUITARIST, VINCENT, GuitaristVincentSeenText, GuitaristVincentBeatenText, 0, GuitaristVincentScript
GuitaristVincentScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x19244b
+ waitbutton
closetext
- loadmovesprites
end
TrainerJugglerHorton:
@@ -63,27 +70,27 @@
trainer EVENT_BEAT_JUGGLER_HORTON, JUGGLER, HORTON, JugglerHortonSeenText, JugglerHortonBeatenText, 0, JugglerHortonScript
JugglerHortonScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x1924d6
+ waitbutton
closetext
- loadmovesprites
end
VermilionGymGuyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_LTSURGE
iftrue .VermilionGymGuyWinScript
writetext VermilionGymGuyText
+ waitbutton
closetext
- loadmovesprites
end
.VermilionGymGuyWinScript
writetext VermilionGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
end
MapVermilionGymSignpost14Script:
--- a/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
+++ b/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const VERMILIONHOUSEDIGLETTSCAVESPEECHHOUSE_GENTLEMAN
+
VermilionHouseDiglettsCaveSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/VermilionHouseFishingSpeechHouse.asm
+++ b/maps/VermilionHouseFishingSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const VERMILIONHOUSEFISHINGSPEECHHOUSE_FISHING_GURU
+
VermilionHouseFishingSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/VermilionMagnetTrainSpeechHouse.asm
+++ b/maps/VermilionMagnetTrainSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const VERMILIONMAGNETTRAINSPEECHHOUSE_POKEFAN_F
+ const VERMILIONMAGNETTRAINSPEECHHOUSE_YOUNGSTER
+
VermilionMagnetTrainSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/VermilionMart.asm
+++ b/maps/VermilionMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const VERMILIONMART_CLERK
+ const VERMILIONMART_SUPER_NERD
+ const VERMILIONMART_BUENA
+
VermilionMart_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,9 +11,9 @@
db 0
ClerkScript_0x191f7e:
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_VERMILION
- loadmovesprites
+ closetext
end
SuperNerdScript_0x191f85:
--- a/maps/VermilionPokeCenter1F.asm
+++ b/maps/VermilionPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const VERMILIONPOKECENTER1F_NURSE
+ const VERMILIONPOKECENTER1F_FISHING_GURU
+ const VERMILIONPOKECENTER1F_SAILOR
+ const VERMILIONPOKECENTER1F_BUG_CATCHER
+
VermilionPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -10,18 +16,18 @@
FishingGuruScript_0x191606:
faceplayer
- loadfont
+ opentext
checkevent EVENT_FOUGHT_SNORLAX
iftrue UnknownScript_0x191614
writetext UnknownText_0x191620
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x191614:
writetext UnknownText_0x191698
+ waitbutton
closetext
- loadmovesprites
end
SailorScript_0x19161a:
--- a/maps/VermilionPokeCenter2FBeta.asm
+++ b/maps/VermilionPokeCenter2FBeta.asm
@@ -1,3 +1,4 @@
+
VermilionPokeCenter2FBeta_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/VermilionPort.asm
+++ b/maps/VermilionPort.asm
@@ -1,10 +1,15 @@
+const_value set 2
+ const VERMILIONPORT_SAILOR1
+ const VERMILIONPORT_SAILOR2
+ const VERMILIONPORT_SUPER_NERD
+
VermilionPort_MapScriptHeader:
.MapTriggers:
db 2
; triggers
+ dw .Trigger0, 0
dw .Trigger1, 0
- dw .Trigger2, 0
.MapCallbacks:
db 1
@@ -12,10 +17,10 @@
; callbacks
dbw 5, .FlyPoint
-.Trigger1
+.Trigger0
end
-.Trigger2
+.Trigger1
priorityjump UnknownScript_0x74da6
end
@@ -25,7 +30,7 @@
UnknownScript_0x74da6:
applymovement PLAYER, MovementData_0x74ef3
- appear $2
+ appear VERMILIONPORT_SAILOR1
dotrigger $0
setevent EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_1
setevent EVENT_FAST_SHIP_CABINS_SE_SSE_GENTLEMAN
@@ -38,21 +43,21 @@
SailorScript_0x74dc4:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iftrue UnknownScript_0x74e1a
writetext UnknownText_0x74f06
+ waitbutton
closetext
- loadmovesprites
- spriteface $2, DOWN
+ spriteface VERMILIONPORT_SAILOR1, DOWN
pause 10
playsound SFX_EXIT_BUILDING
- disappear $2
- waitbutton
+ disappear VERMILIONPORT_SAILOR1
+ waitsfx
applymovement PLAYER, MovementData_0x74ef1
playsound SFX_EXIT_BUILDING
special FadeOutPalettes
- waitbutton
+ waitsfx
setevent EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
clearevent EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
clearevent EVENT_BEAT_POKEMANIAC_ETHAN
@@ -66,7 +71,7 @@
clearevent EVENT_BEAT_SCHOOLBOY_NATE
clearevent EVENT_BEAT_SCHOOLBOY_RICKY
setevent EVENT_FAST_SHIP_DESTINATION_OLIVINE
- appear $2
+ appear VERMILIONPORT_SAILOR1
domaptrigger FAST_SHIP_1F, $1
warp FAST_SHIP_1F, $19, $1
end
@@ -73,18 +78,18 @@
UnknownScript_0x74e1a:
writetext UnknownText_0x74f31
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x74e20:
- spriteface $3, RIGHT
+ spriteface VERMILIONPORT_SAILOR2, RIGHT
checkevent EVENT_GAVE_KURT_APRICORNS
iftrue UnknownScript_0x74e86
checkevent EVENT_RECEIVED_BALLS_FROM_KURT
iftrue UnknownScript_0x74e86
spriteface PLAYER, LEFT
- loadfont
+ opentext
checkcode VAR_WEEKDAY
if_equal MONDAY, UnknownScript_0x74e72
if_equal TUESDAY, UnknownScript_0x74e72
@@ -95,12 +100,12 @@
yesorno
iffalse UnknownScript_0x74e8d
writetext UnknownText_0x74f8b
- keeptextopen
+ buttonsound
checkitem S_S_TICKET
iffalse UnknownScript_0x74e68
writetext UnknownText_0x74fc2
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_RECEIVED_BALLS_FROM_KURT
applymovement PLAYER, MovementData_0x74ef8
jump SailorScript_0x74dc4
@@ -107,22 +112,22 @@
UnknownScript_0x74e68:
writetext UnknownText_0x74ff2
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x74ef5
end
UnknownScript_0x74e72:
writetext UnknownText_0x75059
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x74ef5
end
UnknownScript_0x74e7c:
writetext UnknownText_0x75080
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x74ef5
end
@@ -131,20 +136,20 @@
UnknownScript_0x74e87:
writetext UnknownText_0x74fa7
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x74e8d:
writetext UnknownText_0x74fa7
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x74ef5
end
SailorScript_0x74e97:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GAVE_KURT_APRICORNS
iftrue UnknownScript_0x74e1a
checkcode VAR_WEEKDAY
@@ -157,12 +162,12 @@
yesorno
iffalse UnknownScript_0x74e87
writetext UnknownText_0x74f8b
- keeptextopen
+ buttonsound
checkitem S_S_TICKET
iffalse UnknownScript_0x74ed4
writetext UnknownText_0x74fc2
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_RECEIVED_BALLS_FROM_KURT
applymovement PLAYER, MovementData_0x74efe
jump SailorScript_0x74dc4
@@ -169,31 +174,31 @@
UnknownScript_0x74ed4:
writetext UnknownText_0x74ff2
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x74eda:
writetext UnknownText_0x75059
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x74ee0:
writetext UnknownText_0x75080
+ waitbutton
closetext
- loadmovesprites
end
SuperNerdScript_0x74ee6:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x750a6
+ waitbutton
closetext
- loadmovesprites
end
-MapVermilionPortSignpostItem0:
+VermilionPortHiddenIron:
dwb EVENT_VERMILION_PORT_HIDDEN_IRON, IRON
@@ -313,7 +318,7 @@
.Signposts:
db 1
- signpost 13, 16, SIGNPOST_ITEM, MapVermilionPortSignpostItem0
+ signpost 13, 16, SIGNPOST_ITEM, VermilionPortHiddenIron
.PersonEvents:
db 3
--- a/maps/VermilionPortPassage.asm
+++ b/maps/VermilionPortPassage.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const VERMILIONPORTPASSAGE_TEACHER
+
VermilionPortPassage_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/VictoryRoad.asm
+++ b/maps/VictoryRoad.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const VICTORYROAD_SILVER
+ const VICTORYROAD_POKE_BALL1
+ const VICTORYROAD_POKE_BALL2
+ const VICTORYROAD_POKE_BALL3
+ const VICTORYROAD_POKE_BALL4
+ const VICTORYROAD_POKE_BALL5
+
VictoryRoad_MapScriptHeader:
.MapTriggers:
db 2
@@ -16,16 +24,16 @@
end
UnknownScript_0x74492:
- moveperson $2, $12, $b
+ moveperson VICTORYROAD_SILVER, $12, $b
spriteface PLAYER, DOWN
showemote EMOTE_SHOCK, PLAYER, 15
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 15
- appear $2
- applymovement $2, MovementData_0x74539
+ appear VICTORYROAD_SILVER
+ applymovement VICTORYROAD_SILVER, MovementData_0x74539
scall UnknownScript_0x744d4
- applymovement $2, MovementData_0x7454c
- disappear $2
+ applymovement VICTORYROAD_SILVER, MovementData_0x7454c
+ disappear VICTORYROAD_SILVER
dotrigger $1
playmapmusic
end
@@ -33,13 +41,13 @@
UnknownScript_0x744b5:
spriteface PLAYER, DOWN
showemote EMOTE_SHOCK, PLAYER, 15
- special Special_RotatePalettesRightMusic
+ special Special_FadeOutMusic
pause 15
- appear $2
- applymovement $2, MovementData_0x74542
+ appear VICTORYROAD_SILVER
+ applymovement VICTORYROAD_SILVER, MovementData_0x74542
scall UnknownScript_0x744d4
- applymovement $2, MovementData_0x74555
- disappear $2
+ applymovement VICTORYROAD_SILVER, MovementData_0x74555
+ disappear VICTORYROAD_SILVER
dotrigger $1
playmapmusic
end
@@ -47,10 +55,10 @@
UnknownScript_0x744d4:
spriteface PLAYER, DOWN
playmusic MUSIC_RIVAL_ENCOUNTER
- loadfont
+ opentext
writetext UnknownText_0x7455f
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_RIVAL_VICTORY_ROAD
checkevent EVENT_GOT_TOTODILE_FROM_ELM
iftrue UnknownScript_0x744ff
@@ -57,59 +65,59 @@
checkevent EVENT_GOT_CHIKORITA_FROM_ELM
iftrue UnknownScript_0x7450f
winlosstext UnknownText_0x7463d, UnknownText_0x747aa
- setlasttalked $2
+ setlasttalked VICTORYROAD_SILVER
loadtrainer RIVAL1, RIVAL1_15
startbattle
- reloadmapmusic
- returnafterbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
jump UnknownScript_0x7451f
UnknownScript_0x744ff:
winlosstext UnknownText_0x7463d, UnknownText_0x747aa
- setlasttalked $2
+ setlasttalked VICTORYROAD_SILVER
loadtrainer RIVAL1, RIVAL1_13
startbattle
- reloadmapmusic
- returnafterbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
jump UnknownScript_0x7451f
UnknownScript_0x7450f:
winlosstext UnknownText_0x7463d, UnknownText_0x747aa
- setlasttalked $2
+ setlasttalked VICTORYROAD_SILVER
loadtrainer RIVAL1, RIVAL1_14
startbattle
- reloadmapmusic
- returnafterbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
jump UnknownScript_0x7451f
UnknownScript_0x7451f:
playmusic MUSIC_RIVAL_AFTER
- loadfont
+ opentext
writetext UnknownText_0x746ce
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x74529:
- db TM_EARTHQUAKE, 1
+VictoryRoadTMEarthquake:
+ itemball TM_EARTHQUAKE
-ItemFragment_0x7452b:
- db MAX_REVIVE, 1
+VictoryRoadMaxRevive:
+ itemball MAX_REVIVE
-ItemFragment_0x7452d:
- db FULL_RESTORE, 1
+VictoryRoadFullRestore:
+ itemball FULL_RESTORE
-ItemFragment_0x7452f:
- db FULL_HEAL, 1
+VictoryRoadFullHeal:
+ itemball FULL_HEAL
-ItemFragment_0x74531:
- db HP_UP, 1
+VictoryRoadHPUp:
+ itemball HP_UP
-MapVictoryRoadSignpostItem0:
+VictoryRoadHiddenMaxPotion:
dwb EVENT_VICTORY_ROAD_HIDDEN_MAX_POTION, MAX_POTION
-MapVictoryRoadSignpostItem1:
+VictoryRoadHiddenFullHeal:
dwb EVENT_VICTORY_ROAD_HIDDEN_FULL_HEAL, FULL_HEAL
@@ -258,14 +266,14 @@
.Signposts:
db 2
- signpost 29, 3, SIGNPOST_ITEM, MapVictoryRoadSignpostItem0
- signpost 65, 3, SIGNPOST_ITEM, MapVictoryRoadSignpostItem1
+ signpost 29, 3, SIGNPOST_ITEM, VictoryRoadHiddenMaxPotion
+ signpost 65, 3, SIGNPOST_ITEM, VictoryRoadHiddenFullHeal
.PersonEvents:
db 6
person_event SPRITE_SILVER, 13, 18, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_VICTORY_ROAD
- person_event SPRITE_POKE_BALL, 28, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x74529, EVENT_VICTORY_ROAD_TM_EARTHQUAKE
- person_event SPRITE_POKE_BALL, 48, 12, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7452b, EVENT_VICTORY_ROAD_MAX_REVIVE
- person_event SPRITE_POKE_BALL, 29, 18, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7452d, EVENT_VICTORY_ROAD_FULL_RESTORE
- person_event SPRITE_POKE_BALL, 48, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7452f, EVENT_VICTORY_ROAD_FULL_HEAL
- person_event SPRITE_POKE_BALL, 38, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x74531, EVENT_VICTORY_ROAD_HP_UP
+ person_event SPRITE_POKE_BALL, 28, 3, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, VictoryRoadTMEarthquake, EVENT_VICTORY_ROAD_TM_EARTHQUAKE
+ person_event SPRITE_POKE_BALL, 48, 12, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, VictoryRoadMaxRevive, EVENT_VICTORY_ROAD_MAX_REVIVE
+ person_event SPRITE_POKE_BALL, 29, 18, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, VictoryRoadFullRestore, EVENT_VICTORY_ROAD_FULL_RESTORE
+ person_event SPRITE_POKE_BALL, 48, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, VictoryRoadFullHeal, EVENT_VICTORY_ROAD_FULL_HEAL
+ person_event SPRITE_POKE_BALL, 38, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, VictoryRoadHPUp, EVENT_VICTORY_ROAD_HP_UP
--- a/maps/VictoryRoadGate.asm
+++ b/maps/VictoryRoadGate.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const VICTORYROADGATE_OFFICER
+ const VICTORYROADGATE_BLACK_BELT1
+ const VICTORYROADGATE_BLACK_BELT2
+
VictoryRoadGate_MapScriptHeader:
.MapTriggers:
db 2
@@ -22,21 +27,21 @@
OfficerScript_0x9ba03:
faceplayer
UnknownScript_0x9ba04:
- loadfont
+ opentext
writetext UnknownText_0x9ba29
- keeptextopen
+ buttonsound
checkcode VAR_BADGES
if_greater_than 7, UnknownScript_0x9ba19
writetext UnknownText_0x9ba5f
+ waitbutton
closetext
- loadmovesprites
applymovement PLAYER, MovementData_0x9ba27
end
UnknownScript_0x9ba19:
writetext UnknownText_0x9bab4
+ waitbutton
closetext
- loadmovesprites
dotrigger $1
end
--- a/maps/VioletCity.asm
+++ b/maps/VioletCity.asm
@@ -1,3 +1,13 @@
+const_value set 2
+ const VIOLETCITY_FISHER
+ const VIOLETCITY_LASS
+ const VIOLETCITY_SUPER_NERD
+ const VIOLETCITY_GRAMPS
+ const VIOLETCITY_YOUNGSTER
+ const VIOLETCITY_FRUIT_TREE
+ const VIOLETCITY_POKE_BALL1
+ const VIOLETCITY_POKE_BALL2
+
VioletCity_MapScriptHeader:
.MapTriggers:
db 0
@@ -12,55 +22,55 @@
setflag ENGINE_FLYPOINT_VIOLET
return
-FisherScript_0x1a83bb:
- applymovement $2, MovementData_0x1a8465
+VioletCityEarlScript:
+ applymovement VIOLETCITY_FISHER, VioletCitySpinningEarl_MovementData
faceplayer
- loadfont
- writetext UnknownText_0x1a8473
+ opentext
+ writetext Text_EarlAsksIfYouBeatFalkner
yesorno
- iffalse UnknownScript_0x1a83d1
- jump UnknownScript_0x1a83cb
+ iffalse .FollowEarl
+ jump .PointlessJump
-UnknownScript_0x1a83cb:
- writetext UnknownText_0x1a84ac
+.PointlessJump:
+ writetext Text_VeryNiceIndeed
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x1a83d1:
- writetext UnknownText_0x1a84cb
+.FollowEarl:
+ writetext Text_FollowEarl
+ waitbutton
closetext
- loadmovesprites
playmusic MUSIC_SHOW_ME_AROUND
- follow $2, PLAYER
- applymovement $2, MovementData_0x1a842a
+ follow VIOLETCITY_FISHER, PLAYER
+ applymovement VIOLETCITY_FISHER, VioletCityFollowEarl_MovementData
spriteface PLAYER, UP
- applymovement $2, MovementData_0x1a8465
+ applymovement VIOLETCITY_FISHER, VioletCitySpinningEarl_MovementData
stopfollow
special RestartMapMusic
- loadfont
- writetext UnknownText_0x1a84f9
+ opentext
+ writetext Text_HereTeacherIAm
+ waitbutton
closetext
- loadmovesprites
- applymovement $2, MovementData_0x1a8465
- applymovement $2, MovementData_0x1a8463
+ applymovement VIOLETCITY_FISHER, VioletCitySpinningEarl_MovementData
+ applymovement VIOLETCITY_FISHER, VioletCityFinishFollowEarl_MovementData
playsound SFX_ENTER_DOOR
- disappear $2
+ disappear VIOLETCITY_FISHER
clearevent EVENT_EARLS_ACADEMY_EARL
- waitbutton
+ waitsfx
end
-LassScript_0x1a8403:
- jumptextfaceplayer UnknownText_0x1a8529
+VioletCityLassScript:
+ jumptextfaceplayer VioletCityLassText
-SuperNerdScript_0x1a8406:
- jumptextfaceplayer UnknownText_0x1a8593
+VioletCitySuperNerdScript:
+ jumptextfaceplayer VioletCitySuperNerdText
-GrampsScript_0x1a8409:
- jumptextfaceplayer UnknownText_0x1a85ef
+VioletCityGrampsScript:
+ jumptextfaceplayer VioletCityGrampsText
-YoungsterScript_0x1a840c:
- jumptextfaceplayer UnknownText_0x1a8665
+VioletCityYoungsterScript:
+ jumptextfaceplayer VioletCityYoungsterText
VioletCitySign:
jumptext VioletCitySignText
@@ -80,19 +90,19 @@
VioletCityMartSign:
jumpstd martsign
-ItemFragment_0x1a8421:
- db PP_UP, 1
+VioletCityPPUp:
+ itemball PP_UP
-ItemFragment_0x1a8423:
- db RARE_CANDY, 1
+VioletCityRareCandy:
+ itemball RARE_CANDY
-FruitTreeScript_0x1a8425:
+VioletCityFruitTreeScript:
fruittree FRUITTREE_VIOLET_CITY
-MapVioletCitySignpostItem6:
+VioletCityHiddenHyperPotion:
dwb EVENT_VIOLET_CITY_HIDDEN_HYPER_POTION, HYPER_POTION
-MovementData_0x1a842a:
+VioletCityFollowEarl_MovementData:
big_step_down
big_step_down
turn_head_down
@@ -151,11 +161,11 @@
turn_head_down
step_end
-MovementData_0x1a8463:
+VioletCityFinishFollowEarl_MovementData:
step_up
step_end
-MovementData_0x1a8465:
+VioletCitySpinningEarl_MovementData:
turn_head_down
turn_head_left
turn_head_up
@@ -171,7 +181,7 @@
turn_head_down
step_end
-UnknownText_0x1a8473:
+Text_EarlAsksIfYouBeatFalkner:
text "Hello!"
line "You are trainer?"
@@ -179,24 +189,24 @@
line "win you did?"
done
-UnknownText_0x1a84ac:
+Text_VeryNiceIndeed:
text "Ooh, la la!"
line "Very indeed nice!"
done
-UnknownText_0x1a84cb:
+Text_FollowEarl:
text "Is that so? Then"
line "study shall you!"
cont "Follow me!"
done
-UnknownText_0x1a84f9:
+Text_HereTeacherIAm:
text "Here, teacher I"
line "am. Good it is"
cont "you study here!"
done
-UnknownText_0x1a8529:
+VioletCityLassText:
text "Ghosts are rumored"
line "to appear in"
cont "SPROUT TOWER."
@@ -208,7 +218,7 @@
line "ghosts."
done
-UnknownText_0x1a8593:
+VioletCitySuperNerdText:
text "Hey, you're a"
line "#MON trainer?"
@@ -219,7 +229,7 @@
line "for prime time!"
done
-UnknownText_0x1a85ef:
+VioletCityGrampsText:
text "FALKNER, from the"
line "VIOLET #MON"
@@ -233,7 +243,7 @@
line "job with it."
done
-UnknownText_0x1a8665:
+VioletCityYoungsterText:
text "I saw a wiggly"
line "tree up ahead!"
@@ -293,19 +303,19 @@
db 7
signpost 20, 24, SIGNPOST_READ, VioletCitySign
signpost 17, 15, SIGNPOST_READ, VioletGymSign
- signpost 8, 24, SIGNPOST_READ, SproutTowerSign
+ signpost 8, 24, SIGNPOST_READ, SproutTowerSign
signpost 17, 27, SIGNPOST_READ, EarlsPokemonAcademySign
signpost 25, 32, SIGNPOST_READ, VioletCityPokeCenterSign
signpost 17, 10, SIGNPOST_READ, VioletCityMartSign
- signpost 14, 37, SIGNPOST_ITEM, MapVioletCitySignpostItem6
+ signpost 14, 37, SIGNPOST_ITEM, VioletCityHiddenHyperPotion
.PersonEvents:
db 8
- person_event SPRITE_FISHER, 16, 13, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, FisherScript_0x1a83bb, EVENT_VIOLET_CITY_EARL
- person_event SPRITE_LASS, 28, 28, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, LassScript_0x1a8403, -1
- person_event SPRITE_SUPER_NERD, 14, 24, SPRITEMOVEDATA_WANDER, 2, 1, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, SuperNerdScript_0x1a8406, -1
- person_event SPRITE_GRAMPS, 20, 17, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GrampsScript_0x1a8409, -1
- person_event SPRITE_YOUNGSTER, 18, 5, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x1a840c, -1
- person_event SPRITE_FRUIT_TREE, 29, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x1a8425, -1
- person_event SPRITE_POKE_BALL, 1, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1a8421, EVENT_VIOLET_CITY_PP_UP
- person_event SPRITE_POKE_BALL, 5, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x1a8423, EVENT_VIOLET_CITY_RARE_CANDY
+ person_event SPRITE_FISHER, 16, 13, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, VioletCityEarlScript, EVENT_VIOLET_CITY_EARL
+ person_event SPRITE_LASS, 28, 28, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, VioletCityLassScript, -1
+ person_event SPRITE_SUPER_NERD, 14, 24, SPRITEMOVEDATA_WANDER, 2, 1, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, VioletCitySuperNerdScript, -1
+ person_event SPRITE_GRAMPS, 20, 17, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, VioletCityGrampsScript, -1
+ person_event SPRITE_YOUNGSTER, 18, 5, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, VioletCityYoungsterScript, -1
+ person_event SPRITE_FRUIT_TREE, 29, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, VioletCityFruitTreeScript, -1
+ person_event SPRITE_POKE_BALL, 1, 4, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, VioletCityPPUp, EVENT_VIOLET_CITY_PP_UP
+ person_event SPRITE_POKE_BALL, 5, 35, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, VioletCityRareCandy, EVENT_VIOLET_CITY_RARE_CANDY
--- a/maps/VioletGym.asm
+++ b/maps/VioletGym.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const VIOLETGYM_FALKNER
+ const VIOLETGYM_YOUNGSTER1
+ const VIOLETGYM_YOUNGSTER2
+ const VIOLETGYM_GYM_GUY
+
VioletGym_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,21 +13,21 @@
FalknerScript_0x683c2:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_FALKNER
iftrue .FightDone
writetext UnknownText_0x68473
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x6854a, 0
loadtrainer FALKNER, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_FALKNER
- loadfont
+ opentext
writetext UnknownText_0x685af
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_ZEPHYRBADGE
checkcode VAR_BADGES
scall VioletGymTriggerRockets
@@ -33,20 +39,20 @@
domaptrigger ELMS_LAB, $2
specialphonecall SPECIALCALL_ASSISTANT
writetext UnknownText_0x685c8
- keeptextopen
+ buttonsound
verbosegiveitem TM_MUD_SLAP
iffalse .NoRoomForMudSlap
setevent EVENT_GOT_TM31_MUD_SLAP
writetext UnknownText_0x68648
+ waitbutton
closetext
- loadmovesprites
end
.SpeechAfterTM:
writetext UnknownText_0x68735
- closetext
+ waitbutton
.NoRoomForMudSlap:
- loadmovesprites
+ closetext
end
VioletGymTriggerRockets:
@@ -64,11 +70,11 @@
trainer EVENT_BEAT_BIRD_KEEPER_ROD, BIRD_KEEPER, ROD, Bird_keeperRodSeenText, Bird_keeperRodBeatenText, 0, Bird_keeperRodScript
Bird_keeperRodScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x68837
+ waitbutton
closetext
- loadmovesprites
end
TrainerBird_keeperAbe:
@@ -75,27 +81,27 @@
trainer EVENT_BEAT_BIRD_KEEPER_ABE, BIRD_KEEPER, ABE, Bird_keeperAbeSeenText, Bird_keeperAbeBeatenText, 0, Bird_keeperAbeScript
Bird_keeperAbeScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x688c7
+ waitbutton
closetext
- loadmovesprites
end
VioletGymGuyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_FALKNER
iftrue .VioletGymGuyWinScript
writetext VioletGymGuyText
+ waitbutton
closetext
- loadmovesprites
end
.VioletGymGuyWinScript
writetext VioletGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
end
VioletGymStatue:
--- a/maps/VioletMart.asm
+++ b/maps/VioletMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const VIOLETMART_CLERK
+ const VIOLETMART_GRANNY
+ const VIOLETMART_COOLTRAINER_M
+
VioletMart_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,9 +11,9 @@
db 0
ClerkScript_0x68295:
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_VIOLET
- loadmovesprites
+ closetext
end
GrannyScript_0x6829c:
--- a/maps/VioletNicknameSpeechHouse.asm
+++ b/maps/VioletNicknameSpeechHouse.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const VIOLETNICKNAMESPEECHHOUSE_TEACHER
+ const VIOLETNICKNAMESPEECHHOUSE_LASS
+ const VIOLETNICKNAMESPEECHHOUSE_BIRD
+
VioletNicknameSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -13,11 +18,11 @@
BirdScript_0x693ef:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x6947c
cry PIDGEY
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x693fa:
--- a/maps/VioletOnixTradeHouse.asm
+++ b/maps/VioletOnixTradeHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const VIOLETONIXTRADEHOUSE_POKEFAN_M
+ const VIOLETONIXTRADEHOUSE_YOUNGSTER
+
VioletOnixTradeHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -10,10 +14,10 @@
YoungsterScript_0x69990:
faceplayer
- loadfont
+ opentext
trade $1
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x69997:
--- a/maps/VioletPokeCenter1F.asm
+++ b/maps/VioletPokeCenter1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+ const VIOLETPOKECENTER1F_NURSE
+ const VIOLETPOKECENTER1F_GAMEBOY_KID
+ const VIOLETPOKECENTER1F_GENTLEMAN
+ const VIOLETPOKECENTER1F_YOUNGSTER
+ const VIOLETPOKECENTER1F_SCIENTIST
+
VioletPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,71 +12,71 @@
.MapCallbacks:
db 0
-NurseScript_0x694c9:
+VioletPokeCenterNurse:
jumpstd pokecenternurse
-ScientistScript_0x694cc:
+VioletPokeCenter1F_ElmsAideScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_REFUSED_TO_TAKE_EGG_FROM_ELMS_AIDE
- iftrue UnknownScript_0x6953a
+ iftrue .SecondTimeAsking
writetext UnknownText_0x69555
-UnknownScript_0x694d7:
+.AskTakeEgg:
yesorno
- iffalse UnknownScript_0x69531
+ iffalse .RefusedEgg
checkcode VAR_PARTYCOUNT
- if_equal $6, UnknownScript_0x6952b
+ if_equal PARTY_LENGTH, .PartyFull
giveegg TOGEPI, 5
stringtotext .eggname, $1
- scall UnknownScript_0x69527
+ scall .AideGivesEgg
setevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
clearevent EVENT_ELMS_AIDE_IN_LAB
clearevent EVENT_TOGEPI_HATCHED
domaptrigger ROUTE_32, $1
writetext UnknownText_0x695c5
+ waitbutton
closetext
- loadmovesprites
checkcode VAR_FACING
- if_equal $1, .UnknownScript_0x69511
+ if_equal UP, .AideWalksAroundPlayer
spriteface PLAYER, DOWN
- applymovement $6, MovementData_0x69549
+ applymovement VIOLETPOKECENTER1F_SCIENTIST, MovementData_AideWalksStraightOutOfPokecenter
playsound SFX_EXIT_BUILDING
- disappear $6
- waitbutton
+ disappear VIOLETPOKECENTER1F_SCIENTIST
+ waitsfx
end
-.UnknownScript_0x69511
- applymovement $6, MovementData_0x6954e
+.AideWalksAroundPlayer
+ applymovement VIOLETPOKECENTER1F_SCIENTIST, MovementData_AideWalksLeftToExitPokecenter
spriteface PLAYER, DOWN
- applymovement $6, MovementData_0x69551
+ applymovement VIOLETPOKECENTER1F_SCIENTIST, MovementData_AideFinishesLeavingPokecenter
playsound SFX_EXIT_BUILDING
- disappear $6
- waitbutton
+ disappear VIOLETPOKECENTER1F_SCIENTIST
+ waitsfx
end
.eggname
db "EGG@"
-UnknownScript_0x69527:
+.AideGivesEgg:
jumpstd receivetogepiegg
end
-UnknownScript_0x6952b:
+.PartyFull:
writetext UnknownText_0x69693
+ waitbutton
closetext
- loadmovesprites
end
-UnknownScript_0x69531:
+.RefusedEgg:
writetext UnknownText_0x696f2
+ waitbutton
closetext
- loadmovesprites
setevent EVENT_REFUSED_TO_TAKE_EGG_FROM_ELMS_AIDE
end
-UnknownScript_0x6953a:
+.SecondTimeAsking:
writetext UnknownText_0x69712
- jump UnknownScript_0x694d7
+ jump .AskTakeEgg
GameboyKidScript_0x69540:
jumptextfaceplayer UnknownText_0x69809
@@ -80,7 +87,7 @@
YoungsterScript_0x69546:
jumptextfaceplayer UnknownText_0x698b8
-MovementData_0x69549:
+MovementData_AideWalksStraightOutOfPokecenter:
step_down
step_down
step_down
@@ -87,12 +94,12 @@
step_down
step_end
-MovementData_0x6954e:
+MovementData_AideWalksLeftToExitPokecenter:
step_left
step_down
step_end
-MovementData_0x69551:
+MovementData_AideFinishesLeavingPokecenter:
step_down
step_down
step_down
@@ -226,8 +233,8 @@
.PersonEvents:
db 5
- person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, NurseScript_0x694c9, -1
+ person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, VioletPokeCenterNurse, -1
person_event SPRITE_GAMEBOY_KID, 6, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, GameboyKidScript_0x69540, -1
person_event SPRITE_GENTLEMAN, 4, 1, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, GentlemanScript_0x69543, -1
person_event SPRITE_YOUNGSTER, 1, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x69546, -1
- person_event SPRITE_SCIENTIST, 3, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, ScientistScript_0x694cc, EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER
+ person_event SPRITE_SCIENTIST, 3, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, VioletPokeCenter1F_ElmsAideScript, EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER
--- a/maps/ViridianCity.asm
+++ b/maps/ViridianCity.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const VIRIDIANCITY_GRAMPS1
+ const VIRIDIANCITY_GRAMPS2
+ const VIRIDIANCITY_FISHER
+ const VIRIDIANCITY_YOUNGSTER
+
ViridianCity_MapScriptHeader:
.MapTriggers:
db 0
@@ -14,52 +20,52 @@
GrampsScript_0x1a9a4c:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x1a9aa5
yesorno
iffalse UnknownScript_0x1a9a5b
writetext UnknownText_0x1a9b6f
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x1a9a5b:
writetext UnknownText_0x1a9bb7
+ waitbutton
closetext
- loadmovesprites
end
GrampsScript_0x1a9a61:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BLUE_IN_CINNABAR
iftrue .BlueReturned
writetext UnknownText_0x1a9c11
+ waitbutton
closetext
- loadmovesprites
end
.BlueReturned
writetext UnknownText_0x1a9c7e
+ waitbutton
closetext
- loadmovesprites
end
FisherScript_0x1a9a75:
faceplayer
- loadfont
+ opentext
checkevent EVENT_GOT_TM42_DREAM_EATER
iftrue UnknownScript_0x1a9a8a
writetext UnknownText_0x1a9cc4
- keeptextopen
+ buttonsound
verbosegiveitem TM_DREAM_EATER
iffalse UnknownScript_0x1a9a8e
setevent EVENT_GOT_TM42_DREAM_EATER
UnknownScript_0x1a9a8a:
writetext UnknownText_0x1a9d86
- closetext
+ waitbutton
UnknownScript_0x1a9a8e:
- loadmovesprites
+ closetext
end
YoungsterScript_0x1a9a90:
--- a/maps/ViridianGym.asm
+++ b/maps/ViridianGym.asm
@@ -1,3 +1,7 @@
+const_value set 2
+ const VIRIDIANGYM_BLUE
+ const VIRIDIANGYM_GYM_GUY
+
ViridianGym_MapScriptHeader:
.MapTriggers:
db 0
@@ -7,47 +11,47 @@
BlueScript_0x9aa26:
faceplayer
- loadfont
+ opentext
checkflag ENGINE_EARTHBADGE
iftrue .FightDone
writetext UnknownText_0x9aa7b
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x9abae, 0
loadtrainer BLUE, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_BLUE
- loadfont
+ opentext
writetext UnknownText_0x9ac0f
playsound SFX_GET_BADGE
- waitbutton
+ waitsfx
setflag ENGINE_EARTHBADGE
writetext UnknownText_0x9ac27
+ waitbutton
closetext
- loadmovesprites
end
.FightDone
writetext UnknownText_0x9acab
+ waitbutton
closetext
- loadmovesprites
end
ViridianGymGuyScript:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_BLUE
iftrue .ViridianGymGuyWinScript
writetext ViridianGymGuyText
+ waitbutton
closetext
- loadmovesprites
end
.ViridianGymGuyWinScript
writetext ViridianGymGuyWinText
+ waitbutton
closetext
- loadmovesprites
end
ViridianGymStatue:
--- a/maps/ViridianMart.asm
+++ b/maps/ViridianMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const VIRIDIANMART_CLERK
+ const VIRIDIANMART_LASS
+ const VIRIDIANMART_COOLTRAINER_M
+
ViridianMart_MapScriptHeader:
.MapTriggers:
db 0
@@ -6,9 +11,9 @@
db 0
ClerkScript_0x9b5e7:
- loadfont
+ opentext
pokemart MARTTYPE_STANDARD, MART_VIRIDIAN
- loadmovesprites
+ closetext
end
LassScript_0x9b5ee:
--- a/maps/ViridianNicknameSpeechHouse.asm
+++ b/maps/ViridianNicknameSpeechHouse.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const VIRIDIANNICKNAMESPEECHHOUSE_POKEFAN_M
+ const VIRIDIANNICKNAMESPEECHHOUSE_LASS
+ const VIRIDIANNICKNAMESPEECHHOUSE_MOLTRES
+ const VIRIDIANNICKNAMESPEECHHOUSE_GROWLITHE
+
ViridianNicknameSpeechHouse_MapScriptHeader:
.MapTriggers:
db 0
@@ -12,19 +18,19 @@
jumptextfaceplayer UnknownText_0x9aecb
MoltresScript_0x9ae40:
- loadfont
+ opentext
writetext UnknownText_0x9aefe
cry SPEAROW
+ waitbutton
closetext
- loadmovesprites
end
GrowlitheScript_0x9ae4a:
- loadfont
+ opentext
writetext UnknownText_0x9af10
cry RATTATA
+ waitbutton
closetext
- loadmovesprites
end
UnknownText_0x9ae54:
--- a/maps/ViridianPokeCenter1F.asm
+++ b/maps/ViridianPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+ const VIRIDIANPOKECENTER1F_NURSE
+ const VIRIDIANPOKECENTER1F_COOLTRAINER_M
+ const VIRIDIANPOKECENTER1F_COOLTRAINER_F
+ const VIRIDIANPOKECENTER1F_BUG_CATCHER
+
ViridianPokeCenter1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -10,18 +16,18 @@
CooltrainerMScript_0x9b693:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BLUE_IN_CINNABAR
iftrue .BlueReturned
writetext UnknownText_0x9b6ad
+ waitbutton
closetext
- loadmovesprites
end
.BlueReturned
writetext UnknownText_0x9b6f5
+ waitbutton
closetext
- loadmovesprites
end
CooltrainerFScript_0x9b6a7:
--- a/maps/ViridianPokeCenter2FBeta.asm
+++ b/maps/ViridianPokeCenter2FBeta.asm
@@ -1,3 +1,4 @@
+
ViridianPokeCenter2FBeta_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/WarehouseEntrance.asm
+++ b/maps/WarehouseEntrance.asm
@@ -1,3 +1,14 @@
+const_value set 2
+ const WAREHOUSEENTRANCE_SUPER_NERD1
+ const WAREHOUSEENTRANCE_SUPER_NERD2
+ const WAREHOUSEENTRANCE_SUPER_NERD3
+ const WAREHOUSEENTRANCE_SUPER_NERD4
+ const WAREHOUSEENTRANCE_POKE_BALL
+ const WAREHOUSEENTRANCE_GRAMPS
+ const WAREHOUSEENTRANCE_SUPER_NERD5
+ const WAREHOUSEENTRANCE_SUPER_NERD6
+ const WAREHOUSEENTRANCE_GRANNY
+
WarehouseEntrance_MapScriptHeader:
.MapTriggers:
db 0
@@ -52,56 +63,56 @@
if_equal SATURDAY, .Saturday
.Sunday:
- disappear $7
- disappear $8
- appear $9
- appear $a
+ disappear WAREHOUSEENTRANCE_GRAMPS
+ disappear WAREHOUSEENTRANCE_SUPER_NERD5
+ appear WAREHOUSEENTRANCE_SUPER_NERD6
+ appear WAREHOUSEENTRANCE_GRANNY
return
.Monday:
- disappear $7
+ disappear WAREHOUSEENTRANCE_GRAMPS
checkmorn
iffalse .NotMondayMorning
- appear $7
+ appear WAREHOUSEENTRANCE_GRAMPS
.NotMondayMorning:
- disappear $8
- disappear $9
- disappear $a
+ disappear WAREHOUSEENTRANCE_SUPER_NERD5
+ disappear WAREHOUSEENTRANCE_SUPER_NERD6
+ disappear WAREHOUSEENTRANCE_GRANNY
return
.Tuesday:
- disappear $7
- appear $8
- disappear $9
- disappear $a
+ disappear WAREHOUSEENTRANCE_GRAMPS
+ appear WAREHOUSEENTRANCE_SUPER_NERD5
+ disappear WAREHOUSEENTRANCE_SUPER_NERD6
+ disappear WAREHOUSEENTRANCE_GRANNY
return
.Wednesday:
- disappear $7
- disappear $8
- appear $9
- disappear $a
+ disappear WAREHOUSEENTRANCE_GRAMPS
+ disappear WAREHOUSEENTRANCE_SUPER_NERD5
+ appear WAREHOUSEENTRANCE_SUPER_NERD6
+ disappear WAREHOUSEENTRANCE_GRANNY
return
.Thursday:
- disappear $7
- appear $8
- disappear $9
- disappear $a
+ disappear WAREHOUSEENTRANCE_GRAMPS
+ appear WAREHOUSEENTRANCE_SUPER_NERD5
+ disappear WAREHOUSEENTRANCE_SUPER_NERD6
+ disappear WAREHOUSEENTRANCE_GRANNY
return
.Friday:
- disappear $7
- disappear $8
- appear $9
- disappear $a
+ disappear WAREHOUSEENTRANCE_GRAMPS
+ disappear WAREHOUSEENTRANCE_SUPER_NERD5
+ appear WAREHOUSEENTRANCE_SUPER_NERD6
+ disappear WAREHOUSEENTRANCE_GRANNY
return
.Saturday:
- disappear $7
- appear $8
- disappear $9
- appear $a
+ disappear WAREHOUSEENTRANCE_GRAMPS
+ appear WAREHOUSEENTRANCE_SUPER_NERD5
+ disappear WAREHOUSEENTRANCE_SUPER_NERD6
+ appear WAREHOUSEENTRANCE_GRANNY
return
TrainerSupernerdEric:
@@ -108,11 +119,11 @@
trainer EVENT_BEAT_SUPER_NERD_ERIC, SUPER_NERD, ERIC, SupernerdEricSeenText, SupernerdEricBeatenText, 0, SupernerdEricScript
SupernerdEricScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7c36c
+ waitbutton
closetext
- loadmovesprites
end
TrainerSupernerdTeru:
@@ -119,11 +130,11 @@
trainer EVENT_BEAT_SUPER_NERD_TERU, SUPER_NERD, TERU, SupernerdTeruSeenText, SupernerdTeruBeatenText, 0, SupernerdTeruScript
SupernerdTeruScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7c410
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokemaniacIssac:
@@ -130,11 +141,11 @@
trainer EVENT_BEAT_POKEMANIAC_ISSAC, POKEMANIAC, ISSAC, PokemaniacIssacSeenText, PokemaniacIssacBeatenText, 0, PokemaniacIssacScript
PokemaniacIssacScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7c498
+ waitbutton
closetext
- loadmovesprites
end
TrainerPokemaniacDonald:
@@ -141,15 +152,15 @@
trainer EVENT_BEAT_POKEMANIAC_DONALD, POKEMANIAC, DONALD, PokemaniacDonaldSeenText, PokemaniacDonaldBeatenText, 0, PokemaniacDonaldScript
PokemaniacDonaldScript:
- talkaftercancel
- loadfont
+ end_if_just_battled
+ opentext
writetext UnknownText_0x7c52f
+ waitbutton
closetext
- loadmovesprites
end
GrannyScript_0x7c132:
- loadfont
+ opentext
checkcode VAR_WEEKDAY
if_equal SUNDAY, .Open
if_equal SATURDAY, .Open
@@ -157,11 +168,11 @@
.Open:
pokemart MARTTYPE_BITTER, MART_UNDERGROUND
- loadmovesprites
+ closetext
end
GrampsScript_0x7c146:
- loadfont
+ opentext
checkflag ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED
iftrue WarehouseEntranceScript_ShopClosed
checkcode VAR_WEEKDAY
@@ -172,11 +183,11 @@
checkmorn
iffalse WarehouseEntranceScript_ShopClosed
pokemart MARTTYPE_BARGAIN, 0
- loadmovesprites
+ closetext
end
OlderHaircutBrotherScript:
- loadfont
+ opentext
checkcode VAR_WEEKDAY
if_equal TUESDAY, .DoHaircut
if_equal THURSDAY, .DoHaircut
@@ -186,7 +197,7 @@
.DoHaircut:
checkflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
iftrue .AlreadyGotHaircut
- special PlaceMoneyTopRightOW
+ special PlaceMoneyTopRight
writetext UnknownText_0x7c5f9
yesorno
iffalse .Refused
@@ -193,7 +204,7 @@
checkmoney $0, 500
if_equal $2, .NotEnoughMoney
writetext UnknownText_0x7c69a
- keeptextopen
+ buttonsound
special Special_YoungerHaircutBrother
if_equal $0, .Refused
if_equal $1, .Refused
@@ -222,18 +233,18 @@
.then:
takemoney $0, 500
- special PlaceMoneyTopRightOW
+ special PlaceMoneyTopRight
writetext UnknownText_0x7c6b8
+ waitbutton
closetext
- loadmovesprites
special FadeOutPalettes
playmusic MUSIC_HEAL
pause 60
special FadeInPalettes
special RestartMapMusic
- loadfont
+ opentext
writetext UnknownText_0x7c6d8
- closetext
+ waitbutton
checkevent EVENT_GAVE_KURT_APRICORNS
iftrue UnknownScript_0x7c2bb
checkevent EVENT_RECEIVED_BALLS_FROM_KURT
@@ -242,24 +253,24 @@
.Refused:
writetext UnknownText_0x7c6ea
+ waitbutton
closetext
- loadmovesprites
end
.NotEnoughMoney:
writetext UnknownText_0x7c709
+ waitbutton
closetext
- loadmovesprites
end
.AlreadyGotHaircut:
writetext UnknownText_0x7c72b
+ waitbutton
closetext
- loadmovesprites
end
YoungerHaircutBrotherScript:
- loadfont
+ opentext
checkcode VAR_WEEKDAY
if_equal SUNDAY, .DoHaircut
if_equal WEDNESDAY, .DoHaircut
@@ -269,7 +280,7 @@
.DoHaircut:
checkflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
iftrue .AlreadyGotHaircut
- special PlaceMoneyTopRightOW
+ special PlaceMoneyTopRight
writetext UnknownText_0x7c75c
yesorno
iffalse .Refused
@@ -276,7 +287,7 @@
checkmoney $0, 300
if_equal $2, .NotEnoughMoney
writetext UnknownText_0x7c7f1
- keeptextopen
+ buttonsound
special Special_OlderHaircutBrother
if_equal $0, .Refused
if_equal $1, .Refused
@@ -305,18 +316,18 @@
.then:
takemoney $0, 300
- special PlaceMoneyTopRightOW
+ special PlaceMoneyTopRight
writetext UnknownText_0x7c80e
+ waitbutton
closetext
- loadmovesprites
special FadeOutPalettes
playmusic MUSIC_HEAL
pause 60
special FadeInPalettes
special RestartMapMusic
- loadfont
+ opentext
writetext UnknownText_0x7c82a
- closetext
+ waitbutton
checkevent EVENT_GAVE_KURT_APRICORNS
iftrue UnknownScript_0x7c2bb
checkevent EVENT_RECEIVED_BALLS_FROM_KURT
@@ -325,92 +336,92 @@
.Refused:
writetext UnknownText_0x7c842
+ waitbutton
closetext
- loadmovesprites
end
.NotEnoughMoney:
writetext UnknownText_0x7c85b
+ waitbutton
closetext
- loadmovesprites
end
.AlreadyGotHaircut:
writetext UnknownText_0x7c87b
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x7c2bb:
writetext HaircutBrosText_SlightlyHappier
special PlayCurMonCry
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x7c2c4:
writetext HaircutBrosText_Happier
special PlayCurMonCry
+ waitbutton
closetext
- loadmovesprites
end
UnknownScript_0x7c2cd:
writetext HaircutBrosText_MuchHappier
special PlayCurMonCry
+ waitbutton
closetext
- loadmovesprites
end
BasementDoorScript::
- loadfont
+ opentext
checkevent EVENT_USED_BASEMENT_KEY
iftrue .Open
checkitem BASEMENT_KEY
iftrue .Unlock
writetext UnknownText_0x7c5b0
+ waitbutton
closetext
- loadmovesprites
end
.Unlock:
playsound SFX_TRANSACTION
writetext UnknownText_0x7c5d6
+ waitbutton
closetext
- loadmovesprites
changeblock $12, $6, $2e
reloadmappart
- loadmovesprites
+ closetext
setevent EVENT_USED_BASEMENT_KEY
end
.Open:
writetext UnknownText_0x7c5c3
+ waitbutton
closetext
- loadmovesprites
end
WarehouseEntranceScript_ShopClosed:
writetext UnknownText_0x7c904
+ waitbutton
closetext
- loadmovesprites
end
-ItemFragment_0x7c306:
- db COIN_CASE, 1
+WarehouseEntranceCoinCase:
+ itemball COIN_CASE
MapWarehouseEntranceSignpost1Script:
jumptext UnknownText_0x7c91a
-MapWarehouseEntranceSignpostItem2:
+WarehouseEntranceHiddenParlyzHeal:
dwb EVENT_WAREHOUSE_ENTRANCE_HIDDEN_PARLYZ_HEAL, PARLYZ_HEAL
-MapWarehouseEntranceSignpostItem3:
+WarehouseEntranceHiddenSuperPotion:
dwb EVENT_WAREHOUSE_ENTRANCE_HIDDEN_SUPER_POTION, SUPER_POTION
-MapWarehouseEntranceSignpostItem4:
+WarehouseEntranceHiddenAntidote:
dwb EVENT_WAREHOUSE_ENTRANCE_HIDDEN_ANTIDOTE, ANTIDOTE
@@ -663,9 +674,9 @@
db 5
signpost 6, 18, SIGNPOST_READ, BasementDoorScript
signpost 6, 19, SIGNPOST_READ, MapWarehouseEntranceSignpost1Script
- signpost 13, 6, SIGNPOST_ITEM, MapWarehouseEntranceSignpostItem2
- signpost 18, 4, SIGNPOST_ITEM, MapWarehouseEntranceSignpostItem3
- signpost 8, 17, SIGNPOST_ITEM, MapWarehouseEntranceSignpostItem4
+ signpost 13, 6, SIGNPOST_ITEM, WarehouseEntranceHiddenParlyzHeal
+ signpost 18, 4, SIGNPOST_ITEM, WarehouseEntranceHiddenSuperPotion
+ signpost 8, 17, SIGNPOST_ITEM, WarehouseEntranceHiddenAntidote
.PersonEvents:
db 9
@@ -673,7 +684,7 @@
person_event SPRITE_SUPER_NERD, 9, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_TRAINER, 2, TrainerSupernerdTeru, -1
person_event SPRITE_SUPER_NERD, 27, 3, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 2, TrainerPokemaniacIssac, -1
person_event SPRITE_SUPER_NERD, 6, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 3, TrainerPokemaniacDonald, -1
- person_event SPRITE_POKE_BALL, 25, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x7c306, EVENT_WAREHOUSE_ENTRANCE_COIN_CASE
+ person_event SPRITE_POKE_BALL, 25, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, WarehouseEntranceCoinCase, EVENT_WAREHOUSE_ENTRANCE_COIN_CASE
person_event SPRITE_GRAMPS, 11, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, PERSONTYPE_SCRIPT, 0, GrampsScript_0x7c146, EVENT_WAREHOUSE_ENTRANCE_GRAMPS
person_event SPRITE_SUPER_NERD, 14, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, OlderHaircutBrotherScript, EVENT_WAREHOUSE_ENTRANCE_OLDER_HAIRCUT_BROTHER
person_event SPRITE_SUPER_NERD, 15, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, PERSONTYPE_SCRIPT, 0, YoungerHaircutBrotherScript, EVENT_WAREHOUSE_ENTRANCE_YOUNGER_HAIRCUT_BROTHER
--- a/maps/WhirlIslandB1F.asm
+++ b/maps/WhirlIslandB1F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const WHIRLISLANDB1F_POKE_BALL1
+ const WHIRLISLANDB1F_POKE_BALL2
+ const WHIRLISLANDB1F_POKE_BALL3
+ const WHIRLISLANDB1F_POKE_BALL4
+ const WHIRLISLANDB1F_POKE_BALL5
+ const WHIRLISLANDB1F_BOULDER
+
WhirlIslandB1F_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,33 +13,33 @@
.MapCallbacks:
db 0
-ItemFragment_0x18c410:
- db FULL_RESTORE, 1
+WhirlIslandB1FFullRestore:
+ itemball FULL_RESTORE
-ItemFragment_0x18c412:
- db CARBOS, 1
+WhirlIslandB1FCarbos:
+ itemball CARBOS
-ItemFragment_0x18c414:
- db CALCIUM, 1
+WhirlIslandB1FCalcium:
+ itemball CALCIUM
-ItemFragment_0x18c416:
- db NUGGET, 1
+WhirlIslandB1FNugget:
+ itemball NUGGET
-ItemFragment_0x18c418:
- db ESCAPE_ROPE, 1
+WhirlIslandB1FEscapeRope:
+ itemball ESCAPE_ROPE
WhirlIslandB1FBoulder:
jumpstd strengthboulder
-MapWhirlIslandB1FSignpostItem0:
+WhirlIslandB1FHiddenRareCandy:
dwb EVENT_WHIRL_ISLAND_B1F_HIDDEN_RARE_CANDY, RARE_CANDY
-MapWhirlIslandB1FSignpostItem1:
+WhirlIslandB1FHiddenUltraBall:
dwb EVENT_WHIRL_ISLAND_B1F_HIDDEN_ULTRA_BALL, ULTRA_BALL
-MapWhirlIslandB1FSignpostItem2:
+WhirlIslandB1FHiddenFullRestore:
dwb EVENT_WHIRL_ISLAND_B1F_HIDDEN_FULL_RESTORE, FULL_RESTORE
@@ -56,15 +64,15 @@
.Signposts:
db 3
- signpost 4, 30, SIGNPOST_ITEM, MapWhirlIslandB1FSignpostItem0
- signpost 18, 36, SIGNPOST_ITEM, MapWhirlIslandB1FSignpostItem1
- signpost 23, 2, SIGNPOST_ITEM, MapWhirlIslandB1FSignpostItem2
+ signpost 4, 30, SIGNPOST_ITEM, WhirlIslandB1FHiddenRareCandy
+ signpost 18, 36, SIGNPOST_ITEM, WhirlIslandB1FHiddenUltraBall
+ signpost 23, 2, SIGNPOST_ITEM, WhirlIslandB1FHiddenFullRestore
.PersonEvents:
db 6
- person_event SPRITE_POKE_BALL, 13, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c410, EVENT_WHIRL_ISLAND_B1F_FULL_RESTORE
- person_event SPRITE_POKE_BALL, 18, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c412, EVENT_WHIRL_ISLAND_B1F_CARBOS
- person_event SPRITE_POKE_BALL, 23, 33, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c414, EVENT_WHIRL_ISLAND_B1F_CALCIUM
- person_event SPRITE_POKE_BALL, 8, 17, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c416, EVENT_WHIRL_ISLAND_B1F_NUGGET
- person_event SPRITE_POKE_BALL, 26, 19, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c418, EVENT_WHIRL_ISLAND_B1F_ESCAPE_ROPE
+ person_event SPRITE_POKE_BALL, 13, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, WhirlIslandB1FFullRestore, EVENT_WHIRL_ISLAND_B1F_FULL_RESTORE
+ person_event SPRITE_POKE_BALL, 18, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, WhirlIslandB1FCarbos, EVENT_WHIRL_ISLAND_B1F_CARBOS
+ person_event SPRITE_POKE_BALL, 23, 33, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, WhirlIslandB1FCalcium, EVENT_WHIRL_ISLAND_B1F_CALCIUM
+ person_event SPRITE_POKE_BALL, 8, 17, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, WhirlIslandB1FNugget, EVENT_WHIRL_ISLAND_B1F_NUGGET
+ person_event SPRITE_POKE_BALL, 26, 19, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, WhirlIslandB1FEscapeRope, EVENT_WHIRL_ISLAND_B1F_ESCAPE_ROPE
person_event SPRITE_BOULDER, 26, 23, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, WhirlIslandB1FBoulder, -1
--- a/maps/WhirlIslandB2F.asm
+++ b/maps/WhirlIslandB2F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+ const WHIRLISLANDB2F_POKE_BALL1
+ const WHIRLISLANDB2F_POKE_BALL2
+ const WHIRLISLANDB2F_POKE_BALL3
+
WhirlIslandB2F_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,14 +10,14 @@
.MapCallbacks:
db 0
-ItemFragment_0x18c4b8:
- db FULL_RESTORE, 1
+WhirlIslandB2FFullRestore:
+ itemball FULL_RESTORE
-ItemFragment_0x18c4ba:
- db MAX_REVIVE, 1
+WhirlIslandB2FMaxRevive:
+ itemball MAX_REVIVE
-ItemFragment_0x18c4bc:
- db MAX_ELIXER, 1
+WhirlIslandB2FMaxElixer:
+ itemball MAX_ELIXER
WhirlIslandB2F_MapEventHeader:
; filler
@@ -33,6 +38,6 @@
.PersonEvents:
db 3
- person_event SPRITE_POKE_BALL, 11, 10, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c4b8, EVENT_WHIRL_ISLAND_B2F_FULL_RESTORE
- person_event SPRITE_POKE_BALL, 4, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c4ba, EVENT_WHIRL_ISLAND_B2F_MAX_REVIVE
- person_event SPRITE_POKE_BALL, 12, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c4bc, EVENT_WHIRL_ISLAND_B2F_MAX_ELIXER
+ person_event SPRITE_POKE_BALL, 11, 10, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, WhirlIslandB2FFullRestore, EVENT_WHIRL_ISLAND_B2F_FULL_RESTORE
+ person_event SPRITE_POKE_BALL, 4, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, WhirlIslandB2FMaxRevive, EVENT_WHIRL_ISLAND_B2F_MAX_REVIVE
+ person_event SPRITE_POKE_BALL, 12, 5, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, WhirlIslandB2FMaxElixer, EVENT_WHIRL_ISLAND_B2F_MAX_ELIXER
--- a/maps/WhirlIslandCave.asm
+++ b/maps/WhirlIslandCave.asm
@@ -1,3 +1,4 @@
+
WhirlIslandCave_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/WhirlIslandLugiaChamber.asm
+++ b/maps/WhirlIslandLugiaChamber.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const WHIRLISLANDLUGIACHAMBER_LUGIA
+
WhirlIslandLugiaChamber_MapScriptHeader:
.MapTriggers:
db 0
@@ -17,26 +20,26 @@
jump UnknownScript_0x18c515
UnknownScript_0x18c512:
- appear $2
+ appear WHIRLISLANDLUGIACHAMBER_LUGIA
return
UnknownScript_0x18c515:
- disappear $2
+ disappear WHIRLISLANDLUGIACHAMBER_LUGIA
return
LugiaScript_0x18c518:
faceplayer
- loadfont
+ opentext
writetext UnknownText_0x18c531
cry LUGIA
pause 15
- loadmovesprites
+ closetext
setevent EVENT_FOUGHT_LUGIA
writecode VAR_BATTLETYPE, BATTLETYPE_FORCEITEM
- loadpokedata LUGIA, 60
+ loadwildmon LUGIA, 60
startbattle
- disappear $2
- returnafterbattle
+ disappear WHIRLISLANDLUGIACHAMBER_LUGIA
+ reloadmapafterbattle
end
UnknownText_0x18c531:
--- a/maps/WhirlIslandNE.asm
+++ b/maps/WhirlIslandNE.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const WHIRLISLANDNE_POKE_BALL
+
WhirlIslandNE_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,8 +8,8 @@
.MapCallbacks:
db 0
-ItemFragment_0x18c396:
- db ULTRA_BALL, 1
+WhirlIslandNEUltraBall:
+ itemball ULTRA_BALL
WhirlIslandNE_MapEventHeader:
; filler
@@ -26,4 +29,4 @@
.PersonEvents:
db 1
- person_event SPRITE_POKE_BALL, 11, 11, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c396, EVENT_WHIRL_ISLAND_NE_ULTRA_BALL
+ person_event SPRITE_POKE_BALL, 11, 11, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, WhirlIslandNEUltraBall, EVENT_WHIRL_ISLAND_NE_ULTRA_BALL
--- a/maps/WhirlIslandNW.asm
+++ b/maps/WhirlIslandNW.asm
@@ -1,3 +1,4 @@
+
WhirlIslandNW_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/WhirlIslandSE.asm
+++ b/maps/WhirlIslandSE.asm
@@ -1,3 +1,4 @@
+
WhirlIslandSE_MapScriptHeader:
.MapTriggers:
db 0
--- a/maps/WhirlIslandSW.asm
+++ b/maps/WhirlIslandSW.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const WHIRLISLANDSW_POKE_BALL
+
WhirlIslandSW_MapScriptHeader:
.MapTriggers:
db 0
@@ -5,8 +8,8 @@
.MapCallbacks:
db 0
-ItemFragment_0x18c3bc:
- db ULTRA_BALL, 1
+WhirlIslandSWUltraBall:
+ itemball ULTRA_BALL
WhirlIslandSW_MapEventHeader:
; filler
@@ -28,4 +31,4 @@
.PersonEvents:
db 1
- person_event SPRITE_POKE_BALL, 2, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMFRAGMENT, 0, ItemFragment_0x18c3bc, EVENT_WHIRL_ISLAND_SW_ULTRA_BALL
+ person_event SPRITE_POKE_BALL, 2, 15, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, WhirlIslandSWUltraBall, EVENT_WHIRL_ISLAND_SW_ULTRA_BALL
--- a/maps/WillsRoom.asm
+++ b/maps/WillsRoom.asm
@@ -1,3 +1,6 @@
+const_value set 2
+ const WILLSROOM_WILL
+
WillsRoom_MapScriptHeader:
.MapTriggers:
db 2
@@ -38,41 +41,41 @@
earthquake 80
changeblock $4, $e, $2a
reloadmappart
- loadmovesprites
+ closetext
dotrigger $1
setevent EVENT_WILLS_ROOM_ENTRANCE_CLOSED
- waitbutton
+ waitsfx
end
WillScript_0x1804f8:
faceplayer
- loadfont
+ opentext
checkevent EVENT_BEAT_ELITE_4_WILL
iftrue UnknownScript_0x180526
writetext UnknownText_0x180531
+ waitbutton
closetext
- loadmovesprites
winlosstext UnknownText_0x18062c, 0
loadtrainer WILL, 1
startbattle
- returnafterbattle
+ reloadmapafterbattle
setevent EVENT_BEAT_ELITE_4_WILL
- loadfont
+ opentext
writetext UnknownText_0x180644
+ waitbutton
closetext
- loadmovesprites
playsound SFX_ENTER_DOOR
changeblock $4, $2, $16
reloadmappart
- loadmovesprites
+ closetext
setevent EVENT_WILLS_ROOM_EXIT_OPEN
- waitbutton
+ waitsfx
end
UnknownScript_0x180526:
writetext UnknownText_0x180644
+ waitbutton
closetext
- loadmovesprites
end
MovementData_0x18052c:
--- a/maps/WiseTriosRoom.asm
+++ b/maps/WiseTriosRoom.asm
@@ -1,3 +1,11 @@
+const_value set 2
+ const WISETRIOSROOM_SAGE1
+ const WISETRIOSROOM_SAGE2
+ const WISETRIOSROOM_SAGE3
+ const WISETRIOSROOM_SAGE4
+ const WISETRIOSROOM_SAGE5
+ const WISETRIOSROOM_SAGE6
+
WiseTriosRoom_MapScriptHeader:
.MapTriggers:
db 2
@@ -50,19 +58,19 @@
jumptextfaceplayer UnknownText_0x987af
UnknownScript_0x985a3:
- spriteface $4, UP
+ spriteface WISETRIOSROOM_SAGE3, UP
spriteface PLAYER, DOWN
- showemote EMOTE_SHOCK, $4, 20
- follow PLAYER, $4
+ showemote EMOTE_SHOCK, WISETRIOSROOM_SAGE3, 20
+ follow PLAYER, WISETRIOSROOM_SAGE3
applymovement PLAYER, MovementData_0x98622
stopfollow
spriteface PLAYER, RIGHT
- loadfont
+ opentext
writetext UnknownText_0x98712
+ waitbutton
closetext
- loadmovesprites
- applymovement $4, MovementData_0x98625
- spriteface $4, LEFT
+ applymovement WISETRIOSROOM_SAGE3, MovementData_0x98625
+ spriteface WISETRIOSROOM_SAGE3, LEFT
end
TrainerSageGaku:
@@ -69,10 +77,10 @@
trainer EVENT_BEAT_SAGE_GAKU, SAGE, GAKU, SageGakuSeenText, SageGakuBeatenText, 0, SageGakuScript
SageGakuScript:
- loadfont
+ opentext
writetext UnknownText_0x98938
+ waitbutton
closetext
- loadmovesprites
end
TrainerSageMasa:
@@ -79,10 +87,10 @@
trainer EVENT_BEAT_SAGE_MASA, SAGE, MASA, SageMasaSeenText, SageMasaBeatenText, 0, SageMasaScript
SageMasaScript:
- loadfont
+ opentext
writetext UnknownText_0x98a35
+ waitbutton
closetext
- loadmovesprites
end
TrainerSageKoji:
@@ -92,24 +100,24 @@
checkevent EVENT_KOJI_ALLOWS_YOU_PASSAGE_TO_TIN_TOWER
iftrue UnknownScript_0x9861b
pause 10
- showemote EMOTE_SHOCK, $7, 20
- loadfont
+ showemote EMOTE_SHOCK, WISETRIOSROOM_SAGE6, 20
+ opentext
writetext UnknownText_0x98c6c
- keeptextopen
+ buttonsound
writetext UnknownText_0x98cac
+ waitbutton
closetext
- loadmovesprites
- applymovement $7, MovementData_0x98628
- spriteface $7, UP
+ applymovement WISETRIOSROOM_SAGE6, MovementData_0x98628
+ spriteface WISETRIOSROOM_SAGE6, UP
setevent EVENT_KOJI_ALLOWS_YOU_PASSAGE_TO_TIN_TOWER
dotrigger $1
end
UnknownScript_0x9861b:
- loadfont
+ opentext
writetext UnknownText_0x98db5
+ waitbutton
closetext
- loadmovesprites
end
MovementData_0x98622:
--- a/misc/battle_tower_5c.asm
+++ b/misc/battle_tower_5c.asm
@@ -1,11 +1,12 @@
Function1700b0: ; 1700b0
- call Function17021e
+; special
+ call InitBattleTowerChallengeRAM
callba Function118121
ret
; 1700ba
Function1700ba: ; 1700ba
- call Function17021e
+ call InitBattleTowerChallengeRAM
callba Function11811a
ret
; 1700c4
@@ -17,6 +18,7 @@
ld [rSVBK], a
call Function17042c
+
ld a, $5
call GetSRAMBank
ld a, $1
@@ -23,15 +25,15 @@
ld [$be45], a
xor a
ld [$be46], a
- ld hl, $dffc
+ ld hl, w3_dffc
ld de, $aa41
- ld bc, $0004
+ ld bc, 4
call CopyBytes
- ld hl, $d202
+ ld hl, w3_d202Name
ld de, $aa8e
- ld bc, $0594
+ ld bc, 7 * $cc ; length of battle tower struct from japanese games?
call CopyBytes
- ld hl, $aa5d
+ ld hl, $aa5d ; some sort of count
ld a, [hl]
inc [hl]
inc hl
@@ -42,8 +44,8 @@
add hl, de
ld e, l
ld d, h
- ld hl, $dffc
- ld bc, $0004
+ ld hl, w3_dffc
+ ld bc, 4
call CopyBytes
call CloseSRAM
pop af
@@ -52,18 +54,18 @@
; 170114
Function170114: ; 170114
- call Function17021e
- call Function170121
+ call InitBattleTowerChallengeRAM
+ call .Function170121
callba Function11805f
ret
; 170121
-Function170121: ; 170121
+.Function170121: ; 170121
ld a, $5
call GetSRAMBank
ld hl, $a948
- ld de, $c608
- ld bc, $00f6
+ ld de, wMisc
+ ld bc, $f6 ; 246
call CopyBytes
call CloseSRAM
call Function170c8b
@@ -71,27 +73,29 @@
; 170139
Function170139: ; 170139
+; Convert the 4-digit decimal number at 5:aa41 into binary
ld a, $5
call GetSRAMBank
ld de, $aa41
ld h, $0
ld l, h
- ld bc, $03e8
- call Function17020c
- ld bc, $0064
- call Function17020c
- ld bc, $000a
- call Function17020c
+ ld bc, 1000
+ call .DecToBin
+ ld bc, 100
+ call .DecToBin
+ ld bc, 10
+ call .DecToBin
ld a, [de]
ld c, a
ld b, $0
add hl, bc
call CloseSRAM
+; Store that number in wMisc
ld a, h
- ld [$c608], a
+ ld [wMisc], a
ld a, l
- ld [$c608 + 1], a
- ld hl, $c628
+ ld [wMisc + 1], a
+ ld hl, wBT_OTTempPkmn1DVs
ld a, [PlayerID]
ld [hli], a
ld a, [PlayerID + 1]
@@ -103,31 +107,31 @@
ld e, l
ld d, h
ld hl, PlayerName
- ld bc, $0005 ; Japanese name length
+ ld bc, 5 ; Japanese name length
call CopyBytes
ld bc, PlayerID
ld de, PlayerGender
callba Function4e929
- ld de, $c62c + 5
+ ld de, wBT_OTTempPkmn1CaughtGender
ld a, c
ld [de], a
inc de
- ld a, $df
+ ld a, PartyMons % $100
ld [wcd49], a
- ld a, $dc
+ ld a, PartyMons / $100
ld [wcd4a], a
- ld a, $41
+ ld a, PartyMonNicknames % $100
ld [wcd4b], a
- ld a, $de
+ ld a, PartyMonNicknames / $100
ld [wcd4c], a
- ld a, $3
-.asm_1701ac
+ ld a, 3
+.CopyLoop
push af
ld a, [wcd49]
ld l, a
ld a, [wcd4a]
ld h, a
- ld bc, $0030
+ ld bc, PARTYMON_STRUCT_LENGTH
call CopyBytes
ld a, l
ld [wcd49], a
@@ -145,42 +149,42 @@
ld [wcd4c], a
pop af
dec a
- jr nz, .asm_1701ac
+ jr nz, .CopyLoop
ld a, $4
call GetSRAMBank
ld hl, $a013
- ld bc, $0024
+ ld bc, $24
call CopyBytes
call CloseSRAM
ld a, $5
call GetSRAMBank
ld hl, $a894
- ld bc, $0006
+ ld bc, 6
call CopyBytes
- ld hl, $c608
+ ld hl, wMisc
ld de, $a948
- ld bc, $00f6
+ ld bc, $f6
call CopyBytes
call CloseSRAM
ret
; 17020c
-Function17020c: ; 17020c
+.DecToBin: ; 17020c
ld a, [de]
inc de
and a
ret z
-.loop
+.digit_loop
add hl, bc
dec a
- jr nz, .loop
+ jr nz, .digit_loop
ret
; 170215
BattleTowerBattle: ; 170215
xor a
- ld [wcf63], a
+ ld [wBattleTowerBattleEnded], a
call _BattleTowerBattle
ret
; 17021d
@@ -189,10 +193,10 @@
ret
; 17021e
-Function17021e: ; 17021e
+InitBattleTowerChallengeRAM: ; 17021e
xor a
- ld [wcf63], a
- ld [wcf64], a
+ ld [wBattleTowerBattleEnded], a
+ ld [wNrOfBeatenBattleTowerTrainers], a
ld [wcf65], a
ld [wcf66], a
ret
@@ -200,19 +204,19 @@
_BattleTowerBattle: ; 17022c
.loop
- call .do_jumptable
+ call .do_dw
call DelayFrame
- ld a, [wcf63]
+ ld a, [wBattleTowerBattleEnded]
cp $1
jr nz, .loop
ret
; 17023a
-.do_jumptable: ; 17023a
- ld a, [wcf63]
+.do_dw: ; 17023a
+ ld a, [wBattleTowerBattleEnded]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -222,7 +226,7 @@
jp [hl]
; 170249
-.jumptable: ; 170249
+.dw: ; 170249
dw RunBattleTowerTrainer
dw SkipBattleTowerTrainer
; 17024d
@@ -256,10 +260,10 @@
ld a, BANK(sNrOfBeatenBattleTowerTrainers)
call GetSRAMBank
ld a, [sNrOfBeatenBattleTowerTrainers]
- ld [wNrOfBeatenBattleTowerTrainers], a ; wcf64
+ ld [wNrOfBeatenBattleTowerTrainers], a
call CloseSRAM
ld hl, StringBuffer3
- ld a, [wNrOfBeatenBattleTowerTrainers] ; wcf64
+ ld a, [wNrOfBeatenBattleTowerTrainers]
add "1"
ld [hli], a
ld a, "@"
@@ -271,7 +275,7 @@
pop af
ld [Options], a
ld a, $1
- ld [wcf63], a
+ ld [wBattleTowerBattleEnded], a
ret
@@ -479,7 +483,7 @@
ld e, l
push hl
push de
- ld hl, MON_EXP + 2
+ ld hl, MON_STAT_EXP - 1
add hl, bc
ld b, $1
predef CalcPkmnStats
@@ -508,7 +512,7 @@
Function17042c: ; 17042c
ld hl, w3_d202TrainerData
- ld a, 7
+ ld a, BATTLETOWER_NROFTRAINERS
.loop
push af
push hl
@@ -521,7 +525,7 @@
ld a, [hli]
and a
jr z, .empty
- cp $f
+ cp 15
jr nc, .copy_data
push hl
@@ -615,7 +619,7 @@
ld [rSVBK], a
ld hl, BT_OTTrainer ; $d100
- ld de, wBT_OTTemp ; $c608
+ ld de, wBT_OTTemp ; wMisc
ld bc, BATTLE_TOWER_STRUCT_LENGTH
call CopyBytes
@@ -624,7 +628,7 @@
ld a, BANK(sBattleTowerChallengeState)
call GetSRAMBank
- ld a, $2
+ ld a, BATTLETOWER_CHALLENGE_IN_PROGESS
ld [sBattleTowerChallengeState], a
ld hl, sNrOfBeatenBattleTowerTrainers
inc [hl]
@@ -632,7 +636,9 @@
SkipBattleTowerTrainer: ; 1704c9
ret
; 1704ca
+
Function1704ca: ; 1704ca
+; unreferenced mobile function
ld a, [$be46]
cp $7
jr c, .asm_1704d3
@@ -653,36 +659,37 @@
; 1704e1
Function1704e1: ; 1704e1
+; unreferenced special
call SpeechTextBox
call FadeToMenu
- call Function17021e
- call Function1704f1
- call ReturnToCallingMenu
+ call InitBattleTowerChallengeRAM
+ call .JumptableLoop
+ call CloseSubmenu
ret
; 1704f1
-Function1704f1: ; 1704f1
+.JumptableLoop: ; 1704f1
call ClearBGPalettes
call ClearSprites
call ClearScreen
-.asm_1704fa
+.loop
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
- jr nz, .asm_17050f
- call Function170510
+ jr nz, .done
+ call .DoJumptable
callba ReloadMapPart
- jr .asm_1704fa
+ jr .loop
-.asm_17050f
+.done
ret
; 170510
-Function170510: ; 170510
+.DoJumptable: ; 170510
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, Jumptable_17051f
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -692,23 +699,23 @@
jp [hl]
; 17051f
-Jumptable_17051f: ; 17051f
- dw Function170525
- dw Function170571
- dw Function170577
+.dw: ; 17051f
+ dw .Jumptable_0
+ dw .Jumptable_1
+ dw .Jumptable_2
; 170525
-Function170525: ; 170525
+.Jumptable_0: ; 170525
ld a, $5
call GetSRAMBank
ld hl, $a89c
ld de, StringBuffer3
- ld bc, $0016
+ ld bc, $16
call CopyBytes
ld hl, $a8b2
- ld de, $c608
+ ld de, wMisc
ld bc, $0096
call CopyBytes
@@ -717,118 +724,118 @@
ld de, StringBuffer3
call PlaceString
hlcoord 1, 3
- ld de, String_170676
+ ld de, .String_Mail
call PlaceString
hlcoord 4, 3
ld de, StringBuffer4
call PlaceString
hlcoord 8, 3
- ld de, String_17067a
+ ld de, .String_PastReaders
call PlaceString
- call Function1705b7
- call Function1705f0
- jr Function1705b2
+ call .DrawBorder
+ call .PlaceTextItems
+ jr .NextJumptableFunction
-Function170571:
+.Jumptable_1:
call SetPalettes
- call Function1705b2
+ call .NextJumptableFunction
-Function170577:
+.Jumptable_2:
ld hl, hJoyPressed
ld a, [hl]
- and $1
- jr nz, .asm_1705ac
+ and A_BUTTON
+ jr nz, .pressed_a_or_b
ld a, [hl]
- and $2
- jr nz, .asm_1705ac
+ and B_BUTTON
+ jr nz, .pressed_a_or_b
ld a, [hl]
- and $40
- jr nz, .asm_17058f
+ and D_UP
+ jr nz, .pressed_up
ld a, [hl]
- and $80
- jr nz, .asm_17059d
+ and D_DOWN
+ jr nz, .pressed_down
ret
-.asm_17058f
- ld a, [wcf64]
+.pressed_up
+ ld a, [wNrOfBeatenBattleTowerTrainers]
and a
ret z
- sub $f
- ld [wcf64], a
- call Function1705f0
+ sub 15
+ ld [wNrOfBeatenBattleTowerTrainers], a
+ call .PlaceTextItems
ret
-.asm_17059d
- ld a, [wcf64]
- cp $3c
+.pressed_down
+ ld a, [wNrOfBeatenBattleTowerTrainers]
+ cp 60
ret z
- add $f
- ld [wcf64], a
- call Function1705f0
+ add 15
+ ld [wNrOfBeatenBattleTowerTrainers], a
+ call .PlaceTextItems
ret
-.asm_1705ac
+.pressed_a_or_b
ld hl, wJumptableIndex
set 7, [hl]
ret
-Function1705b2:
+.NextJumptableFunction:
ld hl, wJumptableIndex
inc [hl]
ret
; 1705b7
-Function1705b7: ; 1705b7
+.DrawBorder: ; 1705b7
hlcoord 0, 4
ld a, $79
ld [hli], a
- ld c, $12
-.asm_1705bf
+ ld c, SCREEN_WIDTH - 2
+.top_border_loop
ld a, $7a
ld [hli], a
dec c
- jr nz, .asm_1705bf
+ jr nz, .top_border_loop
ld a, $7b
ld [hli], a
- ld de, $0014
- ld c, $c
-.asm_1705cd
+ ld de, SCREEN_WIDTH
+ ld c, 12
+.left_border_loop
ld a, $7c
ld [hl], a
add hl, de
dec c
- jr nz, .asm_1705cd
+ jr nz, .left_border_loop
ld a, $7d
ld [hli], a
- ld c, $12
-.asm_1705d9
+ ld c, SCREEN_WIDTH - 2
+.bottom_border_loop
ld a, $7a
ld [hli], a
dec c
- jr nz, .asm_1705d9
+ jr nz, .bottom_border_loop
ld a, $7e
ld [hl], a
- ld de, $ffec
+ ld de, -SCREEN_WIDTH
add hl, de
- ld c, $c
-.asm_1705e8
+ ld c, 12
+.right_border_loop
ld a, $7c
ld [hl], a
add hl, de
dec c
- jr nz, .asm_1705e8
+ jr nz, .right_border_loop
ret
; 1705f0
-Function1705f0: ; 1705f0
- call Function17064b
- call Function17065d
+.PlaceTextItems: ; 1705f0
+ call .ClearBox
+ call .PlaceUpDownArrows
ld a, $50
ld [wcd4e], a
- ld hl, $c608
- ld a, [wcf64]
+ ld hl, wMisc
+ ld a, [wNrOfBeatenBattleTowerTrainers]
ld c, a
xor a
ld b, a
@@ -836,19 +843,20 @@
push hl
pop bc
hlcoord 1, 6
- ld a, $6
-.asm_17060c
+ ld a, 6
+.loop1
push af
push hl
- ld a, $3
-.asm_170610
+ ld a, 3
+.loop2
push af
ld de, wcd49
ld a, [bc]
and a
- jr z, .asm_170625
- ld a, $5
-.asm_17061a
+ jr z, .fill_with_e3
+; .copy
+ ld a, 5
+.loop3a
push af
ld a, [bc]
ld [de], a
@@ -856,12 +864,12 @@
inc de
pop af
dec a
- jr nz, .asm_17061a
- jr .asm_170631
+ jr nz, .loop3a
+ jr .rejoin
-.asm_170625
- ld a, $5
-.asm_170627
+.fill_with_e3
+ ld a, 5
+.loop3b
push af
ld a, $e3
ld [de], a
@@ -869,68 +877,68 @@
inc bc
pop af
dec a
- jr nz, .asm_170627
+ jr nz, .loop3b
-.asm_170631
+.rejoin
ld de, wcd49
push bc
call PlaceString
- ld de, $0006
+ ld de, 6
add hl, de
pop bc
pop af
dec a
- jr nz, .asm_170610
+ jr nz, .loop2
pop hl
- ld de, $0028
+ ld de, $28
add hl, de
pop af
dec a
- jr nz, .asm_17060c
+ jr nz, .loop1
ret
; 17064b
-Function17064b: ; 17064b
+.ClearBox: ; 17064b
hlcoord 1, 5
xor a
- ld b, $c
-.asm_170651
- ld c, $12
-.asm_170653
+ ld b, 12
+.clearbox_row
+ ld c, SCREEN_WIDTH - 2
+.clearbox_column
ld [hli], a
dec c
- jr nz, .asm_170653
+ jr nz, .clearbox_column
rept 2
inc hl
endr
dec b
- jr nz, .asm_170651
+ jr nz, .clearbox_row
ret
; 17065d
-Function17065d: ; 17065d
- ld a, [wcf64]
+.PlaceUpDownArrows: ; 17065d
+ ld a, [wNrOfBeatenBattleTowerTrainers]
and a
- jr z, .asm_170669
+ jr z, .nope
hlcoord 18, 5
- ld a, $61
+ ld a, "▲"
ld [hl], a
-.asm_170669
- ld a, [wcf64]
- cp $3c
+.nope
+ ld a, [wNrOfBeatenBattleTowerTrainers]
+ cp 60
ret z
hlcoord 18, 16
- ld a, $ee
+ ld a, "▼"
ld [hl], a
ret
; 170676
-String_170676: ; 170676
+.String_Mail: ; 170676
db "ルーム@"
; 17067a
-String_17067a: ; 17067a
+.String_PastReaders: ; 17067a
db "れきだいりーダーいちらん@"
; 170687
@@ -938,7 +946,7 @@
ld a, [ScriptVar]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -949,17 +957,17 @@
; 170696
-.jumptable: ; 170696 (5c:4696)
+.dw: ; 170696 (5c:4696)
dw Function17075f ; 0x00
dw Function170788 ; 0x01
dw Function170778 ; 0x02
- dw Function170799 ; 0x03
- dw Function17079d ; 0x04
+ dw BattleTowerAction_SetByteToQuickSaveChallenge ; 0x03
+ dw BattleTowerAction_SetByteToCancelChallenge ; 0x04
dw Function1707ac ; 0x05
dw Function1707f4 ; 0x06
- dw Function170868 ; 0x07
- dw Function170881 ; 0x08
- dw Function17089a ; 0x09
+ dw SaveBattleTowerLevelGroup ; 0x07
+ dw LoadBattleTowerLevelGroup ; 0x08
+ dw BattleTower_CheckSaveFileExistsAndIsYours ; 0x09
dw Function1708b1 ; 0x0a
dw CheckMobileEventIndex ; 0x0b
dw Function1708c8 ; 0x0c
@@ -977,11 +985,11 @@
dw Function170ae8 ; 0x18
dw Function170b16 ; 0x19
dw ResetBattleTowerTrainersSRAM ; 0x1a
- dw Function1706ee ; 0x1b
+ dw BattleTower_GiveReward ; 0x1b
dw Function17071b ; 0x1c
dw Function170729 ; 0x1d
- dw Function17073e ; 0x1e
- dw Function170737 ; 0x1f
+ dw BattleTower_RandomlyChooseReward ; 0x1e
+ dw BattleTower_SaveOptions ; 0x1f
; Reset the save memory for BattleTower-Trainers (Counter and all 7 TrainerBytes)
@@ -1001,7 +1009,7 @@
ret
-Function1706ee: ; 1706ee (5c:46ee) BattleTowerAction $1b
+BattleTower_GiveReward: ; 1706ee (5c:46ee) BattleTowerAction $1b
ld a, BANK(sBattleTowerReward)
call GetSRAMBank
@@ -1033,7 +1041,7 @@
Function17071b: ; 17071b (5c:471b) BattleTowerAction $1c
ld a, BANK(sBattleTowerChallengeState)
call GetSRAMBank
- ld a, $3
+ ld a, BATTLETOWER_WON_CHALLENGE
ld [sBattleTowerChallengeState], a
call CloseSRAM
ret
@@ -1041,16 +1049,16 @@
Function170729: ; 170729 (5c:4729) BattleTowerAction $1d
ld a, BANK(sBattleTowerChallengeState)
call GetSRAMBank
- ld a, $4
+ ld a, BATTLETOWER_RECEIVED_REWARD
ld [sBattleTowerChallengeState], a
call CloseSRAM
ret
-Function170737: ; 170737 (5c:4737) BattleTowerAction $1e
+BattleTower_SaveOptions: ; 170737 (5c:4737) BattleTowerAction $1f
callba SaveOptions
ret
-Function17073e: ; 17073e (5c:473e) BattleTowerAction $1f
+BattleTower_RandomlyChooseReward: ; 17073e (5c:473e) BattleTowerAction $1e
; Generate a random stat boosting item.
.loop
call Random
@@ -1072,7 +1080,7 @@
ret
Function17075f: ; 17075f (5c:475f) BattleTowerAction $00
- call Function17089a
+ call BattleTower_CheckSaveFileExistsAndIsYours
ld a, [ScriptVar]
and a
ret z
@@ -1103,12 +1111,12 @@
call CloseSRAM
ret
-Function170799: ; 170799 (5c:4799) BattleTowerAction $03
- ld c, $1
+BattleTowerAction_SetByteToQuickSaveChallenge: ; 170799 (5c:4799) BattleTowerAction $03
+ ld c, BATTLETOWER_SAVED_AND_LEFT
jr asm_17079f
-Function17079d: ; 17079d (5c:479d) BattleTowerAction $04
- ld c, $0
+BattleTowerAction_SetByteToCancelChallenge: ; 17079d (5c:479d) BattleTowerAction $04
+ ld c, BATTLETOWER_NO_CHALLENGE
asm_17079f: ; 17079f (5c:479f)
ld a, BANK(sBattleTowerChallengeState)
call GetSRAMBank
@@ -1203,9 +1211,10 @@
and a
jr nz, .asm_170853
ret
+
.asm_170849
ld hl, CurDay
- ld a, $8c
+ ld a, 140
sub c
add [hl]
cp $b
@@ -1221,39 +1230,39 @@
call CloseSRAM
ret
-Function170868: ; 170868 (5c:4868) BattleTowerAction $07
- ld a, BANK(sbe47)
+SaveBattleTowerLevelGroup: ; 170868 (5c:4868) BattleTowerAction $07
+ ld a, BANK(sBTChoiceOfLevelGroup)
call GetSRAMBank
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
- ld a, [wd000 + $800]
- ld [sbe47], a
+ ld a, [wBTChoiceOfLvlGroup]
+ ld [sBTChoiceOfLevelGroup], a
pop af
ld [rSVBK], a
call CloseSRAM
ret
-Function170881: ; 170881 (5c:4881) BattleTowerAction $08
- ld a, BANK(sbe47)
+LoadBattleTowerLevelGroup: ; 170881 (5c:4881) BattleTowerAction $08 ; Load level group choice
+ ld a, BANK(sBTChoiceOfLevelGroup)
call GetSRAMBank
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
- ld a, [sbe47]
- ld [wd000 + $800], a
+ ld a, [sBTChoiceOfLevelGroup]
+ ld [wBTChoiceOfLvlGroup], a
pop af
ld [rSVBK], a
call CloseSRAM
ret
-Function17089a: ; 17089a BattleTowerAction $09
+BattleTower_CheckSaveFileExistsAndIsYours: ; 17089a BattleTowerAction $09
ld a, [wSaveFileExists]
and a
jr z, .nope
- callba Function14bcb
+ callba CompareLoadedAndSavedPlayerID
jr z, .yes
xor a
jr .nope
@@ -1359,7 +1368,7 @@
jr nz, .not_egg
push hl
ld hl, PartyMonOT ; wddff (aliases: PartyMonOT)
- ld de, $6
+ ld de, $6 ; NAME_LENGTH
ld a, b
and a
jr z, .skip
@@ -1369,21 +1378,21 @@
jr nz, .loop2
.skip
ld de, String_1709a4
- ld a, $6
-.asm_17096e
+ ld a, $6 ; NAME_LENGTH
+.compare_loop
push af
ld a, [de]
inc de
cp [hl]
inc hl
- jr nz, .asm_17099d
+ jr nz, .different
pop af
dec a
- jr nz, .asm_17096e
+ jr nz, .compare_loop
rept 4
dec hl
endr
- ld a, $50
+ ld a, "@"
rept 2
ld [hli], a
endr
@@ -1390,10 +1399,10 @@
pop hl
ld a, EGG_TICKET
ld [CurItem], a
- ld a, $1
+ ld a, 1
ld [wItemQuantityChangeBuffer], a
- ld a, $ff
- ld [wd107], a
+ ld a, -1
+ ld [CurItemQuantity], a
ld hl, NumItems
call TossItem
ld a, $1
@@ -1400,7 +1409,7 @@
ld [ScriptVar], a
ret
-.asm_17099d
+.different
pop af
pop hl
.not_egg
@@ -1454,15 +1463,15 @@
; 1709e7 (5c:49e7)
Jumptable_1709e7: ; 1709e7
- dw Function170a00
- dw Function170a00
- dw Function1709f3
- dw Function1709f3
- dw Function170a01
- dw Function170a33
+ dw .NoAction
+ dw .NoAction
+ dw .DoAction1
+ dw .DoAction1
+ dw .Action4
+ dw .Action5
; 1709f3
-Function1709f3: ; 1709f3
+.DoAction1: ; 1709f3
ld a, $5
call GetSRAMBank
ld a, $1
@@ -1469,15 +1478,15 @@
ld [$a800], a
call CloseSRAM
-Function170a00: ; 170a00
+.NoAction: ; 170a00
ret
; 170a01
-Function170a01: ; 170a01
+.Action4: ; 170a01
ld a, $5
call GetSRAMBank
ld hl, $b023
- ld de, $c608
+ ld de, wMisc
ld bc, $0069
call CopyBytes
ld a, [$a825]
@@ -1492,11 +1501,11 @@
ret
; 170a33
-Function170a33: ; 170a33
+.Action5: ; 170a33
ld a, $0
call GetSRAMBank
ld hl, wRTC
- ld de, $c608
+ ld de, wMisc
ld bc, $0004
call CopyBytes
call CloseSRAM
@@ -1503,16 +1512,16 @@
ld a, $5
call GetSRAMBank
ld hl, $b08c
- ld de, $c608
+ ld de, wMisc
ld c, $4
-.asm_170a54
+.compare_loop
ld a, [de]
inc de
cp [hl]
- jr nz, .asm_170a78
+ jr nz, .different
inc hl
dec c
- jr nz, .asm_170a54
+ jr nz, .compare_loop
call CloseSRAM
ld a, [MapGroup]
ld b, a
@@ -1521,17 +1530,17 @@
call GetMapTrigger
ld a, d
or e
- jr z, .asm_170a72
+ jr z, .no_trigger
ld a, [de]
and a
ret nz
-.asm_170a72
+.no_trigger
ld a, $1
ld [ScriptVar], a
ret
-.asm_170a78
+.different
call CloseSRAM
ld a, $5
call GetSRAMBank
@@ -1546,11 +1555,11 @@
call GetMapTrigger
ld a, d
or e
- jr z, .asm_170a9b
+ jr z, .no_trigger_2
xor a
ld [de], a
-.asm_170a9b
+.no_trigger_2
ret
; 170a9c
@@ -1577,10 +1586,11 @@
ret
Function170abe: ; 170abe (5c:4abe) BattleTowerAction $14
- call Function17089a
+ call BattleTower_CheckSaveFileExistsAndIsYours
ld a, [ScriptVar]
and a
ret z
+
ld a, BANK(sbe4f)
call GetSRAMBank
ld a, [sbe4f]
@@ -1603,13 +1613,13 @@
call GetSRAMBank
ld a, [$b2fb]
call CloseSRAM
- ld c, $a
+ ld c, 10
call SimpleDivide
ld a, b
ld [wcd4f], a
xor a
ld [ScriptVar], a
- callba Function119d93
+ callba Function119d93 ; level check
ret nc
ld a, $5
call GetSRAMBank
@@ -1629,7 +1639,7 @@
ld [wcd4f], a
xor a
ld [ScriptVar], a
- callba Function119dd1
+ callba Function119dd1 ; ubers check
ret nc
ld a, $5
call GetSRAMBank
@@ -1637,3 +1647,134 @@
call CloseSRAM
ld [ScriptVar], a
ret
+
+Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44
+ callba Function_LoadOpponentTrainerAndPokemons
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+ ld hl, BT_OTTrainerClass
+ ld a, [hl]
+ dec a
+ ld c, a
+ ld b, $0
+ pop af
+ ld [rSVBK], a
+ ld hl, .Sprites
+ add hl, bc
+ ld a, [hl]
+ ld [wBTTempOTSprite], a
+
+; Load sprite of the opponent trainer
+; because s/he is chosen randomly and appears out of nowhere
+ ld a, [ScriptVar]
+ dec a
+ sla a
+ ld e, a
+ sla a
+ sla a
+ sla a
+ ld c, a
+ ld b, 0
+ ld d, 0
+ ld hl, MapObjects
+ add hl, bc
+ inc hl
+ ld a, [wBTTempOTSprite]
+ ld [hl], a
+ ld hl, UsedSprites
+ add hl, de
+ ld [hli], a
+ ld [hUsedSpriteIndex], a
+ ld a, [hl]
+ ld [hUsedSpriteTile], a
+ callba GetUsedSprite
+ ret
+; 170b90
+
+.Sprites:
+ db SPRITE_FALKNER
+ db SPRITE_WHITNEY
+ db SPRITE_BUGSY
+ db SPRITE_MORTY
+ db SPRITE_PRYCE
+ db SPRITE_JASMINE
+ db SPRITE_CHUCK
+ db SPRITE_CLAIR
+ db SPRITE_SILVER
+ db SPRITE_OAK
+ db SPRITE_WILL
+ db SPRITE_CHRIS
+ db SPRITE_BRUNO
+ db SPRITE_KAREN
+ db SPRITE_KOGA
+ db SPRITE_LANCE
+ db SPRITE_BROCK
+ db SPRITE_MISTY
+ db SPRITE_SURGE
+ db SPRITE_SCIENTIST
+ db SPRITE_ERIKA
+ db SPRITE_YOUNGSTER
+ db SPRITE_YOUNGSTER
+ db SPRITE_YOUNGSTER
+ db SPRITE_LASS
+ db SPRITE_JANINE
+ db SPRITE_COOLTRAINER_M
+ db SPRITE_COOLTRAINER_F
+ db SPRITE_BUENA
+ db SPRITE_SUPER_NERD
+ db SPRITE_ROCKET
+ db SPRITE_GENTLEMAN
+ db SPRITE_BUENA
+ db SPRITE_TEACHER
+ db SPRITE_SABRINA
+ db SPRITE_BUG_CATCHER
+ db SPRITE_FISHER
+ db SPRITE_SUPER_NERD
+ db SPRITE_COOLTRAINER_F
+ db SPRITE_SAILOR
+ db SPRITE_SUPER_NERD
+ db SPRITE_BLUE
+ db SPRITE_ROCKER
+ db SPRITE_POKEFAN_M
+ db SPRITE_BIKER
+ db SPRITE_BLAINE
+ db SPRITE_PHARMACIST
+ db SPRITE_FISHER
+ db SPRITE_SUPER_NERD
+ db SPRITE_BLACK_BELT
+ db SPRITE_ROCKET
+ db SPRITE_YOUNGSTER
+ db SPRITE_LASS
+ db SPRITE_YOUNGSTER
+ db SPRITE_ROCKET_GIRL
+ db SPRITE_SAGE
+ db SPRITE_GRANNY
+ db SPRITE_ROCKER
+ db SPRITE_POKEFAN_M
+ db SPRITE_KIMONO_GIRL
+ db SPRITE_TWIN
+ db SPRITE_POKEFAN_F
+ db SPRITE_RED
+ db SPRITE_BLUE
+ db SPRITE_OFFICER
+ db SPRITE_ROCKET_GIRL
+
+ret_170bd2: ; 170bd2
+ ret
+; 170bd3
+
+SpecialCheckForBattleTowerRules: ; 170bd3
+ callba CheckForBattleTowerRules
+ jr c, .asm_170bde
+ xor a
+ jr .asm_170be0
+
+.asm_170bde
+ ld a, $1
+
+.asm_170be0
+ ld [ScriptVar], a
+ ret
+; 170be4
--- a/misc/crystal_misc.asm
+++ b/misc/crystal_misc.asm
@@ -49,7 +49,7 @@
call Function17ac0c
callba Function104000
call Function17abcf
- callba Function49409
+ callba LoadOW_BGPal7
callba Function49420
call SetPalettes
call DelayFrame
--- a/misc/fixed_words.asm
+++ b/misc/fixed_words.asm
@@ -21,6 +21,7 @@
ld b, h
scf
ret
+
; 11c075
Function11c075: ; 11c075
@@ -31,6 +32,7 @@
ld bc, wcd36
call Function11c08f
ret
+
; 11c082
Function11c082: ; 11c082
@@ -41,6 +43,7 @@
ld bc, wcd36
call Function11c0c6
ret
+
; 11c08f
Function11c08f: ; 11c08f
@@ -93,6 +96,7 @@
dec a
jr nz, .asm_11c0b0
ret
+
; 11c0c6
@@ -187,6 +191,7 @@
ld a, h
ld [wcf64], a
ret
+
; 11c14a
Function11c14a: ; 11c14a
@@ -211,8 +216,8 @@
call ByteFill
ld a, d
and a
- jr z, .asm_11c19c
- ld hl, Unknown_11daac
+ jr z, .get_name
+ ld hl, MobileFixedWordCategoryPointers
dec d
sla d
ld c, d
@@ -233,8 +238,8 @@
sla c
rl b
add hl, bc
- ld bc, $0005
-.asm_11c18f
+ ld bc, 5 ; length of a string
+.loop
ld de, $c608
call CopyBytes
ld de, $c608
@@ -242,13 +247,13 @@
ld [rSVBK], a
ret
-.asm_11c19c
+.get_name
ld a, e
ld [wd265], a
call GetPokemonName
ld hl, StringBuffer1
- ld bc, $000a
- jr .asm_11c18f
+ ld bc, PKMN_NAME_LENGTH - 1
+ jr .loop
; 11c1ab
Function11c1ab: ; 11c1ab
@@ -260,6 +265,7 @@
pop af
ld [hInMenu], a
ret
+
; 11c1b9
Function11c1b9: ; 11c1b9
@@ -272,6 +278,7 @@
pop af
ld [rSVBK], a
ret
+
; 11c1ca
Function11c1ca: ; 11c1ca
@@ -281,14 +288,14 @@
ld [wcf65], a
ld [wcf66], a
ld [wcd23], a
- ld [BGMapBuffer], a
+ ld [wcd20], a
ld [wcd21], a
- ld [CreditsTimer], a
+ ld [wcd22], a
ld [wcd35], a
ld [wcd2b], a
ld a, $ff
ld [wcd24], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
call Function11c254
call ClearBGPalettes
@@ -306,9 +313,9 @@
call Decompress
call EnableLCD
callba ReloadMapPart
- callba Function8cf53
+ callba ClearSpriteAnims
callba LoadPokemonData
- callba Function40c30
+ callba Pokedex_ABCMode
ld a, [rSVBK]
push af
ld a, $5
@@ -322,6 +329,7 @@
call Function11d4aa
call Function11d3ba
ret
+
; 11c254
Function11c254: ; 11c254
@@ -343,6 +351,7 @@
call CopyBytes
call CloseSRAM
ret
+
; 11c277
@@ -362,28 +371,19 @@
bit 7, a
jr nz, .exit
call .DoJumptableFunction
- callba Function8cf69
+ callba PlaySpriteAnimations
callba ReloadMapPart
jr .loop
.exit
- callba Function8cf53
+ callba ClearSpriteAnims
call ClearSprites
ret
+
; 11c2ac
.DoJumptableFunction: ; 11c2ac
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wJumptableIndex
; 11c2bb
@@ -470,12 +470,10 @@
Function11c35f: ; 11c35f (47:435f)
ld hl, wcd2f
-rept 2
inc [hl]
-endr
-rept 2
+ inc [hl]
dec hl
-endr
+ dec hl
dec [hl]
push af
ld de, wcd2d
@@ -486,12 +484,10 @@
Function11c373: ; 11c373 (47:4373)
ld hl, wcd30
-rept 2
inc [hl]
-endr
-rept 2
+ inc [hl]
dec hl
-endr
+ dec hl
dec [hl]
push af
ld de, wcd2d
@@ -539,6 +535,7 @@
dec a
jr nz, .asm_11c392
ret
+
; 11c3bc (47:43bc)
String_11c3bc: ; 11c3bc
@@ -563,7 +560,7 @@
call Function11cfb5
Function11c3ed: ; 11c3ed (47:43ed)
- ld hl, BGMapBuffer ; wcd20 (aliases: CreditsPos)
+ ld hl, wcd20 ; wcd20 (aliases: CreditsPos)
ld de, hJoypadPressed ; $ffa3
ld a, [de]
and $8
@@ -588,6 +585,7 @@
and $10
jr nz, .asm_11c498
ret
+
.asm_11c41a
call PlayClickSFX
.asm_11c41d
@@ -597,10 +595,11 @@
jr .asm_11c475
.asm_11c426
ld a, $8
- ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+ ld [wcd20], a ; wcd20 (aliases: CreditsPos)
ret
+
.asm_11c42c
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
cp $6
jr c, .asm_11c472
sub $6
@@ -642,6 +641,7 @@
ld [wJumptableIndex], a
call PlayClickSFX
ret
+
.asm_11c47c
ld a, [hl]
cp $3
@@ -687,9 +687,10 @@
ld [wcd21], a
ld a, $6
ret
+
.asm_11c4b7
xor a
- ld [CreditsTimer], a
+ ld [wcd22], a
ld a, $15
ret
@@ -704,6 +705,7 @@
call ByteFill
callba ReloadMapPart
ret
+
; 11c4db (47:44db)
String_11c4db: ; 11c4db
@@ -780,7 +782,7 @@
ld hl, wcd24
set 0, [hl]
ld a, $8
- ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+ ld [wcd20], a ; wcd20 (aliases: CreditsPos)
.b
ld a, $4
@@ -808,7 +810,7 @@
ret
.asm_11c5ab
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
call Function11ca6a
call PlayClickSFX
ret
@@ -863,10 +865,11 @@
.asm_11c5ee
ld [hl], a
ret
+
; 11c5f0
Function11c5f0: ; 11c5f0 (47:45f0)
- ld de, Strings_11da52
+ ld de, MobileFixedWordCategoryNames
ld bc, Unknown_11c63a
ld a, $f
.asm_11c5f8
@@ -900,6 +903,7 @@
call ByteFill
callba ReloadMapPart
ret
+
; 11c62a (47:462a)
String_11c62a: ; 11c62a
@@ -1024,6 +1028,7 @@
set 3, [hl]
call PlayClickSFX
ret
+
.asm_11c708
ld a, [hl]
cp $3
@@ -1117,6 +1122,7 @@
.asm_11c795
ld [wcd29], a
ret
+
.asm_11c799
ld a, [wc7d2]
ld [wcd28], a
@@ -1131,12 +1137,11 @@
jr .asm_11c795
.asm_11c7ab
ld hl, $c68a + 30
- ld a, [CreditsTimer]
+ ld a, [wcd22]
ld c, a
ld b, 0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hl]
ld [wcd28], a
jr .asm_11c79f
@@ -1172,6 +1177,7 @@
cp e
jr nz, .asm_11c7d0
ret
+
.asm_11c7e9
ld hl, wd100
ld a, [wcd26]
@@ -1202,18 +1208,19 @@
cp e
jr nz, .asm_11c7f1
ret
+
.asm_11c811
pop hl
pop de
ret
+
.asm_11c814
ld hl, $c648
ld a, [wcd22]
ld e, a
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
@@ -1223,9 +1230,8 @@
ld a, [wcd26]
ld e, a
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [wcd26]
ld e, a
.asm_11c831
@@ -1254,10 +1260,12 @@
cp e
jr nz, .asm_11c831
ret
+
.asm_11c851
pop hl
pop de
ret
+
; 11c854 (47:4854)
Unknown_11c854: ; 11c854
@@ -1281,7 +1289,7 @@
and a
jr z, .asm_11c88a
hlcoord 2, 17
- ld de, String_11c8f0
+ ld de, MobileString_Prev
call PlaceString
hlcoord 6, 17
ld c, $3
@@ -1308,7 +1316,7 @@
cp [hl]
jr nc, .asm_11c8b7
hlcoord 16, 17
- ld de, String_11c8f3
+ ld de, MobileString_Next
call PlaceString
hlcoord 11, 17
ld a, $3
@@ -1319,6 +1327,7 @@
dec c
jr nz, .asm_11c8b1
ret
+
.asm_11c8b7
hlcoord 17, 16
ld a, $7f
@@ -1330,9 +1339,10 @@
dec c
jr nz, .asm_11c8c2
ret
+
; 11c8c7 (47:48c7)
-Function11c8c7: ; 11c8c7
+BCD2String: ; 11c8c7
inc a
push af
and $f
@@ -1340,35 +1350,36 @@
pop af
and $f0
swap a
- ld [hQuotient], a
+ ld [hDividend + 1], a
xor a
- ld [$ffb5], a
+ ld [hDividend + 2], a
push hl
callba Function11a80c
pop hl
ld a, [wcd63]
- add $f6
+ add "0"
ld [hli], a
ld a, [wcd62]
- add $f6
+ add "0"
ld [hli], a
ret
+
; 11c8ec
-String_11c8ec: ; 11c8ec
+MobileString_Page: ; 11c8ec
db "ぺージ@"
; 11c8f0
-String_11c8f0: ; 11c8f0
+MobileString_Prev: ; 11c8f0
db "まえ@"
; 11c8f3
-String_11c8f3: ; 11c8f3
+MobileString_Next: ; 11c8f3
db "つぎ@"
; 11c8f6
Function11c8f6: ; 11c8f6 (47:48f6)
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
call Function11c95d
push hl
ld a, [wcd2b]
@@ -1388,17 +1399,17 @@
push de
call Function11c05d
pop de
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
ld c, a
ld b, $0
ld hl, wcd36
-rept 2
add hl, bc
-endr
+ add hl, bc
ld [hl], e
inc hl
ld [hl], d
ret
+
.asm_11c927
ld hl, wcd26
ld a, [wcd25]
@@ -1414,9 +1425,8 @@
ld a, [wcd22]
ld e, a
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
@@ -1426,14 +1436,12 @@
ld a, [wcd26]
ld e, a
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [wcd25]
ld e, a
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
@@ -1472,6 +1480,7 @@
jr nz, .asm_11c980
pop hl
ret
+
; 11c986 (47:4986)
Unknown_11c986:
@@ -1528,6 +1537,7 @@
and $80
jr nz, .asm_11c9fc
ret
+
.asm_11c9de
ld a, [hl]
and a
@@ -1534,7 +1544,7 @@
jr nz, .asm_11c9e9
call Function11ca5e
xor a
- ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+ ld [wcd20], a ; wcd20 (aliases: CreditsPos)
.asm_11c9e9
ld hl, wcd24
set 4, [hl]
@@ -1542,6 +1552,7 @@
ld [wJumptableIndex], a
call PlayClickSFX
ret
+
.asm_11c9f7
ld a, [hl]
and a
@@ -1548,6 +1559,7 @@
ret z
dec [hl]
ret
+
.asm_11c9fc
ld a, [hl]
and a
@@ -1594,6 +1606,7 @@
jr nz, .asm_11ca22
callba ReloadMapPart
ret
+
; 11ca38 (47:4a38)
String_11ca38: ; 11ca38
@@ -1621,9 +1634,8 @@
ld hl, wcd36
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld [hl], b
inc hl
ld [hl], b
@@ -1672,6 +1684,7 @@
and $80
jr nz, .asm_11cb17
ret
+
.asm_11cace
call PlayClickSFX
ld a, [hl]
@@ -1690,10 +1703,12 @@
ld a, $1
ld [wcd2a], a
ret
+
.asm_11caf3
ld hl, wJumptableIndex
set 7, [hl]
ret
+
.asm_11caf9
call PlayClickSFX
.asm_11cafc
@@ -1707,6 +1722,7 @@
ld a, $1
ld [wcd35], a
ret
+
.asm_11cb12
ld a, [hl]
and a
@@ -1713,6 +1729,7 @@
ret z
dec [hl]
ret
+
.asm_11cb17
ld a, [hl]
and a
@@ -1719,6 +1736,7 @@
ret nz
inc [hl]
ret
+
; 11cb1c (47:4b1c)
String_11cb1c: ; 11cb1c
@@ -1733,13 +1751,12 @@
Function11cb52: ; 11cb52 (47:4b52)
ld hl, Unknown_11cc01
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
.asm_11cb58
dec a
jr z, .asm_11cb5f
-rept 2
inc hl
-endr
+ inc hl
jr .asm_11cb58
.asm_11cb5f
ld a, [hli]
@@ -1764,6 +1781,7 @@
and $80
jr nz, .asm_11cbf0
ret
+
.asm_11cb81
ld a, [hl]
and a
@@ -1771,7 +1789,7 @@
ld a, $4
call GetSRAMBank
ld hl, $a007
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
sla a
sla a
@@ -1794,13 +1812,12 @@
ld de, Unknown_11cfc6
call Function11cfce
ld hl, Unknown_11cc7e
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
.asm_11cbba
dec a
jr z, .asm_11cbc1
-rept 2
inc hl
-endr
+ inc hl
jr .asm_11cbba
.asm_11cbc1
ld a, [hli]
@@ -1815,6 +1832,7 @@
ld a, $10
ld [hl], a
ret
+
.asm_11cbd4
call PlayClickSFX
.asm_11cbd7
@@ -1826,6 +1844,7 @@
ld a, $4
ld [wJumptableIndex], a
ret
+
.asm_11cbeb
ld a, [hl]
and a
@@ -1832,6 +1851,7 @@
ret z
dec [hl]
ret
+
.asm_11cbf0
ld a, [hl]
and a
@@ -1847,6 +1867,7 @@
dec hl
set 7, [hl]
ret
+
; 11cc01 (47:4c01)
Unknown_11cc01: ; 11cc01
@@ -1912,6 +1933,7 @@
ld a, $4
ld [wJumptableIndex], a
ret
+
; 11cd10 (47:4d10)
String_11cd10: ; 11cd10
@@ -2011,6 +2033,7 @@
call ByteFill
callba ReloadMapPart
ret
+
; 11cdc7 (47:4dc7)
String_11cdc7: ; 11cdc7
@@ -2044,7 +2067,7 @@
call Function11cfb5
Function11ce2b: ; 11ce2b (47:4e2b)
- ld a, [CreditsTimer]
+ ld a, [wcd22]
sla a
sla a
ld c, a
@@ -2083,7 +2106,7 @@
ret
.a
- ld a, [CreditsTimer]
+ ld a, [wcd22]
cp NUM_KANA
jr c, .place
sub NUM_KANA
@@ -2096,7 +2119,7 @@
ld hl, wcd24
set 0, [hl]
ld a, $8
- ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+ ld [wcd20], a ; wcd20 (aliases: CreditsPos)
.b
ld a, $4
jr .load
@@ -2122,7 +2145,7 @@
ret
.asm_11cea4
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
call Function11ca6a
call PlayClickSFX
ret
@@ -2137,60 +2160,109 @@
ld a, [hl]
cp $ff
ret z
- ld [CreditsTimer], a
+ ld [wcd22], a
ret
+
; 11ceb9 (47:4eb9)
Unknown_11ceb9: ; 11ceb9
; up left down right
- db $ff, $01, $05, $ff
- db $ff, $02, $06, $00
- db $ff, $03, $07, $01
- db $ff, $04, $08, $02
- db $ff, $14, $09, $03
- db $00, $06, $0a, $ff
- db $01, $07, $0b, $05
- db $02, $08, $0c, $06
- db $03, $09, $0d, $07
- db $04, $19, $0e, $08
- db $05, $0b, $0f, $ff
- db $06, $0c, $10, $0a
- db $07, $0d, $11, $0b
- db $08, $0e, $12, $0c
- db $09, $1e, $13, $0d
- db $0a, $10, $2d, $ff
- db $0b, $11, $2d, $0f
- db $0c, $12, $2d, $10
- db $0d, $13, $2d, $11
- db $0e, $26, $2d, $12
- db $ff, $15, $19, $04
- db $ff, $16, $1a, $14
- db $ff, $17, $1b, $15
- db $ff, $18, $1c, $16
- db $ff, $23, $1d, $17
- db $14, $1a, $1e, $09
- db $15, $1b, $1f, $19
- db $16, $1c, $20, $1a
- db $17, $1d, $21, $1b
- db $18, $2b, $22, $1c
- db $19, $1f, $26, $0e
- db $1a, $20, $27, $1e
- db $1b, $21, $28, $1f
- db $1c, $22, $29, $20
- db $1d, $2c, $2a, $21
- db $ff, $24, $2b, $18
- db $ff, $25, $2b, $23
- db $ff, $ff, $2b, $24
- db $1e, $27, $2e, $13
- db $1f, $28, $2e, $26
- db $20, $29, $2e, $27
- db $21, $2a, $2e, $28
- db $22, $ff, $2e, $29
- db $23, $ff, $2c, $1d
- db $2b, $ff, $2f, $22
- db $0f, $2e, $ff, $ff
- db $26, $2f, $ff, $2d
- db $2c, $ff, $ff, $2e
+ db $ff, $01
+ db $05, $ff
+ db $ff, $02
+ db $06, $00
+ db $ff, $03
+ db $07, $01
+ db $ff, $04
+ db $08, $02
+ db $ff, $14
+ db $09, $03
+ db $00, $06
+ db $0a, $ff
+ db $01, $07
+ db $0b, $05
+ db $02, $08
+ db $0c, $06
+ db $03, $09
+ db $0d, $07
+ db $04, $19
+ db $0e, $08
+ db $05, $0b
+ db $0f, $ff
+ db $06, $0c
+ db $10, $0a
+ db $07, $0d
+ db $11, $0b
+ db $08, $0e
+ db $12, $0c
+ db $09, $1e
+ db $13, $0d
+ db $0a, $10
+ db $2d, $ff
+ db $0b, $11
+ db $2d, $0f
+ db $0c, $12
+ db $2d, $10
+ db $0d, $13
+ db $2d, $11
+ db $0e, $26
+ db $2d, $12
+ db $ff, $15
+ db $19, $04
+ db $ff, $16
+ db $1a, $14
+ db $ff, $17
+ db $1b, $15
+ db $ff, $18
+ db $1c, $16
+ db $ff, $23
+ db $1d, $17
+ db $14, $1a
+ db $1e, $09
+ db $15, $1b
+ db $1f, $19
+ db $16, $1c
+ db $20, $1a
+ db $17, $1d
+ db $21, $1b
+ db $18, $2b
+ db $22, $1c
+ db $19, $1f
+ db $26, $0e
+ db $1a, $20
+ db $27, $1e
+ db $1b, $21
+ db $28, $1f
+ db $1c, $22
+ db $29, $20
+ db $1d, $2c
+ db $2a, $21
+ db $ff, $24
+ db $2b, $18
+ db $ff, $25
+ db $2b, $23
+ db $ff, $ff
+ db $2b, $24
+ db $1e, $27
+ db $2e, $13
+ db $1f, $28
+ db $2e, $26
+ db $20, $29
+ db $2e, $27
+ db $21, $2a
+ db $2e, $28
+ db $22, $ff
+ db $2e, $29
+ db $23, $ff
+ db $2c, $1d
+ db $2b, $ff
+ db $2f, $22
+ db $0f, $2e
+ db $ff, $ff
+ db $26, $2f
+ db $ff, $2d
+ db $2c, $ff
+ db $ff, $2e
; 11cf79
String_11cf79: ; 11cf79
@@ -2206,6 +2278,7 @@
ld hl, wJumptableIndex
inc [hl]
ret
+
; 11cfba (47:4fba)
Unknown_11cfba:
@@ -2253,9 +2326,8 @@
ld [hli], a
ld a, [de]
inc de
-rept 2
dec a
-endr
+ dec a
jr z, .asm_11cff6
ld c, a
ld a, $7a
@@ -2271,9 +2343,8 @@
add hl, bc
ld a, [de]
dec de
-rept 2
dec a
-endr
+ dec a
jr z, .asm_11d022
ld b, a
.asm_11d005
@@ -2281,9 +2352,8 @@
ld a, $7c
ld [hli], a
ld a, [de]
-rept 2
dec a
-endr
+ dec a
jr z, .asm_11d015
ld c, a
ld a, $7f
@@ -2305,9 +2375,8 @@
ld a, $7d
ld [hli], a
ld a, [de]
-rept 2
dec a
-endr
+ dec a
jr z, .asm_11d031
ld c, a
ld a, $7a
@@ -2369,9 +2438,8 @@
ld a, [de]
cp $2
jr z, .asm_11d082
-rept 2
dec a
-endr
+ dec a
.asm_11d078
push af
ld a, $7a
@@ -2397,9 +2465,8 @@
cp $2
ret z
push bc
-rept 2
dec a
-endr
+ dec a
ld c, a
ld b, a
ld de, $14
@@ -2429,71 +2496,69 @@
ret
Function11d0b6: ; 11d0b6 (47:50b6)
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
ld e, a
ld d, 0
- ld hl, Jumptable_11d0c7
-rept 2
+ ld hl, .Jumptable
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
-Jumptable_11d0c7: ; 11d0c7 (47:50c7)
- dw Function11d0dd
- dw Function11d0e9
- dw Function11d0f5
- dw Function11d10f
- dw Function11d134
- dw Function11d145
- dw Function11d156
- dw Function11d175
- dw Function11d1d7
- dw Function11d1d1
- dw Function11d1fc
+.Jumptable
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
+ dw .six
+ dw .seven
+ dw .eight
+ dw .nine
+ dw .ten
-Function11d0dd: ; 11d0dd (47:50dd)
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+.zero: ; 11d0dd (47:50dd)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
sla a
ld hl, Unknown_11d208
ld e, $1
- jr asm_11d11e
+ jr .load
-Function11d0e9: ; 11d0e9 (47:50e9)
+.one: ; 11d0e9 (47:50e9)
ld a, [wcd21]
sla a
ld hl, Unknown_11d21a
ld e, $2
- jr asm_11d11e
+ jr .load
-Function11d0f5: ; 11d0f5 (47:50f5)
+.two: ; 11d0f5 (47:50f5)
ld hl, Unknown_11d2be
- ld a, [CreditsTimer]
+ ld a, [wcd22]
ld e, a
ld d, $0
add hl, de
ld a, [hl]
- call Function3b3c
- ld a, [CreditsTimer]
+ call ReinitSpriteAnimFrame
+ ld a, [wcd22]
sla a
ld hl, Unknown_11d23e
ld e, $4
- jr asm_11d11e
+ jr .load
-Function11d10f: ; 11d10f (47:510f)
- ld a, $27
- call Function3b3c
+.three: ; 11d10f (47:510f)
+ ld a, SPRITE_ANIM_FRAMESET_27
+ call ReinitSpriteAnimFrame
ld a, [wcd25]
sla a
ld hl, Unknown_11d29e
ld e, $8
-
-asm_11d11e: ; 11d11e (47:511e)
+.load: ; 11d11e (47:511e)
push de
ld e, a
ld d, $0
@@ -2500,7 +2565,7 @@
add hl, de
push hl
pop de
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld a, [de]
inc de
@@ -2512,27 +2577,27 @@
call Function11d2ee
ret
-Function11d134: ; 11d134 (47:5134)
- ld a, $27
- call Function3b3c
+.four: ; 11d134 (47:5134)
+ ld a, SPRITE_ANIM_FRAMESET_27
+ call ReinitSpriteAnimFrame
ld a, [wcd2a]
sla a
ld hl, Unknown_11d2b6
ld e, $10
- jr asm_11d11e
+ jr .load
-Function11d145: ; 11d145 (47:5145)
- ld a, $27
- call Function3b3c
+.five: ; 11d145 (47:5145)
+ ld a, SPRITE_ANIM_FRAMESET_27
+ call ReinitSpriteAnimFrame
ld a, [wcd2c]
sla a
ld hl, Unknown_11d2ba
ld e, $20
- jr asm_11d11e
+ jr .load
-Function11d156: ; 11d156 (47:5156)
- ld a, $2a
- call Function3b3c
+.six: ; 11d156 (47:5156)
+ ld a, SPRITE_ANIM_FRAMESET_2A
+ call ReinitSpriteAnimFrame
ld a, [wcd4a]
sla a
sla a
@@ -2548,16 +2613,16 @@
call Function11d2ee
ret
-Function11d175: ; 11d175 (47:5175)
+.seven: ; 11d175 (47:5175)
ld a, [wcd4d]
cp $4
jr z, .asm_11d180
- ld a, $28
+ ld a, SPRITE_ANIM_FRAMESET_28
jr .asm_11d182
.asm_11d180
- ld a, $26
+ ld a, SPRITE_ANIM_FRAMESET_26
.asm_11d182
- call Function3b3c
+ call ReinitSpriteAnimFrame
ld a, [wcd4d]
cp $4
jr z, .asm_11d1b1
@@ -2566,7 +2631,7 @@
sla a
sla a
add $20
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hli], a
ld a, [wcd4d]
@@ -2580,6 +2645,7 @@
ld e, a
call Function11d2ee
ret
+
.asm_11d1b1
ld a, [wcd4c]
sla a
@@ -2590,7 +2656,7 @@
sla a
add e
add $18
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hli], a
ld a, $8a
@@ -2600,18 +2666,17 @@
call Function11d2ee
ret
-Function11d1d1: ; 11d1d1 (47:51d1)
- ld d, $98
- ld a, $2c
- jr asm_11d1db
+.nine: ; 11d1d1 (47:51d1)
+ ld d, -13 * 8
+ ld a, SPRITE_ANIM_FRAMESET_2C
+ jr .eight_nine_load
-Function11d1d7: ; 11d1d7 (47:51d7)
- ld d, $10
- ld a, $2b
-
-asm_11d1db: ; 11d1db (47:51db)
+.eight: ; 11d1d7 (47:51d7)
+ ld d, 2 * 8
+ ld a, SPRITE_ANIM_FRAMESET_2B
+.eight_nine_load: ; 11d1db (47:51db)
push de
- call Function3b3c
+ call ReinitSpriteAnimFrame
ld a, [wcd4a]
sla a
sla a
@@ -2619,8 +2684,8 @@
ld e, a
sla a
add e
- add $40
- ld hl, $5
+ add 8 * 8
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld [hld], a
pop af
@@ -2630,13 +2695,14 @@
call Function11d2ee
ret
-Function11d1fc: ; 11d1fc (47:51fc)
- ld a, $26
- call Function3b3c
+.ten: ; 11d1fc (47:51fc)
+ ld a, SPRITE_ANIM_FRAMESET_26
+ call ReinitSpriteAnimFrame
ld a, $8
ld e, a
call Function11d2ee
ret
+
; 11d208 (47:5208)
Unknown_11d208: ; 11d208
@@ -2771,19 +2837,20 @@
Function11d2ee: ; 11d2ee (47:52ee)
ld hl, wcd24
and [hl]
- jr nz, .asm_11d316
+ jr nz, .update_y_offset
ld a, e
ld hl, wcd23
and [hl]
- jr z, .asm_11d30f
- ld hl, $e
+ jr z, .reset_y_offset
+ ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
ld a, [hl]
and a
- jr z, .asm_11d305
+ jr z, .flip_bit_0
dec [hl]
ret
-.asm_11d305
+
+.flip_bit_0
ld a, $0
ld [hld], a
ld a, $1
@@ -2790,19 +2857,20 @@
xor [hl]
ld [hl], a
and a
- jr nz, .asm_11d316
-.asm_11d30f
- ld hl, $7
+ jr nz, .update_y_offset
+.reset_y_offset
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
xor a
ld [hl], a
ret
-.asm_11d316
- ld hl, $5
+
+.update_y_offset
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, $b0
sub [hl]
- ld hl, $7
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], a
ret
@@ -2814,11 +2882,12 @@
ld [rSVBK], a
ld hl, Palette_11d33a
ld de, UnknBGPals
- ld bc, 16 * 8
+ ld bc, 16 palettes
call CopyBytes
pop af
ld [rSVBK], a
ret
+
; 11d33a
Palette_11d33a:
@@ -3077,6 +3146,7 @@
pop af
ld [rSVBK], a
ret
+
; 11d493
.CheckSeenMon: ; 11d493
@@ -3095,6 +3165,7 @@
pop bc
pop hl
ret
+
; 11d4aa
Function11d4aa: ; 11d4aa
@@ -3102,7 +3173,7 @@
push af
ld a, $3
ld [rSVBK], a
- ld hl, Unknown_11daac
+ ld hl, MobileFixedWordCategoryPointers
ld bc, Unknown_11f220
xor a
ld [wcd2d], a
@@ -3109,7 +3180,7 @@
inc a
ld [wcd2e], a
ld a, $e
-.asm_11d4c1
+.loop1
push af
ld a, [hli]
ld e, a
@@ -3116,14 +3187,13 @@
ld a, [hli]
ld d, a
push hl
- ld hl, $0005
+ ld hl, 5 ; length of a string
add hl, de
ld a, [bc]
-rept 2
inc bc
-endr
+ inc bc
push bc
-.asm_11d4cf
+.loop2
push af
push hl
ld a, [hli]
@@ -3130,7 +3200,7 @@
ld e, a
ld a, [hl]
ld d, a
- ld hl, wd000
+ ld hl, w3_d000
add hl, de
ld a, [wcd2d]
ld [hli], a
@@ -3139,11 +3209,11 @@
ld a, [wcd2e]
ld [hl], a
pop hl
- ld de, $0008
+ ld de, 8
add hl, de
pop af
dec a
- jr nz, .asm_11d4cf
+ jr nz, .loop2
ld hl, wcd2d
xor a
ld [hli], a
@@ -3152,10 +3222,11 @@
pop hl
pop af
dec a
- jr nz, .asm_11d4c1
+ jr nz, .loop1
pop af
ld [rSVBK], a
ret
+
; 11d4fe
@@ -3162,7 +3233,6 @@
SortedPokemon:
; Pokemon sorted by kana.
; Notably, Rhydon is missing.
-
dw .a
dw .i
dw .u
@@ -3307,40 +3377,40 @@
INCBIN "gfx/pokedex/slowpoke.2bpp.lz"
; 11da52
-Strings_11da52: ; 11da52
+MobileFixedWordCategoryNames: ; 11da52
; Fixed message categories
- db "ポケモン@@"
- db "タイプ@@@"
- db "あいさつ@@"
- db "ひと@@@@"
- db "バトル@@@"
- db "こえ@@@@"
- db "かいわ@@@"
- db "きもち@@@"
- db "じょうたい@"
- db "せいかつ@@"
- db "しゅみ@@@"
- db "こうどう@@"
- db "じかん@@@"
- db "むすび@@@"
- db "あれこれ@@"
+ db "ポケモン@@" ; 00
+ db "タイプ@@@" ; 01
+ db "あいさつ@@" ; 02
+ db "ひと@@@@" ; 03
+ db "バトル@@@" ; 04
+ db "こえ@@@@" ; 05
+ db "かいわ@@@" ; 06
+ db "きもち@@@" ; 07
+ db "じょうたい@" ; 08
+ db "せいかつ@@" ; 09
+ db "しゅみ@@@" ; 0a
+ db "こうどう@@" ; 0b
+ db "じかん@@@" ; 0c
+ db "むすび@@@" ; 0d
+ db "あれこれ@@" ; 0e
; 11daac
-Unknown_11daac: ; 11daac
- dw .Types
- dw .Greetings
- dw .People
- dw .Battle
- dw .Exclamations
- dw .Conversation
- dw .Feelings
- dw .Conditions
- dw .Life
- dw .Hobbies
- dw .Actions
- dw .Time
- dw .Farewells
- dw .ThisAndThat
+MobileFixedWordCategoryPointers: ; 11daac
+ dw .Types ; 01
+ dw .Greetings ; 02
+ dw .People ; 03
+ dw .Battle ; 04
+ dw .Exclamations ; 05
+ dw .Conversation ; 06
+ dw .Feelings ; 07
+ dw .Conditions ; 08
+ dw .Life ; 09
+ dw .Hobbies ; 0a
+ dw .Actions ; 0b
+ dw .Time ; 0c
+ dw .Farewells ; 0d
+ dw .ThisAndThat ; 0e
.Types: ; 11dac8
db "あく@@@", $26, $0, $0
@@ -4119,13 +4189,20 @@
; 11f220
Unknown_11f220:
- db $12, $01, $24, $02
- db $45, $05, $45, $05
- db $42, $05, $42, $05
- db $45, $05, $42, $05
- db $27, $03, $27, $03
- db $45, $05, $27, $03
- db $42, $05, $24, $02
+ db $12, $01 ; 01
+ db $24, $02 ; 02
+ db $45, $05 ; 03
+ db $45, $05 ; 04
+ db $42, $05 ; 05
+ db $42, $05 ; 06
+ db $45, $05 ; 07
+ db $42, $05 ; 08
+ db $27, $03 ; 09
+ db $27, $03 ; 0a
+ db $45, $05 ; 0b
+ db $27, $03 ; 0c
+ db $42, $05 ; 0d
+ db $24, $02 ; 0e
Unknown_11f23c:
macro_11f23c: macro
--- /dev/null
+++ b/misc/gfx_41.asm
@@ -1,0 +1,600 @@
+Function104000:: ; 104000
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ decoord 0, 0, AttrMap
+ ld hl, wBackupAttrMap
+ call CutAndPasteAttrMap
+ decoord 0, 0
+ ld hl, wDecompressScratch
+ call CutAndPasteTilemap
+ ld a, $0
+ ld [rVBK], a
+ ld hl, wDecompressScratch
+ call Function10419d
+ ld a, $1
+ ld [rVBK], a
+ ld hl, wBackupAttrMap
+ call Function10419d
+ ret
+; 10402d
+
+Function10402d:: ; 10402d
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ decoord 0, 0
+ ld hl, wDecompressScratch
+ call CutAndPasteTilemap
+ ld a, $0
+ ld [rVBK], a
+ ld hl, wDecompressScratch
+ call Function10419d
+ ret
+; 104047
+
+Function104047: ; 104047
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ decoord 0, 0, AttrMap
+ ld hl, wBackupAttrMap
+ call CutAndPasteAttrMap
+ ld a, $1
+ ld [rVBK], a
+ ld hl, wBackupAttrMap
+ call Function10419d
+ ret
+; 104061
+
+ReloadMapPart:: ; 104061
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ decoord 0, 0, AttrMap
+ ld hl, wBackupAttrMap
+ call CutAndPasteAttrMap
+ decoord 0, 0
+ ld hl, wDecompressScratch
+ call CutAndPasteTilemap
+ call DelayFrame
+ di
+ ld a, [rVBK]
+ push af
+ ld a, $1
+ ld [rVBK], a
+ ld hl, wBackupAttrMap
+ call Function1041ad
+ ld a, $0
+ ld [rVBK], a
+ ld hl, wDecompressScratch
+ call Function1041ad
+ pop af
+ ld [rVBK], a
+ ei
+ ret
+
+Function104099: ; 104099
+ ld hl, ReloadMapPart ; useless
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ decoord 0, 0, AttrMap
+ ld hl, wBackupAttrMap
+ call CutAndPasteAttrMap
+ decoord 0, 0
+ ld hl, wDecompressScratch
+ call CutAndPasteTilemap
+ call DelayFrame
+ di
+ ld a, [rVBK]
+ push af
+ ld a, $1
+ ld [rVBK], a
+ ld hl, wBackupAttrMap
+ call Function1041c1
+ ld a, $0
+ ld [rVBK], a
+ ld hl, wDecompressScratch
+ call Function1041c1
+ pop af
+ ld [rVBK], a
+ ei
+ ret
+; 1040d4
+
+Function1040d4: ; 1040d4
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ ld a, $1
+ ld [rVBK], a
+ ld a, $3
+ ld [rSVBK], a
+ ld de, w3_d800
+ ld a, [hBGMapAddress + 1]
+ ld [rHDMA1], a
+ ld a, [hBGMapAddress]
+ ld [rHDMA2], a
+ ld a, d
+ ld [rHDMA3], a
+ ld a, e
+ ld [rHDMA4], a
+ ld a, $23
+ ld [hDMATransfer], a
+ call WaitDMATransfer
+ ret
+; 1040fb
+
+Function1040fb: ; 1040fb
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ ld a, $1
+ ld [rVBK], a
+ ld a, $3
+ ld [rSVBK], a
+ ld hl, w3_d800
+ call Function10419d
+ ret
+; 104110
+
+Function104110:: ; 104110
+; OpenText
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ decoord 0, 0, AttrMap
+ ld hl, wBackupAttrMap
+ call CutAndPasteAttrMap
+ decoord 0, 0
+ ld hl, wDecompressScratch
+ call CutAndPasteTilemap
+ call DelayFrame
+
+ di
+ ld a, [rVBK]
+ push af
+ ld a, $1
+ ld [rVBK], a
+ ld hl, wBackupAttrMap
+ call Function1041b7
+ ld a, $0
+ ld [rVBK], a
+ ld hl, wDecompressScratch
+ call Function1041b7
+ pop af
+ ld [rVBK], a
+ ei
+ ret
+; 104148
+
+Function104148: ; 104148 (41:4148)
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ decoord 0, 0, AttrMap
+ ld hl, wBackupAttrMap
+ call CutAndPasteAttrMap
+ ld c, $ff
+ decoord 0, 0
+ ld hl, wDecompressScratch
+ call CutAndPasteMap
+ ld a, $1
+ ld [rVBK], a
+ ld hl, wBackupAttrMap
+ call Function1041ad
+ ld a, $0
+ ld [rVBK], a
+ ld hl, wDecompressScratch
+ call Function1041ad
+ ret
+; 104177
+
+CallInSafeGFXMode: ; 104177
+ ld a, [hBGMapMode]
+ push af
+ ld a, [hMapAnims]
+ push af
+ xor a
+ ld [hBGMapMode], a
+ ld [hMapAnims], a
+ ld a, [rSVBK]
+ push af
+ ld a, $6
+ ld [rSVBK], a
+ ld a, [rVBK]
+ push af
+
+ call ._hl_
+
+ pop af
+ ld [rVBK], a
+ pop af
+ ld [rSVBK], a
+ pop af
+ ld [hMapAnims], a
+ pop af
+ ld [hBGMapMode], a
+ ret
+; 10419c
+
+._hl_: ; 10419c
+ jp [hl]
+; 10419d
+
+
+Function10419d: ; 10419d (41:419d)
+ call Function10424e
+ ld a, $23
+ ld [hDMATransfer], a
+
+WaitDMATransfer: ; 104a14
+.loop
+ call DelayFrame
+ ld a, [hDMATransfer]
+ and a
+ jr nz, .loop
+ ret
+
+Function1041ad: ; 1041ad (41:41ad)
+ ld a, [hBGMapAddress + 1]
+ ld d, a
+ ld a, [hBGMapAddress]
+ ld e, a
+ ld c, $24
+ jr Function104209
+
+Function1041b7: ; 1041b7 (41:41b7)
+; hBGMapAddress -> de
+; $24 -> c
+; $7b --> b
+ ld a, [hBGMapAddress + 1]
+ ld d, a
+ ld a, [hBGMapAddress]
+ ld e, a
+ ld c, $24
+ jr asm_104205
+; 1041c1 (41:41c1)
+
+Function1041c1: ; 1041c1
+ ld a, [hBGMapAddress + 1]
+ ld d, a
+ ld a, [hBGMapAddress]
+ ld e, a
+ ld c, $24
+ ld a, h
+ ld [rHDMA1], a
+ ld a, l
+ and $f0
+ ld [rHDMA2], a
+ ld a, d
+ and $1f
+ ld [rHDMA3], a
+ ld a, e
+ and $f0
+ ld [rHDMA4], a
+ ld a, c
+ dec c
+ or $80
+ ld b, a
+ ld a, $7f
+ sub c
+ ld d, a
+.loop1
+ ld a, [rLY]
+ cp d
+ jr nc, .loop1
+.loop2
+ ld a, [rSTAT]
+ and $3
+ jr z, .loop2
+ ld a, b
+ ld [rHDMA5], a
+ ld a, [rLY]
+ inc c
+ ld hl, rLY
+.loop3
+ cp [hl]
+ jr z, .loop3
+ ld a, [hl]
+ dec c
+ jr nz, .loop3
+ ld hl, rHDMA5
+ res 7, [hl]
+ ret
+; 104205
+
+asm_104205:
+ ld b, $7b
+ jr asm_10420b
+
+
+Function104209:
+; LY magic
+ ld b, $7f
+asm_10420b:
+ ld a, h
+ ld [rHDMA1], a
+ ld a, l
+ and $f0 ; high nybble
+ ld [rHDMA2], a
+ ld a, d
+ and $1f ; lower 5 bits
+ ld [rHDMA3], a
+ ld a, e
+ and $f0 ; high nybble
+ ld [rHDMA4], a
+ ld a, c
+ dec c
+ or $80 ; set 7, a
+ ld e, a
+ ld a, b
+ sub c
+ ld d, a
+.ly_loop
+ ld a, [rLY]
+ cp d
+ jr nc, .ly_loop
+
+ di
+.rstat_loop_1
+ ld a, [rSTAT]
+ and $3
+ jr nz, .rstat_loop_1
+.rstat_loop_2
+ ld a, [rSTAT]
+ and $3
+ jr z, .rstat_loop_2
+ ld a, e
+ ld [rHDMA5], a
+ ld a, [rLY]
+ inc c
+ ld hl, rLY
+.final_ly_loop
+ cp [hl]
+ jr z, .final_ly_loop
+ ld a, [hl]
+ dec c
+ jr nz, .final_ly_loop
+ ld hl, rHDMA5
+ res 7, [hl]
+ ei
+
+ ret
+; 10424e
+
+
+Function10424e: ; 10424e (41:424e)
+ ld a, h
+ ld [rHDMA1], a
+ ld a, l
+ ld [rHDMA2], a
+ ld a, [hBGMapAddress + 1]
+ and $1f
+ ld [rHDMA3], a
+ ld a, [hBGMapAddress]
+ ld [rHDMA4], a
+ ret
+
+CutAndPasteTilemap: ; 10425f (41:425f)
+ ld c, " "
+ jr CutAndPasteMap
+
+CutAndPasteAttrMap: ; 104263 (41:4263)
+ ld c, $0
+
+CutAndPasteMap: ; 104265 (41:4265)
+; back up the value of c to hMapObjectIndexBuffer
+ ld a, [hMapObjectIndexBuffer]
+ push af
+ ld a, c
+ ld [hMapObjectIndexBuffer], a
+
+; for each row on the screen
+ ld c, SCREEN_HEIGHT
+.loop1
+; for each tile in the row
+ ld b, SCREEN_WIDTH
+.loop2
+; copy from de to hl
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec b
+ jr nz, .loop2
+
+; load the original value of c into hl 12 times
+ ld a, [hMapObjectIndexBuffer]
+ ld b, 12
+.loop3
+ ld [hli], a
+ dec b
+ jr nz, .loop3
+
+ dec c
+ jr nz, .loop1
+
+; restore the original value of hMapObjectIndexBuffer
+ pop af
+ ld [hMapObjectIndexBuffer], a
+ ret
+
+
+_Get2bpp:: ; 104284
+ ; 2bpp when [rLCDC] & $80
+ ; switch to WRAM bank 6
+ ld a, [rSVBK]
+ push af
+ ld a, $6
+ ld [rSVBK], a
+
+ push bc
+ push hl
+
+ ; Copy c tiles of the 2bpp from b:de to wDecompressScratch
+ ld a, b ; bank
+ ld l, c ; number of tiles
+ ld h, $0
+rept 4
+ add hl, hl ; multiply by 16 (16 bytes of a 2bpp = 8 x 8 tile)
+endr
+ ld b, h
+ ld c, l
+ ld h, d ; address
+ ld l, e
+ ld de, wDecompressScratch
+ call FarCopyBytes
+
+ pop hl
+ pop bc
+
+ push bc
+ call DelayFrame
+ pop bc
+
+ ld d, h
+ ld e, l
+ ld hl, wDecompressScratch
+ call Function104209
+
+ ; restore the previous bank
+ pop af
+ ld [rSVBK], a
+ ret
+; 1042b2
+
+_Get1bpp:: ; 1042b2
+ ; 1bpp when [rLCDC] & $80
+.loop
+ ld a, c
+ cp $10
+ jp c, .bankswitch
+ jp z, .bankswitch
+ push bc
+ push hl
+ push de
+ ld c, $10
+ call .bankswitch
+ pop de
+ ld hl, $80
+ add hl, de
+ ld d, h
+ ld e, l
+ pop hl
+ lb bc, 1, 0
+ add hl, bc
+ pop bc
+ ld a, c
+ sub $10
+ ld c, a
+ jr .loop
+; 1042d6
+
+.bankswitch: ; 1042d6
+ ld a, [rSVBK]
+ push af
+ ld a, $6
+ ld [rSVBK], a
+
+ push bc
+ push hl
+
+ ld a, b
+ ld l, c
+ ld h, $0
+rept 3
+ add hl, hl ; multiply by 8
+endr
+ ld c, l
+ ld b, h
+ ld h, d
+ ld l, e
+ ld de, wDecompressScratch
+ call FarCopyBytesDouble_DoubleBankSwitch
+
+ pop hl
+ pop bc
+
+ push bc
+ call DelayFrame
+ pop bc
+
+ ld d, h
+ ld e, l
+ ld hl, wDecompressScratch
+ call Function104209
+
+ pop af
+ ld [rSVBK], a
+ ret
+; 104303
+
+Function104303: ; 104303
+ ld hl, Function104309
+ jp CallInSafeGFXMode
+; 104309
+
+Function104309:
+ ld hl, wDecompressScratch
+ decoord 0, 0
+ call Function10433a
+ ld hl, wDecompressScratch + $80
+ decoord 0, 0, AttrMap
+ call Function10433a
+ ld a, $1
+ ld [rVBK], a
+ ld c, $8
+ ld hl, wDecompressScratch + $80
+ debgcoord 0, 0, VBGMap1
+ call Function104209
+ ld a, $0
+ ld [rVBK], a
+ ld c, $8
+ ld hl, wDecompressScratch
+ debgcoord 0, 0, VBGMap1
+ call Function104209
+ ret
+
+Function10433a: ; 10433a (41:433a)
+ ld b, 4
+.outer_loop
+ ld c, SCREEN_WIDTH
+.inner_loop
+ ld a, [de]
+ ld [hli], a
+ inc de
+ dec c
+ jr nz, .inner_loop
+ ld a, l
+ add $20 - SCREEN_WIDTH
+ ld l, a
+ ld a, h
+ adc $0
+ ld h, a
+ dec b
+ jr nz, .outer_loop
+ ret
+; 104350
+
+ShockEmote: INCBIN "gfx/emotes/shock.2bpp"
+QuestionEmote: INCBIN "gfx/emotes/question.2bpp"
+HappyEmote: INCBIN "gfx/emotes/happy.2bpp"
+SadEmote: INCBIN "gfx/emotes/sad.2bpp"
+HeartEmote: INCBIN "gfx/emotes/heart.2bpp"
+BoltEmote: INCBIN "gfx/emotes/bolt.2bpp"
+SleepEmote: INCBIN "gfx/emotes/sleep.2bpp"
+FishEmote: INCBIN "gfx/emotes/fish.2bpp"
+JumpShadowGFX: INCBIN "gfx/misc/shadow.2bpp"
+FishingRodGFX2: INCBIN "gfx/misc/fishing2.2bpp"
+BoulderDustGFX: INCBIN "gfx/misc/boulderdust.2bpp"
+FishingRodGFX4: INCBIN "gfx/misc/fishing4.2bpp"
--- a/misc/mobile_12.asm
+++ b/misc/mobile_12.asm
@@ -6,7 +6,7 @@
set 0, [hl]
ld a, c
and a
- call z, Function48000
+ call z, InitCrystalData
call ClearBGPalettes
call Function48d3d
ld a, [wd479]
@@ -46,11 +46,11 @@
ld c, 20
call DelayFrames
ld b, $1
- call Function4930f
+ call GetMysteryGift_MobileAdapterLayout
call ClearBGPalettes
hlcoord 0, 0
- ld b, $2
- ld c, $14
+ ld b, 2
+ ld c, 20
call ClearBox
hlcoord 0, 1
ld a, $c
@@ -66,20 +66,20 @@
ld c, $12
call Function48cdc
hlcoord 2, 4
- ld de, String_48482
+ ld de, MobileString_Gender
call PlaceString
.asm_480d7
hlcoord 2, 6
- ld de, String_48489
+ ld de, MobileString_Age
call PlaceString
hlcoord 2, 8
- ld de, String_4848d
+ ld de, MobileString_Address
call PlaceString
hlcoord 2, 10
- ld de, String_48495
+ ld de, MobileString_ZipCode
call PlaceString
hlcoord 2, 12
- ld de, String_4849e
+ ld de, MobileString_OK
call PlaceString
ld a, [wd002]
bit 6, a
@@ -109,20 +109,20 @@
ld c, $12
call TextBox
hlcoord 1, 16
- ld de, String_48275
+ ld de, MobileString_PersonalInfo
call PlaceString
call Function48187
- call Function3200
+ call WaitBGMap2
call SetPalettes
- call Function1bc9
- ld hl, MenuSelection2
+ call StaticMenuJoypad
+ ld hl, wMenuCursorY
ld b, [hl]
push bc
jr asm_4815f
Function48157: ; 48157 (12:4157)
- call Function1bd3
- ld hl, MenuSelection2
+ call ScrollingMenuJoypad
+ ld hl, wMenuCursorY
ld b, [hl]
push bc
@@ -163,7 +163,7 @@
.asm_481a2
push de
hlcoord 2, 12
- ld de, String_4849e
+ ld de, MobileString_OK
call PlaceString
pop de
.asm_481ad
@@ -203,19 +203,19 @@
jr nz, .asm_48201
.asm_481f8
hlcoord 11, 10
- ld de, String_48202
+ ld de, .String_TellLater
call PlaceString
.asm_48201
ret
; 48202 (12:4202)
-String_48202: ; 48202
+.String_TellLater: ; 48202
db "Tell Later@"
; 4820d
Function4820d: ; 4820d (12:420d)
- call Function1bee
- ld hl, MenuSelection2
+ call PlaceHollowCursor
+ ld hl, wMenuCursorY
ld a, [hl]
push af
ld a, [wd002]
@@ -235,7 +235,7 @@
cp $4
jp z, Function488d3
ld a, $2
- call Function1ff8
+ call MenuClickSound
ld a, [wd002]
bit 6, a
jr z, .asm_4825c
@@ -246,7 +246,7 @@
ld b, $2
ld c, $12
call ClearBox
- ld de, String_484a1
+ ld de, MobileString_ProfileChanged
hlcoord 1, 16
call PlaceString
call WaitBGMap
@@ -269,7 +269,7 @@
jp Function4840c
; 48275 (12:4275)
-String_48275: ; 48275
+MobileString_PersonalInfo: ; 48275
db "Personal Info@"
; 48283
@@ -282,7 +282,7 @@
asm_4828d: ; 4828d (12:428d)
call Function48283
hlcoord 1, 16
- ld de, String_484b1
+ ld de, MobileDesc_Gender
call PlaceString
ld hl, MenuDataHeader_0x484f1
call LoadMenuDataHeader
@@ -301,12 +301,12 @@
ld a, [PlayerGender]
inc a
ld [wMenuCursorBuffer], a
- call Function1bc9
+ call StaticMenuJoypad
call PlayClickSFX
call ExitMenu
bit 0, a
jp z, Function4840c
- ld hl, MenuSelection2
+ ld hl, wMenuCursorY
ld a, [hl]
ld hl, Strings_484fb
cp $1
@@ -334,7 +334,7 @@
Function48304: ; 48304 (12:4304)
call Function48283
hlcoord 1, 16
- ld de, String_484cf
+ ld de, MobileDesc_Address
call PlaceString
ld hl, MenuDataHeader_0x48504
call LoadMenuDataHeader
@@ -361,7 +361,7 @@
ld [wMenuScrollPosition], a
callba Function104148
.asm_48348
- call HandleScrollingMenu
+ call ScrollingMenu
ld de, $629
call Function48383
jr c, .asm_48348
@@ -415,7 +415,7 @@
ld [wMenuScrollPosition], a
jr .asm_483af
.asm_483af
- ld hl, MenuSelection2
+ ld hl, wMenuCursorY
ld a, [hl]
ld [wMenuCursorBuffer], a
scf
@@ -426,7 +426,7 @@
ret
Function483bb: ; 483bb (12:43bb)
- ld hl, wcf77
+ ld hl, wScrollingMenuCursorPosition
ld a, [hl]
inc a
ld [wd474], a
@@ -489,42 +489,41 @@
call Function48187
call Function48283
hlcoord 1, 16
- ld de, String_48275
+ ld de, MobileString_PersonalInfo
call PlaceString
call Function486bf
pop bc
- ld hl, MenuSelection2
+ ld hl, wMenuCursorY
ld [hl], b
ld a, [wd002]
bit 6, a
jr nz, .asm_48437
- ld b, $9
- ld c, $1
+ ld b, 9
+ ld c, 1
hlcoord 1, 4
call ClearBox
jp Function48157
.asm_48437
- ld b, $7
- ld c, $1
+ ld b, 7
+ ld c, 1
hlcoord 1, 6
call ClearBox
jp Function48157
-Function48444: ; 48444 (12:4444)
+Mobile12_Bin2Dec: ; 48444 (12:4444)
push bc
push af
push de
push hl
- ld hl, Unknown_4845d
-.asm_4844b
+ ld hl, .DigitStrings
+.loop
and a
- jr z, .asm_48453
-rept 2
+ jr z, .got_string
inc hl
-endr
+ inc hl
dec a
- jr .asm_4844b
-.asm_48453
+ jr .loop
+.got_string
ld d, h
ld e, l
pop hl
@@ -535,7 +534,7 @@
ret
; 4845d (12:445d)
-Unknown_4845d: ; 4845d
+.DigitStrings: ; 4845d
; 4845d
db "0@"
db "1@"
@@ -549,17 +548,17 @@
db "9@"
; 48471
-MobileProfileString: db " Mobile Profile@"
-String_48482: db "Gender@"
-String_48489: db "Age@"
-String_4848d: db "Address@"
-String_48495: db "Zip Code@"
-String_4849e: db "OK@"
-String_484a1: db "Profile Changed@"
-String_484b1: db "Boy or girl?@"
-String_484be: db "How old are you?@"
-String_484cf: db "Where do you live?@"
-String_484e2: db "Your zip code?@"
+MobileProfileString: db " Mobile Profile@"
+MobileString_Gender: db "Gender@"
+MobileString_Age: db "Age@"
+MobileString_Address: db "Address@"
+MobileString_ZipCode: db "Zip Code@"
+MobileString_OK: db "OK@"
+MobileString_ProfileChanged: db "Profile Changed@"
+MobileDesc_Gender: db "Boy or girl?@"
+MobileDesc_Age: db "How old are you?@"
+MobileDesc_Address: db "Where do you live?@"
+MobileDesc_ZipCode: db "Your zip code?@"
; 484f1
MenuDataHeader_0x484f1: ; 0x484f1
@@ -665,7 +664,7 @@
ld c, 7
call DelayFrames
ld b, $1
- call Function4930f
+ call GetMysteryGift_MobileAdapterLayout
call ClearBGPalettes
hlcoord 0, 0
ld b, $4
@@ -687,7 +686,7 @@
ret
Function486bf: ; 486bf (12:46bf)
- ld hl, wcfa1
+ ld hl, w2DMenuCursorInitY
ld a, [wd002]
bit 6, a
jr nz, .asm_486ce
@@ -746,9 +745,8 @@
pop af
ld [hli], a
ld a, $1
-rept 2
ld [hli], a
-endr
+ ld [hli], a
xor a
rept 3
ld [hli], a
@@ -772,7 +770,7 @@
ret
Function4873c: ; 4873c (12:473c)
- ld hl, wcfa1
+ ld hl, w2DMenuCursorInitY
ld a, $4
ld [hli], a
ld a, $c
@@ -811,7 +809,7 @@
Function4876f: ; 4876f (12:476f)
call Function48283
hlcoord 1, 16
- ld de, String_484be
+ ld de, MobileDesc_Age
call PlaceString
ld hl, MenuDataHeader_0x48509
call LoadMenuDataHeader
@@ -853,7 +851,7 @@
call Function4880e
jr nc, .asm_487c6
ld a, $1
- call Function1ff8
+ call MenuClickSound
pop bc
jr nz, .asm_487da
ld a, b
@@ -1012,7 +1010,7 @@
Function488d3: ; 488d3 (12:48d3)
call Function48283
hlcoord 1, 16
- ld de, String_484e2
+ ld de, MobileDesc_ZipCode
call PlaceString
call Function48a3a
jp c, Function4840c
@@ -1154,7 +1152,7 @@
push de
push hl
ld a, $1
- call Function1ff8
+ call MenuClickSound
pop hl
pop de
pop bc
@@ -1173,16 +1171,16 @@
push de
ld a, [wd475]
and $f
- call Function48444
+ call Mobile12_Bin2Dec
ld a, [wd476]
and $f0
swap a
inc hl
- call Function48444
+ call Mobile12_Bin2Dec
ld a, [wd476]
and $f
inc hl
- call Function48444
+ call Mobile12_Bin2Dec
inc hl
ld de, String_48a38
call PlaceString
@@ -1190,20 +1188,20 @@
and $f0
swap a
inc hl
- call Function48444
+ call Mobile12_Bin2Dec
ld a, [wd477]
and $f
inc hl
- call Function48444
+ call Mobile12_Bin2Dec
ld a, [wd478]
and $f0
swap a
inc hl
- call Function48444
+ call Mobile12_Bin2Dec
ld a, [wd478]
and $f
inc hl
- call Function48444
+ call Mobile12_Bin2Dec
pop de
ret
; 48a38 (12:4a38)
@@ -1217,11 +1215,11 @@
call LoadMenuDataHeader
call Function4873c
ld a, $a
- ld [wcfa1], a
+ ld [w2DMenuCursorInitY], a
ld a, $b
- ld [wcfa2], a
+ ld [w2DMenuCursorInitX], a
ld a, $1
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
hlcoord 10, 8
ld b, $4
ld c, $8
@@ -1229,7 +1227,7 @@
hlcoord 12, 10
ld de, String_48aa1
call PlaceString
- call Function1bc9
+ call StaticMenuJoypad
push af
call PlayClickSFX
call ExitMenu
@@ -1236,7 +1234,7 @@
pop af
bit 1, a
jp nz, Function48a9a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr z, .asm_48a98
ld a, [wd003]
@@ -1605,7 +1603,8 @@
; 48c8e
Function48c8e: ; 48c8e
- ld hl, wd02a
+; unreferenced
+ ld hl, $d02a
ld d, h
ld e, l
callba Function48c63
@@ -1646,13 +1645,13 @@
.asm_48cc7
ld a, b
- call Function48444
+ call Mobile12_Bin2Dec
inc hl
ld a, c
- call Function48444
+ call Mobile12_Bin2Dec
inc hl
ld a, d
- call Function48444
+ call Mobile12_Bin2Dec
pop hl
pop de
pop bc
@@ -1672,12 +1671,10 @@
pop bc
ld de, AttrMap - TileMap
add hl, de
-rept 2
inc b
-endr
-rept 2
+ inc b
inc c
-endr
+ inc c
ld a, $0
.asm_48ced
push bc
--- /dev/null
+++ b/misc/mobile_12_2.asm
@@ -1,0 +1,937 @@
+MobileCheckOwnMonAnywhere: ; 4a843
+; Like CheckOwnMonAnywhere, but only check for species.
+; OT/ID don't matter.
+
+ ld a, [PartyCount]
+ and a
+ ret z
+
+ ld d, a
+ ld e, 0
+ ld hl, PartyMon1Species
+ ld bc, PartyMonOT
+.asm_4a851
+ call .CheckMatch
+ ret c
+ push bc
+ ld bc, PARTYMON_STRUCT_LENGTH
+ add hl, bc
+ pop bc
+ call .CopyName
+ dec d
+ jr nz, .asm_4a851
+ ld a, BANK(sBoxCount)
+ call GetSRAMBank
+ ld a, [sBoxCount]
+ and a
+ jr z, .asm_4a888
+ ld d, a
+ ld hl, sBoxMon1Species
+ ld bc, sBoxMonOT
+.asm_4a873
+ call .CheckMatch
+ jr nc, .asm_4a87c
+ call CloseSRAM
+ ret
+
+.asm_4a87c
+ push bc
+ ld bc, BOXMON_STRUCT_LENGTH
+ add hl, bc
+ pop bc
+ call .CopyName
+ dec d
+ jr nz, .asm_4a873
+
+.asm_4a888
+ call CloseSRAM
+ ld c, 0
+.asm_4a88d
+ ld a, [wCurBox]
+ and $f
+ cp c
+ jr z, .asm_4a8d1
+ ld hl, .BoxAddrs
+ ld b, 0
+rept 3
+ add hl, bc
+endr
+ ld a, [hli]
+ call GetSRAMBank
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [hl]
+ and a
+ jr z, .asm_4a8d1
+ push bc
+ push hl
+ ld de, sBoxMons - sBoxCount
+ add hl, de
+ ld d, h
+ ld e, l
+ pop hl
+ push de
+ ld de, sBoxMonOT - sBoxCount
+ add hl, de
+ ld b, h
+ ld c, l
+ pop hl
+ ld d, a
+.asm_4a8ba
+ call .CheckMatch
+ jr nc, .asm_4a8c4
+ pop bc
+ call CloseSRAM
+ ret
+
+.asm_4a8c4
+ push bc
+ ld bc, BOXMON_STRUCT_LENGTH
+ add hl, bc
+ pop bc
+ call .CopyName
+ dec d
+ jr nz, .asm_4a8ba
+ pop bc
+
+.asm_4a8d1
+ inc c
+ ld a, c
+ cp NUM_BOXES
+ jr c, .asm_4a88d
+ call CloseSRAM
+ and a
+ ret
+; 4a8dc
+
+.CheckMatch: ; 4a8dc
+ push bc
+ push hl
+ push de
+ ld d, b
+ ld e, c
+ ld a, [ScriptVar]
+ ld b, [hl]
+ cp b
+ jr nz, .no_match
+ jr .match
+
+.no_match
+ pop de
+ pop hl
+ pop bc
+ and a
+ ret
+
+.match
+ pop de
+ pop hl
+ pop bc
+ scf
+ ret
+; 4a8f4
+
+.BoxAddrs: ; 4a8f4
+ dba sBox1
+ dba sBox2
+ dba sBox3
+ dba sBox4
+ dba sBox5
+ dba sBox6
+ dba sBox7
+ dba sBox8
+ dba sBox9
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
+; 4a91e
+
+.CopyName: ; 4a91e
+ push hl
+ ld hl, NAME_LENGTH
+ add hl, bc
+ ld b, h
+ ld c, l
+ pop hl
+ ret
+; 4a927
+
+FindItemInPCOrBag: ; 4a927
+ ld a, [ScriptVar]
+ ld [CurItem], a
+ ld hl, PCItems
+ call CheckItem
+ jr c, .found
+
+ ld a, [ScriptVar]
+ ld [CurItem], a
+ ld hl, NumItems
+ call CheckItem
+ jr c, .found
+
+ xor a
+ ld [ScriptVar], a
+ ret
+
+.found
+ ld a, 1
+ ld [ScriptVar], a
+ ret
+; 4a94e
+
+Function4a94e: ; 4a94e
+ call FadeToMenu
+ ld a, -1
+ ld hl, wd002
+ ld bc, 3
+ call ByteFill
+ xor a
+ ld [wd018], a
+ ld [wd019], a
+ ld b, SCGB_PACKPALS
+ call GetSGBLayout
+ call SetPalettes
+ call Function4aa22
+ jr c, .asm_4a985
+ jr z, .asm_4a9a1
+ jr .asm_4a97b
+
+.asm_4a974
+ call Function4aa25
+ jr c, .asm_4a985
+ jr z, .asm_4a9a1
+
+.asm_4a97b
+ call Function4ac58
+ ld hl, wd019
+ res 1, [hl]
+ jr .asm_4a974
+
+.asm_4a985
+ ld a, [wd018]
+ and a
+ jr nz, .asm_4a990
+ call Function4aba8
+ jr c, .asm_4a974
+
+.asm_4a990
+ call CloseSubmenu
+ ld hl, wd002
+ ld a, -1
+ ld bc, 3
+ call ByteFill
+ scf
+ jr .asm_4a9af
+
+.asm_4a9a1
+ call Function4a9c3
+ jr c, .asm_4a9b0
+ call Function4a9d7
+ jr c, .asm_4a974
+ call CloseSubmenu
+ and a
+
+.asm_4a9af
+ ret
+
+.asm_4a9b0
+ ld de, SFX_WRONG
+ call PlaySFX
+ ld hl, UnknownText_0x4a9be
+ call PrintText
+ jr .asm_4a974
+; 4a9be
+
+UnknownText_0x4a9be: ; 0x4a9be
+ ; Pick three #MON for battle.
+ text_jump UnknownText_0x1c51d7
+ db "@"
+; 0x4a9c3
+
+Function4a9c3: ; 4a9c3
+ ld hl, wd002
+ ld a, $ff
+ cp [hl]
+ jr z, .asm_4a9d5
+ inc hl
+ cp [hl]
+ jr z, .asm_4a9d5
+ inc hl
+ cp [hl]
+ jr z, .asm_4a9d5
+ and a
+ ret
+
+.asm_4a9d5
+ scf
+ ret
+; 4a9d7
+
+Function4a9d7: ; 4a9d7
+ ld a, [wd002]
+ ld hl, PartyMonNicknames
+ call GetNick
+ ld h, d
+ ld l, e
+ ld de, EndFlypoint
+ ld bc, 6
+ call CopyBytes
+ ld a, [wd003]
+ ld hl, PartyMonNicknames
+ call GetNick
+ ld h, d
+ ld l, e
+ ld de, wd00c
+ ld bc, 6
+ call CopyBytes
+ ld a, [wd004]
+ ld hl, PartyMonNicknames
+ call GetNick
+ ld h, d
+ ld l, e
+ ld de, wd012
+ ld bc, 6
+ call CopyBytes
+ ld hl, UnknownText_0x4aa1d
+ call PrintText
+ call YesNoBox
+ ret
+; 4aa1d
+
+UnknownText_0x4aa1d: ; 0x4aa1d
+ ; , @ and @ . Use these three?
+ text_jump UnknownText_0x1c51f4
+ db "@"
+; 0x4aa22
+
+Function4aa22: ; 4aa22
+ call ClearBGPalettes
+
+Function4aa25: ; 4aa25
+ callba LoadPartyMenuGFX
+ callba InitPartyMenuWithCancel
+ call Function4aad3
+
+Function4aa34: ; 4aa34
+ ld a, $9
+ ld [PartyMenuActionText], a
+ callba WritePartyMenuTilemap
+ xor a
+ ld [PartyMenuActionText], a
+ callba PrintPartyMenuText
+ call Function4aab6
+ call WaitBGMap
+ call SetPalettes
+ call DelayFrame
+ call Function4ab1a
+ jr z, .asm_4aa66
+ push af
+ call Function4aafb
+ jr c, .asm_4aa67
+ call Function4ab06
+ jr c, .asm_4aa67
+ pop af
+
+.asm_4aa66
+ ret
+
+.asm_4aa67
+ ld hl, wd019
+ set 1, [hl]
+ pop af
+ ret
+; 4aa6e
+
+Function4aa6e: ; 4aa6e
+ pop af
+ ld de, SFX_WRONG
+ call PlaySFX
+ call WaitSFX
+ jr Function4aa34
+; 4aa7a
+
+Function4aa7a: ; 4aa7a
+ ld hl, wd002
+ ld d, $3
+.loop
+ ld e, PARTY_LENGTH
+ ld a, [hli]
+ push de
+ push hl
+ cp -1
+ jr z, .done
+ ld hl, wSpriteAnimationStructs
+ inc a
+ ld d, a
+.inner_loop
+ ld a, [hl]
+ and a
+ jr z, .next
+ cp d
+ jr z, .same_as_d
+ jr .next
+
+ ld a, $3
+ jr .proceed
+
+.same_as_d
+ ld a, $2
+
+.proceed
+ push hl
+ ld c, l
+ ld b, h
+ ld hl, $2
+ add hl, bc
+ ld [hl], a
+ pop hl
+
+.next
+ ld bc, $10
+ add hl, bc
+ dec e
+ jr nz, .inner_loop
+ pop hl
+ pop de
+ dec d
+ jr nz, .loop
+ jr .finished
+
+.done
+ pop hl
+ pop de
+
+.finished
+ ret
+; 4aab6
+
+Function4aab6: ; 4aab6
+ ld hl, wd002
+ ld d, $3
+.loop
+ ld a, [hli]
+ cp -1
+ jr z, .done
+ push de
+ push hl
+ hlcoord 0, 1
+ ld bc, $28
+ call AddNTimes
+ ld [hl], $ec
+ pop hl
+ pop de
+ dec d
+ jr nz, .loop
+
+.done
+ ret
+; 4aad3
+
+Function4aad3: ; 4aad3
+ ld hl, PartyCount
+ ld a, [hli]
+ and a
+ ret z ; Nothing in your party
+
+ ld c, a
+ xor a
+ ld [hObjectStructIndexBuffer], a
+.loop
+ push bc
+ push hl
+ ld e, 0
+ callba Function8e83f
+ ld a, [hObjectStructIndexBuffer]
+ inc a
+ ld [hObjectStructIndexBuffer], a
+ pop hl
+ pop bc
+ dec c
+ jr nz, .loop
+
+ call Function4aa7a
+ callba PlaySpriteAnimations
+ ret
+; 4aafb
+
+Function4aafb: ; 4aafb
+ ld a, [CurPartySpecies]
+ cp EGG
+ jr z, .egg
+ and a
+ ret
+
+.egg
+ scf
+ ret
+; 4ab06
+
+Function4ab06: ; 4ab06
+ ld a, [CurPartyMon]
+ ld bc, PARTYMON_STRUCT_LENGTH
+ ld hl, PartyMon1HP
+ call AddNTimes
+ ld a, [hli]
+ ld b, a
+ ld a, [hl]
+ or b
+ jr nz, .NotFainted
+ scf
+
+.NotFainted
+ ret
+; 4ab1a
+
+Function4ab1a: ; 4ab1a
+.asm_4ab1a
+ ld a, $fb
+ ld [wMenuJoypadFilter], a
+ ld a, $26
+ ld [w2DMenuCursorOffsets], a
+ ld a, $2
+ ld [w2DMenuNumCols], a
+ call Function4adf7
+ call StaticMenuJoypad
+ call Function4abc3
+ jr c, .asm_4ab1a
+ push af
+ call Function4ab99
+ call nc, PlaceHollowCursor
+ pop af
+ bit 1, a
+ jr nz, .asm_4ab6d
+ ld a, [PartyCount]
+ inc a
+ ld b, a
+ ld a, [wMenuCursorY]
+ ld [wPartyMenuCursor], a
+ cp b
+ jr z, .asm_4ab7e
+ ld a, [wMenuCursorY]
+ dec a
+ ld [CurPartyMon], a
+ ld c, a
+ ld b, $0
+ ld hl, PartySpecies
+ add hl, bc
+ ld a, [hl]
+ ld [CurPartySpecies], a
+ ld de, SFX_READ_TEXT_2
+ call PlaySFX
+ call WaitSFX
+ ld a, $1
+ and a
+ ret
+
+.asm_4ab6d
+ ld a, [wMenuCursorY]
+ ld [wPartyMenuCursor], a
+.asm_4ab73
+ ld de, SFX_READ_TEXT_2
+ call PlaySFX
+ call WaitSFX
+ scf
+ ret
+
+.asm_4ab7e
+ ld a, $1
+ ld [wd018], a
+ ld a, [wMenuCursorX]
+ cp $2
+ jr z, .asm_4ab73
+ ld de, SFX_READ_TEXT_2
+ call PlaySFX
+ call WaitSFX
+ xor a
+ ld [wd018], a
+ and a
+ ret
+; 4ab99
+
+Function4ab99: ; 4ab99
+ bit 1, a
+ jr z, .asm_4aba6
+ ld a, [wd002]
+ cp $ff
+ jr z, .asm_4aba6
+ scf
+ ret
+
+.asm_4aba6
+ and a
+ ret
+; 4aba8
+
+Function4aba8: ; 4aba8
+ ld hl, wd004
+ ld a, [hl]
+ cp $ff
+ jr nz, .asm_4abbe
+ dec hl
+ ld a, [hl]
+ cp $ff
+ jr nz, .asm_4abbe
+ dec hl
+ ld a, [hl]
+ cp $ff
+ jr nz, .asm_4abbe
+ and a
+ ret
+
+.asm_4abbe
+ ld a, $ff
+ ld [hl], a
+ scf
+ ret
+; 4abc3
+
+Function4abc3: ; 4abc3
+ bit 3, a
+ jr z, .asm_4abd5
+ ld a, [PartyCount]
+ inc a
+ ld [wMenuCursorY], a
+ ld a, $1
+ ld [wMenuCursorX], a
+ jr .asm_4ac29
+
+.asm_4abd5
+ bit 6, a
+ jr z, .asm_4abeb
+ ld a, [wMenuCursorY]
+ ld [wMenuCursorY], a
+ and a
+ jr nz, .asm_4ac29
+ ld a, [PartyCount]
+ inc a
+ ld [wMenuCursorY], a
+ jr .asm_4ac29
+
+.asm_4abeb
+ bit 7, a
+ jr z, .asm_4ac08
+ ld a, [wMenuCursorY]
+ ld [wMenuCursorY], a
+ ld a, [PartyCount]
+rept 2
+ inc a
+endr
+ ld b, a
+ ld a, [wMenuCursorY]
+ cp b
+ jr nz, .asm_4ac29
+ ld a, $1
+ ld [wMenuCursorY], a
+ jr .asm_4ac29
+
+.asm_4ac08
+ bit 4, a
+ jr nz, .asm_4ac10
+ bit 5, a
+ jr z, .asm_4ac56
+
+.asm_4ac10
+ ld a, [wMenuCursorY]
+ ld b, a
+ ld a, [PartyCount]
+ inc a
+ cp b
+ jr nz, .asm_4ac29
+ ld a, [wMenuCursorX]
+ cp $1
+ jr z, .asm_4ac26
+ ld a, $1
+ jr .asm_4ac29
+
+.asm_4ac26
+ ld [wMenuCursorX], a
+
+.asm_4ac29
+ hlcoord 0, 1
+ lb bc, 13, 1
+ call ClearBox
+ call Function4aab6
+ ld a, [PartyCount]
+ hlcoord 6, 1
+.asm_4ac3b
+ ld bc, $28
+ add hl, bc
+ dec a
+ jr nz, .asm_4ac3b
+ ld [hl], $7f
+ ld a, [wMenuCursorY]
+ ld b, a
+ ld a, [PartyCount]
+ inc a
+ cp b
+ jr z, .asm_4ac54
+ ld a, $1
+ ld [wMenuCursorX], a
+
+.asm_4ac54
+ scf
+ ret
+
+.asm_4ac56
+ and a
+ ret
+; 4ac58
+
+Function4ac58: ; 4ac58
+ lb bc, 2, 18
+ hlcoord 1, 15
+ call ClearBox
+ callba FreezeMonIcons
+ ld hl, MenuDataHeader_0x4aca2
+ call LoadMenuDataHeader
+ ld hl, wd019
+ bit 1, [hl]
+ jr z, .asm_4ac89
+ hlcoord 11, 13
+ ld b, $3
+ ld c, $7
+ call TextBox
+ hlcoord 13, 14
+ ld de, String_4ada7
+ call PlaceString
+ jr .asm_4ac96
+
+.asm_4ac89
+ hlcoord 11, 9
+ ld b, $7
+ ld c, $7
+ call TextBox
+ call Function4ad68
+
+.asm_4ac96
+ ld a, $1
+ ld [hBGMapMode], a
+ call Function4acaa
+ call ExitMenu
+ and a
+ ret
+; 4aca2
+
+MenuDataHeader_0x4aca2: ; 0x4aca2
+ db $40 ; flags
+ db 09, 11 ; start coords
+ db 17, 19 ; end coords
+ dw NULL
+ db 1 ; default option
+; 0x4acaa
+
+Function4acaa: ; 4acaa
+.asm_4acaa
+ ld a, $a0
+ ld [wMenuData2Flags], a
+ ld a, [wd019]
+ bit 1, a
+ jr z, .asm_4acc2
+ ld a, $2
+ ld [wMenuData2Items], a
+ ld a, $c
+ ld [wMenuBorderTopCoord], a
+ jr .asm_4accc
+
+.asm_4acc2
+ ld a, $4
+ ld [wMenuData2Items], a
+ ld a, $8
+ ld [wMenuBorderTopCoord], a
+
+.asm_4accc
+ ld a, $b
+ ld [wMenuBorderLeftCoord], a
+ ld a, $1
+ ld [wMenuCursorBuffer], a
+ call InitVerticalMenuCursor
+ ld hl, w2DMenuFlags1
+ set 6, [hl]
+ call StaticMenuJoypad
+ ld de, SFX_READ_TEXT_2
+ call PlaySFX
+ ld a, [hJoyPressed]
+ bit 0, a
+ jr nz, .asm_4acf4
+ bit 1, a
+ jr nz, .asm_4acf3
+ jr .asm_4acaa
+
+.asm_4acf3
+ ret
+
+.asm_4acf4
+ ld a, [wd019]
+ bit 1, a
+ jr nz, .asm_4ad0e
+ ld a, [wMenuCursorY]
+ cp $1
+ jr z, Function4ad17
+ cp $2
+ jp z, Function4ad56
+ cp $3
+ jp z, Function4ad60
+ jr .asm_4acf3
+
+.asm_4ad0e
+ ld a, [wMenuCursorY]
+ cp $1
+ jr z, Function4ad56
+ jr .asm_4acf3
+
+Function4ad17: ; 4ad17
+ call Function4adb2
+ jr z, .asm_4ad4a
+ ld hl, wd002
+ ld a, $ff
+ cp [hl]
+ jr z, .asm_4ad39
+ inc hl
+ cp [hl]
+ jr z, .asm_4ad39
+ inc hl
+ cp [hl]
+ jr z, .asm_4ad39
+ ld de, SFX_WRONG
+ call WaitPlaySFX
+ ld hl, UnknownText_0x4ad51
+ call PrintText
+ ret
+
+.asm_4ad39
+ ld a, [CurPartyMon]
+ ld [hl], a
+ call Function4a9c3
+ ret c
+ ld a, [wd019]
+ set 0, a
+ ld [wd019], a
+ ret
+
+.asm_4ad4a
+ ld a, $ff
+ ld [hl], a
+ call Function4adc2
+ ret
+
+UnknownText_0x4ad51: ; 0x4ad51
+ ; Only three #MON may enter.
+ text_jump UnknownText_0x1c521c
+ db "@"
+; 0x4ad56
+
+Function4ad56: ; 4ad56
+ callba OpenPartyStats
+ call WaitBGMap2
+ ret
+; 4ad60
+
+Function4ad60: ; 4ad60
+ callba ManagePokemonMoves
+ ret
+; 4ad67
+
+Function4ad67: ; 4ad67
+ ret
+; 4ad68
+
+Function4ad68: ; 4ad68
+ hlcoord 13, 12
+ ld de, String_4ad88
+ call PlaceString
+ call Function4adb2
+ jr c, .asm_4ad7e
+ hlcoord 13, 10
+ ld de, String_4ada0
+ jr .asm_4ad84
+
+.asm_4ad7e
+ hlcoord 13, 10
+ ld de, String_4ad9a
+
+.asm_4ad84
+ call PlaceString
+ ret
+; 4ad88
+
+String_4ad88: ; 4ad88
+ db "つよさをみる"
+ next "つかえるわざ"
+ next "もどる@"
+; 4ad9a
+
+String_4ad9a: ; 4ad9a
+ db "さんかする@"
+; 4ada0
+
+String_4ada0: ; 4ada0
+ db "さんかしない@"
+; 4ada7
+
+String_4ada7: ; 4ada7
+ db "つよさをみる"
+ next "もどる@" ; BACK
+; 4adb2
+
+Function4adb2: ; 4adb2
+ ld hl, wd002
+ ld a, [CurPartyMon]
+ cp [hl]
+ ret z
+ inc hl
+ cp [hl]
+ ret z
+ inc hl
+ cp [hl]
+ ret z
+ scf
+ ret
+; 4adc2
+
+Function4adc2: ; 4adc2
+ ld a, [wd002]
+ cp $ff
+ jr nz, .skip
+ ld a, [wd003]
+ cp $ff
+ jr nz, .skip2
+ ld a, [wd004]
+ ld [wd002], a
+ ld a, $ff
+ ld [wd004], a
+ jr .skip
+
+.skip2
+ ld [wd002], a
+ ld a, $ff
+ ld [wd003], a
+
+.skip
+ ld a, [wd003]
+ cp $ff
+ ret nz
+ ld b, a
+ ld a, [wd004]
+ ld [wd003], a
+ ld a, b
+ ld [wd004], a
+ ret
+; 4adf7
+
+Function4adf7: ; 4adf7
+ ld a, [wd019]
+ bit 0, a
+ ret z
+ ld a, [PartyCount]
+ inc a
+ ld [wMenuCursorY], a
+ ld a, $1
+ ld [wMenuCursorX], a
+ ld a, [wd019]
+ res 0, a
+ ld [wd019], a
+ ret
+; 4ae12
--- a/misc/mobile_22.asm
+++ b/misc/mobile_22.asm
@@ -214,7 +214,7 @@
Function89245: ; 89245 (22:5245)
callba TryLoadSaveFile
ret c
- callba Function150b9
+ callba _LoadData
and a
ret
@@ -248,18 +248,18 @@
ld [hl], a
pop af
ld [wMenuCursorBuffer], a
- call BackUpTiles
+ call PushWindow
call Function8923c
call Function89209
- call InterpretMenu2
+ call VerticalMenu
push af
ld c, $a
call DelayFrames
- call WriteBackup
+ call CloseWindow
call Function8920f
pop af
jr c, .done
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $2
jr z, .done
and a
@@ -1308,7 +1308,7 @@
call Function894bb
call Function897af
push bc
- call Function3200
+ call WaitBGMap2
call SetPalettes
pop bc
ret
@@ -1694,7 +1694,7 @@
Function89a8a: ; 89a8a
push af
- ld de, SFX_UNKNOWN_62
+ ld de, SFX_SWITCH_POCKETS
call PlaySFX
pop af
ret
@@ -1791,7 +1791,7 @@
Function89b00: ; 89b00 (22:5b00)
- callba Function49351
+ callba MG_Mobile_Layout_LoadPals
ret
; 89b07 (22:5b07)
@@ -2198,9 +2198,9 @@
pop af
ld [wMenuCursorBuffer], a
call Function8923c
- call Function1c89
- call Function1c10
- ld hl, wcfa5
+ call PlaceVerticalMenuItems
+ call InitVerticalMenuCursor
+ ld hl, w2DMenuFlags1
set 7, [hl]
ret
@@ -2224,7 +2224,7 @@
push hl
call _hl_
call Function89dab
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
push af
call Function891ab
pop af
@@ -2239,10 +2239,10 @@
Function89dab: ; 89dab (22:5dab)
call Function8923c
- callba Function241ba
+ callba MobileMenuJoypad
call Function8923c
ld a, c
- ld hl, wcfa8
+ ld hl, wMenuJoypadFilter
and [hl]
ret z
bit 0, a
@@ -2253,12 +2253,12 @@
ret
.asm_89dc7
call PlayClickSFX
- ld a, [wcfa3]
+ ld a, [w2DMenuNumRows]
ld c, a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp c
jr z, .asm_89dd9
- call Function1bee
+ call PlaceHollowCursor
scf
ret
.asm_89dd9
@@ -2275,7 +2275,7 @@
.asm_89dea
call Function8a31c
jr z, .asm_89dfd
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld c, a
push bc
ld hl, Jumptable_89e04
@@ -2384,8 +2384,8 @@
ld a, $5
ld [rSVBK], a
ld hl, Palette_89eb1
- ld de, wd028
- ld bc, $8
+ ld de, UnknBGPals + 5 palettes
+ ld bc, 1 palettes
call CopyBytes
pop af
ld [rSVBK], a
@@ -2420,7 +2420,7 @@
call Function893e2
call Function8923c
callba Function4a3a7
- callba Function49384
+ callba MG_Mobile_Layout_CreatePalBoxes
hlcoord 1, 0
call Function8a53d
ret
@@ -2784,7 +2784,7 @@
call Function8923c
call Function8a17b
jr c, .asm_8a16b
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wd030], a
dec d
jr z, .asm_8a140
@@ -2816,7 +2816,7 @@
ret
.asm_8a16b
call Function89209
- call WriteBackup
+ call CloseWindow
call Function8920f
scf
ret
@@ -2867,7 +2867,7 @@
ld c, $12
call TextBox
hlcoord 1, 14
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld de, Strings_8a1cc
dec a
ld c, a
@@ -2950,7 +2950,7 @@
call Function893e2
call Function8923c
callba Function4a3a7
- callba Function49384
+ callba MG_Mobile_Layout_CreatePalBoxes
hlcoord 1, 0
call Function8a53d
hlcoord 12, 4
@@ -2999,7 +2999,7 @@
and a
ret
.asm_8a2ea
- call WriteBackup
+ call CloseWindow
.asm_8a2ed
scf
ret
@@ -3044,7 +3044,7 @@
push bc
call Function8923c
callba Function4a3a7
- callba Function49384
+ callba MG_Mobile_Layout_CreatePalBoxes
hlcoord 1, 0
call Function8a53d
hlcoord 12, 4
@@ -3054,9 +3054,9 @@
ld a, c
ld [wMenuCursorBuffer], a
ld [MenuSelection], a
- call Function1c89
- call Function1c10
- ld hl, wcfa5
+ call PlaceVerticalMenuItems
+ call InitVerticalMenuCursor
+ ld hl, w2DMenuFlags1
set 7, [hl]
.asm_8a34e
call Function8a3a2
@@ -3076,7 +3076,7 @@
ret
.asm_8a370
call Function89448
- call Function1bee
+ call PlaceHollowCursor
call Function8a3a2
ld a, [MenuSelection]
cp $ff
@@ -3086,9 +3086,9 @@
ret
Function8a383: ; 8a383 (22:6383)
- callba Function241ba
+ callba MobileMenuJoypad
ld a, c
- ld hl, wcfa8
+ ld hl, wMenuJoypadFilter
and [hl]
ret z
bit 0, a
@@ -3106,7 +3106,7 @@
ret
Function8a3a2: ; 8a3a2 (22:63a2)
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld hl, wd002
ld e, a
@@ -3390,16 +3390,16 @@
ld a, $5
ld [rSVBK], a
ld hl, Palette_8a5e5
- ld de, wd020
- ld bc, $18
+ ld de, UnknBGPals + 4 palettes
+ ld bc, 3 palettes
call CopyBytes
ld hl, Palette_8a5fd
ld de, UnknOBPals
- ld bc, $8
+ ld bc, 1 palettes
call CopyBytes
ld hl, Palette_8a605
- ld de, wd048
- ld bc, $8
+ ld de, UnknOBPals + 1 palettes
+ ld bc, 1 palettes
call CopyBytes
pop af
ld [rSVBK], a
@@ -3411,10 +3411,12 @@
RGB 27, 19, 00
RGB 07, 11, 22
RGB 00, 00, 00
+
RGB 31, 31, 31
RGB 16, 16, 31
RGB 27, 19, 00
RGB 00, 00, 00
+
RGB 31, 31, 31
RGB 31, 00, 00
RGB 27, 19, 00
@@ -3442,7 +3444,7 @@
ld [rSVBK], a
ld hl, Palette_8a624
ld de, UnknOBPals
- ld bc, $0008
+ ld bc, 1 palettes
call CopyBytes
pop af
ld [rSVBK], a
@@ -3473,7 +3475,7 @@
jr z, .asm_8a66a
ld [MenuSelection], a
ld b, a
- ld a, [wcf77]
+ ld a, [wScrollingMenuCursorPosition]
inc a
ld [wd034], a
push bc
@@ -3834,7 +3836,7 @@
ld [wd0e3], a
.asm_8a943
call Function8b7bd
- ld a, [wcf73]
+ ld a, [wMenuJoypad]
and $1
jr nz, .asm_8a953
ld a, c
@@ -3899,7 +3901,7 @@
jr .asm_8a9a1
.asm_8a9bb
call Function89209
- call WriteBackup
+ call CloseWindow
call Function8920f
ret
--- a/misc/mobile_22_2.asm
+++ b/misc/mobile_22_2.asm
@@ -1,6 +1,6 @@
Function8b342:: ; 8b342
; Loads the secondary map header pointer, then runs through a
-; jumptable with three dummy functions. Spends a lot of energy
+; dw with three dummy functions. Spends a lot of energy
; doing pretty much nothing.
call GetSecondaryMapHeaderPointer
ld d, h
@@ -10,7 +10,7 @@
xor a
.loop
push af
- ld hl, .jumptable
+ ld hl, .dw
rst JumpTable
pop af
inc a
@@ -19,7 +19,7 @@
ret
; 8b354
-.jumptable: ; 8b354
+.dw: ; 8b354
dw .zero
dw .one
dw .two
@@ -48,7 +48,7 @@
Function8b363: ; 8b363
push bc
- callba Function10632f
+ callba Mobile_AlwaysReturnNotCarry
pop bc
ret
; 8b36c
@@ -542,9 +542,6 @@
; CARD FOLDER open.@ @
text_jump UnknownText_0x1bc288
start_asm
-; 0x8b651
-
-Function8b651: ; 8b651
ld de, SFX_TWINKLE
call PlaySFX
call WaitSFX
@@ -818,7 +815,7 @@
and a
jr z, .asm_8b7ea
dec a
- ld [wcf77], a
+ ld [wScrollingMenuCursorPosition], a
.asm_8b7ea
hlcoord 0, 2
@@ -828,9 +825,9 @@
call Function8b75d
call UpdateSprites
call Function89209
- call HandleScrollingMenu
+ call ScrollingMenu
call Function8920f
- ld a, [wcf73]
+ ld a, [wMenuJoypad]
cp $2
jr z, .asm_8b823
cp $20
@@ -854,7 +851,7 @@
.asm_8b824
ld c, a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wd030], a
ld a, [wMenuScrollPosition]
ld [wd031], a
@@ -880,7 +877,7 @@
Function8b84b: ; 8b84b
ld [wMenuScrollPosition], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wMenuCursorBuffer], a
ret
; 8b855
--- a/misc/mobile_40.asm
+++ b/misc/mobile_40.asm
@@ -1,7 +1,7 @@
-
-SECTION "bank40", ROMX, BANK[$40]
-
Function100000: ; 100000
+; d: 1 or 2
+; e: bank
+; bc: addr
ld a, [rSVBK]
push af
ld a, $1
@@ -32,15 +32,15 @@
ld a, d
ld [wcd21], a
ld a, e
- ld [CreditsTimer], a
+ ld [wcd22], a
ld a, c
ld [wcd23], a
ld a, b
ld [wcd24], a
callba Function10127e
- callba Function106462
- callba Function106464
- callba Function11615a
+ callba MobileFunc_106462
+ callba Function106464 ; load broken gfx
+ callba Function11615a ; init RAM
ld hl, VramState
set 1, [hl]
ret
@@ -57,7 +57,7 @@
Function100063: ; 100063
xor a
ld hl, BGMapBuffer
- ld bc, $0065
+ ld bc, $65
call ByteFill
xor a
ld hl, wc300
@@ -67,7 +67,7 @@
ld [BGMapBuffer], a
xor a
ld [hMapAnims], a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ret
; 100082
@@ -84,9 +84,9 @@
ld [rIE], a
xor a
ld [hMapAnims], a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ld a, $1
- ld [hFFC9], a
+ ld [hMobileReceive], a
ld [hMobile], a
ei
ret
@@ -95,7 +95,7 @@
Function1000a4: ; 1000a4
di
xor a
- ld [hFFC9], a
+ ld [hMobileReceive], a
ld [hMobile], a
xor a
ld [hVBlank], a
@@ -109,7 +109,8 @@
; 1000ba
Function1000ba: ; 1000ba
-.asm_1000ba
+.loop
+ ; call [wcd22]:([wcd23][wcd24] + [wcd25])
ld hl, wcd23
ld a, [hli]
ld h, [hl]
@@ -116,14 +117,14 @@
ld l, a
ld a, [wcd25]
ld e, a
- ld d, $0
-rept 2
+ ld d, 0
add hl, de
-endr
- ld a, [CreditsTimer]
+ add hl, de
+ ld a, [wcd22]
call GetFarHalfword
- ld a, [CreditsTimer]
+ ld a, [wcd22]
rst FarCall
+
call Function1000e8
call Function1000fa
call Function100144
@@ -130,7 +131,7 @@
call Function100163
ld a, [wcd2b]
and a
- jr z, .asm_1000ba
+ jr z, .loop
call DelayFrame
ret
; 1000e8
@@ -168,7 +169,7 @@
and $13
ld [rIE], a
xor a
- ld [hFFC9], a
+ ld [hMobileReceive], a
ld [hMobile], a
ei
@@ -265,12 +266,12 @@
.asm_1001c4
ld a, $d2
- ld de, $0002
+ ld de, 2
jr .asm_1001d7
.asm_1001cb
ld a, $d1
- ld de, $0001
+ ld de, 1
jr .asm_1001d7
.asm_1001d2
@@ -379,7 +380,7 @@
.asm_10029f
call Function1002dc
- ld c, $0
+ ld c, 0
ret
.asm_1002a5
@@ -423,8 +424,8 @@
; 1002ed
Function1002ed: ; 1002ed
- callba Function49409
- callba Function96a4
+ callba LoadOW_BGPal7
+ callba ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
call DelayFrame
@@ -504,7 +505,7 @@
ret
.asm_10036a
- ld a, $0
+ ld a, 0
call Function3e32
ld [wcd2c], a
ld a, h
@@ -545,7 +546,7 @@
Function10039c: ; 10039c
ld hl, wcc60
ld de, w3_d000
- ld bc, $0054
+ ld bc, $54
ld a, $3
call FarCopyWRAM
ret
@@ -554,7 +555,7 @@
Function1003ab: ; 1003ab
ld hl, w3_d000
ld de, wcc60
- ld bc, $0054
+ ld bc, $54
ld a, $3
call FarCopyWRAM
ret
@@ -563,7 +564,7 @@
Function1003ba: ; 1003ba
ld hl, wccb4
ld de, w3_d080
- ld bc, $0054
+ ld bc, $54
ld a, $3
call FarCopyWRAM
ret
@@ -572,7 +573,7 @@
Function1003c9: ; 1003c9
ld hl, w3_d080
ld de, wccb4
- ld bc, $0054
+ ld bc, $54
ld a, $3
call FarCopyWRAM
ret
@@ -582,7 +583,7 @@
ld hl, wccb4
ld a, [hli]
ld c, a
- ld b, $0
+ ld b, 0
push hl
add hl, bc
ld a, [BGMapPalBuffer]
@@ -614,7 +615,7 @@
ld a, [wcc60]
sub $2
ld c, a
- ld b, $0
+ ld b, 0
ld hl, wcc61
call Function10043a
add hl, bc
@@ -658,7 +659,7 @@
add e
ld e, a
ld a, d
- adc $0
+ adc 0
ld d, a
dec bc
ld a, b
@@ -813,9 +814,9 @@
Function100513: ; 100513
call Function3f7c
- call Function1c89
- call Function1c10
- ld hl, wcfa5
+ call PlaceVerticalMenuItems
+ call InitVerticalMenuCursor
+ ld hl, w2DMenuFlags1
set 7, [hl]
ret
; 100522
@@ -853,12 +854,12 @@
; 10054d
Function10054d: ; 10054d
- callba Function241ba
+ callba MobileMenuJoypad
ld a, c
- ld hl, wcfa8
+ ld hl, wMenuJoypadFilter
and [hl]
ret z
- call Function1ff8
+ call MenuClickSound
bit 0, a
jr nz, .asm_100565
bit 1, a
@@ -895,7 +896,7 @@
Function100585: ; 100585
ld hl, MenuDataHeader_1005b2
call LoadMenuDataHeader
- ld a, $0
+ ld a, 0
ld [wcd28], a
ld a, [wcd26]
inc a
@@ -908,7 +909,7 @@
ret z
jr nc, .asm_1005a6
xor a
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
.asm_1005a6
call ExitMenu
@@ -947,7 +948,7 @@
Function1005cf: ; 1005cf
ld hl, MenuDataHeader_1005fc
call LoadMenuDataHeader
- ld a, $0
+ ld a, 0
ld [wcd28], a
ld a, [wcd26]
inc a
@@ -960,7 +961,7 @@
ret z
jr nc, .asm_1005f0
xor a
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
.asm_1005f0
call ExitMenu
ld a, [wcd26]
@@ -1374,7 +1375,7 @@
jr nz, .asm_10087c
ld a, [wcd6e]
ld c, a
- ld a, $0
+ ld a, 0
sub c
jr nc, .asm_100858
add $3c
@@ -1429,7 +1430,7 @@
call CloseSRAM
ld a, [StringBuffer2 + 2]
ld b, a
- ld a, $0
+ ld a, 0
sub b
jr nc, .asm_1008c8
add $3c
@@ -1449,7 +1450,7 @@
.asm_1008da
call Function10070d
- ld c, $0
+ ld c, 0
ret
; 1008e0
@@ -1674,7 +1675,7 @@
ld a, $ff
ld [wOtherPlayerLinkAction], a
.waiting
- call LinkCommunicationsSendReceive
+ call LinkTransfer
call DelayFrame
ld a, [wOtherPlayerLinkAction]
inc a
@@ -1683,7 +1684,7 @@
ld b, 10
.receive
call DelayFrame
- call LinkCommunicationsSendReceive
+ call LinkTransfer
dec b
jr nz, .receive
@@ -1690,7 +1691,7 @@
ld b, 10
.acknowledge
call DelayFrame
- call LinkCommunicationsSignalDataReceived
+ call LinkDataReceived
dec b
jr nz, .acknowledge
@@ -1702,7 +1703,7 @@
Function100a87: ; 100a87
call Function100acf
call Function100641
- ld a, $0
+ ld a, 0
ld [wcd27], a
.asm_100a92
call DelayFrame
@@ -1801,12 +1802,12 @@
ld de, LoadMenuDataHeader
call FarCall_de
ld a, BANK(BattleMenuDataHeader)
- ld [wcf94], a
+ ld [wMenuData2_2DMenuItemStringsBank], a
ld a, [wd0d2]
ld [wMenuCursorBuffer], a
call Function100e72
call Function100b45
- callba Function8e85
+ callba InitPartyMenuBGPal7
call Function100ed4
ld a, [wMenuCursorBuffer]
ld [wd0d2], a
@@ -1816,24 +1817,24 @@
Function100b45: ; 100b45
call Function100b7a
-.asm_100b48
- call Function100dd2
- callba Function241ba
+.loop
+ call Mobile_SetOverworldDelay
+ callba MobileMenuJoypad
push bc
callba Function10402d
call Function100e2d
pop bc
jr c, .asm_100b6b
- ld a, [wcfa8]
+ ld a, [wMenuJoypadFilter]
and c
- jr z, .asm_100b48
- callba Function24098
+ jr z, .loop
+ callba Mobile_GetMenuSelection
ret
.asm_100b6b
- ld a, [wcfa4]
+ ld a, [w2DMenuNumCols]
ld c, a
- ld a, [wcfa3]
+ ld a, [w2DMenuNumRows]
call SimpleMultiply
ld [wMenuCursorBuffer], a
and a
@@ -1842,14 +1843,14 @@
Function100b7a: ; 100b7a
ld hl, CopyMenuData2
- ld a, [wcf94]
+ ld a, [wMenuData2_2DMenuItemStringsBank]
rst FarCall
- callba Function24085
+ callba Draw2DMenu
callba MobileTextBorder
call UpdateSprites
call ApplyTilemap
- callba Function2411a
- ld hl, wcfa5
+ callba Init2DMenuCursorPosition
+ ld hl, w2DMenuFlags1
set 7, [hl]
ret
; 100b9f
@@ -1856,71 +1857,70 @@
MobileMoveSelectionScreen: ; 100b9f
xor a
- ld [wd0e3], a
+ ld [wMoveSwapBuffer], a
callba CheckPlayerHasUsableMoves
ret z
call Function100dd8
jp c, xor_a_dec_a
call Function100e72
- call Function100bc2
+ call .GetMoveSelection
push af
- callba Function8e85
+ callba InitPartyMenuBGPal7
call Function100ed4
pop af
ret
; 100bc2
-Function100bc2: ; 100bc2
+.GetMoveSelection: ; 100bc2
xor a
ld [hBGMapMode], a
call Function100c74
call Function100c98
-.asm_100bcb
+.master_loop
callba MoveInfoBox
-.asm_100bd1
- call Function100dd2
- callba Function241ba
+.loop
+ call Mobile_SetOverworldDelay
+ callba MobileMenuJoypad
push bc
callba Function10402d
call Function100e2d
pop bc
- jr c, .asm_100c25
- ld a, [wcfa8]
+ jr c, .b_button
+ ld a, [wMenuJoypadFilter]
and c
- bit 6, a
- jp nz, .asm_100bff
- bit 7, a
- jp nz, .asm_100c10
- bit 0, a
- jr nz, .asm_100c30
- bit 1, a
- jr nz, .asm_100c25
- jr .asm_100bd1
+ bit D_UP_F, a
+ jp nz, .d_up
+ bit D_DOWN_F, a
+ jp nz, .d_down
+ bit A_BUTTON_F, a
+ jr nz, .a_button
+ bit B_BUTTON_F, a
+ jr nz, .b_button
+ jr .loop
-.asm_100bff
- ld a, [MenuSelection2]
+.d_up
+ ld a, [wMenuCursorY]
and a
- jp nz, .asm_100bcb
- ld a, [wd0eb]
+ jp nz, .master_loop
+ ld a, [wNumMoves]
inc a
- ld [MenuSelection2], a
- jp .asm_100bcb
+ ld [wMenuCursorY], a
+ jp .master_loop
-.asm_100c10
- ld a, [MenuSelection2]
+.d_down
+ ld a, [wMenuCursorY]
ld b, a
- ld a, [wd0eb]
-rept 2
+ ld a, [wNumMoves]
inc a
-endr
+ inc a
cp b
- jp nz, .asm_100bcb
+ jp nz, .master_loop
ld a, $1
- ld [MenuSelection2], a
- jp .asm_100bcb
+ ld [wMenuCursorY], a
+ jp .master_loop
-.asm_100c25
- ld a, [MenuSelection2]
+.b_button
+ ld a, [wMenuCursorY]
dec a
ld [CurMoveNum], a
ld a, $1
@@ -1927,11 +1927,11 @@
and a
ret
-.asm_100c30
- ld a, [MenuSelection2]
+.a_button
+ ld a, [wMenuCursorY]
dec a
ld [CurMoveNum], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld c, a
ld b, 0
@@ -1939,14 +1939,14 @@
add hl, bc
ld a, [hl]
and $3f
- jr z, .asm_100c68
+ jr z, .no_pp_left
ld a, [PlayerDisableCount]
swap a
and $f
dec a
cp c
- jr z, .asm_100c63
- ld a, [MenuSelection2]
+ jr z, .move_disabled
+ ld a, [wMenuCursorY]
dec a
ld c, a
ld b, 0
@@ -1957,17 +1957,17 @@
xor a
ret
-.asm_100c63
+.move_disabled
ld hl, BattleText_TheMoveIsDisabled
- jr .asm_100c6b
+ jr .print_text
-.asm_100c68
+.no_pp_left
ld hl, BattleText_TheresNoPPLeftForThisMove
-.asm_100c6b
+.print_text
call StdBattleTextBox
call Call_LoadTempTileMapToTileMap
- jp Function100bc2
+ jp .GetMoveSelection
; 100c74
Function100c74: ; 100c74
@@ -1987,55 +1987,59 @@
; 100c98
Function100c98: ; 100c98
- ld de, Unknown_100cad
- call InitMenu3
- ld a, [wd0eb]
+ ld de, .attrs
+ call SetMenuAttributes
+ ld a, [wNumMoves]
inc a
- ld [wcfa3], a
+ ld [w2DMenuNumRows], a
ld a, [CurMoveNum]
inc a
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ret
; 100cad
-Unknown_100cad: ; 100cad
- db $0a, $01, $ff, $01, $a0, $00, $20, $c3
+.attrs: ; 100cad
+ db 10, 1
+ db 255, 1
+ db $a0, $00
+ dn 2, 0
+ db D_UP | D_DOWN | A_BUTTON | B_BUTTON
Function100cb5: ; 100cb5
call Function100dd8
ret c
- ld hl, wcfa5
+ ld hl, w2DMenuFlags1
set 7, [hl]
res 6, [hl]
-.asm_100cc0
- call Function100dd2
- callba Function241ba
+.loop
+ call Mobile_SetOverworldDelay
+ callba MobileMenuJoypad
push bc
- callba Function8cf69
+ callba PlaySpriteAnimations
callba Function10402d
call Function100dfd
pop bc
- jr c, .asm_100d17
- ld a, [wcfa8]
+ jr c, .done
+ ld a, [wMenuJoypadFilter]
and c
- jr z, .asm_100cc0
- call Function1bee
+ jr z, .loop
+ call PlaceHollowCursor
ld a, [PartyCount]
inc a
ld b, a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp b
- jr z, .asm_100d17
- ld [wd0d8], a
+ jr z, .done
+ ld [wPartyMenuCursor], a
ld a, [hJoyLast]
ld b, a
bit 1, b
- jr nz, .asm_100d17
- ld a, [MenuSelection2]
+ jr nz, .done
+ ld a, [wMenuCursorY]
dec a
ld [CurPartyMon], a
ld c, a
- ld b, $0
+ ld b, 0
ld hl, PartySpecies
add hl, bc
ld a, [hl]
@@ -2046,7 +2050,7 @@
and a
ret
-.asm_100d17
+.done
ld de, SFX_READ_TEXT_2
call PlaySFX
call WaitSFX
@@ -2054,23 +2058,23 @@
ret
; 100d22
-Function100d22: ; 100d22
+MobileBattleMonMenu: ; 100d22
call Function100dd8
ret c
call Function100d67
- ld hl, wcfa5
+ ld hl, w2DMenuFlags1
set 7, [hl]
res 6, [hl]
.asm_100d30
- call Function100dd2
- callba Function241ba
+ call Mobile_SetOverworldDelay
+ callba MobileMenuJoypad
push bc
- callba Function8cf69
+ callba PlaySpriteAnimations
callba Function10402d
call Function100dfd
pop bc
jr c, .asm_100d54
- ld a, [wcfa8]
+ ld a, [wMenuJoypadFilter]
and c
jr nz, .asm_100d56
jr .asm_100d30
@@ -2102,11 +2106,11 @@
ld [hBGMapMode], a
call MenuBox
call UpdateSprites
- call Function1c89
+ call PlaceVerticalMenuItems
call WaitBGMap
call CopyMenuData2
- call Function1c10
- ld hl, wcfa5
+ call InitVerticalMenuCursor
+ ld hl, w2DMenuFlags1
set 6, [hl]
ret
; 100d88
@@ -2153,19 +2157,19 @@
Function100dc0: ; 100dc0
ld a, [wLinkMode]
cp LINK_MOBILE
- jr nz, .asm_100dd0
+ jr nz, .mobile
ld hl, wcd2a
bit 3, [hl]
- jr z, .asm_100dd0
+ jr z, .mobile
scf
ret
-.asm_100dd0
+.mobile
xor a
ret
; 100dd2
-Function100dd2: ; 100dd2
+Mobile_SetOverworldDelay: ; 100dd2
ld a, 30
ld [OverworldDelay], a
ret
@@ -2320,7 +2324,7 @@
ld a, [hl]
cp $2
ret c
- ld [hl], $0
+ ld [hl], 0
jr Function100ec5
Function100ec4: ; 100ec4
@@ -2333,13 +2337,13 @@
; 100eca
Function100eca: ; 100eca
- callba Function8e8b
+ callba Mobile_InitPartyMenuBGPal7
call Function100ed4
ret
; 100ed4
Function100ed4: ; 100ed4
- callba Function96a4
+ callba ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -2406,7 +2410,7 @@
call Function100f3d
; next line
pop hl
- ld de, $0007
+ ld de, 7
add hl, de
jr .loop
@@ -2527,7 +2531,7 @@
db -1
Unknown_100feb: ; 100feb
- dbwww $00, sPartyMail, MAIL_STRUCT_LENGTH * PARTY_LENGTH, NULL
+ dbwww $0, sPartyMail, MAIL_STRUCT_LENGTH * PARTY_LENGTH, NULL
db -1
Unknown_100ff3: ; 100ff3
@@ -2537,8 +2541,8 @@
dbwww $80, PlayerID, 2, NULL
dbwww $80, wSecretID, 2, NULL
dbwww $80, PlayerGender, 1, NULL
- dbwww $04, $a603, 8, NULL
- dbwww $04, $a007, PARTYMON_STRUCT_LENGTH, NULL
+ dbwww $4, $a603, 8, NULL
+ dbwww $4, $a007, PARTYMON_STRUCT_LENGTH, NULL
db -1
Unknown_10102c: ; 10102c
@@ -2553,10 +2557,10 @@
Function101050: ; 101050
call Function10107d
ld a, [OTPartyCount]
-rept 2
+rept 2 ; ???
ld hl, wc608
endr
- ld bc, $01b3
+ ld bc, wc7bb - wc608
call Function1010de
ld hl, wc7bb
ld [hl], e
@@ -2566,7 +2570,7 @@
call GetSRAMBank
ld hl, wc608
ld de, $a001
- ld bc, $01b5
+ ld bc, wc7bd - wc608
call CopyBytes
call CloseSRAM
ret
@@ -2575,11 +2579,11 @@
Function10107d: ; 10107d
xor a
ld hl, wc608
- ld bc, $01b5
+ ld bc, wc7bd - wc608
call ByteFill
- ld hl, wd26b
+ ld hl, OTPlayerName
ld de, wc608
- ld bc, $000b
+ ld bc, NAME_LENGTH
call CopyBytes
ld hl, wd271
ld a, [hli]
@@ -2588,16 +2592,16 @@
ld [wc608 + 12], a
ld hl, OTPartyMonNicknames
ld de, wc608 + 13
- ld bc, $000b
- call Function1010cd
+ ld bc, NAME_LENGTH
+ call .CopyAllFromOT
ld hl, OTPartyMonOT
- ld de, wc656 + 1
- ld bc, $000b
- call Function1010cd
+ ld de, OTName + 1
+ ld bc, NAME_LENGTH
+ call .CopyAllFromOT
ld hl, OTPartyMon1Species
ld de, wc68a + 15
- ld bc, $0030
- call Function1010cd
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call .CopyAllFromOT
ld a, $50
ld [wc7b9], a
ld a, $33
@@ -2605,7 +2609,7 @@
ret
; 1010cd
-Function1010cd: ; 1010cd
+.CopyAllFromOT: ; 1010cd
push hl
ld hl, 0
ld a, [OTPartyCount]
@@ -2621,7 +2625,7 @@
push hl
push bc
ld de, 0
-.asm_1010e3
+.loop
ld a, [hli]
add e
ld e, a
@@ -2631,7 +2635,7 @@
dec bc
ld a, b
or c
- jr nz, .asm_1010e3
+ jr nz, .loop
pop bc
pop hl
ret
@@ -2640,7 +2644,7 @@
Function1010f2: ; 1010f2
xor a
ld hl, StringBuffer2
- ld bc, $0009
+ ld bc, 9
call ByteFill
ld hl, wdc5c
ld de, PartyCount
@@ -2687,7 +2691,7 @@
ld [de], a
inc de
ld hl, StringBuffer2 + 6
- ld bc, $0003
+ ld bc, 3
call CopyBytes
ld a, $ff
ld [de], a
@@ -2699,7 +2703,7 @@
add l
ld l, a
ld a, h
- adc $0
+ adc 0
ld h, a
ld a, [hl]
pop hl
@@ -2708,7 +2712,7 @@
add e
ld e, a
ld a, d
- adc $0
+ adc 0
ld d, a
ld a, [de]
pop de
@@ -2716,11 +2720,11 @@
; 10117c
Function10117c: ; 10117c
- ld bc, $0030
+ ld bc, $30
jr asm_101184
Function101181: ; 101181
- ld bc, $000b
+ ld bc, 11
asm_101184:
ld a, wc608 % $100
@@ -2851,7 +2855,7 @@
Function101251: ; 101251
call UpdateSprites
- call ResetWindow
+ call RefreshScreen
ld hl, UnknownText_0x1021f4
call Function1021e0
call Function1020ea
@@ -2894,7 +2898,7 @@
jr z, .asm_101292
.asm_101290
- ld c, $0
+ ld c, 0
.asm_101292
ld a, c
@@ -3029,7 +3033,7 @@
Function10138b: ; 10138b
callba Function8adcc
- ld c, $0
+ ld c, 0
jr c, .asm_101396
inc c
@@ -3054,7 +3058,7 @@
Function1013aa: ; 1013aa
call ClearBGPalettes
call Call_ExitMenu
- call Function2bae
+ call ReloadTilesetAndPalettes
callba Function106464
call UpdateSprites
call Function2b5c
@@ -3062,8 +3066,8 @@
; 1013c0
Function1013c0: ; 1013c0
- callba Function8000
- callba Function106462
+ callba BlankScreen
+ callba MobileFunc_106462
callba Function106464
call Function2b5c
ret
@@ -3083,7 +3087,7 @@
push de
inc de
ld b, a
- ld c, $0
+ ld c, 0
.asm_1013e6
inc c
ld a, [hli]
@@ -3125,7 +3129,7 @@
Function101406: ; 101406
ld c, a
- ld b, $0
+ ld b, 0
.asm_101409
ld a, [de]
inc de
@@ -3176,7 +3180,7 @@
ld a, [wcd26]
bit 7, a
ret z
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3215,7 +3219,7 @@
ld a, [wcd26]
bit 7, a
ret z
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3274,7 +3278,7 @@
Function1014e2: ; 1014e2
ld hl, wcd29
set 6, [hl]
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3294,8 +3298,8 @@
Function101507: ; 101507
ld de, wcd30
- ld hl, $0040
- ld bc, $0040
+ ld hl, $40
+ ld bc, $40
ld a, $2
call Function3e32
ld a, [wcd25]
@@ -3390,7 +3394,7 @@
ld a, $5
ld hl, w5_d800
call Function10174c
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3405,7 +3409,7 @@
ld a, $5
ld hl, w5_d800
call Function10174c
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3420,7 +3424,7 @@
ld a, $5
ld hl, w5_d800
call Function10174c
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3431,7 +3435,7 @@
Function101600: ; 101600
ld hl, w5_d800
ld de, wc608
- ld bc, $01e0
+ ld bc, $1e0
ld a, $5
call FarCopyWRAM
ld de, wc608
@@ -3460,7 +3464,7 @@
Function101635: ; 101635
ld de, wc608
- ld bc, $01e0
+ ld bc, $1e0
call FarCopyWRAM
ret
; 10163f
@@ -3467,7 +3471,7 @@
Function10163f: ; 10163f
ld hl, wc608
- ld bc, $01e0
+ ld bc, $1e0
call FarCopyWRAM
ret
; 101649
@@ -3507,7 +3511,7 @@
; 10167d
Function10167d: ; 10167d
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3520,7 +3524,7 @@
ret c
Function10168e: ; 10168e
- ld b, $0
+ ld b, 0
ld c, $1
callba Function10079c
ret c
@@ -3536,7 +3540,7 @@
ld a, [wcd26]
bit 7, a
ret z
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3581,7 +3585,7 @@
; 1016f8
Function1016f8: ; 1016f8
- ld a, $0
+ ld a, 0
ld [wcd27], a
ld a, [wcd26]
inc a
@@ -3612,7 +3616,7 @@
ld a, [wcd39]
cp $ff
jr z, .asm_101731
- ld a, $0
+ ld a, 0
ld [wcd26], a
ret
@@ -3634,7 +3638,7 @@
ld l, a
ld a, [Unknown_10173a]
ld c, a
- ld b, $0
+ ld b, 0
pop af
call AddNTimes
pop bc
@@ -3663,7 +3667,7 @@
Function10176f: ; 10176f
ld hl, wccb4
- ld bc, $0054
+ ld bc, $54
ld a, $11
call ByteFill
ret
@@ -3672,7 +3676,7 @@
Function10177b: ; 10177b
ld a, [Unknown_10173a]
ld c, a
- ld b, $0
+ ld b, 0
ld a, [wcd3a]
ld hl, 0
call AddNTimes
@@ -3725,7 +3729,7 @@
Function1017c7: ; 1017c7
ld a, [wcc60]
ld c, a
- ld b, $0
+ ld b, 0
ld a, [wcd3a]
dec a
ld hl, wcd3e
@@ -3740,7 +3744,7 @@
; 1017e4
Function1017e4: ; 1017e4
- ld a, $0
+ ld a, 0
ld [wcd27], a
ld a, [wcd25]
inc a
@@ -3753,7 +3757,7 @@
ret c
Function1017f5: ; 1017f5
- ld b, $0
+ ld b, 0
ld c, $1
callba Function10079c
ret c
@@ -3825,17 +3829,17 @@
Unknown_10186f:
db .end - @
- db $19, $73, $09, $13, "trade_crystal"
+ db $19, $73, $9, $13, "trade_crystal"
.end db 0
Unknown_101882:
db .end - @
- db $19, $67, $10, $01, "free__crystal"
+ db $19, $67, $10, $1, "free__crystal"
.end db 0
Unknown_101895:
db .end - @
- db $19, $67, $10, $01, "limit_crystal"
+ db $19, $67, $10, $1, "limit_crystal"
.end db 0
; 1018a8
@@ -3910,7 +3914,7 @@
.asm_101909
ld de, LinkBattleRNs
- ld bc, $000a
+ ld bc, 10
call CopyBytes
ret
; 101913
@@ -3967,7 +3971,7 @@
; 10196d
Function10196d: ; 10196d
- callba Function8000
+ callba BlankScreen
callba Function10060d
ld hl, wcd29
set 5, [hl]
@@ -3977,7 +3981,7 @@
ld [wccb4], a
ld hl, wdc5c
ld de, wccb5
- ld bc, $0003
+ ld bc, 3
call CopyBytes
ld hl, wcd6c
ld a, [hli]
@@ -3998,7 +4002,7 @@
xor a
ld [wdc5f], a
ld [wdc60], a
- callba Function8000
+ callba BlankScreen
call SpeechTextBox
callba Function100846
ld c, $78
@@ -4034,8 +4038,8 @@
ld a, c
ld [OtherTrainerClass], a
- ld hl, wd26b
- ld de, wc656
+ ld hl, OTPlayerName
+ ld de, OTName
ld bc, NAME_LENGTH
call CopyBytes
ld a, [wcd2f]
@@ -4059,7 +4063,7 @@
ld a, $1
ld [wc2d7], a
callba BattleIntro
- callba SendOutFirstMons
+ callba DoBattle
callba ShowLinkBattleParticipantsAfterEnd
xor a
ld [wc2d7], a
@@ -4073,7 +4077,7 @@
Function101a4f: ; 101a4f
ld a, $1
ld [wc2d7], a
- callba Function3f77c
+ callba DetermineMobileBattleResult
xor a
ld [wc2d7], a
callba CleanUpBattleRAM
@@ -4088,7 +4092,7 @@
Function101a75: ; 101a75
ld hl, wcc61
ld de, wcd75
- ld bc, $0003
+ ld bc, 3
call CopyBytes
ld de, wcc64
callba Function100772
@@ -4157,7 +4161,7 @@
; 101b0f
Function101b0f: ; 101b0f
- ld c, $0
+ ld c, 0
call Function10142c
ld e, $3
call Function101ee4
@@ -4166,7 +4170,7 @@
ld a, [wcd25]
inc a
ld [wcd25], a
- ld a, $0
+ ld a, 0
ld [wcd26], a
ret
; 101b2b
@@ -4179,9 +4183,9 @@
bit 7, a
ret z
call Function1013dd
- ld a, $0
+ ld a, 0
ld [wcd26], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr z, .asm_101b51
ld a, $2
@@ -4219,7 +4223,7 @@
ld a, [wcd25]
inc a
ld [wcd25], a
- ld a, $0
+ ld a, 0
ld [wcd26], a
ret
; 101b8f
@@ -4232,9 +4236,9 @@
bit 7, a
ret z
call Function1013dd
- ld a, $0
+ ld a, 0
ld [wcd26], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr z, .asm_101bbc
ld a, $1
@@ -4260,7 +4264,7 @@
call Function101ee4
call Function102048
call Function1013dd
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -4276,9 +4280,9 @@
bit 7, a
ret z
call Function1013dd
- ld a, $0
+ ld a, 0
ld [wcd26], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr nz, .asm_101c0b
ld a, $2a
@@ -4355,7 +4359,7 @@
ld a, [wcd25]
inc a
ld [wcd25], a
- ld a, $0
+ ld a, 0
ld [wcd26], a
ret
; 101c92
@@ -4378,7 +4382,7 @@
ld a, [wcd25]
inc a
ld [wcd25], a
- ld a, $0
+ ld a, 0
ld [wcd26], a
ret
; 101cbc
@@ -4465,7 +4469,7 @@
ld a, [wcd26]
bit 7, a
ret z
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -4518,7 +4522,7 @@
; 101d8d
Unknown_101d8d: ; 101d8d
- db $15, $15, $1f, $1f, $0c, $12, $3a, $3a
+ db $15, $15, $1f, $1f, $c, $12, $3a, $3a
; 101d95
Function101d95: ; 101d95
@@ -4531,7 +4535,7 @@
ld a, [wcd25]
inc a
ld [wcd25], a
- ld a, $0
+ ld a, 0
ld [wcd26], a
ret
; 101db2
@@ -4646,7 +4650,7 @@
ld a, [wcd25]
inc a
ld [wcd25], a
- ld a, $0
+ ld a, 0
ld [wcd26], a
ret
; 101e64
@@ -4740,9 +4744,8 @@
Function101ee4: ; 101ee4
ld d, 0
ld hl, Unknown_101ef5
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld d, [hl]
ld e, a
@@ -4890,7 +4893,7 @@
ret
.asm_10208a
- ld [hl], $0
+ ld [hl], 0
scf
ret
; 10208e
@@ -4900,7 +4903,7 @@
ld h, d
ld l, e
ld de, wdc42
- ld bc, $0008
+ ld bc, 8
call CopyBytes
pop de
ret
@@ -4909,7 +4912,7 @@
Function10209c: ; 10209c
ld a, $ff
ld hl, wdc42
- ld bc, $0008
+ ld bc, 8
call ByteFill
ret
; 1020a8
@@ -4934,7 +4937,7 @@
jr z, .asm_1020e8
dec a
ld hl, $a04c
- ld bc, $0025
+ ld bc, $25
call AddNTimes
ld d, h
ld e, l
@@ -4998,7 +5001,7 @@
.asm_10212f
pop hl
- ld de, $0025
+ ld de, $25
add hl, de
dec c
jr nz, .asm_10211c
@@ -5043,7 +5046,7 @@
Function102180: ; 102180
ld hl, wc608 + 1
ld de, StringBuffer2
- ld bc, $000b
+ ld bc, 11
call CopyBytes
ret
; 10218d
@@ -5051,7 +5054,7 @@
Function10218d: ; 10218d
ld hl, wdc00
ld de, wc608
- ld bc, $0026
+ ld bc, $26
ld a, $5
call FarCopyWRAM
ld de, wc608 + 1
@@ -5117,13 +5120,13 @@
Function1021f9: ; 1021f9
call Function102233
- ld a, $0
+ ld a, $0 ; Function10234b
ld [wcd49], a
ld hl, wcd29
bit 3, [hl]
res 3, [hl]
jr z, .asm_10220f
- ld a, $1
+ ld a, $1 ; Function102361
ld [wcd49], a
.asm_10220f
@@ -5151,7 +5154,7 @@
Function102233: ; 102233
ld hl, wcd49
- ld bc, $000a
+ ld bc, 10
xor a
call ByteFill
call Function10304f
@@ -5197,7 +5200,7 @@
bit 3, [hl]
ret z
res 3, [hl]
- ld de, $0008
+ ld de, 8
call PlaySFX
ret
; 102283
@@ -5277,49 +5280,49 @@
; 1022f5
Jumptable_1022f5: ; 1022f5
- dw Function10234b
- dw Function102361
- dw Function10236e
- dw Function102387
- dw Function1023a1
- dw Function1025c7
- dw Function1025dc
- dw Function1024f6
- dw Function10250c
- dw Function1024a8
- dw Function102591
- dw Function1024a8
- dw Function1025b0
- dw Function1025bd
- dw Function102814
- dw Function10283c
- dw Function102862
- dw Function10286f
- dw Function1024a8
- dw Function1028a5
- dw Function1028ab
- dw Function1023b5
- dw Function1023c6
- dw Function1024af
- dw Function102416
- dw Function102423
- dw Function10244b
- dw Function1024af
- dw Function10246a
- dw Function102652
- dw Function10266b
- dw Function1025e9
- dw Function1025ff
- dw Function102738
- dw Function102754
- dw Function1026b7
- dw Function1026c8
- dw Function1028bf
- dw Function1028c6
- dw Function1028d3
- dw Function1028da
- dw Function1024a8
- dw Function10248d
+ dw Function10234b ; 00
+ dw Function102361 ; 01
+ dw Function10236e ; 02
+ dw Function102387 ; 03
+ dw Function1023a1 ; 04
+ dw Function1025c7 ; 05
+ dw Function1025dc ; 06
+ dw Function1024f6 ; 07
+ dw Function10250c ; 08
+ dw Function1024a8 ; 09
+ dw Function102591 ; 0a
+ dw Function1024a8 ; 0b
+ dw Function1025b0 ; 0c
+ dw Function1025bd ; 0d
+ dw Function102814 ; 0e
+ dw Function10283c ; 0f
+ dw Function102862 ; 10
+ dw Function10286f ; 11
+ dw Function1024a8 ; 12
+ dw Function1028a5 ; 13
+ dw Function1028ab ; 14
+ dw Function1023b5 ; 15
+ dw Function1023c6 ; 16
+ dw Function1024af ; 17
+ dw Function102416 ; 18
+ dw Function102423 ; 19
+ dw Function10244b ; 1a
+ dw Function1024af ; 1b
+ dw Function10246a ; 1c
+ dw Function102652 ; 1d
+ dw Function10266b ; 1e
+ dw Function1025e9 ; 1f
+ dw Function1025ff ; 20
+ dw Function102738 ; 21
+ dw Function102754 ; 22
+ dw Function1026b7 ; 23
+ dw Function1026c8 ; 24
+ dw Function1028bf ; 25
+ dw Function1028c6 ; 26
+ dw Function1028d3 ; 27
+ dw Function1028da ; 28
+ dw Function1024a8 ; 29
+ dw Function10248d ; 2a
; 10234b
Function10234b: ; 10234b
@@ -5370,7 +5373,7 @@
call Function102d9a
call Function102dd3
ld a, $1
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
Function1023a1: ; 1023a1
call Function102283
@@ -5401,12 +5404,12 @@
ld [CurPartyMon], a
xor a
ld [wd10b], a
- callba Functione039
+ callba RemoveMonFromPartyOrBox
ld hl, PartyCount
inc [hl]
ld a, [hli]
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
ld [hl], $ff
ld a, [PartyCount]
@@ -5419,9 +5422,9 @@
set 1, [hl]
ld a, $14
ld [wcd4e], a
- ld a, $0
+ ld a, 0
ld [wcd4f], a
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, [wcd49]
inc a
@@ -5446,7 +5449,7 @@
callba BackupMobileEventIndex
ld hl, wcd4b
set 1, [hl]
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, [wcd49]
inc a
@@ -5460,9 +5463,9 @@
set 1, [hl]
ld a, $19
ld [wcd4e], a
- ld a, $0
+ ld a, 0
ld [wcd4f], a
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, [wcd49]
inc a
@@ -5502,7 +5505,7 @@
ld hl, wcd4e
dec [hl]
ret nz
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, [wcd49]
inc a
@@ -5555,7 +5558,7 @@
ret z
.asm_1024e9
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, [wcd49]
inc a
@@ -5564,7 +5567,7 @@
; 1024f6
Function1024f6: ; 1024f6
- call Function1bee
+ call PlaceHollowCursor
ld hl, wcd4b
set 1, [hl]
ld a, [wcd4c]
@@ -5608,7 +5611,7 @@
call Function103021
ld hl, wcd4b
set 1, [hl]
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, $1e
ld [wcd4e], a
@@ -5633,7 +5636,7 @@
.asm_102577
ld hl, wcd4b
set 1, [hl]
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, $1e
ld [wcd4e], a
@@ -5648,7 +5651,7 @@
call Function102ee7
ld hl, wcd4b
set 1, [hl]
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, $1e
ld [wcd4e], a
@@ -5716,43 +5719,43 @@
set 2, [hl]
callba Function1009f3
ret c
- callba Function241ba
- ld a, [wcfa8]
+ callba MobileMenuJoypad
+ ld a, [wMenuJoypadFilter]
and c
ret z
- bit 0, c
- jr nz, .asm_102623
- bit 6, c
- jr nz, .asm_10262e
- bit 7, c
- jr nz, .asm_102646
+ bit A_BUTTON_F, c
+ jr nz, .a_button
+ bit D_UP_F, c
+ jr nz, .d_up
+ bit D_DOWN_F, c
+ jr nz, .d_down
ret
-.asm_102623
+.a_button
ld hl, wcd4b
set 3, [hl]
- ld a, $27
+ ld a, $27 ; Function1028d3
ld [wcd49], a
ret
-.asm_10262e
- ld a, [MenuSelection2]
+.d_up
+ ld a, [wMenuCursorY]
ld b, a
ld a, [OTPartyCount]
cp b
ret nz
- call Function1bf7
+ call HideCursor
ld a, [PartyCount]
- ld [MenuSelection2], a
- ld a, $1d
+ ld [wMenuCursorY], a
+ ld a, $1d ; Function102652
ld [wcd49], a
ret
-.asm_102646
- ld a, [MenuSelection2]
+.d_down
+ ld a, [wMenuCursorY]
cp $1
ret nz
- ld a, $23
+ ld a, $23 ; Function1026b7
ld [wcd49], a
ret
; 102652
@@ -5778,41 +5781,41 @@
set 2, [hl]
callba Function1009f3
ret c
- callba Function241ba
- ld a, [wcfa8]
+ callba MobileMenuJoypad
+ ld a, [wMenuJoypadFilter]
and c
ret z
- bit 0, c
- jr nz, .asm_10268f
- bit 7, c
- jr nz, .asm_10269a
- bit 6, c
- jr nz, .asm_1026a8
+ bit A_BUTTON_F, c
+ jr nz, .a_button
+ bit D_DOWN_F, c
+ jr nz, .d_down
+ bit D_UP_F, c
+ jr nz, .d_up
ret
-.asm_10268f
+.a_button
ld hl, wcd4b
set 3, [hl]
- ld a, $21
+ ld a, $21 ; Function102738
ld [wcd49], a
ret
-.asm_10269a
- ld a, [MenuSelection2]
+.d_down
+ ld a, [wMenuCursorY]
dec a
ret nz
- call Function1bf7
- ld a, $1f
+ call HideCursor
+ ld a, $1f ; Function1025e9
ld [wcd49], a
ret
-.asm_1026a8
- ld a, [MenuSelection2]
+.d_up
+ ld a, [wMenuCursorY]
ld b, a
ld a, [PartyCount]
cp b
ret nz
- ld a, $23
+ ld a, $23 ; Function1026b7
ld [wcd49], a
ret
; 1026b7
@@ -5823,7 +5826,7 @@
ld a, [wcd49]
inc a
ld [wcd49], a
- ld a, $0
+ ld a, 0
ld [wcd4a], a
Function1026c8: ; 1026c8
@@ -5842,7 +5845,7 @@
; 1026de
Function1026de: ; 1026de
- call Function1bf7
+ call HideCursor
hlcoord 9, 17
ld [hl], $ed
ld a, [wcd4a]
@@ -5855,40 +5858,40 @@
Function1026f3: ; 1026f3
ld a, [hJoyPressed]
- bit 0, a
+ bit A_BUTTON_F, a
jr nz, .asm_102723
- bit 6, a
+ bit D_UP_F, a
jr nz, .asm_102712
- bit 7, a
+ bit D_DOWN_F, a
jr nz, .asm_102702
ret
.asm_102702
hlcoord 9, 17
- ld [hl], $7f
+ ld [hl], " "
ld a, $1
- ld [MenuSelection2], a
- ld a, $1d
+ ld [wMenuCursorY], a
+ ld a, $1d ; Function102652
ld [wcd49], a
ret
.asm_102712
hlcoord 9, 17
- ld [hl], $7f
+ ld [hl], " "
ld a, [OTPartyCount]
- ld [MenuSelection2], a
- ld a, $1f
+ ld [wMenuCursorY], a
+ ld a, $1f ; Function1025e9
ld [wcd49], a
ret
.asm_102723
hlcoord 9, 17
- ld [hl], $ec
+ ld [hl], "▷"
ld hl, wcd4b
set 3, [hl]
ld hl, wcd4b
set 2, [hl]
- ld a, $5
+ ld a, $5 ; Function1025c7
ld [wcd49], a
ret
; 102738
@@ -5896,7 +5899,7 @@
Function102738: ; 102738
ld hl, wcd4b
set 6, [hl]
- call Function1bee
+ call PlaceHollowCursor
call Function1027eb
ld hl, wcd4b
set 1, [hl]
@@ -5903,7 +5906,7 @@
ld a, [wcd49]
inc a
ld [wcd49], a
- ld a, $0
+ ld a, 0
ld [wcd4a], a
Function102754: ; 102754
@@ -5930,9 +5933,9 @@
Function102775: ; 102775
hlcoord 1, 16
- ld [hl], $ed
+ ld [hl], "▶"
hlcoord 11, 16
- ld [hl], $7f
+ ld [hl], " "
ld hl, wcd4b
set 2, [hl]
ld a, [wcd4a]
@@ -5943,11 +5946,11 @@
Function10278c: ; 10278c
ld a, [hJoyPressed]
- bit 0, a
+ bit A_BUTTON_F, a
jr nz, asm_1027c6
- bit 1, a
+ bit B_BUTTON_F, a
jr nz, asm_1027e2
- bit 4, a
+ bit D_RIGHT_F, a
jr nz, .asm_10279b
ret
@@ -5954,12 +5957,11 @@
.asm_10279b
ld a, $3
ld [wcd4a], a
-
Function1027a0: ; 1027a0
hlcoord 1, 16
- ld [hl], $7f
+ ld [hl], " "
hlcoord 11, 16
- ld [hl], $ed
+ ld [hl], "▶"
ld hl, wcd4b
set 2, [hl]
ld a, [wcd4a]
@@ -5969,11 +5971,11 @@
Function1027b7: ; 1027b7
ld a, [hJoyPressed]
- bit 0, a
+ bit A_BUTTON_F, a
jr nz, asm_1027d1
- bit 1, a
+ bit B_BUTTON_F, a
jr nz, asm_1027e2
- bit 5, a
+ bit D_LEFT_F, a
jr nz, Function102770
ret
@@ -5980,7 +5982,7 @@
asm_1027c6:
ld hl, wcd4b
set 3, [hl]
- ld a, $25
+ ld a, $25 ; Function1028bf
ld [wcd49], a
ret
@@ -5987,15 +5989,15 @@
asm_1027d1:
ld hl, wcd4b
set 3, [hl]
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wcd4c], a
- ld a, $7
+ ld a, $7 ; Function1024f6
ld [wcd49], a
ret
asm_1027e2:
call Function102db7
- ld a, $1d
+ ld a, $1d ; Function102652
ld [wcd49], a
ret
; 1027eb
@@ -6002,23 +6004,23 @@
Function1027eb: ; 1027eb
hlcoord 0, 14
- ld b, $2
- ld c, $12
+ ld b, 2
+ ld c, 18
ld d, h
ld e, l
- callba Function16d61d
- ld de, String_102804
+ callba _LinkTextbox
+ ld de, .Stats_Trade
hlcoord 2, 16
call PlaceString
ret
; 102804
-String_102804: ; 102804
+.Stats_Trade: ; 102804
db "STATS TRADE@"
; 102814
Function102814: ; 102814
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wcd52], a
ld a, [wcd4c]
dec a
@@ -6030,7 +6032,7 @@
ld a, [wcd49]
inc a
ld [wcd49], a
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld hl, wcd4b
set 1, [hl]
@@ -6041,7 +6043,7 @@
call Function1029c3
ret z
jr c, .asm_102852
- ld a, $10
+ ld a, $10 ; Function102862
ld [wcd49], a
ld hl, wcd4b
set 1, [hl]
@@ -6048,7 +6050,7 @@
ret
.asm_102852
- ld a, $14
+ ld a, $14 ; Function1028ab
ld [wcd49], a
ld hl, wcd4b
set 3, [hl]
@@ -6070,11 +6072,11 @@
call Function1028fc
ret nc
ld a, [wcd52]
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld a, [wcd51]
cp $8
jr nz, .asm_102886
- ld a, $15
+ ld a, $15 ; Function1023b5
ld [wcd49], a
ret
@@ -6086,7 +6088,7 @@
ld [wcd4e], a
ld a, $3c
ld [wcd4f], a
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, [wcd49]
inc a
@@ -6095,7 +6097,7 @@
; 1028a5
Function1028a5: ; 1028a5
- ld a, $4
+ ld a, $4 ; Function1023a1
ld [wcd49], a
ret
; 1028ab
@@ -6102,11 +6104,11 @@
Function1028ab: ; 1028ab
ld a, [wcd52]
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
call Function102f15
ld hl, wcd4b
set 1, [hl]
- ld a, $c
+ ld a, $c ; Function1025b0
ld [wcd49], a
ret
; 1028bf
@@ -6120,7 +6122,7 @@
xor a
ld [MonType], a
call Function102bac
- ld a, $1d
+ ld a, $1d ; Function102652
ld [wcd49], a
ret
; 1028d3
@@ -6131,10 +6133,10 @@
ld [wcd49], a
Function1028da: ; 1028da
- ld a, $1
+ ld a, OTPARTYMON
ld [MonType], a
call Function102bac
- ld a, $1f
+ ld a, $1f ; Function1025e9
ld [wcd49], a
ret
; 1028e8
@@ -6144,7 +6146,7 @@
res 6, [hl]
ld [wcd50], a
callba Function100641
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ret
; 1028fc
@@ -6161,7 +6163,7 @@
ld hl, Jumptable_102917
rst JumpTable
ret nc
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ret
; 102917
@@ -6179,7 +6181,7 @@
ld hl, Jumptable_10292f
rst JumpTable
ret nc
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ret
; 10292f
@@ -6217,7 +6219,7 @@
Function10295d: ; 10295d
call Function10299e
- ld a, $0
+ ld a, 0
ld [wcd27], a
ld a, [wcd4a]
inc a
@@ -6298,18 +6300,18 @@
Function1029cf: ; 1029cf
call LoadStandardMenuDataHeader
hlcoord 10, 7
- ld b, $3
- ld c, $8
+ ld b, 3
+ ld c, 8
ld d, h
ld e, l
- callba Function16d61d
+ callba _LinkTextbox
ld de, String_102a26
hlcoord 12, 8
call PlaceString
ld hl, wcd4b
set 1, [hl]
- ld de, Unknown_102a33
- call InitMenu3
+ ld de, MenuData3_102a33
+ call SetMenuAttributes
ld a, [wcd4a]
inc a
ld [wcd4a], a
@@ -6320,15 +6322,15 @@
Function1029fe: ; 1029fe
callba Function1009f3
ret c
- callba Function241ba
+ callba MobileMenuJoypad
ld a, c
- ld hl, wcfa8
+ ld hl, wMenuJoypadFilter
and [hl]
ret z
push af
call ExitMenu
pop af
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr nz, .asm_102a21
ld a, $1
@@ -6348,8 +6350,12 @@
db "@"
; 102a33
-Unknown_102a33:
- db $08, $0b, $02, $01, $80, $00, $20, $01
+MenuData3_102a33:
+ db 8, 11
+ db 2, 1
+ db $80, $00
+ dn 2, 0
+ db A_BUTTON
Function102a3b: ; 102a3b
ld a, [wcd30]
@@ -6356,22 +6362,22 @@
ld [wc74e], a
ld hl, PlayerName
ld de, wc6e7
- ld bc, $000b
+ ld bc, NAME_LENGTH
call CopyBytes
ld a, [wcd4c]
dec a
ld c, a
- ld b, $0
+ ld b, 0
ld hl, PartySpecies
add hl, bc
ld a, [hl]
- ld [wc6d0], a
+ ld [wPlayerTrademonSpecies], a
ld a, [wcd4c]
dec a
ld hl, PartyMonOT
call SkipNames
- ld de, wc6f2
- ld bc, $000b
+ ld de, wPlayerTrademonOTName
+ ld bc, NAME_LENGTH
call CopyBytes
ld a, [wcd4c]
dec a
@@ -6378,17 +6384,17 @@
ld hl, PartyMon1ID
call GetPartyLocation
ld a, [hli]
- ld [wc6ff], a
+ ld [wPlayerTrademonID], a
ld a, [hl]
- ld [wc700], a
+ ld [wPlayerTrademonID + 1], a
ld a, [wcd4c]
dec a
ld hl, PartyMon1DVs
call GetPartyLocation
ld a, [hli]
- ld [wc6fd], a
+ ld [wPlayerTrademonDVs], a
ld a, [hl]
- ld [wc6fe], a
+ ld [wPlayerTrademonDVs + 1], a
ld a, [wcd4c]
dec a
ld hl, PartyMon1Species
@@ -6397,25 +6403,26 @@
ld c, l
callba GetCaughtGender
ld a, c
- ld [wc701], a
- ld hl, wd26b
- ld de, wc719
- ld bc, $000b
+ ld [wPlayerTrademonCaughtData], a
+ ld hl, OTPlayerName
+ ld de, wOTTrademonSenderName
+ ld bc, NAME_LENGTH
call CopyBytes
+
ld a, [wcd4d]
dec a
ld c, a
- ld b, $0
+ ld b, 0
ld hl, OTPartySpecies
add hl, bc
ld a, [hl]
- ld [wc702], a
+ ld [wOTTrademonSpecies], a
ld a, [wcd4d]
dec a
ld hl, OTPartyMonOT
call SkipNames
- ld de, wc724
- ld bc, $000b
+ ld de, wOTTrademonOTName
+ ld bc, NAME_LENGTH
call CopyBytes
ld a, [wcd4d]
dec a
@@ -6422,17 +6429,17 @@
ld hl, OTPartyMon1ID
call GetPartyLocation
ld a, [hli]
- ld [wEnemyWrapCount], a
+ ld [wOTTrademonID], a
ld a, [hl]
- ld [wPlayerCharging], a
+ ld [wOTTrademonID + 1], a
ld a, [wcd4d]
dec a
ld hl, OTPartyMon1DVs
call GetPartyLocation
ld a, [hli]
- ld [wEnemyTrappingMove], a
+ ld [wOTTrademonDVs], a
ld a, [hl]
- ld [wPlayerWrapCount], a
+ ld [wOTTrademonDVs + 1], a
ld a, [wcd4d]
dec a
ld hl, OTPartyMon1Species
@@ -6441,12 +6448,12 @@
ld c, l
callba GetCaughtGender
ld a, c
- ld [wEnemyCharging], a
+ ld [wOTTrademonCaughtData], a
ret
; 102b12
Function102b12: ; 102b12
- ld c, $64
+ ld c, 100
call DelayFrames
call Function102d9a
call LoadFontsBattleExtra
@@ -6468,7 +6475,7 @@
dec a
ld [CurPartyMon], a
ld a, $1
- ld [wd1e9], a
+ ld [wForceEvolution], a
callba EvolvePokemon
call Function102d9a
call Function102dd3
@@ -6477,52 +6484,60 @@
; 102b4e
Function102b4e: ; 102b4e
- ld a, $1
+ ld a, OTPARTYMON
ld [MonType], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
push af
ld de, Unknown_102b73
- call InitMenu3
+ call SetMenuAttributes
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld a, [OTPartyCount]
- ld [wcfa3], a
+ ld [w2DMenuNumRows], a
ret
; 102b68
Function102b68: ; 102b68 ; unreferenced
xor a
- ld hl, wcf71
- ld bc, $0010
+ ld hl, wWindowStackPointer
+ ld bc, $10
call ByteFill
ret
; 102b73
Unknown_102b73:
- db $09, $06, $ff, $01, $a0, $00, $10, $c1
+ db 9, 6
+ db 255, 1
+ db $a0, $00
+ dn 1, 0
+ db D_UP | D_DOWN | A_BUTTON
Function102b7b: ; 102b7b
xor a
ld [MonType], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
push af
ld de, Unknown_102b94
- call InitMenu3
+ call SetMenuAttributes
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld a, [PartyCount]
- ld [wcfa3], a
+ ld [w2DMenuNumRows], a
ret
; 102b94
Unknown_102b94:
- db $01, $06, $ff, $01, $a0, $00, $10, $c1
+ db 1, 6
+ db 255, 1
+ db $a0, $00
+ dn 1, 0
+ db D_UP | D_DOWN | A_BUTTON
Function102b9c: ; 102b9c
ld a, [wcd4d]
dec a
hlcoord 6, 9
- ld bc, $0014
+ ld bc, $14
call AddNTimes
ld [hl], $ec
ret
@@ -6529,15 +6544,15 @@
; 102bac
Function102bac: ; 102bac
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld [CurPartyMon], a
call LowVolume
call ClearSprites
- callba Function4dc8f
+ callba _BattleStatsScreenInit
ld a, [CurPartyMon]
inc a
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
call Function102d9a
call ClearPalettes
call DelayFrame
@@ -6556,7 +6571,7 @@
push hl
ld a, [wcd4d]
ld c, a
- ld b, $0
+ ld b, 0
ld hl, OTPartyCount
add hl, bc
ld a, [hl]
@@ -6591,7 +6606,7 @@
Function102c14: ; 102c14
ld hl, PartySpecies
ld de, OTPartySpecies
- ld bc, $0001
+ ld bc, 1
call Function102c71
ret
; 102c21
@@ -6599,7 +6614,7 @@
Function102c21: ; 102c21
ld hl, PartyMonNicknames
ld de, OTPartyMonNicknames
- ld bc, $000b
+ ld bc, 11
call Function102c71
ret
; 102c2e
@@ -6607,7 +6622,7 @@
Function102c2e: ; 102c2e
ld hl, PartyMonOT
ld de, OTPartyMonOT
- ld bc, $000b
+ ld bc, 11
call Function102c71
ret
; 102c3b
@@ -6615,7 +6630,7 @@
Function102c3b: ; 102c3b
ld hl, PartyMon1
ld de, OTPartyMon1
- ld bc, $0030
+ ld bc, $30
call Function102c71
ret
; 102c48
@@ -6622,16 +6637,16 @@
Function102c48: ; 102c48
callba Function10165a
- ld a, $0
+ ld a, 0
call GetSRAMBank
ld hl, $a600
ld de, wc608
- ld bc, $002f
+ ld bc, $2f
call Function102c71
call CloseSRAM
ld hl, wc608
ld de, wda00
- ld bc, $01e0
+ ld bc, $1e0
ld a, $5
call FarCopyWRAM
ret
@@ -6661,16 +6676,16 @@
ld [wJumptableIndex], a
ld a, [PartyCount]
ld [wcf64], a
- ld a, $0
+ ld a, 0
ld hl, $a600
ld de, wc608
- ld bc, $011a
+ ld bc, $11a
call Function102d3e
call Function102cee
- ld a, $0
+ ld a, 0
ld hl, wc608
ld de, $a600
- ld bc, $011a
+ ld bc, $11a
call Function102d3e
ld a, [wcd4d]
ld [wJumptableIndex], a
@@ -6679,13 +6694,13 @@
ld a, $5
ld hl, wda00
ld de, wc608
- ld bc, $011a
+ ld bc, $11a
call FarCopyWRAM
call Function102cee
ld a, $5
ld hl, wc608
ld de, wda00
- ld bc, $011a
+ ld bc, $11a
call FarCopyWRAM
pop af
ld [wcf64], a
@@ -6699,7 +6714,7 @@
dec a
call Function102d34
ld de, wd002
- ld bc, $002f
+ ld bc, $2f
call CopyBytes
ld a, [wJumptableIndex]
ld c, a
@@ -6706,7 +6721,7 @@
ld a, $6
sub c
ret z
- ld bc, $002f
+ ld bc, $2f
ld hl, 0
call AddNTimes
push hl
@@ -6715,7 +6730,7 @@
call Function102d34
ld d, h
ld e, l
- ld hl, $002f
+ ld hl, $2f
add hl, de
pop bc
call CopyBytes
@@ -6725,7 +6740,7 @@
ld d, h
ld e, l
ld hl, wd002
- ld bc, $002f
+ ld bc, $2f
call CopyBytes
ret
; 102d34
@@ -6732,7 +6747,7 @@
Function102d34: ; 102d34
ld hl, wc608
- ld bc, $002f
+ ld bc, $2f
call AddNTimes
ret
; 102d3e
@@ -6774,11 +6789,11 @@
call AddNTimes
predef GetUnownLetter
callba UpdateUnownDex
- ld a, [wdef4]
+ ld a, [wFirstUnownSeen]
and a
jr nz, .asm_102d98
ld a, [UnownLetter]
- ld [wdef4], a
+ ld [wFirstUnownSeen], a
.asm_102d98
and a
@@ -6812,7 +6827,7 @@
ld c, $12
ld d, h
ld e, l
- callba Function16d61d
+ callba _LinkTextbox
ret
; 102dd3
@@ -6822,7 +6837,7 @@
ld hl, VTiles0
lb bc, BANK(GFX_1032a2), 4
call Get2bpp
- callba Function16d421
+ callba __LoadTradeScreenBorder
call EnableLCD
ret
; 102dec
@@ -6830,7 +6845,7 @@
Function102dec: ; 102dec
ld hl, Unknown_1032e2
ld de, UnknOBPals
- ld bc, $0020
+ ld bc, $20
ld a, $5
call FarCopyWRAM
callba Function49742
@@ -6855,7 +6870,7 @@
ld c, $b
ld d, h
ld e, l
- callba Function16d61d
+ callba _LinkTextbox
.asm_102e28
ld de, String_102e32
@@ -6881,13 +6896,13 @@
Function102e4f: ; 102e4f
callba Function16d42e
- callba Function49797
+ callba _InitMG_Mobile_LinkTradePalMap
ld de, PlayerName
hlcoord 4, 0
call PlaceString
ld a, $14
ld [bc], a
- ld de, wd26b
+ ld de, OTPlayerName
hlcoord 4, 8
call PlaceString
ld a, $14
@@ -6902,7 +6917,7 @@
; 102e86
Function102e86: ; 102e86
- ld c, $0
+ ld c, 0
.asm_102e88
ld a, [de]
cp $ff
@@ -6920,7 +6935,7 @@
pop de
inc de
pop hl
- ld bc, $0014
+ ld bc, $14
add hl, bc
pop bc
inc c
@@ -6932,7 +6947,7 @@
ld a, [wcd4c]
dec a
ld c, a
- ld b, $0
+ ld b, 0
ld hl, PartySpecies
add hl, bc
ld a, [hl]
@@ -6940,12 +6955,12 @@
call GetPokemonName
ld hl, StringBuffer1
ld de, StringBuffer2
- ld bc, $000b
+ ld bc, 11
call CopyBytes
ld a, [wcd4d]
dec a
ld c, a
- ld b, $0
+ ld b, 0
ld hl, OTPartySpecies
add hl, bc
ld a, [hl]
@@ -7025,7 +7040,7 @@
Function102f85: ; 102f85
ld a, [wd003]
ld c, a
- ld b, $0
+ ld b, 0
ld hl, OTPartySpecies
add hl, bc
ld a, [hl]
@@ -7200,7 +7215,7 @@
ld hl, wcd4b
bit 7, [hl]
pop hl
- ld a, $0
+ ld a, 0
jr z, .asm_1030eb
ld a, $5
.asm_1030eb
@@ -7209,9 +7224,8 @@
inc hl
push hl
-rept 2
add a
-endr
+ add a
add Unknown_10327a % $100
ld l, a
@@ -7245,77 +7259,77 @@
; 103112
Unknown_103112: ; 103112
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $01, $00, $00, $00, $00, $00, $00, $00
- db $02, $01, $00, $00, $00, $00, $00, $00
- db $03, $02, $01, $00, $00, $00, $00, $00
- db $04, $03, $02, $01, $00, $00, $00, $00
- db $04, $04, $03, $02, $01, $00, $00, $00
- db $04, $04, $04, $03, $02, $01, $00, $00
- db $04, $04, $04, $04, $03, $02, $01, $00
- db $04, $04, $04, $04, $04, $03, $02, $01
- db $04, $04, $04, $04, $04, $04, $03, $02
- db $04, $04, $04, $04, $04, $04, $04, $03
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $03, $04, $04, $04, $04, $04, $04, $04
- db $02, $03, $04, $04, $04, $04, $04, $04
- db $01, $02, $03, $04, $04, $04, $04, $04
- db $00, $01, $02, $03, $04, $04, $04, $04
- db $00, $00, $01, $02, $03, $04, $04, $04
- db $00, $00, $00, $01, $02, $03, $04, $04
- db $00, $00, $00, $00, $01, $02, $03, $04
- db $00, $00, $00, $00, $00, $01, $02, $03
- db $00, $00, $00, $00, $00, $00, $01, $02
- db $00, $00, $00, $00, $00, $00, $00, $01
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $1, $0, $0, $0, $0, $0, $0, $
+ db $2, $1, $0, $0, $0, $0, $0, $
+ db $3, $2, $1, $0, $0, $0, $0, $
+ db $4, $3, $2, $1, $0, $0, $0, $
+ db $4, $4, $3, $2, $1, $0, $0, $
+ db $4, $4, $4, $3, $2, $1, $0, $
+ db $4, $4, $4, $4, $3, $2, $1, $
+ db $4, $4, $4, $4, $4, $3, $2, $1
+ db $4, $4, $4, $4, $4, $4, $3, $2
+ db $4, $4, $4, $4, $4, $4, $4, $3
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $3, $4, $4, $4, $4, $4, $4, $4
+ db $2, $3, $4, $4, $4, $4, $4, $4
+ db $1, $2, $3, $4, $4, $4, $4, $4
+ db $0, $1, $2, $3, $4, $4, $4, $4
+ db $0, $0, $1, $2, $3, $4, $4, $4
+ db $0, $0, $0, $1, $2, $3, $4, $4
+ db $0, $0, $0, $0, $1, $2, $3, $4
+ db $0, $0, $0, $0, $0, $1, $2, $3
+ db $0, $0, $0, $0, $0, $0, $1, $2
+ db $0, $0, $0, $0, $0, $0, $0, $1
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
; 10327a
Unknown_10327a: ; 10327a
- db $00, $00, $00, $00
- db $00, $00, $01, $00
- db $00, $00, $02, $00
- db $00, $00, $03, $00
- db $00, $00, $01, $01
- db $00, $00, $00, $00
- db $00, $00, $01, $02
- db $00, $00, $02, $02
- db $00, $00, $03, $02
- db $00, $00, $01, $03
+ db $0, $0, $0, $
+ db $0, $0, $1, $
+ db $0, $0, $2, $
+ db $0, $0, $3, $
+ db $0, $0, $1, $1
+ db $0, $0, $0, $
+ db $0, $0, $1, $2
+ db $0, $0, $2, $2
+ db $0, $0, $3, $2
+ db $0, $0, $1, $3
GFX_1032a2:
INCBIN "gfx/unknown/1032a2.2bpp"
Unknown_1032e2:
- db $00, $00, $ff, $1f
+ db $0, $0, $ff, $1f
db $f4, $1b, $8d, $42
- db $00, $00, $67, $45
- db $00, $00, $00, $00
- db $00, $00, $1f, $13
- db $99, $01, $ff, $10
- db $00, $00, $19, $00
- db $00, $00, $00, $00
+ db $0, $0, $67, $45
+ db $0, $0, $0, $
+ db $0, $0, $1f, $13
+ db $99, $1, $ff, $10
+ db $0, $0, $19, $
+ db $0, $0, $0, $
; 103302
Function103302: ; 103302
@@ -7328,7 +7342,7 @@
xor a
ld [hBGMapMode], a
ld hl, Buffer1
- ld bc, $000a
+ ld bc, 10
xor a
call ByteFill
ld a, $4
@@ -7402,7 +7416,7 @@
ld a, [wd1f0]
ld [wd1f2], a
ld c, a
- ld b, $0
+ ld b, 0
ld hl, wd1ec
ld a, [hli]
ld h, [hl]
@@ -7478,7 +7492,7 @@
ret z
ld de, SFX_PUSH_BUTTON
call PlaySFX
- ld bc, $0008
+ ld bc, 8
call Function10350f
ld a, [Buffer1]
xor e
@@ -7499,7 +7513,7 @@
ld a, [wd1f3]
cp $2
jr nz, .asm_103452
- ld bc, $0001
+ ld bc, 1
call Function1034f7
ld c, $12
ld b, $1
@@ -7516,19 +7530,19 @@
.asm_10345f
ld bc, 0
call Function10350f
- ld bc, $0001
+ ld bc, 1
call Function103487
- ld bc, $0008
+ ld bc, 8
call Function10350f
ld a, [Buffer1]
and e
- ld bc, $0002
+ ld bc, 2
jr z, .asm_10347d
- ld bc, $0004
+ ld bc, 4
.asm_10347d
call Function10350f
- ld bc, $000b
+ ld bc, 11
call Function103487
ret
; 103487
@@ -7546,7 +7560,7 @@
ld c, $14
ld b, $3
call Function1034e0
- ld bc, $0006
+ ld bc, 6
call Function10350f
hlcoord 1, 16
call PlaceString
@@ -7556,10 +7570,10 @@
Function1034a7: ; 1034a7
ld a, [wd1f1]
ld [wd1f2], a
- ld bc, $000a
+ ld bc, 10
call Function1034f7
ld [hl], $7f
- ld bc, $000a
+ ld bc, 10
call Function1034f1
ld [hl], $ed
ret
@@ -7623,7 +7637,7 @@
ld a, [wd1f3]
push bc
ld hl, Unknown_103522
- ld bc, $0009
+ ld bc, 9
call AddNTimes
pop bc
add hl, bc
@@ -7674,9 +7688,8 @@
callba Function10138b
ld b, 0
ld hl, Unknown_1035d7
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -7689,7 +7702,6 @@
dw Unknown_103608
dw Unknown_103608
dw Unknown_1035fe
-
dw AskMobileOrCable
dw AskMobileOrCable
dw AskMobileOrCable
@@ -7696,7 +7708,7 @@
Unknown_1035e7: ; 1035e7
dwcoord 0, 6
- db $12, $07, $07
+ db $12, $7, $7
dw .this
.this
db 4, 2, 1, 0, 3
@@ -7703,7 +7715,7 @@
Unknown_1035f3: ; 1035f3
dwcoord 0, 7
- db $12, $06, $09
+ db $12, $6, $9
dw .this
.this
db 3, 2, 1, 3
@@ -7710,7 +7722,7 @@
Unknown_1035fe: ; 1035fe
dwcoord 0, 9
- db $12, $04, $0b
+ db $12, $4, $b
dw .this
.this
db 2, 0, 3
@@ -7717,7 +7729,7 @@
Unknown_103608: ; 103608
dwcoord 0, 9
- db $12, $04, $0b
+ db $12, $4, $b
dw .this
.this
db 2, 2, 3
@@ -7732,10 +7744,10 @@
ld [wMenuCursorBuffer], a
.skip_load
- call InterpretMenu2
- call WriteBackup
+ call VerticalMenu
+ call CloseWindow
jr c, .pressed_b
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [ScriptVar], a
ld c, a
ld a, [wdc40]
@@ -7765,7 +7777,7 @@
; 103654
Function103654: ; 103654
- callba Function10632f
+ callba Mobile_AlwaysReturnNotCarry
bit 7, c
jr nz, .asm_103666
ld hl, wcd2a
@@ -7781,7 +7793,7 @@
; 10366e
Mobile_SelectThreeMons: ; 10366e
- callba Function10632f
+ callba Mobile_AlwaysReturnNotCarry
bit 7, c
jr z, .asm_10369b
ld hl, UnknownText_0x10375d
@@ -7788,7 +7800,7 @@
call PrintText
call YesNoBox
jr c, .asm_103696
- callba Function8b1e1
+ callba CheckForMobileBattleRules
jr nc, .asm_103690
call JoyWaitAorB
jr .asm_103696
@@ -7820,10 +7832,10 @@
jr c, .asm_1036f4
ld hl, MenuDataHeader_103747
call LoadMenuDataHeader
- call InterpretMenu2
+ call VerticalMenu
call ExitMenu
jr c, .asm_1036f4
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr z, .asm_1036d9
cp $2
@@ -7833,7 +7845,7 @@
jr .asm_1036b5
.asm_1036d9
- callba Function8b1e1
+ callba CheckForMobileBattleRules
jr nc, .asm_1036e6
call JoyWaitAorB
jr .asm_1036f4
@@ -7959,7 +7971,7 @@
; 10378c
Function10378c: ; 10378c
- ld c, $0
+ ld c, 0
ld hl, SwarmFlags
bit 4, [hl]
jr nz, .already_set
@@ -8055,7 +8067,7 @@
; 0x103823
Function103823: ; 103823
- callba Function10632f
+ callba Mobile_AlwaysReturnNotCarry
bit 7, c
jr nz, .asm_103838
callba Function1008a6
@@ -8077,9 +8089,8 @@
ld [wdc60], a
xor a
ld hl, wdc5c
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
ld hl, UnknownText_0x103876
call PrintText
@@ -8089,7 +8100,7 @@
jr c, .asm_103870
ld hl, wd002
ld de, wdc5c
- ld bc, $0003
+ ld bc, 3
call CopyBytes
xor a
ld [ScriptVar], a
@@ -8107,7 +8118,7 @@
; 0x10387b
Function10387b: ; 10387b
- callba Function10632f
+ callba Mobile_AlwaysReturnNotCarry
bit 7, c
ret nz
callba Function1008a6
--- a/misc/mobile_41.asm
+++ b/misc/mobile_41.asm
@@ -766,7 +766,7 @@
ret
; 10632f
-Function10632f: ; 10632f
+Mobile_AlwaysReturnNotCarry: ; 10632f
or a
ret
@@ -851,7 +851,7 @@
ret
.asm_1063a2
- call Function10632f
+ call Mobile_AlwaysReturnNotCarry
ld a, c
and a
jr nz, .asm_1063b4
@@ -937,7 +937,7 @@
ret
.asm_106426
- call Function10632f
+ call Mobile_AlwaysReturnNotCarry
ld a, c
and a
jr z, .asm_106435
@@ -960,7 +960,7 @@
call Function3e32
xor a
ld [hMobile], a
- ld [hFFC9], a
+ ld [hMobileReceive], a
ld a, [wcd25]
inc a
ld [wcd25], a
@@ -975,12 +975,8 @@
ret
; 106462
-Function106462: ; 106462
+MobileFunc_106462: mobile
ret
-; 106463
-
-Function106463: ; 106463
- ret
; 106464
Function106464:: ; 106464
@@ -1008,7 +1004,7 @@
Function10649b: ; 10649b
ld a, [TextBoxFrame]
and $7
- ld bc, $30
+ ld bc, 3 tiles
ld hl, Frames
call AddNTimes
ld d, h
@@ -1058,7 +1054,7 @@
jr asm_1064ed
asm_1064ed
- ld de, w6_d000
+ ld de, wDecompressScratch
ld b, $0
ld a, [rSVBK]
push af
@@ -1087,17 +1083,17 @@
INCBIN "gfx/unknown/106514.2bpp"
-Function106594:: ; 106594
- ld de, GFX_1065ad
+LoadOverworldFont:: ; 106594
+ ld de, .bgfont
ld hl, VTiles1
- lb bc, BANK(GFX_1065ad), $80
+ lb bc, BANK(.bgfont), $80
call Get2bpp
- ld de, GFX_1065ad + $800
+ ld de, .bgfont + $80 tiles
ld hl, VTiles2 tile $7f
- lb bc, BANK(GFX_1065ad), 1
+ lb bc, BANK(.bgfont), 1
call Get2bpp
ret
; 1065ad
-GFX_1065ad:
+.bgfont:
INCBIN "gfx/unknown/1065ad.2bpp"
--- a/misc/mobile_42.asm
+++ b/misc/mobile_42.asm
@@ -1,30 +1,37 @@
-
-SECTION "bank42", ROMX, BANK[$42]
-
-Function108000: ; 108000
+MobileTradeAnimation_SendGivemonToGTS: ; 108000
ld a, $80
ld [wcf65], a
- ld de, Unknown_10800b
- jp Function108089
+ ld de, .TradeAnimScript
+ jp RunMobileTradeAnim_NoFrontpics
; 10800b
-Unknown_10800b:
- db $0d, $12, $10, $03, $06, $0f, $0c
+.TradeAnimScript:
+ mobiletradeanim_showgtsgivemon
+ mobiletradeanim_12
+ mobiletradeanim_10
+ mobiletradeanim_sendmon
+ mobiletradeanim_06
+ mobiletradeanim_0f
+ mobiletradeanim_end
-Function108012:
+MobileTradeAnimation_RetrieveGivemonFromGTS:
ld a, $80
jr asm_108018
-Function108016: ; 108016
+MobileTradeAnimation_ReceiveGetmonFromGTS: ; 108016
ld a, $0
asm_108018:
ld [wcf65], a
- ld de, Unknown_108021
- jp Function108089
+ ld de, .TradeAnimScript
+ jp RunMobileTradeAnim_NoFrontpics
; 108021
-Unknown_108021:
- db $11, $07, $08, $0e, $0c
+.TradeAnimScript:
+ mobiletradeanim_11
+ mobiletradeanim_07
+ mobiletradeanim_receivemon
+ mobiletradeanim_showgtsgetmon
+ mobiletradeanim_end
Function108026: ; 108026
ld a, $0
@@ -35,35 +42,48 @@
asm_10802c:
ld [wcf65], a
- ld de, Unknown_108035
- jp Function10805b
+ ld de, .TradeAnimScript
+ jp RunMobileTradeAnim_Frontpics
; 108035
-Unknown_108035:
- db $01, $12, $02, $03, $05, $08, $0b, $0c
+.TradeAnimScript: ; trade
+ mobiletradeanim_showgivemon
+ mobiletradeanim_12
+ mobiletradeanim_02
+ mobiletradeanim_sendmon
+ mobiletradeanim_05
+ mobiletradeanim_receivemon
+ mobiletradeanim_showgetmon
+ mobiletradeanim_end
Function10803d: ; 10803d
ld a, $0
ld [wcf65], a
- ld de, Unknown_108048
- jp Function108089
+ ld de, .TradeAnimScript
+ jp RunMobileTradeAnim_NoFrontpics
; 108048
-Unknown_108048:
- db $11, $07, $08, $13, $0c
+.TradeAnimScript:
+ mobiletradeanim_11
+ mobiletradeanim_07
+ mobiletradeanim_receivemon
+ mobiletradeanim_showoddegg
+ mobiletradeanim_end
Function10804d: ; 10804d
ld a, $0
ld [wcf65], a
- ld de, Unknown_108058
- jp Function108089
+ ld de, .TradeAnimScript
+ jp RunMobileTradeAnim_NoFrontpics
; 108058
-Unknown_108058:
- db $11, $0e, $0c
+.TradeAnimScript:
+ mobiletradeanim_11
+ mobiletradeanim_showgtsgetmon
+ mobiletradeanim_end
-Function10805b: ; 10805b
- ld hl, wc734
+RunMobileTradeAnim_Frontpics: ; 10805b
+ ld hl, wTradeAnimPointer
ld [hl], e
inc hl
ld [hl], d
@@ -78,11 +98,11 @@
ld hl, Options
ld a, [hl]
push af
- set 4, [hl]
+ set NO_TEXT_SCROLL, [hl]
call Function1080b7
-.asm_108078
- call Function10824b
- jr nc, .asm_108078
+.loop
+ call MobileTradeAnim_JumptableLoop
+ jr nc, .loop
pop af
ld [Options], a
pop af
@@ -92,8 +112,8 @@
ret
; 108089
-Function108089: ; 108089
- ld hl, BattleEnded
+RunMobileTradeAnim_NoFrontpics: ; 108089
+ ld hl, wTradeAnimPointer
ld [hl], e
inc hl
ld [hl], d
@@ -108,11 +128,11 @@
ld hl, Options
ld a, [hl]
push af
- set 4, [hl]
+ set NO_TEXT_SCROLL, [hl]
call Function108157
-.asm_1080a6
- call Function10824b
- jr nc, .asm_1080a6
+.loop
+ call MobileTradeAnim_JumptableLoop
+ jr nc, .loop
pop af
ld [Options], a
pop af
@@ -129,21 +149,25 @@
call ClearSprites
call ClearTileMap
call DisableLCD
- call Function1081ad
- call Function1081ca
+ call MobileTradeAnim_ClearVTiles
+ call MobileTradeAnim_ClearBGMap
call LoadStandardFont
call LoadFontsBattleExtra
+
ld a, $1
ld [rVBK], a
ld hl, LZ_108da7
ld de, VTiles2
call Decompress
+
ld a, $0
ld [rVBK], a
ld hl, LZ_108d27
ld de, VTiles0 tile $20
call Decompress
+
call EnableLCD
+
xor a
ld [hSCX], a
ld [hSCY], a
@@ -151,34 +175,43 @@
ld [hWX], a
ld a, $90
ld [hWY], a
- callba Function8cf53
+ callba ClearSpriteAnims
+
call DelayFrame
+
ld de, TradeBallGFX
ld hl, VTiles0
lb bc, BANK(TradeBallGFX), $06
call Request2bpp
+
ld de, TradePoofGFX
ld hl, VTiles0 tile $06
lb bc, BANK(TradePoofGFX), $0c
call Request2bpp
+
xor a
- ld hl, wc300
+ ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], $0
- ld a, [$c6d0]
- ld hl, $c6fd
+
+ ld a, [wPlayerTrademonSpecies]
+ ld hl, wPlayerTrademonDVs
ld de, VTiles0 tile $30
- call Function1081e9
- ld a, [wc702]
- ld hl, wEnemyTrappingMove
+ call MobileTradeAnim_GetFrontpic
+
+ ld a, [wOTTrademonSpecies]
+ ld hl, wOTTrademonDVs
ld de, VTiles2 tile $31
- call Function1081e9
- ld a, [$c6d0]
- ld de, $c6d1
- call Function108239
- ld a, [wc702]
- ld de, wc703
- call Function108239
+ call MobileTradeAnim_GetFrontpic
+
+ ld a, [wPlayerTrademonSpecies]
+ ld de, wPlayerTrademonSpeciesName
+ call MobileTradeAnim_InitSpeciesName
+
+ ld a, [wOTTrademonSpecies]
+ ld de, wOTTrademonSpeciesName
+ call MobileTradeAnim_InitSpeciesName
+
xor a
call Function108b98
call Function108af4
@@ -192,8 +225,8 @@
call ClearSprites
call ClearTileMap
call DisableLCD
- call Function1081ad
- call Function1081ca
+ call MobileTradeAnim_ClearVTiles
+ call MobileTradeAnim_ClearBGMap
call LoadStandardFont
call LoadFontsBattleExtra
call EnableLCD
@@ -204,18 +237,18 @@
ld [hWX], a
ld a, $90
ld [hWY], a
- callba Function8cf53
+ callba ClearSpriteAnims
xor a
- ld hl, wc300
+ ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], $0
call DelayFrame
- ld a, [$c6d0]
- ld de, $c6d1
- call Function108239
- ld a, [wc702]
- ld de, wc703
- call Function108239
+ ld a, [wPlayerTrademonSpecies]
+ ld de, wPlayerTrademonSpeciesName
+ call MobileTradeAnim_InitSpeciesName
+ ld a, [wOTTrademonSpecies]
+ ld de, wOTTrademonSpeciesName
+ call MobileTradeAnim_InitSpeciesName
xor a
call Function108b98
call Function108af4
@@ -222,39 +255,39 @@
ret
; 1081ad
-Function1081ad: ; 1081ad
+MobileTradeAnim_ClearVTiles: ; 1081ad
ld a, $1
ld [rVBK], a
ld hl, VTiles0
- ld bc, $1800
+ ld bc, 3 * $80 tiles
xor a
call ByteFill
ld a, $0
ld [rVBK], a
ld hl, VTiles0
- ld bc, $1800
+ ld bc, 3 * $80 tiles
xor a
call ByteFill
ret
; 1081ca
-Function1081ca: ; 1081ca
+MobileTradeAnim_ClearBGMap: ; 1081ca
ld a, $1
ld [rVBK], a
hlbgcoord 0, 0
- ld bc, $0800
+ ld bc, 2 * BG_MAP_HEIGHT * BG_MAP_WIDTH
ld a, $0
call ByteFill
ld a, $0
ld [rVBK], a
hlbgcoord 0, 0
- ld bc, $0800
+ ld bc, 2 * BG_MAP_HEIGHT * BG_MAP_WIDTH
ld a, $7f
call ByteFill
ret
; 1081e9
-Function1081e9: ; 1081e9
+MobileTradeAnim_GetFrontpic: ; 1081e9
push de
push af
predef GetUnownLetter
@@ -298,7 +331,7 @@
ret
; 108239
-Function108239: ; 108239
+MobileTradeAnim_InitSpeciesName: ; 108239
push de
ld [wd265], a
call GetPokemonName
@@ -309,16 +342,16 @@
ret
; 10824b
-Function10824b: ; 10824b
+MobileTradeAnim_JumptableLoop: ; 10824b
ld a, [wJumptableIndex]
bit 7, a
- jr nz, .asm_10825a
- call Function10827b
+ jr nz, .StopAnim
+ call .ExecuteMobileTradeAnimCommand
call DelayFrame
and a
ret
-.asm_10825a
+.StopAnim
xor a
ld [hSCX], a
ld [hSCY], a
@@ -328,17 +361,17 @@
ld [hWY], a
call LoadStandardFont
call LoadFontsBattleExtra
- callba Function106462
+ callba MobileFunc_106462
callba Function106464
scf
ret
; 10827b
-Function10827b: ; 10827b
+.ExecuteMobileTradeAnimCommand: ; 10827b
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, Jumptable_10828a
+ ld hl, .Jumptable
rept 2
add hl, de
endr
@@ -348,37 +381,38 @@
jp [hl]
; 10828a
-Jumptable_10828a: ; 10828a
- dw Function1082b7
- dw Function10830e
- dw Function108638
- dw Function108763
- dw Function1087cf
- dw Function108811
- dw Function108838
- dw Function10884c
- dw Function108863
- dw Function108894
- dw Function10890a
- dw Function10839b
- dw Function1082c6
- dw Function10842c
- dw Function1084d7
- dw Function108919
- dw Function108689
- dw Function1086f4
- dw Function10893d
- dw Function108589
+.Jumptable: ; 10828a
+
+ dw GetMobileTradeAnimByte ; 00
+ dw MobileTradeAnim_ShowPlayerMonToBeSent ; 01
+ dw MobileTradeAnim_02 ; 02
+ dw MobileTradeAnim_GiveTrademon1 ; 03
+ dw MobileTradeAnim_GiveTrademon2 ; 04
+ dw MobileTradeAnim_05 ; 05
+ dw MobileTradeAnim_06 ; 06
+ dw MobileTradeAnim_07 ; 07
+ dw MobileTradeAnim_GetTrademon1 ; 08
+ dw MobileTradeAnim_GetTrademon2 ; 09
+ dw MobileTradeAnim_GetTrademon3 ; 0a
+ dw MobileTradeAnim_ShowOTMonFromTrade ; 0b
+ dw EndMobileTradeAnim ; 0c
+ dw MobileTradeAnim_ShowPlayerMonForGTS ; 0d
+ dw MobileTradeAnim_ShowOTMonFromGTS ; 0e
+ dw MobileTradeAnim_0f ; 0f
+ dw MobileTradeAnim_10 ; 10
+ dw MobileTradeAnim_11 ; 11
+ dw MobileTradeAnim_FadeToBlack ; 12
+ dw MobileTradeAnim_GetOddEgg ; 13 get odd egg
; 1082b2
-Function1082b2: ; 1082b2
+MobileTradeAnim_Next: ; 1082b2
ld hl, wJumptableIndex
inc [hl]
ret
; 1082b7
-Function1082b7: ; 1082b7
- ld hl, wc734
+GetMobileTradeAnimByte: ; 1082b7
+ ld hl, wTradeAnimPointer
ld e, [hl]
inc hl
ld d, [hl]
@@ -391,56 +425,56 @@
ret
; 1082c6
-Function1082c6: ; 1082c6
+EndMobileTradeAnim: ; 1082c6
ld hl, wJumptableIndex
set 7, [hl]
ret
; 1082cc
-Function1082cc: ; 1082cc
-.asm_1082cc
+WaitMobileTradeSpriteAnims: ; 1082cc
+.loop
push bc
- callba Function8cf69
+ callba PlaySpriteAnimations
pop bc
call DelayFrame
dec c
- jr nz, .asm_1082cc
+ jr nz, .loop
ret
; 1082db
Function1082db: ; 1082db
-.asm_1082db
- callba Function8cf69
- callba Functiond00b4
+.loop
+ callba PlaySpriteAnimations
+ callba SetUpPokeAnim
callba Function10402d
- jr nc, .asm_1082db
+ jr nc, .loop
ret
; 1082f0
Function1082f0: ; 1082f0
-.asm_1082f0
+.loop
call Function108b78
call DelayFrame
dec c
- jr nz, .asm_1082f0
+ jr nz, .loop
ret
; 1082fa
Function1082fa: ; 1082fa
-.asm_1082fa
+.loop
call Function108b78
push hl
push bc
- callba Function8cf69
+ callba PlaySpriteAnimations
pop bc
pop hl
call DelayFrame
dec c
- jr nz, .asm_1082fa
+ jr nz, .loop
ret
; 10830e
-Function10830e: ; 10830e
+MobileTradeAnim_ShowPlayerMonToBeSent: ; 10830e
ld de, MUSIC_EVOLUTION
call PlayMusic2
ld a, $80
@@ -451,23 +485,23 @@
ld [hWX], a
ld a, $50
ld [hWY], a
- call Function1089a8
- ld a, [$c6d0]
+ call MobileTradeAnim_DisplayMonToBeSent
+ ld a, [wPlayerTrademonSpecies]
ld [CurPartySpecies], a
call Function10895e
- ld a, [$c6fd]
+ ld a, [wPlayerTrademonDVs]
ld [TempMonDVs], a
- ld a, [$c6fe]
+ ld a, [wPlayerTrademonDVs + 1]
ld [TempMonDVs + 1], a
ld b, SCGB_1A
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
call WaitBGMap
-.asm_108348
+.loop
ld a, [hWX]
cp $7
- jr z, .asm_10835d
+ jr z, .okay
sub $4
ld [hWX], a
ld a, [hSCX]
@@ -474,22 +508,22 @@
sub $4
ld [hSCX], a
call DelayFrame
- jr .asm_108348
+ jr .loop
-.asm_10835d
+.okay
ld a, $7
ld [hWX], a
xor a
ld [hSCX], a
- ld a, [$c6d0]
+ ld a, [wPlayerTrademonSpecies]
call GetCryIndex
- jr c, .asm_108371
+ jr c, .skip_cry
ld e, c
ld d, b
call PlayCryHeader
-.asm_108371
- ld c, $50
+.skip_cry
+ ld c, 80
call DelayFrames
call Function108bec
depixel 10, 11, 4, 0
@@ -498,28 +532,28 @@
ld de, SFX_BALL_POOF
call PlaySFX
hlcoord 0, 0
- ld bc, $00f0
+ ld bc, 12 * SCREEN_WIDTH
ld a, " "
call ByteFill
- ld c, $50
- call Function1082cc
- call Function1082b7
+ ld c, 80
+ call WaitMobileTradeSpriteAnims
+ call GetMobileTradeAnimByte
ret
; 10839b
-Function10839b: ; 10839b
+MobileTradeAnim_ShowOTMonFromTrade: ; 10839b
call ClearBGPalettes
call ClearSprites
call ClearTileMap
call DisableLCD
- call Function1081ca
- ld a, [wc702]
+ call MobileTradeAnim_ClearBGMap
+ ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
- ld hl, wEnemyTrappingMove
+ ld hl, wOTTrademonDVs
ld de, VTiles2
call Function108201
call EnableLCD
- callba Function8d03d
+ callba DeinitializeAllSprites
xor a
ld [hSCX], a
ld [hSCY], a
@@ -534,11 +568,11 @@
ld a, $1
call Function108b98
call Function108af4
- ld c, $30
- call Function1082cc
+ ld c, 48
+ call WaitMobileTradeSpriteAnims
ld de, SFX_BALL_POOF
call PlaySFX
- call Function1089d2
+ call MobileTradeAnim_DisplayReceivedMon
xor a
ld [hSCX], a
ld [hSCY], a
@@ -546,26 +580,26 @@
ld [hWX], a
ld a, $50
ld [hWY], a
- ld a, [wc702]
+ ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
- ld a, [wEnemyTrappingMove]
+ ld a, [wOTTrademonDVs]
ld [TempMonDVs], a
- ld a, [wPlayerWrapCount]
+ ld a, [wOTTrademonDVs + 1]
ld [TempMonDVs + 1], a
ld b, SCGB_1A
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
call Function108963
- ld a, [wc702]
+ ld a, [wOTTrademonSpecies]
call Function108229
call Function1082db
call Function108c16
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 10842c
-Function10842c: ; 10842c
+MobileTradeAnim_ShowPlayerMonForGTS: ; 10842c
ld de, MUSIC_EVOLUTION
call PlayMusic2
ld a, $80
@@ -576,10 +610,10 @@
ld [hWX], a
ld a, $50
ld [hWY], a
- call Function1089a8
- ld a, [$c6d0]
+ call MobileTradeAnim_DisplayMonToBeSent
+ ld a, [wPlayerTrademonSpecies]
ld [CurPartySpecies], a
- ld hl, $c6fd
+ ld hl, wPlayerTrademonDVs
call Function10898a
call DelayFrame
ld de, TradeBallGFX
@@ -590,19 +624,19 @@
ld hl, VTiles0 tile $06
lb bc, BANK(TradePoofGFX), $0c
call Request2bpp
- ld a, [$c6fd]
+ ld a, [wPlayerTrademonDVs]
ld [TempMonDVs], a
- ld a, [$c6fe]
+ ld a, [wPlayerTrademonDVs + 1]
ld [TempMonDVs + 1], a
ld b, SCGB_1A
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
call WaitBGMap
-.asm_108484
+.loop
ld a, [hWX]
cp $7
- jr z, .asm_108499
+ jr z, .done
sub $4
ld [hWX], a
ld a, [hSCX]
@@ -609,22 +643,22 @@
sub $4
ld [hSCX], a
call DelayFrame
- jr .asm_108484
+ jr .loop
-.asm_108499
+.done
ld a, $7
ld [hWX], a
xor a
ld [hSCX], a
- ld a, [$c6d0]
+ ld a, [wPlayerTrademonSpecies]
call GetCryIndex
- jr c, .asm_1084ad
+ jr c, .skip_cry
ld e, c
ld d, b
call PlayCryHeader
-.asm_1084ad
- ld c, $50
+.skip_cry
+ ld c, 80
call DelayFrames
call Function108c2b
depixel 10, 11, 4, 0
@@ -633,28 +667,28 @@
ld de, SFX_BALL_POOF
call PlaySFX
hlcoord 0, 0
- ld bc, $00f0
+ ld bc, 12 * SCREEN_WIDTH
ld a, " "
call ByteFill
- ld c, $50
- call Function1082cc
- call Function1082b7
+ ld c, 80
+ call WaitMobileTradeSpriteAnims
+ call GetMobileTradeAnimByte
ret
; 1084d7
-Function1084d7: ; 1084d7
+MobileTradeAnim_ShowOTMonFromGTS: ; 1084d7
call ClearBGPalettes
call ClearSprites
call ClearTileMap
call DisableLCD
- call Function1081ca
- ld a, [wc702]
+ call MobileTradeAnim_ClearBGMap
+ ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
- ld hl, wEnemyTrappingMove
+ ld hl, wOTTrademonDVs
ld de, VTiles2
call Function108201
call EnableLCD
- callba Function8d03d
+ callba DeinitializeAllSprites
call DelayFrame
ld de, TradeBallGFX
ld hl, VTiles0
@@ -678,11 +712,11 @@
ld a, $1
call Function108b98
call Function108af4
- ld c, $30
- call Function1082cc
+ ld c, 48
+ call WaitMobileTradeSpriteAnims
ld de, SFX_BALL_POOF
call PlaySFX
- call Function1089d2
+ call MobileTradeAnim_DisplayReceivedMon
xor a
ld [hSCX], a
ld [hSCY], a
@@ -690,40 +724,40 @@
ld [hWX], a
ld a, $50
ld [hWY], a
- ld a, [wc702]
+ ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
- ld a, [wEnemyTrappingMove]
+ ld a, [wOTTrademonDVs]
ld [TempMonDVs], a
- ld a, [wPlayerWrapCount]
+ ld a, [wOTTrademonDVs + 1]
ld [TempMonDVs + 1], a
ld b, SCGB_1A
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
- ld a, [wc702]
- ld hl, wEnemyTrappingMove
+ ld a, [wOTTrademonSpecies]
+ ld hl, wOTTrademonDVs
call Function10898a
- ld a, [wc702]
+ ld a, [wOTTrademonSpecies]
call Function108229
call Function1082db
call Function108c40
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 108589
-Function108589: ; 108589
+MobileTradeAnim_GetOddEgg: ; 108589
call ClearBGPalettes
call ClearSprites
call ClearTileMap
call DisableLCD
- call Function1081ca
- ld a, [wc702]
+ call MobileTradeAnim_ClearBGMap
+ ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
- ld hl, wEnemyTrappingMove
+ ld hl, wOTTrademonDVs
ld de, VTiles2
call Function108201
call EnableLCD
- callba Function8d03d
+ callba DeinitializeAllSprites
call DelayFrame
ld de, TradeBallGFX
ld hl, VTiles0
@@ -747,8 +781,8 @@
ld a, $1
call Function108b98
call Function108af4
- ld c, $30
- call Function1082cc
+ ld c, 48
+ call WaitMobileTradeSpriteAnims
ld de, SFX_BALL_POOF
call PlaySFX
call Function108a33
@@ -759,28 +793,28 @@
ld [hWX], a
ld a, $50
ld [hWY], a
- ld a, [wc702]
+ ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
- ld a, [wEnemyTrappingMove]
+ ld a, [wOTTrademonDVs]
ld [TempMonDVs], a
- ld a, [wPlayerWrapCount]
+ ld a, [wOTTrademonDVs + 1]
ld [TempMonDVs + 1], a
ld b, SCGB_1A
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
- ld a, [wc702]
- ld hl, wEnemyTrappingMove
+ ld a, [wOTTrademonSpecies]
+ ld hl, wOTTrademonDVs
call Function10898a
- ld a, [wc702]
+ ld a, [wOTTrademonSpecies]
call Function108229
call Function1082db
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 108638
-Function108638: ; 108638
- callba Function8d03d
+MobileTradeAnim_02: ; 108638
+ callba DeinitializeAllSprites
call ClearBGPalettes
call ClearSprites
call ClearTileMap
@@ -787,7 +821,7 @@
xor a
ld [hBGMapMode], a
call DisableLCD
- call Function1081ca
+ call MobileTradeAnim_ClearBGMap
call Function108c80
call Function108c6d
call EnableLCD
@@ -805,18 +839,18 @@
ld [rSVBK], a
ld hl, Palette_109107
ld de, UnknBGPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
pop af
ld [rSVBK], a
call Function108d07
call Function108af4
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 108689
-Function108689: ; 108689
- callba Function8d03d
+MobileTradeAnim_10: ; 108689
+ callba DeinitializeAllSprites
call ClearBGPalettes
call ClearSprites
call ClearTileMap
@@ -823,7 +857,7 @@
xor a
ld [hBGMapMode], a
call DisableLCD
- call Function1081ca
+ call MobileTradeAnim_ClearBGMap
ld a, $1
ld [rVBK], a
ld hl, LZ_108da7
@@ -851,17 +885,17 @@
ld [rSVBK], a
ld hl, Palette_109107
ld de, UnknBGPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
pop af
ld [rSVBK], a
call Function108d07
call Function108af4
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 1086f4
-Function1086f4: ; 1086f4
+MobileTradeAnim_11: ; 1086f4
call ClearBGPalettes
call ClearSprites
call ClearTileMap
@@ -895,7 +929,7 @@
ld [rSVBK], a
ld hl, Palette_109107
ld de, UnknBGPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
pop af
ld [rSVBK], a
@@ -906,82 +940,81 @@
ld [hSCX], a
ld de, MUSIC_EVOLUTION
call PlayMusic2
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 108763
-Function108763: ; 108763
+MobileTradeAnim_GiveTrademon1: ; 108763
ld de, SFX_GIVE_TRADEMON
call PlaySFX
- ld c, $28
- ld hl, $d0b0
+ ld c, 40
+ ld hl, BGPals + 6 palettes
call Function1082f0
call Function108af4
-.asm_108774
+.loop
ld a, [hSCX]
cp $e0
- jr z, .asm_108791
+ jr z, .loop2
rept 2
dec a
endr
ld [hSCX], a
cp $f8
- jr nz, .asm_10878a
+ jr nz, .next
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_22
call _InitSpriteAnimStruct
-.asm_10878a
- ld c, $1
- call Function1082cc
- jr .asm_108774
+.next
+ ld c, 1
+ call WaitMobileTradeSpriteAnims
+ jr .loop
-.asm_108791
+.loop2
ld a, [hSCY]
cp $f8
- jr z, .asm_1087cb
+ jr z, .done
rept 2
dec a
endr
ld [hSCY], a
cp $40
- jr z, .asm_1087a9
+ jr z, .init
cp $30
- jr z, .asm_1087b7
+ jr z, .delete
cp $68
- jr z, .asm_1087bc
- jr .asm_1087c4
+ jr z, .replace
+ jr .next2
-.asm_1087a9
+.init
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_22
call _InitSpriteAnimStruct
xor a
call Function108ad4
- jr .asm_1087c4
+ jr .next2
-.asm_1087b7
- call Function108bbd
- jr .asm_1087c4
+.delete
+ call MobileTradeAnim_DeleteSprites
+ jr .next2
-.asm_1087bc
- call Function108bbd
+.replace
+ call MobileTradeAnim_DeleteSprites
ld a, $1
call Function108ad4
+.next2
+ ld c, 1
+ call WaitMobileTradeSpriteAnims
+ jr .loop2
-.asm_1087c4
- ld c, $1
- call Function1082cc
- jr .asm_108791
-
-.asm_1087cb
- call Function1082b2
+.done
+ call MobileTradeAnim_Next
ret
; 1087cf
-Function1087cf: ; 1087cf
- ld c, $28
- ld hl, StringBuffer2 + 2
+MobileTradeAnim_GiveTrademon2: ; 1087cf
+ ld c, 40
+ ld hl, BGPals + 1 palettes
call Function1082f0
call Function108af4
call Function108b5a
@@ -990,84 +1023,84 @@
call _InitSpriteAnimStruct
ld de, SFX_FORESIGHT
call PlaySFX
- ld c, $a
- call Function1082cc
+ ld c, 10
+ call WaitMobileTradeSpriteAnims
xor a
ld [wcf64], a
depixel 9, 10, 2, 0
ld a, SPRITE_ANIM_INDEX_23
call _InitSpriteAnimStruct
-.asm_1087fc
+.loop
ld a, [hSCY]
cp $90
- jr z, .asm_10880d
+ jr z, .done
sub $8
ld [hSCY], a
- ld c, $1
- call Function1082cc
- jr .asm_1087fc
+ ld c, 1
+ call WaitMobileTradeSpriteAnims
+ jr .loop
-.asm_10880d
- call Function1082b7
+.done
+ call GetMobileTradeAnimByte
ret
; 108811
-Function108811: ; 108811
- ld c, $28
- call Function1082cc
+MobileTradeAnim_05: ; 108811
+ ld c, 40
+ call WaitMobileTradeSpriteAnims
ld a, $1
ld [wcf64], a
ld de, SFX_SHARPEN
call PlaySFX
- ld c, $3c
- call Function1082cc
+ ld c, 60
+ call WaitMobileTradeSpriteAnims
depixel 30, 10, 2, 0
ld a, SPRITE_ANIM_INDEX_24
call _InitSpriteAnimStruct
- call Function1082b7
+ call GetMobileTradeAnimByte
ld de, SFX_THROW_BALL
call PlaySFX
ret
; 108838
-Function108838: ; 108838
- ld c, $28
- call Function1082cc
+MobileTradeAnim_06: ; 108838
+ ld c, 40
+ call WaitMobileTradeSpriteAnims
ld a, $1
ld [wcf64], a
ld de, SFX_SHARPEN
call PlaySFX
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 10884c
-Function10884c: ; 10884c
+MobileTradeAnim_07: ; 10884c
ld c, 80
call DelayFrames
depixel 30, 10, 2, 0
ld a, SPRITE_ANIM_INDEX_24
call _InitSpriteAnimStruct
- call Function1082b7
+ call GetMobileTradeAnimByte
ld de, SFX_THROW_BALL
call PlaySFX
ret
; 108863
-Function108863: ; 108863
- ld c, $28
- call Function1082cc
-.asm_108868
+MobileTradeAnim_GetTrademon1: ; 108863
+ ld c, 40
+ call WaitMobileTradeSpriteAnims
+.loop
ld a, [hSCY]
cp $f8
- jr z, .asm_108879
+ jr z, .done
add $8
ld [hSCY], a
- ld c, $1
- call Function1082cc
- jr .asm_108868
+ ld c, 1
+ call WaitMobileTradeSpriteAnims
+ jr .loop
-.asm_108879
- callba Function8d03d
+.done
+ callba DeinitializeAllSprites
depixel 9, 10, 2, 0
ld a, SPRITE_ANIM_INDEX_25
call _InitSpriteAnimStruct
@@ -1074,18 +1107,18 @@
ld de, SFX_GLASS_TING_2
call PlaySFX
call Function108af4
- call Function1082b2
+ call MobileTradeAnim_Next
ret
; 108894
-Function108894: ; 108894
- ld c, $14
- ld hl, StringBuffer2 + 2
+MobileTradeAnim_GetTrademon2: ; 108894
+ ld c, 20
+ ld hl, BGPals + 1 palettes
call Function1082fa
ld de, SFX_GIVE_TRADEMON
call PlaySFX
- ld c, $14
- ld hl, StringBuffer2 + 2
+ ld c, 20
+ ld hl, BGPals + 1 palettes
call Function1082fa
call Function108af4
.asm_1088ad
@@ -1119,14 +1152,14 @@
jr .asm_1088e7
.asm_1088dd
- call Function108bbd
+ call MobileTradeAnim_DeleteSprites
ld a, $1
call Function108ad4
jr .asm_1088e7
.asm_1088e7
- ld c, $1
- call Function1082cc
+ ld c, 1
+ call WaitMobileTradeSpriteAnims
jr .asm_1088ad
.asm_1088ee
@@ -1137,60 +1170,60 @@
inc a
endr
ld [hSCX], a
- cp $f8
+ cp -8
jr nz, .asm_1088e7
- call Function108bbd
- ld c, $1
- call Function1082cc
+ call MobileTradeAnim_DeleteSprites
+ ld c, 1
+ call WaitMobileTradeSpriteAnims
jr .asm_1088ee
.asm_108906
- call Function1082b2
+ call MobileTradeAnim_Next
ret
; 10890a
-Function10890a: ; 10890a
- ld c, $28
- ld hl, $d0b0
+MobileTradeAnim_GetTrademon3: ; 10890a
+ ld c, 40
+ ld hl, BGPals + 6 palettes
call Function1082f0
call Function108af4
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 108919
-Function108919: ; 108919
- ld c, $28
- call Function1082cc
- callba Function8d03d
+MobileTradeAnim_0f: ; 108919
+ ld c, 40
+ call WaitMobileTradeSpriteAnims
+ callba DeinitializeAllSprites
call ClearBGPalettes
call ClearSprites
call ClearTileMap
call DisableLCD
- call Function1081ad
- call Function1081ca
+ call MobileTradeAnim_ClearVTiles
+ call MobileTradeAnim_ClearBGMap
call EnableLCD
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 10893d
-Function10893d: ; 10893d
-.asm_10893d
+MobileTradeAnim_FadeToBlack: ; 10893d
+.loop
ld a, [rBGP]
and a
- jr z, .asm_108953
+ jr z, .blank
sla a
sla a
call DmgToCgbBGPals
- call Functioncf8
- ld c, $4
+ call DmgToCgbObjPal0
+ ld c, 4
call DelayFrames
- jr .asm_10893d
+ jr .loop
-.asm_108953
+.blank
xor a
call DmgToCgbBGPals
- call Functioncf8
- call Function1082b7
+ call DmgToCgbObjPal0
+ call GetMobileTradeAnimByte
ret
; 10895e
@@ -1200,18 +1233,17 @@
Function108963:
ld de, VTiles2 tile $31
-
asm_108966
call DelayFrame
ld hl, VTiles2
- lb bc, $0a, $31
+ lb bc, $a, $31 ; $a is the bank of ?????
call Request2bpp
call WaitTop
- call Function108ac8
+ call MobileTradeAnim_ClearTilemap
hlcoord 7, 2
xor a
ld [hFillBox], a
- ld bc, $0707
+ lb bc, 7, 7
predef FillBox
call WaitBGMap
ret
@@ -1219,121 +1251,121 @@
Function10898a: ; 10898a
ld de, VTiles2
- call Function1081e9
+ call MobileTradeAnim_GetFrontpic
call WaitTop
- call Function108ac8
+ call MobileTradeAnim_ClearTilemap
hlcoord 7, 2
xor a
ld [hFillBox], a
- ld bc, $0707
+ lb bc, 7, 7
predef FillBox
call WaitBGMap
ret
; 1089a8
-Function1089a8: ; 1089a8
- ld de, $c6d0
+MobileTradeAnim_DisplayMonToBeSent: ; 1089a8
+ ld de, wPlayerTrademonSpecies
ld a, [de]
- cp $fd
- jr z, asm_1089fc
- call Function108a5b
- ld de, $c6d0
- call Function108a92
- ld de, $c6d1
- call Function108a9c
- ld a, [wc701]
- ld de, $c6f2
- call Function108aa3
- ld de, $c6ff
- call Function108abe
- call Function108a87
+ cp EGG
+ jr z, MobileTradeAnim_DisplayEggData
+ call MobileTradeAnim_LoadMonTemplate
+ ld de, wPlayerTrademonSpecies
+ call MobileTradeAnim_MonDisplay_PrintSpeciesNumber
+ ld de, wPlayerTrademonSpeciesName
+ call MobileTradeAnim_MonDisplay_PrintSpeciesName
+ ld a, [wPlayerTrademonCaughtData]
+ ld de, wPlayerTrademonOTName
+ call MobileTradeAnim_MonDisplay_PrintOTNameAndGender
+ ld de, wPlayerTrademonID
+ call MobileTradeAnim_MonDisplay_PrintIDNumber
+ call MobileTradeAnim_MonDisplay_UpdateBGMap
ret
-Function1089d2:
- ld de, wc702
+MobileTradeAnim_DisplayReceivedMon:
+ ld de, wOTTrademonSpecies
ld a, [de]
- cp $fd
- jr z, asm_1089fc
- call Function108a5b
- ld de, wc702
- call Function108a92
- ld de, wc703
- call Function108a9c
- ld a, [wEnemyCharging]
- ld de, wc724
- call Function108aa3
- ld de, wEnemyWrapCount
- call Function108abe
- call Function108a87
+ cp EGG
+ jr z, MobileTradeAnim_DisplayEggData
+ call MobileTradeAnim_LoadMonTemplate
+ ld de, wOTTrademonSpecies
+ call MobileTradeAnim_MonDisplay_PrintSpeciesNumber
+ ld de, wOTTrademonSpeciesName
+ call MobileTradeAnim_MonDisplay_PrintSpeciesName
+ ld a, [wOTTrademonCaughtData]
+ ld de, wOTTrademonOTName
+ call MobileTradeAnim_MonDisplay_PrintOTNameAndGender
+ ld de, wOTTrademonID
+ call MobileTradeAnim_MonDisplay_PrintIDNumber
+ call MobileTradeAnim_MonDisplay_UpdateBGMap
ret
-asm_1089fc
+MobileTradeAnim_DisplayEggData
call WaitTop
- call Function108ac8
+ call MobileTradeAnim_ClearTilemap
ld a, VBGMap1 / $100
ld [hBGMapAddress + 1], a
hlcoord 5, 0
- ld b, $6
- ld c, $9
+ ld b, 6
+ ld c, 9
call TextBox
hlcoord 6, 2
- ld de, String_108a1d
+ ld de, .EggTemplate
call PlaceString
- call Function108a87
+ call MobileTradeAnim_MonDisplay_UpdateBGMap
ret
; 108a1d
-String_108a1d: ; 108a1d
+.EggTemplate: ; 108a1d
db "タマゴ"
next "おや/?????"
- next $73, "№", $f2, "?????"
+ next "<ID>№·?????"
db "@"
; 108a33
Function108a33: ; 108a33
call WaitTop
- call Function108ac8
+ call MobileTradeAnim_ClearTilemap
ld a, VBGMap1 / $100
ld [hBGMapAddress + 1], a
hlcoord 5, 0
- ld b, $6
- ld c, $9
+ ld b, 6
+ ld c, 9
call TextBox
hlcoord 7, 4
- ld de, String_108a54
+ ld de, .OddEgg
call PlaceString
- call Function108a87
+ call MobileTradeAnim_MonDisplay_UpdateBGMap
ret
; 108a54
-String_108a54: ; 108a54
+.OddEgg: ; 108a54
db "なぞのタマゴ@"
; 108a5b
-Function108a5b: ; 108a5b
+MobileTradeAnim_LoadMonTemplate: ; 108a5b
call WaitTop
- call Function108ac8
+ call MobileTradeAnim_ClearTilemap
ld a, VBGMap1 / $100
ld [hBGMapAddress + 1], a
hlcoord 4, 0
- ld b, $6
- ld c, $a
+ ld b, 6
+ ld c, 10
call TextBox
hlcoord 5, 0
- ld de, String_108a79
+ ld de, .MonTemplate
call PlaceString
ret
; 108a79
-String_108a79: ; 108a79
- db "─ №", $f2
+.MonTemplate: ; 108a79
+ db "─ №·"
next ""
next "おや/"
- next $73, "№", $f2
+ next "<ID>№·"
db "@"
; 108a87
-Function108a87: ; 108a87
+MobileTradeAnim_MonDisplay_UpdateBGMap: ; 108a87
call WaitBGMap
call WaitTop
ld a, VBGMap0 / $100
@@ -1341,7 +1373,7 @@
ret
; 108a92
-Function108a92: ; 108a92
+MobileTradeAnim_MonDisplay_PrintSpeciesNumber: ; 108a92
hlcoord 9, 0
lb bc, PRINTNUM_LEADINGZEROS | 1, 3
call PrintNum
@@ -1348,24 +1380,23 @@
ret
; 108a9c
-Function108a9c: ; 108a9c
+MobileTradeAnim_MonDisplay_PrintSpeciesName: ; 108a9c
hlcoord 5, 2
call PlaceString
ret
; 108aa3
-Function108aa3: ; 108aa3
+MobileTradeAnim_MonDisplay_PrintOTNameAndGender: ; 108aa3
cp $3
- jr c, .asm_108aa8
+ jr c, .got_gender
xor a
-
-.asm_108aa8
+.got_gender
push af
hlcoord 8, 4
call PlaceString
inc bc
pop af
- ld hl, Unknown_108abb
+ ld hl, .GenderChars
ld d, 0
ld e, a
add hl, de
@@ -1374,11 +1405,13 @@
ret
; 108abb
-Unknown_108abb: ; 108abb
- db " ", "♂", "♀"
+.GenderChars: ; 108abb
+ db " "
+ db "♂"
+ db "♀"
; 108abe
-Function108abe: ; 108abe
+MobileTradeAnim_MonDisplay_PrintIDNumber: ; 108abe
hlcoord 8, 6
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
call PrintNum
@@ -1385,10 +1418,10 @@
ret
; 108ac8
-Function108ac8: ; 108ac8
+MobileTradeAnim_ClearTilemap: ; 108ac8
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- ld a, $7f
+ ld a, " "
call ByteFill
ret
; 108ad4
@@ -1401,12 +1434,11 @@
.asm_108adc
ld de, GFX_1091c7
-
.asm_108adf
ld a, $1
ld [rVBK], a
ld hl, VTiles2 tile $4a
- lb bc, $42, $10
+ lb bc, BANK(GFX_1092c7), 16
call Get2bpp_2
call DelayFrame
ld a, $0
@@ -1421,33 +1453,33 @@
ld [rSVBK], a
ld a, [wcf65]
and $1
- jr z, .asm_108b1c
+ jr z, .copy_palette_109147
ld hl, Palette_109187
ld de, UnknOBPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
ld hl, Palette_109187
ld de, OBPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
- jr .asm_108b34
+ jr .done_copy
-.asm_108b1c
+.copy_palette_109147
ld hl, Palette_109147
ld de, UnknOBPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
ld hl, Palette_109147
ld de, OBPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
-.asm_108b34
+.done_copy
pop af
ld [rSVBK], a
- ld a, $e4
- call Functioncf8
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
+ call DmgToCgbObjPal0
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
call DelayFrame
ret
@@ -1458,7 +1490,7 @@
push af
ld a, $5
ld [rSVBK], a
- ld de, $7fff
+ ld de, (31 << 10) + (31 << 5) + 31 ; $7fff
ld hl, UnknBGPals
ld a, e
ld [hli], a
@@ -1474,16 +1506,16 @@
push af
ld a, $5
ld [rSVBK], a
- ld de, $3ff2
- ld hl, $d0a0
+ ld de, (15 << 10) + (31 << 5) + 18 ; $3ff2
+ ld hl, BGPals + 4 palettes
ld c, $10
-.asm_108b69
+.loop
ld a, e
ld [hli], a
ld a, d
ld [hli], a
dec c
- jr nz, .asm_108b69
+ jr nz, .loop
pop af
ld [rSVBK], a
ld a, $1
@@ -1498,14 +1530,13 @@
ld [rSVBK], a
ld a, c
and $2
- jr z, .asm_108b89
- ld de, $7fff
- jr .asm_108b8c
+ jr z, .Orange
+ ld de, (31 << 10) + (31 << 5) + 31 ; $7fff
+ jr .load_pal
-.asm_108b89
- ld de, $05ff
-
-.asm_108b8c
+.Orange
+ ld de, ( 1 << 10) + (15 << 5) + 31 ; $05ff
+.load_pal
ld a, e
ld [hli], a
ld a, d
@@ -1530,15 +1561,14 @@
and $1
xor d
jr z, .asm_108bad
- ld hl, Palette_108b98 + 8
+ ld hl, Palette_108b98 + 1 palettes
jr .asm_108bb0
.asm_108bad
ld hl, Palette_108b98
-
.asm_108bb0
- ld de, UnknBGPals + 8 * 7
- ld bc, $0040
+ ld de, UnknBGPals + 7 palettes
+ ld bc, 8 palettes
call CopyBytes
pop af
ld [rSVBK], a
@@ -1545,8 +1575,8 @@
ret
; 108bbd
-Function108bbd: ; 108bbd
- callba Function8d03d
+MobileTradeAnim_DeleteSprites: ; 108bbd
+ callba DeinitializeAllSprites
call ClearSprites
ret
; 108bc7
@@ -1555,25 +1585,26 @@
ld a, [wcf64]
and a
ret z
- ld hl, $5
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
- cp $f2
- jr z, .asm_108bd9
- sub $8
+ cp -1 * 8 - 6
+ jr z, .delete
+ sub 1 * 8
ld [hl], a
ret
-.asm_108bd9
- callba Function8d036
+
+.delete
+ callba DeinitializeSprite
ret
Function108be0: ; 108be0 (42:4be0)
- ld hl, $5
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
- cp $4a
+ cp 9 * 8 + 2
ret z
- add $8
+ add 1 * 8
ld [hl], a
ret
; 108bec (42:4bec)
@@ -1581,28 +1612,28 @@
Function108bec: ; 108bec
ld a, $90
ld [hWY], a
- ld hl, UnknownText_0x108c07
+ ld hl, .PlayerWillTradeMon
call PrintText
- ld c, $50
+ ld c, 80
call DelayFrames
- ld hl, UnknownText_0x108c0c
+ ld hl, .ForPartnersMon
call PrintText
- ld c, $50
+ ld c, 80
call DelayFrames
ret
; 108c07
-UnknownText_0x108c07: ; 0x108c07
+.PlayerWillTradeMon: ; 0x108c07
text_jump UnknownText_0x1bc787
db "@"
; 0x108c0c
-UnknownText_0x108c0c: ; 0x108c0c
+.ForPartnersMon: ; 0x108c0c
text_jump UnknownText_0x1bc79d
db "@"
; 0x108c11
-UnknownText_0x108c11: ; 0x108c11
+.UnusedTextPlayersMonTrade: ; 0x108c11
text_jump UnknownText_0x1bc7b0
db "@"
; 0x108c16
@@ -1610,14 +1641,14 @@
Function108c16: ; 108c16
ld a, $90
ld [hWY], a
- ld hl, UnknownText_0x108c26
+ ld hl, .TakeGoodCareOfMon
call PrintText
- ld c, $50
+ ld c, 80
call DelayFrames
ret
; 108c26
-UnknownText_0x108c26: ; 0x108c26
+.TakeGoodCareOfMon: ; 0x108c26
text_jump UnknownText_0x1bc7c3
db "@"
; 0x108c2b
@@ -1625,16 +1656,16 @@
Function108c2b: ; 108c2b
ld a, $90
ld [hWY], a
- ld hl, UnknownText_0x108c3b
+ ld hl, .PlayersMonTrade
call PrintText
- ld c, $50
+ ld c, 80
call DelayFrames
ret
; 108c3b
-UnknownText_0x108c3b: ; 0x108c3b
+.PlayersMonTrade: ; 0x108c3b
text_jump UnknownText_0x1bc7dd
- db $50
+ db "@"
; 0x108c40
Function108c40: ; 108c40
@@ -1641,28 +1672,28 @@
ld a, $90
ld [hWY], a
ld a, [wcf65]
- and $80
- jr z, .asm_108c57
- ld hl, UnknownText_0x108c68
+ and %10000000
+ jr z, .Getmon
+ ld hl, .CameBack
call PrintText
- ld c, $50
+ ld c, 80
call DelayFrames
ret
-.asm_108c57
- ld hl, UnknownText_0x108c63
+.Getmon
+ ld hl, .TakeGoodCareOf
call PrintText
- ld c, $50
+ ld c, 80
call DelayFrames
ret
; 108c63
-UnknownText_0x108c63: ; 0x108c63
+.TakeGoodCareOf: ; 0x108c63
text_jump UnknownText_0x1bc7f0
db "@"
; 0x108c68
-UnknownText_0x108c68: ; 0x108c68
+.CameBack: ; 0x108c68
text_jump UnknownText_0x1bc80a
db "@"
; 0x108c6d
@@ -1691,81 +1722,81 @@
ret
; 108c9b
-Function108c9b: ; 108c9b
-; localization error: $b should be 6 here
+DebugMobileTrade: ; 108c9b
+; localization error: NAME_LENGTH (11) should be 6 here
- ld hl, Unknown_108ce9
+ ld hl, .DebugTradeData
ld a, [hli]
- ld [$c6d0], a
+ ld [wPlayerTrademonSpecies], a
- ld de, $c6e7
- ld c, $b
-.asm_108ca7
+ ld de, wPlayerTrademonSenderName
+ ld c, NAME_LENGTH
+.your_name_loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_108ca7
+ jr nz, .your_name_loop
- ld de, $c6ff
- ld c, $2
-.asm_108cb2
+ ld de, wPlayerTrademonID
+ ld c, 2
+.your_id_loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_108cb2
+ jr nz, .your_id_loop
- ld de, $c6f2
- ld c, $b
-.asm_108cbd
+ ld de, wPlayerTrademonOTName
+ ld c, NAME_LENGTH
+.your_ot_loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_108cbd
+ jr nz, .your_ot_loop
ld a, [hli]
- ld [wc702], a
+ ld [wOTTrademonSpecies], a
- ld de, wc719
- ld c, $b
-.asm_108ccc
+ ld de, wOTTrademonSenderName
+ ld c, NAME_LENGTH
+.their_name_loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_108ccc
+ jr nz, .their_name_loop
- ld de, wEnemyWrapCount
- ld c, $2
-.asm_108cd7
+ ld de, wOTTrademonID
+ ld c, 2
+.their_id_loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_108cd7
+ jr nz, .their_id_loop
- ld de, wc724
- ld c, $b
-.asm_108ce2
+ ld de, wOTTrademonOTName
+ ld c, NAME_LENGTH
+.their_ot_loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_108ce2
+ jr nz, .their_ot_loop
ret
; 108ce9
-Unknown_108ce9:
- db 3
+.DebugTradeData:
+ db VENUSAUR
db "ゲーフり@@"
- db $23, $01
+ dw $0123
db "かびーん@@"
- db 6
+ db CHARIZARD
db "クりーチャ@"
- db $56, $04
+ dw $0456
db "マツミヤ@@"
; 108d07
@@ -1777,12 +1808,12 @@
ld a, $7
.asm_108d12
- ld bc, $0008
+ ld bc, 1 palettes
ld hl, Palette_1093c7
call AddNTimes
ld a, $5
- ld de, wd020
- ld bc, $0008
+ ld de, UnknBGPals + 4 palettes
+ ld bc, 1 palettes
call FarCopyWRAM
ret
; 108d27
@@ -1800,12 +1831,16 @@
INCBIN "gfx/unknown/1090a7.tilemap.lz"
Palette_1090f7:
+; unreferenced
RGB 31, 31, 31
RGB 0, 0, 0
+
RGB 31, 0, 25
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 0, 0, 0
+
RGB 9, 19, 31
RGB 0, 0, 0
@@ -1814,30 +1849,37 @@
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 15, 1
RGB 14, 14, 31
RGB 12, 9, 31
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 14, 14, 31
RGB 12, 9, 31
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 31, 7, 9
RGB 18, 0, 1
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 15, 1
RGB 18, 0, 30
RGB 9, 0, 17
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 18, 0, 30
RGB 9, 0, 17
@@ -1848,30 +1890,37 @@
RGB 31, 31, 12
RGB 31, 13, 12
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 31, 23, 15
RGB 31, 18, 7
RGB 31, 15, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 31, 0, 25
RGB 31, 0, 25
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 9, 19, 31
RGB 9, 19, 31
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 0, 0, 0
RGB 0, 0, 0
@@ -1882,30 +1931,37 @@
RGB 31, 31, 12
RGB 31, 13, 12
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 31, 23, 15
RGB 31, 18, 7
RGB 31, 15, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 9, 19, 31
RGB 9, 19, 31
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 31, 0, 25
RGB 31, 0, 25
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 0, 0, 0
RGB 0, 0, 0
@@ -1921,30 +1977,37 @@
RGB 4, 13, 31
RGB 0, 0, 31
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 31, 31, 0
RGB 31, 15, 0
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 9, 24, 0
RGB 2, 16, 0
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 31, 7, 9
RGB 18, 0, 1
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 28, 5, 31
RGB 17, 0, 17
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 9, 9, 9
RGB 4, 4, 4
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 31, 13, 21
RGB 27, 7, 12
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 21, 20, 20
RGB 14, 14, 31
--- a/misc/mobile_45.asm
+++ b/misc/mobile_45.asm
@@ -78,45 +78,45 @@
; 11417f
Unknown_11417f: ; 11417f
- dw String_114199
- dw String_11419f
- dw String_1141a7
- dw String_1141b1
- dw String_1141b5
- dw String_1141b9
- dw String_1141c2
- dw String_1141c8
- dw String_1141d6
- dw String_1141e4
- dw String_1141ee
- dw String_1141fc
- dw String_114209
+ dw .From
+ dw .Sender
+ dw .ReplyTo
+ dw .To
+ dw .CC
+ dw .Subject
+ dw .Date
+ dw .ContentType
+ dw .MimeVersion
+ dw .XMailer
+ dw .XGameTitle
+ dw .XGameCode
+ dw .XGBMailType
-String_114199: ; 114199
+.From: ; 114199
db "FROM:", 0
-String_11419f: ; 11419f
+.Sender: ; 11419f
db "SENDER:", 0
-String_1141a7: ; 1141a7
+.ReplyTo: ; 1141a7
db "REPLY-TO:", 0
-String_1141b1: ; 1141b1
+.To: ; 1141b1
db "TO:", 0
-String_1141b5: ; 1141b5
+.CC: ; 1141b5
db "CC:", 0
-String_1141b9: ; 1141b9
+.Subject: ; 1141b9
db "SUBJECT:", 0
-String_1141c2: ; 1141c2
+.Date: ; 1141c2
db "DATE:", 0
-String_1141c8: ; 1141c8
+.ContentType: ; 1141c8
db "CONTENT-TYPE:", 0
-String_1141d6: ; 1141d6
+.MimeVersion: ; 1141d6
db "MIME-VERSION:", 0
-String_1141e4: ; 1141e4
+.XMailer: ; 1141e4
db "X-MAILER:", 0
-String_1141ee: ; 1141ee
+.XGameTitle: ; 1141ee
db "X-GAME-TITLE:", 0
-String_1141fc: ; 1141fc
+.XGameCode: ; 1141fc
db "X-GAME-CODE:", 0
-String_114209: ; 114209
+.XGBMailType: ; 114209
db "X-GBMAIL-TYPE:", 0
; 114218
@@ -131,10 +131,10 @@
; 114243
Function114243:: ; 114243
- ld a, $a
+ ld a, SRAM_ENABLE
ld [MBC3SRamEnable], a
- ld a, [$ff8c]
- push af
+ ld a, [hFF8C]
+ push af ; if [wdc02] == 0, this is popped to pc.
push de
ld a, [wdc02]
add a
@@ -153,9 +153,9 @@
ld [wdc02], a
pop af
rept 2
- ld [$ff8c], a
+ ld [hFF8C], a
endr
- ld [$4000], a
+ ld [MBC3SRamBank], a
ret
; 114268
@@ -171,8 +171,8 @@
ld [wdc03], a
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -370,8 +370,8 @@
pop bc
ld a, [wdc03]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
call Function114c0b
ld hl, String_114004
.asm_114394
@@ -429,8 +429,8 @@
push af
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld h, [hl]
ld l, a
@@ -473,7 +473,7 @@
jr nc, .asm_114400
.asm_114407
- ld bc, VBlank5
+ lb bc, $4, $0
ld a, $2
ret
@@ -486,8 +486,8 @@
Function114412: ; 114412
ld a, c
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld hl, Unknown_11417f
ld a, b
add a
@@ -506,17 +506,17 @@
jp z, .asm_1144c2
inc e
call z, Function1144c8
- cp $d
+ cp $d ; CR
jr nz, .asm_11442b
ld a, [de]
inc e
call z, Function1144c8
- cp $a
+ cp $a ; NL
jr nz, .asm_11442b
ld a, [de]
- cp $2e
+ cp $2e ; .
jr z, .asm_1144ae
- cp $d
+ cp $d ; CR
jr z, .asm_1144b8
.asm_11444a
@@ -527,9 +527,9 @@
jr z, .asm_1144c2
inc e
call z, Function1144c8
- cp $61
+ cp $61 ; "a"
jr c, .asm_114462
- cp $7b
+ cp $7b ; "z" + 1
jr nc, .asm_114462
sub $20
@@ -553,10 +553,10 @@
jr .asm_11446e
.asm_114476
- ld a, $20
+ ld a, $20 ; " "
cp b
jr z, .asm_114481
- ld a, $a
+ ld a, $a ; NL
cp b
jr z, .asm_114481
dec de
@@ -572,18 +572,18 @@
inc bc
inc e
call z, Function1144c8
- cp $d
+ cp $d ; CR
jr nz, .asm_114486
ld a, [de]
inc bc
inc e
call z, Function1144c8
- cp $a
+ cp $a ; NL
jr nz, .asm_114486
ld a, [de]
- cp $20
+ cp $20 ; " "
jr z, .asm_114486
- cp $9
+ cp $9 ; TAB
jr z, .asm_114486
ld d, h
ld e, l
@@ -596,7 +596,7 @@
inc e
call z, Function1144c8
ld a, [de]
- cp $d
+ cp $d ; CR
jp nz, .asm_11442b
.asm_1144b8
@@ -603,7 +603,7 @@
inc e
call z, Function1144c8
ld a, [de]
- cp $a
+ cp $a ; NL
jp nz, .asm_11442b
.asm_1144c2
@@ -676,8 +676,8 @@
pop hl
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -693,8 +693,8 @@
ld hl, wdc06
ld a, [hl]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld hl, wdc09
ld e, [hl]
inc hl
@@ -753,8 +753,8 @@
jr nz, .asm_1145b4
ld a, h
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
push hl
push de
push bc
@@ -771,8 +771,8 @@
jr nz, .asm_1145ba
ld a, h
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld hl, String_114218
call Function114acf
@@ -945,8 +945,8 @@
pop de
pop af
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
xor a
ld [Carpet], a
ld a, $1
@@ -968,8 +968,8 @@
ld hl, wdc03
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -982,8 +982,8 @@
ld hl, wdc03
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -1027,8 +1027,8 @@
ld hl, wdc03
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -1041,8 +1041,8 @@
ld a, $1
ld [wdc0e], a
ld a, [wdc00]
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, $1
ld [RightOrnament], a
call Function1147cd
@@ -1068,8 +1068,8 @@
ld hl, wdc03
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -1123,8 +1123,8 @@
ld hl, wdc03
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
call Function114a7a
and a
jr z, .asm_1147cb
@@ -1236,8 +1236,8 @@
ld a, [wdc00]
push af
push de
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
call Function114a18
and a
jr nz, .asm_11485f
@@ -1260,8 +1260,8 @@
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -1327,8 +1327,8 @@
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -1427,8 +1427,8 @@
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -1519,8 +1519,8 @@
ld hl, wdc06
ld a, [hl]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
push de
ld hl, wdc09
ld e, [hl]
@@ -1874,8 +1874,8 @@
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -1913,8 +1913,8 @@
jr nz, .asm_114bff
ld a, h
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
call Function114c0b
ld hl, wdc24
call Function114c5e
@@ -1924,8 +1924,8 @@
pop hl
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld d, [hl]
@@ -2136,8 +2136,8 @@
ld [wdc04], a
ld a, h
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld hl, wdc24
call Function114d39
ld hl, wdc24
@@ -2155,8 +2155,8 @@
pop hl
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -2460,8 +2460,8 @@
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -2666,8 +2666,8 @@
inc hl
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -2745,8 +2745,8 @@
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -2804,8 +2804,8 @@
ld c, a
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -2958,8 +2958,8 @@
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -3013,8 +3013,8 @@
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -3133,8 +3133,8 @@
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -3228,8 +3228,8 @@
inc hl
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -3483,8 +3483,8 @@
.asm_1153f5
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -3617,8 +3617,8 @@
ld hl, RightOrnament
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -3854,8 +3854,8 @@
ld [wCurrentMapSignpostCount], a
ld a, [wdc17]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld hl, wdc1a
ld c, [hl]
inc hl
@@ -3927,8 +3927,8 @@
ld [hl], d
pop bc
ld a, [wCurrentMapSignpostCount]
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld hl, wCurrMapTriggerCount
ld e, [hl]
inc hl
@@ -4238,8 +4238,8 @@
ld hl, wdc02
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -4292,8 +4292,8 @@
ld hl, wCurrMapTriggerCount
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -4767,8 +4767,8 @@
ld hl, wdc02
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -4856,8 +4856,8 @@
ld hl, wCurrMapTriggerCount
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -5258,8 +5258,8 @@
ld a, [bc]
inc a
ld [bc], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, e
ld d, $a0
ld e, $0
@@ -5588,7 +5588,7 @@
Function11615a: ; 11615a
xor a
ld [wc30d], a
- ld [wc314 + 5], a
+ ld [$c319], a
ld [wc310], a
ld [wc311], a
ld [wc312], a
@@ -5617,7 +5617,7 @@
ld a, [wc30d]
and a
ret z
- ld a, [wc314 + 5]
+ ld a, [$c319]
cp $2
jr c, .asm_1161b4
ld a, $a0
@@ -5631,10 +5631,10 @@
; 1161b8
Function1161b8: ; 1161b8
- ld a, [wc314 + 5]
+ ld a, [$c319]
ld e, a
ld d, 0
- ld hl, Jumptable_1161c7
+ ld hl, .Jumptable
rept 2
add hl, de
endr
@@ -5644,7 +5644,7 @@
jp [hl]
; 1161c7
-Jumptable_1161c7: ; 1161c7
+.Jumptable: ; 1161c7
dw Function1161d5
dw Function116294
dw Function1162cb
@@ -5662,16 +5662,17 @@
ld [rSVBK], a
ld hl, Unknown_117356
- ld de, w6_d000
+ ld de, wDecompressScratch
ld bc, $0300
call CopyBytes
di
-.asm_1161e9
+.wait_for_vblank
+; Wait until a vblank would occur had interrupts not just been disabled.
ld a, [rLY]
cp $91
- jr nz, .asm_1161e9
+ jr nz, .wait_for_vblank
ld a, $d0
ld [rHDMA1], a
@@ -5755,12 +5756,12 @@
ld [MusicFade], a
ld de, MUSIC_MOBILE_ADAPTER
ld a, e
- ld [wc2a9], a
+ ld [MusicFadeIDLo], a
ld a, d
- ld [wc2aa], a
- ld a, [wc314 + 5]
+ ld [MusicFadeIDHi], a
+ ld a, [$c319]
inc a
- ld [wc314 + 5], a
+ ld [$c319], a
ret
; 11628c
@@ -5774,20 +5775,20 @@
Function116294: ; 116294
callba Function170d02
- ld a, [wc314 + 5]
+ ld a, [$c319]
inc a
- ld [wc314 + 5], a
+ ld [$c319], a
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
- ld hl, wd030
- ld de, wc314 + 12
- ld bc, $0010
+ ld hl, UnknBGPals + 8 * 6
+ ld de, $c320
+ ld bc, 2 palettes
call CopyBytes
ld hl, Palette_11734e
ld de, UnknBGPals + 8 * 7
- ld bc, $0008
+ ld bc, 1 palettes
call CopyBytes
call SetPalettes
pop af
@@ -5799,16 +5800,16 @@
Function1162cb: ; 1162cb
callba Function170cc6
- ld a, [wc314 + 5]
+ ld a, [$c319]
inc a
- ld [wc314 + 5], a
+ ld [$c319], a
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_11730e
- ld de, wd050
- ld bc, $0030
+ ld de, UnknOBPals + 2 palettes
+ ld bc, 6 palettes
call CopyBytes
call SetPalettes
pop af
@@ -5821,7 +5822,7 @@
call Function116758
call Function1167a6
ld a, [wc310]
- cp $fd
+ cp EGG
ret z
sla a
ld c, a
@@ -5924,7 +5925,7 @@
ld [rSVBK], a
ld a, $a0
ld hl, Sprites
- ld bc, $0040
+ ld bc, 16 * 4
call ByteFill
ld a, $90
ld [hWY], a
@@ -5934,12 +5935,12 @@
callba ReloadMapPart
ld a, $8
ld [MusicFade], a
- ld a, [wc2c0]
- ld [wc2a9], a
+ ld a, [wMapMusic]
+ ld [MusicFadeIDLo], a
xor a
- ld [wc2aa], a
+ ld [MusicFadeIDHi], a
xor a
- ld [wc314 + 5], a
+ ld [$c319], a
ld [wc30d], a
ret
; 1163c0
@@ -5951,17 +5952,17 @@
ld [rSVBK], a
ld a, $a0
ld hl, Sprites
- ld bc, $0040
+ ld bc, 16 * 4
call ByteFill
call DelayFrame
callba Function14146
- ld b, SCGB_09
+ ld b, SCGB_MAPPALS
call GetSGBLayout
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
- ld hl, wc314 + 12
+ ld hl, $c320
ld de, wd030
ld bc, $0010
call CopyBytes
@@ -5981,10 +5982,10 @@
jr z, .asm_11642a
ld a, $8
ld [MusicFade], a
- ld a, [wc2c0]
- ld [wc2a9], a
+ ld a, [wMapMusic]
+ ld [MusicFadeIDLo], a
xor a
- ld [wc2aa], a
+ ld [MusicFadeIDHi], a
jr .asm_116439
.asm_11642a
@@ -5991,13 +5992,13 @@
ld a, $8
ld [MusicFade], a
ld a, $0
- ld [wc2a9], a
+ ld [MusicFadeIDLo], a
ld a, $0
- ld [wc2aa], a
+ ld [MusicFadeIDHi], a
.asm_116439
xor a
- ld [wc314 + 5], a
+ ld [$c319], a
ld [wc30d], a
ret
; 116441
@@ -6009,12 +6010,12 @@
callba ReloadMapPart
ld a, $8
ld [MusicFade], a
- ld a, [wc2c0]
- ld [wc2a9], a
+ ld a, [wMapMusic]
+ ld [MusicFadeIDLo], a
xor a
- ld [wc2aa], a
+ ld [MusicFadeIDHi], a
xor a
- ld [wc314 + 5], a
+ ld [$c319], a
ld [wc30d], a
ret
; 116468
@@ -6424,7 +6425,7 @@
cp $ff
ret nz
ld a, $4
- ld [wc314 + 5], a
+ ld [$c319], a
xor a
ld [wc314], a
ret
@@ -7595,7 +7596,7 @@
RGB 10, 9, 9
RGB 15, 14, 14
-Unknown_117356:
+Unknown_117356: ; 117356
db $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9
db $c9, $c9, $c9, $c9, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1
db $c5, $c6, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2
@@ -7650,7 +7651,7 @@
SECTION "Mobile Stadium", ROMX, BANK[$45]
-Function117656: ; 117656
+Special_GiveOddEgg: ; 117656
callba GiveOddEgg
ret
; 11765d
@@ -7712,20 +7713,22 @@
call ClearSprites
callba Function171c87
callba ReloadMapPart
- callba Function8cf53
+ callba ClearSpriteAnims
ret
Function1176ee: ; 1176ee (45:76ee)
+.loop
call JoyTextDelay
ld a, [wcd49]
bit 7, a
- jr nz, .asm_117709
+ jr nz, .quit
call Function117719
- callba Function8cf69
+ callba PlaySpriteAnimations
callba ReloadMapPart
- jr Function1176ee
-.asm_117709
- callba Function8cf53
+ jr .loop
+
+.quit
+ callba ClearSpriteAnims
call ClearBGPalettes
call ClearScreen
call ClearSprites
@@ -7773,7 +7776,7 @@
ld [hl], a
ld a, $3
ld [wcd23], a
- jp Function117a0a
+ jp MobilePassword_IncrementJumptable
Function117764: ; 117764 (45:7764)
ld a, [wcd4a]
@@ -7787,37 +7790,37 @@
ld [wcd24], a
ld hl, hJoyPressed ; $ffa7
ld a, [hl]
- and $4
- jr nz, Function1177a5
+ and SELECT
+ jr nz, Function117764_select
ld a, [hl]
- and $8
- jr nz, Function1177ac
+ and START
+ jr nz, Function117764_start
ld a, [hl]
- and $1
- jp nz, Function11784c
+ and A_BUTTON
+ jp nz, Function117764_a_button
ld a, [hl]
- and $2
- jr nz, asm_1177d6
+ and B_BUTTON
+ jr nz, Function117764_b_button
ld hl, hJoyLast
ld a, [hl]
- and $40
- jr nz, asm_1177f1
+ and D_UP
+ jr nz, Function117764_d_up
ld a, [hl]
- and $80
- jr nz, asm_11780a
+ and D_DOWN
+ jr nz, Function117764_d_down
ld a, [hl]
- and $20
- jp nz, Function11782d
+ and D_LEFT
+ jp nz, Function117764_d_left
ld a, [hl]
- and $10
- jp nz, Function117837
+ and D_RIGHT
+ jp nz, Function117764_d_right
ret
-Function1177a5: ; 1177a5 (45:77a5)
+Function117764_select: ; 1177a5 (45:77a5)
callba Function171cf0
ret
-Function1177ac: ; 1177ac (45:77ac)
+Function117764_start: ; 1177ac (45:77ac)
ld a, $2
ld [wcd4c], a
ld a, $4
@@ -7830,7 +7833,8 @@
ld a, [wcd4a]
and a
jr z, .asm_1177c5
- jp Function117a0a
+ jp MobilePassword_IncrementJumptable
+
.asm_1177c5
ld a, $6
ld [wcd49], a
@@ -7840,8 +7844,9 @@
ld a, $80
ld [wcd49], a
ld [ScriptVar], a
- jp Function117a0a
-asm_1177d6: ; 1177d6 (45:77d6)
+ jp MobilePassword_IncrementJumptable
+
+Function117764_b_button: ; 1177d6 (45:77d6)
call PlayClickSFX
ld a, [wcd4a]
and a
@@ -7858,7 +7863,8 @@
add hl, de
ld [hl], a
ret
-asm_1177f1: ; 1177f1 (45:77f1)
+
+Function117764_d_up: ; 1177f1 (45:77f1)
ld a, [wcd4d]
and a
ret z
@@ -7871,10 +7877,10 @@
sla a
sla a
add e
-asm_117806: ; 117806 (45:7806)
+Function117764_d_vertical_load: ; 117806 (45:7806)
ld [wcd4c], a
ret
-asm_11780a: ; 11780a (45:780a)
+Function117764_d_down: ; 11780a (45:780a)
ld a, [wcd4d]
cp $4
ret z
@@ -7888,15 +7894,15 @@
cp $5
jr nc, .asm_117829
xor a
- jr asm_117806
+ jr Function117764_d_vertical_load
.asm_117825
ld a, $2
- jr asm_117806
+ jr Function117764_d_vertical_load
.asm_117829
ld a, $1
- jr asm_117806
+ jr Function117764_d_vertical_load
-Function11782d: ; 11782d (45:782d)
+Function117764_d_left: ; 11782d (45:782d)
ld a, [wcd4c]
and a
ret z
@@ -7904,13 +7910,13 @@
ld [wcd4c], a
ret
-Function117837: ; 117837 (45:7837)
+Function117764_d_right: ; 117837 (45:7837)
ld e, $d
ld a, [wcd4d]
cp $4
- jr nz, .asm_117842
+ jr nz, .wrap
ld e, $2
-.asm_117842
+.wrap
ld a, [wcd4c]
cp e
ret z
@@ -7918,33 +7924,34 @@
ld [wcd4c], a
ret
-Function11784c: ; 11784c (45:784c)
+Function117764_a_button: ; 11784c (45:784c)
call PlayClickSFX
ld a, [wcd4d]
cp $4
- jr nz, .asm_117866
+ jr nz, .not_4
ld a, [wcd4c]
cp $2
jp z, Function1177b7
cp $1
jp z, Function1177cb
- jp Function1177a5
-.asm_117866
+ jp Function117764_select
+
+.not_4
ld a, [wcd4a]
ld e, a
cp $10
- jp z, Function1177ac
+ jp z, Function117764_start
inc a
ld [wcd4a], a
ld d, $0
ld a, [wcd4b]
and a
- jr nz, .asm_117880
+ jr nz, .ascii_symbols
ld hl, Unknown_117a0f
- jr .asm_117883
-.asm_117880
+ jr .got_ascii
+.ascii_symbols
ld hl, Unknown_117a47
-.asm_117883
+.got_ascii
push de
ld a, [wcd4c]
ld b, a
@@ -7967,7 +7974,7 @@
ld a, e
cp $f
ret nz
- jp Function1177ac
+ jp Function117764_start
Function1178aa: ; 1178aa (45:78aa)
ld hl, MenuDataHeader_1179b5
@@ -7980,27 +7987,27 @@
call MenuBoxCoord2Tile
callba ReloadMapPart
hlcoord 16, 8
- ld de, String_1179c5
+ ld de, YessNoString_1179c5
call PlaceString
hlcoord 15, 10
- ld a, $ed
+ ld a, "▶"
ld [hl], a
hlcoord 1, 14
- ld de, String_1179cc
+ ld de, AskSavePasswordString
call PlaceString
ld a, $1
ld [wcd4e], a
- jp Function117a0a
+ jp MobilePassword_IncrementJumptable
Function1178e8: ; 1178e8 (45:78e8)
ld a, [hJoyPressed]
- cp $2
- jr z, .asm_117939
- cp $1
- jr z, .asm_117925
- cp $80
- jr z, .asm_11790f
- cp $40
+ cp B_BUTTON
+ jr z, .b_button
+ cp A_BUTTON
+ jr z, .a_button
+ cp D_DOWN
+ jr z, .d_down
+ cp D_UP
ret nz
ld a, [wcd4e]
and a
@@ -8008,13 +8015,14 @@
dec a
ld [wcd4e], a
hlcoord 15, 8
- ld a, $ed
+ ld a, "▶"
ld [hl], a
hlcoord 15, 10
- ld a, $7f
+ ld a, " "
ld [hl], a
ret
-.asm_11790f
+
+.d_down
ld a, [wcd4e]
and a
ret nz
@@ -8021,30 +8029,32 @@
inc a
ld [wcd4e], a
hlcoord 15, 8
- ld a, $7f
+ ld a, " "
ld [hl], a
hlcoord 15, 10
- ld a, $ed
+ ld a, "▶"
ld [hl], a
ret
-.asm_117925
+
+.a_button
call PlayClickSFX
ld a, [wcd4e]
and a
- jr nz, .asm_117939
+ jr nz, .b_button
call ExitMenu
ld a, $1
ld [wcd4f], a
- jp Function117a0a
-.asm_117939
+ jp MobilePassword_IncrementJumptable
+
+.b_button
call ExitMenu
call ExitMenu
- jp Function117a0a
+ jp MobilePassword_IncrementJumptable
Function117942: ; 117942 (45:7942)
call SpeechTextBox
hlcoord 1, 14
- ld de, String_1179f7
+ ld de, SavedPasswordString
call PlaceString
ld a, $1e
ld [wcd4e], a
@@ -8051,16 +8061,16 @@
ld a, $5
call GetSRAMBank
ld a, [wcd4f]
- ld [$aa4b], a
+ ld [sMobileLoginPassword], a
ld hl, wc708
- ld de, $aa4c
- ld bc, $11
+ ld de, sMobileLoginPassword + 1
+ ld bc, LOGIN_PASSWORD_LENGTH
call CopyBytes
call CloseSRAM
ld a, [wcd4f]
and a
jr z, asm_11797e
- call Function117a0a
+ call MobilePassword_IncrementJumptable
Function117976: ; 117976 (45:7976)
ld hl, wcd4e
@@ -8079,11 +8089,11 @@
call MenuBoxCoord2Tile
callba ReloadMapPart
hlcoord 1, 14
- ld de, String_1179e1
+ ld de, NotAPokemonPasswordString
call PlaceString
ld a, $1e
ld [wcd4e], a
- call Function117a0a
+ call MobilePassword_IncrementJumptable
Function1179a7: ; 1179a7 (45:79a7)
ld hl, wcd4e
@@ -8112,27 +8122,27 @@
; 1179c5
-String_1179c5: ; 1179c5
+YessNoString_1179c5: ; 1179c5
db "はい"
next "いいえ@"
; 1179cc
-String_1179cc: ; 1179cc
- db "こ", $25, "パスワード", $1f, "ほぞんして"
+AskSavePasswordString: ; 1179cc
+ db "こ%パスワード¯ほぞんして"
line "おきますか?@"
; 1179e1
-String_1179e1: ; 1179e1
- db "パスワード", $4a, "にゅうりょく"
+NotAPokemonPasswordString: ; 1179e1
+ db "パスワード<PKMN>にゅうりょく"
line "されていません!@"
; 1179f7
-String_1179f7: ; 1179f7
- db "ログインパスワード", $1f, "ほぞん"
+SavedPasswordString: ; 1179f7
+ db "ログインパスワード¯ほぞん"
line "しました@"
; 117a0a
-Function117a0a: ; 117a0a (45:7a0a)
+MobilePassword_IncrementJumptable: ; 117a0a (45:7a0a)
ld hl, wcd49
inc [hl]
ret
@@ -8192,7 +8202,7 @@
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
- jr nz, .asm_117ae2 ; 0x117ad5 $b
+ jr nz, .asm_117ae2
call Function117ae9
callba Function104000
jr Function117acd
@@ -8205,7 +8215,7 @@
ld a, [wJumptableIndex]
ld e, a
ld d, $0
- ld hl, Pointers117af8
+ ld hl, .Jumptable
rept 2
add hl, de
endr
@@ -8214,7 +8224,7 @@
ld l, a
jp [hl]
-Pointers117af8: ; 0x117af8
+.Jumptable: ; 0x117af8
dw Function117b06
dw Function117b14
dw Function117b28
@@ -8227,25 +8237,25 @@
callba Function172eb9
ld a, $10
ld [wcf64], a
- jp Function117cdd
+ jp MobileStudium_JumptableIncrement
Function117b14:
ld hl, wcf64
dec [hl]
ret nz
- ld hl, Data117cbc
+ ld hl, MenuDataHeader_117cbc
call LoadMenuDataHeader
call MenuBox
call MenuBoxCoord2Tile
- jp Function117cdd
+ jp MobileStudium_JumptableIncrement
Function117b28:
ld hl, MobileStadiumEntryText
call PrintText
- jp Function117cdd
+ jp MobileStudium_JumptableIncrement
Function117b31:
- ld hl, Data117cc4
+ ld hl, MenuDataHeader_117cc4
call LoadMenuDataHeader
call MenuBox
call MenuBoxCoord2Tile
@@ -8255,17 +8265,17 @@
hlcoord 15, 8
ld a, "▶"
ld [hl], a
- jp Function117cdd
+ jp MobileStudium_JumptableIncrement
Function117b4f:
ld a, [hJoyPressed]
- cp $2
- jr z, .asm_117ba4 ; 0x117b53 $4f
- cp $1
- jr z, .asm_117b8c ; 0x117b57 $33
- cp $80
- jr z, .asm_117b76 ; 0x117b5b $19
- cp $40
+ cp B_BUTTON
+ jr z, .b_button
+ cp A_BUTTON
+ jr z, .a_button
+ cp D_DOWN
+ jr z, .d_down
+ cp D_UP
ret nz
ld a, [wcf64]
and a
@@ -8279,7 +8289,8 @@
ld a, " "
ld [hl], a
ret
-.asm_117b76
+
+.d_down
ld a, [wcf64]
and a
ret nz
@@ -8292,16 +8303,18 @@
ld a, "▶"
ld [hl], a
ret
-.asm_117b8c
+
+.a_button
call PlayClickSFX
ld a, [wcf64]
and a
- jr nz, .asm_117ba4 ; 0x117b93 $f
+ jr nz, .b_button
call ExitMenu
call ExitMenu
callba ReloadMapPart
- jp Function117cdd
-.asm_117ba4
+ jp MobileStudium_JumptableIncrement
+
+.b_button
call ExitMenu
call ExitMenu
callba ReloadMapPart
@@ -8317,9 +8330,9 @@
call ClearSprites
ld a, [wc300]
and a
- jr z, .asm_117be7 ; 0x117bca $1b
+ jr z, .asm_117be7
cp $a
- jr z, .asm_117be1 ; 0x117bce $11
+ jr z, .asm_117be1
.asm_117bd0
ld a, $2
ld [wc303], a
@@ -8338,14 +8351,14 @@
ld [rSVBK], a
ld a, [wcd89]
and $1
- jr nz, .asm_117c16 ; 0x117bf3 $21
- ld a, [wd000]
+ jr nz, .asm_117c16
+ ld a, [w3_d000]
cp $fe
- jr nz, .asm_117c16 ; 0x117bfa $1a
- ld a, [wd001]
+ jr nz, .asm_117c16
+ ld a, [w3_d001]
cp $f
- jr nz, .asm_117c16 ; 0x117c01 $13
- ld hl, $e000 - 20
+ jr nz, .asm_117c16
+ ld hl, w3_dfec
ld de, wcd69
ld c, $10
.asm_117c0b
@@ -8352,17 +8365,17 @@
ld a, [de]
inc de
cp [hl]
- jr nz, .asm_117c16 ; 0x117c0e $6
+ jr nz, .asm_117c16
inc hl
dec c
- jr nz, .asm_117c0b ; 0x117c12 $f7
- jr .asm_117c20 ; 0x117c14 $a
+ jr nz, .asm_117c0b
+ jr .asm_117c20
.asm_117c16
pop af
ld [rSVBK], a
ld a, $d3
ld [wc300], a
- jr .asm_117bd0 ; 0x117c1e $b0
+ jr .asm_117bd0
.asm_117c20
pop af
ld [rSVBK], a
@@ -8373,7 +8386,7 @@
ld [rSVBK], a
ld a, $7
call GetSRAMBank
- ld hl, wd002
+ ld hl, w3_d002
ld de, $b000
ld bc, $1000
call CopyBytes
@@ -8380,10 +8393,10 @@
call CloseSRAM
pop af
ld [rSVBK], a
- jp Function117cdd
+ jp MobileStudium_JumptableIncrement
Function117c4a:
- ld hl, Data117cbc
+ ld hl, MenuDataHeader_117cbc
call LoadMenuDataHeader
call MenuBox
call MenuBoxCoord2Tile
@@ -8394,19 +8407,19 @@
push af
ld a, $5
ld [rSVBK], a
- ld hl, wd000
- ld de, $0008
- ld c, $8
-.asm_117c71
+ ld hl, UnknBGPals
+ ld de, 1 palettes
+ ld c, 8
+.loop
push hl
- ld a, $ff
+ ld a, $7fff % $100
ld [hli], a
- ld a, " "
+ ld a, $7fff / $100
ld [hl], a
pop hl
add hl, de
dec c
- jr nz, .asm_117c71 ; 0x117c7b $f4
+ jr nz, .loop
call RotateThreePalettesRight
pop af
ld [rSVBK], a
@@ -8432,7 +8445,7 @@
dec bc
ld a, b
or c
- jr nz, .asm_117c97 ; 0x117ca2 $f3
+ jr nz, .asm_117c97
ld a, l
ld [wcd83], a
ld a, h
@@ -8439,21 +8452,28 @@
ld [wcd84], a
ld hl, $bfea
ld de, wcd69
- ld bc, $0010
+ ld bc, $10
call CopyBytes
call CloseSRAM
ret
-Data117cbc: ; 0x117cbc
- db $40, $0c, $00, $11, $13, $00, $00, $00
+MenuDataHeader_117cbc: ; 0x117cbc
+ db $40 ; flags
+ db 12, 0 ; start coords
+ db 17, 19 ; end coords
+ dw NULL ; menu data 2
+ db 0 ; default option
-Data117cc4: ; 0x117cc4
- db $40, $07, $0e, $0b, $13, $00, $00, $00 ; XXX what is this
+MenuDataHeader_117cc4: ; 0x117cc4
+ db $40 ; flags
+ db 7, 14 ; start coords
+ db 11, 19 ; end coords
+ dw NULL ; menu data 2
+ db 0 ; default item
YesNo117ccc: ; 0x117ccc
db "はい"
- next "いいえ"
- db "@"
+ next "いいえ@"
MobileStadiumEntryText: ; 0x117cd3
text_jump _MobileStadiumEntryText
@@ -8463,9 +8483,7 @@
text_jump _MobileStadiumSuccessText
db "@"
-Function117cdd: ; 0x117cdd
+MobileStudium_JumptableIncrement: ; 0x117cdd
ld hl, wJumptableIndex
inc [hl]
ret
-
-
--- a/misc/mobile_46.asm
+++ b/misc/mobile_46.asm
@@ -21,16 +21,16 @@
push af
ld a, $3
ld [rSVBK], a
-.asm_118024
+.loop
call JoyTextDelay
call Function118473
ld a, [wcf66]
cp $1b
- jr c, .asm_118037
+ jr c, .skip
ld a, [wcd34]
ld [wcf66], a
-.asm_118037
+.skip
call Function1184a5
call Function11a8fa
callba Function115dd3
@@ -39,7 +39,7 @@
ld a, [wcf66]
ld hl, wcd33
cp [hl]
- jr nz, .asm_118024
+ jr nz, .loop
pop af
ld [rSVBK], a
call Function118452
@@ -142,7 +142,6 @@
Function118121: ; 118121
xor a
ld [wcd38], a
-
Function118125: ; 118125
call Function1183cb
ld a, $3
@@ -155,16 +154,15 @@
push af
ld a, $3
ld [rSVBK], a
-.asm_11813e
+.loop
call JoyTextDelay
call Function118473
ld a, [wcf66]
cp $f
- jr c, .asm_118151
+ jr c, .skip
ld a, [wcd34]
ld [wcf66], a
-
-.asm_118151
+.skip
call Function11854d
call Function11a8fa
callba Function115dd3
@@ -173,7 +171,7 @@
ld a, [wcf66]
ld hl, wcd33
cp [hl]
- jr nz, .asm_11813e
+ jr nz, .loop
xor a
ld [w3_d000], a
pop af
@@ -471,7 +469,7 @@
ld [wcd66], a
ld [wcd67], a
ld [wcd68], a
- ld [wc314 + 6], a
+ ld [$c31a], a
ld [wcd89], a
ld [wcd8a], a
ld [wcd8b], a
@@ -486,10 +484,10 @@
ld a, $f
ld [rIE], a
ld a, $1
- ld [hFFC9], a
+ ld [hMobileReceive], a
ld [hMobile], a
ei
- callba Function106462
+ callba MobileFunc_106462
callba Function106464
callba Function115d99
callba Function11615a
@@ -516,7 +514,7 @@
Function118452: ; 118452
di
xor a
- ld [hFFC9], a
+ ld [hMobileReceive], a
ld [hMobile], a
ld [hVBlank], a
call NormalSpeed
@@ -539,7 +537,7 @@
ld a, [wcd66]
inc a
ld [wcd66], a
- cp $3c
+ cp 60
ret nz
xor a
ld [wcd66], a
@@ -546,18 +544,18 @@
ld a, [wcd67]
inc a
ld [wcd67], a
- cp $3c
+ cp 60
ret nz
ld a, [wcd68]
inc a
ld [wcd68], a
- cp $63
- jr z, .asm_1184a0
+ cp 99
+ jr z, .ninety_nine
xor a
ld [wcd67], a
ret
-.asm_1184a0
+.ninety_nine
xor a
ld [wcd65], a
ret
@@ -564,20 +562,10 @@
; 1184a5
Function1184a5: ; 1184a5
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_1184b4
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 1184b4
-Jumptable_1184b4: ; 1184b4
+.Jumptable: ; 1184b4
dw Function11886e
dw Function118880
dw Function11878d
@@ -609,20 +597,10 @@
; 1184ec
Function1184ec: ; 1184ec
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_1184fb
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 1184fb
-Jumptable_1184fb: ; 1184fb
+.Jumptable: ; 1184fb
dw Function11886e
dw Function118880
dw Function11878d
@@ -667,20 +645,10 @@
; 11854d
Function11854d: ; 11854d
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_11855c
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 11855c
-Jumptable_11855c: ; 11855c
+.Jumptable: ; 11855c
dw Function118922
dw Function118936
dw Function118982
@@ -700,20 +668,10 @@
; 11857c
Function11857c: ; 11857c
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_11858b
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 11858b
-Jumptable_11858b: ; 11858b
+.Jumptable: ; 11858b
dw Function11886e
dw Function118880
dw Function11878d
@@ -745,20 +703,10 @@
; 1185c3
Function1185c3: ; 1185c3
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_1185d2
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 1185d2
-Jumptable_1185d2: ; 1185d2
+.Jumptable: ; 1185d2
dw Function11886e
dw Function118880
dw Function11878d
@@ -803,20 +751,10 @@
; 118624
Function118624: ; 118624
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_118633
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 118633
-Jumptable_118633: ; 118633
+.Jumptable: ; 118633
dw Function118866
dw Function118880
dw Function11878d
@@ -851,20 +789,10 @@
; 118671
Function118671: ; 118671
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_118680
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 118680
-Jumptable_118680: ; 118680
+.Jumptable: ; 118680
dw Function118866
dw Function118880
dw Function11878d
@@ -893,20 +821,10 @@
; 1186b2
Function1186b2: ; 1186b2
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_1186c1
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 1186c1
-Jumptable_1186c1: ; 1186c1
+.Jumptable: ; 1186c1
dw Function118866
dw Function118880
dw Function11878d
@@ -936,20 +854,10 @@
; 1186f5
Function1186f5: ; 1186f5 (46:46f5)
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_118704
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 118704 (46:4704)
-Jumptable_118704: ; 118704 (46:4704)
+.Jumptable: ; 118704 (46:4704)
dw Function11886a
dw Function118880
dw Function11878d
@@ -986,20 +894,10 @@
; 118746 (46:4746)
Function118746: ; 118746
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_118755
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 118755
-Jumptable_118755: ; 118755
+.Jumptable: ; 118755
dw Function11886e
dw Function118880
dw Function11878d
@@ -1060,7 +958,7 @@
ld a, $a
call Function3e32
ld a, [wc3f0]
- ld [wc314 + 5], a
+ ld [$c319], a
ld a, [wcd34]
ld [wcf66], a
ret
@@ -1071,7 +969,7 @@
set 0, [hl]
ld a, $6
ld [rSVBK], a
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
ld a, [hl]
sla a
@@ -1104,13 +1002,13 @@
ld a, $a
call Function3e32
ld a, [wc3f0]
- ld [wc314 + 5], a
+ ld [$c319], a
ld a, [wcd34]
ld [wcf66], a
ret
Function118821: ; 118821 (46:4821)
- ld a, [wc314 + 5]
+ ld a, [$c319]
cp $3
jr c, .asm_11884a
cp $4
@@ -1123,7 +1021,7 @@
ld a, $a
ld [wc300], a
ld a, [wc3f0]
- ld [wc314 + 5], a
+ ld [$c319], a
ld a, [wcd34]
ld [wcf66], a
scf
@@ -1202,7 +1100,7 @@
; 1188b0
Function1188b0: ; 1188b0 (46:48b0)
- ld de, wc314 + 48 + 2
+ ld de, $c346
ld a, $c
jp Function119e2b
@@ -1234,7 +1132,7 @@
jp Function119e2b
Function1188e7: ; 1188e7 (46:48e7)
- ld de, wc314 + 48 + 2
+ ld de, $c346
ld a, $5
call GetSRAMBank
ld a, [$aa4a]
@@ -1254,7 +1152,7 @@
Function118903: ; 118903 (46:4903)
ld a, [wc3f0]
- ld [wc314 + 5], a
+ ld [$c319], a
ld c, $1
callba Function115e18
ld a, $8
@@ -1283,7 +1181,7 @@
call Function119e2e
Function118936:
- ld a, [wc314 + 6]
+ ld a, [$c31a]
and a
ret nz
ld hl, MenuDataHeader_119cf7
@@ -1295,13 +1193,13 @@
ld a, $40
or [hl]
ld [hl], a
- call Function3200
+ call WaitBGMap2
ld a, $1
ld [wcd4f], a
ld a, $1
ld [rSVBK], a
ld a, [StatusFlags]
- bit 6, a
+ bit 6, a ; Hall Of Fame
jr nz, .asm_11896b
ld hl, Strings_Ll0ToL40 ; Address to list of strings with the choosable levels
ld a, 5 ; 4 levels to choose from, including 'Cancel'-option
@@ -1416,7 +1314,7 @@
push af
ld a, $1
ld [rSVBK], a
- call WriteBackup
+ call CloseWindow
pop af
ld [rSVBK], a
ld a, [wcd38]
@@ -1429,7 +1327,7 @@
.asm_118a30
ld a, [wcd4f]
- ld [wd000 + $800], a
+ ld [w3_d800], a
jp Function119e2e
.asm_118a39
@@ -1440,7 +1338,7 @@
push af
ld a, $1
ld [rSVBK], a
- call WriteBackup
+ call CloseWindow
pop af
ld [rSVBK], a
ld a, $7
@@ -1466,7 +1364,7 @@
ld de, wcc60
ld bc, $80
call CopyBytes
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
jp Function118b10
; 118a7a
@@ -1476,7 +1374,7 @@
ld de, wcc60
ld bc, $80
call CopyBytes
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
jp Function118b10
; 118a8f
@@ -1486,7 +1384,7 @@
ld de, wcc60
ld bc, $80
call CopyBytes
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
jp Function118b10
; 118aa4
@@ -1498,7 +1396,7 @@
call CopyBytes
ld a, $5
ld [rSVBK], a
- ld de, LYOverrides
+ ld de, w3_d100
ld bc, $e00
jr Function118b10
; 118abc
@@ -1508,7 +1406,7 @@
ld de, wcc60
ld bc, $80
call CopyBytes
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
jr Function118b10
; 118ad0 (46:4ad0)
@@ -1518,7 +1416,7 @@
ld de, wcc60
ld bc, $80
call CopyBytes
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
jr Function118b10
@@ -1566,7 +1464,7 @@
jp Function119e2b
Function118b24: ; 118b24 (46:4b24)
- ld hl, wc314 + 48 + 2
+ ld hl, $c346
ld a, $8
ld [hli], a
ld a, $c7
@@ -1579,7 +1477,7 @@
call Function119ec2
ld a, $80
ld [wcd89], a
- ld hl, wc314 + 48 + 2
+ ld hl, $c346
ret
; 118b42 (46:4b42)
@@ -1627,9 +1525,8 @@
jr nz, .asm_118b8c
dec hl
xor a
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ret
; 118b9a
@@ -1663,7 +1560,8 @@
Function118d35: ; 118d35
- ld hl, LYOverridesBackup
+; unreferenced
+ ld hl, $d200
ld a, [wcd38]
and a
jr nz, .asm_118d6e
@@ -1739,7 +1637,7 @@
ld [wcd3b], a
.asm_118db7
- ld hl, $d800
+ ld hl, w3_d800
ld a, $8
ld [hli], a
ld a, $c6
@@ -1760,7 +1658,7 @@
call Function119ec2
ld a, $40
ld [wcd89], a
- ld hl, $d800
+ ld hl, w3_d800
ld de, $de00
ld bc, $0200
ld a, $2c
@@ -1829,9 +1727,8 @@
ld a, [hld]
cp $2f
jr nz, .asm_118e3e
-rept 2
inc hl
-endr
+ inc hl
ld de, wcd85
ld c, $4
.asm_118e4a
@@ -1894,7 +1791,7 @@
ld de, wcc60
call Function1191ad
ret c
- ld de, $d800
+ ld de, w3_d800
ld bc, $0800
jp Function118b10
; 118eb0
@@ -1914,22 +1811,22 @@
call Function118440
call SpeechTextBox
ld hl, $d80e
- ld de, wc314 + 12
+ ld de, $c320
ld bc, $0026
call CopyBytes
xor a
- ld [wc314 + 11], a
+ ld [$c31f], a
ld a, $20
- ld [wc314 + 7], a
+ ld [$c31b], a
ld a, $c3
- ld [wc314 + 8], a
+ ld [$c31c], a
hlcoord 1, 14
ld a, l
- ld [wc314 + 9], a
+ ld [$c31d], a
ld a, h
- ld [wc314 + 10], a
+ ld [$c31e], a
ld a, $2
- ld [wc314 + 6], a
+ ld [$c31a], a
ld a, $1d
ld [wcd3c], a
ld a, $24
@@ -1957,11 +1854,11 @@
ret c
ld a, [wcc60]
and a
- jr z, .asm_118f32
- ld hl, UnknownText_0x11aa13
+ jr z, .DontSendSaveFile
+ ld hl, Text_SaveFileWillBeSent
call Function11a9c0
-.asm_118f32
+.DontSendSaveFile
ld a, [wcd57]
ld l, a
ld a, [wcd58]
@@ -2002,7 +1899,7 @@
ld a, [wcc60]
and a
jr z, .asm_118fba
- ld hl, wc314 + 48 + 2
+ ld hl, $c346
ld a, $c608 % $100
ld [hli], a
ld a, $c608 / $100
@@ -2023,7 +1920,7 @@
call Function119ec2
ld a, $40
ld [wcd89], a
- ld hl, wc314 + 48 + 2
+ ld hl, $c346
ld de, $de00
ld bc, $0200
ld a, $2c
@@ -2056,11 +1953,11 @@
ld a, [wcc60]
and a
jr z, .asm_118ff2
- ld hl, UnknownText_0x11aa2c
+ ld hl, Text_SentSaveFileReadingNews
jr .asm_118ff5
.asm_118ff2
- ld hl, UnknownText_0x11aa4b
+ ld hl, Text_ReadingNews
.asm_118ff5
call Function11a9c0
@@ -2067,7 +1964,7 @@
jr Function119009
.asm_118ffa
- ld hl, UnknownText_0x11aa4b
+ ld hl, Text_ReadingNews
call Function11a9c0
call Function119e2e
call Function119e2e
@@ -2083,7 +1980,7 @@
ld de, wcc60
call Function1191ad
ret c
- ld hl, wc314 + 48 + 2
+ ld hl, $c346
ld a, $8
ld [hli], a
ld a, $c6
@@ -2104,8 +2001,8 @@
call Function119ec2
ld a, $40
ld [wcd89], a
- ld hl, wc314 + 48 + 2
- ld de, UnknBGPals
+ ld hl, $c346
+ ld de, w3_d000
ld bc, $1000
ld a, $2c
jp Function119e2b
@@ -2119,9 +2016,9 @@
ld e, a
ld a, [wcd50]
ld d, a
- ld a, [UnknBGPals]
+ ld a, [w3_d000]
ld c, a
- ld a, [wd001]
+ ld a, [w3_d000 + 1]
ld b, a
call Function119192
ret c
@@ -2131,9 +2028,9 @@
ld a, $6
ld [rSVBK], a
ld hl, wd002
- ld a, [UnknBGPals]
+ ld a, [w3_d000]
ld c, a
- ld a, [wd001]
+ ld a, [w3_d000 + 1]
ld b, a
call Function119192
ret c
@@ -2178,7 +2075,7 @@
ld de, wcc60
call Function1191ad
ret c
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
jp Function118b10
; 1190ec
@@ -2198,9 +2095,9 @@
call CloseSRAM
ld a, $6
call GetSRAMBank
- ld a, [UnknBGPals]
+ ld a, [w3_d000]
ld c, a
- ld a, [wd001]
+ ld a, [w3_d000 + 1]
ld b, a
ld hl, wd002
ld de, $a000
@@ -2211,9 +2108,9 @@
jr z, .asm_11913e
ld a, $6
ld [rSVBK], a
- ld a, [UnknBGPals]
+ ld a, [w3_d000]
ld c, a
- ld a, [wd001]
+ ld a, [w3_d000 + 1]
ld b, a
ld hl, wd002
call Function119192
@@ -2223,7 +2120,7 @@
ld a, $3
ld [rSVBK], a
call CloseSRAM
- ld hl, UnknownText_0x11aa5a
+ ld hl, Text_ReceivedNews
call Function11a9c0
jp Function119e2e
; 11914e
@@ -2330,7 +2227,7 @@
; 1191d3
Function1191d3: ; 1191d3
- ld hl, wd102
+ ld hl, w3_d100 + 2
ld a, l
ld [wcd53], a
ld a, h
@@ -2631,7 +2528,7 @@
ld a, $8
ld [wcd3c], a
call Function119ed8
- ld hl, wc314 + 48 + 2
+ ld hl, $c346
ld a, wd000 % $100
ld [hli], a
ld a, wd000 / $100
@@ -2652,7 +2549,7 @@
call Function119ec2
ld a, $40
ld [wcd89], a
- ld hl, wc314 + 48 + 2
+ ld hl, $c346
ld de, $de00
ld bc, $0200
ld a, $2c
@@ -2678,7 +2575,7 @@
ld a, $8
ld [wcd3c], a
call Function119ed8
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
jp Function118b10
; 119413
@@ -2686,13 +2583,12 @@
Function119413: ; 119413
ld a, $6
call GetSRAMBank
- ld a, [UnknBGPals]
+ ld a, [w3_d000]
ld c, a
- ld a, [wd001]
+ ld a, [w3_d000 + 1]
ld b, a
-rept 2
dec bc
-endr
+ dec bc
ld hl, wd002
ld a, [hli]
ld e, a
@@ -2707,7 +2603,7 @@
ld [rSVBK], a
ld a, [wd000]
ld c, a
- ld a, [wd001]
+ ld a, [w3_d000 + 1]
ld b, a
ld hl, wd002
call Function119192
@@ -2882,9 +2778,8 @@
.asm_119552
inc hl
.asm_119553
-rept 2
inc hl
-endr
+ inc hl
jr .asm_11955b
.asm_119557
ld de, $14
@@ -3043,7 +2938,7 @@
ld [wcd3c], a
call Function119ed8
call Function118b24
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
ld a, $2a
jp Function119e2b
@@ -3229,9 +3124,8 @@
ld a, [hld]
cp $58
jr z, .asm_11975b
-rept 2
inc hl
-endr
+ inc hl
ld a, d
dec a
jr z, .asm_11978e
@@ -3338,7 +3232,7 @@
xor a
ld [de], a
call Function118b24
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
ld a, $2a
jp Function119e2b
@@ -3347,7 +3241,7 @@
Function119800: ; 119800
ld a, $fd
ld [$c6d0], a
- ld [wc702], a
+ ld [wOTTrademonSpecies], a
ld a, [wcd81]
ld [wc74e], a
ld a, [wJumptableIndex]
@@ -3397,7 +3291,7 @@
ld a, $1
ld [rSVBK], a
call FadeToMenu
- callba Function108000
+ callba MobileTradeAnimation_SendGivemonToGTS
call Function11a9ce
call RestartMapMusic
ld a, $3
@@ -3431,7 +3325,7 @@
ld a, $1
ld [rSVBK], a
call FadeToMenu
- callba Function108012
+ callba MobileTradeAnimation_RetrieveGivemonFromGTS
call Function11a9ce
call RestartMapMusic
ld a, $3
@@ -3449,17 +3343,17 @@
; 1198ee
Function1198ee: ; 1198ee
- ld hl, UnknownText_0x11aab2
+ ld hl, Text_RegisteringRecord
call Function11a9c0
call Function119e2e
Function1198f7:
- ld a, [wc314 + 6]
+ ld a, [$c31a]
and a
ret nz
ld hl, $c608 + 2
call Function119940
- ld hl, $d800
+ ld hl, w3_d800
ld a, $c608 % $100
ld [hli], a
ld a, $c608 / $100
@@ -3480,7 +3374,7 @@
call Function119ec2
ld a, $40
ld [wcd89], a
- ld hl, $d800
+ ld hl, w3_d800
ld de, $de00
ld bc, $0200
ld a, $2c
@@ -3536,15 +3430,15 @@
ld [wcf64], a
xor a
ld [wcf65], a
- ld [StringBuffer2 + 10], a
- ld de, UnknBGPals
+ ld [w3_d090], a
+ ld de, w3_d000
ld a, $20
jp Function119e2b
; 119987
Function119987: ; 119987
- ld hl, wd001
- ld a, [UnknBGPals]
+ ld hl, w3_d000 + 1
+ ld a, [w3_d000]
or [hl]
jr z, .asm_1199a0
ld a, [wcf64]
@@ -3556,7 +3450,7 @@
jp Function119e2b
.asm_1199a0
- ld a, [StringBuffer2 + 10]
+ ld a, [w3_d090]
and a
jr z, .asm_1199ae
ld a, $16
@@ -3590,7 +3484,7 @@
ld l, a
ld a, [wcf65]
ld h, a
- ld de, LYOverrides
+ ld de, w3_d100
ld bc, $0700
ld a, $28
jp Function119e2b
@@ -3598,49 +3492,49 @@
Function1199e2: ; 1199e2
ld c, $c
- ld de, Unknown_119e33
+ ld de, XGameCodePrefix
call Function119e4f
jp c, Function119ac9
ld a, c
cp $1
jp nz, Function119ac9
- ld hl, $d880
- ld bc, Unknown_119af1
-.asm_1199f9
+ ld hl, w3_d880
+ ld bc, XGameCode
+.loop
ld a, [bc]
and a
- jr z, .asm_119a05
+ jr z, .game_result_prefix
cp [hl]
jp nz, Function119ac9
inc bc
inc hl
- jr .asm_1199f9
+ jr .loop
-.asm_119a05
+.game_result_prefix
ld c, $17
- ld de, Unknown_119e40
+ ld de, XGameResultPrefix
call Function119e4f
jp c, .asm_119aa7
ld a, c
cp $1
jp nz, .asm_119aa7
- ld a, [wd000 + $880]
+ ld a, [w3_d880]
cp $31
jp nz, .asm_119aa7
- ld a, [wd000 + $881]
+ ld a, [w3_d881]
cp $20
jp nz, .asm_119aa7
- ld a, [wd000 + $88a]
+ ld a, [w3_d88a]
cp $20
jp nz, .asm_119aa7
- ld a, [wd000 + $894]
+ ld a, [w3_d894]
cp $20
jp nz, .asm_119aa7
xor a
- ld [wd000 + $8a0], a
- ld [wd000 + $8a1], a
- ld [wd000 + $8a2], a
- ld [wd000 + $8a3], a
+ ld [w3_d8a0], a
+ ld [w3_d8a1], a
+ ld [w3_d8a2], a
+ ld [w3_d8a3], a
ld hl, $d8a0
ld bc, $d889
call Function119e98
@@ -3662,10 +3556,10 @@
cp [hl]
jr nz, Function119ac9
xor a
- ld [wd000 + $8a0], a
- ld [wd000 + $8a1], a
- ld [wd000 + $8a2], a
- ld [wd000 + $8a3], a
+ ld [w3_d8a0], a
+ ld [w3_d8a1], a
+ ld [w3_d8a2], a
+ ld [w3_d8a3], a
ld hl, $d8a0
ld bc, $d88e
call Function119e98
@@ -3694,27 +3588,27 @@
jp Function119b45
.asm_119aaf
- ld a, [StringBuffer2 + 10]
+ ld a, [w3_d090]
and a
jr nz, .asm_119aa7
- ld a, [wd000 + $895]
+ ld a, [w3_d895]
sub $30
- ld [StringBuffer2 + 10], a
+ ld [w3_d090], a
ld a, [wcf64]
- ld [StringBuffer2 + 11], a
+ ld [w3_d090 + 1], a
ld a, [wcf65]
- ld [StringBuffer2 + 12], a
+ ld [w3_d090 + 2], a
Function119ac9:
- ld a, [UnknBGPals]
+ ld a, [w3_d000]
ld l, a
- ld a, [wd001]
+ ld a, [w3_d000 + 1]
ld h, a
dec hl
ld a, l
- ld [UnknBGPals], a
+ ld [w3_d000], a
ld a, h
- ld [wd001], a
+ ld [w3_d000 + 1], a
ld a, [wcf64]
ld l, a
ld a, [wcf65]
@@ -3729,9 +3623,10 @@
ret
; 119af1
-Unknown_119af1:
- INCBIN "data/mobile/x-game-code.txt"
- INCBIN "data/mobile/x-game-result.txt"
+XGameCode:
+INCBIN "data/mobile/x-game-code.txt"
+XGameResult:
+INCBIN "data/mobile/x-game-result.txt"
; 119b0d
Function119b0d: ; 119b0d
@@ -3738,7 +3633,7 @@
ld a, $8
ld [wcd3c], a
call Function119ed8
- ld a, [StringBuffer2 + 10]
+ ld a, [w3_d090]
cp $1
jr z, .asm_119b23
ld a, $19
@@ -3748,19 +3643,19 @@
.asm_119b23
ld a, $10
ld [wcd89], a
- ld a, [StringBuffer2 + 11]
+ ld a, [w3_d090 + 1]
ld l, a
- ld a, [StringBuffer2 + 12]
+ ld a, [w3_d090 + 2]
ld h, a
- ld de, LYOverrides
+ ld de, w3_d100
ld bc, $0700
ld a, $24
jp Function119e2b
Function119b3b:
- ld a, [StringBuffer2 + 11]
+ ld a, [w3_d090 + 1]
ld l, a
- ld a, [StringBuffer2 + 12]
+ ld a, [w3_d090 + 2]
ld h, a
jr asm_119b4d
@@ -3776,7 +3671,7 @@
; 119b52
Function119b52: ; 119b52
- ld a, [StringBuffer2 + 10]
+ ld a, [w3_d090]
cp $1
jr nz, .asm_119b66
ld a, $5
@@ -3791,19 +3686,19 @@
; 119b6b
Function119b6b: ; 119b6b
- ld a, [StringBuffer2 + 10]
+ ld a, [w3_d090]
cp $1
jr z, .asm_119b75
jp Function119e2e
.asm_119b75
- ld a, [LYOverrides]
+ ld a, [w3_d100]
ld b, a
- ld a, [wd101]
+ ld a, [w3_d100 + 1]
or b
jr z, .asm_119be3
- ld hl, $d800
- ld de, wd102
+ ld hl, w3_d800
+ ld de, w3_d100 + 2
.asm_119b85
ld a, [de]
inc de
@@ -3813,9 +3708,8 @@
ld a, [de]
cp $d
jr nz, .asm_119b85
-rept 2
inc de
-endr
+ inc de
.asm_119b93
ld a, [de]
inc de
@@ -3887,7 +3781,7 @@
ld [$a800], a
call CloseSRAM
xor a
- ld [StringBuffer2 + 10], a
+ ld [w3_d090], a
ret
.asm_119bfa
@@ -3896,10 +3790,10 @@
cp $d
jr nz, .asm_119b93
ld a, l
- cp (wd000 + $800 + $69) % $100
+ cp (w3_d869) % $100
jr nz, .asm_119be3
ld a, h
- cp (wd000 + $800 + $69) / $100
+ cp (w3_d869) / $100
jr nz, .asm_119be3
ld a, $5
call GetSRAMBank
@@ -3907,7 +3801,7 @@
ld [$b090], a
ld a, [wcf65]
ld [$b091], a
- ld hl, $d800
+ ld hl, w3_d800
ld de, $b023
ld bc, $0069
call CopyBytes
@@ -3914,7 +3808,7 @@
ld a, $3
ld [$a800], a
call CloseSRAM
- ld hl, $d800
+ ld hl, w3_d800
ld de, $c608
ld bc, $0069
call CopyBytes
@@ -3953,7 +3847,7 @@
ld [$a800], a
call CloseSRAM
xor a
- ld [StringBuffer2 + 10], a
+ ld [w3_d090], a
scf
ret
@@ -3989,18 +3883,18 @@
; 119c97
Function119c97: ; 119c97
- ld hl, UnknownText_0x11ab0f
+ ld hl, Text_UberRestriction
call Function11a9c0
call Function119e2e
jr Function119cab
Function119ca2:
- ld hl, UnknownText_0x11aaf0
+ ld hl, Text_PartyMonTopsThisLevel
call Function11a9c0
call Function119e2e
Function119cab:
- ld a, [wc314 + 6]
+ ld a, [$c31a]
and a
ret nz
ld a, $80
@@ -4022,15 +3916,15 @@
jr z, .asm_119cd1
dec a
jr z, .asm_119cd6
- ld hl, UnknownText_0x11aa6a
+ ld hl, Text_QuitReadingNews
jr .asm_119cd9
.asm_119cd1
- ld hl, UnknownText_0x11ab4a
+ ld hl, Text_CancelBattleRoomChallenge
jr .asm_119cd9
.asm_119cd6
- ld hl, UnknownText_0x11ab6e
+ ld hl, Text_ExitGymLeaderHonorRoll
.asm_119cd9
call Function11a9c0
@@ -4037,7 +3931,7 @@
call Function119e2e
Function119cdf:
- ld a, [wc314 + 6]
+ ld a, [$c31a]
and a
ret nz
ld a, $f
@@ -4108,7 +4002,7 @@
ld bc, PARTYMON_STRUCT_LENGTH
ld de, PartyMon1Level
ld a, [PartyCount]
-.asm_119daf
+.party_loop
push af
ld a, [de]
push hl
@@ -4119,17 +4013,18 @@
pop de
pop hl
cp [hl]
- jr z, .asm_119dbd
- jr nc, .asm_119dc6
-.asm_119dbd
+ jr z, .equal
+ jr nc, .exceeds
+.equal
pop af
dec a
- jr nz, .asm_119daf
+ jr nz, .party_loop
pop af
ld [rSVBK], a
and a
ret
-.asm_119dc6
+
+.exceeds
pop af
ld a, $4
ld [wcf66], a
@@ -4143,7 +4038,7 @@
push af
ld a, [wcd4f]
cp 70 / 10
- jr nc, .asm_119e08
+ jr nc, .level_70_or_more
ld a, $1
ld [rSVBK], a
ld hl, PartyMon1Level
@@ -4150,33 +4045,34 @@
ld bc, PARTYMON_STRUCT_LENGTH
ld de, PartySpecies
ld a, [PartyCount]
-.asm_119deb
+.loop
push af
ld a, [de]
cp MEWTWO
- jr z, .asm_119dfd
+ jr z, .uber
cp MEW
- jr z, .asm_119dfd
+ jr z, .uber
cp LUGIA
- jr c, .asm_119e02
+ jr c, .next
cp NUM_POKEMON + 1
- jr nc, .asm_119e02
-.asm_119dfd
+ jr nc, .next
+.uber
ld a, [hl]
cp 70
- jr c, .asm_119e0d
-.asm_119e02
+ jr c, .uber_under_70
+.next
add hl, bc
inc de
pop af
dec a
- jr nz, .asm_119deb
-.asm_119e08
+ jr nz, .loop
+.level_70_or_more
pop af
ld [rSVBK], a
and a
ret
-.asm_119e0d
+
+.uber_under_70
pop af
ld a, [de]
ld [wd265], a
@@ -4202,72 +4098,76 @@
ret
; 119e33 (46:5e33)
-Unknown_119e33: ; 119e33
- INCBIN "data/mobile/x-game-code-prefix.txt"
-Unknown_119e40:
- INCBIN "data/mobile/x-game-result-prefix.txt"
+XGameCodePrefix: ; 119e33
+INCBIN "data/mobile/x-game-code-prefix.txt"
+XGameCodePrefixEnd:
+;119e40
+
+XGameResultPrefix: ; 119e40
+INCBIN "data/mobile/x-game-result-prefix.txt"
+XGameResultPrefixEnd:
; 119e4f
Function119e4f: ; 119e4f
push bc
- ld hl, LYOverrides
+ ld hl, w3_d100
ld a, [hli]
ld c, a
ld a, [hli]
ld b, a
-.asm_119e57
+.loop
ld a, [de]
cp [hl]
- jr z, .asm_119e64
-.asm_119e5b
+ jr z, .found_equality
+.next
inc hl
dec bc
ld a, b
or c
- jr nz, .asm_119e57
-.asm_119e61
+ jr nz, .loop
+.return_carry
pop bc
scf
ret
-.asm_119e64
+.found_equality
push de
-.asm_119e65
+.loop2
ld a, [de]
inc de
cp "\n"
- jr z, .asm_119e7a
+ jr z, .newline
cp [hl]
- jr nz, .asm_119e77
+ jr nz, .unequal
inc hl
dec bc
ld a, b
or c
- jr nz, .asm_119e65
+ jr nz, .loop2
pop de
- jr .asm_119e61
+ jr .return_carry
-.asm_119e77
+.unequal
pop de
- jr .asm_119e5b
+ jr .next
-.asm_119e7a
+.newline
pop de
pop bc
inc hl
- ld de, $d880
-.asm_119e80
+ ld de, w3_d880
+.loop3
ld a, [hli]
ld [de], a
inc de
cp $d
- jr z, .asm_119e8c
+ jr z, .finish
dec c
- jr nz, .asm_119e80
+ jr nz, .loop3
scf
ret
-.asm_119e8c
+.finish
and a
ret
; 119e8e
@@ -4274,11 +4174,11 @@
Function119e8e: ; 119e8e
cp $60
- jr c, .asm_119e95
+ jr c, .less_than_0x60
sub $57
ret
-.asm_119e95
+.less_than_0x60
sub $30
ret
; 119e98
@@ -4285,7 +4185,7 @@
Function119e98: ; 119e98
ld a, $2
-.asm_119e9a
+.loop
push af
ld a, [bc]
dec bc
@@ -4305,7 +4205,7 @@
pop af
dec a
and a
- jr nz, .asm_119e9a
+ jr nz, .loop
ret
; 119eb4
@@ -4313,12 +4213,12 @@
xor a
ld [wc3cc], a
ld de, wc3ac
-.asm_119ebb
+.loop
ld a, [de]
inc de
ld [hli], a
and a
- jr nz, .asm_119ebb
+ jr nz, .loop
ret
Function119ec2: ; 119ec2 (46:5ec2)
@@ -4325,14 +4225,14 @@
ld a, $5
call GetSRAMBank
xor a
- ld [$aa5c], a
- ld de, $aa4c
-.asm_119ece
+ ld [sMobileLoginPassword + LOGIN_PASSWORD_LENGTH], a
+ ld de, sMobileLoginPassword + 1
+.loop
ld a, [de]
inc de
ld [hli], a
and a
- jr nz, .asm_119ece
+ jr nz, .loop
call CloseSRAM
ret
@@ -4341,7 +4241,9 @@
ld [wcd8c], a
ld a, $1
ld [rSVBK], a
- call Function119eee
+
+ call .RunJumptable
+
ld a, [wcd8c]
ld [rSVBK], a
ld a, $1
@@ -4348,21 +4250,10 @@
ld [hBGMapMode], a
ret
-Function119eee: ; 119eee (46:5eee)
- ld a, [wcd3c]
- ld e, a
- ld d, 0
- ld hl, Jumptable_119efd
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 119efd (46:5efd)
+.RunJumptable
+ jumptable .Jumptable, wcd3c
-Jumptable_119efd: ; 119efd
+.Jumptable
dw Function119f3f
dw Function119f45
dw Function119f56
@@ -4504,10 +4395,10 @@
Function11a00e: ; 11a00e
ld a, $5
call GetSRAMBank
- ld a, [$aa4b]
+ ld a, [sMobileLoginPassword]
and a
jr z, .asm_11a02a
- ld a, [$aa4c]
+ ld a, [sMobileLoginPassword + 1]
call CloseSRAM
and a
ret nz
@@ -4514,7 +4405,7 @@
ld a, $5
call GetSRAMBank
xor a
- ld [$aa4b], a
+ ld [sMobileLoginPassword], a
.asm_11a02a
call CloseSRAM
@@ -4529,7 +4420,7 @@
ld a, $3
ld [rSVBK], a
ld hl, $c608
- ld de, $d800
+ ld de, w3_d800
ld bc, $00f6
call CopyBytes
ld a, $1
@@ -4539,7 +4430,7 @@
call Function11a9ce
ld a, $3
ld [rSVBK], a
- ld hl, $d800
+ ld hl, w3_d800
ld de, $c608
ld bc, $00f6
call CopyBytes
@@ -4560,10 +4451,10 @@
ld [wMenuBorderRightCoord], a
ld a, $5
ld [wMenuBorderBottomCoord], a
- call BackUpTiles
+ call PushWindow
callba Function11765d
callba Function117ab4
- callba Function106462
+ callba MobileFunc_106462
callba Function106464
call ExitMenu
callba ReloadMapPart
@@ -4583,10 +4474,10 @@
ld [wMenuBorderRightCoord], a
ld a, $11
ld [wMenuBorderBottomCoord], a
- call BackUpTiles
+ call PushWindow
callba Function11765d
callba Function17d3f6
- callba Function106462
+ callba MobileFunc_106462
callba Function106464
call ExitMenu
callba ReloadMapPart
@@ -4665,7 +4556,7 @@
call Function11a63c
call Function11a1e6
hlcoord 4, 2
- ld de, wc314 + 48 + 2
+ ld de, $c346
call PlaceString
call Function11a5f5
xor a
@@ -4719,7 +4610,7 @@
Function11a1e6: ; 11a1e6
ld hl, String_11a706
- ld de, wc314 + 48 + 2
+ ld de, $c346
call Function11a1ff
ld hl, wcd85
call Function11a1ff
@@ -5267,7 +5158,7 @@
ld [wMenuBorderRightCoord], a
ld a, $5
ld [wMenuBorderBottomCoord], a
- call BackUpTiles
+ call PushWindow
hlcoord 0, 0, AttrMap
ld b, $6
ld c, $14
@@ -5293,7 +5184,7 @@
ld [wMenuBorderTopCoord], a
ld a, $a
ld [wMenuBorderBottomCoord], a
- call BackUpTiles
+ call PushWindow
hlcoord 14, 6, AttrMap
ld b, $5
ld c, $6
@@ -5445,7 +5336,7 @@
ld bc, hQuotient
ld hl, Unknown_11a8ba
call Function11a88c
- ld bc, $ffb5
+ ld bc, hPrintNum3
ld hl, Unknown_11a8da
call Function11a88c
xor a
@@ -5453,11 +5344,11 @@
ld a, [hDivisor]
and $f
ld e, a
- ld a, [$ffb9]
+ ld a, [hPrintNum7]
and $f
call Function11a884
ld e, a
- ld a, [$ffbb]
+ ld a, [hPrintNum9]
and $f
call Function11a884
ld [wcd62], a
@@ -5469,12 +5360,12 @@
swap a
call Function11a884
ld e, a
- ld a, [$ffb9]
+ ld a, [hPrintNum7]
and $f0
swap a
call Function11a884
ld e, a
- ld a, [$ffbb]
+ ld a, [hPrintNum9]
and $f0
swap a
call Function11a884
@@ -5486,11 +5377,11 @@
and $f
call Function11a884
ld e, a
- ld a, [$ffba]
+ ld a, [hPrintNum8]
and $f
call Function11a884
ld e, a
- ld a, [$ffbc]
+ ld a, [hPrintNum10]
and $f
call Function11a884
ld [wcd64], a
@@ -5545,20 +5436,10 @@
; 11a8fa
Function11a8fa: ; 11a8fa
- ld a, [wc314 + 6]
- ld e, a
- ld d, 0
- ld hl, Jumptable_11a909
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, $c31a
; 11a909
-Jumptable_11a909: ; 11a909
+.Jumptable: ; 11a909
dw Function11a970
dw Function11a90f
dw Function11a971
@@ -5569,14 +5450,14 @@
ld [rSVBK], a
call SpeechTextBox
ld a, $50
- ld hl, wc314 + 12
+ ld hl, $c320
ld bc, $008c
call ByteFill
- ld a, [wc314 + 7]
+ ld a, [$c31b]
ld l, a
- ld a, [wc314 + 8]
+ ld a, [$c31c]
ld h, a
- ld de, wc314 + 12
+ ld de, $c320
.asm_11a92c
ld a, [hli]
cp $57
@@ -5607,17 +5488,17 @@
.asm_11a94f
xor a
- ld [wc314 + 11], a
- ld a, $20
- ld [wc314 + 7], a
- ld a, $c3
- ld [wc314 + 8], a
+ ld [$c31f], a
+ ld a, $c320 % $100
+ ld [$c31b], a
+ ld a, $c320 / $100
+ ld [$c31c], a
hlcoord 1, 14
ld a, l
- ld [wc314 + 9], a
+ ld [$c31d], a
ld a, h
- ld [wc314 + 10], a
- ld hl, wc314 + 6
+ ld [$c31e], a
+ ld hl, $c31a
inc [hl]
ld a, $3
ld [rSVBK], a
@@ -5627,7 +5508,7 @@
; 11a971
Function11a971: ; 11a971
- ld hl, wc314 + 11
+ ld hl, $c31f
ld a, [hJoyDown]
and a
jr nz, .asm_11a97f
@@ -5642,34 +5523,34 @@
and $7
ld [hl], a
ld hl, wcd8d
- ld a, [wc314 + 7]
+ ld a, [$c31b]
ld e, a
- ld a, [wc314 + 8]
+ ld a, [$c31c]
ld d, a
ld a, [de]
inc de
ld [hli], a
ld a, e
- ld [wc314 + 7], a
+ ld [$c31b], a
ld a, d
- ld [wc314 + 8], a
+ ld [$c31c], a
ld a, $50
ld [hl], a
- ld a, [wc314 + 9]
+ ld a, [$c31d]
ld l, a
- ld a, [wc314 + 10]
+ ld a, [$c31e]
ld h, a
ld de, wcd8d
call PlaceString
ld a, c
- ld [wc314 + 9], a
+ ld [$c31d], a
ld a, b
- ld [wc314 + 10], a
+ ld [$c31e], a
ld a, [wcd8d]
cp $50
jr nz, .asm_11a9bf
xor a
- ld [wc314 + 6], a
+ ld [$c31a], a
.asm_11a9bf
ret
@@ -5677,21 +5558,21 @@
Function11a9c0: ; 11a9c0
ld a, l
- ld [wc314 + 7], a
+ ld [$c31b], a
ld a, h
- ld [wc314 + 8], a
+ ld [$c31c], a
ld a, $1
- ld [wc314 + 6], a
+ ld [$c31a], a
ret
; 11a9ce
Function11a9ce: ; 11a9ce
call ClearBGPalettes
- call Function2bae
+ call ReloadTilesetAndPalettes
call Call_ExitMenu
- callba Function106462
+ callba MobileFunc_106462
callba Function106464
- call Functiond90
+ call ret_d90
callba Function2b5c
call UpdateSprites
ret
@@ -5723,64 +5604,64 @@
ret
; 11aa13
-UnknownText_0x11aa13: ; 0x11aa13
+Text_SaveFileWillBeSent: ; 0x11aa13
text "SAVE FILE will be"
line "sent."
done
; 0x11aa2c
-UnknownText_0x11aa2c: ; 0x11aa2c
+Text_SentSaveFileReadingNews: ; 0x11aa2c
text "Sent SAVE FILE."
line "Reading NEWS…"
done
; 0x11aa4b
-UnknownText_0x11aa4b: ; 0x11aa4b
+Text_ReadingNews: ; 0x11aa4b
text "Reading NEWS…"
done
; 0x11aa5a
-UnknownText_0x11aa5a: ; 0x11aa5a
+Text_ReceivedNews: ; 0x11aa5a
text "Received NEWS!"
done
; 0x11aa6a
-UnknownText_0x11aa6a: ; 0x11aa6a
+Text_QuitReadingNews: ; 0x11aa6a
text "Quit reading NEWS?"
done
; 0x11aa7e
-UnknownText_0x11aa7e: ; 0x11aa7e
+Text_CanceledSendingSaveFile: ; 0x11aa7e
text "Canceled sending"
line "SAVE FILE."
done
; 0x11aa9b
-UnknownText_0x11aa9b: ; 0x11aa9b
+Text_ReceivedOddEgg: ; 0x11aa9b
text "ODD EGG"
line "was received!"
done
; 0x11aab2
-UnknownText_0x11aab2: ; 0x11aab2
+Text_RegisteringRecord: ; 0x11aab2
text "Registering your"
line "record…"
done
; 0x11aacc
-UnknownText_0x11aacc: ; 0x11aacc
+Text_BattleRoomVisitLimit: ; 0x11aacc
text "One visit per day"
line "per BATTLE ROOM!"
done
; 0x11aaf0
-UnknownText_0x11aaf0: ; 0x11aaf0
+Text_PartyMonTopsThisLevel: ; 0x11aaf0
text "A party #MON"
line "tops this level."
done
; 0x11ab0f
-UnknownText_0x11ab0f: ; 0x11ab0f
+Text_UberRestriction: ; 0x11ab0f
text_from_ram wcd49
text " may go"
line "only to BATTLE"
@@ -5790,19 +5671,19 @@
done
; 0x11ab4a
-UnknownText_0x11ab4a: ; 0x11ab4a
+Text_CancelBattleRoomChallenge: ; 0x11ab4a
text "Cancel your BATTLE"
line "ROOM challenge?"
done
; 0x11ab6e
-UnknownText_0x11ab6e: ; 0x11ab6e
+Text_ExitGymLeaderHonorRoll: ; 0x11ab6e
text "Exit GYM LEADER"
line "HONOR ROLL?"
done
; 0x11ab8b
-UnknownText_0x11ab8b: ; 0x11ab8b
+Text_LinkingWithCenter: ; 0x11ab8b
text "Linking with the"
line "CENTER…"
done
@@ -5820,18 +5701,18 @@
done
; 0x11abf1
-UnknownText_0x11abf1: ; 0x11abf1
+Text_EnterWhichBattleRoom: ; 0x11abf1
text "Enter which"
line "BATTLE ROOM?"
done
; 0x11ac0b
-UnknownText_0x11ac0b: ; 0x11ac0b
+Text_WhichBattleRoom: ; 0x11ac0b
text "Which BATTLE ROOM?"
done
; 0x11ac1f
-UnknownText_0x11ac1f: ; 0x11ac1f
+Text_ThisBattleRoomPleaseWait: ; 0x11ac1f
text_from_ram StringBuffer3
text "'s ROOM"
line "@"
@@ -5844,9 +5725,9 @@
Function11ac3e: ; 11ac3e
call SpeechTextBox
call FadeToMenu
- callab ClearSpriteAnims
+ callab ClearSpriteAnims2
call Function11ac51
- call ReturnToCallingMenu
+ call CloseSubmenu
ret
; 11ac51
@@ -5874,7 +5755,7 @@
ld [wcd4e], a
call Function11ad1b
call DelayFrame
-.asm_11ac82
+.loop
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
@@ -5882,11 +5763,11 @@
call Function11b314
call Function11acb7
call Function11ad6e
- ld a, $78
- ld [wc3b5], a
- callba Function8cf7a
+ ld a, 30 * 4
+ ld [wCurrSpriteOAMAddr], a
+ callba DoNextFrameForAllSprites
callba ReloadMapPart
- jr .asm_11ac82
+ jr .loop
.asm_11aca8
call ClearSprites
@@ -5900,7 +5781,7 @@
; 11acb7
Function11acb7: ; 11acb7
- ld hl, Unknown_11ba44
+ ld hl, TilemapPack_11ba44
ld a, [wcd49]
ld c, a
ld b, $0
@@ -5915,7 +5796,7 @@
ld a, [hli]
ld [de], a
decoord 0, 7
- ld bc, $0007
+ ld bc, 7
call CopyBytes
ld a, [wcd49]
inc a
@@ -5922,12 +5803,11 @@
ld [wcd49], a
ld a, [hl]
cp $ff
- jr nz, .asm_11aceb
+ jr nz, .get_the_other
xor a
ld [wcd49], a
-
-.asm_11aceb
- ld hl, Unknown_11bb7d
+.get_the_other
+ ld hl, TilemapPack_11bb7d
ld a, [wcd4a]
ld c, a
ld b, $0
@@ -5939,7 +5819,7 @@
rl b
add hl, bc
decoord 3, 9
- ld bc, $0007
+ ld bc, 7
call CopyBytes
ld a, [wcd4a]
inc a
@@ -5958,12 +5838,12 @@
call ClearSprites
call ClearTileMap
callba Function17c000
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wcd82], a
dec a
ld [hObjectStructIndexBuffer], a
ld a, $10
- ld [wc3b7], a
+ ld [wCurIconTile], a
ld hl, Function8e83f
ld a, BANK(Function8e83f)
ld e, $4
@@ -5984,7 +5864,7 @@
ld [wcd30], a
ld a, $2
ld [wc7d4], a
- callba Function40bdc
+ callba Pokedex_ChangeMode
ret
; 11ad6e
@@ -6027,12 +5907,12 @@
ld de, String_11ae40
call PlaceString
hlcoord 10, 10, AttrMap
- ld bc, $0808
+ lb bc, 8, 8
call Function11afd6
callba ReloadMapPart
call Function11ad8a
ld a, $1
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld hl, Unknown_11afcc
call Function11afb7
@@ -6059,13 +5939,13 @@
jr .asm_11ae2e
.asm_11ade6
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ret z
jr .asm_11adf4
.asm_11aded
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
inc a
cp $4
ret z
@@ -6075,7 +5955,7 @@
ld hl, Unknown_11afcc
call Function11afbb
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld hl, Unknown_11afcc
call Function11afb7
ret
@@ -6082,7 +5962,7 @@
.asm_11ae06
call PlayClickSFX
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld hl, wcd30
ld [hl], a
@@ -6089,7 +5969,7 @@
and a
jr z, .asm_11ae28
hlcoord 2, 14
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $2
jr z, .asm_11ae23
call Function11b272
@@ -6149,7 +6029,7 @@
callba ReloadMapPart
call Function11ad8a
ld a, $1
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld hl, Unknown_11afd2
call Function11afb7
@@ -6180,13 +6060,13 @@
jr .asm_11aef7
.asm_11aec1
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ret z
jr .asm_11aecf
.asm_11aec8
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
inc a
cp $3
ret z
@@ -6196,7 +6076,7 @@
ld hl, Unknown_11afd2
call Function11afbb
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld hl, Unknown_11afd2
call Function11afb7
ret
@@ -6203,7 +6083,7 @@
.asm_11aee1
call PlayClickSFX
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $2
jr z, .asm_11aeb4
ld a, [wcd4b]
@@ -6240,7 +6120,7 @@
callba ReloadMapPart
call Function11ad8a
ld a, $2
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld hl, Unknown_11afd2
call Function11afb7
@@ -6271,13 +6151,13 @@
jr .asm_11afaa
.asm_11af77
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ret z
jr .asm_11af85
.asm_11af7e
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
inc a
cp $3
ret z
@@ -6287,7 +6167,7 @@
ld hl, Unknown_11afd2
call Function11afbb
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld hl, Unknown_11afd2
call Function11afb7
ret
@@ -6294,7 +6174,7 @@
.asm_11af97
call PlayClickSFX
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $2
jr z, .asm_11af6a
ld a, $6
@@ -6317,13 +6197,12 @@
ld e, $7f
asm_11afbd:
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld c, a
ld b, 0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, e
ld e, [hl]
inc hl
@@ -6343,20 +6222,20 @@
; 11afd6
Function11afd6: ; 11afd6
- ld de, $0014
+ ld de, SCREEN_WIDTH
ld a, $3
-.asm_11afdb
+.row
push bc
push hl
-.asm_11afdd
+.col
ld [hli], a
dec c
- jr nz, .asm_11afdd
+ jr nz, .col
pop hl
add hl, de
pop bc
dec b
- jr nz, .asm_11afdb
+ jr nz, .row
ret
; 11afe8
@@ -6413,55 +6292,55 @@
push hl
push af
ld c, $1
-.asm_11b041
+.loop
ld a, [hli]
- cp $ef
- jr z, .asm_11b051
- cp $f5
- jr z, .asm_11b051
- cp $50
- jr z, .asm_11b055
+ cp "♂"
+ jr z, .gender
+ cp "♀"
+ jr z, .gender
+ cp "@"
+ jr z, .done
inc c
- jr .asm_11b041
+ jr .loop
-.asm_11b051
+.gender
dec hl
- ld a, $50
+ ld a, "@"
ld [hli], a
-.asm_11b055
+.done
dec hl
push hl
- ld e, $4
- ld d, $0
+ ld e, 4
+ ld d, 0
add hl, de
ld e, l
ld d, h
pop hl
-.asm_11b05f
+.loop2
ld a, [hld]
ld [de], a
dec de
dec c
- jr nz, .asm_11b05f
+ jr nz, .loop2
pop af
pop de
cp $1
- jr nz, .asm_11b070
- ld hl, String_11b07a
- jr .asm_11b073
+ jr nz, .female
+ ld hl, .MaleString
+ jr .got_string
-.asm_11b070
- ld hl, String_11b07e
+.female
+ ld hl, .FemaleString
-.asm_11b073
- ld bc, 4
+.got_string
+ ld bc, 4 ; string length
call CopyBytes
ret
; 11b07a
-String_11b07a: db "ォスの "
-String_11b07e: db "メスの "
+.MaleString: db "ォスの "
+.FemaleString: db "メスの "
Function11b082: ; 11b082
call Function11b242
@@ -6485,36 +6364,38 @@
ld a, [wc7d0]
ld e, a
ld d, $0
- ld hl, $c6d0
+ ld hl, wc6d0
add hl, de
ld e, l
ld d, h
hlcoord 11, 2
ld a, [wc7d3]
-.asm_11b0b9
+.loop
push af
ld a, [de]
ld [wd265], a
push de
push hl
- call Function11b0cf
+ call .PlaceMonNameOrPlaceholderString
pop hl
- ld de, $0028
+ ld de, 2 * SCREEN_WIDTH
add hl, de
pop de
inc de
pop af
dec a
- jr nz, .asm_11b0b9
+ jr nz, .loop
ret
; 11b0cf
-Function11b0cf: ; 11b0cf
+.PlaceMonNameOrPlaceholderString: ; 11b0cf
and a
ret z
- call Function11b0ec
+
+ call .CheckSeenFlag
ret c
- call Function11b0e1
+
+ call .SetCaughtFlag
push hl
call GetPokemonName
pop hl
@@ -6522,29 +6403,30 @@
ret
; 11b0e1
-Function11b0e1: ; 11b0e1
- call Function11b21e
- jr nz, .asm_11b0e8
+.SetCaughtFlag: ; 11b0e1
+ call CheckCaughtMemMon
+ jr nz, .okay
inc hl
ret
-.asm_11b0e8
+.okay
ld a, $1
ld [hli], a
ret
; 11b0ec
-Function11b0ec: ; 11b0ec
- call Function11b22a
+.CheckSeenFlag: ; 11b0ec
+ call CheckSeenMemMon
ret nz
+
inc hl
- ld de, String_11b0f9
+ ld de, .EmptySlot
call PlaceString
scf
ret
; 11b0f9
-String_11b0f9: ; 11b0f9
+.EmptySlot: ; 11b0f9
db "ーーーーー@"
; 11b0ff
@@ -6580,7 +6462,7 @@
.asm_11b131
call Function11b20b
- call Function11b22a
+ call CheckSeenMemMon
jr z, .asm_11b13d
ld a, $1
jr .asm_11b148
@@ -6764,7 +6646,7 @@
ret
; 11b21e
-Function11b21e: ; 11b21e
+CheckCaughtMemMon: ; 11b21e
push de
push hl
ld a, [wd265]
@@ -6775,7 +6657,7 @@
ret
; 11b22a
-Function11b22a: ; 11b22a
+CheckSeenMemMon: ; 11b22a
push de
push hl
ld a, [wd265]
@@ -6793,9 +6675,8 @@
Function11b239: ; 11b239
ld e, a
ld d, 0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -6846,7 +6727,7 @@
Function11b279: ; 11b279
ld a, [wd265]
ld [CurSpecies], a
- call Function11b22a
+ call CheckSeenMemMon
jr z, .asm_11b28f
call GetBaseData
ld a, [BaseGender]
@@ -6869,7 +6750,7 @@
ld de, String_11b308
call PlaceString
call Function11b20b
- call Function11b22a
+ call CheckSeenMemMon
jr z, .asm_11b2d1
ld a, [$c608]
ld c, a
@@ -6882,7 +6763,7 @@
ld hl, $0003
add hl, bc
ld e, [hl]
- callba Function8e9bc
+ callba FlyFunction_GetMonIcon
hlcoord 4, 14
push hl
call GetPokemonName
@@ -6943,53 +6824,106 @@
; 11b31b
Function11b31b: ; 11b31b
- ld hl, Unknown_11b350
+ ld hl, .Coords
ld a, [wJumptableIndex]
- cp $2
- jr c, .asm_11b349
+ cp 2
+ jr c, .tilemap_1
ld a, [wc7d1]
- cp $4
- jr nc, .asm_11b344
- cp $3
- jr c, .asm_11b349
+ cp 4
+ jr nc, .tilemap_3
+ cp 3
+ jr c, .tilemap_1
ld a, [wJumptableIndex]
- cp $2
- jr z, .asm_11b349
- cp $3
- jr z, .asm_11b349
- cp $6
- jr z, .asm_11b349
+ cp 2
+ jr z, .tilemap_1
+ cp 3
+ jr z, .tilemap_1
+ cp 6
+ jr z, .tilemap_1
- ld bc, Unknown_11b37b
- jr .asm_11b34c
+ ld bc, .Tilemap2
+ jr .load_sprites
-.asm_11b344
- ld bc, Unknown_11b389
- jr .asm_11b34c
+.tilemap_3
+ ld bc, .Tilemap3
+ jr .load_sprites
-.asm_11b349
- ld bc, Unknown_11b36d
+.tilemap_1
+ ld bc, .Tilemap1
-.asm_11b34c
+.load_sprites
call Function11b397
ret
; 11b350
-Unknown_11b350:
- db $1a, $5e, $1a, $66, $1a, $6e, $1a, $76, $1a, $7e, $1a, $86, $1a, $8e
- db $22, $5e, $22, $66, $22, $6e, $22, $76, $22, $7e, $22, $86, $22, $8e
- db $ff
+.Coords:
+ dbpixel 3, 11, 2, 6 ; 0
+ dbpixel 3, 12, 2, 6 ; 1
+ dbpixel 3, 13, 2, 6 ; 2
+ dbpixel 3, 14, 2, 6 ; 3
+ dbpixel 3, 15, 2, 6 ; 4
+ dbpixel 3, 16, 2, 6 ; 5
+ dbpixel 3, 17, 2, 6 ; 6
+ dbpixel 4, 11, 2, 6 ; 7
+ dbpixel 4, 12, 2, 6 ; 8
+ dbpixel 4, 13, 2, 6 ; 9
+ dbpixel 4, 14, 2, 6 ; 10
+ dbpixel 4, 15, 2, 6 ; 11
+ dbpixel 4, 16, 2, 6 ; 12
+ dbpixel 4, 17, 2, 6 ; 13
+ db -1
-Unknown_11b36d:
- db $30, $31, $31, $31, $31, $31, $32, $40, $41, $41, $41, $41, $41, $42
-Unknown_11b37b:
- db $30, $31, $31, $39, $39, $39, $39, $40, $41, $41, $39, $39, $39, $39
-Unknown_11b389:
- db $39, $39, $39, $39, $39, $39, $39, $39, $39, $39, $39, $39, $39, $39
+.Tilemap1: ; vtiles
+ db $30 ; 0
+ db $31 ; 1
+ db $31 ; 2
+ db $31 ; 3
+ db $31 ; 4
+ db $31 ; 5
+ db $32 ; 6
+ db $40 ; 7
+ db $41 ; 8
+ db $41 ; 9
+ db $41 ; 10
+ db $41 ; 11
+ db $41 ; 12
+ db $42 ; 13
+.Tilemap2: ; vtiles
+ db $30 ; 0
+ db $31 ; 1
+ db $31 ; 2
+ db $39 ; 3
+ db $39 ; 4
+ db $39 ; 5
+ db $39 ; 6
+ db $40 ; 7
+ db $41 ; 8
+ db $41 ; 9
+ db $39 ; 10
+ db $39 ; 11
+ db $39 ; 12
+ db $39 ; 13
+
+.Tilemap3: ; vtiles
+ db $39 ; 0
+ db $39 ; 1
+ db $39 ; 2
+ db $39 ; 3
+ db $39 ; 4
+ db $39 ; 5
+ db $39 ; 6
+ db $39 ; 7
+ db $39 ; 8
+ db $39 ; 9
+ db $39 ; 10
+ db $39 ; 11
+ db $39 ; 12
+ db $39 ; 13
+
Function11b397: ; 11b397
ld de, Sprites
-.asm_11b39a
+.loop
ld a, [hl]
cp $ff
ret z
@@ -6997,26 +6931,29 @@
and $7
swap a
add [hl]
- inc hl
+ inc hl ; 1
ld [de], a
inc de
- ld a, [hli]
+
+ ld a, [hli] ; 2
ld [de], a
inc de
+
ld a, [bc]
inc bc
ld [de], a
inc de
- ld a, $5
+ ld a, $5 ; OBPal 5
ld [de], a
inc de
- jr .asm_11b39a
+ jr .loop
; 11b3b6
Function11b3b6: ; 11b3b6
-.asm_11b3b6
+; unreferenced
+.loop
ld a, [hl]
- cp $ff
+ cp -1
ret z
ld a, [wcd4d]
and $7
@@ -7040,11 +6977,11 @@
ld a, $5
ld [de], a
inc de
- jr .asm_11b3b6
+ jr .loop
; 11b3d9
Function11b3d9: ; 11b3d9
- ld de, Sprites + $70
+ ld de, Sprites + 28 * 4
push de
ld a, [wc7d2]
dec a
@@ -7053,19 +6990,19 @@
ld hl, wc7d0
add [hl]
cp e
- jr z, .asm_11b40d
+ jr z, .skip
ld hl, 0
- ld bc, $0070
+ ld bc, $70
call AddNTimes
ld e, l
ld d, h
- ld b, $0
+ ld b, 0
ld a, d
or e
- jr z, .asm_11b40f
+ jr z, .load_sprites
ld a, [wc7d2]
ld c, a
-.asm_11b401
+.loop1
ld a, e
sub c
ld e, a
@@ -7072,32 +7009,32 @@
ld a, d
sbc $0
ld d, a
- jr c, .asm_11b40f
+ jr c, .load_sprites
inc b
- jr .asm_11b401
+ jr .loop1
-.asm_11b40d
- ld b, $70
+.skip
+ ld b, 14 * 8
-.asm_11b40f
- ld a, $15
+.load_sprites
+ ld a, 2 * 8 + 5
add b
pop hl
ld [hli], a
cp $41
- jr c, .asm_11b42b
+ jr c, .version1
ld a, [wJumptableIndex]
- cp $4
- jr z, .asm_11b43b
- cp $5
- jr z, .asm_11b43b
- cp $7
- jr z, .asm_11b43b
- cp $8
- jr z, .asm_11b43b
+ cp 4
+ jr z, .version2
+ cp 5
+ jr z, .version2
+ cp 7
+ jr z, .version2
+ cp 8
+ jr z, .version2
-.asm_11b42b
- ld a, $9b
+.version1
+ ld a, 19 * 8 + 3
ld [hli], a
ld a, [wcd4c]
add $3c
@@ -7107,8 +7044,8 @@
ld [hl], a
ret
-.asm_11b43b
- ld a, $9b
+.version2
+ ld a, 19 * 8 + 3
ld [hli], a
ld a, $39
ld [hli], a
@@ -7118,12 +7055,13 @@
; 11b444
Function11b444: ; 11b444
- call Function11b44b
- call Function11b45c
+; special
+ call Mobile46_InitJumptable
+ call Mobile46_RunJumptable
ret
; 11b44b
-Function11b44b: ; 11b44b
+Mobile46_InitJumptable: ; 11b44b
xor a
ld [wJumptableIndex], a
ld [wcf64], a
@@ -7133,43 +7071,32 @@
ret
; 11b45c
-Function11b45c: ; 11b45c
-.asm_11b45c
- call Function11b46a
+Mobile46_RunJumptable: ; 11b45c
+.loop
+ call .IterateJumptable
call DelayFrame
ld a, [wJumptableIndex]
- cp $4
- jr nz, .asm_11b45c
+ cp 4
+ jr nz, .loop
ret
; 11b46a
-Function11b46a: ; 11b46a
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, Jumptable_11b479
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 11b479
+.IterateJumptable: ; 11b46a
+ jumptable .Jumptable, wJumptableIndex
-Jumptable_11b479: ; 11b479
+.Jumptable
dw Function11b483
dw Function11b570
dw Function11b5c0
dw Function11b5e0
- dw Function11b5e7
+ dw Function11b5e7 ; unused
; 11b483
Function11b483: ; 11b483
- call Function11b538
+ call .InitRAM
ld hl, PlayerName
- ld a, $5
-.asm_11b48b
+ ld a, $5 ; Japanese Name Length
+.loop1
push af
ld a, [hli]
ld [bc], a
@@ -7177,23 +7104,24 @@
pop af
dec a
and a
- jr nz, .asm_11b48b
- ld de, $0030
+ jr nz, .loop1
+
+ ld de, PARTYMON_STRUCT_LENGTH
ld hl, PartyMon1Species
ld a, [wcd82]
dec a
push af
-.asm_11b49f
+.loop2
and a
- jr z, .asm_11b4a6
+ jr z, .okay
add hl, de
dec a
- jr .asm_11b49f
+ jr .loop2
-.asm_11b4a6
+.okay
push bc
- ld a, $30
-.asm_11b4a9
+ ld a, PARTYMON_STRUCT_LENGTH
+.loop3
push af
ld a, [hli]
ld [bc], a
@@ -7201,31 +7129,31 @@
pop af
dec a
and a
- jr nz, .asm_11b4a9
+ jr nz, .loop3
+
pop de
push bc
ld a, [de]
ld [CurSpecies], a
call GetBaseData
- ld hl, $001f
+ ld hl, MON_LEVEL
add hl, de
ld a, [hl]
ld [CurPartyLevel], a
- ld hl, $0024
+ ld hl, MON_MAXHP
add hl, de
push hl
- ld hl, $000a
+ ld hl, MON_STAT_EXP - 1
add hl, de
pop de
push de
- ld b, $1
+ ld b, OTPARTYMON
predef CalcPkmnStats
pop de
ld h, d
ld l, e
-rept 2
dec hl
-endr
+ dec hl
ld a, [de]
ld [hli], a
inc de
@@ -7232,20 +7160,20 @@
ld a, [de]
ld [hl], a
pop bc
- ld de, $000b
+ ld de, NAME_LENGTH
ld hl, PartyMonOT
pop af
push af
-.asm_11b4e8
+.loop4
and a
- jr z, .asm_11b4ef
+ jr z, .okay2
add hl, de
dec a
- jr .asm_11b4e8
+ jr .loop4
-.asm_11b4ef
- ld a, $a
-.asm_11b4f1
+.okay2
+ ld a, NAME_LENGTH - 1
+.loop5
push af
ld a, [hli]
ld [bc], a
@@ -7253,21 +7181,21 @@
pop af
dec a
and a
- jr nz, .asm_11b4f1
- ld de, $000b
+ jr nz, .loop5
+ ld de, NAME_LENGTH
ld hl, PartyMonNicknames
pop af
push af
-.asm_11b502
+.loop6
and a
- jr z, .asm_11b509
+ jr z, .okay3
add hl, de
dec a
- jr .asm_11b502
+ jr .loop6
-.asm_11b509
- ld a, $a
-.asm_11b50b
+.okay3
+ ld a, NAME_LENGTH - 1
+.loop7
push af
ld a, [hli]
ld [bc], a
@@ -7275,22 +7203,22 @@
pop af
dec a
and a
- jr nz, .asm_11b50b
- ld de, $002f
- ld hl, $a600
+ jr nz, .loop7
+ ld de, MAIL_STRUCT_LENGTH
+ ld hl, sPartyMail
pop af
-.asm_11b51b
+.loop8
and a
- jr z, .asm_11b522
+ jr z, .okay4
add hl, de
dec a
- jr .asm_11b51b
+ jr .loop8
-.asm_11b522
- ld a, $0
+.okay4
+ ld a, $0 ; BANK(sPartyMail)
call GetSRAMBank
- ld a, $2f
-.asm_11b529
+ ld a, MAIL_STRUCT_LENGTH
+.loop9
push af
ld a, [hli]
ld [bc], a
@@ -7298,38 +7226,44 @@
pop af
dec a
and a
- jr nz, .asm_11b529
+ jr nz, .loop9
call CloseSRAM
jp Function11ad8a
-; 11b538
-Function11b538: ; 11b538
- ld bc, BattleMonNick + 5
+.InitRAM
+ ld bc, wc626
ld a, [PlayerID]
ld [wcd2a], a
ld [bc], a
inc bc
+
ld a, [PlayerID + 1]
ld [wcd2b], a
ld [bc], a
inc bc
+
ld a, [wSecretID]
ld [wcd2c], a
ld [bc], a
inc bc
+
ld a, [wSecretID + 1]
ld [wcd2d], a
ld [bc], a
inc bc
+
ld a, [wcd2e]
ld [bc], a
inc bc
+
ld a, [wcd2f]
ld [bc], a
inc bc
+
ld a, [wcd30]
ld [bc], a
inc bc
+
ld a, [wd265]
ld [bc], a
inc bc
@@ -7340,36 +7274,40 @@
call Function118007
ld a, [ScriptVar]
and a
- jr nz, .asm_11b57f
- call Function11b585
+ jr nz, .exit
+ call .SaveData
jp Function11ad8a
-.asm_11b57f
+.exit
ld a, $4
ld [wJumptableIndex], a
ret
-; 11b585
-Function11b585: ; 11b585
+.SaveData
ld a, $3
ld [rSVBK], a
- ld hl, $d800
+
+ ld hl, w3_d800
ld de, $c608
- ld bc, $008f
+ ld bc, w3_d88f - w3_d800
call CopyBytes
+
ld a, $1
ld [rSVBK], a
ld a, $5
call GetSRAMBank
+
ld de, $a800
ld a, $1
ld [de], a
inc de
ld hl, $c608
- ld bc, $008f
+ ld bc, w3_d88f - w3_d800
call CopyBytes
+
push de
pop hl
+
ld a, [hRTCMinutes]
ld [hli], a
ld a, [hRTCHours]
@@ -7378,6 +7316,7 @@
ld [hli], a
ld a, [hRTCDayHi]
ld [hl], a
+
call CloseSRAM
ret
; 11b5c0
@@ -7387,8 +7326,8 @@
dec a
ld [CurPartyMon], a
xor a
- ld [wd10b], a
- callba Functione039
+ ld [wPokemonWithdrawDepositParameter], a
+ callba RemoveMonFromPartyOrBox
callba Function170807
callba Function14a58
jp Function11ad8a
@@ -7409,7 +7348,7 @@
call GetSRAMBank
ld hl, wRTC
ld de, $c608
- ld bc, $0004
+ ld bc, 4
call CopyBytes
call CloseSRAM
ld a, $5
@@ -7416,7 +7355,7 @@
call GetSRAMBank
ld hl, $c608
ld de, $b08c
- ld bc, $0004
+ ld bc, 4
call CopyBytes
ld a, $2
ld [$a800], a
@@ -7437,36 +7376,21 @@
ld a, [$a826]
ld [wcd31], a
call CloseSRAM
- call Function11b44b
- call Function11b64c
+ call Mobile46_InitJumptable
+ call .loop
ret
-; 11b64c
-Function11b64c: ; 11b64c
-.asm_11b64c
- call Function11b65a
+.loop
+ call .RunJumptable
call DelayFrame
ld a, [wJumptableIndex]
cp $1
- jr nz, .asm_11b64c
+ jr nz, .loop
ret
-; 11b65a
-Function11b65a: ; 11b65a
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, Jumptable_11b669
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 11b669
-
-Jumptable_11b669: ; 11b669
+.RunJumptable
+ jumptable .Jumptable, wJumptableIndex
+.Jumptable
dw Function11b66d
dw Function11b6b3
; 11b66d
@@ -7480,7 +7404,7 @@
push af
ld a, $3
ld [rSVBK], a
- ld a, [StringBuffer2 + 10]
+ ld a, [w3_d090]
ld b, a
pop af
ld [rSVBK], a
@@ -7504,7 +7428,7 @@
ld a, $3
ld [rSVBK], a
ld a, $2
- ld [StringBuffer2 + 10], a
+ ld [w3_d090], a
pop af
ld [rSVBK], a
@@ -7523,161 +7447,168 @@
ld [wc708], a
ld a, [wcd31]
ld [wc709], a
- ld a, $8
- ld [BGMapBuffer], a
- ld a, $c7
- ld [wcd21], a
- ld a, $d
- ld [CreditsTimer], a
- ld a, $c6
- ld [wcd23], a
- ld a, $3d
- ld [wcd24], a
- ld a, $c6
- ld [wcd25], a
- ld a, $42
- ld [wcd26], a
- ld a, $c6
- ld [wcd27], a
- ld a, $47
- ld [wcd28], a
- ld a, $c6
- ld [wcd29], a
+
+ ld a, $c708 % $100
+ ld [wMobileMonSpeciesPointerBuffer], a
+ ld a, $c708 / $100
+ ld [wMobileMonSpeciesPointerBuffer + 1], a
+
+ ld a, $c60d % $100 ; Partymon Struct
+ ld [wMobileMonStructurePointerBuffer], a
+ ld a, $c60d / $100
+ ld [wMobileMonStructurePointerBuffer + 1], a
+
+ ld a, $c63d % $100 ; OT
+ ld [wMobileMonOTNamePointerBuffer], a
+ ld a, $c63d / $100
+ ld [wMobileMonOTNamePointerBuffer + 1], a
+
+ ld a, $c642 % $100 ; Nickname
+ ld [wMobileMonNicknamePointerBuffer], a
+ ld a, $c642 / $100
+ ld [wMobileMonNicknamePointerBuffer + 1], a
+
+ ld a, $c647 % $100 ; ???
+ ld [wMobileMonMailPointerBuffer], a
+ ld a, $c647 / $100
+ ld [wMobileMonMailPointerBuffer + 1], a
+
ld a, $46
ld [$c628], a
+
ld de, $c63d
- ld c, $5
+ ld c, 5
callba CheckStringForErrors
- jr nc, .asm_11b70f
- callba Function17d187
+ jr nc, .length_check_OT
+ callba Mobile_CopyDefaultOTName
-.asm_11b70f
+.length_check_OT
ld de, $c63d
lb bc, 1, 5
callba CheckStringContainsLessThanBNextCharacters
- jr nc, .asm_11b723
- callba Function17d187
+ jr nc, .error_check_nick
+ callba Mobile_CopyDefaultOTName
-.asm_11b723
+.error_check_nick
ld de, $c642
- ld c, $5
+ ld c, 5
callba CheckStringForErrors
- jr nc, .asm_11b736
- callba Function17d199
+ jr nc, .length_check_nick
+ callba Mobile_CopyDefaultNickname
-.asm_11b736
+.length_check_nick
ld de, $c642
lb bc, 1, 5
callba CheckStringContainsLessThanBNextCharacters
- jr nc, .asm_11b74a
- callba Function17d199
+ jr nc, .error_check_mail
+ callba Mobile_CopyDefaultNickname
-.asm_11b74a
+.error_check_mail
ld de, $c647
- ld c, $21
+ ld c, MAIL_MSG_LENGTH + 1
callba CheckStringForErrors
- jr nc, .asm_11b75d
- callba Function17d1ab
+ jr nc, .length_check_mail
+ callba Mobile_CopyDefaultMail
-.asm_11b75d
+.length_check_mail
ld de, $c647
- lb bc, 2, $21
+ lb bc, 2, MAIL_MSG_LENGTH + 1
callba CheckStringContainsLessThanBNextCharacters
- jr c, .asm_11b770
+ jr c, .fix_mail
ld a, b
cp $2
- jr nz, .asm_11b776
+ jr nz, .mail_ok
-.asm_11b770
- callba Function17d1ab
+.fix_mail
+ callba Mobile_CopyDefaultMail
-.asm_11b776
+.mail_ok
ld de, $c668
ld c, $5
callba CheckStringForErrors
- jr nc, .asm_11b789
- callba Function17d1c9
+ jr nc, .length_check_author
+ callba Mobile_CopyDefaultMailAuthor
-.asm_11b789
+.length_check_author
ld de, $c668
lb bc, 1, 5
callba CheckStringContainsLessThanBNextCharacters
- jr nc, .asm_11b79d
- callba Function17d1c9
+ jr nc, .author_okay
+ callba Mobile_CopyDefaultMailAuthor
-.asm_11b79d
- ld a, [$c608 + 6]
- cp $ff
- jr nz, .asm_11b7a8
+.author_okay
+ ld a, [$c60e]
+ cp -1
+ jr nz, .item_okay
xor a
- ld [$c608 + 6], a
+ ld [$c60e], a
-.asm_11b7a8
+.item_okay
ld a, [wcd31]
- ld [$c608 + 5], a
+ ld [$c60d], a
ld [CurSpecies], a
call GetBaseData
- ld hl, $c62c
+ ld hl, $c60d + MON_LEVEL
ld a, [hl]
cp MIN_LEVEL
ld a, MIN_LEVEL
- jr c, .asm_11b7c5
+ jr c, .replace_level
ld a, [hl]
cp MAX_LEVEL
- jr c, .asm_11b7c6
+ jr c, .done_level
ld a, MAX_LEVEL
-.asm_11b7c5
+.replace_level
ld [hl], a
-.asm_11b7c6
+.done_level
ld [CurPartyLevel], a
- ld hl, $c616 + 1
- ld de, $c62c + 5
+ ld hl, $c60d + MON_STAT_EXP - 1
+ ld de, $c60d + MON_MAXHP
ld b, $1
predef CalcPkmnStats
- ld de, $c62c + 5
- ld hl, $c62c + 3
+ ld de, $c60d + MON_MAXHP
+ ld hl, $c60d + MON_HP
ld a, [de]
ld [hli], a
inc de
ld a, [de]
ld [hl], a
- call Function11b98f
+ call AddMobileMonToParty
ret
; 11b7e5
Function11b7e5: ; 11b7e5
- ld a, [$c608 + 5]
- ld [wc702], a
+ ld a, [$c60d] ; species
+ ld [wOTTrademonSpecies], a
ld [CurPartySpecies], a
ld a, [wcd81]
ld [wc74e], a
- ld hl, $c63d
- ld de, wc724
- ld bc, $0005
+ ld hl, $c63d ; OT
+ ld de, wOTTrademonOTName
+ ld bc, 5
call CopyBytes
- ld a, $50
+ ld a, "@"
ld [de], a
- ld a, [$c608 + 11]
- ld [wEnemyWrapCount], a
- ld a, [$c608 + 12]
- ld [wPlayerCharging], a
- ld hl, $c608 + 26
+ ld a, [$c60d + MON_ID] ; id
+ ld [wOTTrademonID], a
+ ld a, [$c60d + MON_ID + 1]
+ ld [wOTTrademonID + 1], a
+ ld hl, $c60d + MON_DVS ; dvs
ld a, [hli]
- ld [wEnemyTrappingMove], a
+ ld [wOTTrademonDVs], a
ld a, [hl]
- ld [wPlayerWrapCount], a
- ld bc, $c608 + 5
+ ld [wOTTrademonDVs + 1], a
+ ld bc, $c60d ; pokemon_data_start
callba GetCaughtGender
ld a, c
- ld [wEnemyCharging], a
+ ld [wOTTrademonCaughtData], a
call SpeechTextBox
call FadeToMenu
- callba Function108016
+ callba MobileTradeAnimation_ReceiveGetmonFromGTS
callba Function17d1f1
ld a, $1
- ld [wd1e9], a
+ ld [wForceEvolution], a
ld a, $2
ld [wLinkMode], a
callba EvolvePokemon
@@ -7701,13 +7632,13 @@
ld [de], a
.asm_11b872
- call ReturnToCallingMenu
+ call CloseSubmenu
call RestartMapMusic
ret
; 11b879
Function11b879: ; 11b879
- callba Function17089a
+ callba BattleTower_CheckSaveFileExistsAndIsYours
ld a, [ScriptVar]
and a
ret z
@@ -7800,11 +7731,11 @@
; 11b920
Function11b920: ; 11b920
- call Function11b44b
+ call Mobile46_InitJumptable
ld a, $5
call GetSRAMBank
ld hl, $a81f
- ld de, BattleMonNick + 5
+ ld de, wc626
ld bc, $0008
call CopyBytes
call CloseSRAM
@@ -7818,43 +7749,49 @@
xor a
ld [$a800], a
ld hl, $a823
- ld de, wEnemyMoveStruct
+ ld de, $c608
ld bc, $008f
call CopyBytes
call CloseSRAM
- ld a, wEnemyMoveStruct % $100
- ld [wcd20], a
- ld a, wEnemyMoveStruct / $100
- ld [wcd21], a
+
+ ld a, $c608 % $100
+ ld [wMobileMonSpeciesPointerBuffer], a
+ ld a, $c608 / $100
+ ld [wMobileMonSpeciesPointerBuffer + 1], a
+
ld a, $c611 % $100
- ld [wcd22], a
+ ld [wMobileMonStructurePointerBuffer], a
ld a, $c611 / $100
- ld [wcd23], a
+ ld [wMobileMonStructurePointerBuffer + 1], a
+
ld a, $c641 % $100
- ld [wcd24], a
+ ld [wMobileMonOTNamePointerBuffer], a
ld a, $c641 / $100
- ld [wcd25], a
+ ld [wMobileMonOTNamePointerBuffer + 1], a
+
ld a, $c646 % $100
- ld [wcd26], a
+ ld [wMobileMonNicknamePointerBuffer], a
ld a, $c646 / $100
- ld [wcd27], a
+ ld [wMobileMonNicknamePointerBuffer + 1], a
+
ld a, $c64b % $100
- ld [wcd28], a
+ ld [wMobileMonMailPointerBuffer], a
ld a, $c64b / $100
- ld [wcd29], a
- call Function11b98f
+ ld [wMobileMonMailPointerBuffer + 1], a
+ call AddMobileMonToParty
callba Function14a58
ret
; 11b98f
-Function11b98f: ; 11b98f
+AddMobileMonToParty: ; 11b98f
ld hl, PartyCount
ld a, [hl]
ld e, a
inc [hl]
- ld a, [wcd20]
+
+ ld a, [wMobileMonSpeciesPointerBuffer]
ld l, a
- ld a, [wcd21]
+ ld a, [wMobileMonSpeciesPointerBuffer + 1]
ld h, a
inc hl
ld bc, PartySpecies
@@ -7868,12 +7805,13 @@
ld a, [hl]
ld [bc], a
inc bc
- ld a, $ff
+ ld a, -1
ld [bc], a
+
ld hl, PartyMon1Species
ld bc, PARTYMON_STRUCT_LENGTH
ld a, e
- ld [wcd2a], a
+ ld [wMobileMonSpeciesBuffer], a
.loop2
add hl, bc
dec a
@@ -7881,15 +7819,16 @@
jr nz, .loop2
ld e, l
ld d, h
- ld a, [CreditsTimer]
+ ld a, [wMobileMonStructurePointerBuffer]
ld l, a
- ld a, [wcd23]
+ ld a, [wMobileMonStructurePointerBuffer + 1]
ld h, a
ld bc, PARTYMON_STRUCT_LENGTH
call CopyBytes
+
ld hl, PartyMonOT
ld bc, NAME_LENGTH
- ld a, [wcd2a]
+ ld a, [wMobileMonSpeciesBuffer]
.loop3
add hl, bc
dec a
@@ -7897,17 +7836,18 @@
jr nz, .loop3
ld e, l
ld d, h
- ld a, [wcd24]
+ ld a, [wMobileMonOTNamePointerBuffer]
ld l, a
- ld a, [wcd25]
+ ld a, [wMobileMonOTNamePointerBuffer + 1]
ld h, a
ld bc, PKMN_NAME_LENGTH - 1
call CopyBytes
ld a, "@"
ld [de], a
+
ld hl, PartyMonNicknames
ld bc, PKMN_NAME_LENGTH
- ld a, [wcd2a]
+ ld a, [wMobileMonSpeciesBuffer]
.loop4
add hl, bc
dec a
@@ -7915,32 +7855,34 @@
jr nz, .loop4
ld e, l
ld d, h
- ld a, [wcd26]
+ ld a, [wMobileMonNicknamePointerBuffer]
ld l, a
- ld a, [wcd27]
+ ld a, [wMobileMonNicknamePointerBuffer + 1]
ld h, a
ld bc, PKMN_NAME_LENGTH - 1
call CopyBytes
ld a, "@"
ld [de], a
+
ld hl, sPartyMail
- ld bc, PARTYMON_STRUCT_LENGTH - 1
- ld a, [wcd2a]
+ ld bc, MAIL_STRUCT_LENGTH
+ ld a, [wMobileMonSpeciesBuffer]
.loop5
add hl, bc
dec a
and a
jr nz, .loop5
- ld a, $0
+ ld a, BANK(sPartyMail)
call GetSRAMBank
ld e, l
ld d, h
- ld a, [wcd28]
+ ld a, [wMobileMonMailPointerBuffer]
ld l, a
- ld a, [wcd29]
+ ld a, [wMobileMonMailPointerBuffer + 1]
ld h, a
- ld bc, PARTYMON_STRUCT_LENGTH - 1
+ ld bc, MAIL_STRUCT_LENGTH
call CopyBytes
+
call CloseSRAM
ret
; 11ba38
@@ -7953,85 +7895,85 @@
ret
; 11ba44
-Unknown_11ba44:
- db $47, $30, $0a, $0a, $0a, $0a, $0a, $56
- db $46, $2f, $0a, $0a, $0a, $0a, $0a, $55
- db $45, $3d, $0a, $0a, $0a, $0a, $0a, $54
- db $44, $30, $0a, $0a, $0a, $0a, $0a, $53
- db $43, $2f, $0a, $0a, $0a, $0a, $0a, $52
- db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $51
- db $4a, $30, $0a, $0a, $0a, $0a, $0a, $50
- db $4a, $2f, $0a, $0a, $0a, $0a, $0a, $4f
- db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $4e
- db $4a, $30, $0a, $0a, $0a, $0a, $4d, $42
- db $4a, $2f, $0a, $0a, $0a, $0a, $6b, $58
- db $4a, $3d, $0a, $0a, $0a, $0a, $6a, $58
- db $4a, $30, $0a, $0a, $0a, $0a, $69, $58
- db $4a, $2f, $0a, $0a, $0a, $0a, $68, $58
- db $4a, $3d, $0a, $0a, $0a, $66, $67, $58
- db $4a, $30, $0a, $0a, $0a, $65, $0a, $58
- db $4a, $2f, $0a, $0a, $0a, $64, $0a, $58
- db $4a, $3d, $0a, $0a, $0a, $63, $0a, $58
- db $4a, $30, $0a, $0a, $61, $62, $0a, $58
- db $4a, $2f, $0a, $0a, $5f, $60, $0a, $58
- db $4a, $3d, $0a, $61, $62, $0a, $0a, $58
- db $4a, $30, $0a, $63, $0a, $0a, $0a, $58
- db $4a, $2f, $69, $0a, $0a, $0a, $0a, $58
- db $4a, $3d, $81, $0a, $0a, $0a, $0a, $58
- db $4a, $30, $80, $0a, $0a, $0a, $0a, $58
- db $4a, $2f, $7f, $0a, $0a, $0a, $0a, $58
- db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $58
- db $4a, $30, $0a, $0a, $0a, $0a, $0a, $58
- db $4a, $2f, $68, $87, $88, $89, $0a, $58
- db $4a, $3d, $6e, $6f, $70, $75, $76, $58
- db $4a, $30, $75, $76, $5c, $5d, $5e, $58
- db $4a, $2f, $71, $72, $73, $74, $6d, $58
- db $4a, $3d, $75, $76, $77, $8a, $8b, $58
- db $4a, $30, $66, $67, $65, $0a, $6a, $58
- db $4a, $2f, $83, $84, $0a, $83, $84, $58
- db $4a, $3d, $0a, $85, $82, $84, $0a, $58
- db $4a, $30, $41, $80, $40, $0a, $0a, $58
- db $4a, $2f, $83, $0a, $0a, $0a, $0a, $58
- db $4a, $3d, $40, $0a, $0a, $0a, $0a, $58
- db $ff
+TilemapPack_11ba44:
+ db $47, $30, $0a, $0a, $0a, $0a, $0a, $56 ; 00
+ db $46, $2f, $0a, $0a, $0a, $0a, $0a, $55 ; 01
+ db $45, $3d, $0a, $0a, $0a, $0a, $0a, $54 ; 02
+ db $44, $30, $0a, $0a, $0a, $0a, $0a, $53 ; 03
+ db $43, $2f, $0a, $0a, $0a, $0a, $0a, $52 ; 04
+ db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $51 ; 05
+ db $4a, $30, $0a, $0a, $0a, $0a, $0a, $50 ; 06
+ db $4a, $2f, $0a, $0a, $0a, $0a, $0a, $4f ; 07
+ db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $4e ; 08
+ db $4a, $30, $0a, $0a, $0a, $0a, $4d, $42 ; 09
+ db $4a, $2f, $0a, $0a, $0a, $0a, $6b, $58 ; 0a
+ db $4a, $3d, $0a, $0a, $0a, $0a, $6a, $58 ; 0b
+ db $4a, $30, $0a, $0a, $0a, $0a, $69, $58 ; 0c
+ db $4a, $2f, $0a, $0a, $0a, $0a, $68, $58 ; 0d
+ db $4a, $3d, $0a, $0a, $0a, $66, $67, $58 ; 0e
+ db $4a, $30, $0a, $0a, $0a, $65, $0a, $58 ; 0f
+ db $4a, $2f, $0a, $0a, $0a, $64, $0a, $58 ; 10
+ db $4a, $3d, $0a, $0a, $0a, $63, $0a, $58 ; 11
+ db $4a, $30, $0a, $0a, $61, $62, $0a, $58 ; 12
+ db $4a, $2f, $0a, $0a, $5f, $60, $0a, $58 ; 13
+ db $4a, $3d, $0a, $61, $62, $0a, $0a, $58 ; 14
+ db $4a, $30, $0a, $63, $0a, $0a, $0a, $58 ; 15
+ db $4a, $2f, $69, $0a, $0a, $0a, $0a, $58 ; 16
+ db $4a, $3d, $81, $0a, $0a, $0a, $0a, $58 ; 17
+ db $4a, $30, $80, $0a, $0a, $0a, $0a, $58 ; 18
+ db $4a, $2f, $7f, $0a, $0a, $0a, $0a, $58 ; 19
+ db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $58 ; 1a
+ db $4a, $30, $0a, $0a, $0a, $0a, $0a, $58 ; 1b
+ db $4a, $2f, $68, $87, $88, $89, $0a, $58 ; 1c
+ db $4a, $3d, $6e, $6f, $70, $75, $76, $58 ; 1d
+ db $4a, $30, $75, $76, $5c, $5d, $5e, $58 ; 1e
+ db $4a, $2f, $71, $72, $73, $74, $6d, $58 ; 1f
+ db $4a, $3d, $75, $76, $77, $8a, $8b, $58 ; 20
+ db $4a, $30, $66, $67, $65, $0a, $6a, $58 ; 21
+ db $4a, $2f, $83, $84, $0a, $83, $84, $58 ; 22
+ db $4a, $3d, $0a, $85, $82, $84, $0a, $58 ; 23
+ db $4a, $30, $41, $80, $40, $0a, $0a, $58 ; 24
+ db $4a, $2f, $83, $0a, $0a, $0a, $0a, $58 ; 25
+ db $4a, $3d, $40, $0a, $0a, $0a, $0a, $58 ; 26
+ db -1
-Unknown_11bb7d:
- db $0a, $0a, $0a, $0a, $0a, $0a, $16, $00
- db $78, $0a, $0a, $0a, $0a, $0a, $8c, $00
- db $79, $0a, $0a, $0a, $0a, $0a, $8d, $00
- db $7a, $0a, $0a, $0a, $0a, $0a, $8e, $00
- db $7b, $0a, $0a, $0a, $0a, $0a, $8c, $00
- db $7c, $0a, $0a, $0a, $0a, $0a, $8d, $00
- db $7d, $0a, $0a, $0a, $0a, $0a, $8e, $00
- db $2e, $7e, $0a, $0a, $0a, $0a, $8c, $00
- db $2e, $80, $0a, $0a, $0a, $0a, $8d, $00
- db $2e, $81, $0a, $0a, $0a, $0a, $8e, $00
- db $2e, $82, $0a, $0a, $0a, $0a, $8c, $00
- db $2e, $69, $0a, $0a, $0a, $0a, $8d, $00
- db $2e, $6a, $0a, $0a, $0a, $0a, $8e, $00
- db $2e, $6b, $0a, $0a, $0a, $0a, $8c, $00
- db $2e, $0a, $68, $0a, $0a, $0a, $8d, $00
- db $2e, $0a, $69, $0a, $0a, $0a, $8e, $00
- db $2e, $0a, $0a, $6a, $0a, $0a, $8c, $00
- db $2e, $0a, $0a, $6b, $0a, $0a, $8d, $00
- db $2e, $0a, $0a, $0a, $80, $0a, $8e, $00
- db $2e, $0a, $0a, $0a, $82, $0a, $8c, $00
- db $2e, $0a, $0a, $0a, $6c, $0a, $8d, $00
- db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00
- db $2e, $0a, $6b, $0a, $0a, $0a, $8c, $00
- db $2e, $0a, $0a, $69, $0a, $0a, $8d, $00
- db $2e, $0a, $0a, $6a, $0a, $0a, $8e, $00
- db $2e, $0a, $0a, $0a, $68, $0a, $8c, $00
- db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00
- db $2e, $0a, $0a, $61, $62, $0a, $8e, $00
- db $2e, $0a, $0a, $0a, $5f, $60, $8c, $00
- db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00
- db $2e, $0a, $0a, $0a, $0a, $69, $8c, $00
- db $2e, $0a, $0a, $0a, $0a, $6b, $8d, $00
- db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00
- db $2e, $0a, $0a, $0a, $0a, $86, $8c, $00
- db $2e, $0a, $85, $0a, $0a, $0a, $8d, $00
- db $2e, $0a, $0a, $84, $0a, $0a, $8e, $00
- db $ff
+TilemapPack_11bb7d:
+ db $0a, $0a, $0a, $0a, $0a, $0a, $16, $00 ; 00
+ db $78, $0a, $0a, $0a, $0a, $0a, $8c, $00 ; 01
+ db $79, $0a, $0a, $0a, $0a, $0a, $8d, $00 ; 02
+ db $7a, $0a, $0a, $0a, $0a, $0a, $8e, $00 ; 03
+ db $7b, $0a, $0a, $0a, $0a, $0a, $8c, $00 ; 04
+ db $7c, $0a, $0a, $0a, $0a, $0a, $8d, $00 ; 05
+ db $7d, $0a, $0a, $0a, $0a, $0a, $8e, $00 ; 06
+ db $2e, $7e, $0a, $0a, $0a, $0a, $8c, $00 ; 07
+ db $2e, $80, $0a, $0a, $0a, $0a, $8d, $00 ; 08
+ db $2e, $81, $0a, $0a, $0a, $0a, $8e, $00 ; 09
+ db $2e, $82, $0a, $0a, $0a, $0a, $8c, $00 ; 0a
+ db $2e, $69, $0a, $0a, $0a, $0a, $8d, $00 ; 0b
+ db $2e, $6a, $0a, $0a, $0a, $0a, $8e, $00 ; 0c
+ db $2e, $6b, $0a, $0a, $0a, $0a, $8c, $00 ; 0d
+ db $2e, $0a, $68, $0a, $0a, $0a, $8d, $00 ; 0e
+ db $2e, $0a, $69, $0a, $0a, $0a, $8e, $00 ; 0f
+ db $2e, $0a, $0a, $6a, $0a, $0a, $8c, $00 ; 10
+ db $2e, $0a, $0a, $6b, $0a, $0a, $8d, $00 ; 11
+ db $2e, $0a, $0a, $0a, $80, $0a, $8e, $00 ; 12
+ db $2e, $0a, $0a, $0a, $82, $0a, $8c, $00 ; 13
+ db $2e, $0a, $0a, $0a, $6c, $0a, $8d, $00 ; 14
+ db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00 ; 15
+ db $2e, $0a, $6b, $0a, $0a, $0a, $8c, $00 ; 16
+ db $2e, $0a, $0a, $69, $0a, $0a, $8d, $00 ; 17
+ db $2e, $0a, $0a, $6a, $0a, $0a, $8e, $00 ; 18
+ db $2e, $0a, $0a, $0a, $68, $0a, $8c, $00 ; 19
+ db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00 ; 1a
+ db $2e, $0a, $0a, $61, $62, $0a, $8e, $00 ; 1b
+ db $2e, $0a, $0a, $0a, $5f, $60, $8c, $00 ; 1c
+ db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00 ; 1d
+ db $2e, $0a, $0a, $0a, $0a, $69, $8c, $00 ; 1e
+ db $2e, $0a, $0a, $0a, $0a, $6b, $8d, $00 ; 1f
+ db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00 ; 20
+ db $2e, $0a, $0a, $0a, $0a, $86, $8c, $00 ; 21
+ db $2e, $0a, $85, $0a, $0a, $0a, $8d, $00 ; 22
+ db $2e, $0a, $0a, $84, $0a, $0a, $8e, $00 ; 23
+ db -1
--- a/misc/mobile_5b.asm
+++ b/misc/mobile_5b.asm
@@ -2,7 +2,7 @@
ld a, [hCGB]
and a
ret z
- ld a, [$ffea]
+ ld a, [hFFEA]
and a
ret z
ld a, [wcfbe]
@@ -15,7 +15,7 @@
call Function16c031
callba Function1000a4
xor a
- ld [$ffea], a
+ ld [hFFEA], a
pop af
ld [wcfbe], a
ret
@@ -184,7 +184,7 @@
ld bc, 8
ld a, $5
call FarCopyWRAM
- callba Function96a4
+ callba ApplyPals
ret
; 16c145
@@ -362,7 +362,7 @@
ld a, e
cp $8
jr nz, .asm_16c969
- callba Function96a4
+ callba ApplyPals
call SetPalettes
ld a, [rSVBK]
push af
@@ -392,7 +392,7 @@
ld a, [wd003]
and a
jr nz, .asm_16ca1d
- callba Function96a4
+ callba ApplyPals
.asm_16ca1d
ld a, [rSVBK]
@@ -465,7 +465,7 @@
ld a, e
cp $8
jr nz, .asm_16ca28
- callba Function96a4
+ callba ApplyPals
call SetPalettes
ld a, [rSVBK]
push af
@@ -711,14 +711,14 @@
ld hl, Unknown_16cbfb
add hl, bc
ld a, [hl]
- ld bc, $0002
+ ld bc, 2
ld hl, Unknown_16cfa3
call AddNTimes
- ld de, wd00c
- ld bc, $0002
+ ld de, UnknBGPals + 1 palettes + 4
+ ld bc, 2
ld a, $5
call FarCopyWRAM
- callba Function96a4
+ callba ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -749,19 +749,19 @@
Function16cc25: ; 16cc25
ld hl, Unknown_16cfa9
- ld de, wd008
- call Function16cc41
+ ld de, UnknBGPals + 1 palettes
+ call .CopyPal
ld hl, Unknown_16cfb1
ld de, UnknOBPals
- call Function16cc41
+ call .CopyPal
ld hl, Unknown_16cfb9
- ld de, wd048
- call Function16cc41
+ ld de, UnknOBPals + 1 palettes
+ call .CopyPal
ret
; 16cc41
-Function16cc41: ; 16cc41
- ld bc, $0008
+.CopyPal: ; 16cc41
+ ld bc, 1 palettes
ld a, $5
jp FarCopyWRAM
; 16cc49
@@ -863,374 +863,3 @@
RGB 07, 07, 07
; 16cfc1
-
-GFX_16cfc1:
-INCBIN "gfx/unknown/16cfc1.2bpp"
-
-Function16d421: ; 16d421
- ld de, GFX_16cfc1
- ld hl, VTiles2
- lb bc, BANK(GFX_16cfc1), $46
- call Get2bpp
- ret
-; 16d42e
-
-Function16d42e: ; 16d42e
- ld hl, Tilemap_16d465
- decoord 0, 0
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- call CopyBytes
- ret
-; 16d43b
-
-Function16d43b: ; 16d43b
- call LoadStandardMenuDataHeader
- call ClearBGPalettes
- call ClearTileMap
- call ClearSprites
- callba Function16d421
- callba Function16d42e
- ld b, SCGB_08
- call GetSGBLayout
- call SetPalettes
- call WaitBGMap
- call JoyWaitAorB
- call Call_ExitMenu
- ret
-; 16d465
-
-Tilemap_16d465:
-INCBIN "gfx/unknown/16d465.tilemap"
-
-Tilemap_16d5cd:
-INCBIN "gfx/unknown/16d5cd.tilemap"
-
-Tilemap_16d5f5:
-INCBIN "gfx/unknown/16d5f5.tilemap"
-
-Function16d61d: ; 16d61d
- ld h, d
- ld l, e
- push bc
- push hl
- call Function16d640
- pop hl
- pop bc
- ld de, AttrMap - TileMap
- add hl, de
-rept 2
- inc b
-endr
-rept 2
- inc c
-endr
- ld a, $7
-.loop
- push bc
- push hl
-.loop2
- ld [hli], a
- dec c
- jr nz, .loop2
- pop hl
- ld de, SCREEN_WIDTH
- add hl, de
- pop bc
- dec b
- jr nz, .loop
- ret
-; 16d640
-
-Function16d640: ; 16d640
- push hl
- ld a, $30
- ld [hli], a
- inc a
- call Function16d66d
- inc a
- ld [hl], a
- pop hl
- ld de, SCREEN_WIDTH
- add hl, de
-.loop
- push hl
- ld a, $33
- ld [hli], a
- ld a, " "
- call Function16d66d
- ld [hl], $34
- pop hl
- ld de, SCREEN_WIDTH
- add hl, de
- dec b
- jr nz, .loop
- ld a, $35
- ld [hli], a
- ld a, $36
- call Function16d66d
- ld [hl], $37
- ret
-; 16d66d
-
-Function16d66d: ; 16d66d
- ld d, c
-.loop
- ld [hli], a
- dec d
- jr nz, .loop
- ret
-; 16d673
-
-Function16d673: ; 16d673
- call Function16d696
- call Function16d6ae
- callba Function49856
- callba Functionfb60d
- hlcoord 10, 17
- ld de, String_16d68f
- call PlaceString
- ret
-; 16d68f
-
-String_16d68f: ; 16d68f
- db "CANCEL@"
-; 16d696
-
-Function16d696: ; 16d696
- call Function16d421
- ret
-; 16d69a
-
-
-Function16d69a: ; 16d69a
- ld de, GFX_16cfc1 + $300
- ld hl, VTiles2 tile $76
- lb bc, BANK(GFX_16cfc1), 8
- call Get2bpp
- ret
-; 16d6a7
-
-Function16d6a7: ; 16d6a7
- callba Function49811
- ret
-; 16d6ae
-
-Function16d6ae: ; 16d6ae
- call Function16d42e
- ld hl, Tilemap_16d5cd
- decoord 0, 0
- ld bc, $0028
- call CopyBytes
- ld hl, Tilemap_16d5f5
- decoord 0, 16
- ld bc, $0028
- call CopyBytes
- ret
-; 16d6ca
-
-LinkTextbox: ; 16d6ca
- call Function16d61d
- ret
-; 16d6ce
-
-Function16d6ce: ; 16d6ce
- call LoadStandardMenuDataHeader
- call Function16d6e1
- callba Function87d
- call Call_ExitMenu
- call Function3200
- ret
-; 16d6e1
-
-Function16d6e1: ; 16d6e1
- hlcoord 4, 10
- ld b, 1
- ld c, 10
- predef Predef_LinkTextbox
- hlcoord 5, 11
- ld de, .Waiting
- call PlaceString
- call WaitBGMap
- call Function3200
- ld c, $32
- jp DelayFrames
-; 16d701
-
-.Waiting: ; 16d701
- db "WAITING..!@"
-; 16d70c
-
-Function16d70c: ; 16d70c
- call Function16d725
- call Function16d713
- ret
-; 16d713
-
-Function16d713: ; 16d713
- push bc
- push af
- ld a, [hJoyLast]
- and $f0
- ld b, a
- ld a, [hJoyPressed]
- and $f
- or b
- ld b, a
- pop af
- ld a, b
- pop bc
- ld d, a
- ret
-; 16d725
-
-Function16d725: ; 16d725
- ld hl, wcfa6
- res 7, [hl]
- ld a, [hBGMapMode]
- push af
- call Function16d734
- pop af
- ld [hBGMapMode], a
- ret
-; 16d734
-
-Function16d734: ; 16d734
-.asm_16d734
- call Function16d77a
- call Function16d759
- call Function16d76a
- jr nc, .asm_16d758
- callba Function24270
- jr c, .asm_16d758
- ld a, [wcfa5]
- bit 7, a
- jr nz, .asm_16d758
- call Function16d713
- ld b, a
- ld a, [wcfa8]
- and b
- jr z, .asm_16d734
-
-.asm_16d758
- ret
-; 16d759
-
-Function16d759: ; 16d759
- ld a, [hOAMUpdate]
- push af
- ld a, $1
- ld [hOAMUpdate], a
- call WaitBGMap
- pop af
- ld [hOAMUpdate], a
- xor a
- ld [hBGMapMode], a
- ret
-; 16d76a
-
-Function16d76a: ; 16d76a
-.asm_16d76a
- call RTC
- call Function16d7e7
- ret c
- ld a, [wcfa5]
- bit 7, a
- jr z, .asm_16d76a
- and a
- ret
-; 16d77a
-
-Function16d77a: ; 16d77a
- ld hl, wcfac
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [hl]
- cp $1f
- jr nz, .asm_16d792
- ld a, [wcfab]
- ld [hl], a
- push hl
- push bc
- ld bc, $000b
- add hl, bc
- ld [hl], a
- pop bc
- pop hl
-
-.asm_16d792
- ld a, [wcfa1]
- ld b, a
- ld a, [wcfa2]
- ld c, a
- call Coord2Tile
- ld a, [wcfa7]
- swap a
- and $f
- ld c, a
- ld a, [MenuSelection2]
- ld b, a
- xor a
- dec b
- jr z, .asm_16d7b1
-.asm_16d7ad
- add c
- dec b
- jr nz, .asm_16d7ad
-
-.asm_16d7b1
- ld c, $14
- call AddNTimes
- ld a, [wcfa7]
- and $f
- ld c, a
- ld a, [wcfaa]
- ld b, a
- xor a
- dec b
- jr z, .asm_16d7c8
-.asm_16d7c4
- add c
- dec b
- jr nz, .asm_16d7c4
-
-.asm_16d7c8
- ld c, a
- add hl, bc
- ld a, [hl]
- cp $1f
- jr z, .asm_16d7de
- ld [wcfab], a
- ld [hl], $1f
- push hl
- push bc
- ld bc, $000b
- add hl, bc
- ld [hl], $1f
- pop bc
- pop hl
-
-.asm_16d7de
- ld a, l
- ld [wcfac], a
- ld a, h
- ld [wcfad], a
- ret
-; 16d7e7
-
-Function16d7e7: ; 16d7e7
- ld a, [wcfa5]
- bit 6, a
- jr z, .asm_16d7f4
- callba Function8cf62
-
-.asm_16d7f4
- call JoyTextDelay
- call Function16d713
- and a
- ret z
- scf
- ret
-; 16d7fe
-
-
--- a/misc/mobile_5c.asm
+++ b/misc/mobile_5c.asm
@@ -34,6 +34,7 @@
ld bc, $008f
call CopyBytes
ret
+
; 17005a
Function17005a: ; 17005a
@@ -71,85 +72,11 @@
ld [wc74e], a
call CloseSRAM
ret
+
; 1700b0
INCLUDE "misc/battle_tower_5c.asm"
-Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44
- callba Function_LoadOpponentTrainerAndPokemons
- ld a, [rSVBK]
- push af
- ld a, $3
- ld [rSVBK], a
- ld hl, wd10a
- ld a, [hl]
- dec a
- ld c, a
- ld b, $0
- pop af
- ld [rSVBK], a
- ld hl, Unknown_170b90
- add hl, bc
- ld a, [hl]
- ld [wcd49], a
-
-; Load sprite of the opponent trainer
-; because s/he is chosen randomly and appears out of nowhere
- ld a, [ScriptVar]
- dec a
- sla a
- ld e, a
- sla a
- sla a
- sla a
- ld c, a
- ld b, $0
- ld d, $0
- ld hl, MapObjects
- add hl, bc
- inc hl
- ld a, [wcd49]
- ld [hl], a
- ld hl, UsedSprites
- add hl, de
- ld [hli], a
- ld [hUsedSpriteIndex], a
- ld a, [hl]
- ld [hUsedSpriteTile], a
- callba GetUsedSprite
- ret
-; 170b90
-
-Unknown_170b90:
- db $12, $13, $14, $15, $18, $17
- db $16, $19, $04, $05, $11, $01
- db $1c, $1b, $21, $1e, $1a, $1d
- db $1f, $3c, $20, $27, $27, $27
- db $28, $0a, $23, $24, $2a, $2b
- db $35, $40, $2a, $29, $22, $25
- db $3a, $2b, $24, $49, $2b, $07
- db $2c, $2d, $4a, $0d, $4b, $3a
- db $2b, $41, $35, $27, $28, $27
- db $36, $3e, $30, $2c, $2d, $3d
- db $26, $2e, $06, $07, $43, $36
-
-Function170bd2: ; 170bd2
- ret
-; 170bd3
-
-SpecialCheckForBattleTowerRules: ; 170bd3
- callba CheckForBattleTowerRules
- jr c, .asm_170bde
- xor a
- jr .asm_170be0
-
-.asm_170bde
- ld a, $1
-
-.asm_170be0
- ld [ScriptVar], a
- ret
-; 170be4
Function170be4: ; 170be4
ld a, $5
call GetSRAMBank
@@ -159,6 +86,7 @@
call ByteFill
call CloseSRAM
ret
+
; 170bf7
Clears5_a89a: ; 170bf7
@@ -170,6 +98,7 @@
ld [hl], a
call CloseSRAM
ret
+
; 170c06
Function170c06: ; 170c06
@@ -275,6 +204,7 @@
ld [hl], a
call CloseSRAM
ret
+
; 170c8b
Function170c8b: ; 170c8b
@@ -287,6 +217,7 @@
dec b
jr nz, .asm_170c90
ret
+
; 170c98
CheckBTMonMovesForErrors: ; 170c98
@@ -330,6 +261,7 @@
dec c
jr nz, .loop
ret
+
; 170cc6
Function170cc6: ; 170cc6
@@ -338,7 +270,7 @@
ld a, $6
ld [rSVBK], a
ld hl, LZ_170d16
- ld de, wd000
+ ld de, wDecompressScratch
call Decompress
ld a, $1
ld [rVBK], a
@@ -358,6 +290,7 @@
pop af
ld [rSVBK], a
ret
+
; 170d02
Function170d02: ; 170d02
@@ -370,6 +303,7 @@
xor a
ld [rVBK], a
ret
+
; 170d16
LZ_170d16:
@@ -413,20 +347,21 @@
call ClearSprites
callba Function171d2b
callba ReloadMapPart
- callba Function8cf53
+ callba ClearSpriteAnims
ret
Function171a11: ; 171a11 (5c:5a11)
+.loop
call JoyTextDelay
ld a, [wcd49]
bit 7, a
- jr nz, .asm_171a2c
+ jr nz, .done
call Function171a36
- callba Function8cf69
+ callba PlaySpriteAnimations
callba ReloadMapPart
- jr Function171a11
-.asm_171a2c
- callba Function8cf53
+ jr .loop
+.done
+ callba ClearSpriteAnims
call ClearSprites
ret
@@ -465,6 +400,7 @@
bit 0, a
ret nz
jp Function171c66
+
.asm_171a6a
ld a, $0
call Function3e32
@@ -492,6 +428,7 @@
ld de, String_171aa7
call PlaceString
jp Function171c66
+
; 171aa7 (5c:5aa7)
String_171aa7: ; 171aa7
@@ -626,6 +563,7 @@
ld a, $80
ld [wcd49], a
ret
+
asm_171ba5: ; 171ba5 (5c:5ba5)
ld a, [wcd4a]
and a
@@ -633,6 +571,7 @@
dec a
ld [wcd4a], a
ret
+
asm_171baf: ; 171baf (5c:5baf)
ld a, [wcd4b]
ld c, a
@@ -715,7 +654,7 @@
dec [hl]
ret nz
call ClearBGPalettes
- callba Function106462
+ callba MobileFunc_106462
callba Function106464
ld a, $2
ld [wc303], a
@@ -729,6 +668,7 @@
ld hl, wcd49
inc [hl]
ret
+
; 171c6b (5c:5c6b)
MenuDataHeader_171c6b: ; 171c6b
@@ -807,6 +747,7 @@
hlcoord 3, 16
ld de, String_172e3f
jp PlaceString
+
.asm_171d16
ld hl, Tilemap_1725f9
decoord 0, 7
@@ -841,6 +782,7 @@
ld de, String_172e58
call PlaceString
ret
+
; 171d71 (5c:5d71)
Palette_171d71:
@@ -931,6 +873,7 @@
ld bc, $168
call CopyBytes
ret
+
; 172eb9 (5c:6eb9)
Function172eb9:
@@ -950,6 +893,7 @@
pop af
ld [rSVBK], a
ret
+
; 172edf (5c:6edf)
Palette_172edf:
--- a/misc/mobile_5f.asm
+++ b/misc/mobile_5f.asm
@@ -274,35 +274,35 @@
Function17d0f3: ; 17d0f3
ld a, [$c608 + 5]
- ld [wc702], a
+ ld [wOTTrademonSpecies], a
ld [CurPartySpecies], a
ld a, [wcd81]
ld [wc74e], a
ld hl, $c63d
- ld de, wc724
- ld bc, $0005
+ ld de, wOTTrademonOTName
+ ld bc, 5
call CopyBytes
- ld a, $50
+ ld a, "@"
ld [de], a
ld a, [$c608 + 11]
- ld [wEnemyWrapCount], a
+ ld [wOTTrademonID], a
ld a, [$c608 + 12]
- ld [wPlayerCharging], a
+ ld [wOTTrademonID + 1], a
ld hl, $c608 + 26
ld a, [hli]
- ld [wEnemyTrappingMove], a
+ ld [wOTTrademonDVs], a
ld a, [hl]
- ld [wPlayerWrapCount], a
+ ld [wOTTrademonDVs + 1], a
ld bc, $c608 + 5
callba GetCaughtGender
ld a, c
- ld [wEnemyCharging], a
+ ld [wOTTrademonCaughtData], a
call SpeechTextBox
call FadeToMenu
callba Function10804d
callba Function17d1f1
ld a, $1
- ld [wd1e9], a
+ ld [wForceEvolution], a
ld a, $2
ld [wLinkMode], a
callba EvolvePokemon
@@ -326,58 +326,58 @@
ld [de], a
.asm_17d180
- call ReturnToCallingMenu
+ call CloseSubmenu
call RestartMapMusic
ret
; 17d187
-Function17d187: ; 17d187
- ld hl, Unknown_17d194
+Mobile_CopyDefaultOTName: ; 17d187
+ ld hl, Mobile5F_KrissName
ld de, $c63d
- ld bc, $0005
+ ld bc, 5
call CopyBytes
ret
; 17d194
-Unknown_17d194:
+Mobile5F_KrissName:
db "クりス@@"
; 17d198
-Function17d199: ; 17d199
- ld hl, Unknown_17d1a6
+Mobile_CopyDefaultNickname: ; 17d199
+ ld hl, .DefaultNickname
ld de, $c642
- ld bc, $0005
+ ld bc, 5
call CopyBytes
ret
; 17d1a6
-Unknown_17d1a6:
+.DefaultNickname:
db "?????"
-Function17d1ab: ; 17d1ab
- ld a, $50
+Mobile_CopyDefaultMail: ; 17d1ab
+ ld a, "@"
ld hl, $c647
- ld bc, $0021
+ ld bc, MAIL_MSG_LENGTH + 1
call ByteFill
- ld hl, Unknown_17d1c3
+ ld hl, .DefaultMessage
ld de, $c647
- ld bc, $0006
+ ld bc, 6
call CopyBytes
ret
; 17d1c3
-Unknown_17d1c3:
+.DefaultMessage:
db "こんにちは@"
; 17d1c9
-Function17d1c9: ; 17d1c9
- ld a, $50
+Mobile_CopyDefaultMailAuthor: ; 17d1c9
+ ld a, "@"
ld de, $c668
- ld bc, $0005
+ ld bc, 5
call ByteFill
- ld hl, Unknown_17d194
+ ld hl, Mobile5F_KrissName
ld de, $c668
- ld bc, $0005
+ ld bc, 5
call CopyBytes
ret
; 17d1e1
@@ -418,12 +418,12 @@
call AddNTimes
predef GetUnownLetter
callab UpdateUnownDex
- ld a, [wdef4]
+ ld a, [wFirstUnownSeen]
and a
jr nz, .asm_17d223
ld a, [UnownLetter]
- ld [wdef4], a
+ ld [wFirstUnownSeen], a
.asm_17d223
ret
@@ -456,25 +456,25 @@
.Load_Interpret
call LoadMenuDataHeader
call Function17d246
- call WriteBackup
+ call CloseWindow
ret
; 17d246
Function17d246: ; 17d246
- call InterpretMenu2
+ call VerticalMenu
jr c, .Exit
ld a, [ScriptVar]
cp $5
- jr nz, .UseMenuSelection2
- ld a, [MenuSelection2]
+ jr nz, .UsewMenuCursorY
+ ld a, [wMenuCursorY]
cp $3
ret z
- jr c, .UseMenuSelection2
+ jr c, .UsewMenuCursorY
dec a
jr .LoadToScriptVar
-.UseMenuSelection2
- ld a, [MenuSelection2]
+.UsewMenuCursorY
+ ld a, [wMenuCursorY]
.LoadToScriptVar
ld [ScriptVar], a
@@ -564,7 +564,7 @@
ld [MusicFadeIDHi], a
call PlayMusic
call ReturnToMapFromSubmenu
- call ReturnToCallingMenu
+ call CloseSubmenu
ret
; 17d314
@@ -708,7 +708,7 @@
ld [rSVBK], a
ld hl, Palette_17eff6
ld de, UnknBGPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
call SetPalettes
pop af
@@ -733,17 +733,7 @@
; 17d474
Function17d474: ; 17d474
- ld a, [wcd77]
- ld e, a
- ld d, 0
- ld hl, Jumptable_17d483
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable Jumptable_17d483, wcd77
; 17d483
Jumptable_17d483: ; 17d483
@@ -802,7 +792,7 @@
jr z, .asm_17d4e0
ld a, e
ld [wcd6c], a
- ld [wc2c0], a
+ ld [wMapMusic], a
ld d, $0
call PlayMusic2
@@ -920,16 +910,14 @@
ld a, [wcd42]
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, l
ld [wcd4b], a
ld a, h
ld [wcd4c], a
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, l
ld [wcd4d], a
ld a, h
@@ -949,18 +937,17 @@
ld a, [hJoyPressed]
and a
ret z
- ld c, $0
+ ld c, 0
ld b, c
ld hl, wcd32
-.asm_17d5ce
+.loop
srl a
- jr c, .asm_17d5d6
-rept 2
+ jr c, .got_button
inc c
-endr
- jr .asm_17d5ce
+ inc c
+ jr .loop
-.asm_17d5d6
+.got_button
add hl, bc
ld a, [hli]
ld c, a
@@ -969,7 +956,7 @@
and c
cp $ff
ret z
- ld a, [BGMapBuffer]
+ ld a, [wcd20]
ld l, a
ld a, [wcd21]
ld h, a
@@ -988,7 +975,7 @@
ld [rSVBK], a
ld hl, $c608
ld de, UnknBGPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
ld a, $4
ld [rSVBK], a
@@ -1044,12 +1031,10 @@
ld [wcd4c], a
pop de
pop hl
-rept 2
inc b
-endr
-rept 2
+ inc b
dec c
-endr
+ dec c
jr z, .asm_17d684
push bc
push de
@@ -1095,17 +1080,15 @@
ld a, $5
call GetSRAMBank
ld hl, $b1d3
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld [wcd47], a
ld a, [hl]
ld [BGMapPalBuffer], a
ld hl, $b1b3
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld c, a
ld a, [hl]
@@ -1121,9 +1104,8 @@
ld de, wcd60
ld bc, $0004
call CopyBytes
-rept 2
inc hl
-endr
+ inc hl
ld de, wcd64
ld bc, $0004
call CopyBytes
@@ -1153,15 +1135,14 @@
jr z, asm_17d721
Function17d711:
-.asm_17d711
+.crash_loop
cp $31
- jr nc, .asm_17d711
+ jr nc, .crash_loop
ld e, a
ld d, 0
- ld hl, Jumptable_17d72a
-rept 2
+ ld hl, Jumptable17d72a
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1174,7 +1155,7 @@
ret
; 17d72a
-Jumptable_17d72a: ; 17d72a
+Jumptable17d72a: ; 17d72a
dw Function17d78c
dw Function17d78d
dw Function17d7b4
@@ -1933,16 +1914,16 @@
ld [wEnemyGoesFirst], a
ld hl, wc708
call LoadMenuDataHeader
- call InterpretMenu2
+ call VerticalMenu
jr nc, .asm_17dc6e
ld a, $2
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
.asm_17dc6e
- call WriteBackup
+ call CloseWindow
pop af
ld [rSVBK], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr nz, .asm_17dc85
ld a, [$c68a]
@@ -2015,9 +1996,8 @@
ld a, [wcd2e]
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld c, a
ld a, [hl]
@@ -2032,9 +2012,9 @@
ld a, [hl]
cp $ff
jr z, .asm_17dd0d
-.asm_17dcfa
+.crash_loop
cp $31
- jr nc, .asm_17dcfa
+ jr nc, .crash_loop
call Function17d711
ld a, [wcd77]
bit 7, a
@@ -2432,9 +2412,8 @@
jr .asm_17df7b
.asm_17df79
-rept 2
inc hl
-endr
+ inc hl
.asm_17df7b
bit 4, b
@@ -2487,9 +2466,8 @@
jr .asm_17dfd2
.asm_17dfd0
-rept 2
inc hl
-endr
+ inc hl
.asm_17dfd2
bit 5, b
@@ -2614,9 +2592,8 @@
jr .asm_17e0a4
.asm_17e0a2
-rept 2
inc hl
-endr
+ inc hl
.asm_17e0a4
bit 4, b
@@ -2632,9 +2609,8 @@
jr .asm_17e0b6
.asm_17e0b4
-rept 2
inc hl
-endr
+ inc hl
.asm_17e0b6
bit 5, b
@@ -2656,9 +2632,8 @@
call CloseSRAM
pop hl
pop bc
-rept 2
inc hl
-endr
+ inc hl
jr asm_17e0ee
.asm_17e0e1
@@ -2703,9 +2678,8 @@
call ReceiveItem
pop hl
jr c, .asm_17e127
-rept 2
inc hl
-endr
+ inc hl
.asm_17e127
ld a, [hli]
@@ -2735,9 +2709,8 @@
callba MobileCheckOwnMonAnywhere
pop hl
jr c, .asm_17e159
-rept 2
inc hl
-endr
+ inc hl
.asm_17e159
ld a, [hli]
@@ -2773,9 +2746,8 @@
call CheckItem
pop hl
jr c, .asm_17e195
-rept 2
inc hl
-endr
+ inc hl
.asm_17e195
ld a, [hli]
@@ -3240,9 +3212,8 @@
ld [wcd2e], a
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
push hl
hlcoord 0, 0
ld bc, $0014
@@ -3467,9 +3438,8 @@
ld l, a
ld a, [wcd4e]
ld h, a
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld e, a
ld a, [hli]
@@ -3534,9 +3504,8 @@
ld [hli], a
ld a, [de]
inc de
-rept 2
dec a
-endr
+ dec a
jr z, .asm_17e63f
ld c, a
ld a, [wcd53]
@@ -3555,9 +3524,8 @@
add hl, bc
ld a, [de]
dec de
-rept 2
dec a
-endr
+ dec a
jr z, .asm_17e674
ld b, a
.asm_17e651
@@ -3566,9 +3534,8 @@
add $3
ld [hli], a
ld a, [de]
-rept 2
dec a
-endr
+ dec a
jr z, .asm_17e664
ld c, a
ld a, $7f
@@ -3594,9 +3561,8 @@
add $5
ld [hli], a
ld a, [de]
-rept 2
dec a
-endr
+ dec a
jr z, .asm_17e689
ld c, a
ld a, [wcd53]
@@ -3622,9 +3588,8 @@
inc de
push af
ld a, [de]
-rept 2
inc de
-endr
+ inc de
and a
.asm_17e69f
jr z, .asm_17e6a5
@@ -3776,9 +3741,8 @@
ld e, a
ld d, 0
ld hl, Jumptable_17f061
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -3815,9 +3779,8 @@
ld de, $0004
add hl, de
ld a, [hli]
-rept 2
inc hl
-endr
+ inc hl
ld e, l
ld d, h
ld l, c
@@ -3960,9 +3923,8 @@
pop hl
call Function17f524
jr c, .asm_17f167
-rept 2
inc hl
-endr
+ inc hl
ld e, l
ld d, h
ld a, [de]
@@ -4150,9 +4112,8 @@
ld e, a
ld d, 0
ld hl, .Genders
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
@@ -4414,9 +4375,8 @@
ld a, [de]
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld e, a
ld a, [hli]
@@ -4431,9 +4391,8 @@
ld e, a
ld d, $0
pop hl
-rept 2
add hl, de
-endr
+ add hl, de
rept 3
inc hl
endr
@@ -4497,9 +4456,8 @@
ld de, $0005
add hl, de
ld a, [hli]
-rept 2
inc hl
-endr
+ inc hl
ld e, l
ld d, h
ld l, c
@@ -4673,7 +4631,9 @@
push af
ld a, $1
ld [rSVBK], a
+
call Function17f555
+
pop af
ld [rSVBK], a
call ExitAllMenus
@@ -4681,21 +4641,20 @@
; 17f555
Function17f555: ; 17f555
-.asm_17f555
+.loop
call JoyTextDelay
- call Function17f5ae
+ call .RunJumptable
ld a, [wc303]
bit 7, a
- jr nz, .asm_17f56a
+ jr nz, .quit
callba Function104000
- jr .asm_17f555
+ jr .loop
-.asm_17f56a
- call Function17f56e
+.quit
+ call .deinit
ret
-; 17f56e
-Function17f56e: ; 17f56e
+.deinit
ld a, [wc300]
cp $22
jr z, .asm_17f597
@@ -4732,26 +4691,16 @@
ld a, $5
call GetSRAMBank
xor a
- ld [$aa4b], a
+ ld [sMobileLoginPassword], a
call CloseSRAM
ret
; 17f5ae
-Function17f5ae: ; 17f5ae
- ld a, [wc303]
- ld e, a
- ld d, 0
- ld hl, Table17f5bd
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+.RunJumptable: ; 17f5ae
+ jumptable .Jumptable, wc303
; 17f5bd
-Table17f5bd: ; 17f5bd
+.Jumptable: ; 17f5bd
dw Function17f5c3
dw Function17ff23
dw Function17f5d2
@@ -4818,9 +4767,8 @@
ld e, a
ld d, $0
ld hl, Table_17f706
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [wc301]
ld e, a
ld a, [wc302]
@@ -4858,9 +4806,8 @@
jr .asm_17f67d
.asm_17f674
-rept 2
inc hl
-endr
+ inc hl
dec c
jr nz, .asm_17f65d
@@ -4878,9 +4825,8 @@
ld e, a
ld d, 0
ld hl, Table_17f699
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
@@ -4913,26 +4859,26 @@
Function17f6b7: ; 17f6b7
ld a, [wc300]
- call Function17f6cd
+ call .bcd_two_digits
inc hl
ld a, [wc302]
and $f
- call Function17f6d8
+ call .bcd_digit
ld a, [wc301]
- call Function17f6cd
+ call .bcd_two_digits
ret
; 17f6cd
-Function17f6cd: ; 17f6cd
+.bcd_two_digits: ; 17f6cd
ld c, a
and $f0
swap a
- call Function17f6d8
+ call .bcd_digit
ld a, c
and $f
-Function17f6d8: ; 17f6d8
- add $f6
+.bcd_digit: ; 17f6d8
+ add "0"
ld [hli], a
ret
; 17f6dc
--- /dev/null
+++ b/misc/mobile_menu.asm
@@ -1,0 +1,879 @@
+MainMenu_Mobile: ; 49efc
+ call ClearBGPalettes
+ ld a, MUSIC_MOBILE_ADAPTER_MENU
+ ld [wMapMusic], a
+ ld de, MUSIC_MOBILE_ADAPTER_MENU
+ call Function4a6c5
+Function49f0a: ; 49f0a
+ call ClearBGPalettes
+ call Function4a3a7
+ call Function4a492
+ call ClearBGPalettes
+Function49f16: ; 49f16
+ call MobileMenu_InitMenuBuffers
+ ld c, 12
+ call DelayFrames
+ hlcoord 4, 0
+ ld b, 10
+ ld c, 10
+ call Function48cdc
+ hlcoord 6, 2
+ ld de, MobileString1
+ call PlaceString
+ hlcoord 0, 12
+ ld b, 4
+ ld c, SCREEN_HEIGHT
+ call TextBox
+ xor a
+ ld de, String_0x49fe9
+ hlcoord 1, 14
+ call PlaceString
+ call WaitBGMap2
+ call SetPalettes
+ call StaticMenuJoypad
+ ld hl, wMenuCursorY
+ ld b, [hl]
+ push bc
+ jr .check_buttons
+
+.joy_loop
+ call ScrollingMenuJoypad
+ ld hl, wMenuCursorY
+ ld b, [hl]
+ push bc
+
+.check_buttons
+ bit A_BUTTON_F, a
+ jr nz, .a_button
+ bit B_BUTTON_F, a
+ jr nz, .b_button
+ jr .next
+
+.a_button
+ ld hl, wMenuCursorY
+ ld a, [hl]
+ cp 1
+ jp z, Function4a098
+ cp 2
+ jp z, Function4a0b9
+ cp 3
+ jp z, Function4a0c2
+ cp 4
+ jp z, Function4a100
+ ld a, 1
+ call MenuClickSound
+.b_button
+ pop bc
+ call ClearBGPalettes
+ call ClearTileMap
+ ld a, MUSIC_MAIN_MENU
+ ld [wMapMusic], a
+ ld de, MUSIC_MAIN_MENU
+ call Function4a6c5
+ ret
+
+.next
+ ld hl, wMenuCursorY
+ ld a, [hl]
+ dec a
+ ld hl, MobileStrings2
+ call GetNthString
+ ld d, h
+ ld e, l
+ hlcoord 1, 13
+ ld b, 4
+ ld c, SCREEN_HEIGHT
+ call ClearBox
+ hlcoord 1, 14
+ call PlaceString
+ jp .useless_jump
+
+.useless_jump
+ call MobileMenu_InitMenuBuffers
+ pop bc
+ ld hl, wMenuCursorY
+ ld [hl], b
+ ld b, $a
+ ld c, $1
+ hlcoord 5, 1
+ call ClearBox
+ jp .joy_loop
+; 49fcc
+
+
+MobileString1: ; 49fcc
+ db "めいしフ,ルダー"
+ next "あいさつ"
+ next "プロフィール"
+ next "せ", $1e, "い"
+ next "もどる"
+ db "@"
+; 49fe9
+
+
+MobileStrings2:
+
+String_0x49fe9: ; 49fe9
+ db "めいし¯つくったり"
+ next "ほぞんしておける フ,ルダーです@"
+; 4a004
+
+String_0x4a004: ; 4a004
+ db "モバイルたいせんや じぶんのめいしで"
+ next "つかう あいさつ¯つくります@"
+; 4a026
+
+String_0x4a026: ; 4a026
+ db "あなた%じゅうしょや ねんれいの"
+ next "せ", $1e, "い¯かえられます@"
+; 4a042
+
+String_0x4a042: ; 4a042
+ db "モバイルセンター", $1d, "せつぞくするとき"
+ next "ひつような こと¯きめます@"
+; 4a062
+
+String_0x4a062: ; 4a062
+ db "まえ%がめん ", $1d, "もどります"
+ next "@"
+; 4a071
+
+MobileMenu_InitMenuBuffers: ; 4a071 (12:6071)
+ ld hl, w2DMenuCursorInitY
+ ld a, 2
+ ld [hli], a
+ ld a, 5 ; w2DMenuCursorInitX
+ ld [hli], a
+ ld a, 5 ; w2DMenuNumRows
+ ld [hli], a
+ ld a, 1 ; w2DMenuNumCols
+ ld [hli], a
+ ld [hl], $0 ; w2DMenuFlags1
+ set 5, [hl]
+ inc hl
+ xor a ; w2DMenuFlags2
+ ld [hli], a
+ ld a, $20 ; w2DMenuCursorOffsets
+ ld [hli], a
+ ; this is a stupid way to load $c3
+ ld a, A_BUTTON
+ add D_UP
+ add D_DOWN
+ add B_BUTTON
+ ld [hli], a ; wMenuJoypadFilter
+ ld a, 1
+ ld [hli], a ; wMenuCursorY, wMenuCursorX
+ ld [hli], a ; wMenuCursorY, wMenuCursorX
+ ret
+
+Function4a098: ; 4a098 (12:6098)
+ ld a, 2
+ call MenuClickSound
+ call PlaceHollowCursor
+ call WaitBGMap
+ call LoadStandardMenuDataHeader
+ callba Function89de0
+ call Call_ExitMenu
+ call MG_Mobile_Layout_LoadPals
+ call Function4a485
+ pop bc
+ jp Function49f16
+
+Function4a0b9: ; 4a0b9 (12:60b9)
+ ld a, 2
+ call MenuClickSound
+ pop bc
+ jp Function4a4c4
+
+Function4a0c2: ; 4a0c2 (12:60c2)
+ ld a, 2
+ call MenuClickSound
+ ld a, BANK(sPlayerData)
+ call GetSRAMBank
+ ld hl, sPlayerData + PlayerName - wPlayerData
+ ld de, PlayerName
+ ld bc, 6 ; japanese name length
+ call CopyBytes
+ call CloseSRAM
+ callba _LoadData
+ ld c, 2
+ call DelayFrames
+ ld c, $1
+ call InitMobileProfile
+ push af
+ call ClearBGPalettes
+ pop af
+ and a
+ jr nz, .skip_save
+ callba _SaveData
+.skip_save
+ ld c, 5
+ call DelayFrames
+ jr asm_4a111
+
+Function4a100: ; 4a100 (12:6100)
+ ld a, 2
+ call MenuClickSound
+ call ClearBGPalettes
+ call Function4a13b
+ call ClearBGPalettes
+ call ClearTileMap
+
+asm_4a111: ; 4a111 (12:6111)
+ pop bc
+ call LoadFontsExtra
+ jp Function49f0a
+
+Function4a118: ; 4a118 (12:6118)
+ ld hl, w2DMenuCursorInitY
+ ld a, $1
+ ld [hli], a
+ ld a, $d
+ ld [hli], a
+ ld a, $3
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hl], $0
+ set 5, [hl]
+ inc hl
+ xor a
+ ld [hli], a
+ ld a, $20
+ ld [hli], a
+ ld a, $1
+ add $2
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hli], a
+ ret
+
+Function4a13b: ; 4a13b (12:613b)
+ call Function4a3a7
+ call Function4a492
+ call Function4a373
+ ld c, 10
+ call DelayFrames
+
+Function4a149: ; 4a149 (12:6149)
+ hlcoord 1, 2
+ ld b, $6
+ ld c, $10
+ call Function48cdc
+ hlcoord 3, 4
+ ld de, String_4a1ef
+ call PlaceString
+ hlcoord 0, 12
+ ld b, $4
+ ld c, $12
+ call TextBox
+ ld a, [wMenuCursorY]
+ dec a
+ ld hl, Strings_4a23d
+ call GetNthString
+ ld d, h
+ ld e, l
+ hlcoord 1, 13
+ ld b, $4
+ ld c, $12
+ call ClearBox
+ hlcoord 1, 14
+ call PlaceString
+ callba Function104148
+ call SetPalettes
+ call StaticMenuJoypad
+ ld hl, wMenuCursorY
+ ld b, [hl]
+ push bc
+ jr asm_4a19d
+
+Function4a195: ; 4a195 (12:6195)
+ call ScrollingMenuJoypad
+ ld hl, wMenuCursorY
+ ld b, [hl]
+ push bc
+
+asm_4a19d: ; 4a19d (12:619d)
+ bit 0, a
+ jr nz, .asm_4a1a7
+ bit 1, a
+ jr nz, .asm_4a1ba
+ jr .asm_4a1bc
+.asm_4a1a7
+ ld hl, wMenuCursorY
+ ld a, [hl]
+ cp $1
+ jp z, Function4a20e
+ cp $2
+ jp z, Function4a221
+ ld a, $1
+ call MenuClickSound
+.asm_4a1ba
+ pop bc
+ ret
+.asm_4a1bc
+ ld hl, wMenuCursorY
+ ld a, [hl]
+ dec a
+ ld hl, Strings_4a23d
+ call GetNthString
+ ld d, h
+ ld e, l
+ hlcoord 1, 13
+ ld b, $4
+ ld c, $12
+ call ClearBox
+ hlcoord 1, 14
+ call PlaceString
+ jr .asm_4a1db
+.asm_4a1db
+ call Function4a373
+ pop bc
+ ld hl, wMenuCursorY
+ ld [hl], b
+ lb bc, 6, 1
+ hlcoord 2, 3
+ call ClearBox
+ jp Function4a195
+; 4a1ef (12:61ef)
+
+String_4a1ef: ; 4a1ef
+ db "モバイルセンター¯えらぶ"
+ next "ログインパスワード¯いれる"
+ next "もどる@"
+; 4a20e
+
+Function4a20e: ; 4a20e (12:620e)
+ ld a, $1
+ call MenuClickSound
+ callba Function1719c8
+ call ClearBGPalettes
+ call DelayFrame
+ jr Function4a239
+
+Function4a221: ; 4a221 (12:6221)
+ ld a, $1
+ call MenuClickSound
+ call Function4a28a
+ jr c, Function4a239
+ call Function4a373
+ ld a, $2
+ ld [wMenuCursorY], a
+ jr .asm_4a235
+.asm_4a235
+ pop bc
+ jp Function4a149
+
+Function4a239: ; 4a239 (12:6239)
+ pop bc
+ jp Function4a13b
+; 4a23d (12:623d)
+
+Strings_4a23d: ; 4a23d
+ db "いつも せつぞく¯する"
+ next "モバイルセンター¯えらびます@"
+
+ db "モバイルセンター", $1d, "せつぞくするとき"
+ next "つかうパスワード¯ほぞんできます@"
+
+ db "まえ%がめん ", $1d, "もどります@"
+
+ db "@"
+; 4a28a
+
+Function4a28a: ; 4a28a (12:628a)
+ hlcoord 2, 3
+ lb bc, 6, 1
+ ld a, " "
+ call Function4a6d8
+ call PlaceHollowCursor
+ call WaitBGMap
+ call LoadStandardMenuDataHeader
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$aa4b]
+ call CloseSRAM
+ and a
+ jr z, .asm_4a2df
+ hlcoord 12, 0
+ ld b, $5
+ ld c, $6
+ call Function48cdc
+ hlcoord 14, 1
+ ld de, String_4a34b
+ call PlaceString
+ callba Function104148
+ call Function4a118
+ call ScrollingMenuJoypad
+ push af
+ call PlayClickSFX
+ pop af
+ bit B_BUTTON_F, a
+ jr nz, .quit
+ ld a, [wMenuCursorY]
+ cp $2
+ jr z, .DeleteLoginPassword
+ cp $3
+ jr z, .quit
+.asm_4a2df
+ callba Function11765d
+ call ClearBGPalettes
+ call Call_ExitMenu
+ call LoadFontsExtra
+ scf
+ ret
+
+.DeleteLoginPassword
+ call PlaceHollowCursor
+ ld hl, UnknownText_0x4a358
+ call PrintText
+ hlcoord 14, 7
+ ld b, 3
+ ld c, 4
+ call TextBox
+ callba Function104148
+ ld hl, DeletePassword_YesNo_MenuDataHeader
+ call LoadMenuDataHeader
+ call VerticalMenu
+ bit B_BUTTON_F, a
+ jr nz, .dont_delete_password
+ ld a, [wMenuCursorY]
+ cp $2
+ jr z, .dont_delete_password
+ ld a, $5
+ call GetSRAMBank
+ ld hl, sMobileLoginPassword
+ xor a
+ ld bc, LOGIN_PASSWORD_LENGTH
+ call ByteFill
+ call CloseSRAM
+ ld hl, UnknownText_0x4a35d
+ call PrintText
+ call JoyWaitAorB
+.dont_delete_password
+ call ExitMenu
+.quit
+ call Call_ExitMenu
+ callba Function104148
+ xor a
+ ret
+; 4a346 (12:6346)
+
+MenuDataHeader_0x4a346: ; 0x4a346
+ db $40 ; flags
+ db 00, 12 ; start coords
+ db 06, 19 ; end coords
+
+String_4a34b: ; 4a34b
+ db "いれなおす"
+ next "けす"
+ next "もどる@"
+; 4a358
+
+UnknownText_0x4a358: ; 0x4a358
+ ; Delete the saved LOG-IN PASSWORD?
+ text_jump UnknownText_0x1c5196
+ db "@"
+; 0x4a35d
+
+UnknownText_0x4a35d: ; 0x4a35d
+ ; Deleted the LOG-IN PASSWORD.
+ text_jump UnknownText_0x1c51b9
+ db "@"
+; 0x4a362
+
+DeletePassword_YesNo_MenuDataHeader: ; 0x4a362
+ db $40 ; flags
+ db 07, 14 ; start coords
+ db 11, 19 ; end coords
+ dw MenuData2_0x4a36a
+ db 2 ; default option
+; 0x4a36a
+
+MenuData2_0x4a36a: ; 0x4a36a
+ db $e0 ; flags
+ db 2 ; items
+ db "はい@"
+ db "いいえ@"
+; 0x4a373
+
+Function4a373: ; 4a373 (12:6373)
+ ld hl, w2DMenuCursorInitY
+ ld a, $4
+ ld [hli], a
+ ld a, $2
+ ld [hli], a
+ ld a, $3
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hl], $0
+ set 5, [hl]
+ inc hl
+ xor a
+ ld [hli], a
+ ld a, $20
+ ld [hli], a
+ ld a, $1
+ add $40
+ add $80
+ add $2
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hli], a
+ ret
+; 4a39a (12:639a)
+
+Function4a39a: ; 4a39a
+ call Function4a485
+ call Function4a492
+ call Function4a3aa
+ call SetPalettes
+ ret
+; 4a3a7
+
+Function4a3a7: ; 4a3a7 (12:63a7)
+ call Function4a485
+Function4a3aa: ; 4a3aa
+ hlcoord 0, 0
+ lb bc, 3, 1
+ xor a
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, $1
+ call Function4a6d8
+ lb bc, 1, 1
+ xor a
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, $1
+ call Function4a6d8
+ lb bc, 4, 1
+ ld a, $2
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, $3
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, " "
+ call Function4a6d8
+ hlcoord 1, 0
+ ld a, $1
+ lb bc, 3, 18
+ call Function4a6d8
+ lb bc, 1, 18
+ ld a, $0
+ call Function4a6d8
+ lb bc, 1, 18
+ ld a, $1
+ call Function4a6d8
+ lb bc, 1, 18
+ ld a, $2
+ call Function4a6d8
+ lb bc, 11, 18
+ ld a, " "
+ call Function4a6d8
+ hlcoord 19, 0
+ lb bc, 3, 1
+ ld a, $0
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, $1
+ call Function4a6d8
+ lb bc, 1, 1
+ xor a
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, $1
+ call Function4a6d8
+ lb bc, 4, 1
+ ld a, $2
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, $3
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, " "
+ call Function4a6d8
+ ret
+; 4a449 (12:6449)
+
+Function4a449: ; 4a449
+ ld bc, 3 * SCREEN_WIDTH
+ ld a, $0
+ hlcoord 0, 0
+ call ByteFill
+ ld bc, 2 * SCREEN_WIDTH
+ ld a, $1
+ call ByteFill
+ ld bc, 2 * SCREEN_WIDTH
+ ld a, $0
+ call ByteFill
+ ld bc, 2 * SCREEN_WIDTH
+ ld a, $1
+ call ByteFill
+ ld bc, SCREEN_WIDTH
+ ld a, $2
+ call ByteFill
+ ld bc, SCREEN_WIDTH
+ ld a, $3
+ call ByteFill
+ ld bc, SCREEN_WIDTH
+ ld a, " "
+ call ByteFill
+ ret
+; 4a485
+
+Function4a485: ; 4a485 (12:6485)
+ ld de, GFX_49c0c
+ ld hl, VTiles2 tile $00
+ lb bc, BANK(GFX_49c0c), 13
+ call Get2bpp
+ ret
+
+Function4a492: ; 4a492 (12:6492)
+ call MG_Mobile_Layout00
+ ret
+
+
+MainMenu_MobileStudium: ; 4a496
+ ld a, [StartDay]
+ ld b, a
+ ld a, [StartHour]
+ ld c, a
+ ld a, [StartMinute]
+ ld d, a
+ ld a, [StartSecond]
+ ld e, a
+ push bc
+ push de
+ callba MobileStudium
+ call ClearBGPalettes
+ pop de
+ pop bc
+ ld a, b
+ ld [StartDay], a
+ ld a, c
+ ld [StartHour], a
+ ld a, d
+ ld [StartMinute], a
+ ld a, e
+ ld [StartSecond], a
+ ret
+; 4a4c4
+
+
+Function4a4c4: ; 4a4c4 (12:64c4)
+ call ClearBGPalettes
+ call Function4a3a7
+ call Function4a492
+ call Function4a680
+ call ClearBGPalettes
+ ld c, 20
+ call DelayFrames
+ hlcoord 2, 0
+ ld b, $a
+ ld c, $e
+ call Function48cdc
+ hlcoord 4, 2
+ ld de, String_4a5c5
+ call PlaceString
+ hlcoord 4, 4
+ ld de, String_4a5cd
+ call PlaceString
+ hlcoord 4, 6
+ ld de, String_4a5da
+ call PlaceString
+ hlcoord 4, 8
+ ld de, String_4a5e6
+ call PlaceString
+ hlcoord 4, 10
+ ld de, String_4a5f2
+ call PlaceString
+ hlcoord 0, 12
+ ld b, $4
+ ld c, $12
+ call TextBox
+ xor a
+ ld hl, Strings_4a5f6
+ ld d, h
+ ld e, l
+ hlcoord 1, 14
+ call PlaceString
+ ld a, $1
+ ld hl, Strings_4a5f6
+ call GetNthString
+ ld d, h
+ ld e, l
+ hlcoord 1, 16
+ call PlaceString
+ call WaitBGMap2
+ call SetPalettes
+ call StaticMenuJoypad
+ ld hl, wMenuCursorY
+ ld b, [hl]
+ push bc
+ jr asm_4a54d
+
+Function4a545: ; 4a545 (12:6545)
+ call ScrollingMenuJoypad
+ ld hl, wMenuCursorY
+ ld b, [hl]
+ push bc
+
+asm_4a54d: ; 4a54d (12:654d)
+ bit 0, a
+ jr nz, .asm_4a557
+ bit 1, a
+ jr nz, .asm_4a574
+ jr .asm_4a57e
+.asm_4a557
+ ld hl, wMenuCursorY
+ ld a, [hl]
+ cp $1
+ jp z, Function4a6ab
+ cp $2
+ jp z, Function4a6ab
+ cp $3
+ jp z, Function4a6ab
+ cp $4
+ jp z, Function4a6ab
+ ld a, $1
+ call MenuClickSound
+.asm_4a574
+ pop bc
+ call ClearBGPalettes
+ call ClearTileMap
+ jp Function49f0a
+.asm_4a57e
+ ld hl, wMenuCursorY
+ ld a, [hl]
+ dec a
+ add a
+ push af
+ ld hl, Strings_4a5f6
+ call GetNthString
+ ld d, h
+ ld e, l
+ hlcoord 1, 13
+ ld b, $4
+ ld c, $12
+ call ClearBox
+ hlcoord 1, 14
+ call PlaceString
+ pop af
+ inc a
+ ld hl, Strings_4a5f6
+ call GetNthString
+ ld d, h
+ ld e, l
+ hlcoord 1, 16
+ call PlaceString
+ jp Function4a5b0
+
+Function4a5b0: ; 4a5b0 (12:65b0)
+ call Function4a680
+ pop bc
+ ld hl, wMenuCursorY
+ ld [hl], b
+ ld b, $a
+ ld c, $1
+ hlcoord 3, 1
+ call ClearBox
+ jp Function4a545
+; 4a5c5 (12:65c5)
+
+String_4a5c5: ; 4a5c5
+ db "じこしょうかい@"
+String_4a5cd: ; 4a5cd
+ db "たいせん ", $4a, "はじまるとき@"
+String_4a5da: ; 4a5da
+ db "たいせん ", $1d, "かったとき@"
+String_4a5e6: ; 4a5e6
+ db "たいせん ", $1d, "まけたとき@"
+String_4a5f2: ; 4a5f2
+ db "もどる@"
+; 4a5f6
+
+Strings_4a5f6: ; 4a5f6
+ db "めいし や ニュース ", $1d, "のせる@"
+ db "あなた%あいさつです@"
+ db "モバイル たいせん", $4a, "はじまるとき@"
+ db "あいて", $1d, "みえる あいさつです@"
+ db "モバイル たいせんで かったとき@"
+ db "あいて", $1d, "みえる あいさつです@"
+ db "モバイル たいせんで まけたとき@"
+ db "あいて", $1d, "みえる あいさつです@"
+ db "まえ%がめん ", $1d, "もどります@"
+ db "@"
+; 4a680
+
+Function4a680: ; 4a680 (12:6680)
+ ld hl, w2DMenuCursorInitY
+ ld a, $2
+ ld [hli], a
+ ld a, $3
+ ld [hli], a
+ ld a, $5
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hl], $0
+ set 5, [hl]
+ inc hl
+ xor a
+ ld [hli], a
+ ld a, $20
+ ld [hli], a
+ ld a, $1
+ add $40
+ add $80
+ add $2
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hli], a
+ xor a
+rept 3
+ ld [hli], a
+endr
+ ret
+
+Function4a6ab: ; 4a6ab (12:66ab)
+ ld a, $2
+ call MenuClickSound
+ call ClearBGPalettes
+ ld b, SCGB_08
+ call GetSGBLayout
+ callba Function11c1ab
+ pop bc
+ call LoadFontsExtra
+ jp Function4a4c4
+
+Function4a6c5: ; 4a6c5 (12:66c5)
+ ld a, $5
+ ld [MusicFade], a
+ ld a, e
+ ld [MusicFadeIDLo], a
+ ld a, d
+ ld [MusicFadeIDHi], a
+ ld c, 22
+ call DelayFrames
+ ret
+
+Function4a6d8: ; 4a6d8 (12:66d8)
+ push bc
+ push hl
+.asm_4a6da
+ ld [hli], a
+ dec c
+ jr nz, .asm_4a6da
+ pop hl
+ ld bc, SCREEN_WIDTH
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, Function4a6d8
+ ret
--- /dev/null
+++ b/misc/printer_77.asm
@@ -1,0 +1,356 @@
+PrintPage1: ; 1dc1b0
+ hlcoord 0, 0
+ ld de, wca90
+ ld bc, 17 * SCREEN_WIDTH
+ call CopyBytes
+ ld hl, wcab5
+ ld a, $62
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld hl, wcac9
+ ld a, $64
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld hl, wcb45
+ ld a, " "
+ ld [hli], a
+ ld [hl], a
+ ld hl, wcb59
+ ld a, $61
+ ld [hli], a
+ ld [hl], a
+ ld hl, wcb6e
+ lb bc, 5, 18
+ call ClearBox
+ ld a, [wd265]
+ dec a
+ call CheckCaughtMon
+ push af
+ ld a, [wd265]
+ ld b, a
+ ld c, 1 ; get page 1
+ callba GetDexEntryPagePointer
+ pop af
+ ld a, b
+ ld hl, wcb6d
+ call nz, FarString
+ ld hl, wcaa3
+ ld [hl], $35
+ ld de, SCREEN_WIDTH
+ add hl, de
+ ld b, $f
+.column_loop
+ ld [hl], $37
+ add hl, de
+ dec b
+ jr nz, .column_loop
+ ld [hl], $3a
+ ret
+; 1dc213
+
+PrintPage2: ; 1dc213
+ ld hl, wca90
+ ld bc, $a0
+ ld a, " "
+ call ByteFill
+ ld hl, wca90
+ ld a, $36
+ ld b, $6
+ call .FillColumn
+ ld hl, wcaa3
+ ld a, $37
+ ld b, $6
+ call .FillColumn
+ ld hl, wcb08
+ ld [hl], $38
+ inc hl
+ ld a, $39
+ ld bc, SCREEN_HEIGHT
+ call ByteFill
+ ld [hl], $3a
+ ld hl, wcb1c
+ ld bc, SCREEN_WIDTH
+ ld a, $32
+ call ByteFill
+ ld a, [wd265]
+ dec a
+ call CheckCaughtMon
+ push af
+ ld a, [wd265]
+ ld b, a
+ ld c, 2 ; get page 2
+ callba GetDexEntryPagePointer
+ pop af
+ ld hl, wcaa5
+ ld a, b
+ call nz, FarString
+ ret
+; 1dc26a
+
+.FillColumn: ; 1dc26a
+ push de
+ ld de, SCREEN_WIDTH
+.column_loop
+ ld [hl], a
+ add hl, de
+ dec b
+ jr nz, .column_loop
+ pop de
+ ret
+; 1dc275
+
+GBPrinterStrings:
+String_1dc275: db "@"
+String_1dc276: next " CHECKING LINK...@"
+String_1dc289: next " TRANSMITTING...@"
+String_1dc29c: next " PRINTING...@"
+String_1dc2ad:
+ db " Printer Error 1"
+ next ""
+ next "Check the Game Boy"
+ next "Printer Manual."
+ db "@"
+String_1dc2e2:
+ db " Printer Error 2"
+ next ""
+ next "Check the Game Boy"
+ next "Printer Manual."
+ db "@"
+String_1dc317:
+ db " Printer Error 3"
+ next ""
+ next "Check the Game Boy"
+ next "Printer Manual."
+ db "@"
+String_1dc34c:
+ db " Printer Error 4"
+ next ""
+ next "Check the Game Boy"
+ next "Printer Manual."
+ db "@"
+; 1dc381
+
+Function1dc381: ; 1dc381
+ call ClearBGPalettes
+ call ClearTileMap
+ call ClearSprites
+ xor a
+ ld [hBGMapMode], a
+ call LoadFontsBattleExtra
+
+ ld de, MobileHPIcon
+ ld hl, VTiles2 tile $71
+ lb bc, BANK(MobileHPIcon), 1
+ call Request1bpp
+
+ ld de, MobileLvIcon
+ ld hl, VTiles2 tile $6e
+ lb bc, BANK(MobileLvIcon), 1
+ call Request1bpp
+
+ ld de, ShinyIcon
+ ld hl, VTiles2 tile $3f
+ lb bc, BANK(ShinyIcon), 1
+ call Get2bpp
+
+ xor a
+ ld [MonType], a
+ callba CopyPkmnToTempMon
+ hlcoord 0, 7
+ ld b, 9
+ ld c, 18
+ call TextBox
+ hlcoord 8, 2
+ ld a, [TempMonLevel]
+ call Function383d
+ hlcoord 12, 2
+ ld [hl], "◀" ; Filled left triangle
+ inc hl
+ ld de, TempMonMaxHP
+ lb bc, 2, 3
+ call PrintNum
+ ld a, [CurPartySpecies]
+ ld [wd265], a
+ ld [CurSpecies], a
+ ld hl, PartyMonNicknames
+ call Function1dc50e
+ hlcoord 8, 4
+ call PlaceString
+ hlcoord 9, 6
+ ld [hl], "/"
+ call GetPokemonName
+ hlcoord 10, 6
+ call PlaceString
+ hlcoord 8, 0
+ ld [hl], "№"
+ inc hl
+ ld [hl], "."
+ inc hl
+ ld de, wd265
+ lb bc, PRINTNUM_LEADINGZEROS | 1, 3
+ call PrintNum
+ hlcoord 1, 9
+ ld de, String1dc550
+ call PlaceString
+ ld hl, PartyMonOT
+ call Function1dc50e
+ hlcoord 4, 9
+ call PlaceString
+ hlcoord 1, 11
+ ld de, String1dc559
+ call PlaceString
+ hlcoord 4, 11
+ ld de, TempMonID
+ lb bc, PRINTNUM_LEADINGZEROS | 2, 5
+ call PrintNum
+ hlcoord 1, 14
+ ld de, String1dc554
+ call PlaceString
+ hlcoord 7, 14
+ ld a, [TempMonMoves + 0]
+ call Function1dc51a
+ call Function1dc52c
+ ld hl, TempMonDVs
+ predef GetUnownLetter
+ ld hl, wBoxAlignment
+ xor a
+ ld [hl], a
+ ld a, [CurPartySpecies]
+ cp UNOWN
+ jr z, .asm_1dc469
+ inc [hl]
+
+.asm_1dc469
+ hlcoord 0, 0
+ call _PrepMonFrontpic
+ call WaitBGMap
+ ld b, SCGB_STATS_SCREEN_HP_PALS
+ call GetSGBLayout
+ call SetPalettes
+ ret
+; 1dc47b
+
+Function1dc47b: ; 1dc47b
+ call ClearBGPalettes
+ call ClearTileMap
+ call ClearSprites
+ xor a
+ ld [hBGMapMode], a
+ call LoadFontsBattleExtra
+ xor a
+ ld [MonType], a
+ callba CopyPkmnToTempMon
+ hlcoord 0, 0
+ ld b, 15
+ ld c, 18
+ call TextBox
+ ld bc, SCREEN_WIDTH
+ decoord 0, 0
+ hlcoord 0, 1
+ call CopyBytes
+ hlcoord 7, 0
+ ld a, [TempMonMoves + 1]
+ call Function1dc51a
+ hlcoord 7, 2
+ ld a, [TempMonMoves + 2]
+ call Function1dc51a
+ hlcoord 7, 4
+ ld a, [TempMonMoves + 3]
+ call Function1dc51a
+ hlcoord 7, 7
+ ld de, String1dc55d
+ call PlaceString
+ hlcoord 16, 7
+ ld de, TempMonAttack
+ call .PrintTempMonStats
+ hlcoord 16, 9
+ ld de, TempMonDefense
+ call .PrintTempMonStats
+ hlcoord 16, 11
+ ld de, TempMonSpclAtk
+ call .PrintTempMonStats
+ hlcoord 16, 13
+ ld de, TempMonSpclDef
+ call .PrintTempMonStats
+ hlcoord 16, 15
+ ld de, TempMonSpeed
+ call .PrintTempMonStats
+ call WaitBGMap
+ ld b, SCGB_STATS_SCREEN_HP_PALS
+ call GetSGBLayout
+ call SetPalettes
+ ret
+; 1dc507
+
+.PrintTempMonStats: ; 1dc507
+ lb bc, 2, 3
+ call PrintNum
+ ret
+; 1dc50e
+
+Function1dc50e: ; 1dc50e
+ ld bc, NAME_LENGTH
+ ld a, [CurPartyMon]
+ call AddNTimes
+ ld e, l
+ ld d, h
+ ret
+; 1dc51a
+
+Function1dc51a: ; 1dc51a
+ and a
+ jr z, .no_move
+
+ ld [wd265], a
+ call GetMoveName
+ jr .got_string
+
+.no_move
+ ld de, String1dc584
+
+.got_string
+ call PlaceString
+ ret
+; 1dc52c
+
+Function1dc52c: ; 1dc52c
+ callba GetGender
+ ld a, " "
+ jr c, .got_gender
+ ld a, "♂"
+ jr nz, .got_gender
+ ld a, "♀"
+
+.got_gender
+ hlcoord 17, 2
+ ld [hl], a
+ ld bc, TempMonDVs
+ callba CheckShininess
+ ret nc
+ hlcoord 18, 2
+ ld [hl], "<SHINY>"
+ ret
+; 1dc550
+
+String1dc550: ; 1dc550
+ db "OT/@"
+
+String1dc554: ; 1dc554
+ db "MOVE@"
+
+String1dc559: ; 1dc559
+ db "<ID>№.@"
+
+String1dc55d: ; 1dc55d
+ db "ATTACK"
+ next "DEFENSE"
+ next "SPCL.ATK"
+ next "SPCL.DEF"
+ next "SPEED"
+ db "@"
+
+String1dc584: ; 1dc584
+ db "------------@"
+; 1dc591
--- a/predef/cgb.asm
+++ b/predef/cgb.asm
@@ -11,15 +11,14 @@
cp SCGB_RAM
jr nz, .not_ram
ld a, [SGBPredef]
-
.not_ram
- cp SCGB_FC
- jp z, Function96f3
+ cp SCGB_PARTY_MENU_HP_PALS
+ jp z, CGB_ApplyPartyMenuHPPals
call Function9673
ld l, a
ld h, 0
add hl, hl
- ld de, .jumptable
+ ld de, .dw
add hl, de
ld a, [hli]
ld h, [hl]
@@ -33,17 +32,17 @@
ret
; 8d7a
-.jumptable: ; 8d7a
- dw _CGB00
- dw _CGB01
- dw _CGB02
- dw _CGB03
+.dw: ; 8d7a
+ dw _CGB_BattleGrayscale
+ dw _CGB_BattleColors
+ dw _CGB_PokegearPals
+ dw _CGB_StatsScreenHPPals
dw _CGB04
- dw _CGB05
+ dw _CGB_SlotMachine
dw _CGB06
dw _CGB07
dw _CGB08
- dw _CGB09
+ dw _CGB_MapPals
dw _CGB0a
dw _CGB0b
dw _CGB0c
@@ -54,8 +53,8 @@
dw _CGB11
dw _CGB12
dw _CGB13
- dw _CGB14
- dw _CGB15
+ dw _CGB_PackPals
+ dw _CGB_TrainerCard
dw _CGB16
dw _CGB17
dw _CGB18
@@ -62,18 +61,18 @@
dw _CGB19
dw _CGB1a
dw _CGB1b
- dw _CGB1c
+ dw _CGB_FrontpicPals
dw _CGB1d
dw _CGB1e
; 8db8
-_CGB00: ; 8db8
+_CGB_BattleGrayscale: ; 8db8
ld hl, PalPacket_9c66 + 1
ld de, UnknBGPals
ld c, $4
call CopyPalettes
ld hl, PalPacket_9c66 + 1
- ld de, UnknBGPals + $20
+ ld de, UnknBGPals + 4 palettes
ld c, $4
call CopyPalettes
ld hl, PalPacket_9c66 + 1
@@ -80,47 +79,44 @@
ld de, UnknOBPals
ld c, $2
call CopyPalettes
- jr Function8e23
+ jr _CGB_FinishBattleScreenLayout
-_CGB01: ; 8ddb
+_CGB_BattleColors: ; 8ddb
ld de, UnknBGPals
- call Function9729
+ call GetBattlemonBackpicPalettePointer
push hl
- call Function9643
- call Function973a
+ call LoadPalette_White_Col1_Col2_Black
+ call GetEnemyFrontpicPalettePointer
push hl
- call Function9643
+ call LoadPalette_White_Col1_Col2_Black
ld a, [EnemyHPPal]
ld l, a
ld h, $0
-rept 2
add hl, hl
-endr
+ add hl, hl
ld bc, Palettes_a8be
add hl, bc
- call Function9643
+ call LoadPalette_White_Col1_Col2_Black
ld a, [PlayerHPPal]
ld l, a
ld h, $0
-rept 2
add hl, hl
-endr
+ add hl, hl
ld bc, Palettes_a8be
add hl, bc
- call Function9643
+ call LoadPalette_White_Col1_Col2_Black
ld hl, Palettes_a8ca
- call Function9643
+ call LoadPalette_White_Col1_Col2_Black
ld de, UnknOBPals
pop hl
- call Function9643
+ call LoadPalette_White_Col1_Col2_Black
pop hl
- call Function9643
- ld a, SCGB_01
+ call LoadPalette_White_Col1_Col2_Black
+ ld a, SCGB_BATTLE_COLORS
ld [SGBPredef], a
- call Function96a4
-
-Function8e23: ; 8e23
- call Function8e85
+ call ApplyPals
+_CGB_FinishBattleScreenLayout: ; 8e23
+ call InitPartyMenuBGPal7
hlcoord 0, 0, AttrMap
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, $2
@@ -150,111 +146,112 @@
ld a, $7
call ByteFill
ld hl, Palettes_979c
- ld de, UnknOBPals + $10
- ld bc, $0030
+ ld de, UnknOBPals + 2 palettes
+ ld bc, 6 palettes
ld a, $5
call FarCopyWRAM
- call Function96b3
+ call ApplyAttrMap
ret
; 8e85
-Function8e85: ; 8e85
+InitPartyMenuBGPal7: ; 8e85
callba Function100dc0
-
-Function8e8b: ; 8e8b
+Mobile_InitPartyMenuBGPal7: ; 8e8b
ld hl, Palette_b311
- jr nc, .asm_8e93
+ jr nc, .not_mobile
ld hl, Palette_b309
-
-.asm_8e93
+.not_mobile
ld de, UnknBGPals + 8 * 7
- ld bc, $0008
+ ld bc, 1 palettes
ld a, $5
call FarCopyWRAM
ret
; 8e9f
-Function8e9f: ; 8e9f
+InitPartyMenuBGPal0: ; 8e9f
callba Function100dc0
ld hl, Palette_b311
- jr nc, .asm_8ead
+ jr nc, .not_mobile
ld hl, Palette_b309
-
-.asm_8ead
+.not_mobile
ld de, UnknBGPals
- ld bc, $0008
+ ld bc, 1 palettes
ld a, $5
call FarCopyWRAM
ret
; 8eb9
-_CGB02: ; 8eb9
+_CGB_PokegearPals: ; 8eb9
ld a, [PlayerGender]
bit 0, a
- jr z, .asm_8ec5
- ld hl, Palettes_b759
- jr .asm_8ec8
+ jr z, .male
+ ld hl, FemalePokegearPals
+ jr .got_pals
-.asm_8ec5
- ld hl, Palettes_b729
-
-.asm_8ec8
+.male
+ ld hl, MalePokegearPals
+.got_pals
ld de, UnknBGPals
- ld bc, $0030
+ ld bc, 6 palettes
ld a, $5
call FarCopyWRAM
- call Function96a4
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 8edb
-_CGB03: ; 8edb
+_CGB_StatsScreenHPPals: ; 8edb
ld de, UnknBGPals
ld a, [wcda1]
ld l, a
ld h, $0
-rept 2
add hl, hl
-endr
+ add hl, hl
ld bc, Palettes_a8be
add hl, bc
- call Function9643
+ call LoadPalette_White_Col1_Col2_Black
ld a, [CurPartySpecies]
ld bc, TempMonDVs
- call Function974b
- call Function9643
+ call GetPlayerOrMonPalettePointer
+ call LoadPalette_White_Col1_Col2_Black
ld hl, Palettes_a8ca
- call Function9643
+ call LoadPalette_White_Col1_Col2_Black
ld hl, Palette8f52
ld de, UnknBGPals + 8 * 3
- ld bc, $0018
+ ld bc, 3 palettes
ld a, $5
call FarCopyWRAM
- call Function9699
+ call WipeAttrMap
+
hlcoord 0, 0, AttrMap
lb bc, 8, SCREEN_WIDTH
ld a, $1
call FillBoxCGB
+
hlcoord 10, 16, AttrMap
- ld bc, $000a
+ ld bc, 10
ld a, $2
call ByteFill
+
hlcoord 13, 5, AttrMap
lb bc, 2, 2
ld a, $3
call FillBoxCGB
+
hlcoord 15, 5, AttrMap
lb bc, 2, 2
ld a, $4
call FillBoxCGB
+
hlcoord 17, 5, AttrMap
lb bc, 2, 2
ld a, $5
call FillBoxCGB
- call Function96b3
- call Function96a4
+
+ call ApplyAttrMap
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -277,7 +274,7 @@
RGB 00, 00, 00
; 8f6a
-Unknown_8f6a: ; 8f6a
+StatsScreenPals: ; 8f6a
RGB 31, 19, 31
RGB 21, 31, 14
@@ -288,33 +285,32 @@
_CGB04: ; 8f70
ld de, UnknBGPals
ld a, $1d
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
ld a, [CurPartySpecies]
cp $ff
- jr nz, .asm_8f8a
+ jr nz, .is_pokemon
ld hl, Palette8fba
call LoadHLPaletteIntoDE
- jr .asm_8f90
+ jr .got_palette
-.asm_8f8a
- call Function9775
- call Function9643
-
-.asm_8f90
- call Function9699
+.is_pokemon
+ call GetMonPalettePointer_
+ call LoadPalette_White_Col1_Col2_Black
+.got_palette
+ call WipeAttrMap
hlcoord 1, 1, AttrMap
lb bc, 7, 7
ld a, $1
call FillBoxCGB
- call Function971a
+ call InitPartyMenuOBPals
ld hl, Palette8fc2
- ld de, UnknOBPals + $38
- ld bc, $0008
+ ld de, UnknOBPals + 7 palettes
+ ld bc, 1 palettes
ld a, $5
call FarCopyWRAM
- call Function96b3
- call Function96a4
+ call ApplyAttrMap
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -336,29 +332,28 @@
_CGB17: ; 8fca
ld de, UnknBGPals
ld a, $1d
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
ld a, [CurPartySpecies]
cp $ff
- jr nz, .asm_8fe4
+ jr nz, .GetMonPalette
ld hl, Palette9036
call LoadHLPaletteIntoDE
- jr .asm_8fed
+ jr .Resume
-.asm_8fe4
+.GetMonPalette
ld bc, TempMonDVs
- call Function974b
- call Function9643
-
-.asm_8fed
- call Function9699
+ call GetPlayerOrMonPalettePointer
+ call LoadPalette_White_Col1_Col2_Black
+.Resume
+ call WipeAttrMap
hlcoord 1, 4, AttrMap
lb bc, 7, 7
ld a, $1
call FillBoxCGB
- call Function971a
- call Function96b3
- call Function96a4
+ call InitPartyMenuOBPals
+ call ApplyAttrMap
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -369,19 +364,19 @@
call LoadHLPaletteIntoDE
jr .asm_901a
+.unused
ld bc, TempMonDVs
- call Function974b
- call Function9643
-
+ call GetPlayerOrMonPalettePointer
+ call LoadPalette_White_Col1_Col2_Black
.asm_901a
- call Function9699
+ call WipeAttrMap
hlcoord 1, 1, AttrMap
lb bc, 7, 7
ld a, $1
call FillBoxCGB
- call Function971a
- call Function96b3
- call Function96a4
+ call InitPartyMenuOBPals
+ call ApplyAttrMap
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -397,31 +392,31 @@
_CGB16: ; 903e
ld de, UnknBGPals
ld a, $1d
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
ld a, [CurPartySpecies]
- call Function9775
- call Function9643
- call Function9699
+ call GetMonPalettePointer_
+ call LoadPalette_White_Col1_Col2_Black
+ call WipeAttrMap
hlcoord 7, 5, AttrMap
lb bc, 7, 7
ld a, $1
call FillBoxCGB
- call Function971a
- call Function96b3
- call Function96a4
+ call InitPartyMenuOBPals
+ call ApplyAttrMap
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 906e
-_CGB05: ; 906e
+_CGB_SlotMachine: ; 906e
ld hl, Palettes_b7a9
ld de, UnknBGPals
- ld bc, $0080
+ ld bc, $80
ld a, $5
call FarCopyWRAM
- call Function9699
+ call WipeAttrMap
hlcoord 0, 2, AttrMap
lb bc, 10, 3
ld a, $2
@@ -459,11 +454,11 @@
ld a, $1
call FillBoxCGB
hlcoord 0, 12, AttrMap
- ld bc, $0078
+ ld bc, $78
ld a, $7
call ByteFill
- call Function96b3
- call Function96a4
+ call ApplyAttrMap
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -472,17 +467,17 @@
_CGB06: ; 90f8
ld hl, PalPacket_9ca6 + 1
call CopyFourPalettes
- call Function9699
+ call WipeAttrMap
ld de, UnknOBPals
ld a, $3c
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
hlcoord 0, 6, AttrMap
lb bc, 12, SCREEN_WIDTH
ld a, $1
call FillBoxCGB
- call Function96b3
- call Function96a4
+ call ApplyAttrMap
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -491,9 +486,8 @@
_CGB07: ; 9122
ld b, 0
ld hl, Jumptable_912d
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -512,10 +506,10 @@
call LoadHLPaletteIntoDE
ld hl, Palette_9156
ld de, UnknOBPals
- ld bc, $0010
+ ld bc, 2 palettes
ld a, $5
call FarCopyWRAM
- call Function9699
+ call WipeAttrMap
ret
; 914e
@@ -540,13 +534,14 @@
Function9166: ; 9166
ld de, UnknBGPals
ld a, $38
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
+
ld de, UnknOBPals
ld a, $39
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
- call Function9699
+ call WipeAttrMap
ret
; 9180
@@ -555,9 +550,9 @@
call CopyFourPalettes
ld de, UnknOBPals
ld a, $3a
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
- call Function9699
+ call WipeAttrMap
ret
; 9195
@@ -564,12 +559,12 @@
_CGB11: ; 9195
ld hl, Palettes_b789
ld de, UnknBGPals
- ld bc, $0028
+ ld bc, 5 palettes
ld a, $5
call FarCopyWRAM
- call Function96a4
- call Function9699
- call Function96b3
+ call ApplyPals
+ call WipeAttrMap
+ call ApplyAttrMap
ret
; 91ad
@@ -576,19 +571,20 @@
_CGB08: ; 91ad
ld hl, Palettes_b641
ld de, UnknBGPals
- ld bc, $0080
+ ld bc, 16 palettes
ld a, $5
call FarCopyWRAM
+
ld hl, PalPacket_9cb6 + 1
call CopyFourPalettes
- call Function9699
- call Function96b3
+ call WipeAttrMap
+ call ApplyAttrMap
ret
; 91c8
-_CGB09: ; 91c8
- call Functionb1de
- ld a, SCGB_09
+_CGB_MapPals: ; 91c8
+ call LoadMapPals
+ ld a, SCGB_MAPPALS
ld [SGBPredef], a
ret
; 91d1
@@ -596,10 +592,10 @@
_CGB0a: ; 91d1
ld hl, PalPacket_9c56 + 1
call CopyFourPalettes
- call Function8e9f
- call Function8e85
- call Function971a
- call Function96b3
+ call InitPartyMenuBGPal0
+ call InitPartyMenuBGPal7
+ call InitPartyMenuOBPals
+ call ApplyAttrMap
ret
; 91e4
@@ -607,13 +603,13 @@
ld de, UnknBGPals
ld a, c
and a
- jr z, .asm_91f5
+ jr z, .pokemon
ld a, $1a
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
- jr .asm_921a
+ jr .got_palette
-.asm_91f5
+.pokemon
ld hl, PartyMon1DVs
ld bc, PARTYMON_STRUCT_LENGTH
ld a, [CurPartyMon]
@@ -621,18 +617,18 @@
ld c, l
ld b, h
ld a, [PlayerHPPal]
- call Function974b
- call Function9643
+ call GetPlayerOrMonPalettePointer
+ call LoadPalette_White_Col1_Col2_Black
ld hl, Palettes_979c
- ld de, UnknOBPals + $10
- ld bc, $0030
+ ld de, UnknOBPals + 2 palettes
+ ld bc, 6 palettes
ld a, $5
call FarCopyWRAM
-.asm_921a
- call Function9699
- call Function96b3
- call Function96a4
+.got_palette
+ call WipeAttrMap
+ call ApplyAttrMap
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -641,17 +637,17 @@
_CGB0c: ; 9228
ld hl, Palettes_b6f1
ld de, UnknBGPals
- ld bc, $0028
+ ld bc, 5 palettes
ld a, $5
call FarCopyWRAM
ld hl, Palettes_b719
ld de, UnknOBPals
- ld bc, $0010
+ ld bc, 2 palettes
ld a, $5
call FarCopyWRAM
ld a, SCGB_08
ld [SGBPredef], a
- call Function96a4
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -660,8 +656,8 @@
_CGB0d: ; 9251
ld hl, PalPacket_9cb6 + 1
call CopyFourPalettes
- call Function9699
- call Function96b3
+ call WipeAttrMap
+ call ApplyAttrMap
ret
; 925e
@@ -670,7 +666,7 @@
call CopyFourPalettes
ld de, UnknOBPals
ld a, $4c
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
ld a, [rSVBK]
push af
@@ -683,49 +679,49 @@
ld [hl], a
pop af
ld [rSVBK], a
- call Function9699
- call Function96b3
+ call WipeAttrMap
+ call ApplyAttrMap
ret
; 9289
-_CGB15: ; 9289
+_CGB_TrainerCard: ; 9289
ld de, UnknBGPals
xor a
- call Function976b
- call Function9643
+ call GetTrainerPalettePointer
+ call LoadPalette_White_Col1_Col2_Black
ld a, $1
- call Function976b
- call Function9643
+ call GetTrainerPalettePointer
+ call LoadPalette_White_Col1_Col2_Black
ld a, $3
- call Function976b
- call Function9643
+ call GetTrainerPalettePointer
+ call LoadPalette_White_Col1_Col2_Black
ld a, $2
- call Function976b
- call Function9643
+ call GetTrainerPalettePointer
+ call LoadPalette_White_Col1_Col2_Black
ld a, $4
- call Function976b
- call Function9643
+ call GetTrainerPalettePointer
+ call LoadPalette_White_Col1_Col2_Black
ld a, $7
- call Function976b
- call Function9643
+ call GetTrainerPalettePointer
+ call LoadPalette_White_Col1_Col2_Black
ld a, $6
- call Function976b
- call Function9643
+ call GetTrainerPalettePointer
+ call LoadPalette_White_Col1_Col2_Black
ld a, $5
- call Function976b
- call Function9643
+ call GetTrainerPalettePointer
+ call LoadPalette_White_Col1_Col2_Black
ld a, $24
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
+
hlcoord 0, 0, AttrMap
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, [PlayerGender]
and a
ld a, $1
- jr z, .asm_92e3
+ jr z, .got_gender
ld a, $0
-
-.asm_92e3
+.got_gender
call ByteFill
hlcoord 14, 1, AttrMap
lb bc, 7, 5
@@ -732,10 +728,9 @@
ld a, [PlayerGender]
and a
ld a, $0
- jr z, .asm_92f6
+ jr z, .got_gender2
ld a, $1
-
-.asm_92f6
+.got_gender2
call FillBoxCGB
hlcoord 18, 1, AttrMap
ld [hl], $1
@@ -770,24 +765,22 @@
ld a, [PlayerGender]
and a
push af
- jr z, .asm_935d
+ jr z, .got_gender3
hlcoord 14, 14, AttrMap
lb bc, 2, 4
ld a, $1
call FillBoxCGB
-
-.asm_935d
+.got_gender3
pop af
ld c, $0
- jr nz, .asm_9363
+ jr nz, .got_gender4
inc c
-
-.asm_9363
+.got_gender4
ld a, c
hlcoord 18, 1, AttrMap
ld [hl], a
- call Function96b3
- call Function96a4
+ call ApplyAttrMap
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -796,24 +789,23 @@
_CGB0e: ; 9373
ld de, UnknBGPals
ld a, $10
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
ld a, [PlayerHPPal]
ld l, a
ld h, 0
-rept 2
add hl, hl
-endr
+ add hl, hl
ld bc, Palettes_a8be
add hl, bc
- call Function9643
- call Function9699
+ call LoadPalette_White_Col1_Col2_Black
+ call WipeAttrMap
hlcoord 11, 1, AttrMap
lb bc, 2, 9
ld a, $1
call FillBoxCGB
- call Function96b3
- call Function96a4
+ call ApplyAttrMap
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -822,9 +814,9 @@
_CGB0f: ; 93a6
ld hl, PalPacket_9c46 + 1
call CopyFourPalettes
- call Function9699
- call Function96b3
- call Function96a4
+ call WipeAttrMap
+ call ApplyAttrMap
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -833,37 +825,38 @@
_CGB10: ; 93ba
ld de, UnknBGPals
ld a, $1d
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
- call Function9699
- call Function96b3
- call Function96a4
+ call WipeAttrMap
+ call ApplyAttrMap
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 93d3
-_CGB14: ; 93d3
+_CGB_PackPals: ; 93d3
+; pack pals
ld a, [BattleType]
cp BATTLETYPE_TUTORIAL
- jr z, .asm_93e6
+ jr z, .tutorial_male
ld a, [PlayerGender]
bit 0, a
- jr z, .asm_93e6
+ jr z, .tutorial_male
- ld hl, Palettes_9469
- jr .asm_93e9
+ ld hl, .KrisPackPals
+ jr .got_gender
-.asm_93e6
- ld hl, Palettes_9439
+.tutorial_male
+ ld hl, .ChrisPackPals
-.asm_93e9
+.got_gender
ld de, UnknBGPals
- ld bc, $0040
+ ld bc, 8 palettes ; 6 palettes?
ld a, $5
call FarCopyWRAM
- call Function9699
+ call WipeAttrMap
hlcoord 0, 0, AttrMap
lb bc, 1, 10
ld a, $1
@@ -884,34 +877,39 @@
lb bc, 3, 5
ld a, $5
call FillBoxCGB
- call Function96b3
- call Function96a4
+ call ApplyAttrMap
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 9439
-Palettes_9439: ; 9439
+.ChrisPackPals: ; 9439
RGB 31, 31, 31
RGB 15, 15, 31
RGB 00, 00, 31
RGB 00, 00, 00
+
RGB 31, 31, 31
RGB 15, 15, 31
RGB 00, 00, 31
RGB 00, 00, 00
+
RGB 31, 11, 31
RGB 15, 15, 31
RGB 00, 00, 31
RGB 00, 00, 00
+
RGB 31, 31, 31
RGB 15, 15, 31
RGB 00, 00, 31
RGB 31, 00, 00
+
RGB 31, 31, 31
RGB 15, 15, 31
RGB 31, 00, 00
RGB 00, 00, 00
+
RGB 31, 31, 31
RGB 07, 19, 07
RGB 07, 19, 07
@@ -918,27 +916,32 @@
RGB 00, 00, 00
; 9469
-Palettes_9469: ; 9469
+.KrisPackPals: ; 9469
RGB 31, 31, 31
RGB 31, 14, 31
RGB 31, 07, 31
RGB 00, 00, 00
+
RGB 31, 31, 31
RGB 31, 14, 31
RGB 31, 07, 31
RGB 00, 00, 00
+
RGB 15, 15, 31
RGB 31, 14, 31
RGB 31, 07, 31
RGB 00, 00, 00
+
RGB 31, 31, 31
RGB 31, 14, 31
RGB 31, 07, 31
RGB 31, 00, 00
+
RGB 31, 31, 31
RGB 31, 14, 31
RGB 31, 00, 00
RGB 00, 00, 00
+
RGB 31, 31, 31
RGB 07, 19, 07
RGB 07, 19, 07
@@ -946,18 +949,18 @@
; 9499
_CGB12: ; 9499
- call _CGB09
- ld de, $0014
+ call _CGB_MapPals
+ ld de, SCREEN_WIDTH
hlcoord 0, 0, AttrMap
ld a, [wMenuBorderTopCoord]
-.asm_94a5
+.loop
and a
- jr z, .asm_94ac
+ jr z, .found_top
dec a
add hl, de
- jr .asm_94a5
+ jr .loop
-.asm_94ac
+.found_top
ld a, [wMenuBorderLeftCoord]
ld e, a
ld d, $0
@@ -976,7 +979,7 @@
ld c, a
ld a, $0
call FillBoxCGB
- call Function96b3
+ call ApplyAttrMap
ret
; 94d0
@@ -983,7 +986,7 @@
_CGB13: ; 94d0
ld hl, PalPacket_9ba6 + 1
call CopyFourPalettes
- call Function9699
+ call WipeAttrMap
hlcoord 0, 4, AttrMap
lb bc, 10, SCREEN_WIDTH
ld a, $2
@@ -992,8 +995,8 @@
lb bc, 6, SCREEN_WIDTH
ld a, $1
call FillBoxCGB
- call Function96b3
- call Function96a4
+ call ApplyAttrMap
+ call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -1002,21 +1005,21 @@
_CGB19: ; 94fa
ld de, UnknBGPals
ld a, $4e
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
- ld hl, Palette_9521
+ ld hl, .Palette
ld de, UnknOBPals
call LoadHLPaletteIntoDE
- ld hl, Palette_9521
- ld de, UnknOBPals + 8
+ ld hl, .Palette
+ ld de, UnknOBPals + 1 palettes
call LoadHLPaletteIntoDE
- call Function9699
- call Function96b3
- call Function96a4
+ call WipeAttrMap
+ call ApplyAttrMap
+ call ApplyPals
ret
; 9521
-Palette_9521: ; 9521
+.Palette: ; 9521
RGB 31, 31, 31
RGB 13, 11, 00
RGB 23, 12, 28
@@ -1027,11 +1030,11 @@
ld de, UnknBGPals
ld a, [CurPartySpecies]
ld bc, TempMonDVs
- call Function974b
- call Function9643
- call Function9699
- call Function96b3
- call Function96a4
+ call GetPlayerOrMonPalettePointer
+ call LoadPalette_White_Col1_Col2_Black
+ call WipeAttrMap
+ call ApplyAttrMap
+ call ApplyPals
ret
; 9542
@@ -1038,10 +1041,10 @@
_CGB1e: ; 9542
ld de, UnknBGPals
ld a, [CurPartySpecies]
- call Function9775
- call Function9643
- call Function9699
- call Function96b3
+ call GetMonPalettePointer_
+ call LoadPalette_White_Col1_Col2_Black
+ call WipeAttrMap
+ call ApplyAttrMap
ret
; 9555
@@ -1050,37 +1053,37 @@
call CopyFourPalettes
ld hl, Palettes_b681
ld de, UnknOBPals
- ld bc, $0008
+ ld bc, 1 palettes
ld a, $5
call FarCopyWRAM
- ld de, UnknOBPals + $38
+ ld de, UnknOBPals + 7 palettes
ld a, $1c
- call GetAthPalletFromPalettes9df6
+ call GetPredefPal
call LoadHLPaletteIntoDE
- call Function9699
+ call WipeAttrMap
ret
; 9578
-_CGB1c: ; 9578
+_CGB_FrontpicPals: ; 9578
ld de, UnknBGPals
ld a, [CurPartySpecies]
ld bc, TempMonDVs
- call Function9764
- call Function9643
- call Function9699
- call Function96b3
- call Function96a4
+ call GetFrontpicPalettePointer
+ call LoadPalette_White_Col1_Col2_Black
+ call WipeAttrMap
+ call ApplyAttrMap
+ call ApplyPals
ret
; 9591
_CGB1d: ; 9591
- ld hl, Palette95e0
+ ld hl, .Palettes
ld de, UnknBGPals
- ld bc, $0010
+ ld bc, 2 palettes
ld a, $5
call FarCopyWRAM
- call Function96a4
- call Function9699
+ call ApplyPals
+ call WipeAttrMap
hlcoord 3, 7, AttrMap
lb bc, 8, 14
ld a, $1
@@ -1101,11 +1104,11 @@
lb bc, 12, 1
ld a, $1
call FillBoxCGB
- call Function96b3
+ call ApplyAttrMap
ret
; 95e0
-Palette95e0: ; 95e0
+.Palettes: ; 95e0
RGB 31, 31, 31
RGB 16, 31, 14
RGB 05, 14, 21
--- /dev/null
+++ b/predef/crystal.asm
@@ -1,0 +1,614 @@
+GetMysteryGift_MobileAdapterLayout: ; 4930f (mobile)
+ ld a, b
+ cp SCGB_RAM
+ jr nz, .not_ram
+ ld a, [SGBPredef]
+.not_ram
+ push af
+ callba Function9673
+ pop af
+ ld l, a
+ ld h, 0
+ add hl, hl
+ ld de, .dw
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, .done
+ push de
+ jp [hl]
+.done
+ ret
+; 49330 (12:5330)
+
+.dw: ; 49330
+
+ dw MG_Mobile_Layout00
+ dw MG_Mobile_Layout01
+ dw MG_Mobile_Layout02
+; 49336
+
+MG_Mobile_Layout_FillBox: ; 49336
+.row
+ push bc
+ push hl
+.col
+ ld [hli], a
+ dec c
+ jr nz, .col
+ pop hl
+ ld bc, SCREEN_WIDTH
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .row
+ ret
+; 49346
+
+MG_Mobile_Layout_WipeAttrMap: ; 49346 (12:5346)
+ hlcoord 0, 0, AttrMap
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
+ xor a
+ call ByteFill
+ ret
+
+MG_Mobile_Layout_LoadPals: ; 49351 (12:5351)
+ ld de, UnknBGPals
+ ld hl, Palette_493e1
+ ld bc, 5 palettes
+ ld a, $5 ; BANK(UnknBGPals)
+ call FarCopyWRAM
+ ld de, UnknBGPals + 7 palettes
+ ld hl, Palette_TextBG7
+ ld bc, 1 palettes
+ ld a, $5 ; BANK(UnknBGPals)
+ call FarCopyWRAM
+ ret
+
+MG_Mobile_Layout00: ; 4936e (12:536e)
+ call MG_Mobile_Layout_LoadPals
+ call MG_Mobile_Layout_WipeAttrMap
+ call MG_Mobile_Layout_CreatePalBoxes
+ callba ApplyAttrMap
+ callba ApplyPals
+ ret
+
+MG_Mobile_Layout_CreatePalBoxes: ; 49384 (12:5384)
+ hlcoord 0, 0, AttrMap
+ lb bc, 4, 1
+ ld a, $1
+ call MG_Mobile_Layout_FillBox
+ lb bc, 2, 1
+ ld a, $2
+ call MG_Mobile_Layout_FillBox
+ lb bc, 6, 1
+ ld a, $3
+ call MG_Mobile_Layout_FillBox
+ hlcoord 1, 0, AttrMap
+ ld a, $1
+ lb bc, 3, 18
+ call MG_Mobile_Layout_FillBox
+ lb bc, 2, 18
+ ld a, $2
+ call MG_Mobile_Layout_FillBox
+ lb bc, 12, 18
+ ld a, $3
+ call MG_Mobile_Layout_FillBox
+ hlcoord 19, 0, AttrMap
+ lb bc, 4, 1
+ ld a, $1
+ call MG_Mobile_Layout_FillBox
+ lb bc, 2, 1
+ ld a, $2
+ call MG_Mobile_Layout_FillBox
+ lb bc, 6, 1
+ ld a, $3
+ call MG_Mobile_Layout_FillBox
+ hlcoord 0, 12, AttrMap
+ ld bc, 6 * SCREEN_WIDTH
+ ld a, $7
+ call ByteFill
+ ret
+; 493e1 (12:53e1)
+
+Palette_493e1: ; 493e1
+ RGB 03, 07, 09
+ RGB 26, 31, 00
+ RGB 20, 16, 03
+ RGB 31, 31, 31
+
+ RGB 13, 24, 29
+ RGB 11, 16, 30
+ RGB 07, 11, 22
+ RGB 05, 06, 18
+
+ RGB 31, 31, 31
+ RGB 20, 26, 31
+ RGB 13, 24, 29
+ RGB 11, 16, 30
+
+ RGB 31, 31, 31
+ RGB 20, 26, 31
+ RGB 00, 00, 00
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 20, 16, 08
+ RGB 31, 00, 00
+ RGB 00, 00, 00
+; 49409
+
+LoadOW_BGPal7:: ; 49409
+ ld hl, Palette_TextBG7
+ ld de, UnknBGPals + 8 * 7
+ ld bc, 8
+ ld a, $5
+ call FarCopyWRAM
+ ret
+; 49418
+
+Palette_TextBG7: ; 49418
+ RGB 31, 31, 31
+ RGB 08, 19, 28
+ RGB 05, 05, 16
+ RGB 00, 00, 00
+; 49420
+
+Function49420:: ; 49420 (12:5420)
+ ld hl, MansionPalette4
+ ld de, UnknBGPals + $30
+ ld bc, $8
+ ld a, $5 ; BANK(UnknBGPals)
+ call FarCopyWRAM
+ ret
+; 4942f (12:542f)
+
+MG_Mobile_Layout01: ; 4942f
+ call MG_Mobile_Layout_LoadPals
+ ld de, UnknBGPals + $38
+ ld hl, Palette_49478
+ ld bc, $8
+ ld a, $5 ; BANK(UnknBGPals)
+ call FarCopyWRAM
+ call MG_Mobile_Layout_WipeAttrMap
+ hlcoord 0, 0, AttrMap
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
+ xor a
+ call ByteFill
+ hlcoord 0, 14, AttrMap
+ ld bc, 4 * SCREEN_WIDTH
+ ld a, $7
+ call ByteFill
+ ld a, [wd002]
+ bit 6, a
+ jr z, .asm_49464
+ call Function49480
+ jr .asm_49467
+
+.asm_49464
+ call Function49496
+
+.asm_49467
+ callba ApplyAttrMap
+ callba ApplyPals
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 49478
+
+Palette_49478: ; 49478
+ RGB 31, 31, 31
+ RGB 26, 31, 00
+ RGB 20, 16, 03
+ RGB 00, 00, 00
+; 49480
+
+Function49480: ; 49480
+ hlcoord 0, 0, AttrMap
+ lb bc, 4, SCREEN_WIDTH
+ ld a, $7
+ call MG_Mobile_Layout_FillBox
+ hlcoord 0, 2, AttrMap
+ ld a, $4
+ ld [hl], a
+ hlcoord 19, 2, AttrMap
+ ld [hl], a
+ ret
+; 49496
+
+Function49496: ; 49496
+ hlcoord 0, 0, AttrMap
+ lb bc, 2, SCREEN_WIDTH
+ ld a, $7
+ call MG_Mobile_Layout_FillBox
+ hlcoord 0, 1, AttrMap
+ ld a, $4
+ ld [hl], a
+ hlcoord 19, 1, AttrMap
+ ld [hl], a
+ ret
+; 494ac
+
+LoadSpecialMapPalette: ; 494ac
+ ld a, [wTileset]
+ cp TILESET_POKECOM_CENTER
+ jr z, .pokecom_2f
+ cp TILESET_BATTLE_TOWER
+ jr z, .battle_tower
+ cp TILESET_ICE_PATH
+ jr z, .ice_path
+ cp TILESET_HOUSE_1
+ jr z, .house
+ cp TILESET_RADIO_TOWER
+ jr z, .radio_tower
+ cp TILESET_CELADON_MANSION
+ jr z, .mansion_mobile
+ jr .do_nothing
+
+.pokecom_2f
+ call LoadPokeComPalette
+ scf
+ ret
+
+.battle_tower
+ call LoadBattleTowerPalette
+ scf
+ ret
+
+.ice_path
+ ld a, [wPermission] ; permission
+ and 7
+ cp 3 ; Hall of Fame
+ jr z, .do_nothing
+ call LoadIcePathPalette
+ scf
+ ret
+
+.house
+ call LoadHousePalette
+ scf
+ ret
+
+.radio_tower
+ call LoadRadioTowerPalette
+ scf
+ ret
+
+.mansion_mobile
+ call LoadMansionPalette
+ scf
+ ret
+
+.do_nothing
+ and a
+ ret
+; 494f2
+
+LoadPokeComPalette: ; 494f2
+ ld a, $5
+ ld de, UnknBGPals
+ ld hl, PokeComPalette
+ ld bc, 8 palettes
+ call FarCopyWRAM
+ ret
+; 49501
+
+PokeComPalette: ; 49501
+INCLUDE "tilesets/pokecom.pal"
+; 49541
+
+LoadBattleTowerPalette: ; 49541
+ ld a, $5
+ ld de, UnknBGPals
+ ld hl, BattleTowerPalette
+ ld bc, 8 palettes
+ call FarCopyWRAM
+ ret
+; 49550
+
+BattleTowerPalette: ; 49550
+INCLUDE "tilesets/battle_tower.pal"
+; 49590
+
+LoadIcePathPalette: ; 49590
+ ld a, $5
+ ld de, UnknBGPals
+ ld hl, IcePathPalette
+ ld bc, 8 palettes
+ call FarCopyWRAM
+ ret
+; 4959f
+
+IcePathPalette: ; 4959f
+INCLUDE "tilesets/ice_path.pal"
+; 495df
+
+LoadHousePalette: ; 495df
+ ld a, $5
+ ld de, UnknBGPals
+ ld hl, HousePalette
+ ld bc, 8 palettes
+ call FarCopyWRAM
+ ret
+; 495ee
+
+HousePalette: ; 495ee
+INCLUDE "tilesets/house.pal"
+; 4962e
+
+LoadRadioTowerPalette: ; 4962e
+ ld a, $5
+ ld de, UnknBGPals
+ ld hl, RadioTowerPalette
+ ld bc, 8 palettes
+ call FarCopyWRAM
+ ret
+; 4963d
+
+RadioTowerPalette: ; 4963d
+INCLUDE "tilesets/radio_tower.pal"
+; 4967d
+
+MansionPalette1: ; 4967d
+ RGB 30, 28, 26
+ RGB 19, 19, 19
+ RGB 13, 13, 13
+ RGB 07, 07, 07
+
+ RGB 30, 28, 26
+ RGB 31, 19, 24
+ RGB 30, 10, 06
+ RGB 07, 07, 07
+
+ RGB 18, 24, 09
+ RGB 15, 20, 01
+ RGB 09, 13, 00
+ RGB 07, 07, 07
+
+ RGB 30, 28, 26
+ RGB 15, 16, 31
+ RGB 09, 09, 31
+ RGB 07, 07, 07
+
+ RGB 30, 28, 26
+ RGB 31, 31, 07
+ RGB 31, 16, 01
+ RGB 07, 07, 07
+
+ RGB 26, 24, 17
+ RGB 21, 17, 07
+ RGB 16, 13, 03
+ RGB 07, 07, 07
+
+MansionPalette3: ; 496ad
+ RGB 30, 28, 26
+ RGB 17, 19, 31
+ RGB 14, 16, 31
+ RGB 07, 07, 07
+
+ RGB 31, 31, 16
+ RGB 31, 31, 16
+ RGB 14, 09, 00
+ RGB 00, 00, 00
+; 496bd
+
+MansionPalette4: ; 496bd
+ RGB 05, 05, 16
+ RGB 08, 19, 28
+ RGB 00, 00, 00
+ RGB 31, 31, 31
+; 496c5
+
+LoadMansionPalette: ; 496c5
+ ld a, $5
+ ld de, UnknBGPals
+ ld hl, MansionPalette1
+ ld bc, 8 palettes
+ call FarCopyWRAM
+ ld a, $5
+ ld de, UnknBGPals + 4 palettes
+ ld hl, MansionPalette2
+ ld bc, 1 palettes
+ call FarCopyWRAM
+ ld a, $5
+ ld de, UnknBGPals + 3 palettes
+ ld hl, MansionPalette3
+ ld bc, 1 palettes
+ call FarCopyWRAM
+ ld a, $5
+ ld de, UnknBGPals + 6 palettes
+ ld hl, MansionPalette4
+ ld bc, 1 palettes
+ call FarCopyWRAM
+ ret
+; 496fe
+
+MansionPalette2: ; 496fe
+ RGB 25, 24, 23
+ RGB 20, 19, 19
+ RGB 14, 16, 31
+ RGB 07, 07, 07
+; 49706
+
+MG_Mobile_Layout02: ; 49706
+ ld hl, Palette_49732
+ ld de, UnknBGPals
+ ld bc, 1 palettes
+ ld a, $5
+ call FarCopyWRAM
+ callba ApplyPals
+ call MG_Mobile_Layout_WipeAttrMap
+ callba ApplyAttrMap
+ ld hl, Palette_4973a
+ ld de, UnknOBPals
+ ld bc, 1 palettes
+ ld a, $5
+ call FarCopyWRAM
+ ret
+; 49732
+
+Palette_49732: ; 49732
+ RGB 31, 31, 31
+ RGB 23, 16, 07
+ RGB 23, 07, 07
+ RGB 03, 07, 20
+; 4973a
+
+Palette_4973a: ; 4973a
+ RGB 00, 00, 00
+ RGB 07, 05, 31
+ RGB 14, 18, 31
+ RGB 31, 31, 31
+; 49742
+
+Function49742: ; 49742
+ ld hl, Palette_49757
+ ld de, UnknBGPals
+ ld bc, $40
+ ld a, $5
+ call FarCopyWRAM
+ callba ApplyPals
+ ret
+; 49757
+
+Palette_49757: ; 49757
+ RGB 31, 31, 63
+ RGB 00, 00, 00
+ RGB 00, 00, 00
+ RGB 00, 00, 00
+
+ RGB 31, 31, 63
+ RGB 00, 00, 00
+ RGB 00, 00, 00
+ RGB 00, 00, 00
+
+ RGB 04, 02, 15
+ RGB 21, 00, 21
+ RGB 31, 00, 00
+ RGB 31, 31, 31
+
+ RGB 04, 02, 15
+ RGB 21, 00, 21
+ RGB 30, 16, 26
+ RGB 31, 31, 31
+
+ RGB 04, 02, 15
+ RGB 21, 00, 21
+ RGB 16, 16, 16
+ RGB 31, 31, 31
+
+ RGB 04, 02, 15
+ RGB 21, 00, 21
+ RGB 31, 12, 12
+ RGB 31, 31, 31
+
+ RGB 04, 02, 15
+ RGB 21, 00, 21
+ RGB 07, 08, 31
+ RGB 31, 31, 31
+
+ RGB 04, 02, 15
+ RGB 21, 00, 21
+ RGB 29, 28, 09
+ RGB 31, 31, 31
+; 49797
+
+_InitMG_Mobile_LinkTradePalMap: ; 49797
+ hlcoord 0, 0, AttrMap
+ lb bc, 16, 2
+ ld a, $4
+ call MG_Mobile_Layout_FillBox
+ ld a, $3
+ ldcoord_a 0, 1, AttrMap
+ ldcoord_a 0, 14, AttrMap
+ hlcoord 2, 0, AttrMap
+ lb bc, 8, 18
+ ld a, $5
+ call MG_Mobile_Layout_FillBox
+ hlcoord 2, 8, AttrMap
+ lb bc, 8, 18
+ ld a, $6
+ call MG_Mobile_Layout_FillBox
+ hlcoord 0, 16, AttrMap
+ lb bc, 2, SCREEN_WIDTH
+ ld a, $4
+ call MG_Mobile_Layout_FillBox
+ ld a, $3
+ lb bc, 6, 1
+ hlcoord 6, 1, AttrMap
+ call MG_Mobile_Layout_FillBox
+ ld a, $3
+ lb bc, 6, 1
+ hlcoord 17, 1, AttrMap
+ call MG_Mobile_Layout_FillBox
+ ld a, $3
+ lb bc, 6, 1
+ hlcoord 6, 9, AttrMap
+ call MG_Mobile_Layout_FillBox
+ ld a, $3
+ lb bc, 6, 1
+ hlcoord 17, 9, AttrMap
+ call MG_Mobile_Layout_FillBox
+ ld a, $2
+ hlcoord 2, 16, AttrMap
+ ld [hli], a
+ ld a, $7
+rept 3
+ ld [hli], a
+endr
+ ld a, $2
+ ld [hl], a
+ hlcoord 2, 17, AttrMap
+ ld a, $3
+ ld bc, 6
+ call ByteFill
+ ret
+; 49811
+
+Function49811: ; 49811
+ ld hl, Palette_49826
+ ld de, UnknBGPals + $10
+ ld bc, $30
+ ld a, $5
+ call FarCopyWRAM
+ callba ApplyPals
+ ret
+; 49826
+
+Palette_49826: ; 49826
+ RGB 04, 02, 15
+ RGB 07, 09, 31
+ RGB 31, 00, 00
+ RGB 31, 31, 31
+
+ RGB 04, 02, 15
+ RGB 07, 09, 31
+ RGB 15, 23, 30
+ RGB 31, 31, 31
+
+ RGB 04, 02, 15
+ RGB 07, 09, 31
+ RGB 16, 16, 16
+ RGB 31, 31, 31
+
+ RGB 04, 02, 15
+ RGB 07, 09, 31
+ RGB 25, 07, 04
+ RGB 31, 31, 31
+
+ RGB 04, 02, 15
+ RGB 07, 09, 31
+ RGB 03, 22, 08
+ RGB 31, 31, 31
+
+ RGB 04, 02, 15
+ RGB 07, 09, 31
+ RGB 29, 28, 09
+ RGB 31, 31, 31
+; 49856
+
+InitMG_Mobile_LinkTradePalMap: ; 49856
+ call _InitMG_Mobile_LinkTradePalMap
+ ret
+; 4985a
--- a/predef/sgb.asm
+++ b/predef/sgb.asm
@@ -7,10 +7,9 @@
cp SCGB_RAM
jr nz, .not_ram
ld a, [SGBPredef]
-
.not_ram
- cp SCGB_FC
- jp z, Function8ade
+ cp SCGB_PARTY_MENU_HP_PALS
+ jp z, SGB_ApplyPartyMenuHPPals
ld l, a
ld h, 0
add hl, hl
@@ -25,16 +24,16 @@
; 866f
.Jumptable: ; 866f
- dw .SGB00
- dw .SGB01
- dw .SGB02
- dw .SGB03
+ dw .SGB_BattleGrayscale
+ dw .SGB_BattleColors
+ dw .SGB_PokegearPals
+ dw .SGB_StatsScreenHPPals
dw .SGB04
- dw .SGB05
+ dw .SGB_SlotMachine
dw .SGB06
dw .SGB07
dw .SGB08
- dw .SGB09
+ dw .SGB_MapPals
dw .SGB0a
dw .SGB0b
dw .SGB0c
@@ -45,8 +44,8 @@
dw .SGB11
dw .SGB12
dw .SGB13
- dw .SGB14
- dw .SGB15
+ dw .SGB_PackPals
+ dw .SGB_TrainerCard
dw .SGB16
dw .SGB17
dw .SGB18
@@ -53,24 +52,24 @@
dw .SGB19
dw .SGB1a
dw .SGB1b
- dw .SGB1c
+ dw .SGB_FrontpicPals
dw .SGB1d
dw .SGB1e
; 86ad
-.SGB00: ; 86ad
+.SGB_BattleGrayscale: ; 86ad
ld hl, PalPacket_9c66
ld de, BlkPacket_9aa6
ret
; 86b4
-.SGB01: ; 86b4
+.SGB_BattleColors: ; 86b4
ld hl, BlkPacket_9aa6
call Function9809
ld hl, PalPacket_9ce6
- ld de, wcda9
- ld bc, $0010
+ ld de, wSGBPals
+ ld bc, $10
call CopyBytes
ld a, [PlayerHPPal]
@@ -83,17 +82,17 @@
add hl, de
ld a, [hli]
- ld [wcda9 + 3], a
+ ld [wSGBPals + 3], a
ld a, [hli]
- ld [wcda9 + 4], a
+ ld [wSGBPals + 4], a
ld a, [hli]
- ld [wcda9 + 5], a
+ ld [wSGBPals + 5], a
ld a, [hl]
- ld [wcda9 + 6], a
+ ld [wSGBPals + 6], a
ld a, [EnemyHPPal]
ld l, a
- ld h, $0
+ ld h, 0
rept 2
add hl, hl
endr
@@ -101,42 +100,42 @@
ld de, Palettes_a8be
add hl, de
ld a, [hli]
- ld [wcda9 + 9], a
+ ld [wSGBPals + 9], a
ld a, [hli]
- ld [wcda9 + 10], a
+ ld [wSGBPals + 10], a
ld a, [hli]
- ld [wcda9 + 11], a
+ ld [wSGBPals + 11], a
ld a, [hl]
- ld [wcda9 + 12], a
+ ld [wSGBPals + 12], a
ld hl, PalPacket_9cf6
- ld de, wcda9 + $10
- ld bc, $0010
+ ld de, wSGBPals + $10
+ ld bc, $10
call CopyBytes
- call Function9729
+ call GetBattlemonBackpicPalettePointer
ld a, [hli]
- ld [wcda9 + $13], a
+ ld [wSGBPals + $13], a
ld a, [hli]
- ld [wcda9 + $14], a
+ ld [wSGBPals + $14], a
ld a, [hli]
- ld [wcda9 + $15], a
+ ld [wSGBPals + $15], a
ld a, [hl]
- ld [wcda9 + $16], a
- call Function973a
+ ld [wSGBPals + $16], a
+ call GetEnemyFrontpicPalettePointer
ld a, [hli]
- ld [wcda9 + $19], a
+ ld [wSGBPals + $19], a
ld a, [hli]
- ld [wcda9 + $1a], a
+ ld [wSGBPals + $1a], a
ld a, [hli]
- ld [wcda9 + $1b], a
+ ld [wSGBPals + $1b], a
ld a, [hl]
- ld [wcda9 + $1c], a
+ ld [wSGBPals + $1c], a
- ld hl, wcda9
- ld de, wcda9 + $10
- ld a, SCGB_01
+ ld hl, wSGBPals
+ ld de, wSGBPals + $10
+ ld a, SCGB_BATTLE_COLORS
ld [SGBPredef], a
ret
; 873c
@@ -143,11 +142,11 @@
.SGB0e: ; 873c
ld hl, PalPacket_9bd6
- ld de, wcda9
- ld bc, $0010
+ ld de, wSGBPals
+ ld bc, $10
call CopyBytes
- ld hl, wcda9 + 1
+ ld hl, wSGBPals + 1
ld [hl], $10
rept 2
inc hl
@@ -156,25 +155,25 @@
ld a, [PlayerHPPal]
add $2f
ld [hl], a
- ld hl, wcda9
+ ld hl, wSGBPals
ld de, BlkPacket_9ad6
ret
; 875c
-.SGB02: ; 875c
+.SGB_PokegearPals: ; 875c
ld hl, PalPacket_9c76
ld de, BlkPacket_9a86
ret
; 8763
-.SGB03: ; 8763
+.SGB_StatsScreenHPPals: ; 8763
ld hl, PalPacket_9ce6
- ld de, wcda9
- ld bc, $0010
+ ld de, wSGBPals
+ ld bc, $10
call CopyBytes
ld a, [wcda1]
ld l, a
- ld h, $0
+ ld h, 0
rept 2
add hl, hl
endr
@@ -181,25 +180,25 @@
ld de, Palettes_a8be
add hl, de
ld a, [hli]
- ld [wcda9 + 3], a
+ ld [wSGBPals + 3], a
ld a, [hli]
- ld [wcda9 + 4], a
+ ld [wSGBPals + 4], a
ld a, [hli]
- ld [wcda9 + 5], a
+ ld [wSGBPals + 5], a
ld a, [hl]
- ld [wcda9 + 6], a
+ ld [wSGBPals + 6], a
ld a, [CurPartySpecies]
- ld bc, wd10e + 21
- call Function974b
+ ld bc, TempMonDVs
+ call GetPlayerOrMonPalettePointer
ld a, [hli]
- ld [wcda9 + 9], a
+ ld [wSGBPals + 9], a
ld a, [hli]
- ld [wcda9 + 10], a
+ ld [wSGBPals + 10], a
ld a, [hli]
- ld [wcda9 + 11], a
+ ld [wSGBPals + 11], a
ld a, [hl]
- ld [wcda9 + 12], a
- ld hl, wcda9
+ ld [wSGBPals + 12], a
+ ld hl, wSGBPals
ld de, BlkPacket_9ac6
ret
; 87ab
@@ -206,16 +205,16 @@
.SGB0a: ; 87ab
ld hl, PalPacket_9c56
- ld de, wcda9 + 1
+ ld de, wSGBPals + 1
ret
; 87b2
.SGB04: ; 87b2
ld hl, PalPacket_9ce6
- ld de, wcda9
- ld bc, $0010
+ ld de, wSGBPals
+ ld bc, $10
call CopyBytes
- ld hl, wcda9 + 3
+ ld hl, wSGBPals + 3
ld [hl], $9f
inc hl
ld [hl], $2a
@@ -224,16 +223,16 @@
inc hl
ld [hl], $19
ld a, [CurPartySpecies]
- call Function9775
+ call GetMonPalettePointer_
ld a, [hli]
- ld [wcda9 + 9], a
+ ld [wSGBPals + 9], a
ld a, [hli]
- ld [wcda9 + 10], a
+ ld [wSGBPals + 10], a
ld a, [hli]
- ld [wcda9 + 11], a
+ ld [wSGBPals + 11], a
ld a, [hl]
- ld [wcda9 + 12], a
- ld hl, wcda9
+ ld [wSGBPals + 12], a
+ ld hl, wSGBPals
ld de, BlkPacket_9ae6
ret
; 87e9
@@ -240,10 +239,10 @@
.SGB17: ; 87e9
ld hl, PalPacket_9ce6
- ld de, wcda9
- ld bc, $0010
+ ld de, wSGBPals
+ ld bc, $10
call CopyBytes
- ld hl, wcda9 + 3
+ ld hl, wSGBPals + 3
ld [hl], $9f
inc hl
ld [hl], $2a
@@ -252,17 +251,17 @@
inc hl
ld [hl], $19
ld a, [CurPartySpecies]
- ld bc, wd10e + 21
- call Function974b
+ ld bc, TempMonDVs
+ call GetPlayerOrMonPalettePointer
ld a, [hli]
- ld [wcda9 + 9], a
+ ld [wSGBPals + 9], a
ld a, [hli]
- ld [wcda9 + 10], a
+ ld [wSGBPals + 10], a
ld a, [hli]
- ld [wcda9 + 11], a
+ ld [wSGBPals + 11], a
ld a, [hl]
- ld [wcda9 + 12], a
- ld hl, wcda9
+ ld [wSGBPals + 12], a
+ ld hl, wSGBPals
ld de, BlkPacket_9ae6
ret
; 8823
@@ -275,10 +274,10 @@
.SGB10: ; 882a
ld hl, PalPacket_9ce6
- ld de, wcda9
- ld bc, $0010
+ ld de, wSGBPals
+ ld bc, $10
call CopyBytes
- ld hl, wcda9 + 3
+ ld hl, wSGBPals + 3
ld [hl], $9f
inc hl
ld [hl], $2a
@@ -286,18 +285,18 @@
ld [hl], $5a
inc hl
ld [hl], $19
- ld hl, wcda9
+ ld hl, wSGBPals
ld de, BlkPacket_9a86
ret
; 884b
-.SGB14: ; 884b
+.SGB_PackPals: ; 884b
ld hl, PalPacket_9c36
ld de, BlkPacket_9a86
ret
; 8852
-.SGB05: ; 8852
+.SGB_SlotMachine: ; 8852
ld hl, PalPacket_9c96
ld de, BlkPacket_9b06
ret
@@ -361,7 +360,7 @@
.SGB11: ; 889e
ld hl, BlkPacket_9a86
ld de, PlayerLightScreenCount
- ld bc, $0010
+ ld bc, $10
call CopyBytes
ld hl, PalPacket_9bb6
ld de, BlkPacket_9a86
@@ -368,16 +367,16 @@
ret
; 88b1
-.SGB09: ; 88b1
+.SGB_MapPals: ; 88b1
ld hl, PalPacket_9bd6
- ld de, wcda9
- ld bc, $0010
+ ld de, wSGBPals
+ ld bc, $10
call CopyBytes
- call .GetPermission
- ld hl, wcda9 + 1
+ call .GetMapPalsIndex
+ ld hl, wSGBPals + 1
ld [hld], a
ld de, BlkPacket_9a86
- ld a, SCGB_09
+ ld a, SCGB_MAPPALS
ld [SGBPredef], a
ret
; 88cd
@@ -385,14 +384,14 @@
.SGB0b: ; 88cd
push bc
ld hl, PalPacket_9ce6
- ld de, wcda9
- ld bc, $0010
+ ld de, wSGBPals
+ ld bc, $10
call CopyBytes
pop bc
ld a, c
and a
- jr z, .asm_88ef
- ld hl, wcda9 + 3
+ jr z, .partymon
+ ld hl, wSGBPals + 3
ld [hl], $e7
inc hl
ld [hl], $1c
@@ -400,34 +399,34 @@
ld [hl], $62
inc hl
ld [hl], $c
- jr .asm_8913
+ jr .done
-.asm_88ef
+.partymon
ld hl, PartyMon1DVs
- ld bc, $0030
+ ld bc, PARTYMON_STRUCT_LENGTH
ld a, [CurPartyMon]
call AddNTimes
ld c, l
ld b, h
ld a, [PlayerHPPal]
- call Function974b
+ call GetPlayerOrMonPalettePointer
ld a, [hli]
- ld [wcda9 + 3], a
+ ld [wSGBPals + 3], a
ld a, [hli]
- ld [wcda9 + 4], a
+ ld [wSGBPals + 4], a
ld a, [hli]
- ld [wcda9 + 5], a
+ ld [wSGBPals + 5], a
ld a, [hl]
- ld [wcda9 + 6], a
+ ld [wSGBPals + 6], a
-.asm_8913
- ld hl, wcda9
+.done
+ ld hl, wSGBPals
ld de, BlkPacket_9a86
ret
; 891a
.SGB0d:
-.SGB15: ; 891a
+.SGB_TrainerCard: ; 891a
ld hl, PalPacket_9cb6
ld de, BlkPacket_9a86
ret
@@ -441,20 +440,20 @@
.SGB12: ; 8928
ld hl, PalPacket_9bd6
- ld de, wcda9
- ld bc, $0010
+ ld de, wSGBPals
+ ld bc, $10
call CopyBytes
ld hl, BlkPacket_9a86
- ld de, wcda9 + $10
- ld bc, $0010
+ ld de, wSGBPals + $10
+ ld bc, $10
call CopyBytes
- call .GetPermission
- ld hl, wcda9 + 1
+ call .GetMapPalsIndex
+ ld hl, wSGBPals + 1
ld [hl], a
- ld hl, wcda9 + 3
+ ld hl, wSGBPals + 3
ld [hl], $2e
- ld hl, wcda9 + $13
- ld a, $5
+ ld hl, wSGBPals + $13
+ ld a, 5
ld [hli], a
ld a, [wMenuBorderLeftCoord]
ld [hli], a
@@ -464,15 +463,15 @@
ld [hli], a
ld a, [wMenuBorderBottomCoord]
ld [hl], a
- ld hl, wcda9
- ld de, wcda9 + $10
+ ld hl, wSGBPals
+ ld de, wSGBPals + $10
ret
; 8969
.SGB1e: ; 8969
ld hl, PalPacket_9ce6
- ld de, wcda9
- ld bc, $0010
+ ld de, wSGBPals
+ ld bc, $10
call CopyBytes
ld a, [CurPartySpecies]
ld l, a
@@ -490,14 +489,14 @@
ld b, 0
add hl, bc
ld a, [hli]
- ld [wcda9 + 3], a
+ ld [wSGBPals + 3], a
ld a, [hli]
- ld [wcda9 + 4], a
+ ld [wSGBPals + 4], a
ld a, [hli]
- ld [wcda9 + 5], a
+ ld [wSGBPals + 5], a
ld a, [hl]
- ld [wcda9 + 6], a
- ld hl, wcda9
+ ld [wSGBPals + 6], a
+ ld hl, wSGBPals
ld de, BlkPacket_9a86
ret
; 89a6
@@ -510,21 +509,21 @@
.SGB1a: ; 89ad
ld hl, PalPacket_9ce6
- ld de, wcda9
- ld bc, $0010
+ ld de, wSGBPals
+ ld bc, $10
call CopyBytes
ld a, [CurPartySpecies]
- ld bc, wd10e + 21
- call Function974b
+ ld bc, TempMonDVs
+ call GetPlayerOrMonPalettePointer
ld a, [hli]
- ld [wcda9 + 3], a
+ ld [wSGBPals + 3], a
ld a, [hli]
- ld [wcda9 + 4], a
+ ld [wSGBPals + 4], a
ld a, [hli]
- ld [wcda9 + 5], a
+ ld [wSGBPals + 5], a
ld a, [hl]
- ld [wcda9 + 6], a
- ld hl, wcda9
+ ld [wSGBPals + 6], a
+ ld hl, wSGBPals
ld de, BlkPacket_9a86
ret
; 89d9
@@ -535,99 +534,99 @@
ret
; 89e0
-.SGB1c: ; 89e0
+.SGB_FrontpicPals: ; 89e0
ld hl, PalPacket_9ce6
- ld de, wcda9
- ld bc, $0010
+ ld de, wSGBPals
+ ld bc, $10
call CopyBytes
ld a, [CurPartySpecies]
- ld bc, wd10e + 21
- call Function9764
+ ld bc, TempMonDVs
+ call GetFrontpicPalettePointer
ld a, [hli]
- ld [wcda9 + 3], a
+ ld [wSGBPals + 3], a
ld a, [hli]
- ld [wcda9 + 4], a
+ ld [wSGBPals + 4], a
ld a, [hli]
- ld [wcda9 + 5], a
+ ld [wSGBPals + 5], a
ld a, [hl]
- ld [wcda9 + 6], a
- ld hl, wcda9
+ ld [wSGBPals + 6], a
+ ld hl, wSGBPals
ld de, BlkPacket_9a86
ret
; 8a0c
-.GetPermission: ; 8a0c
+.GetMapPalsIndex: ; 8a0c
ld a, [TimeOfDayPal]
- cp $2
- jr c, .asm_8a16
+ cp NITE
+ jr c, .morn_day
ld a, $19
ret
-.asm_8a16
+.morn_day
ld a, [wPermission]
- cp $2
- jr z, .asm_8a39
- cp $4
- jr z, .asm_8a3c
- cp $7
- jr z, .asm_8a3c
- cp $5
- jr z, .asm_8a3f
- cp $6
- jr z, .asm_8a42
+ cp ROUTE
+ jr z, .route
+ cp CAVE
+ jr z, .cave
+ cp DUNGEON
+ jr z, .cave
+ cp PERM_5
+ jr z, .perm5
+ cp GATE
+ jr z, .gate
ld a, [MapGroup]
ld e, a
ld d, 0
- ld hl, .Unknown_8a45
+ ld hl, .SGBRoofPalInds
add hl, de
ld a, [hl]
ret
-.asm_8a39
- ld a, $0
+.route
+ ld a, $00
ret
-.asm_8a3c
+.cave
ld a, $18
ret
-.asm_8a3f
- ld a, $6
+.perm5
+ ld a, $06
ret
-.asm_8a42
- ld a, $3
+.gate
+ ld a, $03
ret
; 8a45
-.Unknown_8a45: ; 8a45
- db $00
- db $12
- db $14
- db $18
- db $11
- db $15
- db $09
- db $04
- db $0f
- db $16
- db $0e
- db $10
- db $06
- db $01
- db $03
- db $06
- db $0b
- db $08
- db $05
- db $17
- db $08
- db $07
- db $13
- db $02
- db $0c
- db $0a
- db $0d
+.SGBRoofPalInds: ; 8a45
+ db $00 ; Unused
+ db $12 ; Olivine
+ db $14 ; Mahogany
+ db $18 ; Various Dungeons
+ db $11 ; Ecruteak
+ db $15 ; Blackthorn
+ db $09 ; Cinnabar
+ db $04 ; Cerulean
+ db $0f ; Azalea
+ db $16 ; Lake Of Rage
+ db $0e ; Violet
+ db $10 ; Goldenrod
+ db $06 ; Vermilion
+ db $01 ; Palette
+ db $03 ; Pewter
+ db $06 ; Fast Ship
+ db $0b ; Indigo Plateau
+ db $08 ; Fuchsia
+ db $05 ; Lavender
+ db $17 ; Silver Cave Outside
+ db $08 ; Pokemon Center 2F
+ db $07 ; Celadon
+ db $13 ; Cianwood
+ db $02 ; Viridian
+ db $0c ; New Bark
+ db $0a ; Saffron
+ db $0d ; Cherrygrove
; 8a60
.Finish: ; 8a60
--- a/sram.asm
+++ b/sram.asm
@@ -135,7 +135,50 @@
sLinkBattleStatsEnd::
sHallOfFame:: ; b2c0
- ds HOF_LENGTH * NUM_HOF_TEAMS
+; temporary until I can find a way to macrofy it
+ hall_of_fame sHallOfFame01
+ hall_of_fame sHallOfFame02
+ hall_of_fame sHallOfFame03
+ hall_of_fame sHallOfFame04
+ hall_of_fame sHallOfFame05
+ hall_of_fame sHallOfFame06
+ hall_of_fame sHallOfFame07
+ hall_of_fame sHallOfFame08
+ hall_of_fame sHallOfFame09
+ hall_of_fame sHallOfFame10
+ hall_of_fame sHallOfFame11
+ hall_of_fame sHallOfFame12
+ hall_of_fame sHallOfFame13
+ hall_of_fame sHallOfFame14
+ hall_of_fame sHallOfFame15
+ hall_of_fame sHallOfFame16
+ hall_of_fame sHallOfFame17
+ hall_of_fame sHallOfFame18
+ hall_of_fame sHallOfFame19
+ hall_of_fame sHallOfFame20
+ hall_of_fame sHallOfFame21
+ hall_of_fame sHallOfFame22
+ hall_of_fame sHallOfFame23
+ hall_of_fame sHallOfFame24
+ hall_of_fame sHallOfFame25
+ hall_of_fame sHallOfFame26
+ hall_of_fame sHallOfFame27
+ hall_of_fame sHallOfFame28
+ hall_of_fame sHallOfFame29
+ hall_of_fame sHallOfFame30
+
+; x = 1
+; rept NUM_HOF_TEAMS
+; ; PRINTT("{x}\n")
+; if STRLEN({x}) == 2
+ ; PRINTT(STRSUB({x},2,1))
+ ; hall_of_fame STRCAT("sHallOfFame0", STRSUB({x},2,1))
+; else
+ ; PRINTT(STRSUB({x},2,2))
+ ; hall_of_fame STRCAT("sHallOfFame", STRSUB({x},2,2))
+; endc
+; x = x + 1
+; endr
sHallOfFameEnd::
sMobileEventIndex:: ds 1
@@ -152,7 +195,7 @@
sBattleTower:: ; be46
sNrOfBeatenBattleTowerTrainers:: ds 1
-sbe47:: ds 1
+sBTChoiceOfLevelGroup:: ds 1
; The 7 trainers of the BattleTower are saved here, so nobody appears more than once
sBTTrainers:: ; sbe48
ds 7
--- a/text/battle.asm
+++ b/text/battle.asm
@@ -1,4 +1,4 @@
-BattleText_PlayerPickuedUpPayDayMoney: ; 0x80730
+BattleText_PlayerPickedUpPayDayMoney: ; 0x80730
text "<PLAYER> picked up"
line "¥@"
deciram wPayDayMoney, 3, 6
@@ -474,9 +474,9 @@
text "<TARGET>"
line "became confused!"
prompt
-; 0x80dab
+; ItemHealedConfusion
-BattleText_0x80dab: ; 0x80dab
+BattleText_ItemHealedConfusion: ; ItemHealedConfusion
text "A @"
text_from_ram StringBuffer1
text " rid"
--- a/text/common_1.asm
+++ b/text/common_1.asm
@@ -500,7 +500,7 @@
UnknownText_0x1bc84b::
text ""
line "OAK: @"
- text_from_ram wd050
+ text_from_ram wMonOrItemNameBuffer
db "@@"
UnknownText_0x1bc858::
@@ -1080,7 +1080,7 @@
Text_EnemyUsedOn::
text "<ENEMY>"
line "used @"
- text_from_ram wd050
+ text_from_ram wMonOrItemNameBuffer
text ""
cont "on @"
text_from_ram EnemyMonNick
@@ -1329,7 +1329,7 @@
UnknownText_0x1bd429::
text "<PLAYER> traded"
line "@"
- text_from_ram wd050
+ text_from_ram wMonOrItemNameBuffer
text " for"
cont "@"
text_from_ram StringBuffer2
@@ -1423,7 +1423,7 @@
UnknownText_0x1bd5f4::
text "Hi! The @"
- text_from_ram wd050
+ text_from_ram wMonOrItemNameBuffer
text ""
line "you traded me is"
cont "doing great!"
@@ -1430,7 +1430,7 @@
done
UnknownText_0x1bd621::
- text_from_ram wd050
+ text_from_ram wMonOrItemNameBuffer
text "'s cute,"
line "but I don't have"
@@ -1464,7 +1464,7 @@
text "Wow! Thank you!"
line "I always wanted"
cont "@"
- text_from_ram wd050
+ text_from_ram wMonOrItemNameBuffer
text "!"
done
@@ -1476,7 +1476,7 @@
cont "traded you doing?"
para "Your @"
- text_from_ram wd050
+ text_from_ram wMonOrItemNameBuffer
text "'s"
line "so cute!"
done
--- a/text/common_2.asm
+++ b/text/common_2.asm
@@ -247,7 +247,7 @@
text_from_ram StringBuffer1
text ""
cont "to @"
- text_from_ram wc950 + 3
+ text_from_ram wMysteryGiftPlayerName
text "'s home."
prompt
@@ -307,9 +307,3 @@
line "lights the area!@"
text_waitbutton
db "@@"
-
-_UsedSurfText::
- text_from_ram StringBuffer2
- text " used"
- line "SURF!"
- done
--- a/text/common_3.asm
+++ b/text/common_3.asm
@@ -1,3 +1,9 @@
+_UsedSurfText::
+ text_from_ram StringBuffer2
+ text " used"
+ line "SURF!"
+ done
+
_CantSurfText::
text "You can't SURF"
line "here."
@@ -1059,7 +1065,7 @@
UnknownText_0x1c1b2c::
text "Took @"
- text_from_ram wd050_MonNick
+ text_from_ram wMonOrItemNameBuffer
text "'s"
line "@"
text_from_ram StringBuffer1
@@ -1073,7 +1079,7 @@
UnknownText_0x1c1b57::
text "Made @"
- text_from_ram wd050_MonNick
+ text_from_ram wMonOrItemNameBuffer
text ""
line "hold @"
text_from_ram StringBuffer2
@@ -1086,7 +1092,7 @@
prompt
UnknownText_0x1c1b8e::
- text_from_ram wd050_MonNick
+ text_from_ram wMonOrItemNameBuffer
text " isn't"
line "holding anything."
prompt
@@ -1101,12 +1107,12 @@
text_from_ram StringBuffer1
text ""
line "from @"
- text_from_ram wd050_MonNick
+ text_from_ram wMonOrItemNameBuffer
text "."
prompt
UnknownText_0x1c1bdc::
- text_from_ram wd050_MonNick
+ text_from_ram wMonOrItemNameBuffer
text " is"
line "already holding"
--- a/text/common_5.asm
+++ b/text/common_5.asm
@@ -230,7 +230,7 @@
done
UnknownText_0x1c5660::
- text_from_ram wd050_MonNick
+ text_from_ram wMonOrItemNameBuffer
text " learned"
line "@"
text_from_ram StringBuffer2
@@ -252,7 +252,7 @@
done
UnknownText_0x1c56af::
- text_from_ram wd050_MonNick
+ text_from_ram wMonOrItemNameBuffer
text ""
line "did not learn"
cont "@"
@@ -261,7 +261,7 @@
prompt
UnknownText_0x1c56c9::
- text_from_ram wd050_MonNick
+ text_from_ram wMonOrItemNameBuffer
text " is"
line "trying to learn"
cont "@"
@@ -269,7 +269,7 @@
text "."
para "But @"
- text_from_ram wd050_MonNick
+ text_from_ram wMonOrItemNameBuffer
text ""
line "can't learn more"
cont "than four moves."
@@ -291,7 +291,7 @@
interpret_data
text ""
para "@"
- text_from_ram wd050_MonNick
+ text_from_ram wMonOrItemNameBuffer
text " forgot"
line "@"
text_from_ram StringBuffer1
@@ -505,7 +505,7 @@
db "@@"
UnknownText_0x1c5b38::
- text_from_ram wd050
+ text_from_ram wMonOrItemNameBuffer
text " was"
line "sent to BILL's PC."
prompt
--- /dev/null
+++ b/text/trainer_class_names.asm
@@ -1,0 +1,67 @@
+ db "LEADER@"
+ db "LEADER@"
+ db "LEADER@"
+ db "LEADER@"
+ db "LEADER@"
+ db "LEADER@"
+ db "LEADER@"
+ db "LEADER@"
+ db "RIVAL@"
+ db "#MON PROF.@"
+ db "ELITE FOUR@"
+ db "<PKMN> TRAINER@"
+ db "ELITE FOUR@"
+ db "ELITE FOUR@"
+ db "ELITE FOUR@"
+ db "CHAMPION@"
+ db "LEADER@"
+ db "LEADER@"
+ db "LEADER@"
+ db "SCIENTIST@"
+ db "LEADER@"
+ db "YOUNGSTER@"
+ db "SCHOOLBOY@"
+ db "BIRD KEEPER@"
+ db "LASS@"
+ db "LEADER@"
+ db "COOLTRAINER@"
+ db "COOLTRAINER@"
+ db "BEAUTY@"
+ db "#MANIAC@"
+ db "ROCKET@"
+ db "GENTLEMAN@"
+ db "SKIER@"
+ db "TEACHER@"
+ db "LEADER@"
+ db "BUG CATCHER@"
+ db "FISHER@"
+ db "SWIMMER♂@"
+ db "SWIMMER♀@"
+ db "SAILOR@"
+ db "SUPER NERD@"
+ db "RIVAL@"
+ db "GUITARIST@"
+ db "HIKER@"
+ db "BIKER@"
+ db "LEADER@"
+ db "BURGLAR@"
+ db "FIREBREATHER@"
+ db "JUGGLER@"
+ db "BLACKBELT@"
+ db "ROCKET@"
+ db "PSYCHIC@"
+ db "PICNICKER@"
+ db "CAMPER@"
+ db "ROCKET@"
+ db "SAGE@"
+ db "MEDIUM@"
+ db "BOARDER@"
+ db "#FAN@"
+ db "KIMONO GIRL@"
+ db "TWINS@"
+ db "#FAN@"
+ db "<PKMN> TRAINER@"
+ db "LEADER@"
+ db "OFFICER@"
+ db "ROCKET@"
+ db "MYSTICALMAN@"
\ No newline at end of file
--- a/tilesets/animations.asm
+++ b/tilesets/animations.asm
@@ -99,7 +99,7 @@
TilesetAnimfc0d7: ; 0xfc0d7
dw VTiles2 tile $03, WriteTileToBuffer
- dw wcf41, ScrollTileRightLeft
+ dw wTileAnimBuffer, ScrollTileRightLeft
dw VTiles2 tile $03, WriteTileFromBuffer
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
@@ -113,7 +113,7 @@
TilesetAnimfc103: ; 0xfc103
dw VTiles2 tile $14, WriteTileToBuffer
- dw wcf41, ScrollTileRightLeft
+ dw wTileAnimBuffer, ScrollTileRightLeft
dw VTiles2 tile $14, WriteTileFromBuffer
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
@@ -153,15 +153,15 @@
TilesetAnimfc17f: ; 0xfc17f
dw VTiles2 tile $53, WriteTileToBuffer
- dw wcf41, ScrollTileDown
- dw wcf41, ScrollTileDown
+ dw wTileAnimBuffer, ScrollTileDown
+ dw wTileAnimBuffer, ScrollTileDown
dw VTiles2 tile $53, WriteTileFromBuffer
dw VTiles2 tile $03, WriteTileToBuffer
- dw wcf41, ScrollTileRightLeft
+ dw wTileAnimBuffer, ScrollTileRightLeft
dw VTiles2 tile $03, WriteTileFromBuffer
dw VTiles2 tile $53, WriteTileToBuffer
- dw wcf41, ScrollTileDown
- dw wcf41, ScrollTileDown
+ dw wTileAnimBuffer, ScrollTileDown
+ dw wTileAnimBuffer, ScrollTileDown
dw VTiles2 tile $53, WriteTileFromBuffer
dw NULL, DoneTileAnimation
; 0xfc1af
@@ -168,17 +168,17 @@
TilesetAnimfc1af: ; 0xfc1af
dw VTiles2 tile $54, WriteTileToBuffer
- dw wcf41, ScrollTileDown
- dw wcf41, ScrollTileDown
+ dw wTileAnimBuffer, ScrollTileDown
+ dw wTileAnimBuffer, ScrollTileDown
dw VTiles2 tile $54, WriteTileFromBuffer
dw NULL, WaitTileAnimation
dw VTiles2 tile $03, WriteTileToBuffer
- dw wcf41, ScrollTileRightLeft
+ dw wTileAnimBuffer, ScrollTileRightLeft
dw VTiles2 tile $03, WriteTileFromBuffer
dw NULL, WaitTileAnimation
dw VTiles2 tile $54, WriteTileToBuffer
- dw wcf41, ScrollTileDown
- dw wcf41, ScrollTileDown
+ dw wTileAnimBuffer, ScrollTileDown
+ dw wTileAnimBuffer, ScrollTileDown
dw VTiles2 tile $54, WriteTileFromBuffer
dw NULL, DoneTileAnimation
; 0xfc1e7
@@ -187,7 +187,7 @@
Tileset30Anim: ; 0xfc1e7
dw VTiles2 tile $14, WriteTileToBuffer
dw NULL, FlickeringCaveEntrancePalette
- dw wcf41, ScrollTileRightLeft
+ dw wTileAnimBuffer, ScrollTileRightLeft
dw NULL, FlickeringCaveEntrancePalette
dw VTiles2 tile $14, WriteTileFromBuffer
dw NULL, FlickeringCaveEntrancePalette
@@ -195,11 +195,11 @@
dw NULL, FlickeringCaveEntrancePalette
dw VTiles2 tile $40, WriteTileToBuffer
dw NULL, FlickeringCaveEntrancePalette
- dw wcf41, ScrollTileDown
+ dw wTileAnimBuffer, ScrollTileDown
dw NULL, FlickeringCaveEntrancePalette
- dw wcf41, ScrollTileDown
+ dw wTileAnimBuffer, ScrollTileDown
dw NULL, FlickeringCaveEntrancePalette
- dw wcf41, ScrollTileDown
+ dw wTileAnimBuffer, ScrollTileDown
dw NULL, FlickeringCaveEntrancePalette
dw VTiles2 tile $40, WriteTileFromBuffer
dw NULL, FlickeringCaveEntrancePalette
@@ -209,7 +209,7 @@
Tileset29Anim: ; 0xfc233
dw VTiles2 tile $35, WriteTileToBuffer
dw NULL, FlickeringCaveEntrancePalette
- dw wcf41, ScrollTileRightLeft
+ dw wTileAnimBuffer, ScrollTileRightLeft
dw NULL, FlickeringCaveEntrancePalette
dw VTiles2 tile $35, WriteTileFromBuffer
dw NULL, FlickeringCaveEntrancePalette
@@ -217,11 +217,11 @@
dw NULL, FlickeringCaveEntrancePalette
dw VTiles2 tile $31, WriteTileToBuffer
dw NULL, FlickeringCaveEntrancePalette
- dw wcf41, ScrollTileDown
+ dw wTileAnimBuffer, ScrollTileDown
dw NULL, FlickeringCaveEntrancePalette
- dw wcf41, ScrollTileDown
+ dw wTileAnimBuffer, ScrollTileDown
dw NULL, FlickeringCaveEntrancePalette
- dw wcf41, ScrollTileDown
+ dw wTileAnimBuffer, ScrollTileDown
dw NULL, FlickeringCaveEntrancePalette
dw VTiles2 tile $31, WriteTileFromBuffer
dw NULL, FlickeringCaveEntrancePalette
@@ -249,7 +249,7 @@
TilesetAnimfc2bf: ; 0xfc2bf
dw VTiles2 tile $4f, WriteTileToBuffer
- dw wcf41, ScrollTileRightLeft
+ dw wTileAnimBuffer, ScrollTileRightLeft
dw VTiles2 tile $4f, WriteTileFromBuffer
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
@@ -430,10 +430,9 @@
add a
add l
ld l, a
- jr nc, .asm_fc399
+ jr nc, .okay
inc h
-
-.asm_fc399
+.okay
ld a, [hli]
ld h, [hl]
ld l, a
@@ -860,14 +859,14 @@
WriteTileFromBuffer: ; fc696
-; Write tiledata at wcf41 to de.
-; wcf41 is loaded to sp for WriteTile.
+; Write tiledata at wTileAnimBuffer to de.
+; wTileAnimBuffer is loaded to sp for WriteTile.
ld hl, [sp+0]
ld b, h
ld c, l
- ld hl, wcf41
+ ld hl, wTileAnimBuffer
ld sp, hl
ld h, d
@@ -877,7 +876,7 @@
WriteTileToBuffer: ; fc6a2
-; Write tiledata de to wcf41.
+; Write tiledata de to wTileAnimBuffer.
; de is loaded to sp for WriteTile.
ld hl, [sp+0]
@@ -888,7 +887,7 @@
ld l, e
ld sp, hl
- ld hl, wcf41
+ ld hl, wTileAnimBuffer
; fallthrough
@@ -997,7 +996,7 @@
cp %11100100
ret nz
; We only want to be here if we're in a dark cave.
- ld a, [wd847]
+ ld a, [wTimeOfDayPalset]
cp $ff ; 3,3,3,3
ret nz
--- /dev/null
+++ b/trainers/read_party.asm
@@ -1,0 +1,401 @@
+
+ReadTrainerParty: ; 39771
+ ld a, [InBattleTowerBattle]
+ bit 0, a
+ ret nz
+
+ ld a, [wLinkMode]
+ and a
+ ret nz
+
+ ld hl, OTPartyCount
+ xor a
+ ld [hli], a
+ dec a
+ ld [hl], a
+
+ ld hl, OTPartyMons
+ ld bc, OTPartyMonsEnd - OTPartyMons
+ xor a
+ call ByteFill
+
+ ld a, [OtherTrainerClass]
+ cp CAL
+ jr nz, .not_cal2
+ ld a, [OtherTrainerID]
+ cp CAL2
+ jr z, .cal2
+ ld a, [OtherTrainerClass]
+.not_cal2
+
+ dec a
+ ld c, a
+ ld b, 0
+ ld hl, TrainerGroups
+rept 2
+ add hl, bc
+endr
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+
+ ld a, [OtherTrainerID]
+ ld b, a
+.skip_trainer
+ dec b
+ jr z, .got_trainer
+.loop
+ ld a, [hli]
+ cp $ff
+ jr nz, .loop
+ jr .skip_trainer
+.got_trainer
+
+.skip_name
+ ld a, [hli]
+ cp "@"
+ jr nz, .skip_name
+
+ ld a, [hli]
+ ld c, a
+ ld b, 0
+ ld d, h
+ ld e, l
+ ld hl, TrainerTypes
+rept 2
+ add hl, bc
+endr
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld bc, .done
+ push bc
+ jp [hl]
+
+.done
+ jp ComputeTrainerReward
+
+.cal2
+ ld a, BANK(sMysteryGiftTrainer)
+ call GetSRAMBank
+ ld de, sMysteryGiftTrainer
+ call TrainerType2
+ call CloseSRAM
+ jr .done
+; 397e3
+
+TrainerTypes: ; 397e3
+ dw TrainerType1 ; level, species
+ dw TrainerType2 ; level, species, moves
+ dw TrainerType3 ; level, species, item
+ dw TrainerType4 ; level, species, item, moves
+; 397eb
+
+TrainerType1: ; 397eb
+; normal (level, species)
+ ld h, d
+ ld l, e
+.loop
+ ld a, [hli]
+ cp $ff
+ ret z
+
+ ld [CurPartyLevel], a
+ ld a, [hli]
+ ld [CurPartySpecies], a
+ ld a, OTPARTYMON
+ ld [MonType], a
+ push hl
+ predef TryAddMonToParty
+ pop hl
+ jr .loop
+; 39806
+
+TrainerType2: ; 39806
+; moves
+ ld h, d
+ ld l, e
+.loop
+ ld a, [hli]
+ cp $ff
+ ret z
+
+ ld [CurPartyLevel], a
+ ld a, [hli]
+ ld [CurPartySpecies], a
+ ld a, OTPARTYMON
+ ld [MonType], a
+
+ push hl
+ predef TryAddMonToParty
+ ld a, [OTPartyCount]
+ dec a
+ ld hl, OTPartyMon1Moves
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld d, h
+ ld e, l
+ pop hl
+
+ ld b, NUM_MOVES
+.copy_moves
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .copy_moves
+
+ push hl
+
+ ld a, [OTPartyCount]
+ dec a
+ ld hl, OTPartyMon1Species
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld hl, MON_PP
+ add hl, de
+ push hl
+ ld hl, MON_MOVES
+ add hl, de
+ pop de
+
+ ld b, NUM_MOVES
+.copy_pp
+ ld a, [hli]
+ and a
+ jr z, .copied_pp
+
+ push hl
+ push bc
+ dec a
+ ld hl, Moves + MOVE_PP
+ ld bc, MOVE_LENGTH
+ call AddNTimes
+ ld a, BANK(Moves)
+ call GetFarByte
+ pop bc
+ pop hl
+
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .copy_pp
+.copied_pp
+
+ pop hl
+ jr .loop
+; 39871
+
+TrainerType3: ; 39871
+; item
+ ld h, d
+ ld l, e
+.loop
+ ld a, [hli]
+ cp $ff
+ ret z
+
+ ld [CurPartyLevel], a
+ ld a, [hli]
+ ld [CurPartySpecies], a
+ ld a, OTPARTYMON
+ ld [MonType], a
+ push hl
+ predef TryAddMonToParty
+ ld a, [OTPartyCount]
+ dec a
+ ld hl, OTPartyMon1Item
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld d, h
+ ld e, l
+ pop hl
+ ld a, [hli]
+ ld [de], a
+ jr .loop
+; 3989d (e:589d)
+
+TrainerType4: ; 3989d
+; item + moves
+ ld h, d
+ ld l, e
+.loop
+ ld a, [hli]
+ cp $ff
+ ret z
+
+ ld [CurPartyLevel], a
+ ld a, [hli]
+ ld [CurPartySpecies], a
+
+ ld a, OTPARTYMON
+ ld [MonType], a
+
+ push hl
+ predef TryAddMonToParty
+ ld a, [OTPartyCount]
+ dec a
+ ld hl, OTPartyMon1Item
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld d, h
+ ld e, l
+ pop hl
+
+ ld a, [hli]
+ ld [de], a
+
+ push hl
+ ld a, [OTPartyCount]
+ dec a
+ ld hl, OTPartyMon1Moves
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld d, h
+ ld e, l
+ pop hl
+
+ ld b, NUM_MOVES
+.copy_moves
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .copy_moves
+
+ push hl
+
+ ld a, [OTPartyCount]
+ dec a
+ ld hl, OTPartyMon1
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld hl, MON_PP
+ add hl, de
+
+ push hl
+ ld hl, MON_MOVES
+ add hl, de
+ pop de
+
+ ld b, NUM_MOVES
+.copy_pp
+ ld a, [hli]
+ and a
+ jr z, .copied_pp
+
+ push hl
+ push bc
+ dec a
+ ld hl, Moves + MOVE_PP
+ ld bc, MOVE_LENGTH
+ call AddNTimes
+ ld a, BANK(Moves)
+ call GetFarByte
+ pop bc
+ pop hl
+
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .copy_pp
+.copied_pp
+
+ pop hl
+ jr .loop
+; 3991b
+
+ComputeTrainerReward: ; 3991b (e:591b)
+ ld hl, hProduct
+ xor a
+rept 3
+ ld [hli], a
+endr
+ ld a, [wEnemyTrainerBaseReward]
+ ld [hli], a
+ ld a, [CurPartyLevel]
+ ld [hl], a
+ call Multiply
+ ld hl, wBattleReward
+ xor a
+ ld [hli], a
+ ld a, [hProduct + 2]
+ ld [hli], a
+ ld a, [hProduct + 3]
+ ld [hl], a
+ ret
+
+
+Battle_GetTrainerName:: ; 39939
+ ld a, [InBattleTowerBattle]
+ bit 0, a
+ ld hl, wd26b
+ jp nz, CopyTrainerName
+
+ ld a, [OtherTrainerID]
+ ld b, a
+ ld a, [OtherTrainerClass]
+ ld c, a
+
+GetTrainerName:: ; 3994c
+ ld a, c
+ cp CAL
+ jr nz, .not_cal2
+
+ ld a, BANK(sMysteryGiftTrainerHouseFlag)
+ call GetSRAMBank
+ ld a, [sMysteryGiftTrainerHouseFlag]
+ and a
+ call CloseSRAM
+ jr z, .not_cal2
+
+ ld a, BANK(sMysteryGiftPartnerName)
+ call GetSRAMBank
+ ld hl, sMysteryGiftPartnerName
+ call CopyTrainerName
+ jp CloseSRAM
+
+.not_cal2
+ dec c
+ push bc
+ ld b, 0
+ ld hl, TrainerGroups
+rept 2
+ add hl, bc
+endr
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ pop bc
+
+.loop
+ dec b
+ jr z, CopyTrainerName
+
+.skip
+ ld a, [hli]
+ cp $ff
+ jr nz, .skip
+ jr .loop
+
+CopyTrainerName: ; 39984
+ ld de, StringBuffer1
+ push de
+ ld bc, NAME_LENGTH
+ call CopyBytes
+ pop de
+ ret
+; 39990
+
+Function39990: ; 39990
+; This function is useless.
+ ld de, StringBuffer1
+ push de
+ ld bc, NAME_LENGTH
+ pop de
+ ret
+; 39999
--- a/unknown/013a47.asm
+++ b/unknown/013a47.asm
@@ -87,7 +87,7 @@
add hl, bc
ld d, h
ld e, l
- ld hl, MON_EXP + 2
+ ld hl, MON_STAT_EXP - 1
add hl, bc
ld b, $1
predef CalcPkmnStats
--- a/wram.asm
+++ b/wram.asm
@@ -44,6 +44,39 @@
\1StatsEnd::
ENDM
+red_box_struct: MACRO
+\1Species:: db
+\1HP:: dw
+\1BoxLevel:: db
+\1Status:: db
+\1Type::
+\1Type1:: db
+\1Type2:: db
+\1CatchRate:: db
+\1Moves:: ds NUM_MOVES
+\1OTID:: dw
+\1Exp:: ds 3
+\1HPExp:: dw
+\1AttackExp:: dw
+\1DefenseExp:: dw
+\1SpeedExp:: dw
+\1SpecialExp:: dw
+\1DVs:: ds 2
+\1PP:: ds NUM_MOVES
+ENDM
+
+red_party_struct: MACRO
+ red_box_struct \1
+\1Level:: db
+\1Stats::
+\1MaxHP:: dw
+\1Attack:: dw
+\1Defense:: dw
+\1Speed:: dw
+\1Special:: dw
+ENDM
+
+
battle_struct: MACRO
\1Species:: db
\1Item:: db
@@ -87,8 +120,8 @@
; Addreses are Channel1 (c101).
\1MusicID:: dw
\1MusicBank:: db
-\1Flags:: db ; 0:on/off 1:subroutine 4:noise
-\1Flags2:: db ; 0:vibrato on/off 2:duty
+\1Flags:: db ; 0:on/off 1:subroutine 3:sfx 4:noise 5:rest
+\1Flags2:: db ; 0:vibrato on/off 2:duty 4:cry pitch
\1Flags3:: db ; 0:vibrato up/down
\1MusicAddress:: dw
\1LastMusicAddress:: dw
@@ -104,28 +137,30 @@
\1Octave:: db ; 7-0 (0 is highest)
\1StartingOctave:: db ; raises existing octaves (to repeat phrases)
\1NoteDuration:: db ; frames remaining for the current note
- ds 1 ; c117
+\1Field0x16:: ds 1 ; c117
ds 1 ; c118
\1LoopCount:: db
\1Tempo:: dw
\1Tracks:: db ; hi:left lo:right
- ds 1 ; c11d
+\1Field0x1c:: ds 1 ; c11d
\1VibratoDelayCount:: db ; initialized by \1VibratoDelay
\1VibratoDelay:: db ; number of frames a note plays until vibrato starts
\1VibratoExtent:: db
\1VibratoRate:: db ; hi:frames for each alt lo:frames to the next alt
- ds 1 ; c122
- ds 1 ; c123
- ds 1 ; c124
- ds 1 ; c125
- ds 1 ; c126
+\1Field0x21:: ds 1 ; c122
+\1Field0x22:: ds 1 ; c123
+\1Field0x23:: ds 1 ; c124
+\1Field0x24:: ds 1 ; c125
+\1Field0x25:: ds 1 ; c126
ds 1 ; c127
\1CryPitch:: dw
- ds 4
+\1Field0x29:: ds 1
+\1Field0x2a:: ds 2
+\1Field0x2c:: ds 1
\1NoteLength:: db ; frames per 16th note
- ds 1 ; c12f
- ds 1 ; c130
- ds 1 ; c131
+\1Field0x2e:: ds 1 ; c12f
+\1Field0x2f:: ds 1 ; c130
+\1Field0x30:: ds 1 ; c131
ds 1 ; c132
ENDM
@@ -156,7 +191,27 @@
\1End::
endm
+hof_mon: MACRO
+\1Species:: ds 1
+\1ID:: ds 2
+\1DVs:: ds 2
+\1Level:: ds 1
+\1Nickname:: ds PKMN_NAME_LENGTH +- 1
+\1End::
+endm
+hall_of_fame: MACRO
+\1::
+\1WinCount:: ds 1
+\1Mon1:: hof_mon \1Mon1
+\1Mon2:: hof_mon \1Mon2
+\1Mon3:: hof_mon \1Mon3
+\1Mon4:: hof_mon \1Mon4
+\1Mon5:: hof_mon \1Mon5
+\1Mon6:: hof_mon \1Mon6
+\1End:: ds 1
+ENDM
+
INCLUDE "vram.asm"
SECTION "Stack", WRAM0
@@ -187,12 +242,11 @@
Channel8:: channel_struct Channel8 ; c25f
ds 1 ; c291
-wc292:: ds 1
-wc293:: ds 1
-wc294:: ds 1
-wc295:: ds 1
-wc296:: ds 1
-wc297:: ds 1
+wCurTrackDuty:: ds 1
+wCurTrackIntensity:: ds 1
+wCurTrackFrequency:: dw
+wc296:: ds 1 ; used only in an unused script
+wc297:: ds 1 ; used in MusicE0 and LoadNote
CurMusicByte:: ; c298
ds 1
@@ -232,7 +286,7 @@
ds 1
NoiseSampleAddressHi:: ; c2a1
ds 1
-wc2a2:: ; noise delay? ; c2a2
+wNoiseSampleDelay:: ; noise delay? ; c2a2
ds 1
; c2a3
ds 1
@@ -272,24 +326,24 @@
; if nonzero, turn off music when playing sfx
ds 1
ds 1
-wc2b8:: ds 1
-wc2b9:: ds 1
-wc2ba:: ds 1
-wc2bb:: ds 1
-wc2bc:: ds 1
+Channel1JumpCondition:: ds 1
+Channel2JumpCondition:: ds 1
+Channel3JumpCondition:: ds 1
+Channel4JumpCondition:: ds 1
+wStereoPanningMask:: ds 1
CryTracks:: ; c2bd
; plays only in left or right track depending on what side the monster is on
; both tracks active outside of battle
ds 1
-wc2be:: ds 1
+wSFXDuration:: ds 1
CurSFX:: ; c2bf
; id of sfx currently playing
ds 1
-wc2c0::
+
wMapMusic:: ; c2c0
ds 1
-wc2c1:: ds 1
+wDontPlayMapMusicOnReload:: ds 1
SECTION "WRAM", WRAM0
@@ -299,7 +353,7 @@
ds 1
-wc2c6:: ds 1
+wBoxAlignment:: ds 1
InputType:: ; c2c7
ds 1
AutoInputAddress:: ; c2c8
@@ -309,14 +363,15 @@
AutoInputLength:: ; c2cb
ds 1
-wc2cc:: ds 1
+wMonStatusFlags:: ds 1
wc2cd:: ds 1
wSpriteUpdatesEnabled:: ds 1
wc2cf:: ds 1
-wc2d0:: ds 4
+wMapTimeOfDay:: ds 1
+ ds 3
wc2d4:: ds 1
wc2d5:: ds 1
-wc2d6:: ds 1
+wLastDexEntry:: ds 1
wc2d7:: ds 1
wPreviousLandmark:: ds 1
wCurrentLandmark:: ds 1
@@ -330,14 +385,14 @@
ScriptVar:: ; c2dd
ds 1
-wc2de:: ds 1
-wc2df:: ds 1
+wPlayerNextMovement:: ds 1
+wPlayerMovement:: ds 1
ds 2
+wc2e2::
wMovementPerson:: ds 1
wMovementDataPointer:: ds 3 ; dba
wc2e6:: ds 4
-wc2ea:: ds 1
-wc2eb::
+wMovementByteWasControlSwitch:: ds 1
wMovementPointer:: ds 2 ; c2eb
ds 3
@@ -373,8 +428,10 @@
ds 1
-SECTION "c300", WRAM0 [$c300]
+SECTION "wSpriteAnims", WRAM0 [$c300]
; wc300 - wc313 is a 10x2 dictionary.
+; keys: taken from third column of SpriteAnimSeqData
+; values: VTiles
wSpriteAnimDict:: ds 10 * 2
ds wSpriteAnimDict - @
wc300:: ds 1
@@ -399,17 +456,17 @@
wSpriteAnimationStructs::
sprite_anim_struct: MACRO
-\1Index:: ds 1 ; 0
-\1Sprite01:: ds 1 ; 1
-\1AnimSeqID:: ds 1 ; 2
-\1TileID:: ds 1 ; 3
-\1XCoord:: ds 1 ; 4
-\1YCoord:: ds 1 ; 5
-\1XOffset:: ds 1 ; 6
-\1YOffset:: ds 1 ; 7
-\1FrameTimer:: ds 1 ; 8
-\1Sprite09:: ds 1 ; 9
-\1FrameIndex:: ds 1 ; a
+\1Index:: ds 1 ; 0
+\1FramesetID:: ds 1 ; 1
+\1AnimSeqID:: ds 1 ; 2
+\1TileID:: ds 1 ; 3
+\1XCoord:: ds 1 ; 4
+\1YCoord:: ds 1 ; 5
+\1XOffset:: ds 1 ; 6
+\1YOffset:: ds 1 ; 7
+\1Duration:: ds 1 ; 8
+\1DurationOffset:: ds 1 ; 9
+\1FrameIndex:: ds 1 ; a
\1Sprite0b:: ds 1
\1Sprite0c:: ds 1
\1Sprite0d:: ds 1
@@ -418,7 +475,7 @@
ENDM
; Field 0: Index
-; Fields 1-3: Loaded from Unknown_8d1c4
+; Fields 1-3: Loaded from SpriteAnimSeqData
wc314::
SpriteAnim1:: sprite_anim_struct SpriteAnim1
wc324::
@@ -442,23 +499,25 @@
wSpriteAnimationStructsEnd::
ds -8
wc3ac:: ds 8 ; c3ac
-wSpriteAnimCount::
-wc3b4:: ds 1
-wc3b5:: ds 1
+wSpriteAnimCount:: ds 1
+wCurrSpriteOAMAddr:: ds 1
CurIcon:: ; c3b6
ds 1
-wc3b7:: ds 1
-wc3b8:: dw
-wc3ba:: ds 1
-wc3bb:: ds 1
-wc3bc:: ds 1
-wc3bd:: ds 1
-wc3be:: ds 1
-wc3bf:: ds 1
-wc3c0:: ds 1
+wCurIconTile:: ds 1
+wSpriteAnimAddrBackup::
+wSpriteAnimIDBuffer::
+wCurrSpriteAddSubFlags::
+ ds 2
+wCurrAnimVTile:: ds 1
+wCurrAnimXCoord:: ds 1
+wCurrAnimYCoord:: ds 1
+wCurrAnimXOffset:: ds 1
+wCurrAnimYOffset:: ds 1
+wGlobalAnimYOffset:: ds 1
+wGlobalAnimXOffset:: ds 1
wSpriteAnimsEnd::
wc3c1:: ds 11
@@ -512,15 +571,18 @@
SECTION "Battle", WRAM0
- party_struct OddEgg
+wOddEgg:: party_struct OddEgg
wOddEggName:: ds PKMN_NAME_LENGTH
wOddEggOTName:: ds PKMN_NAME_LENGTH
- ds -70
+ ds wOddEgg - @
wBT_OTTemp:: battle_tower_struct wBT_OTTemp
ds wBT_OTTemp - @
-wMisc::
+ hall_of_fame wHallOfFameTemp
+ ds wHallOfFameTemp - @
+
+wMisc:: ; ds (SCREEN_WIDTH + 4) * (SCREEN_HEIGHT + 2)
wBattle::
wc608::
@@ -528,30 +590,29 @@
wc60f::
wPlayerMoveStruct:: ds MOVE_LENGTH ; c60f
wc616::
+ ds -4
+wc612:: ds 4
EnemyMonNick:: ds PKMN_NAME_LENGTH ; c616
ds -5
wInitHourBuffer:: ds 5
BattleMonNick:: ds PKMN_NAME_LENGTH ; c621
+ ds -6
+wc626:: ds 6
BattleMon:: battle_struct BattleMon ; c62c
-wc64c::
- ds 1
+ ds 2
-wc64d:: ds 1
-wWildMon::
-wc64e:: ds 1
+wWildMon:: ds 1
ds 1
wEnemyTrainerItem1:: ds 1
wEnemyTrainerItem2:: ds 1
wEnemyTrainerBaseReward:: ds 1
wEnemyTrainerAIFlags:: ds 3
-wc656::
OTName:: ds NAME_LENGTH ; c656
ds 2
-wc663::
CurOTMon:: ; c663
ds 1
@@ -571,7 +632,9 @@
ds 1
CriticalHit:: ; c666
-; nonzero for a critical hit
+; 0 if not critical
+; 1 for a critical hit
+; 2 for a OHKO
ds 1
AttackMissed:: ; c667
@@ -692,6 +755,7 @@
ds 2
wBattleReward:: ds 3
+wBattleAnimParam::
wKickCounter::
wPresentPower:: ds 1
wc68a::
@@ -723,8 +787,8 @@
ds 1
trademon: MACRO
-\1Species:: ds 1 ; wc6d0 | wc702
-\1SpeciesName:: ds PKMN_NAME_LENGTH ; wc6d1 | wc703
+\1Species:: ds 1 ; wc6d0 | wDummyGameNumberTriesRemaining
+\1SpeciesName:: ds PKMN_NAME_LENGTH ; wc6d1 | wDummyGameLastMatches
\1Nickname:: ds PKMN_NAME_LENGTH ; wc6dc | wc70e
\1SenderName:: ds NAME_LENGTH ; wc6e7 | wc719
\1OTName:: ds NAME_LENGTH ; wc6f2 | wc724
@@ -733,14 +797,92 @@
\1CaughtData:: ds 1 ; wc701 | wc733
\1End::
ENDM
-
+wTrademons::
wPlayerTrademon:: trademon wPlayerTrademon
wOTTrademon:: trademon wOTTrademon
+wTrademonsEnd::
+ ds wTrademons - @
- ds wPlayerTrademon - @
+; Slot Machine
+wSlots::
+slot_reel: MACRO
+\1ReelAction:: db
+\1TilemapAddr:: dw
+\1Position:: db
+\1SpinDistance:: db
+\1SpinRate:: db
+\1OAMAddr:: dw
+\1XCoord:: db
+\1Slot09:: ds 1
+\1Slot0a:: ds 1
+\1Slot0b:: ds 1
+\1Slot0c:: ds 1
+\1Slot0d:: ds 1
+\1Slot0e:: ds 1
+\1Slot0f:: ds 1
+endm
+; c6d0
+wReel1:: slot_reel wReel1
+wReel2:: slot_reel wReel2
+wReel3:: slot_reel wReel3
+; c700
+wReel1Stopped:: ds 3
+wReel2Stopped:: ds 3
+wReel3Stopped:: ds 3
+wSlotBias:: ds 1
+wSlotBet:: ds 1
+wFirstTwoReelsMatching:: ds 1
+wFirstTwoReelsMatchingSevens:: ds 1
+wSlotMatched:: ds 1
+wCurrReelStopped:: ds 3
+wPayout:: ds 2
+wCurrReelXCoord:: ds 1
+wCurrReelYCoord:: ds 1
+ ds 2
+wSlotBuildingMatch:: ds 1
+wSlotsDataEnd::
+ ds 28
+wSlotsEnd::
+ ds wSlots - @
+; Card Flip
+; c6d0
+wCardFlip::
+wDeck:: ds 24
+wDeckEnd::
+; c6e8
+wCardFlipNumCardsPlayed:: ds 1
+wCardFlipFaceUpCard:: ds 1
+wDiscardPile:: ds 24
+wDiscardPileEnd::
+wCardFlipEnd::
+ ds wCardFlip - @
+
+; Dummy Game
+; c6d0
+wDummyGame::
+wDummyGameCards:: ds 9 * 5
+wDummyGameCardsEnd::
+wDummyGameLastCardPicked:: ds 1 ; c6fd
+wDummyGameCard1:: ds 1 ; c6fe
+wDummyGameCard2:: ds 1 ; c6ff
+wDummyGameCard1Location:: ds 1 ; c700
+wDummyGameCard2Location:: ds 1 ; c701
+wDummyGameNumberTriesRemaining:: ds 1 ; c702
+wDummyGameLastMatches:: ds 5 ; c703
+wDummyGameCounter:: ds 1 ; c708
+wDummyGameNumCardsMatched:: ds 1 ; c709
+wDummyGameEnd::
+ ds wDummyGame - @
+; Unown Puzzle
+wUnownPuzzle::
+wPuzzlePieces::
+ ds 6 * 6
+wUnownPuzzleEnd::
+ ds wUnownPuzzle - @
+
+; Battle RAM
wc6d0::
-wPokedexDataStart::
PlayerSDefLevel:: ; c6d0
ds 1
wc6d1::
@@ -905,8 +1047,9 @@
wc70e::
FailedMessage:: ; c70e
ds 1
-
-wEnemyGoesFirst:: ds 1
+wc70f::
+wEnemyGoesFirst::
+ ds 1
wc710::
wPlayerIsSwitching:: ds 1 ; c710
wc711::
@@ -921,7 +1064,9 @@
wc716:: ds 1
wEnemySwitchMonParam::
wc717:: ds 1
+wc718::
wEnemySwitchMonIndex:: ds 1
+wTempLevel::
wc719:: ds 1
LastPlayerMon:: ; c71a
wc71a:: ds 1
@@ -935,8 +1080,8 @@
wc71f:: ds 1
wc720:: ds 4 ; copy from/to EnemyMonBaseStats, length=7
wc724:: ds 3
-wc727:: ds 2
-wc729:: ds 2
+wPlayerFutureSightDamage:: ds 2
+wEnemyFutureSightDamage:: ds 2
wPlayerRageCounter:: ds 1
wEnemyRageCounter:: ds 1
wc72d:: ds 1 ; if 0 then PrintButItFailed
@@ -963,8 +1108,7 @@
wLinkPlayer2Name:: ds NAME_LENGTH
ds wLinkPlayer1Name - @
wc736:: ds 3
-wWildMonPP::
-wc739:: ds 4
+wWildMonPP:: ds NUM_MOVES
wAmuletCoin:: ds 1
wc73e:: ds 1
wPlayerJustGotFrozen:: ds 1
@@ -979,12 +1123,22 @@
wc74e:: ds 107
wc7b9:: ds 1
wc7ba:: ds 1
-wc7bb:: ds 15
-wc7ca:: ds 6
-wc7d0:: ds 1
-wc7d1:: ds 1
-wc7d2:: ds 1
-wc7d3:: ds 1
+wc7bb:: ds 2
+wc7bd::
+ ds wc6d0 - @
+
+wPokedexDataStart::
+wPokedexOrder:: ds NUM_POKEMON +- 1
+wPokedexOrderEnd:: ds 6
+wPokedexMetadata::
+wDexListingPage::
+wc7d0:: ds 1 ; Dex list page
+wDexListingCursor::
+wc7d1:: ds 1 ; Dex cursor
+wDexListingEnd::
+wc7d2:: ds 1 ; Last mon to display
+wc7d3:: ds 1 ; Number of mons visible per dex list page
+wCurrentDexMode:: ; Pokedex Mode
wc7d4:: ds 1 ; Index of the topmost visible item in a scrolling menu
wc7d5:: ds 1 ; Which row the cursor is at in a scrolling menu (0-6)
wc7d6:: ds 1
@@ -992,15 +1146,18 @@
wc7d8:: ds 1
wc7d9:: ds 1
wc7da:: ds 1
-wc7db:: ds 1
-wc7dc:: ds 1
+wDexSearchSlowpokeFrame:: ds 1
+wUnlockedUnownMode:: ds 1
wc7dd:: ds 1
wc7de:: ds 1
wc7df:: ds 1
wc7e0:: ds 1
wc7e1:: ds 1
+wBackupDexListingCursor::
wc7e2:: ds 1
+wBackupDexListingPage::
wc7e3:: ds 1
+wDexCurrentLocation::
wc7e4:: ds 1
IF DEF(CRYSTAL11)
wPokedexStatus::
@@ -1024,13 +1181,57 @@
OverworldMapEnd::
ds OverworldMap - @
+wBillsPCPokemonList::
+; Pokemon, box number, list index
+
+wMysteryGiftPartyTemp:: ; ds PARTY_LENGTH * (1 + 1 + NUM_MOVES)
+wMysteryGiftStaging::
+
+wLinkData:: ; ds $514
+wLinkPlayerName:: ds NAME_LENGTH
+wLinkPartyCount:: ds 1
+wLinkPartySpecies:: ds PARTY_LENGTH
+wLinkPartySpeciesEnd:: ds 1
+
+wTimeCapsulePlayerData::
+wTimeCapsulePartyMon1:: red_party_struct wTimeCapsulePartyMon1
+wTimeCapsulePartyMon2:: red_party_struct wTimeCapsulePartyMon2
+wTimeCapsulePartyMon3:: red_party_struct wTimeCapsulePartyMon3
+wTimeCapsulePartyMon4:: red_party_struct wTimeCapsulePartyMon4
+wTimeCapsulePartyMon5:: red_party_struct wTimeCapsulePartyMon5
+wTimeCapsulePartyMon6:: red_party_struct wTimeCapsulePartyMon6
+wTimeCapsulePartyMonOTNames:: ds PARTY_LENGTH * NAME_LENGTH
+wTimeCapsulePartyMonNicks:: ds PARTY_LENGTH * PKMN_NAME_LENGTH
+wTimeCapsulePlayerDataEnd::
+ ds wTimeCapsulePlayerData - @
+
+wLinkPlayerData::
+wLinkPlayerPartyMon1:: party_struct wLinkPlayerPartyMon1
+wLinkPlayerPartyMon2:: party_struct wLinkPlayerPartyMon2
+wLinkPlayerPartyMon3:: party_struct wLinkPlayerPartyMon3
+wLinkPlayerPartyMon4:: party_struct wLinkPlayerPartyMon4
+wLinkPlayerPartyMon5:: party_struct wLinkPlayerPartyMon5
+wLinkPlayerPartyMon6:: party_struct wLinkPlayerPartyMon6
+wLinkPlayerPartyMonOTNames:: ds PARTY_LENGTH * NAME_LENGTH
+wLinkPlayerPartyMonNicks:: ds PARTY_LENGTH * PKMN_NAME_LENGTH
+wLinkPlayerDataEnd::
+ ds $35d
+
+wLinkDataEnd::
+ ds wLinkData - @
+
wc800:: ds 1
wc801:: ds 1
wc802:: ds 1
wc803:: ds 4
-wc807:: ds 9
-wc810:: ds 3
-wc813:: ds 5
+wc807:: ds 7
+wc80e:: ds 1
+wc80f:: ds 1
+wc810:: ds 1
+wc811:: ds 1
+wc812:: ds 1
+wc813:: ds 1
+wc814:: ds 4
wc818:: ds 8
wc820:: ds 1
wc821:: ds 15
@@ -1037,6 +1238,7 @@
wc830:: ds 16
wc840:: ds 16
wMysteryGiftTrainerData:: ds (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 2
+wMysteryGiftTrainerDataEnd::
ds wMysteryGiftTrainerData - @
wc850:: ds 16
wc860:: ds 16
@@ -1049,20 +1251,34 @@
wc8d0:: ds 16
wc8e0:: ds 16
wc8f0:: ds 16
+
+wMysteryGiftPartnerData::
wc900:: ds 1
wMysteryGiftPartnerID:: ds 2
wMysteryGiftPartnerName:: ds NAME_LENGTH
-wc90e:: ds 1
-wc90f:: ds 1
-wc910:: ds 1
-wc911:: ds 1
-wc912:: ds 14
+wMysteryGiftPartnerDexCaught:: ds 1
+wc90f::
+wMysteryGiftPartnerSentDeco:: ds 1
+wMysteryGiftPartnerWhichItem:: ds 1
+wMysteryGiftPartnerWhichDeco:: ds 1
+wMysteryGiftPartnerBackupItem:: ds 2
+wMysteryGiftPartnerDataEnd::
+ ds 12
wc920:: ds 16
wc930:: ds 16
wc940:: ds 16
-wc950:: ds 16
-wc960:: ds 2
-wc962:: ds 14
+wMysteryGiftPlayerData::
+wc950:: ds 1
+wMysteryGiftPlayerID:: ds 2
+wMysteryGiftPlayerName:: ds NAME_LENGTH
+wMysteryGiftPlayerDexCaught:: ds 1
+wMysteryGiftPlayerSentDeco:: ds 1
+wMysteryGiftPlayerWhichItem:: ds 1
+wMysteryGiftPlayerWhichDeco:: ds 1
+wMysteryGiftPlayerBackupItem:: ds 2
+wMysteryGiftPlayerDataEnd::
+
+wc964:: ds 12
wc970:: ds 16
wc980:: ds 16
wc990:: ds 16
@@ -1074,6 +1290,8 @@
wc9f0:: ds 4
wc9f4:: ds 5
wc9f9:: ds 7
+
+wCreditsFaux2bpp::
wca00:: ds 1
wca01:: ds 1
wca02:: ds 14
@@ -1126,23 +1344,25 @@
wcb0e:: ds 5
wcb13:: ds 9
wcb1c:: ds 14
-wcb2a:: ds 1
-wcb2b:: ds 1
-wcb2c:: ds 1
-wcb2d:: ds 1
-wcb2e:: ds 1
-wcb2f:: ds 1
-wcb30:: ds 1
-wcb31:: ds 1
-wcb32:: ds 19
+wBillsPC_ScrollPosition:: ds 1
+wBillsPC_CursorPosition:: ds 1
+wBillsPC_NumMonsInBox:: ds 1
+wBillsPC_NumMonsOnScreen:: ds 1
+wBillsPC_LoadedBox:: ds 1 ; 0 if party, 1 - 14 if box, 15 if active box
+wBillsPC_BackupScrollPosition:: ds 1
+wBillsPC_BackupCursorPosition:: ds 1
+wBillsPC_BackupLoadedBox:: ds 1
+wBillsPC_MonHasMail:: ds 1
+ ds 18
wcb45:: ds 20
wcb59:: ds 20
wcb6d:: ds 1
wcb6e:: ds 22
wcb84:: ds 100
-wcbe8:: ds 1
-wcbe9:: ds 1
-wcbea:: ds 14
+wcbe8:: dw
+wLinkOTPartyMonTypes::
+ ds 2 * PARTY_LENGTH
+ ds 2
wcbf8:: ds 2
wcbfa:: ds 1
@@ -1162,7 +1382,14 @@
SECTION "Video", WRAM0
CreditsPos::
-BGMapBuffer:: ; cd20
+BGMapBuffer::
+wMobileMonSpeciesPointerBuffer:: dw
+wMobileMonStructurePointerBuffer:: dw
+wMobileMonOTNamePointerBuffer:: dw
+wMobileMonNicknamePointerBuffer:: dw
+wMobileMonMailPointerBuffer:: dw
+ ds CreditsPos - @
+
wcd20:: ds 1
wcd21:: ds 1
wcd22::
@@ -1176,7 +1403,9 @@
wcd27:: ds 1
wcd28:: ds 1
wcd29:: ds 1
+wMobileMonSpeciesBuffer::
wcd2a:: ds 1
+wTempOddEggNickname::
wcd2b:: ds 1
wcd2c:: ds 1
wcd2d:: ds 1
@@ -1209,6 +1438,7 @@
BGMapPalBuffer:: ; cd48
ds 1 ; 40
+wBTTempOTSprite::
wcd49:: ds 1
wcd4a:: ds 1
wcd4b:: ds 1
@@ -1282,9 +1512,9 @@
EnemyHPPal:: ; cd9a
ds 1
-wcd9b:: ds 6
+wHPPals:: ds PARTY_LENGTH
wcda1:: ds 8
-wcda9:: ds 48
+wSGBPals:: ds 48 ; cda9
AttrMap:: ; cdd9
; 20x18 grid of palettes for 8x8 tiles
@@ -1293,11 +1523,13 @@
; bit 0-2: palette id
ds SCREEN_WIDTH * SCREEN_HEIGHT
AttrMapEnd::
-
-wcf41:: ds 1
+ ds 1
wcf42:: ds 2
wcf44:: ds 1
-wcf45:: ds 12
+wcf45::
+ ds AttrMapEnd - @
+wTileAnimBuffer::
+ ds $10
; addresses dealing with serial comms
wOtherPlayerLinkMode:: ds 1
wOtherPlayerLinkAction:: ds 4
@@ -1317,20 +1549,32 @@
wNamedObjectTypeBuffer:: ds 1
ds 1
wJumptableIndex::
+wBattleTowerBattleEnded::
wcf63:: ds 1
wNrOfBeatenBattleTowerTrainers::
wMomBankDigitCursorPosition::
wIntroSceneFrameCounter::
+wHoldingUnownPuzzlePiece::
+wCardFlipCursorY::
+wCreditsBorderFrame::
wcf64:: ds 1
IF !DEF(CRYSTAL11)
wPokedexStatus::
ENDC
+wCreditsBorderMon::
wTitleScreenTimerLo::
+wUnownPuzzleCursorPosition::
+wCardFlipCursorX::
+wCurrPocket::
wcf65:: ds 1
+wCreditsLYOverride::
wTitleScreenTimerHi::
+wUnownPuzzleHeldPiece::
+wCardFlipWhichCard::
wcf66:: ds 1
Requested2bpp:: ; cf67
+Requested2bppSize::
ds 1
Requested2bppSource:: ; cf68
ds 2
@@ -1338,6 +1582,7 @@
ds 2
Requested1bpp:: ; cf6c
+Requested1bppSize::
ds 1
Requested1bppSource:: ; cf6d
ds 2
@@ -1344,18 +1589,14 @@
Requested1bppDest:: ; cf6f
ds 2
-; something to do with menu
-wcf71:: ds 1
-wcf72:: ds 1
-wcf73:: ds 1
-MenuSelection:: ; cf74
- ds 1
+wWindowStackPointer:: dw ; cf71
+wMenuJoypad:: ds 1 ; cf73
+MenuSelection:: ds 1 ; cf74
+MenuSelectionQuantity:: ds 1 ; cf75
+wWhichIndexSet:: ds 1
+wScrollingMenuCursorPosition:: ds 1
+wWindowStackSize:: ds 9
-wcf75:: ds 1
-wcf76:: ds 1
-wcf77:: ds 1
-wcf78:: ds 9
-
; menu data header
wMenuDataHeader:: ; cf81
wMenuFlags:: ds 1
@@ -1373,40 +1614,61 @@
wMenuData2::
wMenuData2Flags:: ds 1 ; cf91
; bit 7: When set, start printing text one tile to the right of the border
+; In scrolling menus, SELECT is functional
; bit 6: When set, start printing text one tile below the border
+; In scrolling menus, START is functional
; bit 5: ????
; bit 4: ????
; bit 3: ????
; bit 2: ????
-; bit 1: ????
-; bit 0: ????
+; bit 1: Enable Select button
+; bit 0: Disable B button
-wMenuData2Items:: ds 1
-wcf93:: ds 1
-wcf94:: ds 1
-wcf95:: ds 1 ; bank
-wcf96:: ds 1 ; addr lo
-wcf97:: ds 1 ; addr hi
-wcf98:: ds 3
-wcf9b:: ds 3
-wcf9e:: ds 3
+wMenuData2_ScrollingMenuHeight::
+wMenuData2Items::
+ ds 1 ; cf92
+wMenuData2IndicesPointer::
+wMenuData2Spacing::
+wMenuData2_ScrollingMenuWidth::
+ ds 1 ; cf93
+wMenuData2_2DMenuItemStringsBank::
+wMenuData2_ScrollingMenuSpacing::
+ ds 1 ; cf94
+wMenuData2_2DMenuItemStringsAddr::
+wMenuData2DisplayFunctionPointer::
+wMenuData2_ItemsPointerBank::
+ ds 1 ; cf95
+wMenuData2_ItemsPointerAddr::
+ ds 1 ; cf96
+wMenuData2PointerTableAddr::
+wMenuData2_2DMenuFunctionBank::
+ ds 1 ; cf97
+wMenuData2_2DMenuFunctionAddr::
+wMenuData2_ScrollingMenuFunction1::
+ ds 3 ; cf98
+wMenuData2_ScrollingMenuFunction2::
+ ds 3 ; cf9b
+wMenuData2_ScrollingMenuFunction3::
+ ds 3 ; cf9e
wMenuData2End::
+
wMenuData3::
-wcfa1:: ds 1
-wcfa2:: ds 1
-wcfa3:: ds 1
-wcfa4:: ds 1
-wcfa5:: ds 1 ; dynamic menu flags?
-wcfa6:: ds 1 ; dynamic menu flags?
-wcfa7:: ds 1
-wcfa8:: ds 1
+w2DMenuCursorInitY:: ds 1 ; cfa1
+w2DMenuCursorInitX:: ds 1 ; cfa2
+w2DMenuNumRows:: ds 1 ; cfa3
+w2DMenuNumCols:: ds 1 ; cfa4
+w2DMenuFlags1:: ds 1 ; cfa5
+w2DMenuFlags2:: ds 1 ; cfa6
+w2DMenuCursorOffsets:: ds 1 ; cfa7
+wMenuJoypadFilter:: ds 1 ; cfa8
wMenuData3End::
-MenuSelection2:: ds 1
-wcfaa:: ds 1
-wcfab:: ds 1
-wcfac:: ds 1
-wcfad:: ds 4
+wMenuCursorY:: ds 1 ; cfa9
+wMenuCursorX:: ds 1 ; cfaa
+wCursorOffCharacter:: ds 1 ; cfab
+wCursorCurrentTile:: ds 2 ; cfac
+ ds 3
+
OverworldDelay:: ; cfb1
ds 1
TextDelayFrames:: ; cfb2
@@ -1430,7 +1692,9 @@
ds 1
-wcfbe:: ds 2
+wcfbe::
+; SGB flags?
+ ds 2
InBattleTowerBattle:: ; cfc0
; 0 not in BattleTower-Battle
@@ -1444,18 +1708,20 @@
ds 1
FXAnimIDHi:: ; cfc3
ds 1
-
-wcfc4:: ds 1
-wcfc5:: ds 1
-
+wPlaceBallsX:: ; cfc4
+ ds 1
+wPlaceBallsY:: ; cfc5
+ ds 1
TileAnimationTimer:: ; cfc6
ds 1
-wcfc7:: ds 1
-wcfc8:: ds 1
-wcfc9:: ds 1
-wcfca:: ds 2
+; palette backups?
+wBGP:: ds 1
+wOBP0:: ds 1
+wOBP1:: ds 1
+wNumHits:: ds 2
+
Options:: ; cfcc
; bit 0-2: number of frames to delay when printing text
; fast 1; mid 3; slow 5
@@ -1471,7 +1737,7 @@
TextBoxFrame:: ; cfce
; bits 0-2: textbox frame 0-7
ds 1
-
+TextBoxFlags::
ds 1
GBPrinter:: ; cfd0
@@ -1498,7 +1764,7 @@
wHoursSince:: ds 1
wDaysSince:: ds 1
- ds 40
+wRAM0End:: ; cfc0
SECTION "WRAM 1", WRAMX, BANK [1]
@@ -1507,6 +1773,7 @@
DefaultSpawnpoint::
wd001:: ds 1
+; d002
wTempMail:: mailmsg wTempMail
ds wTempMail - @
@@ -1522,13 +1789,37 @@
wSeerCaughtGender:: ds 1
ds wSeerAction - @
+wBufferMonNick:: ds PKMN_NAME_LENGTH
+wBufferMonOT:: ds NAME_LENGTH
+wBufferMon:: party_struct wBufferMon
+ ds 8
+wMonOrItemNameBuffer::
+ ds wBufferMonNick - @
+
+bugcontestwinner: macro
+\1PersonID:: ds 1
+\1Mon:: ds 1
+\1Score:: ds 2
+endm
+wBugContestResults::
+ bugcontestwinner wBugContestFirstPlace
+ bugcontestwinner wBugContestSecondPlace
+ bugcontestwinner wBugContestThirdPlace
+wBugContestWinnersEnd::
+ bugcontestwinner wBugContestTemp
+ ds 4
+wBugContestWinnerName:: ds NAME_LENGTH
+
+ ds wBugContestResults - @
+
wd002::
+wTempDayOfWeek::
+wApricorns::
PhoneScriptBank::
LuckyNumberDigit1Buffer::
wCurrentRadioLine::
wMovementBufferCount::
wMartItem1BCD::
-wBugContestFirstPlacePersonID::
ds 1
wd003::
LuckyNumberDigit2Buffer::
@@ -1535,13 +1826,13 @@
PhoneCallerLo::
wNextRadioLine::
wMovementBufferPerson::
-wBugContestFirstPlaceMon::
+wPlaceBallsDirection::
ds 1
wd004::
LuckyNumberDigit3Buffer::
PhoneCallerHi::
wRadioTextDelay::
-wBugContestFirstPlaceScore::
+wTrainerHUDTiles::
ds 1
wd005::
LuckyNumberDigit4Buffer::
@@ -1554,20 +1845,15 @@
LuckyNumberDigit5Buffer::
EndFlypoint:: ; d006
wOaksPkmnTalkSegmentCounter::
-wBugContestSecondPlacePersonID::
ds 1
wd007::
MovementBuffer:: ; d007
-wBugContestSecondPlaceMon::
ds 1
wMartItem3BCD::
-wBugContestSecondPlaceScore::
wd008:: ds 2
-wBugContestThirdPlacePersonID::
wd00a:: ds 1
-wBugContestThirdPlaceMon::
wMartItem4BCD::
wd00b:: ds 1
@@ -1576,15 +1862,11 @@
ds wRadioText - @
wMobileParticipant2Nickname::
-wBugContestThirdPlaceScore::
wd00c:: ds 1
wd00d:: ds 1
wMartItem5BCD::
-wBugContestTempPersonID::
wd00e:: ds 1
-wBugContestTempMon::
wd00f:: ds 1
-wBugContestTempScore::
wd010:: ds 1
wMartItem6BCD::
wd011:: ds 1
@@ -1593,16 +1875,10 @@
wd013:: ds 1
wMartItem7BCD::
wd014:: ds 2
-wBugContestWinnerName::
wd016:: ds 1
wMartItem8BCD::
wd017:: ds 1
- ds wd00d - @
-wd00d_MonOT:: ds NAME_LENGTH
-wd018_Mon:: party_struct wd018_Mon
- ds wd018_Mon - @
-
wd018:: ds 1
wd019:: ds 1
wMartItem9BCD::
@@ -1610,10 +1886,7 @@
wMartItem10BCD:: ds 2
wd01f:: ds 1
wMartItemBCDEnd::
-wd020:: ds 3
-wd023:: ds 5
-wd028:: ds 2
-wd02a:: ds 3
+ ds 13
wd02d:: ds 1
wd02e:: ds 1
wd02f:: ds 1
@@ -1629,6 +1902,7 @@
MenuItemsList::
CurFruitTree::
CurInput::
+wElevatorPointerBank::
EngineBuffer1:: ; d03e
ds 1
@@ -1636,15 +1910,18 @@
wJumpStdScriptBuffer::
CurFruit:: ; d03f
MartPointerBank::
+wElevatorPointerLo::
EngineBuffer2::
ds 1
wd040::
+wElevatorPointerHi::
MartPointer:: ; d040
EngineBuffer3::
ds 1
wd041::
+wElevatorOriginFloor::
EngineBuffer4::
wTempTrainerHeader::
wTempTrainerEventFlagLo::
@@ -1675,20 +1952,14 @@
wWinTextPointer::
ds 1
-wd048:: ds 1
+wPhoneScriptPointer:: ds 1
wLossTextPointer:: ds 2
-wScriptAfterPointer::
-wd04b:: ds 2
+wScriptAfterPointer:: ds 2
wRunningTrainerBattleScript:: ds 1
MenuItemsListEnd::
wTempTrainerHeaderEnd::
-wd04e:: ds 2
-wOaksPkmnTalkPkmnNameBuffer::
-wd050_MonNick::
-wd050:: ds PKMN_NAME_LENGTH +- 1
-wd05a:: ds 12
-wd066:: ds 10
-wd070:: ds 3
+wd04e:: ds 24
+wTMHMMoveNameBackup:: ds MOVE_NAME_LENGTH
StringBuffer1:: ; d073
ds 19
@@ -1714,8 +1985,8 @@
wLastPocket:: ds 1
wd0d7:: ds 1
-wPartyMenuCursor::
-wd0d8:: ds 1
+wd0d8::
+wPartyMenuCursor:: ds 1
wItemsPocketCursor:: ds 1
wKeyItemsPocketCursor:: ds 1
wBallsPocketCursor:: ds 1
@@ -1727,17 +1998,21 @@
wTMHMPocketScrollPosition:: ds 1
wMoveSwapBuffer::
wSwitchMon::
+wSwitchItem::
wd0e3:: ds 1
wMenuScrollPosition:: ds 4
wQueuedScriptBank:: ds 1
wQueuedScriptAddr:: ds 2
+wNumMoves::
wd0eb:: ds 1
wFieldMoveSucceeded::
+wItemEffectSucceeded::
wPlayerAction::
; 0 - use move
; 1 - use item
; 2 - switch
-wd0ec:: ds 1
+wSolvedUnownPuzzle::
+ ds 1 ; d0ec
VramState:: ; d0ed
; bit 0: overworld sprite updating on/off
@@ -1747,11 +2022,13 @@
ds 1
wBattleResult:: ds 1
-wd0ef:: ds 1
+wUsingItemWithSelect:: ds 1
CurMart:: ds 16
+CurMartEnd::
ds CurMart - @
-wd0f0:: ds 1
+CurElevator:: ds 1
wd0f1::
+CurElevatorFloors::
wCurMessageIndex:: ds 1
wd0f2::
wMailboxCount:: ds 1
@@ -1758,7 +2035,6 @@
wMailboxItems:: ds MAILBOX_CAPACITY
wMailboxEnd:: ds 1 ; d1fe
ds 2
-CurMartEnd::
wd100:: ds 1
wd101:: ds 1
@@ -1770,7 +2046,7 @@
CurItem:: ; d106
ds 1
-ItemCountBuffer:: ; d107
+CurItemQuantity:: ; d107
wMartItemID::
wd107:: ds 1
@@ -1783,7 +2059,10 @@
; 0-5
ds 1
-wd10a:: ds 1
+wWhichHPBar::
+; 0: Enemy
+; 1: Player
+ ds 1
wPokemonWithdrawDepositParameter::
; 0: Take from PC
; 1: Put into PC
@@ -1793,50 +2072,49 @@
wItemQuantityChangeBuffer:: ds 1
wItemQuantityBuffer:: ds 1
-wd10e::
TempMon::
party_struct TempMon
wSpriteFlags:: ds 1
-wd13f:: ds 2
+wHandlePlayerStep:: ds 2
PartyMenuActionText:: ; d141
ds 1
-wItemAttributeParamBuffer::
-wd142::
+wItemAttributeParamBuffer:: ; d142
ds 1
CurPartyLevel:: ; d143
ds 1
-wd144:: ds 2
+wScrollingMenuListSize:: ds 2
; used when following a map warp
-wNextWarp::
-wd146:: ds 1
-wNextMapGroup::
-wd147:: ds 1
-wNextMapNumber::
-wd148:: ds 1
-wPrevWarp::
-wd149:: ds 1
-wPrevMapGroup::
-wd14a:: ds 1
-wPrevMapNumber::
-wd14b:: ds 1
+; d146
+wNextWarp:: ds 1
+wNextMapGroup:: ds 1
+wNextMapNumber:: ds 1
+wPrevWarp:: ds 1
+wPrevMapGroup:: ds 1
+wPrevMapNumber:: ds 1
+; d14c
-wd14c:: ds 1 ; used in FollowNotExact
-wd14d:: ds 1 ; used in FollowNotExact
+wFollowNotExactPersonX:: ds 1 ; used in FollowNotExact
+wFollowNotExactPersonY:: ds 1 ; used in FollowNotExact
; Player movement
-wPlayerStepVectorX:: ds 1
-wPlayerStepVectorY:: ds 1
-wPlayerStepFlags:: ds 1
-wPlayerStepDirection:: ds 1
+wPlayerStepVectorX:: ds 1 ; d14e
+wPlayerStepVectorY:: ds 1 ; d14f
+wPlayerStepFlags:: ds 1 ; d150
+; bit 7: Start step
+; bit 6: Stop step
+; bit 5: Doing step
+; bit 4: In midair
+; bits 0-3: unused
+wPlayerStepDirection:: ds 1 ; d151
-wBGMapAnchor:: ds 2
+wBGMapAnchor:: ds 2 ; d152
UsedSprites:: ds 64 ; d154
UsedSpritesEnd::
@@ -1854,13 +2132,13 @@
wd191:: ds 1
wd192:: ds 1
wd193:: ds 1
-wd194:: dw
-wd196:: ds 1
-wd197:: ds 1
+wOverworldMapAnchor:: dw
+wMetatileStandingY:: ds 1
+wMetatileStandingX:: ds 1
wSecondMapHeaderBank:: ds 1
wTileset:: ds 1
-wPermission:: ds 1
-wSecondMapHeaderAddr:: dw
+wPermission:: ds 1 ; d19a
+wSecondMapHeaderAddr:: dw ; d19b
; width/height are in blocks (2x2 walkable tiles, 4x4 graphics tiles)
MapHeader:: ; d19d
@@ -1989,7 +2267,7 @@
EvolvableFlags:: ; d1e8
flag_array PARTY_LENGTH
-wd1e9:: ds 1
+wForceEvolution:: ds 1
MagikarpLength::
Buffer1:: ; d1ea
ds 1
@@ -2120,10 +2398,12 @@
ds 2
ds 2
-wd25a:: ds 3
-wd25d:: ds 1
+wMornEncounterRate:: ds 1
+wDayEncounterRate:: ds 1
+wNiteEncounterRate:: ds 1
+wWaterEncounterRate:: ds 1
wListMoves_MoveIndicesBuffer:: ds 4
-wd262:: ds 1
+wPutativeTMHMMove:: ds 1
wd263:: ds 1
wd264:: ds 1
wFoundMatchingIDInParty::
@@ -2139,9 +2419,8 @@
ds 1
ds 1
+
SECTION "Enemy Party", WRAMX, BANK [1]
-OTPlayerName:: ds NAME_LENGTH
- ds OTPlayerName - @
wPokedexShowPointerAddr::
wd26b:: ds 1
wd26c:: ds 1
@@ -2149,13 +2428,33 @@
wd26d:: ds 1
ds 3
wd271:: ds 5
-OTPlayerID::
wd276:: ds 10
+ ds wd26b - @
+
+; SECTION "Enemy Party", WRAMX, BANK [1]
+OTPlayerName:: ds NAME_LENGTH
+OTPlayerID:: ds 2
+ ds 8
OTPartyCount:: ds 1 ; d280
OTPartySpecies:: ds PARTY_LENGTH ; d281
OTPartyEnd:: ds 1
+wDudeBag:: ; d288
+wDudeNumItems:: ds 1
+wDudeItems:: ds 2 * 4
+wDudeItemsEnd:: ds 1
+
+wDudeNumKeyItems:: ds 1 ; d292
+wDudeKeyItems:: ds 18
+wDudeKeyItemsEnd:: ds 1
+
+wDudeNumBalls:: ds 1 ; d2a6
+wDudeBalls:: ds 2 * 4
+wDudeBallsEnd:: ds 1
+wDudeBagEnd::
+ ds wDudeBag - @
+
OTPartyMons::
OTPartyMon1:: party_struct OTPartyMon1 ; d288
OTPartyMon2:: party_struct OTPartyMon2 ; d2b8
@@ -2182,6 +2481,7 @@
ds 1
ScriptFlags:: ; d434
+; bit 3: priority jump
ds 1
ScriptFlags2:: ; d435
ds 1
@@ -2203,16 +2503,16 @@
ds 2
wScriptStackSize:: ds 1
-wScriptStackBA1:: ds 3
-wScriptStackBA2:: ds 3
-wScriptStackBA3:: ds 3
-wScriptStackBA4:: ds 3
-wScriptStackBA5:: ds 3
+wScriptStack:: ds 3 * 5
ds 1
ScriptDelay:: ; d44d
ds 1
+wPriorityScriptBank::
+wScriptTextBank::
wd44e:: ds 1
+wPriorityScriptAddr::
+wScriptTextAddr::
wd44f:: ds 1
wd450:: ds 1
wd451:: ds 1
@@ -2233,7 +2533,8 @@
ds 3
wBugContestMinsRemaining:: ds 1
wBugContestSecsRemaining:: ds 1
- ds 4
+ ds 2
+wMapStatusEnd:: ds 2 ; d470
wCrystalData::
PlayerGender:: ; d472
@@ -2300,9 +2601,8 @@
wObjectFollow_Leader:: ds 1
wObjectFollow_Follower:: ds 1
wCenteredObject:: ds 1
-wd4d0:: ds 1
-wd4d1:: ds 1
- ds 4
+wFollowerMovementQueueLength:: ds 1
+wFollowMovementQueue:: ds 5
ObjectStructs:: ; d4d6
object_struct: MACRO
@@ -2408,8 +2708,8 @@
ds 1
ds 4
; d846
-wd846:: ds 1
-wd847:: ds 1
+wTimeOfDayPalFlags:: ds 1
+wTimeOfDayPalset:: ds 1
CurTimeOfDay:: ; d848
ds 1
@@ -2487,7 +2787,7 @@
wPokegearFlags:: ds 1
wRadioTuningKnob:: ds 1
-wd959:: ds 2
+wLastDexMode:: ds 2
WhichRegisteredItem:: ; d95b
ds 1
RegisteredItem:: ; d95c
@@ -2699,11 +2999,16 @@
BigDoll:: ; dc16
ds 1
+; Items bought from Mom
+wWhichMomItem::
wdc17:: ds 1
-wdc18:: ds 1
+wWhichMomItemSet::
+ ds 1
+MomItemTriggerBalance::
wdc19:: ds 1
wdc1a:: ds 1
wdc1b:: ds 1
+
wDailyResetTimer:: ds 2
DailyFlags:: ds 1
WeeklyFlags:: ds 1
@@ -2736,9 +3041,9 @@
wDailyRematchFlags:: ds 4
wDailyPhoneItemFlags:: ds 4
wDailyPhoneTimeOfDayFlags:: ds 4
-wdc58:: ds 2
-wdc5a:: ds 1
-wdc5b:: ds 1
+wKenjiBreakTimer:: ds 2 ; Kenji
+wYanmaMapGroup:: ds 1 ; dc5a
+wYanmaMapNumber:: ds 1
wdc5c:: ds 3
wdc5f:: ds 1
wdc60:: ds 19
@@ -2768,11 +3073,11 @@
wMapData::
VisitedSpawns:: ; dca5
- flag_array 27
+ flag_array NUM_SPAWNS
-wdca9:: ds 1
-wdcaa:: ds 1
-wdcab:: ds 1
+wDigWarp:: ds 1
+wDigMapGroup:: ds 1
+wDigMapNumber:: ds 1
; used on maps like second floor pokécenter, which are reused, so we know which
; map to return to
BackupWarpNumber:: ; dcac
@@ -2784,10 +3089,8 @@
ds 3
-wLastSpawnMapGroup::
-wdcb2:: ds 1
-wLastSpawnMapNumber::
-wdcb3:: ds 1
+wLastSpawnMapGroup:: ds 1
+wLastSpawnMapNumber:: ds 1
WarpNumber:: ; dcb4
ds 1
@@ -2799,11 +3102,8 @@
ds 1 ; current y coordinate relative to top-left corner of current map
XCoord:: ; dcb8
ds 1 ; current x coordinate relative to top-left corner of current map
+wScreenSave:: ds 6 * 5
- ds 6
-wdcbf:: ds 1
- ds 23
-
wMapDataEnd::
@@ -2816,7 +3116,7 @@
PartySpecies:: ; dcd8
ds PARTY_LENGTH ; species of each Pokémon in party
PartyEnd:: ; dcde
- ds 1 ; legacy functions don't check PartyCount
+ ds 1 ; legacy scripts don't check PartyCount
PartyMons::
PartyMon1:: party_struct PartyMon1 ; dcdf
@@ -2848,7 +3148,7 @@
UnlockedUnowns:: ; def3
ds 1
-wdef4:: ds 1
+wFirstUnownSeen:: ds 1
wDaycareMan:: ; def5
@@ -2870,7 +3170,7 @@
wStepsToEgg:: ; df2d
ds 1
-wDittoInDaycare:: ; df2e
+wBreedMotherOrNonDitto:: ; df2e
; z: yes
; nz: no
ds 1
@@ -2891,8 +3191,8 @@
wdf9c::
wContestMon:: party_struct wContestMon ; df9c
-wdfcc:: ds 1
-wdfcd:: ds 1
+wDunsparceMapGroup:: ds 1
+wDunsparceMapNumber:: ds 1
wFishingSwarmFlag:: ds 1
roam_struct: MACRO
@@ -2908,10 +3208,10 @@
wRoamMon2:: roam_struct wRoamMon2 ; dfd6
wRoamMon3:: roam_struct wRoamMon3 ; dfdd
-wdfe4:: ds 1
-wdfe5:: ds 1
-wdfe6:: ds 1
-wdfe7:: ds 1
+wRoamMons_CurrentMapNumber:: ds 1
+wRoamMons_CurrentMapGroup:: ds 1
+wRoamMons_LastMapNumber:: ds 1
+wRoamMons_LastMapGroup:: ds 1
wBestMagikarpLengthFeet:: ds 1
wBestMagikarpLengthInches:: ds 1
wMagikarpRecordHoldersName:: ds NAME_LENGTH
@@ -2935,20 +3235,17 @@
wPokeAnimCoord:: ds 2
wPokeAnimFrontpicHeight:: ds 1
; PokeAnim Data
-w2_d172:: ds 1
+wPokeAnimExtraFlag:: ds 1
w2_d173:: ds 1
-w2_d174:: ds 1
-w2_d175:: ds 1
-w2_d176:: ds 1
-w2_d177:: ds 1
-w2_d178:: ds 1
-w2_d179:: ds 1
-w2_d17a:: ds 1
-w2_d17b:: ds 1
-w2_d17c:: ds 1
+wPokeAnimPointerBank:: ds 1
+wPokeAnimPointerAddr:: ds 2
+wPokeAnimFramesBank:: ds 1
+wPokeAnimFramesAddr:: ds 2
+wPokeAnimBitmaskBank:: ds 1
+wPokeAnimBitmaskAddr:: ds 2
w2_d17d:: ds 1
w2_d17e:: ds 1
-w2_d17f:: ds 1
+wPokeAnimRepeatTimer:: ds 1
w2_d180:: ds 1
wPokeAnimWaitCounter:: ds 1
w2_d182:: ds 1
@@ -2964,8 +3261,10 @@
SECTION "Battle Tower", WRAMX, BANK [3]
-w3_d000:: ; d000
- ds $80
+w3_d000:: ds 1 ; d000
+w3_d001:: ds 1
+w3_d002::
+ ds $7e
w3_d080::
ds $10
w3_d090::
@@ -2988,11 +3287,26 @@
ds -$22
wBTChoiceOfLvlGroup::
-w3_d800:: ds $400
+w3_d800:: ds $69
+w3_d869:: ds $17
+w3_d880:: ds 1
+w3_d881:: ds 1
+w3_d882:: ds 1
+w3_d883:: ds 7
+w3_d88a:: ds 5
+w3_d88f:: ds 5
+w3_d894:: ds 1
+w3_d895:: ds 11
+w3_d8a0:: ds 1
+w3_d8a1:: ds 1
+w3_d8a2:: ds 1
+w3_d8a3:: ds 1
+ ds $35c
w3_dc00:: ds $168
-w3_dd68::
+w3_dd68:: ds $284
+w3_dfec:: ds $10
+w3_dffc:: ds 4
-
SECTION "GBC Video", WRAMX, BANK [5]
; 8 4-color palettes
@@ -3006,12 +3320,11 @@
LYOverridesEnd:: ; d190
ds 1
-w5_d191:: ds 1
-w5_d192:: ds 1
-w5_d193:: ds 1
-w5_d194:: ds 1
-w5_d195:: ds 1
-
+wMagnetTrainDirection:: ds 1
+wMagnetTrainInitPosition:: ds 1
+wMagnetTrainHoldPosition:: ds 1
+wMagnetTrainFinalPosition:: ds 1
+wMagnetTrainPlayerSpriteInitX:: ds 1
ds 106
LYOverridesBackup:: ; d200
@@ -3018,22 +3331,68 @@
ds SCREEN_HEIGHT_PX
LYOverridesBackupEnd::
- ds $100 - SCREEN_HEIGHT_PX
+SECTION "Battle Animations", WRAMX [$d300], BANK [5]
-SECTION "Battle Animations", WRAMX, BANK [5]
+wBattleAnimTileDict:: ds 10
-w5_d300:: ds 10
+battle_anim_struct: MACRO
+; Placeholder until we can figure out what it all means
+\1_Index:: ds 1
+\1_Anim01:: ds 1
+\1_Anim02:: ds 1
+\1_FramesetIndex:: ds 1
+\1_FunctionIndex:: ds 1
+\1_Anim05:: ds 1
+\1_TileID:: ds 1
+\1_XCoord:: ds 1
+\1_YCoord:: ds 1
+\1_XOffset:: ds 1
+\1_YOffset:: ds 1
+\1_Anim0b:: ds 1
+\1_Anim0c:: ds 1
+\1_Anim0d:: ds 1
+\1_AnonJumptableIndex:: ds 1
+\1_Anim0f:: ds 1
+\1_Anim10:: ds 1
+\1_Anim11:: ds 1
+\1_Anim12:: ds 1
+\1_Anim13:: ds 1
+\1_Anim14:: ds 1
+\1_Anim15:: ds 1
+\1_Anim16:: ds 1
+\1_Anim17:: ds 1
+endm
ActiveAnimObjects:: ; d30a
- ds 4 * 40
+AnimObject01:: battle_anim_struct AnimObject01
+AnimObject02:: battle_anim_struct AnimObject02
+AnimObject03:: battle_anim_struct AnimObject03
+AnimObject04:: battle_anim_struct AnimObject04
+AnimObject05:: battle_anim_struct AnimObject05
+AnimObject06:: battle_anim_struct AnimObject06
+AnimObject07:: battle_anim_struct AnimObject07
+AnimObject08:: battle_anim_struct AnimObject08
+AnimObject09:: battle_anim_struct AnimObject09
+AnimObject10:: battle_anim_struct AnimObject10
+ActiveAnimObjectsEnd:: ; d3aa
- ds 80
+battle_bg_effect: MACRO
+\1_Function:: ds 1
+\1_01:: ds 1
+\1_02:: ds 1
+\1_03:: ds 1
+endm
ActiveBGEffects:: ; d3fa
- ds 4 * 5
+BGEffect1:: battle_bg_effect BGEffect1
+BGEffect2:: battle_bg_effect BGEffect2
+BGEffect3:: battle_bg_effect BGEffect3
+BGEffect4:: battle_bg_effect BGEffect4
+BGEffect5:: battle_bg_effect BGEffect5
+ActiveBGEffectsEnd::
-w5_d40e:: ds 1
+wNumActiveBattleAnims:: ds 1 ; d40e
BattleAnimFlags:: ; d40f
ds 1
@@ -3049,14 +3408,29 @@
ds 1
BattleAnimByte:: ; d417
ds 1
-w5_d418:: ds 1
+wBattleAnimOAMPointerLo:: ds 1 ; d418
BattleAnimTemps:: ; d419
- ds 8
- ds 1
-w5_d422:: ds $32
+wBattleAnimTempOAMFlags::
+wBattleAnimTemp0:: ds 1
+wBattleAnimTemp1:: ds 1
+wBattleAnimTempTileID::
+wBattleAnimTemp2:: ds 1
+wBattleAnimTempXCoord::
+wBattleAnimTemp3:: ds 1
+wBattleAnimTempYCoord::
+wBattleAnimTemp4:: ds 1
+wBattleAnimTempXOffset::
+wBattleAnimTemp5:: ds 1
+wBattleAnimTempYOffset::
+wBattleAnimTemp6:: ds 1
+wBattleAnimTemp7:: ds 1
+wBattleAnimTempPalette::
+wBattleAnimTemp8:: ds 1
+
+wSurfWaveBGEffect:: ds $40
+wSurfWaveBGEffectEnd::
+ ds -$e
wBattleAnimEnd::
- ds $e
-; d462
SECTION "WRAM 5 MOBILE", WRAMX [$d800], BANK [5]
w5_d800:: ds $200
@@ -3071,8 +3445,8 @@
SECTION "WRAM 6", WRAMX, BANK [6]
-w6_d000:: ds $400
-w6_d400:: ds $200
+wDecompressScratch:: ds $400
+wBackupAttrMap:: ds $200
w6_d600:: ds $200
w6_d800::
@@ -3079,5 +3453,5 @@
INCLUDE "sram.asm"
SECTION "WRAM 7", WRAMX, BANK [7]
-w7_d000:: ds $1000 - 1
-w7_dfff:: ds 1
+wWindowStack:: ds $1000 - 1
+wWindowStackBottom:: ds 1