Dayz Explorer CPP 1.28.160049
Loading...
Searching...
No Matches
exportfn.c
Go to the documentation of this file.
1proto vector MatrixAngles(vector mat[3]);
2
3
4//--------------------------------------------
5// Motion Builder
6
7
8void defaultFnMB(inout vector pMat[4])
9{
10 // swap yz
11 vector x = pMat[0];
12 vector y = pMat[1];
13 vector z = pMat[2];
14 vector pos = pMat[3];
15
16 pMat[0] = x;
17 pMat[1] = z;
18 pMat[2] = y;
19 pMat[3] = pos * 0.01;
20}
21
22
23void generateSceneRootMB (inout vector pMat[4], int pFrame, int pMaxFrame)
24{
25 // this is EntityPosition bone in motion builder
26
27 pMat[0] = "-1 0 0";
28 pMat[1] = "0 0 1";
29 pMat[2] = "0 1 0";
30 pMat[3] = "0 0 0";
31}
32
33
34//--------------------------------------------
35// MAX
36
37
38vector swapVecMax(vector p)
39{
40 vector ret;
41
42 ret[0] = p[0];
43 ret[1] = p[2];
44 ret[2] = p[1];
45
46 return ret;
47}
48
49void defaultBoneFunctionMax(inout vector pMat[4])
50{
51 // swap yz
52 vector x = pMat[0];
53 vector y = pMat[2];
54 vector z = pMat[1];
55 vector pos = pMat[3];
56
57 vector pos2 = swapVecMax(pos);
58 vector x2 = swapVecMax(x);
59 vector y2 = swapVecMax(y);
60 vector z2 = swapVecMax(z);
61 pMat[0] = x2;
62 pMat[1] = y2;
63 pMat[2] = z2;
64 pMat[3] = pos2 * 0.001;
65}
66
67
68
69//--------------------------------------------
70// Tests
71
72
73vector swapVec(vector p)
74{
75 vector ret;
76
77 ret[0] = p[0] * -1.0;
78 ret[1] = p[1] * 1.0;
79 ret[2] = p[2] * -1.0;
80
81 return ret;
82}
83
84void rotatePelvis(inout vector pMat[4])
85{
86 // rotate 180 around y of scene object root matrix
87 vector x = pMat[0];
88 vector y = pMat[1];
89 vector z = pMat[2];
90 vector pos = pMat[3];
91
92 pMat[0] = swapVec(x);
93 pMat[1] = swapVec(y);
94 pMat[2] = swapVec(z);
95 pMat[3] = swapVec(pos);
96}
97
98
99void invertXPosEntityPos(inout vector pMat[4])
100{
101 vector pos = pMat[3];
102
103 pos[2] = pos[2] * -1.0;
104
105 pMat[3] = swapVec(pos);
106}
107
108
109
vector swapVec(inout vector p)
Definition exportfn.c:56
void rotatePelvis(inout vector pMat[4])
Definition exportfn.c:67
vector swapVecMax(inout vector p)
Definition exportfn.c:17
void invertXPosEntityPos(inout vector pMat[4])
Definition exportfn.c:82
void defaultBoneFunctionMax(inout vector pMat[4])
Definition exportfn.c:28
void defaultFnMB(inout vector pMat[4])
Definition exportfn.c:8
void generateSceneRootMB(inout vector pMat[4], int pFrame, int pMaxFrame)
Definition exportfn.c:23
proto vector MatrixAngles(vector mat[3])