27Copyright (c) 2011 Rudolf Polzer\
29Permission is hereby granted, free of charge, to any person obtaining a copy\
30of this software and associated documentation files (the \"Software\"), to\
31deal in the Software without restriction, including without limitation the\
32rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\
33sell copies of the Software, and to permit persons to whom the Software is\
34furnished to do so, subject to the following conditions:\
36The above copyright notice and this permission notice shall be included in\
37all copies or substantial portions of the Software.\
39THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\
40IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\
41FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\
42AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\
43LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\
44FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\
71#define ALLPROPERTIES_COMMON \
72 CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_FRAME, int, ReadByte, WriteByte, frame) \
73 CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_MODELINDEX, int, ReadShort, WriteShort, modelindex) \
74 CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_ORIGIN, vector, ReadVector, WriteVector, origin) \
75 CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_SIZE, vector, ReadVector, WriteVector, mins) \
76 CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_SIZE, vector, ReadVector, WriteVector, maxs) \
77 CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_PITCHROLL, float, ReadAngle, WriteAngle, angles_x) \
78 CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_YAW, float, ReadAngle, WriteAngle, angles_y) \
79 CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_PITCHROLL, float, ReadAngle, WriteAngle, angles_z) \
80 CSQCMODEL_EXTRAPROPERTIES
82#ifdef CSQCMODEL_HAVE_TWO_FRAMES
89#define ALLPROPERTIES ALLPROPERTIES_COMMON \
90 CSQCMODEL_PROPERTY(CSQCMODEL_PROPERTY_FRAME2, int, ReadByte, WriteByte, frame2) \
91 CSQCMODEL_PROPERTY_SCALED(CSQCMODEL_PROPERTY_LERPFRAC, float, ReadByte, WriteByte, lerpfrac, 255, 0, 255)
93#define ALLPROPERTIES ALLPROPERTIES_COMMON
float frame3time
start time of framegroup animation
float frame1time
start time of framegroup animation
float frame2time
start time of framegroup animation
float frame2
secondary framegroup animation (strength = lerpfrac)
float lerpfrac
strength of framegroup blend
float frame3
tertiary framegroup animation (strength = lerpfrac3)
float lerpfrac4
strength of framegroup blend
float frame4time
start time of framegroup animation
float lerpfrac3
strength of framegroup blend
float frame4
quaternary framegroup animation (strength = lerpfrac4)
float frame
primary framegroup animation (strength = 1 - lerpfrac - lerpfrac3 - lerpfrac4)
#define BIT(n)
Only ever assign into the first 24 bits in QC (so max is BIT(23)).
const int CSQCMODEL_PROPERTY_MODELINDEX
const int CSQCMODEL_PROPERTY_PITCHROLL
const int ISPLAYER_PLAYER
const int CSQCMODEL_PROPERTY_FRAME2
noref string csqcmodel_license
const int CSQCMODEL_PROPERTY_YAW
const int CSQCMODEL_PROPERTY_FRAME
const int ISPLAYER_CLIENT
const int CSQCMODEL_PROPERTY_LERPFRAC
const int CSQCMODEL_PROPERTY_ORIGIN
const int CSQCMODEL_PROPERTY_TELEPORTED
const int CSQCMODEL_PROPERTY_SIZE