Eric Wasylishen
60e7080e00
qbsp: remove FreeNodes call, double-free (?) on pwr1.map
2022-02-16 23:44:14 -07:00
Jonathan
542e6d63ad
fix detail (again)
2022-02-16 19:54:12 -05:00
Jonathan
b0ece93f83
Fix/implement animated textures for Q2
2022-02-16 19:23:19 -05:00
Eric Wasylishen
6b5b426636
qbsp: remove internal list in face_t
2022-02-07 00:02:51 -07:00
Jonathan
ed325eedea
surface faces now use list/vector
2022-02-06 11:39:22 -07:00
Jonathan
4cf6bc9e28
Merge branch 'type-cleanup' of https://github.com/Paril/ericw-tools into type-cleanup
2022-02-05 13:32:11 -05:00
Jonathan
b7a06f4bb3
Don't automatically assign SOLID to brushes that have a valid trace type
...
Fix mixed contents warning displaying the wrong contents
2022-02-05 13:32:06 -05:00
Jonathan
0392698bd3
Fix for engines that require edges reference valid vertices (edge 0 references vertex 0 but it might not be set in some cases)
...
Change `Brush_GetContents` again so that clip works
2022-02-05 13:18:21 -05:00
Eric Wasylishen
8531286777
qbsp: replace `-nothreads` with `-threads 1` for consistency with light/vis
2022-01-30 17:50:21 -07:00
Eric Wasylishen
5c897000f3
qbsp: make -nofill still write out .prt file, for diagnosis
2022-01-29 19:22:30 -07:00
Eric Wasylishen
aa71025970
cmake: add some hacks to copy TBB .dll's
2022-01-29 15:57:00 -07:00
Jonathan
15484b55f8
Use better tjunction vertex addition
...
Parallel MergeAll
Allow modifyable iterators from polylib; resizing may invalidate them however
2022-01-28 09:45:29 -05:00
Jonathan
c7d48e9c11
Remove entity bounds print
2022-01-27 04:08:58 -05:00
Jonathan
4f32722dfc
Multiply bounds by 2 so we have less room for leaks
2022-01-27 04:08:31 -05:00
Jonathan
d076920665
Revert "Instead of calculating brush extents globally, do it per brush creation"
...
This reverts commit 069720078f .
2022-01-27 01:52:08 -05:00
Jonathan
069720078f
Instead of calculating brush extents globally, do it per brush creation
...
Use portal node bounds for extents
2022-01-27 01:03:38 -05:00
Jonathan
3f37de95a5
Fix tests
2022-01-26 18:15:53 -05:00
Jonathan
571e7337fc
Fix the temporary hintskip detection and finally move it to gamedef
...
Dynamic extent calculation - turned on by default - will automatically determine the extents used for winding_from_plane beforehand. On a 50kb .map file it only takes about 10ms, so for the majority of maps it should be instantaneous.
2022-01-26 18:03:31 -05:00
Jonathan
40807048f5
since faces are dynamic now, we don't need a temporary superface
2022-01-25 17:58:03 -05:00
Jonathan
f9f76b6dbb
skip the flips - saves us a bit of time!
2022-01-25 04:18:52 -05:00
Jonathan
674be0c812
Fix a few messages (missing newlines, period in wrong place)
...
Use fragments to store TJunction bits instead of having them in separate-but-chained faces
2022-01-25 03:23:39 -05:00
Jonathan
dfd31d7441
make markfaces a vector to simplify usage
2022-01-25 00:13:12 -05:00
Jonathan
6dadb1d8f6
slight speed boost on large maps by merging this loop into one (saves calculating metrics twice)
2022-01-24 15:10:26 -05:00
Jonathan
1764afb475
Revert "Revert "make brush::faces a vector""
...
This reverts commit 11d2d51165 .
Fixes implementation - was swapped logic in brush bevels
2022-01-24 14:55:21 -05:00
Jonathan
c9243d4fea
If we have a leak, reset occupied value so that FindOccupiedClusters can be re-entered later for areas
2022-01-24 14:41:37 -05:00
Jonathan
11d2d51165
Revert "make brush::faces a vector"
...
This reverts commit 30c7ef94ac .
This was causing issues with bevel brushes in Q2 mode. Not sure why yet. Will attempt this again soonish.
2022-01-24 14:26:28 -05:00
Jonathan
be865bc5b8
Fix `face_get_contents` not handling hintskip properly
...
Simplify `Brush_GetContents` and use the first non-skip face as the base contents
Move period out of `LoadExternalMap` error message so it doesn't confuse the reader
Fix `WriteEntitiesToString` crashing on entities without any brushes (note: need a column/line on mapentity in future)
2022-01-23 23:18:59 -05:00
Jonathan
e92b9f1ff9
Fix miscalculation for has_struct
...
Remove unused variable
2022-01-23 21:48:24 -05:00
Jonathan
5d6d7a71a2
Fix missing includes for list
2022-01-23 19:28:50 -05:00
Jonathan
75339df231
Simplify surface_t by using lists
2022-01-23 19:00:01 -05:00
Jonathan
5f81657621
move calculatesurfaceinfo into a member func
2022-01-23 00:46:11 -05:00
Jonathan
5dd2deba8e
use custom type for two-sided things to simplify brain power (.front/.back is easier to process than [0]/[1])
2022-01-23 00:26:58 -05:00
Jonathan
5a2d522892
partial revert of 1dee7269d6 - restores old tool behavior w/r/g noclipfaces
2022-01-22 21:46:32 -05:00
Jonathan
6c20e49cc3
change the flow of `face_get_contents` a bit; move earlier code into this block
...
remove `Brush_IsDetail`, as it's legacy and not required any more
MIST is no longer automatically "CFLAGS_DETAIL_ILLUSIONARY"
MIST/AUX default to _mirrorinside 1 if it's not set, matching vanilla behavior
2022-01-22 21:26:57 -05:00
Eric Wasylishen
edec33ad93
Merge branch 'type-cleanup' of https://github.com/Paril/ericw-tools into pr/322
2022-01-22 16:28:14 -07:00
Eric Wasylishen
d340bd06a5
qbsp: RemapContentsForExport: fix for q2 structural faces completely covered by detail fence not rendering
...
at least in yquake2, (vanilla?). Remaps the detail fence to "window"
2022-01-22 16:28:08 -07:00
Jonathan
6895fea115
Merge branch 'type-cleanup' of https://github.com/Paril/ericw-tools into type-cleanup
2022-01-22 17:55:42 -05:00
Jonathan
8dbb18cc94
Use stem() instead of filename() when we're only wanting to change filename without extension
2022-01-22 17:55:37 -05:00
Eric Wasylishen
c31edc6599
qbsp: FindMiptex: fix empty optional access when a .wal couldn't be found
2022-01-22 15:32:14 -07:00
Jonathan
07dd73e5bc
Persist native contents when converting them to detail
...
Simplify hull areas
Q2's `face_get_contents` generated empty surfaces when SKIP was used. It now has another line of defense to ensure contents aren't set to empty, but I'm not sure where the other line of defense went that was supposed to do this.
Remove old comment
2022-01-22 17:23:51 -05:00
Jonathan
68424edb8d
introduce a flag for whether the target game supports bmodels with contents
...
move the check in SubdivideFace so that it can early-exit if subdivision isn't even enabled
2022-01-21 00:51:06 -05:00
Jonathan
008d6db056
Fix detail for Q2 maps
...
Simplify winding::flip
Add an assert that a generated surface has a non-empty bounds (have a map that generates a face with 0,0,0 bounds)
2022-01-20 19:25:58 -05:00
Jonathan
0cca14d1b2
Fix bug in bitangent calculation - thank you AlexP
...
Allow `calc_sides` to skip writing outputs if they are not required, & return counts since they are constant sized
2022-01-20 16:35:56 -05:00
Jonathan
02a4463d00
include <list>
2022-01-17 16:24:29 -05:00
Jonathan
b824acb376
Reverse ordering of faces to match old code
...
Fix missing max(1) on leaf/cluster counts
2022-01-17 16:09:10 -05:00
Jonathan
63b8608799
Remove unused functions & tests
...
Fix test harness
2022-01-17 14:35:18 -05:00
Jonathan
53b4f640e2
use vector<brush_t> directly now
2022-01-17 11:06:13 -05:00
Jonathan
1a0b8c724a
use vector of unique_ptrs for brushes; temporary, going to simplify it further
2022-01-17 10:42:24 -05:00
Jonathan
30c7ef94ac
make brush::faces a vector
2022-01-17 09:49:10 -05:00
Jonathan
60070e27b2
Merge branch 'type-cleanup' of https://github.com/Paril/ericw-tools into type-cleanup
2022-01-17 09:16:27 -05:00