mirror of https://github.com/zeldaret/mm.git
ovl_Dm_Al Decompiled + Some Documentation (#913)
* all functions matching, data isn't? * cleanup in progress * ovl_Dm_Al Decompiled * pr review * Documentation Fixes and new entries * forgot one * pr review
This commit is contained in:
parent
abf70f6dd2
commit
ba886cc8fa
|
@ -1,71 +1,71 @@
|
|||
<Root>
|
||||
<File Name="object_al" Segment="6">
|
||||
<Animation Name="object_al_Anim_000C54" Offset="0xC54" />
|
||||
<DList Name="object_al_DL_0045F0" Offset="0x45F0" />
|
||||
<DList Name="object_al_DL_004738" Offset="0x4738" />
|
||||
<DList Name="object_al_DL_004880" Offset="0x4880" />
|
||||
<DList Name="object_al_DL_004A50" Offset="0x4A50" />
|
||||
<DList Name="object_al_DL_004B30" Offset="0x4B30" />
|
||||
<DList Name="object_al_DL_004BF8" Offset="0x4BF8" />
|
||||
<DList Name="object_al_DL_004D10" Offset="0x4D10" />
|
||||
<DList Name="object_al_DL_004DD0" Offset="0x4DD0" />
|
||||
<DList Name="object_al_DL_004EE8" Offset="0x4EE8" />
|
||||
<DList Name="object_al_DL_004FA8" Offset="0x4FA8" />
|
||||
<DList Name="object_al_DL_0050B0" Offset="0x50B0" />
|
||||
<DList Name="object_al_DL_005680" Offset="0x5680" />
|
||||
<DList Name="object_al_DL_005728" Offset="0x5728" />
|
||||
<DList Name="object_al_DL_0057D0" Offset="0x57D0" />
|
||||
<DList Name="object_al_DL_005878" Offset="0x5878" />
|
||||
<DList Name="object_al_DL_005920" Offset="0x5920" />
|
||||
<DList Name="object_al_DL_0059E8" Offset="0x59E8" />
|
||||
<DList Name="object_al_DL_005C10" Offset="0x5C10" />
|
||||
<DList Name="object_al_DL_005D28" Offset="0x5D28" />
|
||||
<DList Name="object_al_DL_005E48" Offset="0x5E48" />
|
||||
<DList Name="object_al_DL_005FF8" Offset="0x5FF8" />
|
||||
<DList Name="object_al_DL_006190" Offset="0x6190" />
|
||||
<DList Name="object_al_DL_0062B0" Offset="0x62B0" />
|
||||
<DList Name="object_al_DL_0064E0" Offset="0x64E0" />
|
||||
<DList Name="object_al_DL_006598" Offset="0x6598" />
|
||||
<Texture Name="object_al_TLUT_006638" OutName="tlut_006638" Format="rgba16" Width="16" Height="16" Offset="0x6638" />
|
||||
<Texture Name="object_al_Tex_006838" OutName="tex_006838" Format="ci8" Width="8" Height="8" Offset="0x6838" />
|
||||
<Texture Name="object_al_Tex_006878" OutName="tex_006878" Format="ci8" Width="8" Height="8" Offset="0x6878" />
|
||||
<Texture Name="object_al_Tex_0068B8" OutName="tex_0068B8" Format="ci8" Width="16" Height="16" Offset="0x68B8" />
|
||||
<Texture Name="object_al_Tex_0069B8" OutName="tex_0069B8" Format="rgba16" Width="64" Height="32" Offset="0x69B8" />
|
||||
<Texture Name="object_al_Tex_0079B8" OutName="tex_0079B8" Format="rgba16" Width="32" Height="32" Offset="0x79B8" />
|
||||
<Texture Name="object_al_Tex_0081B8" OutName="tex_0081B8" Format="ci8" Width="32" Height="16" Offset="0x81B8" />
|
||||
<Texture Name="object_al_Tex_0083B8" OutName="tex_0083B8" Format="rgba16" Width="32" Height="32" Offset="0x83B8" />
|
||||
<Texture Name="object_al_Tex_008BB8" OutName="tex_008BB8" Format="rgba16" Width="8" Height="8" Offset="0x8BB8" />
|
||||
<Texture Name="object_al_Tex_008C38" OutName="tex_008C38" Format="ci8" Width="16" Height="16" Offset="0x8C38" />
|
||||
<Texture Name="object_al_Tex_008D38" OutName="tex_008D38" Format="ci8" Width="16" Height="16" Offset="0x8D38" />
|
||||
<Texture Name="object_al_Tex_008E38" OutName="tex_008E38" Format="rgba16" Width="32" Height="64" Offset="0x8E38" />
|
||||
<Texture Name="object_al_Tex_009E38" OutName="tex_009E38" Format="rgba16" Width="8" Height="16" Offset="0x9E38" />
|
||||
<Limb Name="object_al_Standardlimb_009F38" Type="Standard" EnumName="OBJECT_AL_LIMB_01" Offset="0x9F38" />
|
||||
<Limb Name="object_al_Standardlimb_009F44" Type="Standard" EnumName="OBJECT_AL_LIMB_02" Offset="0x9F44" />
|
||||
<Limb Name="object_al_Standardlimb_009F50" Type="Standard" EnumName="OBJECT_AL_LIMB_03" Offset="0x9F50" />
|
||||
<Limb Name="object_al_Standardlimb_009F5C" Type="Standard" EnumName="OBJECT_AL_LIMB_04" Offset="0x9F5C" />
|
||||
<Limb Name="object_al_Standardlimb_009F68" Type="Standard" EnumName="OBJECT_AL_LIMB_05" Offset="0x9F68" />
|
||||
<Limb Name="object_al_Standardlimb_009F74" Type="Standard" EnumName="OBJECT_AL_LIMB_06" Offset="0x9F74" />
|
||||
<Limb Name="object_al_Standardlimb_009F80" Type="Standard" EnumName="OBJECT_AL_LIMB_07" Offset="0x9F80" />
|
||||
<Limb Name="object_al_Standardlimb_009F8C" Type="Standard" EnumName="OBJECT_AL_LIMB_08" Offset="0x9F8C" />
|
||||
<Limb Name="object_al_Standardlimb_009F98" Type="Standard" EnumName="OBJECT_AL_LIMB_09" Offset="0x9F98" />
|
||||
<Limb Name="object_al_Standardlimb_009FA4" Type="Standard" EnumName="OBJECT_AL_LIMB_0A" Offset="0x9FA4" />
|
||||
<Limb Name="object_al_Standardlimb_009FB0" Type="Standard" EnumName="OBJECT_AL_LIMB_0B" Offset="0x9FB0" />
|
||||
<Limb Name="object_al_Standardlimb_009FBC" Type="Standard" EnumName="OBJECT_AL_LIMB_0C" Offset="0x9FBC" />
|
||||
<Limb Name="object_al_Standardlimb_009FC8" Type="Standard" EnumName="OBJECT_AL_LIMB_0D" Offset="0x9FC8" />
|
||||
<Limb Name="object_al_Standardlimb_009FD4" Type="Standard" EnumName="OBJECT_AL_LIMB_0E" Offset="0x9FD4" />
|
||||
<Limb Name="object_al_Standardlimb_009FE0" Type="Standard" EnumName="OBJECT_AL_LIMB_0F" Offset="0x9FE0" />
|
||||
<Limb Name="object_al_Standardlimb_009FEC" Type="Standard" EnumName="OBJECT_AL_LIMB_10" Offset="0x9FEC" />
|
||||
<Limb Name="object_al_Standardlimb_009FF8" Type="Standard" EnumName="OBJECT_AL_LIMB_11" Offset="0x9FF8" />
|
||||
<Limb Name="object_al_Standardlimb_00A004" Type="Standard" EnumName="OBJECT_AL_LIMB_12" Offset="0xA004" />
|
||||
<Limb Name="object_al_Standardlimb_00A010" Type="Standard" EnumName="OBJECT_AL_LIMB_13" Offset="0xA010" />
|
||||
<Limb Name="object_al_Standardlimb_00A01C" Type="Standard" EnumName="OBJECT_AL_LIMB_14" Offset="0xA01C" />
|
||||
<Limb Name="object_al_Standardlimb_00A028" Type="Standard" EnumName="OBJECT_AL_LIMB_15" Offset="0xA028" />
|
||||
<Limb Name="object_al_Standardlimb_00A034" Type="Standard" EnumName="OBJECT_AL_LIMB_16" Offset="0xA034" />
|
||||
<Limb Name="object_al_Standardlimb_00A040" Type="Standard" EnumName="OBJECT_AL_LIMB_17" Offset="0xA040" />
|
||||
<Limb Name="object_al_Standardlimb_00A04C" Type="Standard" EnumName="OBJECT_AL_LIMB_18" Offset="0xA04C" />
|
||||
<Limb Name="object_al_Standardlimb_00A058" Type="Standard" EnumName="OBJECT_AL_LIMB_19" Offset="0xA058" />
|
||||
<Limb Name="object_al_Standardlimb_00A064" Type="Standard" EnumName="OBJECT_AL_LIMB_1A" Offset="0xA064" />
|
||||
<Skeleton Name="object_al_Skel_00A0D8" Type="Flex" LimbType="Standard" LimbNone="OBJECT_AL_LIMB_NONE" LimbMax="OBJECT_AL_LIMB_MAX" EnumName="object_al_Limbs" Offset="0xA0D8" />
|
||||
<DList Name="gMadameAromaRightFootDL" Offset="0x45F0" />
|
||||
<DList Name="gMadameAromaLeftFootDL" Offset="0x4738" />
|
||||
<DList Name="gMadameAromaLegsDL" Offset="0x4880" />
|
||||
<DList Name="gMadameAromaLowerBodyDL" Offset="0x4A50" />
|
||||
<DList Name="gMadameAromaMiddleBodyDL" Offset="0x4B30" />
|
||||
<DList Name="gMadameAromaRightHairEdgeDL" Offset="0x4BF8" />
|
||||
<DList Name="gMadameAromaRightHairDL" Offset="0x4D10" />
|
||||
<DList Name="gMadameAromaLeftHairEdgeDL" Offset="0x4DD0" />
|
||||
<DList Name="gMadameAromaLeftHairDL" Offset="0x4EE8" />
|
||||
<DList Name="gMadameAromaHairLoopDL" Offset="0x4FA8" />
|
||||
<DList Name="gMadameAromaHeadDL" Offset="0x50B0" />
|
||||
<DList Name="gMadameAromaShawlRightLowerDL" Offset="0x5680" />
|
||||
<DList Name="gMadameAromaShawlRightLowerMiddleDL" Offset="0x5728" />
|
||||
<DList Name="gMadameAromaShawlLeftLowerDL" Offset="0x57D0" />
|
||||
<DList Name="gMadameAromaShawlLeftLowerMiddleDL" Offset="0x5878" />
|
||||
<DList Name="gMadameAromaShawlUpperDL" Offset="0x5920" />
|
||||
<DList Name="gMadameAromaLeftHandDL" Offset="0x59E8" />
|
||||
<DList Name="gMadameAromaLeftArmDL" Offset="0x5C10" />
|
||||
<DList Name="gMadameAromaLeftShoulderDL" Offset="0x5D28" />
|
||||
<DList Name="gMadameAromaRightHandDL" Offset="0x5E48" />
|
||||
<DList Name="gMadameAromaRightArmDL" Offset="0x5FF8" />
|
||||
<DList Name="gMadameAromaRightShoulderDL" Offset="0x6190" />
|
||||
<DList Name="gMadameAromaUpperBodyDL" Offset="0x62B0" />
|
||||
<DList Name="gMadameAromaNecklaceDL" Offset="0x64E0" />
|
||||
<DList Name="gMadameAromaShawlMiddleDL" Offset="0x6598" />
|
||||
<Texture Name="gMadameAromaTLUT" OutName="madame_aroma_tlut" Format="rgba16" Width="16" Height="16" Offset="0x6638" />
|
||||
<Texture Name="gMadameAromaSkinBlotchTex" OutName="madame_aroma_skin_blotch" Format="ci8" Width="8" Height="8" Offset="0x6838" />
|
||||
<Texture Name="gMadameAromaEarsTex" OutName="madame_aroma_ears" Format="ci8" Width="8" Height="8" Offset="0x6878" />
|
||||
<Texture Name="gMadameAromaHairToSkinTex" OutName="madame_aroma_hair_to_skin" Format="ci8" Width="16" Height="16" Offset="0x68B8" />
|
||||
<Texture Name="gMadameAromaMouthTex" OutName="madame_aroma_mouth" Format="rgba16" Width="64" Height="32" Offset="0x69B8" />
|
||||
<Texture Name="gMadameAromaEyesTex" OutName="madame_aroma_eyes" Format="rgba16" Width="32" Height="32" Offset="0x79B8" />
|
||||
<Texture Name="gMadameAromaShoeTex" OutName="madame_aroma_shoe" Format="ci8" Width="32" Height="16" Offset="0x81B8" />
|
||||
<Texture Name="gMadameAromaDressLowerTex" OutName="madame_aroma_dress_lower" Format="rgba16" Width="32" Height="32" Offset="0x83B8" />
|
||||
<Texture Name="gMadameAromaHairHolderTex" OutName="madame_aroma_hair_holder" Format="rgba16" Width="8" Height="8" Offset="0x8BB8" />
|
||||
<Texture Name="gMadameAromaFingersTex" OutName="madame_aroma_fingers" Format="ci8" Width="16" Height="16" Offset="0x8C38" />
|
||||
<Texture Name="gMadameAromaChestTex" OutName="madame_aroma_chest" Format="ci8" Width="16" Height="16" Offset="0x8D38" />
|
||||
<Texture Name="gMadameAromaEarringsTex" OutName="madame_aroma_earrings" Format="rgba16" Width="32" Height="64" Offset="0x8E38" />
|
||||
<Texture Name="gMadameAromaRingTex" OutName="madame_aroma_ring" Format="rgba16" Width="8" Height="16" Offset="0x9E38" />
|
||||
<Limb Name="gMadameAromaRootLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_ROOT" Offset="0x9F38" />
|
||||
<Limb Name="gMadameAromaUpperBodyLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_UPPER_BODY" Offset="0x9F44" />
|
||||
<Limb Name="gMadameAromaShawlMiddleLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_SHAWL_MIDDLE" Offset="0x9F50" />
|
||||
<Limb Name="gMadameAromaNecklaceLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_NECKLACE" Offset="0x9F5C" />
|
||||
<Limb Name="gMadameAromaRightShoulderLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_RIGHT_SHOULDER" Offset="0x9F68" />
|
||||
<Limb Name="gMadameAromaRightArmLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_RIGHT_ARM" Offset="0x9F74" />
|
||||
<Limb Name="gMadameAromaRightHandLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_RIGHT_HAND" Offset="0x9F80" />
|
||||
<Limb Name="gMadameAromaLeftShoulderLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_LEFT_SHOULDER" Offset="0x9F8C" />
|
||||
<Limb Name="gMadameAromaLeftArmLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_LEFT_ARM" Offset="0x9F98" />
|
||||
<Limb Name="gMadameAromaLeftHandLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_LEFT_HAND" Offset="0x9FA4" />
|
||||
<Limb Name="gMadameAromaShawlUpperLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_SHAWL_UPPER" Offset="0x9FB0" />
|
||||
<Limb Name="gMadameAromaShawlLeftLowerMiddleLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_SHAWL_LEFT_LOWER_MIDDLE" Offset="0x9FBC" />
|
||||
<Limb Name="gMadameAromaShawlLeftLowerLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_SHAWL_LEFT_LOWER" Offset="0x9FC8" />
|
||||
<Limb Name="gMadameAromaShawlRightLowerMiddleLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_SHAWL_RIGHT_LOWER_MIDDLE" Offset="0x9FD4" />
|
||||
<Limb Name="gMadameAromaShawlRightLowerLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_SHAWL_RIGHT_LOWER" Offset="0x9FE0" />
|
||||
<Limb Name="gMadameAromaHeadLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_HEAD" Offset="0x9FEC" />
|
||||
<Limb Name="gMadameAromaHairLoopLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_HAIR_LOOP" Offset="0x9FF8" />
|
||||
<Limb Name="gMadameAromaLeftHairLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_LEFT_HAIR" Offset="0xA004" />
|
||||
<Limb Name="gMadameAromaLeftHairEdgeLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_LEFT_HAIR_EDGE" Offset="0xA010" />
|
||||
<Limb Name="gMadameAromaRightHairLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_RIGHT_HAIR" Offset="0xA01C" />
|
||||
<Limb Name="gMadameAromaRightHairEdgeLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_RIGHT_HAIR_EDGE" Offset="0xA028" />
|
||||
<Limb Name="gMadameAromaMiddleBodyLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_MIDDLE_BODY" Offset="0xA034" />
|
||||
<Limb Name="gMadameAromaLowerBodyLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_LOWER_BODY" Offset="0xA040" />
|
||||
<Limb Name="gMadameAromaLegsLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_LEGS" Offset="0xA04C" />
|
||||
<Limb Name="gMadameAromaLeftFootLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_LEFT_FOOT" Offset="0xA058" />
|
||||
<Limb Name="gMadameAromaRightFootLimb" Type="Standard" EnumName="MADAME_AROMA_LIMB_RIGHT_FOOT" Offset="0xA064" />
|
||||
<Skeleton Name="gMadameAromaSkel" Type="Flex" LimbType="Standard" LimbNone="MADAME_AROMA_LIMB_NONE" LimbMax="MADAME_AROMA_LIMB_MAX" EnumName="MadameAromaLimbs" Offset="0xA0D8" />
|
||||
<Animation Name="object_al_Anim_00A764" Offset="0xA764" />
|
||||
<Animation Name="object_al_Anim_00ACA0" Offset="0xACA0" />
|
||||
<Animation Name="object_al_Anim_00BCA4" Offset="0xBCA4" />
|
||||
|
|
3
spec
3
spec
|
@ -5069,8 +5069,7 @@ beginseg
|
|||
name "ovl_Dm_Al"
|
||||
compress
|
||||
include "build/src/overlays/actors/ovl_Dm_Al/z_dm_al.o"
|
||||
include "build/data/ovl_Dm_Al/ovl_Dm_Al.data.o"
|
||||
include "build/data/ovl_Dm_Al/ovl_Dm_Al.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Dm_Al/ovl_Dm_Al_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -15,9 +15,6 @@ void DmAl_Destroy(Actor* thisx, PlayState* play);
|
|||
void DmAl_Update(Actor* thisx, PlayState* play);
|
||||
void DmAl_Draw(Actor* thisx, PlayState* play);
|
||||
|
||||
void func_80C1BDD8(DmAl* this, PlayState* play);
|
||||
|
||||
#if 0
|
||||
const ActorInit Dm_Al_InitVars = {
|
||||
ACTOR_EN_AL,
|
||||
ACTORCAT_NPC,
|
||||
|
@ -30,24 +27,135 @@ const ActorInit Dm_Al_InitVars = {
|
|||
(ActorFunc)DmAl_Draw,
|
||||
};
|
||||
|
||||
#endif
|
||||
static AnimationInfoS sAnimationInfos[] = {
|
||||
{ &object_al_Anim_00DBE0, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
|
||||
};
|
||||
|
||||
extern UNK_TYPE D_0600A0D8;
|
||||
s32 DmAl_ChangeAnimation(DmAl* this, s32 animationIndex) {
|
||||
s32 didAnimationChange = false;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/func_80C1BD90.s")
|
||||
if (animationIndex != this->animationIndex) {
|
||||
this->animationIndex = animationIndex;
|
||||
didAnimationChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfos, animationIndex);
|
||||
}
|
||||
return didAnimationChange;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/func_80C1BDD8.s")
|
||||
void func_80C1BDD8(DmAl* this, PlayState* play) {
|
||||
s32 D_80C1C280[] = { 0, 0, 0, 0, 0 };
|
||||
u16 csAction;
|
||||
s32 actionIndex;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/DmAl_Init.s")
|
||||
if (play->csCtx.state != 0) {
|
||||
if (!this->unk_45C) {
|
||||
this->action = 0xFF;
|
||||
this->unk_45C = true;
|
||||
this->animationIndex2 = this->animationIndex;
|
||||
}
|
||||
if (Cutscene_CheckActorAction(play, 0x232)) {
|
||||
actionIndex = Cutscene_GetActorActionIndex(play, 0x232);
|
||||
csAction = play->csCtx.actorActions[actionIndex]->action;
|
||||
if (this->action != (u8)csAction) {
|
||||
this->action = csAction;
|
||||
DmAl_ChangeAnimation(this, D_80C1C280[csAction]);
|
||||
}
|
||||
Cutscene_ActorTranslateAndYaw(&this->actor, play, actionIndex);
|
||||
}
|
||||
} else if (this->unk_45C) {
|
||||
this->unk_45C = false;
|
||||
DmAl_ChangeAnimation(this, this->animationIndex2);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/DmAl_Destroy.s")
|
||||
void DmAl_Init(Actor* thisx, PlayState* play) {
|
||||
DmAl* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/DmAl_Update.s")
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 0.0f);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gMadameAromaSkel, NULL, this->jointTable, this->morphTable,
|
||||
MADAME_AROMA_LIMB_MAX);
|
||||
this->animationIndex = -1;
|
||||
DmAl_ChangeAnimation(this, MADAME_AROMA_ANIMATION_0);
|
||||
this->actor.flags &= ~ACTOR_FLAG_1;
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
this->actionFunc = func_80C1BDD8;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/func_80C1C028.s")
|
||||
void DmAl_Destroy(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/func_80C1C064.s")
|
||||
void DmAl_Update(Actor* thisx, PlayState* play) {
|
||||
DmAl* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/func_80C1C11C.s")
|
||||
this->actionFunc(this, play);
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
Actor_UpdateBgCheckInfo(play, &this->actor, 30.0f, 12.0f, 0.0f, 4);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/DmAl_Draw.s")
|
||||
s32 DmAl_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* rot, Vec3s* pos, Actor* thisx) {
|
||||
switch (limbIndex) {
|
||||
case MADAME_AROMA_LIMB_SHAWL_MIDDLE:
|
||||
case MADAME_AROMA_LIMB_SHAWL_UPPER:
|
||||
case MADAME_AROMA_LIMB_SHAWL_LEFT_LOWER_MIDDLE:
|
||||
case MADAME_AROMA_LIMB_SHAWL_LEFT_LOWER:
|
||||
case MADAME_AROMA_LIMB_SHAWL_RIGHT_LOWER_MIDDLE:
|
||||
case MADAME_AROMA_LIMB_SHAWL_RIGHT_LOWER:
|
||||
*dList = NULL;
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void DmAl_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
|
||||
DmAl* this = THIS;
|
||||
|
||||
switch (limbIndex) {
|
||||
case MADAME_AROMA_LIMB_SHAWL_MIDDLE:
|
||||
Matrix_Get(&this->shawlMatrices[0]);
|
||||
break;
|
||||
case MADAME_AROMA_LIMB_SHAWL_UPPER:
|
||||
Matrix_Get(&this->shawlMatrices[1]);
|
||||
break;
|
||||
case MADAME_AROMA_LIMB_SHAWL_LEFT_LOWER_MIDDLE:
|
||||
Matrix_Get(&this->shawlMatrices[2]);
|
||||
break;
|
||||
case MADAME_AROMA_LIMB_SHAWL_LEFT_LOWER:
|
||||
Matrix_Get(&this->shawlMatrices[3]);
|
||||
break;
|
||||
case MADAME_AROMA_LIMB_SHAWL_RIGHT_LOWER_MIDDLE:
|
||||
Matrix_Get(&this->shawlMatrices[4]);
|
||||
break;
|
||||
case MADAME_AROMA_LIMB_SHAWL_RIGHT_LOWER:
|
||||
Matrix_Get(&this->shawlMatrices[5]);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void DmAl_TransformLimbDraw(PlayState* play, s32 limbIndex, Actor* thisx) {
|
||||
}
|
||||
|
||||
static Gfx* sDlists[] = {
|
||||
gMadameAromaShawlMiddleDL, gMadameAromaShawlUpperDL,
|
||||
gMadameAromaShawlLeftLowerMiddleDL, gMadameAromaShawlLeftLowerDL,
|
||||
gMadameAromaShawlRightLowerMiddleDL, gMadameAromaShawlRightLowerDL,
|
||||
};
|
||||
|
||||
void DmAl_Draw(Actor* thisx, PlayState* play) {
|
||||
u32 i;
|
||||
DmAl* this = THIS;
|
||||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
func_8012C28C(play->state.gfxCtx);
|
||||
SkelAnime_DrawTransformFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
|
||||
this->skelAnime.dListCount, DmAl_OverrideLimbDraw, DmAl_PostLimbDraw,
|
||||
DmAl_TransformLimbDraw, &this->actor);
|
||||
for (i = 0; i < ARRAY_COUNT(this->shawlMatrices); i++) {
|
||||
Matrix_Put(&this->shawlMatrices[i]);
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_OPA_DISP++, sDlists[i]);
|
||||
}
|
||||
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#define Z_DM_AL_H
|
||||
|
||||
#include "global.h"
|
||||
#include "objects/object_al/object_al.h"
|
||||
|
||||
struct DmAl;
|
||||
|
||||
|
@ -9,11 +10,22 @@ typedef void (*DmAlActionFunc)(struct DmAl*, PlayState*);
|
|||
|
||||
typedef struct DmAl {
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x144 */ char unk_144[0x44];
|
||||
/* 0x144 */ SkelAnime skelAnime;
|
||||
/* 0x188 */ DmAlActionFunc actionFunc;
|
||||
/* 0x18C */ char unk_18C[0x2D4];
|
||||
/* 0x18C */ MtxF shawlMatrices[6];
|
||||
/* 0x30C */ Vec3s jointTable[MADAME_AROMA_LIMB_MAX];
|
||||
/* 0x3AE */ Vec3s morphTable[MADAME_AROMA_LIMB_MAX];
|
||||
/* 0x450 */ u8 action;
|
||||
/* 0x454 */ s32 animationIndex;
|
||||
/* 0x458 */ s32 animationIndex2;
|
||||
/* 0x45C */ s32 unk_45C;
|
||||
} DmAl; // size = 0x460
|
||||
|
||||
typedef enum {
|
||||
/* 0x0 */ MADAME_AROMA_ANIMATION_0,
|
||||
/* 0x1 */ MADAME_AROMA_ANIMATION_1
|
||||
} DmAlAnimations;
|
||||
|
||||
extern const ActorInit Dm_Al_InitVars;
|
||||
|
||||
#endif // Z_DM_AL_H
|
||||
|
|
|
@ -129,8 +129,9 @@ static AnimationInfoS sAnimations[] = {
|
|||
Vec3f D_80BE0070 = { 1000.0f, 0.0f, 0.0f };
|
||||
|
||||
Gfx* D_80BE007C[] = {
|
||||
object_al_DL_006598, object_al_DL_005920, object_al_DL_005878,
|
||||
object_al_DL_0057D0, object_al_DL_005728, object_al_DL_005680,
|
||||
gMadameAromaShawlMiddleDL, gMadameAromaShawlUpperDL,
|
||||
gMadameAromaShawlLeftLowerMiddleDL, gMadameAromaShawlLeftLowerDL,
|
||||
gMadameAromaShawlRightLowerMiddleDL, gMadameAromaShawlRightLowerDL,
|
||||
};
|
||||
|
||||
Actor* func_80BDE1A0(EnAl* this, PlayState* play, u8 arg0, s16 arg1) {
|
||||
|
@ -780,7 +781,8 @@ void EnAl_Init(Actor* thisx, PlayState* play) {
|
|||
EnAl* this = THIS;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 0.0f);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_al_Skel_00A0D8, NULL, this->jointTable, this->morphTable, 27);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gMadameAromaSkel, NULL, this->jointTable, this->morphTable,
|
||||
MADAME_AROMA_LIMB_MAX);
|
||||
this->unk_4F8 = -1;
|
||||
func_80BDE27C(this, 1);
|
||||
Collider_InitAndSetCylinder(play, &this->unk_310, &this->actor, &sCylinderInit);
|
||||
|
@ -817,16 +819,16 @@ void EnAl_Update(Actor* thisx, PlayState* play) {
|
|||
|
||||
s32 EnAl_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
|
||||
switch (limbIndex) {
|
||||
case 3:
|
||||
case 11:
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
case MADAME_AROMA_LIMB_SHAWL_MIDDLE:
|
||||
case MADAME_AROMA_LIMB_SHAWL_UPPER:
|
||||
case MADAME_AROMA_LIMB_SHAWL_LEFT_LOWER_MIDDLE:
|
||||
case MADAME_AROMA_LIMB_SHAWL_LEFT_LOWER:
|
||||
case MADAME_AROMA_LIMB_SHAWL_RIGHT_LOWER_MIDDLE:
|
||||
case MADAME_AROMA_LIMB_SHAWL_RIGHT_LOWER:
|
||||
*dList = NULL;
|
||||
break;
|
||||
|
||||
case 16:
|
||||
case MADAME_AROMA_LIMB_HEAD:
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
|
@ -836,31 +838,31 @@ void EnAl_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot,
|
|||
EnAl* this = THIS;
|
||||
|
||||
switch (limbIndex) {
|
||||
case 3:
|
||||
case MADAME_AROMA_LIMB_SHAWL_MIDDLE:
|
||||
Matrix_Get(&this->unk_190[0]);
|
||||
break;
|
||||
|
||||
case 11:
|
||||
case MADAME_AROMA_LIMB_SHAWL_UPPER:
|
||||
Matrix_Get(&this->unk_190[1]);
|
||||
break;
|
||||
|
||||
case 12:
|
||||
case MADAME_AROMA_LIMB_SHAWL_LEFT_LOWER_MIDDLE:
|
||||
Matrix_Get(&this->unk_190[2]);
|
||||
break;
|
||||
|
||||
case 13:
|
||||
case MADAME_AROMA_LIMB_SHAWL_LEFT_LOWER:
|
||||
Matrix_Get(&this->unk_190[3]);
|
||||
break;
|
||||
|
||||
case 14:
|
||||
case MADAME_AROMA_LIMB_SHAWL_RIGHT_LOWER_MIDDLE:
|
||||
Matrix_Get(&this->unk_190[4]);
|
||||
break;
|
||||
|
||||
case 15:
|
||||
case MADAME_AROMA_LIMB_SHAWL_RIGHT_LOWER:
|
||||
Matrix_Get(&this->unk_190[5]);
|
||||
break;
|
||||
|
||||
case 16:
|
||||
case MADAME_AROMA_LIMB_HEAD:
|
||||
Matrix_MultVec3f(&D_80BE0070, &this->actor.focus.pos);
|
||||
Math_Vec3s_Copy(&this->actor.focus.rot, &this->actor.world.rot);
|
||||
break;
|
||||
|
|
|
@ -16930,14 +16930,14 @@
|
|||
0x80C1B9D4:("func_80C1B9D4",),
|
||||
0x80C1BAC8:("EnFall2_Update",),
|
||||
0x80C1BAEC:("EnFall2_Draw",),
|
||||
0x80C1BD90:("func_80C1BD90",),
|
||||
0x80C1BD90:("DmAl_ChangeAnimation",),
|
||||
0x80C1BDD8:("func_80C1BDD8",),
|
||||
0x80C1BF08:("DmAl_Init",),
|
||||
0x80C1BFB8:("DmAl_Destroy",),
|
||||
0x80C1BFC8:("DmAl_Update",),
|
||||
0x80C1C028:("func_80C1C028",),
|
||||
0x80C1C064:("func_80C1C064",),
|
||||
0x80C1C11C:("func_80C1C11C",),
|
||||
0x80C1C028:("DmAl_OverrideLimbDraw",),
|
||||
0x80C1C064:("DmAl_PostLimbDraw",),
|
||||
0x80C1C11C:("DmAl_TransformLimbDraw",),
|
||||
0x80C1C130:("DmAl_Draw",),
|
||||
0x80C1C410:("func_80C1C410",),
|
||||
0x80C1C4D8:("func_80C1C4D8",),
|
||||
|
|
|
@ -16582,7 +16582,7 @@
|
|||
0x80C1C250:("Dm_Al_InitVars","UNK_TYPE1","",0x1),
|
||||
0x80C1C270:("D_80C1C270","UNK_TYPE1","",0x1),
|
||||
0x80C1C280:("D_80C1C280","UNK_TYPE4","",0x4),
|
||||
0x80C1C294:("D_80C1C294","UNK_TYPE4","",0x4),
|
||||
0x80C1C294:("sDlists","UNK_TYPE4","",0x4),
|
||||
0x80C1C2AC:("D_80C1C2AC","UNK_TYPE1","",0x1),
|
||||
0x80C1C2B0:("jtbl_80C1C2B0","UNK_PTR","",0x4),
|
||||
0x80C1C2E4:("jtbl_80C1C2E4","UNK_PTR","",0x4),
|
||||
|
|
Loading…
Reference in New Issue