NW4F Eft
Loading...
Searching...
No Matches
eft_Config.h
Go to the documentation of this file.
1#ifndef EFT_CONFIG_H_
2#define EFT_CONFIG_H_
3
4#include <nw/eft/eft_typeDef.h>
5
6namespace nw { namespace eft {
7
8class Heap;
9
10class Config
11{
12public:
24
25public:
35
36 virtual ~Config()
37 {
38 }
39
40 virtual void SetEffectHeap(Heap* heap)
41 {
42 mHeap = heap;
43 }
44
45 virtual Heap* GetEffectHeap() const
46 {
47 return mHeap;
48 }
49
50
51 void SetEmitterNum(u32 num)
52 {
53 u32 bit = getCarryCount(num);
54 if ((1 << bit) == num)
55 mEmitterNum = num;
56 else
57 mEmitterNum = 1 << (bit + 1);
58 }
59
61 {
62 return mEmitterNum;
63 }
64
65 void SetParticleNum(u32 num)
66 {
67 u32 bit = getCarryCount(num);
68 if ((1 << bit) == num)
69 mParticleNum = num;
70 else
71 mParticleNum = 1 << (bit + 1);
72 }
73
75 {
76 return mParticleNum;
77 }
78
79 void SetEmitterSetNum(u32 num)
80 {
81 u32 bit = getCarryCount(num);
82 if ((1 << bit) == num)
83 mEmitterSetNum = num;
84 else
85 mEmitterSetNum = 1 << (bit + 1);
86 }
87
89 {
90 return mEmitterSetNum;
91 }
92
93 void SetResourceNum(u32 num)
94 {
95 mResourceNum = num;
96 }
97
99 {
100 return mResourceNum;
101 }
102
103 void SetStripeNum(u32 num)
104 {
105 u32 bit = getCarryCount(num);
106 if ((1 << bit) == num)
107 mStripeNum = num;
108 else
109 mStripeNum = 1 << (bit + 1);
110 }
111
113 {
114 return mStripeNum;
115 }
116
117 void SetDoubleBufferSize(u32 size)
118 {
119 mSizeDoubleBufferSize = size;
120 }
121
123 {
124 return mSizeDoubleBufferSize;
125 }
126
127private:
129 {
130 u32 num = 31;
131 u32 mask = 0x80000000;
132
133 for (; mask != 0; mask = mask >> 1)
134 {
135 if (bits & mask)
136 break;
137 num--;
138 }
139
140 return num;
141 }
142
143protected:
151};
152static_assert(sizeof(Config) == 0x20, "nw::eft::Config size mismatch");
153
154} } // namespace nw::eft
155
156#endif // EFT_CONFIG_H_
Definition eft_Config.h:11
u32 GetStripeNum() const
Definition eft_Config.h:112
u32 mSizeDoubleBufferSize
Definition eft_Config.h:150
virtual void SetEffectHeap(Heap *heap)
Definition eft_Config.h:40
void SetEmitterSetNum(u32 num)
Definition eft_Config.h:79
virtual ~Config()
Definition eft_Config.h:36
u32 GetDoubleBufferSize() const
Definition eft_Config.h:122
u32 GetParticleNum() const
Definition eft_Config.h:74
u32 GetResourceNum() const
Definition eft_Config.h:98
u32 GetEmitterSetNum() const
Definition eft_Config.h:88
void SetResourceNum(u32 num)
Definition eft_Config.h:93
Heap * mHeap
Definition eft_Config.h:144
u32 mEmitterNum
Definition eft_Config.h:145
Config()
Definition eft_Config.h:26
ConfigDefault
Definition eft_Config.h:14
@ EFT_DEFAULT_EMITTER_NUM
Definition eft_Config.h:15
@ EFT_DEFAULT_STRIPE_NUM
Definition eft_Config.h:20
@ EFT_DEFAULT_RESOURCE_NUM
Definition eft_Config.h:18
@ EFT_DEFAULT_DOUBLE_BUFFER_SIZE
Definition eft_Config.h:21
@ EFT_DEFAULT_EMITTER_SET_NUM
Definition eft_Config.h:17
@ EFT_DEFAULT_FORCE_4BYTE
Definition eft_Config.h:22
@ EFT_DEFAULT_RESOURCE_VIEWER_RESERVE_NUM
Definition eft_Config.h:19
@ EFT_DEFAULT_PARTICLE_NUM
Definition eft_Config.h:16
u32 mParticleNum
Definition eft_Config.h:146
u32 mStripeNum
Definition eft_Config.h:149
void SetEmitterNum(u32 num)
Definition eft_Config.h:51
void SetStripeNum(u32 num)
Definition eft_Config.h:103
u32 getCarryCount(u32 bits)
Definition eft_Config.h:128
void SetParticleNum(u32 num)
Definition eft_Config.h:65
virtual Heap * GetEffectHeap() const
Definition eft_Config.h:45
u32 mResourceNum
Definition eft_Config.h:148
u32 GetEmitterNum() const
Definition eft_Config.h:60
u32 mEmitterSetNum
Definition eft_Config.h:147
void SetDoubleBufferSize(u32 size)
Definition eft_Config.h:117
Definition eft_Heap.h:9
Definition eft_CafeWrapper.cpp:117