mirror of
https://github.com/zeldaret/oot
synced 2026-08-01 00:08:38 -04:00
EnHy + objects docs (#1499)
* document object_bba * Clean up cne * object bob * object_aob * object_cob * object_bji * object_ahg * object_boj * All functions named plus some cleanup * enums * Remove body wiggle comments * Format * Remove case comments * comments with default * Format * format
This commit is contained in:
+21
-21
@@ -112,67 +112,67 @@ u16 sMaskReactionSetTextIds[MASK_REACTION_SET_MAX][PLAYER_MASK_MAX] = {
|
||||
// MASK_REACTION_SET_DANCING_COUPLE
|
||||
{ 0x0000, 0x711C, 0x711E, 0x711C, 0x711F, 0x711E, 0x711C, 0x711D, 0x711F },
|
||||
|
||||
// MASK_REACTION_SET_37
|
||||
// MASK_REACTION_SET_DOG_LADY
|
||||
{ 0x0000, 0x7104, 0x7105, 0x7107, 0x7107, 0x7105, 0x7106, 0x7107, 0x7107 },
|
||||
|
||||
// MASK_REACTION_SET_38
|
||||
// MASK_REACTION_SET_WOMAN_3
|
||||
{ 0x0000, 0x7107, 0x7105, 0x7107, 0x7107, 0x7106, 0x7107, 0x7107, 0x7105 },
|
||||
|
||||
// MASK_REACTION_SET_39
|
||||
// MASK_REACTION_SET_MAN_1_BEARD
|
||||
{ 0x0000, 0x7113, 0x7117, 0x7113, 0x7110, 0x7112, 0x7112, 0x7116, 0x7112 },
|
||||
|
||||
// MASK_REACTION_SET_40
|
||||
// MASK_REACTION_SET_MAN_2_BALD
|
||||
{ 0x0000, 0x7113, 0x7113, 0x7113, 0x7113, 0x7113, 0x7113, 0x7111, 0x7113 },
|
||||
|
||||
// MASK_REACTION_SET_41
|
||||
// MASK_REACTION_SET_MAN_1_SHAVED_BLACK_SHIRT
|
||||
{ 0x0000, 0x7113, 0x7117, 0x7113, 0x7110, 0x7112, 0x7112, 0x7116, 0x7112 },
|
||||
|
||||
// MASK_REACTION_SET_42
|
||||
// MASK_REACTION_SET_BEGGAR
|
||||
{ 0x0000, 0x7117, 0x7117, 0x7117, 0x7117, 0x7117, 0x7117, 0x7117, 0x7113 },
|
||||
|
||||
// MASK_REACTION_SET_43
|
||||
// MASK_REACTION_SET_OLD_WOMAN
|
||||
{ 0x0000, 0x7101, 0x7100, 0x7102, 0x7103, 0x7101, 0x7100, 0x7102, 0x7103 },
|
||||
|
||||
// MASK_REACTION_SET_44
|
||||
// MASK_REACTION_SET_OLD_MAN
|
||||
{ 0x0000, 0x7100, 0x7102, 0x7100, 0x7100, 0x7100, 0x7100, 0x7100, 0x7102 },
|
||||
|
||||
// MASK_REACTION_SET_45
|
||||
// MASK_REACTION_SET_YOUNG_WOMAN_BROWN_HAIR
|
||||
{ 0x0000, 0x710A, 0x7109, 0x7109, 0x710A, 0x710B, 0x7108, 0x7109, 0x710B },
|
||||
|
||||
// MASK_REACTION_SET_46
|
||||
// MASK_REACTION_SET_MAN_2_MUSTACHE_RED_SHIRT
|
||||
{ 0x0000, 0x7117, 0x7112, 0x7113, 0x7110, 0x710C, 0x7117, 0x710E, 0x7112 },
|
||||
|
||||
// MASK_REACTION_SET_47
|
||||
// MASK_REACTION_SET_MAN_2_MUSTACHE_BLUE_SHIRT
|
||||
{ 0x0000, 0x710D, 0x710F, 0x710C, 0x7112, 0x710D, 0x710C, 0x710C, 0x710F },
|
||||
|
||||
// MASK_REACTION_SET_48
|
||||
// MASK_REACTION_SET_YOUNG_WOMAN_ORANGE_HAIR
|
||||
{ 0x0000, 0x710A, 0x7109, 0x711A, 0x710A, 0x7109, 0x7108, 0x710B, 0x7109 },
|
||||
|
||||
// MASK_REACTION_SET_49
|
||||
// MASK_REACTION_SET_MAN_2_ALT_MUSTACHE
|
||||
{ 0x0000, 0x710C, 0x710F, 0x7113, 0x7110, 0x710D, 0x7112, 0x7116, 0x710D },
|
||||
|
||||
// MASK_REACTION_SET_50
|
||||
// MASK_REACTION_SET_MAN_1_BOWL_CUT_PURPLE_SHIRT
|
||||
{ 0x0000, 0x7115, 0x7114, 0x7114, 0x7115, 0x7114, 0x7114, 0x7116, 0x7117 },
|
||||
|
||||
// MASK_REACTION_SET_51
|
||||
// MASK_REACTION_SET_MAN_2_BEARD
|
||||
{ 0x0000, 0x7113, 0x710F, 0x7113, 0x7110, 0x710C, 0x711A, 0x710D, 0x7112 },
|
||||
|
||||
// MASK_REACTION_SET_52
|
||||
// MASK_REACTION_SET_OLD_MAN_BALD_BROWN_ROBE
|
||||
{ 0x0000, 0x7101, 0x7102, 0x7103, 0x7101, 0x7100, 0x7100, 0x7102, 0x7100 },
|
||||
|
||||
// MASK_REACTION_SET_53
|
||||
// MASK_REACTION_SET_MAN_2_MUSTACHE_WHITE_SHIRT
|
||||
{ 0x0000, 0x7112, 0x710E, 0x7112, 0x710E, 0x710D, 0x7112, 0x710E, 0x710F },
|
||||
|
||||
// MASK_REACTION_SET_54
|
||||
// MASK_REACTION_SET_MAN_1_SHAVED_GREEN_SHIRT
|
||||
{ 0x0000, 0x7142, 0x7141, 0x7142, 0x7143, 0x7140, 0x7140, 0x7141, 0x7143 },
|
||||
|
||||
// MASK_REACTION_SET_55
|
||||
// MASK_REACTION_SET_WOMAN_2
|
||||
{ 0x0000, 0x713C, 0x713D, 0x713D, 0x713E, 0x713E, 0x713F, 0x713D, 0x713F },
|
||||
|
||||
// MASK_REACTION_SET_56
|
||||
// MASK_REACTION_SET_OLD_MAN_BALD_PURPLE_ROBE
|
||||
{ 0x0000, 0x7101, 0x7102, 0x7103, 0x7101, 0x7100, 0x7100, 0x7102, 0x7100 },
|
||||
|
||||
// MASK_REACTION_SET_57
|
||||
// MASK_REACTION_SET_MAN_1_BOWL_CUT_GREEN_SHIRT
|
||||
{ 0x0000, 0x7113, 0x7117, 0x7113, 0x7110, 0x7112, 0x7112, 0x7116, 0x7112 },
|
||||
|
||||
// MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_1
|
||||
|
||||
@@ -504,7 +504,7 @@ void DemoEc_DrawKokiriGirl(DemoEc* this, PlayState* play) {
|
||||
}
|
||||
void DemoEc_InitOldMan(DemoEc* this, PlayState* play) {
|
||||
DemoEc_UseDrawObject(this, play);
|
||||
DemoEc_InitSkelAnime(this, play, &object_bji_Skel_0000F0);
|
||||
DemoEc_InitSkelAnime(this, play, &gHylianOldManSkel);
|
||||
DemoEc_UseAnimationObject(this, play);
|
||||
DemoEc_ChangeAnimation(this, &gDemoEcOldManAnim, 0, 0.0f, false);
|
||||
func_8096D5D4(this, play);
|
||||
@@ -522,9 +522,9 @@ void DemoEc_UpdateOldMan(DemoEc* this, PlayState* play) {
|
||||
|
||||
void DemoEc_DrawOldMan(DemoEc* this, PlayState* play) {
|
||||
static void* eyeTextures[] = {
|
||||
object_bji_Tex_0005FC,
|
||||
object_bji_Tex_0009FC,
|
||||
object_bji_Tex_000DFC,
|
||||
gHylianOldManEyeOpenTex,
|
||||
gHylianOldManEyeHalfTex,
|
||||
gHylianOldManEyeClosedTex,
|
||||
};
|
||||
static u8 color1[] = { 0, 50, 100, 255 };
|
||||
static u8 color2[] = { 0, 50, 160, 255 };
|
||||
@@ -536,7 +536,7 @@ void DemoEc_DrawOldMan(DemoEc* this, PlayState* play) {
|
||||
|
||||
void DemoEc_InitBeardedMan(DemoEc* this, PlayState* play) {
|
||||
DemoEc_UseDrawObject(this, play);
|
||||
DemoEc_InitSkelAnime(this, play, &object_ahg_Skel_0000F0);
|
||||
DemoEc_InitSkelAnime(this, play, &gHylianMan1Skel);
|
||||
DemoEc_UseAnimationObject(this, play);
|
||||
DemoEc_ChangeAnimation(this, &gDemoEcOldManAnim, 0, 0.0f, false);
|
||||
func_8096D5D4(this, play);
|
||||
@@ -554,9 +554,9 @@ void DemoEc_UpdateBeardedMan(DemoEc* this, PlayState* play) {
|
||||
|
||||
void DemoEc_DrawBeardedMan(DemoEc* this, PlayState* play) {
|
||||
static void* eyeTextures[] = {
|
||||
object_ahg_Tex_00057C,
|
||||
object_ahg_Tex_00067C,
|
||||
object_ahg_Tex_00077C,
|
||||
gHylianMan1BeardedEyeOpenTex,
|
||||
gHylianMan1BeardedEyeHalfTex,
|
||||
gHylianMan1BeardedEyeClosedTex,
|
||||
};
|
||||
static u8 color1[] = { 255, 255, 255, 255 };
|
||||
static u8 color2[] = { 255, 255, 255, 255 };
|
||||
@@ -568,7 +568,7 @@ void DemoEc_DrawBeardedMan(DemoEc* this, PlayState* play) {
|
||||
|
||||
void DemoEc_InitWoman(DemoEc* this, PlayState* play) {
|
||||
DemoEc_UseDrawObject(this, play);
|
||||
DemoEc_InitSkelAnime(this, play, &object_bob_Skel_0000F0);
|
||||
DemoEc_InitSkelAnime(this, play, &gHylianWoman2Skel);
|
||||
DemoEc_UseAnimationObject(this, play);
|
||||
DemoEc_ChangeAnimation(this, &gDemoEcOldManAnim, 0, 0.0f, false);
|
||||
func_8096D5D4(this, play);
|
||||
@@ -586,9 +586,9 @@ void DemoEc_UpdateWoman(DemoEc* this, PlayState* play) {
|
||||
|
||||
void DemoEc_DrawWoman(DemoEc* this, PlayState* play) {
|
||||
static void* eyeTextures[] = {
|
||||
object_bob_Tex_0007C8,
|
||||
object_bob_Tex_000FC8,
|
||||
object_bob_Tex_0017C8,
|
||||
gHylianWoman2EyeOpenTex,
|
||||
gHylianWoman2EyeHalfTex,
|
||||
gHylianWoman2EyeClosedTex,
|
||||
};
|
||||
s32 eyeTexIndex = this->eyeTexIndex;
|
||||
void* eyeTexture = eyeTextures[eyeTexIndex];
|
||||
@@ -598,7 +598,7 @@ void DemoEc_DrawWoman(DemoEc* this, PlayState* play) {
|
||||
|
||||
void DemoEc_InitOldWoman(DemoEc* this, PlayState* play) {
|
||||
DemoEc_UseDrawObject(this, play);
|
||||
DemoEc_InitSkelAnime(this, play, &object_bba_Skel_0000F0);
|
||||
DemoEc_InitSkelAnime(this, play, &gHylianOldWomanSkel);
|
||||
DemoEc_UseAnimationObject(this, play);
|
||||
DemoEc_ChangeAnimation(this, &gDemoEcOldManAnim, 0, 0.0f, false);
|
||||
func_8096D5D4(this, play);
|
||||
@@ -614,7 +614,7 @@ void DemoEc_UpdateOldWoman(DemoEc* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void DemoEc_DrawOldWoman(DemoEc* this, PlayState* play) {
|
||||
DemoEc_DrawSkeleton(this, play, &object_bba_Tex_0004C8, NULL, NULL, NULL);
|
||||
DemoEc_DrawSkeleton(this, play, &gHylianOldWomanEyeTex, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
void DemoEc_InitBossCarpenter(DemoEc* this, PlayState* play) {
|
||||
|
||||
@@ -80,8 +80,7 @@ void EnGuest_Update(Actor* thisx, PlayState* play) {
|
||||
this->actor.flags &= ~ACTOR_FLAG_4;
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_boj_Skel_0000F0, NULL, this->jointTable, this->morphTable,
|
||||
16);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gHylianMan2Skel, NULL, this->jointTable, this->morphTable, 16);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->osAnimeObjectSlot].segment);
|
||||
Animation_Change(&this->skelAnime, &gObjOsAnim_42AC, 1.0f, 0.0f, Animation_GetLastFrame(&gObjOsAnim_42AC),
|
||||
ANIMMODE_LOOP, 0.0f);
|
||||
@@ -186,7 +185,7 @@ s32 EnGuest_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
|
||||
OPEN_DISPS(play->state.gfxCtx, "../z_en_guest.c", 352);
|
||||
|
||||
if (limbIndex == 15) {
|
||||
*dList = object_boj_DL_0059B0;
|
||||
*dList = gHylianMan2BeardedHeadDL;
|
||||
Matrix_Translate(1400.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
limbRot = this->interactInfo.headRot;
|
||||
Matrix_RotateX(BINANG_TO_RAD_ALT(limbRot.y), MTXMODE_APPLY);
|
||||
@@ -212,9 +211,9 @@ s32 EnGuest_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
|
||||
|
||||
void EnGuest_Draw(Actor* thisx, PlayState* play) {
|
||||
static void* D_80A50BA4[] = {
|
||||
object_boj_Tex_0005FC,
|
||||
object_boj_Tex_0006FC,
|
||||
object_boj_Tex_0007FC,
|
||||
gHylianMan2MustachedEyeOpenTex,
|
||||
gHylianMan2MustachedEyeHalfTex,
|
||||
gHylianMan2MustachedEyeClosedTex,
|
||||
};
|
||||
EnGuest* this = (EnGuest*)thisx;
|
||||
s32 pad;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,31 +4,54 @@
|
||||
#include "ultra64.h"
|
||||
#include "global.h"
|
||||
|
||||
#define ENHY_GET_TYPE(thisx) PARAMS_GET_S((thisx)->params, 0, 7)
|
||||
#define ENHY_GET_PATH_INDEX(thisx) PARAMS_GET_S((thisx)->params, 7, 4)
|
||||
|
||||
typedef enum EnHyType {
|
||||
/* 0 */ ENHY_TYPE_AOB,
|
||||
/* 1 */ ENHY_TYPE_COB,
|
||||
/* 2 */ ENHY_TYPE_AHG_2,
|
||||
/* 3 */ ENHY_TYPE_BOJ_3,
|
||||
/* 4 */ ENHY_TYPE_AHG_4,
|
||||
/* 5 */ ENHY_TYPE_BOJ_5,
|
||||
/* 6 */ ENHY_TYPE_BBA,
|
||||
/* 7 */ ENHY_TYPE_BJI_7,
|
||||
/* 8 */ ENHY_TYPE_CNE_8,
|
||||
/* 9 */ ENHY_TYPE_BOJ_9,
|
||||
/* 10 */ ENHY_TYPE_BOJ_10,
|
||||
/* 11 */ ENHY_TYPE_CNE_11,
|
||||
/* 12 */ ENHY_TYPE_BOJ_12,
|
||||
/* 13 */ ENHY_TYPE_AHG_13,
|
||||
/* 14 */ ENHY_TYPE_BOJ_14,
|
||||
/* 15 */ ENHY_TYPE_BJI_15,
|
||||
/* 16 */ ENHY_TYPE_BOJ_16,
|
||||
/* 17 */ ENHY_TYPE_AHG_17,
|
||||
/* 18 */ ENHY_TYPE_BOB_18,
|
||||
/* 19 */ ENHY_TYPE_BJI_19,
|
||||
/* 20 */ ENHY_TYPE_AHG_20,
|
||||
/* 0 */ ENHY_TYPE_DOG_LADY,
|
||||
/* 1 */ ENHY_TYPE_WOMAN_3,
|
||||
/* 2 */ ENHY_TYPE_MAN_1_BEARD,
|
||||
/* 3 */ ENHY_TYPE_MAN_2_BALD,
|
||||
/* 4 */ ENHY_TYPE_MAN_1_SHAVED_BLACK_SHIRT,
|
||||
/* 5 */ ENHY_TYPE_BEGGAR,
|
||||
/* 6 */ ENHY_TYPE_OLD_WOMAN,
|
||||
/* 7 */ ENHY_TYPE_OLD_MAN,
|
||||
/* 8 */ ENHY_TYPE_YOUNG_WOMAN_BROWN_HAIR,
|
||||
/* 9 */ ENHY_TYPE_MAN_2_MUSTACHE_RED_SHIRT,
|
||||
/* 10 */ ENHY_TYPE_MAN_2_MUSTACHE_BLUE_SHIRT,
|
||||
/* 11 */ ENHY_TYPE_YOUNG_WOMAN_ORANGE_HAIR,
|
||||
/* 12 */ ENHY_TYPE_MAN_2_ALT_MUSTACHE,
|
||||
/* 13 */ ENHY_TYPE_MAN_1_BOWL_CUT_PURPLE_SHIRT,
|
||||
/* 14 */ ENHY_TYPE_MAN_2_BEARD,
|
||||
/* 15 */ ENHY_TYPE_OLD_MAN_BALD_BROWN_ROBE,
|
||||
/* 16 */ ENHY_TYPE_MAN_2_MUSTACHE_WHITE_SHIRT,
|
||||
/* 17 */ ENHY_TYPE_MAN_1_SHAVED_GREEN_SHIRT,
|
||||
/* 18 */ ENHY_TYPE_WOMAN_2,
|
||||
/* 19 */ ENHY_TYPE_OLD_MAN_BALD_PURPLE_ROBE,
|
||||
/* 20 */ ENHY_TYPE_MAN_1_BOWL_CUT_GREEN_SHIRT,
|
||||
/* 21 */ ENHY_TYPE_MAX
|
||||
} EnHyType;
|
||||
|
||||
typedef enum EnHyLimb {
|
||||
/* 0x00 */ ENHY_LIMB_NONE,
|
||||
/* 0x01 */ ENHY_LIMB_PELVIS,
|
||||
/* 0x02 */ ENHY_LIMB_LEFT_THIGH,
|
||||
/* 0x03 */ ENHY_LIMB_LEFT_SHIN,
|
||||
/* 0x04 */ ENHY_LIMB_LEFT_FOOT,
|
||||
/* 0x05 */ ENHY_LIMB_RIGHT_THIGH,
|
||||
/* 0x06 */ ENHY_LIMB_RIGHT_SHIN,
|
||||
/* 0x07 */ ENHY_LIMB_RIGHT_FOOT,
|
||||
/* 0x08 */ ENHY_LIMB_TORSO,
|
||||
/* 0x09 */ ENHY_LIMB_LEFT_UPPER_ARM,
|
||||
/* 0x0A */ ENHY_LIMB_LEFT_FOREARM,
|
||||
/* 0x0B */ ENHY_LIMB_LEFT_HAND,
|
||||
/* 0x0C */ ENHY_LIMB_RIGHT_UPPER_ARM,
|
||||
/* 0x0D */ ENHY_LIMB_RIGHT_FOREARM,
|
||||
/* 0x0E */ ENHY_LIMB_RIGHT_HAND,
|
||||
/* 0x0F */ ENHY_LIMB_HEAD,
|
||||
/* 0x10 */ ENHY_LIMB_MAX
|
||||
} EnHyLimb;
|
||||
|
||||
struct EnHy;
|
||||
|
||||
typedef void (*EnHyActionFunc)(struct EnHy*, PlayState*);
|
||||
@@ -40,25 +63,25 @@ typedef struct EnHy {
|
||||
/* 0x0194 */ char unk_194; // unused
|
||||
/* 0x0195 */ u8 pathReverse;
|
||||
/* 0x0196 */ s8 objectSlotHead;
|
||||
/* 0x0197 */ s8 objectSlotSkel2; // 7 < limb < 15 (upper part?) (always same as objectSlotSkel1)
|
||||
/* 0x0198 */ s8 objectSlotSkel1; // sets the object used when drawing the skeleton for limb <= 7 (lower part?)
|
||||
/* 0x0197 */ s8 objectSlotUpperSkel; // upper body limbs object, 7 < limb < 15 (always same as objectSlotLowerSkel),
|
||||
/* 0x0198 */ s8 objectSlotLowerSkel; // lower body limbs object, limb <= 7
|
||||
/* 0x0199 */ s8 objectSlotOsAnime;
|
||||
/* 0x019C */ ColliderCylinder collider;
|
||||
/* 0x01E8 */ NpcInteractInfo interactInfo;
|
||||
/* 0x0210 */ Path* path;
|
||||
/* 0x0214 */ s8 waypoint;
|
||||
/* 0x0215 */ s8 unk_215;
|
||||
/* 0x0215 */ s8 playedSfx;
|
||||
/* 0x0216 */ char unk_216[2]; // unused
|
||||
/* 0x0218 */ s16 curEyeIndex;
|
||||
/* 0x021A */ s16 nextEyeIndexTimer;
|
||||
/* 0x021C */ s16 unk_21C[16]; // bodyWiggleY ?
|
||||
/* 0x023C */ s16 unk_23C[16]; // bodyWiggleZ ?
|
||||
/* 0x021C */ s16 fidgetTableY[16];
|
||||
/* 0x023C */ s16 fidgetTableZ[16];
|
||||
/* 0x025C */ f32 interactRange;
|
||||
/* 0x0260 */ s32 unkGetItemId;
|
||||
/* 0x0260 */ s32 getItemId;
|
||||
/* 0x0264 */ Vec3f modelOffset;
|
||||
/* 0x0270 */ Vec3s jointTable[16];
|
||||
/* 0x02D0 */ Vec3s morphTable[16];
|
||||
/* 0x0330 */ u16 unk_330;
|
||||
/* 0x0270 */ Vec3s jointTable[ENHY_LIMB_MAX];
|
||||
/* 0x02D0 */ Vec3s morphTable[ENHY_LIMB_MAX];
|
||||
/* 0x0330 */ u16 talonEventChkInf;
|
||||
} EnHy; // size = 0x0334
|
||||
|
||||
#endif
|
||||
|
||||
@@ -61,8 +61,7 @@ static s16 sObjectIds[6] = {
|
||||
};
|
||||
|
||||
static FlexSkeletonHeader* sSkeletons[6] = {
|
||||
&object_ahg_Skel_0000F0, &object_boj_Skel_0000F0, &object_boj_Skel_0000F0,
|
||||
&object_boj_Skel_0000F0, &object_boj_Skel_0000F0, &object_boj_Skel_0000F0,
|
||||
&gHylianMan1Skel, &gHylianMan2Skel, &gHylianMan2Skel, &gHylianMan2Skel, &gHylianMan2Skel, &gHylianMan2Skel,
|
||||
};
|
||||
|
||||
static AnimationHeader* sAnimations[6] = {
|
||||
|
||||
Reference in New Issue
Block a user