X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fskyparams.h;h=f7f69442787319fefd9e647e65bd4ce508ccf39c;hb=1f39948bc3341af99a1a2dfc39e4b4164ab56f4c;hp=c5f01064d1c279bda5d8b851bc286a65c8037c8a;hpb=946c03c69bfdde7dc91295692479f8e81bdf79e9;p=dragonfireclient.git diff --git a/src/skyparams.h b/src/skyparams.h index c5f01064d..f7f694427 100644 --- a/src/skyparams.h +++ b/src/skyparams.h @@ -19,7 +19,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #pragma once -struct skycolor +struct SkyColor { video::SColor day_sky; video::SColor day_horizon; @@ -36,10 +36,10 @@ struct SkyboxParams std::string type; std::vector textures; bool clouds; - skycolor sky_color; - video::SColor sun_tint; - video::SColor moon_tint; - std::string tint_type; + SkyColor sky_color; + video::SColor fog_sun_tint; + video::SColor fog_moon_tint; + std::string fog_tint_type; }; struct SunParams @@ -68,26 +68,51 @@ struct StarParams f32 scale; }; +struct CloudParams +{ + float density; + video::SColor color_bright; + video::SColor color_ambient; + float thickness; + float height; + v2f speed; +}; + // Utility class for setting default sky, sun, moon, stars values: class SkyboxDefaults { public: - const skycolor getSkyColorDefaults() + SkyboxDefaults() = delete; + + static const SkyboxParams getSkyDefaults() + { + SkyboxParams sky; + sky.bgcolor = video::SColor(255, 255, 255, 255); + sky.type = "regular"; + sky.clouds = true; + sky.sky_color = getSkyColorDefaults(); + sky.fog_sun_tint = video::SColor(255, 244, 125, 29); + sky.fog_moon_tint = video::SColorf(0.5, 0.6, 0.8, 1).toSColor(); + sky.fog_tint_type = "default"; + return sky; + } + + static const SkyColor getSkyColorDefaults() { - skycolor sky; + SkyColor sky; // Horizon colors - sky.day_horizon = video::SColor(255, 155, 193, 240); + sky.day_horizon = video::SColor(255, 144, 211, 246); sky.indoors = video::SColor(255, 100, 100, 100); sky.dawn_horizon = video::SColor(255, 186, 193, 240); sky.night_horizon = video::SColor(255, 64, 144, 255); // Sky colors - sky.day_sky = video::SColor(255, 140, 186, 250); + sky.day_sky = video::SColor(255, 97, 181, 245); sky.dawn_sky = video::SColor(255, 180, 186, 250); sky.night_sky = video::SColor(255, 0, 107, 255); return sky; } - const SunParams getSunDefaults() + static const SunParams getSunDefaults() { SunParams sun; sun.visible = true; @@ -99,7 +124,7 @@ class SkyboxDefaults return sun; } - const MoonParams getMoonDefaults() + static const MoonParams getMoonDefaults() { MoonParams moon; moon.visible = true; @@ -109,13 +134,25 @@ class SkyboxDefaults return moon; } - const StarParams getStarDefaults() + static const StarParams getStarDefaults() { StarParams stars; + stars.visible = true; stars.count = 1000; stars.starcolor = video::SColor(105, 235, 235, 255); stars.scale = 1; return stars; } -}; + static const CloudParams getCloudDefaults() + { + CloudParams clouds; + clouds.density = 0.4f; + clouds.color_bright = video::SColor(229, 240, 240, 255); + clouds.color_ambient = video::SColor(255, 0, 0, 0); + clouds.thickness = 16.0f; + clouds.height = 120; + clouds.speed = v2f(0.0f, -2.0f); + return clouds; + } +};