diff options
| author | octorock <79596758+octorock@users.noreply.github.com> | 2023-12-31 02:12:41 +0100 |
|---|---|---|
| committer | octorock <79596758+octorock@users.noreply.github.com> | 2023-12-31 02:12:41 +0100 |
| commit | 109b1020dcbfa17e80d28c522b5d792f7b3c6d46 (patch) | |
| tree | cf23c1134de2891d0eed3b55549e70b29eb1997f /include | |
| parent | 957da774e4c34100e0bd352b1570af02bb7f7521 (diff) | |
| parent | 9c87bcca8ea4b52199ed908c0ea28ab08b1d0747 (diff) | |
Merge branch 'master' into tilemap-docs
Diffstat (limited to 'include')
| -rw-r--r-- | include/enemy.h | 164 | ||||
| -rw-r--r-- | include/enemy/vaatiWrath.h | 20 | ||||
| -rw-r--r-- | include/entity.h | 39 | ||||
| -rw-r--r-- | include/functions.h | 2 | ||||
| -rw-r--r-- | include/kinstone.h | 2 | ||||
| -rw-r--r-- | include/message.h | 4 | ||||
| -rw-r--r-- | include/new_player.h | 26 | ||||
| -rw-r--r-- | include/object/deathFx.h | 3 | ||||
| -rw-r--r-- | include/object/houseSign.h | 13 | ||||
| -rw-r--r-- | include/object/itemForSale.h | 13 | ||||
| -rw-r--r-- | include/object/linkAnimation.h | 20 | ||||
| -rw-r--r-- | include/object/pushableFurniture.h | 25 | ||||
| -rw-r--r-- | include/player.h | 57 | ||||
| -rw-r--r-- | include/playerItem/playerItemBottle.h | 13 | ||||
| -rw-r--r-- | include/room.h | 29 | ||||
| -rw-r--r-- | include/structures.h | 4 |
16 files changed, 264 insertions, 170 deletions
diff --git a/include/enemy.h b/include/enemy.h index ba1b828b..bc9f842b 100644 --- a/include/enemy.h +++ b/include/enemy.h @@ -156,108 +156,108 @@ typedef enum { /*0x66*/ ENEMY_66 } Enemy; -void Octorok(Entity*); -void Chuchu(Entity*); -void Leever(Entity*); -void Peahat(Entity*); -void Rollobite(Entity*); -void DarkNut(Entity*); -void HangingSeed(Entity*); -void Beetle(Entity*); -void Keese(Entity*); -void DoorMimic(Entity*); -void RockChuchu(Entity*); -void SpinyChuchu(Entity*); -void CuccoChickAggr(Entity*); -void Moldorm(Entity*); -void EnemyE(Entity*); -void Moldworm(Entity*); -void Sluggula(Entity*); -void Pesto(Entity*); -void Puffstool(Entity*); -void ChuchuBoss(Entity*); -void LikeLike(Entity*); -void SpearMoblin(Entity*); -void BusinessScrub(Entity*); -void RupeeLike(Entity*); -void Madderpillar(Entity*); -void WaterDrop(Entity*); -void WallMaster(Entity*); -void BombPeahat(Entity*); -void Spark(Entity*); -void Chaser(Entity*); -void SpikedBeetle(Entity*); -void SensorBladeTrap(Entity*); -void Helmasaur(Entity*); -void FallingBoulder(Entity*); -void Bobomb(Entity*); -void WallMaster2(Entity*); +void Octorok(); +void Chuchu(); +void Leever(); +void Peahat(); +void Rollobite(); +void DarkNut(); +void HangingSeed(); +void Beetle(); +void Keese(); +void DoorMimic(); +void RockChuchu(); +void SpinyChuchu(); +void CuccoChickAggr(); +void Moldorm(); +void EnemyE(); +void Moldworm(); +void Sluggula(); +void Pesto(); +void Puffstool(); +void ChuchuBoss(); +void LikeLike(); +void SpearMoblin(); +void BusinessScrub(); +void RupeeLike(); +void Madderpillar(); +void WaterDrop(); +void WallMaster(); +void BombPeahat(); +void Spark(); +void Chaser(); +void SpikedBeetle(); +void SensorBladeTrap(); +void Helmasaur(); +void FallingBoulder(); +void Bobomb(); +void WallMaster2(); void Gleerok(); -void VaatiEyesMacro(Entity*); -void Tektite(Entity*); +void VaatiEyesMacro(); +void Tektite(); void WizzrobeWind(); void WizzrobeFire(); void WizzrobeIce(); void Armos(); void Eyegore(); -void Rope(Entity*); -void SmallPesto(Entity*); -void AcroBandit(Entity*); -void BladeTrap(Entity*); -void Keaton(Entity*); -void Crow(Entity*); +void Rope(); +void SmallPesto(); +void AcroBandit(); +void BladeTrap(); +void Keaton(); +void Crow(); void Mulldozer(); -void Bombarossa(Entity*); -void Wisp(Entity*); -void SpinyBeetle(Entity*); -void MazaalHead(Entity*); -void MazaalMacro(Entity*); -void MazaalHand(Entity*); +void Bombarossa(); +void Wisp(); +void SpinyBeetle(); +void MazaalHead(); +void MazaalMacro(); +void MazaalHand(); void OctorokBoss(); -void FlyingPot(Entity*); -void Gibdo(Entity*); -void OctorokGolden(Entity*); -void TektiteGolden(Entity*); -void RopeGolden(Entity*); +void FlyingPot(); +void Gibdo(); +void OctorokGolden(); +void TektiteGolden(); +void RopeGolden(); void CloudPiranha(); -void ScissorsBeetle(Entity*); -void CuccoAggr(Entity*); +void ScissorsBeetle(); +void CuccoAggr(); void Stalfos(); -void FlyingSkull(Entity*); -void MazaalBracelet(Entity*); -void Takkuri(Entity*); -void BowMoblin(Entity*); -void Lakitu(Entity*); -void LakituCloud(Entity*); -void TorchTrap(Entity*); -void VaatiRebornEnemy(Entity*); -void VaatiProjectile(Entity*); -void BallChainSoldier(Entity*); +void FlyingSkull(); +void MazaalBracelet(); +void Takkuri(); +void BowMoblin(); +void Lakitu(); +void LakituCloud(); +void TorchTrap(); +void VaatiRebornEnemy(); +void VaatiProjectile(); +void BallChainSoldier(); void Enemy4D(); void Ghini(); -void VaatiTransfigured(Entity*); +void VaatiTransfigured(); void Enemy50(); -void VaatiWrath(Entity*); -void VaatiArm(Entity*); -void Dust(Entity*); -void VaatiBall(Entity*); -void Slime(Entity*); -void MiniSlime(Entity*); -void FireballGuy(Entity*); -void MiniFireballGuy(Entity*); -void VaatiTransfiguredEye(Entity*); -void BusinessScrubPrologue(Entity*); +void VaatiWrath(); +void VaatiArm(); +void Dust(); +void VaatiBall(); +void Slime(); +void MiniSlime(); +void FireballGuy(); +void MiniFireballGuy(); +void VaatiTransfiguredEye(); +void BusinessScrubPrologue(); void GyorgFemale(); void GyorgMale(); -void Curtain(Entity*); -void VaatiWrathEye(Entity*); +void Curtain(); +void VaatiWrathEye(); void GyorgChild(); void GyorgFemaleEye(); void GyorgMaleEye(); void GyorgFemaleMouth(); void Enemy64(); -void TreeItem(Entity*); -void Enemy66(Entity*); +void TreeItem(); +void Enemy66(); extern void (*const gUnk_080012C8[])(Entity*); diff --git a/include/enemy/vaatiWrath.h b/include/enemy/vaatiWrath.h new file mode 100644 index 00000000..83ba4bcc --- /dev/null +++ b/include/enemy/vaatiWrath.h @@ -0,0 +1,20 @@ +#ifndef VAATIWRATH_H +#define VAATIWRATH_H +#include "enemy.h" + +typedef struct { + /*0x00*/ Entity base; + /*0x68*/ u8 unused1[5]; + /*0x6d*/ u8 unk_6d; + /*0x6e*/ u8 unused2[10]; + /*0x78*/ u8 unk_78; + /*0x79*/ u8 unk_79; + /*0x7a*/ u8 unused3[1]; + /*0x7b*/ u8 unk_7b; + /*0x7c*/ u16 unk_7c; + /*0x7e*/ u16 unk_7e; + /*0x80*/ u8 unused4[4]; + /*0x84*/ u8 unk_84; +} VaatiWrathEntity; + +#endif // VAATIWRATH_H diff --git a/include/entity.h b/include/entity.h index 8ecd0f95..188fa5a8 100644 --- a/include/entity.h +++ b/include/entity.h @@ -6,7 +6,9 @@ #include "color.h" #include "sprite.h" -#define MAX_ENTITIES 71 +#define MAX_ENTITIES 72 +#define MAX_MANAGERS 32 +#define MAX_AUX_PLAYER_ENTITIES 7 /** Kinds of Entity's supported by the game. */ typedef enum { @@ -38,6 +40,8 @@ typedef enum { typedef enum { ENT_DID_INIT = 0x1, /**< Graphics and other data loaded. */ ENT_SCRIPTED = 0x2, /**< Execute in a scripted environment. */ + ENT_UNUSED1 = 0x4, /**< Unused delete flag. */ + ENT_UNUSED2 = 0x8, /**< Unused delete flag. */ ENT_DELETED = 0x10, /**< Queue deletion next frame. */ ENT_PERSIST = 0x20, /**< Persist between rooms. */ ENT_COLLIDE = 0x80, /**< Collide with other Entity's. */ @@ -216,9 +220,6 @@ typedef struct Entity_ { /*0x62*/ u8 spriteOffsetX; /*0x63*/ s8 spriteOffsetY; /*0x64*/ void* myHeap; /**< Heap data allocated with #zMalloc. */ -#ifndef NENT_DEPRECATED - GENERIC_ENTITY_FIELDS -#endif } Entity; typedef struct { @@ -238,6 +239,15 @@ typedef struct LinkedList { Entity* first; } LinkedList; +/** + * LinkedList's which point to allocate Entities. + * These work together with Entity.prev and Entity.next fields + * to allow the iteration of all Entity's. + */ +extern LinkedList gEntityLists[9]; +extern GenericEntity gAuxPlayerEntities[MAX_AUX_PLAYER_ENTITIES]; +extern GenericEntity gEntities[MAX_ENTITIES]; + typedef void(EntityAction)(Entity*); typedef void (*EntityActionPtr)(Entity*); typedef void (*const* EntityActionArray)(Entity*); @@ -283,7 +293,7 @@ Entity* CreateEnemy(u32 id, u32 type); Entity* CreateNPC(u32 id, u32 type, u32 type2); Entity* CreateObject(u32 id, u32 type, u32 type2); Entity* CreateObjectWithParent(Entity* parent, u32 id, u32 type, u32 type2); -Entity* CreateItemGetEntity(void); +Entity* CreateAuxPlayerEntity(void); Entity* CreateFx(Entity* parent, u32 type, u32 type2); /// @} @@ -386,12 +396,15 @@ Entity* FindEntity(u32 kind, u32 id, u32 listIndex, u32 type, u32 type2); * @param entity Entity to set the priority of. * @param prio #Priority level. */ -void SetDefaultPriority(Entity* entity, u32 prio); +void SetEntityPriority(Entity* entity, u32 prio); /** - * Check if entity will be deleted next frame. + * Check if entity is disabled. Entities are disabled if: + * - They are deleted. + * - There is an event and the entity doesn't have priority + * (n/a if entity is in action 0). */ -bool32 EntityIsDeleted(Entity* entity); +bool32 EntityDisabled(Entity* entity); /** * Check if system or entity is blocking updates. @@ -477,18 +490,10 @@ void SetInitializationPriority(void); /** * Reset the system update priority. */ -void ResetSystemPriority(void); +void ClearEventPriority(void); void sub_0805E958(void); -/** - * LinkedList's which point to allocate Entities. - * These work together with Entity.prev and Entity.next fields - * to allow the iteration of all Entity's. - */ -extern LinkedList gEntityLists[9]; -extern Entity gItemGetEntities[7]; - typedef struct { u8 unk_0; u8 unk_1; diff --git a/include/functions.h b/include/functions.h index 6553a8f8..2242287c 100644 --- a/include/functions.h +++ b/include/functions.h @@ -76,7 +76,7 @@ extern void sub_08030118(u32); extern void sub_0803C0AC(Entity*); extern void SetRoomTrackerFlag(Entity*); extern u32 sub_0804A024(Entity*, u32, u32); -extern u32 sub_080542AC(u32); +extern u32 IsMinishItem(u32); extern void DisableRandomDrops(); extern void EnableRandomDrops(void); extern s32 sub_08056338(void); diff --git a/include/kinstone.h b/include/kinstone.h index 1159aedc..c50ba857 100644 --- a/include/kinstone.h +++ b/include/kinstone.h @@ -197,7 +197,7 @@ typedef enum { WORLD_EVENT_TYPE_8, // set a tile type WORLD_EVENT_TYPE_9, // LoadRoomEntity and set some tile type WORLD_EVENT_TYPE_BEANSTALK, - WORLD_EVENT_TYPE_11, // LoadRoomEntity and set gRoomVars.field_0x8c + WORLD_EVENT_TYPE_11, // LoadRoomEntity and set gRoomVars.entityRails WORLD_EVENT_TYPE_12, WORLD_EVENT_TYPE_13, WORLD_EVENT_TYPE_14, diff --git a/include/message.h b/include/message.h index 344bf4ed..32f9f582 100644 --- a/include/message.h +++ b/include/message.h @@ -5,8 +5,10 @@ #include "entity.h" #include "structures.h" +#define MESSAGE_ACTIVE 0x7f + typedef struct { - u8 doTextBox; + u8 state; u8 unk; u8 textSpeed; u8 unk3; // HI? diff --git a/include/new_player.h b/include/new_player.h deleted file mode 100644 index bae1ed2f..00000000 --- a/include/new_player.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef NEW_PLAYER_H -#define NEW_PLAYER_H - -#include "entity.h" - -// TODO Use new player entity struct everywhere once it is fully discovered. - -typedef struct { - /*0x00*/ Entity base; - /*0x68*/ u32 unk_68; - /*0x6c*/ u8 unk_6c; - /*0x6d*/ u8 unk_6d; - /*0x6e*/ u8 unk_6e; - /*0x6f*/ u8 unk_6f; - /*0x70*/ Entity* unk_70; - /*0x74*/ Entity* unk_74; - /*0x78*/ u8 unk_78; - /*0x79*/ u8 unk_79; - /*0x7a*/ u16 unk_7a; - /*0x7c*/ u32 unk_7c; - /*0x80*/ u8 unk_80[8]; -} PlayerEntity; - -#define gNewPlayerEntity (*(PlayerEntity*)&gPlayerEntity) - -#endif // NEW_PLAYER_H diff --git a/include/object/deathFx.h b/include/object/deathFx.h index ba8c69dc..4f14ea86 100644 --- a/include/object/deathFx.h +++ b/include/object/deathFx.h @@ -1,9 +1,6 @@ #ifndef DEATHFX_H #define DEATHFX_H -#ifndef NENT_DEPRECATED -#error "deathFx.h requires new entities" -#endif #include "entity.h" typedef struct { diff --git a/include/object/houseSign.h b/include/object/houseSign.h new file mode 100644 index 00000000..c437adee --- /dev/null +++ b/include/object/houseSign.h @@ -0,0 +1,13 @@ +#ifndef HOUSESIGN_H +#define HOUSESIGN_H + +#include "entity.h" + +typedef struct { + /*0x00*/ Entity base; + /*0x68*/ u8 unused1[24]; + /*0x80*/ s16 unk_80; + /*0x82*/ s16 unk_82; +} HouseSignEntity; + +#endif // HOUSESIGN_H diff --git a/include/object/itemForSale.h b/include/object/itemForSale.h new file mode 100644 index 00000000..6f22e5e0 --- /dev/null +++ b/include/object/itemForSale.h @@ -0,0 +1,13 @@ +#ifndef ITEMFORSALE_H +#define ITEMFORSALE_H + +#include "object.h" + +typedef struct { + /*0x00*/ Entity base; + /*0x68*/ u8 unk_68[0x18]; + /*0x80*/ u16 unk_80; + /*0x82*/ u16 unk_82; +} ItemForSaleEntity; + +#endif // ITEMFORSALE_H diff --git a/include/object/linkAnimation.h b/include/object/linkAnimation.h new file mode 100644 index 00000000..781df520 --- /dev/null +++ b/include/object/linkAnimation.h @@ -0,0 +1,20 @@ +#ifndef LINKANIMATION_H +#define LINKANIMATION_H + +#include "entity.h" + +typedef struct { + /*0x00*/ Entity base; + /*0x68*/ u8 storeDrawFlags; + /*0x69*/ u8 storeFlags; + /*0x6a*/ u8 storeIFrames; + /*0x6b*/ u8 storeField7; + /*0x6c*/ u8 storeKeepFacing; + /*0x6d*/ u8 storeFieldA; + /*0x6e*/ u8 storeField27; + /*0x6f*/ u8 storeMobility; + /*0x70*/ u32 storeStateFlags; + /*0x74*/ u8 store8A; +} LinkAnimationEntity; + +#endif // LINKANIMATION_H diff --git a/include/object/pushableFurniture.h b/include/object/pushableFurniture.h new file mode 100644 index 00000000..db693183 --- /dev/null +++ b/include/object/pushableFurniture.h @@ -0,0 +1,25 @@ +#ifndef PUSHABLEFURNITURE_H +#define PUSHABLEFURNITURE_H + +#include "object.h" + +typedef struct { + /*0x00*/ Entity base; + /*0x68*/ u8 unk_68[0x8]; + /*0x70*/ u16 unk_70; + /*0x72*/ u16 unk_72; + /*0x74*/ u16 unk_74; + /*0x76*/ u16 unk_76; + /*0x78*/ u8 unk_78[0x2]; + /*0x7a*/ u16 unk_7a; + /*0x7c*/ u16 unk_7c; + /*0x7e*/ u16 unk_7e; + /*0x80*/ u8 unk_80; + /*0x81*/ u8 unk_81; + /*0x82*/ u8 unk_82; + /*0x83*/ u8 unk_83; + /*0x84*/ u8 unk_84[0x2]; + /*0x86*/ u16 unk_86; +} PushableFurnitureEntity; + +#endif // PUSHABLEFURNITURE_H diff --git a/include/player.h b/include/player.h index e0fd182c..75ba6281 100644 --- a/include/player.h +++ b/include/player.h @@ -4,6 +4,23 @@ #include "global.h" #include "entity.h" +typedef struct { + /*0x00*/ Entity base; + /*0x68*/ union SplitWord unk_68; + /*0x6c*/ u8 unk_6c; + /*0x6d*/ u8 unk_6d; + /*0x6e*/ u8 unk_6e; + /*0x6f*/ u8 unk_6f; + /*0x70*/ Entity* unk_70; + /*0x74*/ Entity* unk_74; + /*0x78*/ u8 unk_78; + /*0x79*/ u8 unk_79; + /*0x7a*/ u16 unk_7a; + /*0x7c*/ union SplitWord unk_7c; + /*0x80*/ union SplitWord unk_80; + /*0x84*/ union SplitWord unk_84; +} PlayerEntity; + enum PlayerActions { PLAYER_INIT, PLAYER_NORMAL, @@ -244,29 +261,27 @@ typedef struct { } PlayerMacroEntry ALIGNED(2); typedef enum { - PLAYER_INPUT_1 = 0x1, // A - PLAYER_INPUT_2 = 0x2, // B - PLAYER_INPUT_8 = 0x8, // A sub_080782C0, sub_0807953C, PlayerUpdateSwimming, sub_08076518. ItemForSale_Action2 - PLAYER_INPUT_10 = 0x10, // B sub_0807953C, ToggleDiving, sub_08076518, ItemForSale_Action2 - PLAYER_INPUT_20 = 0x20, // R sub_0807953C - PLAYER_INPUT_40 = 0x40, // A CrenelBeanSprout_Action1 - PLAYER_INPUT_80 = + INPUT_USE_ITEM1 = 0x1, // A + INPUT_USE_ITEM2 = 0x2, // B + INPUT_INTERACT = 0x8, // A sub_080782C0, sub_0807953C, PlayerUpdateSwimming, sub_08076518. ItemForSale_Action2 + INPUT_CANCEL = 0x10, // B sub_0807953C, ToggleDiving, sub_08076518, ItemForSale_Action2 + INPUT_CONTEXT = 0x20, // R sub_0807953C + INPUT_40 = 0x40, // A CrenelBeanSprout_Action1 + INPUT_ACTION = 0x80, // R sub_08073584, IsPreventedFromUsingItem, sub_080782C0, CrenelBeanSprout_Action1, ItemForSale_Action2 - PLAYER_INPUT_RIGHT = 0x100, - PLAYER_INPUT_LEFT = 0x200, - PLAYER_INPUT_UP = 0x400, - PLAYER_INPUT_DOWN = 0x800, - PLAYER_INPUT_ANY_DIRECTION = 0xf00, - PLAYER_INPUT_1000 = 0x1000, // L, where is it set? sub_080782C0 - PLAYER_INPUT_8000 = 0x8000, // R, IsTryingToPickupObject, sub_08076518 - - // TODO What is the result of u32 result = (s32) - (keys & 0x200) >> 0x1f & 0x1000;? + INPUT_RIGHT = 0x100, + INPUT_LEFT = 0x200, + INPUT_UP = 0x400, + INPUT_DOWN = 0x800, + INPUT_ANY_DIRECTION = 0xf00, + INPUT_FUSE = 0x1000, // L, where is it set? sub_080782C0 + INPUT_LIFT_THROW = 0x8000, // R, IsTryingToPickupObject, sub_08076518 } PlayerInputState; typedef struct { /*0x0*/ u16 heldInput; /**< Input currently held @see PlayerInputState */ /*0x2*/ u16 newInput; /**< New input this frame @see PlayerInputState */ - /*0x4*/ u32 field_0x94; + /*0x4*/ u32 unused; /*0x8*/ u16 playerMacroWaiting; /*0xa*/ u16 playerMacroHeldKeys; /*0xc*/ PlayerMacroEntry* playerMacro; @@ -536,7 +551,7 @@ typedef struct { /*0x09*/ u8 _hasAllFigurines; /*0x0a*/ u8 charm; /*0x0b*/ u8 picolyteType; - /*0x0c*/ u8 itemButtons[2]; + /*0x0c*/ u8 equipped[2]; /*0x0e*/ u8 bottles[4]; /*0x12*/ u8 effect; /*0x13*/ u8 hasAllFigurines; @@ -588,9 +603,9 @@ extern const u8 gQuiverSizes[]; extern Entity* gPlayerClones[]; extern PlayerState gPlayerState; -extern Entity gPlayerEntity; +extern PlayerEntity gPlayerEntity; -void DoPlayerAction(Entity*); +void DoPlayerAction(PlayerEntity*); bool32 CheckInitPauseMenu(void); void SetPlayerControl(PlayerControlMode mode); void ResetActiveItems(void); @@ -722,7 +737,7 @@ s32 AddInteractableObject(Entity*, u32, u32); void RemoveInteractableObject(Entity*); s32 GetInteractableObjectIndex(); void sub_08078AC0(u32, u32, u32); -void sub_08078B48(void); +void PausePlayer(void); void sub_08078E84(Entity*, Entity*); void sub_08078FB0(Entity*); void sub_080792BC(s32, u32, u32); diff --git a/include/playerItem/playerItemBottle.h b/include/playerItem/playerItemBottle.h new file mode 100644 index 00000000..9055ee2f --- /dev/null +++ b/include/playerItem/playerItemBottle.h @@ -0,0 +1,13 @@ +#ifndef PLAYERITEMBOTTLE_H +#define PLAYERITEMBOTTLE_H + +#include "entity.h" + +typedef struct { + /*0x00*/ Entity base; + /*0x68*/ u8 bottleIndex; /**< @see Item */ + /*0x69*/ u8 unused[6]; + /*0x6f*/ u8 bottleContent; /**< @see Item */ +} PlayerItemBottleEntity; + +#endif // PLAYERITEMBOTTLE_H diff --git a/include/room.h b/include/room.h index 29e45967..5767f4d7 100644 --- a/include/room.h +++ b/include/room.h @@ -61,29 +61,26 @@ typedef struct { extern RoomControls gRoomControls; typedef struct { - /* 0x00 */ u8 field_0x0; - /* 0x01 */ u8 filler_0x1; + /* 0x00 */ bool8 didEnterScrolling; + /* 0x01 */ bool8 destructableManagerLoaded; /* 0x02 */ bool8 randomDropsDisabled; - /* 0x03 */ u8 field_0x3; - /* 0x04 */ u8 field_0x4; - /* 0x05 */ u8 filler1[1]; + /* 0x03 */ bool8 remFlagUnused; + /* 0x04 */ u8 numKinstoneDrops; + /* 0x05 */ u8 numKinstoneDropsPrevFrame; /* 0x06 */ u8 shopItemType; /* 0x07 */ u8 shopItemType2; - /* 0x08 */ u8 field_0x8; + /* 0x08 */ u8 unused; /* 0x09 */ u8 fight_bgm; - /* 0x0a */ u8 unk2; - /* 0x0b */ u8 filler2; + /* 0x0a */ u8 needHealthDrop; /* 0x0c */ s16 lightLevel; - /* 0x0e */ u16 specialTileCount; // Number of previous values for special tiles stored in gMetaTilesForSpecialTiles - /* 0x10 */ u8 unk_10[4]; - /* 0x14 */ u32 flags; - /* 0x18 */ u32 unk3; - /* 0x1c */ u8 filler4[44]; + /* 0x0e */ u16 tileEntityCount; // Number of previous values for special tiles stored in gMetaTilesForSpecialTiles + /* 0x10 */ u8 graphicsGroups[4]; + /* 0x14 */ u8 flags[52]; /* 0x48 */ Droptable currentAreaDroptable; /* 0x68 */ u32 animFlags; - /* 0x6c */ void* field_0x6c[8]; - /* 0x8c */ void* field_0x8c[8]; - /* 0xac */ Entity* entities[8]; + /* 0x6c */ void* properties[8]; + /* 0x8c */ void* entityRails[8]; + /* 0xac */ Entity* puzzleEntities[8]; } RoomVars; static_assert(sizeof(RoomVars) == 0xCC); extern RoomVars gRoomVars; diff --git a/include/structures.h b/include/structures.h index 493cc603..164e77e4 100644 --- a/include/structures.h +++ b/include/structures.h @@ -205,8 +205,8 @@ extern ItemBehavior gActiveItems[MAX_ACTIVE_ITEMS]; static_assert(sizeof(gActiveItems) == 0x70); typedef struct { - u8 sys_priority; // system requested priority - u8 ent_priority; // entity requested priority + u8 event_priority; // system requested priority + u8 ent_priority; // entity requested priority u8 queued_priority; u8 queued_priority_reset; Entity* requester; |
