summaryrefslogtreecommitdiff
path: root/data/phone
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2021-03-03 22:22:41 -0500
committerRangi <remy.oukaour+rangi42@gmail.com>2021-03-04 00:15:03 -0500
commit40902ffe244544d638567642e4e01b9c5801db23 (patch)
tree4abf9ac20786fdf66bb298b3ec7935cef2c71d07 /data/phone
parent9c17fb14c8068d6662b9ca1cb048ed206b6770ee (diff)
Verify data table sizes with table_width and assert_table_length macros
This was discussed in #706 It also uncovered some off-by-one issues with defining some constants. A few structs now use rsreset/_RS to define their offset constants, as discussed in #739
Diffstat (limited to 'data/phone')
-rw-r--r--data/phone/non_trainer_names.asm4
-rw-r--r--data/phone/phone_contacts.asm2
-rw-r--r--data/phone/special_calls.asm2
3 files changed, 7 insertions, 1 deletions
diff --git a/data/phone/non_trainer_names.asm b/data/phone/non_trainer_names.asm
index 1792c506a..deef730d5 100644
--- a/data/phone/non_trainer_names.asm
+++ b/data/phone/non_trainer_names.asm
@@ -1,11 +1,13 @@
NonTrainerCallerNames:
-; entries correspond to PHONECONTACT_* constants
+; entries correspond to PHONECONTACT_* constants (see constants/trainer_constants.asm)
+ table_width 2, NonTrainerCallerNames
dw .none
dw .mom
dw .bikeshop
dw .bill
dw .elm
dw .buena
+ assert_table_length NUM_NONTRAINER_PHONECONTACTS + 1
.none: db "----------@"
.mom: db "MOM:@"
diff --git a/data/phone/phone_contacts.asm b/data/phone/phone_contacts.asm
index 0c67e5109..aad39ae23 100644
--- a/data/phone/phone_contacts.asm
+++ b/data/phone/phone_contacts.asm
@@ -10,6 +10,7 @@ ENDM
PhoneContacts:
; entries correspond to PHONE_* constants
+ table_width PHONE_CONTACT_SIZE, PhoneContacts
phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
phone TRAINER_NONE, PHONECONTACT_MOM, PLAYERS_HOUSE_1F, ANYTIME, MomPhoneCalleeScript, 0, UnusedPhoneScript
phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript
@@ -48,3 +49,4 @@ PhoneContacts:
phone HIKER, PARRY1, ROUTE_45, ANYTIME, ParryPhoneCalleeScript, ANYTIME, ParryPhoneCallerScript
phone PICNICKER, ERIN1, ROUTE_46, ANYTIME, ErinPhoneCalleeScript, ANYTIME, ErinPhoneCallerScript
phone TRAINER_NONE, PHONECONTACT_BUENA, GOLDENROD_DEPT_STORE_ROOF, ANYTIME, BuenaPhoneCalleeScript, ANYTIME, BuenaPhoneCallerScript
+ assert_table_length NUM_PHONE_CONTACTS + 1
diff --git a/data/phone/special_calls.asm b/data/phone/special_calls.asm
index 826a5d283..a516e5957 100644
--- a/data/phone/special_calls.asm
+++ b/data/phone/special_calls.asm
@@ -7,6 +7,7 @@ ENDM
SpecialPhoneCallList:
; entries correspond to SPECIALCALL_* constants
+ table_width SPECIALCALL_SIZE, SpecialPhoneCallList
specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript
specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript
specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript
@@ -15,3 +16,4 @@ SpecialPhoneCallList:
specialcall SpecialCallWhereverYouAre, PHONECONTACT_BIKESHOP, BikeShopPhoneCallerScript
specialcall SpecialCallWhereverYouAre, PHONECONTACT_MOM, MomPhoneLectureScript
specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneCallerScript
+ assert_table_length NUM_SPECIALCALLS