Files
tp/src/d/actor/d_a_npc_fguard.cpp
T
2025-03-26 18:48:43 -07:00

582 lines
17 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: d_a_npc_fguard
//
// Causes vtable issues
//#include "d/actor/d_a_npc_fguard.h"
#include "dolphin/types.h"
#include "dol2asm.h"
//
// Types:
//
struct mDoMtx_stack_c {
static u8 now[48];
};
struct mDoExt_morf_c {
/* 8000FB7C */ void setMorf(f32);
};
struct mDoExt_McaMorfSO {
/* 800111EC */ void modelCalc();
/* 80011310 */ void stopZelAnime();
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct Vec {};
struct daNpcFgd_c {
/* 809BA53C */ void initPosAngle(Vec&, s16);
/* 809BA584 */ void create();
/* 809BA730 */ void create_init();
/* 809BAA80 */ ~daNpcFgd_c();
};
struct J3DModel {};
struct J3DAnmTransformKey {};
struct daNpcCd2_c {
/* 80157D00 */ void NpcCreate(int);
/* 80157F28 */ void ObjCreate(int);
/* 801580F0 */ void getAnmP(int, int);
/* 80158420 */ void setAttention(int);
/* 80158BB8 */ void loadResrc(int, int);
/* 80158CBC */ void removeResrc(int, int);
/* 80158D88 */ void setEnvTevCol();
/* 80158DE4 */ void setRoomNo();
/* 80158E28 */ void animation(int);
/* 80158F00 */ void setAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
/* 80158F6C */ void drawShadow(f32);
/* 80158FF0 */ void drawObj(int, J3DModel*, f32);
/* 801590FC */ void drawNpc();
/* 809BAE80 */ ~daNpcCd2_c();
static u8 const m_cylDat[68];
};
struct dNpcLib_lookat_c {
/* 80251314 */ dNpcLib_lookat_c();
/* 809BB10C */ ~dNpcLib_lookat_c();
};
struct dCcD_Stts {
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
};
struct dCcD_SrcCyl {};
struct dCcD_GStts {
/* 80083760 */ dCcD_GStts();
/* 809BB284 */ ~dCcD_GStts();
};
struct dCcD_GObjInf {
/* 80083A28 */ dCcD_GObjInf();
/* 800840E4 */ ~dCcD_GObjInf();
};
struct dCcD_Cyl {
/* 800848B4 */ void Set(dCcD_SrcCyl const&);
};
struct dBgS_PolyPassChk {
/* 80078E68 */ void SetObj();
};
struct dBgS_ObjAcch {
/* 809BB38C */ ~dBgS_ObjAcch();
};
struct dBgS_AcchCir {
/* 80075EAC */ dBgS_AcchCir();
/* 80075F40 */ void SetWallR(f32);
/* 80075F58 */ void SetWall(f32, f32);
/* 809BB31C */ ~dBgS_AcchCir();
};
struct csXyz {
/* 809BB0D0 */ ~csXyz();
};
struct dBgS {};
struct cXyz {
/* 809BB2E0 */ ~cXyz();
};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
/* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*);
/* 80076AAC */ void CrrPos(dBgS&);
};
struct cM3dGPla {
/* 809BAD3C */ ~cM3dGPla();
};
struct cM3dGCyl {
/* 8026F1DC */ void SetC(cXyz const&);
/* 8026F1F8 */ void SetH(f32);
/* 8026F200 */ void SetR(f32);
/* 809BB1F4 */ ~cM3dGCyl();
};
struct cM3dGCir {
/* 8026EF18 */ ~cM3dGCir();
};
struct cM3dGAab {
/* 809BB23C */ ~cM3dGAab();
};
struct cCcD_Obj {};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
struct cCcD_GStts {
/* 809BAE28 */ ~cCcD_GStts();
};
struct cBgS_PolyInfo {
/* 802680B0 */ ~cBgS_PolyInfo();
};
struct cBgS {
/* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const;
};
struct Z2CreatureCitizen {
/* 802C0C10 */ Z2CreatureCitizen();
/* 802C0C6C */ ~Z2CreatureCitizen();
};
//
// Forward References:
//
extern "C" static void createHeapCallBack__FP10fopAc_ac_c();
extern "C" void initPosAngle__10daNpcFgd_cFR3Vecs();
extern "C" static void daNpcFgd_Create__FPv();
extern "C" void create__10daNpcFgd_cFv();
extern "C" void create_init__10daNpcFgd_cFv();
extern "C" static void daNpcFgd_Delete__FPv();
extern "C" void __dt__10daNpcFgd_cFv();
extern "C" static void daNpcFgd_Execute__FPv();
extern "C" void __dt__8cM3dGPlaFv();
extern "C" static void daNpcFgd_Draw__FPv();
extern "C" static bool daNpcFgd_IsDelete__FPv();
extern "C" void __dt__10cCcD_GSttsFv();
extern "C" static void func_809BAE70();
extern "C" static void func_809BAE78();
extern "C" void __dt__10daNpcCd2_cFv();
extern "C" void __dt__5csXyzFv();
extern "C" void __dt__16dNpcLib_lookat_cFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void __dt__10dCcD_GSttsFv();
extern "C" void __dt__4cXyzFv();
extern "C" void __dt__12dBgS_AcchCirFv();
extern "C" void __dt__12dBgS_ObjAcchFv();
//
// External References:
//
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void setMorf__13mDoExt_morf_cFf();
extern "C" void modelCalc__16mDoExt_McaMorfSOFv();
extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
extern "C" void fopAcM_getPolygonAngle__FPC8cM3dGPlas();
extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla();
extern "C" void __ct__12dBgS_AcchCirFv();
extern "C" void SetWallR__12dBgS_AcchCirFf();
extern "C" void SetWall__12dBgS_AcchCirFff();
extern "C" void __dt__9dBgS_AcchFv();
extern "C" void __ct__9dBgS_AcchFv();
extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz();
extern "C" void CrrPos__9dBgS_AcchFR4dBgS();
extern "C" void SetObj__16dBgS_PolyPassChkFv();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void __dt__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
extern "C" void NpcCreate__10daNpcCd2_cFi();
extern "C" void ObjCreate__10daNpcCd2_cFi();
extern "C" void getAnmP__10daNpcCd2_cFii();
extern "C" void setAttention__10daNpcCd2_cFi();
extern "C" void loadResrc__10daNpcCd2_cFii();
extern "C" void removeResrc__10daNpcCd2_cFii();
extern "C" void setEnvTevCol__10daNpcCd2_cFv();
extern "C" void setRoomNo__10daNpcCd2_cFv();
extern "C" void animation__10daNpcCd2_cFi();
extern "C" void setAnm__10daNpcCd2_cFP18J3DAnmTransformKeyffiii();
extern "C" void drawShadow__10daNpcCd2_cFf();
extern "C" void drawObj__10daNpcCd2_cFiP8J3DModelf();
extern "C" void drawNpc__10daNpcCd2_cFv();
extern "C" void dKy_darkworld_check__Fv();
extern "C" void __ct__16dNpcLib_lookat_cFv();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void cM_rndF__Ff();
extern "C" void __dt__13cBgS_PolyInfoFv();
extern "C" void __dt__8cM3dGCirFv();
extern "C" void SetC__8cM3dGCylFRC4cXyz();
extern "C" void SetH__8cM3dGCylFf();
extern "C" void SetR__8cM3dGCylFf();
extern "C" void cLib_addCalc2__FPffff();
extern "C" void __ct__17Z2CreatureCitizenFv();
extern "C" void __dt__17Z2CreatureCitizenFv();
extern "C" void __dl__FPv();
extern "C" void PSMTXCopy();
extern "C" void PSMTXTrans();
extern "C" void __destroy_arr();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" u8 const m_cylDat__10daNpcCd2_c[68];
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 l_Cd2_HIO[16396];
//
// Declarations:
//
/* 809BA4B8-809BA53C 000078 0084+00 1/1 0/0 0/0 .text createHeapCallBack__FP10fopAc_ac_c
*/
static void createHeapCallBack(fopAc_ac_c* param_0) {
// NONMATCHING
}
/* 809BA53C-809BA564 0000FC 0028+00 0/0 0/0 1/1 .text initPosAngle__10daNpcFgd_cFR3Vecs
*/
void daNpcFgd_c::initPosAngle(Vec& param_0, s16 param_1) {
// NONMATCHING
}
/* 809BA564-809BA584 000124 0020+00 1/0 0/0 0/0 .text daNpcFgd_Create__FPv */
static void daNpcFgd_Create(void* param_0) {
// NONMATCHING
}
/* ############################################################################################## */
/* 809BB440-809BB460 -00001 0020+00 1/0 0/0 0/0 .data daNpcFgd_METHODS */
SECTION_DATA static void* daNpcFgd_METHODS[8] = {
(void*)daNpcFgd_Create__FPv,
(void*)daNpcFgd_Delete__FPv,
(void*)daNpcFgd_Execute__FPv,
(void*)daNpcFgd_IsDelete__FPv,
(void*)daNpcFgd_Draw__FPv,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 809BB460-809BB490 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_FGUARD */
SECTION_DATA extern void* g_profile_NPC_FGUARD[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x02940000, (void*)&g_fpcLf_Method,
(void*)0x00000ADC, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x01990000, (void*)&daNpcFgd_METHODS,
(void*)0x00040107, (void*)0x040E0000,
};
/* 809BB490-809BB49C 000050 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGPla */
SECTION_DATA extern void* __vt__8cM3dGPla[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGPlaFv,
};
/* 809BB49C-809BB4A8 00005C 000C+00 2/2 0/0 0/0 .data __vt__12dBgS_AcchCir */
SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12dBgS_AcchCirFv,
};
/* 809BB4A8-809BB4B4 000068 000C+00 3/3 0/0 0/0 .data __vt__10cCcD_GStts */
SECTION_DATA extern void* __vt__10cCcD_GStts[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__10cCcD_GSttsFv,
};
/* 809BB4B4-809BB4C0 000074 000C+00 2/2 0/0 0/0 .data __vt__10dCcD_GStts */
SECTION_DATA extern void* __vt__10dCcD_GStts[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__10dCcD_GSttsFv,
};
/* 809BB4C0-809BB4CC 000080 000C+00 2/2 0/0 0/0 .data __vt__16dNpcLib_lookat_c */
SECTION_DATA extern void* __vt__16dNpcLib_lookat_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__16dNpcLib_lookat_cFv,
};
/* 809BB4CC-809BB4D8 00008C 000C+00 2/2 0/0 0/0 .data __vt__10daNpcFgd_c */
SECTION_DATA extern void* __vt__10daNpcFgd_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__10daNpcFgd_cFv,
};
/* 809BB4D8-809BB4E4 000098 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGCyl */
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGCylFv,
};
/* 809BB4E4-809BB4F0 0000A4 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
};
/* 809BB4F0-809BB514 0000B0 0024+00 3/3 0/0 0/0 .data __vt__12dBgS_ObjAcch */
SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12dBgS_ObjAcchFv,
(void*)NULL,
(void*)NULL,
(void*)func_809BAE78,
(void*)NULL,
(void*)NULL,
(void*)func_809BAE70,
};
/* 809BB514-809BB520 0000D4 000C+00 2/2 0/0 0/0 .data __vt__10daNpcCd2_c */
SECTION_DATA extern void* __vt__10daNpcCd2_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__10daNpcCd2_cFv,
};
/* 809BA584-809BA730 000144 01AC+00 1/1 0/0 0/0 .text create__10daNpcFgd_cFv */
void daNpcFgd_c::create() {
// NONMATCHING
}
/* ############################################################################################## */
/* 809BB404-809BB408 000000 0004+00 1/1 0/0 0/0 .rodata @3979 */
SECTION_RODATA static f32 const lit_3979 = -3.0f;
COMPILER_STRIP_GATE(0x809BB404, &lit_3979);
/* 809BB408-809BB40C 000004 0004+00 0/1 0/0 0/0 .rodata @3980 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3980 = -21.0f;
COMPILER_STRIP_GATE(0x809BB408, &lit_3980);
#pragma pop
/* 809BB40C-809BB410 000008 0004+00 0/1 0/0 0/0 .rodata @3981 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3981 = -50.0f;
COMPILER_STRIP_GATE(0x809BB40C, &lit_3981);
#pragma pop
/* 809BB410-809BB414 00000C 0004+00 0/1 0/0 0/0 .rodata @3982 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3982 = -10.0f;
COMPILER_STRIP_GATE(0x809BB410, &lit_3982);
#pragma pop
/* 809BB414-809BB418 000010 0004+00 0/1 0/0 0/0 .rodata @3983 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3983 = -90.0f;
COMPILER_STRIP_GATE(0x809BB414, &lit_3983);
#pragma pop
/* 809BB418-809BB41C 000014 0004+00 0/1 0/0 0/0 .rodata @3984 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3984 = 50.0f;
COMPILER_STRIP_GATE(0x809BB418, &lit_3984);
#pragma pop
/* 809BB41C-809BB420 000018 0004+00 0/1 0/0 0/0 .rodata @3985 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3985 = 290.0f;
COMPILER_STRIP_GATE(0x809BB41C, &lit_3985);
#pragma pop
/* 809BB420-809BB424 00001C 0004+00 0/1 0/0 0/0 .rodata @3986 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3986 = 60.0f;
COMPILER_STRIP_GATE(0x809BB420, &lit_3986);
#pragma pop
/* 809BB424-809BB428 000020 0004+00 0/1 0/0 0/0 .rodata @3987 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3987 = 1.0f;
COMPILER_STRIP_GATE(0x809BB424, &lit_3987);
#pragma pop
/* 809BB428-809BB42C 000024 0004+00 0/1 0/0 0/0 .rodata @3988 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3988 = 12.0f;
COMPILER_STRIP_GATE(0x809BB428, &lit_3988);
#pragma pop
/* 809BB42C-809BB430 000028 0004+00 0/1 0/0 0/0 .rodata @3989 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3989 = 5.0f;
COMPILER_STRIP_GATE(0x809BB42C, &lit_3989);
#pragma pop
/* 809BB430-809BB434 00002C 0004+00 0/1 0/0 0/0 .rodata @3990 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3990[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x809BB430, &lit_3990);
#pragma pop
/* 809BA730-809BAA4C 0002F0 031C+00 1/1 0/0 0/0 .text create_init__10daNpcFgd_cFv */
void daNpcFgd_c::create_init() {
// NONMATCHING
}
/* 809BAA4C-809BAA80 00060C 0034+00 1/0 0/0 0/0 .text daNpcFgd_Delete__FPv */
static void daNpcFgd_Delete(void* param_0) {
// NONMATCHING
}
/* 809BAA80-809BAB04 000640 0084+00 1/0 0/0 0/0 .text __dt__10daNpcFgd_cFv */
daNpcFgd_c::~daNpcFgd_c() {
// NONMATCHING
}
/* ############################################################################################## */
/* 809BB434-809BB438 000030 0004+00 1/1 0/0 0/0 .rodata @4182 */
SECTION_RODATA static f32 const lit_4182 = 2.0f / 5.0f;
COMPILER_STRIP_GATE(0x809BB434, &lit_4182);
/* 809BB438-809BB43C 000034 0004+00 1/1 0/0 0/0 .rodata @4183 */
SECTION_RODATA static f32 const lit_4183 = 25.0f;
COMPILER_STRIP_GATE(0x809BB438, &lit_4183);
/* 809BAB04-809BAD3C 0006C4 0238+00 1/0 0/0 0/0 .text daNpcFgd_Execute__FPv */
static void daNpcFgd_Execute(void* param_0) {
// NONMATCHING
}
/* 809BAD3C-809BAD84 0008FC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGPlaFv */
cM3dGPla::~cM3dGPla() {
// NONMATCHING
}
/* ############################################################################################## */
/* 809BB43C-809BB440 000038 0004+00 1/1 0/0 0/0 .rodata @4201 */
SECTION_RODATA static f32 const lit_4201 = 40.0f;
COMPILER_STRIP_GATE(0x809BB43C, &lit_4201);
/* 809BAD84-809BAE20 000944 009C+00 1/0 0/0 0/0 .text daNpcFgd_Draw__FPv */
static void daNpcFgd_Draw(void* param_0) {
// NONMATCHING
}
/* 809BAE20-809BAE28 0009E0 0008+00 1/0 0/0 0/0 .text daNpcFgd_IsDelete__FPv */
static bool daNpcFgd_IsDelete(void* param_0) {
return true;
}
/* 809BAE28-809BAE70 0009E8 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
cCcD_GStts::~cCcD_GStts() {
// NONMATCHING
}
/* 809BAE70-809BAE78 000A30 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
static void func_809BAE70() {
// NONMATCHING
}
/* 809BAE78-809BAE80 000A38 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
static void func_809BAE78() {
// NONMATCHING
}
/* 809BAE80-809BB0D0 000A40 0250+00 2/1 0/0 0/0 .text __dt__10daNpcCd2_cFv */
// daNpcCd2_c::~daNpcCd2_c() {
// // NONMATCHING
// }
/* 809BB0D0-809BB10C 000C90 003C+00 2/2 0/0 0/0 .text __dt__5csXyzFv */
csXyz::~csXyz() {
// NONMATCHING
}
/* 809BB10C-809BB1F4 000CCC 00E8+00 1/0 0/0 0/0 .text __dt__16dNpcLib_lookat_cFv */
// dNpcLib_lookat_c::~dNpcLib_lookat_c() {
// // NONMATCHING
// }
/* 809BB1F4-809BB23C 000DB4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
cM3dGCyl::~cM3dGCyl() {
// NONMATCHING
}
/* 809BB23C-809BB284 000DFC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
cM3dGAab::~cM3dGAab() {
// NONMATCHING
}
/* 809BB284-809BB2E0 000E44 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
dCcD_GStts::~dCcD_GStts() {
// NONMATCHING
}
/* 809BB2E0-809BB31C 000EA0 003C+00 2/2 0/0 0/0 .text __dt__4cXyzFv */
cXyz::~cXyz() {
// NONMATCHING
}
/* 809BB31C-809BB38C 000EDC 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */
dBgS_AcchCir::~dBgS_AcchCir() {
// NONMATCHING
}
/* 809BB38C-809BB3FC 000F4C 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
dBgS_ObjAcch::~dBgS_ObjAcch() {
// NONMATCHING
}