aboutsummaryrefslogtreecommitdiffstats
path: root/q3radiant/QERTYPES.H
diff options
context:
space:
mode:
Diffstat (limited to 'q3radiant/QERTYPES.H')
-rwxr-xr-xq3radiant/QERTYPES.H454
1 files changed, 0 insertions, 454 deletions
diff --git a/q3radiant/QERTYPES.H b/q3radiant/QERTYPES.H
deleted file mode 100755
index eeb99c1..0000000
--- a/q3radiant/QERTYPES.H
+++ /dev/null
@@ -1,454 +0,0 @@
-/*
-===========================================================================
-Copyright (C) 1999-2005 Id Software, Inc.
-
-This file is part of Quake III Arena source code.
-
-Quake III Arena source code is free software; you can redistribute it
-and/or modify it under the terms of the GNU General Public License as
-published by the Free Software Foundation; either version 2 of the License,
-or (at your option) any later version.
-
-Quake III Arena source code is distributed in the hope that it will be
-useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with Foobar; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-===========================================================================
-*/
-// qertypes.h
-//
-// common types
-// merged from brush.h, etc. for plugin support
-//
-#ifndef _QERTYPE_H
-#define _QERTYPE_H
-
-#ifndef __BYTEBOOL__
-#define __BYTEBOOL__
-typedef boolean qboolean;
-//typedef unsigned char byte;
-#endif
-
-#define MAXPOINTS 16
-
-typedef float vec_t;
-typedef vec_t vec2_t[2];
-typedef vec_t vec3_t[3];
-
-#include "splines/math_vector.h"
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846 // matches value in gcc v2 math.h
-#endif
-
-class texdef_t
-{
-public:
- texdef_t()
- {
- name = new char[1];
- name[0] = '\0';
- }
- ~texdef_t()
- {
- delete []name;
- name = NULL;
- }
-
- const char *Name( void )
- {
- if ( name ) {
- return name;
- }
-
- return "";
- }
-
- void SetName(const char *p)
- {
- if (name)
- {
- delete []name;
- }
- if (p)
- {
- name = strcpy(new char[strlen(p)+1], p);
- }
- else
- {
- name = new char[1];
- name[0] = '\0';
- }
- }
-
- texdef_t& operator =(const texdef_t& rhs)
- {
- if (&rhs != this)
- {
- SetName(rhs.name);
- shift[0] = rhs.shift[0];
- shift[1] = rhs.shift[1];
- rotate = rhs.rotate;
- scale[0] = rhs.scale[0];
- scale[1] = rhs.scale[1];
- contents = rhs.contents;
- flags = rhs.flags;
- value = rhs.value;
- }
- return *this;
- }
- //char name[128];
- char *name;
- float shift[2];
- float rotate;
- float scale[2];
- int contents;
- int flags;
- int value;
-};
-
-// Timo
-// new brush primitive texdef
-typedef struct brushprimit_texdef_s
-{
- vec_t coords[2][3];
-} brushprimit_texdef_t;
-
-class texturewin_t
-{
-public:
- texturewin_t()
- {
- }
- ~texturewin_t()
- {
- }
- int width, height;
- int originy;
- // add brushprimit_texdef_t for brush primitive coordinates storage
- brushprimit_texdef_t brushprimit_texdef;
- int m_nTotalHeight;
- // surface plugin, must be casted to a IPluginTexdef*
- void* pTexdef;
- texdef_t texdef;
-};
-
-#define QER_TRANS 0x00000001
-#define QER_NOCARVE 0x00000002
-
-typedef struct qtexture_s
-{
- struct qtexture_s *next;
- char name[64]; // includes partial directory and extension
- int width, height;
- int contents;
- int flags;
- int value;
- int texture_number; // gl bind number
-
- // name of the .shader file
- char shadername[1024]; // old shader stuff
- qboolean bFromShader; // created from a shader
- float fTrans; // amount of transparency
- int nShaderFlags; // qer_ shader flags
- vec3_t color; // for flat shade mode
- qboolean inuse; // true = is present on the level
-
- // cast this one to an IPluginQTexture if you are using it
- // NOTE: casting can be done with a GETPLUGINQTEXTURE defined in isurfaceplugin.h
- // TODO: if the __ISURFACEPLUGIN_H_ header is used, use a union { void *pData; IPluginQTexture *pPluginQTexture } kind of thing ?
- void *pData;
-
- //++timo FIXME: this is the actual filename of the texture
- // this will be removed after shader code cleanup
- char filename[64];
-
-} qtexture_t;
-
-// NOTE: don't trust this definition!
-// you should read float points[..][5]
-// see NewWinding definition
-#define MAX_POINTS_ON_WINDING 64
-typedef struct
-{
- int numpoints;
- int maxpoints;
- float points[8][5]; // variable sized
-} winding_t;
-
-typedef struct
-{
- vec3_t normal;
- double dist;
- int type;
-} plane_t;
-
-//++timo texdef and brushprimit_texdef are static
-// TODO : do dynamic ?
-typedef struct face_s
-{
- struct face_s *next;
- struct face_s *original; //used for vertex movement
- vec3_t planepts[3];
- texdef_t texdef;
- plane_t plane;
-
- winding_t *face_winding;
-
- vec3_t d_color;
- qtexture_t *d_texture;
-
- // Timo new brush primit texdef
- brushprimit_texdef_t brushprimit_texdef;
-
- // cast this one to an IPluginTexdef if you are using it
- // NOTE: casting can be done with a GETPLUGINTEXDEF defined in isurfaceplugin.h
- // TODO: if the __ISURFACEPLUGIN_H_ header is used, use a union { void *pData; IPluginTexdef *pPluginTexdef } kind of thing ?
- void *pData;
-} face_t;
-
-typedef struct {
- vec3_t xyz;
- float sideST[2];
- float capST[2];
-} curveVertex_t;
-
-typedef struct {
- curveVertex_t v[2];
-} sideVertex_t;
-
-
-#define MIN_PATCH_WIDTH 3
-#define MIN_PATCH_HEIGHT 3
-
-#define MAX_PATCH_WIDTH 16
-#define MAX_PATCH_HEIGHT 16
-
-// patch type info
-// type in lower 16 bits, flags in upper
-// endcaps directly follow this patch in the list
-
-// types
-#define PATCH_GENERIC 0x00000000 // generic flat patch
-#define PATCH_CYLINDER 0x00000001 // cylinder
-#define PATCH_BEVEL 0x00000002 // bevel
-#define PATCH_ENDCAP 0x00000004 // endcap
-#define PATCH_HEMISPHERE 0x00000008 // hemisphere
-#define PATCH_CONE 0x00000010 // cone
-#define PATCH_TRIANGLE 0x00000020 // simple tri, assumes 3x3 patch
-
-// behaviour styles
-#define PATCH_CAP 0x00001000 // flat patch applied as a cap
-#define PATCH_SEAM 0x00002000 // flat patch applied as a seam
-#define PATCH_THICK 0x00004000 // patch applied as a thick portion
-
-// styles
-#define PATCH_BEZIER 0x00000000 // default bezier
-#define PATCH_BSPLINE 0x10000000 // bspline
-
-#define PATCH_TYPEMASK 0x00000fff //
-#define PATCH_BTYPEMASK 0x0000f000 //
-#define PATCH_STYLEMASK 0xffff0000 //
-
-typedef struct {
- vec3_t xyz;
- float st[2];
- float lightmap[2];
- vec3_t normal;
-} drawVert_t;
-
-// used in brush primitive AND entities
-typedef struct epair_s
-{
- struct epair_s *next;
- char *key;
- char *value;
-} epair_t;
-
-struct brush_s;
-typedef struct brush_s brush_t;
-
-typedef struct {
- int width, height; // in control points, not patches
- int contents, flags, value, type;
- qtexture_t *d_texture;
- drawVert_t ctrl[MAX_PATCH_WIDTH][MAX_PATCH_HEIGHT];
- brush_t *pSymbiot;
- qboolean bSelected;
- qboolean bOverlay;
- qboolean bDirty;
- int nListID;
- epair_t *epairs;
- // cast this one to an IPluginTexdef if you are using it
- // NOTE: casting can be done with a GETPLUGINTEXDEF defined in isurfaceplugin.h
- // TODO: if the __ISURFACEPLUGIN_H_ header is used, use a union { void *pData; IPluginTexdef *pPluginTexdef } kind of thing ?
- void *pData;
-} patchMesh_t;
-
-typedef struct {
- int index;
- qtexture_t *texture;
- texdef_t texdef;
-} terrainFace_t;
-
-typedef struct {
- float height;
- float scale;
- terrainFace_t tri;
- vec4_t rgba;
- vec3_t normal;
- vec3_t xyz;
-} terrainVert_t;
-
-#define MAX_TERRAIN_TEXTURES 128
-typedef struct {
- int width, height;
-
- vec3_t mins, maxs;
- vec3_t origin;
- float scale_x;
- float scale_y;
-
- int numtextures;
- qtexture_t *textures[ MAX_TERRAIN_TEXTURES ];
-
- terrainVert_t *heightmap; // width * height
-
- epair_t *epairs;
-
- brush_s *pSymbiot;
- bool bSelected;
- bool bDirty;
- int nListID;
-} terrainMesh_t;
-
-typedef struct brush_s
-{
- struct brush_s *prev, *next; // links in active/selected
- struct brush_s *oprev, *onext; // links in entity
- struct entity_s *owner;
- vec3_t mins, maxs;
- face_t *brush_faces;
-
- qboolean bModelFailed;
- //
- // curve brush extensions
- // all are derived from brush_faces
- qboolean patchBrush;
- qboolean hiddenBrush;
- qboolean terrainBrush;
-
- //int nPatchID;
-
- patchMesh_t *pPatch;
- terrainMesh_t *pTerrain;
-
- struct entity_s *pUndoOwner;
-
- int undoId; //undo ID
- int redoId; //redo ID
- int ownerId; //entityId of the owner entity for undo
-
- // TTimo: HTREEITEM is MFC, some plugins really don't like it
-#ifdef QERTYPES_USE_MFC
- int numberId; // brush number
- HTREEITEM itemOwner; // owner for grouping
-#else
- int numberId;
- DWORD itemOwner;
-#endif
-
- // brush primitive only
- epair_t *epairs;
-
-} brush_t;
-
-
-#define MAX_FLAGS 8
-
-
-typedef struct trimodel_t
-{
- vec3_t v[3];
- float st[3][2];
-} trimodel;
-
-typedef struct entitymodel_t
-{
- struct entitymodel_t *pNext;
- int nTriCount;
- trimodel *pTriList;
- int nTextureBind;
- int nSkinWidth;
- int nSkinHeight;
- int nModelPosition;
-} entitymodel;
-
-
-// eclass show flags
-
-#define ECLASS_LIGHT 0x00000001
-#define ECLASS_ANGLE 0x00000002
-#define ECLASS_PATH 0x00000004
-#define ECLASS_MISCMODEL 0x00000008
-#define ECLASS_PLUGINENTITY 0x00000010
-
-typedef struct eclass_s
-{
- struct eclass_s *next;
- char *name;
- qboolean fixedsize;
- qboolean unknown; // wasn't found in source
- vec3_t mins, maxs;
- vec3_t color;
- texdef_t texdef;
- char *comments;
- char flagnames[MAX_FLAGS][32];
-
-/*
- int nTriCount;
- trimodel *pTriList;
- int nTextureBind;
- int nSkinWidth, nSkinHeight;
-*/
- entitymodel *model;
- char *modelpath;
- char *skinpath;
- int nFrame;
- unsigned int nShowFlags;
-
- HMODULE hPlug;
-} eclass_t;
-
-extern eclass_t *eclass;
-
-/*
-** window bits
-*/
-#define W_CAMERA 0x0001
-#define W_XY 0x0002
-#define W_XY_OVERLAY 0x0004
-#define W_Z 0x0008
-#define W_TEXTURE 0x0010
-#define W_Z_OVERLAY 0x0020
-#define W_CONSOLE 0x0040
-#define W_ENTITY 0x0080
-#define W_CAMERA_IFON 0x0100
-#define W_XZ 0x0200 //--| only used for patch vertex manip stuff
-#define W_YZ 0x0400 //--|
-#define W_GROUP 0x0800
-#define W_MEDIA 0x1000
-#define W_ALL 0xFFFFFFFF
-
-// used in some Drawing routines
-enum VIEWTYPE {YZ, XZ, XY};
-
-enum terrainnoise_t { NOISE_NONE, NOISE_PLUS, NOISE_PLUSMINUS };
-enum terrainbrush_t { TERRAIN_BRUSH_CIRCLE, TERRAIN_BRUSH_SQUARE };
-enum terrainfalloff_t { TERRAIN_FALLOFF_LINEAR, TERRAIN_FALLOFF_CURVED };
-
-#endif \ No newline at end of file