From 32a5a56c8f923f7950c61d40381ee97ea1a4a4c8 Mon Sep 17 00:00:00 2001 From: Eric Wasylishen Date: Thu, 5 Oct 2017 13:24:23 -0600 Subject: [PATCH] qbsp3: wip; converting to use ericw-tools/common --- qbsp3/CMakeLists.txt | 29 +++++++++++++++-------------- qbsp3/brushbsp.cc | 16 ++++++++-------- qbsp3/csg.cc | 2 +- qbsp3/faces.cc | 10 +++++----- qbsp3/gldraw.cc | 6 +++--- qbsp3/glfile.cc | 4 ++-- qbsp3/map.cc | 6 +++--- qbsp3/nodraw.cc | 2 +- qbsp3/portals.cc | 12 ++++++------ qbsp3/prtfile.cc | 2 +- qbsp3/qbsp.h | 24 ++++++++++++------------ 11 files changed, 57 insertions(+), 56 deletions(-) diff --git a/qbsp3/CMakeLists.txt b/qbsp3/CMakeLists.txt index c68f8373..768943a8 100644 --- a/qbsp3/CMakeLists.txt +++ b/qbsp3/CMakeLists.txt @@ -3,16 +3,18 @@ project (qbsp3 CXX) add_definitions(-DDOUBLEVEC_T) -include_directories("${CMAKE_SOURCE_DIR}/common") +if (UNIX) +add_definitions(-DLINUX) +endif (UNIX) + +include_directories("${CMAKE_SOURCE_DIR}/../include") set(QBSP3_HEADERS - common/bspfile.h - common/cmdlib.h - common/mathlib.h - common/polylib.h - common/qfiles.h - common/scriplib.h - common/threads.h + ../include/common/bspfile.hh + ../include/common/cmdlib.hh + ../include/common/mathlib.hh + ../include/common/polylib.hh + ../include/common/threads.hh qbsp.h) set(QBSP3_SOURCES @@ -29,12 +31,11 @@ set(QBSP3_SOURCES textures.cc writebsp.cc csg.cc - common/cmdlib.cc - common/mathlib.cc - common/polylib.cc - common/scriplib.cc - common/threads.cc - common/bspfile.cc) + ../common/cmdlib.cc + ../common/mathlib.cc + ../common/polylib.cc + ../common/threads.cc + ../common/bspfile.cc) find_package (Threads) diff --git a/qbsp3/brushbsp.cc b/qbsp3/brushbsp.cc index 943aacbb..afe2c402 100644 --- a/qbsp3/brushbsp.cc +++ b/qbsp3/brushbsp.cc @@ -136,7 +136,7 @@ Sets the mins/maxs based on the windings void BoundBrush (bspbrush_t *brush) { int i, j; - winding_t *w; + polylib::winding_t *w; ClearBounds (brush->mins, brush->maxs); for (i=0 ; inumsides ; i++) @@ -158,7 +158,7 @@ CreateBrushWindings void CreateBrushWindings (bspbrush_t *brush) { int i, j; - winding_t *w; + polylib::winding_t *w; side_t *side; plane_t *plane; @@ -225,7 +225,7 @@ BrushVolume vec_t BrushVolume (bspbrush_t *brush) { int i; - winding_t *w; + polylib::winding_t *w; vec3_t corner; vec_t d, area, volume; plane_t *plane; @@ -522,7 +522,7 @@ int TestBrushToPlanenum (bspbrush_t *brush, int planenum, int i, j, num; plane_t *plane; int s; - winding_t *w; + polylib::winding_t *w; vec_t d, d_front, d_back; int front, back; @@ -616,7 +616,7 @@ existance by the vertex snapping. ================ */ #define EDGE_LENGTH 0.2 -qboolean WindingIsTiny (winding_t *w) +qboolean WindingIsTiny (polylib::winding_t *w) { #if 0 if (WindingArea (w) < 1) @@ -652,7 +652,7 @@ Returns true if the winding still has one of the points from basewinding for plane ================ */ -qboolean WindingIsHuge (winding_t *w) +qboolean WindingIsHuge (polylib::winding_t *w) { int i, j; @@ -895,7 +895,7 @@ BrushMostlyOnSide int BrushMostlyOnSide (bspbrush_t *brush, plane_t *plane) { int i, j; - winding_t *w; + polylib::winding_t *w; vec_t d, max; int side; @@ -937,7 +937,7 @@ void SplitBrush (bspbrush_t *brush, int planenum, { bspbrush_t *b[2]; int i, j; - winding_t *w, *cw[2], *midwinding; + polylib::winding_t *w, *cw[2], *midwinding; plane_t *plane, *plane2; side_t *s, *cs; float d, d_front, d_back; diff --git a/qbsp3/csg.cc b/qbsp3/csg.cc index 7d20beb4..5b9930e4 100644 --- a/qbsp3/csg.cc +++ b/qbsp3/csg.cc @@ -394,7 +394,7 @@ void WriteBrushMap (char *name, bspbrush_t *list) FILE *f; side_t *s; int i; - winding_t *w; + polylib::winding_t *w; printf ("writing %s\n", name); f = fopen (name, "wb"); diff --git a/qbsp3/faces.cc b/qbsp3/faces.cc index 238a20c3..530095e5 100644 --- a/qbsp3/faces.cc +++ b/qbsp3/faces.cc @@ -265,7 +265,7 @@ EmitFaceVertexes */ void EmitFaceVertexes (node_t *node, face_t *f) { - winding_t *w; + polylib::winding_t *w; int i; if (f->merged || f->split[0] || f->split[1]) @@ -688,10 +688,10 @@ Returns NULL if the faces couldn't be merged, or the new face. The originals will NOT be freed. ============= */ -winding_t *TryMergeWinding (winding_t *f1, winding_t *f2, vec3_t planenormal) +polylib::winding_t *TryMergeWinding (polylib::winding_t *f1, polylib::winding_t *f2, vec3_t planenormal) { vec_t *p1, *p2, *p3, *p4, *back; - winding_t *newf; + polylib::winding_t *newf; int i, j, k, l; vec3_t normal, delta; vec_t dot; @@ -798,7 +798,7 @@ The originals will NOT be freed. face_t *TryMerge (face_t *f1, face_t *f2, vec3_t planenormal) { face_t *newf; - winding_t *nw; + polylib::winding_t *nw; if (!f1->w || !f2->w) return NULL; @@ -878,7 +878,7 @@ void SubdivideFace (node_t *node, face_t *f) q2_texinfo_t *tex; vec3_t temp; vec_t dist; - winding_t *w, *frontw, *backw; + polylib::winding_t *w, *frontw, *backw; if (f->merged) return; diff --git a/qbsp3/gldraw.cc b/qbsp3/gldraw.cc index 08ab9c45..1fb7a5c7 100644 --- a/qbsp3/gldraw.cc +++ b/qbsp3/gldraw.cc @@ -120,7 +120,7 @@ void Draw_SetBlack (void) glColor3f (0,0,0); } -void DrawWinding (winding_t *w) +void DrawWinding (polylib::winding_t *w) { int i; @@ -142,7 +142,7 @@ void DrawWinding (winding_t *w) glFlush (); } -void DrawAuxWinding (winding_t *w) +void DrawAuxWinding (polylib::winding_t *w) { int i; @@ -208,7 +208,7 @@ void GLS_BeginScene (void) } } -void GLS_Winding (winding_t *w, int code) +void GLS_Winding (polylib::winding_t *w, int code) { byte buf[1024]; int i, j; diff --git a/qbsp3/glfile.cc b/qbsp3/glfile.cc index 6d767772..485590a0 100644 --- a/qbsp3/glfile.cc +++ b/qbsp3/glfile.cc @@ -46,7 +46,7 @@ int PortalVisibleSides (portal_t *p) return 0; } -void OutputWinding (winding_t *w, FILE *glview) +void OutputWinding (polylib::winding_t *w, FILE *glview) { static int level = 128; vec_t light; @@ -75,7 +75,7 @@ OutputPortal */ void OutputPortal (portal_t *p, FILE *glview) { - winding_t *w; + polylib::winding_t *w; int sides; sides = PortalVisibleSides (p); diff --git a/qbsp3/map.cc b/qbsp3/map.cc index 9f865070..d9c0a94e 100644 --- a/qbsp3/map.cc +++ b/qbsp3/map.cc @@ -348,7 +348,7 @@ void AddBrushBevels (mapbrush_t *b) side_t *s, *s2; vec3_t normal; float dist; - winding_t *w, *w2; + polylib::winding_t *w, *w2; vec3_t vec, vec2; float d; @@ -492,7 +492,7 @@ makes basewindigs for sides and mins / maxs for the brush qboolean MakeBrushWindings (mapbrush_t *ob) { int i, j; - winding_t *w; + polylib::winding_t *w; side_t *side; plane_t *plane; @@ -975,7 +975,7 @@ void TestExpandBrushes (void) FILE *f; side_t *s; int i, j, bn; - winding_t *w; + polylib::winding_t *w; const char *name = "expanded.map"; mapbrush_t *brush; vec_t dist; diff --git a/qbsp3/nodraw.cc b/qbsp3/nodraw.cc index fd6959d8..d493c7fa 100644 --- a/qbsp3/nodraw.cc +++ b/qbsp3/nodraw.cc @@ -38,7 +38,7 @@ void GLS_BeginScene (void) { } -void GLS_Winding (winding_t *w, int code) +void GLS_Winding (polylib::winding_t *w, int code) { } diff --git a/qbsp3/portals.cc b/qbsp3/portals.cc index cf7f09c9..d9837013 100644 --- a/qbsp3/portals.cc +++ b/qbsp3/portals.cc @@ -236,7 +236,7 @@ void RemovePortalFromNode (portal_t *portal, node_t *l) void PrintPortal (portal_t *p) { int i; - winding_t *w; + polylib::winding_t *w; w = p->winding; for (i=0 ; inumpoints ; i++) @@ -322,9 +322,9 @@ BaseWindingForNode #define BASE_WINDING_EPSILON 0.001 #define SPLIT_WINDING_EPSILON 0.001 -winding_t *BaseWindingForNode (node_t *node) +polylib::winding_t *BaseWindingForNode (node_t *node) { - winding_t *w; + polylib::winding_t *w; node_t *n; plane_t *plane; vec3_t normal; @@ -357,7 +357,7 @@ winding_t *BaseWindingForNode (node_t *node) //============================================================ -qboolean WindingIsTiny (winding_t *w); +qboolean WindingIsTiny (polylib::winding_t *w); /* ================== @@ -370,7 +370,7 @@ and clipping it by all of parents of this node void MakeNodePortal (node_t *node) { portal_t *new_portal, *p; - winding_t *w; + polylib::winding_t *w; vec3_t normal; float dist; int side; @@ -433,7 +433,7 @@ void SplitNodePortals (node_t *node) node_t *f, *b, *other_node; int side; plane_t *plane; - winding_t *frontwinding, *backwinding; + polylib::winding_t *frontwinding, *backwinding; plane = &mapplanes[node->planenum]; f = node->children[0]; diff --git a/qbsp3/prtfile.cc b/qbsp3/prtfile.cc index 8bcd21fc..999b3e82 100644 --- a/qbsp3/prtfile.cc +++ b/qbsp3/prtfile.cc @@ -55,7 +55,7 @@ void WritePortalFile_r (node_t *node) { int i, s; portal_t *p; - winding_t *w; + polylib::winding_t *w; vec3_t normal; vec_t dist; diff --git a/qbsp3/qbsp.h b/qbsp3/qbsp.h index af032e43..5ea4529b 100644 --- a/qbsp3/qbsp.h +++ b/qbsp3/qbsp.h @@ -20,12 +20,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA =========================================================================== */ -#include "cmdlib.h" -#include "mathlib.h" -#include "scriplib.h" -#include "polylib.h" -#include "threads.h" -#include "bspfile.h" +#include +#include +//#include +#include +#include +#include #define MAX_BRUSH_SIDES 128 #define CLIP_EPSILON 0.1 @@ -56,7 +56,7 @@ typedef struct side_s { int planenum; int texinfo; - winding_t *winding; + polylib::winding_t *winding; struct side_s *original; // bspbrush_t sides will reference the mapbrush_t sides int contents; // from miptex int surf; // from miptex @@ -97,7 +97,7 @@ typedef struct face_s int planenum; int contents; // faces in different contents can't merge int outputnumber; - winding_t *w; + polylib::winding_t *w; int numpoints; qboolean badstartvert; // tjunctions cannot be fixed without a midpoint vertex int vertexnums[MAXEDGES]; @@ -148,7 +148,7 @@ typedef struct portal_s node_t *onnode; // NULL = outside box node_t *nodes[2]; // [0] = front side of plane struct portal_s *next[2]; - winding_t *winding; + polylib::winding_t *winding; qboolean sidefound; // false if ->side hasn't been checked side_t *side; // NULL = non-visible @@ -236,10 +236,10 @@ extern vec3_t draw_mins, draw_maxs; extern qboolean drawflag; void Draw_ClearWindow (void); -void DrawWinding (winding_t *w); +void DrawWinding (polylib::winding_t *w); void GLS_BeginScene (void); -void GLS_Winding (winding_t *w, int code); +void GLS_Winding (polylib::winding_t *w, int code); void GLS_EndScene (void); //============================================================================= @@ -302,7 +302,7 @@ void MakeTreePortals (tree_t *tree); // glfile.c -void OutputWinding (winding_t *w, FILE *glview); +void OutputWinding (polylib::winding_t *w, FILE *glview); void WriteGLView (tree_t *tree, char *source); //=============================================================================