]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/csqcmodel/common.qc
036e09c0e68ae7f8eda74a6c91506a4f28f50371
[xonotic/xonotic-data.pk3dir.git] / qcsrc / csqcmodel / common.qc
1 .vector glowmod;
2 .vector view_ofs;
3 .float frame;
4 .float frame1time;
5 .float frame2;
6 .float frame2time;
7 .float lerpfrac;
8
9 #define PROPERTY_FRAME 32768
10 #define PROPERTY_FRAME2 16384
11 #define PROPERTY_LERPFRAC 8192
12 #define PROPERTY_TELEPORTED 4096 // the "teleport bit" cancelling interpolation
13 #define PROPERTY_MODELINDEX 2048
14 #define PROPERTY_ORIGIN 1024
15 #define PROPERTY_YAW 512
16 #define PROPERTY_PITCHROLL 256
17
18 #define ALLPROPERTIES_COMMON \
19         PROPERTY(PROPERTY_FRAME, ReadByte, WriteByte, frame) \
20         PROPERTY(PROPERTY_MODELINDEX, ReadShort, WriteShort, modelindex) \
21         PROPERTY(PROPERTY_ORIGIN, ReadCoord, WriteCoord, origin_x) \
22         PROPERTY(PROPERTY_ORIGIN, ReadCoord, WriteCoord, origin_y) \
23         PROPERTY(PROPERTY_ORIGIN, ReadCoord, WriteCoord, origin_z) \
24         PROPERTY(PROPERTY_PITCHROLL, ReadAngle, WriteAngle, angles_x) \
25         PROPERTY(PROPERTY_YAW, ReadAngle, WriteAngle, angles_y) \
26         PROPERTY(PROPERTY_PITCHROLL, ReadAngle, WriteAngle, angles_z) \
27         CSQCMODEL_EXTRAPROPERTIES
28
29 #ifdef CSQCMODEL_HAVE_TWO_FRAMES
30 .float frame3;
31 .float frame3time;
32 .float lerpfrac3;
33 .float frame4;
34 .float frame4time;
35 .float lerpfrac4;
36 #define ALLPROPERTIES ALLPROPERTIES_COMMON \
37         PROPERTY(PROPERTY_FRAME2, ReadByte, WriteByte, frame2) \
38         PROPERTY_SCALED(PROPERTY_LERPFRAC, ReadByte, WriteByte, lerpfrac, 255, 0, 255)
39 #else
40 #define ALLPROPERTIES ALLPROPERTIES_COMMON
41 #endif
42