- proper names for the global includes
[genesis3d.git] / GBSPLib / TEXTURE.H
1 /****************************************************************************************/\r
2 /*  Texture.h                                                                           */\r
3 /*                                                                                      */\r
4 /*  Author: John Pollard                                                                */\r
5 /*  Description: This code keeps a list of shared textures.                             */\r
6 /*                                                                                      */\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
11 /*                                                                                      */\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
16 /*                                                                                      */\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
20 /*                                                                                      */\r
21 /****************************************************************************************/\r
22 #ifndef TEXTURE_H\r
23 #define TEXTURE_H\r
24 \r
25 //#include <Windows.h>\r
26 \r
27 #include <Stdio.h>\r
28 #include "Map.h"\r
29 #include "DCommon.h"\r
30 #include "GBSPFile.h"\r
31 #include "VFile.h"\r
32 \r
33 #define TEXTURE_SKYBOX          (1<<0)\r
34 \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
45 \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
50 \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
55 \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
61 \r
62 #endif\r