// // Generated By: dol2asm // Translation Unit: c_lib // #include "SSystem/SComponent/c_lib.h" #include "dol2asm.h" #include "dolphin/types.h" // // Types: // struct Vec {}; struct cXyz { /* 80266B34 */ void operator-(Vec const&) const; /* 80266B84 */ void operator*(f32) const; /* 80266D30 */ void normZP() const; /* 8026702C */ bool operator==(Vec const&) const; /* 8026706C */ bool operator!=(Vec const&) const; }; // // Forward References: // void cLib_memCpy(void*, void const*, u32); void cLib_memSet(void*, int, u32); void cLib_addCalc(f32*, f32, f32, f32, f32); void cLib_addCalc2(f32*, f32, f32, f32); void cLib_addCalc0(f32*, f32, f32); void cLib_addCalcPos(cXyz*, cXyz const&, f32, f32, f32); void cLib_addCalcPosXZ(cXyz*, cXyz const&, f32, f32, f32); void cLib_addCalcPos2(cXyz*, cXyz const&, f32, f32); void cLib_addCalcPosXZ2(cXyz*, cXyz const&, f32, f32); void cLib_addCalcAngleS(s16*, s16, s16, s16, s16); void cLib_addCalcAngleS2(s16*, s16, s16, s16); void cLib_chaseUC(u8*, u8, u8); void cLib_chaseS(s16*, s16, s16); void cLib_chaseF(f32*, f32, f32); void cLib_chasePos(cXyz*, cXyz const&, f32); void cLib_chasePosXZ(cXyz*, cXyz const&, f32); void cLib_chaseAngleS(s16*, s16, s16); void cLib_targetAngleY(Vec const*, Vec const*); void cLib_targetAngleY(Vec const&, Vec const&); void cLib_targetAngleX(cXyz const*, cXyz const*); void cLib_offsetPos(cXyz*, cXyz const*, s16, cXyz const*); void cLib_distanceAngleS(s16, s16); void MtxInit(); void MtxTrans(f32, f32, f32, u8); void MtxScale(f32, f32, f32, u8); void MtxPosition(cXyz*, cXyz*); void MtxPush(); void MtxPull(); extern "C" void cLib_memCpy__FPvPCvUl(); extern "C" void cLib_memSet__FPviUl(); extern "C" void cLib_addCalc__FPfffff(); extern "C" void cLib_addCalc2__FPffff(); extern "C" void cLib_addCalc0__FPfff(); extern "C" void cLib_addCalcPos__FP4cXyzRC4cXyzfff(); extern "C" void cLib_addCalcPosXZ__FP4cXyzRC4cXyzfff(); extern "C" void cLib_addCalcPos2__FP4cXyzRC4cXyzff(); extern "C" void cLib_addCalcPosXZ2__FP4cXyzRC4cXyzff(); extern "C" void cLib_addCalcAngleS__FPsssss(); extern "C" void cLib_addCalcAngleS2__FPssss(); extern "C" void cLib_chaseUC__FPUcUcUc(); extern "C" void cLib_chaseS__FPsss(); extern "C" void cLib_chaseF__FPfff(); extern "C" void cLib_chasePos__FP4cXyzRC4cXyzf(); extern "C" void cLib_chasePosXZ__FP4cXyzRC4cXyzf(); extern "C" void cLib_chaseAngleS__FPsss(); extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); extern "C" void cLib_targetAngleY__FRC3VecRC3Vec(); extern "C" void cLib_targetAngleX__FPC4cXyzPC4cXyz(); extern "C" void cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz(); extern "C" void cLib_distanceAngleS__Fss(); extern "C" void MtxInit__Fv(); extern "C" void MtxTrans__FfffUc(); extern "C" void MtxScale__FfffUc(); extern "C" void MtxPosition__FP4cXyzP4cXyz(); extern "C" void MtxPush__Fv(); extern "C" void MtxPull__Fv(); extern "C" extern void* calc_mtx[1 + 1 /* padding */]; // // External References: // void cM_atan2s(f32, f32); SECTION_INIT void memset(); SECTION_INIT void memcpy(); extern "C" void __mi__4cXyzCFRC3Vec(); extern "C" void __ml__4cXyzCFf(); extern "C" void normZP__4cXyzCFv(); extern "C" bool __eq__4cXyzCFRC3Vec(); extern "C" bool __ne__4cXyzCFRC3Vec(); extern "C" void cM_atan2s__Fff(); extern "C" void PSMTXCopy(); extern "C" void PSMTXConcat(); extern "C" void PSMTXTrans(); extern "C" void PSMTXScale(); extern "C" void PSMTXMultVec(); extern "C" void PSVECSubtract(); extern "C" void PSVECScale(); extern "C" void PSVECSquareMag(); extern "C" void PSVECSquareDistance(); extern "C" void abs(); extern "C" extern u8 sincosTable___5JMath[65536]; extern "C" extern u32 __float_nan; // // Declarations: // /* 8026F93C-8026F95C 0020+00 s=0 e=3 z=0 None .text cLib_memCpy__FPvPCvUl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_memCpy(void* param_0, void const* param_1, u32 param_2) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_memCpy__FPvPCvUl.s" } #pragma pop /* 8026F95C-8026F97C 0020+00 s=0 e=4 z=0 None .text cLib_memSet__FPviUl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_memSet(void* param_0, int param_1, u32 param_2) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_memSet__FPviUl.s" } #pragma pop /* ############################################################################################## */ /* 804551E0-804551E8 0004+04 s=9 e=0 z=0 None .sdata2 @2262 */ SECTION_SDATA2 static f32 lit_2262[1 + 1 /* padding */] = { 0.0f, /* padding */ 0.0f, }; /* 8026F97C-8026FA3C 00C0+00 s=0 e=50 z=178 None .text cLib_addCalc__FPfffff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_addCalc(f32* param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_addCalc__FPfffff.s" } #pragma pop /* 8026FA3C-8026FA80 0044+00 s=0 e=20 z=701 None .text cLib_addCalc2__FPffff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_addCalc2(f32* param_0, f32 param_1, f32 param_2, f32 param_3) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_addCalc2__FPffff.s" } #pragma pop /* 8026FA80-8026FAB8 0038+00 s=0 e=2 z=322 None .text cLib_addCalc0__FPfff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_addCalc0(f32* param_0, f32 param_1, f32 param_2) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_addCalc0__FPfff.s" } #pragma pop /* ############################################################################################## */ /* 804551E8-804551F0 0008+00 s=7 e=0 z=0 None .sdata2 @2379 */ SECTION_SDATA2 static f64 lit_2379 = 0.5; /* 804551F0-804551F8 0008+00 s=7 e=0 z=0 None .sdata2 @2380 */ SECTION_SDATA2 static f64 lit_2380 = 3.0; /* 804551F8-80455200 0008+00 s=7 e=0 z=0 None .sdata2 @2381 */ SECTION_SDATA2 static u8 lit_2381[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80455200-80455208 0004+04 s=5 e=0 z=0 None .sdata2 @2382 */ SECTION_SDATA2 static f32 lit_2382[1 + 1 /* padding */] = { 7.999999968033578e-11f, /* padding */ 0.0f, }; /* 8026FAB8-8026FDF4 033C+00 s=0 e=3 z=78 None .text cLib_addCalcPos__FP4cXyzRC4cXyzfff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_addCalcPos(cXyz* param_0, cXyz const& param_1, f32 param_2, f32 param_3, f32 param_4) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_addCalcPos__FP4cXyzRC4cXyzfff.s" } #pragma pop /* 8026FDF4-80270178 0384+00 s=0 e=1 z=4 None .text cLib_addCalcPosXZ__FP4cXyzRC4cXyzfff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_addCalcPosXZ(cXyz* param_0, cXyz const& param_1, f32 param_2, f32 param_3, f32 param_4) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_addCalcPosXZ__FP4cXyzRC4cXyzfff.s" } #pragma pop /* 80270178-80270350 01D8+00 s=0 e=2 z=33 None .text cLib_addCalcPos2__FP4cXyzRC4cXyzff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_addCalcPos2(cXyz* param_0, cXyz const& param_1, f32 param_2, f32 param_3) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_addCalcPos2__FP4cXyzRC4cXyzff.s" } #pragma pop /* 80270350-80270540 01F0+00 s=0 e=0 z=4 None .text cLib_addCalcPosXZ2__FP4cXyzRC4cXyzff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_addCalcPosXZ2(cXyz* param_0, cXyz const& param_1, f32 param_2, f32 param_3) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_addCalcPosXZ2__FP4cXyzRC4cXyzff.s" } #pragma pop /* 80270540-80270608 00C8+00 s=0 e=81 z=244 None .text cLib_addCalcAngleS__FPsssss */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_addCalcAngleS(s16* param_0, s16 param_1, s16 param_2, s16 param_3, s16 param_4) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_addCalcAngleS__FPsssss.s" } #pragma pop /* 80270608-8027065C 0054+00 s=0 e=2 z=849 None .text cLib_addCalcAngleS2__FPssss */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_addCalcAngleS2(s16* param_0, s16 param_1, s16 param_2, s16 param_3) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_addCalcAngleS2__FPssss.s" } #pragma pop /* 8027065C-802706D0 0074+00 s=0 e=3 z=14 None .text cLib_chaseUC__FPUcUcUc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_chaseUC(u8* param_0, u8 param_1, u8 param_2) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_chaseUC__FPUcUcUc.s" } #pragma pop /* 802706D0-80270740 0070+00 s=0 e=4 z=49 None .text cLib_chaseS__FPsss */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_chaseS(s16* param_0, s16 param_1, s16 param_2) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_chaseS__FPsss.s" } #pragma pop /* 80270740-802707AC 006C+00 s=0 e=70 z=448 None .text cLib_chaseF__FPfff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_chaseF(f32* param_0, f32 param_1, f32 param_2) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_chaseF__FPfff.s" } #pragma pop /* 802707AC-80270990 01E4+00 s=0 e=3 z=60 None .text cLib_chasePos__FP4cXyzRC4cXyzf */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_chasePos(cXyz* param_0, cXyz const& param_1, f32 param_2) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_chasePos__FP4cXyzRC4cXyzf.s" } #pragma pop /* 80270990-80270B90 0200+00 s=0 e=1 z=19 None .text cLib_chasePosXZ__FP4cXyzRC4cXyzf */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_chasePosXZ(cXyz* param_0, cXyz const& param_1, f32 param_2) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_chasePosXZ__FP4cXyzRC4cXyzf.s" } #pragma pop /* 80270B90-80270C04 0074+00 s=0 e=4 z=213 None .text cLib_chaseAngleS__FPsss */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_chaseAngleS(s16* param_0, s16 param_1, s16 param_2) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_chaseAngleS__FPsss.s" } #pragma pop /* 80270C04-80270C3C 0038+00 s=0 e=39 z=454 None .text cLib_targetAngleY__FPC3VecPC3Vec */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_targetAngleY(Vec const* param_0, Vec const* param_1) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_targetAngleY__FPC3VecPC3Vec.s" } #pragma pop /* 80270C3C-80270C74 0038+00 s=0 e=0 z=7 None .text cLib_targetAngleY__FRC3VecRC3Vec */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_targetAngleY(Vec const& param_0, Vec const& param_1) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_targetAngleY__FRC3VecRC3Vec.s" } #pragma pop /* 80270C74-80270DC0 014C+00 s=0 e=2 z=109 None .text cLib_targetAngleX__FPC4cXyzPC4cXyz */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_targetAngleX(cXyz const* param_0, cXyz const* param_1) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_targetAngleX__FPC4cXyzPC4cXyz.s" } #pragma pop /* 80270DC0-80270E24 0064+00 s=0 e=2 z=118 None .text cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_offsetPos(cXyz* param_0, cXyz const* param_1, s16 param_2, cXyz const* param_3) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz.s" } #pragma pop /* 80270E24-80270E4C 0028+00 s=0 e=48 z=71 None .text cLib_distanceAngleS__Fss */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void cLib_distanceAngleS(s16 param_0, s16 param_1) { nofralloc #include "asm/SSystem/SComponent/c_lib/cLib_distanceAngleS__Fss.s" } #pragma pop /* ############################################################################################## */ /* 80430DB8-80430F98 01E0+00 s=2 e=0 z=0 None .bss mtx */ static u8 mtx[480]; /* 80450768-80450770 0004+04 s=6 e=2 z=695 None .sdata calc_mtx */ SECTION_SDATA void* calc_mtx[1 + 1 /* padding */] = { (void*)&mtx, /* padding */ NULL, }; /* 80270E4C-80270E5C 0010+00 s=0 e=1 z=0 None .text MtxInit__Fv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void MtxInit() { nofralloc #include "asm/SSystem/SComponent/c_lib/MtxInit__Fv.s" } #pragma pop /* 80270E5C-80270EA4 0048+00 s=0 e=0 z=43 None .text MtxTrans__FfffUc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void MtxTrans(f32 param_0, f32 param_1, f32 param_2, u8 param_3) { nofralloc #include "asm/SSystem/SComponent/c_lib/MtxTrans__FfffUc.s" } #pragma pop /* 80270EA4-80270EEC 0048+00 s=0 e=0 z=46 None .text MtxScale__FfffUc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void MtxScale(f32 param_0, f32 param_1, f32 param_2, u8 param_3) { nofralloc #include "asm/SSystem/SComponent/c_lib/MtxScale__FfffUc.s" } #pragma pop /* 80270EEC-80270F1C 0030+00 s=0 e=2 z=615 None .text MtxPosition__FP4cXyzP4cXyz */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void MtxPosition(cXyz* param_0, cXyz* param_1) { nofralloc #include "asm/SSystem/SComponent/c_lib/MtxPosition__FP4cXyzP4cXyz.s" } #pragma pop /* 80270F1C-80270F58 003C+00 s=0 e=0 z=20 None .text MtxPush__Fv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void MtxPush() { nofralloc #include "asm/SSystem/SComponent/c_lib/MtxPush__Fv.s" } #pragma pop /* 80270F58-80270F68 0010+00 s=0 e=0 z=20 None .text MtxPull__Fv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void MtxPull() { nofralloc #include "asm/SSystem/SComponent/c_lib/MtxPull__Fv.s" } #pragma pop