header clean up

This commit is contained in:
theo3 2020-07-07 16:48:16 -07:00
parent f9e9fe0141
commit d49be370d4
40 changed files with 115 additions and 188 deletions

View File

@ -153,6 +153,23 @@ typedef struct Entity {
} Entity;
#define COORD_TO_TILE(entity) ((((entity->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3fU) | (((entity->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6)
#define COORD_TO_TILE(entity) \
((((entity->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3fU) | \
(((entity->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6)
extern void InitializeAnimation(Entity*, u32);
extern void InitAnimationForceUpdate(Entity*, u32);
extern void UpdateAnimationSingleFrame(Entity*);
extern void UpdateSpriteOrderAndFlip(Entity*);
extern void GetNextFrame(Entity*);
extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*);
extern void SetExtraSpriteFrame(Entity*, u32, u32);
extern void SetSpriteSubEntryOffsetData1(Entity*, u32, u32);
extern Entity* CreateEnemy(u32 subtype, u32 form);
extern Entity* CreateObject(u32 subtype, u32 form, u32 parameter);
extern Entity* CreateNPC(u32 subtype, u32 form, u32 parameter);
extern Entity* CreateObjectWithParent(Entity* parent, u32 subtype, u32 form, u32 parameter);
extern Entity* CreateFx(Entity* parent, u32 form, u32 parameter);
#endif

View File

@ -9,28 +9,19 @@
// Identified - to be sorted into header files
extern u32 Random(void);
extern void PlaySFX(u32);
extern void UpdateSpriteOrderAndFlip(Entity*);
extern void InitAnimationForceUpdate(Entity*, u32);
extern void ShowNPCDialogue(Entity*, u32*);
extern u32 UpdateFuseInteraction();
extern void InitializeAnimation(Entity*, u32);
extern void DeleteEntity(Entity*);
extern u32 __modsi3(u32, u32);
extern void DoFade(u32, u32);
extern void UpdateAnimationSingleFrame(Entity*);
extern u32 GetInventoryValue(u32);
extern Entity* CreateFx(Entity*, u32, u32);
extern u32 CheckKinstoneFused(u32);
extern void ForceEquipItem(u8, u8);
extern void LoadRoomEntityList();
void ModHealth(s32);
void CopyPosition(Entity*, Entity*);
extern u32* StartCutscene(Entity*, u8*);
extern void GetNextFrame(Entity*);
extern u32 LoadExtraSpriteData(Entity*, u32*);
extern void ResolveEntityOnTop(Entity*, Entity*);
extern void SetExtraSpriteFrame(Entity*, u32, u32);
extern void SetSpriteSubEntryOffsetData1(Entity*, u32, u32);
// Unidentified
extern void sub_0806ED78(Entity*);

View File

@ -76,4 +76,8 @@ extern LinkState gLinkState;
extern Stats gStats;
extern Entity gLinkEntity;
extern u32 GetInventoryValue(u32);
extern s32 ModHealth(s32);
#endif

View File

@ -4,12 +4,6 @@
#ifndef NPC_H
#define NPC_H
typedef struct {
u16 palette;
u8 animIndex;
u8 unk;
} SpriteLoadData;
extern void Gentari(Entity*);
extern void Gentari_Fusion(Entity*);
extern void Festari(Entity*);
@ -175,4 +169,7 @@ extern void Phonograph(Entity*);
extern void NPC58(Entity*);
extern void NPC58_Head(Entity*);
extern u32 UpdateFuseInteraction(Entity*);
#endif

View File

@ -60,4 +60,7 @@ typedef struct {
extern RoomControls gRoomControls;
extern RoomVars gRoomVars;
extern void SetTileType(u32, u32, u32);
#endif

View File

@ -2,6 +2,7 @@
#define SPRITE_H
#include "global.h"
#include "entity.h"
typedef struct {
u8 index;
@ -28,4 +29,11 @@ typedef struct {
u8 numGfxTiles;
u16 gfxTileIndex;
} FrameGfxData;
typedef struct {
u16 palette;
u8 animIndex;
u8 unk;
} SpriteLoadData;
#endif

View File

@ -450,7 +450,7 @@ SECTIONS {
asm/initializeLink.o(.text);
src/sub_08052620.o(.text);
src/sub_08052638.o(.text);
src/bitGetters.o(.text);
src/area.o(.text);
src/modHealth.o(.text);
src/modRupees.o(.text);
asm/code_080526F8.o(.text);

View File

@ -1,7 +1,7 @@
#include "global.h"
#include "entity.h"
#include "sprite.h"
extern void UpdateSpriteOrderAndFlip();
extern u32 CheckIsDungeon();
void Archway(Entity *this)

View File

@ -1,12 +1,8 @@
#include "entity.h"
#include "global.h"
extern void UpdateAnimationSingleFrame();
extern void (*gUnk_08123384[])(Entity*);
extern void UpdateSpriteOrderAndFlip(Entity*);
extern void InitAnimationForceUpdate();
void Bell(Entity* ent) {
gUnk_08123384[ent->action](ent);
}

View File

@ -1,10 +1,10 @@
#include "global.h"
#include "entity.h"
#include "link.h"
extern void (*gUnk_081140D4[])(Entity*);
extern u16 gUnk_081140CC[];
extern Entity gLinkEntity;
extern u32 gUnk_030010A0;
extern void sub_0805E3A0(Entity*, u32);
extern void sub_0806D0B0(Entity*);

View File

@ -22,7 +22,6 @@ extern void (*gUnk_081115D0[])(Entity*);
extern struct_030010A0 gUnk_030010A0;
extern u16 gUnk_081115DC[];
extern Entity gLinkEntity;
extern u8 gUnk_08111618[];
extern u32* gUnk_081115EC[];
extern struct_02002A40 gUnk_02002A40;

View File

@ -7,7 +7,6 @@ extern s32 sub_080012DC(Entity*);
extern u32 GetNextFunction(Entity*);
extern void sub_0802AD54(Entity*);
extern void sub_0802B048(Entity*);
extern void InitializeAnimation(Entity*, u32);
extern void sub_0806F4E8(Entity*);
extern void sub_0806F3E4(Entity*);

View File

@ -1,11 +1,9 @@
#include "global.h"
#include "entity.h"
#include "flags.h"
extern void sub_080842D8(Entity*);
extern void sub_08078828(Entity*);
extern u32 CheckLocalFlag(u32);
extern void InitializeAnimation(Entity*, u32);
extern u32 CheckFlags(u32);
extern void sub_08083E20(Entity*);
extern void (*const gUnk_0811F7E8[])(Entity*);

View File

@ -2,18 +2,17 @@
#include "entity.h"
#include "room.h"
#include "link.h"
#include "flags.h"
extern void sub_0809F7BC(Entity*);
extern void PlaySFX(u32);
extern void sub_0809F814(u32);
extern void sub_0809F7F4(Entity*);
extern void SetGlobalFlag(u32);
extern void LoadRoomEntityList();
extern void DeleteThisEntity();
extern u32 CheckRoomFlag(u32);
extern void sub_08078A90(u32);
extern void sub_08078B48(void);
extern u32 SetLocalFlag(u32);
extern u32 Random(void);
extern void sub_0806F69C(Entity*);
extern void (*gUnk_08124798[])(Entity*);

View File

@ -4,7 +4,6 @@
extern void sub_0806ED78(Entity*);
extern void sub_0806920C(Entity*);
extern void UpdateAnimationSingleFrame(Entity*);
extern u32 sub_0805ACC0(Entity*);
extern u32 sub_0801E99C(Entity*);
extern void sub_0806924C(Entity*);
@ -17,7 +16,6 @@ extern void sub_080791D0();
extern void (*gUnk_08111914[])(Entity*);
extern void (*gUnk_08111928[])(Entity*);
extern u32 gUnk_08111938[];
extern void InitAnimationForceUpdate();
extern void PlaySFX(u32);
extern u32 Random();
extern u32 UpdateFuseInteraction(Entity*);

View File

@ -4,14 +4,14 @@
extern Entity* GetEmptyEntity();
extern void sub_0805EA2C(Entity*, u8);
Entity* CreateEnemy(u32 subtype, u32 param1) {
Entity* CreateEnemy(u32 subtype, u32 form) {
Entity* enemy;
enemy = GetEmptyEntity();
if (enemy != NULL) {
(enemy->entityType).type = 3;
(enemy->entityType).subtype = subtype;
(enemy->entityType).form = param1;
(enemy->entityType).form = form;
sub_0805EA2C(enemy, 4);
}
return enemy;

View File

@ -29,7 +29,6 @@
// sub_0804AEB0(entity,param_1);
// if ((param_1->field_0x1 & 240) != 16) {
// (entity->entityType).parameter = *(u8 *)&param_1->entityparameter;
// /* i suspect this is where the entity's behavior is defined. Not sure. */
// entity->actionDelay = (u8)((u32)param_1->entityparameter >> 8);
// if ((type != 9) && (sub_0804AF0C(entity,param_1), entity->field_0x4 != NULL)) {
// if ((param_1->entityType & 16) == 0) {

View File

@ -2,23 +2,19 @@
#include "entity.h"
#include "link.h"
#include "room.h"
#include "flags.h"
#include "sprite.h"
#include "textbox.h"
#include "npc.h"
extern void sub_0805E3A0(Entity*, u32);
extern void sub_0807DD50(Entity*);
extern void sub_080045C4(Entity*, Entity*);
extern void InitAnimationForceUpdate(Entity*, u32);
extern u32 sub_0806F5A4(void);
extern void sub_0806F118(Entity*);
extern void sub_0807DD94(Entity*, u32);
extern void UpdateAnimationSingleFrame(Entity*);
extern u32 UpdateFuseInteraction(Entity*);
extern u32 sub_0801E99C(void);
extern void sub_08078784(Entity*, u32);
extern u32 CheckLocalFlag(u32);
extern void SetLocalFlag(u32);
extern u32 GetInventoryValue(u32);
extern void TextboxNoOverlap(u16, Entity*);
extern void SetTileType(u32, u32, u32);
extern u16 gUnk_08113344[];
extern u16 gUnk_0811334A[];
@ -57,76 +53,66 @@ void Dampe(Entity* this) {
}
}
void sub_0806BE3C(Entity *this)
{
this->field_0x68 = sub_0801E99C();
sub_08078784(this, this->field_0x68);
void sub_0806BE3C(Entity* this) {
this->field_0x68 = sub_0801E99C();
sub_08078784(this, this->field_0x68);
}
void Dampe_Fusion(Entity *this)
{
if (this->action == 0) {
this->action++;
this->spriteSettings.b.ss0 = 1;
InitAnimationForceUpdate(this, 2);
}
else {
UpdateAnimationSingleFrame(this);
}
}
void sub_0806BE84(Entity *this, struct_0806BE84* r1)
{
u32 iVar3;
r1->unk = 0;
iVar3 = 1;
if (!CheckLocalFlag(0x69)) {
iVar3 = 0;
SetLocalFlag(0x69);
r1->unk = 1;
}
// Graveyard key
if (2 <= GetInventoryValue(0x3C)) {
iVar3 = 2;
}
TextboxNoOverlap(gUnk_08113344[iVar3], this);
}
void sub_0806BEC8(Entity *this, struct_0806BE84* r1)
{
u32 uVar1;
u32 iVar2;
iVar2 = 0;
r1->unk = 0;
uVar1 = GetInventoryValue(0x3C);
if (uVar1 == 1) {
iVar2 = 1;
r1->unk = 1;
}
else {
if (1 < uVar1) {
iVar2 = 2;
void Dampe_Fusion(Entity* this) {
if (this->action == 0) {
this->action++;
this->spriteSettings.b.ss0 = 1;
InitAnimationForceUpdate(this, 2);
} else {
UpdateAnimationSingleFrame(this);
}
}
TextboxNoOverlap(gUnk_0811334A[iVar2], this);
}
void sub_0806BEFC(void)
{
SetTileType(0x17E, 0x58E, 1);
SetTileType(0x17F, 0x58F, 1);
SetTileType(0x180, 0x5cE, 1);
SetTileType(0x181, 0x5cF, 1);
void sub_0806BE84(Entity* this, struct_0806BE84* r1) {
u32 msgIndex;
r1->unk = 0;
msgIndex = 1;
if (!CheckLocalFlag(0x69)) {
msgIndex = 0;
SetLocalFlag(0x69);
r1->unk = 1;
}
// Graveyard key
if (GetInventoryValue(0x3C) >= 2) {
msgIndex = 2;
}
TextboxNoOverlap(gUnk_08113344[msgIndex], this);
}
void sub_0806BF44(Entity *this, struct_0806BE84 *r1)
{
r1->unk = 0;
if (((this->x.HALF.HI - gRoomControls.roomScrollX) + 0x10U < 0x110) &&
((this->y.HALF.HI - gRoomControls.roomScrollY) + 0x18U < 0xd0)) {
r1->unk = 1;
}
void sub_0806BEC8(Entity* this, struct_0806BE84* r1) {
u32 hasGraveyardKey;
u32 msgIndex;
msgIndex = 0;
r1->unk = 0;
hasGraveyardKey = GetInventoryValue(0x3C);
if (hasGraveyardKey == 1) {
msgIndex = 1;
r1->unk = 1;
} else if (hasGraveyardKey >= 2) {
msgIndex = 2;
}
TextboxNoOverlap(gUnk_0811334A[msgIndex], this);
}
void sub_0806BEFC() {
SetTileType(0x17E, 0x58E, 1);
SetTileType(0x17F, 0x58F, 1);
SetTileType(0x180, 0x5CE, 1);
SetTileType(0x181, 0x5CF, 1);
}
void sub_0806BF44(Entity* this, struct_0806BE84* r1) {
r1->unk = 0;
if (((this->x.HALF.HI - gRoomControls.roomScrollX) + 0x10U < 0x110) &&
((this->y.HALF.HI - gRoomControls.roomScrollY) + 0x18U < 0xD0)) {
r1->unk = 1;
}
}

View File

@ -2,7 +2,6 @@
#include "entity.h"
extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*));
extern void CreateFx(Entity*, u32, u32);
extern void DeleteThisEntity();
extern void (*const gUnk_080CB570[])(Entity*);

View File

@ -1,7 +1,7 @@
#include "global.h"
#include "entity.h"
#include "flags.h"
extern u32 CheckFlags(u32);
extern void DeleteThisEntity();
extern void sub_0808E714(Entity*);

View File

@ -10,13 +10,10 @@ extern u32 sub_0806F3E4(Entity*);
extern void sub_0804A7D4(Entity*);
extern void sub_0804A720(Entity*);
extern u32 Random();
extern void UpdateSpriteOrderAndFlip(Entity*);
extern void sub_08021EF0(Entity*);
extern void GetNextFrame(Entity*);
extern void sub_080AEFB4(Entity*);
extern void sub_08021F24(Entity*);
extern u32 sub_0806FCB8(Entity*, s32, s32, u32);
extern void InitializeAnimation(Entity*, u32);
extern void (*gUnk_080CB69C[])(Entity*);
extern void (*gUnk_080CB6B4[])(Entity*);

View File

@ -1,13 +1,8 @@
#include "global.h"
#include "entity.h"
#include "link.h"
extern Entity gLinkEntity;
extern void UpdateAnimationSingleFrame(Entity *);
extern void InitAnimationForceUpdate(Entity *, s32);
extern u32 GetNextFunction(Entity *);
extern void ModHealth(s32);
extern void CreateFx(Entity *, u16, u16);
extern void (* const gUnk_080D0418[])(Entity *);
extern void (* const gUnk_080D0430[])(Entity *);

View File

@ -1,12 +1,9 @@
#include "global.h"
#include "entity.h"
#include "textbox.h"
extern void sub_0806ED78(Entity*);
extern void InitAnimationForceUpdate();
extern void sub_08063280();
extern void TextboxNoOverlapFollow(u32);
extern void UpdateAnimationSingleFrame();
extern void CreateFx();
extern void (*gMailboxBehaviors[4])(Entity*);
@ -34,7 +31,7 @@ void sub_08063220(Entity* this) {
}
if (this->animIndex != bVar1) {
InitAnimationForceUpdate(this);
InitAnimationForceUpdate(this, bVar1);
} else {
sub_08063280(this, bVar1);
}
@ -57,7 +54,7 @@ void sub_08063280(Entity* this, u32 unused) {
u8 var; // r2@1
e = this;
UpdateAnimationSingleFrame();
UpdateAnimationSingleFrame(e);
var = e->frames.all & 0x7F;
e->frames.all ^= var;
if (var == 2) CreateFx(e, 49, 0);

View File

@ -16,8 +16,6 @@ extern void ClearFlag(u16);
extern void SetTile(u32, u16, u32);
extern void CreateFx(Entity *, u16, u16);
extern void sub_08000148(u16, u16, u32);
extern s16 sub_080001DA(u16, u32);
extern u16 sub_080002E0(u16, u32);

View File

@ -1,10 +1,7 @@
#include "global.h"
#include "entity.h"
extern void _call_via_r1(Entity*, u32);
extern void sub_0806ED78();
extern void InitAnimationForceUpdate();
extern void UpdateAnimationSingleFrame();
extern void (*gMilkCartBehaviors[2])(Entity*);
@ -16,7 +13,7 @@ void MilkCart(Entity* ent) {
void sub_08065B6C(Entity* ent) {
ent->action++;
ent->spriteSettings.b.ss0 = 1;
(ent->y).HALF.LO += -0x8000;
ent->y.HALF.LO += -0x8000;
ent->animationState = 6;
InitAnimationForceUpdate(ent, 3);
}

View File

@ -5,10 +5,8 @@ extern void EnemyFunctionHandler(Entity*, void (*const func[])(Entity*));
extern void sub_0804AA30(Entity*, void (*const func[][])(Entity*));
extern void sub_0804A7D4(Entity*);
extern void sub_0804A720(Entity*);
extern void InitializeAnimation(Entity*, u32);
extern void sub_08045678(Entity*);
extern void sub_080AEFE0(void);
extern void GetNextFrame(Entity*);
extern u32 sub_08003FC4(Entity*, u32);
extern void sub_08045678(Entity*);

View File

@ -1,7 +1,6 @@
#include "global.h"
#include "entity.h"
extern Entity* CreateObject();
extern void CopyPosition();
extern void sub_08086A6C();
extern s32 sub_080044EC();

View File

@ -9,14 +9,12 @@ extern void sub_0804A7D4();
extern void CreateDeathFx();
extern void sub_0801ECFC();
extern u32 sub_0806F520();
extern void InitializeAnimation();
extern void sub_0806F4E8();
extern void sub_0806F3E4();
extern void InitializeAnimationAnimation();
extern void sub_0804A720();
extern u32 Random();
extern void sub_0801ED14();
extern void GetNextFrame();
extern void(*gOctorok[2]);
extern void (*gOctorokIdle[4])(Entity*);

View File

@ -4,7 +4,6 @@
extern void sub_0807DDAC(Entity*, u32);
extern void sub_0807DDE4(Entity*);
extern void UpdateAnimationSingleFrame(Entity*);
extern void sub_0806ED78(Entity*);
extern void PlaySFX(u32);
extern void sub_0805E3A0(Entity*, u32);

View File

@ -16,7 +16,6 @@ typedef struct {
extern void DoExitTransition(void *);
extern void SetTileType(u32, u32, u32);
extern void CreateObjectWithParent(Entity*, u32, u32, u32);
extern void DoExitTransition(void *);
extern void DoFade(u32, u32);

View File

@ -12,15 +12,12 @@ extern void SetChildOffset(Entity*, u32, u32, u32);
extern void sub_0804AA30(Entity*, void*);
extern void sub_0804A9FC(Entity*, u32);
extern void sub_0804A720(Entity*);
extern void InitializeAnimation(Entity*, u32);
extern void sub_08044FF8(Entity*);
extern u32 Random(void);
extern void GetNextFrame(Entity*);
extern u32 sub_0806FA04(u32, u32);
extern u32 sub_08049FA0(Entity*);
extern u32 sub_08049EE4(Entity*);
extern u32 sub_080AEF88(void);
extern Entity* CreateEnemy(u32, u32);
extern void (*gUnk_080D16BC[])(Entity*);
extern void (*gUnk_080D16A4[])(Entity*);

View File

@ -2,7 +2,6 @@
#include "entity.h"
extern u32 GetNextFunction(Entity*);
extern u32 GetNextFrame(Entity*);
extern u32 sub_0806F520(Entity*);
extern void sub_0806F4E8(Entity*);
extern u32 sub_0806F3E4();

View File

@ -2,15 +2,11 @@
#include "entity.h"
#include "textbox.h"
extern void InitializeAnimation(Entity*, u32);
extern void sub_08078778(Entity*);
extern void sub_0805E47C(Entity*);
extern void GetNextFrame(Entity*);
extern void sub_0806ED78(Entity*);
extern void TextboxNoOverlapFollow(u32);
extern void sub_0805E584();
extern void sub_0807DD64();
extern void CreateFx();
extern void sub_08062CA4();
extern void sub_0807DDAC();
extern void sub_0807DDE4();
@ -20,29 +16,9 @@ extern void ShowNPCDialogue();
extern void (*gStampBehaviors1[4])(Entity*);
extern void (*gStampBehaviors2[2])(Entity*);
extern TextBox gTextBox;
extern u32 gUnk_0810C2E4;
extern void InitializeAnimation(Entity*, u32);
extern void sub_08078778(Entity*);
extern void sub_0805E47C(Entity*);
extern void GetNextFrame(Entity*);
extern void sub_0806ED78(Entity*);
extern void TextboxNoOverlapFollow(u32);
extern void sub_0805E584();
extern void sub_0807DD64();
extern void CreateFx();
extern void sub_08062CA4();
extern void sub_0807DDAC();
extern void sub_0807DDE4();
extern u32 CheckKinstoneFused();
extern void ShowNPCDialogue();
extern void (*gStampBehaviors1[4])(Entity*);
extern void (*gStampBehaviors2[2])(Entity*);
extern TextBox gTextBox;
extern u32 gUnk_0810C2E4;
void Stamp(Entity* ent) {
if ((ent->flags & 2) != 0) {

View File

@ -4,10 +4,8 @@
extern void sub_0807DD50(Entity*);
extern Entity* LoadExtraSpriteData(Entity*, SpriteLoadData*);
extern void sub_0806ED78(Entity*);
extern void sub_0805E3A0(Entity*, u32);
extern void InitializeAnimation(Entity*, u32);
extern void (*gUnk_081121D4[])(Entity*);
@ -26,7 +24,7 @@ void Syrup(Entity *this)
void sub_0806A1F8(Entity *this)
{
Entity *iVar1;
u32 iVar1;
SpriteLoadData *paVar2;
(this->entityType).form == 0 ? (paVar2 = &gUnk_081121B4) : (paVar2 = &gUnk_081121C4);

View File

@ -4,11 +4,9 @@
#include "functions.h"
#include "link.h"
extern Entity gLinkEntity;
extern void (*gUnk_0810FEC4[])(Entity* this);
extern void (*gUnk_0810FEBC[])(Entity* this);
extern u32 gUnk_0810FEB0;
extern SpriteLoadData gUnk_0810FEB0;
extern u8 gUnk_0800B41C;
extern u8 gUnk_0810FED8[];

View File

@ -7,8 +7,6 @@ void sub_0801D630();
void ShowTextbox();
void TextboxAtPosition();
extern TextBox gTextBox;
extern RoomControls gRoomControls;
extern u32 gUnk_02022780;
extern u32 gUnk_02036A40;
extern u32 gUnk_02036A38;

View File

@ -1,14 +1,13 @@
#include "global.h"
#include "entity.h"
#include "room.h"
#include "link.h"
void SetTile(u32 tileIndex, s32 tilePosition, s32 layerIndex);
s32 GetTileType(s32 tilePosition, s32 layerIndex);
void sub_08078B48();
void DeleteThisEntity();
extern Entity gLinkEntity;
extern RoomControls gRoomControls;
extern void (*gUnk_08124C08[])(Entity*);
void Well(Entity* ent) {

View File

@ -2,6 +2,7 @@
#include "entity.h"
#include "npc.h"
#include "textbox.h"
#include "flags.h"
typedef struct {
u8 filler[8];
@ -14,19 +15,13 @@ extern void sub_0806C7D4(Entity*);
extern void sub_0806F118(Entity*);
extern void sub_0807DD94(Entity*, u32);
extern void sub_0807DD80(Entity*, u32*);
extern u32 CheckGlobalFlag(u32);
extern u32 CheckLocalFlag(u32);
extern u32 CheckRoomFlag(u32);
extern u32 sub_0801E99C();
extern void InitializeAnimation(Entity*, u32);
extern u32 UpdateFuseInteraction();
extern void sub_08078784(Entity*, u32);
extern void SetExtraSpriteFrame(Entity*, u32, u32);
extern void SetSpriteSubEntryOffsetData2(Entity*, u32, u32);
extern void SetSpriteSubEntryOffsetData1(Entity*, u32, u32);
extern void sub_0807000C(Entity*);
extern void ShowNPCDialogue(Entity*, u16*);
extern void TextboxNoOverlap(u32, Entity*);
extern void (*const gUnk_08113A7C[])(Entity*);
extern void (*const gUnk_08113A8C[])(Entity*, Entity*);
@ -80,7 +75,7 @@ void sub_0806C834(Entity* this) {
}
void sub_0806C85C(Entity* this) {
if (UpdateFuseInteraction() != 0) {
if (UpdateFuseInteraction(this) != 0) {
this->action = 1;
}
}

View File

@ -1,6 +1,7 @@
#include "global.h"
#include "entity.h"
#include "room.h"
#include "flags.h"
extern void sub_0805EA78(Entity*, u32);
extern void sub_0805E3A0(Entity*, u32);
@ -10,14 +11,10 @@ extern Entity* sub_0805EB9C(u32, u32);
void CopyPosition(Entity*, Entity*);
void sub_08068680(Entity*, Entity*);
void sub_08068694(Entity*, Entity*);
extern void SetGlobalFlag(u32);
extern Entity* CreateNPC(u32 subtype, u32 form, u32 parameter);
u32 sub_0806EDC4(Entity* ent);
void DeleteThisEntity(void);
extern Entity* GetEntityByType(u32, u32);
extern void sub_080686C4(Entity*, Entity*);
extern void InitAnimationForceUpdate(Entity*, u32);
extern void UpdateAnimationSingleFrame(Entity*);
extern void sub_0806F62C(Entity*, u32, u32);
extern u32 sub_08003FC4(Entity*, u32);
extern void PlaySFX(u32);