File: palette.h

package info (click to toggle)
asc 2.1.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 59,052 kB
  • ctags: 25,676
  • sloc: cpp: 145,189; sh: 8,705; ansic: 5,564; makefile: 551; perl: 150
file content (120 lines) | stat: -rw-r--r-- 3,880 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
/*! \file palette.h
    \brief The color palette and various color translation tables
*/

//     $Id: palette.h,v 1.10 2007-07-08 15:25:21 mbickel Exp $
//
//     $Log: palette.h,v $
//     Revision 1.10  2007-07-08 15:25:21  mbickel
//      New directory handling
//
//     Revision 1.9  2007/04/13 16:15:54  mbickel
//      Merged ASC2 branch
//
//     Revision 1.7.2.1  2004/10/11 18:14:04  mbickel
//      Converted units to use new graphic system
//      Wrote new blitter
//
//     Revision 1.7  2001/11/05 21:10:42  mbickel
//      Updated palette code
//
//     Revision 1.6  2001/09/20 15:36:09  mbickel
//      New object displaying mode
//
//     Revision 1.5  2001/01/28 20:42:14  mbickel
//      Introduced a new string class, ASCString, which should replace all
//        char* and std::string in the long term
//      Split loadbi3.cpp into 3 different files (graphicselector, graphicset)
//
//     Revision 1.4  2001/01/28 14:04:15  mbickel
//      Some restructuring, documentation and cleanup
//      The resource network functions are now it their own files, the dashboard
//       as well
//      Updated the TODO list
//
//     Revision 1.3  1999/12/28 21:03:15  mbickel
//      Continued Linux port
//      Added KDevelop project files
//
//     Revision 1.2  1999/11/16 03:42:20  tmwilson
//     	Added CVS keywords to most of the files.
//     	Started porting the code to Linux (ifdef'ing the DOS specific stuff)
//     	Wrote replacement routines for kbhit/getch for Linux
//     	Cleaned up parts of the code that gcc barfed on (char vs unsigned char)
//     	Added autoconf/automake capabilities
//     	Added files used by 'automake --gnu'
//
//
/*
    This file is part of Advanced Strategic Command; http://www.asc-hq.de
    Copyright (C) 1994-1999  Martin Bickel  and  Marc Schellenberger

    This program 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.

    This program 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 this program; see the file COPYING. If not, write to the 
    Free Software Foundation, Inc., 59 Temple Place, Suite 330, 
    Boston, MA  02111-1307  USA
*/

#ifndef palette_h_included
 #define palette_h_included

#pragma pack(1)

typedef char tmixbuf[256][256];
typedef tmixbuf* pmixbuf;
typedef char tpixelxlattable[256];
typedef tpixelxlattable* ppixelxlattable; 
typedef char dacpalette256[256][3];
typedef char dacpalettefst[256][4];


   struct txlattables {
             tpixelxlattable nochange;
             union {
                struct {
                   tpixelxlattable dark05;
                   tpixelxlattable dark1;
                   tpixelxlattable dark2;
                   tpixelxlattable dark3;
                   tpixelxlattable light;
                   tpixelxlattable light2;
                   tpixelxlattable light3;
                   tpixelxlattable light4;
                }a;
                tpixelxlattable xl[8];
             };
          };

   extern txlattables xlattables;

/*
extern tpixelxlattable nochange;
extern tpixelxlattable dark1;
extern tpixelxlattable dark2;
extern tpixelxlattable light;
*/

// tables storing the color that results when two palette colors are mixed
extern tmixbuf *colormixbuf;
extern char* colormixbufchar;


extern dacpalette256 pal;

extern bool asc_paletteloaded;
extern ppixelxlattable xlatpictgraytable;  
// extern tpixelxlattable bi2asc_color_translation_table;

#pragma pack()

#endif