Document object_aob (Mamamu Yan's object) (#749)

This commit is contained in:
Tom Overton 2022-03-29 11:06:19 -07:00 committed by GitHub
parent 72265fac92
commit 941f3e6949
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 94 additions and 81 deletions

View File

@ -1,53 +1,65 @@
<Root> <Root>
<!-- Assets for Mamamu Yan, the proprietor of the Doggy Racetrack. -->
<File Name="object_aob" Segment="6"> <File Name="object_aob" Segment="6">
<Animation Name="object_aob_Anim_00007C" Offset="0x7C" /> <!-- Unused dummied-out idle animation. Probably an OoT leftover, since her idle animation in that game has the same name. -->
<Limb Name="object_aob_Standardlimb_000090" Type="Standard" EnumName="OBJECT_AOB_LIMB_01" Offset="0x90" /> <Animation Name="gMamamuYanUnusedIdleAnim" Offset="0x7C" /> <!-- Original name is "Aob_mastu" (probably a misspelling of "matsu" or "wait") -->
<Limb Name="object_aob_Standardlimb_00009C" Type="Standard" EnumName="OBJECT_AOB_LIMB_02" Offset="0x9C" />
<Limb Name="object_aob_Standardlimb_0000A8" Type="Standard" EnumName="OBJECT_AOB_LIMB_03" Offset="0xA8" /> <!-- Mamamu Yan Limbs -->
<Limb Name="object_aob_Standardlimb_0000B4" Type="Standard" EnumName="OBJECT_AOB_LIMB_04" Offset="0xB4" /> <Limb Name="gMamamuYanDressLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_DRESS" Offset="0x90" />
<Limb Name="object_aob_Standardlimb_0000C0" Type="Standard" EnumName="OBJECT_AOB_LIMB_05" Offset="0xC0" /> <Limb Name="gMamamuYanLeftThighLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_LEFT_THIGH" Offset="0x9C" />
<Limb Name="object_aob_Standardlimb_0000CC" Type="Standard" EnumName="OBJECT_AOB_LIMB_06" Offset="0xCC" /> <Limb Name="gMamamuYanLeftShinLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_LEFT_SHIN" Offset="0xA8" />
<Limb Name="object_aob_Standardlimb_0000D8" Type="Standard" EnumName="OBJECT_AOB_LIMB_07" Offset="0xD8" /> <Limb Name="gMamamuYanLeftFootLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_LEFT_FOOT" Offset="0xB4" />
<Limb Name="object_aob_Standardlimb_0000E4" Type="Standard" EnumName="OBJECT_AOB_LIMB_08" Offset="0xE4" /> <Limb Name="gMamamuYanRightThighLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_RIGHT_THIGH" Offset="0xC0" />
<Limb Name="object_aob_Standardlimb_0000F0" Type="Standard" EnumName="OBJECT_AOB_LIMB_09" Offset="0xF0" /> <Limb Name="gMamamuYanRightShinLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_RIGHT_SHIN" Offset="0xCC" />
<Limb Name="object_aob_Standardlimb_0000FC" Type="Standard" EnumName="OBJECT_AOB_LIMB_0A" Offset="0xFC" /> <Limb Name="gMamamuYanRightFootLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_RIGHT_FOOT" Offset="0xD8" />
<Limb Name="object_aob_Standardlimb_000108" Type="Standard" EnumName="OBJECT_AOB_LIMB_0B" Offset="0x108" /> <Limb Name="gMamamuYanTorsoLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_TORSO" Offset="0xE4" />
<Limb Name="object_aob_Standardlimb_000114" Type="Standard" EnumName="OBJECT_AOB_LIMB_0C" Offset="0x114" /> <Limb Name="gMamamuYanLeftUpperArmLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_LEFT_UPPER_ARM" Offset="0xF0" />
<Limb Name="object_aob_Standardlimb_000120" Type="Standard" EnumName="OBJECT_AOB_LIMB_0D" Offset="0x120" /> <Limb Name="gMamamuYanLeftForearmLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_LEFT_FOREARM" Offset="0xFC" />
<Limb Name="object_aob_Standardlimb_00012C" Type="Standard" EnumName="OBJECT_AOB_LIMB_0E" Offset="0x12C" /> <Limb Name="gMamamuYanLeftHandLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_LEFT_HAND" Offset="0x108" />
<Limb Name="object_aob_Standardlimb_000138" Type="Standard" EnumName="OBJECT_AOB_LIMB_0F" Offset="0x138" /> <Limb Name="gMamamuYanRightUpperArmLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_RIGHT_UPPER_ARM" Offset="0x114" />
<Skeleton Name="object_aob_Skel_000180" Type="Flex" LimbType="Standard" LimbNone="OBJECT_AOB_LIMB_NONE" LimbMax="OBJECT_AOB_LIMB_MAX" EnumName="object_aob_Limbs" Offset="0x180" /> <Limb Name="gMamamuYanRightForearmLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_RIGHT_FOREARM" Offset="0x120" />
<Texture Name="object_aob_TLUT_000198" OutName="tlut_000198" Format="rgba16" Width="16" Height="16" Offset="0x198" /> <Limb Name="gMamamuYanRightHandLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_RIGHT_HAND" Offset="0x12C" />
<Texture Name="object_aob_Tex_000398" OutName="tex_000398" Format="ci8" Width="16" Height="16" Offset="0x398" /> <Limb Name="gMamamuYanHeadLimb" Type="Standard" EnumName="MAMAMU_YAN_LIMB_HEAD" Offset="0x138" />
<Texture Name="object_aob_Tex_000498" OutName="tex_000498" Format="ci8" Width="8" Height="8" Offset="0x498" />
<Texture Name="object_aob_Tex_0004D8" OutName="tex_0004D8" Format="ci8" Width="16" Height="16" Offset="0x4D8" /> <!-- Mamamu Yan Skeleton -->
<Texture Name="object_aob_Tex_0005D8" OutName="tex_0005D8" Format="ci8" Width="8" Height="8" Offset="0x5D8" /> <Skeleton Name="gMamamuYanSkel" Type="Flex" LimbType="Standard" LimbNone="MAMAMU_YAN_LIMB_NONE" LimbMax="MAMAMU_YAN_LIMB_MAX" EnumName="MamamuYanLimbs" Offset="0x180" />
<Texture Name="object_aob_Tex_000618" OutName="tex_000618" Format="ci8" Width="8" Height="8" Offset="0x618" />
<Texture Name="object_aob_Tex_000658" OutName="tex_000658" Format="rgba16" Width="32" Height="32" Offset="0x658" /> <!-- Mamamu Yan Textures -->
<Texture Name="object_aob_Tex_000E58" OutName="tex_000E58" Format="rgba16" Width="32" Height="32" Offset="0xE58" /> <Texture Name="gMamamuYanTLUT" OutName="mamamu_yan_tlut" Format="rgba16" Width="16" Height="16" Offset="0x198" />
<Texture Name="object_aob_Tex_001658" OutName="tex_001658" Format="rgba16" Width="32" Height="32" Offset="0x1658" /> <Texture Name="gMamamuYanHairTex" OutName="mamamu_yan_hair" Format="ci8" Width="16" Height="16" Offset="0x398" />
<Texture Name="object_aob_Tex_001E58" OutName="tex_001E58" Format="ci8" Width="16" Height="16" Offset="0x1E58" /> <Texture Name="gMamamuYanSkinTex" OutName="mamamu_yan_skin" Format="ci8" Width="8" Height="8" Offset="0x498" />
<Texture Name="object_aob_Tex_001F58" OutName="tex_001F58" Format="ci8" Width="8" Height="8" Offset="0x1F58" /> <Texture Name="gMamamuYanEarTex" OutName="mamamu_yan_ear" Format="ci8" Width="16" Height="16" Offset="0x4D8" />
<Texture Name="object_aob_Tex_001F98" OutName="tex_001F98" Format="ci8" Width="8" Height="8" Offset="0x1F98" /> <Texture Name="gMamamuYanLipsTex" OutName="mamamu_yan_lips" Format="ci8" Width="8" Height="8" Offset="0x5D8" />
<DList Name="object_aob_DL_003D18" Offset="0x3D18" /> <Texture Name="gMamamuYanNostrilTex" OutName="mamamu_yan_nostril" Format="ci8" Width="8" Height="8" Offset="0x618" />
<DList Name="object_aob_DL_0044D8" Offset="0x44D8" /> <Texture Name="gMamamuYanEyeOpenTex" OutName="mamamu_yan_eye_open" Format="rgba16" Width="32" Height="32" Offset="0x658" />
<DList Name="object_aob_DL_0046E0" Offset="0x46E0" /> <Texture Name="gMamamuYanEyeHalfTex" OutName="mamamu_yan_eye_half" Format="rgba16" Width="32" Height="32" Offset="0xE58" />
<DList Name="object_aob_DL_004810" Offset="0x4810" /> <Texture Name="gMamamuYanEyeClosedTex" OutName="mamamu_yan_eye_closed" Format="rgba16" Width="32" Height="32" Offset="0x1658" />
<DList Name="object_aob_DL_0049B8" Offset="0x49B8" /> <Texture Name="gMamamuYanFingersTex" OutName="mamamu_yan_fingers" Format="ci8" Width="16" Height="16" Offset="0x1E58" />
<DList Name="object_aob_DL_004BC0" Offset="0x4BC0" /> <Texture Name="gMamamuYanSleevesTex" OutName="mamamu_yan_sleeves" Format="ci8" Width="8" Height="8" Offset="0x1F58" />
<DList Name="object_aob_DL_004CF0" Offset="0x4CF0" /> <Texture Name="gMamamuYanDressTex" OutName="mamamu_yan_dress" Format="ci8" Width="8" Height="8" Offset="0x1F98" />
<DList Name="object_aob_DL_004E98" Offset="0x4E98" />
<DList Name="object_aob_DL_005138" Offset="0x5138" /> <!-- Mamamu Yan Limb DisplayLists -->
<DList Name="object_aob_DL_005208" Offset="0x5208" /> <DList Name="gMamamuYanHeadDL" Offset="0x3D18" />
<DList Name="object_aob_DL_0052D8" Offset="0x52D8" /> <DList Name="gMamamuYanRightHandDL" Offset="0x44D8" />
<DList Name="object_aob_DL_0053A8" Offset="0x53A8" /> <DList Name="gMamamuYanRightForearmDL" Offset="0x46E0" />
<DList Name="object_aob_DL_005478" Offset="0x5478" /> <DList Name="gMamamuYanRightUpperArmDL" Offset="0x4810" />
<DList Name="object_aob_DL_005548" Offset="0x5548" /> <DList Name="gMamamuYanLeftHandDL" Offset="0x49B8" />
<DList Name="object_aob_DL_005618" Offset="0x5618" /> <DList Name="gMamamuYanLeftForearmDL" Offset="0x4BC0" />
<Animation Name="object_aob_Anim_0058EC" Offset="0x58EC" /> <DList Name="gMamamuYanLeftUpperArmDL" Offset="0x4CF0" />
<Animation Name="object_aob_Anim_006040" Offset="0x6040" /> <DList Name="gMamamuYanTorsoDL" Offset="0x4E98" />
<Animation Name="object_aob_Anim_0068B4" Offset="0x68B4" /> <DList Name="gMamamuYanRightFootDL" Offset="0x5138" /> <!-- Renders a single triangle instead of a normal-looking limb -->
<Animation Name="object_aob_Anim_00700C" Offset="0x700C" /> <DList Name="gMamamuYanRightShinDL" Offset="0x5208" /> <!-- Renders a single triangle instead of a normal-looking limb -->
<Animation Name="object_aob_Anim_007758" Offset="0x7758" /> <DList Name="gMamamuYanRightThighDL" Offset="0x52D8" /> <!-- Renders a single triangle instead of a normal-looking limb -->
<DList Name="gMamamuYanLeftFootDL" Offset="0x53A8" /> <!-- Renders a single triangle instead of a normal-looking limb -->
<DList Name="gMamamuYanLeftShinDL" Offset="0x5478" /> <!-- Renders a single triangle instead of a normal-looking limb -->
<DList Name="gMamamuYanLeftThighDL" Offset="0x5548" /> <!-- Renders a single triangle instead of a normal-looking limb -->
<DList Name="gMamamuYanDressDL" Offset="0x5618" />
<!-- Mamamu Yan Animations -->
<Animation Name="gMamamuYanSurpriseStartAnim" Offset="0x58EC" /> <!-- Original name is "Aob_odoroku" ("surprise") -->
<Animation Name="gMamamuYanSurpriseLoopAnim" Offset="0x6040" /> <!-- Original name is "Aob_odorokuroop" -->
<Animation Name="gMamamuYanLaughStartAnim" Offset="0x68B4" /> <!-- Original name is "Aob_sikkari" (reference to her catchphrase in the Japanese text) -->
<Animation Name="gMamamuYanLaughLoopAnim" Offset="0x700C" /> <!-- Original name is "Aob_sikkariroop" -->
<Animation Name="gMamamuYanIdleAnim" Offset="0x7758" /> <!-- Original name is "Aob_wait" -->
</File> </File>
</Root> </Root>

View File

@ -12,7 +12,7 @@
#include "objects/object_os_anime/object_os_anime.h" #include "objects/object_os_anime/object_os_anime.h"
static AnimationInfoS sAnimations[] = { static AnimationInfoS sAnimations[] = {
{ &object_aob_Anim_00007C, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, { &gMamamuYanUnusedIdleAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_boj_Anim_001494, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, { &object_boj_Anim_001494, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_boj_Anim_001494, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, { &object_boj_Anim_001494, 1.0f, 0, -1, ANIMMODE_LOOP, -8 },
{ &object_boj_Anim_001908, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, { &object_boj_Anim_001908, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },

View File

@ -7,7 +7,6 @@
#include "z_en_aob_01.h" #include "z_en_aob_01.h"
#include "overlays/actors/ovl_En_Racedog/z_en_racedog.h" #include "overlays/actors/ovl_En_Racedog/z_en_racedog.h"
#include "overlays/actors/ovl_En_Dg/z_en_dg.h" #include "overlays/actors/ovl_En_Dg/z_en_dg.h"
#include "objects/object_aob/object_aob.h"
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_10) #define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_10)
@ -46,12 +45,12 @@ const ActorInit En_Aob_01_InitVars = {
}; };
static AnimationInfo D_809C3790[6] = { static AnimationInfo D_809C3790[6] = {
{ &object_aob_Anim_007758, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, { &gMamamuYanIdleAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f },
{ &object_aob_Anim_0068B4, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f }, { &gMamamuYanLaughStartAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f },
{ &object_aob_Anim_00700C, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, { &gMamamuYanLaughLoopAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f },
{ &object_aob_Anim_0058EC, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f }, { &gMamamuYanSurpriseStartAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f },
{ &object_aob_Anim_006040, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, { &gMamamuYanSurpriseLoopAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f },
{ &object_aob_Anim_007758, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -6.0f }, { &gMamamuYanIdleAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -6.0f },
}; };
static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit sCylinderInit = {
@ -91,11 +90,11 @@ static EnAobStruct D_809C384C[] = {
}; };
void func_809C10B0(EnAob01* this, s32 arg1) { void func_809C10B0(EnAob01* this, s32 arg1) {
if (DECR(this->unk_3F0) == 0) { if (DECR(this->blinkTimer) == 0) {
this->unk_3EE++; this->eyeIndex++;
if (this->unk_3EE >= arg1) { if (this->eyeIndex >= arg1) {
this->unk_3EE = 0; this->eyeIndex = 0;
this->unk_3F0 = Rand_S16Offset(30, 30); this->blinkTimer = Rand_S16Offset(30, 30);
} }
} }
} }
@ -925,8 +924,8 @@ void EnAob01_Init(Actor* thisx, GlobalContext* globalCtx) {
EnAob01* this = THIS; EnAob01* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 0.0f); ActorShape_Init(&this->actor.shape, 0.0f, NULL, 0.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_aob_Skel_000180, NULL, this->jointTable, this->morphTable, SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gMamamuYanSkel, NULL, this->jointTable, this->morphTable,
16); MAMAMU_YAN_LIMB_MAX);
Collider_InitCylinder(globalCtx, &this->collider); Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->unk_43C = 0; this->unk_43C = 0;
@ -982,35 +981,36 @@ void EnAob01_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 EnAob01_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, s32 EnAob01_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
Actor* thisx) { Actor* thisx) {
EnAob01* this = THIS; EnAob01* this = THIS;
TexturePtr sp38[] = { TexturePtr eyeTextures[] = {
object_aob_Tex_000658, gMamamuYanEyeOpenTex,
object_aob_Tex_000E58, gMamamuYanEyeHalfTex,
object_aob_Tex_001658, gMamamuYanEyeClosedTex,
}; };
if (limbIndex == 15) { if (limbIndex == MAMAMU_YAN_LIMB_HEAD) {
OPEN_DISPS(globalCtx->state.gfxCtx); OPEN_DISPS(globalCtx->state.gfxCtx);
*dList = object_aob_DL_003D18; *dList = gMamamuYanHeadDL;
gSPSegment(POLY_OPA_DISP++, 0x0A, Lib_SegmentedToVirtual(sp38[this->unk_3EE])); gSPSegment(POLY_OPA_DISP++, 0x0A, Lib_SegmentedToVirtual(eyeTextures[this->eyeIndex]));
CLOSE_DISPS(globalCtx->state.gfxCtx); CLOSE_DISPS(globalCtx->state.gfxCtx);
} }
if (limbIndex == 15) { if (limbIndex == MAMAMU_YAN_LIMB_HEAD) {
Matrix_InsertTranslation(1500.0f, 0.0f, 0.0f, MTXMODE_APPLY); Matrix_InsertTranslation(1500.0f, 0.0f, 0.0f, MTXMODE_APPLY);
Matrix_InsertXRotation_s(this->unk_2DA.y, MTXMODE_APPLY); Matrix_InsertXRotation_s(this->unk_2DA.y, MTXMODE_APPLY);
Matrix_InsertZRotation_s(this->unk_2DA.x * -1, MTXMODE_APPLY); Matrix_InsertZRotation_s(this->unk_2DA.x * -1, MTXMODE_APPLY);
Matrix_InsertTranslation(-1500.0f, 0.0f, 0.0f, MTXMODE_APPLY); Matrix_InsertTranslation(-1500.0f, 0.0f, 0.0f, MTXMODE_APPLY);
} }
if (limbIndex == 8) { if (limbIndex == MAMAMU_YAN_LIMB_TORSO) {
Matrix_InsertXRotation_s(this->unk_2E0.y * -1, MTXMODE_APPLY); Matrix_InsertXRotation_s(this->unk_2E0.y * -1, MTXMODE_APPLY);
Matrix_InsertZRotation_s(this->unk_2E0.x * -1, MTXMODE_APPLY); Matrix_InsertZRotation_s(this->unk_2E0.x * -1, MTXMODE_APPLY);
} }
if ((limbIndex == 8) || (limbIndex == 9) || (limbIndex == 12)) { if ((limbIndex == MAMAMU_YAN_LIMB_TORSO) || (limbIndex == MAMAMU_YAN_LIMB_LEFT_UPPER_ARM) ||
(limbIndex == MAMAMU_YAN_LIMB_RIGHT_UPPER_ARM)) {
rot->y += (s16)Math_SinS(this->unk_2F8[limbIndex]) * 200; rot->y += (s16)Math_SinS(this->unk_2F8[limbIndex]) * 200;
rot->z += (s16)Math_CosS(this->unk_318[limbIndex]) * 200; rot->z += (s16)Math_CosS(this->unk_318[limbIndex]) * 200;
} }
@ -1021,7 +1021,7 @@ void EnAob01_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
static Vec3f D_809C3968 = { 0.0f, 0.0f, 0.0f }; static Vec3f D_809C3968 = { 0.0f, 0.0f, 0.0f };
EnAob01* this = THIS; EnAob01* this = THIS;
if (limbIndex == 15) { if (limbIndex == MAMAMU_YAN_LIMB_HEAD) {
Matrix_MultiplyVector3fByState(&D_809C3968, &this->actor.focus.pos); Matrix_MultiplyVector3fByState(&D_809C3968, &this->actor.focus.pos);
} }
} }

View File

@ -2,6 +2,7 @@
#define Z_EN_AOB_01_H #define Z_EN_AOB_01_H
#include "global.h" #include "global.h"
#include "objects/object_aob/object_aob.h"
struct EnAob01; struct EnAob01;
@ -17,8 +18,8 @@ typedef struct EnAob01 {
/* 0x18C */ ColliderCylinder collider; /* 0x18C */ ColliderCylinder collider;
/* 0x1D8 */ Path* unk_1D8[14]; /* 0x1D8 */ Path* unk_1D8[14];
/* 0x210 */ u16 unk_210; /* 0x210 */ u16 unk_210;
/* 0x212 */ Vec3s jointTable[16]; /* 0x212 */ Vec3s jointTable[MAMAMU_YAN_LIMB_MAX];
/* 0x272 */ Vec3s morphTable[16]; /* 0x272 */ Vec3s morphTable[MAMAMU_YAN_LIMB_MAX];
/* 0x2D2 */ u16 unk_2D2; /* 0x2D2 */ u16 unk_2D2;
/* 0x2D4 */ Vec3s unk_2D4; /* 0x2D4 */ Vec3s unk_2D4;
/* 0x2DA */ Vec3s unk_2DA; /* 0x2DA */ Vec3s unk_2DA;
@ -26,11 +27,11 @@ typedef struct EnAob01 {
/* 0x2E6 */ Vec3s unk_2E6; /* 0x2E6 */ Vec3s unk_2E6;
/* 0x2EC */ Vec3s unk_2EC; /* 0x2EC */ Vec3s unk_2EC;
/* 0x2F2 */ Vec3s unk_2F2; /* 0x2F2 */ Vec3s unk_2F2;
/* 0x2F8 */ s16 unk_2F8[16]; /* 0x2F8 */ s16 unk_2F8[MAMAMU_YAN_LIMB_MAX];
/* 0x318 */ s16 unk_318[16]; /* 0x318 */ s16 unk_318[MAMAMU_YAN_LIMB_MAX];
/* 0x338 */ UNK_TYPE1 unk338[0xB6]; /* 0x338 */ UNK_TYPE1 unk338[0xB6];
/* 0x3EE */ s16 unk_3EE; /* 0x3EE */ s16 eyeIndex;
/* 0x3F0 */ s16 unk_3F0; /* 0x3F0 */ s16 blinkTimer;
/* 0x3F4 */ Actor* unk_3F4; /* 0x3F4 */ Actor* unk_3F4;
/* 0x3F8 */ Actor* unk_3F8[14]; /* 0x3F8 */ Actor* unk_3F8[14];
/* 0x430 */ s16 unk_430; /* 0x430 */ s16 unk_430;