- drop reshuffling feature from ExportClipNodes
As far as I can tell, the only purpose of this was to keep clipnodes
for a given model contiguous within the lump (i.e. keep the different
hulls contiguous).
Vanilla qbsp didn't appear to have done this, and the code was
unmaintainable/complex, so I'm dropping the feature.
NOTE: produces almost binary-identical e1m1.bsp as last commit, the only
difference is due to the old QBSP using ascii space as a padding byte,
and common using \0
- drop reshuffling feature from ExportClipNodes
As far as I can tell, the only purpose of this was to keep clipnodes
for a given model contiguous within the lump (i.e. keep the different
hulls contiguous).
Vanilla qbsp didn't appear to have done this, and the code was
unmaintainable/complex, so I'm dropping the feature.
* Add QBSP - the BSP2-esque variant to Q2BSP - to bspinfo, and all of its accompanying structures.
* pass around ident, since Q2 needs it - admittedly it's a bit ugly, but it works for now.
conversion for QBSP
* Fix light
* _qbsp_ -> _qbism_
* Introduced bspversion_t, a struct that holds pertinent information about different BSP versions and also acts as a tagged pointer type for direct comparisons. This makes a lot of code paths simpler. I'm not entirely set on the wordings or usages yet, and maybe we can stuff boolean flags inside of them for different behaviors (for instance Q2, QBism and HL would have the "colored lightmap" boolean set to true, which replaces the check-for-all-three in the lightmapper)
Swapped arguments to ConvertBSPFormat to have the conversion target last instead of first
Finished rename of qbsp -> qbism
Tested:
- bspinfo on various BSPs I had laying around (Q1, Q2, Qbism)
- bsputil converting between Q2 and Qbism, and that they loaded in engine/roundtripped properly
Not tested:
- vis/rad on anything major (I still can't run rad due to embree being weird)
- bsputil conversion of Q1-esque maps