Merge branch 'main' into assets_xml_version_element_implicit_offset

This commit is contained in:
Dragorn421 2025-06-11 20:43:16 +02:00
commit fe2a22d591
No known key found for this signature in database
GPG Key ID: 381AEBAF3D429335
33 changed files with 693 additions and 200 deletions

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

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

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

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

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

@ -377,7 +377,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
@ -3498,7 +3498,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);
@ -3508,9 +3508,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) {
@ -5270,7 +5270,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 {
@ -5973,7 +5973,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);
}
}
@ -6041,7 +6041,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);
@ -6095,11 +6095,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;
@ -6122,21 +6122,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);
@ -7353,7 +7353,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;
@ -13748,7 +13748,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);
}
@ -13918,7 +13918,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) {
@ -14120,7 +14120,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);
}
}
}
@ -16219,6 +16219,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

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