168 lines
5.8 KiB
C
168 lines
5.8 KiB
C
/*
|
|
This file is part of Warzone 2100.
|
|
Copyright (C) 1999-2004 Eidos Interactive
|
|
Copyright (C) 2005-2010 Warzone 2100 Project
|
|
|
|
Warzone 2100 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.
|
|
|
|
Warzone 2100 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 Warzone 2100; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
#ifndef _piePalette_
|
|
#define _piePalette_
|
|
|
|
#include "lib/ivis_opengl/piedef.h"
|
|
|
|
#define WZCOL_BLACK psPalette[0]
|
|
#define WZCOL_WHITE psPalette[1]
|
|
#define WZCOL_RELOAD_BACKGROUND psPalette[2]
|
|
#define WZCOL_RELOAD_BAR psPalette[3]
|
|
#define WZCOL_HEALTH_HIGH psPalette[4]
|
|
#define WZCOL_HEALTH_MEDIUM psPalette[5]
|
|
#define WZCOL_HEALTH_LOW psPalette[6]
|
|
#define WZCOL_GREEN psPalette[7]
|
|
#define WZCOL_RED psPalette[8]
|
|
#define WZCOL_YELLOW psPalette[9]
|
|
#define WZCOL_MENU_BACKGROUND psPalette[10]
|
|
#define WZCOL_MENU_BORDER psPalette[11]
|
|
#define WZCOL_MENU_LOAD_BORDER psPalette[12]
|
|
#define WZCOL_CURSOR psPalette[13]
|
|
#define WZCOL_MENU_SCORES_INTERIOR psPalette[14]
|
|
#define WZCOL_MENU_SEPARATOR psPalette[15]
|
|
#define WZCOL_TEXT_BRIGHT psPalette[16]
|
|
#define WZCOL_TEXT_MEDIUM psPalette[17]
|
|
#define WZCOL_TEXT_DARK psPalette[18]
|
|
#define WZCOL_SCORE_BOX_BORDER psPalette[19]
|
|
#define WZCOL_SCORE_BOX psPalette[20]
|
|
#define WZCOL_TOOLTIP_TEXT psPalette[21]
|
|
#define WZCOL_UNIT_SELECT_BORDER psPalette[22]
|
|
#define WZCOL_UNIT_SELECT_BOX psPalette[23]
|
|
#define WZCOL_RADAR_BACKGROUND psPalette[24]
|
|
#define WZCOL_MAP_OUTLINE_OK psPalette[25]
|
|
#define WZCOL_MAP_OUTLINE_BAD psPalette[26]
|
|
#define WZCOL_KEYMAP_ACTIVE psPalette[27]
|
|
#define WZCOL_KEYMAP_FIXED psPalette[28]
|
|
#define WZCOL_MENU_SCORE_LOSS psPalette[29]
|
|
#define WZCOL_MENU_SCORE_DESTROYED psPalette[30]
|
|
#define WZCOL_MENU_SCORE_BUILT psPalette[31]
|
|
#define WZCOL_MENU_SCORE_RANK psPalette[32]
|
|
#define WZCOL_FRAME_BORDER_NORMAL psPalette[33]
|
|
#define WZCOL_CONS_TEXT_SYSTEM psPalette[34]
|
|
#define WZCOL_CONS_TEXT_USER psPalette[35]
|
|
#define WZCOL_CONS_TEXT_USER_ALLY psPalette[36]
|
|
#define WZCOL_CONS_TEXT_USER_ENEMY psPalette[37]
|
|
#define WZCOL_CONS_TEXT_DEBUG psPalette[38]
|
|
#define WZCOL_GREY psPalette[39]
|
|
#define WZCOL_MAP_PREVIEW_AIPLAYER psPalette[40]
|
|
#define WZCOL_MENU_SHADOW psPalette[41]
|
|
#define WZCOL_DBLUE psPalette[42]
|
|
#define WZCOL_LBLUE psPalette[43]
|
|
#define WZCOL_BLUEPRINT_VALID psPalette[44]
|
|
#define WZCOL_BLUEPRINT_INVALID psPalette[45]
|
|
#define WZCOL_BLUEPRINT_PLANNED psPalette[46]
|
|
#define WZCOL_HEALTH_HIGH_SHADOW psPalette[47]
|
|
#define WZCOL_HEALTH_MEDIUM_SHADOW psPalette[48]
|
|
#define WZCOL_HEALTH_LOW_SHADOW psPalette[49]
|
|
#define WZCOL_HEALTH_RESISTANCE psPalette[50]
|
|
#define WZCOL_TEAM1 psPalette[51]
|
|
#define WZCOL_TEAM2 psPalette[52]
|
|
#define WZCOL_TEAM3 psPalette[53]
|
|
#define WZCOL_TEAM4 psPalette[54]
|
|
#define WZCOL_TEAM5 psPalette[55]
|
|
#define WZCOL_TEAM6 psPalette[56]
|
|
#define WZCOL_TEAM7 psPalette[57]
|
|
#define WZCOL_TEAM8 psPalette[58]
|
|
#define WZCOL_FORM_BACKGROUND psPalette[59]
|
|
#define WZCOL_FORM_TEXT psPalette[60]
|
|
#define WZCOL_FORM_LIGHT psPalette[61]
|
|
#define WZCOL_FORM_DARK psPalette[62]
|
|
#define WZCOL_FORM_HILITE psPalette[63]
|
|
#define WZCOL_FORM_CURSOR psPalette[64]
|
|
#define WZCOL_FORM_TIP_BACKGROUND psPalette[65]
|
|
#define WZCOL_FORM_DISABLE psPalette[66]
|
|
#define WZCOL_DESIGN_POWER_FORM_BACKGROUND psPalette[67]
|
|
#define WZCOL_POWER_BAR psPalette[68]
|
|
#define WZCOL_ACTION_PROGRESS_BAR_MAJOR psPalette[69]
|
|
#define WZCOL_ACTION_PROGRESS_BAR_MINOR psPalette[70]
|
|
#define WZCOL_ACTION_PRODUCTION_RUN_TEXT psPalette[71]
|
|
#define WZCOL_ACTION_PRODUCTION_RUN_BACKGROUND psPalette[72]
|
|
#define WZCOL_LOADING_BAR_BACKGROUND psPalette[73]
|
|
#define WZCOL_MAP_PREVIEW_HQ psPalette[74]
|
|
#define WZCOL_MAP_PREVIEW_OIL psPalette[75]
|
|
#define WZCOL_FOG psPalette[76]
|
|
#define WZCOL_TEAM9 psPalette[77]
|
|
#define WZCOL_TEAM10 psPalette[78]
|
|
#define WZCOL_TEAM11 psPalette[79]
|
|
#define WZCOL_TEAM12 psPalette[80]
|
|
#define WZCOL_TEAM13 psPalette[81]
|
|
#define WZCOL_TEAM14 psPalette[82]
|
|
#define WZCOL_TEAM15 psPalette[83]
|
|
#define WZCOL_TEAM16 psPalette[84]
|
|
|
|
#define WZCOL_MAX 85
|
|
|
|
//*************************************************************************
|
|
|
|
extern PIELIGHT psPalette[];
|
|
|
|
//*************************************************************************
|
|
|
|
extern void pal_Init(void);
|
|
extern void pal_ShutDown(void);
|
|
extern PIELIGHT pal_GetTeamColour(int team);
|
|
|
|
static inline PIELIGHT pal_Colour(UBYTE r, UBYTE g, UBYTE b)
|
|
{
|
|
PIELIGHT c;
|
|
|
|
c.byte.r = r;
|
|
c.byte.g = g;
|
|
c.byte.b = b;
|
|
c.byte.a = UBYTE_MAX;
|
|
|
|
return c;
|
|
}
|
|
|
|
static inline PIELIGHT pal_SetBrightness(UBYTE brightness)
|
|
{
|
|
PIELIGHT c;
|
|
|
|
c.byte.r = brightness;
|
|
c.byte.g = brightness;
|
|
c.byte.b = brightness;
|
|
c.byte.a = UBYTE_MAX;
|
|
|
|
return c;
|
|
}
|
|
|
|
static inline PIELIGHT pal_RGBA(UBYTE r, UBYTE g, UBYTE b, UBYTE a)
|
|
{
|
|
PIELIGHT c;
|
|
|
|
c.byte.r = r;
|
|
c.byte.g = g;
|
|
c.byte.b = b;
|
|
c.byte.a = a;
|
|
|
|
return c;
|
|
}
|
|
|
|
static inline void pal_PIELIGHTtoRGBA4f(float *rgba4f, PIELIGHT rgba)
|
|
{
|
|
rgba4f[0] = rgba.byte.r / 255.0;
|
|
rgba4f[1] = rgba.byte.g / 255.0;
|
|
rgba4f[2] = rgba.byte.b / 255.0;
|
|
rgba4f[3] = rgba.byte.a / 255.0;
|
|
}
|
|
|
|
#endif
|