Files
tp/src/d/d_ky_thunder.cpp
T

836 lines
26 KiB
C++
Raw Normal View History

2021-03-31 23:22:32 +02:00
//
2021-03-28 22:49:05 +02:00
// Generated By: dol2asm
// Translation Unit: d/d_ky_thunder
2021-03-31 23:22:32 +02:00
//
2021-03-28 22:49:05 +02:00
#include "dol2asm.h"
#include "dolphin/types.h"
2021-03-31 23:22:32 +02:00
#include "d/d_ky_thunder.h"
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
//
2021-03-28 22:49:05 +02:00
// Types:
2021-03-31 23:22:32 +02:00
//
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
struct J3DAnmTevRegKey {
};
2021-03-28 22:49:05 +02:00
struct J3DMaterialTable {
2021-03-31 23:22:32 +02:00
/* 8032F880 */ // False False
// J3DAnmTevRegKey* False
// J3DAnmTevRegKey False
void removeTevRegAnimator(J3DAnmTevRegKey*);
2021-03-28 22:49:05 +02:00
};
struct mDoExt_brkAnm {
2021-03-31 23:22:32 +02:00
/* 8000D70C */ // False False
// J3DMaterialTable* False
// J3DMaterialTable False
// J3DAnmTevRegKey* False
// J3DAnmTevRegKey False
// int False
// int False
// f32 False
// s16 False
// s16 False
void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
/* 8000D7A8 */ // False False
// J3DMaterialTable* False
// J3DMaterialTable False
// f32 False
void entry(J3DMaterialTable*, f32);
2021-03-28 22:49:05 +02:00
};
struct mDoExt_baseAnm {
2021-03-31 23:22:32 +02:00
/* 8000D428 */ // False False
void play();
2021-03-28 22:49:05 +02:00
};
2021-03-31 23:22:32 +02:00
struct kankyo_class {
};
2021-03-28 22:49:05 +02:00
struct dThunder_c {
2021-03-31 23:22:32 +02:00
/* 801ADF58 */ // True False
void createHeap();
/* 801ADFB4 */ // True False
void adjustHeap();
/* 801AE458 */ // True False
void create();
2021-03-28 22:49:05 +02:00
};
2021-03-31 23:22:32 +02:00
struct dRes_info_c {
};
2021-03-28 22:49:05 +02:00
struct dRes_control_c {
2021-03-31 23:22:32 +02:00
/* 8003C2EC */ // False False
// char const* False
// char const False
// char False
// s32 False
// dRes_info_c* False
// dRes_info_c False
// int False
void getRes(char const*, s32, dRes_info_c*, int);
2021-03-28 22:49:05 +02:00
};
struct cXyz {
2021-03-31 23:22:32 +02:00
/* 80009184 */ // False False
~cXyz();
2021-03-28 22:49:05 +02:00
};
2021-03-31 23:22:32 +02:00
struct Vec {
};
2021-03-28 22:49:05 +02:00
struct Z2EnvSeMgr {
2021-03-31 23:22:32 +02:00
/* 802C7E68 */ // False False
// Vec* False
// Vec False
// s8 False
void startFarThunderSe(Vec*, s8);
2021-03-28 22:49:05 +02:00
};
2021-03-31 23:22:32 +02:00
struct JKRSolidHeap {
};
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
struct J3DModelData {
};
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
struct J3DModel {
};
2021-03-28 22:49:05 +02:00
struct J3DFrameCtrl {
2021-03-31 23:22:32 +02:00
/* 803283FC */ // False False
// s16 False
void init(s16);
2021-03-28 22:49:05 +02:00
};
2021-03-31 23:22:32 +02:00
//
2021-03-28 22:49:05 +02:00
// Forward References:
2021-03-31 23:22:32 +02:00
//
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
// True False
// dThunder_c* False
// dThunder_c False
2021-03-28 22:49:05 +02:00
static void dThunder_Draw(dThunder_c*);
2021-03-31 23:22:32 +02:00
// True False
// dThunder_c* False
// dThunder_c False
2021-03-28 22:49:05 +02:00
static void dThunder_Execute(dThunder_c*);
2021-03-31 23:22:32 +02:00
// True False
// bool False
// dThunder_c* False
// dThunder_c False
2021-03-28 22:49:05 +02:00
static bool dThunder_IsDelete(dThunder_c*);
2021-03-31 23:22:32 +02:00
// True False
// dThunder_c* False
// dThunder_c False
2021-03-28 22:49:05 +02:00
static void dThunder_Delete(dThunder_c*);
2021-03-31 23:22:32 +02:00
// True False
// kankyo_class* False
// kankyo_class False
2021-03-28 22:49:05 +02:00
static void dThunder_Create(kankyo_class*);
2021-03-31 23:22:32 +02:00
// True False
2021-03-28 22:49:05 +02:00
extern "C" void createHeap__10dThunder_cFv();
2021-03-31 23:22:32 +02:00
// True False
2021-03-28 22:49:05 +02:00
extern "C" void adjustHeap__10dThunder_cFv();
2021-03-31 23:22:32 +02:00
// True False
// dThunder_c* False
// dThunder_c False
2021-03-28 22:49:05 +02:00
extern "C" static void dThunder_Draw__FP10dThunder_c();
2021-03-31 23:22:32 +02:00
// True False
// dThunder_c* False
// dThunder_c False
2021-03-28 22:49:05 +02:00
extern "C" static void dThunder_Execute__FP10dThunder_c();
2021-03-31 23:22:32 +02:00
// True False
// bool False
// dThunder_c* False
// dThunder_c False
2021-03-28 22:49:05 +02:00
extern "C" static bool dThunder_IsDelete__FP10dThunder_c();
2021-03-31 23:22:32 +02:00
// True False
// dThunder_c* False
// dThunder_c False
2021-03-28 22:49:05 +02:00
extern "C" static void dThunder_Delete__FP10dThunder_c();
2021-03-31 23:22:32 +02:00
// True False
// kankyo_class* False
// kankyo_class False
2021-03-28 22:49:05 +02:00
extern "C" static void dThunder_Create__FP12kankyo_class();
2021-03-31 23:22:32 +02:00
// True False
2021-03-28 22:49:05 +02:00
extern "C" void create__10dThunder_cFv();
extern "C" extern char const* const d_d_ky_thunder__stringBase0;
extern "C" extern void* g_profile_KY_THUNDER[10 + 1 /* padding */];
2021-03-31 23:22:32 +02:00
//
2021-03-28 22:49:05 +02:00
// External References:
2021-03-31 23:22:32 +02:00
//
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
// False False
// f32 (* )[4] False
// f32 False
// * False
// False
// s16 False
void mDoMtx_XrotM(f32 (* )[4], s16);
// False False
// f32 (* )[4] False
// f32 False
// * False
// False
// s16 False
void mDoMtx_YrotM(f32 (* )[4], s16);
// False False
// f32 (* )[4] False
// f32 False
// * False
// False
// s16 False
void mDoMtx_ZrotM(f32 (* )[4], s16);
// False False
// J3DModel* False
// J3DModel False
2021-03-28 22:49:05 +02:00
void mDoExt_modelUpdateDL(J3DModel*);
2021-03-31 23:22:32 +02:00
// False False
// u32 False
// u32 False
2021-03-28 22:49:05 +02:00
void mDoExt_createSolidHeapFromGameToCurrent(u32, u32);
2021-03-31 23:22:32 +02:00
// False False
// JKRSolidHeap* False
// JKRSolidHeap False
2021-03-28 22:49:05 +02:00
void mDoExt_adjustSolidHeap(JKRSolidHeap*);
2021-03-31 23:22:32 +02:00
// False False
// JKRSolidHeap* False
// JKRSolidHeap False
2021-03-28 22:49:05 +02:00
void mDoExt_destroySolidHeap(JKRSolidHeap*);
2021-03-31 23:22:32 +02:00
// False False
2021-03-28 22:49:05 +02:00
void mDoExt_restoreCurrentHeap();
2021-03-31 23:22:32 +02:00
// False False
// J3DModelData* False
// J3DModelData False
// u32 False
// u32 False
2021-03-28 22:49:05 +02:00
void mDoExt_J3DModel__create(J3DModelData*, u32, u32);
2021-03-31 23:22:32 +02:00
// False False
// void* False
// void False
2021-03-28 22:49:05 +02:00
void fopKyM_Delete(void*);
2021-03-31 23:22:32 +02:00
// False False
// cXyz* False
// cXyz False
// cXyz* False
// cXyz False
// cXyz* False
// cXyz False
2021-03-28 22:49:05 +02:00
void dKyr_get_vectle_calc(cXyz*, cXyz*, cXyz*);
2021-03-31 23:22:32 +02:00
// False False
// f32 False
// f32 False
2021-03-28 22:49:05 +02:00
void cM_atan2s(f32, f32);
2021-03-31 23:22:32 +02:00
// False False
// f32 False
2021-03-28 22:49:05 +02:00
void cM_rndF(f32);
2021-03-31 23:22:32 +02:00
// False False
// f32 False
2021-03-28 22:49:05 +02:00
void cM_rndFX(f32);
2021-03-31 23:22:32 +02:00
// False False
// f32* False
// f32 False
// f32 False
// f32 False
// f32 False
// f32 False
2021-03-28 22:49:05 +02:00
void cLib_addCalc(f32*, f32, f32, f32, f32);
2021-03-31 23:22:32 +02:00
// False False
// Vec const* False
// Vec const False
// Vec False
// Vec const* False
// Vec const False
// Vec False
2021-03-28 22:49:05 +02:00
void cLib_targetAngleY(Vec const*, Vec const*);
2021-03-31 23:22:32 +02:00
// False False
2021-03-28 22:49:05 +02:00
extern "C" void __dt__4cXyzFv();
2021-03-31 23:22:32 +02:00
// False False
// f32 (* )[4] False
// f32 False
// * False
// False
// s16 False
2021-03-28 22:49:05 +02:00
extern "C" void mDoMtx_XrotM__FPA4_fs();
2021-03-31 23:22:32 +02:00
// False False
// f32 (* )[4] False
// f32 False
// * False
// False
// s16 False
2021-03-28 22:49:05 +02:00
extern "C" void mDoMtx_YrotM__FPA4_fs();
2021-03-31 23:22:32 +02:00
// False False
// f32 (* )[4] False
// f32 False
// * False
// False
// s16 False
2021-03-28 22:49:05 +02:00
extern "C" void mDoMtx_ZrotM__FPA4_fs();
2021-03-31 23:22:32 +02:00
// False False
2021-03-28 22:49:05 +02:00
extern "C" void play__14mDoExt_baseAnmFv();
2021-03-31 23:22:32 +02:00
// False False
// J3DMaterialTable* False
// J3DMaterialTable False
// J3DAnmTevRegKey* False
// J3DAnmTevRegKey False
// int False
// int False
// f32 False
// s16 False
// s16 False
2021-03-28 22:49:05 +02:00
extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss();
2021-03-31 23:22:32 +02:00
// False False
// J3DMaterialTable* False
// J3DMaterialTable False
// f32 False
2021-03-28 22:49:05 +02:00
extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef();
2021-03-31 23:22:32 +02:00
// False False
// J3DModel* False
// J3DModel False
2021-03-28 22:49:05 +02:00
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
2021-03-31 23:22:32 +02:00
// False False
// u32 False
// u32 False
2021-03-28 22:49:05 +02:00
extern "C" void mDoExt_createSolidHeapFromGameToCurrent__FUlUl();
2021-03-31 23:22:32 +02:00
// False False
// JKRSolidHeap* False
// JKRSolidHeap False
2021-03-28 22:49:05 +02:00
extern "C" void mDoExt_adjustSolidHeap__FP12JKRSolidHeap();
2021-03-31 23:22:32 +02:00
// False False
// JKRSolidHeap* False
// JKRSolidHeap False
2021-03-28 22:49:05 +02:00
extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap();
2021-03-31 23:22:32 +02:00
// False False
2021-03-28 22:49:05 +02:00
extern "C" void mDoExt_restoreCurrentHeap__Fv();
2021-03-31 23:22:32 +02:00
// False False
// J3DModelData* False
// J3DModelData False
// u32 False
// u32 False
2021-03-28 22:49:05 +02:00
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
2021-03-31 23:22:32 +02:00
// False False
// void* False
// void False
2021-03-28 22:49:05 +02:00
extern "C" void fopKyM_Delete__FPv();
2021-03-31 23:22:32 +02:00
// False False
// char const* False
// char const False
// char False
// s32 False
// dRes_info_c* False
// dRes_info_c False
// int False
2021-03-28 22:49:05 +02:00
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
2021-03-31 23:22:32 +02:00
// False False
// cXyz* False
// cXyz False
// cXyz* False
// cXyz False
// cXyz* False
// cXyz False
2021-03-28 22:49:05 +02:00
extern "C" void dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz();
2021-03-31 23:22:32 +02:00
// False False
// f32 False
// f32 False
2021-03-28 22:49:05 +02:00
extern "C" void cM_atan2s__Fff();
2021-03-31 23:22:32 +02:00
// False False
// f32 False
2021-03-28 22:49:05 +02:00
extern "C" void cM_rndF__Ff();
2021-03-31 23:22:32 +02:00
// False False
// f32 False
2021-03-28 22:49:05 +02:00
extern "C" void cM_rndFX__Ff();
2021-03-31 23:22:32 +02:00
// False False
// f32* False
// f32 False
// f32 False
// f32 False
// f32 False
// f32 False
2021-03-28 22:49:05 +02:00
extern "C" void cLib_addCalc__FPfffff();
2021-03-31 23:22:32 +02:00
// False False
// Vec const* False
// Vec const False
// Vec False
// Vec const* False
// Vec const False
// Vec False
2021-03-28 22:49:05 +02:00
extern "C" void cLib_targetAngleY__FPC3VecPC3Vec();
2021-03-31 23:22:32 +02:00
// False False
// Vec* False
// Vec False
// s8 False
2021-03-28 22:49:05 +02:00
extern "C" void startFarThunderSe__10Z2EnvSeMgrFP3VecSc();
2021-03-31 23:22:32 +02:00
// False False
// s16 False
2021-03-28 22:49:05 +02:00
extern "C" void init__12J3DFrameCtrlFs();
2021-03-31 23:22:32 +02:00
// False False
// J3DAnmTevRegKey* False
// J3DAnmTevRegKey False
2021-03-28 22:49:05 +02:00
extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
2021-03-31 23:22:32 +02:00
// False False
2021-03-28 22:49:05 +02:00
extern "C" void DCStoreRangeNoSync();
2021-03-31 23:22:32 +02:00
// False False
2021-03-28 22:49:05 +02:00
extern "C" void PSMTXCopy();
2021-03-31 23:22:32 +02:00
// False False
2021-03-28 22:49:05 +02:00
extern "C" void PSMTXTrans();
2021-03-31 23:22:32 +02:00
// False False
2021-03-28 22:49:05 +02:00
extern "C" void __register_global_object();
2021-03-31 23:22:32 +02:00
// False False
2021-03-28 22:49:05 +02:00
extern "C" void _savegpr_27();
2021-03-31 23:22:32 +02:00
// False False
2021-03-28 22:49:05 +02:00
extern "C" void _restgpr_27();
2021-03-31 23:22:32 +02:00
// False False
2021-03-28 22:49:05 +02:00
extern "C" void strcmp();
extern "C" extern void* __vt__12J3DFrameCtrl[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 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 g_mEnvSeMgr[780];
extern "C" extern u8 g_Counter[12 + 4 /* padding */];
extern "C" extern u8 j3dSys[284];
extern "C" extern u8 sincosTable___5JMath[65536];
extern "C" extern u8 struct_80450D64[4];
extern "C" extern u8 struct_80451070[8];
2021-03-31 23:22:32 +02:00
//
2021-03-28 22:49:05 +02:00
// Declarations:
2021-03-31 23:22:32 +02:00
//
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 801ADF58-801ADFB4 005C+00 s=1 e=0 z=0 None .text createHeap__10dThunder_cFv */
// 801ADF80: 8000F044 (mDoExt_createSolidHeapFromGameToCurrent__FUlUl)
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
2021-03-31 23:22:32 +02:00
// True False
2021-03-28 22:49:05 +02:00
asm void dThunder_c::createHeap() {
2021-03-31 23:22:32 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/d/d_ky_thunder/createHeap__10dThunder_cFv.s"
}
#pragma pop
2021-03-31 23:22:32 +02:00
/* 801ADFB4-801AE000 004C+00 s=1 e=0 z=0 None .text adjustHeap__10dThunder_cFv */
// 801ADFC8: 8000F1F4 (mDoExt_restoreCurrentHeap__Fv)
// 801ADFD0: 8000F08C (mDoExt_adjustSolidHeap__FP12JKRSolidHeap)
// 801ADFE8: 8033B638 (DCStoreRangeNoSync)
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
2021-03-31 23:22:32 +02:00
// True False
2021-03-28 22:49:05 +02:00
asm void dThunder_c::adjustHeap() {
2021-03-31 23:22:32 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/d/d_ky_thunder/adjustHeap__10dThunder_cFv.s"
}
#pragma pop
2021-03-31 23:22:32 +02:00
2021-03-28 22:49:05 +02:00
/* ############################################################################################## */
2021-03-31 23:22:32 +02:00
/* 8042E7F0-8042E7FC 000C+00 s=1 e=0 z=0 None .bss @3816 */
2021-03-28 22:49:05 +02:00
static u8 lit_3816[12];
2021-03-31 23:22:32 +02:00
/* 8042E7FC-8042E808 000C+00 s=1 e=0 z=0 None .bss @3818 */
2021-03-28 22:49:05 +02:00
static u8 lit_3818[12];
2021-03-31 23:22:32 +02:00
/* 8042E808-8042E814 000C+00 s=1 e=0 z=0 None .bss l_offsetPos$localstatic3$draw__10dThunder_cFv */
2021-03-28 22:49:05 +02:00
static u8 data_8042E808[12];
2021-03-31 23:22:32 +02:00
/* 8042E814-8042E820 000C+00 s=1 e=0 z=0 None .bss l_scale$localstatic5$draw__10dThunder_cFv */
2021-03-28 22:49:05 +02:00
static u8 data_8042E814[12];
2021-03-31 23:22:32 +02:00
/* 80453E70-80453E74 0004+00 s=2 e=0 z=0 None .sdata2 @3882 */
2021-03-28 22:49:05 +02:00
SECTION_SDATA2 static u8 lit_3882[4] = {
2021-03-31 23:22:32 +02:00
0x00, 0x00, 0x00, 0x00,
2021-03-28 22:49:05 +02:00
};
2021-03-31 23:22:32 +02:00
/* 80453E74-80453E78 0004+00 s=1 e=0 z=0 None .sdata2 @3883 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_3883 = 40.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453E78-80453E7C 0004+00 s=1 e=0 z=0 None .sdata2 @3884 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_3884 = -250.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453E7C-80453E80 0004+00 s=3 e=0 z=0 None .sdata2 @3885 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_3885 = 1.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 801AE000-801AE19C 019C+00 s=1 e=0 z=0 None .text dThunder_Draw__FP10dThunder_c */
// 801AE014: 80451070 (struct_80451070)
// 801AE020: 80453E70 (lit_3882)
// 801AE024: 8042E808 (data_8042E808)
// 801AE028: 8042E808 (data_8042E808)
// 801AE02C: 80453E74 (lit_3883)
// 801AE034: 80453E78 (lit_3884)
// 801AE03C: 80009184 (__dt__4cXyzFv)
// 801AE040: 80009184 (__dt__4cXyzFv)
// 801AE044: 8042E7F0 (lit_3816)
// 801AE048: 8042E7F0 (lit_3816)
// 801AE04C: 80361C24 (__register_global_object)
// 801AE054: 80451070 (struct_80451070)
// 801AE058: 80451071 (struct_80451070)
// 801AE064: 80453E7C (lit_3885)
// 801AE068: 8042E814 (data_8042E814)
// 801AE06C: 8042E814 (data_8042E814)
// 801AE078: 80009184 (__dt__4cXyzFv)
// 801AE07C: 80009184 (__dt__4cXyzFv)
// 801AE080: 8042E7FC (lit_3818)
// 801AE084: 8042E7FC (lit_3818)
// 801AE088: 80361C24 (__register_global_object)
// 801AE090: 80451071 (struct_80451070)
// 801AE094: 803DD470 (now__14mDoMtx_stack_c)
// 801AE098: 803DD470 (now__14mDoMtx_stack_c)
// 801AE0A8: 803468E8 (PSMTXTrans)
// 801AE0AC: 803DD470 (now__14mDoMtx_stack_c)
// 801AE0B0: 803DD470 (now__14mDoMtx_stack_c)
// 801AE0B8: 8000C434 (mDoMtx_YrotM__FPA4_fs)
// 801AE0BC: 803DD470 (now__14mDoMtx_stack_c)
// 801AE0C0: 803DD470 (now__14mDoMtx_stack_c)
// 801AE0D4: 8000C4CC (mDoMtx_ZrotM__FPA4_fs)
// 801AE0D8: 803DD470 (now__14mDoMtx_stack_c)
// 801AE0DC: 803DD470 (now__14mDoMtx_stack_c)
// 801AE0F0: 8000C39C (mDoMtx_XrotM__FPA4_fs)
// 801AE0F4: 803DD470 (now__14mDoMtx_stack_c)
// 801AE0F8: 803DD470 (now__14mDoMtx_stack_c)
// 801AE100: 803464B0 (PSMTXCopy)
// 801AE12C: 803464B0 (PSMTXCopy)
// 801AE144: 8000D7A8 (entry__13mDoExt_brkAnmFP16J3DMaterialTablef)
// 801AE148: 804061C0 (g_dComIfG_gameInfo)
// 801AE14C: 804061C0 (g_dComIfG_gameInfo)
// 801AE154: 80434AC8 (j3dSys)
// 801AE158: 80434AC8 (j3dSys)
// 801AE16C: 8000DCC4 (mDoExt_modelUpdateDL__FP8J3DModel)
// 801AE180: 8032F880 (removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey)
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
2021-03-31 23:22:32 +02:00
// True False
// dThunder_c* False
// dThunder_c False
2021-03-28 22:49:05 +02:00
asm static void dThunder_Draw(dThunder_c* param_0) {
2021-03-31 23:22:32 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/d/d_ky_thunder/dThunder_Draw__FP10dThunder_c.s"
}
#pragma pop
2021-03-31 23:22:32 +02:00
2021-03-28 22:49:05 +02:00
/* ############################################################################################## */
2021-03-31 23:22:32 +02:00
/* 80453E80-80453E84 0004+00 s=2 e=0 z=0 None .sdata2 @3923 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_3923 = 1.0f / 10.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453E84-80453E88 0004+00 s=1 e=0 z=0 None .sdata2 @3924 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_3924 = 1.0f / 20.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453E88-80453E8C 0004+00 s=1 e=0 z=0 None .sdata2 @3925 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_3925 = 0.017000000923871994f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453E8C-80453E90 0004+00 s=1 e=0 z=0 None .sdata2 @3926 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_3926 = 9.999999747378752e-06f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453E90-80453E94 0004+00 s=1 e=0 z=0 None .sdata2 @3927 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_3927 = 60.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453E94-80453E98 0004+00 s=1 e=0 z=0 None .sdata2 @3928 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_3928 = 1.0f / 100.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453E98-80453E9C 0004+00 s=1 e=0 z=0 None .sdata2 @3929 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_3929 = 1.0f / 50.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 801AE19C-801AE374 01D8+00 s=1 e=0 z=0 None .text dThunder_Execute__FP10dThunder_c */
// 801AE1B4: 8042CA54 (g_env_light)
// 801AE1B8: 8042CA54 (g_env_light)
// 801AE1CC: 80453E80 (lit_3923)
// 801AE1D0: 80453E84 (lit_3924)
// 801AE1D4: 80453E88 (lit_3925)
// 801AE1D8: 80453E8C (lit_3926)
// 801AE1DC: 8026F97C (cLib_addCalc__FPfffff)
// 801AE1EC: 8000D428 (play__14mDoExt_baseAnmFv)
// 801AE1F8: 8042DD70 (g_mEnvSeMgr)
// 801AE1FC: 8042DD70 (g_mEnvSeMgr)
// 801AE208: 802C7E68 (startFarThunderSe__10Z2EnvSeMgrFP3VecSc)
// 801AE210: 8001F748 (fopKyM_Delete__FPv)
// 801AE214: 804061C0 (g_dComIfG_gameInfo)
// 801AE218: 804061C0 (g_dComIfG_gameInfo)
// 801AE22C: 80453E90 (lit_3927)
// 801AE234: 80453E7C (lit_3885)
// 801AE254: 80453E7C (lit_3885)
// 801AE274: 80439A20 (sincosTable___5JMath)
// 801AE278: 80439A20 (sincosTable___5JMath)
// 801AE284: 80453E94 (lit_3928)
// 801AE2E8: 80439A20 (sincosTable___5JMath)
// 801AE2EC: 80439A20 (sincosTable___5JMath)
// 801AE2F8: 80453E98 (lit_3929)
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
2021-03-31 23:22:32 +02:00
// True False
// dThunder_c* False
// dThunder_c False
2021-03-28 22:49:05 +02:00
asm static void dThunder_Execute(dThunder_c* param_0) {
2021-03-31 23:22:32 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/d/d_ky_thunder/dThunder_Execute__FP10dThunder_c.s"
}
#pragma pop
2021-03-31 23:22:32 +02:00
/* 801AE374-801AE37C 0008+00 s=1 e=0 z=0 None .text dThunder_IsDelete__FP10dThunder_c */
// True False
// bool False
// dThunder_c* False
// dThunder_c False
2021-03-28 22:49:05 +02:00
static bool dThunder_IsDelete(dThunder_c* param_0) {
2021-03-31 23:22:32 +02:00
return true;
2021-03-28 22:49:05 +02:00
}
2021-03-31 23:22:32 +02:00
/* 801AE37C-801AE3FC 0080+00 s=1 e=0 z=0 None .text dThunder_Delete__FP10dThunder_c */
// 801AE398: 8000F18C (mDoExt_destroySolidHeap__FP12JKRSolidHeap)
// 801AE3B8: 803A3354 (__vt__12J3DFrameCtrl)
// 801AE3BC: 803A3354 (__vt__12J3DFrameCtrl)
// 801AE3D8: 803A3354 (__vt__12J3DFrameCtrl)
// 801AE3DC: 803A3354 (__vt__12J3DFrameCtrl)
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
2021-03-31 23:22:32 +02:00
// True False
// dThunder_c* False
// dThunder_c False
2021-03-28 22:49:05 +02:00
asm static void dThunder_Delete(dThunder_c* param_0) {
2021-03-31 23:22:32 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/d/d_ky_thunder/dThunder_Delete__FP10dThunder_c.s"
}
#pragma pop
2021-03-31 23:22:32 +02:00
/* 801AE3FC-801AE458 005C+00 s=1 e=0 z=0 None .text dThunder_Create__FP12kankyo_class */
// 801AE414: 801ADF58 (createHeap__10dThunder_cFv)
// 801AE42C: 801AE458 (create__10dThunder_cFv)
// 801AE438: 801ADFB4 (adjustHeap__10dThunder_cFv)
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
2021-03-31 23:22:32 +02:00
// True False
// kankyo_class* False
// kankyo_class False
2021-03-28 22:49:05 +02:00
asm static void dThunder_Create(kankyo_class* param_0) {
2021-03-31 23:22:32 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/d/d_ky_thunder/dThunder_Create__FP12kankyo_class.s"
}
#pragma pop
2021-03-31 23:22:32 +02:00
2021-03-28 22:49:05 +02:00
/* ############################################################################################## */
2021-03-31 23:22:32 +02:00
/* 80394F40-80394F50 000E+02 s=1 e=0 z=0 None .rodata @stringBase0 */
2021-03-28 22:49:05 +02:00
#pragma push
#pragma force_active on
#pragma section ".dead"
SECTION_DEAD char const* const stringBase_80394F40 = "Always";
SECTION_DEAD char const* const stringBase_80394F47 = "R_SP30";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_80394F4E = "\0";
#pragma pop
2021-03-31 23:22:32 +02:00
/* 80453E9C-80453EA0 0004+00 s=1 e=0 z=0 None .sdata2 @4079 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4079 = 0.5f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EA0-80453EA4 0004+00 s=1 e=0 z=0 None .sdata2 @4080 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4080 = 0.25f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EA4-80453EA8 0004+00 s=1 e=0 z=0 None .sdata2 @4081 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4081 = 14.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EA8-80453EAC 0004+00 s=1 e=0 z=0 None .sdata2 @4082 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4082 = 20.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EAC-80453EB0 0004+00 s=1 e=0 z=0 None .sdata2 @4083 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4083 = 60000.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EB0-80453EB4 0004+00 s=1 e=0 z=0 None .sdata2 @4084 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4084 = -5000.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EB4-80453EB8 0004+00 s=1 e=0 z=0 None .sdata2 @4085 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4085 = 2000.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EB8-80453EBC 0004+00 s=1 e=0 z=0 None .sdata2 @4086 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4086 = 24.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EBC-80453EC0 0004+00 s=1 e=0 z=0 None .sdata2 @4087 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4087 = 2500.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EC0-80453EC4 0004+00 s=1 e=0 z=0 None .sdata2 @4088 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4088 = 6000.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EC4-80453EC8 0004+00 s=1 e=0 z=0 None .sdata2 @4089 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4089 = 3.0f / 20.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EC8-80453ED0 0004+04 s=1 e=0 z=0 None .sdata2 @4090 */
2021-03-28 22:49:05 +02:00
SECTION_SDATA2 static f32 lit_4090[1 + 1 /* padding */] = {
2021-03-31 23:22:32 +02:00
1.0f / 5.0f,
/* padding */
0.0f,
2021-03-28 22:49:05 +02:00
};
2021-03-31 23:22:32 +02:00
/* 80453ED0-80453ED8 0008+00 s=1 e=0 z=0 None .sdata2 @4091 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f64 lit_4091 = 0.5;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453ED8-80453EDC 0004+00 s=1 e=0 z=0 None .sdata2 @4092 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4092 = -1.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EDC-80453EE0 0004+00 s=1 e=0 z=0 None .sdata2 @4093 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4093 = 100000.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EE0-80453EE4 0004+00 s=1 e=0 z=0 None .sdata2 @4094 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4094 = 19635.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EE4-80453EE8 0004+00 s=1 e=0 z=0 None .sdata2 @4095 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4095 = 260.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EE8-80453EEC 0004+00 s=1 e=0 z=0 None .sdata2 @4096 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4096 = 4592.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EEC-80453EF0 0004+00 s=1 e=0 z=0 None .sdata2 @4097 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4097 = 1507.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EF0-80453EF4 0004+00 s=1 e=0 z=0 None .sdata2 @4098 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4098 = 100.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 80453EF4-80453EF8 0004+00 s=1 e=0 z=0 None .sdata2 @4099 */
2021-03-30 01:58:08 +02:00
SECTION_SDATA2 static f32 lit_4099 = 3.0f / 10.0f;
2021-03-28 22:49:05 +02:00
2021-03-31 23:22:32 +02:00
/* 801AE458-801AE938 04E0+00 s=1 e=0 z=0 None .text create__10dThunder_cFv */
// 801AE490: 803621D4 (_savegpr_27)
// 801AE498: 8042CA54 (g_env_light)
// 801AE49C: 8042CA54 (g_env_light)
// 801AE4A0: 804061C0 (g_dComIfG_gameInfo)
// 801AE4A4: 804061C0 (g_dComIfG_gameInfo)
// 801AE4B8: 803A3354 (__vt__12J3DFrameCtrl)
// 801AE4BC: 803A3354 (__vt__12J3DFrameCtrl)
// 801AE4CC: 803283FC (init__12J3DFrameCtrlFs)
// 801AE4DC: 803A3354 (__vt__12J3DFrameCtrl)
// 801AE4E0: 803A3354 (__vt__12J3DFrameCtrl)
// 801AE4F0: 803283FC (init__12J3DFrameCtrlFs)
// 801AE4FC: 80453E7C (lit_3885)
// 801AE500: 80267954 (cM_rndF__Ff)
// 801AE504: 80453E9C (lit_4079)
// 801AE510: 80394F40 (d_d_ky_thunder__stringBase0)
// 801AE514: 80394F40 (d_d_ky_thunder__stringBase0)
// 801AE51C: 804061C0 (g_dComIfG_gameInfo)
// 801AE520: 804061C0 (g_dComIfG_gameInfo)
// 801AE530: 8003C2EC (getRes__14dRes_control_cFPCclP11dRes_info_ci)
// 801AE53C: 80394F40 (d_d_ky_thunder__stringBase0)
// 801AE540: 80394F40 (d_d_ky_thunder__stringBase0)
// 801AE548: 804061C0 (g_dComIfG_gameInfo)
// 801AE54C: 804061C0 (g_dComIfG_gameInfo)
// 801AE55C: 8003C2EC (getRes__14dRes_control_cFPCclP11dRes_info_ci)
// 801AE570: 80014C54 (mDoExt_J3DModel__create__FP12J3DModelDataUlUl)
// 801AE58C: 80394F40 (d_d_ky_thunder__stringBase0)
// 801AE590: 80394F40 (d_d_ky_thunder__stringBase0)
// 801AE598: 804061C0 (g_dComIfG_gameInfo)
// 801AE59C: 804061C0 (g_dComIfG_gameInfo)
// 801AE5AC: 8003C2EC (getRes__14dRes_control_cFPCclP11dRes_info_ci)
// 801AE5C4: 80453E7C (lit_3885)
// 801AE5D0: 8000D70C (init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss)
// 801AE5E4: 80453E7C (lit_3885)
// 801AE608: 80453EA0 (lit_4080)
// 801AE614: 80270C04 (cLib_targetAngleY__FPC3VecPC3Vec)
// 801AE61C: 80430CD8 (g_Counter)
// 801AE620: 80430CD8 (g_Counter)
// 801AE638: 80453EA4 (lit_4081)
// 801AE63C: 80453EA8 (lit_4082)
// 801AE648: 80453EAC (lit_4083)
// 801AE650: 80453EB0 (lit_4084)
// 801AE658: 80453E70 (lit_3882)
// 801AE660: 80453EB4 (lit_4085)
// 801AE678: 80453EB8 (lit_4086)
// 801AE67C: 80453EBC (lit_4087)
// 801AE684: 80453EC0 (lit_4088)
// 801AE68C: 804061C0 (g_dComIfG_gameInfo)
// 801AE690: 804061C0 (g_dComIfG_gameInfo)
// 801AE69C: 80394F40 (d_d_ky_thunder__stringBase0)
// 801AE6A0: 80394F40 (d_d_ky_thunder__stringBase0)
// 801AE6A8: 80368994 (strcmp)
// 801AE6B4: 80450D64 (struct_80450D64)
// 801AE6C0: 80453E80 (lit_3923)
// 801AE6C4: 80453EA0 (lit_4080)
// 801AE6C8: 80453EC4 (lit_4089)
// 801AE6CC: 80453EC8 (lit_4090)
// 801AE6D4: 8026798C (cM_rndFX__Ff)
// 801AE6E4: 80267954 (cM_rndF__Ff)
// 801AE6F4: 80453E7C (lit_3885)
// 801AE6F8: 8026798C (cM_rndFX__Ff)
// 801AE6FC: 80453ED0 (lit_4091)
// 801AE710: 80453ED8 (lit_4092)
// 801AE720: 80267954 (cM_rndF__Ff)
// 801AE730: 80453E7C (lit_3885)
// 801AE744: 8005B760 (dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz)
// 801AE75C: 80453E70 (lit_3882)
// 801AE770: 80267674 (cM_atan2s__Fff)
// 801AE780: 80267674 (cM_atan2s__Fff)
// 801AE788: 80453E7C (lit_3885)
// 801AE78C: 8026798C (cM_rndFX__Ff)
// 801AE790: 80453E70 (lit_3882)
// 801AE7B0: 80439A20 (sincosTable___5JMath)
// 801AE7B4: 80439A20 (sincosTable___5JMath)
// 801AE7E4: 80267954 (cM_rndF__Ff)
// 801AE7F0: 80453EDC (lit_4093)
// 801AE814: 80267954 (cM_rndF__Ff)
// 801AE818: 80453EB4 (lit_4085)
// 801AE830: 80453EDC (lit_4093)
// 801AE854: 80394F40 (d_d_ky_thunder__stringBase0)
// 801AE858: 80394F40 (d_d_ky_thunder__stringBase0)
// 801AE860: 80368994 (strcmp)
// 801AE86C: 80450D64 (struct_80450D64)
// 801AE878: 80453EE4 (lit_4095)
// 801AE87C: 8026798C (cM_rndFX__Ff)
// 801AE880: 80453EE0 (lit_4094)
// 801AE88C: 80453EE8 (lit_4096)
// 801AE894: 80453EF0 (lit_4098)
// 801AE898: 8026798C (cM_rndFX__Ff)
// 801AE89C: 80453EEC (lit_4097)
// 801AE8A8: 80453E7C (lit_3885)
// 801AE8AC: 80267954 (cM_rndF__Ff)
// 801AE8B0: 80453EF4 (lit_4099)
// 801AE8E0: 8042DD70 (g_mEnvSeMgr)
// 801AE8E4: 8042DD70 (g_mEnvSeMgr)
// 801AE8F0: 802C7E68 (startFarThunderSe__10Z2EnvSeMgrFP3VecSc)
// 801AE924: 80362220 (_restgpr_27)
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
2021-03-31 23:22:32 +02:00
// True False
2021-03-28 22:49:05 +02:00
asm void dThunder_c::create() {
2021-03-31 23:22:32 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/d/d_ky_thunder/create__10dThunder_cFv.s"
}
#pragma pop
2021-03-31 23:22:32 +02:00
2021-03-28 22:49:05 +02:00
/* ############################################################################################## */
2021-03-31 23:22:32 +02:00
/* 803BC1D8-803BC1EC 0014+00 s=1 e=0 z=0 None .data l_dThunder_Method */
2021-03-28 22:49:05 +02:00
SECTION_DATA static void* l_dThunder_Method[5] = {
2021-03-31 23:22:32 +02:00
(void*)dThunder_Create__FP12kankyo_class,
(void*)dThunder_Delete__FP10dThunder_c,
(void*)dThunder_Execute__FP10dThunder_c,
(void*)dThunder_IsDelete__FP10dThunder_c,
(void*)dThunder_Draw__FP10dThunder_c,
2021-03-28 22:49:05 +02:00
};
2021-03-31 23:22:32 +02:00
/* 803BC1EC-803BC218 0028+04 s=0 e=0 z=1 None .data g_profile_KY_THUNDER */
2021-03-28 22:49:05 +02:00
SECTION_DATA void* g_profile_KY_THUNDER[10 + 1 /* padding */] = {
2021-03-31 23:22:32 +02:00
(void*)0xFFFFFFFD,
(void*)0x0007FFFD,
(void*)0x02D90000,
(void*)&g_fpcLf_Method,
(void*)0x00000170,
(void*)NULL,
(void*)NULL,
(void*)&g_fopKy_Method,
(void*)0x00060000,
(void*)&l_dThunder_Method,
/* padding */
NULL,
2021-03-28 22:49:05 +02:00
};
2021-03-31 23:22:32 +02:00