From 387ff702b6e02a87b73bb388ae9a7d860af95c51 Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Thu, 3 Oct 2019 16:58:54 +1000 Subject: [PATCH] Make default env colours constants instead of const variables --- src/Bitmap.h | 2 ++ src/Formats.c | 10 +++++----- src/Menus.c | 10 +++++----- src/PackedCol.h | 1 - src/Protocol.c | 18 +++++++++--------- src/World.c | 23 ++++++++--------------- src/World.h | 9 +++++++-- 7 files changed, 36 insertions(+), 37 deletions(-) diff --git a/src/Bitmap.h b/src/Bitmap.h index 7f7c59240..ce98eed2f 100644 --- a/src/Bitmap.h +++ b/src/Bitmap.h @@ -18,6 +18,8 @@ typedef union BitmapCol_ { /* Whether components of two colours are all equal. */ #define BitmapCol_Equals(a,b) ((a)._raw == (b)._raw) +#define PackedCol_ARGB(r, g, b, a) (((cc_uint32)(r) << 16) | ((cc_uint32)(g) << 8) | ((cc_uint32)(b)) | ((cc_uint32)(a) << 24)) + /* A 2D array of BitmapCol pixels */ typedef struct Bitmap_ { cc_uint8* Scan0; int Width, Height; } Bitmap; diff --git a/src/Formats.c b/src/Formats.c index 9750b6d6a..8d5b1cc5c 100644 --- a/src/Formats.c +++ b/src/Formats.c @@ -568,15 +568,15 @@ static void Cw_Callback_4(struct NbtTag* tag) { /* Callback for compound tag is called after all its children have been processed */ if (IsTag(tag->parent, "EnvColors")) { if (IsTag(tag, "Sky")) { - Env.SkyCol = Cw_ParseCol(Env_DefaultSkyCol); return; + Env.SkyCol = Cw_ParseCol(ENV_DEFAULT_SKY_COL); return; } else if (IsTag(tag, "Cloud")) { - Env.CloudsCol = Cw_ParseCol(Env_DefaultCloudsCol); return; + Env.CloudsCol = Cw_ParseCol(ENV_DEFAULT_CLOUDS_COL); return; } else if (IsTag(tag, "Fog")) { - Env.FogCol = Cw_ParseCol(Env_DefaultFogCol); return; + Env.FogCol = Cw_ParseCol(ENV_DEFAULT_FOG_COL); return; } else if (IsTag(tag, "Sunlight")) { - Env_SetSunCol(Cw_ParseCol(Env_DefaultSunCol)); return; + Env_SetSunCol(Cw_ParseCol(ENV_DEFAULT_SUN_COL)); return; } else if (IsTag(tag, "Ambient")) { - Env_SetShadowCol(Cw_ParseCol(Env_DefaultShadowCol)); return; + Env_SetShadowCol(Cw_ParseCol(ENV_DEFAULT_SHADOW_COL)); return; } } diff --git a/src/Menus.c b/src/Menus.c index 69b4de0b2..a9201bb88 100644 --- a/src/Menus.c +++ b/src/Menus.c @@ -2278,14 +2278,14 @@ static void EnvSettingsScreen_InitWidgets(struct MenuOptionsScreen* s) { void EnvSettingsScreen_Show(void) { static struct MenuInputDesc descs[11]; - MenuInput_Hex(descs[0], Env_DefaultCloudsCol); - MenuInput_Hex(descs[1], Env_DefaultSkyCol); - MenuInput_Hex(descs[2], Env_DefaultFogCol); + MenuInput_Hex(descs[0], ENV_DEFAULT_CLOUDS_COL); + MenuInput_Hex(descs[1], ENV_DEFAULT_SKY_COL); + MenuInput_Hex(descs[2], ENV_DEFAULT_FOG_COL); MenuInput_Float(descs[3], 0, 1000, 1); MenuInput_Int(descs[4], -10000, 10000, World.Height + 2); - MenuInput_Hex(descs[5], Env_DefaultSunCol); - MenuInput_Hex(descs[6], Env_DefaultShadowCol); + MenuInput_Hex(descs[5], ENV_DEFAULT_SUN_COL); + MenuInput_Hex(descs[6], ENV_DEFAULT_SHADOW_COL); MenuInput_Enum(descs[7], Weather_Names, Array_Elems(Weather_Names)); MenuInput_Float(descs[8], -100, 100, 1); MenuInput_Int(descs[9], -2048, 2048, World.Height / 2); diff --git a/src/PackedCol.h b/src/PackedCol.h index 4a04636a4..b93cfc64a 100644 --- a/src/PackedCol.h +++ b/src/PackedCol.h @@ -35,7 +35,6 @@ typedef cc_uint32 PackedCol; #define PackedCol_Make(r, g, b, a) (PackedCol_R_Bits(r) | PackedCol_G_Bits(g) | PackedCol_B_Bits(b) | PackedCol_A_Bits(a)) #define PACKEDCOL_WHITE PackedCol_Make(255, 255, 255, 255) -#define PackedCol_ARGB(r, g, b, a) (((cc_uint32)(r) << 16) | ((cc_uint32)(g) << 8) | ((cc_uint32)(b)) | ((cc_uint32)(a) << 24)) #define PACKEDCOL_RGB_MASK (PACKEDCOL_R_MASK | PACKEDCOL_G_MASK | PACKEDCOL_B_MASK) /* Scales RGB components of the given colour. */ diff --git a/src/Protocol.c b/src/Protocol.c index a6d2bc8f2..ac8b0400b 100644 --- a/src/Protocol.c +++ b/src/Protocol.c @@ -263,13 +263,13 @@ static void WoM_ParseConfig(struct HttpRequest* item) { if (!String_UNSAFE_Separate(&line, '=', &key, &value)) continue; if (String_CaselessEqualsConst(&key, "environment.cloud")) { - col = WoM_ParseCol(&value, Env_DefaultCloudsCol); + col = WoM_ParseCol(&value, ENV_DEFAULT_CLOUDS_COL); Env_SetCloudsCol(col); } else if (String_CaselessEqualsConst(&key, "environment.sky")) { - col = WoM_ParseCol(&value, Env_DefaultSkyCol); + col = WoM_ParseCol(&value, ENV_DEFAULT_SKY_COL); Env_SetSkyCol(col); } else if (String_CaselessEqualsConst(&key, "environment.fog")) { - col = WoM_ParseCol(&value, Env_DefaultFogCol); + col = WoM_ParseCol(&value, ENV_DEFAULT_FOG_COL); Env_SetFogCol(col); } else if (String_CaselessEqualsConst(&key, "environment.level")) { if (Convert_ParseInt(&value, &waterLevel)) { @@ -1030,17 +1030,17 @@ static void CPE_SetEnvCol(cc_uint8* data) { c = PackedCol_Make(data[1], data[3], data[5], 255); if (variable == 0) { - Env_SetSkyCol(invalid ? Env_DefaultSkyCol : c); + Env_SetSkyCol(invalid ? ENV_DEFAULT_SKY_COL : c); } else if (variable == 1) { - Env_SetCloudsCol(invalid ? Env_DefaultCloudsCol : c); + Env_SetCloudsCol(invalid ? ENV_DEFAULT_CLOUDS_COL : c); } else if (variable == 2) { - Env_SetFogCol(invalid ? Env_DefaultFogCol : c); + Env_SetFogCol(invalid ? ENV_DEFAULT_FOG_COL : c); } else if (variable == 3) { - Env_SetShadowCol(invalid ? Env_DefaultShadowCol : c); + Env_SetShadowCol(invalid ? ENV_DEFAULT_SHADOW_COL : c); } else if (variable == 4) { - Env_SetSunCol(invalid ? Env_DefaultSunCol : c); + Env_SetSunCol(invalid ? ENV_DEFAULT_SUN_COL : c); } else if (variable == 5) { - Env_SetSkyboxCol(invalid ? Env_DefaultSkyboxCol : c); + Env_SetSkyboxCol(invalid ? ENV_DEFAULT_SKYBOX_COL : c); } } diff --git a/src/World.c b/src/World.c index 7f9fdab5e..bf7146ed9 100644 --- a/src/World.c +++ b/src/World.c @@ -123,13 +123,6 @@ if (src != dst) { dst = src; Event_RaiseInt(&WorldEvents.EnvVarChanged, var); } struct _EnvData Env; const char* const Weather_Names[3] = { "Sunny", "Rainy", "Snowy" }; -const PackedCol Env_DefaultSkyCol = PackedCol_Make(0x99, 0xCC, 0xFF, 0xFF); -const PackedCol Env_DefaultFogCol = PackedCol_Make(0xFF, 0xFF, 0xFF, 0xFF); -const PackedCol Env_DefaultCloudsCol = PackedCol_Make(0xFF, 0xFF, 0xFF, 0xFF); -const PackedCol Env_DefaultSkyboxCol = PackedCol_Make(0xFF, 0xFF, 0xFF, 0xFF); -const PackedCol Env_DefaultSunCol = PackedCol_Make(0xFF, 0xFF, 0xFF, 0xFF); -const PackedCol Env_DefaultShadowCol = PackedCol_Make(0x9B, 0x9B, 0x9B, 0xFF); - static char World_TextureUrlBuffer[STRING_SIZE]; String World_TextureUrl = String_FromArray(World_TextureUrlBuffer); @@ -156,20 +149,20 @@ void Env_Reset(void) { Env.SkyboxHorSpeed = 0.0f; Env.SkyboxVerSpeed = 0.0f; - Env.ShadowCol = Env_DefaultShadowCol; + Env.ShadowCol = ENV_DEFAULT_SHADOW_COL; PackedCol_GetShaded(Env.ShadowCol, &Env.ShadowXSide, &Env.ShadowZSide, &Env.ShadowYMin); - Env.SunCol = Env_DefaultSunCol; + Env.SunCol = ENV_DEFAULT_SUN_COL; PackedCol_GetShaded(Env.SunCol, &Env.SunXSide, &Env.SunZSide, &Env.SunYMin); - Env.SkyCol = Env_DefaultSkyCol; - Env.FogCol = Env_DefaultFogCol; - Env.CloudsCol = Env_DefaultCloudsCol; - Env.SkyboxCol = Env_DefaultSkyboxCol; - Env.Weather = WEATHER_SUNNY; - Env.ExpFog = false; + Env.SkyCol = ENV_DEFAULT_SKY_COL; + Env.FogCol = ENV_DEFAULT_FOG_COL; + Env.CloudsCol = ENV_DEFAULT_CLOUDS_COL; + Env.SkyboxCol = ENV_DEFAULT_SKYBOX_COL; + Env.Weather = WEATHER_SUNNY; + Env.ExpFog = false; } diff --git a/src/World.h b/src/World.h index 20c4a9a13..e9b3d31ff 100644 --- a/src/World.h +++ b/src/World.h @@ -114,8 +114,13 @@ CC_VAR extern struct _EnvData { enum Weather_ { WEATHER_SUNNY, WEATHER_RAINY, WEATHER_SNOWY }; extern const char* const Weather_Names[3]; -extern const PackedCol Env_DefaultSkyCol, Env_DefaultFogCol, Env_DefaultCloudsCol, Env_DefaultSkyboxCol; -extern const PackedCol Env_DefaultSunCol, Env_DefaultShadowCol; + +#define ENV_DEFAULT_SKY_COL PackedCol_Make(0x99, 0xCC, 0xFF, 0xFF) +#define ENV_DEFAULT_FOG_COL PackedCol_Make(0xFF, 0xFF, 0xFF, 0xFF) +#define ENV_DEFAULT_CLOUDS_COL PackedCol_Make(0xFF, 0xFF, 0xFF, 0xFF) +#define ENV_DEFAULT_SKYBOX_COL PackedCol_Make(0xFF, 0xFF, 0xFF, 0xFF) +#define ENV_DEFAULT_SUN_COL PackedCol_Make(0xFF, 0xFF, 0xFF, 0xFF) +#define ENV_DEFAULT_SHADOW_COL PackedCol_Make(0x9B, 0x9B, 0x9B, 0xFF) /* If url is empty, extracts default texture pack. */ /* Else tries extracting cached texture pack for the given URL, */