New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
PtclParallelExecuter.h
Go to the documentation of this file.
1#pragma once
2
3#include <container/seadPtrArray.h>
4#include <heap/seadDisposer.h>
5#include <ptcl/seadPtclSystem.h>
6#include <thread/seadAtomic.h>
7#include <thread/seadMessageQueue.h>
8
10class PtclMgr;
11
12// vtbl Address: 0x10058B74
14{
15public:
16 static const s32 cExecuterNum = 2;
17 static const s32 cEmitterMaxNum = 256;
18
19protected:
25
26 // Address: 0x022AECD0
27 static s32 comparePtcl_(const nw::eft::EmitterInstance* a, const nw::eft::EmitterInstance* b);
28 // Address: 0x022AECE0
29 static s32 compareChildPtcl_(const nw::eft::EmitterInstance* a, const nw::eft::EmitterInstance* b);
30
31 // Address: 0x022AECF0
32 void run_(Step step);
33
34 // Address: 0x022AEE94
35 void runCallback_(sead::Thread*, sead::MessageQueue::Element step);
36
37public:
38 // Address: 0x022AF060
39 PtclParallelExecuter(sead::Heap* heap, PtclMgr* mgr, sead::ptcl::PtclSystem* system);
40
41 // Address: 0x022AF420
42 void execute();
43
44protected:
55};
56static_assert(sizeof(PtclParallelExecuter) == 0x438);
Definition PtclMgr.h:43
Definition PtclParallelExecuter.h:14
static s32 comparePtcl_(const nw::eft::EmitterInstance *a, const nw::eft::EmitterInstance *b)
static s32 compareChildPtcl_(const nw::eft::EmitterInstance *a, const nw::eft::EmitterInstance *b)
sead::FixedPtrArray< nw::eft::EmitterInstance, cEmitterMaxNum > mEmitter
Definition PtclParallelExecuter.h:53
void runCallback_(sead::Thread *, sead::MessageQueue::Element step)
PtclParallelExecuter(sead::Heap *heap, PtclMgr *mgr, sead::ptcl::PtclSystem *system)
Step
Definition PtclParallelExecuter.h:21
@ cStep_ChildPtcl
Definition PtclParallelExecuter.h:23
@ cStep_Ptcl
Definition PtclParallelExecuter.h:22
void run_(Step step)
static const s32 cEmitterMaxNum
Definition PtclParallelExecuter.h:17
static const s32 cExecuterNum
Definition PtclParallelExecuter.h:16
sead::AtomicU32 mEmitterCurrentIdx
Definition PtclParallelExecuter.h:54
sead::ptcl::PtclSystem * mPtclSystem
Definition PtclParallelExecuter.h:45
sead::FixedPtrArray< ParallelExecuter, cExecuterNum > mExecuter
Definition PtclParallelExecuter.h:49
Definition ParallelExecuter.h:20