// // Generated By: dol2asm // Translation Unit: d/d_npc_lib // #include "d/d_npc_lib.h" #include "dol2asm.h" #include "dolphin/types.h" // // Types: // struct csXyz { /* 80018BD0 */ ~csXyz(); /* 80112C80 */ csXyz(); /* 8026745C */ void operator+=(csXyz&); static u8 Zero[4]; }; struct Vec {}; struct cXyz { /* 80009184 */ ~cXyz(); /* 800125DC */ cXyz(); /* 80266B34 */ void operator-(Vec const&) const; /* 80266EF4 */ void normalize(); /* 802670AC */ void isZero() const; }; struct mDoMtx_stack_c { /* 8000CD64 */ void transS(cXyz const&); /* 8000CE9C */ void XYZrotS(csXyz const&); /* 8000CF44 */ void ZXYrotM(csXyz const&); static u8 now[48]; }; struct fopAc_ac_c {}; struct J3DModel {}; struct dNpcLib_lookat_c { /* 80251314 */ dNpcLib_lookat_c(); /* 8025140C */ void init(J3DModel*, int*, csXyz*, csXyz*); /* 80251534 */ void action(cXyz, cXyz, fopAc_ac_c*, f32 (*)[4], int); /* 80251B60 */ void dbView(); /* 80251B64 */ void setPrm(); /* 80251EF8 */ void update(); /* 80252018 */ void limitter(s16*, s16, s16, s16); /* 80252094 */ ~dNpcLib_lookat_c(); }; // // Forward References: // extern "C" void __ct__16dNpcLib_lookat_cFv(); extern "C" void init__16dNpcLib_lookat_cFP8J3DModelPiP5csXyzP5csXyz(); extern "C" void action__16dNpcLib_lookat_cF4cXyz4cXyzP10fopAc_ac_cPA4_fi(); extern "C" void dbView__16dNpcLib_lookat_cFv(); extern "C" void setPrm__16dNpcLib_lookat_cFv(); extern "C" void update__16dNpcLib_lookat_cFv(); extern "C" void limitter__16dNpcLib_lookat_cFPssss(); extern "C" void __dt__16dNpcLib_lookat_cFv(); // // External References: // extern "C" void __dt__4cXyzFv(); extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); extern "C" void XYZrotS__14mDoMtx_stack_cFRC5csXyz(); extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); extern "C" void __ct__4cXyzFv(); extern "C" void __dt__5csXyzFv(); extern "C" void __ct__5csXyzFv(); extern "C" void __mi__4cXyzCFRC3Vec(); extern "C" void normalize__4cXyzFv(); extern "C" void isZero__4cXyzCFv(); extern "C" void __apl__5csXyzFR5csXyz(); extern "C" void cM_atan2s__Fff(); extern "C" void __dl__FPv(); extern "C" void PSMTXCopy(); extern "C" void PSMTXConcat(); extern "C" void PSMTXInverse(); extern "C" void PSMTXMultVec(); extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void _savegpr_22(); extern "C" void _savegpr_23(); extern "C" void _savegpr_25(); extern "C" void _restgpr_22(); extern "C" void _restgpr_23(); extern "C" void _restgpr_25(); extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u32 __float_nan; extern "C" u8 Zero__5csXyz[4]; extern "C" extern u8 data_80451164[4]; // // Declarations: // /* ############################################################################################## */ /* 803C2B88-803C2B98 01FCA8 000C+04 2/2 0/0 0/0 .data __vt__16dNpcLib_lookat_c */ SECTION_DATA extern void* __vt__16dNpcLib_lookat_c[3 + 1 /* padding */] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__16dNpcLib_lookat_cFv, /* padding */ NULL, }; /* 80251314-8025140C 24BC54 00F8+00 0/0 0/0 4/4 .text __ct__16dNpcLib_lookat_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm dNpcLib_lookat_c::dNpcLib_lookat_c() { nofralloc #include "asm/d/d_npc_lib/__ct__16dNpcLib_lookat_cFv.s" } #pragma pop /* 8025140C-80251534 24BD4C 0128+00 0/0 0/0 2/2 .text * init__16dNpcLib_lookat_cFP8J3DModelPiP5csXyzP5csXyz */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void dNpcLib_lookat_c::init(J3DModel* param_0, int* param_1, csXyz* param_2, csXyz* param_3) { nofralloc #include "asm/d/d_npc_lib/init__16dNpcLib_lookat_cFP8J3DModelPiP5csXyzP5csXyz.s" } #pragma pop /* ############################################################################################## */ /* 80454DE8-80454DEC 0033E8 0004+00 3/3 0/0 0/0 .sdata2 @3864 */ SECTION_SDATA2 static u8 lit_3864[4] = { 0x00, 0x00, 0x00, 0x00, }; /* 80454DEC-80454DF0 0033EC 0004+00 1/1 0/0 0/0 .sdata2 @3865 */ SECTION_SDATA2 static f32 lit_3865 = 1.0f; /* 80454DF0-80454DF8 0033F0 0008+00 2/2 0/0 0/0 .sdata2 @3866 */ SECTION_SDATA2 static f64 lit_3866 = 0.5; /* 80454DF8-80454E00 0033F8 0008+00 2/2 0/0 0/0 .sdata2 @3867 */ SECTION_SDATA2 static f64 lit_3867 = 3.0; /* 80454E00-80454E08 003400 0008+00 2/2 0/0 0/0 .sdata2 @3868 */ SECTION_SDATA2 static u8 lit_3868[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80454E08-80454E10 003408 0004+04 1/1 0/0 0/0 .sdata2 @3869 */ SECTION_SDATA2 static f32 lit_3869[1 + 1 /* padding */] = { 0.5f, /* padding */ 0.0f, }; /* 80454E10-80454E18 003410 0008+00 2/2 0/0 0/0 .sdata2 @3873 */ SECTION_SDATA2 static f64 lit_3873 = 4503601774854144.0 /* cast s32 to float */; /* 80251534-80251B60 24BE74 062C+00 0/0 0/0 2/2 .text * action__16dNpcLib_lookat_cF4cXyz4cXyzP10fopAc_ac_cPA4_fi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void dNpcLib_lookat_c::action(cXyz param_0, cXyz param_1, fopAc_ac_c* param_2, f32 (*param_3)[4], int param_4) { nofralloc #include "asm/d/d_npc_lib/action__16dNpcLib_lookat_cF4cXyz4cXyzP10fopAc_ac_cPA4_fi.s" } #pragma pop /* 80251B60-80251B64 24C4A0 0004+00 0/0 0/0 2/2 .text dbView__16dNpcLib_lookat_cFv */ void dNpcLib_lookat_c::dbView() { /* empty function */ } /* ############################################################################################## */ /* 80454E18-80454E20 003418 0004+04 1/1 0/0 0/0 .sdata2 @3970 */ SECTION_SDATA2 static f32 lit_3970[1 + 1 /* padding */] = { 2.0f / 5.0f, /* padding */ 0.0f, }; /* 80251B64-80251EF8 24C4A4 0394+00 1/1 0/0 0/0 .text setPrm__16dNpcLib_lookat_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void dNpcLib_lookat_c::setPrm() { nofralloc #include "asm/d/d_npc_lib/setPrm__16dNpcLib_lookat_cFv.s" } #pragma pop /* 80251EF8-80252018 24C838 0120+00 1/1 0/0 0/0 .text update__16dNpcLib_lookat_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void dNpcLib_lookat_c::update() { nofralloc #include "asm/d/d_npc_lib/update__16dNpcLib_lookat_cFv.s" } #pragma pop /* 80252018-80252094 24C958 007C+00 1/1 0/0 0/0 .text limitter__16dNpcLib_lookat_cFPssss */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void dNpcLib_lookat_c::limitter(s16* param_0, s16 param_1, s16 param_2, s16 param_3) { nofralloc #include "asm/d/d_npc_lib/limitter__16dNpcLib_lookat_cFPssss.s" } #pragma pop /* 80252094-8025217C 24C9D4 00E8+00 1/0 0/0 0/0 .text __dt__16dNpcLib_lookat_cFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm dNpcLib_lookat_c::~dNpcLib_lookat_c() { nofralloc #include "asm/d/d_npc_lib/__dt__16dNpcLib_lookat_cFv.s" } #pragma pop