Commit Graph

2495 Commits

Author SHA1 Message Date
Eric Wasylishen 2f46867513 docs: skeleton setup of Sphinx 2022-01-26 23:19:37 -07: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 93505a88b2 Merge branch 'type-cleanup' of https://github.com/Paril/ericw-tools into type-cleanup 2022-01-26 18:03:36 -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
Eric Wasylishen 84020b1335 Restore "skip the flips - saves us a bit of time!"
BSP output changes (should just be face order though)
2022-01-25 21:50:52 -07:00
Eric Wasylishen 0af808021e testmaps: hook up newer test maps 2022-01-25 21:23:44 -07:00
Eric Wasylishen e15ef63efe Merge branch 'pr/322' into buildfix 2022-01-25 21:12:25 -07:00
Eric Wasylishen 6986328944 Merge commit '40807048f53565844c13c99905af3f6bdde0946e' into buildfix
# Conflicts:
#	qbsp/tjunc.cc
2022-01-25 21:12:07 -07:00
Eric Wasylishen d524edb6c6 Merge commit '0414c77c197f91415519df74e3f8f1d3649b8506' into buildfix 2022-01-25 21:04:04 -07:00
Eric Wasylishen f972a41037 partial revert of "skip the flips - saves us a bit of time!" 2022-01-25 20:51:36 -07:00
Eric Wasylishen 19dbc1c1c8 polylib: fix compile error with clang 2022-01-25 19:55:07 -07:00
Eric Wasylishen 7e6ae905db testmaps: add qbsp_tjunc_many_sided_face.map 2022-01-25 19:50:21 -07:00
Jonathan 40807048f5 since faces are dynamic now, we don't need a temporary superface 2022-01-25 17:58:03 -05:00
Jonathan 0414c77c19 Use copies rather than moving for conversion, so that graceful upgrades are graceful again 2022-01-25 04:49:20 -05:00
Jonathan ff2ff5c87f fix emplace UB 2022-01-25 04:21:07 -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 ec82127cf8 Merge branch 'type-cleanup' of https://github.com/Paril/ericw-tools into type-cleanup 2022-01-23 17:35:24 -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
Eric Wasylishen 465aa791f5 testmaps: update qbspfeatures.bsp expected output
changed due to noclipfaces related change in prev commit
2022-01-22 21:11:31 -07:00
Jonathan 5a2d522892 partial revert of 1dee7269d6 - restores old tool behavior w/r/g noclipfaces 2022-01-22 21:46:32 -05:00
Jonathan 2f7a68a9e2 Fix making entire world detail 2022-01-22 21:39:15 -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 c9f2502118 Fix swap 2022-01-20 19:50:05 -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