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
2 changes: 1 addition & 1 deletion extern/CommonLibSSE-NG
Submodule CommonLibSSE-NG updated 46 files
+8 −0 cmake/sourcelist.cmake
+3 −0 include/RE/A/Actor.h
+2 −0 include/RE/A/ActorState.h
+31 −34 include/RE/A/ActorValueList.h
+28 −10 include/RE/B/BGSImpactManager.h
+1 −0 include/RE/B/BGSRefAlias.h
+1 −1 include/RE/B/BGSScene.h
+1 −1 include/RE/B/BGSSoundDescriptor.h
+1 −1 include/RE/B/BGSStandardSoundDef.h
+1 −1 include/RE/B/BSScaleformExternalTexture.h
+17 −8 include/RE/C/CollisionLayers.h
+2 −2 include/RE/C/ContainerMenu.h
+1 −0 include/RE/C/ControlMap.h
+1 −0 include/RE/C/CursorMenu.h
+37 −0 include/RE/D/DragonCameraState.h
+1 −1 include/RE/E/EffectArchetypes.h
+2 −1 include/RE/E/ExtraLinkedRef.h
+25 −0 include/RE/F/FurnitureCameraState.h
+15 −48 include/RE/H/HUDData.h
+43 −0 include/RE/H/HUDMessageTypes.h
+11 −10 include/RE/H/HUDNotifications.h
+1 −1 include/RE/H/HighProcessData.h
+2 −1 include/RE/H/hkbBehaviorGraph.h
+26 −0 include/RE/H/hkbNodeInfo.h
+35 −35 include/RE/M/MapMenu.h
+1 −1 include/RE/M/MaterialIDs.h
+1 −0 include/RE/P/PlayerCamera.h
+3 −34 include/RE/P/PlayerCharacter.h
+1 −0 include/RE/S/Sky.h
+7 −0 include/RE/Skyrim.h
+3 −2 include/RE/T/TESForm.h
+11 −8 include/RE/T/TESQuest.h
+14 −14 include/RE/T/TESWeather.h
+43 −0 include/RE/T/TeleportPath.h
+36 −0 include/RE/T/TweenMenuCameraState.h
+25 −0 include/RE/V/VATSCameraState.h
+7 −28 include/REL/Version.h
+1 −0 include/REX/REX/EnumSet.h
+34 −33 include/SKSE/Version.h
+22 −0 src/RE/A/Actor.cpp
+14 −12 src/RE/A/ActorValueList.cpp
+13 −3 src/RE/B/BGSRefAlias.cpp
+23 −0 src/RE/E/ExtraLinkedRef.cpp
+7 −0 src/RE/P/PlayerCamera.cpp
+7 −0 src/RE/S/Sky.cpp
+19 −4 src/RE/T/TESQuest.cpp
Empty file added features/Weather Picker/CORE
Empty file.
2 changes: 2 additions & 0 deletions features/Weather Picker/Shaders/Features/WeatherPicker.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[Info]
Version = 1-0-0
2 changes: 2 additions & 0 deletions src/Feature.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
#include "Features/VR.h"
#include "Features/VolumetricLighting.h"
#include "Features/WaterEffects.h"
#include "Features/WeatherPicker.h"
#include "Features/WetnessEffects.h"

#include "State.h"
Expand Down Expand Up @@ -209,6 +210,7 @@ const std::vector<Feature*>& Feature::GetFeatureList()
globals::features::dynamicCubemaps,
globals::features::cloudShadows,
globals::features::waterEffects,
globals::features::weatherPicker,
globals::features::subsurfaceScattering,
globals::features::terrainShadows,
globals::features::screenSpaceGI,
Expand Down
25 changes: 23 additions & 2 deletions src/Feature.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,8 @@ struct Feature
* \return Pair containing feature summary description and vector of key feature bullet points
*/
virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() { return {}; }

virtual void SetupResources() {}
virtual void Reset() {}

virtual void DrawSettings() {}
virtual void DrawUnloadedUI()
{
Expand Down Expand Up @@ -110,6 +108,29 @@ struct Feature
virtual void RestoreDefaultSettings() {}
virtual bool ToggleAtBootSetting();

/**
* Weather analysis configuration for features that want to provide weather analysis.
* If sectionName is empty, the feature will not appear in weather analysis UI.
* Features should populate this struct to opt-in to weather analysis display.
*/
struct WeatherAnalysisConfig
{
std::string sectionName; // Display name for the collapsible section (empty = no weather analysis)
std::function<void()> drawFunction; // Custom draw function for weather analysis content

// Constructor for easy initialization
WeatherAnalysisConfig() = default;
WeatherAnalysisConfig(const std::string& name, std::function<void()> drawFunc) :
sectionName(name), drawFunction(std::move(drawFunc)) {}
};

/**
* Get weather analysis configuration for this feature.
* Returns empty sectionName by default (no weather analysis).
* Features should override this to provide their weather analysis section name and draw function.
*/
virtual WeatherAnalysisConfig GetWeatherAnalysisConfig() const { return {}; }

virtual bool ValidateCache(CSimpleIniA& a_ini);
virtual void WriteDiskCacheInfo(CSimpleIniA& a_ini);
virtual void ClearShaderCache() {}
Expand Down
Loading
Loading