Commit Graph

2127 Commits

Author SHA1 Message Date
Eric Wasylishen 195921a916 vis: various fixes for vising q2 maps 2021-09-18 00:04:33 -06:00
Eric Wasylishen ca0fbba4bf qbsp: write correct .prt file for Q2 (PRT1 with clusters) 2021-09-18 00:02:32 -06:00
Jonathan 261f08f132 Attempt (but failure) at fixing Q2 vis 2021-09-17 04:49:04 -04:00
Jonathan 17606fde4b Use variant instead of having all BSP types allocated at once (even though they are smol)
Move ownership of pointers to the bsp structures themselves for now.
2021-09-16 11:52:37 -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 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 7e305602c3 not using astyle 2021-09-14 02:34:13 -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 05e20a3360 astyle project; not using yet 2021-09-13 14:14:33 -04:00
Jonathan facf3490c7 typedef changes 2021-09-13 13:04:18 -04:00
Jonathan f89d5534b6 yay I can test tests now 2021-09-13 11:24:40 -04:00
Jonathan 4944ea36c7 set game on tests 2021-09-13 11:15:08 -04:00
Jonathan 75c303b503 last fix :( 2021-09-13 11:03:10 -04:00
Jonathan e3378432ff Fix test_qbsp (needs proper fixes, this is just a temp one) 2021-09-13 10:24:14 -04:00
Jonathan c575334dff Fix testlight 2021-09-13 10:15:11 -04:00
Jonathan ae02ff5393 Implement leafbrushes cache
Fix bmodel leafbrushes (tank Spoike)
2021-09-12 13:27:39 -04:00
Jonathan 42cc946db1 Fix texinfo 2021-09-12 11:14:52 -04:00
Jonathan 1cf9817092 JSON output support 2021-09-12 11:10:21 -04:00
Jonathan 91f0c47128 remove test code
fix two errors
2021-09-12 08:38:21 -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 35040d1bd3 Q2 working sorta 2021-09-09 02:13:28 -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 398b865c96 throw array in there too 2021-09-06 22:13:45 -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 dd3bcebe39 Fix missing newline 2021-09-06 17:29:09 -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
Jonathan 8c7df2b062 Merge branch 'master' into qbsp-use-common
# Conflicts:
#	qbsp/writebsp.cc
2021-09-06 17:25:12 -04:00
Jonathan 3bc9b1b0f8 Instead of directly comparing BSP version pointers just for game type, I compacted quake2/hexen2 into a single enum.
Feature check in bspver for colored lightmaps, which replaces the many "version == q2 || version == qbism || version == hl".
2021-09-06 17:13:37 -04:00
Eric Wasylishen 99f1da85a7 Merge remote-tracking branch 'origin/master' into qbsp-use-common 2021-09-06 15:12:09 -06:00
Eric Wasylishen 5fef157f53 qbsp: take floor/ceil of node/leaf bounds even for bsp2
for consistency with refactor branch
2021-09-06 14:53:05 -06:00
Eric Wasylishen 71bb22dc28 qbsp: auto switch to extended limits formats 2021-09-06 14:20:51 -06:00
Eric Wasylishen b1892d6aa3 qbsp: merge from master 2021-09-06 13:52:28 -06:00
Eric Wasylishen 648ef89845 qbsp: naming fix 2021-09-06 13:44:36 -06:00
Eric Wasylishen d85ca375e5 qbsp: fix node/leaf mins/maxs calculations
they should use floor/ceil.

Otherwise a node with max X=10.5 will be written
to bsp29 as having a max of 10
2021-09-06 12:03:59 -06:00
Eric Wasylishen dc81db8b2f testmaps: add phongtest2.map 2021-09-05 17:57:13 -06:00
Jonathan 8fd1d89b8d Fix double-delete
Fix typo
2021-09-05 17:39: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 c90ac7d6a7 common: bsp29: validate edges/marksurfaces 2021-09-05 01:28:58 -06:00
Eric Wasylishen 948932f333 common: bsp29: validate clipnodes 2021-09-05 01:10:23 -06:00
Eric Wasylishen a0ccb765e8 common: validate bsp29 nodes and faces 2021-09-05 01:04:39 -06:00
Eric Wasylishen f978d2a8d5 common: start adding overflow checks to ConvertBSPFormat 2021-09-05 00:44:25 -06:00