00001 /* 00002 This file is part of c0re. 00003 00004 c0re is a multiplayer RTS on a hexagonal map with an evolving unit concept. 00005 Copyright (C) 2007 Stephan Hofmann 00006 00007 c0re is free software: you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation, either version 3 of the License, or 00010 (at your option) any later version. 00011 00012 This program is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program. If not, see <http://www.gnu.org/licenses/>. 00019 */ 00020 00021 #ifndef _BITMAPHAEDER_H_ 00022 #define _BITMAPHAEDER_H_ 00023 00024 #include "Vector3d.h" 00025 #include "Vector3i.h" 00026 #include "system.h" 00027 00028 #include <iostream> 00029 #include <vector> 00030 00031 00035 #pragma pack(1) 00036 struct _BITMAPINFOHEADER{ 00037 unsigned int biSize; 00038 long biWidth; 00039 long biHeight; 00040 unsigned short biPlanes; 00041 unsigned short biBitCount; 00042 unsigned int biCompression; 00043 unsigned int biSizeImage; 00044 long biXPelsPerMeter; 00045 long biYPelsPerMeter; 00046 unsigned int biClrUsed; 00047 unsigned int biClrImportant; 00048 }; 00049 00053 struct _BITMAPFILEHEADER { 00054 unsigned short bfType; 00055 unsigned int bfSize; 00056 unsigned short bfReserved1; 00057 unsigned short bfReserved2; 00058 unsigned int bfOffBits; 00059 }; 00060 00064 struct _RGBTRIPLE { 00065 unsigned char rgbtBlue; 00066 unsigned char rgbtGreen; 00067 unsigned char rgbtRed; 00068 }; 00069 00070 #pragma pack() 00071 00075 struct TextureData 00076 { 00077 unsigned char * l_texture; 00078 _BITMAPFILEHEADER fileheader; 00079 _BITMAPINFOHEADER infoheader; 00080 _RGBTRIPLE rgb; 00081 }; 00082 00083 #endif