mirror of
https://github.com/zeldaret/mm.git
synced 2026-06-27 18:12:51 -04:00
Document object_bob (#1656)
* Document object_bob * Better prefix for object_cne * object_bba better prefix
This commit is contained in:
+21
-21
@@ -12,27 +12,27 @@
|
||||
#include "objects/object_os_anime/object_os_anime.h"
|
||||
|
||||
static AnimationInfoS sAnimationInfo[ENHY_ANIM_MAX] = {
|
||||
{ &gMamamuYanUnusedIdleAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_AOB_0
|
||||
{ &object_boj_Anim_001494, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BOJ_1
|
||||
{ &object_boj_Anim_001494, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, // ENHY_ANIM_BOJ_2
|
||||
{ &object_boj_Anim_001908, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BOJ_3
|
||||
{ &object_boj_Anim_001908, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, // ENHY_ANIM_BOJ_4
|
||||
{ &object_boj_Anim_0008C0, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BOJ_5
|
||||
{ &gBbaIdleHoldingBagAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BBA_6
|
||||
{ &object_bji_Anim_000FDC, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BJI_7
|
||||
{ &object_bji_Anim_000AB0, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, // ENHY_ANIM_BJI_8
|
||||
{ &object_bji_Anim_00066C, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BJI_9
|
||||
{ &object_boj_Anim_00071C, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BOJ_10
|
||||
{ &object_os_anime_Anim_001EE0, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_OS_ANIME_11
|
||||
{ &object_boj_Anim_00DED8, 1.5f, 0, -1, ANIMMODE_ONCE, 0 }, // ENHY_ANIM_BOJ_12
|
||||
{ &object_boj_Anim_00F920, 1.5f, 0, -1, ANIMMODE_ONCE, 0 }, // ENHY_ANIM_BOJ_13
|
||||
{ &object_boj_Anim_00FC1C, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BOJ_14
|
||||
{ &object_boj_Anim_00FEE4, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BOJ_15
|
||||
{ &object_boj_Anim_010330, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BOJ_16
|
||||
{ &object_boj_Anim_00FC1C, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, // ENHY_ANIM_BOJ_17
|
||||
{ &object_boj_Anim_00FEE4, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, // ENHY_ANIM_BOJ_18
|
||||
{ &object_boj_Anim_010330, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, // ENHY_ANIM_BOJ_19
|
||||
{ &object_boj_Anim_005D9C, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, // ENHY_ANIM_BOJ_20
|
||||
{ &gMamamuYanUnusedIdleAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_AOB_0
|
||||
{ &object_boj_Anim_001494, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BOJ_1
|
||||
{ &object_boj_Anim_001494, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, // ENHY_ANIM_BOJ_2
|
||||
{ &object_boj_Anim_001908, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BOJ_3
|
||||
{ &object_boj_Anim_001908, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, // ENHY_ANIM_BOJ_4
|
||||
{ &object_boj_Anim_0008C0, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BOJ_5
|
||||
{ &gBombShopLadyIdleHoldingBagAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BBA_6
|
||||
{ &object_bji_Anim_000FDC, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BJI_7
|
||||
{ &object_bji_Anim_000AB0, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, // ENHY_ANIM_BJI_8
|
||||
{ &object_bji_Anim_00066C, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BJI_9
|
||||
{ &object_boj_Anim_00071C, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BOJ_10
|
||||
{ &object_os_anime_Anim_001EE0, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_OS_ANIME_11
|
||||
{ &object_boj_Anim_00DED8, 1.5f, 0, -1, ANIMMODE_ONCE, 0 }, // ENHY_ANIM_BOJ_12
|
||||
{ &object_boj_Anim_00F920, 1.5f, 0, -1, ANIMMODE_ONCE, 0 }, // ENHY_ANIM_BOJ_13
|
||||
{ &object_boj_Anim_00FC1C, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BOJ_14
|
||||
{ &object_boj_Anim_00FEE4, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BOJ_15
|
||||
{ &object_boj_Anim_010330, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, // ENHY_ANIM_BOJ_16
|
||||
{ &object_boj_Anim_00FC1C, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, // ENHY_ANIM_BOJ_17
|
||||
{ &object_boj_Anim_00FEE4, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, // ENHY_ANIM_BOJ_18
|
||||
{ &object_boj_Anim_010330, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, // ENHY_ANIM_BOJ_19
|
||||
{ &object_boj_Anim_005D9C, 1.0f, 0, -1, ANIMMODE_LOOP, -8 }, // ENHY_ANIM_BOJ_20
|
||||
};
|
||||
|
||||
s8 gEnHyLimbToBodyParts[ENHY_LIMB_MAX] = {
|
||||
|
||||
@@ -64,12 +64,13 @@ typedef enum {
|
||||
} BombShopLadyAnimation;
|
||||
|
||||
static AnimationInfo sAnimationInfo[BOMB_SHOP_LADY_ANIM_MAX] = {
|
||||
{ &gBbaIdleHoldingBagAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // BOMB_SHOP_LADY_ANIM_IDLE_HOLDING_BAG
|
||||
{ &gBbaIdleAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // BOMB_SHOP_LADY_ANIM_IDLE
|
||||
{ &gBbaWalkingHoldingBagAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // BOMB_SHOP_LADY_ANIM_WALKING_HOLDING_BAG
|
||||
{ &gBbaKnockedOverAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f }, // BOMB_SHOP_LADY_ANIM_KNOCKED_OVER
|
||||
{ &gBbaLyingDownAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // BOMB_SHOP_LADY_ANIM_LYING_DOWN
|
||||
{ &gBbaSwayAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // BOMB_SHOP_LADY_ANIM_SWAY
|
||||
{ &gBombShopLadyIdleHoldingBagAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // BOMB_SHOP_LADY_ANIM_IDLE_HOLDING_BAG
|
||||
{ &gBombShopLadyIdleAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // BOMB_SHOP_LADY_ANIM_IDLE
|
||||
{ &gBombShopLadyWalkingHoldingBagAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP,
|
||||
0.0f }, // BOMB_SHOP_LADY_ANIM_WALKING_HOLDING_BAG
|
||||
{ &gBombShopLadyKnockedOverAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f }, // BOMB_SHOP_LADY_ANIM_KNOCKED_OVER
|
||||
{ &gBombShopLadyLyingDownAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // BOMB_SHOP_LADY_ANIM_LYING_DOWN
|
||||
{ &gBombShopLadySwayAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f }, // BOMB_SHOP_LADY_ANIM_SWAY
|
||||
};
|
||||
|
||||
static ColliderCylinderInit sCylinderInit = {
|
||||
@@ -353,7 +354,7 @@ void EnBaba_UpdateModel(EnBaba* this, PlayState* play) {
|
||||
Math_SmoothStepToS(&this->torsoRot.y, 0, 4, 0x3E8, 1);
|
||||
}
|
||||
|
||||
SubS_UpdateFidgetTables(play, this->fidgetTableY, this->fidgetTableZ, BBA_LIMB_MAX);
|
||||
SubS_UpdateFidgetTables(play, this->fidgetTableY, this->fidgetTableZ, BOMB_SHOP_LADY_LIMB_MAX);
|
||||
|
||||
if (this->stateFlags & BOMB_SHOP_LADY_STATE_VISIBLE) {
|
||||
EnBaba_UpdateCollider(this, play);
|
||||
@@ -498,8 +499,8 @@ void EnBaba_HandleSchedule(EnBaba* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void EnBaba_FinishInit(EnBaba* this, PlayState* play) {
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gBbaSkel, &gBbaWalkingHoldingBagAnim, this->jointTable,
|
||||
this->morphTable, BBA_LIMB_MAX);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gBombShopLadySkel, &gBombShopLadyWalkingHoldingBagAnim,
|
||||
this->jointTable, this->morphTable, BOMB_SHOP_LADY_LIMB_MAX);
|
||||
|
||||
this->actor.draw = EnBaba_Draw;
|
||||
this->stateFlags |= BOMB_SHOP_LADY_STATE_DRAW_SHADOW;
|
||||
@@ -757,24 +758,24 @@ void EnBaba_Update(Actor* thisx, PlayState* play) {
|
||||
s32 EnBaba_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
|
||||
EnBaba* this = THIS;
|
||||
|
||||
if (limbIndex == BBA_LIMB_NECK) {
|
||||
if (limbIndex == BOMB_SHOP_LADY_LIMB_NECK) {
|
||||
Matrix_Translate(1500.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
Matrix_RotateXS(this->headRot.y, MTXMODE_APPLY);
|
||||
Matrix_RotateZS(-this->headRot.x, MTXMODE_APPLY);
|
||||
Matrix_Translate(-1500.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
}
|
||||
|
||||
if (limbIndex == BBA_LIMB_UPPER_ROOT) {
|
||||
if (limbIndex == BOMB_SHOP_LADY_LIMB_UPPER_ROOT) {
|
||||
Matrix_RotateXS(-this->torsoRot.y, MTXMODE_APPLY);
|
||||
Matrix_RotateZS(-this->torsoRot.x, MTXMODE_APPLY);
|
||||
}
|
||||
|
||||
if ((limbIndex == BBA_LIMB_NECK) && this->msgFading && ((play->state.frames % 2) == 0)) {
|
||||
if ((limbIndex == BOMB_SHOP_LADY_LIMB_NECK) && this->msgFading && ((play->state.frames % 2) == 0)) {
|
||||
Matrix_Translate(40.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
}
|
||||
|
||||
if ((limbIndex == BBA_LIMB_UPPER_ROOT) || (limbIndex == BBA_LIMB_LEFT_UPPER_ARM) ||
|
||||
(limbIndex == BBA_LIMB_RIGHT_UPPER_ARM)) {
|
||||
if ((limbIndex == BOMB_SHOP_LADY_LIMB_UPPER_ROOT) || (limbIndex == BOMB_SHOP_LADY_LIMB_LEFT_UPPER_ARM) ||
|
||||
(limbIndex == BOMB_SHOP_LADY_LIMB_RIGHT_UPPER_ARM)) {
|
||||
rot->y += TRUNCF_BINANG(Math_SinS(this->fidgetTableY[limbIndex]) * 200.0f);
|
||||
rot->z += TRUNCF_BINANG(Math_CosS(this->fidgetTableZ[limbIndex]) * 200.0f);
|
||||
}
|
||||
@@ -782,7 +783,7 @@ s32 EnBaba_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
|
||||
if (((this->animIndex == BOMB_SHOP_LADY_ANIM_IDLE) || (this->animIndex == BOMB_SHOP_LADY_ANIM_KNOCKED_OVER) ||
|
||||
(this->animIndex == BOMB_SHOP_LADY_ANIM_LYING_DOWN) ||
|
||||
(BOMB_SHOP_LADY_GET_TYPE(&this->actor) == BOMB_SHOP_LADY_TYPE_SWAY)) &&
|
||||
(limbIndex == BBA_LIMB_BAG)) {
|
||||
(limbIndex == BOMB_SHOP_LADY_LIMB_BAG)) {
|
||||
*dList = NULL;
|
||||
}
|
||||
return false;
|
||||
@@ -792,7 +793,7 @@ void EnBaba_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot
|
||||
EnBaba* this = THIS;
|
||||
Vec3f sp18 = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
if (limbIndex == BBA_LIMB_HEAD) {
|
||||
if (limbIndex == BOMB_SHOP_LADY_LIMB_HEAD) {
|
||||
this->actor.focus.pos.x = this->actor.world.pos.x;
|
||||
this->actor.focus.pos.y = this->actor.world.pos.y;
|
||||
this->actor.focus.pos.z = this->actor.world.pos.z;
|
||||
@@ -814,7 +815,7 @@ void EnBaba_Draw(Actor* thisx, PlayState* play) {
|
||||
|
||||
Gfx_SetupDL37_Opa(play->state.gfxCtx);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(gBbaEyeTex));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(gBombShopLadyEyeTex));
|
||||
|
||||
SkelAnime_DrawTransformFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
|
||||
this->skelAnime.dListCount, EnBaba_OverrideLimbDraw, EnBaba_PostLimbDraw,
|
||||
|
||||
@@ -34,14 +34,14 @@ typedef struct EnBaba {
|
||||
/* 0x1E4 */ Path* path;
|
||||
/* 0x1E8 */ s16 waypoint;
|
||||
/* 0x1EA */ UNK_TYPE1 unk1EA[0x1C];
|
||||
/* 0x206 */ Vec3s jointTable[BBA_LIMB_MAX];
|
||||
/* 0x272 */ Vec3s morphTable[BBA_LIMB_MAX];
|
||||
/* 0x206 */ Vec3s jointTable[BOMB_SHOP_LADY_LIMB_MAX];
|
||||
/* 0x272 */ Vec3s morphTable[BOMB_SHOP_LADY_LIMB_MAX];
|
||||
/* 0x2DE */ Vec3s trackTarget;
|
||||
/* 0x2E4 */ Vec3s headRot;
|
||||
/* 0x2EA */ Vec3s torsoRot;
|
||||
/* 0x2F0 */ UNK_TYPE1 unk2F0[0x12];
|
||||
/* 0x302 */ s16 fidgetTableY[BBA_LIMB_MAX];
|
||||
/* 0x326 */ s16 fidgetTableZ[BBA_LIMB_MAX];
|
||||
/* 0x302 */ s16 fidgetTableY[BOMB_SHOP_LADY_LIMB_MAX];
|
||||
/* 0x326 */ s16 fidgetTableZ[BOMB_SHOP_LADY_LIMB_MAX];
|
||||
/* 0x34A */ UNK_TYPE1 unk34A[0xBA];
|
||||
/* 0x404 */ s16 sakonDeadTimer;
|
||||
/* 0x406 */ UNK_TYPE1 unk406[4];
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
*
|
||||
* Note: This actor was probably written with OOT's object_bba's skeleton in mind, and so this actor is very bugged.
|
||||
*
|
||||
* The main offender is that gBbaSkel has 18 limbs, while the system used (EnHy) expects 16 (see @bug in FinishInit
|
||||
* below).
|
||||
* The main offender is that gBombShopLadySkel has 18 limbs, while the system used (EnHy) expects 16 (see @bug in
|
||||
* FinishInit below).
|
||||
*
|
||||
* The draw functions also use different limbs than expected, which results in, for example, EnBba01's right arm and bag
|
||||
* following the player instead of her head and torso.
|
||||
@@ -156,9 +156,9 @@ s32 func_809CC270(EnBba01* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void EnBba01_FinishInit(EnHy* this, PlayState* play) {
|
||||
//! @bug: gBbaSkel does not match EnHy's skeleton assumptions.
|
||||
//! Since gBbaSkel has more limbs than expected, joint and morph tables will overflow
|
||||
if (EnHy_Init(this, play, &gBbaSkel, ENHY_ANIM_BBA_6)) {
|
||||
//! @bug: gBombShopLadySkel does not match EnHy's skeleton assumptions.
|
||||
//! Since gBombShopLadySkel has more limbs than expected, joint and morph tables will overflow
|
||||
if (EnHy_Init(this, play, &gBombShopLadySkel, ENHY_ANIM_BBA_6)) {
|
||||
this->actor.flags |= ACTOR_FLAG_TARGETABLE;
|
||||
this->actor.draw = EnBba01_Draw;
|
||||
this->waitingOnInit = false;
|
||||
@@ -262,7 +262,7 @@ s32 EnBba01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
|
||||
Matrix_MultVec3f(&zeroVec, &this->enHy.bodyPartsPos[bodyPartIndex]);
|
||||
}
|
||||
|
||||
if (limbIndex == BBA_LIMB_RIGHT_LOWER_ARM_ROOT) {
|
||||
if (limbIndex == BOMB_SHOP_LADY_LIMB_RIGHT_LOWER_ARM_ROOT) {
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.headObjectSlot].segment);
|
||||
@@ -272,23 +272,25 @@ s32 EnBba01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
}
|
||||
|
||||
if (limbIndex == BBA_LIMB_RIGHT_LOWER_ARM_ROOT) {
|
||||
if (limbIndex == BOMB_SHOP_LADY_LIMB_RIGHT_LOWER_ARM_ROOT) {
|
||||
Matrix_Translate(1500.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
Matrix_RotateXS(this->enHy.headRot.y, MTXMODE_APPLY);
|
||||
Matrix_RotateZS(-this->enHy.headRot.x, MTXMODE_APPLY);
|
||||
Matrix_Translate(-1500.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
}
|
||||
|
||||
if (limbIndex == BBA_LIMB_BAG) {
|
||||
if (limbIndex == BOMB_SHOP_LADY_LIMB_BAG) {
|
||||
Matrix_RotateXS(-this->enHy.torsoRot.y, MTXMODE_APPLY);
|
||||
Matrix_RotateZS(-this->enHy.torsoRot.x, MTXMODE_APPLY);
|
||||
}
|
||||
|
||||
if ((limbIndex == BBA_LIMB_RIGHT_LOWER_ARM_ROOT) && this->enHy.msgFading && ((play->state.frames % 2) == 0)) {
|
||||
if ((limbIndex == BOMB_SHOP_LADY_LIMB_RIGHT_LOWER_ARM_ROOT) && this->enHy.msgFading &&
|
||||
((play->state.frames % 2) == 0)) {
|
||||
Matrix_Translate(40.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
}
|
||||
|
||||
if ((limbIndex == BBA_LIMB_BAG) || (limbIndex == BBA_LIMB_TORSO) || (limbIndex == BBA_LIMB_LEFT_FOREARM)) {
|
||||
if ((limbIndex == BOMB_SHOP_LADY_LIMB_BAG) || (limbIndex == BOMB_SHOP_LADY_LIMB_TORSO) ||
|
||||
(limbIndex == BOMB_SHOP_LADY_LIMB_LEFT_FOREARM)) {
|
||||
rot->y += TRUNCF_BINANG(Math_SinS(this->enHy.fidgetTableY[limbIndex]) * 200.0f);
|
||||
rot->z += TRUNCF_BINANG(Math_CosS(this->enHy.fidgetTableZ[limbIndex]) * 200.0f);
|
||||
}
|
||||
@@ -301,7 +303,7 @@ void EnBba01_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
|
||||
GraphicsContext* gfxCtx = play->state.gfxCtx;
|
||||
Vec3f zeroVec = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
if (limbIndex == BBA_LIMB_HEAD) {
|
||||
if (limbIndex == BOMB_SHOP_LADY_LIMB_HEAD) {
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.skelUpperObjectSlot].segment);
|
||||
@@ -310,7 +312,7 @@ void EnBba01_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
}
|
||||
|
||||
if (limbIndex == BBA_LIMB_RIGHT_LOWER_ARM_ROOT) {
|
||||
if (limbIndex == BOMB_SHOP_LADY_LIMB_RIGHT_LOWER_ARM_ROOT) {
|
||||
Matrix_MultVec3f(&zeroVec, &this->enHy.actor.focus.pos);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,7 +148,7 @@ s32 func_809CB4A0(EnCne01* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void EnCne01_FinishInit(EnHy* this, PlayState* play) {
|
||||
if (EnHy_Init(this, play, &gCneSkel, ENHY_ANIM_OS_ANIME_11)) {
|
||||
if (EnHy_Init(this, play, &gHylianYoungWomanSkel, ENHY_ANIM_OS_ANIME_11)) {
|
||||
this->actor.flags |= ACTOR_FLAG_TARGETABLE;
|
||||
this->actor.draw = EnCne01_Draw;
|
||||
this->waitingOnInit = false;
|
||||
@@ -252,34 +252,34 @@ s32 EnCne01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
|
||||
Matrix_MultVec3f(&zeroVec, &this->enHy.bodyPartsPos[bodyPartIndex]);
|
||||
}
|
||||
|
||||
if (limbIndex == CNE_LIMB_HEAD) {
|
||||
if (limbIndex == HYLIAN_YOUNG_WOMAN_LIMB_HEAD) {
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.headObjectSlot].segment);
|
||||
gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.headObjectSlot].segment);
|
||||
*dList = gCneHeadBrownHairDL;
|
||||
*dList = gHylianYoungWomanHeadBrownHairDL;
|
||||
gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelLowerObjectSlot].segment);
|
||||
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
}
|
||||
if (limbIndex == CNE_LIMB_HEAD) {
|
||||
if (limbIndex == HYLIAN_YOUNG_WOMAN_LIMB_HEAD) {
|
||||
Matrix_Translate(1500.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
Matrix_RotateXS(this->enHy.headRot.y, MTXMODE_APPLY);
|
||||
Matrix_RotateZS(-this->enHy.headRot.x, MTXMODE_APPLY);
|
||||
Matrix_Translate(-1500.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
}
|
||||
|
||||
if (limbIndex == CNE_LIMB_TORSO) {
|
||||
if (limbIndex == HYLIAN_YOUNG_WOMAN_LIMB_TORSO) {
|
||||
Matrix_RotateXS(-this->enHy.torsoRot.y, MTXMODE_APPLY);
|
||||
Matrix_RotateZS(-this->enHy.torsoRot.x, MTXMODE_APPLY);
|
||||
}
|
||||
|
||||
if ((limbIndex == CNE_LIMB_HEAD) && this->enHy.msgFading && ((play->state.frames % 2) == 0)) {
|
||||
if ((limbIndex == HYLIAN_YOUNG_WOMAN_LIMB_HEAD) && this->enHy.msgFading && ((play->state.frames % 2) == 0)) {
|
||||
Matrix_Translate(40.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
}
|
||||
|
||||
if ((limbIndex == CNE_LIMB_TORSO) || (limbIndex == CNE_LIMB_LEFT_UPPER_ARM) ||
|
||||
(limbIndex == CNE_LIMB_RIGHT_UPPER_ARM)) {
|
||||
if ((limbIndex == HYLIAN_YOUNG_WOMAN_LIMB_TORSO) || (limbIndex == HYLIAN_YOUNG_WOMAN_LIMB_LEFT_UPPER_ARM) ||
|
||||
(limbIndex == HYLIAN_YOUNG_WOMAN_LIMB_RIGHT_UPPER_ARM)) {
|
||||
rot->y += TRUNCF_BINANG(Math_SinS(this->enHy.fidgetTableY[limbIndex]) * 200.0f);
|
||||
rot->z += TRUNCF_BINANG(Math_CosS(this->enHy.fidgetTableZ[limbIndex]) * 200.0f);
|
||||
}
|
||||
@@ -292,7 +292,7 @@ void EnCne01_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
|
||||
GraphicsContext* gfxCtx = play->state.gfxCtx;
|
||||
Vec3f zeroVec = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
if (limbIndex == CNE_LIMB_RIGHT_FOOT) {
|
||||
if (limbIndex == HYLIAN_YOUNG_WOMAN_LIMB_RIGHT_FOOT) {
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.skelUpperObjectSlot].segment);
|
||||
@@ -301,7 +301,7 @@ void EnCne01_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
}
|
||||
|
||||
if (limbIndex == CNE_LIMB_HEAD) {
|
||||
if (limbIndex == HYLIAN_YOUNG_WOMAN_LIMB_HEAD) {
|
||||
Matrix_MultVec3f(&zeroVec, &this->enHy.actor.focus.pos);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user