mirror of https://github.com/pret/pokecrystal.git
130 lines
2.2 KiB
NASM
130 lines
2.2 KiB
NASM
IsMailEuropean:
|
|
; return 1 if French
|
|
; return 2 if German
|
|
; return 3 if Italian
|
|
; return 4 if Spanish
|
|
; return 0 if none of the above
|
|
ld c, $0
|
|
ld hl, sPartyMon1MailAuthorNationality - sPartyMon1Mail
|
|
add hl, de
|
|
ld a, [hli]
|
|
cp "E"
|
|
ret nz
|
|
ld a, [hli]
|
|
inc c
|
|
cp "F"
|
|
ret z
|
|
inc c
|
|
cp "G"
|
|
ret z
|
|
inc c
|
|
cp "I"
|
|
ret z
|
|
inc c
|
|
cp "S"
|
|
ret z
|
|
ld c, $0
|
|
ret
|
|
|
|
; The regular font.
|
|
StandardEnglishFont:
|
|
INCBIN "gfx/font/english.1bpp"
|
|
|
|
; An extended font.
|
|
FrenchGermanFont:
|
|
INCBIN "gfx/font/french_german.1bpp"
|
|
|
|
; An even more extended font.
|
|
SpanishItalianFont:
|
|
INCBIN "gfx/font/spanish_italian.1bpp"
|
|
|
|
HandleFrenchGermanMail:
|
|
; called if mail is french or german
|
|
; fix 's 't 'v
|
|
ld b, sPartyMon1MailAuthor - sPartyMon1Mail
|
|
ld h, d
|
|
ld l, e
|
|
.loop
|
|
ld a, [hl]
|
|
cp $dc ; 's in french/german font
|
|
jr nz, .check_intermediate_chars
|
|
ld a, "'s"
|
|
jr .replace
|
|
|
|
.check_intermediate_chars
|
|
sub "'s"
|
|
jr c, .dont_replace
|
|
cp "'v" - "'s" + 1
|
|
jr nc, .dont_replace
|
|
add $cd
|
|
|
|
.replace
|
|
ld [hl], a
|
|
|
|
.dont_replace
|
|
inc hl
|
|
dec b
|
|
jr nz, .loop
|
|
ret
|
|
|
|
LireLeCourrierAnglais:
|
|
DeutenEnglischenPost:
|
|
; Cette fonction convertit certains des caractères anglais pour
|
|
; leur équivalent dans le jeu de caractères français.
|
|
; Diese Funktion wandelt bestimmte englische Zeichen, um ihre
|
|
; Entsprechung in der Deutschen-Zeichensatz.
|
|
ld b, sPartyMon1MailAuthor - sPartyMon1Mail
|
|
ld h, d
|
|
ld l, e
|
|
.loop
|
|
ld a, [hl]
|
|
cp "'s"
|
|
jr nz, .check_intermediate_chars
|
|
ld a, $dc
|
|
jr .replace
|
|
|
|
.check_intermediate_chars
|
|
sub $cd
|
|
jr c, .dont_replace
|
|
cp "'v" - "'s" + 1
|
|
jr nc, .dont_replace
|
|
add "'s"
|
|
|
|
.replace
|
|
ld [hl], a
|
|
|
|
.dont_replace
|
|
inc hl
|
|
dec b
|
|
jr nz, .loop
|
|
ret
|
|
|
|
HandleSpanishItalianMail:
|
|
LeerCorreosIngleses:
|
|
LeggiPostaInglese:
|
|
; This function converts certain characters between
|
|
; the English and Spanish/Italian character sets.
|
|
; Esta función convierte ciertos caracteres entre
|
|
; el juego de caracteres Inglés y Español.
|
|
; Questa funzione converte alcuni caratteri tra
|
|
; l'inglese e il set di caratteri italiani.
|
|
ld b, sPartyMon1MailAuthor - sPartyMon1Mail
|
|
ld h, d
|
|
ld l, e
|
|
.loop
|
|
ld a, [hl]
|
|
and $f0
|
|
cp $d0
|
|
jr nz, .dont_replace
|
|
ld a, [hl]
|
|
add $8
|
|
and $f
|
|
or $d0
|
|
ld [hl], a
|
|
|
|
.dont_replace
|
|
inc hl
|
|
dec b
|
|
jr nz, .loop
|
|
ret
|