| 223 | } |
| 224 | |
| 225 | xPar* xParEmitterEmitCustom(xParEmitter* p, F32 dt, xParEmitterCustomSettings* info) |
| 226 | |
| 227 | { |
| 228 | U8 emit_type; |
| 229 | U32 custom_flags; |
| 230 | xParEmitterAsset* p_tasset; |
| 231 | |
| 232 | custom_flags = info->custom_flags; |
| 233 | p_tasset = p->tasset; |
| 234 | if ((custom_flags & 0x1) != 0) |
| 235 | { |
| 236 | sSaveEmmiterSettings(p_tasset, p_tasset, 0.0); |
| 237 | sSaveEmmiterPropSettings(p->prop, p->prop, 0.0); |
| 238 | } |
| 239 | if ((custom_flags & 0x100) != 0) |
| 240 | { |
| 241 | p_tasset->pos = info->pos; |
| 242 | } |
| 243 | if ((custom_flags & 0x10) != 0) |
| 244 | { |
| 245 | p->prop->value[0] = info->value[0]; |
| 246 | } |
| 247 | if ((custom_flags & 0x2) != 0) |
| 248 | { |
| 249 | p->prop->life = info->life; |
| 250 | } |
| 251 | if ((custom_flags & 0x2000) != 0) |
| 252 | { |
| 253 | p->emit_volume = info->emit_volume; |
| 254 | } |
| 255 | if ((custom_flags & 0x4) != 0) |
| 256 | { |
| 257 | p->prop->size_birth = info->size_birth; |
| 258 | } |
| 259 | if ((custom_flags & 0x8) != 0) |
| 260 | { |
| 261 | p->prop->size_death = info->size_death; |
| 262 | } |
| 263 | if ((custom_flags & 0x200) != 0) |
| 264 | { |
| 265 | p_tasset->vel = info->vel; |
| 266 | p->prop->vel = info->vel; |
| 267 | } |
| 268 | if ((custom_flags & 0x40) != 0) |
| 269 | { |
| 270 | p_tasset->vel_angle_variation = info->vel_angle_variation; |
| 271 | } |
| 272 | if ((custom_flags & 0x400) != 0) |
| 273 | { |
| 274 | p->prop->color_birth[0] = info->color_birth[0]; |
| 275 | p->prop->color_birth[1] = info->color_birth[1]; |
| 276 | p->prop->color_birth[2] = info->color_birth[2]; |
| 277 | p->prop->color_birth[3] = info->color_birth[3]; |
| 278 | } |
| 279 | if ((custom_flags & 0x800) != 0) |
| 280 | { |
| 281 | p->prop->color_death[0] = info->color_death[0]; |
| 282 | p->prop->color_death[1] = info->color_death[1]; |
no test coverage detected