Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions src/Features/InteriorSunShadows.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@

struct InteriorSunShadows : Feature
{
private:
static constexpr std::string_view MOD_ID = "153541";

public:
static InteriorSunShadows* GetSingleton()
{
static InteriorSunShadows singleton;
Expand All @@ -15,12 +19,11 @@ struct InteriorSunShadows : Feature
virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
return {
"Enables realistic sun shadows inside interior spaces that have openings to the exterior, such as windows and doors, bringing natural lighting indoors.",
{ "Sun shadow casting through windows and openings",
"Double-sided rendering for accurate interior shadows",
"Automatic detection of interiors with sun exposure",
"Enhanced directional light culling for interiors",
"Seamless integration with existing shadow systems" }
"Allows for the sun and moon to cast light and shadows into interior spaces.",
{ "Functions only for explicitly enabled interiors",
"Utilizes existing sun, moon, and weather systems",
"Includes an option to force double-sided rendering for unprepared interiors",
"Fixes geometry culling issues that cause light leakage" }
};
}
virtual void DrawSettings() override;
Expand Down
17 changes: 11 additions & 6 deletions src/Features/InverseSquareLighting.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

struct InverseSquareLighting : Feature
{
private:
static constexpr std::string_view MOD_ID = "153542";

public:
static InverseSquareLighting* GetSingleton()
{
static InverseSquareLighting singleton;
Expand All @@ -21,12 +25,13 @@ struct InverseSquareLighting : Feature
virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
return {
"Implements physically accurate inverse square falloff for lighting, making light attenuation behave realistically with distance for more natural illumination.",
{ "Physically accurate light attenuation based on distance",
"Automatic radius calculation for optimal performance",
"Enhanced light editor for fine-tuning light properties",
"Realistic shadow caster handling",
"Support for both point and directional lighting" }
"Implements an additional inverse square falloff for lighting which allows for a more physically accurate and realistic looking light attenuation.",
{ "Automatic light radius calculation based on intensity",
"Lights smoothly fade out at a configurable cutoff, solving the infinite distance problem",
"Does not modify any existing lighting",
"Requires the use of mods with lights enabled for inverse square falloff.",
"Full integration with Light Placer",
"Built in Light Editor for mod authors to preview lighting changes in real-time" }
};
}

Expand Down
5 changes: 5 additions & 0 deletions src/Features/InverseSquareLighting/LightEditor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@
void LightEditor::DrawSettings()
{
ImGui::Checkbox("Enable Light Editor", &enabled);
if (auto _tt = Util::HoverTooltipWrapper()) {
ImGui::Text(
"Allows for modifying lights in real-time to preview changes. "
"Changes cannot be saved directly and it is not intended for gameplay use.");
}

if (!enabled)
return;
Expand Down
17 changes: 11 additions & 6 deletions src/Features/SkySync.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@

struct SkySync : Feature
{
private:
static constexpr std::string_view MOD_ID = "153543";

public:
static SkySync* GetSingleton()
{
static SkySync singleton;
Expand All @@ -16,12 +20,13 @@ struct SkySync : Feature
virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
return {
"Synchronizes celestial lighting with the actual sky state, ensuring sun and moon lighting direction and intensity accurately match their visual position in the sky.",
{ "Accurate sun and moon lighting direction matching sky position",
"Alternative sun path calculation for improved realism",
"Configurable moon light source selection",
"Real-time celestial body tracking and updates",
"Enhanced sky and climate transition handling" }
"Synchronizes volumetric lighting and shadows with the actual sun and moon positions in the sky.",
{ "Fixes the mismatch between the positions of the sun and moons and the lighting direction",
"Includes an optional alternative southern sun path for more realistic and dramatic lighting",
"Smoothly switches the light source between the sun and moons based on visibility",
"Moon light source can be switched between Masser, Secunda, or the brightest",
"Automatic calculation of moon lighting intensity based on moon phase",
"Fixes the sun appearing higher on the horizon when the player gains altitude" }
};
}

Expand Down