]> git.rm.cloudns.org Git - xonotic/gmqcc.git/commitdiff
Trash proposal, I'm not commited to this relationship anymore. Also I cannot afford...
authorDale Weiler <killfieldengine@gmail.com>
Sat, 10 Nov 2012 21:05:46 +0000 (21:05 +0000)
committerDale Weiler <killfieldengine@gmail.com>
Sat, 10 Nov 2012 21:05:46 +0000 (21:05 +0000)
propsal.txt [deleted file]

diff --git a/propsal.txt b/propsal.txt
deleted file mode 100644 (file)
index 88658e1..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-This is a propsal to extend the progs.dat file format without breaking
-backwards compatability.  Currently the progs file format header has a
-description simaler to this:
-
-struct {
-    uint32_t     version;
-    uint32_t     crc16;
-    ....
-    uint32_t     entfield;
-}
-
-The obvious notable issue here is version and crc16 are larger than they
-essentially need to be, if we made version and crc16 both uint16_t we can
-give ourselfs 32 bytes (2x16) to store additional data that can be used
-to make smaller progs.dat files.
-
-I propose a new structual layout like this:
-struct {
-    uint16_t     version;
-    uint16_t     flags;   /* contains a skip field */
-    uint16_t     crc16;
-    uint16_t     skip;    /* skiped globals        */
-    ....
-    uint32_t     entfield;
-}
-
-about 45% of globals are zero, if we could order them at the top of the
-globals array we can essentially use the skip field to specify how much
-zero globals the engine would have to populate (instead of being stored
-in the actual file itself) flags can specify if the progs.dat file skiped
-globals on the write of the progs.dat file.
-
-Of course only one bit in the flags would have to be set to specify if the
-file contains a skip field.  Which lends itself to the fact that flags could
-later be extended for other things.