All lump structures store their source data as a byte array now, so even unknown parts of structures are stored when they were discarded before. This means lumps can be read and written without losing any information.
New extension methods for Vector2d, 3d and 4d, Vertex, Plane and Color to get their components as bytes for easy storage.
Add support for most Call of Duty 2 structures. There's still some missing.
Most changes were just small adjustments for coding style.
Made "using" statements for Unity, rather than non-Unity compiles. So in Unity "Vector3d" is an alias for "Vector3", instead of the other way around.
Restrict CountAttribute and IndexAttribute to apply to properties and fields only.
Removed Rect and RectExtensions, Rect was never used anywhere and was leftover from a long-gone part of this project.
Remove unnecessary "this" references and refactor Int32, Single, etc. to int, float, etc. (I might have missed a few of these).
Refactor MAPBrushSide to use a TextureInfo rather than duplicating many fields.
Make Terrain and Displacement formats use two-dimensional arrays rather than arrays of arrays.
Rename UIVertex to Vertex.
Removes "Source" from in front of source engine structures.
Spells out full names of structures in class names.
Adds punctuation to all documentation comments and fixes some mistakes.
Adds some missing documentation comments.