From a642b6757c6409bc9d3e96e05bbe5718b607cbce Mon Sep 17 00:00:00 2001
From: Maru <priceisrightfan1988@gmail.com>
Date: Fri, 6 Sep 2024 07:11:21 +0000
Subject: [PATCH] Replace deh_soc.c

---
 src/deh_soc.c | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/src/deh_soc.c b/src/deh_soc.c
index 3759cc9c75..25437dfc59 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;
-- 
GitLab