// // Generated By: dol2asm // Translation Unit: JPADynamicsBlock // #include "dol2asm.h" #include "dolphin/types.h" #include "JSystem/JParticle/JPADynamicsBlock.h" // // Types: // struct JPAEmitterWorkData { }; struct JPADynamicsBlock { /* 8027BB18 */ // False False // u8 const* False // u8 const False // u8 False JPADynamicsBlock(u8 const*); /* 8027BB4C */ // True False void init(); /* 8027BBE8 */ // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void create(JPAEmitterWorkData*); }; struct JPABaseEmitter { /* 8027EA40 */ // False False void createParticle(); }; // // Forward References: // // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False static void JPAVolumePoint(JPAEmitterWorkData*); // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False static void JPAVolumeLine(JPAEmitterWorkData*); // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False static void JPAVolumeCircle(JPAEmitterWorkData*); // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False static void JPAVolumeCube(JPAEmitterWorkData*); // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False static void JPAVolumeSphere(JPAEmitterWorkData*); // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False static void JPAVolumeCylinder(JPAEmitterWorkData*); // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False static void JPAVolumeTorus(JPAEmitterWorkData*); // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" static void JPAVolumePoint__FP18JPAEmitterWorkData(); // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" static void JPAVolumeLine__FP18JPAEmitterWorkData(); // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" static void JPAVolumeCircle__FP18JPAEmitterWorkData(); // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" static void JPAVolumeCube__FP18JPAEmitterWorkData(); // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" static void JPAVolumeSphere__FP18JPAEmitterWorkData(); // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" static void JPAVolumeCylinder__FP18JPAEmitterWorkData(); // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" static void JPAVolumeTorus__FP18JPAEmitterWorkData(); // False False // u8 const* False // u8 const False // u8 False extern "C" void __ct__16JPADynamicsBlockFPCUc(); // True False extern "C" void init__16JPADynamicsBlockFv(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void create__16JPADynamicsBlockFP18JPAEmitterWorkData(); // // External References: // // False False extern "C" void createParticle__14JPABaseEmitterFv(); extern "C" extern u8 sincosTable___5JMath[65536]; // // Declarations: // /* ############################################################################################## */ /* 80455310-80455314 0004+00 s=7 e=0 z=0 None .sdata2 @2287 */ SECTION_SDATA2 static u8 lit_2287[4] = { 0x00, 0x00, 0x00, 0x00, }; /* 80455314-80455318 0004+00 s=7 e=0 z=0 None .sdata2 @2288 */ SECTION_SDATA2 static f32 lit_2288 = 1.0f; /* 80455318-80455320 0004+04 s=3 e=0 z=0 None .sdata2 @2289 */ SECTION_SDATA2 static f32 lit_2289[1 + 1 /* padding */] = { 0.5f, /* padding */ 0.0f, }; /* 8027B144-8027B220 00DC+00 s=1 e=0 z=0 None .text JPAVolumePoint__FP18JPAEmitterWorkData */ // 8027B148: 80455310 (lit_2287) // 8027B188: 80455314 (lit_2288) // 8027B190: 80455318 (lit_2289) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm static void JPAVolumePoint(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPADynamicsBlock/JPAVolumePoint__FP18JPAEmitterWorkData.s" } #pragma pop /* ############################################################################################## */ /* 80455320-80455328 0008+00 s=6 e=0 z=0 None .sdata2 @2321 */ SECTION_SDATA2 static f64 lit_2321 = 4503601774854144.0 /* cast s32 to float */; /* 8027B220-8027B33C 011C+00 s=1 e=0 z=0 None .text JPAVolumeLine__FP18JPAEmitterWorkData */ // 8027B248: 80455320 (lit_2321) // 8027B27C: 80455314 (lit_2288) // 8027B288: 80455318 (lit_2289) // 8027B294: 80455310 (lit_2287) // 8027B2E0: 80455314 (lit_2288) // 8027B2E8: 80455318 (lit_2289) // 8027B2F8: 80455310 (lit_2287) // 8027B314: 80455310 (lit_2287) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm static void JPAVolumeLine(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPADynamicsBlock/JPAVolumeLine__FP18JPAEmitterWorkData.s" } #pragma pop /* 8027B33C-8027B4E8 01AC+00 s=1 e=0 z=0 None .text JPAVolumeCircle__FP18JPAEmitterWorkData */ // 8027B370: 80455320 (lit_2321) // 8027B3D4: 80455320 (lit_2321) // 8027B430: 80455314 (lit_2288) // 8027B468: 80455314 (lit_2288) // 8027B47C: 80439A20 (sincosTable___5JMath) // 8027B480: 80439A20 (sincosTable___5JMath) // 8027B4A0: 80455310 (lit_2287) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm static void JPAVolumeCircle(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPADynamicsBlock/JPAVolumeCircle__FP18JPAEmitterWorkData.s" } #pragma pop /* 8027B4E8-8027B5F0 0108+00 s=1 e=0 z=0 None .text JPAVolumeCube__FP18JPAEmitterWorkData */ // 8027B51C: 80455314 (lit_2288) // 8027B524: 80455318 (lit_2289) // 8027B5DC: 80455310 (lit_2287) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm static void JPAVolumeCube(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPADynamicsBlock/JPAVolumeCube__FP18JPAEmitterWorkData.s" } #pragma pop /* ############################################################################################## */ /* 80455328-80455330 0004+04 s=1 e=0 z=0 None .sdata2 @2501 */ SECTION_SDATA2 static f32 lit_2501[1 + 1 /* padding */] = { 32768.0f, /* padding */ 0.0f, }; /* 80455330-80455338 0008+00 s=1 e=0 z=0 None .sdata2 @2503 */ SECTION_SDATA2 static f64 lit_2503 = 4503599627370496.0 /* cast u32 to float */; /* 8027B5F0-8027B87C 028C+00 s=1 e=0 z=0 None .text JPAVolumeSphere__FP18JPAEmitterWorkData */ // 8027B630: 80455328 (lit_2501) // 8027B64C: 80455330 (lit_2503) // 8027B74C: 80455320 (lit_2321) // 8027B7A8: 80455314 (lit_2288) // 8027B7E4: 80455314 (lit_2288) // 8027B7F8: 80439A20 (sincosTable___5JMath) // 8027B7FC: 80439A20 (sincosTable___5JMath) // 8027B868: 80455310 (lit_2287) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm static void JPAVolumeSphere(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPADynamicsBlock/JPAVolumeSphere__FP18JPAEmitterWorkData.s" } #pragma pop /* 8027B87C-8027B9F8 017C+00 s=1 e=0 z=0 None .text JPAVolumeCylinder__FP18JPAEmitterWorkData */ // 8027B8AC: 80455320 (lit_2321) // 8027B900: 80455314 (lit_2288) // 8027B938: 80455314 (lit_2288) // 8027B94C: 80439A20 (sincosTable___5JMath) // 8027B950: 80439A20 (sincosTable___5JMath) // 8027B9E4: 80455310 (lit_2287) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm static void JPAVolumeCylinder(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPADynamicsBlock/JPAVolumeCylinder__FP18JPAEmitterWorkData.s" } #pragma pop /* 8027B9F8-8027BB18 0120+00 s=1 e=0 z=0 None .text JPAVolumeTorus__FP18JPAEmitterWorkData */ // 8027BA28: 80455320 (lit_2321) // 8027BA78: 80439A20 (sincosTable___5JMath) // 8027BA7C: 80439A20 (sincosTable___5JMath) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm static void JPAVolumeTorus(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPADynamicsBlock/JPAVolumeTorus__FP18JPAEmitterWorkData.s" } #pragma pop /* 8027BB18-8027BB4C 0034+00 s=0 e=1 z=0 None .text __ct__16JPADynamicsBlockFPCUc */ // 8027BB30: 8027BB4C (init__16JPADynamicsBlockFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u8 const* False // u8 const False // u8 False asm JPADynamicsBlock::JPADynamicsBlock(u8 const* param_0) { nofralloc #include "asm/JSystem/JParticle/JPADynamicsBlock/__ct__16JPADynamicsBlockFPCUc.s" } #pragma pop /* ############################################################################################## */ /* 803C4488-803C44A8 001C+04 s=1 e=0 z=0 None .data @2631 */ SECTION_DATA static void* lit_2631[7 + 1 /* padding */] = { (void*)(((char*)init__16JPADynamicsBlockFv)+0x2C), (void*)(((char*)init__16JPADynamicsBlockFv)+0x3C), (void*)(((char*)init__16JPADynamicsBlockFv)+0x4C), (void*)(((char*)init__16JPADynamicsBlockFv)+0x5C), (void*)(((char*)init__16JPADynamicsBlockFv)+0x6C), (void*)(((char*)init__16JPADynamicsBlockFv)+0x7C), (void*)(((char*)init__16JPADynamicsBlockFv)+0x8C), /* padding */ NULL, }; /* 8027BB4C-8027BBE8 009C+00 s=2 e=0 z=0 None .text init__16JPADynamicsBlockFv */ // 8027BB60: 803C4488 (lit_2631) // 8027BB64: 803C4488 (lit_2631) // 8027BB78: 8027B4E8 (JPAVolumeCube__FP18JPAEmitterWorkData) // 8027BB7C: 8027B4E8 (JPAVolumeCube__FP18JPAEmitterWorkData) // 8027BB88: 8027B5F0 (JPAVolumeSphere__FP18JPAEmitterWorkData) // 8027BB8C: 8027B5F0 (JPAVolumeSphere__FP18JPAEmitterWorkData) // 8027BB98: 8027B87C (JPAVolumeCylinder__FP18JPAEmitterWorkData) // 8027BB9C: 8027B87C (JPAVolumeCylinder__FP18JPAEmitterWorkData) // 8027BBA8: 8027B9F8 (JPAVolumeTorus__FP18JPAEmitterWorkData) // 8027BBAC: 8027B9F8 (JPAVolumeTorus__FP18JPAEmitterWorkData) // 8027BBB8: 8027B144 (JPAVolumePoint__FP18JPAEmitterWorkData) // 8027BBBC: 8027B144 (JPAVolumePoint__FP18JPAEmitterWorkData) // 8027BBC8: 8027B33C (JPAVolumeCircle__FP18JPAEmitterWorkData) // 8027BBCC: 8027B33C (JPAVolumeCircle__FP18JPAEmitterWorkData) // 8027BBD8: 8027B220 (JPAVolumeLine__FP18JPAEmitterWorkData) // 8027BBDC: 8027B220 (JPAVolumeLine__FP18JPAEmitterWorkData) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JPADynamicsBlock::init() { nofralloc #include "asm/JSystem/JParticle/JPADynamicsBlock/init__16JPADynamicsBlockFv.s" } #pragma pop /* 8027BBE8-8027BDEC 0204+00 s=0 e=1 z=0 None .text create__16JPADynamicsBlockFP18JPAEmitterWorkData */ // 8027BC90: 80455314 (lit_2288) // 8027BCDC: 80455320 (lit_2321) // 8027BD10: 80455310 (lit_2287) // 8027BD4C: 8027EA40 (createParticle__14JPABaseEmitterFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPADynamicsBlock::create(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPADynamicsBlock/create__16JPADynamicsBlockFP18JPAEmitterWorkData.s" } #pragma pop