diff --git a/assets/objects/object_ganon_anime3/gGanonRoarAnim.c b/assets/objects/object_ganon_anime3/gGanonRoarAnim.c new file mode 100644 index 0000000000..cbc274b118 --- /dev/null +++ b/assets/objects/object_ganon_anime3/gGanonRoarAnim.c @@ -0,0 +1,15 @@ +#include "object_ganon_anime3.h" + +#include "ultra64.h" + +s16 gGanonRoarFrameData[] = { +#include "assets/objects/object_ganon_anime3/gGanonRoarFrameData.inc.c" +}; + +JointIndex gGanonRoarJointIndices[] = { +#include "assets/objects/object_ganon_anime3/gGanonRoarJointIndices.inc.c" +}; + +AnimationHeader gGanonRoarAnim = { +#include "assets/objects/object_ganon_anime3/gGanonRoarAnim.inc.c" +}; diff --git a/assets/objects/object_ganon_anime3/gGanonUncurlAndFlailAnim.c b/assets/objects/object_ganon_anime3/gGanonUncurlAndFlailAnim.c new file mode 100644 index 0000000000..a19de40d93 --- /dev/null +++ b/assets/objects/object_ganon_anime3/gGanonUncurlAndFlailAnim.c @@ -0,0 +1,15 @@ +#include "object_ganon_anime3.h" + +#include "ultra64.h" + +s16 gGanonUncurlAndFlailFrameData[] = { +#include "assets/objects/object_ganon_anime3/gGanonUncurlAndFlailFrameData.inc.c" +}; + +JointIndex gGanonUncurlAndFlailJointIndices[] = { +#include "assets/objects/object_ganon_anime3/gGanonUncurlAndFlailJointIndices.inc.c" +}; + +AnimationHeader gGanonUncurlAndFlailAnim = { +#include "assets/objects/object_ganon_anime3/gGanonUncurlAndFlailAnim.inc.c" +}; diff --git a/assets/objects/object_ganon_anime3/gGanondorfBurstOutAnim.c b/assets/objects/object_ganon_anime3/gGanondorfBurstOutAnim.c new file mode 100644 index 0000000000..a3a6625c0a --- /dev/null +++ b/assets/objects/object_ganon_anime3/gGanondorfBurstOutAnim.c @@ -0,0 +1,15 @@ +#include "object_ganon_anime3.h" + +#include "ultra64.h" + +s16 gGanondorfBurstOutFrameData[] = { +#include "assets/objects/object_ganon_anime3/gGanondorfBurstOutFrameData.inc.c" +}; + +JointIndex gGanondorfBurstOutJointIndices[] = { +#include "assets/objects/object_ganon_anime3/gGanondorfBurstOutJointIndices.inc.c" +}; + +AnimationHeader gGanondorfBurstOutAnim = { +#include "assets/objects/object_ganon_anime3/gGanondorfBurstOutAnim.inc.c" +}; diff --git a/assets/objects/object_ganon_anime3/gGanondorfFloatingHeavyBreathingAnim.c b/assets/objects/object_ganon_anime3/gGanondorfFloatingHeavyBreathingAnim.c new file mode 100644 index 0000000000..bbfa588465 --- /dev/null +++ b/assets/objects/object_ganon_anime3/gGanondorfFloatingHeavyBreathingAnim.c @@ -0,0 +1,15 @@ +#include "object_ganon_anime3.h" + +#include "ultra64.h" + +s16 gGanondorfFloatingHeavyBreathingFrameData[] = { +#include "assets/objects/object_ganon_anime3/gGanondorfFloatingHeavyBreathingFrameData.inc.c" +}; + +JointIndex gGanondorfFloatingHeavyBreathingJointIndices[] = { +#include "assets/objects/object_ganon_anime3/gGanondorfFloatingHeavyBreathingJointIndices.inc.c" +}; + +AnimationHeader gGanondorfFloatingHeavyBreathingAnim = { +#include "assets/objects/object_ganon_anime3/gGanondorfFloatingHeavyBreathingAnim.inc.c" +}; diff --git a/assets/objects/object_ganon_anime3/gGanondorfShowTriforceLoopAnim.c b/assets/objects/object_ganon_anime3/gGanondorfShowTriforceLoopAnim.c new file mode 100644 index 0000000000..5505f1aa08 --- /dev/null +++ b/assets/objects/object_ganon_anime3/gGanondorfShowTriforceLoopAnim.c @@ -0,0 +1,15 @@ +#include "object_ganon_anime3.h" + +#include "ultra64.h" + +s16 gGanondorfShowTriforceLoopFrameData[] = { +#include "assets/objects/object_ganon_anime3/gGanondorfShowTriforceLoopFrameData.inc.c" +}; + +JointIndex gGanondorfShowTriforceLoopJointIndices[] = { +#include "assets/objects/object_ganon_anime3/gGanondorfShowTriforceLoopJointIndices.inc.c" +}; + +AnimationHeader gGanondorfShowTriforceLoopAnim = { +#include "assets/objects/object_ganon_anime3/gGanondorfShowTriforceLoopAnim.inc.c" +}; diff --git a/assets/objects/object_ganon_anime3/gGanondorfShowTriforceStartAnim.c b/assets/objects/object_ganon_anime3/gGanondorfShowTriforceStartAnim.c new file mode 100644 index 0000000000..3092cccff4 --- /dev/null +++ b/assets/objects/object_ganon_anime3/gGanondorfShowTriforceStartAnim.c @@ -0,0 +1,15 @@ +#include "object_ganon_anime3.h" + +#include "ultra64.h" + +s16 gGanondorfShowTriforceStartFrameData[] = { +#include "assets/objects/object_ganon_anime3/gGanondorfShowTriforceStartFrameData.inc.c" +}; + +JointIndex gGanondorfShowTriforceStartJointIndices[] = { +#include "assets/objects/object_ganon_anime3/gGanondorfShowTriforceStartJointIndices.inc.c" +}; + +AnimationHeader gGanondorfShowTriforceStartAnim = { +#include "assets/objects/object_ganon_anime3/gGanondorfShowTriforceStartAnim.inc.c" +}; diff --git a/assets/objects/object_ganon_anime3/gGanondorfTransformEndAnim.c b/assets/objects/object_ganon_anime3/gGanondorfTransformEndAnim.c new file mode 100644 index 0000000000..21a0913e97 --- /dev/null +++ b/assets/objects/object_ganon_anime3/gGanondorfTransformEndAnim.c @@ -0,0 +1,15 @@ +#include "object_ganon_anime3.h" + +#include "ultra64.h" + +s16 gGanondorfTransformEndFrameData[] = { +#include "assets/objects/object_ganon_anime3/gGanondorfTransformEndFrameData.inc.c" +}; + +JointIndex gGanondorfTransformEndJointIndices[] = { +#include "assets/objects/object_ganon_anime3/gGanondorfTransformEndJointIndices.inc.c" +}; + +AnimationHeader gGanondorfTransformEndAnim = { +#include "assets/objects/object_ganon_anime3/gGanondorfTransformEndAnim.inc.c" +}; diff --git a/assets/objects/object_ganon_anime3/gGanondorfTransformLoopAnim.c b/assets/objects/object_ganon_anime3/gGanondorfTransformLoopAnim.c new file mode 100644 index 0000000000..464178153d --- /dev/null +++ b/assets/objects/object_ganon_anime3/gGanondorfTransformLoopAnim.c @@ -0,0 +1,15 @@ +#include "object_ganon_anime3.h" + +#include "ultra64.h" + +s16 gGanondorfTransformLoopFrameData[] = { +#include "assets/objects/object_ganon_anime3/gGanondorfTransformLoopFrameData.inc.c" +}; + +JointIndex gGanondorfTransformLoopJointIndices[] = { +#include "assets/objects/object_ganon_anime3/gGanondorfTransformLoopJointIndices.inc.c" +}; + +AnimationHeader gGanondorfTransformLoopAnim = { +#include "assets/objects/object_ganon_anime3/gGanondorfTransformLoopAnim.inc.c" +}; diff --git a/assets/objects/object_ganon_anime3/gGanondorfTransformStartAnim.c b/assets/objects/object_ganon_anime3/gGanondorfTransformStartAnim.c new file mode 100644 index 0000000000..dc5b31a367 --- /dev/null +++ b/assets/objects/object_ganon_anime3/gGanondorfTransformStartAnim.c @@ -0,0 +1,15 @@ +#include "object_ganon_anime3.h" + +#include "ultra64.h" + +s16 gGanondorfTransformStartFrameData[] = { +#include "assets/objects/object_ganon_anime3/gGanondorfTransformStartFrameData.inc.c" +}; + +JointIndex gGanondorfTransformStartJointIndices[] = { +#include "assets/objects/object_ganon_anime3/gGanondorfTransformStartJointIndices.inc.c" +}; + +AnimationHeader gGanondorfTransformStartAnim = { +#include "assets/objects/object_ganon_anime3/gGanondorfTransformStartAnim.inc.c" +}; diff --git a/assets/objects/object_ganon_anime3/object_ganon_anime3.h b/assets/objects/object_ganon_anime3/object_ganon_anime3.h new file mode 100644 index 0000000000..80fcc0bc56 --- /dev/null +++ b/assets/objects/object_ganon_anime3/object_ganon_anime3.h @@ -0,0 +1,16 @@ +#ifndef OBJECT_GANON_ANIME3_H +#define OBJECT_GANON_ANIME3_H + +#include "animation.h" + +extern AnimationHeader gGanondorfShowTriforceStartAnim; +extern AnimationHeader gGanondorfBurstOutAnim; +extern AnimationHeader gGanondorfTransformEndAnim; +extern AnimationHeader gGanondorfFloatingHeavyBreathingAnim; +extern AnimationHeader gGanondorfTransformStartAnim; +extern AnimationHeader gGanondorfTransformLoopAnim; +extern AnimationHeader gGanondorfShowTriforceLoopAnim; +extern AnimationHeader gGanonUncurlAndFlailAnim; +extern AnimationHeader gGanonRoarAnim; + +#endif diff --git a/assets/objects/object_zo/effect_bubbles.c b/assets/objects/object_zo/effect_bubbles.c new file mode 100644 index 0000000000..9f88bfce82 --- /dev/null +++ b/assets/objects/object_zo/effect_bubbles.c @@ -0,0 +1,20 @@ +#include "object_zo.h" +#include "gfx.h" + +#define gZoraBubblesTex_WIDTH 16 +#define gZoraBubblesTex_HEIGHT 16 +u64 gZoraBubblesTex[TEX_LEN(u64, gZoraBubblesTex_WIDTH, gZoraBubblesTex_HEIGHT, 8)] = { +#include "assets/objects/object_zo/gZoraBubblesTex.ia8.inc.c" +}; + +Vtx gZoraBubblesModelVtx[] = { +#include "assets/objects/object_zo/gZoraBubblesModelVtx.inc.c" +}; + +Gfx gZoraBubblesMaterialDL[12] = { +#include "assets/objects/object_zo/gZoraBubblesMaterialDL.inc.c" +}; + +Gfx gZoraBubblesModelDL[3] = { +#include "assets/objects/object_zo/gZoraBubblesModelDL.inc.c" +}; diff --git a/assets/objects/object_zo/effect_ripples.c b/assets/objects/object_zo/effect_ripples.c new file mode 100644 index 0000000000..7fb878f2b0 --- /dev/null +++ b/assets/objects/object_zo/effect_ripples.c @@ -0,0 +1,10 @@ +#include "object_zo.h" +#include "assets/objects/gameplay_keep/gameplay_keep.h" + +Gfx gZoraRipplesMaterialDL[13] = { +#include "assets/objects/object_zo/gZoraRipplesMaterialDL.inc.c" +}; + +Gfx gZoraRipplesModelDL[3] = { +#include "assets/objects/object_zo/gZoraRipplesModelDL.inc.c" +}; diff --git a/assets/objects/object_zo/effect_splashes.c b/assets/objects/object_zo/effect_splashes.c new file mode 100644 index 0000000000..557830eba1 --- /dev/null +++ b/assets/objects/object_zo/effect_splashes.c @@ -0,0 +1,20 @@ +#include "object_zo.h" +#include "gfx.h" + +#define gZoraSplashesTex_WIDTH 16 +#define gZoraSplashesTex_HEIGHT 16 +u64 gZoraSplashesTex[TEX_LEN(u64, gZoraSplashesTex_WIDTH, gZoraSplashesTex_HEIGHT, 8)] = { +#include "assets/objects/object_zo/gZoraSplashesTex.i8.inc.c" +}; + +Vtx gZoraSplashesModelVtx[] = { +#include "assets/objects/object_zo/gZoraSplashesModelVtx.inc.c" +}; + +Gfx gZoraSplashesMaterialDL[14] = { +#include "assets/objects/object_zo/gZoraSplashesMaterialDL.inc.c" +}; + +Gfx gZoraSplashesModelDL[3] = { +#include "assets/objects/object_zo/gZoraSplashesModelDL.inc.c" +}; diff --git a/assets/objects/object_zo/gZoraHandsOnHipsTappingFootAnim.c b/assets/objects/object_zo/gZoraHandsOnHipsTappingFootAnim.c new file mode 100644 index 0000000000..de19ceac14 --- /dev/null +++ b/assets/objects/object_zo/gZoraHandsOnHipsTappingFootAnim.c @@ -0,0 +1,14 @@ +#include "object_zo.h" +#include "array_count.h" + +s16 gZoraHandsOnHipsTappingFootFrameData[] = { +#include "assets/objects/object_zo/gZoraHandsOnHipsTappingFootFrameData.inc.c" +}; + +JointIndex gZoraHandsOnHipsTappingFootJointIndices[] = { +#include "assets/objects/object_zo/gZoraHandsOnHipsTappingFootJointIndices.inc.c" +}; + +AnimationHeader gZoraHandsOnHipsTappingFootAnim = { +#include "assets/objects/object_zo/gZoraHandsOnHipsTappingFootAnim.inc.c" +}; diff --git a/assets/objects/object_zo/gZoraIdleAnim.c b/assets/objects/object_zo/gZoraIdleAnim.c new file mode 100644 index 0000000000..0be4d26b2c --- /dev/null +++ b/assets/objects/object_zo/gZoraIdleAnim.c @@ -0,0 +1,14 @@ +#include "object_zo.h" +#include "array_count.h" + +s16 gZoraIdleFrameData[] = { +#include "assets/objects/object_zo/gZoraIdleFrameData.inc.c" +}; + +JointIndex gZoraIdleJointIndices[] = { +#include "assets/objects/object_zo/gZoraIdleJointIndices.inc.c" +}; + +AnimationHeader gZoraIdleAnim = { +#include "assets/objects/object_zo/gZoraIdleAnim.inc.c" +}; diff --git a/assets/objects/object_zo/gZoraOpenArmsAnim.c b/assets/objects/object_zo/gZoraOpenArmsAnim.c new file mode 100644 index 0000000000..5be007b12b --- /dev/null +++ b/assets/objects/object_zo/gZoraOpenArmsAnim.c @@ -0,0 +1,14 @@ +#include "object_zo.h" +#include "array_count.h" + +s16 gZoraOpenArmsFrameData[] = { +#include "assets/objects/object_zo/gZoraOpenArmsFrameData.inc.c" +}; + +JointIndex gZoraOpenArmsJointIndices[] = { +#include "assets/objects/object_zo/gZoraOpenArmsJointIndices.inc.c" +}; + +AnimationHeader gZoraOpenArmsAnim = { +#include "assets/objects/object_zo/gZoraOpenArmsAnim.inc.c" +}; diff --git a/assets/objects/object_zo/gZoraSkel.c b/assets/objects/object_zo/gZoraSkel.c new file mode 100644 index 0000000000..8ea991044a --- /dev/null +++ b/assets/objects/object_zo/gZoraSkel.c @@ -0,0 +1,291 @@ +#include "object_zo.h" +#include "array_count.h" +#include "gfx.h" + +u64 gZoraTLUT[] = { +#include "assets/objects/object_zo/gZoraTLUT.tlut.rgba16.inc.c" +}; + +#define gZoraFinTex_WIDTH 32 +#define gZoraFinTex_HEIGHT 32 +u64 gZoraFinTex[TEX_LEN(u64, gZoraFinTex_WIDTH, gZoraFinTex_HEIGHT, 8)] = { +#include "assets/objects/object_zo/gZoraFinTex.ci8.tlut_gZoraTLUT.inc.c" +}; + +#define gZoraHeadTailTex_WIDTH 32 +#define gZoraHeadTailTex_HEIGHT 64 +u64 gZoraHeadTailTex[TEX_LEN(u64, gZoraHeadTailTex_WIDTH, gZoraHeadTailTex_HEIGHT, 8)] = { +#include "assets/objects/object_zo/gZoraHeadTailTex.ci8.tlut_gZoraTLUT.inc.c" +}; + +#define gZoraHeadTex_WIDTH 8 +#define gZoraHeadTex_HEIGHT 8 +u64 gZoraHeadTex[TEX_LEN(u64, gZoraHeadTex_WIDTH, gZoraHeadTex_HEIGHT, 8)] = { +#include "assets/objects/object_zo/gZoraHeadTex.ci8.tlut_gZoraTLUT.inc.c" +}; + +u64 gZoraEyeOpenTex[TEX_LEN(u64, ZORA_EYE_TEX_WIDTH, ZORA_EYE_TEX_HEIGHT, 16)] = { +#include "assets/objects/object_zo/gZoraEyeOpenTex.rgba16.inc.c" +}; + +u64 gZoraEyeHalfTex[TEX_LEN(u64, ZORA_EYE_TEX_WIDTH, ZORA_EYE_TEX_HEIGHT, 16)] = { +#include "assets/objects/object_zo/gZoraEyeHalfTex.rgba16.inc.c" +}; + +u64 gZoraEyeClosedTex[TEX_LEN(u64, ZORA_EYE_TEX_WIDTH, ZORA_EYE_TEX_HEIGHT, 16)] = { +#include "assets/objects/object_zo/gZoraEyeClosedTex.rgba16.inc.c" +}; + +#define gZoraMouthTex_WIDTH 32 +#define gZoraMouthTex_HEIGHT 32 +u64 gZoraMouthTex[TEX_LEN(u64, gZoraMouthTex_WIDTH, gZoraMouthTex_HEIGHT, 16)] = { +#include "assets/objects/object_zo/gZoraMouthTex.rgba16.inc.c" +}; + +#define gZoraHandTex_WIDTH 16 +#define gZoraHandTex_HEIGHT 16 +u64 gZoraHandTex[TEX_LEN(u64, gZoraHandTex_WIDTH, gZoraHandTex_HEIGHT, 8)] = { +#include "assets/objects/object_zo/gZoraHandTex.ci8.tlut_gZoraTLUT.inc.c" +}; + +#define gZoraKneeTex_WIDTH 8 +#define gZoraKneeTex_HEIGHT 8 +u64 gZoraKneeTex[TEX_LEN(u64, gZoraKneeTex_WIDTH, gZoraKneeTex_HEIGHT, 8)] = { +#include "assets/objects/object_zo/gZoraKneeTex.ci8.tlut_gZoraTLUT.inc.c" +}; + +Vtx gZoraHeadTailFinVtx[] = { +#include "assets/objects/object_zo/gZoraHeadTailFinVtx.inc.c" +}; + +Vtx gZoraHeadTail3Vtx[] = { +#include "assets/objects/object_zo/gZoraHeadTail3Vtx.inc.c" +}; + +Vtx gZoraHeadTail2Vtx[] = { +#include "assets/objects/object_zo/gZoraHeadTail2Vtx.inc.c" +}; + +Vtx gZoraHeadTail1Vtx[] = { +#include "assets/objects/object_zo/gZoraHeadTail1Vtx.inc.c" +}; + +Vtx gZoraHeadVtx[] = { +#include "assets/objects/object_zo/gZoraHeadVtx.inc.c" +}; + +Vtx gZoraLeftHandVtx[] = { +#include "assets/objects/object_zo/gZoraLeftHandVtx.inc.c" +}; + +Vtx gZoraLeftForearmVtx[] = { +#include "assets/objects/object_zo/gZoraLeftForearmVtx.inc.c" +}; + +Vtx gZoraLeftArmVtx[] = { +#include "assets/objects/object_zo/gZoraLeftArmVtx.inc.c" +}; + +Vtx gZoraRightHandVtx[] = { +#include "assets/objects/object_zo/gZoraRightHandVtx.inc.c" +}; + +Vtx gZoraRightForearmVtx[] = { +#include "assets/objects/object_zo/gZoraRightForearmVtx.inc.c" +}; + +Vtx gZoraRightArmVtx[] = { +#include "assets/objects/object_zo/gZoraRightArmVtx.inc.c" +}; + +Vtx gZoraTorsoVtx[] = { +#include "assets/objects/object_zo/gZoraTorsoVtx.inc.c" +}; + +Vtx gZoraLeftFootVtx[] = { +#include "assets/objects/object_zo/gZoraLeftFootVtx.inc.c" +}; + +Vtx gZoraLeftShinVtx[] = { +#include "assets/objects/object_zo/gZoraLeftShinVtx.inc.c" +}; + +Vtx gZoraLeftThighsVtx[] = { +#include "assets/objects/object_zo/gZoraLeftThighsVtx.inc.c" +}; + +Vtx gZoraRightFootVtx[] = { +#include "assets/objects/object_zo/gZoraRightFootVtx.inc.c" +}; + +Vtx gZoraRightShinVtx[] = { +#include "assets/objects/object_zo/gZoraRightShinVtx.inc.c" +}; + +Vtx gZoraRightThighsVtx[] = { +#include "assets/objects/object_zo/gZoraRightThighsVtx.inc.c" +}; + +Vtx gZoraPelvisVtx[] = { +#include "assets/objects/object_zo/gZoraPelvisVtx.inc.c" +}; + +Gfx gZoraPelvisDL[53] = { +#include "assets/objects/object_zo/gZoraPelvisDL.inc.c" +}; + +Gfx gZoraTorsoDL[111] = { +#include "assets/objects/object_zo/gZoraTorsoDL.inc.c" +}; + +Gfx gZoraHeadDL[79] = { +#include "assets/objects/object_zo/gZoraHeadDL.inc.c" +}; + +Gfx gZoraHeadTail1DL[52] = { +#include "assets/objects/object_zo/gZoraHeadTail1DL.inc.c" +}; + +Gfx gZoraHeadTail2DL[51] = { +#include "assets/objects/object_zo/gZoraHeadTail2DL.inc.c" +}; + +Gfx gZoraHeadTail3DL[51] = { +#include "assets/objects/object_zo/gZoraHeadTail3DL.inc.c" +}; + +Gfx gZoraHeadTailFinDL[72] = { +#include "assets/objects/object_zo/gZoraHeadTailFinDL.inc.c" +}; + +Gfx gZoraRightArmDL[76] = { +#include "assets/objects/object_zo/gZoraRightArmDL.inc.c" +}; + +Gfx gZoraRightForearmDL[92] = { +#include "assets/objects/object_zo/gZoraRightForearmDL.inc.c" +}; + +Gfx gZoraRightHandDL[65] = { +#include "assets/objects/object_zo/gZoraRightHandDL.inc.c" +}; + +Gfx gZoraLeftArmDL[76] = { +#include "assets/objects/object_zo/gZoraLeftArmDL.inc.c" +}; + +Gfx gZoraLeftForearmDL[92] = { +#include "assets/objects/object_zo/gZoraLeftForearmDL.inc.c" +}; + +Gfx gZoraLeftHandDL[65] = { +#include "assets/objects/object_zo/gZoraLeftHandDL.inc.c" +}; + +Gfx gZoraRightThighsDL[92] = { +#include "assets/objects/object_zo/gZoraRightThighsDL.inc.c" +}; + +Gfx gZoraRightShinDL[91] = { +#include "assets/objects/object_zo/gZoraRightShinDL.inc.c" +}; + +Gfx gZoraRightFootDL[89] = { +#include "assets/objects/object_zo/gZoraRightFootDL.inc.c" +}; + +Gfx gZoraLeftThighsDL[92] = { +#include "assets/objects/object_zo/gZoraLeftThighsDL.inc.c" +}; + +Gfx gZoraLeftShinDL[91] = { +#include "assets/objects/object_zo/gZoraLeftShinDL.inc.c" +}; + +Gfx gZoraLeftFootDL[89] = { +#include "assets/objects/object_zo/gZoraLeftFootDL.inc.c" +}; + +StandardLimb gZoraPelvisLimb = { +#include "assets/objects/object_zo/gZoraPelvisLimb.inc.c" +}; + +StandardLimb gZoraLeftThighsLimb = { +#include "assets/objects/object_zo/gZoraLeftThighsLimb.inc.c" +}; + +StandardLimb gZoraLeftShinLimb = { +#include "assets/objects/object_zo/gZoraLeftShinLimb.inc.c" +}; + +StandardLimb gZoraLeftFootLimb = { +#include "assets/objects/object_zo/gZoraLeftFootLimb.inc.c" +}; + +StandardLimb gZoraRightThighsLimb = { +#include "assets/objects/object_zo/gZoraRightThighsLimb.inc.c" +}; + +StandardLimb gZoraRightShinLimb = { +#include "assets/objects/object_zo/gZoraRightShinLimb.inc.c" +}; + +StandardLimb gZoraRightFootLimb = { +#include "assets/objects/object_zo/gZoraRightFootLimb.inc.c" +}; + +StandardLimb gZoraTorsoLimb = { +#include "assets/objects/object_zo/gZoraTorsoLimb.inc.c" +}; + +StandardLimb gZoraLeftArmLimb = { +#include "assets/objects/object_zo/gZoraLeftArmLimb.inc.c" +}; + +StandardLimb gZoraLeftForearmLimb = { +#include "assets/objects/object_zo/gZoraLeftForearmLimb.inc.c" +}; + +StandardLimb gZoraLeftHandLimb = { +#include "assets/objects/object_zo/gZoraLeftHandLimb.inc.c" +}; + +StandardLimb gZoraRightArmLimb = { +#include "assets/objects/object_zo/gZoraRightArmLimb.inc.c" +}; + +StandardLimb gZoraRightForearmLimb = { +#include "assets/objects/object_zo/gZoraRightForearmLimb.inc.c" +}; + +StandardLimb gZoraRightHandLimb = { +#include "assets/objects/object_zo/gZoraRightHandLimb.inc.c" +}; + +StandardLimb gZoraHeadLimb = { +#include "assets/objects/object_zo/gZoraHeadLimb.inc.c" +}; + +StandardLimb gZoraHeadTail1Limb = { +#include "assets/objects/object_zo/gZoraHeadTail1Limb.inc.c" +}; + +StandardLimb gZoraHeadTail2Limb = { +#include "assets/objects/object_zo/gZoraHeadTail2Limb.inc.c" +}; + +StandardLimb gZoraHeadTail3Limb = { +#include "assets/objects/object_zo/gZoraHeadTail3Limb.inc.c" +}; + +StandardLimb gZoraHeadTailFinLimb = { +#include "assets/objects/object_zo/gZoraHeadTailFinLimb.inc.c" +}; + +void* gZoraLimbs[] = { +#include "assets/objects/object_zo/gZoraLimbs.inc.c" +}; + +FlexSkeletonHeader gZoraSkel = { +#include "assets/objects/object_zo/gZoraSkel.inc.c" +}; diff --git a/assets/objects/object_zo/gZoraSurfaceAnim.c b/assets/objects/object_zo/gZoraSurfaceAnim.c new file mode 100644 index 0000000000..f0fd1eefdb --- /dev/null +++ b/assets/objects/object_zo/gZoraSurfaceAnim.c @@ -0,0 +1,14 @@ +#include "object_zo.h" +#include "array_count.h" + +s16 gZoraSurfaceFrameData[] = { +#include "assets/objects/object_zo/gZoraSurfaceFrameData.inc.c" +}; + +JointIndex gZoraSurfaceJointIndices[] = { +#include "assets/objects/object_zo/gZoraSurfaceJointIndices.inc.c" +}; + +AnimationHeader gZoraSurfaceAnim = { +#include "assets/objects/object_zo/gZoraSurfaceAnim.inc.c" +}; diff --git a/assets/objects/object_zo/gZoraThrowRupeesAnim.c b/assets/objects/object_zo/gZoraThrowRupeesAnim.c new file mode 100644 index 0000000000..8c1ac64a86 --- /dev/null +++ b/assets/objects/object_zo/gZoraThrowRupeesAnim.c @@ -0,0 +1,14 @@ +#include "object_zo.h" +#include "array_count.h" + +s16 gZoraThrowRupeesFrameData[] = { +#include "assets/objects/object_zo/gZoraThrowRupeesFrameData.inc.c" +}; + +JointIndex gZoraThrowRupeesJointIndices[] = { +#include "assets/objects/object_zo/gZoraThrowRupeesJointIndices.inc.c" +}; + +AnimationHeader gZoraThrowRupeesAnim = { +#include "assets/objects/object_zo/gZoraThrowRupeesAnim.inc.c" +}; diff --git a/assets/objects/object_zo/object_zo.h b/assets/objects/object_zo/object_zo.h new file mode 100644 index 0000000000..b68a1223d0 --- /dev/null +++ b/assets/objects/object_zo/object_zo.h @@ -0,0 +1,55 @@ +#ifndef OBJECT_ZO_H +#define OBJECT_ZO_H + +#include "ultra64.h" +#include "animation.h" +#include "tex_len.h" + +extern Gfx gZoraBubblesMaterialDL[12]; +extern Gfx gZoraBubblesModelDL[3]; + +extern Gfx gZoraSplashesMaterialDL[14]; +extern Gfx gZoraSplashesModelDL[3]; + +extern Gfx gZoraRipplesMaterialDL[13]; +extern Gfx gZoraRipplesModelDL[3]; + +extern AnimationHeader gZoraHandsOnHipsTappingFootAnim; +extern AnimationHeader gZoraOpenArmsAnim; +extern AnimationHeader gZoraThrowRupeesAnim; +extern AnimationHeader gZoraSurfaceAnim; +extern AnimationHeader gZoraIdleAnim; + +#define ZORA_EYE_TEX_WIDTH 32 +#define ZORA_EYE_TEX_HEIGHT 32 +extern u64 gZoraEyeOpenTex[TEX_LEN(u64, ZORA_EYE_TEX_WIDTH, ZORA_EYE_TEX_HEIGHT, 16)]; +extern u64 gZoraEyeHalfTex[TEX_LEN(u64, ZORA_EYE_TEX_WIDTH, ZORA_EYE_TEX_HEIGHT, 16)]; +extern u64 gZoraEyeClosedTex[TEX_LEN(u64, ZORA_EYE_TEX_WIDTH, ZORA_EYE_TEX_HEIGHT, 16)]; + +typedef enum ZoraLimb { + /* 0 */ ZORA_LIMB_NONE, + /* 1 */ ZORA_LIMB_PELVIS, + /* 2 */ ZORA_LIMB_LEFT_THIGHS, + /* 3 */ ZORA_LIMB_LEFT_SHIN, + /* 4 */ ZORA_LIMB_LEFT_FOOT, + /* 5 */ ZORA_LIMB_RIGHT_THIGHS, + /* 6 */ ZORA_LIMB_RIGHT_SHIN, + /* 7 */ ZORA_LIMB_RIGHT_FOOT, + /* 8 */ ZORA_LIMB_TORSO, + /* 9 */ ZORA_LIMB_LEFT_ARM, + /* 10 */ ZORA_LIMB_LEFT_FOREARM, + /* 11 */ ZORA_LIMB_LEFT_HAND, + /* 12 */ ZORA_LIMB_RIGHT_ARM, + /* 13 */ ZORA_LIMB_RIGHT_FOREARM, + /* 14 */ ZORA_LIMB_RIGHT_HAND, + /* 15 */ ZORA_LIMB_HEAD, + /* 16 */ ZORA_LIMB_HEAD_TAIL_1, + /* 17 */ ZORA_LIMB_HEAD_TAIL_2, + /* 18 */ ZORA_LIMB_HEAD_TAIL_3, + /* 19 */ ZORA_LIMB_HEAD_TAIL_FIN, + /* 20 */ ZORA_LIMB_MAX +} ZoraLimb; + +extern FlexSkeletonHeader gZoraSkel; + +#endif diff --git a/assets/xml/objects/object_anubice.xml b/assets/xml/objects/object_anubice.xml index 492a8e4235..903804f74a 100644 --- a/assets/xml/objects/object_anubice.xml +++ b/assets/xml/objects/object_anubice.xml @@ -1,6 +1,6 @@ - + @@ -69,20 +69,20 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_bl.xml b/assets/xml/objects/object_bl.xml index a987840a31..3ae9c89dc0 100644 --- a/assets/xml/objects/object_bl.xml +++ b/assets/xml/objects/object_bl.xml @@ -34,10 +34,10 @@ - - - - - + + + + + diff --git a/assets/xml/objects/object_bw.xml b/assets/xml/objects/object_bw.xml index 27a84f18f2..e7693b47aa 100644 --- a/assets/xml/objects/object_bw.xml +++ b/assets/xml/objects/object_bw.xml @@ -33,20 +33,20 @@ - - - - - - - - - - - + + + + + + + + + + + - + diff --git a/assets/xml/objects/object_fu.xml b/assets/xml/objects/object_fu.xml index 1bc18759a5..4a5bb6c74d 100644 --- a/assets/xml/objects/object_fu.xml +++ b/assets/xml/objects/object_fu.xml @@ -35,22 +35,22 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_ge1.xml b/assets/xml/objects/object_ge1.xml index bbb5d82a0d..0aaaf59b7b 100644 --- a/assets/xml/objects/object_ge1.xml +++ b/assets/xml/objects/object_ge1.xml @@ -2,24 +2,24 @@ - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_geldb.xml b/assets/xml/objects/object_geldb.xml index f80ad410a6..1488db00b0 100644 --- a/assets/xml/objects/object_geldb.xml +++ b/assets/xml/objects/object_geldb.xml @@ -1,7 +1,7 @@ - + @@ -120,28 +120,28 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gndd.xml b/assets/xml/objects/object_gndd.xml index d284893579..8f119f05ef 100644 --- a/assets/xml/objects/object_gndd.xml +++ b/assets/xml/objects/object_gndd.xml @@ -145,31 +145,31 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/assets/xml/objects/object_hata.xml b/assets/xml/objects/object_hata.xml index 98887b030d..7a8beff3a4 100644 --- a/assets/xml/objects/object_hata.xml +++ b/assets/xml/objects/object_hata.xml @@ -7,29 +7,29 @@ - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_im.xml b/assets/xml/objects/object_im.xml index c6ce6b6890..546f38a9a3 100644 --- a/assets/xml/objects/object_im.xml +++ b/assets/xml/objects/object_im.xml @@ -107,23 +107,23 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_link_boy.xml b/assets/xml/objects/object_link_boy.xml index a0052722f3..21a1d407c2 100644 --- a/assets/xml/objects/object_link_boy.xml +++ b/assets/xml/objects/object_link_boy.xml @@ -556,17 +556,17 @@ - + - + - + - + diff --git a/assets/xml/objects/object_link_child.xml b/assets/xml/objects/object_link_child.xml index 476c5f568d..25ad178c3c 100644 --- a/assets/xml/objects/object_link_child.xml +++ b/assets/xml/objects/object_link_child.xml @@ -450,27 +450,27 @@ - + - + - + - + - + - + diff --git a/assets/xml/objects/object_zo.xml b/assets/xml/objects/object_zo.xml index 45c9601284..92aefa8949 100644 --- a/assets/xml/objects/object_zo.xml +++ b/assets/xml/objects/object_zo.xml @@ -1,110 +1,110 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/assets/xml/overlays/ovl_Arrow_Fire.xml b/assets/xml/overlays/ovl_Arrow_Fire.xml index 58e8853f7f..8f7eba2573 100644 --- a/assets/xml/overlays/ovl_Arrow_Fire.xml +++ b/assets/xml/overlays/ovl_Arrow_Fire.xml @@ -1,11 +1,11 @@ - - - + + + - - + + diff --git a/assets/xml/overlays/ovl_Arrow_Ice.xml b/assets/xml/overlays/ovl_Arrow_Ice.xml index d7657506b1..e2f239c15d 100644 --- a/assets/xml/overlays/ovl_Arrow_Ice.xml +++ b/assets/xml/overlays/ovl_Arrow_Ice.xml @@ -1,11 +1,11 @@ - - - + + + - - + + diff --git a/assets/xml/overlays/ovl_Arrow_Light.xml b/assets/xml/overlays/ovl_Arrow_Light.xml index 101e37f227..93371024a7 100644 --- a/assets/xml/overlays/ovl_Arrow_Light.xml +++ b/assets/xml/overlays/ovl_Arrow_Light.xml @@ -1,11 +1,11 @@ - - - + + + - - + + diff --git a/assets/xml/overlays/ovl_Boss_Ganon.xml b/assets/xml/overlays/ovl_Boss_Ganon.xml index 9afa6d1251..f028b92050 100644 --- a/assets/xml/overlays/ovl_Boss_Ganon.xml +++ b/assets/xml/overlays/ovl_Boss_Ganon.xml @@ -1,20 +1,20 @@ - - - - - - - - - - - - + + + + + + + + + + + + - + @@ -52,50 +52,50 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - + + - + - - + + - - + + - + - + - + @@ -105,33 +105,33 @@ - - - + + + - + - - + + - + - + - + - + diff --git a/assets/xml/overlays/ovl_Boss_Ganon2.xml b/assets/xml/overlays/ovl_Boss_Ganon2.xml index 75e7ee9fee..4a1ddd43c2 100644 --- a/assets/xml/overlays/ovl_Boss_Ganon2.xml +++ b/assets/xml/overlays/ovl_Boss_Ganon2.xml @@ -1,53 +1,53 @@ - + - - + + - - - - - + + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + - + diff --git a/assets/xml/overlays/ovl_file_choose.xml b/assets/xml/overlays/ovl_file_choose.xml index 8808ab4281..f47e1f46ee 100644 --- a/assets/xml/overlays/ovl_file_choose.xml +++ b/assets/xml/overlays/ovl_file_choose.xml @@ -1,33 +1,33 @@ - + - + - + - + - + - + - + - + - + - + diff --git a/assets/xml/overlays/ovl_file_choose_pal_gc.xml b/assets/xml/overlays/ovl_file_choose_pal_gc.xml index 3c4c24cdab..58b22b8608 100644 --- a/assets/xml/overlays/ovl_file_choose_pal_gc.xml +++ b/assets/xml/overlays/ovl_file_choose_pal_gc.xml @@ -1,30 +1,30 @@ - + - + - + - + - + - + - + - + - + diff --git a/assets/xml/overlays/ovl_file_choose_pal_n64.xml b/assets/xml/overlays/ovl_file_choose_pal_n64.xml index 282fad0c37..2c61750279 100644 --- a/assets/xml/overlays/ovl_file_choose_pal_n64.xml +++ b/assets/xml/overlays/ovl_file_choose_pal_n64.xml @@ -1,33 +1,33 @@ - + - + - + - + - + - + - + - + - + - + diff --git a/include/camera.h b/include/camera.h index 9d4783de06..ec33d47807 100644 --- a/include/camera.h +++ b/include/camera.h @@ -119,6 +119,12 @@ struct View; #define CAM_VIEW_FOV (1 << 5) // camera->fov #define CAM_VIEW_ROLL (1 << 6) // camera->roll +#define CAM_DATA_SET_0 (1 << 0) +#define CAM_DATA_SET_1 (1 << 1) +#define CAM_DATA_SET_2 (1 << 2) +#define CAM_DATA_SET_3 (1 << 3) +#define CAM_DATA_SET_4 (1 << 4) + // All scenes using `SCENE_CAM_TYPE_FIXED_SHOP_VIEWPOINT` or `SCENE_CAM_TYPE_FIXED_TOGGLE_VIEWPOINT` are expected // to have their first two bgCamInfo entries be the following: #define BGCAM_INDEX_TOGGLE_LOCKED 0 @@ -851,6 +857,22 @@ typedef struct KeepOn4ReadOnlyData { /* 0x1E */ s16 unk_1E; } KeepOn4ReadOnlyData; // size = 0x20 +typedef enum CameraItemType { + /* 1 */ CAM_ITEM_TYPE_1 = 1, + /* 2 */ CAM_ITEM_TYPE_2, + /* 3 */ CAM_ITEM_TYPE_3, + /* 4 */ CAM_ITEM_TYPE_4, + /* 5 */ CAM_ITEM_TYPE_5, + /* 8 */ CAM_ITEM_TYPE_8 = 8, + /* 9 */ CAM_ITEM_TYPE_9, + /* 10 */ CAM_ITEM_TYPE_10, + /* 11 */ CAM_ITEM_TYPE_11, + /* 12 */ CAM_ITEM_TYPE_12, + /* 81 */ CAM_ITEM_TYPE_81 = 81, + /* 90 */ CAM_ITEM_TYPE_90 = 90, + /* 91 */ CAM_ITEM_TYPE_91 +} CameraItemType; + typedef struct KeepOn4ReadWriteData { /* 0x00 */ f32 unk_00; /* 0x04 */ f32 unk_04; @@ -1648,8 +1670,7 @@ s32 Camera_ChangeDoorCam(Camera* camera, struct Actor* doorActor, s16 bgCamIndex s16 timer3); s32 Camera_Copy(Camera* dstCamera, Camera* srcCamera); Vec3f Camera_GetQuakeOffset(Camera* camera); -void Camera_SetCameraData(Camera* camera, s16 setDataFlags, void* data0, void* data1, s16 data2, s16 data3, - UNK_TYPE arg6); +void Camera_SetCameraData(Camera* camera, s16 setDataFlags, void* data0, void* data1, s16 data2, s16 data3, s32 data4); s32 func_8005B198(void); s16 Camera_SetFinishedFlag(Camera* camera); diff --git a/spec/spec b/spec/spec index 1ae6def863..2e66f39651 100644 --- a/spec/spec +++ b/spec/spec @@ -3000,7 +3000,15 @@ beginseg name "object_zo" compress romalign 0x1000 - include "$(BUILD_DIR)/assets/objects/object_zo/object_zo.o" + include "$(BUILD_DIR)/assets/objects/object_zo/gZoraHandsOnHipsTappingFootAnim.o" + include "$(BUILD_DIR)/assets/objects/object_zo/gZoraOpenArmsAnim.o" + include "$(BUILD_DIR)/assets/objects/object_zo/gZoraThrowRupeesAnim.o" + include "$(BUILD_DIR)/assets/objects/object_zo/effect_bubbles.o" + include "$(BUILD_DIR)/assets/objects/object_zo/effect_splashes.o" + include "$(BUILD_DIR)/assets/objects/object_zo/gZoraSurfaceAnim.o" + include "$(BUILD_DIR)/assets/objects/object_zo/gZoraIdleAnim.o" + include "$(BUILD_DIR)/assets/objects/object_zo/gZoraSkel.o" + include "$(BUILD_DIR)/assets/objects/object_zo/effect_ripples.o" number 6 endseg @@ -4016,7 +4024,15 @@ beginseg name "object_ganon_anime3" compress romalign 0x1000 - include "$(BUILD_DIR)/assets/objects/object_ganon_anime3/object_ganon_anime3.o" + include "$(BUILD_DIR)/assets/objects/object_ganon_anime3/gGanondorfShowTriforceStartAnim.o" + include "$(BUILD_DIR)/assets/objects/object_ganon_anime3/gGanondorfBurstOutAnim.o" + include "$(BUILD_DIR)/assets/objects/object_ganon_anime3/gGanondorfTransformEndAnim.o" + include "$(BUILD_DIR)/assets/objects/object_ganon_anime3/gGanondorfFloatingHeavyBreathingAnim.o" + include "$(BUILD_DIR)/assets/objects/object_ganon_anime3/gGanondorfTransformStartAnim.o" + include "$(BUILD_DIR)/assets/objects/object_ganon_anime3/gGanondorfTransformLoopAnim.o" + include "$(BUILD_DIR)/assets/objects/object_ganon_anime3/gGanondorfShowTriforceLoopAnim.o" + include "$(BUILD_DIR)/assets/objects/object_ganon_anime3/gGanonUncurlAndFlailAnim.o" + include "$(BUILD_DIR)/assets/objects/object_ganon_anime3/gGanonRoarAnim.o" number 6 endseg diff --git a/src/code/game.c b/src/code/game.c index 1f4ff8cdbf..1636633f97 100644 --- a/src/code/game.c +++ b/src/code/game.c @@ -32,7 +32,7 @@ #include "play_state.h" #include "vis.h" -#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" +#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0" SpeedMeter D_801664D0; VisCvg sVisCvg; diff --git a/src/code/z_camera.c b/src/code/z_camera.c index ce1fa53c00..71f6a0b82e 100644 --- a/src/code/z_camera.c +++ b/src/code/z_camera.c @@ -27,7 +27,7 @@ #include "overlays/actors/ovl_En_Horse/z_en_horse.h" #pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ique-cn:128 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128" + "ique-cn:64 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128" s16 Camera_RequestSettingImpl(Camera* camera, s16 requestedSetting, s16 flags); s32 Camera_RequestModeImpl(Camera* camera, s16 requestedMode, u8 forceModeChange); @@ -3661,7 +3661,7 @@ s32 Camera_KeepOn3(Camera* camera) { } #pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ique-cn:128 ntsc-1.0:82 ntsc-1.1:82 ntsc-1.2:82 pal-1.0:82 pal-1.1:82" + "ique-cn:128 ntsc-1.0:79 ntsc-1.1:79 ntsc-1.2:79 pal-1.0:79 pal-1.1:79" s32 Camera_KeepOn4(Camera* camera) { static Vec3f D_8015BD50; @@ -3677,7 +3677,7 @@ s32 Camera_KeepOn4(Camera* camera) { VecGeo spB8; UNUSED VecGeo spB0; VecGeo spA8; - s16* temp_s0 = &camera->data2; + s16* itemType = &camera->data2; s16 spA2; s16 spA0; s16 sp9E; @@ -3698,12 +3698,12 @@ s32 Camera_KeepOn4(Camera* camera) { camera->play->view.unk_124 = camera->camId | 0x50; return 1; } - rwData->unk_14 = *temp_s0; + rwData->unk_14 = *itemType; camera->stateFlags &= ~CAM_STATE_LOCK_MODE; } - if (rwData->unk_14 != *temp_s0) { - PRINTF(VT_COL(YELLOW, BLACK) "camera: item: item type changed %d -> %d\n" VT_RST, rwData->unk_14, *temp_s0); + if (rwData->unk_14 != *itemType) { + PRINTF(VT_COL(YELLOW, BLACK) "camera: item: item type changed %d -> %d\n" VT_RST, rwData->unk_14, *itemType); camera->animState = 20; camera->stateFlags |= CAM_STATE_LOCK_MODE; camera->stateFlags &= ~(CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG); @@ -3726,33 +3726,33 @@ s32 Camera_KeepOn4(Camera* camera) { roData->interfaceField = GET_NEXT_RO_DATA(values); roData->unk_14 = GET_NEXT_SCALED_RO_DATA(values); roData->unk_1E = GET_NEXT_RO_DATA(values); - PRINTF("camera: item: type %d\n", *temp_s0); - switch (*temp_s0) { - case 1: + PRINTF("camera: item: type %d\n", *itemType); + switch (*itemType) { + case CAM_ITEM_TYPE_1: roData->unk_00 = playerHeight * -0.6f * yNormal; roData->unk_04 = playerHeight * 2.0f * yNormal; roData->unk_08 = 10.0f; break; - case 2: - case 3: + case CAM_ITEM_TYPE_2: + case CAM_ITEM_TYPE_3: roData->unk_08 = -20.0f; roData->unk_18 = 80.0f; break; - case 4: + case CAM_ITEM_TYPE_4: roData->unk_00 = playerHeight * -0.2f * yNormal; roData->unk_08 = 25.0f; break; - case 8: + case CAM_ITEM_TYPE_8: roData->unk_00 = playerHeight * -0.2f * yNormal; roData->unk_04 = playerHeight * 0.8f * yNormal; roData->unk_08 = 50.0f; roData->unk_18 = 70.0f; break; - case 9: + case CAM_ITEM_TYPE_9: roData->unk_00 = playerHeight * 0.1f * yNormal; roData->unk_04 = playerHeight * 0.5f * yNormal; roData->unk_08 = -20.0f; @@ -3761,7 +3761,7 @@ s32 Camera_KeepOn4(Camera* camera) { CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_A_HEARTS_MAGIC_FORCE, KEEPON4_FLAG_6); break; - case 5: + case CAM_ITEM_TYPE_5: roData->unk_00 = playerHeight * -0.4f * yNormal; roData->unk_08 = -10.0f; roData->unk_0C = 45.0f; @@ -3769,7 +3769,7 @@ s32 Camera_KeepOn4(Camera* camera) { CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_ALL, KEEPON4_FLAG_1); break; - case 10: + case CAM_ITEM_TYPE_10: roData->unk_00 = playerHeight * -0.5f * yNormal; roData->unk_04 = playerHeight * 1.5f * yNormal; roData->unk_08 = -15.0f; @@ -3780,7 +3780,7 @@ s32 Camera_KeepOn4(Camera* camera) { roData->unk_1E = 0x3C; break; - case 12: + case CAM_ITEM_TYPE_12: roData->unk_00 = playerHeight * -0.6f * yNormal; roData->unk_04 = playerHeight * 1.6f * yNormal; roData->unk_08 = -2.0f; @@ -3792,14 +3792,14 @@ s32 Camera_KeepOn4(Camera* camera) { roData->unk_18 = 50.0f; break; - case 0x5A: + case CAM_ITEM_TYPE_90: roData->unk_00 = playerHeight * -0.3f * yNormal; roData->unk_18 = 45.0f; roData->interfaceField = CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_IGNORE, KEEPON4_FLAG_1); break; - case 0x5B: + case CAM_ITEM_TYPE_91: roData->unk_00 = playerHeight * -0.1f * yNormal; roData->unk_04 = playerHeight * 1.5f * yNormal; roData->unk_08 = -3.0f; @@ -3809,7 +3809,7 @@ s32 Camera_KeepOn4(Camera* camera) { CAM_INTERFACE_FIELD(CAM_LETTERBOX_MEDIUM, CAM_HUD_VISIBILITY_IGNORE, KEEPON4_FLAG_3); break; - case 0x51: + case CAM_ITEM_TYPE_81: roData->unk_00 = playerHeight * -0.3f * yNormal; roData->unk_04 = playerHeight * 1.5f * yNormal; roData->unk_08 = 2.0f; @@ -3821,7 +3821,7 @@ s32 Camera_KeepOn4(Camera* camera) { roData->unk_1E = 0x1E; break; - case 11: + case CAM_ITEM_TYPE_11: roData->unk_00 = playerHeight * -0.19f * yNormal; roData->unk_04 = playerHeight * 0.7f * yNormal; roData->unk_0C = 130.0f; @@ -8874,25 +8874,24 @@ Vec3f Camera_GetQuakeOffset(Camera* camera) { return camera->quakeOffset; } -void Camera_SetCameraData(Camera* camera, s16 setDataFlags, void* data0, void* data1, s16 data2, s16 data3, - UNK_TYPE arg6) { - if (setDataFlags & 0x1) { +void Camera_SetCameraData(Camera* camera, s16 setDataFlags, void* data0, void* data1, s16 data2, s16 data3, s32 data4) { + if (setDataFlags & CAM_DATA_SET_0) { camera->data0 = data0; } - if (setDataFlags & 0x2) { + if (setDataFlags & CAM_DATA_SET_1) { camera->data1 = data1; } - if (setDataFlags & 0x4) { + if (setDataFlags & CAM_DATA_SET_2) { camera->data2 = data2; } - if (setDataFlags & 0x8) { + if (setDataFlags & CAM_DATA_SET_3) { camera->data3 = data3; } - if (setDataFlags & 0x10) { + if (setDataFlags & CAM_DATA_SET_4) { PRINTF(VT_COL(RED, WHITE) "camera: setCameraData: last argument not alive!\n" VT_RST); } } diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c index 158948a2eb..75e6ebef7d 100644 --- a/src/code/z_collision_check.c +++ b/src/code/z_collision_check.c @@ -17,7 +17,7 @@ #include "z_lib.h" #pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \ - "ique-cn:192 ntsc-1.0:168 ntsc-1.1:168 ntsc-1.2:168 pal-1.0:168 pal-1.1:168" + "ique-cn:192 ntsc-1.0:160 ntsc-1.1:160 ntsc-1.2:160 pal-1.0:160 pal-1.1:160" typedef s32 (*ColChkResetFunc)(PlayState*, Collider*); typedef void (*ColChkApplyFunc)(PlayState*, CollisionCheckContext*, Collider*); diff --git a/src/code/z_onepointdemo.c b/src/code/z_onepointdemo.c index 12dc2d2568..12915e9a80 100644 --- a/src/code/z_onepointdemo.c +++ b/src/code/z_onepointdemo.c @@ -4293,7 +4293,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act subCam->timer = -99; if (Play_CamIsNotFixed(play)) { Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_TURN_AROUND); - subCam->data2 = 0xC; + subCam->data2 = CAM_ITEM_TYPE_12; } else { Play_CopyCamera(play, subCamId, CAM_ID_MAIN); Play_RequestCameraSetting(play, subCamId, CAM_SET_FREE2); diff --git a/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.c b/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.c index 8693802846..3d68864291 100644 --- a/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.c +++ b/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.c @@ -228,7 +228,7 @@ void BgMoriRakkatenjo_Update(Actor* thisx, PlayState* play2) { if (sCamSetting == CAM_SET_NONE) { PRINTF("camera changed (mori rakka tenjyo) ... \n"); sCamSetting = play->cameraPtrs[CAM_ID_MAIN]->setting; - Camera_SetCameraData(play->cameraPtrs[CAM_ID_MAIN], 1, &this->dyna.actor, NULL, 0, 0, 0); + Camera_SetCameraData(play->cameraPtrs[CAM_ID_MAIN], CAM_DATA_SET_0, &this->dyna.actor, NULL, 0, 0, 0); Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_FOREST_BIRDS_EYE); } } else if (sCamSetting != CAM_SET_NONE) { diff --git a/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c b/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c index f071b34fd0..bf0ec281c3 100644 --- a/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c +++ b/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c @@ -33,7 +33,7 @@ #include "assets/objects/gameplay_keep/gameplay_keep_0x173D0.h" #pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ique-cn:128 pal-1.0:128 pal-1.1:128" + "ique-cn:128 pal-1.0:0 pal-1.1:0" #define FLAGS \ (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \ diff --git a/src/overlays/actors/ovl_Demo_Im/z_demo_im.h b/src/overlays/actors/ovl_Demo_Im/z_demo_im.h index ac3e06250c..ddbec02833 100644 --- a/src/overlays/actors/ovl_Demo_Im/z_demo_im.h +++ b/src/overlays/actors/ovl_Demo_Im/z_demo_im.h @@ -4,32 +4,13 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_im/object_im.h" + struct DemoIm; typedef void (*DemoImActionFunc)(struct DemoIm*, struct PlayState*); typedef void (*DemoImDrawFunc)(struct DemoIm*, struct PlayState*); -typedef enum ImpaLimb { - /* 0x00 */ IMPA_LIMB_NONE, - /* 0x01 */ IMPA_LIMB_ROOT, - /* 0x02 */ IMPA_LIMB_TORSO, - /* 0x03 */ IMPA_LIMB_LEFT_THIGH, - /* 0x04 */ IMPA_LIMB_LEFT_LEG, - /* 0x05 */ IMPA_LIMB_LEFT_FOOT, - /* 0x06 */ IMPA_LIMB_RIGHT_THIGH, - /* 0x07 */ IMPA_LIMB_RIGHT_LEG, - /* 0x08 */ IMPA_LIMB_RIGHT_FOOT, - /* 0x09 */ IMPA_LIMB_CHEST, - /* 0x0A */ IMPA_LIMB_LEFT_SHOULDER, - /* 0x0B */ IMPA_LIMB_LEFT_ARM, - /* 0x0C */ IMPA_LIMB_LEFT_HAND, - /* 0x0D */ IMPA_LIMB_RIGHT_SHOULDER, - /* 0x0E */ IMPA_LIMB_RIGHT_ARM, - /* 0x0F */ IMPA_LIMB_RIGHT_HAND, - /* 0x10 */ IMPA_LIMB_HEAD, - /* 0x11 */ IMPA_LIMB_MAX -} ImpaLimb; - typedef struct DemoIm { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; diff --git a/src/overlays/actors/ovl_En_Anubice/z_en_anubice.h b/src/overlays/actors/ovl_En_Anubice/z_en_anubice.h index 51b143fa1e..fd54405a29 100644 --- a/src/overlays/actors/ovl_En_Anubice/z_en_anubice.h +++ b/src/overlays/actors/ovl_En_Anubice/z_en_anubice.h @@ -4,30 +4,12 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_anubice/object_anubice.h" + struct EnAnubice; typedef void (*EnAnubiceActionFunc)(struct EnAnubice*, struct PlayState*); -typedef enum AnubiceLimbs { - /* 0 */ ANUBICE_LIMB_NONE, - /* 1 */ ANUBICE_LIMB_ROOT, - /* 2 */ ANUBICE_LIMB_BODY_ROOT, - /* 3 */ ANUBICE_LIMB_CHEST, - /* 4 */ ANUBICE_LIMB_ABDOMEN_ROOT, - /* 5 */ ANUBICE_LIMB_UPPER_ABDOMEN, - /* 6 */ ANUBICE_LIMB_LOWER_ABDOMEN, - /* 7 */ ANUBICE_LIMB_TAIL_ROOT, - /* 8 */ ANUBICE_LIMB_TAIL_BASE, - /* 9 */ ANUBICE_LIMB_TAIL_TIP, - /* 10 */ ANUBICE_LIMB_JEWEL_ROOT, - /* 11 */ ANUBICE_LIMB_JEWEL, - /* 12 */ ANUBICE_LIMB_HEAD_ROOT, - /* 13 */ ANUBICE_LIMB_HEAD, - /* 14 */ ANUBICE_LIMB_JAW_ROOT, - /* 15 */ ANUBICE_LIMB_JAW, - /* 16 */ ANUBICE_LIMB_MAX -} AnubiceLimbs; - typedef struct EnAnubice { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; diff --git a/src/overlays/actors/ovl_En_Bili/z_en_bili.c b/src/overlays/actors/ovl_En_Bili/z_en_bili.c index 0e7c532efb..4f7ef8cde7 100644 --- a/src/overlays/actors/ovl_En_Bili/z_en_bili.c +++ b/src/overlays/actors/ovl_En_Bili/z_en_bili.c @@ -134,7 +134,7 @@ void EnBili_Init(Actor* thisx, PlayState* play) { ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 17.0f); this->actor.shape.shadowAlpha = 155; SkelAnime_Init(play, &this->skelAnime, &gBiriSkel, &gBiriDefaultAnim, this->jointTable, this->morphTable, - EN_BILI_LIMB_MAX); + BIRI_LIMB_MAX); Collider_InitCylinder(play, &this->collider); Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit); @@ -749,11 +749,11 @@ s32 EnBili_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* Vec3f limbScale = { 1.0f, 1.0f, 1.0f }; f32 curFrame = this->skelAnime.curFrame; - if (limbIndex == EN_BILI_LIMB_OUTER_HOOD) { + if (limbIndex == BIRI_LIMB_OUTER_HOOD) { EnBili_PulseLimb3(this, curFrame, &limbScale); - } else if (limbIndex == EN_BILI_LIMB_INNER_HOOD) { + } else if (limbIndex == BIRI_LIMB_INNER_HOOD) { EnBili_PulseLimb2(this, curFrame, &limbScale); - } else if (limbIndex == EN_BILI_LIMB_TENTACLES) { + } else if (limbIndex == BIRI_LIMB_TENTACLES) { EnBili_PulseLimb4(this, curFrame, &limbScale); rot->y = (Camera_GetCamDirYaw(GET_ACTIVE_CAM(play)) - this->actor.shape.rot.y) + 0x8000; } diff --git a/src/overlays/actors/ovl_En_Bili/z_en_bili.h b/src/overlays/actors/ovl_En_Bili/z_en_bili.h index b0e58c4679..0675847ee2 100644 --- a/src/overlays/actors/ovl_En_Bili/z_en_bili.h +++ b/src/overlays/actors/ovl_En_Bili/z_en_bili.h @@ -4,19 +4,12 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_bl/object_bl.h" + struct EnBili; typedef void (*EnBiliActionFunc)(struct EnBili*, struct PlayState*); -typedef enum EnBiliLimb { - /* 0 */ EN_BILI_LIMB_NONE, - /* 1 */ EN_BILI_LIMB_ROOT, - /* 2 */ EN_BILI_LIMB_INNER_HOOD, - /* 3 */ EN_BILI_LIMB_OUTER_HOOD, - /* 4 */ EN_BILI_LIMB_TENTACLES, - /* 5 */ EN_BILI_LIMB_MAX -} EnBiliLimb; - typedef struct EnBili { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; @@ -24,8 +17,8 @@ typedef struct EnBili { /* 0x0194 */ u8 tentaclesTexIndex; /* 0x0195 */ u8 playFlySfx; /* 0x0196 */ s16 timer; - /* 0x0198 */ Vec3s jointTable[EN_BILI_LIMB_MAX]; - /* 0x01B6 */ Vec3s morphTable[EN_BILI_LIMB_MAX]; + /* 0x0198 */ Vec3s jointTable[BIRI_LIMB_MAX]; + /* 0x01B6 */ Vec3s morphTable[BIRI_LIMB_MAX]; /* 0x01D4 */ ColliderCylinder collider; } EnBili; // size = 0x0220 diff --git a/src/overlays/actors/ovl_En_Bw/z_en_bw.h b/src/overlays/actors/ovl_En_Bw/z_en_bw.h index fe9f8ef90a..e3ae7da245 100644 --- a/src/overlays/actors/ovl_En_Bw/z_en_bw.h +++ b/src/overlays/actors/ovl_En_Bw/z_en_bw.h @@ -4,25 +4,11 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_bw/object_bw.h" + struct EnBw; typedef void (*EnBwActionFunc)(struct EnBw*, struct PlayState*); -typedef enum TorchSlugLimb { - /* 0 */ TORCH_SLUG_LIMB_NONE, - /* 1 */ TORCH_SLUG_LIMB_BODY, - /* 2 */ TORCH_SLUG_LIMB_LEFT_EYESTALK_ROOT_ROOT, - /* 3 */ TORCH_SLUG_LIMB_LEFT_EYESTALK_ROOT, - /* 4 */ TORCH_SLUG_LIMB_LEFT_UPPER_EYESTALK_ROOT, - /* 5 */ TORCH_SLUG_LIMB_LEFT_UPPER_EYESTALK, - /* 6 */ TORCH_SLUG_LIMB_LEFT_LOWER_EYESTALK, - /* 7 */ TORCH_SLUG_LIMB_RIGHT_EYESTALK_ROOT_ROOT, - /* 8 */ TORCH_SLUG_LIMB_RIGHT_EYESTALK_ROOT, - /* 9 */ TORCH_SLUG_LIMB_RIGHT_UPPER_EYESTALK_ROOT, - /* 10 */ TORCH_SLUG_LIMB_RIGHT_UPPER_EYESTALK, - /* 11 */ TORCH_SLUG_LIMB_RIGHT_LOWER_EYESTALK, - /* 12 */ TORCH_SLUG_LIMB_MAX -} TorchSlugLimb; - typedef struct EnBw { /* 0x0000 */ Actor actor; /* 0x014C */ SkelAnime skelAnime; diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.c b/src/overlays/actors/ovl_En_Fu/z_en_fu.c index e8cfb6342f..9495395aa3 100644 --- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c +++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c @@ -92,7 +92,7 @@ void EnFu_Init(Actor* thisx, PlayState* play) { ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f); SkelAnime_InitFlex(play, &this->skelanime, &gWindmillManSkel, &gWindmillManPlayStillAnim, this->jointTable, - this->morphTable, FU_LIMB_MAX); + this->morphTable, WINDMILL_MAN_LIMB_MAX); Animation_PlayLoop(&this->skelanime, &gWindmillManPlayStillAnim); Collider_InitCylinder(play, &this->collider); Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); @@ -276,15 +276,15 @@ s32 EnFu_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po EnFu* this = (EnFu*)thisx; s32 pad; - if (limbIndex == FU_LIMB_UNK) { + if (limbIndex == WINDMILL_MAN_LIMB_UNK) { return false; } switch (limbIndex) { - case FU_LIMB_HEAD: + case WINDMILL_MAN_LIMB_HEAD: rot->x += this->lookAngleOffset.y; rot->z += this->lookAngleOffset.x; break; - case FU_LIMB_CHEST_MUSIC_BOX: + case WINDMILL_MAN_LIMB_CHEST_MUSIC_BOX: break; } @@ -292,7 +292,7 @@ s32 EnFu_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po return false; } - if (limbIndex == FU_LIMB_CHEST_MUSIC_BOX) { + if (limbIndex == WINDMILL_MAN_LIMB_CHEST_MUSIC_BOX) { rot->y += Math_SinS((play->state.frames * (limbIndex * FIDGET_FREQ_LIMB + FIDGET_FREQ_Y))) * FIDGET_AMPLITUDE; rot->z += Math_CosS((play->state.frames * (limbIndex * FIDGET_FREQ_LIMB + FIDGET_FREQ_Z))) * FIDGET_AMPLITUDE; } @@ -302,7 +302,7 @@ s32 EnFu_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po void EnFu_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { EnFu* this = (EnFu*)thisx; - if (limbIndex == FU_LIMB_HEAD) { + if (limbIndex == WINDMILL_MAN_LIMB_HEAD) { Matrix_MultVec3f(&sMtxSrc, &this->actor.focus.pos); } } diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.h b/src/overlays/actors/ovl_En_Fu/z_en_fu.h index d2138f7613..bfd2842e14 100644 --- a/src/overlays/actors/ovl_En_Fu/z_en_fu.h +++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.h @@ -4,36 +4,18 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_fu/object_fu.h" + struct EnFu; typedef void (*EnFuActionFunc)(struct EnFu*, struct PlayState*); -typedef enum EnFuLimb { - /* 0x00 */ FU_LIMB_ROOT, - /* 0x01 */ FU_LIMB_TORSO, - /* 0x02 */ FU_LIMB_LEFT_THIGH, - /* 0x03 */ FU_LIMB_LEFT_LEG, - /* 0x04 */ FU_LIMB_LEFT_FOOT, - /* 0x05 */ FU_LIMB_RIGHT_THIGH, - /* 0x06 */ FU_LIMB_RIGHT_LEG, - /* 0x07 */ FU_LIMB_RIGHT_FOOT, - /* 0x08 */ FU_LIMB_CHEST_MUSIC_BOX, - /* 0x09 */ FU_LIMB_LEFT_ARM_MUSIC_BOX, - /* 0x0A */ FU_LIMB_UNK, - /* 0x0B */ FU_LIMB_RIGHT_SHOULDER, - /* 0x0C */ FU_LIMB_RIGHT_ARM, - /* 0x0D */ FU_LIMB_RIGHT_HAND_AND_CRANK, - /* 0x0E */ FU_LIMB_HEAD, - /* 0x0F */ FU_LIMB_HORN, - /* 0x10 */ FU_LIMB_MAX -} EnFuLimb; - typedef struct EnFu { /* 0x0000 */ Actor actor; /* 0x014C */ ColliderCylinder collider; /* 0x0198 */ SkelAnime skelanime; - /* 0x01DC */ Vec3s jointTable[FU_LIMB_MAX]; - /* 0x023C */ Vec3s morphTable[FU_LIMB_MAX]; + /* 0x01DC */ Vec3s jointTable[WINDMILL_MAN_LIMB_MAX]; + /* 0x023C */ Vec3s morphTable[WINDMILL_MAN_LIMB_MAX]; /* 0x029C */ Vec3s lookAngleOffset; // offset applied to neck rotation to look at link when he is close /* 0x02A2 */ Vec3s unk_2A2; /* 0x02A8 */ u16 behaviorFlags; diff --git a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c index 6d08efd921..01ebeccfc3 100644 --- a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c +++ b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c @@ -107,7 +107,7 @@ void EnGe1_Init(Actor* thisx, PlayState* play) { ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 30.0f); SkelAnime_InitFlex(play, &this->skelAnime, &gGerudoWhiteSkel, &gGerudoWhiteIdleAnim, this->jointTable, - this->morphTable, GE1_LIMB_MAX); + this->morphTable, GERUDO_WHITE_LIMB_MAX); Animation_PlayOnce(&this->skelAnime, &gGerudoWhiteIdleAnim); Collider_InitCylinder(play, &this->collider); Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); @@ -780,7 +780,7 @@ s32 EnGe1_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p s32 pad; EnGe1* this = (EnGe1*)thisx; - if (limbIndex == GE1_LIMB_HEAD) { + if (limbIndex == GERUDO_WHITE_LIMB_HEAD) { rot->x += this->headRot.y; rot->z += this->headRot.x; } @@ -792,7 +792,8 @@ s32 EnGe1_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p // The purpose of the state flag GE1_STATE_STOP_FIDGET is to skip this code, which this actor has in lieu of an idle // animation. - if ((limbIndex == GE1_LIMB_TORSO) || (limbIndex == GE1_LIMB_L_FOREARM) || (limbIndex == GE1_LIMB_R_FOREARM)) { + if ((limbIndex == GERUDO_WHITE_LIMB_TORSO) || (limbIndex == GERUDO_WHITE_LIMB_L_FOREARM) || + (limbIndex == GERUDO_WHITE_LIMB_R_FOREARM)) { rot->y += Math_SinS(play->state.frames * (limbIndex * FIDGET_FREQ_LIMB + FIDGET_FREQ_Y)) * FIDGET_AMPLITUDE; rot->z += Math_CosS(play->state.frames * (limbIndex * FIDGET_FREQ_LIMB + FIDGET_FREQ_Z)) * FIDGET_AMPLITUDE; } @@ -804,7 +805,7 @@ void EnGe1_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, OPEN_DISPS(play->state.gfxCtx, "../z_en_ge1.c", 1419); - if (limbIndex == GE1_LIMB_HEAD) { + if (limbIndex == GERUDO_WHITE_LIMB_HEAD) { gSPDisplayList(POLY_OPA_DISP++, sHairstyleDLists[this->hairstyle]); Matrix_MultVec3f(&D_80A327A8, &this->actor.focus.pos); } diff --git a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h index 077f0f9cc0..4566dacbbd 100644 --- a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h +++ b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h @@ -4,6 +4,8 @@ #include "ultra64.h" #include "actor.h" +#include "assets/objects/object_ge1/object_ge1.h" + struct EnGe1; typedef void (*EnGe1AnimFunc)(struct EnGe1*); @@ -18,32 +20,12 @@ typedef enum EnGe1Type { /* 0x46 */ GE1_TYPE_TRAINING_GROUNDS_GUARD } EnGe1Type; -typedef enum EnGe1Limb { - /* 00 */ GE1_LIMB_NONE, - /* 01 */ GE1_LIMB_WAIST, - /* 02 */ GE1_LIMB_L_THIGH, - /* 03 */ GE1_LIMB_L_LOWER_LEG, - /* 04 */ GE1_LIMB_L_FOOT, - /* 05 */ GE1_LIMB_R_THIGH, - /* 06 */ GE1_LIMB_R_LOWER_LEG, - /* 07 */ GE1_LIMB_R_FOOT, - /* 08 */ GE1_LIMB_TORSO, - /* 09 */ GE1_LIMB_L_UPPER_ARM, - /* 10 */ GE1_LIMB_L_FOREARM, - /* 11 */ GE1_LIMB_L_HAND, - /* 12 */ GE1_LIMB_R_UPPER_ARM, - /* 13 */ GE1_LIMB_R_FOREARM, - /* 14 */ GE1_LIMB_R_HAND, - /* 15 */ GE1_LIMB_HEAD, - /* 16 */ GE1_LIMB_MAX -} EnGe1Limb; - typedef struct EnGe1 { /* 0x0000 */ Actor actor; /* 0x014C */ ColliderCylinder collider; /* 0x0198 */ SkelAnime skelAnime; - /* 0x01DC */ Vec3s jointTable[GE1_LIMB_MAX]; - /* 0x023C */ Vec3s morphTable[GE1_LIMB_MAX]; + /* 0x01DC */ Vec3s jointTable[GERUDO_WHITE_LIMB_MAX]; + /* 0x023C */ Vec3s morphTable[GERUDO_WHITE_LIMB_MAX]; /* 0x029C */ Vec3s headRot; /* 0x02A2 */ Vec3s unk_2A2; /* 0x02A8 */ s16 eyeIndex; diff --git a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c index ad77c01118..8ac3cdcd54 100644 --- a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c +++ b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c @@ -81,7 +81,7 @@ void EnGe3_Init(Actor* thisx, PlayState* play2) { ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f); SkelAnime_InitFlex(play, &this->skelAnime, &gGerudoRedSkel, NULL, this->jointTable, this->morphTable, - GELDB_LIMB_MAX); + GERUDO_RED_LIMB_MAX); Animation_PlayLoop(&this->skelAnime, &gGerudoRedStandAnim); Collider_InitCylinder(play, &this->collider); Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); @@ -241,13 +241,13 @@ s32 EnGe3_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p switch (limbIndex) { // Hide swords and veil from object_geldb - case GELDB_LIMB_VEIL: - case GELDB_LIMB_R_SWORD: - case GELDB_LIMB_L_SWORD: + case GERUDO_RED_LIMB_VEIL: + case GERUDO_RED_LIMB_R_SWORD: + case GERUDO_RED_LIMB_L_SWORD: *dList = NULL; return false; // Turn head - case GELDB_LIMB_HEAD: + case GERUDO_RED_LIMB_HEAD: rot->x += this->headRot.y; #if OOT_VERSION >= PAL_1_1 FALLTHROUGH; @@ -256,14 +256,14 @@ s32 EnGe3_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p // depending on what was drawn earlier in the frame. OPEN_DISPS(play->state.gfxCtx, "../z_en_ge3.c", 547); switch (limbIndex) { - case GELDB_LIMB_NECK: + case GERUDO_RED_LIMB_NECK: break; - case GELDB_LIMB_HEAD: + case GERUDO_RED_LIMB_HEAD: gDPPipeSync(POLY_OPA_DISP++); gDPSetEnvColor(POLY_OPA_DISP++, 80, 60, 10, 255); break; - case GELDB_LIMB_R_SWORD: - case GELDB_LIMB_L_SWORD: + case GERUDO_RED_LIMB_R_SWORD: + case GERUDO_RED_LIMB_L_SWORD: gDPPipeSync(POLY_OPA_DISP++); gDPSetEnvColor(POLY_OPA_DISP++, 140, 170, 230, 255); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255); @@ -284,7 +284,7 @@ void EnGe3_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, EnGe3* this = (EnGe3*)thisx; Vec3f D_80A351C8 = { 600.0f, 700.0f, 0.0f }; - if (limbIndex == GELDB_LIMB_HEAD) { + if (limbIndex == GERUDO_RED_LIMB_HEAD) { Matrix_MultVec3f(&D_80A351C8, &this->actor.focus.pos); } } diff --git a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.h b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.h index 62b9882055..297129e439 100644 --- a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.h +++ b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.h @@ -3,7 +3,8 @@ #include "ultra64.h" #include "actor.h" -#include "overlays/actors/ovl_En_GeldB/z_en_geldb.h" + +#include "assets/objects/object_geldb/object_geldb.h" struct EnGe3; @@ -13,8 +14,8 @@ typedef struct EnGe3 { /* 0x0000 */ Actor actor; /* 0x014C */ ColliderCylinder collider; /* 0x0198 */ SkelAnime skelAnime; - /* 0x01DC */ Vec3s jointTable[GELDB_LIMB_MAX]; - /* 0x026C */ Vec3s morphTable[GELDB_LIMB_MAX]; + /* 0x01DC */ Vec3s jointTable[GERUDO_RED_LIMB_MAX]; + /* 0x026C */ Vec3s morphTable[GERUDO_RED_LIMB_MAX]; /* 0x02FC */ s16 eyeIndex; /* 0x02FE */ s16 blinkTimer; /* 0x0300 */ Vec3s headRot; diff --git a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c index 11850ccdf5..598cc7f616 100644 --- a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c +++ b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c @@ -251,7 +251,7 @@ void EnGeldB_Init(Actor* thisx, PlayState* play) { this->blinkState = 0; this->unkFloat = 10.0f; SkelAnime_InitFlex(play, &this->skelAnime, &gGerudoRedSkel, &gGerudoRedNeutralAnim, this->jointTable, - this->morphTable, GELDB_LIMB_MAX); + this->morphTable, GERUDO_RED_LIMB_MAX); Collider_InitCylinder(play, &this->bodyCollider); Collider_SetCylinder(play, &this->bodyCollider, thisx, &sBodyCylinderInit); Collider_InitTris(play, &this->blockCollider); @@ -1464,14 +1464,14 @@ s32 EnGeldB_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* EnGeldB* this = (EnGeldB*)thisx; OPEN_DISPS(play->state.gfxCtx, "../z_en_geldB.c", 2507); - if (limbIndex == GELDB_LIMB_NECK) { + if (limbIndex == GERUDO_RED_LIMB_NECK) { rot->z += this->headRot.x; rot->x += this->headRot.y; rot->y += this->headRot.z; - } else if (limbIndex == GELDB_LIMB_HEAD) { + } else if (limbIndex == GERUDO_RED_LIMB_HEAD) { gDPPipeSync(POLY_OPA_DISP++); gDPSetEnvColor(POLY_OPA_DISP++, 80, 60, 10, 255); - } else if ((limbIndex == GELDB_LIMB_R_SWORD) || (limbIndex == GELDB_LIMB_L_SWORD)) { + } else if ((limbIndex == GERUDO_RED_LIMB_R_SWORD) || (limbIndex == GERUDO_RED_LIMB_L_SWORD)) { gDPPipeSync(POLY_OPA_DISP++); gDPSetEnvColor(POLY_OPA_DISP++, 140, 170, 230, 255); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255); @@ -1497,7 +1497,7 @@ void EnGeldB_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro EnGeldB* this = (EnGeldB*)thisx; s32 bodyPart = -1; - if (limbIndex == GELDB_LIMB_R_SWORD) { + if (limbIndex == GERUDO_RED_LIMB_R_SWORD) { Matrix_MultVec3f(&swordQuadOffset1, &this->swordCollider.dim.quad[1]); Matrix_MultVec3f(&swordQuadOffset0, &this->swordCollider.dim.quad[0]); Matrix_MultVec3f(&swordQuadOffset3, &this->swordCollider.dim.quad[3]); @@ -1515,42 +1515,43 @@ void EnGeldB_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro EffectBlure_AddVertex(Effect_GetByIndex(this->blureIndex), &swordTip, &swordHilt); } } else { - Actor_SetFeetPos(&this->actor, limbIndex, GELDB_LIMB_L_FOOT, &footOffset, GELDB_LIMB_R_FOOT, &footOffset); + Actor_SetFeetPos(&this->actor, limbIndex, GERUDO_RED_LIMB_L_FOOT, &footOffset, GERUDO_RED_LIMB_R_FOOT, + &footOffset); } - if (limbIndex == GELDB_LIMB_L_FOOT) { + if (limbIndex == GERUDO_RED_LIMB_L_FOOT) { Matrix_MultVec3f(&footOffset, &this->leftFootPos); - } else if (limbIndex == GELDB_LIMB_R_FOOT) { + } else if (limbIndex == GERUDO_RED_LIMB_R_FOOT) { Matrix_MultVec3f(&footOffset, &this->rightFootPos); } if (this->iceTimer != 0) { switch (limbIndex) { - case GELDB_LIMB_NECK: + case GERUDO_RED_LIMB_NECK: bodyPart = 0; break; - case GELDB_LIMB_L_SWORD: + case GERUDO_RED_LIMB_L_SWORD: bodyPart = 1; break; - case GELDB_LIMB_R_SWORD: + case GERUDO_RED_LIMB_R_SWORD: bodyPart = 2; break; - case GELDB_LIMB_L_UPPER_ARM: + case GERUDO_RED_LIMB_L_UPPER_ARM: bodyPart = 3; break; - case GELDB_LIMB_R_UPPER_ARM: + case GERUDO_RED_LIMB_R_UPPER_ARM: bodyPart = 4; break; - case GELDB_LIMB_TORSO: + case GERUDO_RED_LIMB_TORSO: bodyPart = 5; break; - case GELDB_LIMB_WAIST: + case GERUDO_RED_LIMB_WAIST: bodyPart = 6; break; - case GELDB_LIMB_L_FOOT: + case GERUDO_RED_LIMB_L_FOOT: bodyPart = 7; break; - case GELDB_LIMB_R_FOOT: + case GERUDO_RED_LIMB_R_FOOT: bodyPart = 8; break; default: diff --git a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.h b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.h index a5ce4286b5..003a6dc5a5 100644 --- a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.h +++ b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.h @@ -4,35 +4,9 @@ #include "ultra64.h" #include "actor.h" -struct EnGeldB; +#include "assets/objects/object_geldb/object_geldb.h" -typedef enum EnGeldBLimb { - /* 0x00 */ GELDB_LIMB_NONE, - /* 0x01 */ GELDB_LIMB_ROOT, - /* 0x02 */ GELDB_LIMB_TORSO, - /* 0x03 */ GELDB_LIMB_NECK, - /* 0x04 */ GELDB_LIMB_PONYTAIL, - /* 0x05 */ GELDB_LIMB_VEIL, - /* 0x06 */ GELDB_LIMB_HEAD, - /* 0x07 */ GELDB_LIMB_R_UPPER_ARM, - /* 0x08 */ GELDB_LIMB_R_FOREARM, - /* 0x09 */ GELDB_LIMB_R_WRIST, - /* 0x0A */ GELDB_LIMB_R_HAND, - /* 0x0B */ GELDB_LIMB_R_SWORD, - /* 0x0C */ GELDB_LIMB_L_UPPER_ARM, - /* 0x0D */ GELDB_LIMB_L_FOREARM, - /* 0x0E */ GELDB_LIMB_L_WRIST, - /* 0x0F */ GELDB_LIMB_L_HAND, - /* 0x10 */ GELDB_LIMB_L_SWORD, - /* 0x11 */ GELDB_LIMB_L_THIGH, - /* 0x12 */ GELDB_LIMB_L_SHIN, - /* 0x13 */ GELDB_LIMB_L_FOOT, - /* 0x14 */ GELDB_LIMB_R_THIGH, - /* 0x15 */ GELDB_LIMB_R_SHIN, - /* 0x16 */ GELDB_LIMB_R_FOOT, - /* 0x17 */ GELDB_LIMB_WAIST, - /* 0x18 */ GELDB_LIMB_MAX -} EnGeldBLimb; +struct EnGeldB; typedef void (*EnGeldBActionFunc)(struct EnGeldB*, struct PlayState*); @@ -40,8 +14,8 @@ typedef struct EnGeldB { /* 0x0000 */ Actor actor; /* 0x014C */ Vec3s bodyPartsPos[10]; /* 0x0188 */ SkelAnime skelAnime; - /* 0x01CC */ Vec3s jointTable[GELDB_LIMB_MAX]; - /* 0x025C */ Vec3s morphTable[GELDB_LIMB_MAX]; + /* 0x01CC */ Vec3s jointTable[GERUDO_RED_LIMB_MAX]; + /* 0x025C */ Vec3s morphTable[GERUDO_RED_LIMB_MAX]; /* 0x02EC */ s32 action; /* 0x02F0 */ char unk_2F0[4]; /* 0x02F4 */ EnGeldBActionFunc actionFunc; diff --git a/src/overlays/actors/ovl_En_Hata/z_en_hata.h b/src/overlays/actors/ovl_En_Hata/z_en_hata.h index 53d31bab58..38c85e6349 100644 --- a/src/overlays/actors/ovl_En_Hata/z_en_hata.h +++ b/src/overlays/actors/ovl_En_Hata/z_en_hata.h @@ -4,31 +4,7 @@ #include "ultra64.h" #include "actor.h" - -typedef enum EnHataLimb { - /* 0x00 */ FLAGPOLE_LIMB_NONE, - /* 0x01 */ FLAGPOLE_LIMB_POLE_BASE, - /* 0x02 */ FLAGPOLE_LIMB_POLE, - /* 0x03 */ FLAGPOLE_LIMB_FLAG_1_BASE, - /* 0x04 */ FLAGPOLE_LIMB_FLAG_1_HOIST_END_BASE, - /* 0x05 */ FLAGPOLE_LIMB_FLAG_1_HOIST_MID_BASE, - /* 0x06 */ FLAGPOLE_LIMB_FLAG_1_FLY_MID_BASE, - /* 0x07 */ FLAGPOLE_LIMB_FLAG_1_FLY_END_BASE, - /* 0x08 */ FLAGPOLE_LIMB_FLAG_1_FLY_END, - /* 0x09 */ FLAGPOLE_LIMB_FLAG_1_FLY_MID, - /* 0x0A */ FLAGPOLE_LIMB_FLAG_1_HOIST_MID, - /* 0x0B */ FLAGPOLE_LIMB_FLAG_1_HOIST_END, - /* 0x0C */ FLAGPOLE_LIMB_FLAG_2_BASE, - /* 0x0D */ FLAGPOLE_LIMB_FLAG_2_HOIST_END_BASE, - /* 0x0E */ FLAGPOLE_LIMB_FLAG_2_HOIST_MID_BASE, - /* 0x0F */ FLAGPOLE_LIMB_FLAG_2_FLY_MID_BASE, - /* 0x10 */ FLAGPOLE_LIMB_FLAG_2_FLY_END_BASE, - /* 0x11 */ FLAGPOLE_LIMB_FLAG_2_FLY_END, - /* 0x12 */ FLAGPOLE_LIMB_FLAG_2_FLY_MID, - /* 0x13 */ FLAGPOLE_LIMB_FLAG_2_HOIST_MID, - /* 0x14 */ FLAGPOLE_LIMB_FLAG_2_HOIST_END, - /* 0x15 */ FLAGPOLE_LIMB_MAX -} EnHataLimb; +#include "assets/objects/object_hata/object_hata.h" typedef struct EnHata { /* 0x0000 */ DynaPolyActor dyna; diff --git a/src/overlays/actors/ovl_En_Horse/z_en_horse.c b/src/overlays/actors/ovl_En_Horse/z_en_horse.c index e3359b4181..68be05297e 100644 --- a/src/overlays/actors/ovl_En_Horse/z_en_horse.c +++ b/src/overlays/actors/ovl_En_Horse/z_en_horse.c @@ -1777,7 +1777,7 @@ void EnHorse_Inactive(EnHorse* this, PlayState* play2) { // Focus the camera on Epona Camera_SetViewParam(play->cameraPtrs[CAM_ID_MAIN], CAM_VIEW_TARGET, &this->actor); Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_TURN_AROUND); - Camera_SetCameraData(play->cameraPtrs[CAM_ID_MAIN], 4, NULL, NULL, 0x51, 0, 0); + Camera_SetCameraData(play->cameraPtrs[CAM_ID_MAIN], CAM_DATA_SET_2, NULL, NULL, CAM_ITEM_TYPE_81, 0, 0); } } if (!(this->stateFlags & ENHORSE_INACTIVE)) { @@ -1853,7 +1853,7 @@ void EnHorse_Idle(EnHorse* this, PlayState* play) { EnHorse_SetFollowAnimation(this, play); Camera_SetViewParam(play->cameraPtrs[CAM_ID_MAIN], CAM_VIEW_TARGET, &this->actor); Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_TURN_AROUND); - Camera_SetCameraData(play->cameraPtrs[CAM_ID_MAIN], 4, NULL, NULL, 0x51, 0, 0); + Camera_SetCameraData(play->cameraPtrs[CAM_ID_MAIN], CAM_DATA_SET_2, NULL, NULL, CAM_ITEM_TYPE_81, 0, 0); } } else { Audio_PlaySfxGeneral(NA_SE_EV_HORSE_NEIGH, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale, diff --git a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c index 0a42d8ae71..480baebeea 100644 --- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c +++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c @@ -569,7 +569,7 @@ void EnOssan_TalkHappyMaskShopkeeper(PlayState* play) { void EnOssan_UpdateCameraDirection(EnOssan* this, PlayState* play, f32 cameraFaceAngle) { this->cameraFaceAngle = cameraFaceAngle; - Camera_SetCameraData(GET_ACTIVE_CAM(play), 0xC, NULL, NULL, cameraFaceAngle, 0, 0); + Camera_SetCameraData(GET_ACTIVE_CAM(play), CAM_DATA_SET_2 | CAM_DATA_SET_3, NULL, NULL, cameraFaceAngle, 0, 0); } s32 EnOssan_TryGetObjBankIndices(EnOssan* this, PlayState* play, s16* objectIds) { diff --git a/src/overlays/actors/ovl_En_Viewer/z_en_viewer.h b/src/overlays/actors/ovl_En_Viewer/z_en_viewer.h index 1bb5780203..c23a2edba4 100644 --- a/src/overlays/actors/ovl_En_Viewer/z_en_viewer.h +++ b/src/overlays/actors/ovl_En_Viewer/z_en_viewer.h @@ -59,34 +59,6 @@ typedef struct EnViewerFireEffect { /* 0x30 */ u8 state; } EnViewerFireEffect; // size = 0x34 -typedef enum YoungGanondorfLimb { - /* 0 */ YOUNG_GANONDORF_LIMB_NONE, - /* 1 */ YOUNG_GANONDORF_LIMB_ROOT, - /* 2 */ YOUNG_GANONDORF_LIMB_TORSO, - /* 3 */ YOUNG_GANONDORF_LIMB_LEFT_UPPER_ARM, - /* 4 */ YOUNG_GANONDORF_LIMB_LEFT_FOREARM, - /* 5 */ YOUNG_GANONDORF_LIMB_LEFT_HAND, - /* 6 */ YOUNG_GANONDORF_LIMB_RIGHT_UPPER_ARM, - /* 7 */ YOUNG_GANONDORF_LIMB_RIGHT_FOREARM, - /* 8 */ YOUNG_GANONDORF_LIMB_RIGHT_HAND, - /* 9 */ YOUNG_GANONDORF_LIMB_JEWEL, - /* 10 */ YOUNG_GANONDORF_LIMB_LEFT_UPPER_LIP, - /* 11 */ YOUNG_GANONDORF_LIMB_JAW, - /* 12 */ YOUNG_GANONDORF_LIMB_CHIN, - /* 13 */ YOUNG_GANONDORF_LIMB_RIGHT_UPPER_LIP, - /* 14 */ YOUNG_GANONDORF_LIMB_TEETH, - /* 15 */ YOUNG_GANONDORF_LIMB_HEAD, - /* 16 */ YOUNG_GANONDORF_LIMB_PELVIS, - /* 17 */ YOUNG_GANONDORF_LIMB_LEFT_THIGH, - /* 18 */ YOUNG_GANONDORF_LIMB_LEFT_SHIN, - /* 19 */ YOUNG_GANONDORF_LIMB_LEFT_FOOT, - /* 20 */ YOUNG_GANONDORF_LIMB_KNIFE, - /* 21 */ YOUNG_GANONDORF_LIMB_RIGHT_THIGH, - /* 22 */ YOUNG_GANONDORF_LIMB_RIGHT_SHIN, - /* 23 */ YOUNG_GANONDORF_LIMB_RIGHT_FOOT, - /* 24 */ YOUNG_GANONDORF_LIMB_MAX -} YoungGanondorfLimb; - typedef struct EnViewer { /* 0x0000 */ Actor actor; /* 0x014C */ Skin skin; diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index fc8cf05b76..7b276a661d 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -379,7 +379,7 @@ static Vec3f sInteractWallCheckResult; static Input* sControlInput; #pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \ - "ique-cn:192 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128" + "ique-cn:160 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128" // .data @@ -3500,7 +3500,7 @@ void Player_SetupActionPreserveItemAction(PlayState* play, Player* this, PlayerA } } -void func_80835E44(PlayState* play, s16 camSetting) { +void Player_RequestCameraSetting(PlayState* play, s16 camSetting) { if (!Play_CamIsNotFixed(play)) { if (camSetting == CAM_SET_SCENE_TRANSITION) { Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_NOTHING_ALT); @@ -3510,9 +3510,9 @@ void func_80835E44(PlayState* play, s16 camSetting) { } } -void func_80835EA4(PlayState* play, s32 arg1) { - func_80835E44(play, CAM_SET_TURN_AROUND); - Camera_SetCameraData(Play_GetCamera(play, CAM_ID_MAIN), 4, NULL, NULL, arg1, 0, 0); +void Player_SetTurnAroundCamera(PlayState* play, s32 camItemType) { + Player_RequestCameraSetting(play, CAM_SET_TURN_AROUND); + Camera_SetCameraData(Play_GetCamera(play, CAM_ID_MAIN), CAM_DATA_SET_2, NULL, NULL, camItemType, 0, 0); } void Player_DestroyHookshot(Player* this) { @@ -5272,7 +5272,7 @@ s32 Player_HandleExitsAndVoids(PlayState* play, Player* this, CollisionPoly* pol this->stateFlags1 |= PLAYER_STATE1_0 | PLAYER_STATE1_29; - func_80835E44(play, CAM_SET_SCENE_TRANSITION); + Player_RequestCameraSetting(play, CAM_SET_SCENE_TRANSITION); return 1; } else { @@ -5975,7 +5975,7 @@ void func_8083AF44(PlayState* play, Player* this, s32 magicSpell) { if (magicSpell == 5) { this->subCamId = OnePointCutscene_Init(play, 1100, -101, NULL, CAM_ID_MAIN); } else { - func_80835EA4(play, 10); + Player_SetTurnAroundCamera(play, CAM_ITEM_TYPE_10); } } @@ -6043,7 +6043,7 @@ s32 Player_ActionHandler_13(Player* this, PlayState* play) { Player_SetupAction(play, this, Player_Action_8085063C, 1); this->stateFlags1 |= PLAYER_STATE1_28 | PLAYER_STATE1_29; Player_AnimPlayOnce(play, this, Player_GetIdleAnim(this)); - func_80835EA4(play, 4); + Player_SetTurnAroundCamera(play, CAM_ITEM_TYPE_4); } func_80832224(this); @@ -6097,11 +6097,11 @@ s32 Player_ActionHandler_13(Player* this, PlayState* play) { } else if (sp2C == EXCH_ITEM_BOTTLE_RUTOS_LETTER) { this->av1.actionVar1 = 1; this->actor.textId = 0x4005; - func_80835EA4(play, 1); + Player_SetTurnAroundCamera(play, CAM_ITEM_TYPE_1); } else { this->av1.actionVar1 = 2; this->actor.textId = 0xCF; - func_80835EA4(play, 4); + Player_SetTurnAroundCamera(play, CAM_ITEM_TYPE_4); } this->actor.flags |= ACTOR_FLAG_TALK; @@ -6124,21 +6124,21 @@ s32 Player_ActionHandler_13(Player* this, PlayState* play) { if (sp2C == 0xC) { Player_SetupActionPreserveItemAction(play, this, Player_Action_8084EED8, 0); Player_AnimPlayOnceAdjusted(play, this, &gPlayerAnim_link_bottle_bug_out); - func_80835EA4(play, 3); + Player_SetTurnAroundCamera(play, CAM_ITEM_TYPE_3); } else if ((sp2C > 0) && (sp2C < 4)) { Player_SetupActionPreserveItemAction(play, this, Player_Action_8084EFC0, 0); Player_AnimPlayOnceAdjusted(play, this, &gPlayerAnim_link_bottle_fish_out); - func_80835EA4(play, (sp2C == 1) ? 1 : 5); + Player_SetTurnAroundCamera(play, (sp2C == 1) ? CAM_ITEM_TYPE_1 : CAM_ITEM_TYPE_5); } else { Player_SetupActionPreserveItemAction(play, this, Player_Action_8084EAC0, 0); Player_AnimChangeOnceMorphAdjusted(play, this, &gPlayerAnim_link_bottle_drink_demo_start); - func_80835EA4(play, 2); + Player_SetTurnAroundCamera(play, CAM_ITEM_TYPE_2); } } else { Player_SetupActionPreserveItemAction(play, this, Player_Action_8084E3C4, 0); Player_AnimPlayOnceAdjusted(play, this, &gPlayerAnim_link_normal_okarina_start); this->stateFlags2 |= PLAYER_STATE2_USING_OCARINA; - func_80835EA4(play, (this->unk_6A8 != NULL) ? 0x5B : 0x5A); + Player_SetTurnAroundCamera(play, (this->unk_6A8 != NULL) ? CAM_ITEM_TYPE_91 : CAM_ITEM_TYPE_90); if (this->unk_6A8 != NULL) { this->stateFlags2 |= PLAYER_STATE2_25; Camera_SetViewParam(Play_GetCamera(play, CAM_ID_MAIN), CAM_VIEW_TARGET, this->unk_6A8); @@ -7355,7 +7355,7 @@ s32 Player_ActionHandler_2(Player* this, PlayState* play) { if (!(this->stateFlags2 & PLAYER_STATE2_10) || (this->currentBoots == PLAYER_BOOTS_IRON)) { Player_SetupWaitForPutAway(play, this, func_8083A434); Player_AnimPlayOnceAdjusted(play, this, &gPlayerAnim_link_demo_get_itemB); - func_80835EA4(play, 9); + Player_SetTurnAroundCamera(play, CAM_ITEM_TYPE_9); } this->stateFlags1 |= PLAYER_STATE1_10 | PLAYER_STATE1_CARRYING_ACTOR | PLAYER_STATE1_29; @@ -13750,7 +13750,7 @@ void Player_Action_8084E1EC(Player* this, PlayState* play) { if ((this->stateFlags1 & PLAYER_STATE1_10) && LinkAnimation_OnFrame(&this->skelAnime, 10.0f)) { func_808332F4(this, play); func_80832340(play, this); - func_80835EA4(play, 8); + Player_SetTurnAroundCamera(play, CAM_ITEM_TYPE_8); } else if (LinkAnimation_OnFrame(&this->skelAnime, 5.0f)) { Player_PlayVoiceSfx(this, NA_SE_VO_LI_BREATH_DRINK); } @@ -13920,7 +13920,7 @@ void Player_Action_8084E6D4(Player* this, PlayState* play) { } this->av2.actionVar2 = 2; - func_80835EA4(play, 9); + Player_SetTurnAroundCamera(play, CAM_ITEM_TYPE_9); } } else { if (this->av2.actionVar2 == 0) { @@ -14122,7 +14122,7 @@ void Player_Action_SwingBottle(Player* this, PlayState* play) { Player_UpdateBottleHeld(play, this, catchInfo->itemId, ABS(catchInfo->itemAction)); Player_AnimPlayOnceAdjusted(play, this, swingEntry->catchAnimation); - func_80835EA4(play, 4); + Player_SetTurnAroundCamera(play, CAM_ITEM_TYPE_4); } } } @@ -16221,6 +16221,6 @@ void Player_StartTalking(PlayState* play, Actor* actor) { if ((this->naviActor == this->talkActor) && ((this->talkActor->textId & 0xFF00) != 0x200)) { this->naviActor->flags |= ACTOR_FLAG_TALK; - func_80835EA4(play, 0xB); + Player_SetTurnAroundCamera(play, CAM_ITEM_TYPE_11); } } diff --git a/tools/assets/extract/write_source.txt b/tools/assets/extract/write_source.txt index 1164bd20de..daad7dc512 100644 --- a/tools/assets/extract/write_source.txt +++ b/tools/assets/extract/write_source.txt @@ -86,7 +86,6 @@ assets/objects/object_fz/object_fz.c assets/objects/object_ganon2/object_ganon2.c assets/objects/object_ganon_anime1/object_ganon_anime1.c assets/objects/object_ganon_anime2/object_ganon_anime2.c -assets/objects/object_ganon_anime3/object_ganon_anime3.c assets/objects/object_ganon/object_ganon.c assets/objects/object_ganon_objects/object_ganon_objects.c assets/objects/object_ge1/object_ge1.c @@ -380,7 +379,6 @@ assets/objects/object_zl2_anime1/object_zl2_anime1.c assets/objects/object_zl2_anime2/object_zl2_anime2.c assets/objects/object_zl2/object_zl2.c assets/objects/object_zl4/object_zl4.c -assets/objects/object_zo/object_zo.c assets/overlays/ovl_Boss_Ganon/ovl_Boss_Ganon.c assets/overlays/ovl_Boss_Sst/ovl_Boss_Sst.c assets/overlays/ovl_Demo_Shd/ovl_Demo_Shd.c