diff --git a/src/deh_soc.c b/src/deh_soc.c index 3759cc9c7552987029edcc8f6c1e76322ef61ed3..25437dfc59b6faddad3d623711082716ffaf303e 100644 --- a/src/deh_soc.c +++ b/src/deh_soc.c @@ -1352,6 +1352,12 @@ void readgametype(MYFILE *f, char *gtname) CONS_Printf("Added gametype %s\n", Gametype_Names[newgtidx]); } +// rr +static mapheader_lighting_t *usemaplighting(INT32 mapnum) +{ + return &mapheaderinfo[mapnum]->lighting; +} + void readlevelheader(MYFILE *f, INT32 num) { char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL); @@ -1712,6 +1718,31 @@ void readlevelheader(MYFILE *f, INT32 num) else if (fastcmp(word, "SKYBOXSCALEZ")) mapheaderinfo[num-1]->skybox_scalez = (INT16)i; + // rr + else if (fastcmp(word, "LIGHTCONTRAST") || fastcmp(word, "ENCORELIGHTCONTRAST")) + { + usemaplighting(num-1)->light_contrast = (UINT8)i; + } + else if (fastcmp(word, "SPRITEBACKLIGHT") || fastcmp(word, "ENCORESPRITEBACKLIGHT")) + { + usemaplighting(num-1)->sprite_backlight = (SINT8)i; + } + else if (fastcmp(word, "LIGHTANGLE") || fastcmp(word, "ENCORELIGHTANGLE")) + { + mapheader_lighting_t *lighting = usemaplighting(num-1); + + if (fastcmp(word2, "EVEN")) + { + lighting->use_light_angle = false; + lighting->light_angle = 0; + } + else + { + lighting->use_light_angle = true; + lighting->light_angle = FixedAngle(FloatToFixed(atof(word2))); + } + } + else if (fastcmp(word, "BONUSTYPE")) { if (fastcmp(word2, "NONE")) i = -1;