mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-26 05:51:20 +00:00
- Moved the text color definitions out of the executable and into an external
data file. - Removed the setcolor CCMD. It's been obsolete for years, ever since color- aware cvars were added. - Changed V_GetColorStringByName() to return an FString, because it did a copystring() call. - Extended V_GetColorFromString() so that it accepts HTML-style #RRGGBB and #RGB color strings. SVN r313 (trunk)
This commit is contained in:
parent
38f650f7c5
commit
2fb55622e7
13 changed files with 941 additions and 297 deletions
|
@ -1,3 +1,13 @@
|
|||
August 29, 2006
|
||||
- Moved the text color definitions out of the executable and into an external
|
||||
data file.
|
||||
- Removed the setcolor CCMD. It's been obsolete for years, ever since color-
|
||||
aware cvars were added.
|
||||
- Changed V_GetColorStringByName() to return an FString, because it did a
|
||||
copystring() call.
|
||||
- Extended V_GetColorFromString() so that it accepts HTML-style #RRGGBB and
|
||||
#RGB color strings.
|
||||
|
||||
August 27, 2006 (Changes by Graf Zahl)
|
||||
- fixed: callstatechain didn`t check for NULL code pointers
|
||||
|
||||
|
|
|
@ -904,15 +904,14 @@ int FColorCVar::ToInt2 (UCVarValue value, ECVarType type)
|
|||
|
||||
if (type == CVAR_String)
|
||||
{
|
||||
char *string;
|
||||
FString string;
|
||||
// Only allow named colors after the screen exists (i.e. after
|
||||
// we've got some lumps loaded, so X11R6RGB can be read). Since
|
||||
// the only time this might be called before that is when loading
|
||||
// zdoom.cfg, this shouldn't be a problem.
|
||||
if (screen && (string = V_GetColorStringByName (value.String)) )
|
||||
// zdoom.ini, this shouldn't be a problem.
|
||||
if (screen && !(string = V_GetColorStringByName (value.String)).IsEmpty() )
|
||||
{
|
||||
ret = V_GetColorFromString (NULL, string);
|
||||
delete[] string;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -4,6 +4,8 @@ xx(None)
|
|||
xx(Super)
|
||||
xx(Object)
|
||||
|
||||
xx(Untranslated)
|
||||
|
||||
// Hexen sound sequence names
|
||||
xx(Platform)
|
||||
xx(PlatformMetal)
|
||||
|
|
|
@ -249,7 +249,7 @@ void FJPEGTexture::MakeTexture ()
|
|||
(cinfo.out_color_space == JCS_CMYK && cinfo.num_components == 4) ||
|
||||
(cinfo.out_color_space == JCS_GRAYSCALE && cinfo.num_components == 1)))
|
||||
{
|
||||
Printf (TEXTCOLOR_ORANGE "Unsupported color format\n", Name);
|
||||
Printf (TEXTCOLOR_ORANGE "Unsupported color format\n");
|
||||
throw -1;
|
||||
}
|
||||
|
||||
|
@ -297,6 +297,11 @@ void FJPEGTexture::MakeTexture ()
|
|||
in += 4;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// The other colorspaces were considered above and discarded,
|
||||
// but GCC will complain without a default for them here.
|
||||
break;
|
||||
}
|
||||
y++;
|
||||
}
|
||||
|
|
|
@ -64,22 +64,22 @@ void FTexture::InitGrayMap()
|
|||
FTexture * FTexture::CreateTexture (int lumpnum, int usetype)
|
||||
{
|
||||
static TexCreateInfo CreateInfo[]={
|
||||
{ FIMGZTexture::Check, FIMGZTexture::Create, FTexture::TEX_Any },
|
||||
{ FPNGTexture::Check, FPNGTexture::Create, FTexture::TEX_Any },
|
||||
{ FJPEGTexture::Check, FJPEGTexture::Create, FTexture::TEX_Any },
|
||||
{ FDDSTexture::Check, FDDSTexture::Create, FTexture::TEX_Any },
|
||||
{ FPCXTexture::Check, FPCXTexture::Create, FTexture::TEX_Any },
|
||||
{ FTGATexture::Check, FTGATexture::Create, FTexture::TEX_Any },
|
||||
{ FRawPageTexture::Check, FRawPageTexture::Create, FTexture::TEX_MiscPatch },
|
||||
{ FFlatTexture::Check, FFlatTexture::Create, FTexture::TEX_Flat },
|
||||
{ FPatchTexture::Check, FPatchTexture::Create, FTexture::TEX_Any },
|
||||
{ FAutomapTexture::Check, FAutomapTexture::Create, FTexture::TEX_Autopage },
|
||||
{ FIMGZTexture::Check, FIMGZTexture::Create, TEX_Any },
|
||||
{ FPNGTexture::Check, FPNGTexture::Create, TEX_Any },
|
||||
{ FJPEGTexture::Check, FJPEGTexture::Create, TEX_Any },
|
||||
{ FDDSTexture::Check, FDDSTexture::Create, TEX_Any },
|
||||
{ FPCXTexture::Check, FPCXTexture::Create, TEX_Any },
|
||||
{ FTGATexture::Check, FTGATexture::Create, TEX_Any },
|
||||
{ FRawPageTexture::Check, FRawPageTexture::Create, TEX_MiscPatch },
|
||||
{ FFlatTexture::Check, FFlatTexture::Create, TEX_Flat },
|
||||
{ FPatchTexture::Check, FPatchTexture::Create, TEX_Any },
|
||||
{ FAutomapTexture::Check, FAutomapTexture::Create, TEX_Autopage },
|
||||
};
|
||||
|
||||
|
||||
FWadLump data = Wads.OpenLumpNum (lumpnum);
|
||||
|
||||
for(int i = 0; i < countof(CreateInfo); i++)
|
||||
for(size_t i = 0; i < countof(CreateInfo); i++)
|
||||
{
|
||||
if ((CreateInfo[i].usetype == usetype || CreateInfo[i].usetype == TEX_Any) &&
|
||||
CreateInfo[i].Check(data))
|
||||
|
|
|
@ -42,10 +42,9 @@
|
|||
|
||||
bool FTGATexture::Check(FileReader & data)
|
||||
{
|
||||
|
||||
TGAHeader hdr;
|
||||
|
||||
if (data.GetLength() < sizeof(hdr)) return false;
|
||||
if (data.GetLength() < (long)sizeof(hdr)) return false;
|
||||
|
||||
data.Seek(0, SEEK_SET);
|
||||
data.Read(&hdr, sizeof(hdr));
|
||||
|
|
807
src/v_font.cpp
807
src/v_font.cpp
File diff suppressed because it is too large
Load diff
11
src/v_font.h
11
src/v_font.h
|
@ -97,7 +97,7 @@ public:
|
|||
protected:
|
||||
FFont ();
|
||||
|
||||
void BuildTranslations (const double *luminosity, const BYTE *identity);
|
||||
void BuildTranslations (const double *luminosity, const BYTE *identity, const void *ranges);
|
||||
|
||||
static int SimpleTranslation (byte *colorsused, byte *translation, byte *identity, double **luminosity);
|
||||
|
||||
|
@ -121,19 +121,13 @@ protected:
|
|||
|
||||
friend void V_Shutdown();
|
||||
|
||||
#if defined(_MSC_VER) && _MSC_VER < 1310
|
||||
template<> friend FArchive &operator<< (FArchive &arc, FFont* &font);
|
||||
#else
|
||||
friend FArchive &SerializeFFontPtr (FArchive &arc, FFont* &font);
|
||||
#endif
|
||||
};
|
||||
|
||||
#if !defined(_MSC_VER) || _MSC_VER >= 1310
|
||||
template<> inline FArchive &operator<< <FFont> (FArchive &arc, FFont* &font)
|
||||
{
|
||||
return SerializeFFontPtr (arc, font);
|
||||
}
|
||||
#endif
|
||||
|
||||
class FSingleLumpFont : public FFont
|
||||
{
|
||||
|
@ -141,6 +135,7 @@ public:
|
|||
FSingleLumpFont (const char *fontname, int lump);
|
||||
|
||||
protected:
|
||||
void CheckFON1Chars (int lump, const BYTE *data, double *luminosity);
|
||||
void BuildTranslations2 ();
|
||||
void FixupPalette (BYTE *identity, double *luminosity, const BYTE *palette, bool rescale);
|
||||
void LoadFON1 (int lump, const BYTE *data);
|
||||
|
@ -153,5 +148,7 @@ void RecordTextureColors (FTexture *pic, byte *colorsused);
|
|||
extern FFont *SmallFont, *SmallFont2, *BigFont, *ConFont;
|
||||
|
||||
void V_InitCustomFonts ();
|
||||
void V_InitFontColors ();
|
||||
EColorRange V_FindFontColor (const char *name);
|
||||
|
||||
#endif //__V_FONT_H__
|
||||
|
|
|
@ -486,7 +486,7 @@ void V_ForceBlend (int blendr, int blendg, int blendb, int blenda)
|
|||
|
||||
CCMD (testblend)
|
||||
{
|
||||
char *colorstring;
|
||||
FString colorstring;
|
||||
int color;
|
||||
float amt;
|
||||
|
||||
|
@ -496,10 +496,9 @@ CCMD (testblend)
|
|||
}
|
||||
else
|
||||
{
|
||||
if ( (colorstring = V_GetColorStringByName (argv[1])) )
|
||||
if ( !(colorstring = V_GetColorStringByName (argv[1])).IsEmpty() )
|
||||
{
|
||||
color = V_GetColorFromString (NULL, colorstring);
|
||||
delete[] colorstring;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -519,7 +518,7 @@ CCMD (testblend)
|
|||
|
||||
CCMD (testfade)
|
||||
{
|
||||
char *colorstring;
|
||||
FString colorstring;
|
||||
DWORD color;
|
||||
|
||||
if (argv.argc() < 2)
|
||||
|
@ -528,10 +527,9 @@ CCMD (testfade)
|
|||
}
|
||||
else
|
||||
{
|
||||
if ( (colorstring = V_GetColorStringByName (argv[1])) )
|
||||
if ( !(colorstring = V_GetColorStringByName (argv[1])).IsEmpty() )
|
||||
{
|
||||
color = V_GetColorFromString (NULL, colorstring);
|
||||
delete[] colorstring;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -762,7 +760,7 @@ void FDynamicColormap::ChangeColorFade (PalEntry lightcolor, PalEntry fadecolor)
|
|||
|
||||
CCMD (testcolor)
|
||||
{
|
||||
char *colorstring;
|
||||
FString colorstring;
|
||||
DWORD color;
|
||||
int desaturate;
|
||||
|
||||
|
@ -772,10 +770,9 @@ CCMD (testcolor)
|
|||
}
|
||||
else
|
||||
{
|
||||
if ( (colorstring = V_GetColorStringByName (argv[1])) )
|
||||
if ( !(colorstring = V_GetColorStringByName (argv[1])).IsEmpty() )
|
||||
{
|
||||
color = V_GetColorFromString (NULL, colorstring);
|
||||
delete[] colorstring;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
178
src/v_video.cpp
178
src/v_video.cpp
|
@ -261,59 +261,94 @@ void DCanvas::Dim (PalEntry color, float damount, int x1, int y1, int w, int h)
|
|||
int V_GetColorFromString (const DWORD *palette, const char *cstr)
|
||||
{
|
||||
int c[3], i, p;
|
||||
char val[5];
|
||||
const char *s, *g;
|
||||
char val[3];
|
||||
|
||||
val[4] = 0;
|
||||
for (s = cstr, i = 0; i < 3; i++)
|
||||
val[2] = '\0';
|
||||
|
||||
// Check for HTML-style #RRGGBB or #RGB color string
|
||||
if (cstr[0] == '#')
|
||||
{
|
||||
size_t len = strlen (cstr);
|
||||
|
||||
if (len == 7)
|
||||
{
|
||||
// Extract each eight-bit component into c[].
|
||||
for (i = 0; i < 3; ++i)
|
||||
{
|
||||
val[0] = cstr[1 + i*2];
|
||||
val[1] = cstr[2 + i*2];
|
||||
c[i] = ParseHex (val);
|
||||
}
|
||||
}
|
||||
else if (len == 4)
|
||||
{
|
||||
// Extract each four-bit component into c[], expanding to eight bits.
|
||||
for (i = 0; i < 3; ++i)
|
||||
{
|
||||
val[1] = val[0] = cstr[1 + i];
|
||||
c[i] = ParseHex (val);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Bad HTML-style; pretend it's black.
|
||||
c[2] = c[1] = c[0] = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Treat it as a space-delemited hexadecimal string
|
||||
for (i = 0; i < 3; ++i)
|
||||
{
|
||||
// Skip leading whitespace
|
||||
while (*cstr <= ' ' && *cstr != '\0')
|
||||
{
|
||||
cstr++;
|
||||
}
|
||||
// Extract a component and convert it to eight-bit
|
||||
for (p = 0; *cstr > ' '; ++p, ++cstr)
|
||||
{
|
||||
if (p < 2)
|
||||
{
|
||||
val[p] = *cstr;
|
||||
}
|
||||
}
|
||||
if (p == 0)
|
||||
{
|
||||
c[i] = 0;
|
||||
while ((*s <= ' ') && (*s != 0))
|
||||
s++;
|
||||
if (*s)
|
||||
{
|
||||
p = 0;
|
||||
while (*s > ' ')
|
||||
{
|
||||
if (p < 4)
|
||||
{
|
||||
val[p++] = *s;
|
||||
}
|
||||
s++;
|
||||
}
|
||||
g = val;
|
||||
while (p < 4)
|
||||
else
|
||||
{
|
||||
val[p++] = *g++;
|
||||
if (p == 1)
|
||||
{
|
||||
val[1] = val[0];
|
||||
}
|
||||
c[i] = ParseHex (val);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (palette)
|
||||
return ColorMatcher.Pick (c[0]>>8, c[1]>>8, c[2]>>8);
|
||||
else
|
||||
return ((c[0] << 8) & 0xff0000) |
|
||||
((c[1]) & 0x00ff00) |
|
||||
((c[2] >> 8));
|
||||
return MAKERGB(c[0], c[1], c[2]);
|
||||
}
|
||||
|
||||
char *V_GetColorStringByName (const char *name)
|
||||
FString V_GetColorStringByName (const char *name)
|
||||
{
|
||||
FMemLump rgbNames;
|
||||
char *rgbEnd;
|
||||
char *rgb, *endp;
|
||||
char descr[5*3];
|
||||
int rgblump;
|
||||
int c[3], step;
|
||||
size_t namelen;
|
||||
|
||||
if (Wads.GetNumLumps()==0) return NULL;
|
||||
if (Wads.GetNumLumps()==0) return FString();
|
||||
|
||||
rgblump = Wads.CheckNumForName ("X11R6RGB");
|
||||
if (rgblump == -1)
|
||||
{
|
||||
Printf ("X11R6RGB lump not found\n");
|
||||
return NULL;
|
||||
return FString();
|
||||
}
|
||||
|
||||
rgbNames = Wads.ReadLump (rgblump);
|
||||
|
@ -364,8 +399,9 @@ char *V_GetColorStringByName (const char *name)
|
|||
size_t checklen = ++endp - rgb;
|
||||
if (checklen == namelen && strnicmp (rgb, name, checklen) == 0)
|
||||
{
|
||||
sprintf (descr, "%02x %02x %02x", c[0], c[1], c[2]);
|
||||
return copystring (descr);
|
||||
FString descr;
|
||||
descr.Format ("#%02x%02x%02x", c[0], c[1], c[2]);
|
||||
return descr;
|
||||
}
|
||||
rgb = endp;
|
||||
step = 0;
|
||||
|
@ -375,18 +411,17 @@ char *V_GetColorStringByName (const char *name)
|
|||
{
|
||||
Printf ("X11R6RGB lump is corrupt\n");
|
||||
}
|
||||
return NULL;
|
||||
return FString();
|
||||
}
|
||||
|
||||
int V_GetColor (const DWORD *palette, const char *str)
|
||||
{
|
||||
char *string = V_GetColorStringByName (str);
|
||||
FString string = V_GetColorStringByName (str);
|
||||
int res;
|
||||
|
||||
if (string != NULL)
|
||||
if (!string.IsEmpty())
|
||||
{
|
||||
res = V_GetColorFromString (palette, string);
|
||||
delete[] string;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -395,24 +430,6 @@ int V_GetColor (const DWORD *palette, const char *str)
|
|||
return res;
|
||||
}
|
||||
|
||||
CCMD (setcolor)
|
||||
{
|
||||
char *desc, setcmd[256];
|
||||
|
||||
if (argv.argc() < 3)
|
||||
{
|
||||
Printf ("Usage: setcolor <cvar> <color>\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if ( (desc = V_GetColorStringByName (argv[2])) )
|
||||
{
|
||||
sprintf (setcmd, "set %s \"%s\"", argv[1], desc);
|
||||
C_DoCommand (setcmd);
|
||||
delete[] desc;
|
||||
}
|
||||
}
|
||||
|
||||
// Build the tables necessary for blending
|
||||
static void BuildTransTable (const PalEntry *palette)
|
||||
{
|
||||
|
@ -858,36 +875,6 @@ void V_Init (void)
|
|||
// [RH] Initialize palette management
|
||||
InitPalette ();
|
||||
|
||||
// load the heads-up font
|
||||
if (Wads.CheckNumForName ("FONTA_S") >= 0)
|
||||
{
|
||||
SmallFont = new FFont ("SmallFont", "FONTA%02u", HU_FONTSTART, HU_FONTSIZE, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
SmallFont = new FFont ("SmallFont", "STCFN%.3d", HU_FONTSTART, HU_FONTSIZE, HU_FONTSTART);
|
||||
}
|
||||
if (Wads.CheckNumForName ("STBFN033", ns_graphics) >= 0)
|
||||
{
|
||||
SmallFont2 = new FFont ("SmallFont2", "STBFN%.3d", HU_FONTSTART, HU_FONTSIZE, HU_FONTSTART);
|
||||
}
|
||||
else
|
||||
{
|
||||
SmallFont2 = SmallFont;
|
||||
}
|
||||
if (gameinfo.gametype == GAME_Doom)
|
||||
{
|
||||
BigFont = new FSingleLumpFont ("BigFont", Wads.GetNumForName ("DBIGFONT"));
|
||||
}
|
||||
else if (gameinfo.gametype == GAME_Strife)
|
||||
{
|
||||
BigFont = new FSingleLumpFont ("BigFont", Wads.GetNumForName ("SBIGFONT"));
|
||||
}
|
||||
else
|
||||
{
|
||||
BigFont = new FFont ("BigFont", "FONTB%02u", HU_FONTSTART, HU_FONTSIZE, 1);
|
||||
}
|
||||
|
||||
width = height = bits = 0;
|
||||
|
||||
if ( (i = Args.CheckValue ("-width")) )
|
||||
|
@ -929,6 +916,37 @@ void V_Init (void)
|
|||
Printf ("Resolution: %d x %d\n", SCREENWIDTH, SCREENHEIGHT);
|
||||
|
||||
FBaseCVar::ResetColors ();
|
||||
V_InitFontColors ();
|
||||
|
||||
// load the heads-up font
|
||||
if (Wads.CheckNumForName ("FONTA_S") >= 0)
|
||||
{
|
||||
SmallFont = new FFont ("SmallFont", "FONTA%02u", HU_FONTSTART, HU_FONTSIZE, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
SmallFont = new FFont ("SmallFont", "STCFN%.3d", HU_FONTSTART, HU_FONTSIZE, HU_FONTSTART);
|
||||
}
|
||||
if (Wads.CheckNumForName ("STBFN033", ns_graphics) >= 0)
|
||||
{
|
||||
SmallFont2 = new FFont ("SmallFont2", "STBFN%.3d", HU_FONTSTART, HU_FONTSIZE, HU_FONTSTART);
|
||||
}
|
||||
else
|
||||
{
|
||||
SmallFont2 = SmallFont;
|
||||
}
|
||||
if (gameinfo.gametype == GAME_Doom)
|
||||
{
|
||||
BigFont = new FSingleLumpFont ("BigFont", Wads.GetNumForName ("DBIGFONT"));
|
||||
}
|
||||
else if (gameinfo.gametype == GAME_Strife)
|
||||
{
|
||||
BigFont = new FSingleLumpFont ("BigFont", Wads.GetNumForName ("SBIGFONT"));
|
||||
}
|
||||
else
|
||||
{
|
||||
BigFont = new FFont ("BigFont", "FONTB%02u", HU_FONTSTART, HU_FONTSIZE, 1);
|
||||
}
|
||||
ConFont = new FSingleLumpFont ("ConsoleFont", Wads.GetNumForName ("CONFONT"));
|
||||
V_InitCustomFonts ();
|
||||
|
||||
|
|
|
@ -292,7 +292,7 @@ void V_MarkRect (int x, int y, int width, int height);
|
|||
int V_GetColorFromString (const DWORD *palette, const char *colorstring);
|
||||
// Scans through the X11R6RGB lump for a matching color
|
||||
// and returns a color string suitable for V_GetColorFromString.
|
||||
char *V_GetColorStringByName (const char *name);
|
||||
FString V_GetColorStringByName (const char *name);
|
||||
|
||||
// Tries to get color by name, then by string
|
||||
int V_GetColor (const DWORD *palette, const char *str);
|
||||
|
|
169
wadsrc/textcolors.txt
Normal file
169
wadsrc/textcolors.txt
Normal file
|
@ -0,0 +1,169 @@
|
|||
Brick
|
||||
{
|
||||
#470000 #FFB8B8
|
||||
Console:
|
||||
#470000 #A35C5C 0 127
|
||||
#800000 #FFFEFE 128 256
|
||||
}
|
||||
|
||||
Tan
|
||||
{
|
||||
#332B13 #FFEBDF
|
||||
Console:
|
||||
#332B13 #998B79 0 127
|
||||
#998B79 #FFFFFF 128 256
|
||||
}
|
||||
|
||||
Gray Grey
|
||||
{
|
||||
#272727 #EFEFEF
|
||||
Console:
|
||||
#272727 #8B8B8B 0 127
|
||||
#505050 #FFFFFF 128 256
|
||||
}
|
||||
|
||||
Green
|
||||
{
|
||||
#0B1707 #77FF6F
|
||||
Console:
|
||||
#000000 #007F00 0 127
|
||||
#00FF00 #FEFFFE 128 256
|
||||
}
|
||||
|
||||
Brown
|
||||
{
|
||||
#533F2F #BFA78F
|
||||
Console:
|
||||
#000000 #7F4000 0 127
|
||||
#432F1F #FFE7CF 128 256
|
||||
}
|
||||
|
||||
Gold
|
||||
{
|
||||
#732B00 #FFFF73
|
||||
Console:
|
||||
#000000 #7FC040 0 127
|
||||
#DFBF00 #DFFFFE 128 256
|
||||
}
|
||||
|
||||
Red
|
||||
{
|
||||
#3F0000 #FF0000
|
||||
Console:
|
||||
#000000 #7F0000 0 127
|
||||
#FF0000 #FFFEFE 128 256
|
||||
}
|
||||
|
||||
Blue
|
||||
{
|
||||
#000027 #0000FF
|
||||
Console:
|
||||
#000000 #00007F 0 127
|
||||
#4040FF #DEDEFF 128 256
|
||||
}
|
||||
|
||||
Orange
|
||||
{
|
||||
#200000 #FF8000
|
||||
Console:
|
||||
#200000 #904000 0 127
|
||||
#FF7F00 #FFFEFE 128 256
|
||||
}
|
||||
|
||||
// This is designed to match the white Heretic/Hexen font.
|
||||
// It is close to the gray BOOM font, but not quite the same.
|
||||
White
|
||||
{
|
||||
#242424 #FFFFFF
|
||||
Console:
|
||||
#000000 #7F7F7F 0 127
|
||||
#808080 #FFFFFF 128 256
|
||||
}
|
||||
|
||||
// This is designed to match the yellow Hexen font, which has a
|
||||
// gray outline filled with shades of yellow.
|
||||
Yellow
|
||||
{
|
||||
#272727 #515151 0 64
|
||||
#865318 #EB9F18 80 192
|
||||
#F3A82A #FCD043 208 256
|
||||
Console:
|
||||
#000000 #7F7F00 0 127
|
||||
#FFFF00 #FFFFFF 128 256
|
||||
}
|
||||
|
||||
Untranslated
|
||||
{
|
||||
}
|
||||
|
||||
Black
|
||||
{
|
||||
#131313 #505050
|
||||
Console:
|
||||
#000000 #323232 0 127
|
||||
#0A0A0A #505050 128 256
|
||||
}
|
||||
|
||||
LightBlue "Light Blue"
|
||||
{
|
||||
#000073 #B4B4FF
|
||||
Console:
|
||||
#00003C #5050FF 0 127
|
||||
#8080FF #FFFFFF 128 256
|
||||
}
|
||||
|
||||
Cream
|
||||
{
|
||||
#CF8353 #FFD7BB
|
||||
Console:
|
||||
#2B230F #BF7B4B 0 127
|
||||
#FFB383 #FFFFFF 128 256
|
||||
}
|
||||
|
||||
Olive
|
||||
{
|
||||
#2F371F #7B7F50
|
||||
Console:
|
||||
#373F27 #7B7F63 0 127
|
||||
#676B4F #D1D8A8 128 256
|
||||
}
|
||||
|
||||
DarkGreen "Dark Green"
|
||||
{
|
||||
#0B1707 #439337
|
||||
Console:
|
||||
#000000 #005800 0 127
|
||||
#008C00 #DCFFDC 128 256
|
||||
}
|
||||
|
||||
DarkRed "Dark Red"
|
||||
{
|
||||
#2B0000 #AF2B2B
|
||||
Console:
|
||||
#000000 #730000 0 127
|
||||
#800000 #FFDCDC 128 255
|
||||
}
|
||||
|
||||
DarkBrown "Dark Brown"
|
||||
{
|
||||
#1F170B #A36B3F
|
||||
Console:
|
||||
#2B230F #773000 0 127
|
||||
#735743 #F7BD58 128 256
|
||||
}
|
||||
|
||||
Purple
|
||||
{
|
||||
#230023 #CF00CF
|
||||
Console:
|
||||
#000000 #9F009B 0 127
|
||||
#FF00FF #FFFFFF 128 256
|
||||
}
|
||||
|
||||
DarkGray DarkGrey "Dark Gray" "Dark Grey"
|
||||
{
|
||||
#232323 #8B8B8B
|
||||
Console:
|
||||
#000000 #646464 0 127
|
||||
#404040 #B4B4B4 128 256
|
||||
}
|
|
@ -231,6 +231,9 @@ acs/strfhelp.o strfhelp.o
|
|||
|
||||
|
||||
========
|
||||
# Font color ranges
|
||||
textcolors.txt textcolors.txt
|
||||
|
||||
========
|
||||
# Decorate stuff
|
||||
|
||||
|
|
Loading…
Reference in a new issue