db8ca37fa3
git-svn-id: https://svn.code.sf.net/p/q3cellshading/code/trunk@2 db09e94b-7117-0410-a7e6-85ae5ff6e0e9
96 lines
3.4 KiB
C++
96 lines
3.4 KiB
C++
/*
|
|
===========================================================================
|
|
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);
|