mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
4139 lines
71 KiB
NASM
4139 lines
71 KiB
NASM
; These functions seem to be related to the selection of preset phrases
|
||
; for use in mobile communications. Annoyingly, they separate the
|
||
; Battle Tower function above from the data it references.
|
||
Function11c05d:
|
||
ld a, e
|
||
or d
|
||
jr z, .error
|
||
ld a, e
|
||
and d
|
||
cp $ff
|
||
jr z, .error
|
||
push hl
|
||
call CopyMobileEZChatToC608
|
||
pop hl
|
||
call PlaceString
|
||
and a
|
||
ret
|
||
|
||
.error
|
||
ld c, l
|
||
ld b, h
|
||
scf
|
||
ret
|
||
|
||
Function11c075:
|
||
push de
|
||
ld a, c
|
||
call Function11c254
|
||
pop de
|
||
ld bc, wcd36
|
||
call Function11c08f
|
||
ret
|
||
|
||
Unreferenced_Function11c082:
|
||
push de
|
||
ld a, c
|
||
call Function11c254
|
||
pop de
|
||
ld bc, wcd36
|
||
call PrintEZChatBattleMessage
|
||
ret
|
||
|
||
Function11c08f:
|
||
ld l, e
|
||
ld h, d
|
||
push hl
|
||
ld a, 3
|
||
.loop
|
||
push af
|
||
ld a, [bc]
|
||
ld e, a
|
||
inc bc
|
||
ld a, [bc]
|
||
ld d, a
|
||
inc bc
|
||
push bc
|
||
call Function11c05d
|
||
jr c, .okay
|
||
inc bc
|
||
|
||
.okay
|
||
ld l, c
|
||
ld h, b
|
||
pop bc
|
||
pop af
|
||
dec a
|
||
jr nz, .loop
|
||
pop hl
|
||
ld de, 2 * SCREEN_WIDTH
|
||
add hl, de
|
||
ld a, $3
|
||
.loop2
|
||
push af
|
||
ld a, [bc]
|
||
ld e, a
|
||
inc bc
|
||
ld a, [bc]
|
||
ld d, a
|
||
inc bc
|
||
push bc
|
||
call Function11c05d
|
||
jr c, .okay2
|
||
inc bc
|
||
|
||
.okay2
|
||
ld l, c
|
||
ld h, b
|
||
pop bc
|
||
pop af
|
||
dec a
|
||
jr nz, .loop2
|
||
ret
|
||
|
||
PrintEZChatBattleMessage:
|
||
; Use up to 6 words from bc to print text starting at de.
|
||
; Preserve $cf63, $cf64
|
||
ld a, [wJumptableIndex]
|
||
ld l, a
|
||
ld a, [wcf64]
|
||
ld h, a
|
||
push hl
|
||
; reset value at c618 (not preserved)
|
||
ld hl, $c618
|
||
ld a, $0
|
||
ld [hli], a
|
||
; preserve de
|
||
push de
|
||
; $cf63 keeps track of which line we're on (0, 1, or 2)
|
||
; $cf64 keeps track of how much room we have left in the current line
|
||
xor a
|
||
ld [wJumptableIndex], a
|
||
ld a, 18
|
||
ld [wcf64], a
|
||
ld a, $6 ; up to 6 times
|
||
.loop
|
||
push af
|
||
; load the 2-byte word data pointed to by bc
|
||
ld a, [bc]
|
||
ld e, a
|
||
inc bc
|
||
ld a, [bc]
|
||
ld d, a
|
||
inc bc
|
||
; if $0000, we're done
|
||
or e
|
||
jr z, .done
|
||
; preserving hl and bc, get the length of the word
|
||
push hl
|
||
push bc
|
||
call CopyMobileEZChatToC608
|
||
call GetLengthOfWordAtC608
|
||
ld e, c
|
||
pop bc
|
||
pop hl
|
||
; if the functions return 0, we're done
|
||
ld a, e
|
||
or a
|
||
jr z, .done
|
||
.loop2
|
||
; e contains the length of the word
|
||
; add 1 for the space, unless we're at the start of the line
|
||
ld a, [wcf64]
|
||
cp 18
|
||
jr z, .skip_inc
|
||
inc e
|
||
|
||
.skip_inc
|
||
; if the word fits, put it on the same line
|
||
cp e
|
||
jr nc, .same_line
|
||
; otherwise, go to the next line
|
||
ld a, [wJumptableIndex]
|
||
inc a
|
||
ld [wJumptableIndex], a
|
||
; if we're on line 2, insert "<NEXT>"
|
||
ld [hl], "<NEXT>"
|
||
rra
|
||
jr c, .got_line_terminator
|
||
; else, insert "<CONT>"
|
||
ld [hl], "<CONT>"
|
||
|
||
.got_line_terminator
|
||
inc hl
|
||
; init the next line, holding on to the same word
|
||
ld a, 18
|
||
ld [wcf64], a
|
||
dec e
|
||
jr .loop2
|
||
|
||
.same_line
|
||
; add the space, unless we're at the start of the line
|
||
cp 18
|
||
jr z, .skip_space
|
||
ld [hl], " "
|
||
inc hl
|
||
|
||
.skip_space
|
||
; deduct the length of the word
|
||
sub e
|
||
ld [wcf64], a
|
||
ld de, $c608
|
||
.place_string_loop
|
||
; load the string from de to hl
|
||
ld a, [de]
|
||
cp "@"
|
||
jr z, .done
|
||
inc de
|
||
ld [hli], a
|
||
jr .place_string_loop
|
||
|
||
.done
|
||
; next word?
|
||
pop af
|
||
dec a
|
||
jr nz, .loop
|
||
; we're finished, place "<DONE>"
|
||
ld [hl], "<DONE>"
|
||
; now, let's place the string from c618 to bc
|
||
pop bc
|
||
ld hl, $c618
|
||
call PlaceHLTextAtBC
|
||
; restore the original values of $cf63 and $cf64
|
||
pop hl
|
||
ld a, l
|
||
ld [wJumptableIndex], a
|
||
ld a, h
|
||
ld [wcf64], a
|
||
ret
|
||
|
||
GetLengthOfWordAtC608:
|
||
ld c, $0
|
||
ld hl, $c608
|
||
.loop
|
||
ld a, [hli]
|
||
cp "@"
|
||
ret z
|
||
inc c
|
||
jr .loop
|
||
|
||
CopyMobileEZChatToC608:
|
||
ld a, [rSVBK]
|
||
push af
|
||
ld a, $1
|
||
ld [rSVBK], a
|
||
ld a, "@"
|
||
ld hl, $c608
|
||
ld bc, NAME_LENGTH
|
||
call ByteFill
|
||
ld a, d
|
||
and a
|
||
jr z, .get_name
|
||
ld hl, MobileEZChatCategoryPointers
|
||
dec d
|
||
sla d
|
||
ld c, d
|
||
ld b, $0
|
||
add hl, bc
|
||
ld a, [hli]
|
||
ld c, a
|
||
ld a, [hl]
|
||
ld b, a
|
||
push bc
|
||
pop hl
|
||
ld c, e
|
||
ld b, $0
|
||
sla c
|
||
rl b
|
||
sla c
|
||
rl b
|
||
sla c
|
||
rl b
|
||
add hl, bc
|
||
ld bc, NAME_LENGTH_JAPANESE - 1
|
||
.copy_string
|
||
ld de, $c608
|
||
call CopyBytes
|
||
ld de, $c608
|
||
pop af
|
||
ld [rSVBK], a
|
||
ret
|
||
|
||
.get_name
|
||
ld a, e
|
||
ld [wd265], a
|
||
call GetPokemonName
|
||
ld hl, wStringBuffer1
|
||
ld bc, MON_NAME_LENGTH - 1
|
||
jr .copy_string
|
||
|
||
Function11c1ab:
|
||
ld a, [hInMenu]
|
||
push af
|
||
ld a, $1
|
||
ld [hInMenu], a
|
||
call Function11c1b9
|
||
pop af
|
||
ld [hInMenu], a
|
||
ret
|
||
|
||
Function11c1b9:
|
||
call .InitKanaMode
|
||
ld a, [rSVBK]
|
||
push af
|
||
ld a, $5
|
||
ld [rSVBK], a
|
||
call EZChat_MasterLoop
|
||
pop af
|
||
ld [rSVBK], a
|
||
ret
|
||
|
||
.InitKanaMode:
|
||
xor a
|
||
ld [wJumptableIndex], a
|
||
ld [wcf64], a
|
||
ld [wcf65], a
|
||
ld [wcf66], a
|
||
ld [wcd23], a
|
||
ld [wcd20], a
|
||
ld [wcd21], a
|
||
ld [wcd22], a
|
||
ld [wcd35], a
|
||
ld [wcd2b], a
|
||
ld a, $ff
|
||
ld [wcd24], a
|
||
ld a, [wMenuCursorY]
|
||
dec a
|
||
call Function11c254
|
||
call ClearBGPalettes
|
||
call ClearSprites
|
||
call ClearScreen
|
||
call Function11d323
|
||
call SetPalettes
|
||
call DisableLCD
|
||
ld hl, GFX_11d67e
|
||
ld de, vTiles2
|
||
ld bc, $60
|
||
call CopyBytes
|
||
ld hl, LZ_11d6de
|
||
ld de, vTiles0
|
||
call Decompress
|
||
call EnableLCD
|
||
farcall ReloadMapPart
|
||
farcall ClearSpriteAnims
|
||
farcall LoadPokemonData
|
||
farcall Pokedex_ABCMode
|
||
ld a, [rSVBK]
|
||
push af
|
||
ld a, $5
|
||
ld [rSVBK], a
|
||
ld hl, $c6d0
|
||
ld de, wLYOverrides
|
||
ld bc, $100
|
||
call CopyBytes
|
||
pop af
|
||
ld [rSVBK], a
|
||
call EZChat_GetCategoryWordsByKana
|
||
call EZChat_GetSeenPokemonByKana
|
||
ret
|
||
|
||
Function11c254:
|
||
push af
|
||
ld a, $4
|
||
call GetSRAMBank
|
||
ld hl, $a007
|
||
pop af
|
||
sla a
|
||
sla a
|
||
ld c, a
|
||
sla a
|
||
add c
|
||
ld c, a
|
||
ld b, $0
|
||
add hl, bc
|
||
ld de, wcd36
|
||
ld bc, 12
|
||
call CopyBytes
|
||
call CloseSRAM
|
||
ret
|
||
|
||
EZChat_ClearBottom12Rows:
|
||
ld a, " "
|
||
hlcoord 0, 6
|
||
ld bc, (SCREEN_HEIGHT - 6) * SCREEN_WIDTH
|
||
call ByteFill
|
||
ret
|
||
|
||
EZChat_MasterLoop:
|
||
.loop
|
||
call JoyTextDelay
|
||
ld a, [hJoyPressed]
|
||
ld [hJoypadPressed], a
|
||
ld a, [wJumptableIndex]
|
||
bit 7, a
|
||
jr nz, .exit
|
||
call .DoJumptableFunction
|
||
farcall PlaySpriteAnimations
|
||
farcall ReloadMapPart
|
||
jr .loop
|
||
|
||
.exit
|
||
farcall ClearSpriteAnims
|
||
call ClearSprites
|
||
ret
|
||
|
||
.DoJumptableFunction:
|
||
jumptable .Jumptable, wJumptableIndex
|
||
|
||
.Jumptable:
|
||
dw .SpawnObjects ; 00
|
||
dw .InitRAM ; 01
|
||
dw Function11c35f ; 02
|
||
dw Function11c373 ; 03
|
||
dw Function11c3c2 ; 04
|
||
dw Function11c3ed ; 05
|
||
dw Function11c52c ; 06
|
||
dw Function11c53d ; 07
|
||
dw Function11c658 ; 08
|
||
dw Function11c675 ; 09
|
||
dw Function11c9bd ; 0a
|
||
dw Function11c9c3 ; 0b
|
||
dw Function11caad ; 0c
|
||
dw Function11cab3 ; 0d
|
||
dw Function11cb52 ; 0e
|
||
dw Function11cb66 ; 0f
|
||
dw Function11cbf5 ; 10
|
||
dw Function11ccef ; 11
|
||
dw Function11cd04 ; 12
|
||
dw Function11cd20 ; 13
|
||
dw Function11cd54 ; 14
|
||
dw Function11ce0b ; 15
|
||
dw Function11ce2b ; 16
|
||
|
||
.SpawnObjects:
|
||
depixel 3, 1, 2, 5
|
||
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
|
||
call _InitSpriteAnimStruct
|
||
depixel 8, 1, 2, 5
|
||
|
||
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
|
||
call _InitSpriteAnimStruct
|
||
ld hl, SPRITEANIMSTRUCT_0C
|
||
add hl, bc
|
||
ld a, $1
|
||
ld [hl], a
|
||
|
||
depixel 9, 2, 2, 0
|
||
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
|
||
call _InitSpriteAnimStruct
|
||
ld hl, SPRITEANIMSTRUCT_0C
|
||
add hl, bc
|
||
ld a, $3
|
||
ld [hl], a
|
||
|
||
depixel 10, 16
|
||
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
|
||
call _InitSpriteAnimStruct
|
||
ld hl, SPRITEANIMSTRUCT_0C
|
||
add hl, bc
|
||
ld a, $4
|
||
ld [hl], a
|
||
|
||
depixel 10, 4
|
||
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
|
||
call _InitSpriteAnimStruct
|
||
ld hl, SPRITEANIMSTRUCT_0C
|
||
add hl, bc
|
||
ld a, $5
|
||
ld [hl], a
|
||
|
||
depixel 10, 2
|
||
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
|
||
call _InitSpriteAnimStruct
|
||
ld hl, SPRITEANIMSTRUCT_0C
|
||
add hl, bc
|
||
ld a, $2
|
||
ld [hl], a
|
||
|
||
ld hl, wcd23
|
||
set 1, [hl]
|
||
set 2, [hl]
|
||
jp Function11cfb5
|
||
|
||
.InitRAM:
|
||
ld a, $9
|
||
ld [wcd2d], a
|
||
ld a, $2
|
||
ld [wcd2e], a
|
||
ld [wcd2f], a
|
||
ld [wcd30], a
|
||
ld de, wcd2d
|
||
call Function11cfce
|
||
jp Function11cfb5
|
||
|
||
Function11c35f:
|
||
ld hl, wcd2f
|
||
inc [hl]
|
||
inc [hl]
|
||
dec hl
|
||
dec hl
|
||
dec [hl]
|
||
push af
|
||
ld de, wcd2d
|
||
call Function11cfce
|
||
pop af
|
||
ret nz
|
||
jp Function11cfb5
|
||
|
||
Function11c373:
|
||
ld hl, wcd30
|
||
inc [hl]
|
||
inc [hl]
|
||
dec hl
|
||
dec hl
|
||
dec [hl]
|
||
push af
|
||
ld de, wcd2d
|
||
call Function11cfce
|
||
pop af
|
||
ret nz
|
||
call Function11c38a
|
||
jp Function11cfb5
|
||
|
||
Function11c38a:
|
||
ld hl, Unknown_11c986
|
||
ld bc, wcd36
|
||
ld a, $6
|
||
.asm_11c392
|
||
push af
|
||
ld a, [hli]
|
||
ld e, a
|
||
ld a, [hli]
|
||
ld d, a
|
||
push hl
|
||
push de
|
||
pop hl
|
||
ld a, [bc]
|
||
inc bc
|
||
ld e, a
|
||
ld a, [bc]
|
||
inc bc
|
||
ld d, a
|
||
push bc
|
||
or e
|
||
jr z, .asm_11c3af
|
||
ld a, e
|
||
and d
|
||
cp $ff
|
||
jr z, .asm_11c3af
|
||
call Function11c05d
|
||
jr .asm_11c3b5
|
||
.asm_11c3af
|
||
ld de, String_11c3bc
|
||
call PlaceString
|
||
.asm_11c3b5
|
||
pop bc
|
||
pop hl
|
||
pop af
|
||
dec a
|
||
jr nz, .asm_11c392
|
||
ret
|
||
|
||
String_11c3bc:
|
||
db "ーーーーー@"
|
||
|
||
Function11c3c2:
|
||
call EZChat_ClearBottom12Rows
|
||
ld de, Unknown_11cfbe
|
||
call Function11d035
|
||
hlcoord 1, 7
|
||
ld de, String_11c4db
|
||
call PlaceString
|
||
hlcoord 1, 16
|
||
ld de, String_11c51b
|
||
call PlaceString
|
||
call Function11c4be
|
||
ld hl, wcd23
|
||
set 0, [hl]
|
||
ld hl, wcd24
|
||
res 0, [hl]
|
||
call Function11cfb5
|
||
|
||
Function11c3ed:
|
||
ld hl, wcd20 ; wcd20
|
||
ld de, hJoypadPressed ; $ffa3
|
||
ld a, [de]
|
||
and $8
|
||
jr nz, .asm_11c426
|
||
ld a, [de]
|
||
and $2
|
||
jr nz, .asm_11c41a
|
||
ld a, [de]
|
||
and $1
|
||
jr nz, .asm_11c42c
|
||
ld de, hJoyLast
|
||
ld a, [de]
|
||
and $40
|
||
jr nz, .asm_11c47c
|
||
ld a, [de]
|
||
and $80
|
||
jr nz, .asm_11c484
|
||
ld a, [de]
|
||
and $20
|
||
jr nz, .asm_11c48c
|
||
ld a, [de]
|
||
and $10
|
||
jr nz, .asm_11c498
|
||
ret
|
||
|
||
.asm_11c41a
|
||
call PlayClickSFX
|
||
.asm_11c41d
|
||
ld hl, wcd24
|
||
set 0, [hl]
|
||
ld a, $c
|
||
jr .asm_11c475
|
||
.asm_11c426
|
||
ld a, $8
|
||
ld [wcd20], a ; wcd20
|
||
ret
|
||
|
||
.asm_11c42c
|
||
ld a, [wcd20] ; wcd20
|
||
cp $6
|
||
jr c, .asm_11c472
|
||
sub $6
|
||
jr z, .asm_11c469
|
||
dec a
|
||
jr z, .asm_11c41d
|
||
ld hl, wcd36
|
||
ld c, $c
|
||
xor a
|
||
.asm_11c440
|
||
or [hl]
|
||
inc hl
|
||
dec c
|
||
jr nz, .asm_11c440
|
||
and a
|
||
jr z, .asm_11c460
|
||
ld de, Unknown_11cfba
|
||
call Function11cfce
|
||
decoord 1, 2
|
||
ld bc, wcd36
|
||
call Function11c08f
|
||
ld hl, wcd24
|
||
set 0, [hl]
|
||
ld a, $e
|
||
jr .asm_11c475
|
||
.asm_11c460
|
||
ld hl, wcd24
|
||
set 0, [hl]
|
||
ld a, $11
|
||
jr .asm_11c475
|
||
.asm_11c469
|
||
ld hl, wcd24
|
||
set 0, [hl]
|
||
ld a, $a
|
||
jr .asm_11c475
|
||
.asm_11c472
|
||
call Function11c4a5
|
||
.asm_11c475
|
||
ld [wJumptableIndex], a
|
||
call PlayClickSFX
|
||
ret
|
||
|
||
.asm_11c47c
|
||
ld a, [hl]
|
||
cp $3
|
||
ret c
|
||
sub $3
|
||
jr .asm_11c4a3
|
||
.asm_11c484
|
||
ld a, [hl]
|
||
cp $6
|
||
ret nc
|
||
add $3
|
||
jr .asm_11c4a3
|
||
.asm_11c48c
|
||
ld a, [hl]
|
||
and a
|
||
ret z
|
||
cp $3
|
||
ret z
|
||
cp $6
|
||
ret z
|
||
dec a
|
||
jr .asm_11c4a3
|
||
.asm_11c498
|
||
ld a, [hl]
|
||
cp $2
|
||
ret z
|
||
cp $5
|
||
ret z
|
||
cp $8
|
||
ret z
|
||
inc a
|
||
.asm_11c4a3
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function11c4a5:
|
||
ld hl, wcd23
|
||
res 0, [hl]
|
||
ld a, [wcd2b]
|
||
and a
|
||
jr nz, .asm_11c4b7
|
||
xor a
|
||
ld [wcd21], a
|
||
ld a, $6
|
||
ret
|
||
|
||
.asm_11c4b7
|
||
xor a
|
||
ld [wcd22], a
|
||
ld a, $15
|
||
ret
|
||
|
||
Function11c4be:
|
||
ld a, $1
|
||
hlcoord 0, 6, wAttrMap
|
||
ld bc, $a0
|
||
call ByteFill
|
||
ld a, $7
|
||
hlcoord 0, 14, wAttrMap
|
||
ld bc, $28
|
||
call ByteFill
|
||
farcall ReloadMapPart
|
||
ret
|
||
|
||
String_11c4db:
|
||
db "6つのことば¯くみあわせます"
|
||
next "かえたいところ¯えらぶと でてくる"
|
||
next "ことばのグループから いれかえたい"
|
||
next "たんご¯えらんでください"
|
||
db "@"
|
||
|
||
String_11c51b:
|
||
db "ぜんぶけす やめる けってい@"
|
||
|
||
Function11c52c:
|
||
call EZChat_ClearBottom12Rows
|
||
call EZChat_PlaceCategoryNames
|
||
call Function11c618
|
||
ld hl, wcd24
|
||
res 1, [hl]
|
||
call Function11cfb5
|
||
|
||
Function11c53d:
|
||
ld hl, wcd21
|
||
ld de, hJoypadPressed ; $ffa3
|
||
|
||
ld a, [de]
|
||
and START
|
||
jr nz, .start
|
||
|
||
ld a, [de]
|
||
and SELECT
|
||
jr nz, .select
|
||
|
||
ld a, [de]
|
||
and B_BUTTON
|
||
jr nz, .b
|
||
|
||
ld a, [de]
|
||
and A_BUTTON
|
||
jr nz, .a
|
||
|
||
ld de, hJoyLast
|
||
|
||
ld a, [de]
|
||
and D_UP
|
||
jr nz, .up
|
||
|
||
ld a, [de]
|
||
and D_DOWN
|
||
jr nz, .down
|
||
|
||
ld a, [de]
|
||
and D_LEFT
|
||
jr nz, .left
|
||
|
||
ld a, [de]
|
||
and D_RIGHT
|
||
jr nz, .right
|
||
|
||
ret
|
||
|
||
.a
|
||
ld a, [wcd21]
|
||
cp 15
|
||
jr c, .got_category
|
||
sub $f
|
||
jr z, .done
|
||
dec a
|
||
jr z, .mode
|
||
jr .b
|
||
|
||
.start
|
||
ld hl, wcd24
|
||
set 0, [hl]
|
||
ld a, $8
|
||
ld [wcd20], a ; wcd20
|
||
|
||
.b
|
||
ld a, $4
|
||
jr .go_to_function
|
||
|
||
.select
|
||
ld a, [wcd2b]
|
||
xor $1
|
||
ld [wcd2b], a
|
||
ld a, $15
|
||
jr .go_to_function
|
||
|
||
.mode
|
||
ld a, $13
|
||
jr .go_to_function
|
||
|
||
.got_category
|
||
ld a, $8
|
||
|
||
.go_to_function
|
||
ld hl, wcd24
|
||
set 1, [hl]
|
||
ld [wJumptableIndex], a
|
||
call PlayClickSFX
|
||
ret
|
||
|
||
.done
|
||
ld a, [wcd20] ; wcd20
|
||
call Function11ca6a
|
||
call PlayClickSFX
|
||
ret
|
||
|
||
.up
|
||
ld a, [hl]
|
||
cp $3
|
||
ret c
|
||
sub $3
|
||
jr .finish_dpad
|
||
|
||
.down
|
||
ld a, [hl]
|
||
cp $f
|
||
ret nc
|
||
add $3
|
||
jr .finish_dpad
|
||
|
||
.left
|
||
ld a, [hl]
|
||
and a
|
||
ret z
|
||
cp $3
|
||
ret z
|
||
cp $6
|
||
ret z
|
||
cp $9
|
||
ret z
|
||
cp $c
|
||
ret z
|
||
cp $f
|
||
ret z
|
||
dec a
|
||
jr .finish_dpad
|
||
|
||
.right
|
||
ld a, [hl]
|
||
cp $2
|
||
ret z
|
||
cp $5
|
||
ret z
|
||
cp $8
|
||
ret z
|
||
cp $b
|
||
ret z
|
||
cp $e
|
||
ret z
|
||
cp $11
|
||
ret z
|
||
inc a
|
||
|
||
.finish_dpad
|
||
ld [hl], a
|
||
ret
|
||
|
||
EZChat_PlaceCategoryNames:
|
||
ld de, MobileEZChatCategoryNames
|
||
ld bc, Coords_11c63a
|
||
ld a, 15
|
||
.loop
|
||
push af
|
||
ld a, [bc]
|
||
inc bc
|
||
ld l, a
|
||
ld a, [bc]
|
||
inc bc
|
||
ld h, a
|
||
push bc
|
||
call PlaceString
|
||
; The category names are padded with "@".
|
||
; To find the next category, the system must
|
||
; find the first character at de that is not "@".
|
||
.find_next_string_loop
|
||
inc de
|
||
ld a, [de]
|
||
cp "@"
|
||
jr z, .find_next_string_loop
|
||
pop bc
|
||
pop af
|
||
dec a
|
||
jr nz, .loop
|
||
hlcoord 1, 17
|
||
ld de, EZChatString_Stop_Mode_Cancel
|
||
call PlaceString
|
||
ret
|
||
|
||
Function11c618:
|
||
ld a, $2
|
||
hlcoord 0, 6, wAttrMap
|
||
ld bc, $c8
|
||
call ByteFill
|
||
farcall ReloadMapPart
|
||
ret
|
||
|
||
EZChatString_Stop_Mode_Cancel:
|
||
db "けす モード やめる@"
|
||
|
||
Coords_11c63a:
|
||
dwcoord 1, 7
|
||
dwcoord 7, 7
|
||
dwcoord 13, 7
|
||
dwcoord 1, 9
|
||
dwcoord 7, 9
|
||
dwcoord 13, 9
|
||
dwcoord 1, 11
|
||
dwcoord 7, 11
|
||
dwcoord 13, 11
|
||
dwcoord 1, 13
|
||
dwcoord 7, 13
|
||
dwcoord 13, 13
|
||
dwcoord 1, 15
|
||
dwcoord 7, 15
|
||
dwcoord 13, 15
|
||
|
||
Function11c658:
|
||
call EZChat_ClearBottom12Rows
|
||
call Function11c770
|
||
ld de, Unknown_11cfc2
|
||
call Function11d035
|
||
call Function11c9ab
|
||
call Function11c7bc
|
||
call Function11c86e
|
||
ld hl, wcd24
|
||
res 3, [hl]
|
||
call Function11cfb5
|
||
|
||
Function11c675:
|
||
ld hl, wMobileCommsJumptableIndex
|
||
ld de, hJoypadPressed ; $ffa3
|
||
ld a, [de]
|
||
and A_BUTTON
|
||
jr nz, .a
|
||
ld a, [de]
|
||
and B_BUTTON
|
||
jr nz, .b
|
||
ld a, [de]
|
||
and START
|
||
jr nz, .start
|
||
ld a, [de]
|
||
and SELECT
|
||
jr z, .select
|
||
|
||
ld a, [wcd26]
|
||
and a
|
||
ret z
|
||
sub $c
|
||
jr nc, .asm_11c699
|
||
xor a
|
||
.asm_11c699
|
||
ld [wcd26], a
|
||
jr .asm_11c6c4
|
||
|
||
.start
|
||
ld hl, wcd28
|
||
ld a, [wcd26]
|
||
add $c
|
||
cp [hl]
|
||
ret nc
|
||
ld [wcd26], a
|
||
ld a, [hl]
|
||
ld b, a
|
||
ld hl, wMobileCommsJumptableIndex
|
||
ld a, [wcd26]
|
||
add [hl]
|
||
jr c, .asm_11c6b9
|
||
cp b
|
||
jr c, .asm_11c6c4
|
||
.asm_11c6b9
|
||
ld a, [wcd28]
|
||
ld hl, wcd26
|
||
sub [hl]
|
||
dec a
|
||
ld [wMobileCommsJumptableIndex], a
|
||
.asm_11c6c4
|
||
call Function11c992
|
||
call Function11c7bc
|
||
call Function11c86e
|
||
ret
|
||
|
||
.select
|
||
ld de, hJoyLast
|
||
ld a, [de]
|
||
and D_UP
|
||
jr nz, .asm_11c708
|
||
ld a, [de]
|
||
and D_DOWN
|
||
jr nz, .asm_11c731
|
||
ld a, [de]
|
||
and D_LEFT
|
||
jr nz, .asm_11c746
|
||
ld a, [de]
|
||
and D_RIGHT
|
||
jr nz, .asm_11c755
|
||
ret
|
||
|
||
.a
|
||
call Function11c8f6
|
||
ld a, $4
|
||
ld [wcd35], a
|
||
jr .asm_11c6fc
|
||
.b
|
||
ld a, [wcd2b]
|
||
and a
|
||
jr nz, .asm_11c6fa
|
||
ld a, $6
|
||
jr .asm_11c6fc
|
||
.asm_11c6fa
|
||
ld a, $15
|
||
.asm_11c6fc
|
||
ld [wJumptableIndex], a
|
||
ld hl, wcd24
|
||
set 3, [hl]
|
||
call PlayClickSFX
|
||
ret
|
||
|
||
.asm_11c708
|
||
ld a, [hl]
|
||
cp $3
|
||
jr c, .asm_11c711
|
||
sub $3
|
||
jr .asm_11c76e
|
||
.asm_11c711
|
||
ld a, [wcd26]
|
||
sub $3
|
||
ret c
|
||
ld [wcd26], a
|
||
jr .asm_11c6c4
|
||
.asm_11c71c
|
||
ld hl, wcd28
|
||
ld a, [wcd26]
|
||
add $c
|
||
ret c
|
||
cp [hl]
|
||
ret nc
|
||
ld a, [wcd26]
|
||
add $3
|
||
ld [wcd26], a
|
||
jr .asm_11c6c4
|
||
.asm_11c731
|
||
ld a, [wcd28]
|
||
ld b, a
|
||
ld a, [wcd26]
|
||
add [hl]
|
||
add $3
|
||
cp b
|
||
ret nc
|
||
ld a, [hl]
|
||
cp $9
|
||
jr nc, .asm_11c71c
|
||
add $3
|
||
jr .asm_11c76e
|
||
.asm_11c746
|
||
ld a, [hl]
|
||
and a
|
||
ret z
|
||
cp $3
|
||
ret z
|
||
cp $6
|
||
ret z
|
||
cp $9
|
||
ret z
|
||
dec a
|
||
jr .asm_11c76e
|
||
.asm_11c755
|
||
ld a, [wcd28]
|
||
ld b, a
|
||
ld a, [wcd26]
|
||
add [hl]
|
||
inc a
|
||
cp b
|
||
ret nc
|
||
ld a, [hl]
|
||
cp $2
|
||
ret z
|
||
cp $5
|
||
ret z
|
||
cp $8
|
||
ret z
|
||
cp $b
|
||
ret z
|
||
inc a
|
||
.asm_11c76e
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function11c770:
|
||
xor a
|
||
ld [wMobileCommsJumptableIndex], a
|
||
ld [wcd26], a
|
||
ld [wcd27], a
|
||
ld a, [wcd2b]
|
||
and a
|
||
jr nz, .cd2b_is_nonzero
|
||
ld a, [wcd21]
|
||
and a
|
||
jr z, .cd21_is_zero
|
||
; load from data array
|
||
dec a
|
||
sla a
|
||
ld hl, MobileEZChatData_WordAndPageCounts
|
||
ld c, a
|
||
ld b, 0
|
||
add hl, bc
|
||
ld a, [hli]
|
||
ld [wcd28], a
|
||
ld a, [hl]
|
||
.load
|
||
ld [wcd29], a
|
||
ret
|
||
|
||
.cd21_is_zero
|
||
; compute from [wc7d2]
|
||
ld a, [wc7d2]
|
||
ld [wcd28], a
|
||
.div_12
|
||
ld c, 12
|
||
call SimpleDivide
|
||
and a
|
||
jr nz, .no_need_to_floor
|
||
dec b
|
||
.no_need_to_floor
|
||
ld a, b
|
||
jr .load
|
||
|
||
.cd2b_is_nonzero
|
||
; compute from [c6a8 + 2 * [cd22]]
|
||
ld hl, $c6a8 ; $c68a + 30
|
||
ld a, [wcd22]
|
||
ld c, a
|
||
ld b, 0
|
||
add hl, bc
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld [wcd28], a
|
||
jr .div_12
|
||
|
||
Function11c7bc:
|
||
ld bc, Unknown_11c854
|
||
ld a, [wcd2b]
|
||
and a
|
||
jr nz, .asm_11c814
|
||
ld a, [wcd21]
|
||
ld d, a
|
||
and a
|
||
jr z, .asm_11c7e9
|
||
ld a, [wcd26]
|
||
ld e, a
|
||
.asm_11c7d0
|
||
ld a, [bc]
|
||
ld l, a
|
||
inc bc
|
||
ld a, [bc]
|
||
ld h, a
|
||
inc bc
|
||
and l
|
||
cp $ff
|
||
ret z
|
||
push bc
|
||
push de
|
||
call Function11c05d
|
||
pop de
|
||
pop bc
|
||
inc e
|
||
ld a, [wcd28]
|
||
cp e
|
||
jr nz, .asm_11c7d0
|
||
ret
|
||
|
||
.asm_11c7e9
|
||
ld hl, wListPointer
|
||
ld a, [wcd26]
|
||
ld e, a
|
||
add hl, de
|
||
.asm_11c7f1
|
||
push de
|
||
ld a, [hli]
|
||
ld e, a
|
||
ld d, $0
|
||
push hl
|
||
ld a, [bc]
|
||
ld l, a
|
||
inc bc
|
||
ld a, [bc]
|
||
ld h, a
|
||
inc bc
|
||
and l
|
||
cp $ff
|
||
jr z, .asm_11c811
|
||
push bc
|
||
call Function11c05d
|
||
pop bc
|
||
pop hl
|
||
pop de
|
||
inc e
|
||
ld a, [wcd28]
|
||
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
|
||
add hl, de
|
||
add hl, de
|
||
ld a, [hli]
|
||
ld e, a
|
||
ld a, [hl]
|
||
ld d, a
|
||
push de
|
||
pop hl
|
||
ld a, [wcd26]
|
||
ld e, a
|
||
ld d, $0
|
||
add hl, de
|
||
add hl, de
|
||
ld a, [wcd26]
|
||
ld e, a
|
||
.asm_11c831
|
||
push de
|
||
ld a, [hli]
|
||
ld e, a
|
||
ld a, [hli]
|
||
ld d, a
|
||
push hl
|
||
ld a, [bc]
|
||
ld l, a
|
||
inc bc
|
||
ld a, [bc]
|
||
ld h, a
|
||
inc bc
|
||
and l
|
||
cp $ff
|
||
jr z, .asm_11c851
|
||
push bc
|
||
call Function11c05d
|
||
pop bc
|
||
pop hl
|
||
pop de
|
||
inc e
|
||
ld a, [wcd28]
|
||
cp e
|
||
jr nz, .asm_11c831
|
||
ret
|
||
|
||
.asm_11c851
|
||
pop hl
|
||
pop de
|
||
ret
|
||
|
||
Unknown_11c854:
|
||
dwcoord 2, 8
|
||
dwcoord 8, 8
|
||
dwcoord 14, 8
|
||
dwcoord 2, 10
|
||
dwcoord 8, 10
|
||
dwcoord 14, 10
|
||
dwcoord 2, 12
|
||
dwcoord 8, 12
|
||
dwcoord 14, 12
|
||
dwcoord 2, 14
|
||
dwcoord 8, 14
|
||
dwcoord 14, 14
|
||
dw -1
|
||
|
||
Function11c86e:
|
||
ld a, [wcd26]
|
||
and a
|
||
jr z, .asm_11c88a
|
||
hlcoord 2, 17
|
||
ld de, MobileString_Prev
|
||
call PlaceString
|
||
hlcoord 6, 17
|
||
ld c, $3
|
||
xor a
|
||
.asm_11c883
|
||
ld [hli], a
|
||
inc a
|
||
dec c
|
||
jr nz, .asm_11c883
|
||
jr .asm_11c895
|
||
.asm_11c88a
|
||
hlcoord 2, 17
|
||
ld c, $7
|
||
ld a, $7f
|
||
.asm_11c891
|
||
ld [hli], a
|
||
dec c
|
||
jr nz, .asm_11c891
|
||
.asm_11c895
|
||
ld hl, wcd28
|
||
ld a, [wcd26]
|
||
add $c
|
||
jr c, .asm_11c8b7
|
||
cp [hl]
|
||
jr nc, .asm_11c8b7
|
||
hlcoord 16, 17
|
||
ld de, MobileString_Next
|
||
call PlaceString
|
||
hlcoord 11, 17
|
||
ld a, $3
|
||
ld c, a
|
||
.asm_11c8b1
|
||
ld [hli], a
|
||
inc a
|
||
dec c
|
||
jr nz, .asm_11c8b1
|
||
ret
|
||
|
||
.asm_11c8b7
|
||
hlcoord 17, 16
|
||
ld a, $7f
|
||
ld [hl], a
|
||
hlcoord 11, 17
|
||
ld c, $7
|
||
.asm_11c8c2
|
||
ld [hli], a
|
||
dec c
|
||
jr nz, .asm_11c8c2
|
||
ret
|
||
|
||
BCD2String:
|
||
inc a
|
||
push af
|
||
and $f
|
||
ld [hDividend], a
|
||
pop af
|
||
and $f0
|
||
swap a
|
||
ld [hDividend + 1], a
|
||
xor a
|
||
ld [hDividend + 2], a
|
||
push hl
|
||
farcall Function11a80c
|
||
pop hl
|
||
ld a, [wcd63]
|
||
add "0"
|
||
ld [hli], a
|
||
ld a, [wcd62]
|
||
add "0"
|
||
ld [hli], a
|
||
ret
|
||
|
||
MobileString_Page:
|
||
db "ぺージ@"
|
||
|
||
MobileString_Prev:
|
||
db "まえ@"
|
||
|
||
MobileString_Next:
|
||
db "つぎ@"
|
||
|
||
Function11c8f6:
|
||
ld a, [wcd20] ; wcd20
|
||
call Function11c95d
|
||
push hl
|
||
ld a, [wcd2b]
|
||
and a
|
||
jr nz, .asm_11c938
|
||
ld a, [wcd21]
|
||
ld d, a
|
||
and a
|
||
jr z, .asm_11c927
|
||
ld hl, wcd26
|
||
ld a, [wMobileCommsJumptableIndex]
|
||
add [hl]
|
||
.asm_11c911
|
||
ld e, a
|
||
.asm_11c912
|
||
pop hl
|
||
push de
|
||
call Function11c05d
|
||
pop de
|
||
ld a, [wcd20] ; wcd20
|
||
ld c, a
|
||
ld b, $0
|
||
ld hl, wcd36
|
||
add hl, bc
|
||
add hl, bc
|
||
ld [hl], e
|
||
inc hl
|
||
ld [hl], d
|
||
ret
|
||
|
||
.asm_11c927
|
||
ld hl, wcd26
|
||
ld a, [wMobileCommsJumptableIndex]
|
||
add [hl]
|
||
ld c, a
|
||
ld b, $0
|
||
ld hl, wListPointer
|
||
add hl, bc
|
||
ld a, [hl]
|
||
jr .asm_11c911
|
||
.asm_11c938
|
||
ld hl, $c648
|
||
ld a, [wcd22]
|
||
ld e, a
|
||
ld d, $0
|
||
add hl, de
|
||
add hl, de
|
||
ld a, [hli]
|
||
ld e, a
|
||
ld a, [hl]
|
||
ld d, a
|
||
push de
|
||
pop hl
|
||
ld a, [wcd26]
|
||
ld e, a
|
||
ld d, $0
|
||
add hl, de
|
||
add hl, de
|
||
ld a, [wMobileCommsJumptableIndex]
|
||
ld e, a
|
||
add hl, de
|
||
add hl, de
|
||
ld a, [hli]
|
||
ld e, a
|
||
ld a, [hl]
|
||
ld d, a
|
||
jr .asm_11c912
|
||
|
||
Function11c95d:
|
||
sla a
|
||
ld c, a
|
||
ld b, 0
|
||
ld hl, Unknown_11c986
|
||
add hl, bc
|
||
ld a, [hli]
|
||
ld c, a
|
||
ld a, [hl]
|
||
ld b, a
|
||
push bc
|
||
push bc
|
||
pop hl
|
||
ld a, $5
|
||
ld c, a
|
||
ld a, $7f
|
||
.asm_11c972
|
||
ld [hli], a
|
||
dec c
|
||
jr nz, .asm_11c972
|
||
dec hl
|
||
ld bc, -20
|
||
add hl, bc
|
||
ld a, $5
|
||
ld c, a
|
||
ld a, $7f
|
||
.asm_11c980
|
||
ld [hld], a
|
||
dec c
|
||
jr nz, .asm_11c980
|
||
pop hl
|
||
ret
|
||
|
||
Unknown_11c986:
|
||
dwcoord 1, 2
|
||
dwcoord 7, 2
|
||
dwcoord 13, 2
|
||
dwcoord 1, 4
|
||
dwcoord 7, 4
|
||
dwcoord 13, 4
|
||
|
||
Function11c992:
|
||
ld a, $8
|
||
hlcoord 2, 7
|
||
.asm_11c997
|
||
push af
|
||
ld a, $7f
|
||
push hl
|
||
ld bc, $11
|
||
call ByteFill
|
||
pop hl
|
||
ld bc, $14
|
||
add hl, bc
|
||
pop af
|
||
dec a
|
||
jr nz, .asm_11c997
|
||
ret
|
||
|
||
Function11c9ab:
|
||
ld a, $7
|
||
hlcoord 0, 6, wAttrMap
|
||
ld bc, $c8
|
||
call ByteFill
|
||
farcall ReloadMapPart
|
||
ret
|
||
|
||
Function11c9bd:
|
||
ld de, String_11ca38
|
||
call Function11ca7f
|
||
|
||
Function11c9c3:
|
||
ld hl, wcd2a
|
||
ld de, hJoypadPressed ; $ffa3
|
||
ld a, [de]
|
||
and $1
|
||
jr nz, .asm_11c9de
|
||
ld a, [de]
|
||
and $2
|
||
jr nz, .asm_11c9e9
|
||
ld a, [de]
|
||
and $40
|
||
jr nz, .asm_11c9f7
|
||
ld a, [de]
|
||
and $80
|
||
jr nz, .asm_11c9fc
|
||
ret
|
||
|
||
.asm_11c9de
|
||
ld a, [hl]
|
||
and a
|
||
jr nz, .asm_11c9e9
|
||
call Function11ca5e
|
||
xor a
|
||
ld [wcd20], a ; wcd20
|
||
.asm_11c9e9
|
||
ld hl, wcd24
|
||
set 4, [hl]
|
||
ld a, $4
|
||
ld [wJumptableIndex], a
|
||
call PlayClickSFX
|
||
ret
|
||
|
||
.asm_11c9f7
|
||
ld a, [hl]
|
||
and a
|
||
ret z
|
||
dec [hl]
|
||
ret
|
||
|
||
.asm_11c9fc
|
||
ld a, [hl]
|
||
and a
|
||
ret nz
|
||
inc [hl]
|
||
ret
|
||
|
||
Function11ca01:
|
||
hlcoord 14, 7, wAttrMap
|
||
ld de, $14
|
||
ld a, $5
|
||
ld c, a
|
||
.asm_11ca0a
|
||
push hl
|
||
ld a, $6
|
||
ld b, a
|
||
ld a, $7
|
||
.asm_11ca10
|
||
ld [hli], a
|
||
dec b
|
||
jr nz, .asm_11ca10
|
||
pop hl
|
||
add hl, de
|
||
dec c
|
||
jr nz, .asm_11ca0a
|
||
|
||
Function11ca19:
|
||
hlcoord 0, 12, wAttrMap
|
||
ld de, $14
|
||
ld a, $6
|
||
ld c, a
|
||
.asm_11ca22
|
||
push hl
|
||
ld a, $14
|
||
ld b, a
|
||
ld a, $7
|
||
.asm_11ca28
|
||
ld [hli], a
|
||
dec b
|
||
jr nz, .asm_11ca28
|
||
pop hl
|
||
add hl, de
|
||
dec c
|
||
jr nz, .asm_11ca22
|
||
farcall ReloadMapPart
|
||
ret
|
||
|
||
String_11ca38:
|
||
db "とうろくちゅう<NO>あいさつ¯ぜんぶ"
|
||
next "けしても よろしいですか?@"
|
||
|
||
String_11ca57:
|
||
db "はい"
|
||
next "いいえ@"
|
||
|
||
Function11ca5e:
|
||
xor a
|
||
.loop
|
||
push af
|
||
call Function11ca6a
|
||
pop af
|
||
inc a
|
||
cp $6
|
||
jr nz, .loop
|
||
ret
|
||
|
||
Function11ca6a:
|
||
ld hl, wcd36
|
||
ld c, a
|
||
ld b, $0
|
||
add hl, bc
|
||
add hl, bc
|
||
ld [hl], b
|
||
inc hl
|
||
ld [hl], b
|
||
call Function11c95d
|
||
ld de, String_11c3bc
|
||
call PlaceString
|
||
ret
|
||
|
||
Function11ca7f:
|
||
push de
|
||
ld de, Unknown_11cfc6
|
||
call Function11cfce
|
||
ld de, Unknown_11cfca
|
||
call Function11cfce
|
||
hlcoord 1, 14
|
||
pop de
|
||
call PlaceString
|
||
hlcoord 16, 8
|
||
ld de, String_11ca57
|
||
call PlaceString
|
||
call Function11ca01
|
||
ld a, $1
|
||
ld [wcd2a], a
|
||
ld hl, wcd24
|
||
res 4, [hl]
|
||
call Function11cfb5
|
||
ret
|
||
|
||
Function11caad:
|
||
ld de, String_11cb1c
|
||
call Function11ca7f
|
||
|
||
Function11cab3:
|
||
ld hl, wcd2a
|
||
ld de, hJoypadPressed ; $ffa3
|
||
ld a, [de]
|
||
and $1
|
||
jr nz, .asm_11cace
|
||
ld a, [de]
|
||
and $2
|
||
jr nz, .asm_11caf9
|
||
ld a, [de]
|
||
and $40
|
||
jr nz, .asm_11cb12
|
||
ld a, [de]
|
||
and $80
|
||
jr nz, .asm_11cb17
|
||
ret
|
||
|
||
.asm_11cace
|
||
call PlayClickSFX
|
||
ld a, [hl]
|
||
and a
|
||
jr nz, .asm_11cafc
|
||
ld a, [wcd35]
|
||
and a
|
||
jr z, .asm_11caf3
|
||
cp $ff
|
||
jr z, .asm_11caf3
|
||
ld a, $ff
|
||
ld [wcd35], a
|
||
hlcoord 1, 14
|
||
ld de, String_11cb31
|
||
call PlaceString
|
||
ld a, $1
|
||
ld [wcd2a], a
|
||
ret
|
||
|
||
.asm_11caf3
|
||
ld hl, wJumptableIndex
|
||
set 7, [hl]
|
||
ret
|
||
|
||
.asm_11caf9
|
||
call PlayClickSFX
|
||
.asm_11cafc
|
||
ld hl, wcd24
|
||
set 4, [hl]
|
||
ld a, $4
|
||
ld [wJumptableIndex], a
|
||
ld a, [wcd35]
|
||
cp $ff
|
||
ret nz
|
||
ld a, $1
|
||
ld [wcd35], a
|
||
ret
|
||
|
||
.asm_11cb12
|
||
ld a, [hl]
|
||
and a
|
||
ret z
|
||
dec [hl]
|
||
ret
|
||
|
||
.asm_11cb17
|
||
ld a, [hl]
|
||
and a
|
||
ret nz
|
||
inc [hl]
|
||
ret
|
||
|
||
String_11cb1c:
|
||
db "あいさつ<NO>とうろく¯ちゅうし"
|
||
next "しますか?@"
|
||
|
||
String_11cb31:
|
||
db "とうろくちゅう<NO>あいさつ<WA>ほぞん"
|
||
next "されません<GA>よろしい ですか?@"
|
||
|
||
Function11cb52:
|
||
ld hl, Unknown_11cc01
|
||
ld a, [wMenuCursorY]
|
||
.asm_11cb58
|
||
dec a
|
||
jr z, .asm_11cb5f
|
||
inc hl
|
||
inc hl
|
||
jr .asm_11cb58
|
||
.asm_11cb5f
|
||
ld a, [hli]
|
||
ld e, a
|
||
ld a, [hl]
|
||
ld d, a
|
||
call Function11ca7f
|
||
|
||
Function11cb66:
|
||
ld hl, wcd2a
|
||
ld de, hJoypadPressed ; $ffa3
|
||
ld a, [de]
|
||
and $1
|
||
jr nz, .asm_11cb81
|
||
ld a, [de]
|
||
and $2
|
||
jr nz, .asm_11cbd7
|
||
ld a, [de]
|
||
and $40
|
||
jr nz, .asm_11cbeb
|
||
ld a, [de]
|
||
and $80
|
||
jr nz, .asm_11cbf0
|
||
ret
|
||
|
||
.asm_11cb81
|
||
ld a, [hl]
|
||
and a
|
||
jr nz, .asm_11cbd4
|
||
ld a, $4
|
||
call GetSRAMBank
|
||
ld hl, $a007
|
||
ld a, [wMenuCursorY]
|
||
dec a
|
||
sla a
|
||
sla a
|
||
ld c, a
|
||
sla a
|
||
add c
|
||
ld c, a
|
||
ld b, $0
|
||
add hl, bc
|
||
ld de, wcd36
|
||
ld c, $c
|
||
.asm_11cba2
|
||
ld a, [de]
|
||
ld [hli], a
|
||
inc de
|
||
dec c
|
||
jr nz, .asm_11cba2
|
||
call CloseSRAM
|
||
call PlayClickSFX
|
||
ld de, Unknown_11cfc6
|
||
call Function11cfce
|
||
ld hl, Unknown_11cc7e
|
||
ld a, [wMenuCursorY]
|
||
.asm_11cbba
|
||
dec a
|
||
jr z, .asm_11cbc1
|
||
inc hl
|
||
inc hl
|
||
jr .asm_11cbba
|
||
.asm_11cbc1
|
||
ld a, [hli]
|
||
ld e, a
|
||
ld a, [hl]
|
||
ld d, a
|
||
hlcoord 1, 14
|
||
call PlaceString
|
||
ld hl, wJumptableIndex
|
||
inc [hl]
|
||
inc hl
|
||
ld a, $10
|
||
ld [hl], a
|
||
ret
|
||
|
||
.asm_11cbd4
|
||
call PlayClickSFX
|
||
.asm_11cbd7
|
||
ld de, Unknown_11cfba
|
||
call Function11cfce
|
||
call Function11c38a
|
||
ld hl, wcd24
|
||
set 4, [hl]
|
||
ld a, $4
|
||
ld [wJumptableIndex], a
|
||
ret
|
||
|
||
.asm_11cbeb
|
||
ld a, [hl]
|
||
and a
|
||
ret z
|
||
dec [hl]
|
||
ret
|
||
|
||
.asm_11cbf0
|
||
ld a, [hl]
|
||
and a
|
||
ret nz
|
||
inc [hl]
|
||
ret
|
||
|
||
Function11cbf5:
|
||
call WaitSFX
|
||
ld hl, wcf64
|
||
dec [hl]
|
||
ret nz
|
||
dec hl
|
||
set 7, [hl]
|
||
ret
|
||
|
||
Unknown_11cc01:
|
||
dw String_11cc09
|
||
dw String_11cc23
|
||
dw String_11cc42
|
||
dw String_11cc60
|
||
|
||
String_11cc09:
|
||
db "じこしょうかい は"
|
||
next "この あいさつで いいですか?@"
|
||
|
||
String_11cc23:
|
||
db "たいせん <GA>はじまるとき は"
|
||
next "この あいさつで いいですか?@"
|
||
|
||
String_11cc42:
|
||
db "たいせん <NI>かったとき は"
|
||
next "この あいさつで いいですか?@"
|
||
|
||
String_11cc60:
|
||
db "たいせん <NI>まけたとき は"
|
||
next "この あいさつで いいですか?@"
|
||
|
||
Unknown_11cc7e:
|
||
dw String_11cc86
|
||
dw String_11cc9d
|
||
dw String_11ccb9
|
||
dw String_11ccd4
|
||
|
||
String_11cc86:
|
||
db "じこしょうかい の"
|
||
next "あいさつ¯とうろくした!@"
|
||
|
||
String_11cc9d:
|
||
db "たいせん <GA>はじまるとき の"
|
||
next "あいさつ¯とうろくした!@"
|
||
|
||
String_11ccb9:
|
||
db "たいせん <NI>かったとき の"
|
||
next "あいさつ¯とうろくした!@"
|
||
|
||
String_11ccd4:
|
||
db "たいせん <NI>まけたとき の"
|
||
next "あいさつ¯とうろくした!@"
|
||
|
||
Function11ccef:
|
||
ld de, Unknown_11cfc6
|
||
call Function11cfce
|
||
hlcoord 1, 14
|
||
ld de, String_11cd10
|
||
call PlaceString
|
||
call Function11ca19
|
||
call Function11cfb5
|
||
|
||
Function11cd04:
|
||
ld de, hJoypadPressed ; $ffa3
|
||
ld a, [de]
|
||
and a
|
||
ret z
|
||
ld a, $4
|
||
ld [wJumptableIndex], a
|
||
ret
|
||
|
||
String_11cd10:
|
||
db "なにか ことば¯いれてください@"
|
||
|
||
Function11cd20:
|
||
call EZChat_ClearBottom12Rows
|
||
ld de, Unknown_11cfc6
|
||
call Function11cfce
|
||
hlcoord 1, 14
|
||
ld a, [wcd2b]
|
||
ld [wcd2c], a
|
||
and a
|
||
jr nz, .asm_11cd3a
|
||
ld de, String_11cdc7
|
||
jr .asm_11cd3d
|
||
.asm_11cd3a
|
||
ld de, String_11cdd9
|
||
.asm_11cd3d
|
||
call PlaceString
|
||
hlcoord 4, 8
|
||
ld de, String_11cdf5
|
||
call PlaceString
|
||
call Function11cdaa
|
||
ld hl, wcd24
|
||
res 5, [hl]
|
||
call Function11cfb5
|
||
|
||
Function11cd54:
|
||
ld hl, wcd2c
|
||
ld de, hJoypadPressed ; $ffa3
|
||
ld a, [de]
|
||
and A_BUTTON
|
||
jr nz, .asm_11cd6f
|
||
ld a, [de]
|
||
and B_BUTTON
|
||
jr nz, .asm_11cd73
|
||
ld a, [de]
|
||
and D_UP
|
||
jr nz, .asm_11cd8b
|
||
ld a, [de]
|
||
and D_DOWN
|
||
jr nz, .asm_11cd94
|
||
ret
|
||
|
||
.asm_11cd6f
|
||
ld a, [hl]
|
||
ld [wcd2b], a
|
||
.asm_11cd73
|
||
ld a, [wcd2b]
|
||
and a
|
||
jr nz, .asm_11cd7d
|
||
ld a, $6
|
||
jr .asm_11cd7f
|
||
|
||
.asm_11cd7d
|
||
ld a, $15
|
||
.asm_11cd7f
|
||
ld [wJumptableIndex], a
|
||
ld hl, wcd24
|
||
set 5, [hl]
|
||
call PlayClickSFX
|
||
ret
|
||
|
||
.asm_11cd8b
|
||
ld a, [hl]
|
||
and a
|
||
ret z
|
||
dec [hl]
|
||
ld de, String_11cdc7
|
||
jr .asm_11cd9b
|
||
|
||
.asm_11cd94
|
||
ld a, [hl]
|
||
and a
|
||
ret nz
|
||
inc [hl]
|
||
ld de, String_11cdd9
|
||
.asm_11cd9b
|
||
push de
|
||
ld de, Unknown_11cfc6
|
||
call Function11cfce
|
||
pop de
|
||
hlcoord 1, 14
|
||
call PlaceString
|
||
ret
|
||
|
||
Function11cdaa:
|
||
ld a, $2
|
||
hlcoord 0, 6, wAttrMap
|
||
ld bc, 6 * SCREEN_WIDTH
|
||
call ByteFill
|
||
ld a, $7
|
||
hlcoord 0, 12, wAttrMap
|
||
ld bc, 4 * SCREEN_WIDTH
|
||
call ByteFill
|
||
farcall ReloadMapPart
|
||
ret
|
||
|
||
String_11cdc7:
|
||
; Words will be displayed by category
|
||
db "ことば¯しゅるいべつに"
|
||
next "えらべます@"
|
||
|
||
String_11cdd9:
|
||
; Words will be displayed in alphabetical order
|
||
db "ことば¯アイウエオ の"
|
||
next "じゅんばんで ひょうじ します@"
|
||
|
||
String_11cdf5:
|
||
db "しゅるいべつ モード" ; Category mode
|
||
next "アイウエオ モード@" ; ABC mode
|
||
|
||
Function11ce0b:
|
||
call EZChat_ClearBottom12Rows
|
||
hlcoord 1, 7
|
||
ld de, String_11cf79
|
||
call PlaceString
|
||
hlcoord 1, 17
|
||
ld de, EZChatString_Stop_Mode_Cancel
|
||
call PlaceString
|
||
call Function11c618
|
||
ld hl, wcd24
|
||
res 2, [hl]
|
||
call Function11cfb5
|
||
|
||
Function11ce2b:
|
||
ld a, [wcd22]
|
||
sla a
|
||
sla a
|
||
ld c, a
|
||
ld b, 0
|
||
ld hl, Unknown_11ceb9
|
||
add hl, bc
|
||
|
||
ld de, hJoypadPressed ; $ffa3
|
||
ld a, [de]
|
||
and START
|
||
jr nz, .start
|
||
ld a, [de]
|
||
and SELECT
|
||
jr nz, .select
|
||
ld a, [de]
|
||
and A_BUTTON
|
||
jr nz, .a
|
||
ld a, [de]
|
||
and B_BUTTON
|
||
jr nz, .b
|
||
|
||
ld de, hJoyLast
|
||
ld a, [de]
|
||
and D_UP
|
||
jr nz, .up
|
||
ld a, [de]
|
||
and D_DOWN
|
||
jr nz, .down
|
||
ld a, [de]
|
||
and D_LEFT
|
||
jr nz, .left
|
||
ld a, [de]
|
||
and D_RIGHT
|
||
jr nz, .right
|
||
|
||
ret
|
||
|
||
.a
|
||
ld a, [wcd22]
|
||
cp NUM_KANA
|
||
jr c, .place
|
||
sub NUM_KANA
|
||
jr z, .done
|
||
dec a
|
||
jr z, .mode
|
||
jr .b
|
||
|
||
.start
|
||
ld hl, wcd24
|
||
set 0, [hl]
|
||
ld a, $8
|
||
ld [wcd20], a ; wcd20
|
||
.b
|
||
ld a, $4
|
||
jr .load
|
||
|
||
.select
|
||
ld a, [wcd2b]
|
||
xor $1
|
||
ld [wcd2b], a
|
||
ld a, $6
|
||
jr .load
|
||
|
||
.place
|
||
ld a, $8
|
||
jr .load
|
||
|
||
.mode
|
||
ld a, $13
|
||
.load
|
||
ld [wJumptableIndex], a
|
||
ld hl, wcd24
|
||
set 2, [hl]
|
||
call PlayClickSFX
|
||
ret
|
||
|
||
.done
|
||
ld a, [wcd20] ; wcd20
|
||
call Function11ca6a
|
||
call PlayClickSFX
|
||
ret
|
||
|
||
.left
|
||
inc hl
|
||
.down
|
||
inc hl
|
||
.right
|
||
inc hl
|
||
.up
|
||
ld a, [hl]
|
||
cp $ff
|
||
ret z
|
||
ld [wcd22], a
|
||
ret
|
||
|
||
Unknown_11ceb9:
|
||
; up left down right
|
||
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
|
||
|
||
String_11cf79:
|
||
; Hiragana table
|
||
db "あいうえお なにぬねの や ゆ よ"
|
||
next "かきくけこ はひふへほ わ"
|
||
next "さしすせそ まみむめも そのた"
|
||
next "たちつてと らりるれろ"
|
||
db "@"
|
||
|
||
Function11cfb5:
|
||
ld hl, wJumptableIndex
|
||
inc [hl]
|
||
ret
|
||
|
||
Unknown_11cfba:
|
||
db 0, 0 ; start coords
|
||
db 20, 6 ; end coords
|
||
|
||
Unknown_11cfbe:
|
||
db 0, 14 ; start coords
|
||
db 20, 4 ; end coords
|
||
|
||
Unknown_11cfc2:
|
||
db 0, 6 ; start coords
|
||
db 20, 10 ; end coords
|
||
|
||
Unknown_11cfc6:
|
||
db 0, 12 ; start coords
|
||
db 20, 6 ; end coords
|
||
|
||
Unknown_11cfca:
|
||
db 14, 7 ; start coords
|
||
db 6, 5 ; end coords
|
||
|
||
Function11cfce:
|
||
hlcoord 0, 0
|
||
ld bc, SCREEN_WIDTH
|
||
ld a, [de]
|
||
inc de
|
||
push af
|
||
ld a, [de]
|
||
inc de
|
||
and a
|
||
.add_n_times
|
||
jr z, .done_add_n_times
|
||
add hl, bc
|
||
dec a
|
||
jr .add_n_times
|
||
.done_add_n_times
|
||
pop af
|
||
ld c, a
|
||
ld b, 0
|
||
add hl, bc
|
||
push hl
|
||
ld a, $79
|
||
ld [hli], a
|
||
ld a, [de]
|
||
inc de
|
||
dec a
|
||
dec a
|
||
jr z, .skip_fill
|
||
ld c, a
|
||
ld a, $7a
|
||
.fill_loop
|
||
ld [hli], a
|
||
dec c
|
||
jr nz, .fill_loop
|
||
.skip_fill
|
||
ld a, $7b
|
||
ld [hl], a
|
||
pop hl
|
||
ld bc, SCREEN_WIDTH
|
||
add hl, bc
|
||
ld a, [de]
|
||
dec de
|
||
dec a
|
||
dec a
|
||
jr z, .skip_section
|
||
ld b, a
|
||
.loop
|
||
push hl
|
||
ld a, $7c
|
||
ld [hli], a
|
||
ld a, [de]
|
||
dec a
|
||
dec a
|
||
jr z, .skip_row
|
||
ld c, a
|
||
ld a, $7f
|
||
.row_loop
|
||
ld [hli], a
|
||
dec c
|
||
jr nz, .row_loop
|
||
.skip_row
|
||
ld a, $7c
|
||
ld [hl], a
|
||
pop hl
|
||
push bc
|
||
ld bc, SCREEN_WIDTH
|
||
add hl, bc
|
||
pop bc
|
||
dec b
|
||
jr nz, .loop
|
||
.skip_section
|
||
ld a, $7d
|
||
ld [hli], a
|
||
ld a, [de]
|
||
dec a
|
||
dec a
|
||
jr z, .skip_remainder
|
||
ld c, a
|
||
ld a, $7a
|
||
.final_loop
|
||
ld [hli], a
|
||
dec c
|
||
jr nz, .final_loop
|
||
.skip_remainder
|
||
ld a, $7e
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function11d035:
|
||
hlcoord 0, 0
|
||
ld bc, SCREEN_WIDTH
|
||
ld a, [de]
|
||
inc de
|
||
push af
|
||
ld a, [de]
|
||
inc de
|
||
and a
|
||
.add_n_times
|
||
jr z, .done_add_n_times
|
||
add hl, bc
|
||
dec a
|
||
jr .add_n_times
|
||
.done_add_n_times
|
||
pop af
|
||
ld c, a
|
||
ld b, $0
|
||
add hl, bc
|
||
push hl
|
||
ld a, $79
|
||
ld [hl], a
|
||
pop hl
|
||
push hl
|
||
ld a, [de]
|
||
dec a
|
||
inc de
|
||
ld c, a
|
||
add hl, bc
|
||
ld a, $7b
|
||
ld [hl], a
|
||
call .AddNMinusOneTimes
|
||
ld a, $7e
|
||
ld [hl], a
|
||
pop hl
|
||
push hl
|
||
call .AddNMinusOneTimes
|
||
ld a, $7d
|
||
ld [hl], a
|
||
pop hl
|
||
push hl
|
||
inc hl
|
||
push hl
|
||
call .AddNMinusOneTimes
|
||
pop bc
|
||
dec de
|
||
ld a, [de]
|
||
cp $2
|
||
jr z, .skip
|
||
dec a
|
||
dec a
|
||
.loop
|
||
push af
|
||
ld a, $7a
|
||
ld [hli], a
|
||
ld [bc], a
|
||
inc bc
|
||
pop af
|
||
dec a
|
||
jr nz, .loop
|
||
.skip
|
||
pop hl
|
||
ld bc, $14
|
||
add hl, bc
|
||
push hl
|
||
ld a, [de]
|
||
dec a
|
||
ld c, a
|
||
ld b, $0
|
||
add hl, bc
|
||
pop bc
|
||
inc de
|
||
ld a, [de]
|
||
cp $2
|
||
ret z
|
||
push bc
|
||
dec a
|
||
dec a
|
||
ld c, a
|
||
ld b, a
|
||
ld de, $14
|
||
.loop2
|
||
ld a, $7c
|
||
ld [hl], a
|
||
add hl, de
|
||
dec c
|
||
jr nz, .loop2
|
||
pop hl
|
||
.loop3
|
||
ld a, $7c
|
||
ld [hl], a
|
||
add hl, de
|
||
dec b
|
||
jr nz, .loop3
|
||
ret
|
||
|
||
.AddNMinusOneTimes:
|
||
ld a, [de]
|
||
dec a
|
||
ld bc, SCREEN_WIDTH
|
||
.add_n_minus_one_times
|
||
add hl, bc
|
||
dec a
|
||
jr nz, .add_n_minus_one_times
|
||
ret
|
||
|
||
AnimateEZChatCursor:
|
||
ld hl, SPRITEANIMSTRUCT_0C
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld e, a
|
||
ld d, 0
|
||
ld hl, .Jumptable
|
||
add hl, de
|
||
add hl, de
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
jp hl
|
||
|
||
.Jumptable:
|
||
dw .zero
|
||
dw .one
|
||
dw .two
|
||
dw .three
|
||
dw .four
|
||
dw .five
|
||
dw .six
|
||
dw .seven
|
||
dw .eight
|
||
dw .nine
|
||
dw .ten
|
||
|
||
.zero
|
||
ld a, [wcd20] ; wcd20
|
||
sla a
|
||
ld hl, .Coords_Zero
|
||
ld e, $1
|
||
jr .load
|
||
|
||
.one
|
||
ld a, [wcd21]
|
||
sla a
|
||
ld hl, .Coords_One
|
||
ld e, $2
|
||
jr .load
|
||
|
||
.two
|
||
ld hl, .FramesetsIDs_Two
|
||
ld a, [wcd22]
|
||
ld e, a
|
||
ld d, $0
|
||
add hl, de
|
||
ld a, [hl]
|
||
call ReinitSpriteAnimFrame
|
||
|
||
ld a, [wcd22]
|
||
sla a
|
||
ld hl, .Coords_Two
|
||
ld e, $4
|
||
jr .load
|
||
|
||
.three
|
||
ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_2
|
||
call ReinitSpriteAnimFrame
|
||
ld a, [wMobileCommsJumptableIndex]
|
||
sla a
|
||
ld hl, .Coords_Three
|
||
ld e, $8
|
||
.load
|
||
push de
|
||
ld e, a
|
||
ld d, $0
|
||
add hl, de
|
||
push hl
|
||
pop de
|
||
ld hl, SPRITEANIMSTRUCT_XCOORD
|
||
add hl, bc
|
||
ld a, [de]
|
||
inc de
|
||
ld [hli], a
|
||
ld a, [de]
|
||
ld [hl], a
|
||
pop de
|
||
ld a, e
|
||
call .UpdateObjectFlags
|
||
ret
|
||
|
||
.four
|
||
ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_2
|
||
call ReinitSpriteAnimFrame
|
||
ld a, [wcd2a]
|
||
sla a
|
||
ld hl, .Coords_Four
|
||
ld e, $10
|
||
jr .load
|
||
|
||
.five
|
||
ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_2
|
||
call ReinitSpriteAnimFrame
|
||
ld a, [wcd2c]
|
||
sla a
|
||
ld hl, .Coords_Five
|
||
ld e, $20
|
||
jr .load
|
||
|
||
.six
|
||
ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_5
|
||
call ReinitSpriteAnimFrame
|
||
; X = [wcd4a] * 8 + 24
|
||
ld a, [wcd4a]
|
||
sla a
|
||
sla a
|
||
sla a
|
||
add $18
|
||
ld hl, SPRITEANIMSTRUCT_XCOORD
|
||
add hl, bc
|
||
ld [hli], a
|
||
; Y = 48
|
||
ld a, $30
|
||
ld [hl], a
|
||
|
||
ld a, $1
|
||
ld e, a
|
||
call .UpdateObjectFlags
|
||
ret
|
||
|
||
.seven
|
||
ld a, [wEZChatCursorYCoord]
|
||
cp $4
|
||
jr z, .cursor0
|
||
ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3
|
||
jr .got_frameset
|
||
|
||
.cursor0
|
||
ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1
|
||
.got_frameset
|
||
call ReinitSpriteAnimFrame
|
||
ld a, [wEZChatCursorYCoord]
|
||
cp $4
|
||
jr z, .asm_11d1b1
|
||
; X = [wEZChatCursorXCoord] * 8 + 32
|
||
ld a, [wEZChatCursorXCoord]
|
||
sla a
|
||
sla a
|
||
sla a
|
||
add $20
|
||
ld hl, SPRITEANIMSTRUCT_XCOORD
|
||
add hl, bc
|
||
ld [hli], a
|
||
; Y = [wEZChatCursorYCoord] * 16 + 72
|
||
ld a, [wEZChatCursorYCoord]
|
||
sla a
|
||
sla a
|
||
sla a
|
||
sla a
|
||
add $48
|
||
ld [hl], a
|
||
ld a, $2
|
||
ld e, a
|
||
call .UpdateObjectFlags
|
||
ret
|
||
|
||
.asm_11d1b1
|
||
; X = [wEZChatCursorXCoord] * 40 + 24
|
||
ld a, [wEZChatCursorXCoord]
|
||
sla a
|
||
sla a
|
||
sla a
|
||
ld e, a
|
||
sla a
|
||
sla a
|
||
add e
|
||
add $18
|
||
ld hl, SPRITEANIMSTRUCT_XCOORD
|
||
add hl, bc
|
||
ld [hli], a
|
||
; Y = 138
|
||
ld a, $8a
|
||
ld [hl], a
|
||
ld a, $2
|
||
ld e, a
|
||
call .UpdateObjectFlags
|
||
ret
|
||
|
||
.nine
|
||
ld d, -13 * 8
|
||
ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_7
|
||
jr .eight_nine_load
|
||
|
||
.eight
|
||
ld d, 2 * 8
|
||
ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_6
|
||
.eight_nine_load
|
||
push de
|
||
call ReinitSpriteAnimFrame
|
||
ld a, [wcd4a]
|
||
sla a
|
||
sla a
|
||
sla a
|
||
ld e, a
|
||
sla a
|
||
add e
|
||
add 8 * 8
|
||
ld hl, SPRITEANIMSTRUCT_YCOORD
|
||
add hl, bc
|
||
ld [hld], a
|
||
pop af
|
||
ld [hl], a
|
||
ld a, $4
|
||
ld e, a
|
||
call .UpdateObjectFlags
|
||
ret
|
||
|
||
.ten
|
||
ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1
|
||
call ReinitSpriteAnimFrame
|
||
ld a, $8
|
||
ld e, a
|
||
call .UpdateObjectFlags
|
||
ret
|
||
|
||
.Coords_Zero:
|
||
dbpixel 1, 3, 5, 2
|
||
dbpixel 7, 3, 5, 2
|
||
dbpixel 13, 3, 5, 2
|
||
dbpixel 1, 5, 5, 2
|
||
dbpixel 7, 5, 5, 2
|
||
dbpixel 13, 5, 5, 2
|
||
dbpixel 1, 17, 5, 2
|
||
dbpixel 7, 17, 5, 2
|
||
dbpixel 13, 17, 5, 2
|
||
|
||
.Coords_One:
|
||
dbpixel 1, 8, 5, 2
|
||
dbpixel 7, 8, 5, 2
|
||
dbpixel 13, 8, 5, 2
|
||
dbpixel 1, 10, 5, 2
|
||
dbpixel 7, 10, 5, 2
|
||
dbpixel 13, 10, 5, 2
|
||
dbpixel 1, 12, 5, 2
|
||
dbpixel 7, 12, 5, 2
|
||
dbpixel 13, 12, 5, 2
|
||
dbpixel 1, 14, 5, 2
|
||
dbpixel 7, 14, 5, 2
|
||
dbpixel 13, 14, 5, 2
|
||
dbpixel 1, 16, 5, 2
|
||
dbpixel 7, 16, 5, 2
|
||
dbpixel 13, 16, 5, 2
|
||
dbpixel 1, 18, 5, 2
|
||
dbpixel 7, 18, 5, 2
|
||
dbpixel 13, 18, 5, 2
|
||
|
||
.Coords_Two:
|
||
dbpixel 2, 9 ; 00
|
||
dbpixel 3, 9 ; 01
|
||
dbpixel 4, 9 ; 02
|
||
dbpixel 5, 9 ; 03
|
||
dbpixel 6, 9 ; 04
|
||
dbpixel 2, 11 ; 05
|
||
dbpixel 3, 11 ; 06
|
||
dbpixel 4, 11 ; 07
|
||
dbpixel 5, 11 ; 08
|
||
dbpixel 6, 11 ; 09
|
||
dbpixel 2, 13 ; 0a
|
||
dbpixel 3, 13 ; 0b
|
||
dbpixel 4, 13 ; 0c
|
||
dbpixel 5, 13 ; 0d
|
||
dbpixel 6, 13 ; 0e
|
||
dbpixel 2, 15 ; 0f
|
||
dbpixel 3, 15 ; 10
|
||
dbpixel 4, 15 ; 11
|
||
dbpixel 5, 15 ; 12
|
||
dbpixel 6, 15 ; 13
|
||
dbpixel 8, 9 ; 14
|
||
dbpixel 9, 9 ; 15
|
||
dbpixel 10, 9 ; 16
|
||
dbpixel 11, 9 ; 17
|
||
dbpixel 12, 9 ; 18
|
||
dbpixel 8, 11 ; 19
|
||
dbpixel 9, 11 ; 1a
|
||
dbpixel 10, 11 ; 1b
|
||
dbpixel 11, 11 ; 1c
|
||
dbpixel 12, 11 ; 1d
|
||
dbpixel 8, 13 ; 1e
|
||
dbpixel 9, 13 ; 1f
|
||
dbpixel 10, 13 ; 20
|
||
dbpixel 11, 13 ; 21
|
||
dbpixel 12, 13 ; 22
|
||
dbpixel 14, 9 ; 23
|
||
dbpixel 16, 9 ; 24
|
||
dbpixel 18, 9 ; 25
|
||
dbpixel 8, 15 ; 26
|
||
dbpixel 9, 15 ; 27
|
||
dbpixel 10, 15 ; 28
|
||
dbpixel 11, 15 ; 29
|
||
dbpixel 12, 15 ; 2a
|
||
dbpixel 14, 11 ; 2b
|
||
dbpixel 14, 13 ; 2c
|
||
dbpixel 1, 18, 5, 2 ; 2d
|
||
dbpixel 7, 18, 5, 2 ; 2e
|
||
dbpixel 13, 18, 5, 2 ; 2f
|
||
|
||
.Coords_Three:
|
||
dbpixel 2, 10
|
||
dbpixel 8, 10
|
||
dbpixel 14, 10
|
||
dbpixel 2, 12
|
||
dbpixel 8, 12
|
||
dbpixel 14, 12
|
||
dbpixel 2, 14
|
||
dbpixel 8, 14
|
||
dbpixel 14, 14
|
||
dbpixel 2, 16
|
||
dbpixel 8, 16
|
||
dbpixel 14, 16
|
||
|
||
.Coords_Four:
|
||
dbpixel 16, 10
|
||
dbpixel 16, 12
|
||
|
||
.Coords_Five:
|
||
dbpixel 4, 10
|
||
dbpixel 4, 12
|
||
|
||
.FramesetsIDs_Two:
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 00
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 01
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 02
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 03
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 04
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 05
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 06
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 07
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 08
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 09
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0a
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0b
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0c
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0d
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0e
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0f
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 10
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 11
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 12
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 13
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 14
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 15
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 16
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 17
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 18
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 19
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1a
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1b
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1c
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1d
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1e
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1f
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 20
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 21
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 22
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 23
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 24
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 25
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 26
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 27
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 28
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 29
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 2a
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 2b
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_4 ; 2c
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1 ; 2d
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1 ; 2e
|
||
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1 ; 2f
|
||
|
||
.UpdateObjectFlags:
|
||
ld hl, wcd24
|
||
and [hl]
|
||
jr nz, .update_y_offset
|
||
ld a, e
|
||
ld hl, wcd23
|
||
and [hl]
|
||
jr z, .reset_y_offset
|
||
ld hl, SPRITEANIMSTRUCT_0E
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and a
|
||
jr z, .flip_bit_0
|
||
dec [hl]
|
||
ret
|
||
|
||
.flip_bit_0
|
||
ld a, $0
|
||
ld [hld], a
|
||
ld a, $1
|
||
xor [hl]
|
||
ld [hl], a
|
||
and a
|
||
jr nz, .update_y_offset
|
||
.reset_y_offset
|
||
ld hl, SPRITEANIMSTRUCT_YOFFSET
|
||
add hl, bc
|
||
xor a
|
||
ld [hl], a
|
||
ret
|
||
|
||
.update_y_offset
|
||
ld hl, SPRITEANIMSTRUCT_YCOORD
|
||
add hl, bc
|
||
ld a, $b0
|
||
sub [hl]
|
||
ld hl, SPRITEANIMSTRUCT_YOFFSET
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function11d323:
|
||
ld a, [rSVBK]
|
||
push af
|
||
ld a, $5
|
||
ld [rSVBK], a
|
||
ld hl, Palette_11d33a
|
||
ld de, wBGPals1
|
||
ld bc, 16 palettes
|
||
call CopyBytes
|
||
pop af
|
||
ld [rSVBK], a
|
||
ret
|
||
|
||
Palette_11d33a:
|
||
RGB 31, 31, 31
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 31, 16, 31
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 23, 17, 31
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 31, 31, 31
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 31, 31, 31
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 31, 31, 31
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 31, 31, 31
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 31, 31, 31
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
RGB 00, 00, 00
|
||
|
||
EZChat_GetSeenPokemonByKana:
|
||
ld a, [rSVBK]
|
||
push af
|
||
ld hl, $c648
|
||
ld a, LOW(w5_d800)
|
||
ld [wcd2d], a
|
||
ld [hli], a
|
||
ld a, HIGH(w5_d800)
|
||
ld [wcd2e], a
|
||
ld [hl], a
|
||
|
||
ld a, LOW(EZChat_SortedPokemon)
|
||
ld [wcd2f], a
|
||
ld a, HIGH(EZChat_SortedPokemon)
|
||
ld [wcd30], a
|
||
|
||
ld a, LOW($c6a8)
|
||
ld [wcd31], a
|
||
ld a, HIGH($c6a8)
|
||
ld [wcd32], a
|
||
|
||
ld a, LOW($c64a)
|
||
ld [wcd33], a
|
||
ld a, HIGH($c64a)
|
||
ld [wcd34], a
|
||
|
||
ld hl, EZChat_SortedWords
|
||
ld a, (EZChat_SortedWords.End - EZChat_SortedWords) / 4
|
||
|
||
.MasterLoop:
|
||
push af
|
||
; read row
|
||
; offset
|
||
ld a, [hli]
|
||
ld e, a
|
||
ld a, [hli]
|
||
ld d, a
|
||
; size
|
||
ld a, [hli]
|
||
ld c, a
|
||
ld a, [hli]
|
||
ld b, a
|
||
; save the pointer to the next row
|
||
push hl
|
||
; add de to w3_d000
|
||
ld hl, w3_d000
|
||
add hl, de
|
||
; recover de from wcd2d (default: w5_d800)
|
||
ld a, [wcd2d]
|
||
ld e, a
|
||
ld a, [wcd2e]
|
||
ld d, a
|
||
; save bc for later
|
||
push bc
|
||
|
||
.loop1
|
||
; copy 2*bc bytes from 3:hl to 5:de
|
||
ld a, $3
|
||
ld [rSVBK], a
|
||
ld a, [hli]
|
||
push af
|
||
ld a, $5
|
||
ld [rSVBK], a
|
||
pop af
|
||
ld [de], a
|
||
inc de
|
||
|
||
ld a, $3
|
||
ld [rSVBK], a
|
||
ld a, [hli]
|
||
push af
|
||
ld a, $5
|
||
ld [rSVBK], a
|
||
pop af
|
||
ld [de], a
|
||
inc de
|
||
|
||
dec bc
|
||
ld a, c
|
||
or b
|
||
jr nz, .loop1
|
||
|
||
; recover the pointer from wcd2f (default: EZChat_SortedPokemon)
|
||
ld a, [wcd2f]
|
||
ld l, a
|
||
ld a, [wcd30]
|
||
ld h, a
|
||
; copy the pointer from [hl] to bc
|
||
ld a, [hli]
|
||
ld c, a
|
||
ld a, [hli]
|
||
ld b, a
|
||
; store the pointer to the next pointer back in wcd2f
|
||
ld a, l
|
||
ld [wcd2f], a
|
||
ld a, h
|
||
ld [wcd30], a
|
||
; push pop that pointer to hl
|
||
push bc
|
||
pop hl
|
||
ld c, $0
|
||
.loop2
|
||
; Have you seen this Pokemon?
|
||
ld a, [hl]
|
||
cp $ff
|
||
jr z, .done
|
||
call .CheckSeenMon
|
||
jr nz, .next
|
||
; If not, skip it.
|
||
inc hl
|
||
jr .loop2
|
||
|
||
.next
|
||
; If so, append it to the list at 5:de, and increase the count.
|
||
ld a, [hli]
|
||
ld [de], a
|
||
inc de
|
||
xor a
|
||
ld [de], a
|
||
inc de
|
||
inc c
|
||
jr .loop2
|
||
|
||
.done
|
||
; Remember the original value of bc from the table?
|
||
; Well, the stack remembers it, and it's popping it to hl.
|
||
pop hl
|
||
; Add the number of seen Pokemon from the list.
|
||
ld b, $0
|
||
add hl, bc
|
||
; Push pop to bc.
|
||
push hl
|
||
pop bc
|
||
; Load the pointer from [wcd31] (default: $c6a8)
|
||
ld a, [wcd31]
|
||
ld l, a
|
||
ld a, [wcd32]
|
||
ld h, a
|
||
; Save the quantity from bc to [hl]
|
||
ld a, c
|
||
ld [hli], a
|
||
ld a, b
|
||
ld [hli], a
|
||
; Save the new value of hl to [wcd31]
|
||
ld a, l
|
||
ld [wcd31], a
|
||
ld a, h
|
||
ld [wcd32], a
|
||
; Recover the pointer from [wcd33] (default: $c64a)
|
||
ld a, [wcd33]
|
||
ld l, a
|
||
ld a, [wcd34]
|
||
ld h, a
|
||
; Save the current value of de there
|
||
ld a, e
|
||
ld [wcd2d], a
|
||
ld [hli], a
|
||
ld a, d
|
||
ld [wcd2e], a
|
||
; Save the new value of hl back to [wcd33]
|
||
ld [hli], a
|
||
ld a, l
|
||
ld [wcd33], a
|
||
ld a, h
|
||
ld [wcd34], a
|
||
; Next row
|
||
pop hl
|
||
pop af
|
||
dec a
|
||
jr z, .ExitMasterLoop
|
||
jp .MasterLoop
|
||
|
||
.ExitMasterLoop:
|
||
pop af
|
||
ld [rSVBK], a
|
||
ret
|
||
|
||
.CheckSeenMon:
|
||
push hl
|
||
push bc
|
||
push de
|
||
dec a
|
||
ld hl, rSVBK
|
||
ld e, $1
|
||
ld [hl], e
|
||
call CheckSeenMon
|
||
ld hl, rSVBK
|
||
ld e, $5
|
||
ld [hl], e
|
||
pop de
|
||
pop bc
|
||
pop hl
|
||
ret
|
||
|
||
EZChat_GetCategoryWordsByKana:
|
||
ld a, [rSVBK]
|
||
push af
|
||
ld a, $3
|
||
ld [rSVBK], a
|
||
|
||
; load pointers
|
||
ld hl, MobileEZChatCategoryPointers
|
||
ld bc, MobileEZChatData_WordAndPageCounts
|
||
|
||
; init WRAM registers
|
||
xor a
|
||
ld [wcd2d], a
|
||
inc a
|
||
ld [wcd2e], a
|
||
|
||
; enter the first loop
|
||
ld a, 14
|
||
.loop1
|
||
push af
|
||
|
||
; load the pointer to the category
|
||
ld a, [hli]
|
||
ld e, a
|
||
ld a, [hli]
|
||
ld d, a
|
||
push hl
|
||
|
||
; skip to the attributes
|
||
ld hl, NAME_LENGTH_JAPANESE - 1
|
||
add hl, de
|
||
|
||
; get the number of words in the category
|
||
ld a, [bc] ; number of entries to copy
|
||
inc bc
|
||
inc bc
|
||
push bc
|
||
|
||
.loop2
|
||
push af
|
||
push hl
|
||
|
||
; load offset at [hl]
|
||
ld a, [hli]
|
||
ld e, a
|
||
ld a, [hl]
|
||
ld d, a
|
||
|
||
; add to w3_d000
|
||
ld hl, w3_d000
|
||
add hl, de
|
||
|
||
; copy from wcd2d and increment [wcd2d] in place
|
||
ld a, [wcd2d]
|
||
ld [hli], a
|
||
inc a
|
||
ld [wcd2d], a
|
||
|
||
; copy from wcd2e
|
||
ld a, [wcd2e]
|
||
ld [hl], a
|
||
|
||
; next entry
|
||
pop hl
|
||
ld de, 8
|
||
add hl, de
|
||
pop af
|
||
dec a
|
||
jr nz, .loop2
|
||
|
||
; reset and go to next category
|
||
ld hl, wcd2d
|
||
xor a
|
||
ld [hli], a
|
||
inc [hl]
|
||
pop bc
|
||
pop hl
|
||
pop af
|
||
dec a
|
||
jr nz, .loop1
|
||
pop af
|
||
ld [rSVBK], a
|
||
ret
|
||
|
||
INCLUDE "data/pokemon/ezchat_order.asm"
|
||
|
||
GFX_11d67e:
|
||
INCBIN "gfx/pokedex/select_start.2bpp"
|
||
|
||
LZ_11d6de:
|
||
INCBIN "gfx/pokedex/slowpoke.2bpp.lz"
|
||
|
||
MobileEZChatCategoryNames:
|
||
; Fixed message categories
|
||
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
|
||
|
||
MobileEZChatCategoryPointers:
|
||
; entries correspond to EZCHAT_* constants
|
||
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:
|
||
db "あく@@@", $26, $0, $0
|
||
db "いわ@@@", $aa, $0, $0
|
||
db "エスパー@", $da, $0, $0
|
||
db "かくとう@", $4e, $1, $0
|
||
db "くさ@@@", $ba, $1, $0
|
||
db "ゴースト@", $e4, $1, $0
|
||
db "こおり@@", $e6, $1, $0
|
||
db "じめん@@", $68, $2, $0
|
||
db "タイプ@@", $e8, $2, $0
|
||
db "でんき@@", $8e, $3, $0
|
||
db "どく@@@", $ae, $3, $0
|
||
db "ドラゴン@", $bc, $3, $0
|
||
db "ノーマル@", $22, $4, $0
|
||
db "はがね@@", $36, $4, $0
|
||
db "ひこう@@", $5e, $4, $0
|
||
db "ほのお@@", $b2, $4, $0
|
||
db "みず@@@", $f4, $4, $0
|
||
db "むし@@@", $12, $5, $0
|
||
|
||
.Greetings:
|
||
db "ありがと@", $58, $0, $0
|
||
db "ありがとう", $5a, $0, $0
|
||
db "いくぜ!@", $80, $0, $0
|
||
db "いくよ!@", $82, $0, $0
|
||
db "いくわよ!", $84, $0, $0
|
||
db "いやー@@", $a6, $0, $0
|
||
db "おっす@@", $a, $1, $0
|
||
db "おはつです", $22, $1, $0
|
||
db "おめでとう", $2a, $1, $0
|
||
db "ごめん@@", $f8, $1, $0
|
||
db "ごめんよ@", $fa, $1, $0
|
||
db "こらっ@@", $fc, $1, $0
|
||
db "こんちは!", $a, $2, $0
|
||
db "こんにちは", $10, $2, $0
|
||
db "さようなら", $28, $2, $0
|
||
db "サンキュー", $2e, $2, $0
|
||
db "さんじょう", $30, $2, $0
|
||
db "しっけい@", $48, $2, $0
|
||
db "しつれい@", $4c, $2, $0
|
||
db "じゃーね@", $6c, $2, $0
|
||
db "すいません", $8c, $2, $0
|
||
db "それじゃ@", $ca, $2, $0
|
||
db "どうも@@", $a6, $3, $0
|
||
db "なんじゃ@", $ee, $3, $0
|
||
db "ハーイ@@", $2c, $4, $0
|
||
db "はいはい@", $32, $4, $0
|
||
db "バイバイ@", $34, $4, $0
|
||
db "へイ@@@", $8a, $4, $0
|
||
db "またね@@", $de, $4, $0
|
||
db "もしもし@", $32, $5, $0
|
||
db "やあ@@@", $3e, $5, $0
|
||
db "やっほー@", $4e, $5, $0
|
||
db "よう@@@", $62, $5, $0
|
||
db "ようこそ@", $64, $5, $0
|
||
db "よろしく@", $80, $5, $0
|
||
db "らっしゃい", $94, $5, $0
|
||
|
||
.People:
|
||
db "あいて@@", $1c, $0, $0
|
||
db "あたし@@", $36, $0, $0
|
||
db "あなた@@", $40, $0, $0
|
||
db "あなたが@", $42, $0, $0
|
||
db "あなたに@", $44, $0, $0
|
||
db "あなたの@", $46, $0, $0
|
||
db "あなたは@", $48, $0, $0
|
||
db "あなたを@", $4a, $0, $0
|
||
db "おかあさん", $e8, $0, $0
|
||
db "おじいさん", $fc, $0, $0
|
||
db "おじさん@", $2, $1, $0
|
||
db "おとうさん", $e, $1, $0
|
||
db "おとこのこ", $10, $1, $0
|
||
db "おとな@@", $14, $1, $0
|
||
db "おにいさん", $16, $1, $0
|
||
db "おねえさん", $18, $1, $0
|
||
db "おばあさん", $1c, $1, $0
|
||
db "おばさん@", $20, $1, $0
|
||
db "おれさま@", $34, $1, $0
|
||
db "おんなのこ", $3a, $1, $0
|
||
db "ガール@@", $40, $1, $0
|
||
db "かぞく@@", $52, $1, $0
|
||
db "かのじょ@", $72, $1, $0
|
||
db "かれ@@@", $7c, $1, $0
|
||
db "きみ@@@", $9a, $1, $0
|
||
db "きみが@@", $9c, $1, $0
|
||
db "きみに@@", $9e, $1, $0
|
||
db "きみの@@", $a0, $1, $0
|
||
db "きみは@@", $a2, $1, $0
|
||
db "きみを@@", $a4, $1, $0
|
||
db "ギャル@@", $ae, $1, $0
|
||
db "きょうだい", $b2, $1, $0
|
||
db "こども@@", $f0, $1, $0
|
||
db "じぶん@@", $54, $2, $0
|
||
db "じぶんが@", $56, $2, $0
|
||
db "じぶんに@", $58, $2, $0
|
||
db "じぶんの@", $5a, $2, $0
|
||
db "じぶんは@", $5c, $2, $0
|
||
db "じぶんを@", $5e, $2, $0
|
||
db "だれ@@@", $18, $3, $0
|
||
db "だれか@@", $1a, $3, $0
|
||
db "だれが@@", $1c, $3, $0
|
||
db "だれに@@", $1e, $3, $0
|
||
db "だれの@@", $20, $3, $0
|
||
db "だれも@@", $22, $3, $0
|
||
db "だれを@@", $24, $3, $0
|
||
db "ちゃん@@", $38, $3, $0
|
||
db "ともだち@", $b8, $3, $0
|
||
db "なかま@@", $d4, $3, $0
|
||
db "ひと@@@", $62, $4, $0
|
||
db "ボーイ@@", $98, $4, $0
|
||
db "ボク@@@", $a0, $4, $0
|
||
db "ボクが@@", $a2, $4, $0
|
||
db "ボクに@@", $a4, $4, $0
|
||
db "ボクの@@", $a6, $4, $0
|
||
db "ボクは@@", $a8, $4, $0
|
||
db "ボクを@@", $aa, $4, $0
|
||
db "みんな@@", $4, $5, $0
|
||
db "みんなが@", $6, $5, $0
|
||
db "みんなに@", $8, $5, $0
|
||
db "みんなの@", $a, $5, $0
|
||
db "みんなは@", $c, $5, $0
|
||
db "ライバル@", $8a, $5, $0
|
||
db "わたし@@", $c2, $5, $0
|
||
db "わたしが@", $c4, $5, $0
|
||
db "わたしに@", $c6, $5, $0
|
||
db "わたしの@", $c8, $5, $0
|
||
db "わたしは@", $ca, $5, $0
|
||
db "わたしを@", $cc, $5, $0
|
||
|
||
.Battle:
|
||
db "あいしょう", $18, $0, $0
|
||
db "いけ!@@", $88, $0, $0
|
||
db "いちばん@", $96, $0, $0
|
||
db "かくご@@", $4c, $1, $0
|
||
db "かたせて@", $54, $1, $0
|
||
db "かち@@@", $56, $1, $0
|
||
db "かつ@@@", $58, $1, $0
|
||
db "かった@@", $60, $1, $0
|
||
db "かったら@", $62, $1, $0
|
||
db "かって@@", $64, $1, $0
|
||
db "かてない@", $66, $1, $0
|
||
db "かてる@@", $68, $1, $0
|
||
db "かなわない", $70, $1, $0
|
||
db "きあい@@", $84, $1, $0
|
||
db "きめた@@", $a8, $1, $0
|
||
db "きりふだ@", $b6, $1, $0
|
||
db "くらえ@@", $c2, $1, $0
|
||
db "こい!@@", $da, $1, $0
|
||
db "こうげき@", $e0, $1, $0
|
||
db "こうさん@", $e2, $1, $0
|
||
db "こんじょう", $8, $2, $0
|
||
db "さいのう@", $16, $2, $0
|
||
db "さくせん@", $1a, $2, $0
|
||
db "さばき@@", $22, $2, $0
|
||
db "しょうぶ@", $7e, $2, $0
|
||
db "しょうり@", $80, $2, $0
|
||
db "せめ@@@", $b4, $2, $0
|
||
db "センス@@", $b6, $2, $0
|
||
db "たいせん@", $e6, $2, $0
|
||
db "たたかい@", $f6, $2, $0
|
||
db "ちから@@", $32, $3, $0
|
||
db "チャレンジ", $36, $3, $0
|
||
db "つよい@@", $58, $3, $0
|
||
db "つよすぎ@", $5a, $3, $0
|
||
db "つらい@@", $5c, $3, $0
|
||
db "つらかった", $5e, $3, $0
|
||
db "てかげん@", $6c, $3, $0
|
||
db "てき@@@", $6e, $3, $0
|
||
db "てんさい@", $90, $3, $0
|
||
db "でんせつ@", $94, $3, $0
|
||
db "トレーナー", $c6, $3, $0
|
||
db "にげ@@@", $4, $4, $0
|
||
db "ぬるい@@", $10, $4, $0
|
||
db "ねらう@@", $16, $4, $0
|
||
db "バトル@@", $4a, $4, $0
|
||
db "ファイト@", $72, $4, $0
|
||
db "ふっかつ@", $78, $4, $0
|
||
db "ポイント@", $94, $4, $0
|
||
db "ポケモン@", $ac, $4, $0
|
||
db "ほんき@@", $bc, $4, $0
|
||
db "まいった!", $c4, $4, $0
|
||
db "まけ@@@", $c8, $4, $0
|
||
db "まけたら@", $ca, $4, $0
|
||
db "まけて@@", $cc, $4, $0
|
||
db "まける@@", $ce, $4, $0
|
||
db "まもり@@", $ea, $4, $0
|
||
db "みかた@@", $f2, $4, $0
|
||
db "みとめない", $fe, $4, $0
|
||
db "みとめる@", $0, $5, $0
|
||
db "むてき@@", $16, $5, $0
|
||
db "もらった!", $3c, $5, $0
|
||
db "よゆう@@", $7a, $5, $0
|
||
db "よわい@@", $82, $5, $0
|
||
db "よわすぎ@", $84, $5, $0
|
||
db "らくしょう", $8e, $5, $0
|
||
db "りーダー@", $9e, $5, $0
|
||
db "ルール@@", $a0, $5, $0
|
||
db "レべル@@", $a6, $5, $0
|
||
db "わざ@@@", $be, $5, $0
|
||
|
||
.Exclamations:
|
||
db "!@@@@", $0, $0, $0
|
||
db "!!@@@", $2, $0, $0
|
||
db "!?@@@", $4, $0, $0
|
||
db "?@@@@", $6, $0, $0
|
||
db "⋯@@@@", $8, $0, $0
|
||
db "⋯!@@@", $a, $0, $0
|
||
db "⋯⋯⋯@@", $c, $0, $0
|
||
db "ー@@@@", $e, $0, $0
|
||
db "ーーー@@", $10, $0, $0
|
||
db "あーあ@@", $14, $0, $0
|
||
db "あーん@@", $16, $0, $0
|
||
db "あははー@", $52, $0, $0
|
||
db "あら@@@", $54, $0, $0
|
||
db "いえ@@@", $72, $0, $0
|
||
db "イエス@@", $74, $0, $0
|
||
db "うう@@@", $ac, $0, $0
|
||
db "うーん@@", $ae, $0, $0
|
||
db "うおー!@", $b0, $0, $0
|
||
db "うおりゃー", $b2, $0, $0
|
||
db "うひょー@", $bc, $0, $0
|
||
db "うふふ@@", $be, $0, $0
|
||
db "うわー@@", $ca, $0, $0
|
||
db "うわーん@", $cc, $0, $0
|
||
db "ええ@@@", $d2, $0, $0
|
||
db "えー@@@", $d4, $0, $0
|
||
db "えーん@@", $d6, $0, $0
|
||
db "えへへ@@", $dc, $0, $0
|
||
db "おいおい@", $e0, $0, $0
|
||
db "おお@@@", $e2, $0, $0
|
||
db "おっと@@", $c, $1, $0
|
||
db "がーん@@", $42, $1, $0
|
||
db "キャー@@", $aa, $1, $0
|
||
db "ギャー@@", $ac, $1, $0
|
||
db "ぐふふふふ", $bc, $1, $0
|
||
db "げっ@@@", $ce, $1, $0
|
||
db "しくしく@", $3e, $2, $0
|
||
db "ちえっ@@", $2e, $3, $0
|
||
db "てへ@@@", $86, $3, $0
|
||
db "ノー@@@", $20, $4, $0
|
||
db "はあー@@", $2a, $4, $0
|
||
db "はい@@@", $30, $4, $0
|
||
db "はっはっは", $48, $4, $0
|
||
db "ひいー@@", $56, $4, $0
|
||
db "ひゃあ@@", $6a, $4, $0
|
||
db "ふっふっふ", $7c, $4, $0
|
||
db "ふにゃ@@", $7e, $4, $0
|
||
db "ププ@@@", $80, $4, $0
|
||
db "ふふん@@", $82, $4, $0
|
||
db "ふん@@@", $88, $4, $0
|
||
db "へっへっへ", $8e, $4, $0
|
||
db "へへー@@", $90, $4, $0
|
||
db "ほーほほほ", $9c, $4, $0
|
||
db "ほら@@@", $b6, $4, $0
|
||
db "まあ@@@", $c0, $4, $0
|
||
db "むきー!!", $10, $5, $0
|
||
db "むふー@@", $18, $5, $0
|
||
db "むふふ@@", $1a, $5, $0
|
||
db "むむ@@@", $1c, $5, $0
|
||
db "よーし@@", $6a, $5, $0
|
||
db "よし!@@", $72, $5, $0
|
||
db "ラララ@@", $98, $5, $0
|
||
db "わーい@@", $ac, $5, $0
|
||
db "わーん!!", $b0, $5, $0
|
||
db "ワオ@@@", $b2, $5, $0
|
||
db "わっ!!@", $ce, $5, $0
|
||
db "わははは!", $d0, $5, $0
|
||
|
||
.Conversation:
|
||
db "あのね@@", $50, $0, $0
|
||
db "あんまり@", $6e, $0, $0
|
||
db "いじわる@", $8e, $0, $0
|
||
db "うそ@@@", $b6, $0, $0
|
||
db "うむ@@@", $c4, $0, $0
|
||
db "おーい@@", $e4, $0, $0
|
||
db "おすすめ@", $6, $1, $0
|
||
db "おばかさん", $1e, $1, $0
|
||
db "かなり@@", $6e, $1, $0
|
||
db "から@@@", $7a, $1, $0
|
||
db "きぶん@@", $98, $1, $0
|
||
db "けど@@@", $d6, $1, $0
|
||
db "こそ@@@", $ea, $1, $0
|
||
db "こと@@@", $ee, $1, $0
|
||
db "さあ@@@", $12, $2, $0
|
||
db "さっぱり@", $1e, $2, $0
|
||
db "さて@@@", $20, $2, $0
|
||
db "じゅうぶん", $72, $2, $0
|
||
db "すぐ@@@", $94, $2, $0
|
||
db "すごく@@", $98, $2, $0
|
||
db "すこしは@", $9a, $2, $0
|
||
db "すっっごい", $a0, $2, $0
|
||
db "ぜーんぜん", $b0, $2, $0
|
||
db "ぜったい@", $b2, $2, $0
|
||
db "それで@@", $ce, $2, $0
|
||
db "だけ@@@", $f2, $2, $0
|
||
db "だって@@", $fc, $2, $0
|
||
db "たぶん@@", $6, $3, $0
|
||
db "たら@@@", $14, $3, $0
|
||
db "ちょー@@", $3a, $3, $0
|
||
db "ちょっと@", $3c, $3, $0
|
||
db "ったら@@", $4e, $3, $0
|
||
db "って@@@", $50, $3, $0
|
||
db "ていうか@", $62, $3, $0
|
||
db "でも@@@", $88, $3, $0
|
||
db "どうしても", $9c, $3, $0
|
||
db "とうぜん@", $a0, $3, $0
|
||
db "どうぞ@@", $a2, $3, $0
|
||
db "とりあえず", $be, $3, $0
|
||
db "なあ@@@", $cc, $3, $0
|
||
db "なんて@@", $f4, $3, $0
|
||
db "なんでも@", $fc, $3, $0
|
||
db "なんとか@", $fe, $3, $0
|
||
db "には@@@", $8, $4, $0
|
||
db "バッチり@", $46, $4, $0
|
||
db "ばりばり@", $52, $4, $0
|
||
db "ほど@@@", $b0, $4, $0
|
||
db "ほんと@@", $be, $4, $0
|
||
db "まさに@@", $d0, $4, $0
|
||
db "マジ@@@", $d2, $4, $0
|
||
db "マジで@@", $d4, $4, $0
|
||
db "まったく@", $e4, $4, $0
|
||
db "まで@@@", $e6, $4, $0
|
||
db "まるで@@", $ec, $4, $0
|
||
db "ムード@@", $e, $5, $0
|
||
db "むしろ@@", $14, $5, $0
|
||
db "めちゃ@@", $24, $5, $0
|
||
db "めっぽう@", $28, $5, $0
|
||
db "もう@@@", $2c, $5, $0
|
||
db "モード@@", $2e, $5, $0
|
||
db "もっと@@", $36, $5, $0
|
||
db "もはや@@", $38, $5, $0
|
||
db "やっと@@", $4a, $5, $0
|
||
db "やっぱり@", $4c, $5, $0
|
||
db "より@@@", $7c, $5, $0
|
||
db "れば@@@", $a4, $5, $0
|
||
|
||
.Feelings:
|
||
db "あいたい@", $1a, $0, $0
|
||
db "あそびたい", $32, $0, $0
|
||
db "いきたい@", $7c, $0, $0
|
||
db "うかれて@", $b4, $0, $0
|
||
db "うれしい@", $c6, $0, $0
|
||
db "うれしさ@", $c8, $0, $0
|
||
db "エキサイト", $d8, $0, $0
|
||
db "えらい@@", $de, $0, $0
|
||
db "おかしい@", $ec, $0, $0
|
||
db "オッケー@", $8, $1, $0
|
||
db "かえりたい", $48, $1, $0
|
||
db "がっくし@", $5a, $1, $0
|
||
db "かなしい@", $6c, $1, $0
|
||
db "がんばって", $80, $1, $0
|
||
db "きがしない", $86, $1, $0
|
||
db "きがする@", $88, $1, $0
|
||
db "ききたい@", $8a, $1, $0
|
||
db "きになる@", $90, $1, $0
|
||
db "きのせい@", $96, $1, $0
|
||
db "きらい@@", $b4, $1, $0
|
||
db "くやしい@", $be, $1, $0
|
||
db "くやしさ@", $c0, $1, $0
|
||
db "さみしい@", $24, $2, $0
|
||
db "ざんねん@", $32, $2, $0
|
||
db "しあわせ@", $36, $2, $0
|
||
db "したい@@", $44, $2, $0
|
||
db "したくない", $46, $2, $0
|
||
db "しまった@", $64, $2, $0
|
||
db "しょんぼり", $82, $2, $0
|
||
db "すき@@@", $92, $2, $0
|
||
db "だいきらい", $da, $2, $0
|
||
db "たいくつ@", $dc, $2, $0
|
||
db "だいじ@@", $de, $2, $0
|
||
db "だいすき@", $e4, $2, $0
|
||
db "たいへん@", $ea, $2, $0
|
||
db "たのしい@", $0, $3, $0
|
||
db "たのしすぎ", $2, $3, $0
|
||
db "たべたい@", $8, $3, $0
|
||
db "ダメダメ@", $e, $3, $0
|
||
db "たりない@", $16, $3, $0
|
||
db "ちくしょー", $34, $3, $0
|
||
db "どうしよう", $9e, $3, $0
|
||
db "ドキドキ@", $ac, $3, $0
|
||
db "ナイス@@", $d0, $3, $0
|
||
db "のみたい@", $26, $4, $0
|
||
db "びっくり@", $60, $4, $0
|
||
db "ふあん@@", $74, $4, $0
|
||
db "ふらふら@", $86, $4, $0
|
||
db "ほしい@@", $ae, $4, $0
|
||
db "ボロボロ@", $b8, $4, $0
|
||
db "まだまだ@", $e0, $4, $0
|
||
db "まてない@", $e8, $4, $0
|
||
db "まんぞく@", $f0, $4, $0
|
||
db "みたい@@", $f8, $4, $0
|
||
db "めずらしい", $22, $5, $0
|
||
db "メラメラ@", $2a, $5, $0
|
||
db "やだ@@@", $46, $5, $0
|
||
db "やったー@", $48, $5, $0
|
||
db "やばい@@", $50, $5, $0
|
||
db "やばすぎる", $52, $5, $0
|
||
db "やられた@", $54, $5, $0
|
||
db "やられて@", $56, $5, $0
|
||
db "よかった@", $6e, $5, $0
|
||
db "ラブラブ@", $96, $5, $0
|
||
db "ロマン@@", $a8, $5, $0
|
||
db "ろんがい@", $aa, $5, $0
|
||
db "わから@@", $b4, $5, $0
|
||
db "わかり@@", $b6, $5, $0
|
||
db "わくわく@", $ba, $5, $0
|
||
|
||
.Conditions:
|
||
db "あつい@@", $38, $0, $0
|
||
db "あった@@", $3a, $0, $0
|
||
db "あり@@@", $56, $0, $0
|
||
db "ある@@@", $5e, $0, $0
|
||
db "あわてて@", $6a, $0, $0
|
||
db "いい@@@", $70, $0, $0
|
||
db "いか@@@", $76, $0, $0
|
||
db "イカス@@", $78, $0, $0
|
||
db "いきおい@", $7a, $0, $0
|
||
db "いける@@", $8a, $0, $0
|
||
db "いじょう@", $8c, $0, $0
|
||
db "いそがしい", $90, $0, $0
|
||
db "いっしょに", $9a, $0, $0
|
||
db "いっぱい@", $9c, $0, $0
|
||
db "いない@@", $a0, $0, $0
|
||
db "いや@@@", $a4, $0, $0
|
||
db "いる@@@", $a8, $0, $0
|
||
db "うまい@@", $c0, $0, $0
|
||
db "うまく@@", $c2, $0, $0
|
||
db "おおきい@", $e6, $0, $0
|
||
db "おくれ@@", $f2, $0, $0
|
||
db "おしい@@", $fa, $0, $0
|
||
db "おもしろい", $2c, $1, $0
|
||
db "おもしろく", $2e, $1, $0
|
||
db "かっこいい", $5c, $1, $0
|
||
db "かわいい@", $7e, $1, $0
|
||
db "かんぺき@", $82, $1, $0
|
||
db "けっこう@", $d0, $1, $0
|
||
db "げんき@@", $d8, $1, $0
|
||
db "こわい@@", $6, $2, $0
|
||
db "さいこう@", $14, $2, $0
|
||
db "さむい@@", $26, $2, $0
|
||
db "さわやか@", $2c, $2, $0
|
||
db "しかたない", $38, $2, $0
|
||
db "すごい@@", $96, $2, $0
|
||
db "すごすぎ@", $9c, $2, $0
|
||
db "すてき@@", $a4, $2, $0
|
||
db "たいした@", $e0, $2, $0
|
||
db "だいじょぶ", $e2, $2, $0
|
||
db "たかい@@", $ec, $2, $0
|
||
db "ただしい@", $f8, $2, $0
|
||
db "だめ@@@", $c, $3, $0
|
||
db "ちいさい@", $2c, $3, $0
|
||
db "ちがう@@", $30, $3, $0
|
||
db "つかれ@@", $48, $3, $0
|
||
db "とくい@@", $b0, $3, $0
|
||
db "とまらない", $b6, $3, $0
|
||
db "ない@@@", $ce, $3, $0
|
||
db "なかった@", $d2, $3, $0
|
||
db "なし@@@", $d8, $3, $0
|
||
db "なって@@", $dc, $3, $0
|
||
db "はやい@@", $50, $4, $0
|
||
db "ひかる@@", $5a, $4, $0
|
||
db "ひくい@@", $5c, $4, $0
|
||
db "ひどい@@", $64, $4, $0
|
||
db "ひとりで@", $66, $4, $0
|
||
db "ひま@@@", $68, $4, $0
|
||
db "ふそく@@", $76, $4, $0
|
||
db "へた@@@", $8c, $4, $0
|
||
db "まちがって", $e2, $4, $0
|
||
db "やさしい@", $42, $5, $0
|
||
db "よく@@@", $70, $5, $0
|
||
db "よわって@", $86, $5, $0
|
||
db "らく@@@", $8c, $5, $0
|
||
db "らしい@@", $90, $5, $0
|
||
db "わるい@@", $d4, $5, $0
|
||
|
||
.Life:
|
||
db "アルバイト", $64, $0, $0
|
||
db "うち@@@", $ba, $0, $0
|
||
db "おかね@@", $ee, $0, $0
|
||
db "おこづかい", $f4, $0, $0
|
||
db "おふろ@@", $24, $1, $0
|
||
db "がっこう@", $5e, $1, $0
|
||
db "きねん@@", $92, $1, $0
|
||
db "グループ@", $c6, $1, $0
|
||
db "ゲット@@", $d2, $1, $0
|
||
db "こうかん@", $de, $1, $0
|
||
db "しごと@@", $40, $2, $0
|
||
db "しゅぎょう", $74, $2, $0
|
||
db "じゅぎょう", $76, $2, $0
|
||
db "じゅく@@", $78, $2, $0
|
||
db "しんか@@", $88, $2, $0
|
||
db "ずかん@@", $90, $2, $0
|
||
db "せいかつ@", $ae, $2, $0
|
||
db "せんせい@", $b8, $2, $0
|
||
db "センター@", $ba, $2, $0
|
||
db "タワー@@", $28, $3, $0
|
||
db "つうしん@", $40, $3, $0
|
||
db "テスト@@", $7e, $3, $0
|
||
db "テレビ@@", $8c, $3, $0
|
||
db "でんわ@@", $96, $3, $0
|
||
db "どうぐ@@", $9a, $3, $0
|
||
db "トレード@", $c4, $3, $0
|
||
db "なまえ@@", $e8, $3, $0
|
||
db "ニュース@", $a, $4, $0
|
||
db "にんき@@", $c, $4, $0
|
||
db "パーティー", $2e, $4, $0
|
||
db "べんきょう", $92, $4, $0
|
||
db "マシン@@", $d6, $4, $0
|
||
db "めいし@@", $1e, $5, $0
|
||
db "メッセージ", $26, $5, $0
|
||
db "もようがえ", $3a, $5, $0
|
||
db "ゆめ@@@", $5a, $5, $0
|
||
db "ようちえん", $66, $5, $0
|
||
db "ラジオ@@", $92, $5, $0
|
||
db "ワールド@", $ae, $5, $0
|
||
|
||
.Hobbies:
|
||
db "アイドル@", $1e, $0, $0
|
||
db "アニメ@@", $4c, $0, $0
|
||
db "うた@@@", $b8, $0, $0
|
||
db "えいが@@", $d0, $0, $0
|
||
db "おかし@@", $ea, $0, $0
|
||
db "おしゃべり", $4, $1, $0
|
||
db "おままごと", $28, $1, $0
|
||
db "おもちゃ@", $30, $1, $0
|
||
db "おんがく@", $38, $1, $0
|
||
db "カード@@", $3e, $1, $0
|
||
db "かいもの@", $46, $1, $0
|
||
db "グルメ@@", $c8, $1, $0
|
||
db "ゲーム@@", $cc, $1, $0
|
||
db "ざっし@@", $1c, $2, $0
|
||
db "さんぽ@@", $34, $2, $0
|
||
db "じてんしゃ", $50, $2, $0
|
||
db "しゅみ@@", $7a, $2, $0
|
||
db "スポーツ@", $a8, $2, $0
|
||
db "ダイエット", $d8, $2, $0
|
||
db "たからもの", $f0, $2, $0
|
||
db "たび@@@", $4, $3, $0
|
||
db "ダンス@@", $2a, $3, $0
|
||
db "つり@@@", $60, $3, $0
|
||
db "デート@@", $6a, $3, $0
|
||
db "でんしゃ@", $92, $3, $0
|
||
db "ぬいぐるみ", $e, $4, $0
|
||
db "パソコン@", $3e, $4, $0
|
||
db "はな@@@", $4c, $4, $0
|
||
db "ヒーロー@", $58, $4, $0
|
||
db "ひるね@@", $6e, $4, $0
|
||
db "ヒロイン@", $70, $4, $0
|
||
db "ぼうけん@", $96, $4, $0
|
||
db "ボード@@", $9a, $4, $0
|
||
db "ボール@@", $9e, $4, $0
|
||
db "ほん@@@", $ba, $4, $0
|
||
db "マンガ@@", $ee, $4, $0
|
||
db "やくそく@", $40, $5, $0
|
||
db "やすみ@@", $44, $5, $0
|
||
db "よてい@@", $74, $5, $0
|
||
|
||
.Actions:
|
||
db "あう@@@", $20, $0, $0
|
||
db "あきらめ@", $24, $0, $0
|
||
db "あげる@@", $28, $0, $0
|
||
db "あせる@@", $2e, $0, $0
|
||
db "あそび@@", $30, $0, $0
|
||
db "あそぶ@@", $34, $0, $0
|
||
db "あつめ@@", $3e, $0, $0
|
||
db "あるき@@", $60, $0, $0
|
||
db "あるく@@", $62, $0, $0
|
||
db "いく@@@", $7e, $0, $0
|
||
db "いけ@@@", $86, $0, $0
|
||
db "おき@@@", $f0, $0, $0
|
||
db "おこり@@", $f6, $0, $0
|
||
db "おこる@@", $f8, $0, $0
|
||
db "おしえ@@", $fe, $0, $0
|
||
db "おしえて@", $0, $1, $0
|
||
db "おねがい@", $1a, $1, $0
|
||
db "おぼえ@@", $26, $1, $0
|
||
db "かえる@@", $4a, $1, $0
|
||
db "がまん@@", $74, $1, $0
|
||
db "きく@@@", $8c, $1, $0
|
||
db "きたえ@@", $8e, $1, $0
|
||
db "きめ@@@", $a6, $1, $0
|
||
db "くる@@@", $c4, $1, $0
|
||
db "さがし@@", $18, $2, $0
|
||
db "さわぎ@@", $2a, $2, $0
|
||
db "した@@@", $42, $2, $0
|
||
db "しって@@", $4a, $2, $0
|
||
db "して@@@", $4e, $2, $0
|
||
db "しない@@", $52, $2, $0
|
||
db "しまう@@", $60, $2, $0
|
||
db "じまん@@", $66, $2, $0
|
||
db "しらない@", $84, $2, $0
|
||
db "しる@@@", $86, $2, $0
|
||
db "しんじて@", $8a, $2, $0
|
||
db "する@@@", $aa, $2, $0
|
||
db "たべる@@", $a, $3, $0
|
||
db "つかう@@", $42, $3, $0
|
||
db "つかえ@@", $44, $3, $0
|
||
db "つかって@", $46, $3, $0
|
||
db "できない@", $70, $3, $0
|
||
db "できる@@", $72, $3, $0
|
||
db "でない@@", $84, $3, $0
|
||
db "でる@@@", $8a, $3, $0
|
||
db "なげる@@", $d6, $3, $0
|
||
db "なやみ@@", $ea, $3, $0
|
||
db "ねられ@@", $18, $4, $0
|
||
db "ねる@@@", $1a, $4, $0
|
||
db "のがし@@", $24, $4, $0
|
||
db "のむ@@@", $28, $4, $0
|
||
db "はしり@@", $3a, $4, $0
|
||
db "はしる@@", $3c, $4, $0
|
||
db "はたらき@", $40, $4, $0
|
||
db "はたらく@", $42, $4, $0
|
||
db "はまって@", $4e, $4, $0
|
||
db "ぶつけ@@", $7a, $4, $0
|
||
db "ほめ@@@", $b4, $4, $0
|
||
db "みせて@@", $f6, $4, $0
|
||
db "みて@@@", $fc, $4, $0
|
||
db "みる@@@", $2, $5, $0
|
||
db "めざす@@", $20, $5, $0
|
||
db "もって@@", $34, $5, $0
|
||
db "ゆずる@@", $58, $5, $0
|
||
db "ゆるす@@", $5c, $5, $0
|
||
db "ゆるせ@@", $5e, $5, $0
|
||
db "られない@", $9a, $5, $0
|
||
db "られる@@", $9c, $5, $0
|
||
db "わかる@@", $b8, $5, $0
|
||
db "わすれ@@", $c0, $5, $0
|
||
|
||
.Time:
|
||
db "あき@@@", $22, $0, $0
|
||
db "あさ@@@", $2a, $0, $0
|
||
db "あした@@", $2c, $0, $0
|
||
db "いちにち@", $94, $0, $0
|
||
db "いつか@@", $98, $0, $0
|
||
db "いつも@@", $9e, $0, $0
|
||
db "いま@@@", $a2, $0, $0
|
||
db "えいえん@", $ce, $0, $0
|
||
db "おととい@", $12, $1, $0
|
||
db "おわり@@", $36, $1, $0
|
||
db "かようび@", $78, $1, $0
|
||
db "きのう@@", $94, $1, $0
|
||
db "きょう@@", $b0, $1, $0
|
||
db "きんようび", $b8, $1, $0
|
||
db "げつようび", $d4, $1, $0
|
||
db "このあと@", $f4, $1, $0
|
||
db "このまえ@", $f6, $1, $0
|
||
db "こんど@@", $c, $2, $0
|
||
db "じかん@@", $3c, $2, $0
|
||
db "じゅうねん", $70, $2, $0
|
||
db "すいようび", $8e, $2, $0
|
||
db "スタート@", $9e, $2, $0
|
||
db "ずっと@@", $a2, $2, $0
|
||
db "ストップ@", $a6, $2, $0
|
||
db "そのうち@", $c4, $2, $0
|
||
db "ついに@@", $3e, $3, $0
|
||
db "つぎ@@@", $4a, $3, $0
|
||
db "どようび@", $ba, $3, $0
|
||
db "なつ@@@", $da, $3, $0
|
||
db "にちようび", $6, $4, $0
|
||
db "はじめ@@", $38, $4, $0
|
||
db "はる@@@", $54, $4, $0
|
||
db "ひる@@@", $6c, $4, $0
|
||
db "ふゆ@@@", $84, $4, $0
|
||
db "まいにち@", $c6, $4, $0
|
||
db "もくようび", $30, $5, $0
|
||
db "よなか@@", $76, $5, $0
|
||
db "よる@@@", $7e, $5, $0
|
||
db "らいしゅう", $88, $5, $0
|
||
|
||
.Farewells:
|
||
db "いたします", $92, $0, $0
|
||
db "おります@", $32, $1, $0
|
||
db "か!?@@", $3c, $1, $0
|
||
db "かい?@@", $44, $1, $0
|
||
db "かしら?@", $50, $1, $0
|
||
db "かな?@@", $6a, $1, $0
|
||
db "かも@@@", $76, $1, $0
|
||
db "くれ@@@", $ca, $1, $0
|
||
db "ございます", $e8, $1, $0
|
||
db "しがち@@", $3a, $2, $0
|
||
db "します@@", $62, $2, $0
|
||
db "じゃ@@@", $6a, $2, $0
|
||
db "じゃん@@", $6e, $2, $0
|
||
db "しよう@@", $7c, $2, $0
|
||
db "ぜ!@@@", $ac, $2, $0
|
||
db "ぞ!@@@", $bc, $2, $0
|
||
db "た@@@@", $d4, $2, $0
|
||
db "だ@@@@", $d6, $2, $0
|
||
db "だからね@", $ee, $2, $0
|
||
db "だぜ@@@", $f4, $2, $0
|
||
db "だった@@", $fa, $2, $0
|
||
db "だね@@@", $fe, $2, $0
|
||
db "だよ@@@", $10, $3, $0
|
||
db "だよねー!", $12, $3, $0
|
||
db "だわ@@@", $26, $3, $0
|
||
db "ッス@@@", $4c, $3, $0
|
||
db "ってかんじ", $52, $3, $0
|
||
db "っぱなし@", $54, $3, $0
|
||
db "つもり@@", $56, $3, $0
|
||
db "ていない@", $64, $3, $0
|
||
db "ている@@", $66, $3, $0
|
||
db "でーす!@", $68, $3, $0
|
||
db "でした@@", $74, $3, $0
|
||
db "でしょ?@", $76, $3, $0
|
||
db "でしょー!", $78, $3, $0
|
||
db "です@@@", $7a, $3, $0
|
||
db "ですか?@", $7c, $3, $0
|
||
db "ですよ@@", $80, $3, $0
|
||
db "ですわ@@", $82, $3, $0
|
||
db "どうなの?", $a4, $3, $0
|
||
db "どうよ?@", $a8, $3, $0
|
||
db "とかいって", $aa, $3, $0
|
||
db "なの@@@", $e0, $3, $0
|
||
db "なのか@@", $e2, $3, $0
|
||
db "なのだ@@", $e4, $3, $0
|
||
db "なのよ@@", $e6, $3, $0
|
||
db "なんだね@", $f2, $3, $0
|
||
db "なんです@", $f8, $3, $0
|
||
db "なんてね@", $fa, $3, $0
|
||
db "ね@@@@", $12, $4, $0
|
||
db "ねー@@@", $14, $4, $0
|
||
db "の@@@@", $1c, $4, $0
|
||
db "の?@@@", $1e, $4, $0
|
||
db "ばっかり@", $44, $4, $0
|
||
db "まーす!@", $c2, $4, $0
|
||
db "ます@@@", $d8, $4, $0
|
||
db "ますわ@@", $da, $4, $0
|
||
db "ません@@", $dc, $4, $0
|
||
db "みたいな@", $fa, $4, $0
|
||
db "よ!@@@", $60, $5, $0
|
||
db "よー@@@", $68, $5, $0
|
||
db "よーん@@", $6c, $5, $0
|
||
db "よね@@@", $78, $5, $0
|
||
db "るよ@@@", $a2, $5, $0
|
||
db "わけ@@@", $bc, $5, $0
|
||
db "わよ!@@", $d2, $5, $0
|
||
|
||
.ThisAndThat:
|
||
db "ああ@@@", $12, $0, $0
|
||
db "あっち@@", $3c, $0, $0
|
||
db "あの@@@", $4e, $0, $0
|
||
db "ありゃ@@", $5c, $0, $0
|
||
db "あれ@@@", $66, $0, $0
|
||
db "あれは@@", $68, $0, $0
|
||
db "あんな@@", $6c, $0, $0
|
||
db "こう@@@", $dc, $1, $0
|
||
db "こっち@@", $ec, $1, $0
|
||
db "この@@@", $f2, $1, $0
|
||
db "こりゃ@@", $fe, $1, $0
|
||
db "これ@@@", $0, $2, $0
|
||
db "これだ!@", $2, $2, $0
|
||
db "これは@@", $4, $2, $0
|
||
db "こんな@@", $e, $2, $0
|
||
db "そう@@@", $be, $2, $0
|
||
db "そっち@@", $c0, $2, $0
|
||
db "その@@@", $c2, $2, $0
|
||
db "そりゃ@@", $c6, $2, $0
|
||
db "それ@@@", $c8, $2, $0
|
||
db "それだ!@", $cc, $2, $0
|
||
db "それは@@", $d0, $2, $0
|
||
db "そんな@@", $d2, $2, $0
|
||
db "どう@@@", $98, $3, $0
|
||
db "どっち@@", $b2, $3, $0
|
||
db "どの@@@", $b4, $3, $0
|
||
db "どりゃ@@", $c0, $3, $0
|
||
db "どれ@@@", $c2, $3, $0
|
||
db "どれを@@", $c8, $3, $0
|
||
db "どんな@@", $ca, $3, $0
|
||
db "なに@@@", $de, $3, $0
|
||
db "なんか@@", $ec, $3, $0
|
||
db "なんだ@@", $f0, $3, $0
|
||
db "なんで@@", $f6, $3, $0
|
||
db "なんなんだ", $0, $4, $0
|
||
db "なんの@@", $2, $4, $0
|
||
|
||
MobileEZChatData_WordAndPageCounts:
|
||
macro_11f220: MACRO
|
||
; parameter: number of words
|
||
db \1
|
||
; 12 words per page (0-based indexing)
|
||
x = \1 / 12
|
||
if \1 % 12 == 0
|
||
x = x + -1
|
||
endc
|
||
db x
|
||
ENDM
|
||
macro_11f220 18 ; 01: Types
|
||
macro_11f220 36 ; 02: Greetings
|
||
macro_11f220 69 ; 03: People
|
||
macro_11f220 69 ; 04: Battle
|
||
macro_11f220 66 ; 05: Exclamations
|
||
macro_11f220 66 ; 06: Conversation
|
||
macro_11f220 69 ; 07: Feelings
|
||
macro_11f220 66 ; 08: Conditions
|
||
macro_11f220 39 ; 09: Life
|
||
macro_11f220 39 ; 0a: Hobbies
|
||
macro_11f220 69 ; 0b: Actions
|
||
macro_11f220 39 ; 0c: Time
|
||
macro_11f220 66 ; 0d: Farewells
|
||
macro_11f220 36 ; 0e: ThisAndThat
|
||
|
||
EZChat_SortedWords:
|
||
; Addresses in WRAM bank 3 where EZChat words beginning
|
||
; with the given kana are sorted in memory, and the pre-
|
||
; allocated size for each.
|
||
; These arrays are expanded dynamically to accomodate
|
||
; any Pokemon you've seen that starts with each kana.\
|
||
macro_11f23c: MACRO
|
||
dw x - w3_d000, \1
|
||
x = x + 2 * \1
|
||
ENDM
|
||
x = $d012
|
||
macro_11f23c $2f ; a
|
||
macro_11f23c $1e ; i
|
||
macro_11f23c $11 ; u
|
||
macro_11f23c $09 ; e
|
||
macro_11f23c $2e ; o
|
||
macro_11f23c $24 ; ka_ga
|
||
macro_11f23c $1b ; ki_gi
|
||
macro_11f23c $09 ; ku_gu
|
||
macro_11f23c $07 ; ke_ge
|
||
macro_11f23c $1c ; ko_go
|
||
macro_11f23c $12 ; sa_za
|
||
macro_11f23c $2b ; shi_ji
|
||
macro_11f23c $10 ; su_zu
|
||
macro_11f23c $08 ; se_ze
|
||
macro_11f23c $0c ; so_zo
|
||
macro_11f23c $2c ; ta_da
|
||
macro_11f23c $09 ; chi_dhi
|
||
macro_11f23c $12 ; tsu_du
|
||
macro_11f23c $1b ; te_de
|
||
macro_11f23c $1a ; to_do
|
||
macro_11f23c $1c ; na
|
||
macro_11f23c $05 ; ni
|
||
macro_11f23c $02 ; nu
|
||
macro_11f23c $05 ; ne
|
||
macro_11f23c $07 ; no
|
||
macro_11f23c $16 ; ha_ba_pa
|
||
macro_11f23c $0e ; hi_bi_pi
|
||
macro_11f23c $0c ; fu_bu_pu
|
||
macro_11f23c $05 ; he_be_pe
|
||
macro_11f23c $16 ; ho_bo_po
|
||
macro_11f23c $19 ; ma
|
||
macro_11f23c $0e ; mi
|
||
macro_11f23c $08 ; mu
|
||
macro_11f23c $07 ; me
|
||
macro_11f23c $09 ; mo
|
||
macro_11f23c $0d ; ya
|
||
macro_11f23c $04 ; yu
|
||
macro_11f23c $14 ; yo
|
||
macro_11f23c $0b ; ra
|
||
macro_11f23c $01 ; ri
|
||
macro_11f23c $02 ; ru
|
||
macro_11f23c $02 ; re
|
||
macro_11f23c $02 ; ro
|
||
macro_11f23c $15 ; wa
|
||
x = $d000
|
||
macro_11f23c $09 ; end
|
||
.End
|