diff options
| author | notyourav <65437533+notyourav@users.noreply.github.com> | 2022-03-30 00:56:23 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-30 00:56:23 -0700 |
| commit | ced56e2fa30db327ffe98f27455702133f40fcf8 (patch) | |
| tree | 9bc7eb383d88bb2023a6fd69c982915931a33d30 /include | |
| parent | 6000b4f2d3bc4ef482496560e3a47b3ca2b7e2b8 (diff) | |
| parent | a633efd88ca533b8d601eb9a673c5eb7e68dd19d (diff) | |
Merge pull request #478 from notyourav/msm
header cleanup
Diffstat (limited to 'include')
| -rw-r--r-- | include/area.h | 2 | ||||
| -rw-r--r-- | include/asm.h | 12 | ||||
| -rw-r--r-- | include/collision.h | 2 | ||||
| -rw-r--r-- | include/enemy.h | 37 | ||||
| -rw-r--r-- | include/entity.h | 1 | ||||
| -rw-r--r-- | include/functions.h | 138 | ||||
| -rw-r--r-- | include/game.h | 2 | ||||
| -rw-r--r-- | include/map.h | 2 | ||||
| -rw-r--r-- | include/message.h | 2 | ||||
| -rw-r--r-- | include/npc.h | 2 | ||||
| -rw-r--r-- | include/object.h | 16 | ||||
| -rw-r--r-- | include/physics.h | 23 | ||||
| -rw-r--r-- | include/player.h | 68 | ||||
| -rw-r--r-- | include/projectile.h | 3 | ||||
| -rw-r--r-- | include/room.h | 2 |
15 files changed, 150 insertions, 162 deletions
diff --git a/include/area.h b/include/area.h index e6e749d7..00a2339d 100644 --- a/include/area.h +++ b/include/area.h @@ -28,7 +28,7 @@ typedef struct { u16 localFlagOffset; u8 filler[4]; u16 lightLevel; - u8 unk_0b; + u8 lightType; u8 unk_0c_0 : 1; u8 unk_0c_1 : 3; u8 unk_0c_4 : 4; diff --git a/include/asm.h b/include/asm.h index d501bbd7..34d77cc6 100644 --- a/include/asm.h +++ b/include/asm.h @@ -4,6 +4,7 @@ #include "global.h" extern u32 Random(void); +extern u32 GetRandomByWeight(const u8*); extern void CloneTile(u32, u32, u32); extern u32 GetTileTypeByEntity(struct Entity_*); extern u32 GetTileTypeByPos(s32 x, s32 y, u32 layer); @@ -34,5 +35,16 @@ extern u32 ResolveCollisionLayer(struct Entity_*); extern void sub_0800417E(struct Entity_*, u32); extern u32 sub_0800442E(struct Entity_*); extern u32 sub_08007DD6(u32, const u16*); +extern void SoundReqClipped(struct Entity_*, u32); +extern u32 sub_0800132C(struct Entity_*, struct Entity_*); +extern u32 sub_080B1B44(u32, u32); +extern u32 sub_080B1A48(u32, u32, u32); +extern u32 sub_080B1B18(s32, s32, u32); +extern u32 sub_080B1AE0(u16, u8); +extern u32 GetTileUnderEntity(struct Entity_*); +extern u32 sub_0800445C(struct Entity_*); +extern u32 sub_080B1AF0(struct Entity_*, s32, s32); +extern u32 GetRelativeCollisionTile(struct Entity_*, u32, u32); +extern bool32 sub_080B1B54(u32); #endif // ASM_H diff --git a/include/collision.h b/include/collision.h index d57258a6..4a591e6a 100644 --- a/include/collision.h +++ b/include/collision.h @@ -27,6 +27,8 @@ typedef enum { } Collisions; bool32 IsTileCollision(const u8*, s32, s32, u32); +bool32 IsColliding(Entity*, Entity*); +bool32 IsCollidingPlayer(Entity*); void CalculateEntityTileCollisions(Entity*, u32, u32); bool32 ProcessMovementInternal(Entity*, s32, s32, u32); diff --git a/include/enemy.h b/include/enemy.h index f2ffb760..1ff32c7b 100644 --- a/include/enemy.h +++ b/include/enemy.h @@ -13,19 +13,34 @@ #include "projectile.h" bool32 EnemyInit(Entity* this); -extern u32 GetNextFunction(Entity*); -extern void EnemyFunctionHandler(Entity*, EntityActionArray); -extern void GenericKnockback(Entity*); -extern Entity* CreateDeathFx(Entity*, u32, u32); +u32 GetNextFunction(Entity*); +void EnemyFunctionHandler(Entity*, EntityActionArray); +void EnemyFunctionHandlerAfterCollision(Entity*, void (*const[])()); +void GenericKnockback(Entity*); +Entity* CreateDeathFx(Entity*, u32, u32); +void sub_0804A720(Entity*); +bool32 sub_08049FDC(Entity*, u32); -extern Entity* Create0x68FX(Entity*, u32); -extern void SetChildOffset(Entity*, s32, s32, s32); -extern Entity* CreateProjectileWithParent(Entity*, u8, u8); +Entity* Create0x68FX(Entity*, u32); +void SetChildOffset(Entity*, s32, s32, s32); +Entity* CreateProjectileWithParent(Entity*, u8, u8); -extern void GenericDeath(Entity*); -extern void sub_08002724(void*, u8*); -extern void sub_080026C4(u8*, u8*, u8*, u32); -extern void sub_080026F2(u8*, void*, u8*, u32); +void GenericDeath(Entity*); +void sub_08002724(void*, u8*); +void sub_080026C4(u8*, u8*, u8*, u32); +void sub_080026F2(u8*, void*, u8*, u32); +bool32 sub_08049FA0(Entity*); +u32 sub_08049EE4(Entity*); +bool32 sub_08049F84(Entity*, s32); +Entity* sub_08049DF4(u32); +u32 sub_0804A044(Entity*, Entity*, u32); +s32 sub_080012DC(Entity*); +u32 sub_080044EC(Entity*, u32); +void sub_0804AA1C(Entity*); +bool32 sub_08049F1C(Entity*, Entity*, s32); +bool32 PlayerInRange(Entity*, u32, s32); +void sub_0804A4E4(Entity*, Entity*); +void GenericKnockback2(Entity*); typedef enum { /*0x00*/ OCTOROK, diff --git a/include/entity.h b/include/entity.h index a75ff456..618bb701 100644 --- a/include/entity.h +++ b/include/entity.h @@ -265,6 +265,7 @@ void SetExtraSpriteFrame(Entity*, u32, u32); void SetSpriteSubEntryOffsetData1(Entity*, u32, u32); void SetSpriteSubEntryOffsetData2(Entity*, u32, u32); u8* GetSpriteSubEntryOffsetDataPointer(u32, u32); +bool32 SetAffineInfo(Entity*, u32, u32, u32); /** * Return the direction pointing from one Entity to another. diff --git a/include/functions.h b/include/functions.h index 631f5176..53f1821a 100644 --- a/include/functions.h +++ b/include/functions.h @@ -13,57 +13,28 @@ #include "map.h" // Identified - to be sorted into header files -extern void CalculateEntityTileCollisions(Entity*, u32, u32); -extern u32 CheckOnScreen(Entity*); extern u32 CheckRegionOnScreen(u32, u32, u32, u32); extern void CopyOAM(void); extern void CreateChestSpawner(Entity*); extern Entity* CreateGroundItem(Entity*, u32, u32); extern Entity* CreateGroundItemWithFlags(Entity*, u32, u32, u32); extern void CreateItemOnGround(Entity*); -extern Entity* CreateLargeWaterTrace(Entity*); extern void CreateMagicSparkles(u32, u32, u32); extern void CreateMinishEntrance(u32 tile); -extern Entity* CreatePlayerItemWithParent(ItemBehavior*, u32); extern u32 CreateRandomItemDrop(Entity*, u32); -extern void CreateSparkle(Entity*); -extern void DoPlayerAction(Entity*); extern void DrawDirect(u32, u32); extern void DrawEntities(void); extern void DrawUIElements(void); -extern void EnemyFunctionHandlerAfterCollision(Entity*, void (*const[])()); extern bool32 EntityWithinDistance(Entity*, s32, s32, s32); extern void FlushSprites(void); -extern void GenericKnockback2(Entity*); extern LayerStruct* GetLayerByIndex(u32); -extern u32 GetRandomByWeight(const u8*); extern u32 GetTileIndex(u32, u32); extern u32 GiveItem(u32, u32); -extern void HandlePlayerLife(Entity*); -extern bool32 HasSwordEquipped(); -extern bool32 IsColliding(Entity*, Entity*); -extern bool32 IsCollidingPlayer(Entity*); -extern bool32 IsProjectileOffScreen(Entity*); -extern bool32 IsTileCollision(const u8*, s32, s32, u32); -extern void LinearMoveAngle(Entity*, u32, u32); -extern void LinearMoveDirection(Entity*, u32, u32); extern bool32 LoadFixedGFX(Entity*, u32); extern void LoadResources(void); extern bool32 LoadSwapGFX(Entity*, u16, u32); extern void MenuFadeIn(u32, u32); -extern void ModBombs(s32); -extern bool32 PlayerInRange(Entity*, u32, s32); -extern bool32 ProcessMovement1(Entity*); -extern bool32 ProcessMovement12(Entity*); -extern bool32 ProcessMovement2(Entity*); -extern bool32 ProcessMovement3(Entity*); -extern bool32 ProcessMovement4(Entity*); -extern bool32 ProcessMovement5(Entity*); -extern bool32 ProcessMovement6(Entity*); -extern bool32 ProcessMovementInternal(Entity*, s32, s32, u32); extern void SetDirtTile(u32); -/** @see Item */ -extern void SetInventoryValue(u32, u32); /** * @brief Sets multiple tiles at once * @@ -72,26 +43,21 @@ extern void SetInventoryValue(u32, u32); * @param layer the tile layer */ extern void SetMultipleTiles(u16* tileData, u32 basePosition, u32 layer); -extern void SoundReqClipped(Entity*, u32); extern void TryLoadPrologueHyruleTown(void); extern void UnloadGFXSlots(Entity*); extern void UnloadOBJPalette(Entity*); extern void UpdateDisplayControls(void); -extern void UpdateItemAnim(ItemBehavior*); // Unidentified extern void sub_08000148(u32, u32, u32); extern u32 sub_080B1A0C(Entity*, s32, s32); extern u32 sub_080B1A48(u32, u32, u32); -extern u32 GetRelativeCollisionTile(Entity*, u32, u32); -extern u32 GetTileUnderEntity(Entity*); extern u32 sub_080B1AE0(u16, u8); extern u32 sub_080B1AF0(Entity*, s32, s32); extern u32 sub_080B1B18(s32, s32, u32); extern u32 sub_080B1B44(u32, u32); extern s32 sub_080012DC(Entity*); extern void sub_08001318(Entity*); -extern u32 sub_0800132C(Entity*, Entity*); extern void sub_080027EA(Entity*, u32, u32); extern void sub_080028E0(Entity*); extern u32 sub_080040A2(Entity*); @@ -110,40 +76,20 @@ extern void sub_08004542(Entity*); extern void sub_080085B0(Entity*); extern void sub_08008796(Entity*, u32, u32, u32); extern void sub_08016AD2(Entity*); -extern void sub_080171F0(void); extern u32 sub_0801766C(Entity*); -extern void sub_0801AF18(const u8*, u32, u32); extern void sub_0801AFE4(void); extern void UpdateUIElements(void); extern void sub_0801C25C(void); extern void sub_0801E104(void); extern void sub_08027870(Entity*); extern void sub_08030118(u32); -extern u32 sub_08031E04(Entity*); -extern void sub_08031E48(Entity*, Entity*); -extern void sub_08032290(Entity*); -extern u32 sub_080322A4(Entity*); -extern void sub_080322E8(Entity*); -extern void sub_08032338(Entity*); extern void sub_0803C0AC(Entity*); extern void sub_08049CF4(Entity*); -extern Entity* sub_08049DF4(u32); -extern u32 sub_08049EE4(Entity*); -extern bool32 sub_08049F1C(Entity*, Entity*, s32); -extern bool32 sub_08049F84(Entity*, s32); -extern bool32 sub_08049FA0(Entity*); -extern bool32 sub_08049FDC(Entity*, u32); extern u32 sub_0804A024(Entity*, u32, u32); -extern u32 sub_0804A044(Entity*, Entity*, u32); -extern void sub_0804A4E4(Entity*, Entity*); -extern void sub_0804A720(Entity*); -extern void sub_0804AA1C(Entity*); -extern void sub_0804C128(void); extern u32 sub_080542AC(u32); extern void sub_08054564(); extern void sub_08054570(void); extern s32 sub_08056338(void); -extern void sub_08057044(u32, struct_020227E8*, u32); extern void sub_080575C8(u32); extern void sub_08057688(void); extern void sub_080580B0(u32); @@ -152,80 +98,11 @@ extern void sub_08059278(void); extern void sub_0805B4D0(u32); extern void sub_0805BC4C(void); extern void sub_0805EC60(Entity*); -extern void SetAffineInfo(Entity*, u32, u32, u32); extern void InitPlayerMacro(u32*); extern u32* sub_0805F25C(u32); -extern u32 sub_0805F7A0(u32); extern void sub_0805F8E4(u32 r0, WStruct* r1); -extern u32 sub_0805F8F8(u32); -extern void sub_080600F0(Entity*); extern void sub_08060158(Entity*); -extern void sub_0806D02C(Entity*); extern void sub_0806D0B0(Entity*); -extern void sub_0806F4E8(Entity*); -extern bool32 sub_0806F520(Entity*); -extern u32 sub_0806F5B0(u32); -extern u32 sub_0806F824(Entity*, Entity*, s32, s32); -extern u32 sub_0806F948(Entity*); -extern void sub_0806FBB4(Entity*); -extern bool32 sub_0806FC80(Entity*, Entity*, s32); -extern void sub_0806FCF4(Entity*, s32, s32, s32); -extern void sub_0806FD3C(Entity*); -extern bool32 sub_0806FDA0(Entity*); -extern void sub_0806FEBC(Entity*, u32, Entity*); -extern void sub_080751E8(u32, u32, void*); -extern void sub_08077B98(ItemBehavior*); -extern void sub_08077BB8(ItemBehavior*); -extern Entity* sub_08077C0C(ItemBehavior*, u32); -extern Entity* sub_08077C94(ItemBehavior*, u32); -extern void sub_08077D38(ItemBehavior*, u32); -extern void sub_08077DF4(ItemBehavior*, u32); -extern void sub_08077E3C(ItemBehavior*, u32); -extern void sub_08077E54(ItemBehavior*); -extern void DeletePlayerItem(ItemBehavior*, u32); -extern bool32 sub_08077EC8(ItemBehavior*); -extern bool32 sub_08077EFC(ItemBehavior*); -extern bool32 sub_08077F10(ItemBehavior*); -extern bool32 sub_08077F24(ItemBehavior*, u32); -extern void PlayerCancelHoldItem(ItemBehavior*, u32); -extern bool32 sub_08077FEC(u32); -extern void sub_08078180(void); -extern void sub_080784C8(); -extern void sub_08078790(Entity*, u32); -extern void sub_080787CC(Entity*); -extern s32 sub_08078800(Entity*); -extern void sub_08078850(Entity*, u32, u32, void*); -extern s32 sub_0807887C(Entity*, u32, u32); -extern void sub_080788E0(Entity*); -extern s32 sub_08078904(); -extern void RegisterCarryEntity(Entity*); -extern void FreeCarryEntity(Entity*); -extern void sub_08078AC0(u32, u32, u32); -extern void sub_08078B48(void); -extern void sub_08078E84(Entity*, Entity*); -extern void sub_08078FB0(Entity*); -extern void PlayerDropHeldObject(); -extern void PlayerResetStateFromFusion(); -extern void sub_080792BC(s32, u32, u32); -extern u32 sub_0807953C(void); -extern void sub_08079BD8(Entity*); -extern u32 sub_08079D48(); -extern void sub_08079D84(void); -extern bool32 sub_08079F8C(void); -extern u32 sub_08079FC4(u32); -extern void sub_0807A050(void); -extern void sub_0807A5B8(u32); -extern void sub_0807A8D8(Entity*); -extern void sub_0807AA80(Entity*); -extern void sub_0807AABC(Entity*); -extern void sub_0807ACCC(Entity*); -extern u32 sub_0807B014(); -extern void sub_0807B0C8(void); -extern void sub_0807B7D8(u32, u32, u32); -extern void sub_0807B9B8(u32, u32, u32); -extern void RestorePrevTileEntity(u32, u32); -extern void sub_0807BB68(s16*, u32, u32); -extern bool32 sub_0807BD14(Entity*, u32); extern bool32 sub_080806BC(u32, u32, u32, u32); extern void sub_0808091C(const ScreenTransitionData*, u32); extern void sub_080809D4(void); @@ -233,23 +110,8 @@ extern void sub_08080CB4(Entity*); extern u32 sub_0808288C(Entity*, u32, u32, u32); extern bool32 sub_08083734(Entity*, u32); extern void sub_08095C48(Entity*); -extern void sub_0809E918(Entity*); -extern void sub_0809E96C(Entity*); -extern u32 sub_0809E9A0(void); -extern void sub_0809EABC(Entity*); -extern void sub_0809EAD8(Entity*); -extern void sub_0809EB30(Entity*); -extern void sub_080A1ED0(u32, u32, u32); -extern Entity* sub_080A2A3C(Entity*, u32, u32, u32); -extern Entity* sub_080A2AD4(Entity*); -extern void sub_080A2AF4(Entity*, s32, s32); -extern void sub_080A2CC0(Entity*, u16**, u16*); extern void sub_080A57F4(void); extern void sub_080A71C4(u32, u32, u32, u32); -extern void InitItemGetSequence(u32, u32, u32); extern void sub_080ADD70(void); -extern bool32 sub_080AE4CC(Entity*, u32, u32, u32); -extern void sub_080AE58C(Entity*, u32, u32); extern void sub_080AF284(void); -extern bool32 sub_080B1B54(u32); #endif diff --git a/include/game.h b/include/game.h index a0bf8a98..ca722d7c 100644 --- a/include/game.h +++ b/include/game.h @@ -261,7 +261,7 @@ void sub_08052EA0(void); void sub_08053250(void); void sub_080533CC(void); -void sub_08053494(void); +void StartDarkNutTimer(void); void sub_080534AC(void); void InitBiggoronTimer(void); diff --git a/include/map.h b/include/map.h index 52263a5b..8c8adb46 100644 --- a/include/map.h +++ b/include/map.h @@ -17,4 +17,6 @@ typedef struct { extern LayerStruct gMapTop; extern LayerStruct gMapBottom; +LayerStruct* GetLayerByIndex(u32); + #endif // MAP_H
\ No newline at end of file diff --git a/include/message.h b/include/message.h index 4a450767..7f02d61c 100644 --- a/include/message.h +++ b/include/message.h @@ -136,4 +136,6 @@ void MessageClose(void); void DispMessageFrame(u16*, s32, s32, u32); +void sub_08057044(u32, struct_020227E8*, u32); + #endif // MESSAGE_H diff --git a/include/npc.h b/include/npc.h index 1a57ccc9..43c399fe 100644 --- a/include/npc.h +++ b/include/npc.h @@ -36,7 +36,7 @@ Entity* CreateNPC(u32 subtype, u32 form, u32 parameter); u32 UpdateFuseInteraction(Entity*); void NPCInit(Entity* ent); -void sub_0806F0A4(void); +void CollideFollowers(void); // TODO move? void sub_08078784(Entity* ent, u32 arg1); diff --git a/include/object.h b/include/object.h index c8b46a16..a4aa6e44 100644 --- a/include/object.h +++ b/include/object.h @@ -14,12 +14,16 @@ #include "entity.h" #include "player.h" -extern void sub_080787C0(Entity*); -extern void sub_080787B4(Entity*); -extern void sub_0808C650(Entity*, u32); -extern u32 sub_0808C67C(void); -extern void sub_0808C688(void); -extern void sub_080A2BE4(Entity*, bool32); +void sub_080787C0(Entity*); +void sub_080787B4(Entity*); +void sub_0808C650(Entity*, u32); +u32 sub_0808C67C(void); +void sub_0808C688(void); +void SyncPlayerToPlatform(Entity*, bool32); +void UpdateRailMovement(Entity*, u16**, u16*); +void sub_080A2AF4(Entity*, s32, s32); +Entity* CreateLargeWaterTrace(Entity*); +void CreateSparkle(Entity*); void CreateDust(Entity* parent); void CreateDustAt(s32, s32, u32); diff --git a/include/physics.h b/include/physics.h index 2c243c35..0046fbd5 100644 --- a/include/physics.h +++ b/include/physics.h @@ -18,6 +18,10 @@ void sub_0806FA90(Entity*, Entity*, s32, s32); void SortEntityAbove(Entity* below_ent, Entity* above_ent); void SortEntityBelow(Entity* above_ent, Entity* below_ent); +void LinearMoveDirection(Entity* ent, u32 a, u32 b); +void LinearMoveAngle(Entity* ent, u32 a, u32 b); + +bool32 EntityWithinDistance(Entity*, s32, s32, s32); u32 sub_0806FCA0(Entity*, Entity*); u32 sub_0806F58C(Entity*, Entity*); u32 PointInsideRadius(s32 x, s32 y, s32 radius); @@ -28,6 +32,25 @@ bool32 sub_0806FD54(Entity*); u32 sub_0806FCAC(Entity*, Entity*); u32 sub_0806F854(Entity*, s32, s32); u32 sub_0806F730(Entity*); +bool32 sub_0806F520(Entity*); +void sub_0806F4E8(Entity*); +bool32 sub_0806FC80(Entity*, Entity*, s32); +u32 sub_0806F5B0(u32); +u32 sub_0806F824(Entity*, Entity*, s32, s32); +u32 sub_0806F948(Entity*); +void sub_0806FBB4(Entity*); +void sub_0806FCF4(Entity*, s32, s32, s32); +void sub_0806FD3C(Entity*); +bool32 sub_0806FDA0(Entity*); +void sub_0806FEBC(Entity*, u32, Entity*); +extern bool32 ProcessMovement1(Entity*); +extern bool32 ProcessMovement12(Entity*); +extern bool32 ProcessMovement2(Entity*); +extern bool32 ProcessMovement3(Entity*); +extern bool32 ProcessMovement4(Entity*); +extern bool32 ProcessMovement5(Entity*); +extern bool32 ProcessMovement6(Entity*); +extern bool32 ProcessMovementInternal(Entity*, s32, s32, u32); extern const s16 gSineTable[64]; extern const s16 gCosineTable[256]; diff --git a/include/player.h b/include/player.h index d5037141..5a914e87 100644 --- a/include/player.h +++ b/include/player.h @@ -20,7 +20,7 @@ enum PlayerActions { PLAYER_EMPTYBOTTLE, PLAYER_FROZEN, PLAYER_0807204C, - PLAYER_080720DC, + PLAYER_ROOM_EXIT, PLAYER_PULL, PLAYER_LAVA, PLAYER_WARP, @@ -33,7 +33,7 @@ enum PlayerActions { PLAYER_080728AC, PLAYER_INHOLE, PLAYER_08072C9C, - PLAYER_08074C44, + PLAYER_SLEEP, PLAYER_CLIMB, PLAYER_USEENTRANCE, PLAYER_PARACHUTE, @@ -77,7 +77,7 @@ enum PlayerSpawnType { PL_SPAWN_DROP, PL_SPAWN_WALKING, PL_SPAWN_STEP_IN, - PL_SPAWN_SPECIAL, + PL_SPAWN_SLEEPING, PL_SPAWN_DROP_MINISH, PL_SPAWN_STAIRS_ASCEND, PL_SPAWN_STAIRS_DESCEND, @@ -337,8 +337,11 @@ void CreateEzloHint(u32, u32); u32 IsItemEquipped(u32); /** @see Item */ u32 GetInventoryValue(u32); +/** @see Item */ +void SetInventoryValue(u32, u32); s32 ModHealth(s32 delta); void ModRupees(s32 delta); +void ModBombs(s32 delta); // playerUtils.c void DeleteClones(void); @@ -375,6 +378,65 @@ u32 sub_08078F74(Entity*); void sub_0807879C(Entity*); void PlayerSetNormalAndCollide(void); bool32 PlayerTryDropObject(ItemBehavior* arg0, u32 unk); +void InitItemGetSequence(u32, u32, u32); +void sub_0807B7D8(u32, u32, u32); +void sub_08078850(Entity*, u32, u32, void*); +void sub_08079D84(void); +u32 sub_0807953C(void); +void sub_0807BB68(s16*, u32, u32); +void sub_0807B9B8(u32, u32, u32); +void sub_0807B7D8(u32, u32, u32); +void RestorePrevTileEntity(u32, u32); +void UpdateItemAnim(ItemBehavior*); +void PlayerCancelHoldItem(ItemBehavior*, u32); +void RegisterCarryEntity(Entity*); +void FreeCarryEntity(Entity*); +void PlayerDropHeldObject(); +void PlayerResetStateFromFusion(); +void DeletePlayerItem(ItemBehavior*, u32); +void sub_08077D38(ItemBehavior*, u32); +void sub_08077DF4(ItemBehavior*, u32); +void sub_08077E3C(ItemBehavior*, u32); +void sub_080751E8(u32, u32, void*); +void sub_08077B98(ItemBehavior*); +void sub_08077BB8(ItemBehavior*); +Entity* sub_08077C0C(ItemBehavior*, u32); +Entity* sub_08077C94(ItemBehavior*, u32); +bool32 PlayerCanBeMoved(void); +bool32 sub_08077EC8(ItemBehavior*); +bool32 sub_08077EFC(ItemBehavior*); +bool32 sub_08077F10(ItemBehavior*); +bool32 sub_08077F24(ItemBehavior*, u32); +bool32 sub_08077FEC(u32); +void sub_08078180(void); +void sub_080784C8(); +void sub_08078790(Entity*, u32); +void sub_080787CC(Entity*); +s32 sub_08078800(Entity*); +s32 sub_0807887C(Entity*, u32, u32); +void sub_080788E0(Entity*); +s32 sub_08078904(); +void sub_08078AC0(u32, u32, u32); +void sub_08078B48(void); +void sub_08078E84(Entity*, Entity*); +void sub_08078FB0(Entity*); +void sub_080792BC(s32, u32, u32); +u32 sub_0807953C(void); +void sub_08079BD8(Entity*); +u32 sub_08079D48(); +void sub_08079D84(void); +u32 sub_08079FC4(u32); +void sub_0807A050(void); +void sub_0807A5B8(u32); +void sub_0807A8D8(Entity*); +void sub_0807AA80(Entity*); +void sub_0807AABC(Entity*); +void sub_0807ACCC(Entity*); +u32 sub_0807B014(); +void sub_0807B0C8(void); +bool32 sub_0807BD14(Entity*, u32); +Entity* CreatePlayerItemWithParent(ItemBehavior*, u32); +bool32 HasSwordEquipped(); // player.s extern u32 PlayerCheckNEastTile(); diff --git a/include/projectile.h b/include/projectile.h index 74b3580a..dd73d433 100644 --- a/include/projectile.h +++ b/include/projectile.h @@ -1,7 +1,8 @@ #ifndef PROJECTILE_H #define PROJECTILE_H -extern Entity* CreateProjectile(u32); +Entity* CreateProjectile(u32); +bool32 IsProjectileOffScreen(Entity*); void DarkNutSwordSlash(Entity*); void RockProjectile(Entity*); diff --git a/include/room.h b/include/room.h index 33f95d68..5cd1c1d6 100644 --- a/include/room.h +++ b/include/room.h @@ -225,6 +225,8 @@ void* GetCurrentRoomProperty(u32); void LoadRoomTileEntities(); void LoadRoomEntityList(EntityData* listPtr); +bool32 LoadFixedGFX(Entity*, u32); +void UnloadGFXSlots(Entity*); void sub_0804B3C4(void*); void sub_0804B0B0(u32 arg0, u32 arg1); |
