* En_Elf

* En_Elf

* PR

* PR

* Format
This commit is contained in:
Maide
2021-12-27 01:47:56 +00:00
committed by GitHub
parent ba4f676f4e
commit 2df8e5d433
12 changed files with 1609 additions and 77 deletions
+1 -1
View File
@@ -44,7 +44,7 @@ void GameOver_Update(GlobalContext* globalCtx) {
}
gSaveContext.unk_3DC0 = 2000;
gSaveContext.naviTimer = 0;
gSaveContext.tatlTimer = 0;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.eventInf[0] = 0;
File diff suppressed because it is too large Load Diff
+37 -3
View File
@@ -6,12 +6,46 @@
struct EnElf;
typedef void (*EnElfActionFunc)(struct EnElf*, GlobalContext*);
typedef void (*EnElfUnkFunc)(struct EnElf*, GlobalContext*);
#define ENELF_GET_F(thisx) ((thisx)->params & 0xF)
#define ENELF_GET_FE00(thisx) (((thisx)->params & 0xFE00) >> 9)
typedef struct EnElf {
/* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x120];
/* 0x0264 */ u16 unk264;
/* 0x0266 */ char unk_266[0xA];
/* 0x0144 */ SkelAnime skelAnime;
/* 0x0188 */ Vec3s jointTable[7];
/* 0x01B2 */ Vec3s morphTable[7];
/* 0x01DC */ Color_RGBAf innerColor;
/* 0x01EC */ Color_RGBAf outerColor;
/* 0x01FC */ LightInfo lightInfoGlow;
/* 0x020C */ LightNode* lightNodeGlow;
/* 0x0210 */ LightInfo lightInfoNoGlow;
/* 0x0220 */ LightNode* lightNodeNoGlow;
/* 0x0224 */ Vec3f unk_224;
/* 0x0230 */ Actor* elfMsg;
/* 0x0234 */ Actor* unk_234;
/* 0x0238 */ f32 unk_238;
/* 0x023C */ f32 unk_23C;
/* 0x0240 */ f32 unk_240;
/* 0x0244 */ s16 unk_244;
/* 0x0246 */ s16 unk_246;
/* 0x0248 */ s16 unk_248;
/* 0x024A */ s16 unk_24A;
/* 0x024C */ s16 unk_24C;
/* 0x0250 */ f32 unk_250;
/* 0x0254 */ f32 unk_254;
/* 0x0258 */ s16 unk_258;
/* 0x025A */ u16 timer;
/* 0x025C */ s16 unk_25C;
/* 0x025E */ s16 disappearTimer;
/* 0x0260 */ s16 unk_260;
/* 0x0262 */ u16 fairyFlags;
/* 0x0264 */ u16 unk_264;
/* 0x0266 */ u16 unk_266;
/* 0x0268 */ u8 unk_268;
/* 0x0269 */ u8 unk_269;
/* 0x026C */ EnElfUnkFunc unk_26C;
/* 0x0270 */ EnElfActionFunc actionFunc;
} EnElf; // size = 0x274
@@ -352,9 +352,9 @@ void EnGiant_PlaySound(EnGiant* this) {
void EnGiant_UpdatePosition(EnGiant* this, GlobalContext* globalCtx, u32 actionIndex) {
CsCmdActorAction* actorAction = globalCtx->csCtx.npcActions[actionIndex];
f32 floatUnk10 = actorAction->unk10;
f32 floatUnk10 = actorAction->unk0C.y;
s32 pad[2];
f32 floatUnk1C = actorAction->unk1C;
f32 floatUnk1C = actorAction->unk18.y;
f32 functionTemp;
functionTemp = func_800F5A8C(actorAction->endFrame, actorAction->startFrame, globalCtx->csCtx.frames, globalCtx);
@@ -331,7 +331,7 @@ void func_80BAAB78(EnSuttari* this, GlobalContext* globalCtx) {
case 0:
if (gSaveContext.weekEventReg[0x51] & 1) {
this->textId = 0x1455;
((EnElf*)GET_PLAYER(globalCtx)->tatlActor)->unk264 |= 8;
((EnElf*)GET_PLAYER(globalCtx)->tatlActor)->unk_264 |= 8;
this->flags2 |= 1;
} else {
this->textId = 0x1450;
@@ -353,7 +353,7 @@ void func_80BAAB78(EnSuttari* this, GlobalContext* globalCtx) {
case 0x1453:
this->flags1 |= 0x400;
gSaveContext.weekEventReg[0x51] |= 1;
((EnElf*)GET_PLAYER(globalCtx)->tatlActor)->unk264 |= 8;
((EnElf*)GET_PLAYER(globalCtx)->tatlActor)->unk_264 |= 8;
this->flags2 |= 1;
this->textId = 0x1454;
break;
@@ -1318,7 +1318,7 @@ void func_80BADA9C(EnSuttari* this, GlobalContext* globalCtx) {
}
this->flags1 &= ~0x400;
if (this->flags2 & 1) {
((EnElf*)GET_PLAYER(globalCtx)->tatlActor)->unk264 |= 0x10;
((EnElf*)GET_PLAYER(globalCtx)->tatlActor)->unk_264 |= 0x10;
this->flags2 &= ~1;
}
globalCtx->msgCtx.unk11F22 = 0x43;