Commit Graph

402 Commits

Author SHA1 Message Date
Eric Wasylishen 2121e73386 qbsp: fix -onlyents, broken in c++-ifying 2016-04-03 18:20:31 -06:00
Eric Wasylishen 177e037de3 qbsp: better bounds checking for mapbrush_t::face and mapentity_t::mapbrush 2016-03-20 20:02:39 -06:00
Eric Wasylishen 86e92ee6b3 qbsp: add missing include 2016-03-20 14:08:34 -06:00
Eric Wasylishen 60c0b64906 qbsp: change mapdata_t to use std::vector 2016-03-20 14:02:31 -06:00
Eric Wasylishen f3639eb1e3 qbsp: csg: rewrite planefaces structure to use std::map 2016-03-12 14:23:26 -07:00
Eric Wasylishen 4ee88ede3b qbsp: turn map.num* into functions 2016-03-12 13:50:24 -07:00
Eric Wasylishen 3db441eea2 qbsp: rename files to .cc 2016-03-12 13:02:28 -07:00
Eric Wasylishen ecff3f77a8 qbsp: add casts to compile as c++ 2016-03-12 13:00:33 -07:00
Eric Wasylishen 923118dfc6 qbsp: convert qbsp.c to c++ 2016-03-11 20:43:05 -07:00
Eric Wasylishen 4f66bd7ddc qbsp: grow texinfo array as needed 2016-03-11 19:30:20 -07:00
Eric Wasylishen 6e94f6a1c2 qbsp: c++ compat changes 2016-03-11 19:25:55 -07:00
Eric Wasylishen a4c24ac0fa qbsp: add -objexport flag to export to obj 2016-03-11 18:29:24 -07:00
Eric Wasylishen 41972a376a qbsp, light: Strip texinfo flags other than TEX_SPECIAL.
Write extended ones to a "mapname.texinfo" file.
Support "_dirt" and "_minlight" flags on func_detail/group.
2016-03-05 00:26:54 -07:00
Eric Wasylishen 492d94c1fe light: new phong shading keys, "_phong_angle" and "_phong".
"_phong" "1" is a shortcut for "_phong_angle" "89".
"_phong_angle" sets the max angle in degrees between faces that will get smoothed.
2016-03-02 20:00:05 -07:00
Eric Wasylishen 1a436d8f13 qbsp: fix for comments not incrementing line count.
fixes https://github.com/ericwa/tyrutils-ericw/issues/11
2016-02-25 13:17:53 -07:00
Eric Wasylishen 7128a8e956 code formatting, normalize most whitespace to 4 spaces 2016-02-15 16:20:29 -07:00
Eric Wasylishen 1da64c0db4 Fix bspx lump padding logic 2016-02-15 16:20:29 -07:00
Eric Wasylishen 1f05b7976a fix wrong FindTexinfo call
fix Lightmap_ForStyle call
change M_PI to Q_PI
switch to Q_strncasecmp
2016-02-15 16:18:51 -07:00
Eric Wasylishen 1630b8756e tyrutils-ericw-spike rebased on to 998c9d3acb 2016-02-15 16:16:37 -07:00
Eric Wasylishen 998c9d3acb qbsp: add hint to use -bsp2 to fix "Too many vertices" error. 2015-12-16 12:27:57 -07:00
Eric Wasylishen ab268ab9ba qbsp: CheckFace: print position of non-convex face 2015-12-10 15:58:40 -07:00
Eric Wasylishen 99d5a4d4f9 build: setup CPack to package binaries in a zip file 2015-12-09 16:23:36 -08:00
Eric Wasylishen dd440699fc qbsp: remove 128 character limit on key+value line 2015-12-08 23:25:53 -07:00
Eric Wasylishen 063786bf02 build: fix spurious errors in VS2015 IDE 2015-12-07 14:37:46 -08:00
Eric Wasylishen 420125cc67 replace tabs with spaces.
for FILE in $(find . -name "*.h" -or -name "*.c"); do cat $FILE | expand > temp; cat temp > $FILE; done
2015-12-07 15:08:48 -07:00
Eric Wasylishen 0ec1c96a06 build: fix warning 2015-12-07 14:40:44 -07:00
Eric Wasylishen c149ed2bf6 build: VS2015 support 2015-12-07 14:23:13 -07:00
Eric Wasylishen 5face9dd51 qbsp: round texture vector values that are within ZERO_EPSILON of integers,
to attempt to attempt to work around corrupted lightmap sizes in DarkPlaces
(it uses 32 bit precision in CalcSurfaceExtents)
2015-12-04 15:49:23 -08:00
Eric Wasylishen fee62faa24 qbsp: Print coordinates in "CheckFace: too few points" error 2015-11-20 17:15:59 -07:00
Eric Wasylishen a5a2de6c6f qbsp: add coordinates to "New portal was clipped away" warning, from txqbsp-xt 2015-10-26 13:42:42 -06:00
Eric Wasylishen fddb87287a qbsp: DividePlane: always use bugfix from 7e7d851 regardless of maxNodeSize setting 2015-10-23 17:22:05 -06:00
Eric Wasylishen 0bc85020d2 qbsp: ChooseMidPlaneFromList: mark detail separators on the final SolidBSP pass. 2015-10-19 20:19:25 -06:00
Eric Wasylishen 44e1eccca6 qbsp: change detail handling, from qbsp-xt.
MidSplit now does two passes (structural/detail), like ChoosePlaneFromList.
Now, the first pass will pick among planes that have at least one structural face, and zero or more detail faces.
The second pass will pick among planes that have no structural faces, and zero or more detail faces.

This fixes the hull 1 leak in telefragged.map introduced when I added txqbsp's maxNodeSize feature,
and also reduces the cluster and portal count in jam6_ericwtronyn.map a bit.
2015-10-18 14:28:36 -06:00
Eric Wasylishen ddfa2c7ad5 merge: don't merge detail and non-detail 2015-10-18 00:21:09 -06:00
Eric Wasylishen a596187841 hexen2 support: fix "qbsp -onlyents" which broke with the hexen2 patch 2015-10-17 01:38:24 -06:00
Eric Wasylishen a3b985e721 hexen2 support, patch from Spike 2015-10-16 21:18:53 -06:00
Eric Wasylishen a75de817b1 qbsp: add -epsilon option to set ON_EPSILON, from txqbsp-xt 2015-09-27 00:53:55 -06:00
Eric Wasylishen 7e7d851fdb qbsp: DividePlane: add missing recalculation of surface bbox for the parallel case.
Thanks to rebb for the idea, txqbsp has the workaround in SelectPartition that recomputes the surface bbox; I think this fixes the underlying bug though.

Note: this makes telefragged.map (from the RRP devkit) leak in hull 2.
However, the point file starts at a func_detail staircase that, if turned into func_wall, fixes the leak.
2015-09-16 22:49:33 -06:00
Eric Wasylishen 3322ffb8f3 qbsp: add -maxnodesize option from txqbsp-xt. Defaults to on, nodes with a bbox with any dimension exceeding 1024. 2015-09-16 21:31:44 -06:00
Eric Wasylishen 20901a5a7d qbsp: update usage text 2015-08-09 13:45:30 -06:00
Eric Wasylishen 3877a213a0 qbsp: use -oldaxis by default 2015-08-09 13:36:13 -06:00
Eric Wasylishen a7b1ae851b qbsp: make degenerate edge error in tjunc.c into a warning. from txqbsp-xt. 2015-08-01 20:07:51 -06:00
Eric Wasylishen 9fd7305479 qbsp: make "mixed face contents" error non-fatal if one of the leafnode or face is CONTENTS_EMPTY. from txqbsp-xt.
Fixes an issue necros was having.
2015-07-30 18:33:52 -06:00
Eric Wasylishen 3a109ac84d build: split up cmake build system into subprojects.
-DDOUBLEVEC_T now correctly used for qbsp only.
2015-05-05 12:34:39 -06:00
Eric Wasylishen 67cec03ac8 qbsp: fix broken -onlyents option by moving model allocation from map.c to ExportDrawNodes 2015-04-29 16:07:14 -06:00
Eric Wasylishen ed66ed112e qbsp: fix texture offset on rotate_object, so they match in the editor. Added "-oldrottex" flag to revert to old behaviour. From txqbsp-xt. 2015-04-29 16:07:07 -06:00
Eric Wasylishen d77a7d768c qbsp: switch to hardcoded MAX_MAP_PLANES. counting unique planes was slow 2015-04-25 23:09:35 -06:00
Eric Wasylishen 28e460be9a qbsp: MakeFaceEdges: accelerate with a hash table to avoid slow O(n^2) search for edges 2015-04-25 22:49:40 -06:00
Eric Wasylishen 1812734037 qbsp: ChooseMidPlaneFromList: fix off-by-one error in axial plane test. On the first SolidBSP pass, gives fewer split nodes on bbin1.map (128k vs 199k) 2015-04-25 21:01:49 -06:00
Eric Wasylishen 5111c5485c qbsp: account for miptex struct in wad3 lump disksize
Here's another little tyrutils patch: in qbsp, I believe the
calculation of the "disksize" field of the miptex lumps when using
WAD3 textures is missing the size of the dmiptex_t struct (40 bytes),
causing the resulting bsp file to be slightly truncated.

I noticed this because one of Tronyn's levels (jam2_tronyn.bsp) was
crashing Quakespasm for me; it turned out the engine was trying to
read 40 bytes past the end of the file when loading the last texture
in the bsp. I got him to send over his map source, wads, and compiler;
he was using tyrutils 0.15 and wad3 format textures, and I confirmed
that this patch fixes the engine crash.

Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
2014-10-30 12:54:36 +10:30