summaryrefslogtreecommitdiff
path: root/src/parser/parse_ini.yy
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/parse_ini.yy')
-rw-r--r--src/parser/parse_ini.yy13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/parser/parse_ini.yy b/src/parser/parse_ini.yy
index 4fb00d8..0927011 100644
--- a/src/parser/parse_ini.yy
+++ b/src/parser/parse_ini.yy
@@ -15,6 +15,7 @@ int yylex();
void yyerror(gameIni_t *gIni, char *s);
void yyassert(int condition, char what[], char why[]);
void callocIfNull(void **ptr, size_t nmemb, size_t size);
+uint32_t convrgb(uint32_t in);
%}
@@ -48,8 +49,8 @@ ini: /*epsilon*/
| EOL ini
/* styles/...ini */
-decl: BGCOLOR AFF INTHEX { gIni->style.bgColor = $3; }
-| DEBRISCOLOR AFF INTHEX { gIni->style.debrisColor = $3; }
+decl: BGCOLOR AFF INTHEX { gIni->style.bgColor = convrgb($3); }
+| DEBRISCOLOR AFF INTHEX { gIni->style.debrisColor = convrgb($3); }
| PARTICLECOLOR AFF particles {
gIni->style.particleColorCount=16;
gIni->style.particleColor = $3;
@@ -219,6 +220,7 @@ decl: BGCOLOR AFF INTHEX { gIni->style.bgColor = $3; }
particles: INTHEX VIR INTHEX VIR INTHEX VIR INTHEX VIR INTHEX VIR INTHEX VIR INTHEX VIR INTHEX VIR INTHEX VIR INTHEX VIR INTHEX VIR INTHEX VIR INTHEX VIR INTHEX VIR INTHEX VIR INTHEX {
$$=malloc(16*sizeof(uint32_t));
+// TODO : use of convrgb
$$[0]=$1; $$[1]=$3; $$[2]=$5; $$[3]=$7; $$[4]=$9; $$[5]=$11; $$[6]=$13; $$[7]=$15 ;$$[8]=$17; $$[9]=$19; $$[10]=$21; $$[11]=$23; $$[12]=$25; $$[13]=$27; $$[14]=$29; $$[15]=$31;
}
%%
@@ -260,3 +262,10 @@ void callocIfNull(void **ptr, size_t nmemb, size_t size) {
}
}
+uint32_t convrgb(uint32_t in) {
+ uint32_t res=0;
+ res |= (in & 0x000000ff) << 16;
+ res |= (in & 0x0000ff00);
+ res |= (in & 0x00ff0000) >> 16;
+ return res;
+}