mirror of
https://github.com/zeldaret/tmc
synced 2026-07-02 04:25:56 -04:00
begin rem
This commit is contained in:
+9
-35
@@ -1,7 +1,11 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "functions.h"
|
||||
#include "flags.h"
|
||||
#include "link.h"
|
||||
#include "room.h"
|
||||
#include "textbox.h"
|
||||
|
||||
typedef struct {
|
||||
/*0x00*/ u8 filler[0x2C];
|
||||
/*0x2C*/ u8 unk;
|
||||
@@ -12,39 +16,6 @@ typedef struct {
|
||||
Stats stats;
|
||||
} struct_02002A40;
|
||||
|
||||
extern void sub_0806ED78(Entity*);
|
||||
extern void sub_08068BEC(Entity*, u32);
|
||||
extern void sub_08078778(Entity*);
|
||||
extern void InitializeAnimation(Entity*, u32);
|
||||
extern s32 sub_0806ED9C(Entity*, u32, u32);
|
||||
extern s32 sub_0806F078(Entity*, s32);
|
||||
extern void sub_08004274(Entity*);
|
||||
extern void TextboxNoOverlapFollow(u32);
|
||||
extern void sub_0801D2B4(Entity*, u32);
|
||||
extern void sub_0806FD3C(Entity*);
|
||||
extern u32 sub_0801E99C(Entity*);
|
||||
extern void sub_08078784(Entity*, u8);
|
||||
extern void sub_0807DD50(Entity*);
|
||||
extern void sub_080045C4(Entity*, Entity*);
|
||||
extern u32 sub_0806F5A4(void);
|
||||
extern void InitAnimationForceUpdate(Entity*, u32);
|
||||
extern void sub_0806F118(Entity*);
|
||||
extern void sub_0807DD94(Entity*, u32);
|
||||
extern u32 UpdateFuseInteraction();
|
||||
extern void ForceEquipItem(u8, u8);
|
||||
extern void sub_0805ED14(u32*);
|
||||
extern Entity* CreateFx(Entity*, u32, u32);
|
||||
extern void PositionRelative(Entity*, Entity*, u32, u32);
|
||||
extern void PlaySFX(u32);
|
||||
extern u32 GetInventoryValue(u32);
|
||||
extern void sub_080A7C18(u32, u32, u32);
|
||||
extern u32 CheckLocalFlag(u32);
|
||||
extern void TextboxNoOverlap(u32, Entity*);
|
||||
extern void LoadRoomEntityList();
|
||||
extern void ModHealth(s32);
|
||||
extern void InitAnimationForceUpdate(Entity*, u32);
|
||||
extern void UpdateAnimationSingleFrame(Entity*);
|
||||
extern void sub_08068BEC(Entity*, u32);
|
||||
|
||||
extern void (*gUnk_081115C0[])(Entity*);
|
||||
extern void (*gUnk_081115D0[])(Entity*);
|
||||
@@ -164,8 +135,7 @@ void FUN_08068b2c(Entity* this) {
|
||||
if (this->interactType == '\x02') {
|
||||
this->action = 2;
|
||||
this->interactType = '\0';
|
||||
sub_080045C4(this, &gLinkEntity);
|
||||
uVar1 = sub_0806F5A4();
|
||||
uVar1 = sub_0806F5A4(sub_080045C4(this, &gLinkEntity));
|
||||
InitAnimationForceUpdate(this, uVar1);
|
||||
sub_0806F118(this);
|
||||
} else {
|
||||
@@ -347,18 +317,22 @@ switchD_08068d12_caseD_0:
|
||||
*(u32*)¶m_2->animationState = 1;
|
||||
}
|
||||
|
||||
//Introduction dialoague
|
||||
void sub_08068DB8(Entity* this) {
|
||||
TextboxNoOverlap(gUnk_08111664[this->parameter3], this);
|
||||
}
|
||||
|
||||
//Ask to teach dialoague
|
||||
void sub_08068DD0(Entity* this) {
|
||||
TextboxNoOverlap(gUnk_0811167A[this->parameter3], this);
|
||||
}
|
||||
|
||||
//Technique Dialogue
|
||||
void sub_08068DE8(Entity* this) {
|
||||
TextboxNoOverlap(gUnk_08111690[this->parameter3], this);
|
||||
}
|
||||
|
||||
//Posession dialogue
|
||||
void sub_08068E00(Entity* this) {
|
||||
TextboxNoOverlap(gUnk_081116A6[this->parameter3], this);
|
||||
}
|
||||
|
||||
+1
-2
@@ -1,7 +1,6 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "room.h"
|
||||
|
||||
extern void sub_080A2CC0();
|
||||
extern void sub_0806F69C();
|
||||
extern void sub_08004488();
|
||||
@@ -20,7 +19,7 @@ void BladeTrap(Entity* ent) {
|
||||
if ((ent->direction & 0x80) == 0) {
|
||||
sub_0806F69C(ent);
|
||||
}
|
||||
(u32) puVar3 = &(ent->heldObjectPtr);
|
||||
puVar3 = (u16*)&(ent->heldObjectPtr);
|
||||
uVar1 = *puVar3;
|
||||
*puVar3 = uVar1 - 1;
|
||||
if ((u16)(*puVar3) == 0) {
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
#include "global.h"
|
||||
#include "functions.h"
|
||||
#include "entity.h"
|
||||
|
||||
extern void sub_0807DDAC(Entity*, u32);
|
||||
extern void sub_0807DDE4(Entity*);
|
||||
extern void UpdateAnimationSingleFrame(Entity*);
|
||||
extern void sub_0806ED78(Entity*);
|
||||
extern void PlaySFX(u32);
|
||||
|
||||
extern void (*gUnk_08112260[])(Entity*);
|
||||
extern void (*gUnk_08112278[])(Entity*);
|
||||
|
||||
void sub_0806A358(Entity* this) {
|
||||
gUnk_08112260[this->entityType.parameter1](this);
|
||||
}
|
||||
|
||||
void sub_0806a370(Entity* this) {
|
||||
u8* pbVar1;
|
||||
|
||||
gUnk_08112278[this->action](this);
|
||||
sub_0807DDAC(this, 0);
|
||||
sub_0807DDE4(this);
|
||||
UpdateAnimationSingleFrame(this);
|
||||
sub_0806ED78(this);
|
||||
if (this->field_0x58 == 0xf) {
|
||||
pbVar1 = &this->frames.all;
|
||||
if (*pbVar1 == 1) {
|
||||
*pbVar1 = 0;
|
||||
PlaySFX(0x218);
|
||||
}
|
||||
if (*pbVar1 == 2) {
|
||||
*pbVar1 = 0;
|
||||
PlaySFX(0x219);
|
||||
}
|
||||
}
|
||||
}
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "npc.h"
|
||||
|
||||
|
||||
extern void sub_0807DD50(Entity*);
|
||||
extern Entity* LoadExtraSpriteData(Entity*, SpriteLoadData*);
|
||||
extern void sub_0806ED78(Entity*);
|
||||
extern void sub_0805E3A0(Entity*, u32);
|
||||
extern void InitializeAnimation(Entity*, u32);
|
||||
|
||||
extern void (*gUnk_081121D4[])(Entity*);
|
||||
|
||||
extern SpriteLoadData gUnk_081121C4;
|
||||
extern SpriteLoadData gUnk_081121B4;
|
||||
extern u32 gUnk_030010A0;
|
||||
extern void sub_0807DD94(Entity*, u32);
|
||||
extern void sub_0806A26C(Entity*);
|
||||
extern void sub_080042BA(Entity*, u32);
|
||||
|
||||
void Syrup(Entity *this)
|
||||
{
|
||||
gUnk_081121D4[this->action](this);
|
||||
sub_0806ED78(this);
|
||||
}
|
||||
|
||||
void sub_0806A1F8(Entity *this)
|
||||
{
|
||||
Entity *iVar1;
|
||||
SpriteLoadData *paVar2;
|
||||
|
||||
(this->entityType).parameter1 == 0 ? (paVar2 = &gUnk_081121B4) : (paVar2 = &gUnk_081121C4);
|
||||
|
||||
iVar1 = LoadExtraSpriteData(this,paVar2);
|
||||
if (iVar1) {
|
||||
this->action = 1;
|
||||
sub_0805E3A0(this,2);
|
||||
sub_0807DD50(this);
|
||||
InitializeAnimation(this,0);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0806A234(Entity *this)
|
||||
{
|
||||
sub_0807DD94(this, 0);
|
||||
if ((this->field_0x82 & 4) != 0) {
|
||||
if ((gUnk_030010A0 & 7) == 0) {
|
||||
sub_0806A26C(this);
|
||||
}
|
||||
sub_080042BA(this, 2);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void sub_0806A26C(Entity *this)
|
||||
{
|
||||
u8 unk;
|
||||
u32 uVar2;
|
||||
Entity *pEVar1;
|
||||
pEVar1 = CreateObject(0xf,0x2f,0);
|
||||
if (pEVar1 != NULL) {
|
||||
sub_0806FA30(this, pEVar1);
|
||||
if (uVar2 = Random(), uVar2)
|
||||
{
|
||||
unk = -unk; // wtf?!
|
||||
}
|
||||
pEVar1->spriteOffsetX = gUnk_081121DC[uVar2 & 7];
|
||||
pEVar1->spriteOffsetY = gUnk_081121DC[(uVar2 / 256) & 7] - 8;
|
||||
}
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_0806A26C(Entity *this)
|
||||
{
|
||||
asm(".include \"asm/non_matching/syrup/sub_0806A26C.inc\"");
|
||||
}
|
||||
#endif
|
||||
+3
-3
@@ -23,7 +23,7 @@ void sub_08065534(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08065570(Entity* this) {
|
||||
if (sub_0806FDEC(this, &gUnk_0810FEB0) != 0) {
|
||||
if (LoadExtraSpriteData(this, &gUnk_0810FEB0) != 0) {
|
||||
InitializeAnimation(this, 0);
|
||||
sub_08078778(this);
|
||||
this->action = 1;
|
||||
@@ -63,7 +63,7 @@ void sub_0806559C(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08065608(Entity* this) {
|
||||
if (sub_0806FDEC(this, &gUnk_0810FEB0) != 0) {
|
||||
if (LoadExtraSpriteData(this, &gUnk_0810FEB0) != 0) {
|
||||
this->action = 1;
|
||||
this->spriteSettings.b.ss0 = 1;
|
||||
this->field_0x68 = sub_0801E99C(this);
|
||||
@@ -152,7 +152,7 @@ void sub_080657A8(Entity* this) {
|
||||
|
||||
void sub_080657DC(Entity* this) {
|
||||
if (this->action == 0) {
|
||||
if (sub_0806FDEC(this, &gUnk_0810FEB0) != 0) {
|
||||
if (LoadExtraSpriteData(this, &gUnk_0810FEB0) != 0) {
|
||||
this->action++;
|
||||
this->spriteSettings.b.ss0 = 1;
|
||||
InitializeAnimation(this, 6);
|
||||
|
||||
+4
-4
@@ -9,8 +9,8 @@ extern void sub_0806ED78(Entity *);
|
||||
extern void (*gUnk_081126E8[])();
|
||||
extern void sub_0806ACC4(Entity *);
|
||||
|
||||
extern u32 sub_0806FDEC(Entity *, SpriteLoadThing *);
|
||||
extern SpriteLoadThing gUnk_08112674[];
|
||||
extern u32 LoadExtraSpriteData(Entity *, SpriteLoadData *);
|
||||
extern SpriteLoadData gUnk_08112674[];
|
||||
|
||||
void sub_0806ABC8(Entity *this)
|
||||
{
|
||||
@@ -27,8 +27,8 @@ void sub_0806ABFC(Entity *this)
|
||||
{
|
||||
u8 animationState;
|
||||
|
||||
SpriteLoadThing* spriteLoadThing = &gUnk_08112674[this->entityType.parameter1 << 2];
|
||||
if (!sub_0806FDEC(this, spriteLoadThing))
|
||||
SpriteLoadData* SpriteLoadData = &gUnk_08112674[this->entityType.parameter1 << 2];
|
||||
if (!LoadExtraSpriteData(this, SpriteLoadData))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user