more decomp work

This commit is contained in:
Seth Barberee
2024-04-19 15:14:02 -07:00
parent 9ee69e7478
commit 7efd9c44fc
24 changed files with 433 additions and 812 deletions

View File

@@ -41,6 +41,40 @@ typedef struct ActionContainer
/* 0x14 */ Position itemTargetPosition;
} ActionContainer;
typedef struct HiddenPower
{
/* 0x0 */ s16 hiddenPowerBasePower;
/* 0x2 */ u8 hiddenPowerType;
} HiddenPower;
typedef struct JoinedAt
{
/* 0x0 */ u8 joinedAt;
/* 0x1 */ u8 unk1;
} JoinedAt;
typedef struct AITarget
{
/* 0x0 */ u8 aiObjective;
/* 0x1 */ bool8 aiNotNextToTarget;
/* 0x2 */ bool8 aiTargetingEnemy;
/* 0x3 */ bool8 aiTurningAround;
/* 0x4 */ u16 aiTargetSpawnGenID;
/* 0x8 */ struct Entity *aiTarget;
/* 0xC */ u8 fillC[4];
/* 0x10 */ Position aiTargetPos;
} AITarget;
typedef struct Sleep
{
/* 0x0 */ u8 sleep;
/* 0x1 */ u8 sleepTurns;
} Sleep;
// size: 0x208
typedef struct EntityInfo
{
@@ -82,24 +116,15 @@ typedef struct EntityInfo
/* 0x2C */ s32 offensiveMultipliers[2];
// Index 0 is Defense. Index 1 is Special Defense.
/* 0x34 */ s32 defensiveMultipliers[2];
/* 0x3C */ s16 hiddenPowerBasePower;
/* 0x3E */ u8 hiddenPowerType;
u8 fill3F;
/* 0x40 */ u8 joinedAt; // Uses the dungeon index in dungeon.h.
/* 0x3C */ HiddenPower hiddenPower;
/* 0x40 */ JoinedAt joinedAt; // Uses the dungeon index in dungeon.h.
/* 0x44 */ ActionContainer action;
/* 0x5C */ u8 types[2];
/* 0x5E */ u8 abilities[2];
/* 0x60 */ Item heldItem;
u8 fill64[0x68 - 0x64];
/* 0x68 */ Position prevPos[NUM_PREV_POS];
/* 0x78 */ u8 aiObjective;
/* 0x79 */ bool8 aiNotNextToTarget;
/* 0x7A */ bool8 aiTargetingEnemy;
/* 0x7B */ bool8 aiTurningAround;
/* 0x7C */ u16 aiTargetSpawnGenID;
/* 0x80 */ struct Entity *aiTarget;
u8 fill84[0x88 - 0x84];
/* 0x88 */ Position aiTargetPos;
/* 0x78 */ AITarget aiTarget;
// Bitwise flags corresponding to selected IQ skills.
/* 0x8C */ u8 IQSkillMenuFlags[4]; // IQ skills selected in the IQ skills menu.
/* 0x90 */ u8 IQSkillFlags[4];
@@ -112,9 +137,7 @@ typedef struct EntityInfo
u8 fillA5[0xA8 - 0xA5];
// Statuses are split into groups based on which ones can't overlap.
// See status.h for which statuses are in each group.
/* 0xA8 */ u8 sleep;
/* 0xA9 */ u8 sleepTurns;
u8 fillAA[0xAC - 0xAA];
/* 0xA8 */ Sleep sleep;
/* 0xAC */ u8 nonVolatileStatus;
/* 0xAD */ u8 nonVolatileStatusTurns;
/* 0xAE */ u8 nonVolatileStatusDamageCountdown;

View File

@@ -150,22 +150,25 @@ typedef struct Dungeon
/* 0x3904 */ s16 unk3904;
u8 fill3906[0x3A08 - 0x3906];
/* 0x3A08 */ u8 unk3A08;
u8 fill3A09[0x3A0C - 0x3A09];
/* 0x3A09 */ u8 unk3A09;
/* 0x3A0A */ u8 unk3A0A;
/* 0x3A0B */ u8 unk3A0B;
u8 unk3A0C;
/* 0x3A0D */ u8 unk3A0D;
/* 0x3A0E */ s16 tileset;
/* 0x3A10 */ u16 unk3A10;
u8 fill3A10[0x3A14 - 0x3A12];
/* 0x3A10 */ s16 unk3A10;
/* 0x3A12 */ s16 unk3A12;
/* 0x3A14 */ s16 bossBattleIndex;
/* 0x3A16 */ s16 unk3A16;
/* 0x3A18 */ Tile tiles[DUNGEON_MAX_SIZE_Y][DUNGEON_MAX_SIZE_X];
u8 fillE218[0xE21C - 0xE218];
u16 unkE21C;
u16 unkE21E;
Position unkE220[4];
u8 unkE230[0xE23C - 0xE230];
s16 unkE23C; // x coord of some kind
s16 unkE23E; // y coord of some kind
u8 fillE240[0xE264 - 0xE240];
Position unkE218;
Position unkE21C;
Position unkE220[8];
u32 unkE240;
u8 fillE244[0xE250 - 0xE244];
u32 unkE250;
u8 fillE254[0xE260 - 0xE254];
u32 unkE260;
/* 0xE264 */ u8 weather; // Uses the weather constants in weather.h.
u8 unkE265; // Uses the weather constants in weather.h
/* 0xE266 */ u8 weatherDamageCounter; // Timer for applying sandstorm/hail damage periodically.
@@ -181,7 +184,8 @@ typedef struct Dungeon
/* 0xE279 */ bool8 nullifyWeather; // Air Lock and Cloud Nine toggle this to disable weather effects
u8 fillE27A[0xE27C - 0xE27A];
/* 0xE27C */ Tile unkE27C[8][8];
/* 0xE87C */ u8 fillE87C[68];
/* 0xE87C */ u8 unkE87C[8][8];
u32 fillE8BC;
/* 0xE8C0 */ Tile *tilePointers[DUNGEON_MAX_SIZE_Y][DUNGEON_MAX_SIZE_X];
u8 unk104C0;
/* 0x104C4 */ RoomData roomData[MAX_ROOM_COUNT];
@@ -233,7 +237,10 @@ typedef struct Dungeon
u8 unk1820E;
u8 unk1820F;
/* 0x18210 */ bool8 hallucinating; // Displays Substitute and flower sprites when the player has the Cross-Eyed status.
u8 fill18211[0x18217 - 0x18211];
u8 unk18211;
u8 unk18212;
u8 unk18213;
u8 fill18214[3];
u8 unk18217;
u8 fill18218[0x1821A - 0x18218];
u8 unk1821A;