sovereignx/src/rom_header_rhh.c
Bassoonian b9a02b205d
Rename gItems and gAbilities to gItemsInfo and gAbilitiesInfo (#4068)
* Rename gItems to gItemsInfo

* Rename gAbilities to gAbilitiesInfo

* Just fixing up my bad merge

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-26 15:25:52 -03:00

44 lines
1.6 KiB
C

#include "global.h"
#include "constants/abilities.h"
#include "constants/expansion.h"
#include "constants/moves.h"
#include "constants/species.h"
#include "constants/items.h"
// Similar to the GF ROM header, this struct allows external programs to
// detect details about Expansion.
// For this structure to be useful we have to maintain backwards binary
// compatibility. This means that we should only ever append data to the
// end. If there are any structs as members then those structs should
// not be modified after being introduced.
struct RHHRomHeader
{
/*0x00*/ char rhh_magic[6]; // 'RHHEXP'. Useful to locate the header if it shifts.
/*0x06*/ u8 expansionVersionMajor;
/*0x07*/ u8 expansionVersionMinor;
/*0x08*/ u8 expansionVersionPatch;
/*0x09*/ u8 expansionVersionFlags;
/*0x0A*/ u16 movesCount;
/*0x0C*/ u16 numSpecies;
/*0x0E*/ u16 abilitiesCount;
/*0x10*/ const struct Ability *abilities;
/*0x14*/ u16 itemsCount;
/*0x16*/ u8 itemNameLength;
/*0x17*/ u8 padding;
};
__attribute__((section(".text.consts")))
static const struct RHHRomHeader sRHHRomHeader =
{
.rhh_magic = { 'R', 'H', 'H', 'E', 'X', 'P' },
.expansionVersionMajor = EXPANSION_VERSION_MAJOR,
.expansionVersionMinor = EXPANSION_VERSION_MINOR,
.expansionVersionPatch = EXPANSION_VERSION_PATCH,
.expansionVersionFlags = (EXPANSION_TAGGED_RELEASE << 0),
.movesCount = MOVES_COUNT,
.numSpecies = NUM_SPECIES,
.abilitiesCount = ABILITIES_COUNT,
.abilities = gAbilitiesInfo,
.itemsCount = ITEMS_COUNT,
.itemNameLength = ITEM_NAME_LENGTH,
};