Files
tp/src/d/d_k_wmark.cpp
T
2021-04-01 02:07:58 +02:00

416 lines
14 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: d/d_k_wmark
//
#include "d/d_k_wmark.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct kankyo_class {};
struct cXyz {
/* 80009184 */ ~cXyz();
/* 80267128 */ void atan2sX_Z() const;
};
struct fopAcM_gc_c {
/* 8001DCBC */ void gndCheck(cXyz const*);
};
struct dkWmark_c {
/* 80261640 */ ~dkWmark_c();
/* 802616C4 */ void setMatrix();
};
struct dKy_tevstr_c {};
struct J3DModelData {};
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 cBgS_PolyInfo {};
struct dBgS {
/* 80074ABC */ void ChkMoveBG(cBgS_PolyInfo const&);
};
struct cM3dGPla {};
struct cBgS {
/* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const;
};
struct Vec {};
struct JKRSolidHeap {};
struct J3DUClipper {
/* 802738FC */ void clip(f32 const (*)[4], Vec, f32) const;
};
struct J3DModel {};
struct J3DLightObj {
/* 80018C0C */ J3DLightObj();
};
struct J3DLightInfo {
/* 803256C4 */ void operator=(J3DLightInfo const&);
};
//
// Forward References:
//
static void dkWmark_Create(kankyo_class*);
static void dkWmark_Delete(dkWmark_c*);
static void dkWmark_Execute(dkWmark_c*);
static void dkWmark_Draw(dkWmark_c*);
extern "C" static void dkWmark_Create__FP12kankyo_class();
extern "C" void __dt__9dkWmark_cFv();
extern "C" static void dkWmark_Delete__FP9dkWmark_c();
extern "C" void setMatrix__9dkWmark_cFv();
extern "C" static void dkWmark_Execute__FP9dkWmark_c();
extern "C" static void dkWmark_Draw__FP9dkWmark_c();
extern "C" extern char const* const d_d_k_wmark__stringBase0;
extern "C" extern void* g_profile_WMARK[10 + 1 /* padding */];
//
// External References:
//
void mDoMtx_ZXYrotM(f32 (*)[4], s16, s16, s16);
void mDoExt_modelUpdateDL(J3DModel*);
void mDoExt_createSolidHeapFromGameToCurrent(u32, u32);
void mDoExt_adjustSolidHeap(JKRSolidHeap*);
void mDoExt_destroySolidHeap(JKRSolidHeap*);
void mDoExt_restoreCurrentHeap();
void mDoExt_J3DModel__create(J3DModelData*, u32, u32);
void fopKyM_Delete(void*);
void dKy_tevstr_init(dKy_tevstr_c*, s8, u8);
void cM_atan2s(f32, f32);
void operator delete(void*);
extern "C" void __dt__4cXyzFv();
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_createSolidHeapFromGameToCurrent__FUlUl();
extern "C" void mDoExt_adjustSolidHeap__FP12JKRSolidHeap();
extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap();
extern "C" void mDoExt_restoreCurrentHeap__Fv();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void __ct__11J3DLightObjFv();
extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz();
extern "C" void fopKyM_Delete__FPv();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla();
extern "C" void ChkMoveBG__4dBgSFRC13cBgS_PolyInfo();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void dKy_tevstr_init__FP12dKy_tevstr_cScUc();
extern "C" void atan2sX_Z__4cXyzCFv();
extern "C" void cM_atan2s__Fff();
extern "C" void clip__11J3DUClipperCFPA4_Cf3Vecf();
extern "C" void __dl__FPv();
extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo();
extern "C" void PSMTXCopy();
extern "C" void PSMTXTrans();
extern "C" void PSVECSquareMag();
extern "C" void __register_global_object();
extern "C" void __construct_array();
extern "C" void _savegpr_26();
extern "C" void _restgpr_26();
extern "C" void abs();
extern "C" extern u8 const j3dDefaultLightInfo[52];
extern "C" extern void* __vt__8cM3dGPla[3];
extern "C" extern void* g_fopKy_Method[5 + 1 /* padding */];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 mClipper__14mDoLib_clipper[92];
extern "C" extern u8 mGndCheck__11fopAcM_gc_c[84];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 j3dSys[284];
extern "C" extern u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_nan;
extern "C" extern f32 mGroundY__11fopAcM_gc_c;
extern "C" extern u8 struct_80450D64[4];
//
// Declarations:
//
/* ############################################################################################## */
/* 8039A488-8039A494 000C+00 s=1 e=0 z=0 None .rodata kColor$localstatic3$draw__9dkWmark_cFv */
SECTION_RODATA static u8 const data_8039A488[12] = {
0x00, 0x00, 0x00, 0x82, 0x5F, 0x4B, 0x32, 0x3C, 0x64, 0x6E, 0x78, 0x28,
};
/* 8039A494-8039A4A0 0006+06 s=1 e=0 z=0 None .rodata @stringBase0 */
#pragma push
#pragma force_active on
#pragma section ".dead"
SECTION_DEAD char const* const stringBase_8039A494 = "Alink";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_8039A49A = "\0\0\0\0\0";
#pragma pop
/* 80430C90-80430C9C 000C+00 s=1 e=0 z=0 None .bss @3644 */
static u8 lit_3644[12];
/* 80430C9C-80430CA8 000C+00 s=1 e=0 z=0 None .bss
* wolfFootScale$localstatic3$create__9dkWmark_cFv */
static f32 data_80430C9C[3];
/* 80451130-80451134 0004+00 s=2 e=0 z=0 None .sbss m_nowID__9dkWmark_c */
static u8 m_nowID__9dkWmark_c[4];
/* 80451134-80451138 0004+00 s=1 e=0 z=0 None .sbss None */
static u8 data_80451134[4];
/* 80454FB0-80454FB4 0004+00 s=1 e=0 z=0 None .sdata2 @3718 */
SECTION_SDATA2 static f32 lit_3718 = 11.0f / 10.0f;
/* 80454FB4-80454FB8 0004+00 s=2 e=0 z=0 None .sdata2 @3719 */
SECTION_SDATA2 static f32 lit_3719 = 1.0f;
/* 80454FB8-80454FBC 0004+00 s=1 e=0 z=0 None .sdata2 @3720 */
SECTION_SDATA2 static f32 lit_3720 = 3.0f / 5.0f;
/* 8026141C-80261640 0224+00 s=1 e=0 z=0 None .text dkWmark_Create__FP12kankyo_class */
// 80261434: 80451134 (data_80451134)
// 80261440: 80454FB0 (lit_3718)
// 80261444: 80430C9C (data_80430C9C)
// 80261448: 80430C9C (data_80430C9C)
// 8026144C: 80454FB4 (lit_3719)
// 80261454: 80454FB8 (lit_3720)
// 8026145C: 80009184 (__dt__4cXyzFv)
// 80261460: 80009184 (__dt__4cXyzFv)
// 80261464: 80430C90 (lit_3644)
// 80261468: 80430C90 (lit_3644)
// 8026146C: 80361C24 (__register_global_object)
// 80261474: 80451134 (data_80451134)
// 80261488: 803A1EC8 (j3dDefaultLightInfo)
// 8026148C: 803A1EC8 (j3dDefaultLightInfo)
// 80261490: 803256C4 (__as__12J3DLightInfoFRC12J3DLightInfo)
// 80261498: 80018C0C (__ct__11J3DLightObjFv)
// 8026149C: 80018C0C (__ct__11J3DLightObjFv)
// 802614AC: 80361D60 (__construct_array)
// 802614FC: 8000F044 (mDoExt_createSolidHeapFromGameToCurrent__FUlUl)
// 80261510: 8039A494 (d_d_k_wmark__stringBase0)
// 80261514: 8039A494 (d_d_k_wmark__stringBase0)
// 8026151C: 804061C0 (g_dComIfG_gameInfo)
// 80261520: 804061C0 (g_dComIfG_gameInfo)
// 80261530: 8003C2EC (getRes__14dRes_control_cFPCclP11dRes_info_ci)
// 80261540: 80014C54 (mDoExt_J3DModel__create__FP12J3DModelDataUlUl)
// 80261548: 8000F1F4 (mDoExt_restoreCurrentHeap__Fv)
// 80261550: 8000F08C (mDoExt_adjustSolidHeap__FP12JKRSolidHeap)
// 80261580: 804061C0 (g_dComIfG_gameInfo)
// 80261584: 804061C0 (g_dComIfG_gameInfo)
// 80261598: 80430C9C (data_80430C9C)
// 8026159C: 80430C9C (data_80430C9C)
// 802615B8: 802616C4 (setMatrix__9dkWmark_cFv)
// 802615E8: 80451130 (m_nowID__9dkWmark_c)
// 802615F0: 80451130 (m_nowID__9dkWmark_c)
// 802615F8: 80451130 (m_nowID__9dkWmark_c)
// 80261608: 80454FB4 (lit_3719)
// 80261614: 80450D64 (struct_80450D64)
// 80261620: 801A88EC (dKy_tevstr_init__FP12dKy_tevstr_cScUc)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm static void dkWmark_Create(kankyo_class* param_0) {
nofralloc
#include "asm/d/d_k_wmark/dkWmark_Create__FP12kankyo_class.s"
}
#pragma pop
/* 80261640-8026169C 005C+00 s=1 e=0 z=0 None .text __dt__9dkWmark_cFv */
// 8026166C: 8000F18C (mDoExt_destroySolidHeap__FP12JKRSolidHeap)
// 8026167C: 802CED3C (__dl__FPv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dkWmark_c::~dkWmark_c() {
nofralloc
#include "asm/d/d_k_wmark/__dt__9dkWmark_cFv.s"
}
#pragma pop
/* 8026169C-802616C4 0028+00 s=1 e=0 z=0 None .text dkWmark_Delete__FP9dkWmark_c */
// 802616AC: 80261640 (__dt__9dkWmark_cFv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm static void dkWmark_Delete(dkWmark_c* param_0) {
nofralloc
#include "asm/d/d_k_wmark/dkWmark_Delete__FP9dkWmark_c.s"
}
#pragma pop
/* ############################################################################################## */
/* 80454FBC-80454FC0 0004+00 s=1 e=0 z=0 None .sdata2 @3844 */
SECTION_SDATA2 static f32 lit_3844 = 100.0f;
/* 80454FC0-80454FC8 0004+04 s=2 e=0 z=0 None .sdata2 @3845 */
SECTION_SDATA2 static f32 lit_3845[1 + 1 /* padding */] = {
0.0f,
/* padding */
0.0f,
};
/* 80454FC8-80454FD0 0008+00 s=1 e=0 z=0 None .sdata2 @3846 */
SECTION_SDATA2 static f64 lit_3846 = 0.5;
/* 80454FD0-80454FD8 0008+00 s=1 e=0 z=0 None .sdata2 @3847 */
SECTION_SDATA2 static f64 lit_3847 = 3.0;
/* 80454FD8-80454FE0 0008+00 s=1 e=0 z=0 None .sdata2 @3848 */
SECTION_SDATA2 static u8 lit_3848[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 802616C4-80261964 02A0+00 s=2 e=0 z=0 None .text setMatrix__9dkWmark_cFv */
// 802616DC: 803621D0 (_savegpr_26)
// 802616E8: 80454FBC (lit_3844)
// 80261708: 8001DCBC (gndCheck__11fopAcM_gc_cFPC4cXyz)
// 80261714: 80450CD0 (mGroundY__11fopAcM_gc_c)
// 8026171C: 803A37C0 (__vt__8cM3dGPla)
// 80261720: 803A37C0 (__vt__8cM3dGPla)
// 80261728: 804061C0 (g_dComIfG_gameInfo)
// 8026172C: 804061C0 (g_dComIfG_gameInfo)
// 80261738: 803F1CC4 (mGndCheck__11fopAcM_gc_c)
// 8026173C: 803F1CC4 (mGndCheck__11fopAcM_gc_c)
// 8026174C: 80074744 (GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla)
// 80261754: 80267128 (atan2sX_Z__4cXyzCFv)
// 8026176C: 80454FC0 (lit_3845)
// 80261780: 80347138 (PSVECSquareMag)
// 80261784: 80454FC0 (lit_3845)
// 80261794: 80454FC8 (lit_3846)
// 8026179C: 80454FD0 (lit_3847)
// 802617E4: 80454FD8 (lit_3848)
// 802617F0: 80450AE0 (__float_nan)
// 802617F4: 80450AE0 (__float_nan)
// 80261860: 80450AE0 (__float_nan)
// 80261864: 80450AE0 (__float_nan)
// 80261870: 803DD470 (now__14mDoMtx_stack_c)
// 80261874: 803DD470 (now__14mDoMtx_stack_c)
// 8026187C: 80454FB4 (lit_3719)
// 8026188C: 803468E8 (PSMTXTrans)
// 80261894: 80439A20 (sincosTable___5JMath)
// 80261898: 80439A20 (sincosTable___5JMath)
// 802618AC: 80267674 (cM_atan2s__Fff)
// 802618B8: 80439A20 (sincosTable___5JMath)
// 802618BC: 80439A20 (sincosTable___5JMath)
// 802618D0: 80267674 (cM_atan2s__Fff)
// 802618D8: 803DD470 (now__14mDoMtx_stack_c)
// 802618DC: 803DD470 (now__14mDoMtx_stack_c)
// 802618E8: 8000C2A0 (mDoMtx_ZXYrotM__FPA4_fsss)
// 802618EC: 803DD470 (now__14mDoMtx_stack_c)
// 802618F0: 803DD470 (now__14mDoMtx_stack_c)
// 802618FC: 803464B0 (PSMTXCopy)
// 80261908: 80074ABC (ChkMoveBG__4dBgSFRC13cBgS_PolyInfo)
// 80261928: 803A37C0 (__vt__8cM3dGPla)
// 8026192C: 803A37C0 (__vt__8cM3dGPla)
// 80261950: 8036221C (_restgpr_26)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dkWmark_c::setMatrix() {
nofralloc
#include "asm/d/d_k_wmark/setMatrix__9dkWmark_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80454FE0-80454FE4 0004+00 s=1 e=0 z=0 None .sdata2 @3873 */
SECTION_SDATA2 static f32 lit_3873 = 1.0f / 50.0f;
/* 80261964-80261A18 00B4+00 s=1 e=0 z=0 None .text dkWmark_Execute__FP9dkWmark_c */
// 80261984: 80451130 (m_nowID__9dkWmark_c)
// 80261990: 803650D0 (abs)
// 802619B4: 80454FE0 (lit_3873)
// 802619C4: 80454FC0 (lit_3845)
// 802619E4: 802616C4 (setMatrix__9dkWmark_cFv)
// 802619F4: 8001F748 (fopKyM_Delete__FPv)
// 802619F8: 80454FC0 (lit_3845)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm static void dkWmark_Execute(dkWmark_c* param_0) {
nofralloc
#include "asm/d/d_k_wmark/dkWmark_Execute__FP9dkWmark_c.s"
}
#pragma pop
/* ############################################################################################## */
/* 80454FE4-80454FE8 0004+00 s=1 e=0 z=0 None .sdata2 @3906 */
SECTION_SDATA2 static f32 lit_3906 = 50.0f;
/* 80454FE8-80454FF0 0008+00 s=1 e=0 z=0 None .sdata2 @3908 */
SECTION_SDATA2 static f64 lit_3908 = 4503599627370496.0 /* cast u32 to float */;
/* 80261A18-80261B54 013C+00 s=1 e=0 z=0 None .text dkWmark_Draw__FP9dkWmark_c */
// 80261A2C: 80454FE4 (lit_3906)
// 80261A50: 803DD8E4 (mClipper__14mDoLib_clipper)
// 80261A54: 803DD8E4 (mClipper__14mDoLib_clipper)
// 80261A58: 80434AC8 (j3dSys)
// 80261A5C: 80434AC8 (j3dSys)
// 80261A64: 802738FC (clip__11J3DUClipperCFPA4_Cf3Vecf)
// 80261A78: 8042CA54 (g_env_light)
// 80261A7C: 8042CA54 (g_env_light)
// 80261A8C: 801A37C4 (settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c)
// 80261A90: 8042CA54 (g_env_light)
// 80261A94: 8042CA54 (g_env_light)
// 80261AA4: 801A4DA0
//(setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c) 80261AB0:
// 8039A488 (data_8039A488) 80261AB4: 8039A488 (data_8039A488) 80261AD8: 80454FE8 (lit_3908)
// 80261B38: 8000DCC4 (mDoExt_modelUpdateDL__FP8J3DModel)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm static void dkWmark_Draw(dkWmark_c* param_0) {
nofralloc
#include "asm/d/d_k_wmark/dkWmark_Draw__FP9dkWmark_c.s"
}
#pragma pop
/* ############################################################################################## */
/* 803C3430-803C3444 0014+00 s=1 e=0 z=0 None .data l_dkWmark_Method */
SECTION_DATA static void* l_dkWmark_Method[5] = {
(void*)dkWmark_Create__FP12kankyo_class, (void*)dkWmark_Delete__FP9dkWmark_c,
(void*)dkWmark_Execute__FP9dkWmark_c, (void*)NULL,
(void*)dkWmark_Draw__FP9dkWmark_c,
};
/* 803C3444-803C3470 0028+04 s=0 e=0 z=1 None .data g_profile_WMARK */
SECTION_DATA void* g_profile_WMARK[10 + 1 /* padding */] = {
(void*)0xFFFFFFFD,
(void*)0x0009FFFD,
(void*)0x03030000,
(void*)&g_fpcLf_Method,
(void*)0x00000498,
(void*)NULL,
(void*)NULL,
(void*)&g_fopKy_Method,
(void*)0x02F80000,
(void*)&l_dkWmark_Method,
/* padding */
NULL,
};