1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-08 15:30:14 +00:00

En_Elf Decompiled (#432)

* init matched

* everything but navi OK

* progress

* 4 left

* remove asm

* progress

* progress

* asm and spec

* remove comment

* suggestion

* review1

* use type enum

* name func

* overridelimbdraw

* review 2

* forgot one

* merge master

* format
This commit is contained in:
fig02 2020-10-28 13:02:35 -04:00 committed by GitHub
parent 3ba022128c
commit 6e000fcc54
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
77 changed files with 1637 additions and 4303 deletions

File diff suppressed because it is too large Load diff

View file

@ -3,16 +3,58 @@
#include "ultra64.h"
#include "global.h"
#include "overlays/actors/ovl_Elf_Msg/z_elf_msg.h"
struct EnElf;
typedef void (*EnElfActionFunc)(struct EnElf*, GlobalContext*);
typedef void (*EnElfUnkFunc)(struct EnElf*, GlobalContext*);
typedef struct EnElf {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x14C];
/* 0x0298 */ Actor* unk_298;
/* 0x029C */ char unk_29C[0x34];
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ Vec3s limbDrawTable[15];
/* 0x01EA */ Vec3s transitionDrawTable[15];
/* 0x0244 */ Color_RGBAf innerColor;
/* 0x0254 */ Color_RGBAf outerColor;
/* 0x0264 */ LightInfo lightInfoGlow;
/* 0x0274 */ LightNode* lightNodeGlow;
/* 0x0278 */ LightInfo lightInfoNoGlow;
/* 0x0288 */ LightNode* lightNodeNoGlow;
/* 0x028C */ Vec3f unk_28C;
/* 0x0298 */ ElfMsg* elfMsg;
/* 0x029C */ f32 unk_29C;
/* 0x02A0 */ f32 unk_2A0;
/* 0x02A4 */ f32 unk_2A4;
/* 0x02A8 */ s16 unk_2A8;
/* 0x02AA */ s16 unk_2AA;
/* 0x02AC */ s16 unk_2AC;
/* 0x02AE */ s16 unk_2AE;
/* 0x02B0 */ s16 unk_2B0;
/* 0x02B4 */ f32 unk_2B4;
/* 0x02B8 */ f32 unk_2B8;
/* 0x02BC */ s16 unk_2BC;
/* 0x02BE */ u16 timer;
/* 0x02C0 */ s16 unk_2C0;
/* 0x02C2 */ s16 disappearTimer;
/* 0x02C4 */ u16 fairyFlags;
/* 0x02C6 */ u8 unk_2C6;
/* 0x02C7 */ u8 unk_2C7;
/* 0x02C8 */ EnElfUnkFunc func_2C8;
/* 0x02CC */ EnElfActionFunc actionFunc;
} EnElf; // size = 0x02D0
typedef enum {
/* 0x00 */ FAIRY_NAVI,
/* 0x01 */ FAIRY_REVIVE_BOTTLE,
/* 0x02 */ FAIRY_HEAL_TIMED,
/* 0x03 */ FAIRY_KOKIRI,
/* 0x04 */ FAIRY_SPAWNER,
/* 0x05 */ FAIRY_REVIVE_DEATH,
/* 0x06 */ FAIRY_HEAL,
/* 0x07 */ FAIRY_HEAL_BIG
} FairyType;
extern const ActorInit En_Elf_InitVars;
#endif