//
// Generated By: dol2asm
// Translation Unit: d_a_hozelda
//

// #include "rel/d/a/d_a_hozelda/d_a_hozelda.h"
#include "dolphin/types.h"
#include "dol2asm.h"

//
// Types:
//

struct request_of_phase_process_class {};

struct Quaternion {};

struct Vec {};

struct cXyz {
    /* 80266B34 */ void operator-(Vec const&) const;
    /* 80267128 */ void atan2sX_Z() const;
    /* 80267150 */ void atan2sY_XZ() const;
};

struct mDoMtx_stack_c {
    /* 8000CD64 */ void transS(cXyz const&);
    /* 8000CD9C */ void transM(f32, f32, f32);
    /* 8000CF7C */ void quatM(Quaternion const*);

    static u8 now[48];
};

struct J3DMaterialTable {};

struct J3DAnmTexPattern {
    /* 8032AF50 */ void getTexNo(u16, u16*) const;
};

struct mDoExt_btpAnm {
    /* 8000D54C */ void init(J3DMaterialTable*, J3DAnmTexPattern*, int, int, f32, s16, s16);
    /* 8000D5E8 */ void entry(J3DMaterialTable*, s16);
};

struct J3DAnmTextureSRTKey {};

struct mDoExt_btkAnm {
    /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
    /* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
};

struct J3DModelData {};

struct J3DAnmTransform {};

struct mDoExt_bckAnm {
    /* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
    /* 8000D9CC */ void entry(J3DModelData*, f32);
};

struct mDoExt_baseAnm {
    /* 8000D428 */ void play();
};

struct mDoExt_MtxCalcOldFrame {
    /* 8000F848 */ void initOldFrameMorf(f32, u16, u16);
};

struct mDoExt_AnmRatioPack {
    /* 80846CF4 */ ~mDoExt_AnmRatioPack();
    /* 80846D30 */ mDoExt_AnmRatioPack();
};

struct fopAc_ac_c {
    /* 80018B64 */ fopAc_ac_c();
    /* 80018C8C */ ~fopAc_ac_c();
};

struct daPy_frameCtrl_c {
    /* 8015E4CC */ void checkAnmEnd();
    /* 8015E510 */ void updateFrame();
    /* 8015E544 */ void setFrameCtrl(u8, s16, s16, f32, f32);
    /* 80846C4C */ ~daPy_frameCtrl_c();
    /* 80846CA8 */ daPy_frameCtrl_c();
};

struct daPy_actorKeep_c {
    /* 8015EC48 */ void setActor();
    /* 8015ECB8 */ void setData(fopAc_ac_c*);
    /* 8015ECFC */ void clearData();
};

struct J3DMaterial {};

struct daHoZelda_matAnm_c {
    /* 80845EAC */ void init();
    /* 80845EDC */ void calc(J3DMaterial*) const;
    /* 80848D54 */ ~daHoZelda_matAnm_c();
};

struct daHoZelda_hio_c0 {
    static u8 const m[16];
};

struct daHoZelda_c {
    /* 80846000 */ void createHeap();
    /* 80846718 */ void modelCallBack(u16);
    /* 808469B0 */ void create();
    /* 80846DB0 */ ~daHoZelda_c();
    /* 80846F4C */ void setDoubleAnime(f32, f32, f32, u16, u16, f32);
    /* 8084718C */ void setUpperAnime(u16);
    /* 80847234 */ void resetUpperAnime();
    /* 808472C0 */ void setSingleAnime(u16, f32, f32, s16, f32);
    /* 80847430 */ void animePlay();
    /* 80847574 */ void setEyeBtp(u16);
    /* 808475F0 */ void setEyeBtk(u16, u8);
    /* 80847670 */ void setNormalFace();
    /* 808476B0 */ void setAnm();
    /* 80847E44 */ void setBowModel();
    /* 80847F54 */ void setMatrix();
    /* 80848058 */ void shootArrow();
    /* 80848090 */ void deleteArrow();
    /* 80848118 */ void setBowBck(u16);
    /* 8084819C */ void setRideOffset();
    /* 80848204 */ void clearEyeMove();
    /* 80848254 */ void setEyeMove(cXyz const*, s16, s16);
    /* 808484B8 */ void setNeckAngle();
    /* 80848774 */ void searchBodyAngle();
    /* 808489CC */ void execute();
    /* 80848B64 */ void draw();
};

struct dKy_tevstr_c {};

struct dScnKy_env_light_c {
    /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
    /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};

struct dRes_info_c {};

struct dRes_control_c {
    /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};

struct J3DModel {};

struct dDlst_shadowControl_c {
    /* 80055F1C */ void addReal(u32, J3DModel*);
};

struct dAttention_c {
    /* 80070844 */ void GetLockonList(s32);
    /* 800737E4 */ void LockonTruth();
};

struct dAttList_c {
    /* 80073864 */ void getActor();
};

struct csXyz {};

struct Z2Creature {
    /* 802C03C8 */ Z2Creature();
    /* 802C0420 */ ~Z2Creature();
    /* 802C0530 */ void init(Vec*, Vec*, u8, u8);
};

struct J3DTransformInfo {};

struct J3DTexNoAnm {
    /* 808465E4 */ ~J3DTexNoAnm();
    /* 8084662C */ J3DTexNoAnm();
    /* 80848C88 */ void calc(u16*) const;
};

struct J3DTexMtxAnm {
    /* 80846650 */ ~J3DTexMtxAnm();
    /* 8084668C */ J3DTexMtxAnm();
};

struct J3DTevKColorAnm {
    /* 8084653C */ ~J3DTevKColorAnm();
    /* 80846578 */ J3DTevKColorAnm();
};

struct J3DTevColorAnm {
    /* 80846590 */ ~J3DTevColorAnm();
    /* 808465CC */ J3DTevColorAnm();
};

struct J3DSys {
    static u8 mCurrentMtx[48];
};

struct J3DMtxCalcNoAnmBase {
    /* 80846498 */ ~J3DMtxCalcNoAnmBase();
};

template <typename A0, typename B0>
struct J3DMtxCalcNoAnm {};
/* J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> */
struct J3DMtxCalcNoAnm__template0 {
    /* 8084642C */ void func_8084642C(void* _this);
    /* 80848CE0 */ void func_80848CE0(void* _this, Vec const&, f32 const (&)[3][4]);
    /* 80848D08 */ void func_80848D08(void* _this);
};

struct J3DMtxCalcJ3DSysInitMaya {
    /* 8032ECAC */ void init(Vec const&, f32 const (&)[3][4]);
};

struct J3DMtxCalcCalcTransformMaya {
    /* 8032EFBC */ void calcTransform(J3DTransformInfo const&);
};

struct J3DMtxCalc {
    /* 808464F4 */ ~J3DMtxCalc();
    /* 80848CB8 */ void setAnmTransform(u8, J3DAnmTransform*);
    /* 80848CBC */ void setAnmTransform(J3DAnmTransform*);
    /* 80848CC0 */ bool getAnmTransform(u8);
    /* 80848CC8 */ bool getAnmTransform();
    /* 80848CD0 */ void setWeight(u8, f32);
    /* 80848CD4 */ void getWeight(u8) const;

    static u8 mJoint[4];
};

struct J3DMaterialAnm {
    /* 8032C320 */ void initialize();
    /* 8032C3C4 */ void calc(J3DMaterial*) const;
};

struct J3DMatColorAnm {
    /* 808466A4 */ ~J3DMatColorAnm();
    /* 808466E0 */ J3DMatColorAnm();
};

struct J3DJoint {};

struct J3DFrameCtrl {
    /* 803283FC */ void init(s16);
    /* 80846D48 */ ~J3DFrameCtrl();
};

//
// Forward References:
//

extern "C" static void daHoZelda_searchGanon__FP10fopAc_ac_cPv();
extern "C" void init__18daHoZelda_matAnm_cFv();
extern "C" void calc__18daHoZelda_matAnm_cCFP11J3DMaterial();
extern "C" void createHeap__11daHoZelda_cFv();
extern "C" void func_8084642C(void* _this);
extern "C" void __dt__19J3DMtxCalcNoAnmBaseFv();
extern "C" void __dt__10J3DMtxCalcFv();
extern "C" void __dt__15J3DTevKColorAnmFv();
extern "C" void __ct__15J3DTevKColorAnmFv();
extern "C" void __dt__14J3DTevColorAnmFv();
extern "C" void __ct__14J3DTevColorAnmFv();
extern "C" void __dt__11J3DTexNoAnmFv();
extern "C" void __ct__11J3DTexNoAnmFv();
extern "C" void __dt__12J3DTexMtxAnmFv();
extern "C" void __ct__12J3DTexMtxAnmFv();
extern "C" void __dt__14J3DMatColorAnmFv();
extern "C" void __ct__14J3DMatColorAnmFv();
extern "C" static void daHoZelda_createHeap__FP10fopAc_ac_c();
extern "C" void modelCallBack__11daHoZelda_cFUs();
extern "C" static void daHoZelda_modelCallBack__FP8J3DJointi();
extern "C" void create__11daHoZelda_cFv();
extern "C" void __dt__16daPy_frameCtrl_cFv();
extern "C" void __ct__16daPy_frameCtrl_cFv();
extern "C" void __dt__19mDoExt_AnmRatioPackFv();
extern "C" void __ct__19mDoExt_AnmRatioPackFv();
extern "C" void __dt__12J3DFrameCtrlFv();
extern "C" static void daHoZelda_Create__FP10fopAc_ac_c();
extern "C" void __dt__11daHoZelda_cFv();
extern "C" static void daHoZelda_Delete__FP11daHoZelda_c();
extern "C" void setDoubleAnime__11daHoZelda_cFfffUsUsf();
extern "C" void setUpperAnime__11daHoZelda_cFUs();
extern "C" void resetUpperAnime__11daHoZelda_cFv();
extern "C" void setSingleAnime__11daHoZelda_cFUsffsf();
extern "C" void animePlay__11daHoZelda_cFv();
extern "C" void setEyeBtp__11daHoZelda_cFUs();
extern "C" void setEyeBtk__11daHoZelda_cFUsUc();
extern "C" void setNormalFace__11daHoZelda_cFv();
extern "C" void setAnm__11daHoZelda_cFv();
extern "C" void setBowModel__11daHoZelda_cFv();
extern "C" void setMatrix__11daHoZelda_cFv();
extern "C" void shootArrow__11daHoZelda_cFv();
extern "C" void deleteArrow__11daHoZelda_cFv();
extern "C" void setBowBck__11daHoZelda_cFUs();
extern "C" void setRideOffset__11daHoZelda_cFv();
extern "C" void clearEyeMove__11daHoZelda_cFv();
extern "C" void setEyeMove__11daHoZelda_cFPC4cXyzss();
extern "C" void setNeckAngle__11daHoZelda_cFv();
extern "C" void searchBodyAngle__11daHoZelda_cFv();
extern "C" void execute__11daHoZelda_cFv();
extern "C" static void daHoZelda_Execute__FP11daHoZelda_c();
extern "C" void draw__11daHoZelda_cFv();
extern "C" static void daHoZelda_Draw__FP11daHoZelda_c();
extern "C" void calc__11J3DTexNoAnmCFPUs();
extern "C" void setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform();
extern "C" void setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform();
extern "C" bool getAnmTransform__10J3DMtxCalcFUc();
extern "C" bool getAnmTransform__10J3DMtxCalcFv();
extern "C" void setWeight__10J3DMtxCalcFUcf();
extern "C" void getWeight__10J3DMtxCalcCFUc();
extern "C" void func_80848CE0(void* _this, Vec const&, f32 const (&)[3][4]);
extern "C" void func_80848D08(void* _this);
extern "C" void func_80848D38(void* _this, u8*);
extern "C" void __dt__18daHoZelda_matAnm_cFv();
extern "C" u8 const m__16daHoZelda_hio_c0[16];

//
// External References:
//

extern "C" void mDoMtx_XYZrotM__FPA4_fsss();
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void mDoMtx_XrotM__FPA4_fs();
extern "C" void mDoMtx_ZrotM__FPA4_fs();
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void transM__14mDoMtx_stack_cFfff();
extern "C" void quatM__14mDoMtx_stack_cFPC10Quaternion();
extern "C" void play__14mDoExt_baseAnmFv();
extern "C" void init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss();
extern "C" void entry__13mDoExt_btpAnmFP16J3DMaterialTables();
extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss();
extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef();
extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb();
extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf();
extern "C" void mDoExt_modelEntryDL__FP8J3DModel();
extern "C" void initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
extern "C" void fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void addReal__21dDlst_shadowControl_cFUlP8J3DModel();
extern "C" void GetLockonList__12dAttention_cFl();
extern "C" void LockonTruth__12dAttention_cFv();
extern "C" void getActor__10dAttList_cFv();
extern "C" void checkAnmEnd__16daPy_frameCtrl_cFv();
extern "C" void updateFrame__16daPy_frameCtrl_cFv();
extern "C" void setFrameCtrl__16daPy_frameCtrl_cFUcssff();
extern "C" void setActor__16daPy_actorKeep_cFv();
extern "C" void setData__16daPy_actorKeep_cFP10fopAc_ac_c();
extern "C" void clearData__16daPy_actorKeep_cFv();
extern "C" void daPy_addCalcShort__FPsssss();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void atan2sX_Z__4cXyzCFv();
extern "C" void atan2sY_XZ__4cXyzCFv();
extern "C" void cM_rnd__Fv();
extern "C" void cLib_addCalc__FPfffff();
extern "C" void cLib_addCalcAngleS__FPsssss();
extern "C" void cLib_distanceAngleS__Fss();
extern "C" void __ct__10Z2CreatureFv();
extern "C" void __dt__10Z2CreatureFv();
extern "C" void init__10Z2CreatureFP3VecP3VecUcUc();
extern "C" void* __nw__FUl();
extern "C" void* __nwa__FUl();
extern "C" void __dl__FPv();
extern "C" void init__12J3DFrameCtrlFs();
extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs();
extern "C" void initialize__14J3DMaterialAnmFv();
extern "C" void calc__14J3DMaterialAnmCFP11J3DMaterial();
extern "C" void init__24J3DMtxCalcJ3DSysInitMayaFRC3VecRA3_A4_Cf();
extern "C" void calcTransform__27J3DMtxCalcCalcTransformMayaFRC16J3DTransformInfo();
extern "C" void PSMTXCopy();
extern "C" void PSMTXConcat();
extern "C" void PSMTXInverse();
extern "C" void PSMTXTrans();
extern "C" void PSMTXQuat();
extern "C" void PSMTXMultVec();
extern "C" void PSVECSquareMag();
extern "C" void PSVECSquareDistance();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void __construct_new_array();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_24();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_24();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__28mDoExt_MtxCalcAnmBlendTblOld[11];
extern "C" extern void* __vt__25mDoExt_MtxCalcAnmBlendTbl[11];
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__14J3DMaterialAnm[4];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 j3dSys[284];
extern "C" u8 mCurrentMtx__6J3DSys[48];
extern "C" extern u32 __float_nan;
extern "C" u8 mJoint__10J3DMtxCalc[4];
extern "C" extern u8 struct_80849010[4];

//
// Declarations:
//

/* 80845E98-80845EAC 000078 0014+00 1/1 0/0 0/0 .text daHoZelda_searchGanon__FP10fopAc_ac_cPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daHoZelda_searchGanon(fopAc_ac_c* param_0, void* param_1) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/daHoZelda_searchGanon__FP10fopAc_ac_cPv.s"
}
#pragma pop

/* ############################################################################################## */
/* 80848E3C-80848E44 000000 0008+00 15/15 0/0 0/0 .rodata          l_arcName */
SECTION_RODATA static u8 const l_arcName[8] = {
    0x48, 0x6F, 0x5A, 0x65, 0x6C, 0x64, 0x61, 0x00,
};
COMPILER_STRIP_GATE(0x80848E3C, &l_arcName);

/* 80848E44-80848E54 000008 0010+00 0/5 0/0 0/0 .rodata          m__16daHoZelda_hio_c0 */
#pragma push
#pragma force_active on
SECTION_RODATA u8 const daHoZelda_hio_c0::m[16] = {
    0x03, 0x8E, 0x2A, 0xAA, 0x40, 0x00, 0x00, 0x00, 0x45, 0x5A, 0xC0, 0x00, 0x45, 0x7A, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80848E44, &daHoZelda_hio_c0::m);
#pragma pop

/* 80848E54-80848E58 000018 0004+00 6/17 0/0 0/0 .rodata          @3697 */
SECTION_RODATA static u8 const lit_3697[4] = {
    0x00,
    0x00,
    0x00,
    0x00,
};
COMPILER_STRIP_GATE(0x80848E54, &lit_3697);

/* 80845EAC-80845EDC 00008C 0030+00 2/2 0/0 0/0 .text            init__18daHoZelda_matAnm_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_matAnm_c::init() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/init__18daHoZelda_matAnm_cFv.s"
}
#pragma pop

/* ############################################################################################## */
/* 80848E58-80848E5C 00001C 0004+00 5/14 0/0 0/0 .rodata          @3722 */
SECTION_RODATA static f32 const lit_3722 = 1.0f;
COMPILER_STRIP_GATE(0x80848E58, &lit_3722);

/* 80848E5C-80848E64 000020 0008+00 1/6 0/0 0/0 .rodata          @3724 */
SECTION_RODATA static u8 const lit_3724[8] = {
    0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80848E5C, &lit_3724);

/* 80845EDC-80846000 0000BC 0124+00 1/0 0/0 0/0 .text calc__18daHoZelda_matAnm_cCFP11J3DMaterial
 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_matAnm_c::calc(J3DMaterial* param_0) const {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/calc__18daHoZelda_matAnm_cCFP11J3DMaterial.s"
}
#pragma pop

/* ############################################################################################## */
/* 80848F04-80848F24 -00001 0020+00 1/0 0/0 0/0 .data            l_daHoZelda_Method */
SECTION_DATA static void* l_daHoZelda_Method[8] = {
    (void*)daHoZelda_Create__FP10fopAc_ac_c,
    (void*)daHoZelda_Delete__FP11daHoZelda_c,
    (void*)daHoZelda_Execute__FP11daHoZelda_c,
    (void*)NULL,
    (void*)daHoZelda_Draw__FP11daHoZelda_c,
    (void*)NULL,
    (void*)NULL,
    (void*)NULL,
};

/* 80848F24-80848F54 -00001 0030+00 0/0 0/0 1/0 .data            g_profile_HOZELDA */
SECTION_DATA extern void* g_profile_HOZELDA[12] = {
    (void*)0xFFFFFFFD, (void*)0x0007FFFD,
    (void*)0x02240000, (void*)&g_fpcLf_Method,
    (void*)0x00000708, (void*)NULL,
    (void*)NULL,       (void*)&g_fopAc_Method,
    (void*)0x01130000, (void*)&l_daHoZelda_Method,
    (void*)0x00060000, (void*)0x04000000,
};

/* 80848F54-80848F60 000050 000C+00 2/2 0/0 0/0 .data            __vt__16daPy_frameCtrl_c */
SECTION_DATA extern void* __vt__16daPy_frameCtrl_c[3] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)__dt__16daPy_frameCtrl_cFv,
};

/* 80848F60-80848F6C 00005C 000C+00 5/5 0/0 0/0 .data            __vt__12J3DFrameCtrl */
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)__dt__12J3DFrameCtrlFv,
};

/* 80848F6C-80848F78 000068 000C+00 2/2 0/0 0/0 .data            __vt__11J3DTexNoAnm */
SECTION_DATA extern void* __vt__11J3DTexNoAnm[3] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)calc__11J3DTexNoAnmCFPUs,
};

/* 80848F78-80848FA4 000074 002C+00 2/2 0/0 0/0 .data
 * __vt__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya> */
SECTION_DATA extern void* data_80848F78[11] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)func_8084642C,
    (void*)setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform,
    (void*)getAnmTransform__10J3DMtxCalcFv,
    (void*)setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform,
    (void*)getAnmTransform__10J3DMtxCalcFUc,
    (void*)setWeight__10J3DMtxCalcFUcf,
    (void*)getWeight__10J3DMtxCalcCFUc,
    (void*)func_80848CE0,
    (void*)func_80848D08,
};

/* 80848FA4-80848FD0 0000A0 002C+00 3/3 0/0 0/0 .data            __vt__19J3DMtxCalcNoAnmBase */
SECTION_DATA extern void* __vt__19J3DMtxCalcNoAnmBase[11] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)__dt__19J3DMtxCalcNoAnmBaseFv,
    (void*)setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform,
    (void*)getAnmTransform__10J3DMtxCalcFv,
    (void*)setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform,
    (void*)getAnmTransform__10J3DMtxCalcFUc,
    (void*)setWeight__10J3DMtxCalcFUcf,
    (void*)getWeight__10J3DMtxCalcCFUc,
    (void*)NULL,
    (void*)NULL,
};

/* 80848FD0-80848FFC 0000CC 002C+00 4/4 0/0 0/0 .data            __vt__10J3DMtxCalc */
SECTION_DATA extern void* __vt__10J3DMtxCalc[11] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)__dt__10J3DMtxCalcFv,
    (void*)setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform,
    (void*)getAnmTransform__10J3DMtxCalcFv,
    (void*)setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform,
    (void*)getAnmTransform__10J3DMtxCalcFUc,
    (void*)setWeight__10J3DMtxCalcFUcf,
    (void*)getWeight__10J3DMtxCalcCFUc,
    (void*)NULL,
    (void*)NULL,
};

/* 80848FFC-8084900C 0000F8 0010+00 2/2 0/0 0/0 .data            __vt__18daHoZelda_matAnm_c */
SECTION_DATA extern void* __vt__18daHoZelda_matAnm_c[4] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)__dt__18daHoZelda_matAnm_cFv,
    (void*)calc__18daHoZelda_matAnm_cCFP11J3DMaterial,
};

/* 80846000-8084642C 0001E0 042C+00 1/1 0/0 0/0 .text            createHeap__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::createHeap() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/createHeap__11daHoZelda_cFv.s"
}
#pragma pop

/* 8084642C-80846498 00060C 006C+00 1/0 0/0 0/0 .text
 * __dt__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya>Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void func_8084642C(void* _this) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/func_8084642C.s"
}
#pragma pop

/* 80846498-808464F4 000678 005C+00 1/0 0/0 0/0 .text            __dt__19J3DMtxCalcNoAnmBaseFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DMtxCalcNoAnmBase::~J3DMtxCalcNoAnmBase() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__dt__19J3DMtxCalcNoAnmBaseFv.s"
}
#pragma pop

/* 808464F4-8084653C 0006D4 0048+00 1/0 0/0 0/0 .text            __dt__10J3DMtxCalcFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DMtxCalc::~J3DMtxCalc() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__dt__10J3DMtxCalcFv.s"
}
#pragma pop

/* 8084653C-80846578 00071C 003C+00 2/2 0/0 0/0 .text            __dt__15J3DTevKColorAnmFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DTevKColorAnm::~J3DTevKColorAnm() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__dt__15J3DTevKColorAnmFv.s"
}
#pragma pop

/* 80846578-80846590 000758 0018+00 1/1 0/0 0/0 .text            __ct__15J3DTevKColorAnmFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DTevKColorAnm::J3DTevKColorAnm() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__ct__15J3DTevKColorAnmFv.s"
}
#pragma pop

/* 80846590-808465CC 000770 003C+00 2/2 0/0 0/0 .text            __dt__14J3DTevColorAnmFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DTevColorAnm::~J3DTevColorAnm() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__dt__14J3DTevColorAnmFv.s"
}
#pragma pop

/* 808465CC-808465E4 0007AC 0018+00 1/1 0/0 0/0 .text            __ct__14J3DTevColorAnmFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DTevColorAnm::J3DTevColorAnm() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__ct__14J3DTevColorAnmFv.s"
}
#pragma pop

/* 808465E4-8084662C 0007C4 0048+00 2/2 0/0 0/0 .text            __dt__11J3DTexNoAnmFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DTexNoAnm::~J3DTexNoAnm() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__dt__11J3DTexNoAnmFv.s"
}
#pragma pop

/* 8084662C-80846650 00080C 0024+00 1/1 0/0 0/0 .text            __ct__11J3DTexNoAnmFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DTexNoAnm::J3DTexNoAnm() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__ct__11J3DTexNoAnmFv.s"
}
#pragma pop

/* 80846650-8084668C 000830 003C+00 2/2 0/0 0/0 .text            __dt__12J3DTexMtxAnmFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DTexMtxAnm::~J3DTexMtxAnm() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__dt__12J3DTexMtxAnmFv.s"
}
#pragma pop

/* 8084668C-808466A4 00086C 0018+00 1/1 0/0 0/0 .text            __ct__12J3DTexMtxAnmFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DTexMtxAnm::J3DTexMtxAnm() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__ct__12J3DTexMtxAnmFv.s"
}
#pragma pop

/* 808466A4-808466E0 000884 003C+00 2/2 0/0 0/0 .text            __dt__14J3DMatColorAnmFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DMatColorAnm::~J3DMatColorAnm() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__dt__14J3DMatColorAnmFv.s"
}
#pragma pop

/* 808466E0-808466F8 0008C0 0018+00 1/1 0/0 0/0 .text            __ct__14J3DMatColorAnmFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DMatColorAnm::J3DMatColorAnm() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__ct__14J3DMatColorAnmFv.s"
}
#pragma pop

/* 808466F8-80846718 0008D8 0020+00 1/1 0/0 0/0 .text daHoZelda_createHeap__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daHoZelda_createHeap(fopAc_ac_c* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/daHoZelda_createHeap__FP10fopAc_ac_c.s"
}
#pragma pop

/* 80846718-8084696C 0008F8 0254+00 1/1 0/0 0/0 .text            modelCallBack__11daHoZelda_cFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::modelCallBack(u16 param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/modelCallBack__11daHoZelda_cFUs.s"
}
#pragma pop

/* 8084696C-808469B0 000B4C 0044+00 1/1 0/0 0/0 .text daHoZelda_modelCallBack__FP8J3DJointi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daHoZelda_modelCallBack(J3DJoint* param_0, int param_1) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/daHoZelda_modelCallBack__FP8J3DJointi.s"
}
#pragma pop

/* ############################################################################################## */
/* 80848E64-80848E68 000028 0004+00 0/2 0/0 0/0 .rodata          @4062 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4062 = -1.0f;
COMPILER_STRIP_GATE(0x80848E64, &lit_4062);
#pragma pop

/* 808469B0-80846C4C 000B90 029C+00 1/1 0/0 0/0 .text            create__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::create() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/create__11daHoZelda_cFv.s"
}
#pragma pop

/* 80846C4C-80846CA8 000E2C 005C+00 3/2 0/0 0/0 .text            __dt__16daPy_frameCtrl_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daPy_frameCtrl_c::~daPy_frameCtrl_c() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__dt__16daPy_frameCtrl_cFv.s"
}
#pragma pop

/* 80846CA8-80846CF4 000E88 004C+00 1/1 0/0 0/0 .text            __ct__16daPy_frameCtrl_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daPy_frameCtrl_c::daPy_frameCtrl_c() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__ct__16daPy_frameCtrl_cFv.s"
}
#pragma pop

/* 80846CF4-80846D30 000ED4 003C+00 2/2 0/0 0/0 .text            __dt__19mDoExt_AnmRatioPackFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm mDoExt_AnmRatioPack::~mDoExt_AnmRatioPack() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__dt__19mDoExt_AnmRatioPackFv.s"
}
#pragma pop

/* 80846D30-80846D48 000F10 0018+00 1/1 0/0 0/0 .text            __ct__19mDoExt_AnmRatioPackFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm mDoExt_AnmRatioPack::mDoExt_AnmRatioPack() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__ct__19mDoExt_AnmRatioPackFv.s"
}
#pragma pop

/* 80846D48-80846D90 000F28 0048+00 1/0 0/0 0/0 .text            __dt__12J3DFrameCtrlFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DFrameCtrl::~J3DFrameCtrl() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__dt__12J3DFrameCtrlFv.s"
}
#pragma pop

/* 80846D90-80846DB0 000F70 0020+00 1/0 0/0 0/0 .text            daHoZelda_Create__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daHoZelda_Create(fopAc_ac_c* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/daHoZelda_Create__FP10fopAc_ac_c.s"
}
#pragma pop

/* 80846DB0-80846F24 000F90 0174+00 1/1 0/0 0/0 .text            __dt__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daHoZelda_c::~daHoZelda_c() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__dt__11daHoZelda_cFv.s"
}
#pragma pop

/* 80846F24-80846F4C 001104 0028+00 1/0 0/0 0/0 .text            daHoZelda_Delete__FP11daHoZelda_c
 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daHoZelda_Delete(daHoZelda_c* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/daHoZelda_Delete__FP11daHoZelda_c.s"
}
#pragma pop

/* 80846F4C-8084718C 00112C 0240+00 1/1 0/0 0/0 .text setDoubleAnime__11daHoZelda_cFfffUsUsf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::setDoubleAnime(f32 param_0, f32 param_1, f32 param_2, u16 param_3,
                                     u16 param_4, f32 param_5) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/setDoubleAnime__11daHoZelda_cFfffUsUsf.s"
}
#pragma pop

/* ############################################################################################## */
/* 80848E68-80848E6C 00002C 0004+00 1/2 0/0 0/0 .rodata          @4209 */
SECTION_RODATA static f32 const lit_4209 = 3.0f;
COMPILER_STRIP_GATE(0x80848E68, &lit_4209);

/* 8084718C-80847234 00136C 00A8+00 1/1 0/0 0/0 .text            setUpperAnime__11daHoZelda_cFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::setUpperAnime(u16 param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/setUpperAnime__11daHoZelda_cFUs.s"
}
#pragma pop

/* 80847234-808472C0 001414 008C+00 3/3 0/0 0/0 .text            resetUpperAnime__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::resetUpperAnime() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/resetUpperAnime__11daHoZelda_cFv.s"
}
#pragma pop

/* 808472C0-80847430 0014A0 0170+00 2/2 0/0 0/0 .text setSingleAnime__11daHoZelda_cFUsffsf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::setSingleAnime(u16 param_0, f32 param_1, f32 param_2, s16 param_3,
                                     f32 param_4) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/setSingleAnime__11daHoZelda_cFUsffsf.s"
}
#pragma pop

/* ############################################################################################## */
/* 80848E6C-80848E70 000030 0004+00 0/1 0/0 0/0 .rodata          @4283 */
#pragma push
#pragma force_active on
SECTION_RODATA static u32 const lit_4283 = 0x3C449BA6;
COMPILER_STRIP_GATE(0x80848E6C, &lit_4283);
#pragma pop

/* 80847430-80847574 001610 0144+00 1/1 0/0 0/0 .text            animePlay__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::animePlay() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/animePlay__11daHoZelda_cFv.s"
}
#pragma pop

/* 80847574-808475F0 001754 007C+00 2/2 0/0 0/0 .text            setEyeBtp__11daHoZelda_cFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::setEyeBtp(u16 param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/setEyeBtp__11daHoZelda_cFUs.s"
}
#pragma pop

/* 808475F0-80847670 0017D0 0080+00 2/2 0/0 0/0 .text            setEyeBtk__11daHoZelda_cFUsUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::setEyeBtk(u16 param_0, u8 param_1) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/setEyeBtk__11daHoZelda_cFUsUc.s"
}
#pragma pop

/* 80847670-808476B0 001850 0040+00 2/2 0/0 0/0 .text            setNormalFace__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::setNormalFace() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/setNormalFace__11daHoZelda_cFv.s"
}
#pragma pop

/* ############################################################################################## */
/* 80848E70-80848E74 000034 0004+00 0/1 0/0 0/0 .rodata          @4530 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4530 = 4.0f;
COMPILER_STRIP_GATE(0x80848E70, &lit_4530);
#pragma pop

/* 808476B0-80847E44 001890 0794+00 1/1 0/0 0/0 .text            setAnm__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::setAnm() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/setAnm__11daHoZelda_cFv.s"
}
#pragma pop

/* ############################################################################################## */
/* 80848E74-80848E80 000038 000C+00 0/1 0/0 0/0 .rodata          localEyePos$4537 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const localEyePos[12] = {
    0x41, 0x00, 0x00, 0x00, 0xC1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80848E74, &localEyePos);
#pragma pop

/* 80848E80-80848E8C 000044 000C+00 0/1 0/0 0/0 .rodata          localHeadCenterPos$4538 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const localHeadCenterPos[12] = {
    0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80848E80, &localHeadCenterPos);
#pragma pop

/* 80848E8C-80848E90 000050 0004+00 0/1 0/0 0/0 .rodata          @4580 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4580 = 80.0f;
COMPILER_STRIP_GATE(0x80848E8C, &lit_4580);
#pragma pop

/* 80848E90-80848E94 000054 0004+00 0/1 0/0 0/0 .rodata          @4581 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4581 = 10.0f;
COMPILER_STRIP_GATE(0x80848E90, &lit_4581);
#pragma pop

/* 80848E94-80848E98 000058 0004+00 0/1 0/0 0/0 .rodata          @4582 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4582 = -2.0f;
COMPILER_STRIP_GATE(0x80848E94, &lit_4582);
#pragma pop

/* 80847E44-80847F54 002024 0110+00 2/2 0/0 0/0 .text            setBowModel__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::setBowModel() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/setBowModel__11daHoZelda_cFv.s"
}
#pragma pop

/* ############################################################################################## */
/* 80848E98-80848EA4 00005C 000C+00 1/1 0/0 0/0 .rodata          localHorseRidePos$4586 */
SECTION_RODATA static u8 const localHorseRidePos[12] = {
    0xC0, 0xBC, 0x9B, 0xA6, 0x42, 0x52, 0x70, 0xA4, 0x40, 0x82, 0x87, 0x2B,
};
COMPILER_STRIP_GATE(0x80848E98, &localHorseRidePos);

/* 80848EA4-80848EB0 000068 000C+00 1/1 0/0 0/0 .rodata          localFrontHorseRidePos$4587 */
SECTION_RODATA static u8 const localFrontHorseRidePos[12] = {
    0xC2, 0x97, 0xC9, 0xBA, 0x42, 0x66, 0x70, 0xA4, 0x40, 0x82, 0x87, 0x2B,
};
COMPILER_STRIP_GATE(0x80848EA4, &localFrontHorseRidePos);

/* 80847F54-80848058 002134 0104+00 2/2 0/0 0/0 .text            setMatrix__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::setMatrix() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/setMatrix__11daHoZelda_cFv.s"
}
#pragma pop

/* 80848058-80848090 002238 0038+00 1/1 0/0 0/0 .text            shootArrow__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::shootArrow() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/shootArrow__11daHoZelda_cFv.s"
}
#pragma pop

/* 80848090-80848118 002270 0088+00 1/1 0/0 0/0 .text            deleteArrow__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::deleteArrow() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/deleteArrow__11daHoZelda_cFv.s"
}
#pragma pop

/* 80848118-8084819C 0022F8 0084+00 2/2 0/0 0/0 .text            setBowBck__11daHoZelda_cFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::setBowBck(u16 param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/setBowBck__11daHoZelda_cFUs.s"
}
#pragma pop

/* ############################################################################################## */
/* 80848EB0-80848EBC 000074 000C+00 1/1 0/0 0/0 .rodata          baseRidePos$4672 */
SECTION_RODATA static u8 const baseRidePos[12] = {
    0x3D, 0xCC, 0xCC, 0xCD, 0x43, 0x6C, 0xB3, 0x33, 0xC2, 0x7E, 0x37, 0x4C,
};
COMPILER_STRIP_GATE(0x80848EB0, &baseRidePos);

/* 80848EBC-80848EC8 000080 000C+00 1/1 0/0 0/0 .rodata          frontRidePos$4673 */
SECTION_RODATA static u8 const frontRidePos[12] = {
    0x3D, 0xCC, 0xCC, 0xCD, 0x43, 0x71, 0xB3, 0x33, 0x40, 0xCE, 0x45, 0xA0,
};
COMPILER_STRIP_GATE(0x80848EBC, &frontRidePos);

/* 8084819C-80848204 00237C 0068+00 2/2 0/0 0/0 .text            setRideOffset__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::setRideOffset() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/setRideOffset__11daHoZelda_cFv.s"
}
#pragma pop

/* 80848204-80848254 0023E4 0050+00 2/2 0/0 0/0 .text            clearEyeMove__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::clearEyeMove() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/clearEyeMove__11daHoZelda_cFv.s"
}
#pragma pop

/* ############################################################################################## */
/* 80848EC8-80848ECC 00008C 0004+00 0/1 0/0 0/0 .rodata          @4752 */
#pragma push
#pragma force_active on
SECTION_RODATA static u32 const lit_4752 = 0x39000000;
COMPILER_STRIP_GATE(0x80848EC8, &lit_4752);
#pragma pop

/* 80848ECC-80848ED0 000090 0004+00 0/1 0/0 0/0 .rodata          @4753 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4753 = -1.0f / 5.0f;
COMPILER_STRIP_GATE(0x80848ECC, &lit_4753);
#pragma pop

/* 80848ED0-80848ED4 000094 0004+00 0/1 0/0 0/0 .rodata          @4754 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4754 = 1.0f / 5.0f;
COMPILER_STRIP_GATE(0x80848ED0, &lit_4754);
#pragma pop

/* 80848ED4-80848ED8 000098 0004+00 0/1 0/0 0/0 .rodata          @4755 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4755 = 0.5f;
COMPILER_STRIP_GATE(0x80848ED4, &lit_4755);
#pragma pop

/* 80848ED8-80848EDC 00009C 0004+00 0/1 0/0 0/0 .rodata          @4756 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4756 = 1.0f / 10.0f;
COMPILER_STRIP_GATE(0x80848ED8, &lit_4756);
#pragma pop

/* 80848EDC-80848EE0 0000A0 0004+00 0/1 0/0 0/0 .rodata          @4757 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4757 = 3.0f / 100.0f;
COMPILER_STRIP_GATE(0x80848EDC, &lit_4757);
#pragma pop

/* 80848254-808484B8 002434 0264+00 1/1 0/0 0/0 .text            setEyeMove__11daHoZelda_cFPC4cXyzss
 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::setEyeMove(cXyz const* param_0, s16 param_1, s16 param_2) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/setEyeMove__11daHoZelda_cFPC4cXyzss.s"
}
#pragma pop

/* ############################################################################################## */
/* 80848EE0-80848EE4 0000A4 0004+00 0/1 0/0 0/0 .rodata          @4861 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4861 = 250000.0f;
COMPILER_STRIP_GATE(0x80848EE0, &lit_4861);
#pragma pop

/* 80848EE4-80848EE8 0000A8 0004+00 0/1 0/0 0/0 .rodata          @4862 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4862 = 90000.0f;
COMPILER_STRIP_GATE(0x80848EE4, &lit_4862);
#pragma pop

/* 808484B8-80848774 002698 02BC+00 1/1 0/0 0/0 .text            setNeckAngle__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::setNeckAngle() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/setNeckAngle__11daHoZelda_cFv.s"
}
#pragma pop

/* ############################################################################################## */
/* 80848EE8-80848EEC 0000AC 0004+00 0/1 0/0 0/0 .rodata          @4938 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4938 = 40.0f;
COMPILER_STRIP_GATE(0x80848EE8, &lit_4938);
#pragma pop

/* 80848EEC-80848EF4 0000B0 0008+00 0/1 0/0 0/0 .rodata          @4939 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4939[8] = {
    0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80848EEC, &lit_4939);
#pragma pop

/* 80848EF4-80848EFC 0000B8 0008+00 0/1 0/0 0/0 .rodata          @4940 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4940[8] = {
    0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80848EF4, &lit_4940);
#pragma pop

/* 80848EFC-80848F04 0000C0 0008+00 0/1 0/0 0/0 .rodata          @4941 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4941[8] = {
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80848EFC, &lit_4941);
#pragma pop

/* 80848774-808489CC 002954 0258+00 1/1 0/0 0/0 .text            searchBodyAngle__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::searchBodyAngle() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/searchBodyAngle__11daHoZelda_cFv.s"
}
#pragma pop

/* 808489CC-80848B44 002BAC 0178+00 1/1 0/0 0/0 .text            execute__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::execute() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/execute__11daHoZelda_cFv.s"
}
#pragma pop

/* 80848B44-80848B64 002D24 0020+00 1/0 0/0 0/0 .text            daHoZelda_Execute__FP11daHoZelda_c
 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daHoZelda_Execute(daHoZelda_c* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/daHoZelda_Execute__FP11daHoZelda_c.s"
}
#pragma pop

/* 80848B64-80848C68 002D44 0104+00 1/1 0/0 0/0 .text            draw__11daHoZelda_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daHoZelda_c::draw() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/draw__11daHoZelda_cFv.s"
}
#pragma pop

/* 80848C68-80848C88 002E48 0020+00 1/0 0/0 0/0 .text            daHoZelda_Draw__FP11daHoZelda_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daHoZelda_Draw(daHoZelda_c* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/daHoZelda_Draw__FP11daHoZelda_c.s"
}
#pragma pop

/* 80848C88-80848CB8 002E68 0030+00 1/0 0/0 0/0 .text            calc__11J3DTexNoAnmCFPUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DTexNoAnm::calc(u16* param_0) const {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/calc__11J3DTexNoAnmCFPUs.s"
}
#pragma pop

/* 80848CB8-80848CBC 002E98 0004+00 3/0 0/0 0/0 .text
 * setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform           */
void J3DMtxCalc::setAnmTransform(u8 param_0, J3DAnmTransform* param_1) {
    /* empty function */
}

/* 80848CBC-80848CC0 002E9C 0004+00 3/0 0/0 0/0 .text
 * setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform             */
void J3DMtxCalc::setAnmTransform(J3DAnmTransform* param_0) {
    /* empty function */
}

/* 80848CC0-80848CC8 002EA0 0008+00 3/0 0/0 0/0 .text            getAnmTransform__10J3DMtxCalcFUc */
bool J3DMtxCalc::getAnmTransform(u8 param_0) {
    return false;
}

/* 80848CC8-80848CD0 002EA8 0008+00 3/0 0/0 0/0 .text            getAnmTransform__10J3DMtxCalcFv */
bool J3DMtxCalc::getAnmTransform() {
    return false;
}

/* 80848CD0-80848CD4 002EB0 0004+00 3/0 0/0 0/0 .text            setWeight__10J3DMtxCalcFUcf */
void J3DMtxCalc::setWeight(u8 param_0, f32 param_1) {
    /* empty function */
}

/* 80848CD4-80848CE0 002EB4 000C+00 3/0 0/0 0/0 .text            getWeight__10J3DMtxCalcCFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DMtxCalc::getWeight(u8 param_0) const {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/getWeight__10J3DMtxCalcCFUc.s"
}
#pragma pop

/* 80848CE0-80848D08 002EC0 0028+00 1/0 0/0 0/0 .text
 * init__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya>FRC3VecRA3_A4_Cf
 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void func_80848CE0(void* _this, Vec const& param_0, f32 const (&param_1)[3][4]) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/func_80848CE0.s"
}
#pragma pop

/* 80848D08-80848D38 002EE8 0030+00 1/0 0/0 0/0 .text
 * calc__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya>Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void func_80848D08(void* _this) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/func_80848D08.s"
}
#pragma pop

/* 80848D38-80848D54 002F18 001C+00 1/1 0/0 0/0 .text            cLib_calcTimer<Uc>__FPUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void func_80848D38(void* _this, u8* param_0) {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/func_80848D38.s"
}
#pragma pop

/* 80848D54-80848E34 002F34 00E0+00 1/0 0/0 0/0 .text            __dt__18daHoZelda_matAnm_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daHoZelda_matAnm_c::~daHoZelda_matAnm_c() {
    nofralloc
#include "asm/rel/d/a/d_a_hozelda/d_a_hozelda/__dt__18daHoZelda_matAnm_cFv.s"
}
#pragma pop
