MCPcopy Create free account
hub / github.com/doldecomp/mkdd / calc

Method calc

libs/JSystem/JParticle/JPAResource.cpp:684–768  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

682}
683
684bool JPAResource::calc(JPAEmitterWorkData *data, JPABaseEmitter *emitter)
685{
686 data->mEmitter = emitter;
687 data->mResource = this;
688 data->mCreateNumber = 0;
689
690 if (!emitter->processTillStartFrame()) {
691 return false;
692 }
693
694 if (emitter->processTermination()) {
695 return true;
696 }
697
698 if (emitter->checkStatus(JPAEMIT_StopCalc)) {
699 if (emitter->mEmitterCallback) {
700 emitter->mEmitterCallback->execute(emitter);
701 if (emitter->checkStatus(JPAEMIT_ForceDelete)) {
702 return true;
703 }
704 emitter->mEmitterCallback->executeAfter(emitter);
705 if (emitter->checkStatus(JPAEMIT_ForceDelete)) {
706 return true;
707 }
708 }
709
710 } else {
711 calcKey(data);
712
713 for (int i = fldNum - 1; i >= 0; i--) {
714 ppFld[i]->initOpParam();
715 }
716
717 if (emitter->mEmitterCallback) {
718 emitter->mEmitterCallback->execute(emitter);
719 if (emitter->checkStatus(JPAEMIT_ForceDelete)) {
720 return true;
721 }
722 }
723
724 calcWorkData_c(data);
725
726 for (int i = mCalcEmitterFuncListNum - 1; i >= 0; i--) {
727 (*mCalcEmitterFuncList[i])(data);
728 }
729
730 for (int i = fldNum - 1; i >= 0; i--) {
731 ppFld[i]->prepare(data);
732 }
733
734 if (!emitter->checkStatus(JPAEMIT_EnableDeleteEmitter)) {
735 pDyn->create(data);
736 }
737
738 if (emitter->mEmitterCallback) {
739 emitter->mEmitterCallback->executeAfter(emitter);
740 if (emitter->checkStatus(JPAEMIT_ForceDelete)) {
741 return true;

Callers 2

calcFieldMethod · 0.45
calcKeyMethod · 0.45

Calls 15

processTillStartFrameMethod · 0.80
processTerminationMethod · 0.80
executeAfterMethod · 0.80
initOpParamMethod · 0.80
push_frontMethod · 0.80
checkStatusMethod · 0.45
executeMethod · 0.45
prepareMethod · 0.45
createMethod · 0.45
getFirstMethod · 0.45
getEndMethod · 0.45
getNextMethod · 0.45

Tested by

no test coverage detected