-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathEFX_Extern.bt
145 lines (132 loc) · 4.24 KB
/
EFX_Extern.bt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
//------------------------------------------------
//--- 010 Editor v9.0 Binary Template
//
// File:
// Authors:
// Version:
// Purpose:
// Category:
// File Mask:
// ID Bytes:
// History:
//------------------------------------------------
#include <EFX_Subtypes.bt>
typedef struct {
long unkn[12];
} ExternVelocity3D0;
typedef struct {
long unkn[90];
byte unkn1;
} ExternVelocity3D1;
typedef struct {
long unkn[21];
} ExternVelocity3D2;
typedef struct {
long unkn[18];
} ExternVelocity3D5;
typedef struct {
long unkn[20];
} ExternVelocity3D6;
typedef struct {
long unkn[39];
byte unkn1;
} ExternVelocity3D7;
typedef struct{
long t;
if (t==EXTERNTRANSFORM3D) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternTransform3D transform3D[attri_count];
} else if (t==EXTERNVELOCITY3D) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternVelocity3D velocity3D[attri_count];
} else if (t==EXTERNSCALEANIM) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternScaleAnim scaleAnim[attri_count];
} else if (t==EXTERNRGBFIRE) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternRgbFire rgbFire[attri_count];
} else if (t==EXTERNSPAWN) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternSpawn spawn[attri_count];
} else if (t==EXTERNMESH) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternMesh mesh[attri_count];
} else if (t==EXTERNBILLBOARD3D) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternBillboard3D billboard3d[attri_count];
} else if (t==EXTERNEMITTERSHAPE3D) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternEmitterShape3D emitterShape3D[attri_count];
} else if (t==EXTERNUVSEQUENCE) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternUVSequence uvSequence[attri_count];
} else if (t==EXTERNPLEMISSIVE){
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternPlEmissive p1Emissive[attri_count];
} else if (t==EXTERNVELOCITY3D0) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternVelocity3D0 velocity3D0[attri_count];
} else if (t==EXTERNVELOCITY3D1) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternVelocity3D1 velocity3D1[attri_count];
} else if (t==EXTERNVELOCITY3D2) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternVelocity3D2 velocity3D2[attri_count];
} else if (t==EXTERNPTBEHAVIOR) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
local int z;
for(z=0;z<attri_count;z++)
EFX_Behavior efx_behaiv;
} else if (t==EXTERNRGBWATER) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternRgbWater rgbWater[attri_count];
} else if (t==EXTERNVELOCITY3D5) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternVelocity3D5 velocity3D5[attri_count];
} else if (t==EXTERNVELOCITY3D6) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternVelocity3D6 velocity3D6[attri_count];
} else if (t==EXTERNVELOCITY3D7) {
int unkn;
int attri_count<bgcolor=0xFFFF00>;
ExternVelocity3D7 velocity3D7[attri_count];
}
} Extern_Data;
typedef struct{
//local int ord = x;
long type<name="Type",format=hex,bgcolor=0x000000>;
long NULL0;
int count<name="Extern Prefix Count",bgcolor=0xFF0000>;
long NULL1;
Extern_Data data[count]<optimize = false>;
} Extern_Attribute;
typedef struct {
Extern_Attribute attribute[header.UNKN_Count]<name="Extern Reference",read=ReadExtern,optimize = false>;
} Extern;
typedef struct{}ExternFadeByAngle;
typedef struct{}ExternFadeByDepth;
typedef struct{}ExternStrainRibbon;
typedef struct{}ExternUVControl;
typedef struct{}ExternTurbulence;
typedef struct{}ExternItem;
typedef struct{}BasicExternItem;
typedef struct{}ExternGuide;
typedef struct{}ExternParentSnow;
typedef struct{}ExternOtomoSnow;