Use trainer constants in flags, automatically update flags/vars count

This commit is contained in:
GriffinR
2021-01-29 15:37:52 -05:00
parent 419c897292
commit 1f6dc0e86b
88 changed files with 929 additions and 945 deletions
+146 -64
View File
@@ -1307,74 +1307,97 @@
#define FLAG_0x4FE 0x4FE
#define FLAG_0x4FF 0x4FF
#define FLAG_TRAINER_FLAG_START 0x500
// Vanilla: SYS_FLAGS = 0x800
//#define SYS_FLAGS (FLAG_TRAINER_FLAG_START + ((NUM_TRAINERS) + 31) / 32 * 32)
#define SYS_FLAGS 0x800
#define TRAINER_FLAGS_START (FLAG_0x4FF + 1)
#define TRAINER_FLAGS_END (TRAINER_FLAGS_START + MAX_TRAINERS_COUNT - 1) // 0x7FF
// SYSTEM FLAGS
// 0x800
#define SYS_FLAGS (TRAINER_FLAGS_END + 1) // 0x800
#define FLAG_SYS_SAFARI_MODE (SYS_FLAGS + 0x0)
#define FLAG_SYS_VS_SEEKER_CHARGING (SYS_FLAGS + 0x1)
#define FLAG_SYS_CRUISE_MODE (SYS_FLAGS + 0x2)
#define FLAG_SYS_WHITE_FLUTE_ACTIVE (SYS_FLAGS + 0x3)
#define FLAG_SYS_BLACK_FLUTE_ACTIVE (SYS_FLAGS + 0x4)
#define FLAG_SYS_USE_STRENGTH (SYS_FLAGS + 0x5)
#define FLAG_SYS_FLASH_ACTIVE (SYS_FLAGS + 0x6)
#define FLAG_SYS_SPECIAL_WILD_BATTLE (SYS_FLAGS + 0x7)
#define FLAG_0x808 (SYS_FLAGS + 0x8)
// Temporary system flags
#define FLAG_SYS_SAFARI_MODE (SYS_FLAGS + 0x0)
#define FLAG_SYS_VS_SEEKER_CHARGING (SYS_FLAGS + 0x1)
#define FLAG_SYS_CRUISE_MODE (SYS_FLAGS + 0x2)
#define FLAG_SYS_WHITE_FLUTE_ACTIVE (SYS_FLAGS + 0x3)
#define FLAG_SYS_BLACK_FLUTE_ACTIVE (SYS_FLAGS + 0x4)
#define FLAG_SYS_USE_STRENGTH (SYS_FLAGS + 0x5)
#define FLAG_SYS_FLASH_ACTIVE (SYS_FLAGS + 0x6)
#define FLAG_SYS_SPECIAL_WILD_BATTLE (SYS_FLAGS + 0x7)
#define PERMA_SYS_FLAGS_START 0x820
#define FLAG_0x808 (SYS_FLAGS + 0x8)
#define FLAG_0x809 (SYS_FLAGS + 0x9)
#define FLAG_0x80A (SYS_FLAGS + 0xA)
#define FLAG_0x80B (SYS_FLAGS + 0xB)
#define FLAG_0x80C (SYS_FLAGS + 0xC)
#define FLAG_0x80D (SYS_FLAGS + 0xD)
#define FLAG_0x80E (SYS_FLAGS + 0xE)
#define FLAG_0x80F (SYS_FLAGS + 0xF)
#define FLAG_0x810 (SYS_FLAGS + 0x10)
#define FLAG_0x811 (SYS_FLAGS + 0x11)
#define FLAG_0x812 (SYS_FLAGS + 0x12)
#define FLAG_0x813 (SYS_FLAGS + 0x13)
#define FLAG_0x814 (SYS_FLAGS + 0x14)
#define FLAG_0x815 (SYS_FLAGS + 0x15)
#define FLAG_0x816 (SYS_FLAGS + 0x16)
#define FLAG_0x817 (SYS_FLAGS + 0x17)
#define FLAG_0x818 (SYS_FLAGS + 0x18)
#define FLAG_0x819 (SYS_FLAGS + 0x19)
#define FLAG_0x81A (SYS_FLAGS + 0x1A)
#define FLAG_0x81B (SYS_FLAGS + 0x1B)
#define FLAG_0x81C (SYS_FLAGS + 0x1C)
#define FLAG_0x81D (SYS_FLAGS + 0x1D)
#define FLAG_0x81E (SYS_FLAGS + 0x1E)
#define FLAG_0x81F (SYS_FLAGS + 0x1F)
#define FLAG_BADGE01_GET (SYS_FLAGS + 0x20)
#define FLAG_BADGE02_GET (SYS_FLAGS + 0x21)
#define FLAG_BADGE03_GET (SYS_FLAGS + 0x22)
#define FLAG_BADGE04_GET (SYS_FLAGS + 0x23)
#define FLAG_BADGE05_GET (SYS_FLAGS + 0x24)
#define FLAG_BADGE06_GET (SYS_FLAGS + 0x25)
#define FLAG_BADGE07_GET (SYS_FLAGS + 0x26)
#define FLAG_BADGE08_GET (SYS_FLAGS + 0x27)
#define NUM_BADGES (1 + FLAG_BADGE08_GET - FLAG_BADGE01_GET)
// Permanent system flags
#define PERMA_SYS_FLAGS_START (FLAG_0x81F + 1)
#define FLAG_SYS_POKEMON_GET (SYS_FLAGS + 0x28)
#define FLAG_SYS_POKEDEX_GET (SYS_FLAGS + 0x29)
#define FLAG_0x82A (SYS_FLAGS + 0x2A)
#define FLAG_0x82B (SYS_FLAGS + 0x2B)
#define FLAG_SYS_GAME_CLEAR (SYS_FLAGS + 0x2C)
#define FLAG_SYS_SET_TRAINER_CARD_PROFILE (SYS_FLAGS + 0x2D)
#define FLAG_0x82E (SYS_FLAGS + 0x2E)
#define FLAG_SYS_B_DASH (SYS_FLAGS + 0x2F)
#define FLAG_SYS_ON_CYCLING_ROAD (SYS_FLAGS + 0x30)
#define FLAG_0x831 (SYS_FLAGS + 0x31)
#define FLAG_0x832 (SYS_FLAGS + 0x32)
#define FLAG_0x833 (SYS_FLAGS + 0x33)
#define FLAG_SYS_NOT_SOMEONES_PC (SYS_FLAGS + 0x34)
#define FLAG_0x835 (SYS_FLAGS + 0x35)
#define FLAG_0x836 (SYS_FLAGS + 0x36)
#define FLAG_0x837 (SYS_FLAGS + 0x37)
#define FLAG_0x838 (SYS_FLAGS + 0x38)
#define FLAG_SYS_MYSTERY_GIFT_ENABLED (SYS_FLAGS + 0x39)
#define FLAG_0x83A (SYS_FLAGS + 0x3A)
#define FLAG_SYS_RIBBON_GET (SYS_FLAGS + 0x3B)
#define FLAG_SYS_SAW_HELP_SYSTEM_INTRO (SYS_FLAGS + 0x3C)
#define FLAG_0x83D (SYS_FLAGS + 0x3D)
#define FLAG_OPENED_START_MENU (SYS_FLAGS + 0x3E)
#define FLAG_0x83F (SYS_FLAGS + 0x3F)
#define FLAG_SYS_NATIONAL_DEX (SYS_FLAGS + 0x40)
#define FLAG_SYS_PC_STORAGE_DISABLED (SYS_FLAGS + 0x41)
#define FLAG_SYS_INFORMED_OF_LOCAL_WIRELESS_PLAYER (SYS_FLAGS + 0x42)
#define FLAG_SHOWN_BOX_WAS_FULL_MESSAGE (SYS_FLAGS + 0x43)
#define FLAG_SYS_CAN_LINK_WITH_RS (SYS_FLAGS + 0x44)
#define FLAG_SYS_SEVII_MAP_123 (SYS_FLAGS + 0x45)
#define FLAG_SYS_SEVII_MAP_4567 (SYS_FLAGS + 0x46)
#define FLAG_SYS_GOT_BERRY_POUCH (SYS_FLAGS + 0x47)
#define FLAG_SYS_DEOXYS_AWAKENED (SYS_FLAGS + 0x48)
#define FLAG_SYS_UNLOCKED_TANOBY_RUINS (SYS_FLAGS + 0x49)
#define FLAG_ENABLE_SHIP_NAVEL_ROCK (SYS_FLAGS + 0x4A)
#define FLAG_ENABLE_SHIP_BIRTH_ISLAND (SYS_FLAGS + 0x4B)
#define FLAG_BADGE01_GET (SYS_FLAGS + 0x20)
#define FLAG_BADGE02_GET (SYS_FLAGS + 0x21)
#define FLAG_BADGE03_GET (SYS_FLAGS + 0x22)
#define FLAG_BADGE04_GET (SYS_FLAGS + 0x23)
#define FLAG_BADGE05_GET (SYS_FLAGS + 0x24)
#define FLAG_BADGE06_GET (SYS_FLAGS + 0x25)
#define FLAG_BADGE07_GET (SYS_FLAGS + 0x26)
#define FLAG_BADGE08_GET (SYS_FLAGS + 0x27)
#define NUM_BADGES (1 + FLAG_BADGE08_GET - FLAG_BADGE01_GET)
#define FLAG_SYS_POKEMON_GET (SYS_FLAGS + 0x28)
#define FLAG_SYS_POKEDEX_GET (SYS_FLAGS + 0x29)
#define FLAG_0x82A (SYS_FLAGS + 0x2A)
#define FLAG_0x82B (SYS_FLAGS + 0x2B)
#define FLAG_SYS_GAME_CLEAR (SYS_FLAGS + 0x2C)
#define FLAG_SYS_SET_TRAINER_CARD_PROFILE (SYS_FLAGS + 0x2D)
#define FLAG_0x82E (SYS_FLAGS + 0x2E)
#define FLAG_SYS_B_DASH (SYS_FLAGS + 0x2F)
#define FLAG_SYS_ON_CYCLING_ROAD (SYS_FLAGS + 0x30)
#define FLAG_0x831 (SYS_FLAGS + 0x31)
#define FLAG_0x832 (SYS_FLAGS + 0x32)
#define FLAG_0x833 (SYS_FLAGS + 0x33)
#define FLAG_SYS_NOT_SOMEONES_PC (SYS_FLAGS + 0x34)
#define FLAG_0x835 (SYS_FLAGS + 0x35)
#define FLAG_0x836 (SYS_FLAGS + 0x36)
#define FLAG_0x837 (SYS_FLAGS + 0x37)
#define FLAG_0x838 (SYS_FLAGS + 0x38)
#define FLAG_SYS_MYSTERY_GIFT_ENABLED (SYS_FLAGS + 0x39)
#define FLAG_0x83A (SYS_FLAGS + 0x3A)
#define FLAG_SYS_RIBBON_GET (SYS_FLAGS + 0x3B)
#define FLAG_SYS_SAW_HELP_SYSTEM_INTRO (SYS_FLAGS + 0x3C)
#define FLAG_0x83D (SYS_FLAGS + 0x3D)
#define FLAG_OPENED_START_MENU (SYS_FLAGS + 0x3E)
#define FLAG_0x83F (SYS_FLAGS + 0x3F)
#define FLAG_SYS_NATIONAL_DEX (SYS_FLAGS + 0x40)
#define FLAG_SYS_PC_STORAGE_DISABLED (SYS_FLAGS + 0x41)
#define FLAG_SYS_INFORMED_OF_LOCAL_WIRELESS_PLAYER (SYS_FLAGS + 0x42)
#define FLAG_SHOWN_BOX_WAS_FULL_MESSAGE (SYS_FLAGS + 0x43)
#define FLAG_SYS_CAN_LINK_WITH_RS (SYS_FLAGS + 0x44)
#define FLAG_SYS_SEVII_MAP_123 (SYS_FLAGS + 0x45)
#define FLAG_SYS_SEVII_MAP_4567 (SYS_FLAGS + 0x46)
#define FLAG_SYS_GOT_BERRY_POUCH (SYS_FLAGS + 0x47)
#define FLAG_SYS_DEOXYS_AWAKENED (SYS_FLAGS + 0x48)
#define FLAG_SYS_UNLOCKED_TANOBY_RUINS (SYS_FLAGS + 0x49)
#define FLAG_ENABLE_SHIP_NAVEL_ROCK (SYS_FLAGS + 0x4A)
#define FLAG_ENABLE_SHIP_BIRTH_ISLAND (SYS_FLAGS + 0x4B)
// World Map Flags
#define FLAG_WORLD_MAP_PALLET_TOWN (SYS_FLAGS + 0x90)
@@ -1429,10 +1452,69 @@
#define FLAG_WORLD_MAP_SEVEN_ISLAND_SEVAULT_CANYON_TANOBY_KEY (SYS_FLAGS + 0xC1)
#define FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR (SYS_FLAGS + 0xC2)
#define FLAG_0x8D5 (SYS_FLAGS + 0xD5)
#define FLAG_0x8D6 (SYS_FLAGS + 0xD6)
#define FLAG_0x8C3 (SYS_FLAGS + 0xC3)
#define FLAG_0x8C4 (SYS_FLAGS + 0xC4)
#define FLAG_0x8C5 (SYS_FLAGS + 0xC5)
#define FLAG_0x8C6 (SYS_FLAGS + 0xC6)
#define FLAG_0x8C7 (SYS_FLAGS + 0xC7)
#define FLAG_0x8C8 (SYS_FLAGS + 0xC8)
#define FLAG_0x8C9 (SYS_FLAGS + 0xC9)
#define FLAG_0x8CA (SYS_FLAGS + 0xCA)
#define FLAG_0x8CB (SYS_FLAGS + 0xCB)
#define FLAG_0x8CC (SYS_FLAGS + 0xCC)
#define FLAG_0x8CD (SYS_FLAGS + 0xCD)
#define FLAG_0x8CE (SYS_FLAGS + 0xCE)
#define FLAG_0x8CF (SYS_FLAGS + 0xCF)
#define FLAG_0x8D0 (SYS_FLAGS + 0xD0)
#define FLAG_0x8D1 (SYS_FLAGS + 0xD1)
#define FLAG_0x8D2 (SYS_FLAGS + 0xD2)
#define FLAG_0x8D3 (SYS_FLAGS + 0xD3)
#define FLAG_0x8D4 (SYS_FLAGS + 0xD4)
#define FLAG_0x8D5 (SYS_FLAGS + 0xD5)
#define FLAG_0x8D6 (SYS_FLAGS + 0xD6)
#define FLAG_0x8D7 (SYS_FLAGS + 0xD7)
#define FLAG_0x8D8 (SYS_FLAGS + 0xD8)
#define FLAG_0x8D9 (SYS_FLAGS + 0xD9)
#define FLAG_0x8DA (SYS_FLAGS + 0xDA)
#define FLAG_0x8DB (SYS_FLAGS + 0xDB)
#define FLAG_0x8DC (SYS_FLAGS + 0xDC)
#define FLAG_0x8DD (SYS_FLAGS + 0xDD)
#define FLAG_0x8DE (SYS_FLAGS + 0xDE)
#define FLAG_0x8DF (SYS_FLAGS + 0xDF)
#define FLAG_0x8E0 (SYS_FLAGS + 0xE0)
#define FLAG_0x8E1 (SYS_FLAGS + 0xE1)
#define FLAG_0x8E2 (SYS_FLAGS + 0xE2)
#define FLAG_0x8E3 (SYS_FLAGS + 0xE3)
#define FLAG_0x8E4 (SYS_FLAGS + 0xE4)
#define FLAG_0x8E5 (SYS_FLAGS + 0xE5)
#define FLAG_0x8E6 (SYS_FLAGS + 0xE6)
#define FLAG_0x8E7 (SYS_FLAGS + 0xE7)
#define FLAG_0x8E8 (SYS_FLAGS + 0xE8)
#define FLAG_0x8E9 (SYS_FLAGS + 0xE9)
#define FLAG_0x8EA (SYS_FLAGS + 0xEA)
#define FLAG_0x8EB (SYS_FLAGS + 0xEB)
#define FLAG_0x8EC (SYS_FLAGS + 0xEC)
#define FLAG_0x8ED (SYS_FLAGS + 0xED)
#define FLAG_0x8EE (SYS_FLAGS + 0xEE)
#define FLAG_0x8EF (SYS_FLAGS + 0xEF)
#define FLAG_0x8F0 (SYS_FLAGS + 0xF0)
#define FLAG_0x8F1 (SYS_FLAGS + 0xF1)
#define FLAG_0x8F2 (SYS_FLAGS + 0xF2)
#define FLAG_0x8F3 (SYS_FLAGS + 0xF3)
#define FLAG_0x8F4 (SYS_FLAGS + 0xF4)
#define FLAG_0x8F5 (SYS_FLAGS + 0xF5)
#define FLAG_0x8F6 (SYS_FLAGS + 0xF6)
#define FLAG_0x8F7 (SYS_FLAGS + 0xF7)
#define FLAG_0x8F8 (SYS_FLAGS + 0xF8)
#define FLAG_0x8F9 (SYS_FLAGS + 0xF9)
#define FLAG_0x8FA (SYS_FLAGS + 0xFA)
#define FLAG_0x8FB (SYS_FLAGS + 0xFB)
#define FLAG_0x8FC (SYS_FLAGS + 0xFC)
#define FLAG_0x8FD (SYS_FLAGS + 0xFD)
#define FLAG_0x8FE (SYS_FLAGS + 0xFE)
#define FLAG_0x8FF (SYS_FLAGS + 0xFF)
#define FLAG_0x8E0 (SYS_FLAGS + 0xE0)
#define FLAGS_COUNT (FLAG_0x8FF + 1)
// SPECIAL FLAGS (unknown purpose)
#define SPECIAL_FLAGS_START 0x4000