mirror of
https://github.com/pret/pokegold.git
synced 2026-04-26 01:47:27 -05:00
Use some label diffs instead of constants
This commit is contained in:
parent
f05e552b91
commit
da13d9a6ec
|
|
@ -38,17 +38,10 @@ DEF SERIAL_RNS_LENGTH EQU 10
|
|||
|
||||
DEF SERIAL_PADDING_LENGTH EQU 3
|
||||
|
||||
; Gen 2 to Gen 2 link party data structure
|
||||
DEF LINK_PARTY_DATA_LENGTH EQU NAME_LENGTH + (1 + PARTY_LENGTH + 1) + 2 + (PARTYMON_STRUCT_LENGTH + NAME_LENGTH * 2) * PARTY_LENGTH
|
||||
; Gen 2 to Gen 1 link party data structure (Time Capsule)
|
||||
DEF LINK_TIME_CAPSULE_PARTY_DATA_LENGTH EQU NAME_LENGTH + (1 + PARTY_LENGTH + 1) + (REDMON_STRUCT_LENGTH + NAME_LENGTH * 2) * PARTY_LENGTH
|
||||
|
||||
DEF SERIAL_MAIL_PREAMBLE_BYTE EQU $20
|
||||
DEF SERIAL_MAIL_PREAMBLE_LENGTH EQU 5
|
||||
; used to replace SERIAL_NO_DATA_BYTE
|
||||
DEF SERIAL_MAIL_REPLACEMENT_BYTE EQU $21
|
||||
; length of the mail patch list (it's bigger than the mail patched area by 18 bytes)
|
||||
DEF SERIAL_MAIL_PATCH_LIST_LENGTH EQU (MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1) + 3) * PARTY_LENGTH + 1
|
||||
|
||||
; timeout duration after exchanging a byte
|
||||
DEF SERIAL_LINK_BYTE_TIMEOUT EQU $5000
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ endc
|
|||
|
||||
ld hl, wLinkSendTimeCapsuleParty
|
||||
ld de, wLinkReceivedPartyData
|
||||
ld bc, SERIAL_PREAMBLE_LENGTH + LINK_TIME_CAPSULE_PARTY_DATA_LENGTH + SERIAL_PADDING_LENGTH
|
||||
ld bc, wLinkSendTimeCapsulePartyEnd - wLinkSendTimeCapsuleParty
|
||||
vc_hook Wireless_ExchangeBytes_Gen2toGen1_party_structs
|
||||
call Serial_ExchangeBytes
|
||||
ld a, SERIAL_NO_DATA_BYTE
|
||||
|
|
@ -255,7 +255,7 @@ endc
|
|||
|
||||
ld hl, wLinkSendParty
|
||||
ld de, wLinkReceivedPartyData
|
||||
ld bc, SERIAL_PREAMBLE_LENGTH + LINK_PARTY_DATA_LENGTH + SERIAL_PADDING_LENGTH
|
||||
ld bc, wLinkSendPartyEnd - wLinkSendParty
|
||||
vc_hook Wireless_ExchangeBytes_party_structs
|
||||
call Serial_ExchangeBytes
|
||||
ld a, SERIAL_NO_DATA_BYTE
|
||||
|
|
@ -289,7 +289,7 @@ endc
|
|||
ld hl, wLinkReceivedPartyData
|
||||
call Link_FindFirstNonControlCharacter_SkipZero
|
||||
ld de, wLinkPartyData
|
||||
ld bc, LINK_PARTY_DATA_LENGTH
|
||||
ld bc, wLinkPartyDataEnd - wLinkPartyData
|
||||
call Link_CopyOTData
|
||||
|
||||
ld de, wOTPatchLists
|
||||
|
|
|
|||
37
ram/wram.asm
37
ram/wram.asm
|
|
@ -493,7 +493,14 @@ SECTION UNION "Overworld Map", WRAM0
|
|||
wLinkData::
|
||||
|
||||
; player's party data, formatted for link transfer (Gen 2 link session)
|
||||
wLinkSendParty:: ds SERIAL_PREAMBLE_LENGTH + LINK_PARTY_DATA_LENGTH + SERIAL_PADDING_LENGTH
|
||||
wLinkSendParty::
|
||||
ds SERIAL_PREAMBLE_LENGTH
|
||||
ds NAME_LENGTH
|
||||
ds (1 + PARTY_LENGTH + 1)
|
||||
ds 2
|
||||
ds (PARTYMON_STRUCT_LENGTH + NAME_LENGTH * 2) * PARTY_LENGTH
|
||||
ds SERIAL_PADDING_LENGTH
|
||||
wLinkSendPartyEnd::
|
||||
|
||||
ds 50
|
||||
|
||||
|
|
@ -502,17 +509,19 @@ wLinkSendMail::
|
|||
wLinkSendMailPreamble:: ds SERIAL_MAIL_PREAMBLE_LENGTH
|
||||
wLinkSendMailMessages:: ds (MAIL_MSG_LENGTH + 1) * PARTY_LENGTH
|
||||
wLinkSendMailMetadata:: ds (MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1)) * PARTY_LENGTH
|
||||
wLinkSendMailPatchSet:: ds SERIAL_MAIL_PATCH_LIST_LENGTH
|
||||
wLinkSendMailPatchSet:: ds (MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1) + 3) * PARTY_LENGTH + 1
|
||||
wLinkSendMailEnd::
|
||||
|
||||
ds 10
|
||||
|
||||
; during a link session, the other player's raw mail data is initially stored here
|
||||
wLinkReceivedMail::
|
||||
ds SERIAL_MAIL_PREAMBLE_LENGTH + MAIL_STRUCT_LENGTH * PARTY_LENGTH + SERIAL_MAIL_PATCH_LIST_LENGTH
|
||||
wLinkReceivedMailMessages:: ds (MAIL_MSG_LENGTH + 1) * PARTY_LENGTH
|
||||
wLinkReceivedMailMetadata:: ds (MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1)) * PARTY_LENGTH
|
||||
wLinkReceivedMailPatchSet:: ds (MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1) + 3) * PARTY_LENGTH + 1
|
||||
wLinkReceivedMailEnd::
|
||||
|
||||
ds 10 ; unused but written to (see engine/link/link.asm)
|
||||
ds 15 ; unused but written to (see engine/link/link.asm)
|
||||
|
||||
wLinkDataEnd::
|
||||
|
||||
|
|
@ -520,7 +529,13 @@ wLinkDataEnd::
|
|||
SECTION UNION "Overworld Map", WRAM0
|
||||
|
||||
; player's party data, formatted for link transfer (Time Capsule link session)
|
||||
wLinkSendTimeCapsuleParty:: ds SERIAL_PREAMBLE_LENGTH + LINK_TIME_CAPSULE_PARTY_DATA_LENGTH + SERIAL_PADDING_LENGTH
|
||||
wLinkSendTimeCapsuleParty::
|
||||
ds SERIAL_PREAMBLE_LENGTH
|
||||
ds NAME_LENGTH
|
||||
ds (1 + PARTY_LENGTH + 1)
|
||||
ds (REDMON_STRUCT_LENGTH + NAME_LENGTH * 2) * PARTY_LENGTH
|
||||
ds SERIAL_PADDING_LENGTH
|
||||
wLinkSendTimeCapsulePartyEnd::
|
||||
|
||||
|
||||
SECTION UNION "Overworld Map", WRAM0
|
||||
|
|
@ -560,16 +575,6 @@ endr
|
|||
wLinkPartyDataEnd::
|
||||
|
||||
|
||||
SECTION UNION "Overworld Map", WRAM0
|
||||
|
||||
ds 900
|
||||
|
||||
; received mail data, stripped of the serial preamble
|
||||
wLinkReceivedMailMessages:: ds (MAIL_MSG_LENGTH + 1) * PARTY_LENGTH
|
||||
wLinkReceivedMailMetadata:: ds (MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1)) * PARTY_LENGTH
|
||||
wLinkReceivedMailPatchSet:: ds SERIAL_MAIL_PATCH_LIST_LENGTH
|
||||
|
||||
|
||||
SECTION UNION "Overworld Map", WRAM0
|
||||
|
||||
; after the initial link session, the other player's party data
|
||||
|
|
@ -2802,7 +2807,7 @@ wMagikarpRecordHoldersName:: ds NAME_LENGTH
|
|||
; This union spans 451 bytes.
|
||||
UNION
|
||||
; during a link session, other player's raw party data is initially stored here
|
||||
wLinkReceivedPartyData:: ds SERIAL_PREAMBLE_LENGTH + LINK_PARTY_DATA_LENGTH + SERIAL_PADDING_LENGTH
|
||||
wLinkReceivedPartyData:: ds SERIAL_PREAMBLE_LENGTH + NAME_LENGTH + (1 + PARTY_LENGTH + 1) + 2 + (PARTYMON_STRUCT_LENGTH + NAME_LENGTH * 2) * PARTY_LENGTH + SERIAL_PADDING_LENGTH
|
||||
wLinkReceivedPartyEnd:: db
|
||||
|
||||
NEXTU
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user