qbsp3: wip; converting to use ericw-tools/common

This commit is contained in:
Eric Wasylishen 2017-10-05 13:24:23 -06:00
parent fc1475b4de
commit 32a5a56c8f
11 changed files with 57 additions and 56 deletions

View File

@ -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)

View File

@ -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 ; i<brush->numsides ; 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;

View File

@ -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");

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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)
{
}

View File

@ -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 ; i<w->numpoints ; 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];

View File

@ -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;

View File

@ -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 <common/cmdlib.hh>
#include <common/mathlib.hh>
//#include <common/scriplib.hh>
#include <common/polylib.hh>
#include <common/threads.hh>
#include <common/bspfile.hh>
#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);
//=============================================================================