diff options
Diffstat (limited to 'src/game/g_mapitems.h')
| -rw-r--r-- | src/game/g_mapitems.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/game/g_mapitems.h b/src/game/g_mapitems.h index d7d8fa77..8b4455ec 100644 --- a/src/game/g_mapitems.h +++ b/src/game/g_mapitems.h @@ -16,6 +16,15 @@ enum MAPITEMTYPE_ENVELOPE, MAPITEMTYPE_GROUP, MAPITEMTYPE_LAYER, + MAPITEMTYPE_ENVPOINTS, + + + CURVETYPE_STEP=0, + CURVETYPE_LINEAR, + CURVETYPE_SLOW, + CURVETYPE_FAST, + CURVETYPE_SMOOTH, + NUM_CURVETYPES, // game layer tiles ENTITY_NULL=0, @@ -133,6 +142,22 @@ typedef struct int version; } MAPITEM_VERSION; +typedef struct +{ + int time; // in ms + int curvetype; + int values[4]; // 1-4 depending on envelope (22.10 fixed point) +} ENVPOINT; + +typedef struct +{ + int version; + int channels; + int start_point; + int num_points; + int name; +} MAPITEM_ENVELOPE; + // float to fixed inline int f2fx(float v) { return (int)(v*(float)(1<<10)); } inline float fx2f(int v) { return v*(1.0f/(1<<10)); } |