00001 00005 // $Id: palette.h,v 1.10 2007-07-08 15:25:21 mbickel Exp $ 00006 // 00007 // $Log: palette.h,v $ 00008 // Revision 1.10 2007-07-08 15:25:21 mbickel 00009 // New directory handling 00010 // 00011 // Revision 1.9 2007/04/13 16:15:54 mbickel 00012 // Merged ASC2 branch 00013 // 00014 // Revision 1.7.2.1 2004/10/11 18:14:04 mbickel 00015 // Converted units to use new graphic system 00016 // Wrote new blitter 00017 // 00018 // Revision 1.7 2001/11/05 21:10:42 mbickel 00019 // Updated palette code 00020 // 00021 // Revision 1.6 2001/09/20 15:36:09 mbickel 00022 // New object displaying mode 00023 // 00024 // Revision 1.5 2001/01/28 20:42:14 mbickel 00025 // Introduced a new string class, ASCString, which should replace all 00026 // char* and std::string in the long term 00027 // Split loadbi3.cpp into 3 different files (graphicselector, graphicset) 00028 // 00029 // Revision 1.4 2001/01/28 14:04:15 mbickel 00030 // Some restructuring, documentation and cleanup 00031 // The resource network functions are now it their own files, the dashboard 00032 // as well 00033 // Updated the TODO list 00034 // 00035 // Revision 1.3 1999/12/28 21:03:15 mbickel 00036 // Continued Linux port 00037 // Added KDevelop project files 00038 // 00039 // Revision 1.2 1999/11/16 03:42:20 tmwilson 00040 // Added CVS keywords to most of the files. 00041 // Started porting the code to Linux (ifdef'ing the DOS specific stuff) 00042 // Wrote replacement routines for kbhit/getch for Linux 00043 // Cleaned up parts of the code that gcc barfed on (char vs unsigned char) 00044 // Added autoconf/automake capabilities 00045 // Added files used by 'automake --gnu' 00046 // 00047 // 00048 /* 00049 This file is part of Advanced Strategic Command; http://www.asc-hq.de 00050 Copyright (C) 1994-1999 Martin Bickel and Marc Schellenberger 00051 00052 This program is free software; you can redistribute it and/or modify 00053 it under the terms of the GNU General Public License as published by 00054 the Free Software Foundation; either version 2 of the License, or 00055 (at your option) any later version. 00056 00057 This program is distributed in the hope that it will be useful, 00058 but WITHOUT ANY WARRANTY; without even the implied warranty of 00059 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00060 GNU General Public License for more details. 00061 00062 You should have received a copy of the GNU General Public License 00063 along with this program; see the file COPYING. If not, write to the 00064 Free Software Foundation, Inc., 59 Temple Place, Suite 330, 00065 Boston, MA 02111-1307 USA 00066 */ 00067 00068 #ifndef palette_h_included 00069 #define palette_h_included 00070 00071 #pragma pack(1) 00072 00073 typedef char tmixbuf[256][256]; 00074 typedef tmixbuf* pmixbuf; 00075 typedef char tpixelxlattable[256]; 00076 typedef tpixelxlattable* ppixelxlattable; 00077 typedef char dacpalette256[256][3]; 00078 typedef char dacpalettefst[256][4]; 00079 00080 00081 struct txlattables { 00082 tpixelxlattable nochange; 00083 union { 00084 struct { 00085 tpixelxlattable dark05; 00086 tpixelxlattable dark1; 00087 tpixelxlattable dark2; 00088 tpixelxlattable dark3; 00089 tpixelxlattable light; 00090 tpixelxlattable light2; 00091 tpixelxlattable light3; 00092 tpixelxlattable light4; 00093 }a; 00094 tpixelxlattable xl[8]; 00095 }; 00096 }; 00097 00098 extern txlattables xlattables; 00099 00100 /* 00101 extern tpixelxlattable nochange; 00102 extern tpixelxlattable dark1; 00103 extern tpixelxlattable dark2; 00104 extern tpixelxlattable light; 00105 */ 00106 00107 // tables storing the color that results when two palette colors are mixed 00108 extern tmixbuf *colormixbuf; 00109 extern char* colormixbufchar; 00110 00111 00112 extern dacpalette256 pal; 00113 00114 extern bool asc_paletteloaded; 00115 extern ppixelxlattable xlatpictgraytable; 00116 // extern tpixelxlattable bi2asc_color_translation_table; 00117 00118 #pragma pack() 00119 00120 #endif
1.4.2