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
12class PtclParallelExecuter : public sead::IDisposer // vtbl Address: 0x10058B74
13{
14public:
15 static const s32 cExecuterNum = 2;
16 static const s32 cEmitterMaxNum = 256;
17
18protected:
24
25 // Address: 0x022AECD0
26 static s32 comparePtcl_(const nw::eft::EmitterInstance* a, const nw::eft::EmitterInstance* b);
27 // Address: 0x022AECE0
28 static s32 compareChildPtcl_(const nw::eft::EmitterInstance* a, const nw::eft::EmitterInstance* b);
29
30 // Address: 0x022AECF0
31 void run_(Step step);
32
33 // Address: 0x022AEE94
34 void runCallback_(sead::Thread*, sead::MessageQueue::Element step);
35
36public:
37 // Address: 0x022AF060
38 PtclParallelExecuter(sead::Heap* heap, PtclMgr* mgr, sead::ptcl::PtclSystem* system);
39
40 // Address: 0x022AF420
41 void execute();
42
43protected:
54};
55static_assert(sizeof(PtclParallelExecuter) == 0x438);
Definition PtclMgr.h:42
Definition PtclParallelExecuter.h:13
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:52
void runCallback_(sead::Thread *, sead::MessageQueue::Element step)
PtclParallelExecuter(sead::Heap *heap, PtclMgr *mgr, sead::ptcl::PtclSystem *system)
Step
Definition PtclParallelExecuter.h:20
@ cStep_ChildPtcl
Definition PtclParallelExecuter.h:22
@ cStep_Ptcl
Definition PtclParallelExecuter.h:21
void run_(Step step)
static const s32 cEmitterMaxNum
Definition PtclParallelExecuter.h:16
static const s32 cExecuterNum
Definition PtclParallelExecuter.h:15
sead::AtomicU32 mEmitterCurrentIdx
Definition PtclParallelExecuter.h:53
sead::ptcl::PtclSystem * mPtclSystem
Definition PtclParallelExecuter.h:44
sead::FixedPtrArray< ParallelExecuter, cExecuterNum > mExecuter
Definition PtclParallelExecuter.h:48
Definition ParallelExecuter.h:20