mirror of
https://github.com/zeldaret/tmc
synced 2026-05-25 07:23:16 -04:00
clang-format
This commit is contained in:
+2
-3
@@ -1,6 +1,5 @@
|
||||
#include "global.h"
|
||||
|
||||
void _DmaFill32(u32 a1, u32 a2, u32 a3)
|
||||
{
|
||||
void _DmaFill32(u32 a1, u32 a2, u32 a3) {
|
||||
DmaFill32(3, a1, a2, a3);
|
||||
}
|
||||
}
|
||||
|
||||
+9
-12
@@ -7,22 +7,19 @@ extern void (*gUnk_08123384[])(Entity*);
|
||||
extern void UpdateSpriteOrderAndFlip(Entity*);
|
||||
extern void LoadAnimation();
|
||||
|
||||
void sub_08097D78(Entity *ent)
|
||||
{
|
||||
void sub_08097D78(Entity* ent) {
|
||||
gUnk_08123384[ent->action](ent);
|
||||
}
|
||||
|
||||
void sub_08097D90(Entity *ent)
|
||||
{
|
||||
ent->action = 1;
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
ent->collisionLayer = 1;
|
||||
ent->ticks.b0 = 0;
|
||||
UpdateSpriteOrderAndFlip(ent);
|
||||
LoadAnimation(ent, 0);
|
||||
void sub_08097D90(Entity* ent) {
|
||||
ent->action = 1;
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
ent->collisionLayer = 1;
|
||||
ent->ticks.b0 = 0;
|
||||
UpdateSpriteOrderAndFlip(ent);
|
||||
LoadAnimation(ent, 0);
|
||||
}
|
||||
|
||||
void sub_08097DCC(Entity *ent)
|
||||
{
|
||||
void sub_08097DCC(Entity* ent) {
|
||||
sub_080042B8(ent);
|
||||
}
|
||||
|
||||
+22
-28
@@ -1,33 +1,31 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
extern void (*gUnk_081140D4[])(Entity *);
|
||||
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 *);
|
||||
extern void sub_0807DD64(Entity *);
|
||||
extern void sub_0807DDAC(Entity *, u32);
|
||||
extern void sub_0807DDE4(Entity *);
|
||||
extern void sub_0806D0B0(Entity*);
|
||||
extern void sub_0807DD64(Entity*);
|
||||
extern void sub_0807DDAC(Entity*, u32);
|
||||
extern void sub_0807DDE4(Entity*);
|
||||
extern u32 Random(void);
|
||||
extern void PlaySFX(u32);
|
||||
extern void sub_0806D02C(Entity *);
|
||||
extern Entity * sub_0805EB2C(u32, u32, u32, u32, u32);
|
||||
extern void sub_0806D02C(Entity*);
|
||||
extern Entity* sub_0805EB2C(u32, u32, u32, u32, u32);
|
||||
|
||||
void sub_0806CF18(Entity *this)
|
||||
{
|
||||
void sub_0806CF18(Entity* this) {
|
||||
gUnk_081140D4[this->entityType.parameter1](this);
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void sub_0806CF30(Entity *this)
|
||||
{
|
||||
void sub_0806CF30(Entity* this) {
|
||||
u8 bVar1;
|
||||
u32 uVar2;
|
||||
int iVar3;
|
||||
|
||||
|
||||
if (this->action == 0) {
|
||||
this->action = 1;
|
||||
this->previousActionFlag = 1;
|
||||
@@ -35,19 +33,18 @@ void sub_0806CF30(Entity *this)
|
||||
sub_0805E3A0(this, 2);
|
||||
sub_0806D0B0(this);
|
||||
sub_0807DD64(this);
|
||||
}
|
||||
else {
|
||||
sub_0807DDAC(this,0);
|
||||
} else {
|
||||
sub_0807DDAC(this, 0);
|
||||
sub_0807DDE4(this);
|
||||
}
|
||||
if (this->previousActionFlag != 2) {
|
||||
|
||||
|
||||
if (this->previousActionFlag < 3) {
|
||||
if ((gUnk_030010A0 & 3) == 0) {
|
||||
iVar3 = this->x.HALF.HI;
|
||||
if (gLinkEntity.x.HALF.HI < iVar3) {
|
||||
if ((this->field_0x68 - 32) < iVar3) {
|
||||
this->x.HALF.HI =- 1;
|
||||
this->x.HALF.HI = -1;
|
||||
}
|
||||
}
|
||||
if (this->x.HALF.HI > gLinkEntity.x.HALF.HI) {
|
||||
@@ -57,8 +54,7 @@ void sub_0806CF30(Entity *this)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
bVar1 = this->parameter3 -= 1;
|
||||
if (bVar1 == 0) {
|
||||
uVar2 = Random();
|
||||
@@ -70,18 +66,16 @@ void sub_0806CF30(Entity *this)
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_0806CF30(Entity *this)
|
||||
{
|
||||
asm(".include \"asm/non_matching/bigGoron/sub_0806CF30.inc\"");
|
||||
void sub_0806CF30(Entity* this) {
|
||||
asm(".include \"asm/non_matching/bigGoron/sub_0806CF30.inc\"");
|
||||
}
|
||||
#endif
|
||||
|
||||
void sub_0806D00C(Entity *this)
|
||||
{
|
||||
Entity *pEVar1;
|
||||
|
||||
pEVar1 = sub_0805EB2C(7,76,7,0,0);
|
||||
void sub_0806D00C(Entity* this) {
|
||||
Entity* pEVar1;
|
||||
|
||||
pEVar1 = sub_0805EB2C(7, 76, 7, 0, 0);
|
||||
if (pEVar1 != NULL) {
|
||||
this->parent = pEVar1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+4
-8
@@ -2,23 +2,19 @@
|
||||
|
||||
extern u8 gArea;
|
||||
|
||||
u32 sub_08052654()
|
||||
{
|
||||
u32 sub_08052654() {
|
||||
return (gArea >> 7) & 1;
|
||||
}
|
||||
|
||||
u32 CheckIsDungeon()
|
||||
{
|
||||
u32 CheckIsDungeon() {
|
||||
return (gArea >> 2) & 1;
|
||||
}
|
||||
|
||||
u32 sub_08052670()
|
||||
{
|
||||
u32 sub_08052670() {
|
||||
return (gArea >> 4) & 1;
|
||||
}
|
||||
|
||||
u32 sub_08052680()
|
||||
{
|
||||
u32 sub_08052680() {
|
||||
return (gArea >> 6) & 1;
|
||||
}
|
||||
|
||||
|
||||
+22
-23
@@ -5,29 +5,28 @@
|
||||
extern void sub_080A2CC0();
|
||||
extern void sub_0806F69C();
|
||||
extern void sub_08004488();
|
||||
extern Entity * sub_0804B128();
|
||||
extern Entity* sub_0804B128();
|
||||
|
||||
void sub_08032358(Entity *ent)
|
||||
{
|
||||
u16 uVar1;
|
||||
Entity *pEVar2;
|
||||
u16 *puVar3;
|
||||
if (ent->action == 0) {
|
||||
ent->action = 1;
|
||||
pEVar2 = sub_0804B128((u8)(ent->entityType).parameter1);
|
||||
ent->attachedEntity = pEVar2;
|
||||
sub_080A2CC0((EntityData *)ent,&ent->attachedEntity,&ent->heldObjectPtr);
|
||||
}
|
||||
if ((ent->direction & 0x80) == 0) {
|
||||
sub_0806F69C(ent);
|
||||
}
|
||||
(u32)puVar3 = &(ent->heldObjectPtr);
|
||||
uVar1 = *puVar3;
|
||||
*puVar3 = uVar1 - 1;
|
||||
if ((u16)(*puVar3) == 0) {
|
||||
if ((ent->direction & 0x80) == 0) {
|
||||
sub_08004488(0x74);
|
||||
void sub_08032358(Entity* ent) {
|
||||
u16 uVar1;
|
||||
Entity* pEVar2;
|
||||
u16* puVar3;
|
||||
if (ent->action == 0) {
|
||||
ent->action = 1;
|
||||
pEVar2 = sub_0804B128((u8)(ent->entityType).parameter1);
|
||||
ent->attachedEntity = pEVar2;
|
||||
sub_080A2CC0((EntityData*)ent, &ent->attachedEntity, &ent->heldObjectPtr);
|
||||
}
|
||||
if ((ent->direction & 0x80) == 0) {
|
||||
sub_0806F69C(ent);
|
||||
}
|
||||
(u32) puVar3 = &(ent->heldObjectPtr);
|
||||
uVar1 = *puVar3;
|
||||
*puVar3 = uVar1 - 1;
|
||||
if ((u16)(*puVar3) == 0) {
|
||||
if ((ent->direction & 0x80) == 0) {
|
||||
sub_08004488(0x74);
|
||||
}
|
||||
sub_080A2CC0((EntityData*)ent, &ent->attachedEntity, puVar3);
|
||||
}
|
||||
sub_080A2CC0((EntityData *)ent,&ent->attachedEntity,puVar3);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,14 +4,13 @@
|
||||
extern void sub_0806ED78();
|
||||
extern void sub_08067C44();
|
||||
|
||||
extern void (*gCat[9])(Entity *);
|
||||
extern void (*gCat[9])(Entity*);
|
||||
|
||||
//Main
|
||||
void sub_080677B4(Entity *ent)
|
||||
{
|
||||
// Main
|
||||
void sub_080677B4(Entity* ent) {
|
||||
gCat[ent->action](ent);
|
||||
sub_08067C44(ent);
|
||||
if (((ent->flags & 128) == 0) && ((ent->entityType).parameter1 != 5)) {
|
||||
sub_0806ED78(ent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+47
-66
@@ -3,10 +3,10 @@
|
||||
#include "room.h"
|
||||
#include "link.h"
|
||||
|
||||
extern void sub_0809F7BC(Entity *);
|
||||
extern void sub_0809F7BC(Entity*);
|
||||
extern void PlaySFX(u32);
|
||||
extern void sub_0809F814(u32);
|
||||
extern void sub_0809F7F4(Entity *);
|
||||
extern void sub_0809F7F4(Entity*);
|
||||
extern void SetGlobalFlag(u32);
|
||||
extern void LoadRoomEntityList();
|
||||
extern void DeleteThisEntity();
|
||||
@@ -15,51 +15,46 @@ 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 *);
|
||||
extern void (*gUnk_081247A0[])(Entity *);
|
||||
extern void (*gUnk_081247AC[])(Entity *);
|
||||
extern Entity * CreateObject(u32, u32, u32);
|
||||
extern void sub_0806FA30(Entity *, Entity *);
|
||||
extern void sub_0807BB68(u32 *, u32, u32);
|
||||
extern void sub_0806F69C(Entity*);
|
||||
extern void (*gUnk_08124798[])(Entity*);
|
||||
extern void (*gUnk_081247A0[])(Entity*);
|
||||
extern void (*gUnk_081247AC[])(Entity*);
|
||||
extern Entity* CreateObject(u32, u32, u32);
|
||||
extern void sub_0806FA30(Entity*, Entity*);
|
||||
extern void sub_0807BB68(u32*, u32, u32);
|
||||
|
||||
extern u8 gUnk_02034490;
|
||||
extern u32 gUnk_030010A0;
|
||||
extern void *gUnk_080DD750;
|
||||
extern void* gUnk_080DD750;
|
||||
extern Entity gLinkEntity;
|
||||
extern LinkState gLinkState;
|
||||
extern u8 gUnk_081247C0[];
|
||||
extern u16 gUnk_081247C8[];
|
||||
extern u32 gUnk_081247D0;
|
||||
|
||||
void sub_0809F4C4(Entity *this)
|
||||
{
|
||||
void sub_0809F4C4(Entity* this) {
|
||||
gUnk_08124798[(this->entityType).parameter1](this);
|
||||
}
|
||||
|
||||
void sub_0809F4DC(Entity *this)
|
||||
{
|
||||
void sub_0809F4DC(Entity* this) {
|
||||
if ((this->entityType).parameter2 == 0) {
|
||||
gUnk_081247A0[this->action](this);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
gUnk_081247AC[this->action](this);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0809F514(Entity *this)
|
||||
{
|
||||
void sub_0809F514(Entity* this) {
|
||||
this->action = 1;
|
||||
this->parameter3 = 120;
|
||||
this->spriteSettings.b.ss0 = 0;
|
||||
*(u8 *)&this->field_0x68 = 12;
|
||||
*(u8*)&this->field_0x68 = 12;
|
||||
gRoomControls.cameraTarget = this;
|
||||
gUnk_02034490 = 255;
|
||||
sub_0809F7BC(this);
|
||||
}
|
||||
|
||||
void sub_0809F548(Entity *this)
|
||||
{
|
||||
void sub_0809F548(Entity* this) {
|
||||
|
||||
if (--this->parameter3 == 0) {
|
||||
this->action = 2;
|
||||
@@ -67,8 +62,7 @@ void sub_0809F548(Entity *this)
|
||||
PlaySFX(285);
|
||||
sub_0809F814((((this->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 63) |
|
||||
(((this->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 63) << 6);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if ((gUnk_030010A0 & 7) == 0) {
|
||||
sub_0809F7BC(this);
|
||||
}
|
||||
@@ -76,8 +70,7 @@ void sub_0809F548(Entity *this)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0809F5B0(Entity *this)
|
||||
{
|
||||
void sub_0809F5B0(Entity* this) {
|
||||
if (--this->parameter3 == 0) {
|
||||
PlaySFX(115);
|
||||
SetGlobalFlag(36);
|
||||
@@ -86,17 +79,15 @@ void sub_0809F5B0(Entity *this)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0809F5DC(Entity *this)
|
||||
{
|
||||
void sub_0809F5DC(Entity* this) {
|
||||
this->action = 1;
|
||||
this->spriteSettings.b.ss0 = 0;
|
||||
*(u8 *)&this->field_0x68 = 12;
|
||||
*(u8*)&this->field_0x68 = 12;
|
||||
}
|
||||
|
||||
void sub_0809F5F0(Entity *this)
|
||||
{
|
||||
void sub_0809F5F0(Entity* this) {
|
||||
u32 iVar1;
|
||||
|
||||
|
||||
iVar1 = CheckRoomFlag(this->parameter3);
|
||||
if (iVar1 != 0) {
|
||||
this->action = 2;
|
||||
@@ -107,9 +98,8 @@ void sub_0809F5F0(Entity *this)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0809F61C(Entity *this)
|
||||
{
|
||||
|
||||
void sub_0809F61C(Entity* this) {
|
||||
|
||||
if ((gRoomControls.unk6 & 4) == 0) {
|
||||
if (this->parameter3 == 30) {
|
||||
SetLocalFlag(this->entityType.parameter2);
|
||||
@@ -119,8 +109,8 @@ void sub_0809F61C(Entity *this)
|
||||
this->parameter3 = 120;
|
||||
PlaySFX(285);
|
||||
sub_0809F814((((this->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 63) |
|
||||
(((this->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 63) << 6); }
|
||||
else {
|
||||
(((this->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 63) << 6);
|
||||
} else {
|
||||
if ((gUnk_030010A0 & 7) == 0) {
|
||||
sub_0809F7BC(this);
|
||||
}
|
||||
@@ -129,8 +119,7 @@ void sub_0809F61C(Entity *this)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0809F69C(Entity *this)
|
||||
{
|
||||
void sub_0809F69C(Entity* this) {
|
||||
|
||||
if (--this->parameter3 == 0) {
|
||||
this->parameter3 = 30;
|
||||
@@ -140,21 +129,18 @@ void sub_0809F69C(Entity *this)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0809F6CC(Entity *this)
|
||||
{
|
||||
|
||||
if (((gRoomControls.unk6 & 4) == 0) &&
|
||||
(--this->parameter3 == 0)) {
|
||||
void sub_0809F6CC(Entity* this) {
|
||||
|
||||
if (((gRoomControls.unk6 & 4) == 0) && (--this->parameter3 == 0)) {
|
||||
gLinkState.unk7 = 1;
|
||||
DeleteThisEntity();
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0809F700(Entity *this)
|
||||
{
|
||||
void sub_0809F700(Entity* this) {
|
||||
u8 bVar1;
|
||||
u32 uVar2;
|
||||
|
||||
|
||||
if (this->action == 0) {
|
||||
this->action = 1;
|
||||
this->parameter3 = (Random() & 30) + 8;
|
||||
@@ -172,12 +158,11 @@ void sub_0809F700(Entity *this)
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
Entity * sub_0809F770(Entity *this)
|
||||
{
|
||||
Entity *cloud;
|
||||
Entity* sub_0809F770(Entity* this) {
|
||||
Entity* cloud;
|
||||
s32 uVar1;
|
||||
|
||||
cloud = CreateObject(163,1,0);
|
||||
|
||||
cloud = CreateObject(163, 1, 0);
|
||||
if (cloud != NULL) {
|
||||
sub_0806FA30(this, cloud);
|
||||
uVar1 = Random();
|
||||
@@ -190,18 +175,16 @@ Entity * sub_0809F770(Entity *this)
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
Entity * sub_0809F770(Entity *this)
|
||||
{
|
||||
asm(".include \"asm/non_matching/cloud/sub_0809F770.inc\"");
|
||||
Entity* sub_0809F770(Entity* this) {
|
||||
asm(".include \"asm/non_matching/cloud/sub_0809F770.inc\"");
|
||||
}
|
||||
#endif
|
||||
|
||||
void sub_0809F7BC(Entity *this)
|
||||
{
|
||||
Entity *cloud;
|
||||
void sub_0809F7BC(Entity* this) {
|
||||
Entity* cloud;
|
||||
u32 uVar1;
|
||||
u32 uVar2;
|
||||
|
||||
|
||||
for (uVar2 = 0; uVar2 < 8; uVar2++) {
|
||||
cloud = sub_0809F770(this);
|
||||
if (cloud != NULL) {
|
||||
@@ -212,12 +195,11 @@ void sub_0809F7BC(Entity *this)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0809F7F4(Entity *this)
|
||||
{
|
||||
void sub_0809F7F4(Entity* this) {
|
||||
u8 cVar1;
|
||||
u8 *puVar2;
|
||||
|
||||
puVar2 = (u8 *)&this->field_0x68;
|
||||
u8* puVar2;
|
||||
|
||||
puVar2 = (u8*)&this->field_0x68;
|
||||
*puVar2 -= 1;
|
||||
|
||||
if (*puVar2 == 0) {
|
||||
@@ -226,7 +208,6 @@ void sub_0809F7F4(Entity *this)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0809F814(u32 r0)
|
||||
{
|
||||
void sub_0809F814(u32 r0) {
|
||||
sub_0807BB68(&gUnk_081247D0, r0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -3,9 +3,9 @@
|
||||
|
||||
extern void PositionRelative();
|
||||
|
||||
void CopyPosition(Entity *param_1,Entity *param_2)
|
||||
void CopyPosition(Entity* param_1, Entity* param_2)
|
||||
|
||||
{
|
||||
PositionRelative(param_1,param_2,0,0);
|
||||
PositionRelative(param_1, param_2, 0, 0);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,9 +35,9 @@ void sub_08068FC0(Entity* ent) {
|
||||
ent->action = 1;
|
||||
ent->animationState = ent->entityType.parameter2;
|
||||
ent->nonPlanarMovement = 0x40;
|
||||
|
||||
|
||||
ent->field_0x6d = 0xFF;
|
||||
|
||||
|
||||
r2 = sub_0805ACC0(ent);
|
||||
if (r2 == 0) {
|
||||
u16 x, y;
|
||||
@@ -49,7 +49,7 @@ void sub_08068FC0(Entity* ent) {
|
||||
ent->field_0x6a = y;
|
||||
} else {
|
||||
u32 var1 = r2 >> 16;
|
||||
//0x68+0x69 probably a SplitWord
|
||||
// 0x68+0x69 probably a SplitWord
|
||||
*(u16*)&ent->field_0x68 = var1;
|
||||
ent->field_0x6a = r2;
|
||||
}
|
||||
@@ -71,17 +71,17 @@ void sub_08069018(Entity* ent) {
|
||||
var0 = --ent->field_0xf;
|
||||
if (var0 == 0) {
|
||||
if (ent->parameter3 == 0) {
|
||||
ent->action = 2;
|
||||
ent->action = 2;
|
||||
} else {
|
||||
ent->action = 3;
|
||||
ent->action = 3;
|
||||
}
|
||||
ent->previousActionFlag = var0;
|
||||
}
|
||||
|
||||
|
||||
sub_0806924C(ent);
|
||||
}
|
||||
|
||||
void sub_08069068(Entity *ent) {
|
||||
void sub_08069068(Entity* ent) {
|
||||
s32 var0;
|
||||
|
||||
if (ent->previousActionFlag == 0) {
|
||||
@@ -103,7 +103,7 @@ void sub_08069068(Entity *ent) {
|
||||
|
||||
{
|
||||
s32 x = ent->x.HALF.HI;
|
||||
s16 *x2 = (s16 *)&ent->field_0x68;
|
||||
s16* x2 = (s16*)&ent->field_0x68;
|
||||
x -= *x2;
|
||||
if (x > 16) {
|
||||
ent->x.HALF.HI = *x2 + 16;
|
||||
@@ -116,7 +116,7 @@ void sub_08069068(Entity *ent) {
|
||||
}
|
||||
{
|
||||
s32 y = ent->y.HALF.HI;
|
||||
s16 *y2 = &ent->field_0x6a;
|
||||
s16* y2 = &ent->field_0x6a;
|
||||
y -= *y2;
|
||||
if (y > 16) {
|
||||
ent->y.HALF.HI = *y2 + 16;
|
||||
@@ -159,10 +159,12 @@ void sub_08069168(Entity* ent) {
|
||||
}
|
||||
|
||||
void sub_08069188(Entity* ent) {
|
||||
if (ent->frames.b.f0 == 0) return;
|
||||
if (ent->frames.b.f0 == 0)
|
||||
return;
|
||||
ent->frames.all = 0;
|
||||
|
||||
if (((s8) --ent->field_0xf) != 0) return;
|
||||
if (((s8)--ent->field_0xf) != 0)
|
||||
return;
|
||||
ent->previousActionFlag = 3;
|
||||
LoadAnimation(ent, ent->animationState + 16);
|
||||
}
|
||||
@@ -182,7 +184,7 @@ void sub_080691E0(Entity* ent) {
|
||||
}
|
||||
}
|
||||
|
||||
//Show dialogue
|
||||
// Show dialogue
|
||||
void sub_080691F8(Entity* ent) {
|
||||
u32 var0 = ent->entityType.parameter1;
|
||||
u32* var1 = gUnk_08111938 + (var0 * 2);
|
||||
@@ -190,7 +192,7 @@ void sub_080691F8(Entity* ent) {
|
||||
}
|
||||
|
||||
void sub_0806920C(Entity* ent) {
|
||||
//TODO: figure out what bitfield flag this is
|
||||
// TODO: figure out what bitfield flag this is
|
||||
u32 var0 = gLinkState.flags.all & 0x80;
|
||||
u32 var1 = -var0 >> 0x1F;
|
||||
|
||||
@@ -205,11 +207,11 @@ void sub_0806920C(Entity* ent) {
|
||||
ent->field_0x6d = var1;
|
||||
}
|
||||
|
||||
//Check if player interacting
|
||||
// Check if player interacting
|
||||
void sub_0806924C(Entity* ent) {
|
||||
s8 itype = ent->interactType;
|
||||
if (itype != 0) {
|
||||
//TODO: figure out what bitfield flag this is
|
||||
// TODO: figure out what bitfield flag this is
|
||||
if ((gLinkState.flags.all & 0x80) != 0) {
|
||||
if (itype == 2) {
|
||||
ent->action = 4;
|
||||
|
||||
+7
-8
@@ -1,19 +1,18 @@
|
||||
#include "entity.h"
|
||||
#include "global.h"
|
||||
|
||||
extern Entity * GetEmptyEntity();
|
||||
extern void sub_0805EA2C(Entity *, u8);
|
||||
extern Entity* GetEmptyEntity();
|
||||
extern void sub_0805EA2C(Entity*, u8);
|
||||
|
||||
Entity* CreateEnemy(u32 subtype, u32 param1) {
|
||||
Entity* enemy;
|
||||
|
||||
Entity * CreateEnemy(u32 subtype, u32 param1)
|
||||
{
|
||||
Entity *enemy;
|
||||
|
||||
enemy = GetEmptyEntity();
|
||||
if (enemy != NULL) {
|
||||
(enemy->entityType).type = 3;
|
||||
(enemy->entityType).subtype = subtype;
|
||||
(enemy->entityType).parameter1 = param1;
|
||||
sub_0805EA2C(enemy,4);
|
||||
sub_0805EA2C(enemy, 4);
|
||||
}
|
||||
return enemy;
|
||||
}
|
||||
}
|
||||
|
||||
+38
-38
@@ -2,7 +2,7 @@
|
||||
// #include "entityData.h"
|
||||
// #include "global.h"
|
||||
|
||||
// extern Entity * sub_0805EB9C(u32, u32);
|
||||
// extern Entity * sub_0805EB9C(u32, u32);
|
||||
// extern Entity * sub_0805E768();
|
||||
// extern void sub_0804AEB0(Entity *, EntityData *);
|
||||
// extern u32 sub_0804AF0C(Entity *, EntityData *);
|
||||
@@ -11,41 +11,41 @@
|
||||
|
||||
// Entity * CreateEntity(EntityData *param_1)
|
||||
// {
|
||||
// Entity *preexisting;
|
||||
// Entity *entity;
|
||||
// s32 type;
|
||||
|
||||
// type = param_1->entityType & 15;
|
||||
// if (((param_1->field_0x1 & 240) == 80) &&
|
||||
// (preexisting = sub_0805EB9C(type,param_1->entitySubtype), preexisting != NULL)) {
|
||||
// entity = NULL;
|
||||
// }
|
||||
// else {
|
||||
// entity = sub_0805E768(); //Get empty entity
|
||||
// if (entity != NULL) {
|
||||
// (entity->entityType).type = type;
|
||||
// (entity->entityType).subtype = param_1->entitySubtype;
|
||||
// (entity->entityType).parameter1 = param_1->entityParameter1;
|
||||
// sub_0804AEB0(entity,param_1);
|
||||
// if ((param_1->field_0x1 & 240) != 16) {
|
||||
// (entity->entityType).parameter2 = *(u8 *)¶m_1->entityParameter2;
|
||||
// /* i suspect this is where the entity's behavior is defined. Not sure. */
|
||||
// entity->parameter3 = (u8)((u32)param_1->entityParameter2 >> 8);
|
||||
// if ((type != 9) && (sub_0804AF0C(entity,param_1), entity->field_0x4 != NULL)) {
|
||||
// if ((param_1->entityType & 16) == 0) {
|
||||
// if ((param_1->entityType & 32) != 0) {
|
||||
// entity->collisionLayer = 2;
|
||||
// return entity;
|
||||
// }
|
||||
// if ((gRoomControls & 2) == 0) {
|
||||
// sub_08016A30(entity);
|
||||
// return entity;
|
||||
// }
|
||||
// }
|
||||
// entity->collisionLayer = 1;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return entity;
|
||||
// Entity *preexisting;
|
||||
// Entity *entity;
|
||||
// s32 type;
|
||||
|
||||
// type = param_1->entityType & 15;
|
||||
// if (((param_1->field_0x1 & 240) == 80) &&
|
||||
// (preexisting = sub_0805EB9C(type,param_1->entitySubtype), preexisting != NULL)) {
|
||||
// entity = NULL;
|
||||
// }
|
||||
// else {
|
||||
// entity = sub_0805E768(); //Get empty entity
|
||||
// if (entity != NULL) {
|
||||
// (entity->entityType).type = type;
|
||||
// (entity->entityType).subtype = param_1->entitySubtype;
|
||||
// (entity->entityType).parameter1 = param_1->entityParameter1;
|
||||
// sub_0804AEB0(entity,param_1);
|
||||
// if ((param_1->field_0x1 & 240) != 16) {
|
||||
// (entity->entityType).parameter2 = *(u8 *)¶m_1->entityParameter2;
|
||||
// /* i suspect this is where the entity's behavior is defined. Not sure. */
|
||||
// entity->parameter3 = (u8)((u32)param_1->entityParameter2 >> 8);
|
||||
// if ((type != 9) && (sub_0804AF0C(entity,param_1), entity->field_0x4 != NULL)) {
|
||||
// if ((param_1->entityType & 16) == 0) {
|
||||
// if ((param_1->entityType & 32) != 0) {
|
||||
// entity->collisionLayer = 2;
|
||||
// return entity;
|
||||
// }
|
||||
// if ((gRoomControls & 2) == 0) {
|
||||
// sub_08016A30(entity);
|
||||
// return entity;
|
||||
// }
|
||||
// }
|
||||
// entity->collisionLayer = 1;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return entity;
|
||||
// }
|
||||
|
||||
+7
-8
@@ -1,22 +1,21 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
extern Entity* GetEmptyEntity();
|
||||
extern void sub_0805EA2C(Entity*, u8);
|
||||
|
||||
extern Entity * GetEmptyEntity();
|
||||
extern void sub_0805EA2C(Entity *, u8);
|
||||
|
||||
Entity * CreateNPC(u32 subtype,u32 parameter1,u32 parameter2)
|
||||
Entity* CreateNPC(u32 subtype, u32 parameter1, u32 parameter2)
|
||||
|
||||
{
|
||||
Entity *pEVar1;
|
||||
|
||||
Entity* pEVar1;
|
||||
|
||||
pEVar1 = GetEmptyEntity();
|
||||
if (pEVar1 != NULL) {
|
||||
(pEVar1->entityType).type = 7;
|
||||
(pEVar1->entityType).subtype = subtype;
|
||||
(pEVar1->entityType).parameter1 = parameter1;
|
||||
(pEVar1->entityType).parameter2 = parameter2;
|
||||
sub_0805EA2C(pEVar1,7);
|
||||
sub_0805EA2C(pEVar1, 7);
|
||||
}
|
||||
return pEVar1;
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -1,21 +1,21 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
extern Entity * GetEmptyEntity();
|
||||
extern void sub_0805EA2C(Entity *,u8);
|
||||
extern Entity* GetEmptyEntity();
|
||||
extern void sub_0805EA2C(Entity*, u8);
|
||||
|
||||
Entity * CreateObject(u32 subtype,u32 param1,u32 param2)
|
||||
Entity* CreateObject(u32 subtype, u32 param1, u32 param2)
|
||||
|
||||
{
|
||||
Entity *newEnt;
|
||||
|
||||
Entity* newEnt;
|
||||
|
||||
newEnt = GetEmptyEntity();
|
||||
if (newEnt != NULL) {
|
||||
(newEnt->entityType).type = 6;
|
||||
(newEnt->entityType).subtype = subtype;
|
||||
(newEnt->entityType).parameter1 = param1;
|
||||
(newEnt->entityType).parameter2 = param2;
|
||||
sub_0805EA2C(newEnt,6);
|
||||
sub_0805EA2C(newEnt, 6);
|
||||
}
|
||||
return newEnt;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
extern Entity * CreateObject();
|
||||
extern Entity* CreateObject();
|
||||
extern void CopyPosition();
|
||||
|
||||
Entity * CreateObjectWithParent(Entity *parentEnt,u32 subtype,u32 param1, u32 param2)
|
||||
{
|
||||
Entity *ent;
|
||||
|
||||
Entity* CreateObjectWithParent(Entity* parentEnt, u32 subtype, u32 param1, u32 param2) {
|
||||
Entity* ent;
|
||||
|
||||
ent = CreateObject(subtype, param1, param2);
|
||||
if (ent != NULL) {
|
||||
ent->parent = parentEnt;
|
||||
CopyPosition(parentEnt,ent);
|
||||
CopyPosition(parentEnt, ent);
|
||||
}
|
||||
|
||||
return ent;
|
||||
}
|
||||
|
||||
return ent;
|
||||
}
|
||||
|
||||
+9
-10
@@ -5,21 +5,20 @@ extern u32 gUnk_0813AD10;
|
||||
extern u32 gUnk_0813AD24;
|
||||
extern u32 gUnk_0813AD38;
|
||||
|
||||
extern void sub_0805E3A0(Entity *, u32);
|
||||
extern void sub_0807DD50(Entity *);
|
||||
extern void sub_0807DD94(Entity *, u32);
|
||||
extern void sub_08080840(u32 *);
|
||||
extern void sub_0805E3A0(Entity*, u32);
|
||||
extern void sub_0807DD50(Entity*);
|
||||
extern void sub_0807DD94(Entity*, u32);
|
||||
extern void sub_08080840(u32*);
|
||||
|
||||
void sub_0806C550(Entity *param_1)
|
||||
void sub_0806C550(Entity* param_1)
|
||||
|
||||
{
|
||||
if (param_1->action == 0) {
|
||||
param_1->action += 1;
|
||||
sub_0805E3A0(param_1,2);
|
||||
sub_0805E3A0(param_1, 2);
|
||||
sub_0807DD50(param_1);
|
||||
}
|
||||
else {
|
||||
sub_0807DD94(param_1,0);
|
||||
} else {
|
||||
sub_0807DD94(param_1, 0);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -43,4 +42,4 @@ void FUN_0806c598(void)
|
||||
{
|
||||
sub_08080840(&gUnk_0813AD38);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
+58
-84
@@ -23,122 +23,96 @@ extern TextBox gTextBox;
|
||||
extern LinkState gLinkState;
|
||||
extern Entity gLinkEntity;
|
||||
|
||||
void sub_08065A64(Entity* ent);
|
||||
void sub_08065A64(Entity* this);
|
||||
|
||||
extern void (*gUnk_0811006C[])(Entity*);
|
||||
extern u64 gUnk_08110080[];
|
||||
|
||||
void sub_08065990(Entity* ent)
|
||||
{
|
||||
gUnk_0811006C[ent->action](ent);
|
||||
sub_08065A64(ent);
|
||||
sub_0806ED78(ent);
|
||||
void sub_08065990(Entity* this) {
|
||||
gUnk_0811006C[this->action](this);
|
||||
sub_08065A64(this);
|
||||
sub_0806ED78(this);
|
||||
}
|
||||
|
||||
void sub_080659B8(Entity* ent)
|
||||
{
|
||||
ent->action = 1;
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
ent->animationState = 6;
|
||||
ent->field_0x69 = -1;
|
||||
ent->field_0x68 = sub_0801E99C(ent);
|
||||
LoadAnimation(ent, ent->animationState / 2);
|
||||
void sub_080659B8(Entity* this) {
|
||||
this->action = 1;
|
||||
this->spriteSettings.b.ss0 = 1;
|
||||
this->animationState = 6;
|
||||
this->field_0x69 = -1;
|
||||
this->field_0x68 = sub_0801E99C(this);
|
||||
LoadAnimation(this, this->animationState / 2);
|
||||
}
|
||||
|
||||
void sub_080659F0(Entity* ent)
|
||||
{
|
||||
sub_080042B8(ent);
|
||||
sub_08065AA4(ent);
|
||||
void sub_080659F0(Entity* this) {
|
||||
sub_080042B8(this);
|
||||
sub_08065AA4(this);
|
||||
}
|
||||
|
||||
void sub_08065A00(Entity* ent)
|
||||
{
|
||||
sub_080042B8(ent);
|
||||
sub_08065AA4(ent);
|
||||
void sub_08065A00(Entity* this) {
|
||||
sub_080042B8(this);
|
||||
sub_08065AA4(this);
|
||||
}
|
||||
|
||||
void sub_08065A10(Entity* ent)
|
||||
{
|
||||
if ((gTextBox.doTextBox & 0x7F) == 0)
|
||||
{
|
||||
ent->action = 1;
|
||||
LoadAnimation(ent, ent->animationState / 2);
|
||||
void sub_08065A10(Entity* this) {
|
||||
if ((gTextBox.doTextBox & 0x7F) == 0) {
|
||||
this->action = 1;
|
||||
LoadAnimation(this, this->animationState / 2);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08065A34(Entity* ent)
|
||||
{
|
||||
if (UpdateFuseInteraction() != 0)
|
||||
{
|
||||
ent->action = 1;
|
||||
LoadAnimation(ent, ent->animationState / 2);
|
||||
void sub_08065A34(Entity* this) {
|
||||
if (UpdateFuseInteraction() != 0) {
|
||||
this->action = 1;
|
||||
LoadAnimation(this, this->animationState / 2);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08065A50(Entity* ent)
|
||||
{
|
||||
ShowNPCDialogue(ent, &gUnk_08110080[ent->entityType.parameter1]);
|
||||
void sub_08065A50(Entity* this) {
|
||||
ShowNPCDialogue(this, &gUnk_08110080[this->entityType.parameter1]);
|
||||
}
|
||||
|
||||
void sub_08065A64(Entity* ent)
|
||||
{
|
||||
void sub_08065A64(Entity* this) {
|
||||
u32 uVar2;
|
||||
|
||||
|
||||
uVar2 = -(gLinkState.flags.all & 0x80) >> 0x1f;
|
||||
if (uVar2 != ent->field_0x69)
|
||||
{
|
||||
if (uVar2 == 0)
|
||||
{
|
||||
sub_08078778(ent);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_080787A8(ent, ent->field_0x68);
|
||||
if (uVar2 != this->field_0x69) {
|
||||
if (uVar2 == 0) {
|
||||
sub_08078778(this);
|
||||
} else {
|
||||
sub_080787A8(this, this->field_0x68);
|
||||
}
|
||||
}
|
||||
ent->field_0x69 = uVar2;
|
||||
this->field_0x69 = uVar2;
|
||||
}
|
||||
|
||||
void sub_08065AA4(Entity* ent)
|
||||
{
|
||||
if (ent->interactType != 0)
|
||||
{
|
||||
if (gLinkState.flags.all & 0x80)
|
||||
{
|
||||
if (ent->interactType == 2)
|
||||
{
|
||||
ent->action = 4;
|
||||
sub_0806F118(ent);
|
||||
void sub_08065AA4(Entity* this) {
|
||||
if (this->interactType != 0) {
|
||||
if (gLinkState.flags.all & 0x80) {
|
||||
if (this->interactType == 2) {
|
||||
this->action = 4;
|
||||
sub_0806F118(this);
|
||||
} else {
|
||||
this->action = 3;
|
||||
sub_0805E3A0(this, 2);
|
||||
sub_08065A50(this);
|
||||
}
|
||||
else
|
||||
{
|
||||
ent->action = 3;
|
||||
sub_0805E3A0(ent, 2);
|
||||
sub_08065A50(ent);
|
||||
}
|
||||
sub_080045C4(ent, &gLinkEntity);
|
||||
LoadAnimation(ent, sub_0806F5A4());
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_08065A50(ent);
|
||||
sub_080045C4(this, &gLinkEntity);
|
||||
LoadAnimation(this, sub_0806F5A4());
|
||||
} else {
|
||||
sub_08065A50(this);
|
||||
sub_080791D0();
|
||||
}
|
||||
PlaySFX(0xD3);
|
||||
ent->interactType = 0;
|
||||
this->interactType = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08065B1C(Entity* ent)
|
||||
{
|
||||
if (ent->action == 0)
|
||||
{
|
||||
ent->action += 1;
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
LoadAnimation(ent, 7);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_080042B8(ent);
|
||||
void sub_08065B1C(Entity* this) {
|
||||
if (this->action == 0) {
|
||||
this->action += 1;
|
||||
this->spriteSettings.b.ss0 = 1;
|
||||
LoadAnimation(this, 7);
|
||||
} else {
|
||||
sub_080042B8(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
u32 extern CheckLocalFlagByOffset(u32, u32);
|
||||
|
||||
u32 CheckGlobalFlag (u32 index) {
|
||||
return CheckLocalFlagByOffset(0, index);
|
||||
}
|
||||
u32 CheckGlobalFlag(u32 index) {
|
||||
return CheckLocalFlagByOffset(0, index);
|
||||
}
|
||||
|
||||
+7
-10
@@ -9,10 +9,8 @@ extern RoomControls gRoomControls;
|
||||
extern s16 gUnk_08121750[];
|
||||
extern s16 gUnk_0812176A[];
|
||||
|
||||
void sub_0808D5DC(Entity* ent)
|
||||
{
|
||||
if (ent->action == 0)
|
||||
{
|
||||
void sub_0808D5DC(Entity* ent) {
|
||||
if (ent->action == 0) {
|
||||
ent->action = 1;
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
ent->spriteOrder.b3 = 3;
|
||||
@@ -22,17 +20,16 @@ void sub_0808D5DC(Entity* ent)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0808D618(Entity *ent)
|
||||
{
|
||||
void sub_0808D618(Entity* ent) {
|
||||
u32 tilePos;
|
||||
s16 *arr;
|
||||
s16* arr;
|
||||
u32 i;
|
||||
|
||||
arr = (ent->entityType.parameter1 != 0) ? gUnk_0812176A : gUnk_08121750;
|
||||
tilePos = (((ent->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3F) | ((((ent->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3F) * 64);
|
||||
tilePos = (((ent->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3F) |
|
||||
((((ent->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3F) * 64);
|
||||
|
||||
for (i = 0; i < 13; i++)
|
||||
{
|
||||
for (i = 0; i < 13; i++) {
|
||||
SetTile(16500, tilePos + arr[i], 1);
|
||||
}
|
||||
}
|
||||
|
||||
+155
-244
@@ -4,11 +4,10 @@
|
||||
#include "screen.h"
|
||||
#include "greatFairy.h"
|
||||
|
||||
//Main
|
||||
void sub_08086A90(Entity *ent)
|
||||
{
|
||||
// Main
|
||||
void sub_08086A90(Entity* ent) {
|
||||
u8 bVar1;
|
||||
|
||||
|
||||
if (ent->action == 0) {
|
||||
bVar1 = __modsi3((ent->entityType).parameter1, 11);
|
||||
(ent->entityType).parameter2 = bVar1;
|
||||
@@ -16,38 +15,33 @@ void sub_08086A90(Entity *ent)
|
||||
gGreatFairy[(ent->entityType).parameter2](ent);
|
||||
}
|
||||
|
||||
//Behaviors
|
||||
void sub_08086ABC(Entity *ent)
|
||||
{
|
||||
// Behaviors
|
||||
void sub_08086ABC(Entity* ent) {
|
||||
gGreatFairyBehaviors[ent->action](ent);
|
||||
|
||||
|
||||
if ((gLinkEntity.y.HALF.HI - gRoomControls.roomOriginY) < 168) {
|
||||
|
||||
|
||||
gRoomControls.cameraTarget = ent;
|
||||
gRoomControls.unk5 = 2;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
gRoomControls.cameraTarget = &gLinkEntity;
|
||||
gRoomControls.unk5 = 2;
|
||||
}
|
||||
}
|
||||
|
||||
//Init
|
||||
void sub_08086AF8(Entity *ent)
|
||||
{
|
||||
// Init
|
||||
void sub_08086AF8(Entity* ent) {
|
||||
sub_08087380();
|
||||
ent->parameter3 = 0;
|
||||
ent->cutsceneBeh.HWORD = 290;
|
||||
}
|
||||
|
||||
//Dormant update
|
||||
void sub_08086B10(Entity *ent)
|
||||
{
|
||||
u16 *pFrame; // r1@2
|
||||
s32 frame; // r1@4
|
||||
Entity *ripple; // r5@16
|
||||
u32 event;
|
||||
// Dormant update
|
||||
void sub_08086B10(Entity* ent) {
|
||||
u16* pFrame; // r1@2
|
||||
s32 frame; // r1@4
|
||||
Entity* ripple; // r5@16
|
||||
u32 event;
|
||||
|
||||
event = CheckRoomFlag(0);
|
||||
if (event == 0) {
|
||||
@@ -59,68 +53,52 @@ void sub_08086B10(Entity *ent)
|
||||
}
|
||||
frame = *pFrame;
|
||||
|
||||
if ( frame == 0x96 )
|
||||
{
|
||||
if (frame == 0x96) {
|
||||
goto LABEL_16;
|
||||
}
|
||||
|
||||
if ( frame < 0x97 )
|
||||
{
|
||||
if (frame != 0)
|
||||
{
|
||||
if ( frame == 0x82 )
|
||||
{
|
||||
|
||||
if (frame < 0x97) {
|
||||
if (frame != 0) {
|
||||
if (frame == 0x82) {
|
||||
goto LABEL_16;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
goto LABEL_17;
|
||||
}
|
||||
else {
|
||||
if (frame == 0xd2)
|
||||
{
|
||||
} else {
|
||||
if (frame == 0xd2) {
|
||||
goto LABEL_16;
|
||||
}
|
||||
if (frame < 0xd3)
|
||||
{
|
||||
if (frame == 0xaa)
|
||||
{
|
||||
if (frame < 0xd3) {
|
||||
if (frame == 0xaa) {
|
||||
goto LABEL_16;
|
||||
}
|
||||
else return;
|
||||
} else
|
||||
return;
|
||||
}
|
||||
if ( frame == 289 )
|
||||
{
|
||||
if (frame == 289) {
|
||||
goto LABEL_16;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
LABEL_17:
|
||||
ent->action = 2;
|
||||
return;
|
||||
ent->action = 2;
|
||||
return;
|
||||
LABEL_16:
|
||||
ripple = sub_080873AC(ent, 6, 0);
|
||||
if ( ripple )
|
||||
{
|
||||
PositionRelative(
|
||||
ent,
|
||||
ripple,
|
||||
(s32)gGreatFairyRippleOffsets[ent->parameter3] << 16,
|
||||
(s32)gGreatFairyRippleOffsets[ent->parameter3 + 1] << 16);
|
||||
if (ripple) {
|
||||
PositionRelative(ent, ripple, (s32)gGreatFairyRippleOffsets[ent->parameter3] << 16,
|
||||
(s32)gGreatFairyRippleOffsets[ent->parameter3 + 1] << 16);
|
||||
ent->parameter3 += 2;
|
||||
}
|
||||
}
|
||||
|
||||
//Create Great Fairy
|
||||
void sub_08086BA0(Entity *ent)
|
||||
{
|
||||
Entity *gf;
|
||||
|
||||
// Create Great Fairy
|
||||
void sub_08086BA0(Entity* ent) {
|
||||
Entity* gf;
|
||||
|
||||
gf = sub_080873AC(ent, 7, 0);
|
||||
if (gf != NULL) {
|
||||
PositionRelative(ent, gf, 0, 0x80000);
|
||||
@@ -128,17 +106,14 @@ void sub_08086BA0(Entity *ent)
|
||||
}
|
||||
}
|
||||
|
||||
//Great Fairy spawn-in update
|
||||
void sub_08086BC4(Entity *ent)
|
||||
{
|
||||
Entity *mini;
|
||||
// Great Fairy spawn-in update
|
||||
void sub_08086BC4(Entity* ent) {
|
||||
Entity* mini;
|
||||
u32 var;
|
||||
|
||||
if (gRoomVars.greatFairyState & 1)
|
||||
{
|
||||
if (gRoomVars.greatFairyState & 1) {
|
||||
mini = sub_080873AC(ent, 2, 0);
|
||||
if (mini != NULL)
|
||||
{
|
||||
if (mini != NULL) {
|
||||
CopyPosition(ent, mini);
|
||||
DoFade(6, 4);
|
||||
PlaySFX(325);
|
||||
@@ -150,20 +125,16 @@ void sub_08086BC4(Entity *ent)
|
||||
}
|
||||
}
|
||||
|
||||
//Mini Great Fairy update
|
||||
void sub_08086C18(Entity *ent)
|
||||
{
|
||||
Entity *target;
|
||||
|
||||
// Mini Great Fairy update
|
||||
void sub_08086C18(Entity* ent) {
|
||||
Entity* target;
|
||||
|
||||
sub_08004274(ent);
|
||||
if (ent->parameter3 != 0)
|
||||
{
|
||||
if (ent->parameter3 != 0) {
|
||||
ent->parameter3 = ent->parameter3 - 1;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
target = sub_080873AC(ent, 1, 0);
|
||||
if (target != NULL)
|
||||
{
|
||||
if (target != NULL) {
|
||||
PositionRelative(ent, target, 0, -0x140000);
|
||||
ent->action = 5;
|
||||
ent->parameter3 = 120;
|
||||
@@ -172,19 +143,14 @@ void sub_08086C18(Entity *ent)
|
||||
}
|
||||
}
|
||||
|
||||
//Final Great Fairy update
|
||||
void sub_08086C58(Entity *ent)
|
||||
{
|
||||
Entity *target;
|
||||
|
||||
if (ent->parameter3 != 0)
|
||||
{
|
||||
// Final Great Fairy update
|
||||
void sub_08086C58(Entity* ent) {
|
||||
Entity* target;
|
||||
|
||||
if (ent->parameter3 != 0) {
|
||||
ent->parameter3 = ent->parameter3 - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((ent->field_0xf == 0) && (target = sub_080873AC(ent, 9, 0), target != NULL))
|
||||
{
|
||||
} else {
|
||||
if ((ent->field_0xf == 0) && (target = sub_080873AC(ent, 9, 0), target != NULL)) {
|
||||
PositionRelative(ent, target, 0, -0x4C0000);
|
||||
target->parent = ent;
|
||||
ent->field_0xf = 1;
|
||||
@@ -193,14 +159,12 @@ void sub_08086C58(Entity *ent)
|
||||
sub_08004274(ent);
|
||||
}
|
||||
|
||||
//Wings
|
||||
void sub_08086C9C(Entity *ent)
|
||||
{
|
||||
// Wings
|
||||
void sub_08086C9C(Entity* ent) {
|
||||
gGreatFairyWings[ent->action](ent);
|
||||
}
|
||||
|
||||
void sub_08086CB4(Entity *ent)
|
||||
{
|
||||
void sub_08086CB4(Entity* ent) {
|
||||
sub_08087380();
|
||||
ent->ticks.b0 = 5;
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
@@ -211,11 +175,10 @@ void sub_08086CB4(Entity *ent)
|
||||
sub_0805EC9C(ent, 1024, 256, 0);
|
||||
}
|
||||
|
||||
//Wings init
|
||||
void sub_08086D18(Entity *ent)
|
||||
{
|
||||
// Wings init
|
||||
void sub_08086D18(Entity* ent) {
|
||||
s32 iVar1;
|
||||
|
||||
|
||||
iVar1 = (u16)ent->nonPlanarMovement - 32;
|
||||
ent->nonPlanarMovement = (short)iVar1;
|
||||
if (iVar1 * 65536 >> 16 == 256) {
|
||||
@@ -223,47 +186,40 @@ void sub_08086D18(Entity *ent)
|
||||
sub_0805EC60(ent);
|
||||
gRoomVars.greatFairyState = gRoomVars.greatFairyState | 32;
|
||||
gUnk_02033280 = gUnk_02033280 | 4;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
sub_0805EC9C(ent, ent->nonPlanarMovement, 256, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void nullsub_116(void)
|
||||
{
|
||||
void nullsub_116(void) {
|
||||
}
|
||||
|
||||
//Wake
|
||||
void sub_08086D6C(Entity *ent)
|
||||
{
|
||||
// Wake
|
||||
void sub_08086D6C(Entity* ent) {
|
||||
gGreatFairyWake[ent->action](ent);
|
||||
}
|
||||
|
||||
//Wake init
|
||||
void sub_08086D84(Entity *ent)
|
||||
{
|
||||
// Wake init
|
||||
void sub_08086D84(Entity* ent) {
|
||||
sub_08087380();
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
ent->ticks.b0 = 6;
|
||||
}
|
||||
|
||||
//Wake update
|
||||
void sub_08086DAC(Entity *ent)
|
||||
{
|
||||
// Wake update
|
||||
void sub_08086DAC(Entity* ent) {
|
||||
sub_08004274(ent);
|
||||
}
|
||||
|
||||
//Mini great fairy
|
||||
void sub_08086DB4(Entity *ent)
|
||||
{
|
||||
// Mini great fairy
|
||||
void sub_08086DB4(Entity* ent) {
|
||||
gGreatFairyMini[ent->action](ent);
|
||||
}
|
||||
|
||||
//Mini great fairy init
|
||||
void sub_08086DCC(Entity *ent)
|
||||
{
|
||||
Entity *wake;
|
||||
|
||||
// Mini great fairy init
|
||||
void sub_08086DCC(Entity* ent) {
|
||||
Entity* wake;
|
||||
|
||||
wake = sub_080873AC(ent, 4, 0);
|
||||
if (wake != NULL) {
|
||||
CopyPosition(ent, wake);
|
||||
@@ -274,28 +230,25 @@ void sub_08086DCC(Entity *ent)
|
||||
}
|
||||
}
|
||||
|
||||
//Mini great fairy pre-drip
|
||||
void sub_08086E04(Entity *ent)
|
||||
{
|
||||
Entity *target;
|
||||
|
||||
// Mini great fairy pre-drip
|
||||
void sub_08086E04(Entity* ent) {
|
||||
Entity* target;
|
||||
|
||||
sub_08004274(ent);
|
||||
ent->height.WORD = ent->height.WORD + -32768;
|
||||
ent->height.WORD = ent->height.WORD + -0x8000;
|
||||
if (ent->height.HALF.HI == -20) {
|
||||
ent->action = 2;
|
||||
PlaySFX(321);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (((ent->height.HALF.HI == -10) && (ent->field_0xf == 0)) &&
|
||||
(target = sub_080873AC(ent, 5, 0), target != NULL)) {
|
||||
(target = sub_080873AC(ent, 5, 0), target != NULL)) {
|
||||
PositionRelative(ent, target, 0, 0x40000);
|
||||
ent->field_0xf = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08086E64(Entity *ent)
|
||||
{
|
||||
void sub_08086E64(Entity* ent) {
|
||||
sub_08004274(ent);
|
||||
sub_080873D0(ent);
|
||||
if ((gRoomVars.greatFairyState & 1) != 0) {
|
||||
@@ -303,26 +256,23 @@ void sub_08086E64(Entity *ent)
|
||||
}
|
||||
}
|
||||
|
||||
//Mini great fairy behaviors
|
||||
void sub_08086E8C(Entity *ent)
|
||||
{
|
||||
// Mini great fairy behaviors
|
||||
void sub_08086E8C(Entity* ent) {
|
||||
gGreatFairyMiniAnim[ent->action](ent);
|
||||
}
|
||||
|
||||
void sub_08086EA4(Entity *ent)
|
||||
{
|
||||
void sub_08086EA4(Entity* ent) {
|
||||
sub_08087380();
|
||||
ent->ticks.b0 = 6;
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
}
|
||||
|
||||
//Mini great fairy translate
|
||||
void sub_08086ED0(Entity *ent)
|
||||
{
|
||||
Entity *parent = ent->parent;
|
||||
// Mini great fairy translate
|
||||
void sub_08086ED0(Entity* ent) {
|
||||
Entity* parent = ent->parent;
|
||||
|
||||
CopyPosition(parent, ent);
|
||||
|
||||
|
||||
if (ent->height.HALF.HI == -20) {
|
||||
ent->action = 2;
|
||||
ent->parameter3 = 90;
|
||||
@@ -332,35 +282,28 @@ void sub_08086ED0(Entity *ent)
|
||||
}
|
||||
}
|
||||
|
||||
//Mini great fairy stretch
|
||||
void sub_08086F10(Entity *ent)
|
||||
{
|
||||
u32 bVar1;
|
||||
// Mini great fairy stretch
|
||||
void sub_08086F10(Entity* ent) {
|
||||
s32 iVar2;
|
||||
|
||||
bVar1 = ent->parameter3 -= 1;
|
||||
|
||||
if (bVar1 == 0) {
|
||||
if (--ent->parameter3 == 0) {
|
||||
gRoomVars.greatFairyState = gRoomVars.greatFairyState | 1;
|
||||
ent->action = 3;
|
||||
sub_0805EC60(ent);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
iVar2 = (u16)ent->nonPlanarMovement - 24;
|
||||
ent->nonPlanarMovement = iVar2;
|
||||
sub_0805EC9C(ent, 256, iVar2 * 65536 >> 20, 0);
|
||||
}
|
||||
}
|
||||
|
||||
//Drip
|
||||
void sub_08086F54(Entity *ent)
|
||||
{
|
||||
// Drip
|
||||
void sub_08086F54(Entity* ent) {
|
||||
gGreatFairyDrip[ent->action](ent);
|
||||
}
|
||||
|
||||
//Drip init
|
||||
void sub_08086F6C(Entity *ent)
|
||||
{
|
||||
// Drip init
|
||||
void sub_08086F6C(Entity* ent) {
|
||||
sub_08087380();
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
ent->height.HALF.HI = 0;
|
||||
@@ -368,49 +311,42 @@ void sub_08086F6C(Entity *ent)
|
||||
PlaySFX(320);
|
||||
}
|
||||
|
||||
//Drip update
|
||||
void sub_08086FA0(Entity *ent)
|
||||
{
|
||||
// Drip update
|
||||
void sub_08086FA0(Entity* ent) {
|
||||
sub_08004274(ent);
|
||||
if ((ent->frames.all & 128) != 0) {
|
||||
DeleteEntity(ent);
|
||||
}
|
||||
}
|
||||
|
||||
//Ripple
|
||||
void sub_08086FC0(Entity *ent)
|
||||
{
|
||||
// Ripple
|
||||
void sub_08086FC0(Entity* ent) {
|
||||
gGreatFairyRipple[ent->action](ent);
|
||||
}
|
||||
|
||||
//Ripple init
|
||||
void sub_08086FD8(Entity *ent)
|
||||
{
|
||||
// Ripple init
|
||||
void sub_08086FD8(Entity* ent) {
|
||||
sub_08087380();
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
ent->ticks.b0 = 6;
|
||||
}
|
||||
|
||||
//Ripple update
|
||||
void sub_08087000(Entity *ent)
|
||||
{
|
||||
// Ripple update
|
||||
void sub_08087000(Entity* ent) {
|
||||
if ((gRoomVars.greatFairyState & 2) != 0) {
|
||||
DeleteEntity(ent);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
sub_08004274(ent);
|
||||
}
|
||||
}
|
||||
|
||||
//Big ripple
|
||||
void sub_08087024(Entity *ent)
|
||||
{
|
||||
// Big ripple
|
||||
void sub_08087024(Entity* ent) {
|
||||
gGreatFairyBigRipple[ent->action](ent);
|
||||
}
|
||||
|
||||
//Big ripple init
|
||||
void sub_0808703C(Entity *ent)
|
||||
{
|
||||
// Big ripple init
|
||||
void sub_0808703C(Entity* ent) {
|
||||
sub_08087380();
|
||||
ent->parameter3 = 120;
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
@@ -418,63 +354,54 @@ void sub_0808703C(Entity *ent)
|
||||
PlaySFX(249);
|
||||
}
|
||||
|
||||
//Big ripple update
|
||||
void sub_0808706C(Entity *ent)
|
||||
{
|
||||
Entity *target;
|
||||
|
||||
// Big ripple update
|
||||
void sub_0808706C(Entity* ent) {
|
||||
Entity* target;
|
||||
|
||||
sub_08004274(ent);
|
||||
if (ent->parameter3 != 0) {
|
||||
ent->parameter3 = ent->parameter3 - 1;
|
||||
}
|
||||
else {
|
||||
target = sub_080873AC(ent,3,0);
|
||||
ent->parameter3--;
|
||||
} else {
|
||||
target = sub_080873AC(ent, 3, 0);
|
||||
if (target != NULL) {
|
||||
PositionRelative(ent,target,0,-524288);
|
||||
PositionRelative(ent, target, 0, -0x80000);
|
||||
gRoomVars.greatFairyState = gRoomVars.greatFairyState | 2;
|
||||
DeleteEntity(ent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Energy
|
||||
void GreatFairyEnergy(Entity *ent)
|
||||
{
|
||||
// Energy
|
||||
void GreatFairyEnergy(Entity* ent) {
|
||||
gGreatFairyEnergy[ent->action](ent);
|
||||
}
|
||||
|
||||
//Energy init
|
||||
void sub_080870CC(Entity *ent)
|
||||
{
|
||||
// Energy init
|
||||
void sub_080870CC(Entity* ent) {
|
||||
sub_08087380();
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
ent->ticks.b0 = 5;
|
||||
}
|
||||
|
||||
//Energy update
|
||||
void sub_080870F4(Entity *ent)
|
||||
{
|
||||
// Energy update
|
||||
void sub_080870F4(Entity* ent) {
|
||||
sub_08004274(ent);
|
||||
if ((ent->frames.all & 128) != 0) {
|
||||
DeleteEntity(ent);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void sub_08087114(Entity *ent)
|
||||
{
|
||||
void sub_08087114(Entity* ent) {
|
||||
if ((ent->entityType).parameter2 == 0) {
|
||||
gGreatFairyInteract1[ent->action](ent);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
gGreatFairyInteract2[ent->action](ent);
|
||||
sub_08004274(ent);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void sub_08087150(Entity *ent)
|
||||
{
|
||||
void sub_08087150(Entity* ent) {
|
||||
u8 var;
|
||||
u32 var2;
|
||||
|
||||
@@ -490,22 +417,19 @@ void sub_08087150(Entity *ent)
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_08087150(Entity *ent)
|
||||
{
|
||||
asm(".include \"asm/greatFairy/sub_08087150.inc\"");
|
||||
void sub_08087150(Entity* ent) {
|
||||
asm(".include \"asm/greatFairy/sub_08087150.inc\"");
|
||||
}
|
||||
#endif
|
||||
|
||||
void nullsub_516()
|
||||
{
|
||||
void nullsub_516() {
|
||||
}
|
||||
|
||||
void sub_080871A8(Entity *ent)
|
||||
{
|
||||
void sub_080871A8(Entity* ent) {
|
||||
u32 bVar1;
|
||||
|
||||
|
||||
bVar1 = ent->parameter3 -= 1;
|
||||
|
||||
|
||||
if (bVar1 == 0) {
|
||||
ent->action = 3;
|
||||
ent->parameter3 = 60;
|
||||
@@ -513,10 +437,9 @@ void sub_080871A8(Entity *ent)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_080871D0(Entity *ent)
|
||||
{
|
||||
void sub_080871D0(Entity* ent) {
|
||||
u8 bVar1;
|
||||
|
||||
|
||||
bVar1 = ent->parameter3 -= 1;
|
||||
if (bVar1 == 0) {
|
||||
gRoomVars.greatFairyState = gRoomVars.greatFairyState | 8;
|
||||
@@ -525,15 +448,13 @@ void sub_080871D0(Entity *ent)
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void sub_080871F8(Entity *ent)
|
||||
{
|
||||
void sub_080871F8(Entity* ent) {
|
||||
s32 bVar1;
|
||||
|
||||
if ((( ent->attachedEntity->x.HALF.HI == (ent->x).HALF.HI) &&
|
||||
((Entity *)ent->attachedEntity)->y.HALF.HI + -32 == (ent->y).HALF.HI)) {
|
||||
|
||||
if (((ent->attachedEntity->x.HALF.HI == (ent->x).HALF.HI) &&
|
||||
((Entity*)ent->attachedEntity)->y.HALF.HI + -32 == (ent->y).HALF.HI)) {
|
||||
ent->action = 2;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
bVar1 = (ent->x).HALF.HI;
|
||||
sub_080045D4();
|
||||
ent->direction = bVar1;
|
||||
@@ -542,14 +463,12 @@ void sub_080871F8(Entity *ent)
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_080871F8(Entity *ent)
|
||||
{
|
||||
asm(".include \"asm/greatFairy/sub_080871F8.inc\"");
|
||||
void sub_080871F8(Entity* ent) {
|
||||
asm(".include \"asm/greatFairy/sub_080871F8.inc\"");
|
||||
}
|
||||
#endif
|
||||
|
||||
void sub_08087240(Entity *ent)
|
||||
{
|
||||
void sub_08087240(Entity* ent) {
|
||||
if ((gRoomVars.greatFairyState & 4) != 0) {
|
||||
ent->action = 3;
|
||||
ent->parameter3 = 20;
|
||||
@@ -557,32 +476,26 @@ void sub_08087240(Entity *ent)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08087264(Entity *ent)
|
||||
{
|
||||
void sub_08087264(Entity* ent) {
|
||||
if (ent->parameter3 != 0) {
|
||||
ent->parameter3 = ent->parameter3 - 1;
|
||||
ent->parameter3--;
|
||||
sub_0806F69C(ent);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0808727C(Entity *ent)
|
||||
{
|
||||
u8 bVar1;
|
||||
|
||||
bVar1 = ent->parameter3 -= 1;
|
||||
if (bVar1 == 0) {
|
||||
void sub_0808727C(Entity* ent) {
|
||||
|
||||
if (--ent->parameter3 == 0) {
|
||||
DeleteEntity(ent);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08087294(Entity *ent)
|
||||
{
|
||||
void sub_08087294(Entity* ent) {
|
||||
gUnk_081207A4[ent->action](ent);
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void sub_080872AC(Entity *ent)
|
||||
{
|
||||
void sub_080872AC(Entity* ent) {
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
ent->spriteOrientation.b2 = 1;
|
||||
ent->spriteOrder.b0 = 0;
|
||||
@@ -594,9 +507,7 @@ void sub_080872AC(Entity *ent)
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_080872AC(Entity *ent)
|
||||
{
|
||||
asm(".include \"asm/greatFairy/sub_080872AC.inc\"");
|
||||
void sub_080872AC(Entity* ent) {
|
||||
asm(".include \"asm/greatFairy/sub_080872AC.inc\"");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -13,17 +13,16 @@ typedef struct {
|
||||
} TransitionStruct;
|
||||
|
||||
extern u32 DoFade(u32, u32);
|
||||
extern void sub_0801D630(u32 *, u32, u32);
|
||||
extern void sub_0801D630(u32*, u32, u32);
|
||||
extern u32 gUnk_02000080;
|
||||
extern TransitionStruct gUnk_03001000;
|
||||
extern Menu gUnk_02032EC0;
|
||||
|
||||
|
||||
u32 IntroSetTransition(u8 transition,u32 param_2,u32 param_3)
|
||||
u32 IntroSetTransition(u8 transition, u32 param_2, u32 param_3)
|
||||
|
||||
{
|
||||
gUnk_02032EC0.transitionType = transition;
|
||||
gUnk_03001000.functionIndex = 2;
|
||||
sub_0801D630(&gUnk_02000080,48,param_3);
|
||||
return DoFade(7,8);
|
||||
sub_0801D630(&gUnk_02000080, 48, param_3);
|
||||
return DoFade(7, 8);
|
||||
}
|
||||
|
||||
+18
-18
@@ -1,32 +1,32 @@
|
||||
#include "global.h"
|
||||
/* called when loading any room */
|
||||
|
||||
void LoadRoomEntityList();
|
||||
s32 CheckGlobalFlag(u32 flag);
|
||||
extern s32* sub_0804B128(u8 unk);
|
||||
extern void sub_0804B058(s32 *unk);
|
||||
extern void sub_0804B1AC();
|
||||
extern void sub_0801AC98();
|
||||
void LoadRoomEntityList();
|
||||
s32 CheckGlobalFlag(u32 flag);
|
||||
extern s32* sub_0804B128(u8 unk);
|
||||
extern void sub_0804B058(s32* unk);
|
||||
extern void sub_0804B1AC();
|
||||
extern void sub_0801AC98();
|
||||
|
||||
void LoadRoom(void)
|
||||
|
||||
{
|
||||
|
||||
s32 iVar1;
|
||||
s32 *dat;
|
||||
s32* dat;
|
||||
|
||||
sub_0804B128(1);
|
||||
LoadRoomEntityList();
|
||||
sub_0804B128(0);
|
||||
LoadRoomEntityList();
|
||||
|
||||
sub_0804B128(1);
|
||||
LoadRoomEntityList();
|
||||
sub_0804B128(0);
|
||||
LoadRoomEntityList();
|
||||
|
||||
iVar1 = CheckGlobalFlag(21);
|
||||
if (iVar1 != 0) {
|
||||
dat = sub_0804B128(2);
|
||||
sub_0804B058(dat);
|
||||
dat = sub_0804B128(2);
|
||||
sub_0804B058(dat);
|
||||
}
|
||||
sub_0804B128(3);
|
||||
sub_0804B1AC();
|
||||
sub_0801AC98();
|
||||
sub_0804B128(3);
|
||||
sub_0804B1AC();
|
||||
sub_0801AC98();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#include "global.h"
|
||||
#include "entityData.h"
|
||||
|
||||
void extern CreateEntity(EntityData *);
|
||||
void extern CreateEntity(EntityData*);
|
||||
|
||||
void LoadRoomEntityList(EntityData *listPtr) {
|
||||
if (listPtr != NULL) {
|
||||
while (listPtr->entityType != 0xFF) {
|
||||
CreateEntity(listPtr++);
|
||||
}
|
||||
}
|
||||
}
|
||||
void LoadRoomEntityList(EntityData* listPtr) {
|
||||
if (listPtr != NULL) {
|
||||
while (listPtr->entityType != 0xFF) {
|
||||
CreateEntity(listPtr++);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+22
-26
@@ -1,25 +1,24 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
extern void sub_0806ED78(Entity *);
|
||||
extern void sub_0806ED78(Entity*);
|
||||
extern void LoadAnimation();
|
||||
extern void sub_08063280();
|
||||
extern void TextboxTryNoOverlap(u32);
|
||||
extern void sub_080042B8();
|
||||
extern void CreateFx();
|
||||
|
||||
extern void (*gMailboxBehaviors[4])(Entity *);
|
||||
extern void (*gMailboxBehaviors[4])(Entity*);
|
||||
|
||||
void sub_080631E8(Entity *ent)
|
||||
{
|
||||
void sub_080631E8(Entity* ent) {
|
||||
gMailboxBehaviors[ent->action](ent);
|
||||
|
||||
|
||||
if (ent->action != 0) {
|
||||
sub_0806ED78(ent);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08063210(Entity *ent)
|
||||
void sub_08063210(Entity* ent)
|
||||
|
||||
{
|
||||
ent->action = 1;
|
||||
@@ -27,29 +26,26 @@ void sub_08063210(Entity *ent)
|
||||
return;
|
||||
}
|
||||
|
||||
void sub_08063220(Entity *ent)
|
||||
void sub_08063220(Entity* ent)
|
||||
|
||||
{
|
||||
u8 bVar1;
|
||||
|
||||
|
||||
if (ent->interactType != 0) {
|
||||
ent->action = 2;
|
||||
bVar1 = 8;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
bVar1 = 0;
|
||||
}
|
||||
|
||||
|
||||
if (ent->field_0x58 != bVar1) {
|
||||
LoadAnimation(ent);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
sub_08063280(ent, bVar1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void sub_08063254(Entity *ent)
|
||||
void sub_08063254(Entity* ent)
|
||||
|
||||
{
|
||||
sub_08063280(ent);
|
||||
@@ -60,23 +56,23 @@ void sub_08063254(Entity *ent)
|
||||
return;
|
||||
}
|
||||
|
||||
void sub_08063278(Entity *ent)
|
||||
void sub_08063278(Entity* ent)
|
||||
|
||||
{
|
||||
sub_08063280(ent);
|
||||
return;
|
||||
}
|
||||
|
||||
void sub_08063280(Entity *ent)
|
||||
void sub_08063280(Entity* ent)
|
||||
|
||||
{
|
||||
Entity *e; // r4@1
|
||||
u8 var; // r2@1
|
||||
Entity* e; // r4@1
|
||||
u8 var; // r2@1
|
||||
|
||||
e = ent;
|
||||
sub_080042B8();
|
||||
var = e->frames.all & 0x7F;
|
||||
e->frames.all = e->frames.all ^ var;
|
||||
if ( var == 2 )
|
||||
CreateFx(e, 49, 0);
|
||||
}
|
||||
e = ent;
|
||||
sub_080042B8();
|
||||
var = e->frames.all & 0x7F;
|
||||
e->frames.all = e->frames.all ^ var;
|
||||
if (var == 2)
|
||||
CreateFx(e, 49, 0);
|
||||
}
|
||||
|
||||
+10
-12
@@ -30,7 +30,7 @@ extern void sub_0804FFE4(void);
|
||||
extern void sub_0804FF84(u32);
|
||||
extern void sub_08056418(void);
|
||||
extern void sub_080ADD30(void);
|
||||
extern void sub_0801D630(void *,u32);
|
||||
extern void sub_0801D630(void*, u32);
|
||||
extern void sub_08056010(u32);
|
||||
extern void ReadKeyInput();
|
||||
extern u32 sub_08055FF4();
|
||||
@@ -45,15 +45,14 @@ extern u8 gUnk_02000014;
|
||||
extern u32 gUnk_020176A0;
|
||||
extern u32 gRand;
|
||||
extern MainStruct gUnk_03001000;
|
||||
extern void (* gUnk_08100CBC[])();
|
||||
extern void (*gUnk_08100CBC[])();
|
||||
extern void VBlankInterruptWait(void);
|
||||
|
||||
void MainLoop(void)
|
||||
{
|
||||
void MainLoop(void) {
|
||||
bool32 codeInputted;
|
||||
u8 cVar1;
|
||||
u32 uVar2;
|
||||
|
||||
|
||||
sub_08055F70();
|
||||
sub_080A3204();
|
||||
sub_0805616C();
|
||||
@@ -62,12 +61,12 @@ void MainLoop(void)
|
||||
sub_08056208();
|
||||
gUnk_02000014 = 193;
|
||||
sub_0804FFE4();
|
||||
DmaSet(3, 0x5000000U, &gUnk_020176A0, 0x84000080U);
|
||||
DmaSet(3, 0x5000000U, &gUnk_020176A0, 0x84000080U);
|
||||
sub_0804FF84(1);
|
||||
sub_08056418();
|
||||
sub_080ADD30();
|
||||
gRand = 0x1234567;
|
||||
sub_0801D630(&gUnk_03001000,16);
|
||||
sub_0801D630(&gUnk_03001000, 16);
|
||||
sub_08056010(0);
|
||||
do {
|
||||
ReadKeyInput();
|
||||
@@ -97,16 +96,15 @@ void MainLoop(void)
|
||||
sub_08056458();
|
||||
sub_08050154();
|
||||
sub_080A3480();
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
sub_08056260();
|
||||
}
|
||||
sub_08016E78();
|
||||
} while( TRUE );
|
||||
} while (TRUE);
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void MainLoop(void) {
|
||||
asm(".include \"asm/non_matching/mainLoop.inc\"");
|
||||
asm(".include \"asm/non_matching/mainLoop.inc\"");
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+5
-10
@@ -1,22 +1,19 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
extern void _call_via_r1(Entity *, u32);
|
||||
extern void _call_via_r1(Entity*, u32);
|
||||
extern void sub_0806ED78();
|
||||
extern void LoadAnimation();
|
||||
extern void sub_080042B8();
|
||||
|
||||
extern void (*gMilkCartBehaviors[2])(Entity*);
|
||||
|
||||
void sub_08065B4C(Entity *ent)
|
||||
{
|
||||
void sub_08065B4C(Entity* ent) {
|
||||
gMilkCartBehaviors[ent->action](ent);
|
||||
sub_0806ED78(ent);
|
||||
}
|
||||
|
||||
|
||||
void sub_08065B6C(Entity *ent)
|
||||
{
|
||||
void sub_08065B6C(Entity* ent) {
|
||||
ent->action++;
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
(ent->y).HALF.LO += -32768;
|
||||
@@ -24,8 +21,6 @@ void sub_08065B6C(Entity *ent)
|
||||
LoadAnimation(ent, 3);
|
||||
}
|
||||
|
||||
|
||||
void sub_08065B9C(Entity *ent)
|
||||
{
|
||||
void sub_08065B9C(Entity* ent) {
|
||||
sub_080042B8(ent);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@ s32 ModHealth(s32 deltaHealth)
|
||||
|
||||
{
|
||||
s32 newHealth;
|
||||
|
||||
|
||||
newHealth = gStats.health + deltaHealth;
|
||||
if (newHealth < 0) {
|
||||
newHealth = 0;
|
||||
@@ -17,4 +17,4 @@ s32 ModHealth(s32 deltaHealth)
|
||||
gStats.health = newHealth;
|
||||
gLinkEntity.currentHealth = newHealth;
|
||||
return newHealth;
|
||||
}
|
||||
}
|
||||
|
||||
+3
-4
@@ -7,16 +7,15 @@ void ModRupees(s32 rupeeDelta)
|
||||
|
||||
{
|
||||
s32 newRupeeCount;
|
||||
Stats *s = &gStats;
|
||||
Stats* s = &gStats;
|
||||
|
||||
newRupeeCount = s->rupees + rupeeDelta;
|
||||
if (newRupeeCount < 0) {
|
||||
newRupeeCount = 0;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (newRupeeCount > gWalletSizes[s->walletType * 2]) {
|
||||
newRupeeCount = gWalletSizes[s->walletType * 2];
|
||||
}
|
||||
}
|
||||
s->rupees = newRupeeCount;
|
||||
}
|
||||
}
|
||||
|
||||
+15
-21
@@ -1,7 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
extern Entity * CreateObject();
|
||||
extern Entity* CreateObject();
|
||||
extern void CopyPosition();
|
||||
extern void sub_08086A6C();
|
||||
extern s32 sub_080044EC();
|
||||
@@ -9,20 +9,18 @@ extern void sub_080AEF88();
|
||||
extern void DeleteThisEntity();
|
||||
extern u32 Random(void);
|
||||
|
||||
extern void (*gUnk_081206C4[99])(Entity *);
|
||||
extern void (*gUnk_081206C4[99])(Entity*);
|
||||
|
||||
extern u32 gUnk_080FD1A8;
|
||||
|
||||
//Main
|
||||
void sub_080869C4(Entity *ent)
|
||||
{
|
||||
// Main
|
||||
void sub_080869C4(Entity* ent) {
|
||||
gUnk_081206C4[ent->action](ent);
|
||||
}
|
||||
|
||||
void sub_080869DC(Entity *ent)
|
||||
{
|
||||
Entity *itemEntity;
|
||||
|
||||
void sub_080869DC(Entity* ent) {
|
||||
Entity* itemEntity;
|
||||
|
||||
ent->action = 1;
|
||||
ent->spriteSettings.b.ss0 = 0;
|
||||
ent->boundingBox = &gUnk_080FD1A8;
|
||||
@@ -37,35 +35,31 @@ void sub_080869DC(Entity *ent)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08086A28(Entity *ent)
|
||||
{
|
||||
void sub_08086A28(Entity* ent) {
|
||||
s32 iVar1;
|
||||
|
||||
|
||||
if (ent->attachedEntity->field_0x4 == NULL) {
|
||||
ent->action = 2;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
iVar1 = sub_080044EC(ent, 10240);
|
||||
if (iVar1 == 0) {
|
||||
ent->action = 2;
|
||||
}
|
||||
sub_080AEF88(ent);
|
||||
CopyPosition(ent,ent->attachedEntity);
|
||||
CopyPosition(ent, ent->attachedEntity);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08086A5C(Entity *ent)
|
||||
{
|
||||
void sub_08086A5C(Entity* ent) {
|
||||
ent->attachedEntity->parent = NULL;
|
||||
DeleteThisEntity();
|
||||
}
|
||||
|
||||
void sub_08086A6C(Entity *ent)
|
||||
{
|
||||
void sub_08086A6C(Entity* ent) {
|
||||
u32 uVar1;
|
||||
|
||||
|
||||
uVar1 = Random();
|
||||
ent->field_0x20 = 163840;
|
||||
ent->direction = (uVar1 >> 16) & 31;
|
||||
ent->nonPlanarMovement = uVar1 & 480;
|
||||
}
|
||||
}
|
||||
|
||||
+11
-13
@@ -4,38 +4,36 @@
|
||||
#include "link.h"
|
||||
|
||||
extern void _call_via_r2();
|
||||
extern void sub_08077E78(ItemBehavior *, u32);
|
||||
extern void sub_08077E78(ItemBehavior*, u32);
|
||||
extern void PlaySFX(u32);
|
||||
extern void sub_08078F60(void);
|
||||
extern void sub_08077D38(ItemBehavior *, u32);
|
||||
extern void sub_08077D38(ItemBehavior*, u32);
|
||||
extern void sub_0805E544(void);
|
||||
extern void UpdateItemAnim(ItemBehavior *);
|
||||
extern void UpdateItemAnim(ItemBehavior*);
|
||||
extern void CreateBird(void);
|
||||
extern void UnfreezeTime(void);
|
||||
|
||||
extern Entity gLinkEntity;
|
||||
extern LinkState gLinkState;
|
||||
extern void (*gOcarinaStates[4])(ItemBehavior *, u32);
|
||||
extern void (*gOcarinaStates[4])(ItemBehavior*, u32);
|
||||
extern u8 gUnk_02034490;
|
||||
|
||||
void Ocarina(ItemBehavior *pItemBeh,u32 inputFlags)
|
||||
void Ocarina(ItemBehavior* pItemBeh, u32 inputFlags)
|
||||
|
||||
{
|
||||
//u32 *ocarinaStates = &gOcarinaStates;
|
||||
// u32 *ocarinaStates = &gOcarinaStates;
|
||||
//_call_via_r2(pItemBeh, inputFlags,(ocarinaStates)[pItemBeh->stateID]);
|
||||
gOcarinaStates[pItemBeh->stateID](pItemBeh, inputFlags);
|
||||
gLinkEntity.itemCooldown = gLinkEntity.itemCooldown + 1;
|
||||
}
|
||||
|
||||
void OcarinaUse(ItemBehavior *itemBeh,s32 inputFlags)
|
||||
{
|
||||
void OcarinaUse(ItemBehavior* itemBeh, s32 inputFlags) {
|
||||
u32 bVar1;
|
||||
u32 var;
|
||||
|
||||
if (gLinkState.linkAction == 24) {
|
||||
sub_08077E78(itemBeh,inputFlags);
|
||||
}
|
||||
else {
|
||||
sub_08077E78(itemBeh, inputFlags);
|
||||
} else {
|
||||
itemBeh->unk4 |= 15;
|
||||
gLinkEntity.animationState = 4;
|
||||
var = gLinkEntity.spriteSettings.raw & ~0x40;
|
||||
@@ -50,8 +48,8 @@ void OcarinaUse(ItemBehavior *itemBeh,s32 inputFlags)
|
||||
gLinkState.unk3 = bVar1 | gLinkState.unk3;
|
||||
gLinkState.keepFacing = bVar1 | gLinkState.keepFacing;
|
||||
sub_08078F60();
|
||||
sub_08077D38(itemBeh,inputFlags);
|
||||
sub_08077D38(itemBeh, inputFlags);
|
||||
PlaySFX(534);
|
||||
sub_0805E544();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+31
-48
@@ -18,117 +18,100 @@ extern u32 Random();
|
||||
extern void sub_0801ED14();
|
||||
extern void sub_08004274();
|
||||
|
||||
extern void (*gOctorok[2]);
|
||||
extern void (*gOctorokIdle[4])(Entity *);
|
||||
extern void (*gUnk_080CA158[4])(Entity *);
|
||||
extern void(*gOctorok[2]);
|
||||
extern void (*gOctorokIdle[4])(Entity*);
|
||||
extern void (*gUnk_080CA158[4])(Entity*);
|
||||
|
||||
extern u8 gUnk_080CA170[8];
|
||||
//Main
|
||||
void sub_0801EAB0(Entity *ent)
|
||||
{
|
||||
// Main
|
||||
void sub_0801EAB0(Entity* ent) {
|
||||
EnemyFunctionHandler(ent, gOctorok);
|
||||
SetChildOffset(ent, 0, 1, -16);
|
||||
}
|
||||
|
||||
//Idle
|
||||
void sub_0801EAD0(Entity *ent)
|
||||
{
|
||||
// Idle
|
||||
void sub_0801EAD0(Entity* ent) {
|
||||
gOctorokIdle[ent->action](ent);
|
||||
}
|
||||
|
||||
//Touch player
|
||||
void sub_0801EAE8(Entity *ent)
|
||||
{
|
||||
// Touch player
|
||||
void sub_0801EAE8(Entity* ent) {
|
||||
if (ent->field_0x43 != 0) {
|
||||
sub_0804A9FC(ent, 28);
|
||||
}
|
||||
sub_0804AA30(ent, gOctorok);
|
||||
}
|
||||
|
||||
//Death
|
||||
void sub_0801EB0C(Entity *ent)
|
||||
{
|
||||
// Death
|
||||
void sub_0801EB0C(Entity* ent) {
|
||||
if ((ent->entityType).parameter1 == 0) {
|
||||
sub_0804A7D4(ent);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
CreateDeathFx(ent, 241, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0801EB2C(Entity *ent)
|
||||
{
|
||||
void sub_0801EB2C(Entity* ent) {
|
||||
s32 iVar1;
|
||||
|
||||
|
||||
if ((ent->previousActionFlag < 3) && (iVar1 = sub_0806F520(ent), iVar1 == 0)) {
|
||||
sub_0801ECFC(ent);
|
||||
InitializeAnimation(ent, ent->animationState);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
gUnk_080CA158[ent->previousActionFlag](ent);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0801EB68(Entity *ent)
|
||||
{
|
||||
void sub_0801EB68(Entity* ent) {
|
||||
ent->previousActionFlag = 1;
|
||||
ent->filler[1] = 60;
|
||||
}
|
||||
|
||||
void sub_0801EB74(Entity *ent)
|
||||
{
|
||||
sub_0806F4E8(ent);
|
||||
void sub_0801EB74(Entity* ent) {
|
||||
sub_0806F4E8(ent);
|
||||
}
|
||||
|
||||
void sub_0801EB7C(Entity *ent)
|
||||
{
|
||||
void sub_0801EB7C(Entity* ent) {
|
||||
sub_0806F3E4(ent);
|
||||
}
|
||||
|
||||
void sub_0801EB84(Entity *ent)
|
||||
{
|
||||
void sub_0801EB84(Entity* ent) {
|
||||
ent->flags = ent->flags & 127;
|
||||
InitializeAnimationAnimation(ent, 2);
|
||||
}
|
||||
|
||||
void nullsub_3()
|
||||
{
|
||||
void nullsub_3() {
|
||||
}
|
||||
|
||||
void sub_0801EB9C(Entity *ent)
|
||||
{
|
||||
void sub_0801EB9C(Entity* ent) {
|
||||
if ((ent->flags & 128) != 0) {
|
||||
ent->flags = ent->flags | 128;
|
||||
ent->field_0x3a = ent->field_0x3a & 251;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
ent->currentHealth = 0;
|
||||
}
|
||||
}
|
||||
|
||||
//Init
|
||||
// Init
|
||||
#ifdef NON_MATCHING
|
||||
void sub_0801EBC8(Entity *ent)
|
||||
{
|
||||
void sub_0801EBC8(Entity* ent) {
|
||||
sub_0804A720();
|
||||
ent->animationState = (ent->entityType).parameter1 == 2 ? (ent->entityType).parameter1 : Random() & 3;
|
||||
ent->filler[0] = 18;
|
||||
sub_0801ECFC(ent);
|
||||
InitializeAnimation(ent,ent->animationState);
|
||||
InitializeAnimation(ent, ent->animationState);
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_0801EBC8(Entity *ent)
|
||||
{
|
||||
asm(".include \"asm/octorok/sub_0801EBC8.inc\"");
|
||||
void sub_0801EBC8(Entity* ent) {
|
||||
asm(".include \"asm/octorok/sub_0801EBC8.inc\"");
|
||||
}
|
||||
#endif
|
||||
|
||||
void sub_0801EBF4(Entity *ent)
|
||||
{
|
||||
void sub_0801EBF4(Entity* ent) {
|
||||
u8 bVar1;
|
||||
u32 uVar2;
|
||||
|
||||
|
||||
bVar1 = ent->parameter3 -= 1;
|
||||
if (bVar1 == 0) {
|
||||
ent->action = 2;
|
||||
@@ -137,4 +120,4 @@ void sub_0801EBF4(Entity *ent)
|
||||
sub_0801ED14(ent);
|
||||
}
|
||||
sub_08004274(ent);
|
||||
}
|
||||
}
|
||||
|
||||
+13
-13
@@ -1,19 +1,19 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
extern void UpdateSpriteOrderAndFlip(Entity *);
|
||||
extern void UpdateSpriteOrderAndFlip(Entity*);
|
||||
|
||||
void PositionRelative(Entity *source, Entity *target, s32 offsetX, s32 offsetY) { //r0, r1, r2, r3
|
||||
s32 x;
|
||||
s32 y;
|
||||
|
||||
x = source->x.WORD;
|
||||
void PositionRelative(Entity* source, Entity* target, s32 offsetX, s32 offsetY) { // r0, r1, r2, r3
|
||||
s32 x;
|
||||
s32 y;
|
||||
|
||||
x = source->x.WORD;
|
||||
target->x.WORD = x + offsetX;
|
||||
|
||||
y = source->y.WORD;
|
||||
|
||||
y = source->y.WORD;
|
||||
target->y.WORD = y + offsetY;
|
||||
|
||||
target->height = source->height; //ldr
|
||||
target->collisionLayer = source->collisionLayer;
|
||||
UpdateSpriteOrderAndFlip(target);
|
||||
}
|
||||
|
||||
target->height = source->height; // ldr
|
||||
target->collisionLayer = source->collisionLayer;
|
||||
UpdateSpriteOrderAndFlip(target);
|
||||
}
|
||||
|
||||
+7
-8
@@ -8,10 +8,10 @@ extern u32 gUnk_0200B650;
|
||||
extern u32 gUnk_02025EB0;
|
||||
extern u8 gUnk_030010A0[10];
|
||||
|
||||
extern void sub_08080840(Entity *);
|
||||
extern void sub_08080840(Entity*);
|
||||
extern void sub_080809D4();
|
||||
|
||||
void sub_0808091C(Entity *param_1,u32 param_2)
|
||||
void sub_0808091C(Entity* param_1, u32 param_2)
|
||||
|
||||
{
|
||||
sub_08080840(param_1);
|
||||
@@ -30,22 +30,21 @@ void sub_08080930(void)
|
||||
return;
|
||||
}
|
||||
|
||||
u32 * GetLayerByIndex(u32 param_1)
|
||||
u32* GetLayerByIndex(u32 param_1)
|
||||
|
||||
{
|
||||
|
||||
|
||||
if (param_1 == 2) {
|
||||
return &gUnk_0200B650;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return &gUnk_02025EB0;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08080964(u16 time,u32 magnitude)
|
||||
void sub_08080964(u16 time, u32 magnitude)
|
||||
|
||||
{
|
||||
gRoomControls.screenShakeTime = time;
|
||||
gRoomControls.screenShakeMagnitude = magnitude & 7;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
+48
-56
@@ -2,64 +2,59 @@
|
||||
#include "entity.h"
|
||||
|
||||
typedef struct {
|
||||
void * field_0x0;
|
||||
void * entityCount;
|
||||
void* field_0x0;
|
||||
void* entityCount;
|
||||
u8 freezeTime;
|
||||
} EntityHandler;
|
||||
|
||||
extern void EnemyFunctionHandler(Entity *, void *);
|
||||
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 void EnemyFunctionHandler(Entity*, void*);
|
||||
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 sub_08004274(Entity *);
|
||||
extern void sub_08004274(Entity*);
|
||||
extern u32 sub_0806FA04(u32, u32);
|
||||
extern u32 sub_08049FA0(Entity *);
|
||||
extern u32 sub_08049EE4(Entity *);
|
||||
extern u32 sub_08049FA0(Entity*);
|
||||
extern u32 sub_08049EE4(Entity*);
|
||||
extern u32 sub_080AEF88(void);
|
||||
extern Entity * CreateEnemy(u32, u32);
|
||||
extern Entity* CreateEnemy(u32, u32);
|
||||
|
||||
|
||||
extern void (*gUnk_080D16BC[])(Entity *);
|
||||
extern void (*gUnk_080D16A4[])(Entity *);
|
||||
extern void (*gUnk_080D16BC[])(Entity*);
|
||||
extern void (*gUnk_080D16A4[])(Entity*);
|
||||
|
||||
extern u8 gUnk_080D16D0;
|
||||
extern EntityHandler gUnk_03003DB8;
|
||||
|
||||
|
||||
void sub_08044F50(Entity *this)
|
||||
void sub_08044F50(Entity* this)
|
||||
|
||||
{
|
||||
EnemyFunctionHandler(this, &gUnk_080D16A4);
|
||||
SetChildOffset(this,0,1,-12);
|
||||
SetChildOffset(this, 0, 1, -12);
|
||||
}
|
||||
|
||||
void sub_08044F70(Entity *this)
|
||||
{
|
||||
void sub_08044F70(Entity* this) {
|
||||
gUnk_080D16BC[this->action](this);
|
||||
}
|
||||
|
||||
void sub_08044F88(Entity *this)
|
||||
{
|
||||
void sub_08044F88(Entity* this) {
|
||||
if ((this->currentHealth != 0) && (this->cutsceneBeh.HALF.LO != this->currentHealth)) {
|
||||
this->action = 4;
|
||||
}
|
||||
else {
|
||||
sub_0804AA30(this,&gUnk_080D16A4);
|
||||
} else {
|
||||
sub_0804AA30(this, &gUnk_080D16A4);
|
||||
}
|
||||
|
||||
if (this->field_0x43 != 0) {
|
||||
sub_0804A9FC(this,28);
|
||||
sub_0804A9FC(this, 28);
|
||||
}
|
||||
}
|
||||
|
||||
void nullsub_171(){}
|
||||
void nullsub_171() {
|
||||
}
|
||||
|
||||
void sub_08044FC8(Entity *this)
|
||||
{
|
||||
void sub_08044FC8(Entity* this) {
|
||||
this->action = 1;
|
||||
this->spriteSettings.b.ss0 = 1;
|
||||
this->nonPlanarMovement = 128;
|
||||
@@ -68,23 +63,21 @@ void sub_08044FC8(Entity *this)
|
||||
sub_08044FF8(this);
|
||||
}
|
||||
|
||||
void sub_08044FF8(Entity *this)
|
||||
{
|
||||
void sub_08044FF8(Entity* this) {
|
||||
u32 bVar1;
|
||||
|
||||
|
||||
this->action = 2;
|
||||
bVar1 = Random();
|
||||
this->parameter3 = (bVar1 & 31) + 30;
|
||||
this->cutsceneBeh.HALF.LO = this->currentHealth;
|
||||
}
|
||||
|
||||
void sub_08045018(Entity *this)
|
||||
{
|
||||
void sub_08045018(Entity* this) {
|
||||
u32 cVar1;
|
||||
u32 param3;
|
||||
u32 iVar3;
|
||||
u32 randValue;
|
||||
|
||||
|
||||
sub_08004274(this);
|
||||
param3 = this->parameter3 -= 1;
|
||||
if (param3 == 0) {
|
||||
@@ -96,17 +89,16 @@ void sub_08045018(Entity *this)
|
||||
iVar3 = sub_08049FA0(this);
|
||||
if ((iVar3 == 0) && (randValue = Random(), (randValue & 3) != 0)) {
|
||||
cVar1 = sub_08049EE4(this);
|
||||
this->direction = (cVar1 + 0xfc + (Random() & 8)) & 24;
|
||||
this->direction = (cVar1 + 0xfc + (Random() & 8)) & 24;
|
||||
return;
|
||||
}
|
||||
this->direction = Random() & 24;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08045088(Entity *this)
|
||||
{
|
||||
void sub_08045088(Entity* this) {
|
||||
u8 bVar1;
|
||||
|
||||
|
||||
sub_080AEF88();
|
||||
sub_08004274(this);
|
||||
bVar1 = this->parameter3 -= 1;
|
||||
@@ -116,22 +108,22 @@ void sub_08045088(Entity *this)
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void sub_080450A8(Entity *this)
|
||||
void sub_080450A8(Entity* this)
|
||||
|
||||
{
|
||||
u8 bVar1;
|
||||
u32 uVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
Entity *pEVar5;
|
||||
Entity **ppEVar6;
|
||||
Entity* pEVar5;
|
||||
Entity** ppEVar6;
|
||||
s32 dividend;
|
||||
u32 uVar7;
|
||||
Entity *local_r6_72;
|
||||
Entity* local_r6_72;
|
||||
u32 divisor;
|
||||
u8 *pcVar8;
|
||||
Entity *local_2c [4];
|
||||
|
||||
u8* pcVar8;
|
||||
Entity* local_2c[4];
|
||||
|
||||
ppEVar6 = local_2c;
|
||||
bVar1 = (&gUnk_080D16D0)[(this->entityType).parameter1];
|
||||
divisor = (u32)bVar1;
|
||||
@@ -139,7 +131,7 @@ void sub_080450A8(Entity *this)
|
||||
uVar7 = divisor;
|
||||
if (bVar1 != 0) {
|
||||
do {
|
||||
uVar2 = CreateEnemy(87,this->entityType.parameter1);
|
||||
uVar2 = CreateEnemy(87, this->entityType.parameter1);
|
||||
*ppEVar6 = uVar2;
|
||||
ppEVar6 = ppEVar6 + 1;
|
||||
uVar7 = uVar7 - 1;
|
||||
@@ -151,28 +143,28 @@ void sub_080450A8(Entity *this)
|
||||
do {
|
||||
local_r6_72 = local_2c[iVar4];
|
||||
dividend = iVar4 + 1;
|
||||
iVar3 = Div(dividend,divisor);
|
||||
iVar3 = Div(dividend, divisor);
|
||||
local_r6_72->attachedEntity = local_2c[iVar3];
|
||||
iVar4 = Div(iVar4 + divisor + -1,divisor);
|
||||
iVar4 = Div(iVar4 + divisor + -1, divisor);
|
||||
local_r6_72->parent = local_2c[iVar4];
|
||||
(local_r6_72->entityType).parameter2 = 1;
|
||||
local_r6_72->height.WORD = 0;
|
||||
local_r6_72->hurtBlinkTime = 240;
|
||||
sub_08045178(this,local_r6_72,*pcVar8,pcVar8[1]);
|
||||
sub_08045178(this, local_r6_72, *pcVar8, pcVar8[1]);
|
||||
pcVar8 = pcVar8 + 2;
|
||||
iVar4 = dividend;
|
||||
} while (dividend < divisor);
|
||||
}
|
||||
pEVar5 = CreateFx(this,2,0);
|
||||
pEVar5 = CreateFx(this, 2, 0);
|
||||
if (pEVar5 != NULL) {
|
||||
CopyPosition(this,pEVar5);
|
||||
CopyPosition(this, pEVar5);
|
||||
}
|
||||
DeleteEnemy(this);
|
||||
}
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_080450A8(Entity *this) {
|
||||
asm(".include \"asm/non_matching/slime/sub_080450A8.inc\"");
|
||||
void sub_080450A8(Entity* this) {
|
||||
asm(".include \"asm/non_matching/slime/sub_080450A8.inc\"");
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+22
-34
@@ -2,11 +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 sub_08004274(Entity *);
|
||||
extern void sub_0806ED78(Entity *);
|
||||
extern void InitializeAnimation(Entity*, u32);
|
||||
extern void sub_08078778(Entity*);
|
||||
extern void sub_0805E47C(Entity*);
|
||||
extern void sub_08004274(Entity*);
|
||||
extern void sub_0806ED78(Entity*);
|
||||
extern void TextboxTryNoOverlap(u32);
|
||||
extern void sub_0805E584();
|
||||
extern void sub_0807DD64();
|
||||
@@ -17,18 +17,17 @@ extern void sub_0807DDE4();
|
||||
extern u32 sub_0801E7F4();
|
||||
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 sub_08004274(Entity *);
|
||||
extern void sub_0806ED78(Entity *);
|
||||
extern void InitializeAnimation(Entity*, u32);
|
||||
extern void sub_08078778(Entity*);
|
||||
extern void sub_0805E47C(Entity*);
|
||||
extern void sub_08004274(Entity*);
|
||||
extern void sub_0806ED78(Entity*);
|
||||
extern void TextboxTryNoOverlap(u32);
|
||||
extern void sub_0805E584();
|
||||
extern void sub_0807DD64();
|
||||
@@ -39,33 +38,28 @@ extern void sub_0807DDE4();
|
||||
extern u32 sub_0801E7F4();
|
||||
extern void ShowNPCDialogue();
|
||||
|
||||
|
||||
extern void (*gStampBehaviors1[4])(Entity*);
|
||||
extern void (*gStampBehaviors2[2])(Entity*);
|
||||
|
||||
extern TextBox gTextBox;
|
||||
extern u32 gUnk_0810C2E4;
|
||||
|
||||
void sub_08062B98(Entity *ent)
|
||||
{
|
||||
void sub_08062B98(Entity* ent) {
|
||||
if ((ent->flags & 2) != 0) {
|
||||
gStampBehaviors2[ent->action](ent);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
gStampBehaviors1[ent->action](ent);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08062BD4(Entity *ent)
|
||||
{
|
||||
void sub_08062BD4(Entity* ent) {
|
||||
ent->action = 1;
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
InitializeAnimation(ent, 0);
|
||||
sub_08078778(ent);
|
||||
}
|
||||
|
||||
void sub_08062BF8(Entity *ent)
|
||||
{
|
||||
void sub_08062BF8(Entity* ent) {
|
||||
sub_08004274(ent);
|
||||
if (ent->interactType != 0) {
|
||||
ent->interactType = 0;
|
||||
@@ -75,8 +69,7 @@ void sub_08062BF8(Entity *ent)
|
||||
sub_0806ED78(ent);
|
||||
}
|
||||
|
||||
void sub_08062C24(Entity *ent)
|
||||
{
|
||||
void sub_08062C24(Entity* ent) {
|
||||
sub_08004274(ent);
|
||||
if ((ent->frames.all & 128) != 0) {
|
||||
InitializeAnimation(ent, 4);
|
||||
@@ -85,8 +78,7 @@ void sub_08062C24(Entity *ent)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08062C54(Entity *ent)
|
||||
{
|
||||
void sub_08062C54(Entity* ent) {
|
||||
if ((gTextBox.doTextBox & 127) == 0) {
|
||||
ent->action = 1;
|
||||
InitializeAnimation(ent, 0);
|
||||
@@ -94,8 +86,7 @@ void sub_08062C54(Entity *ent)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08062C7C(Entity *ent)
|
||||
{
|
||||
void sub_08062C7C(Entity* ent) {
|
||||
ent->action = 1;
|
||||
sub_0807DD64(ent);
|
||||
InitializeAnimation(ent, 0);
|
||||
@@ -103,24 +94,21 @@ void sub_08062C7C(Entity *ent)
|
||||
sub_08062CA4(ent);
|
||||
}
|
||||
|
||||
void sub_08062CA4(Entity *ent)
|
||||
{
|
||||
void sub_08062CA4(Entity* ent) {
|
||||
sub_0807DDAC(ent, 0);
|
||||
sub_0807DDE4(ent);
|
||||
sub_08004274(ent);
|
||||
}
|
||||
|
||||
void sub_08062CBC(Entity *ent)
|
||||
{
|
||||
void sub_08062CBC(Entity* ent) {
|
||||
u32 uVar1;
|
||||
|
||||
|
||||
uVar1 = sub_0801E7F4(44);
|
||||
ShowNPCDialogue(ent, &gUnk_0810C2E4 + ((-uVar1 | uVar1) >> 31) * 2);
|
||||
}
|
||||
|
||||
void sub_08062CE0(Entity *ent)
|
||||
{
|
||||
void sub_08062CE0(Entity* ent) {
|
||||
if (ent->action == 0) {
|
||||
ent->action = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-3
@@ -1,5 +1,4 @@
|
||||
#include "global.h"
|
||||
void sub_0801D5EC(u32 a1, u32 a2, u32 a3)
|
||||
{
|
||||
void sub_0801D5EC(u32 a1, u32 a2, u32 a3) {
|
||||
DmaFill16(3, a1, a2, a3);
|
||||
}
|
||||
}
|
||||
|
||||
+9
-10
@@ -3,14 +3,13 @@
|
||||
extern void sub_0807C960();
|
||||
extern u32 sub_0801D754(u32, u8, u8);
|
||||
|
||||
u32 sub_0807C9D8(u32 *a1)
|
||||
{
|
||||
u32 *v1; // r5@1
|
||||
u32 sub_0807C9D8(u32* a1) {
|
||||
u32* v1; // r5@1
|
||||
|
||||
v1 = a1;
|
||||
sub_0807C960(0x6004000, *a1);
|
||||
sub_0807C960(0x6000000, v1[1]);
|
||||
sub_0807C960(0x6008000, v1[2]);
|
||||
sub_0807C960(0x20176E0, v1[3]);
|
||||
return sub_0801D754(0x20176E0, 2, 13);
|
||||
}
|
||||
v1 = a1;
|
||||
sub_0807C960(0x6004000, *a1);
|
||||
sub_0807C960(0x6000000, v1[1]);
|
||||
sub_0807C960(0x6008000, v1[2]);
|
||||
sub_0807C960(0x20176E0, v1[3]);
|
||||
return sub_0801D754(0x20176E0, 2, 13);
|
||||
}
|
||||
|
||||
+15
-17
@@ -10,30 +10,28 @@ extern u8 gUnk_03001000;
|
||||
u32 sub_0804AA84(void)
|
||||
|
||||
{
|
||||
u8 * r3 = &gArea;
|
||||
u8 * r2;
|
||||
u8 r0 = *(u8 *)(r3 + 0x19);
|
||||
u8 r1;
|
||||
|
||||
u8 * r3 = &gArea;
|
||||
u8 * r2;
|
||||
u8 r0 = *(u8 *)(r3 + 0x19);
|
||||
u8 r1;
|
||||
|
||||
if (!r0) {
|
||||
*(r3 + 0x18) = r0;
|
||||
*(r3 + 0x19) = r0;
|
||||
r0 = 0;
|
||||
}
|
||||
*(r3 + 0x18) = r0;
|
||||
*(r3 + 0x19) = r0;
|
||||
r0 = 0;
|
||||
}
|
||||
else {
|
||||
r2 = &gUnk_03001000;
|
||||
r1 = 0;
|
||||
r0 = 4;
|
||||
r2 = &gUnk_03001000;
|
||||
r1 = 0;
|
||||
r0 = 4;
|
||||
*(r2 + 0x4) = r0;
|
||||
*(r3 + 0xe) = r1;
|
||||
*(r3 + 0xf) = r1;
|
||||
*(u16*)(r3 + 0x10) = r1;
|
||||
sub_0805E5A8();
|
||||
r0 = 1;
|
||||
r0 = 1;
|
||||
}
|
||||
return r0;
|
||||
return r0;
|
||||
} */
|
||||
|
||||
//void sub_0804AA9C() {
|
||||
|
||||
|
||||
// void sub_0804AA9C() {
|
||||
|
||||
+21
-23
@@ -1,15 +1,13 @@
|
||||
#include "global.h"
|
||||
|
||||
|
||||
extern void sub_080186EC();
|
||||
extern u32 * sub_0804B128(u8);
|
||||
extern u32 _call_via_r0(u32 *);
|
||||
extern u32* sub_0804B128(u8);
|
||||
extern u32 _call_via_r0(u32*);
|
||||
extern void sub_0804B16C();
|
||||
|
||||
void sub_0804AFF4(void)
|
||||
{
|
||||
u32 *func;
|
||||
|
||||
void sub_0804AFF4(void) {
|
||||
u32* func;
|
||||
|
||||
sub_080186EC();
|
||||
func = sub_0804B128(5);
|
||||
if (func != NULL) {
|
||||
@@ -24,22 +22,22 @@ void sub_0804AFF4(void)
|
||||
}
|
||||
|
||||
/*
|
||||
thumb_func_start sub_0804AFF4
|
||||
thumb_func_start sub_0804AFF4
|
||||
sub_0804AFF4: @ 0x0804AFF4
|
||||
push {lr}
|
||||
bl sub_080186EC
|
||||
movs r0, #5
|
||||
bl sub_0804B128
|
||||
cmp r0, #0
|
||||
beq _0804B008
|
||||
bl _call_via_r0
|
||||
push {lr}
|
||||
bl sub_080186EC
|
||||
movs r0, #5
|
||||
bl sub_0804B128
|
||||
cmp r0, #0
|
||||
beq _0804B008
|
||||
bl _call_via_r0
|
||||
_0804B008:
|
||||
movs r0, #7
|
||||
bl sub_0804B128
|
||||
cmp r0, #0
|
||||
beq _0804B016
|
||||
bl _call_via_r0
|
||||
movs r0, #7
|
||||
bl sub_0804B128
|
||||
cmp r0, #0
|
||||
beq _0804B016
|
||||
bl _call_via_r0
|
||||
_0804B016:
|
||||
bl sub_0804B16C
|
||||
pop {pc}
|
||||
*/
|
||||
bl sub_0804B16C
|
||||
pop {pc}
|
||||
*/
|
||||
|
||||
+8
-9
@@ -4,14 +4,13 @@ extern u32 gUnk_020354C0;
|
||||
extern s32 gUnk_03000FD0;
|
||||
extern void sub_0801D630(u32, u32, u32);
|
||||
|
||||
void sub_08050008(u32 param_1,u32 param_2,u32 param_3)
|
||||
{
|
||||
s32 * unk;
|
||||
|
||||
sub_0801D630((u32)&gUnk_020354C0,128,param_3);
|
||||
|
||||
unk = &gUnk_03000FD0;
|
||||
void sub_08050008(u32 param_1, u32 param_2, u32 param_3) {
|
||||
s32* unk;
|
||||
|
||||
sub_0801D630((u32)&gUnk_020354C0, 128, param_3);
|
||||
|
||||
unk = &gUnk_03000FD0;
|
||||
*(unk + 1) = -1;
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
+13
-15
@@ -3,22 +3,20 @@
|
||||
extern void sub_0801E104();
|
||||
extern void DoFade(u32, u32);
|
||||
|
||||
void sub_08050024()
|
||||
{
|
||||
sub_0801E104();
|
||||
DoFade(5, 0x80 << 1);
|
||||
return;
|
||||
void sub_08050024() {
|
||||
sub_0801E104();
|
||||
DoFade(5, 0x80 << 1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/* thumb_func_start sub_08050024
|
||||
sub_08050024: @ 0x08050024
|
||||
push {lr}
|
||||
bl sub_0801E104
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #5
|
||||
bl DoFade
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
*/
|
||||
push {lr}
|
||||
bl sub_0801E104
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #5
|
||||
bl DoFade
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
*/
|
||||
|
||||
+1
-2
@@ -2,7 +2,6 @@
|
||||
|
||||
extern u8 gArea;
|
||||
|
||||
bool32 sub_08052620(u32 r0)
|
||||
{
|
||||
bool32 sub_08052620(u32 r0) {
|
||||
return gArea == 0x81;
|
||||
}
|
||||
|
||||
+4
-5
@@ -2,10 +2,9 @@
|
||||
|
||||
extern u8 gUnk_08127D30[69];
|
||||
|
||||
u32 sub_08052638(u32 r0)
|
||||
{
|
||||
//u32 r1 = gUnk_08127D30;
|
||||
//u32 r1 = gUnk_08127D30;
|
||||
u32 sub_08052638(u32 r0) {
|
||||
// u32 r1 = gUnk_08127D30;
|
||||
// u32 r1 = gUnk_08127D30;
|
||||
|
||||
return gUnk_08127D30[r0 * 4] == 129;
|
||||
}
|
||||
}
|
||||
|
||||
+6
-6
@@ -1,13 +1,13 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
extern u32 * _call_via_r0(u32 *func);
|
||||
extern u32* _call_via_r0(u32* func);
|
||||
extern u8 gUnk_02000080;
|
||||
extern u32 *gUnk_080FF420;
|
||||
extern u32* gUnk_080FF420;
|
||||
|
||||
void sub_08055E08() {
|
||||
u32 **arr = &gUnk_080FF420;
|
||||
u32** arr = &gUnk_080FF420;
|
||||
u8 i = gUnk_02000080;
|
||||
i = *(&gUnk_02000080 + 6);
|
||||
_call_via_r0(arr[i]);
|
||||
}
|
||||
i = *(&gUnk_02000080 + 6);
|
||||
_call_via_r0(arr[i]);
|
||||
}
|
||||
|
||||
+6
-7
@@ -1,15 +1,14 @@
|
||||
#include "entity.h"
|
||||
extern Entity * sub_0805E3A0(Entity *, u32);
|
||||
extern Entity* sub_0805E3A0(Entity*, u32);
|
||||
extern u8 gUnk_030010A0[];
|
||||
extern u8 gUnk_081091F8[];
|
||||
extern u8 gUnk_081091EE[];
|
||||
Entity * sub_0805E374(Entity *param_1)
|
||||
{
|
||||
Entity* sub_0805E374(Entity* param_1) {
|
||||
u8 r3 = gUnk_030010A0[0x2C];
|
||||
u8 *array = gUnk_081091F8;
|
||||
u8* array = gUnk_081091F8;
|
||||
|
||||
if ( r3 != '\x02') {
|
||||
if (r3 != '\x02') {
|
||||
array = gUnk_081091EE;
|
||||
}
|
||||
return sub_0805E3A0(param_1,array[(param_1->entityType).type]);
|
||||
}
|
||||
return sub_0805E3A0(param_1, array[(param_1->entityType).type]);
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,9 +1,9 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
Entity * sub_0805E3A0(Entity *ent, u32 param){
|
||||
//these are bitfields
|
||||
ent->scriptedScene2 = param;
|
||||
Entity* sub_0805E3A0(Entity* ent, u32 param) {
|
||||
// these are bitfields
|
||||
ent->scriptedScene2 = param;
|
||||
ent->scriptedScene = param;
|
||||
return ent;
|
||||
return ent;
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,13 +1,13 @@
|
||||
#include "global.h"
|
||||
|
||||
s32 sub_0806F9EC(s16 param_1,s16 param_2)
|
||||
s32 sub_0806F9EC(s16 param_1, s16 param_2)
|
||||
|
||||
{
|
||||
int iVar1;
|
||||
|
||||
|
||||
iVar1 = (s32)param_1 * (s32)param_2;
|
||||
if (iVar1 < 0) {
|
||||
iVar1 = iVar1 + 255;
|
||||
}
|
||||
return (iVar1 << 8) >> 16;
|
||||
}
|
||||
}
|
||||
|
||||
+5
-6
@@ -2,18 +2,17 @@
|
||||
|
||||
extern s32 __divsi3(s32, s32);
|
||||
|
||||
s16 sub_0806FA04(s16 param_1,s16 param_2)
|
||||
s16 sub_0806FA04(s16 param_1, s16 param_2)
|
||||
|
||||
{
|
||||
s16 sVar1;
|
||||
s32 iVar2;
|
||||
|
||||
|
||||
if (param_2 != 0) {
|
||||
sVar1 = __divsi3( (param_1 << 16) >> 8 ,param_2);
|
||||
sVar1 = __divsi3((param_1 << 16) >> 8, param_2);
|
||||
iVar2 = sVar1;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
iVar2 = 0;
|
||||
}
|
||||
return iVar2;
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,10 +1,10 @@
|
||||
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
void PositionRelative(Entity *, Entity *, s32, s32);
|
||||
void PositionRelative(Entity*, Entity*, s32, s32);
|
||||
|
||||
void CopyPosition(Entity *param_1,Entity *param_2)
|
||||
void CopyPosition(Entity* param_1, Entity* param_2)
|
||||
|
||||
{
|
||||
PositionRelative(param_1, param_2, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
+17
-17
@@ -1,23 +1,23 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
extern void PositionRelative(Entity *, Entity *, s32, s32);
|
||||
extern void sub_0806FAB0(Entity *, Entity *);
|
||||
extern void PositionRelative(Entity*, Entity*, s32, s32);
|
||||
extern void sub_0806FAB0(Entity*, Entity*);
|
||||
|
||||
void sub_0806FA30(Entity * ent, Entity * ent2) {
|
||||
PositionRelative(ent, ent2, 0, 0);
|
||||
sub_0806FAB0(ent, ent2);
|
||||
void sub_0806FA30(Entity* ent, Entity* ent2) {
|
||||
PositionRelative(ent, ent2, 0, 0);
|
||||
sub_0806FAB0(ent, ent2);
|
||||
}
|
||||
/*
|
||||
thumb_func_start sub_0806FA30
|
||||
thumb_func_start sub_0806FA30
|
||||
sub_0806FA30: @ 0x0806FA30
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
movs r2, #0
|
||||
movs r3, #0
|
||||
bl PositionRelative
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_0806FAB0
|
||||
pop {r4, r5, pc}
|
||||
*/
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
movs r2, #0
|
||||
movs r3, #0
|
||||
bl PositionRelative
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_0806FAB0
|
||||
pop {r4, r5, pc}
|
||||
*/
|
||||
|
||||
+5
-6
@@ -1,10 +1,9 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
extern void (*gUnk_0811B9E0[])(Entity *);
|
||||
extern void (*gUnk_0811B9E0[])(Entity*);
|
||||
|
||||
|
||||
//inject
|
||||
void sub_08070680(Entity *this) {
|
||||
gUnk_0811B9E0[this->action](this);
|
||||
}
|
||||
// inject
|
||||
void sub_08070680(Entity* this) {
|
||||
gUnk_0811B9E0[this->action](this);
|
||||
}
|
||||
|
||||
+9
-10
@@ -4,19 +4,18 @@ extern void sub_08000152(u32);
|
||||
extern void sub_0807B778(u32, u32);
|
||||
extern void SetTileType(u32, u32, u32);
|
||||
|
||||
void sub_0807B7D8(u32 param_1,u32 param_2,u32 param_3)
|
||||
void sub_0807B7D8(u32 param_1, u32 param_2, u32 param_3)
|
||||
|
||||
{
|
||||
if (param_1 == 53) {
|
||||
sub_08000152(53);
|
||||
sub_0807B778(param_2,param_3);
|
||||
sub_0807B778(param_2 + 1,param_3);
|
||||
sub_0807B778(param_2 + -1,param_3);
|
||||
sub_0807B778(param_2 + 64,param_3);
|
||||
sub_0807B778(param_2 + -64,param_3);
|
||||
}
|
||||
else {
|
||||
SetTileType(param_1,param_2,param_3);
|
||||
sub_0807B778(param_2, param_3);
|
||||
sub_0807B778(param_2 + 1, param_3);
|
||||
sub_0807B778(param_2 + -1, param_3);
|
||||
sub_0807B778(param_2 + 64, param_3);
|
||||
sub_0807B778(param_2 + -64, param_3);
|
||||
} else {
|
||||
SetTileType(param_1, param_2, param_3);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -5,14 +5,14 @@ extern void SetTileType(u32, u32, u32);
|
||||
void sub_0807B820(u32 param_1)
|
||||
|
||||
{
|
||||
SetTileType(620,param_1 + -65,1);
|
||||
SetTileType(627,param_1 + -65,2);
|
||||
SetTileType(621,param_1 + -64,1);
|
||||
SetTileType(628,param_1 + -64,2);
|
||||
SetTileType(622,param_1 + -63,1);
|
||||
SetTileType(629,param_1 + -63,2);
|
||||
SetTileType(623,param_1 + -1,1);
|
||||
SetTileType(624,param_1,1);
|
||||
SetTileType(626,param_1 + 1,1);
|
||||
SetTileType(620, param_1 + -65, 1);
|
||||
SetTileType(627, param_1 + -65, 2);
|
||||
SetTileType(621, param_1 + -64, 1);
|
||||
SetTileType(628, param_1 + -64, 2);
|
||||
SetTileType(622, param_1 + -63, 1);
|
||||
SetTileType(629, param_1 + -63, 2);
|
||||
SetTileType(623, param_1 + -1, 1);
|
||||
SetTileType(624, param_1, 1);
|
||||
SetTileType(626, param_1 + 1, 1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -5,14 +5,14 @@ extern void SetTileType(u32, u32, u32);
|
||||
void sub_0807B8A8(u32 param_1)
|
||||
|
||||
{
|
||||
SetTileType(636,param_1 + -65,1);
|
||||
SetTileType(643,param_1 + -65,2);
|
||||
SetTileType(637,param_1 + -64,1);
|
||||
SetTileType(644,param_1 + -64,2);
|
||||
SetTileType(638,param_1 + -63,1);
|
||||
SetTileType(645,param_1 + -63,2);
|
||||
SetTileType(639,param_1 + -1,1);
|
||||
SetTileType(640,param_1,1);
|
||||
SetTileType(642,param_1 + 1,1);
|
||||
SetTileType(636, param_1 + -65, 1);
|
||||
SetTileType(643, param_1 + -65, 2);
|
||||
SetTileType(637, param_1 + -64, 1);
|
||||
SetTileType(644, param_1 + -64, 2);
|
||||
SetTileType(638, param_1 + -63, 1);
|
||||
SetTileType(645, param_1 + -63, 2);
|
||||
SetTileType(639, param_1 + -1, 1);
|
||||
SetTileType(640, param_1, 1);
|
||||
SetTileType(642, param_1 + 1, 1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
+9
-10
@@ -1,19 +1,18 @@
|
||||
#include "global.h"
|
||||
|
||||
|
||||
extern void SetTileType(u32, u32, u32);
|
||||
|
||||
void sub_0807B930(int param_1)
|
||||
|
||||
{
|
||||
SetTileType(652,param_1 + -65,1);
|
||||
SetTileType(659,param_1 + -65,2);
|
||||
SetTileType(653,param_1 + -64,1);
|
||||
SetTileType(660,param_1 + -64,2);
|
||||
SetTileType(654,param_1 + -63,1);
|
||||
SetTileType(661,param_1 + -63,2);
|
||||
SetTileType(655,param_1 + -1,1);
|
||||
SetTileType(656,param_1,1);
|
||||
SetTileType(658,param_1 + 1,1);
|
||||
SetTileType(652, param_1 + -65, 1);
|
||||
SetTileType(659, param_1 + -65, 2);
|
||||
SetTileType(653, param_1 + -64, 1);
|
||||
SetTileType(660, param_1 + -64, 2);
|
||||
SetTileType(654, param_1 + -63, 1);
|
||||
SetTileType(661, param_1 + -63, 2);
|
||||
SetTileType(655, param_1 + -1, 1);
|
||||
SetTileType(656, param_1, 1);
|
||||
SetTileType(658, param_1 + 1, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
+1
-2
@@ -4,8 +4,7 @@ extern void sub_0807C960();
|
||||
extern u32 gUnk_0202CEB4;
|
||||
extern u32 gUnk_02012654;
|
||||
|
||||
void sub_0807C998(u32 *a1)
|
||||
{
|
||||
void sub_0807C998(u32* a1) {
|
||||
sub_0807C960(&gUnk_0202CEB4, a1[0]);
|
||||
sub_0807C960(&gUnk_0202CEB4 - 0x800, a1[1]);
|
||||
sub_0807C960(&gUnk_02012654, a1[2]);
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ u32 sub_080A554C(u32 param_1)
|
||||
|
||||
{
|
||||
u32 uVar1;
|
||||
|
||||
|
||||
if (param_1 != 0) {
|
||||
uVar1 = 0;
|
||||
do {
|
||||
|
||||
+3
-5
@@ -3,15 +3,13 @@
|
||||
extern s32 sub_080ADA14(u32, u32);
|
||||
extern u16 gUnk_03001010[4];
|
||||
|
||||
|
||||
void sub_080AD644(void)
|
||||
{
|
||||
void sub_080AD644(void) {
|
||||
|
||||
gUnk_03001010[2] = 0;
|
||||
gUnk_03001010[3] = 0;
|
||||
gUnk_03001010[4] = 57376;
|
||||
gUnk_03001010[0] = 120;
|
||||
gUnk_03001010[1] = 152;
|
||||
sub_080ADA14(511,1);
|
||||
sub_080ADA14(511, 1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
+4
-5
@@ -2,10 +2,9 @@
|
||||
|
||||
extern u8 gUnk_08127D30[69];
|
||||
|
||||
u32 sub_08052654(u32 r0)
|
||||
{
|
||||
//u32 r1 = gUnk_08127D30;
|
||||
//u32 r1 = gUnk_08127D30;
|
||||
u32 sub_08052654(u32 r0) {
|
||||
// u32 r1 = gUnk_08127D30;
|
||||
// u32 r1 = gUnk_08127D30;
|
||||
|
||||
return gUnk_08127D30[r0 * 4] == 129;
|
||||
}
|
||||
}
|
||||
|
||||
+14
-19
@@ -3,7 +3,7 @@
|
||||
#include "entity.h"
|
||||
#include "textbox.h"
|
||||
|
||||
void TextboxNoOverlap(u32 index,Entity *ent);
|
||||
void TextboxNoOverlap(u32 index, Entity* ent);
|
||||
void sub_0801D630();
|
||||
void ShowTextbox();
|
||||
void TextboxAtPosition();
|
||||
@@ -29,14 +29,13 @@ void TextboxTryNoOverlap(u32 index)
|
||||
{
|
||||
if (gRoomControls.cameraTarget != NULL) {
|
||||
TextboxNoOverlap(index, gRoomControls.cameraTarget);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
ShowTextbox(index);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
void TextboxNoOverlap(u32 index,Entity *ent)
|
||||
void TextboxNoOverlap(u32 index, Entity* ent)
|
||||
|
||||
{
|
||||
s16 y;
|
||||
@@ -46,29 +45,26 @@ void TextboxNoOverlap(u32 index,Entity *ent)
|
||||
|
||||
y = ent->y.HALF.HI;
|
||||
h = ent->height.HALF.HI;
|
||||
|
||||
|
||||
if (88 < ((y + h) - gRoomControls.roomScrollY)) {
|
||||
gTextBox.textWindowPosY = 1;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
void sub_080563C8(u32 param_1,u32 param_2)
|
||||
{
|
||||
TextboxAtPosition(param_1,1,param_2);
|
||||
void sub_080563C8(u32 param_1, u32 param_2) {
|
||||
TextboxAtPosition(param_1, 1, param_2);
|
||||
return;
|
||||
}
|
||||
|
||||
void TextboxAtPosition(u32 index,u32 x,u32 y)
|
||||
{
|
||||
void TextboxAtPosition(u32 index, u32 x, u32 y) {
|
||||
ShowTextbox(index);
|
||||
gTextBox.textWindowPosX = x;
|
||||
gTextBox.textWindowPosY = y;
|
||||
return;
|
||||
}
|
||||
|
||||
void ShowTextbox(u32 index,u32 param_2,u32 *dest)
|
||||
{
|
||||
void ShowTextbox(u32 index, u32 param_2, u32* dest) {
|
||||
sub_0801D630(&gTextBox, 32, dest);
|
||||
gTextBox.textIndex = index;
|
||||
gTextBox.textSpeed = 99;
|
||||
@@ -80,13 +76,12 @@ void ShowTextbox(u32 index,u32 param_2,u32 *dest)
|
||||
return;
|
||||
}
|
||||
|
||||
void sub_08056418(void)
|
||||
{
|
||||
void sub_08056418(void) {
|
||||
|
||||
sub_0801D630(&gTextBox,32);
|
||||
sub_0801D630(&gUnk_02022780,168);
|
||||
sub_0801D630(&gUnk_02036A40,8);
|
||||
sub_0801D630(&gUnk_02036A38,8);
|
||||
sub_0801D630(&gUnk_02000040,4);
|
||||
sub_0801D630(&gTextBox, 32);
|
||||
sub_0801D630(&gUnk_02022780, 168);
|
||||
sub_0801D630(&gUnk_02036A40, 8);
|
||||
sub_0801D630(&gUnk_02036A38, 8);
|
||||
sub_0801D630(&gUnk_02000040, 4);
|
||||
return;
|
||||
}
|
||||
|
||||
+8
-11
@@ -9,30 +9,27 @@ void DeleteThisEntity();
|
||||
|
||||
extern Entity gLinkEntity;
|
||||
extern RoomControls gRoomControls;
|
||||
extern void (*gUnk_08124C08[])(Entity *);
|
||||
extern void (*gUnk_08124C08[])(Entity*);
|
||||
|
||||
void sub_080A0E98(Entity* ent)
|
||||
{
|
||||
void sub_080A0E98(Entity* ent) {
|
||||
gUnk_08124C08[ent->action](ent);
|
||||
}
|
||||
|
||||
void sub_080A0EB0(Entity* ent)
|
||||
{
|
||||
void sub_080A0EB0(Entity* ent) {
|
||||
u32 tilePos;
|
||||
|
||||
ent->action = 1;
|
||||
tilePos = (((ent->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3F) | ((((ent->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3F) * 64);
|
||||
tilePos = (((ent->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3F) |
|
||||
((((ent->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3F) * 64);
|
||||
ent->field_0x80 = tilePos;
|
||||
SetTile(16509, ent->field_0x80, 1);
|
||||
}
|
||||
|
||||
void sub_080A0EF0(Entity* ent)
|
||||
{
|
||||
void sub_080A0EF0(Entity* ent) {
|
||||
s32 tileIndex;
|
||||
|
||||
|
||||
tileIndex = GetTileType(ent->field_0x80, 1);
|
||||
if (tileIndex != 16509)
|
||||
{
|
||||
if (tileIndex != 16509) {
|
||||
sub_08078B48();
|
||||
gLinkEntity.x.WORD = ent->x.WORD;
|
||||
gLinkEntity.y.HALF.HI = ent->y.HALF.HI + 4;
|
||||
|
||||
+37
-70
@@ -6,12 +6,12 @@ extern void sub_0805EA78(Entity*, u32);
|
||||
extern void sub_0805E3A0(Entity*, u32);
|
||||
extern void sub_0807DD50(Entity*);
|
||||
extern void sub_0807DD94(Entity*, u32);
|
||||
extern Entity* sub_0805EB9C(u32, u32);
|
||||
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 parameter1,u32 parameter2);
|
||||
extern Entity* CreateNPC(u32 subtype, u32 parameter1, u32 parameter2);
|
||||
u32 sub_0806EDC4(Entity* ent);
|
||||
void DeleteThisEntity(void);
|
||||
extern Entity* GetEntityByType(u32, u32);
|
||||
@@ -31,14 +31,11 @@ extern void (*gUnk_08110BD8[])(Entity* ent);
|
||||
extern u8 gUnk_02033280[];
|
||||
extern u16 gUnk_08110BE0[];
|
||||
|
||||
|
||||
void sub_08066CB4(Entity* ent)
|
||||
{
|
||||
void sub_08066CB4(Entity* ent) {
|
||||
gUnk_08110BD8[ent->action](ent);
|
||||
}
|
||||
|
||||
void sub_08066CCC(Entity *ent)
|
||||
{
|
||||
void sub_08066CCC(Entity* ent) {
|
||||
ent->action = 1;
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
sub_0805EA78(ent, 7);
|
||||
@@ -46,42 +43,34 @@ void sub_08066CCC(Entity *ent)
|
||||
sub_0807DD50(ent);
|
||||
}
|
||||
|
||||
void sub_08066CF8(Entity* ent)
|
||||
{
|
||||
void sub_08066CF8(Entity* ent) {
|
||||
sub_0807DD94(ent, 0);
|
||||
}
|
||||
|
||||
void sub_08066D04(Entity* ent)
|
||||
{
|
||||
void sub_08066D04(Entity* ent) {
|
||||
ent->parent = sub_0805EB9C(7, 0x2E);
|
||||
}
|
||||
|
||||
void sub_08066D14(Entity* ent, u32* param_2)
|
||||
{
|
||||
void sub_08066D14(Entity* ent, u32* param_2) {
|
||||
Entity* parent;
|
||||
|
||||
|
||||
parent = ent->parent;
|
||||
if (parent != NULL)
|
||||
{
|
||||
if (parent != NULL) {
|
||||
ent->animationState = parent->animationState;
|
||||
ent->spriteSettings.b.ss0 = 1;
|
||||
CopyPosition(parent, ent);
|
||||
sub_08068680(ent, ent->parent);
|
||||
param_2[5] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
param_2[5] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08066D4C(Entity* ent, u32* param_2)
|
||||
{
|
||||
void sub_08066D4C(Entity* ent, u32* param_2) {
|
||||
Entity* parent;
|
||||
|
||||
parent = ent->parent;
|
||||
if (ent->parent != NULL)
|
||||
{
|
||||
if (ent->parent != NULL) {
|
||||
CopyPosition(ent, parent);
|
||||
ent->parent->spriteSettings.b.ss0 = 1;
|
||||
ent->parent->animationState = ent->animationState;
|
||||
@@ -89,22 +78,18 @@ void sub_08066D4C(Entity* ent, u32* param_2)
|
||||
ent->field_0x17 &= 0xFE;
|
||||
sub_08068694(ent, ent->parent);
|
||||
param_2[5] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
param_2[5] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08066D94(Entity* ent)
|
||||
{
|
||||
void sub_08066D94(Entity* ent) {
|
||||
u32 roomID;
|
||||
Entity* npc;
|
||||
|
||||
|
||||
SetGlobalFlag(0x1C);
|
||||
npc = CreateNPC(0x2E, 0, 0);
|
||||
if (npc != NULL)
|
||||
{
|
||||
if (npc != NULL) {
|
||||
npc->animationState = gLinkEntity.animationState;
|
||||
npc->flags |= 0x20;
|
||||
npc->animationState = sub_0806EDC4(ent);
|
||||
@@ -115,60 +100,50 @@ void sub_08066D94(Entity* ent)
|
||||
DeleteThisEntity();
|
||||
}
|
||||
|
||||
void sub_08066DE4(Entity* ent)
|
||||
{
|
||||
void sub_08066DE4(Entity* ent) {
|
||||
Entity* pEVar1;
|
||||
|
||||
|
||||
pEVar1 = sub_0805EB9C(7, 0x2E);
|
||||
if (pEVar1 != NULL)
|
||||
{
|
||||
if (pEVar1 != NULL) {
|
||||
CopyPosition(ent, pEVar1);
|
||||
sub_080686C4(ent, pEVar1);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08066E08(Entity* ent)
|
||||
{
|
||||
void sub_08066E08(Entity* ent) {
|
||||
LoadAnimation(ent, 0x50);
|
||||
ent->field_0x80 = ent->field_0x58;
|
||||
}
|
||||
|
||||
void sub_08066E20(Entity* ent)
|
||||
{
|
||||
void sub_08066E20(Entity* ent) {
|
||||
LoadAnimation(ent, 0x44);
|
||||
ent->field_0x80 = ent->field_0x58;
|
||||
}
|
||||
|
||||
void sub_08066E38(Entity* ent)
|
||||
{
|
||||
void sub_08066E38(Entity* ent) {
|
||||
LoadAnimation(ent, 0x48);
|
||||
ent->field_0x80 = ent->field_0x58;
|
||||
}
|
||||
|
||||
void sub_08066E50(Entity* ent)
|
||||
{
|
||||
void sub_08066E50(Entity* ent) {
|
||||
LoadAnimation(ent, 0x4C);
|
||||
ent->field_0x80 = ent->field_0x58;
|
||||
}
|
||||
|
||||
void sub_08066E68(Entity* ent)
|
||||
{
|
||||
void sub_08066E68(Entity* ent) {
|
||||
LoadAnimation(ent, 0x54);
|
||||
ent->field_0x80 = ent->field_0x58;
|
||||
}
|
||||
|
||||
void sub_08066E80(Entity* ent, u8* param_2)
|
||||
{
|
||||
switch(param_2[0x18])
|
||||
{
|
||||
void sub_08066E80(Entity* ent, u8* param_2) {
|
||||
switch (param_2[0x18]) {
|
||||
case 0:
|
||||
param_2[0x18]++;
|
||||
LoadAnimation(ent, 0x16);
|
||||
break;
|
||||
case 1:
|
||||
sub_080042B8(ent);
|
||||
if (ent->frames.all & 1)
|
||||
{
|
||||
if (ent->frames.all & 1) {
|
||||
param_2[0x18]++;
|
||||
ent->field_0x20 = 0x20000;
|
||||
ent->frames.all &= 0xFE;
|
||||
@@ -178,28 +153,24 @@ void sub_08066E80(Entity* ent, u8* param_2)
|
||||
case 2:
|
||||
sub_0806F62C(ent, 0x100, 0x80);
|
||||
sub_08003FC4(ent, 0x2000);
|
||||
if (!(ent->frames.all & 1))
|
||||
{
|
||||
if (!(ent->frames.all & 1)) {
|
||||
sub_080042B8(ent);
|
||||
}
|
||||
if (ent->field_0x20 < 0)
|
||||
{
|
||||
if (ent->field_0x20 < 0) {
|
||||
param_2[0x18]++;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
sub_0806F62C(ent, 0x100, 0x80);
|
||||
sub_080042B8(ent);
|
||||
if (sub_08003FC4(ent, 0x2000) == 0)
|
||||
{
|
||||
if (sub_08003FC4(ent, 0x2000) == 0) {
|
||||
param_2[0x18]++;
|
||||
LoadAnimation(ent, 0x1E);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
sub_080042B8(ent);
|
||||
if (ent->frames.b.f3)
|
||||
{
|
||||
if (ent->frames.b.f3) {
|
||||
gUnk_02033280[7] |= 1;
|
||||
return;
|
||||
}
|
||||
@@ -208,28 +179,24 @@ void sub_08066E80(Entity* ent, u8* param_2)
|
||||
gUnk_02033280[6] = 0;
|
||||
}
|
||||
|
||||
void sub_08066F94(void)
|
||||
{
|
||||
void sub_08066F94(void) {
|
||||
u16 uVar1;
|
||||
u16* puVar2;
|
||||
|
||||
|
||||
puVar2 = gUnk_08110BE0;
|
||||
while (*puVar2 != 0)
|
||||
{
|
||||
while (*puVar2 != 0) {
|
||||
uVar1 = *puVar2;
|
||||
puVar2++;
|
||||
SetTileType(16498, uVar1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08066FB8(void)
|
||||
{
|
||||
void sub_08066FB8(void) {
|
||||
u16 uVar1;
|
||||
u16* puVar2;
|
||||
|
||||
|
||||
puVar2 = gUnk_08110BE0;
|
||||
while (*puVar2 != 0)
|
||||
{
|
||||
while (*puVar2 != 0) {
|
||||
uVar1 = *puVar2;
|
||||
puVar2++;
|
||||
sub_0807BA8C(uVar1, 1);
|
||||
|
||||
Reference in New Issue
Block a user