]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - misc/mediasource/netradiant-src/contrib/bobtoolz/DEntity.h
Move the netradiant and fteqcc sources
[voretournament/voretournament.git] / misc / mediasource / netradiant-src / contrib / bobtoolz / DEntity.h
diff --git a/misc/mediasource/netradiant-src/contrib/bobtoolz/DEntity.h b/misc/mediasource/netradiant-src/contrib/bobtoolz/DEntity.h
new file mode 100644 (file)
index 0000000..5baa3d3
--- /dev/null
@@ -0,0 +1,125 @@
+/*
+BobToolz plugin for GtkRadiant
+Copyright (C) 2001 Gordon Biggans
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library 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
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+// DEntity.h: interface for the DEntity class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_DENTITY_H__35B2C523_F0A7_11D4_ACF7_004095A18133__INCLUDED_)
+#define AFX_DENTITY_H__35B2C523_F0A7_11D4_ACF7_004095A18133__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include <list>
+#include "str.h"
+#include "mathlib.h"
+
+class DEPair;
+class DBrush;
+class DPlane;
+class DPatch;
+class Entity;
+
+namespace scene
+{
+  class Node;
+}
+class _QERFaceData;
+
+class DEntity  
+{
+public:
+       void RemoveFromRadiant();
+  scene::Node* QER_Entity;
+       int m_nID;
+
+//     Constrcution/Destruction
+       DEntity(const char* classname = "worldspawn", int ID = -1);     // sets classname
+       virtual ~DEntity();
+//     ---------------------------------------------
+
+//     epair functions........
+       void LoadEPairList(Entity* epl);
+       void AddEPair(const char* key, const char* value);
+       void ClearEPairs();
+       DEPair* FindEPairByKey(const char* keyname);
+//     ---------------------------------------------
+
+//     random functions........
+       bool ResetTextures(const char* textureName, float fScale[2], float fShift[2], int rotation, const char* newTextureName, int bResetTextureName, int bResetScale[2], int bResetShift[2], int bResetRotation, bool rebuild);
+       void SaveToFile(FILE* pFile);
+       void SetClassname(const char* classname);
+       int GetIDMax();
+
+       void BuildInRadiant(bool allowDestruction);
+       void ResetChecks(std::list<Str>* exclusionList);
+       void RemoveNonCheckBrushes(std::list<Str>* exclusionList, bool useDetail);
+
+       DPlane* AddFaceToBrush(vec3_t va, vec3_t vb, vec3_t vc, _QERFaceData* faceData, int ID);        // slow, try not to use much
+       int GetBrushCount( void );
+  DBrush* FindBrushByPointer( scene::Node& brush );
+//     ---------------------------------------------
+
+
+//     bool list functions
+       void SelectBrushes(bool* selectList);
+       bool* BuildDuplicateList();
+       bool* BuildIntersectList();
+//     ---------------------------------------------
+       
+
+//     brush operations
+       void ClearBrushes();    // clears brush list and frees memory for brushes
+
+       DBrush* GetBrushForID(int ID);
+       DBrush* NewBrush(int ID = -1);
+//     ---------------------------------------------
+
+//     patch operations
+       void ClearPatches();
+
+       DPatch* NewPatch();
+//     ---------------------------------------------
+
+//     vars
+       std::list<DEPair*> epairList;
+       std::list<DBrush*> brushList;
+       // new patches, wahey!!!
+       std::list<DPatch*> patchList;
+       Str m_Classname;
+//     ---------------------------------------------
+
+
+       int FixBrushes();
+
+       bool LoadFromEntity(scene::Node& ent, bool bLoadPatches = false);
+       void LoadSelectedBrushes();
+       void LoadSelectedPatches();
+
+       bool LoadFromPrt(char* filename);
+//     ---------------------------------------------
+       void SpawnString(const char* key, const char* defaultstring, const char** out);
+       void SpawnInt(const char* key, const char* defaultstring, int* out);
+       void SpawnFloat(const char* key, const char* defaultstring, float* out);
+       void SpawnVector(const char* key, const char* defaultstring, vec_t* out);
+};
+
+#endif // !defined(AFX_DENTITY_H__35B2C523_F0A7_11D4_ACF7_004095A18133__INCLUDED_)