qbsp3: wip; converting to use ericw-tools/common
This commit is contained in:
parent
fc1475b4de
commit
32a5a56c8f
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
24
qbsp3/qbsp.h
24
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 <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);
|
||||
|
||||
//=============================================================================
|
||||
|
|
|
|||
Loading…
Reference in New Issue