Commit Graph

40 Commits

Author SHA1 Message Date
Jonathan 01b8abf93c Removed a lot of unused functions
Moved vector-related operations from mathlib to qvec, moved a few into qv::
Use clamp/max/min directly instead of #define'ing them
Move a few single-use functions directly above their usages
2021-10-10 14:04:09 -04:00
Jonathan 52839d4e7f Run clang-format pass 2021-10-05 15:54:06 -04:00
Jonathan 7590230111 Merge remote-tracking branch 'remotes/origin/qbsp-contentflags' into type-cleanup
# Conflicts:
#	bspinfo/bspinfo.cc
#	common/bspfile.cc
#	include/common/bspfile.hh
#	qbsp/brush.cc
#	qbsp/csg4.cc
#	qbsp/portals.cc
#	qbsp/qbsp.cc
#	qbsp/solidbsp.cc
#	qbsp/surfaces.cc
#	qbsp/writebsp.cc
#	vis/vis.cc
2021-10-05 01:21:16 -04:00
Eric Wasylishen 5b62f61b29 qbsp: revert contents handling to be closer to master 2021-10-04 20:39:47 -06:00
Jonathan a6f6cc2d15 qvec now has an empty default initializer, for speed purposes; fixed up places that relied on this behavior
simplified constructor for qvec(T...) that uses fold expressions
simplified rgba_miptex_t
fixed a lot of broken winding_base_t behavior
merged all winding types into winding_base_t
removed now-empty files
2021-09-27 20:44:15 -04:00
Jonathan 6ff2d67d12 major C++-esque change to BSP conversion:
- main mbsp types are declared first in the files, and types that were single-member are now not structs
- conversion is handled by the sub-types themselves. Currently no diagnostic for *what* members overflow, but, overflow is handled via thrown exceptions on all overflowable members
- aabb type is used where appropriate now, simplifying a few areas
2021-09-22 17:30:46 -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 1dd4df1b20 calloc/malloc/free -> new/new/delete (except for specific scenarios) 2021-09-14 11:39:12 -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 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 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 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 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
Eric Wasylishen 1123205d47 qbsp: replace FreeMem uses 2021-08-24 22:49:06 -06:00
Eric Wasylishen 1f7ac25f0c qbsp: removing fancy AllocMem uses 2021-08-24 22:40:35 -06:00
Eric Wasylishen 29652b4a7a qbsp: fix some threading issues with solidbsp.cc stats 2021-08-23 00:00:01 -06:00
Eric Wasylishen d083f0f87f qbsp: parallelize PartitionSurfaces 2020-01-29 21:14:55 -07:00
Eric Wasylishen 1a161b3ad5 qbsp: code cleanup 2020-01-29 20:56:29 -07:00
Eric Wasylishen f74d85c022 Revert "qbsp: parallelize solidbsp"
This reverts commit 2ebfa8d780.
2020-01-29 01:51:31 -07:00
Eric Wasylishen 2ebfa8d780 qbsp: parallelize solidbsp 2020-01-29 01:22:29 -07:00
Eric Wasylishen ad65449cef qbsp: add "-midsplitsurffraction n" option as an alt. to -maxnodesize
switch to midsplit if the node contains more than this fraction of the
model's total surfaces. Try 0.15 to 0.5. Works better than
maxNodeSize for maps with a 3D skybox (e.g. +-128K unit maps)
2019-02-11 00:52:38 -07:00
Eric Wasylishen 2ea0076160 qbsp: experimental func_illusionary_visblocker 2017-10-24 22:17:10 -07:00
Eric Wasylishen 3efc9c1f3e qbsp: make Contents_Priority public 2017-07-23 14:08:34 -06:00
Eric Wasylishen a4e3a3a887 Revert "qbsp: move node_t markfaces list to a std::vector"
This reverts commit 31df408333.
2017-07-05 18:10:56 -07:00
Eric Wasylishen cf6af89bdf qbsp: fix some comments 2017-07-03 17:48:43 -06:00
Eric Wasylishen 31df408333 qbsp: move node_t markfaces list to a std::vector 2017-07-02 21:03:41 -06:00
Eric Wasylishen 77f3da30bf qbsp: add func_detail_fence 2017-06-09 15:13:13 -06:00
Eric Wasylishen 7198884392 qbsp: ExportDrawNodes: add assertion from DP that node children are different
DetailToSolid: collapse redundant nodes where both children are
solid (-1) to just be the leaf -1. Any faces on-node should be
impossible to see so they can be safely discarded.
2017-06-09 13:14:52 -06:00
Eric Wasylishen 37401937ae qbsp: fix LinkNodeFaces documentation 2017-06-07 12:23:25 -06:00
Eric Wasylishen 3ca83ea46e qbsp: add logging for func_detail_illusionary and _nosurfacefragment 2017-06-05 14:37:40 -06:00
Eric Wasylishen ac78efed98 qbsp: func_detail rewrite.
- Fix corrupt VIS issues when using func_detail
- func_detail no longer seals the map.
- add func_detail_illusionary entity type
- add func_detail key "_nosurfacefragment"
2017-06-05 14:09:31 -06:00
Eric Wasylishen 32eaa99d40 qbsp: rename our plane_t to qbsp_plane_t 2017-04-26 14:55:26 -06:00
Eric Wasylishen 902c45c946 all: make VectorCompare take an explicit epsilon 2017-04-26 14:20:45 -06:00
Eric Wasylishen 9034eb107a qbsp: move remaining headers to include directory 2017-04-20 19:52:06 -06:00
Eric Wasylishen 05447ee0b9 qbsp: use a mtexinfo_t for texinfo before writing to bsp 2016-11-02 16:45:41 -06:00
Eric Wasylishen a6468984bf all: finish c++ification 2016-10-17 19:52:17 -06:00
Eric Wasylishen 60c0b64906 qbsp: change mapdata_t to use std::vector 2016-03-20 14:02:31 -06:00
Eric Wasylishen 3db441eea2 qbsp: rename files to .cc 2016-03-12 13:02:28 -07:00