Commit Graph

137 Commits

Author SHA1 Message Date
Jonathan 2ebfdb096f Remove COM_Parse, use parser_t
Game controls hull sizes now
2021-09-20 19:45:09 -04:00
Jonathan 9f1f575761 Parser simplification and classification
Hulls stored in game definitions
2021-09-20 16:24:38 -04:00
Jonathan 49fd62b9f3 Lotta more file stuff. Have to think about fscanf though. 2021-09-19 22:20:39 -04:00
Jonathan 326626f127 Remove some old stuff
Cleanup/rework of logging system. I'm not too happy about it still, but, it's at least a bit easier to follow now.
Started cleanup of file-related stuff.
2021-09-19 18:17:28 -04:00
Jonathan e8bd554cc0 winding_t is now a C++ type - a hybrid stack/heap array.
In preparation for converting all of the vec_t[3] to qvec's, the Vector routines are now templated and work with any type that provides indexing operators.
Polylib.cc is gone, since this all needs to be in header now
qvec can now implicitly convert from T[N]
constexpr where appropriate
static inline -> inline
side_t is now an enum, moved into mathlib
2021-09-16 03:10:51 -04:00
Jonathan db5ccb6a93 warnerr fix 2021-09-14 09:25:18 -04:00
Jonathan eb6bb81d61 use the C++ includes
stdbool not required
_vsnprintf and _snprintf are standard in MSVC since 2015, so I just use them directly now. They'll be replaced by std::fmt later anyways.
use <thread> for threading, instead of pthreads/windows.h thread directly
2021-09-14 08:46:03 -04:00
Jonathan 7f8d2cfb49 Fix single line functions 2021-09-14 02:56:44 -04:00
Jonathan 4e7542b111 Clang format pass
typedef -> using
include guards -> pragma once
typedef struct x { } y; -> struct y { }
some fixes to extremely old code that shouldn't be required any more
2021-09-14 02:32:26 -04:00
Jonathan facf3490c7 typedef changes 2021-09-13 13:04:18 -04:00
Jonathan c95a1e2ccb q2 and bug fixes
# Conflicts:
#	include/qbsp/qbsp.hh
#	include/qbsp/winding.hh
#	qbsp/brush.cc
#	qbsp/csg4.cc
#	qbsp/merge.cc
2021-09-12 08:34:01 -04:00
Jonathan 8cdb9ff6c4 Initial attempt at leafbrushes 2021-09-09 05:11:47 -04:00
Jonathan 9800f4f738 Mostly all native!! 2021-09-09 00:26:17 -04:00
Jonathan 004fcb57c1 Content flags type, splitting up native and compiler flags.
Extreme WIP and likely not working properly. Need to rid all direct .native usages and direct them through target_version->game
2021-09-07 06:13:17 -04:00
Jonathan c16bbf403d Change miptex thingies to handle const as the comment wishes they would
Use optional to properly indicate the intended purpose of optional/"unset" values rather than a magic number (also because for some reason outputnum was stuck at 0 even though it defaults to -1 and I didn't want to debug why)
beginning of Q2 contents
2021-09-07 03:24:16 -04:00
Jonathan 00efa6e67d Fix operator<
Introduce gamedef, to reduce rewriting of data in bspversions
fix name of needs_subdivision
include value in texinfo, in prep for Q2
2021-09-07 01:41:32 -04:00
Jonathan acc65953ce Use tie for mtexinfo too 2021-09-06 22:15:59 -04:00
Jonathan 9602772450 Use tie for operator</> of surfflags_t 2021-09-06 22:12:57 -04:00
Jonathan 437459a4dd Finish using game everywhere 2021-09-06 18:09:13 -04:00
Jonathan 01d1400971 Merge branch 'qbsp-use-common' of https://github.com/ericwa/ericw-tools into qbsp-use-common
# Conflicts:
#	common/bspfile.cc
#	qbsp/writebsp.cc
2021-09-06 17:27:42 -04:00
Eric Wasylishen 648ef89845 qbsp: naming fix 2021-09-06 13:44:36 -06:00
Jonathan dad0e61f63 Fix for texinfo/miptex searching routines
surf flags now use the "native + extended" format that will eventually be used for brush contents. Q1 output seems identical, haven't tested Q2 yet.
2021-09-05 16:56:29 -04:00
Jonathan 04ad8e2962 OOP wad file stuff 2021-09-04 23:23:03 -04:00
Jonathan 3b656e6ef1 Cleanup & preserve texture name for q2bsp 2021-09-04 22:15:04 -04:00
Jonathan b01fddf7f1 More Q2 support 2021-09-04 18:49:01 -04:00
Eric Wasylishen 54799a11fc qbsp: restore bspx brushes writing 2021-09-04 11:47:33 -06:00
Eric Wasylishen 047bc1299a qbsp: fix tests 2021-09-01 01:19:24 -06:00
Eric Wasylishen 54d9e08033 qbsp: handle target bsp version 2021-09-01 00:42:30 -06:00
Eric Wasylishen 3cbf54749e qbsp: fix -onlyents 2021-08-31 23:53:40 -06:00
Eric Wasylishen 5429655ce8 qbsp: move internal content types to bspfile.hh 2021-08-26 22:30:56 -06:00
Eric Wasylishen bafea15753 Merge branch 'master' into qbsp-use-common 2021-08-26 21:14:49 -06:00
Eric Wasylishen 8beda9a039 common, qbsp: make Error() noreturn 2021-08-26 20:22:45 -06:00
Eric Wasylishen 8a1bc3ef20 qbsp: refactor clipnode writing (changes .bsp output)
- 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.
2021-08-26 20:22:39 -06:00
Eric Wasylishen 899b2b8384 qbsp: drop MemSize stuff 2021-08-24 22:51:44 -06:00
Eric Wasylishen 208a9610ad qbsp: delete bspfile.cc/hh 2021-08-24 22:23:24 -06:00
Eric Wasylishen 50a16fa2bf qbsp: use common to write bsp
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
2021-08-24 01:29:21 -06:00
Eric Wasylishen 890db18171 qbsp: use common's bspfile.hh 2021-08-24 00:31:16 -06:00
Eric Wasylishen 00cdc2924a qbsp: fix name conflict with miptex_t (qbsp used it as a std::string alias) 2021-08-24 00:25:10 -06:00
Eric Wasylishen e0710859fb qbsp: remove mapentity_t::lumps 2021-08-23 23:25:31 -06:00
Eric Wasylishen c55112b47f qbsp: refactor lmshifts lump export 2021-08-23 23:18:43 -06:00
Eric Wasylishen 490e71bb1a qbsp: remove cTotal 2021-08-23 22:50:03 -06:00
Eric Wasylishen a7fd04af12 qbsp: refactor texdata writing 2021-08-23 22:44:22 -06:00
Eric Wasylishen 6a7e59026c qbsp: refactor entities lump writing 2021-08-23 22:20:08 -06:00
Eric Wasylishen 561ffffb9b qbsp: refactor model writing 2021-08-23 21:01:49 -06:00
Eric Wasylishen f59bc08db8 qbsp: refactor face writing 2021-08-23 20:16:40 -06:00
Eric Wasylishen a0bdbf89d1 qbsp: refactor surfedges writing 2021-08-23 19:52:46 -06:00
Eric Wasylishen 8147b97dc6 qbsp: refactor vertexes writing 2021-08-23 19:45:31 -06:00
Eric Wasylishen f4700f978d qbsp: refactor edges writing 2021-08-23 19:36:41 -06:00
Eric Wasylishen 671bacf30c qbsp: refactor clipnode writing (changes .bsp output)
- 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.
2021-08-23 18:05:37 -06:00
Eric Wasylishen 382a725f2b qbsp: refactor writing of leafs, nodes, marksurfaces lump
- only support bsp29 for now
2021-08-23 18:02:05 -06:00