Commit Graph

11 Commits

Author SHA1 Message Date
William Fowler
d1eb36d906 Add support for GoldSrc as a format distinct from Quake 1. 2021-09-28 13:10:05 -06:00
wfowler
5866e89190 Add constructor to Edge to copy another Edge using any given format. 2021-04-18 23:00:23 -06:00
wfowler
67211b5cce Large refactor:
Properties are named more consistently to .NET standards. They also have XML docs now.
There are now properties in structs to directly get a referenced object rather than simply an index to it.
This should hopefully be the last time there is such a large change in the API.
2020-02-22 04:29:01 -07:00
wfowler
864a6dab6b Refactors to reuse some commonly used code. This changes a lot.
Refactor everything to use a base ILump interface, and a Lump class implementing it to use in place of regular List.
Refactor lump structures to use an ILumpObject interface. Eventually Lump<T> will enforce T is ILumpObject, there are some other things to do first.
Use Path class to simplify some code in BSP.
2019-07-16 02:55:07 -06:00
Will
76feb5046e Ridiculously massive refactor:
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.
2018-11-22 19:28:03 -07:00
wfowler
5becc7dac4 Rather large refactor:
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.
2018-08-25 17:43:28 -06:00
Will
c11ac46c78 Unbreak Left 4 Dead 2. (Oops) 2016-02-15 19:32:43 -07:00
Will
b8c883fd75 Refactor of BSP and BSPReader to enable lump structures to know what version of lump they represent.
As a result, fix reading v2 faces lump from Vindictus.
2016-02-15 02:57:10 -07:00
Will
9bf45765a5 Moderate refactor.
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.
2016-01-26 22:37:52 -07:00
Will
04af0a31ce Remove stuff for Doom, it's out of scope for this library. Other small cleanups and refactorings. 2016-01-20 01:01:57 -07:00
Will
d66a5fa91b Move source into /Source rather than /src. Some documentation cleanup. 2015-11-02 21:48:07 -07:00