Blender V4.3
DNA_effect_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
11#pragma once
12
13/* Don't forget, new effects also in `writefile.cc` for DNA! */
14
16enum {
17 // PAF_UNUSED_0 = 1 << 0, /* DEPRECATED, dirty. */
18 PAF_BSPLINE = 1 << 1,
19 PAF_STATIC = 1 << 2,
20 PAF_FACE = 1 << 3,
21 PAF_ANIMATED = 1 << 4,
23 PAF_UNBORN = 1 << 5,
25 PAF_OFACE = 1 << 6,
27 PAF_SHOWE = 1 << 7,
29 PAF_TRAND = 1 << 8,
31 PAF_EDISTR = 1 << 9,
33 PAF_DIED = 1 << 11,
34};
35
37enum {
38 PAF_TEXTIME = 1, /* Texture timing. */
39};
40
42enum {
46};
47
49enum {
51};
52
54enum {
57};
58
60enum {
64};
65
66typedef struct Effect {
67 struct Effect *next, *prev;
68 short type, flag, buttype;
69 char _pad0[2];
71
72typedef struct BuildEff {
73 /* NOTE: match #Effect. */
74 struct BuildEff *next, *prev;
75 short type, flag, buttype;
76 /* End header. */
77
78 char _pad0[2];
79
80 float len, sfra;
81
83
84#
85#
86typedef struct Particle {
87 float co[3], no[3];
88 float time, lifetime;
89 short mat_nr;
90 char _pad0[2];
92
93struct Collection;
94
95typedef struct PartEff {
96 /* NOTE: match #Effect. */
97 struct PartEff *next, *prev;
98 short type, flag, buttype;
99 /* End header. */
100
102
103 float sta, end, lifetime;
105
107 float force[3];
108 float damp;
109
111 char _pad[4];
112
113 float mult[4], life[4];
114 short child[4], mat[4];
118
122 float imat[4][4];
123
126
128
129typedef struct WaveEff {
130 /* NOTE: match #Effect. */
131 struct WaveEff *next, *prev;
133 /* End header. */
134
137
139
@ PAF_TEXGRAD
@ PAF_TEXINT
@ PAF_TEXRGB
struct WaveEff WaveEff
struct Effect Effect
@ EFF_SELECT
struct PartEff PartEff
struct Particle Particle
@ EFF_BUILD
@ EFF_WAVE
@ EFF_PARTICLE
@ PAF_NORMAL
@ PAF_VECT
struct BuildEff BuildEff
@ PAF_TEXTIME
@ PAF_SHOWE
@ PAF_EDISTR
@ PAF_FACE
@ PAF_TRAND
@ PAF_STATIC
@ PAF_ANIMATED
@ PAF_DIED
@ PAF_OFACE
@ PAF_BSPLINE
@ PAF_UNBORN
struct BuildEff * prev
struct BuildEff * next
char _pad0[2]
char _pad0[2]
struct Effect * prev
struct Effect * next
short buttype
short mat[4]
Particle * keys
char vgroupname_v[64]
struct PartEff * prev
struct PartEff * next
float imat[4][4]
float defvec[3]
short vertgroup_v
short child[4]
float force[3]
float mult[4]
float life[4]
char vgroupname[64]
struct Collection * group
char _pad0[2]
float co[3]
struct WaveEff * prev
struct WaveEff * next