1 /****************************************************************************************/
\r
4 /* Author: John Pollard */
\r
5 /* Description: This code keeps a list of shared textures. */
\r
7 /* The contents of this file are subject to the Genesis3D Public License */
\r
8 /* Version 1.01 (the "License"); you may not use this file except in */
\r
9 /* compliance with the License. You may obtain a copy of the License at */
\r
10 /* http://www.genesis3d.com */
\r
12 /* Software distributed under the License is distributed on an "AS IS" */
\r
13 /* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See */
\r
14 /* the License for the specific language governing rights and limitations */
\r
15 /* under the License. */
\r
17 /* The Original Code is Genesis3D, released March 25, 1999. */
\r
18 /* Genesis3D Version 1.1 released November 15, 1999 */
\r
19 /* Copyright (C) 1999 WildTangent, Inc. All Rights Reserved */
\r
21 /****************************************************************************************/
\r
25 //#include <Windows.h>
\r
29 #include "DCommon.h"
\r
30 #include "GBSPFile.h"
\r
33 #define TEXTURE_SKYBOX (1<<0)
\r
35 // Don't let this naming convention full you. TEXINFO is just everything about a face, that could be
\r
36 // shared with another face or more...
\r
37 #define TEXINFO_MIRROR (1<<0) // This face is a mirror face
\r
38 #define TEXINFO_FULLBRIGHT (1<<1) // This face is fully bright
\r
39 #define TEXINFO_SKY (1<<2) // This face is a sky portal
\r
40 #define TEXINFO_LIGHT (1<<3) // This face emits light
\r
41 #define TEXINFO_TRANS (1<<4) // A hint to the engine, that this face is not solid
\r
42 #define TEXINFO_GOURAUD (1<<5) // This face is gouraud shaded
\r
43 #define TEXINFO_FLAT (1<<6) // This face is flat shaded
\r
44 #define TEXINFO_NO_LIGHTMAP (1<<15) // This face does not have a lightmap
\r
46 geBoolean InitTextureLib(char *File);
\r
47 void ShutdownTextureLib(void);
\r
48 geBoolean GetTexture(char *Name, uint8 *Data, int32 *Size, int32 *Width, int32 *Height, geVFile *f);
\r
49 geBoolean GetTexturePalette(const char *Name, DRV_Palette Palette);
\r
51 extern int32 NumTextures;
\r
52 extern GFX_Texture Textures[MAX_MAP_TEXTURES];
\r
53 extern int32 NumTexInfo;
\r
54 extern GFX_TexInfo TexInfo[MAX_MAP_TEXINFO];
\r
56 int32 FindTextureIndex(char *Name, uint32 Flags);
\r
57 int32 FindTexInfo(GFX_TexInfo *Tex2);
\r
58 // added transparent textures
\r
59 geBoolean HasTextureAlpha(char *Name);
\r
60 // end transparent textures
\r