1 /*
2 	This file is part of Warzone 2100.
3 	Copyright (C) 1999-2004  Eidos Interactive
4 	Copyright (C) 2005-2020  Warzone 2100 Project
5 
6 	Warzone 2100 is free software; you can redistribute it and/or modify
7 	it under the terms of the GNU General Public License as published by
8 	the Free Software Foundation; either version 2 of the License, or
9 	(at your option) any later version.
10 
11 	Warzone 2100 is distributed in the hope that it will be useful,
12 	but WITHOUT ANY WARRANTY; without even the implied warranty of
13 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 	GNU General Public License for more details.
15 
16 	You should have received a copy of the GNU General Public License
17 	along with Warzone 2100; if not, write to the Free Software
18 	Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20 
21 #ifndef _piePalette_
22 #define _piePalette_
23 
24 #include "lib/ivis_opengl/piedef.h"
25 
26 #define WZCOL_BLACK									psPalette[0]
27 #define WZCOL_WHITE									psPalette[1]
28 #define WZCOL_RELOAD_BACKGROUND						psPalette[2]
29 #define WZCOL_RELOAD_BAR							psPalette[3]
30 #define WZCOL_HEALTH_HIGH							psPalette[4]
31 #define WZCOL_HEALTH_MEDIUM							psPalette[5]
32 #define WZCOL_HEALTH_LOW							psPalette[6]
33 #define WZCOL_GREEN									psPalette[7]
34 #define WZCOL_RED									psPalette[8]
35 #define WZCOL_YELLOW								psPalette[9]
36 #define WZCOL_MENU_BACKGROUND						psPalette[10]
37 #define WZCOL_MENU_BORDER							psPalette[11]
38 #define WZCOL_MENU_LOAD_BORDER						psPalette[12]
39 #define WZCOL_CURSOR								psPalette[13]
40 #define WZCOL_MENU_SCORES_INTERIOR					psPalette[14]
41 #define WZCOL_MENU_SEPARATOR						psPalette[15]
42 #define WZCOL_TEXT_BRIGHT							psPalette[16]
43 #define WZCOL_TEXT_MEDIUM							psPalette[17]
44 #define WZCOL_TEXT_DARK								psPalette[18]
45 #define WZCOL_SCORE_BOX_BORDER						psPalette[19]
46 #define WZCOL_SCORE_BOX								psPalette[20]
47 #define WZCOL_TOOLTIP_TEXT							psPalette[21]
48 #define WZCOL_UNIT_SELECT_BORDER					psPalette[22]
49 #define WZCOL_UNIT_SELECT_BOX						psPalette[23]
50 #define WZCOL_RADAR_BACKGROUND						psPalette[24]
51 #define WZCOL_MAP_OUTLINE_OK						psPalette[25]
52 #define WZCOL_MAP_OUTLINE_BAD						psPalette[26]
53 #define WZCOL_KEYMAP_ACTIVE							psPalette[27]
54 #define WZCOL_KEYMAP_FIXED							psPalette[28]
55 #define WZCOL_MENU_SCORE_LOSS						psPalette[29]
56 #define WZCOL_MENU_SCORE_DESTROYED					psPalette[30]
57 #define WZCOL_MENU_SCORE_BUILT						psPalette[31]
58 #define WZCOL_MENU_SCORE_RANK						psPalette[32]
59 #define WZCOL_FRAME_BORDER_NORMAL					psPalette[33]
60 #define WZCOL_CONS_TEXT_SYSTEM						psPalette[34]
61 #define WZCOL_CONS_TEXT_USER						psPalette[35]
62 #define WZCOL_CONS_TEXT_USER_ALLY					psPalette[36]
63 #define WZCOL_CONS_TEXT_USER_ENEMY					psPalette[37]
64 #define WZCOL_CONS_TEXT_DEBUG						psPalette[38]
65 #define WZCOL_GREY									psPalette[39]
66 #define WZCOL_MAP_PREVIEW_AIPLAYER					psPalette[40]
67 #define WZCOL_MENU_SHADOW							psPalette[41]
68 #define WZCOL_DBLUE									psPalette[42]
69 #define WZCOL_LBLUE									psPalette[43]
70 #define WZCOL_BLUEPRINT_VALID						psPalette[44]
71 #define WZCOL_BLUEPRINT_INVALID						psPalette[45]
72 #define WZCOL_BLUEPRINT_PLANNED						psPalette[46]
73 #define WZCOL_HEALTH_HIGH_SHADOW					psPalette[47]
74 #define WZCOL_HEALTH_MEDIUM_SHADOW					psPalette[48]
75 #define WZCOL_HEALTH_LOW_SHADOW						psPalette[49]
76 #define WZCOL_HEALTH_RESISTANCE						psPalette[50]
77 #define WZCOL_TEAM1									psPalette[51]
78 #define WZCOL_TEAM2									psPalette[52]
79 #define WZCOL_TEAM3									psPalette[53]
80 #define WZCOL_TEAM4									psPalette[54]
81 #define WZCOL_TEAM5									psPalette[55]
82 #define WZCOL_TEAM6									psPalette[56]
83 #define WZCOL_TEAM7									psPalette[57]
84 #define WZCOL_TEAM8									psPalette[58]
85 #define WZCOL_FORM_BACKGROUND						psPalette[59]
86 #define WZCOL_FORM_TEXT								psPalette[60]
87 #define WZCOL_FORM_LIGHT							psPalette[61]
88 #define WZCOL_FORM_DARK								psPalette[62]
89 #define WZCOL_FORM_HILITE							psPalette[63]
90 #define WZCOL_FORM_CURSOR							psPalette[64]
91 #define WZCOL_FORM_TIP_BACKGROUND					psPalette[65]
92 #define WZCOL_FORM_DISABLE							psPalette[66]
93 #define WZCOL_DESIGN_POWER_FORM_BACKGROUND			psPalette[67]
94 #define WZCOL_POWER_BAR								psPalette[68]
95 #define WZCOL_ACTION_PROGRESS_BAR_MAJOR				psPalette[69]
96 #define WZCOL_ACTION_PROGRESS_BAR_MINOR				psPalette[70]
97 #define WZCOL_ACTION_PRODUCTION_RUN_TEXT			psPalette[71]
98 #define WZCOL_ACTION_PRODUCTION_RUN_BACKGROUND		psPalette[72]
99 #define WZCOL_LOADING_BAR_BACKGROUND				psPalette[73]
100 #define WZCOL_MAP_PREVIEW_HQ						psPalette[74]
101 #define WZCOL_MAP_PREVIEW_OIL						psPalette[75]
102 #define WZCOL_FOG									psPalette[76]
103 #define WZCOL_TEAM9									psPalette[77]
104 #define WZCOL_TEAM10								psPalette[78]
105 #define WZCOL_TEAM11								psPalette[79]
106 #define WZCOL_TEAM12								psPalette[80]
107 #define WZCOL_TEAM13								psPalette[81]
108 #define WZCOL_TEAM14								psPalette[82]
109 #define WZCOL_TEAM15								psPalette[83]
110 #define WZCOL_TEAM16								psPalette[84]
111 #define WZCOL_BLUEPRINT_PLANNED_BY_ALLY				psPalette[85]
112 #define WZCOL_CONSTRUCTION_BARTEXT					psPalette[86]
113 #define WZCOL_POWERQUEUE_BARTEXT					psPalette[87]
114 #define WZCOL_MAP_PREVIEW_BARREL					psPalette[88]
115 #define WZCOL_CONSTRUCTOR_BEAM						psPalette[89]
116 #define WZCOL_DEMOLISH_BEAM							psPalette[90]
117 #define WZCOL_FORM_PLAYER_NOPING					psPalette[91]
118 #define WZCOL_FORM_PLAYER_UNKNOWN					psPalette[92]
119 #define WZCOL_FORM_PLAYER_KNOWN						psPalette[93]
120 #define WZCOL_FORM_PLAYER_KNOWN_BY_SERVER			psPalette[94]
121 #define WZCOL_TRANSPARENT_BOX						psPalette[95]
122 #define WZCOL_CONS_TEXT_INFO						psPalette[96]
123 #define WZCOL_NOTIFICATION_BOX						psPalette[97]
124 
125 #define WZCOL_MAX									98
126 
127 //*************************************************************************
128 
129 extern PIELIGHT		psPalette[];
130 
131 //*************************************************************************
132 
133 void pal_Init();
134 void pal_ShutDown();
135 PIELIGHT pal_GetTeamColour(int team);
136 
pal_Colour(UBYTE r,UBYTE g,UBYTE b)137 static inline PIELIGHT WZ_DECL_PURE pal_Colour(UBYTE r, UBYTE g, UBYTE b)
138 {
139 	return { r, g, b, UBYTE_MAX };
140 }
141 
pal_SetBrightness(UBYTE brightness)142 static inline PIELIGHT WZ_DECL_PURE pal_SetBrightness(UBYTE brightness)
143 {
144 	return { brightness, brightness, brightness, UBYTE_MAX };
145 }
146 
pal_RGBA(UBYTE r,UBYTE g,UBYTE b,UBYTE a)147 static inline PIELIGHT WZ_DECL_PURE pal_RGBA(UBYTE r, UBYTE g, UBYTE b, UBYTE a)
148 {
149 	return { r, g, b, a };
150 }
151 
152 #endif
153