sead
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:
13 enum ConfigDefault
14 {
22 EFT_DEFAULT_FORCE_4BYTE = 0x80000000
23 };
24
25public:
26 Config() : mHeap ( NULL )
33 {
34 }
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
60 u32 GetEmitterNum() const
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
74 u32 GetParticleNum() const
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
88 u32 GetEmitterSetNum() const
89 {
90 return mEmitterSetNum;
91 }
92
93 void SetResourceNum(u32 num)
94 {
95 mResourceNum = num;
96 }
97
98 u32 GetResourceNum() const
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
112 u32 GetStripeNum() const
113 {
114 return mStripeNum;
115 }
116
117 void SetDoubleBufferSize(u32 size)
118 {
119 mSizeDoubleBufferSize = size;
120 }
121
123 {
124 return mSizeDoubleBufferSize;
125 }
126
127private:
128 u32 getCarryCount(u32 bits)
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:
144 Heap* mHeap;
151};
152static_assert(sizeof(Config) == 0x20, "nw::eft::Config size mismatch");
153
154} } // namespace nw::eft
155
156#endif // EFT_CONFIG_H_
u32 GetStripeNum() const
u32 mSizeDoubleBufferSize
Definition eft_Config.h:150
virtual void SetEffectHeap(Heap *heap)
void SetEmitterSetNum(u32 num)
virtual ~Config()
u32 GetDoubleBufferSize() const
u32 GetParticleNum() const
u32 GetResourceNum() const
u32 GetEmitterSetNum() const
void SetResourceNum(u32 num)
Heap * mHeap
Definition eft_Config.h:144
u32 mEmitterNum
Definition eft_Config.h:145
EFT_DEFAULT_RESOURCE_VIEWER_RESERVE_NUM
u32 mParticleNum
Definition eft_Config.h:146
u32 mStripeNum
Definition eft_Config.h:149
void SetEmitterNum(u32 num)
void SetStripeNum(u32 num)
u32 getCarryCount(u32 bits)
void SetParticleNum(u32 num)
virtual Heap * GetEffectHeap() const
u32 mResourceNum
Definition eft_Config.h:148
u32 GetEmitterNum() const
u32 mEmitterSetNum
Definition eft_Config.h:147
void SetDoubleBufferSize(u32 size)