Merge pull request #15 from 21aslade:master

Two functions in townMinish.c OK
This commit is contained in:
notyouraveragehooman
2020-06-15 15:49:57 -07:00
committed by GitHub
9 changed files with 103 additions and 67 deletions
+1 -1
View File
@@ -108,4 +108,4 @@ void (*const gEnemyFunctions[])(Entity* ent) = {
TreeItem,
Enemy66
};
// clang-format on
// clang-format on
+1 -1
View File
@@ -16,4 +16,4 @@ void Object1C(Entity *this)
this->parent->field_0x20 &= ~(1 << this->entityType.parameter2);
DeleteThisEntity();
}
}
}
+1 -1
View File
@@ -15,4 +15,4 @@ void sub_080874F8(Entity* this)
DeleteThisEntity();
}
void nullsub_117(){}
void nullsub_117(){}
+1 -1
View File
@@ -33,4 +33,4 @@ void ObjectA8(Entity *this)
}
gUnk_08124824[this->action](this);
sub_08080CB4(this);
}
}
+1 -1
View File
@@ -66,4 +66,4 @@ void sub_08031704(Entity *this)
{
sub_0804A720(this);
sub_080317F8(this);
}
}
+84
View File
@@ -0,0 +1,84 @@
#include "global.h"
#include "entity.h"
#include "npc.h"
extern void InitializeAnimation(Entity *, u32);
extern void sub_0806ED78(Entity *);
extern void (*gUnk_081126E8[])();
extern void sub_0806ACC4(Entity *);
extern u32 sub_0806FDEC(Entity *, SpriteLoadThing *);
extern SpriteLoadThing gUnk_08112674[];
void sub_0806ABC8(Entity *this)
{
if ((this->flags & 2) == 0) {
(*gUnk_081126E8[this->action])(this);
sub_0806ED78(this);
}
else {
sub_0806ACC4(this);
}
}
void sub_0806ABFC(Entity *this)
{
u8 animationState;
SpriteLoadThing* spriteLoadThing = &gUnk_08112674[this->entityType.parameter1 << 2];
if (!sub_0806FDEC(this, spriteLoadThing))
{
return;
}
InitializeAnimation(this, 2);
this->action = 1;
this->field_0x6a.HALF.LO = this->parameter3;
this->animationState = this->field_0x6a.HALF.LO << 1;
animationState = this->animationState;
this->field_0x69 = animationState << 2;
this->parameter3 = 0;
}
// Not matching yet, not 100% sure it's functionally identical
/*void sub_0806AC3C(Entity *this) {
if (this->field_0x58 <= 3) {
s32 unk;
u8 field_0x69;
Entity *link = &gLinkEntity;
if (sub_080041A0(this, link, 0x18, 0x18)) {
unk = sub_080045C4(this, link) & (u8)0x1e;
}
else {
unk = this->animationState << 2;
}
field_0x69 = this->field_0x69;
if (unk != field_0x69) {
s32 temp;
if (((unk - field_0x69) & 0x1f) <= 0xf) {
field_0x69--;
}
else {
field_0x69++;
}
temp = field_0x69;
this->field_0x69 = temp & 0x1f;
}
if (!(this->field_0x69 & 7)) {
this->animationState = sub_0806F5B0(this->field_0x69);
UpdateSprite(this, (this->animationState >> 1) ^ 2);
}
}
sub_080042B8(this);
}*/