aboutsummaryrefslogtreecommitdiffstats
path: root/q3radiant/Textures.h
diff options
context:
space:
mode:
Diffstat (limited to 'q3radiant/Textures.h')
-rwxr-xr-xq3radiant/Textures.h96
1 files changed, 96 insertions, 0 deletions
diff --git a/q3radiant/Textures.h b/q3radiant/Textures.h
new file mode 100755
index 0000000..47a78a5
--- /dev/null
+++ b/q3radiant/Textures.h
@@ -0,0 +1,96 @@
+/*
+===========================================================================
+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
+===========================================================================
+*/
+
+//--typedef struct texdef_s
+//--{
+//-- char name[32];
+//-- float shift[2];
+//-- float rotate;
+//-- float scale[2];
+//-- int contents;
+//-- int flags;
+//-- int value;
+//--} texdef_t;
+//--
+//--typedef struct
+//--{
+//-- int width, height;
+//-- int originy;
+//-- texdef_t texdef;
+//-- int m_nTotalHeight;
+//--} texturewin_t;
+//--
+//--#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
+//--
+//-- 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
+//--} qtexture_t;
+//--
+
+// a texturename of the form (0 0 0) will
+// create a solid color texture
+
+void Texture_Init (bool bHardInit = true);
+void Texture_FlushUnused ();
+void Texture_Flush (bool bReload = false);
+void Texture_ClearInuse (void);
+void Texture_ShowInuse (void);
+void Texture_ShowDirectory (int menunum, bool bLinked = false);
+void Texture_ShowAll();
+void Texture_Cleanup(CStringList *pList = NULL);
+
+// TTimo: added bNoAlpha flag to ignore alpha channel when parsing a .TGA file, transparency is usually achieved through qer_trans keyword in shaders
+// in some cases loading an empty alpha channel causes display bugs (brushes not seen)
+qtexture_t *Texture_ForName (const char *name, bool bReplace = false, bool bShader = false, bool bNoAlpha = false, bool bReload = false, bool makeShader = true);
+
+void Texture_Init (void);
+// Timo
+// added an optional IPluginTexdef when one is available
+// we need a forward declaration, this is crap
+class IPluginTexdef;
+void Texture_SetTexture (texdef_t *texdef, brushprimit_texdef_t *brushprimit_texdef, bool bFitScale = false, IPluginTexdef *pTexdef = NULL, bool bSetSelection = true);
+
+void Texture_SetMode(int iMenu); // GL_TEXTURE_NEAREST, etc..
+void Texture_ResetPosition();
+
+void FreeShaders();
+void LoadShaders();
+void ReloadShaders();
+int WINAPI Texture_LoadSkin(char *pName, int *pnWidth, int *pnHeight);
+void Texture_LoadFromPlugIn(LPVOID vp);
+void Texture_StartPos (void);
+qtexture_t *Texture_NextPos (int *x, int *y);