about summary refs log tree commit diff
path: root/src/game/g_mapitems.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/g_mapitems.h')
-rw-r--r--src/game/g_mapitems.h25
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)); }