mirror of https://github.com/zeldaret/tp.git
359 lines
11 KiB
C++
359 lines
11 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: JPAEmitterManager
|
|
//
|
|
|
|
#include "JSystem/JParticle/JPAEmitterManager.h"
|
|
#include "dol2asm.h"
|
|
#include "dolphin/types.h"
|
|
|
|
//
|
|
// Types:
|
|
//
|
|
|
|
struct JSUPtrLink {
|
|
/* 802DBDFC */ JSUPtrLink(void*);
|
|
/* 802DBE14 */ ~JSUPtrLink();
|
|
};
|
|
|
|
struct JSUPtrList {
|
|
/* 802DBEAC */ ~JSUPtrList();
|
|
/* 802DBF14 */ void initiate();
|
|
/* 802DBF4C */ void append(JSUPtrLink*);
|
|
/* 802DBFF0 */ void prepend(JSUPtrLink*);
|
|
/* 802DC15C */ void remove(JSUPtrLink*);
|
|
};
|
|
|
|
template <typename A0>
|
|
struct JSUList {};
|
|
/* JSUList<JPABaseEmitter> */
|
|
struct JSUList__template1 {
|
|
/* 8027E51C */ void func_8027E51C(void* _this);
|
|
/* 8027E598 */ void func_8027E598(void* _this);
|
|
};
|
|
|
|
struct JPAResourceManager {
|
|
/* 80273E68 */ void getResource(u16) const;
|
|
};
|
|
|
|
struct JPAEmitterWorkData {};
|
|
|
|
struct JGeometry {
|
|
template <typename A1>
|
|
struct TVec3 {};
|
|
/* TVec3<f32> */
|
|
struct TVec3__template0 {};
|
|
};
|
|
|
|
struct JPAParticleCallBack {};
|
|
|
|
struct JPADrawInfo {};
|
|
|
|
struct JPAEmitterCallBack {};
|
|
|
|
struct JKRHeap {};
|
|
|
|
struct JPABaseEmitter;
|
|
struct JPAEmitterManager {
|
|
/* 8027DCA0 */ JPAEmitterManager(u32, u32, JKRHeap*, u8, u8);
|
|
/* 8027DEBC */ void createSimpleEmitterID(JGeometry::TVec3<f32> const&, u16, u8, u8,
|
|
JPAEmitterCallBack*, JPAParticleCallBack*);
|
|
/* 8027DFA0 */ void calc(u8);
|
|
/* 8027E028 */ void draw(JPADrawInfo const*, u8);
|
|
/* 8027E220 */ void forceDeleteAllEmitter();
|
|
/* 8027E278 */ void forceDeleteGroupEmitter(u8);
|
|
/* 8027E2D8 */ void forceDeleteEmitter(JPABaseEmitter*);
|
|
/* 8027E344 */ void entryResourceManager(JPAResourceManager*, u8);
|
|
/* 8027E354 */ void clearResourceManager(u8);
|
|
/* 8027E3F4 */ void calcYBBCam();
|
|
};
|
|
|
|
struct JPAResource;
|
|
struct JPABaseEmitter {
|
|
/* 8027E5EC */ ~JPABaseEmitter();
|
|
/* 8027E64C */ JPABaseEmitter();
|
|
/* 8027E6EC */ void init(JPAEmitterManager*, JPAResource*);
|
|
/* 8027EC60 */ void deleteAllParticle();
|
|
};
|
|
|
|
struct JPAResource {
|
|
/* 802755E8 */ void calc(JPAEmitterWorkData*, JPABaseEmitter*);
|
|
/* 80275A94 */ void draw(JPAEmitterWorkData*, JPABaseEmitter*);
|
|
};
|
|
|
|
template <typename A0>
|
|
struct JPANode {};
|
|
/* JPANode<JPABaseParticle> */
|
|
struct JPANode__template0 {
|
|
/* 8027E54C */ void func_8027E54C(void* _this);
|
|
/* 8027E588 */ void func_8027E588(void* _this);
|
|
};
|
|
|
|
//
|
|
// Forward References:
|
|
//
|
|
|
|
extern "C" void __ct__17JPAEmitterManagerFUlUlP7JKRHeapUcUc();
|
|
extern "C" void func_8027DEBC();
|
|
extern "C" void calc__17JPAEmitterManagerFUc();
|
|
extern "C" void draw__17JPAEmitterManagerFPC11JPADrawInfoUc();
|
|
extern "C" void forceDeleteAllEmitter__17JPAEmitterManagerFv();
|
|
extern "C" void forceDeleteGroupEmitter__17JPAEmitterManagerFUc();
|
|
extern "C" void forceDeleteEmitter__17JPAEmitterManagerFP14JPABaseEmitter();
|
|
extern "C" void entryResourceManager__17JPAEmitterManagerFP18JPAResourceManagerUc();
|
|
extern "C" void clearResourceManager__17JPAEmitterManagerFUc();
|
|
extern "C" void calcYBBCam__17JPAEmitterManagerFv();
|
|
extern "C" void func_8027E51C(void* _this);
|
|
extern "C" void func_8027E54C(void* _this);
|
|
extern "C" void func_8027E588(void* _this);
|
|
extern "C" void func_8027E598(void* _this);
|
|
extern "C" void __dt__14JPABaseEmitterFv();
|
|
extern "C" void __ct__14JPABaseEmitterFv();
|
|
|
|
//
|
|
// External References:
|
|
//
|
|
|
|
extern "C" void getResource__18JPAResourceManagerCFUs();
|
|
extern "C" void calc__11JPAResourceFP18JPAEmitterWorkDataP14JPABaseEmitter();
|
|
extern "C" void draw__11JPAResourceFP18JPAEmitterWorkDataP14JPABaseEmitter();
|
|
extern "C" void init__14JPABaseEmitterFP17JPAEmitterManagerP11JPAResource();
|
|
extern "C" void deleteAllParticle__14JPABaseEmitterFv();
|
|
extern "C" void* __nw__FUlP7JKRHeapi();
|
|
extern "C" void* __nwa__FUlP7JKRHeapi();
|
|
extern "C" void __dl__FPv();
|
|
extern "C" void __ct__10JSUPtrLinkFPv();
|
|
extern "C" void __dt__10JSUPtrLinkFv();
|
|
extern "C" void __dt__10JSUPtrListFv();
|
|
extern "C" void initiate__10JSUPtrListFv();
|
|
extern "C" void append__10JSUPtrListFP10JSUPtrLink();
|
|
extern "C" void prepend__10JSUPtrListFP10JSUPtrLink();
|
|
extern "C" void remove__10JSUPtrListFP10JSUPtrLink();
|
|
extern "C" void PSMTXCopy();
|
|
extern "C" void GXSetVtxDesc();
|
|
extern "C" void GXClearVtxDesc();
|
|
extern "C" void GXSetVtxAttrFmt();
|
|
extern "C" void GXEnableTexOffsets();
|
|
extern "C" void GXSetCullMode();
|
|
extern "C" void GXSetCoPlanar();
|
|
extern "C" void GXSetNumChans();
|
|
extern "C" void GXSetChanCtrl();
|
|
extern "C" void GXSetTevColorOp();
|
|
extern "C" void GXSetTevAlphaOp();
|
|
extern "C" void GXSetCurrentMtx();
|
|
extern "C" void __construct_new_array();
|
|
extern "C" void _savegpr_24();
|
|
extern "C" void _savegpr_26();
|
|
extern "C" void _savegpr_27();
|
|
extern "C" void _savegpr_29();
|
|
extern "C" void _restgpr_24();
|
|
extern "C" void _restgpr_26();
|
|
extern "C" void _restgpr_27();
|
|
extern "C" void _restgpr_29();
|
|
extern "C" extern u32 __float_epsilon;
|
|
|
|
//
|
|
// Declarations:
|
|
//
|
|
|
|
/* 8027DCA0-8027DEBC 2785E0 021C+00 0/0 1/1 0/0 .text __ct__17JPAEmitterManagerFUlUlP7JKRHeapUcUc
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm JPAEmitterManager::JPAEmitterManager(u32 param_0, u32 param_1, JKRHeap* param_2, u8 param_3,
|
|
u8 param_4) {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/__ct__17JPAEmitterManagerFUlUlP7JKRHeapUcUc.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8027DEBC-8027DFA0 2787FC 00E4+00 0/0 3/3 0/0 .text
|
|
* createSimpleEmitterID__17JPAEmitterManagerFRCQ29JGeometry8TVec3<f>UsUcUcP18JPAEmitterCallBackP19JPAParticleCallBack
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JPAEmitterManager::createSimpleEmitterID(JGeometry::TVec3<f32> const& param_0, u16 param_1,
|
|
u8 param_2, u8 param_3,
|
|
JPAEmitterCallBack* param_4,
|
|
JPAParticleCallBack* param_5) {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/func_8027DEBC.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8027DFA0-8027E028 2788E0 0088+00 0/0 3/3 0/0 .text calc__17JPAEmitterManagerFUc */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JPAEmitterManager::calc(u8 param_0) {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/calc__17JPAEmitterManagerFUc.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8027E028-8027E220 278968 01F8+00 0/0 1/1 0/0 .text draw__17JPAEmitterManagerFPC11JPADrawInfoUc
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JPAEmitterManager::draw(JPADrawInfo const* param_0, u8 param_1) {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/draw__17JPAEmitterManagerFPC11JPADrawInfoUc.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8027E220-8027E278 278B60 0058+00 0/0 1/1 0/0 .text forceDeleteAllEmitter__17JPAEmitterManagerFv
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JPAEmitterManager::forceDeleteAllEmitter() {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/forceDeleteAllEmitter__17JPAEmitterManagerFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8027E278-8027E2D8 278BB8 0060+00 1/1 0/0 0/0 .text
|
|
* forceDeleteGroupEmitter__17JPAEmitterManagerFUc */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JPAEmitterManager::forceDeleteGroupEmitter(u8 param_0) {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/forceDeleteGroupEmitter__17JPAEmitterManagerFUc.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8027E2D8-8027E344 278C18 006C+00 3/3 1/1 0/0 .text
|
|
* forceDeleteEmitter__17JPAEmitterManagerFP14JPABaseEmitter */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JPAEmitterManager::forceDeleteEmitter(JPABaseEmitter* param_0) {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/forceDeleteEmitter__17JPAEmitterManagerFP14JPABaseEmitter.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8027E344-8027E354 278C84 0010+00 0/0 2/2 0/0 .text
|
|
* entryResourceManager__17JPAEmitterManagerFP18JPAResourceManagerUc */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JPAEmitterManager::entryResourceManager(JPAResourceManager* param_0, u8 param_1) {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/entryResourceManager__17JPAEmitterManagerFP18JPAResourceManagerUc.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8027E354-8027E3F4 278C94 00A0+00 0/0 1/1 0/0 .text clearResourceManager__17JPAEmitterManagerFUc
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JPAEmitterManager::clearResourceManager(u8 param_0) {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/clearResourceManager__17JPAEmitterManagerFUc.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 80455358-8045535C 003958 0004+00 1/1 0/0 0/0 .sdata2 @2632 */
|
|
SECTION_SDATA2 static u8 lit_2632[4] = {
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
};
|
|
|
|
/* 8045535C-80455360 00395C 0004+00 1/1 0/0 0/0 .sdata2 @2633 */
|
|
SECTION_SDATA2 static f32 lit_2633 = 32.0f;
|
|
|
|
/* 80455360-80455364 003960 0004+00 1/1 0/0 0/0 .sdata2 @2634 */
|
|
SECTION_SDATA2 static f32 lit_2634 = 0.5f;
|
|
|
|
/* 80455364-80455368 003964 0004+00 1/1 0/0 0/0 .sdata2 @2635 */
|
|
SECTION_SDATA2 static f32 lit_2635 = 3.0f;
|
|
|
|
/* 80455368-80455370 003968 0004+04 1/1 0/0 0/0 .sdata2 @2636 */
|
|
SECTION_SDATA2 static f32 lit_2636[1 + 1 /* padding */] = {
|
|
1.0f,
|
|
/* padding */
|
|
0.0f,
|
|
};
|
|
|
|
/* 8027E3F4-8027E51C 278D34 0128+00 1/1 0/0 0/0 .text calcYBBCam__17JPAEmitterManagerFv
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JPAEmitterManager::calcYBBCam() {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/calcYBBCam__17JPAEmitterManagerFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8027E51C-8027E54C 278E5C 0030+00 1/1 0/0 0/0 .text __ct__25JSUList<14JPABaseEmitter>Fv
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
extern "C" asm void func_8027E51C(void* _this) {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/func_8027E51C.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8027E54C-8027E588 278E8C 003C+00 1/1 0/0 0/0 .text __dt__26JPANode<15JPABaseParticle>Fv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
extern "C" asm void func_8027E54C(void* _this) {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/func_8027E54C.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8027E588-8027E598 278EC8 0010+00 1/1 0/0 0/0 .text __ct__26JPANode<15JPABaseParticle>Fv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
extern "C" asm void func_8027E588(void* _this) {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/func_8027E588.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8027E598-8027E5EC 278ED8 0054+00 1/1 0/0 0/0 .text __dt__25JSUList<14JPABaseEmitter>Fv
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
extern "C" asm void func_8027E598(void* _this) {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/func_8027E598.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8027E5EC-8027E64C 278F2C 0060+00 1/1 0/0 0/0 .text __dt__14JPABaseEmitterFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm JPABaseEmitter::~JPABaseEmitter() {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/__dt__14JPABaseEmitterFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8027E64C-8027E6A4 278F8C 0058+00 1/1 0/0 0/0 .text __ct__14JPABaseEmitterFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm JPABaseEmitter::JPABaseEmitter() {
|
|
nofralloc
|
|
#include "asm/JSystem/JParticle/JPAEmitterManager/__ct__14JPABaseEmitterFv.s"
|
|
}
|
|
#pragma pop
|