Macros for keeping .partyFlags, .partySize, and .party in sync

This commit is contained in:
GriffinR
2022-11-07 22:30:02 -05:00
parent 6a613b67b9
commit c5cf788676
2 changed files with 750 additions and 2229 deletions
+8 -3
View File
@@ -88,7 +88,7 @@ struct TrainerMonNoItemCustomMoves
u16 iv; u16 iv;
u8 lvl; u8 lvl;
u16 species; u16 species;
u16 moves[4]; u16 moves[MAX_MON_MOVES];
}; };
struct TrainerMonItemCustomMoves struct TrainerMonItemCustomMoves
@@ -97,9 +97,14 @@ struct TrainerMonItemCustomMoves
u8 lvl; u8 lvl;
u16 species; u16 species;
u16 heldItem; u16 heldItem;
u16 moves[4]; u16 moves[MAX_MON_MOVES];
}; };
#define NO_ITEM_DEFAULT_MOVES(party) { .NoItemDefaultMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = 0
#define NO_ITEM_CUSTOM_MOVES(party) { .NoItemCustomMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET
#define ITEM_DEFAULT_MOVES(party) { .ItemDefaultMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_HELD_ITEM
#define ITEM_CUSTOM_MOVES(party) { .ItemCustomMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM
union TrainerMonPtr union TrainerMonPtr
{ {
const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves;
@@ -115,7 +120,7 @@ struct Trainer
/*0x02*/ u8 encounterMusic_gender; // last bit is gender /*0x02*/ u8 encounterMusic_gender; // last bit is gender
/*0x03*/ u8 trainerPic; /*0x03*/ u8 trainerPic;
/*0x04*/ u8 trainerName[12]; /*0x04*/ u8 trainerName[12];
/*0x10*/ u16 items[4]; /*0x10*/ u16 items[MAX_TRAINER_ITEMS];
/*0x18*/ bool8 doubleBattle; /*0x18*/ bool8 doubleBattle;
/*0x1C*/ u32 aiFlags; /*0x1C*/ u32 aiFlags;
/*0x20*/ u8 partySize; /*0x20*/ u8 partySize;
+742 -2226
View File
File diff suppressed because it is too large Load Diff