diff options
Diffstat (limited to 'libs/JSystem/JStudio/JStudio_JParticle/control.cpp')
| -rw-r--r-- | libs/JSystem/JStudio/JStudio_JParticle/control.cpp | 154 |
1 files changed, 43 insertions, 111 deletions
diff --git a/libs/JSystem/JStudio/JStudio_JParticle/control.cpp b/libs/JSystem/JStudio/JStudio_JParticle/control.cpp index 573cd248e8..c4d3abac07 100644 --- a/libs/JSystem/JStudio/JStudio_JParticle/control.cpp +++ b/libs/JSystem/JStudio/JStudio_JParticle/control.cpp @@ -1,136 +1,68 @@ // -// Generated By: dol2asm -// Translation Unit: control +// control // #include "JSystem/JStudio/JStudio_JParticle/control.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" void __dt__Q217JStudio_JParticle13TCreateObjectFv(); -extern "C" void -create__Q217JStudio_JParticle13TCreateObjectFPPQ27JStudio7TObjectRCQ47JStudio3stb4data20TParse_TBlock_object(); -extern "C" void emitter_create__Q217JStudio_JParticle13TCreateObjectFUl(); -extern "C" void emitter_destroy__Q217JStudio_JParticle13TCreateObjectFP14JPABaseEmitter(); -extern "C" void -createObject_JPA_PARTICLE___Q217JStudio_JParticle13TCreateObjectFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ217JStudio_JParticle13TCreateObject(); - -// -// External References: -// - -extern "C" void func_8027DEBC(); -extern "C" void forceDeleteEmitter__17JPAEmitterManagerFP14JPABaseEmitter(); -extern "C" void __dt__Q27JStudio13TCreateObjectFv(); -extern "C" void -__ct__Q27JStudio16TObject_particleFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio17TAdaptor_particle(); -extern "C" void -__ct__Q217JStudio_JParticle17TAdaptor_particleFPQ217JStudio_JParticle13TCreateObject(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803C5AD8-803C5AF0 022BF8 0018+00 1/1 1/1 0/0 .data __vt__Q217JStudio_JParticle13TCreateObject - */ -SECTION_DATA extern void* __vt__Q217JStudio_JParticle13TCreateObject[6] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__Q217JStudio_JParticle13TCreateObjectFv, - (void*) - create__Q217JStudio_JParticle13TCreateObjectFPPQ27JStudio7TObjectRCQ47JStudio3stb4data20TParse_TBlock_object, - (void*)emitter_create__Q217JStudio_JParticle13TCreateObjectFUl, - (void*)emitter_destroy__Q217JStudio_JParticle13TCreateObjectFP14JPABaseEmitter, -}; +#include "JSystem/JParticle/JPAEmitterManager.h" +#include "JSystem/JGadget/pointer.h" /* 8028E3A0-8028E400 288CE0 0060+00 1/0 1/1 0/0 .text __dt__Q217JStudio_JParticle13TCreateObjectFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JStudio_JParticle::TCreateObject::~TCreateObject() { - nofralloc -#include "asm/JSystem/JStudio/JStudio_JParticle/control/__dt__Q217JStudio_JParticle13TCreateObjectFv.s" -} -#pragma pop +JStudio_JParticle::TCreateObject::~TCreateObject() {} /* 8028E400-8028E474 288D40 0074+00 1/0 1/0 0/0 .text * create__Q217JStudio_JParticle13TCreateObjectFPPQ27JStudio7TObjectRCQ47JStudio3stb4data20TParse_TBlock_object */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool -JStudio_JParticle::TCreateObject::create(JStudio::TObject** param_0, - JStudio::stb::data::TParse_TBlock_object const& param_1) { - nofralloc -#include "asm/JSystem/JStudio/JStudio_JParticle/control/func_8028E400.s" +bool +JStudio_JParticle::TCreateObject::create(JStudio::TObject** ppObject, + JStudio::stb::data::TParse_TBlock_object const& param_2) { + JUT_ASSERT(40, ppObject!=0); + CreateFunc func; + switch (param_2.get_type()) { + case 'JPTC': + func = createObject_JPA_PARTICLE_; + break; + default: + return false; + } + *ppObject = func(param_2, this); + return true; } -#pragma pop - -/* ############################################################################################## */ -/* 8039ABA8-8039ABB8 027208 000C+04 1/1 0/0 0/0 .rodata @1172 */ -SECTION_RODATA static u8 const lit_1172[12 + 4 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8039ABA8, &lit_1172); /* 8028E474-8028E4E4 288DB4 0070+00 1/0 0/0 0/0 .text * emitter_create__Q217JStudio_JParticle13TCreateObjectFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JStudio_JParticle::TCreateObject::emitter_create(u32 param_0) { - nofralloc -#include "asm/JSystem/JStudio/JStudio_JParticle/control/emitter_create__Q217JStudio_JParticle13TCreateObjectFUl.s" +JPABaseEmitter* JStudio_JParticle::TCreateObject::emitter_create(u32 param_1) { + JGeometry::TVec3<f32> local_08; + Vec local_1c = {0.0f, 0.0f, 0.0f}; + local_08 = local_1c; + return pJPAEmitterManager_->createSimpleEmitterID( + local_08, param_1 & 0xffff, (param_1 >> 24) & 0xff, (param_1 >> 16) & 0xff, NULL, NULL); } -#pragma pop /* 8028E4E4-8028E508 288E24 0024+00 1/0 1/0 0/0 .text * emitter_destroy__Q217JStudio_JParticle13TCreateObjectFP14JPABaseEmitter */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JStudio_JParticle::TCreateObject::emitter_destroy(JPABaseEmitter* param_0) { - nofralloc -#include "asm/JSystem/JStudio/JStudio_JParticle/control/emitter_destroy__Q217JStudio_JParticle13TCreateObjectFP14JPABaseEmitter.s" +void JStudio_JParticle::TCreateObject::emitter_destroy(JPABaseEmitter* pEmitter) { + pJPAEmitterManager_->forceDeleteEmitter(pEmitter); } -#pragma pop /* 8028E508-8028E60C 288E48 0104+00 1/1 0/0 0/0 .text * createObject_JPA_PARTICLE___Q217JStudio_JParticle13TCreateObjectFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ217JStudio_JParticle13TCreateObject */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JStudio_JParticle::TCreateObject::createObject_JPA_PARTICLE_( - JStudio::stb::data::TParse_TBlock_object const& param_0, - JStudio_JParticle::TCreateObject* param_1) { - nofralloc -#include "asm/JSystem/JStudio/JStudio_JParticle/control/func_8028E508.s" +JStudio::TObject* JStudio_JParticle::TCreateObject::createObject_JPA_PARTICLE_( + JStudio::stb::data::TParse_TBlock_object const& param_1, + JStudio_JParticle::TCreateObject* param_2) { + JStudio_JParticle::TAdaptor_particle* adaptor = new JStudio_JParticle::TAdaptor_particle(param_2); + if (adaptor == NULL) { + return NULL; + } + JGadget::TPointer_delete<JStudio_JParticle::TAdaptor_particle> deleteGuard(adaptor); + adaptor->set_bPermit_onExit_notEnd_(param_2->isPermit_onExit_notEnd()); + JStudio::TObject_particle* particle = + JStudio::TCreateObject::createFromAdaptor<JStudio_JParticle::TAdaptor_particle>(param_1, + adaptor); + if (particle == NULL) { + return NULL; + } + deleteGuard.set(NULL); + return particle; } -#pragma pop |
