mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-16 02:56:09 -04:00
Make default env colours constants instead of const variables
This commit is contained in:
parent
d98584f898
commit
387ff702b6
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
10
src/Menus.c
10
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);
|
||||
|
@ -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. */
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
23
src/World.c
23
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;
|
||||
}
|
||||
|
||||
|
||||
|
@ -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, */
|
||||
|
Loading…
x
Reference in New Issue
Block a user