]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - protocol.h
do not TOTALLY block translation with csprogs, but restrict it to globals named dotra...
[xonotic/darkplaces.git] / protocol.h
index 7e01d764a286d42399dbce356fb36c2104e8618a..1335a3a1d5c4de393a2ae935975765fb8312b667 100644 (file)
@@ -61,7 +61,7 @@ void Protocol_Names(char *buffer, size_t buffersize);
 #define EF_UNUSED17                            131072
 #define EF_UNUSED18                            262144
 #define EF_UNUSED19                            524288
-#define EF_UNUSED20                            1048576
+#define EF_RESTARTANIM_BIT             1048576     // div0: restart animation bit (like teleport bit, but lerps between end and start of the anim, and doesn't stop player lerping)
 #define EF_TELEPORT_BIT                        2097152         // div0: teleport bit (toggled when teleporting, prevents lerping when the bit has changed)
 #define EF_LOWPRECISION                        4194304         // LordHavoc: entity is low precision (integer coordinates) to save network bandwidth  (serverside only)
 #define EF_NOMODELFLAGS                        8388608         // indicates the model's .effects should be ignored (allows overriding them)
@@ -332,10 +332,24 @@ void Protocol_Names(char *buffer, size_t buffersize);
 #define RENDER_EXTERIORMODEL 8
 #define RENDER_LOWPRECISION 16 // send as low precision coordinates to save bandwidth
 #define RENDER_COLORMAPPED 32
+#define RENDER_NOCULL 64 // do not cull this entity with r_cullentities
+
 #define RENDER_SHADOW 65536 // cast shadow
 #define RENDER_LIGHT 131072 // receive light
 #define RENDER_NOSELFSHADOW 262144 // render lighting on this entity before its own shadow is added to the scene
 // (note: all RENDER_NOSELFSHADOW entities are grouped together and rendered in a batch before their shadows are rendered, so they can not shadow eachother either)
+#define RENDER_EQUALIZE 524288 // (subflag of RENDER_LIGHT) equalize the light from the light grid hitting this ent (less invasive EF_FULLBRIGHT implementation)
+#define RENDER_NODEPTHTEST 1048576
+#define RENDER_ADDITIVE 2097152
+#define RENDER_DOUBLESIDED 4194304
+
+typedef enum entity_state_active_e
+{
+       ACTIVE_NOT = 0,
+       ACTIVE_NETWORK = 1,
+       ACTIVE_SHARED = 2
+}
+entity_state_active_t;
 
 // this is 96 bytes
 typedef struct entity_state_s
@@ -370,8 +384,9 @@ typedef struct entity_state_s
        unsigned char internaleffects; // INTEF_FLAG1QW and so on
        unsigned char tagindex;
        unsigned char colormod[3];
+       unsigned char glowmod[3];
        // padding to a multiple of 8 bytes (to align the double time)
-       unsigned char unused[5];
+       unsigned char unused[2];
 }
 entity_state_t;
 
@@ -697,8 +712,8 @@ void EntityFrame4_CL_ReadFrame(void);
 // bits >= (1<<24)
 #define E5_EXTEND3 (1<<23)
 
-// unused
-#define E5_UNUSED24 (1<<24)
+// byte[3] = s->glowmod[0], s->glowmod[1], s->glowmod[2]
+#define E5_GLOWMOD (1<<24)
 // unused
 #define E5_UNUSED25 (1<<25)
 // unused
@@ -969,7 +984,7 @@ void EntityFrameQW_CL_ReadFrame(qboolean delta);
 
 struct client_s;
 void EntityFrameCSQC_LostFrame(struct client_s *client, int framenum);
-qboolean EntityFrameCSQC_WriteFrame (sizebuf_t *msg, int maxsize, int numstates, const entity_state_t *states, int framenum);
+qboolean EntityFrameCSQC_WriteFrame (sizebuf_t *msg, int maxsize, int numnumbers, const unsigned short *numbers, int framenum);
 
 #endif