Merge branch 'main' into split-gameplay-keep

This commit is contained in:
Dragorn421 2025-06-13 13:39:25 +02:00
commit 903f0fadbb
No known key found for this signature in database
GPG Key ID: 381AEBAF3D429335
67 changed files with 1074 additions and 592 deletions

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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"
};

View File

@ -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

View File

@ -1,6 +1,6 @@
<Root>
<File Name="object_anubice" Segment="6">
<Skeleton Name="gAnubiceSkel" Type="Normal" LimbType="Standard" Offset="0x3990"/>
<Skeleton Name="gAnubiceSkel" Type="Normal" LimbType="Standard" LimbNone="ANUBICE_LIMB_NONE" LimbMax="ANUBICE_LIMB_MAX" EnumName="AnubiceLimb" Offset="0x3990"/>
<Animation Name="gAnubiceFallDownAnim" Offset="0x348"/>
<Animation Name="gAnubiceAttackingAnim" Offset="0x78C"/>
@ -69,20 +69,20 @@
<DList Name="object_anubice_0031A0_DL" Offset="0x31A0"/>
<DList Name="object_anubice_003288_DL" Offset="0x3288"/>
<Texture Name="object_anubice_0036A0_Tex" Format="i4" Width="32" Height="32" Offset="0x36A0"/>
<Limb Name="object_anubice_0038A0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_0038A0" Offset="0x38A0"/>
<Limb Name="object_anubice_0038AC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_0038AC" Offset="0x38AC"/>
<Limb Name="object_anubice_0038B8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_0038B8" Offset="0x38B8"/>
<Limb Name="object_anubice_0038C4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_0038C4" Offset="0x38C4"/>
<Limb Name="object_anubice_0038D0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_0038D0" Offset="0x38D0"/>
<Limb Name="object_anubice_0038DC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_0038DC" Offset="0x38DC"/>
<Limb Name="object_anubice_0038E8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_0038E8" Offset="0x38E8"/>
<Limb Name="object_anubice_0038F4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_0038F4" Offset="0x38F4"/>
<Limb Name="object_anubice_003900_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_003900" Offset="0x3900"/>
<Limb Name="object_anubice_00390C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_00390C" Offset="0x390C"/>
<Limb Name="object_anubice_003918_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_003918" Offset="0x3918"/>
<Limb Name="object_anubice_003924_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_003924" Offset="0x3924"/>
<Limb Name="object_anubice_003930_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_003930" Offset="0x3930"/>
<Limb Name="object_anubice_00393C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_00393C" Offset="0x393C"/>
<Limb Name="object_anubice_003948_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_ANUBICE_003948" Offset="0x3948"/>
<Limb Name="object_anubice_0038A0_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_ROOT" Offset="0x38A0"/>
<Limb Name="object_anubice_0038AC_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_BODY_ROOT" Offset="0x38AC"/>
<Limb Name="object_anubice_0038B8_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_CHEST" Offset="0x38B8"/>
<Limb Name="object_anubice_0038C4_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_ABDOMEN_ROOT" Offset="0x38C4"/>
<Limb Name="object_anubice_0038D0_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_UPPER_ABDOMEN" Offset="0x38D0"/>
<Limb Name="object_anubice_0038DC_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_LOWER_ABDOMEN" Offset="0x38DC"/>
<Limb Name="object_anubice_0038E8_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_TAIL_ROOT" Offset="0x38E8"/>
<Limb Name="object_anubice_0038F4_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_TAIL_BASE" Offset="0x38F4"/>
<Limb Name="object_anubice_003900_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_TAIL_TIP" Offset="0x3900"/>
<Limb Name="object_anubice_00390C_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_JEWEL_ROOT" Offset="0x390C"/>
<Limb Name="object_anubice_003918_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_JEWEL" Offset="0x3918"/>
<Limb Name="object_anubice_003924_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_HEAD_ROOT" Offset="0x3924"/>
<Limb Name="object_anubice_003930_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_HEAD" Offset="0x3930"/>
<Limb Name="object_anubice_00393C_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_JAW_ROOT" Offset="0x393C"/>
<Limb Name="object_anubice_003948_Limb" LimbType="Standard" EnumName="ANUBICE_LIMB_JAW" Offset="0x3948"/>
</File>
</Root>

View File

@ -34,10 +34,10 @@
<Texture Name="gBiriInnerHoodTex" Format="ia16" Width="16" Height="16" Offset="0x5608"/>
<!-- Biri Limbs and Skeleton -->
<Limb Name="gBiriRootLimb" LimbType="Standard" Offset="0x5808"/>
<Limb Name="gBiriInnerHoodLimb" LimbType="Standard" Offset="0x5814"/>
<Limb Name="gBiriOuterHoodLimb" LimbType="Standard" Offset="0x5820"/>
<Limb Name="gBiriTentaclesLimb" LimbType="Standard" Offset="0x582C"/>
<Skeleton Name="gBiriSkel" Type="Normal" LimbType="Standard" Offset="0x5848"/>
<Limb Name="gBiriRootLimb" LimbType="Standard" EnumName="BIRI_LIMB_ROOT" Offset="0x5808"/>
<Limb Name="gBiriInnerHoodLimb" LimbType="Standard" EnumName="BIRI_LIMB_INNER_HOOD" Offset="0x5814"/>
<Limb Name="gBiriOuterHoodLimb" LimbType="Standard" EnumName="BIRI_LIMB_OUTER_HOOD" Offset="0x5820"/>
<Limb Name="gBiriTentaclesLimb" LimbType="Standard" EnumName="BIRI_LIMB_TENTACLES" Offset="0x582C"/>
<Skeleton Name="gBiriSkel" Type="Normal" LimbType="Standard" LimbNone="BIRI_LIMB_NONE" LimbMax="BIRI_LIMB_MAX" EnumName="BiriLimb" Offset="0x5848"/>
</File>
</Root>

View File

@ -33,20 +33,20 @@
<Texture Name="gTorchSlugBody2Tex" Format="ci8" Width="32" Height="32" Offset="0x1C40" TlutOffset="0x1640"/>
<!-- Torch Slug Limbs -->
<Limb Name="gTorchSlugBodyLimb" LimbType="Standard" Offset="0x2040"/>
<Limb Name="gTorchSlugLeftEyestalkRootRootLimb" LimbType="Standard" Offset="0x204C"/>
<Limb Name="gTorchSlugLeftEyestalkRootLimb" LimbType="Standard" Offset="0x2058"/>
<Limb Name="gTorchSlugLeftUpperEyestalkRootLimb" LimbType="Standard" Offset="0x2064"/>
<Limb Name="gTorchSlugLeftUpperEyestalkLimb" LimbType="Standard" Offset="0x2070"/>
<Limb Name="gTorchSlugLeftLowerEyestalkLimb" LimbType="Standard" Offset="0x207C"/>
<Limb Name="gTorchSlugRightEyestalkRootRootLimb" LimbType="Standard" Offset="0x2088"/>
<Limb Name="gTorchSlugRightEyestalkRootLimb" LimbType="Standard" Offset="0x2094"/>
<Limb Name="gTorchSlugRightUpperEyestalkRootLimb" LimbType="Standard" Offset="0x20A0"/>
<Limb Name="gTorchSlugRightUpperEyestalkLimb" LimbType="Standard" Offset="0x20AC"/>
<Limb Name="gTorchSlugRightLowerEyestalkLimb" LimbType="Standard" Offset="0x20B8"/>
<Limb Name="gTorchSlugBodyLimb" LimbType="Standard" EnumName="TORCH_SLUG_LIMB_BODY" Offset="0x2040"/>
<Limb Name="gTorchSlugLeftEyestalkRootRootLimb" LimbType="Standard" EnumName="TORCH_SLUG_LIMB_LEFT_EYESTALK_ROOT_ROOT" Offset="0x204C"/>
<Limb Name="gTorchSlugLeftEyestalkRootLimb" LimbType="Standard" EnumName="TORCH_SLUG_LIMB_LEFT_EYESTALK_ROOT" Offset="0x2058"/>
<Limb Name="gTorchSlugLeftUpperEyestalkRootLimb" LimbType="Standard" EnumName="TORCH_SLUG_LIMB_LEFT_UPPER_EYESTALK_ROOT" Offset="0x2064"/>
<Limb Name="gTorchSlugLeftUpperEyestalkLimb" LimbType="Standard" EnumName="TORCH_SLUG_LIMB_LEFT_UPPER_EYESTALK" Offset="0x2070"/>
<Limb Name="gTorchSlugLeftLowerEyestalkLimb" LimbType="Standard" EnumName="TORCH_SLUG_LIMB_LEFT_LOWER_EYESTALK" Offset="0x207C"/>
<Limb Name="gTorchSlugRightEyestalkRootRootLimb" LimbType="Standard" EnumName="TORCH_SLUG_LIMB_RIGHT_EYESTALK_ROOT_ROOT" Offset="0x2088"/>
<Limb Name="gTorchSlugRightEyestalkRootLimb" LimbType="Standard" EnumName="TORCH_SLUG_LIMB_RIGHT_EYESTALK_ROOT" Offset="0x2094"/>
<Limb Name="gTorchSlugRightUpperEyestalkRootLimb" LimbType="Standard" EnumName="TORCH_SLUG_LIMB_RIGHT_UPPER_EYESTALK_ROOT" Offset="0x20A0"/>
<Limb Name="gTorchSlugRightUpperEyestalkLimb" LimbType="Standard" EnumName="TORCH_SLUG_LIMB_RIGHT_UPPER_EYESTALK" Offset="0x20AC"/>
<Limb Name="gTorchSlugRightLowerEyestalkLimb" LimbType="Standard" EnumName="TORCH_SLUG_LIMB_RIGHT_LOWER_EYESTALK" Offset="0x20B8"/>
<!-- Torch Slug Skeleton -->
<Skeleton Name="gTorchSlugSkel" Type="Normal" LimbType="Standard" Offset="0x20F0"/>
<Skeleton Name="gTorchSlugSkel" Type="Normal" LimbType="Standard" LimbNone="TORCH_SLUG_LIMB_NONE" LimbMax="TORCH_SLUG_LIMB_MAX" EnumName="TorchSlugLimb" Offset="0x20F0"/>
<!-- Torch Slug Animations -->
<Animation Name="gTorchSlugEyestalkRaiseAnim" Offset="0x21A0"/> <!-- Original name is "bw_hakken" ("discovery; detection"). Used for when the Torch Slug spots the player. -->

View File

@ -35,22 +35,22 @@
<Texture Name="gWindmillManMouthAngryTex" Format="ci8" Width="32" Height="16" Offset="0x6920" TlutOffset="0x4E60"/>
<Texture Name="gWindmillManHairTex" Format="ci8" Width="8" Height="16" Offset="0x6B20" TlutOffset="0x4E60"/>
<Skeleton Name="gWindmillManSkel" Type="Flex" LimbType="Standard" Offset="0x6C90"/>
<Limb Name="gWindmillManTorsoLimb" LimbType="Standard" Offset="0x6BA0"/>
<Limb Name="gWindmillManLeftThighLimb" LimbType="Standard" Offset="0x6BAC"/>
<Limb Name="gWindmillManLeftLegLimb" LimbType="Standard" Offset="0x6BB8"/>
<Limb Name="gWindmillManLeftFootLimb" LimbType="Standard" Offset="0x6BC4"/>
<Limb Name="gWindmillManRightThighLimb" LimbType="Standard" Offset="0x6BD0"/>
<Limb Name="gWindmillManRightLegLimb" LimbType="Standard" Offset="0x6BDC"/>
<Limb Name="gWindmillManRightFootLimb" LimbType="Standard" Offset="0x6BE8"/>
<Limb Name="gWindmillManChestAndMusicBoxPipeLimb" LimbType="Standard" Offset="0x6BF4"/>
<Limb Name="gWindmillManLeftArmAndMusicBoxLimb" LimbType="Standard" Offset="0x6C00"/>
<Limb Name="gWindmillManLimb_006C0C" LimbType="Standard" Offset="0x6C0C"/> <!--A random triangle near the right side of the music box-->
<Limb Name="gWindmillManRightShoulderLimb" LimbType="Standard" Offset="0x6C18"/>
<Limb Name="gWindmillManRightArmLimb" LimbType="Standard" Offset="0x6C24"/>
<Limb Name="gWindmillManRightHandAndCrankLimb" LimbType="Standard" Offset="0x6C30"/>
<Limb Name="gWindmillManHeadLimb" LimbType="Standard" Offset="0x6C3C"/>
<Limb Name="gWindmillManHornLimb" LimbType="Standard" Offset="0x6C48"/>
<Skeleton Name="gWindmillManSkel" Type="Flex" LimbType="Standard" LimbNone="WINDMILL_MAN_LIMB_NONE" LimbMax="WINDMILL_MAN_LIMB_MAX" EnumName="WindmillManLimb" Offset="0x6C90"/>
<Limb Name="gWindmillManTorsoLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_TORSO" Offset="0x6BA0"/>
<Limb Name="gWindmillManLeftThighLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_LEFT_THIGH" Offset="0x6BAC"/>
<Limb Name="gWindmillManLeftLegLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_LEFT_LEG" Offset="0x6BB8"/>
<Limb Name="gWindmillManLeftFootLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_LEFT_FOOT" Offset="0x6BC4"/>
<Limb Name="gWindmillManRightThighLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_RIGHT_THIGH" Offset="0x6BD0"/>
<Limb Name="gWindmillManRightLegLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_RIGHT_LEG" Offset="0x6BDC"/>
<Limb Name="gWindmillManRightFootLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_RIGHT_FOOT" Offset="0x6BE8"/>
<Limb Name="gWindmillManChestAndMusicBoxPipeLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_CHEST_MUSIC_BOX" Offset="0x6BF4"/>
<Limb Name="gWindmillManLeftArmAndMusicBoxLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_LEFT_ARM_MUSIC_BOX" Offset="0x6C00"/>
<Limb Name="gWindmillManLimb_006C0C" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_UNK" Offset="0x6C0C"/> <!--A random triangle near the right side of the music box-->
<Limb Name="gWindmillManRightShoulderLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_RIGHT_SHOULDER" Offset="0x6C18"/>
<Limb Name="gWindmillManRightArmLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_RIGHT_ARM" Offset="0x6C24"/>
<Limb Name="gWindmillManRightHandAndCrankLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_RIGHT_HAND_AND_CRANK" Offset="0x6C30"/>
<Limb Name="gWindmillManHeadLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_HEAD" Offset="0x6C3C"/>
<Limb Name="gWindmillManHornLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_HORN" Offset="0x6C48"/>
<Array Name="gWindmillManBlueTriangleVtx" Count="3" Offset="0xB20">
<Vtx/>

View File

@ -2,24 +2,24 @@
<File Name="object_ge1" Segment="6">
<!-- White-clothed Gerudo Skeleton -->
<Skeleton Name="gGerudoWhiteSkel" Type="Flex" LimbType="Standard" Offset="0x0330"/>
<Skeleton Name="gGerudoWhiteSkel" Type="Flex" LimbType="Standard" LimbNone="GERUDO_WHITE_LIMB_NONE" LimbMax="GERUDO_WHITE_LIMB_MAX" EnumName="GerudoWhiteLimb" Offset="0x0330"/>
<!-- White-clothed Gerudo Limbs -->
<Limb Name="gGerudoWhiteWaistLimb" LimbType="Standard" Offset="0x0240"/>
<Limb Name="gGerudoWhiteLeftThighLimb" LimbType="Standard" Offset="0x024C"/>
<Limb Name="gGerudoWhiteLeftShinLimb" LimbType="Standard" Offset="0x0258"/>
<Limb Name="gGerudoWhiteLeftFootLimb" LimbType="Standard" Offset="0x0264"/>
<Limb Name="gGerudoWhiteRightThighLimb" LimbType="Standard" Offset="0x0270"/>
<Limb Name="gGerudoWhiteRightShinLimb" LimbType="Standard" Offset="0x027C"/>
<Limb Name="gGerudoWhiteRightFootLimb" LimbType="Standard" Offset="0x0288"/>
<Limb Name="gGerudoWhiteTorsoLimb" LimbType="Standard" Offset="0x0294"/>
<Limb Name="gGerudoWhiteLeftUpperArmLimb" LimbType="Standard" Offset="0x02A0"/>
<Limb Name="gGerudoWhiteLeftForearmLimb" LimbType="Standard" Offset="0x02AC"/>
<Limb Name="gGerudoWhiteLeftHandLimb" LimbType="Standard" Offset="0x02B8"/>
<Limb Name="gGerudoWhiteRightUpperArmLimb" LimbType="Standard" Offset="0x02C4"/>
<Limb Name="gGerudoWhiteRightForearmLimb" LimbType="Standard" Offset="0x02D0"/>
<Limb Name="gGerudoWhiteRightHandLimb" LimbType="Standard" Offset="0x02DC"/>
<Limb Name="gGerudoWhiteHeadLimb" LimbType="Standard" Offset="0x02E8"/>
<Limb Name="gGerudoWhiteWaistLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_WAIST" Offset="0x0240"/>
<Limb Name="gGerudoWhiteLeftThighLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_L_THIGH" Offset="0x024C"/>
<Limb Name="gGerudoWhiteLeftShinLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_L_SHIN" Offset="0x0258"/>
<Limb Name="gGerudoWhiteLeftFootLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_L_FOOT" Offset="0x0264"/>
<Limb Name="gGerudoWhiteRightThighLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_R_THIGH" Offset="0x0270"/>
<Limb Name="gGerudoWhiteRightShinLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_R_SHIN" Offset="0x027C"/>
<Limb Name="gGerudoWhiteRightFootLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_R_FOOT" Offset="0x0288"/>
<Limb Name="gGerudoWhiteTorsoLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_TORSO" Offset="0x0294"/>
<Limb Name="gGerudoWhiteLeftUpperArmLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_L_UPPER_ARM" Offset="0x02A0"/>
<Limb Name="gGerudoWhiteLeftForearmLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_L_FOREARM" Offset="0x02AC"/>
<Limb Name="gGerudoWhiteLeftHandLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_L_HAND" Offset="0x02B8"/>
<Limb Name="gGerudoWhiteRightUpperArmLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_R_UPPER_ARM" Offset="0x02C4"/>
<Limb Name="gGerudoWhiteRightForearmLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_R_FOREARM" Offset="0x02D0"/>
<Limb Name="gGerudoWhiteRightHandLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_R_HAND" Offset="0x02DC"/>
<Limb Name="gGerudoWhiteHeadLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_HEAD" Offset="0x02E8"/>
<!-- White-clothed Gerudo Limb DisplayLists -->
<DList Name="gGerudoWhiteWaistDL" Offset="0x69E0"/>

View File

@ -1,7 +1,7 @@
<Root>
<File Name="object_geldb" Segment="6">
<!-- Red-clothed Gerudo skeleton -->
<Skeleton Name="gGerudoRedSkel" Type="Flex" LimbType="Standard" Offset="0xA458"/>
<Skeleton Name="gGerudoRedSkel" Type="Flex" LimbType="Standard" LimbNone="GERUDO_RED_LIMB_NONE" LimbMax="GERUDO_RED_LIMB_MAX" EnumName="GerudoRedLimb" Offset="0xA458"/>
<!-- Red-clothed Gerudo animations -->
<Animation Name="gGerudoRedJumpAnim" Offset="0xADF8"/>
@ -120,28 +120,28 @@
<DList Name="object_geldb_0099A8_DL" Offset="0x99A8"/>
<DList Name="object_geldb_009A60_DL" Offset="0x9A60"/>
<DList Name="object_geldb_009B50_DL" Offset="0x9B50"/>
<Limb Name="object_geldb_00A2E8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A2E8" Offset="0xA2E8"/>
<Limb Name="object_geldb_00A2F4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A2F4" Offset="0xA2F4"/>
<Limb Name="object_geldb_00A300_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A300" Offset="0xA300"/>
<Limb Name="object_geldb_00A30C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A30C" Offset="0xA30C"/>
<Limb Name="object_geldb_00A318_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A318" Offset="0xA318"/>
<Limb Name="object_geldb_00A324_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A324" Offset="0xA324"/>
<Limb Name="object_geldb_00A330_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A330" Offset="0xA330"/>
<Limb Name="object_geldb_00A33C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A33C" Offset="0xA33C"/>
<Limb Name="object_geldb_00A348_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A348" Offset="0xA348"/>
<Limb Name="object_geldb_00A354_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A354" Offset="0xA354"/>
<Limb Name="object_geldb_00A360_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A360" Offset="0xA360"/>
<Limb Name="object_geldb_00A36C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A36C" Offset="0xA36C"/>
<Limb Name="object_geldb_00A378_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A378" Offset="0xA378"/>
<Limb Name="object_geldb_00A384_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A384" Offset="0xA384"/>
<Limb Name="object_geldb_00A390_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A390" Offset="0xA390"/>
<Limb Name="object_geldb_00A39C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A39C" Offset="0xA39C"/>
<Limb Name="object_geldb_00A3A8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A3A8" Offset="0xA3A8"/>
<Limb Name="object_geldb_00A3B4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A3B4" Offset="0xA3B4"/>
<Limb Name="object_geldb_00A3C0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A3C0" Offset="0xA3C0"/>
<Limb Name="object_geldb_00A3CC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A3CC" Offset="0xA3CC"/>
<Limb Name="object_geldb_00A3D8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A3D8" Offset="0xA3D8"/>
<Limb Name="object_geldb_00A3E4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A3E4" Offset="0xA3E4"/>
<Limb Name="object_geldb_00A3F0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A3F0" Offset="0xA3F0"/>
<Limb Name="object_geldb_00A2E8_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_ROOT" Offset="0xA2E8"/>
<Limb Name="object_geldb_00A2F4_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_TORSO" Offset="0xA2F4"/>
<Limb Name="object_geldb_00A300_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_NECK" Offset="0xA300"/>
<Limb Name="object_geldb_00A30C_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_PONYTAIL" Offset="0xA30C"/>
<Limb Name="object_geldb_00A318_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_VEIL" Offset="0xA318"/>
<Limb Name="object_geldb_00A324_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_HEAD" Offset="0xA324"/>
<Limb Name="object_geldb_00A330_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_UPPER_ARM" Offset="0xA330"/>
<Limb Name="object_geldb_00A33C_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_FOREARM" Offset="0xA33C"/>
<Limb Name="object_geldb_00A348_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_WRIST" Offset="0xA348"/>
<Limb Name="object_geldb_00A354_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_HAND" Offset="0xA354"/>
<Limb Name="object_geldb_00A360_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_SWORD" Offset="0xA360"/>
<Limb Name="object_geldb_00A36C_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_UPPER_ARM" Offset="0xA36C"/>
<Limb Name="object_geldb_00A378_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_FOREARM" Offset="0xA378"/>
<Limb Name="object_geldb_00A384_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_WRIST" Offset="0xA384"/>
<Limb Name="object_geldb_00A390_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_HAND" Offset="0xA390"/>
<Limb Name="object_geldb_00A39C_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_SWORD" Offset="0xA39C"/>
<Limb Name="object_geldb_00A3A8_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_THIGH" Offset="0xA3A8"/>
<Limb Name="object_geldb_00A3B4_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_SHIN" Offset="0xA3B4"/>
<Limb Name="object_geldb_00A3C0_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_FOOT" Offset="0xA3C0"/>
<Limb Name="object_geldb_00A3CC_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_THIGH" Offset="0xA3CC"/>
<Limb Name="object_geldb_00A3D8_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_SHIN" Offset="0xA3D8"/>
<Limb Name="object_geldb_00A3E4_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_FOOT" Offset="0xA3E4"/>
<Limb Name="object_geldb_00A3F0_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_WAIST" Offset="0xA3F0"/>
</File>
</Root>

View File

@ -145,31 +145,31 @@
<Texture Name="gYoungGanondorfFingernailTex" Format="rgba16" Width="4" Height="4" Offset="0x11858"/>
<!-- Young Ganondorf Limbs -->
<Limb Name="gYoungGanondorfRootLimb" LimbType="Standard" Offset="0x11878"/>
<Limb Name="gYoungGanondorfTorsoLimb" LimbType="Standard" Offset="0x11884"/>
<Limb Name="gYoungGanondorfLeftUpperArmLimb" LimbType="Standard" Offset="0x11890"/>
<Limb Name="gYoungGanondorfLeftForearmLimb" LimbType="Standard" Offset="0x1189C"/>
<Limb Name="gYoungGanondorfLeftHandLimb" LimbType="Standard" Offset="0x118A8"/>
<Limb Name="gYoungGanondorfRightUpperArmLimb" LimbType="Standard" Offset="0x118B4"/>
<Limb Name="gYoungGanondorfRightForearmLimb" LimbType="Standard" Offset="0x118C0"/>
<Limb Name="gYoungGanondorfRightHandLimb" LimbType="Standard" Offset="0x118CC"/>
<Limb Name="gYoungGanondorfJewelLimb" LimbType="Standard" Offset="0x118D8"/>
<Limb Name="gYoungGanondorfLeftUpperLipLimb" LimbType="Standard" Offset="0x118E4"/>
<Limb Name="gYoungGanondorfJawLimb" LimbType="Standard" Offset="0x118F0"/>
<Limb Name="gYoungGanondorfChinLimb" LimbType="Standard" Offset="0x118FC"/>
<Limb Name="gYoungGanondorfRightUpperLipLimb" LimbType="Standard" Offset="0x11908"/>
<Limb Name="gYoungGanondorfTeethLimb" LimbType="Standard" Offset="0x11914"/>
<Limb Name="gYoungGanondorfHeadLimb" LimbType="Standard" Offset="0x11920"/>
<Limb Name="gYoungGanondorfPelvisLimb" LimbType="Standard" Offset="0x1192C"/>
<Limb Name="gYoungGanondorfLeftThighLimb" LimbType="Standard" Offset="0x11938"/>
<Limb Name="gYoungGanondorfLeftShinLimb" LimbType="Standard" Offset="0x11944"/>
<Limb Name="gYoungGanondorfLeftFootLimb" LimbType="Standard" Offset="0x11950"/>
<Limb Name="gYoungGanondorfKnifeLimb" LimbType="Standard" Offset="0x1195C"/>
<Limb Name="gYoungGanondorfRightThighLimb" LimbType="Standard" Offset="0x11968"/>
<Limb Name="gYoungGanondorfRightShinLimb" LimbType="Standard" Offset="0x11974"/>
<Limb Name="gYoungGanondorfRightFootLimb" LimbType="Standard" Offset="0x11980"/>
<Limb Name="gYoungGanondorfRootLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_ROOT" Offset="0x11878"/>
<Limb Name="gYoungGanondorfTorsoLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_TORSO" Offset="0x11884"/>
<Limb Name="gYoungGanondorfLeftUpperArmLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_LEFT_UPPER_ARM" Offset="0x11890"/>
<Limb Name="gYoungGanondorfLeftForearmLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_LEFT_FOREARM" Offset="0x1189C"/>
<Limb Name="gYoungGanondorfLeftHandLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_LEFT_HAND" Offset="0x118A8"/>
<Limb Name="gYoungGanondorfRightUpperArmLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_RIGHT_UPPER_ARM" Offset="0x118B4"/>
<Limb Name="gYoungGanondorfRightForearmLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_RIGHT_FOREARM" Offset="0x118C0"/>
<Limb Name="gYoungGanondorfRightHandLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_RIGHT_HAND" Offset="0x118CC"/>
<Limb Name="gYoungGanondorfJewelLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_JEWEL" Offset="0x118D8"/>
<Limb Name="gYoungGanondorfLeftUpperLipLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_LEFT_UPPER_LIP" Offset="0x118E4"/>
<Limb Name="gYoungGanondorfJawLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_JAW" Offset="0x118F0"/>
<Limb Name="gYoungGanondorfChinLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_CHIN" Offset="0x118FC"/>
<Limb Name="gYoungGanondorfRightUpperLipLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_RIGHT_UPPER_LIP" Offset="0x11908"/>
<Limb Name="gYoungGanondorfTeethLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_TEETH" Offset="0x11914"/>
<Limb Name="gYoungGanondorfHeadLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_HEAD" Offset="0x11920"/>
<Limb Name="gYoungGanondorfPelvisLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_PELVIS" Offset="0x1192C"/>
<Limb Name="gYoungGanondorfLeftThighLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_LEFT_THIGH" Offset="0x11938"/>
<Limb Name="gYoungGanondorfLeftShinLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_LEFT_SHIN" Offset="0x11944"/>
<Limb Name="gYoungGanondorfLeftFootLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_LEFT_FOOT" Offset="0x11950"/>
<Limb Name="gYoungGanondorfKnifeLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_KNIFE" Offset="0x1195C"/>
<Limb Name="gYoungGanondorfRightThighLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_RIGHT_THIGH" Offset="0x11968"/>
<Limb Name="gYoungGanondorfRightShinLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_RIGHT_SHIN" Offset="0x11974"/>
<Limb Name="gYoungGanondorfRightFootLimb" LimbType="Standard" EnumName="YOUNG_GANONDORF_LIMB_RIGHT_FOOT" Offset="0x11980"/>
<!-- Young Ganondorf Skeleton -->
<Skeleton Name="gYoungGanondorfSkel" Type="Flex" LimbType="Standard" Offset="0x119E8"/>
<Skeleton Name="gYoungGanondorfSkel" Type="Flex" LimbType="Standard" LimbNone="YOUNG_GANONDORF_LIMB_NONE" LimbMax="YOUNG_GANONDORF_LIMB_MAX" EnumName="YoungGanondorfLimb" Offset="0x119E8"/>
</File>
</Root>

View File

@ -7,29 +7,29 @@
<Animation Name="gFlagpoleFlapAnim" Offset="0x444"/>
<!-- Flagpole Skeleton -->
<Skeleton Name="gFlagpoleSkel" Type="Normal" LimbType="Standard" Offset="0x2FD0"/>
<Skeleton Name="gFlagpoleSkel" Type="Normal" LimbType="Standard" LimbNone="FLAGPOLE_LIMB_NONE" LimbMax="FLAGPOLE_LIMB_MAX" EnumName="FlagpoleLimb" Offset="0x2FD0"/>
<!-- Flagpole Limbs -->
<Limb Name="gFlagpolePoleBaseLimb" LimbType="Standard" Offset="0x2E90"/>
<Limb Name="gFlagpolePoleLimb" LimbType="Standard" Offset="0x2E9C"/>
<Limb Name="gFlagpoleFlag1BaseLimb" LimbType="Standard" Offset="0x2EA8"/>
<Limb Name="gFlagpoleFlag1HoistEndBaseLimb" LimbType="Standard" Offset="0x2EB4"/>
<Limb Name="gFlagpoleFlag1HoistMidBaseLimb" LimbType="Standard" Offset="0x2EC0"/>
<Limb Name="gFlagpoleFlag1FlyMidBaseLimb" LimbType="Standard" Offset="0x2ECC"/>
<Limb Name="gFlagpoleFlag1FlyEndBaseLimb" LimbType="Standard" Offset="0x2ED8"/>
<Limb Name="gFlagpoleFlag1FlyEndLimb" LimbType="Standard" Offset="0x2EE4"/>
<Limb Name="gFlagpoleFlag1FlyMidLimb" LimbType="Standard" Offset="0x2EF0"/>
<Limb Name="gFlagpoleFlag1HoistMidLimb" LimbType="Standard" Offset="0x2EFC"/>
<Limb Name="gFlagpoleFlag1HoistEndLimb" LimbType="Standard" Offset="0x2F08"/>
<Limb Name="gFlagpoleFlag2BaseLimb" LimbType="Standard" Offset="0x2F14"/>
<Limb Name="gFlagpoleFlag2HoistEndBaseLimb" LimbType="Standard" Offset="0x2F20"/>
<Limb Name="gFlagpoleFlag2HoistMidBaseLimb" LimbType="Standard" Offset="0x2F2C"/>
<Limb Name="gFlagpoleFlag2FlyMidBaseLimb" LimbType="Standard" Offset="0x2F38"/>
<Limb Name="gFlagpoleFlag2FlyEndBaseLimb" LimbType="Standard" Offset="0x2F44"/>
<Limb Name="gFlagpoleFlag2FlyEndLimb" LimbType="Standard" Offset="0x2F50"/>
<Limb Name="gFlagpoleFlag2FlyMidLimb" LimbType="Standard" Offset="0x2F5C"/>
<Limb Name="gFlagpoleFlag2HoistMidLimb" LimbType="Standard" Offset="0x2F68"/>
<Limb Name="gFlagpoleFlag2HoistEndLimb" LimbType="Standard" Offset="0x2F74"/>
<Limb Name="gFlagpolePoleBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_POLE_BASE" Offset="0x2E90"/>
<Limb Name="gFlagpolePoleLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_POLE" Offset="0x2E9C"/>
<Limb Name="gFlagpoleFlag1BaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_BASE" Offset="0x2EA8"/>
<Limb Name="gFlagpoleFlag1HoistEndBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_HOIST_END_BASE" Offset="0x2EB4"/>
<Limb Name="gFlagpoleFlag1HoistMidBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_HOIST_MID_BASE" Offset="0x2EC0"/>
<Limb Name="gFlagpoleFlag1FlyMidBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_FLY_MID_BASE" Offset="0x2ECC"/>
<Limb Name="gFlagpoleFlag1FlyEndBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_FLY_END_BASE" Offset="0x2ED8"/>
<Limb Name="gFlagpoleFlag1FlyEndLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_FLY_END" Offset="0x2EE4"/>
<Limb Name="gFlagpoleFlag1FlyMidLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_FLY_MID" Offset="0x2EF0"/>
<Limb Name="gFlagpoleFlag1HoistMidLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_HOIST_MID" Offset="0x2EFC"/>
<Limb Name="gFlagpoleFlag1HoistEndLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_HOIST_END" Offset="0x2F08"/>
<Limb Name="gFlagpoleFlag2BaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_BASE" Offset="0x2F14"/>
<Limb Name="gFlagpoleFlag2HoistEndBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_HOIST_END_BASE" Offset="0x2F20"/>
<Limb Name="gFlagpoleFlag2HoistMidBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_HOIST_MID_BASE" Offset="0x2F2C"/>
<Limb Name="gFlagpoleFlag2FlyMidBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_FLY_MID_BASE" Offset="0x2F38"/>
<Limb Name="gFlagpoleFlag2FlyEndBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_FLY_END_BASE" Offset="0x2F44"/>
<Limb Name="gFlagpoleFlag2FlyEndLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_FLY_END" Offset="0x2F50"/>
<Limb Name="gFlagpoleFlag2FlyMidLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_FLY_MID" Offset="0x2F5C"/>
<Limb Name="gFlagpoleFlag2HoistMidLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_HOIST_MID" Offset="0x2F68"/>
<Limb Name="gFlagpoleFlag2HoistEndLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_HOIST_END" Offset="0x2F74"/>
<!-- Flagpole Vertices -->
<Array Name="gFlagpolePoleVtx" Count="39" Offset="0x2460">

View File

@ -107,23 +107,23 @@
<DList Name="gImpaRightFootDL" Offset="0xE5D0"/>
<DList Name="gImpaRightHandDL" Offset="0xE908"/>
<DList Name="gImpaHandPointingDL" Offset="0xEDE8"/>
<Limb Name="gImpaRootLimb" LimbType="Standard" Offset="0xF688"/>
<Limb Name="gImpaTorsoLimb" LimbType="Standard" Offset="0xF694"/>
<Limb Name="gImpaLeftThighLimb" LimbType="Standard" Offset="0xF6A0"/>
<Limb Name="gImpaLeftLegLimb" LimbType="Standard" Offset="0xF6AC"/>
<Limb Name="gImpaLeftFootLimb" LimbType="Standard" Offset="0xF6B8"/>
<Limb Name="gImpaRightThighLimb" LimbType="Standard" Offset="0xF6C4"/>
<Limb Name="gImpaRightLegLimb" LimbType="Standard" Offset="0xF6D0"/>
<Limb Name="gImpaRightFootLimb" LimbType="Standard" Offset="0xF6DC"/>
<Limb Name="gImpaChestLimb" LimbType="Standard" Offset="0xF6E8"/>
<Limb Name="gImpaLeftShoulderLimb" LimbType="Standard" Offset="0xF6F4"/>
<Limb Name="gImpaLeftArmLimb" LimbType="Standard" Offset="0xF700"/>
<Limb Name="gImpaLeftHandLimb" LimbType="Standard" Offset="0xF70C"/>
<Limb Name="gImpaRightShoulderLimb" LimbType="Standard" Offset="0xF718"/>
<Limb Name="gImpaRightArmLimb" LimbType="Standard" Offset="0xF724"/>
<Limb Name="gImpaRightHandLimb" LimbType="Standard" Offset="0xF730"/>
<Limb Name="gImpaHeadLimb" LimbType="Standard" Offset="0xF73C"/>
<Skeleton Name="gImpaSkel" Type="Flex" LimbType="Standard" Offset="0xF788"/>
<Limb Name="gImpaRootLimb" LimbType="Standard" EnumName="IMPA_LIMB_ROOT" Offset="0xF688"/>
<Limb Name="gImpaTorsoLimb" LimbType="Standard" EnumName="IMPA_LIMB_TORSO" Offset="0xF694"/>
<Limb Name="gImpaLeftThighLimb" LimbType="Standard" EnumName="IMPA_LIMB_LEFT_THIGH" Offset="0xF6A0"/>
<Limb Name="gImpaLeftLegLimb" LimbType="Standard" EnumName="IMPA_LIMB_LEFT_LEG" Offset="0xF6AC"/>
<Limb Name="gImpaLeftFootLimb" LimbType="Standard" EnumName="IMPA_LIMB_LEFT_FOOT" Offset="0xF6B8"/>
<Limb Name="gImpaRightThighLimb" LimbType="Standard" EnumName="IMPA_LIMB_RIGHT_THIGH" Offset="0xF6C4"/>
<Limb Name="gImpaRightLegLimb" LimbType="Standard" EnumName="IMPA_LIMB_RIGHT_LEG" Offset="0xF6D0"/>
<Limb Name="gImpaRightFootLimb" LimbType="Standard" EnumName="IMPA_LIMB_RIGHT_FOOT" Offset="0xF6DC"/>
<Limb Name="gImpaChestLimb" LimbType="Standard" EnumName="IMPA_LIMB_CHEST" Offset="0xF6E8"/>
<Limb Name="gImpaLeftShoulderLimb" LimbType="Standard" EnumName="IMPA_LIMB_LEFT_SHOULDER" Offset="0xF6F4"/>
<Limb Name="gImpaLeftArmLimb" LimbType="Standard" EnumName="IMPA_LIMB_LEFT_ARM" Offset="0xF700"/>
<Limb Name="gImpaLeftHandLimb" LimbType="Standard" EnumName="IMPA_LIMB_LEFT_HAND" Offset="0xF70C"/>
<Limb Name="gImpaRightShoulderLimb" LimbType="Standard" EnumName="IMPA_LIMB_RIGHT_SHOULDER" Offset="0xF718"/>
<Limb Name="gImpaRightArmLimb" LimbType="Standard" EnumName="IMPA_LIMB_RIGHT_ARM" Offset="0xF724"/>
<Limb Name="gImpaRightHandLimb" LimbType="Standard" EnumName="IMPA_LIMB_RIGHT_HAND" Offset="0xF730"/>
<Limb Name="gImpaHeadLimb" LimbType="Standard" EnumName="IMPA_LIMB_HEAD" Offset="0xF73C"/>
<Skeleton Name="gImpaSkel" Type="Flex" LimbType="Standard" LimbNone="IMPA_LIMB_NONE" LimbMax="IMPA_LIMB_MAX" EnumName="ImpaLimb" Offset="0xF788"/>
<Animation Name="object_im_Anim_00FB10" Offset="0xFB10"/>
<Animation Name="object_im_Anim_0101C8" Offset="0x101C8"/>
<Animation Name="gImpaStartWhistlingAnim" Offset="0x10EE0"/>

View File

@ -556,17 +556,17 @@
<Texture Name="gLinkAdultUnusedSwordGuardTex" Format="ci8" Width="32" Height="32" Offset="0x8E80" TlutOffset="5E00"/>
<Texture Name="gLinkAdultUnusedSwordEmblemTex" Format="ci8" Width="16" Height="16" Offset="0x9280" TlutOffset="0x5E00"/>
<Array Name="gLinkAdultVtx_02E120" Count="38" Offset="0x2E120" Static="On">
<Array Name="gLinkAdultVtx_02E120" Count="38" Offset="0x2E120">
<Vtx/>
</Array>
<Array Name="gLinkAdultVtx_033760" Count="54" Offset="0x33760" Static="On">
<Array Name="gLinkAdultVtx_033760" Count="54" Offset="0x33760">
<Vtx/>
</Array>
<Array Name="gLinkAdultVtx_0340A0" Count="146" Offset="0x340A0" Static="On">
<Array Name="gLinkAdultVtx_0340A0" Count="146" Offset="0x340A0">
<Vtx/>
</Array>
<Array Name="gLinkAdultVtx_02E7E0" Count="114" Offset="0x2E7E0" Static="On">
<Array Name="gLinkAdultVtx_02E7E0" Count="114" Offset="0x2E7E0">
<Vtx/>
</Array>

View File

@ -450,27 +450,27 @@
<Texture Name="gLinkChildMouthSmileTex" Format="ci8" Width="32" Height="32" Offset="0x4C00" TlutOffset="0x5500"/>
<!--Unused Vtx-->
<Array Name="gLinkChildVtx_019E08" Count="35" Offset="0x19E08" Static="On">
<Array Name="gLinkChildVtx_019E08" Count="35" Offset="0x19E08">
<Vtx/>
</Array>
<Array Name="gLinkChildVtx_01A428" Count="39" Offset="0x1A428" Static="On">
<Array Name="gLinkChildVtx_01A428" Count="39" Offset="0x1A428">
<Vtx/>
</Array>
<Array Name="gLinkChildVtx_01AA98" Count="40" Offset="0x1AA98" Static="On">
<Array Name="gLinkChildVtx_01AA98" Count="40" Offset="0x1AA98">
<Vtx/>
</Array>
<Array Name="gLinkChildVtx_01EB38" Count="39" Offset="0x1EB38" Static="On">
<Array Name="gLinkChildVtx_01EB38" Count="39" Offset="0x1EB38">
<Vtx/>
</Array>
<Array Name="gLinkChildVtx_01F2B8" Count="39" Offset="0x1F2B8" Static="On">
<Array Name="gLinkChildVtx_01F2B8" Count="39" Offset="0x1F2B8">
<Vtx/>
</Array>
<Array Name="gLinkChildVtx_01FA28" Count="62" Offset="0x1FA28" Static="On">
<Array Name="gLinkChildVtx_01FA28" Count="62" Offset="0x1FA28">
<Vtx/>
</Array>
</File>

View File

@ -1,110 +1,110 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_zo" Segment="6">
<Skeleton Name="gZoraSkel" Type="Flex" LimbType="Standard" Offset="0xBFA8"/>
<Skeleton Name="gZoraSkel" Type="Flex" LimbType="Standard" LimbNone="ZORA_LIMB_NONE" LimbMax="ZORA_LIMB_MAX" EnumName="ZoraLimb" Offset="0xBFA8"/>
<Limb Name="gZoraPelvisLimb" LimbType="Standard" Offset="0xBE78"/>
<Limb Name="gZoraPelvisLimb" LimbType="Standard" EnumName="ZORA_LIMB_PELVIS" Offset="0xBE78"/>
<Array Name="gZoraPelvisVtx" Count="31" Offset="0x8E50">
<Vtx/>
</Array>
<DList Name="gZoraPelvisDL" Offset="0x9040"/>
<!-- Left leg -->
<Limb Name="gZoraLeftThighsLimb" LimbType="Standard" Offset="0xBE84"/>
<Limb Name="gZoraLeftThighsLimb" LimbType="Standard" EnumName="ZORA_LIMB_LEFT_THIGHS" Offset="0xBE84"/>
<Array Name="gZoraLeftThighsVtx" Count="44" Offset="0x83D0">
<Vtx/>
</Array>
<DList Name="gZoraLeftThighsDL" Offset="0xB5F8"/>
<Limb Name="gZoraLeftShinLimb" LimbType="Standard" Offset="0xBE90"/>
<Limb Name="gZoraLeftShinLimb" LimbType="Standard" EnumName="ZORA_LIMB_LEFT_SHIN" Offset="0xBE90"/>
<Array Name="gZoraLeftShinVtx" Count="41" Offset="0x8140">
<Vtx/>
</Array>
<DList Name="gZoraLeftShinDL" Offset="0xB8D8"/>
<Limb Name="gZoraLeftFootLimb" LimbType="Standard" Offset="0xBE9C"/>
<Limb Name="gZoraLeftFootLimb" LimbType="Standard" EnumName="ZORA_LIMB_LEFT_FOOT" Offset="0xBE9C"/>
<Array Name="gZoraLeftFootVtx" Count="39" Offset="0x7ED0">
<Vtx/>
</Array>
<DList Name="gZoraLeftFootDL" Offset="0xBBB0"/>
<!-- Right leg -->
<Limb Name="gZoraRightThighsLimb" LimbType="Standard" Offset="0xBEA8"/>
<Limb Name="gZoraRightThighsLimb" LimbType="Standard" EnumName="ZORA_LIMB_RIGHT_THIGHS" Offset="0xBEA8"/>
<Array Name="gZoraRightThighsVtx" Count="44" Offset="0x8B90">
<Vtx/>
</Array>
<DList Name="gZoraRightThighsDL" Offset="0xAD78"/>
<Limb Name="gZoraRightShinLimb" LimbType="Standard" Offset="0xBEB4"/>
<Limb Name="gZoraRightShinLimb" LimbType="Standard" EnumName="ZORA_LIMB_RIGHT_SHIN" Offset="0xBEB4"/>
<Array Name="gZoraRightShinVtx" Count="41" Offset="0x8900">
<Vtx/>
</Array>
<DList Name="gZoraRightShinDL" Offset="0xB058"/>
<Limb Name="gZoraRightFootLimb" LimbType="Standard" Offset="0xBEC0"/>
<Limb Name="gZoraRightFootLimb" LimbType="Standard" EnumName="ZORA_LIMB_RIGHT_FOOT" Offset="0xBEC0"/>
<Array Name="gZoraRightFootVtx" Count="39" Offset="0x8690">
<Vtx/>
</Array>
<DList Name="gZoraRightFootDL" Offset="0xB330"/>
<Limb Name="gZoraTorsoLimb" LimbType="Standard" Offset="0xBECC"/>
<Limb Name="gZoraTorsoLimb" LimbType="Standard" EnumName="ZORA_LIMB_TORSO" Offset="0xBECC"/>
<Array Name="gZoraTorsoVtx" Count="106" Offset="0x7830">
<Vtx/>
</Array>
<DList Name="gZoraTorsoDL" Offset="0x91E8"/>
<!-- Left arm -->
<Limb Name="gZoraLeftArmLimb" LimbType="Standard" Offset="0xBED8"/>
<Limb Name="gZoraLeftArmLimb" LimbType="Standard" EnumName="ZORA_LIMB_LEFT_ARM" Offset="0xBED8"/>
<Array Name="gZoraLeftArmVtx" Count="38" Offset="0x6ED0">
<Vtx/>
</Array>
<DList Name="gZoraLeftArmDL" Offset="0xA630"/>
<Limb Name="gZoraLeftForearmLimb" LimbType="Standard" Offset="0xBEE4"/>
<Limb Name="gZoraLeftForearmLimb" LimbType="Standard" EnumName="ZORA_LIMB_LEFT_FOREARM" Offset="0xBEE4"/>
<Array Name="gZoraLeftForearmVtx" Count="33" Offset="0x6CC0">
<Vtx/>
</Array>
<DList Name="gZoraLeftForearmDL" Offset="0xA890"/>
<Limb Name="gZoraLeftHandLimb" LimbType="Standard" Offset="0xBEF0"/>
<Limb Name="gZoraLeftHandLimb" LimbType="Standard" EnumName="ZORA_LIMB_LEFT_HAND" Offset="0xBEF0"/>
<Array Name="gZoraLeftHandVtx" Count="41" Offset="0x6A30">
<Vtx/>
</Array>
<DList Name="gZoraLeftHandDL" Offset="0xAB70"/>
<!-- Right arm -->
<Limb Name="gZoraRightArmLimb" LimbType="Standard" Offset="0xBEFC"/>
<Limb Name="gZoraRightArmLimb" LimbType="Standard" EnumName="ZORA_LIMB_RIGHT_ARM" Offset="0xBEFC"/>
<Array Name="gZoraRightArmVtx" Count="38" Offset="0x75D0">
<Vtx/>
</Array>
<DList Name="gZoraRightArmDL" Offset="0x9EE8"/>
<Limb Name="gZoraRightForearmLimb" LimbType="Standard" Offset="0xBF08"/>
<Limb Name="gZoraRightForearmLimb" LimbType="Standard" EnumName="ZORA_LIMB_RIGHT_FOREARM" Offset="0xBF08"/>
<Array Name="gZoraRightForearmVtx" Count="33" Offset="0x73C0">
<Vtx/>
</Array>
<DList Name="gZoraRightForearmDL" Offset="0xA148"/>
<Limb Name="gZoraRightHandLimb" LimbType="Standard" Offset="0xBF14"/>
<Limb Name="gZoraRightHandLimb" LimbType="Standard" EnumName="ZORA_LIMB_RIGHT_HAND" Offset="0xBF14"/>
<Array Name="gZoraRightHandVtx" Count="41" Offset="0x7130">
<Vtx/>
</Array>
<DList Name="gZoraRightHandDL" Offset="0xA428"/>
<!-- Head and head tail -->
<Limb Name="gZoraHeadLimb" LimbType="Standard" Offset="0xBF20"/>
<Limb Name="gZoraHeadLimb" LimbType="Standard" EnumName="ZORA_LIMB_HEAD" Offset="0xBF20"/>
<Array Name="gZoraHeadVtx" Count="75" Offset="0x6580">
<Vtx/>
</Array>
<DList Name="gZoraHeadDL" Offset="0x9560"/>
<Limb Name="gZoraHeadTail1Limb" LimbType="Standard" Offset="0xBF2C"/>
<Limb Name="gZoraHeadTail1Limb" LimbType="Standard" EnumName="ZORA_LIMB_HEAD_TAIL_1" Offset="0xBF2C"/>
<Array Name="gZoraHeadTail1Vtx" Count="24" Offset="0x6400">
<Vtx/>
</Array>
<DList Name="gZoraHeadTail1DL" Offset="0x97D8"/>
<Limb Name="gZoraHeadTail2Limb" LimbType="Standard" Offset="0xBF38"/>
<Limb Name="gZoraHeadTail2Limb" LimbType="Standard" EnumName="ZORA_LIMB_HEAD_TAIL_2" Offset="0xBF38"/>
<Array Name="gZoraHeadTail2Vtx" Count="22" Offset="0x62A0">
<Vtx/>
</Array>
<DList Name="gZoraHeadTail2DL" Offset="0x9978"/>
<Limb Name="gZoraHeadTail3Limb" LimbType="Standard" Offset="0xBF44"/>
<Limb Name="gZoraHeadTail3Limb" LimbType="Standard" EnumName="ZORA_LIMB_HEAD_TAIL_3" Offset="0xBF44"/>
<Array Name="gZoraHeadTail3Vtx" Count="22" Offset="0x6140">
<Vtx/>
</Array>
<DList Name="gZoraHeadTail3DL" Offset="0x9B10"/>
<Limb Name="gZoraHeadTailFinLimb" LimbType="Standard" Offset="0xBF50"/>
<Limb Name="gZoraHeadTailFinLimb" LimbType="Standard" EnumName="ZORA_LIMB_HEAD_TAIL_FIN" Offset="0xBF50"/>
<Array Name="gZoraHeadTailFinVtx" Count="28" Offset="0x5F80">
<Vtx/>
</Array>

View File

@ -1,11 +1,11 @@
<Root>
<File Name="ovl_Arrow_Fire">
<Texture Name="s1Tex" Format="i8" Width="32" Height="64" Offset="0x0" Static="On"/>
<Texture Name="s2Tex" Format="i8" Width="32" Height="64" Offset="0x800" Static="On"/>
<Array Name="sVtx" Count="43" Offset="0x1000" Static="On">
<Texture Name="s1Tex" Format="i8" Width="32" Height="64" Offset="0x0"/>
<Texture Name="s2Tex" Format="i8" Width="32" Height="64" Offset="0x800"/>
<Array Name="sVtx" Count="43" Offset="0x1000">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x12B0" Static="On"/>
<DList Name="sModelDL" Offset="0x1360" Static="On"/>
<DList Name="sMaterialDL" Offset="0x12B0"/>
<DList Name="sModelDL" Offset="0x1360"/>
</File>
</Root>

View File

@ -1,11 +1,11 @@
<Root>
<File Name="ovl_Arrow_Ice">
<Texture Name="s1Tex" Format="i8" Width="32" Height="64" Offset="0x0" Static="On"/>
<Texture Name="s2Tex" Format="i8" Width="32" Height="64" Offset="0x800" Static="On"/>
<Array Name="sVtx" Count="43" Offset="0x1000" Static="On">
<Texture Name="s1Tex" Format="i8" Width="32" Height="64" Offset="0x0"/>
<Texture Name="s2Tex" Format="i8" Width="32" Height="64" Offset="0x800"/>
<Array Name="sVtx" Count="43" Offset="0x1000">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x12B0" Static="On"/>
<DList Name="sModelDL" Offset="0x1360" Static="On"/>
<DList Name="sMaterialDL" Offset="0x12B0"/>
<DList Name="sModelDL" Offset="0x1360"/>
</File>
</Root>

View File

@ -1,11 +1,11 @@
<Root>
<File Name="ovl_Arrow_Light">
<Texture Name="s1Tex" Format="i8" Width="32" Height="64" Offset="0x0" Static="On"/>
<Texture Name="s2Tex" Format="i8" Width="32" Height="64" Offset="0x800" Static="On"/>
<Array Name="sVtx" Count="43" Offset="0x1000" Static="On">
<Texture Name="s1Tex" Format="i8" Width="32" Height="64" Offset="0x0"/>
<Texture Name="s2Tex" Format="i8" Width="32" Height="64" Offset="0x800"/>
<Array Name="sVtx" Count="43" Offset="0x1000">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x12B0" Static="On"/>
<DList Name="sModelDL" Offset="0x1360" Static="On"/>
<DList Name="sMaterialDL" Offset="0x12B0"/>
<DList Name="sModelDL" Offset="0x1360"/>
</File>
</Root>

View File

@ -1,20 +1,20 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="ovl_Boss_Ganon">
<Texture Name="gGanondorfLightning1Tex" Format="i8" Width="32" Height="96" Offset="0x2F48" Static="Off"/>
<Texture Name="gGanondorfLightning2Tex" Format="i8" Width="32" Height="96" Offset="0x3B48" Static="Off"/>
<Texture Name="gGanondorfLightning3Tex" Format="i8" Width="32" Height="96" Offset="0x4748" Static="Off"/>
<Texture Name="gGanondorfLightning4Tex" Format="i8" Width="32" Height="96" Offset="0x5348" Static="Off"/>
<Texture Name="gGanondorfLightning5Tex" Format="i8" Width="32" Height="96" Offset="0x5F48" Static="Off"/>
<Texture Name="gGanondorfLightning6Tex" Format="i8" Width="32" Height="96" Offset="0x6B48" Static="Off"/>
<Texture Name="gGanondorfLightning7Tex" Format="i8" Width="32" Height="96" Offset="0x7748" Static="Off"/>
<Texture Name="gGanondorfLightning8Tex" Format="i8" Width="32" Height="96" Offset="0x8348" Static="Off"/>
<Texture Name="gGanondorfLightning9Tex" Format="i8" Width="32" Height="96" Offset="0x8F48" Static="Off"/>
<Texture Name="gGanondorfLightning10Tex" Format="i8" Width="32" Height="96" Offset="0x9B48" Static="Off"/>
<Texture Name="gGanondorfLightning11Tex" Format="i8" Width="32" Height="96" Offset="0xA748" Static="Off"/>
<Texture Name="gGanondorfLightning12Tex" Format="i8" Width="32" Height="96" Offset="0xB348" Static="Off"/>
<Texture Name="gGanondorfLightning1Tex" Format="i8" Width="32" Height="96" Offset="0x2F48"/>
<Texture Name="gGanondorfLightning2Tex" Format="i8" Width="32" Height="96" Offset="0x3B48"/>
<Texture Name="gGanondorfLightning3Tex" Format="i8" Width="32" Height="96" Offset="0x4748"/>
<Texture Name="gGanondorfLightning4Tex" Format="i8" Width="32" Height="96" Offset="0x5348"/>
<Texture Name="gGanondorfLightning5Tex" Format="i8" Width="32" Height="96" Offset="0x5F48"/>
<Texture Name="gGanondorfLightning6Tex" Format="i8" Width="32" Height="96" Offset="0x6B48"/>
<Texture Name="gGanondorfLightning7Tex" Format="i8" Width="32" Height="96" Offset="0x7748"/>
<Texture Name="gGanondorfLightning8Tex" Format="i8" Width="32" Height="96" Offset="0x8348"/>
<Texture Name="gGanondorfLightning9Tex" Format="i8" Width="32" Height="96" Offset="0x8F48"/>
<Texture Name="gGanondorfLightning10Tex" Format="i8" Width="32" Height="96" Offset="0x9B48"/>
<Texture Name="gGanondorfLightning11Tex" Format="i8" Width="32" Height="96" Offset="0xA748"/>
<Texture Name="gGanondorfLightning12Tex" Format="i8" Width="32" Height="96" Offset="0xB348"/>
<Texture Name="gGanondorfWindowShatterTemplateTex" Format="i8" Width="32" Height="64" Offset="0x1680" Static="Off"/>
<Texture Name="gGanondorfWindowShatterTemplateTex" Format="i8" Width="32" Height="64" Offset="0x1680"/>
<Array Name="gGanondorfLightStreak1Vtx" Count="10" Offset="0x10ED8">
<Vtx/>
@ -52,50 +52,50 @@
<Array Name="gGanondorfLightStreak12Vtx" Count="8" Offset="0x115B8">
<Vtx/>
</Array>
<DList Name="gGanondorfLightStreak1DL" Offset="0x11638" Static="Off"/>
<DList Name="gGanondorfLightStreak2DL" Offset="0x11670" Static="Off"/>
<DList Name="gGanondorfLightStreak3DL" Offset="0x116A8" Static="Off"/>
<DList Name="gGanondorfLightStreak4DL" Offset="0x116E0" Static="Off"/>
<DList Name="gGanondorfLightStreak5DL" Offset="0x11718" Static="Off"/>
<DList Name="gGanondorfLightStreak6DL" Offset="0x11750" Static="Off"/>
<DList Name="gGanondorfLightStreak7DL" Offset="0x11788" Static="Off"/>
<DList Name="gGanondorfLightStreak8DL" Offset="0x117C0" Static="Off"/>
<DList Name="gGanondorfLightStreak9DL" Offset="0x117F8" Static="Off"/>
<DList Name="gGanondorfLightStreak10DL" Offset="0x11830" Static="Off"/>
<DList Name="gGanondorfLightStreak11DL" Offset="0x11868" Static="Off"/>
<DList Name="gGanondorfLightStreak12DL" Offset="0x118A0" Static="Off"/>
<DList Name="gGanondorfLightStreak1DL" Offset="0x11638"/>
<DList Name="gGanondorfLightStreak2DL" Offset="0x11670"/>
<DList Name="gGanondorfLightStreak3DL" Offset="0x116A8"/>
<DList Name="gGanondorfLightStreak4DL" Offset="0x116E0"/>
<DList Name="gGanondorfLightStreak5DL" Offset="0x11718"/>
<DList Name="gGanondorfLightStreak6DL" Offset="0x11750"/>
<DList Name="gGanondorfLightStreak7DL" Offset="0x11788"/>
<DList Name="gGanondorfLightStreak8DL" Offset="0x117C0"/>
<DList Name="gGanondorfLightStreak9DL" Offset="0x117F8"/>
<DList Name="gGanondorfLightStreak10DL" Offset="0x11830"/>
<DList Name="gGanondorfLightStreak11DL" Offset="0x11868"/>
<DList Name="gGanondorfLightStreak12DL" Offset="0x118A0"/>
<Array Name="gGanondorfShadowModelVtx" Count="4" Offset="0x0">
<Vtx/>
</Array>
<DList Name="gGanondorfShadowSetupDL" Offset="0x40" Static="Off"/>
<DList Name="gGanondorfShadowModelDL" Offset="0x60" Static="Off"/>
<DList Name="gGanondorfShadowSetupDL" Offset="0x40"/>
<DList Name="gGanondorfShadowModelDL" Offset="0x60"/>
<Array Name="gGanondorfTriforceVtx" Count="4" Offset="0x1090">
<Vtx/>
</Array>
<DList Name="gGanondorfTriforceDL" Offset="0x10D0" Static="Off"/>
<DList Name="gGanondorfTriforceDL" Offset="0x10D0"/>
<Array Name="gGanondorfWindowShardModelVtx" Count="3" Offset="0x1590">
<Vtx/>
</Array>
<DList Name="gGanondorfWindowShardMaterialDL" Offset="0x15C0" Static="Off"/>
<DList Name="gGanondorfWindowShardModelDL" Offset="0x1668" Static="Off"/>
<DList Name="gGanondorfWindowShardMaterialDL" Offset="0x15C0"/>
<DList Name="gGanondorfWindowShardModelDL" Offset="0x1668"/>
<Array Name="gGanondorfSquareVtx" Count="4" Offset="0x2E80">
<Vtx/>
</Array>
<DList Name="gGanondorfLightBallMaterialDL" Offset="0x2EC0" Static="Off"/>
<DList Name="gGanondorfSquareDL" Offset="0x2F30" Static="Off"/>
<DList Name="gGanondorfLightBallMaterialDL" Offset="0x2EC0"/>
<DList Name="gGanondorfSquareDL" Offset="0x2F30"/>
<Array Name="gGanondorfLightningVtx" Count="4" Offset="0xBF48">
<Vtx/>
</Array>
<DList Name="gGanondorfLightningDL" Offset="0xBF88" Static="Off"/>
<DList Name="gGanondorfLightningDL" Offset="0xBF88"/>
<Array Name="gGanondorfUnusedVtx" Count="3" Offset="0xC008">
<Vtx/>
</Array>
<DList Name="gGanondorfUnusedDL" Offset="0xC038" Static="Off"/>
<DList Name="gGanondorfUnusedDL" Offset="0xC038"/>
<Array Name="gGanondorfLightRayTriVtx" Count="3" Offset="0xC080">
<Vtx/>
</Array>
<DList Name="gGanondorfLightRayTriDL" Offset="0xC0B0" Static="Off"/>
<DList Name="gGanondorfLightRayTriDL" Offset="0xC0B0"/>
<Array Name="gGanondorfLightFlecksVtx" Count="25" Offset="0xD8F8">
<Vtx/>
</Array>
@ -105,33 +105,33 @@
<Array Name="gGanondorfDotVtx" Count="4" Offset="0xDAC8">
<Vtx/>
</Array>
<DList Name="gGanondorfLightFlecksDL" Offset="0xDB08" Static="Off"/>
<DList Name="gGanondorfBigMagicBGCircleDL" Offset="0xDBF8" Static="Off"/>
<DList Name="gGanondorfDotDL" Offset="0xDCA0" Static="Off"/>
<DList Name="gGanondorfLightFlecksDL" Offset="0xDB08"/>
<DList Name="gGanondorfBigMagicBGCircleDL" Offset="0xDBF8"/>
<DList Name="gGanondorfDotDL" Offset="0xDCA0"/>
<Array Name="gGanondorfShockwaveVtx" Count="26" Offset="0xE568">
<Vtx/>
</Array>
<DList Name="gGanondorfShockwaveDL" Offset="0xE708" Static="Off"/>
<DList Name="gGanondorfShockwaveDL" Offset="0xE708"/>
<Array Name="gGanondorfImpactVtx" Count="26" Offset="0xF400">
<Vtx/>
</Array>
<DList Name="gGanondorfImpactDarkDL" Offset="0xF5A0" Static="Off"/>
<DList Name="gGanondorfImpactLightDL" Offset="0xF6B8" Static="Off"/>
<DList Name="gGanondorfImpactDarkDL" Offset="0xF5A0"/>
<DList Name="gGanondorfImpactLightDL" Offset="0xF6B8"/>
<Array Name="gGanondorfShockGlowVtx" Count="4" Offset="0x107D0">
<Vtx/>
</Array>
<DList Name="gGanondorfShockGlowDL" Offset="0x10810" Static="Off"/>
<DList Name="gGanondorfShockGlowDL" Offset="0x10810"/>
<Array Name="gGanondorfLightCoreVtx" Count="3" Offset="0x11B40">
<Vtx/>
</Array>
<DList Name="gGanondorfLightCoreDL" Offset="0x11B70" Static="Off"/>
<DList Name="gGanondorfLightCoreDL" Offset="0x11B70"/>
<Array Name="gGanondorfShockVtx" Count="4" Offset="0x11BF8">
<Vtx/>
</Array>
<DList Name="gGanondorfShockDL" Offset="0x11C38" Static="Off"/>
<DList Name="gGanondorfShockDL" Offset="0x11C38"/>
<Array Name="gGanondorfVortexVtx" Count="22" Offset="0x128B8">
<Vtx/>
</Array>
<DList Name="gGanondorfVortexDL" Offset="0x12A18" Static="Off"/>
<DList Name="gGanondorfVortexDL" Offset="0x12A18"/>
</File>
</Root>

View File

@ -1,53 +1,53 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="ovl_Boss_Ganon2">
<Texture Name="gGanonLightOrbTex" Format="i8" Width="64" Height="64" Offset="0x0" Static="Off"/>
<Texture Name="gGanonLightOrbTex" Format="i8" Width="64" Height="64" Offset="0x0"/>
<Array Name="gGanonLightOrbModelVtx" Count="4" Offset="0x1000">
<Vtx/>
</Array>
<DList Name="gGanonLightOrbMaterialDL" Offset="0x1040" Static="Off"/>
<DList Name="gGanonLightOrbModelDL" Offset="0x10B0" Static="Off"/>
<DList Name="gGanonLightOrbMaterialDL" Offset="0x1040"/>
<DList Name="gGanonLightOrbModelDL" Offset="0x10B0"/>
<Array Name="gGanonShadowModelVtx" Count="4" Offset="0x10C8">
<Vtx/>
</Array>
<DList Name="gGanonShadowMaterialDL" Offset="0x1108" Static="Off"/>
<DList Name="gGanonShadowModelDL" Offset="0x1128" Static="Off"/>
<Texture Name="gGanonSwordTrailTex" Format="i8" Width="32" Height="32" Offset="0x1158" Static="Off"/>
<Texture Name="gGanonSwordTrailMaskTex" Format="i4" Width="32" Height="32" Offset="0x1558" Static="Off"/>
<Array Name="gGanonSwordTrailVtx" Count="22" Offset="0x1758" Static="Off">
<DList Name="gGanonShadowMaterialDL" Offset="0x1108"/>
<DList Name="gGanonShadowModelDL" Offset="0x1128"/>
<Texture Name="gGanonSwordTrailTex" Format="i8" Width="32" Height="32" Offset="0x1158"/>
<Texture Name="gGanonSwordTrailMaskTex" Format="i4" Width="32" Height="32" Offset="0x1558"/>
<Array Name="gGanonSwordTrailVtx" Count="22" Offset="0x1758">
<Vtx/>
</Array>
<DList Name="gGanonSwordTrailDL" Offset="0x18B8" Static="Off"/>
<Texture Name="gGanonTriforceTex" Format="i8" Width="64" Height="64" Offset="0x19D0" Static="Off"/>
<DList Name="gGanonSwordTrailDL" Offset="0x18B8"/>
<Texture Name="gGanonTriforceTex" Format="i8" Width="64" Height="64" Offset="0x19D0"/>
<Array Name="gGanonTriforceVtx" Count="4" Offset="0x29D0">
<Vtx/>
</Array>
<DList Name="gGanonTriforceDL" Offset="0x2A10" Static="Off"/>
<Texture Name="gGanonLightningTex" Format="i4" Width="32" Height="160" Offset="0x2A90" Static="Off"/>
<DList Name="gGanonTriforceDL" Offset="0x2A10"/>
<Texture Name="gGanonLightningTex" Format="i4" Width="32" Height="160" Offset="0x2A90"/>
<Array Name="gGanonLightningVtx" Count="4" Offset="0x3490">
<Vtx/>
</Array>
<DList Name="gGanonLightningDL" Offset="0x34D0" Static="Off"/> <!-- Original name might be "efc_fg2_thunder1_modelT" -->
<Texture Name="gGanonFireRingTex" Format="i8" Width="32" Height="64" Offset="0x3558" Static="Off"/>
<DList Name="gGanonLightningDL" Offset="0x34D0"/> <!-- Original name might be "efc_fg2_thunder1_modelT" -->
<Texture Name="gGanonFireRingTex" Format="i8" Width="32" Height="64" Offset="0x3558"/>
<Array Name="gGanonFireRingVtx" Count="26" Offset="0x3D58">
<Vtx/>
</Array>
<DList Name="gGanonFireRingDL" Offset="0x3EF8" Static="Off"/> <!-- Original name is "ganon_fire_modelT" -->
<Texture Name="gGanonZeldaMagicTex" Format="i8" Width="32" Height="64" Offset="0x4018" Static="Off"/>
<DList Name="gGanonFireRingDL" Offset="0x3EF8"/> <!-- Original name is "ganon_fire_modelT" -->
<Texture Name="gGanonZeldaMagicTex" Format="i8" Width="32" Height="64" Offset="0x4018"/>
<Array Name="gGanonZeldaMagicVtx" Count="22" Offset="0x4818">
<Vtx/>
</Array>
<DList Name="gGanonZeldaMagicDL" Offset="0x4978" Static="Off"/> <!-- Original name is "efc_ganon2_hadou_modelT" ("wave motion; undulation; surge") -->
<Texture Name="gGanonMasterSwordShadowTex" Format="i8" Width="32" Height="32" Offset="0x4A80" Static="Off"/>
<DList Name="gGanonZeldaMagicDL" Offset="0x4978"/> <!-- Original name is "efc_ganon2_hadou_modelT" ("wave motion; undulation; surge") -->
<Texture Name="gGanonMasterSwordShadowTex" Format="i8" Width="32" Height="32" Offset="0x4A80"/>
<Array Name="gGanonMasterSwordShadowVtx" Count="4" Offset="0x4E80">
<Vtx/>
</Array>
<DList Name="gGanonMasterSwordShadowDL" Offset="0x4EC0" Static="Off"/> <!-- Original name is "master_sword_shadow_model" -->
<Texture Name="gGanonMasterSwordPommelTex" Format="rgba16" Width="16" Height="16" Offset="0x4F40" Static="Off"/>
<Texture Name="gGanonMasterSwordGuardTex" Format="rgba16" Width="32" Height="32" Offset="0x5140" Static="Off"/>
<DList Name="gGanonMasterSwordShadowDL" Offset="0x4EC0"/> <!-- Original name is "master_sword_shadow_model" -->
<Texture Name="gGanonMasterSwordPommelTex" Format="rgba16" Width="16" Height="16" Offset="0x4F40"/>
<Texture Name="gGanonMasterSwordGuardTex" Format="rgba16" Width="32" Height="32" Offset="0x5140"/>
<Array Name="gGanonMasterSwordVtx" Count="122" Offset="0x5940">
<Vtx/>
</Array>
<DList Name="gGanonMasterSwordDL" Offset="0x60E0" Static="Off"/> <!-- Original name is "master_gn2_swordB_model" -->
<DList Name="gGanonMasterSwordDL" Offset="0x60E0"/> <!-- Original name is "master_gn2_swordB_model" -->
</File>
</Root>

View File

@ -1,33 +1,33 @@
<Root>
<File Name="ovl_file_choose">
<Array Name="gNameEntryVtx" Count="24" Offset="0x0" Static="Off">
<Array Name="gNameEntryVtx" Count="24" Offset="0x0">
<Vtx/>
</Array>
<Array Name="gCharPageHira" Count="65" Offset="0x180" Static="Off">
<Array Name="gCharPageHira" Count="65" Offset="0x180">
<Scalar Type="s16"/>
</Array>
<Array Name="gCharPageKata" Count="65" Offset="0x204" Static="Off">
<Array Name="gCharPageKata" Count="65" Offset="0x204">
<Scalar Type="s16"/>
</Array>
<Array Name="gCharPageEng" Count="65" Offset="0x288" Static="Off">
<Array Name="gCharPageEng" Count="65" Offset="0x288">
<Scalar Type="s16"/>
</Array>
<Array Name="gNextCharPage" Count="9" Offset="0x30C" Static="Off">
<Array Name="gNextCharPage" Count="9" Offset="0x30C">
<Scalar Type="s16"/>
</Array>
<Array Name="gOptionsMenuHeadersVtx" Count="16" Offset="0x320" Static="Off">
<Array Name="gOptionsMenuHeadersVtx" Count="16" Offset="0x320">
<Vtx/>
</Array>
<Array Name="gOptionsMenuSettingsVtx" Count="32" Offset="0x420" Static="Off">
<Array Name="gOptionsMenuSettingsVtx" Count="32" Offset="0x420">
<Vtx/>
</Array>
<Array Name="gOptionsDividerSoundVtx" Count="4" Offset="0x620" Static="Off">
<Array Name="gOptionsDividerSoundVtx" Count="4" Offset="0x620">
<Vtx/>
</Array>
<Array Name="gOptionsDividerZTargetVtx" Count="4" Offset="0x660" Static="Off">
<Array Name="gOptionsDividerZTargetVtx" Count="4" Offset="0x660">
<Vtx/>
</Array>
<Array Name="gOptionsDividerBrightnessVtx" Count="4" Offset="0x6A0" Static="Off">
<Array Name="gOptionsDividerBrightnessVtx" Count="4" Offset="0x6A0">
<Vtx/>
</Array>
</File>

View File

@ -1,30 +1,30 @@
<Root>
<File Name="ovl_file_choose">
<Array Name="gNameEntryVtx" Count="24" Offset="0x0" Static="Off">
<Array Name="gNameEntryVtx" Count="24" Offset="0x0">
<Vtx/>
</Array>
<Array Name="gOptionsMenuHeadersVtx" Count="16" Offset="0x180" Static="Off">
<Array Name="gOptionsMenuHeadersVtx" Count="16" Offset="0x180">
<Vtx/>
</Array>
<Array Name="gOptionsMenuHeadersGERVtx" Count="16" Offset="0x280" Static="Off">
<Array Name="gOptionsMenuHeadersGERVtx" Count="16" Offset="0x280">
<Vtx/>
</Array>
<Array Name="gOptionsMenuSettingsVtx" Count="32" Offset="0x380" Static="Off">
<Array Name="gOptionsMenuSettingsVtx" Count="32" Offset="0x380">
<Vtx/>
</Array>
<Array Name="gOptionsMenuSettingsGERVtx" Count="32" Offset="0x580" Static="Off">
<Array Name="gOptionsMenuSettingsGERVtx" Count="32" Offset="0x580">
<Vtx/>
</Array>
<Array Name="gOptionsDividerSoundVtx" Count="4" Offset="0x780" Static="Off">
<Array Name="gOptionsDividerSoundVtx" Count="4" Offset="0x780">
<Vtx/>
</Array>
<Array Name="gOptionsDividerZTargetVtx" Count="4" Offset="0x7C0" Static="Off">
<Array Name="gOptionsDividerZTargetVtx" Count="4" Offset="0x7C0">
<Vtx/>
</Array>
<Array Name="gOptionsDividerBrightnessVtx" Count="4" Offset="0x800" Static="Off">
<Array Name="gOptionsDividerBrightnessVtx" Count="4" Offset="0x800">
<Vtx/>
</Array>
<Array Name="gCharPageEng" Count="65" Offset="0x840" Static="Off">
<Array Name="gCharPageEng" Count="65" Offset="0x840">
<Scalar Type="s16"/>
</Array>
</File>

View File

@ -1,33 +1,33 @@
<Root>
<File Name="ovl_file_choose">
<Array Name="gNameEntryVtx" Count="24" Offset="0x0" Static="Off">
<Array Name="gNameEntryVtx" Count="24" Offset="0x0">
<Vtx/>
</Array>
<Array Name="gOptionsMenuHeadersVtx" Count="24" Offset="0x180" Static="Off">
<Array Name="gOptionsMenuHeadersVtx" Count="24" Offset="0x180">
<Vtx/>
</Array>
<Array Name="gOptionsMenuSettingsVtx" Count="32" Offset="0x300" Static="Off">
<Array Name="gOptionsMenuSettingsVtx" Count="32" Offset="0x300">
<Vtx/>
</Array>
<Array Name="gOptionsMenuBrightnessVtx" Count="8" Offset="0x500" Static="Off">
<Array Name="gOptionsMenuBrightnessVtx" Count="8" Offset="0x500">
<Vtx/>
</Array>
<Array Name="gOptionsMenuLanguageVtx" Count="12" Offset="0x580" Static="Off">
<Array Name="gOptionsMenuLanguageVtx" Count="12" Offset="0x580">
<Vtx/>
</Array>
<Array Name="gOptionsDividerSoundVtx" Count="4" Offset="0x780" Static="Off">
<Array Name="gOptionsDividerSoundVtx" Count="4" Offset="0x780">
<Vtx/>
</Array>
<Array Name="gOptionsDividerZTargetVtx" Count="4" Offset="0x7C0" Static="Off">
<Array Name="gOptionsDividerZTargetVtx" Count="4" Offset="0x7C0">
<Vtx/>
</Array>
<Array Name="gOptionsDividerBrightnessVtx" Count="4" Offset="0x800" Static="Off">
<Array Name="gOptionsDividerBrightnessVtx" Count="4" Offset="0x800">
<Vtx/>
</Array>
<Array Name="gOptionsDividerLanguageVtx" Count="4" Offset="0x840" Static="Off">
<Array Name="gOptionsDividerLanguageVtx" Count="4" Offset="0x840">
<Vtx/>
</Array>
<Array Name="gCharPageEng" Count="65" Offset="0x880" Static="Off">
<Array Name="gCharPageEng" Count="65" Offset="0x880">
<Scalar Type="s16"/>
</Array>
</File>

View File

@ -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);

View File

@ -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

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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*);

View File

@ -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);

View File

@ -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) {

View File

@ -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 | \

View File

@ -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;

View File

@ -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;

View File

@ -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;
}

View File

@ -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

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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);
}

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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:

View File

@ -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;

View File

@ -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;

View File

@ -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,

View File

@ -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) {

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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