122 lines
2.3 KiB
C++
122 lines
2.3 KiB
C++
/***
|
|
*
|
|
* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved.
|
|
*
|
|
* See the file LICENSE attached with the sources for usage details.
|
|
*
|
|
****/
|
|
|
|
vector col_help;
|
|
vector col_prompt_bg;
|
|
vector col_prompt_text;
|
|
vector col_prompt_title;
|
|
vector col_input_text;
|
|
vector col_input_bg;
|
|
vector col_refresh_title;
|
|
vector col_refresh_text;
|
|
vector col_refresh_bg;
|
|
|
|
string Colors_RGB8_to_HEX(vector color)
|
|
{
|
|
string out = "^x";
|
|
|
|
for (int i = 0; i < 3; i++) {
|
|
string a;
|
|
float b = rint(color[i] * 15);
|
|
|
|
switch (b) {
|
|
case 10:
|
|
a = "A";
|
|
break;
|
|
case 11:
|
|
a = "B";
|
|
break;
|
|
case 12:
|
|
a = "C";
|
|
break;
|
|
case 13:
|
|
a = "D";
|
|
break;
|
|
case 14:
|
|
a = "E";
|
|
break;
|
|
case 15:
|
|
a = "F";
|
|
break;
|
|
default:
|
|
a = ftos(b);
|
|
}
|
|
out = sprintf("%s%s", out, a);
|
|
}
|
|
return out;
|
|
}
|
|
|
|
void Colors_Init(void)
|
|
{
|
|
int c;
|
|
vector coltmp;
|
|
string temp;
|
|
filestream fs_colors;
|
|
|
|
/* Defaults */
|
|
col_help = [127,127,127] / 255;
|
|
col_prompt_bg = [56,56,56] / 255;
|
|
col_prompt_text = [240,180,24] / 255;
|
|
col_prompt_title = [255,255,255] / 255;
|
|
col_input_text = [240,180,24] / 255;
|
|
col_input_bg = [56,56,56] / 255;
|
|
col_refresh_title = [240,180,24] / 255;
|
|
col_refresh_text = [255,255,255] / 255;
|
|
col_refresh_bg = [56,56,56] / 255;
|
|
|
|
fs_colors = fopen("gfx/shell/colors.lst", FILE_READ);
|
|
|
|
if (fs_colors < 0) {
|
|
fs_colors = fopen("gfx/shell/Colors.lst", FILE_READ);
|
|
}
|
|
|
|
if (fs_colors < 0) {
|
|
print("^1WARNING: ^7Could NOT load gfx/shell/colors.lst");
|
|
return;
|
|
}
|
|
|
|
/* Count the valid entries */
|
|
if (fs_colors >= 0) {
|
|
while ((temp = fgets(fs_colors))) {
|
|
c = tokenize(temp);
|
|
if (c != 4) {
|
|
continue;
|
|
}
|
|
coltmp = [stof(argv(1)),stof(argv(2)),stof(argv(3))] / 255;
|
|
switch(argv(0)) {
|
|
case "HELP_COLOR":
|
|
col_help = coltmp;
|
|
break;
|
|
case "PROMPT_BG_COLOR":
|
|
col_prompt_bg = coltmp;
|
|
break;
|
|
case "PROMPT_TEXT_COLOR":
|
|
col_prompt_text = coltmp;
|
|
break;
|
|
case "PROMPT_TITLE_COLOR":
|
|
col_prompt_title = coltmp;
|
|
break;
|
|
case "INPUT_TEXT_COLOR":
|
|
col_input_text = coltmp;
|
|
break;
|
|
case "INPUT_BG_COLOR":
|
|
col_input_bg = coltmp;
|
|
break;
|
|
case "REFRESH_TITLE_COLOR":
|
|
col_refresh_title = coltmp;
|
|
break;
|
|
case "REFRESH_TEXT_COLOR":
|
|
col_refresh_text = coltmp;
|
|
break;
|
|
case "REFRESH_BG_COLOR":
|
|
col_refresh_bg = coltmp;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|