IsMailEuropean → ParseMailLanguage (and give it constants)

Crystal: c012a77e83b2a2efa7ade90b18a5a10d57900327
This commit is contained in:
mid-kid
2023-03-30 04:51:49 +02:00
parent a35583d1c6
commit bbc7261da2
3 changed files with 21 additions and 9 deletions

View File

@@ -58,6 +58,14 @@ DEF MAIL_MSG_LENGTH EQU $20
DEF MAILBOX_CAPACITY EQU 10
DEF MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct
; mail languages
const_def
const MAIL_LANG_ENGLISH
const MAIL_LANG_FRENCH
const MAIL_LANG_GERMAN
const MAIL_LANG_ITALIAN
const MAIL_LANG_SPANISH
; held item effects
const_def
const HELD_NONE

View File

@@ -29,15 +29,16 @@ DEF SERIAL_PATCH_LIST_PART_TERMINATOR EQU $ff
; used to replace SERIAL_NO_DATA_BYTE
DEF SERIAL_PATCH_REPLACEMENT_BYTE EQU $ff
DEF SERIAL_PREAMBLE_LENGTH EQU 6
DEF SERIAL_RN_PREAMBLE_LENGTH EQU 7
DEF SERIAL_RNS_LENGTH EQU 10
DEF SERIAL_PREAMBLE_LENGTH EQU 6
DEF SERIAL_RN_PREAMBLE_LENGTH EQU 7
DEF SERIAL_RNS_LENGTH EQU 10
DEF SERIAL_MAIL_PREAMBLE_BYTE EQU $20
DEF SERIAL_MAIL_REPLACEMENT_BYTE EQU $21
DEF SERIAL_MAIL_PREAMBLE_LENGTH EQU 5
; used to replace SERIAL_NO_DATA_BYTE
DEF SERIAL_MAIL_REPLACEMENT_BYTE EQU $21
; timeout duration after exchanging a byte
DEF SERIAL_LINK_BYTE_TIMEOUT EQU $5000
DEF SERIAL_LINK_BYTE_TIMEOUT EQU $5000
DEF MAX_MYSTERY_GIFT_PARTNERS EQU 5
DEF MAX_MYSTERY_GIFT_PARTNERS EQU 5

View File

@@ -386,7 +386,7 @@ endc
jr nz, .copy_mail_loop
ld de, wLinkReceivedMail
ld b, PARTY_LENGTH
.fix_mail_loop
.copy_author_loop
push bc
ld a, LOW(MAIL_MSG_LENGTH + 1)
add e
@@ -398,7 +398,7 @@ endc
call CopyBytes
pop bc
dec b
jr nz, .fix_mail_loop
jr nz, .copy_author_loop
ld de, wLinkReceivedMailEnd
xor a
ld [de], a
@@ -834,7 +834,7 @@ Link_PrepPartyData_Gen2:
ret nz
; Fill 5 bytes at wLinkPlayerMailPreamble with $20
ld de, wLinkPlayerMailPreamble
ld de, wLinkPlayerMail
ld a, SERIAL_MAIL_PREAMBLE_BYTE
call Link_CopyMailPreamble
@@ -852,6 +852,7 @@ Link_PrepPartyData_Gen2:
pop bc
dec b
jr nz, .loop2
; Copy the mail data to wLinkPlayerMailMetadata
ld hl, sPartyMail
ld b, PARTY_LENGTH
@@ -866,6 +867,7 @@ Link_PrepPartyData_Gen2:
jr nz, .loop3
call CloseSRAM
; The SERIAL_NO_DATA_BYTE value isn't allowed anywhere in message text
ld hl, wLinkPlayerMailMessages
ld bc, (MAIL_MSG_LENGTH + 1) * PARTY_LENGTH
.loop4
@@ -880,6 +882,7 @@ Link_PrepPartyData_Gen2:
or c
jr nz, .loop4
; Calculate the patch offsets for the mail metadata
ld hl, wLinkPlayerMailMetadata
ld de, wLinkPlayerMailPatchSet
ld b, (MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1)) * PARTY_LENGTH