]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/lib/net.qh
Inventory: check at runtime if the Inventory_groups_* costants are correct, automatic...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / lib / net.qh
index 71950fb73cb67120d632a4d70ed0fd4bb60f276a..3cec9fd9ba8734a9ed1b9ff52014a05a5787e821 100644 (file)
@@ -358,6 +358,13 @@ MACRO_END
                #define ReadVector() vec3(ReadFloat(), ReadFloat(), ReadFloat())
                #define ReadVector2D() vec2(ReadFloat(), ReadFloat())
 
+               int Readbits(int num)
+               {
+                       if (num > 16) return ReadInt24_t();
+                       if (num > 8) return ReadShort();
+                       return ReadByte();
+               }
+
                float ReadApproxPastTime()
                {
                        float dt = ReadByte();
@@ -391,6 +398,13 @@ MACRO_END
                #define WriteVector(to, v) MACRO_BEGIN WriteFloat(to, v.x); WriteFloat(to, v.y); WriteFloat(to, v.z); MACRO_END
                #define WriteVector2D(to, v) MACRO_BEGIN WriteFloat(to, v.x); WriteFloat(to, v.y); MACRO_END
 
+               void Writebits(float dst, float val, int num)
+               {
+                       if (num > 16) { WriteInt24_t(dst, val); return; }
+                       if (num > 8) { WriteShort(dst, val); return; }
+                       WriteByte(dst, val);
+               }
+
                // this will use the value:
                //   128
                // accuracy near zero is APPROXPASTTIME_MAX/(256*255)