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
6 changes: 6 additions & 0 deletions src/Feature.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@ struct Feature
*/
virtual bool IsCore() const { return false; }

/**
* Get the category for UI grouping (e.g., "Terrain", "Lighting", "Characters", etc.)
* Core features will be distributed to their respective categories
*/
virtual std::string_view GetCategory() const { return "Other"; }

/**
* Whether the feature will show up in the GUI menu
*/
Expand Down
1 change: 1 addition & 0 deletions src/Features/CloudShadows.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ struct CloudShadows : Feature
virtual inline std::string GetName() override { return "Cloud Shadows"; }
virtual inline std::string GetShortName() override { return "CloudShadows"; }
virtual inline std::string GetFeatureModLink() override { return MakeNexusModURL(MOD_ID); }
virtual std::string_view GetCategory() const override { return "Sky"; }
virtual inline std::string_view GetShaderDefineName() override { return "CLOUD_SHADOWS"; }
virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
Expand Down
1 change: 1 addition & 0 deletions src/Features/DynamicCubemaps.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ struct DynamicCubemaps : Feature
virtual inline std::string GetName() override { return "Dynamic Cubemaps"; }
virtual inline std::string GetShortName() override { return "DynamicCubemaps"; }
virtual inline std::string_view GetShaderDefineName() override { return "DYNAMIC_CUBEMAPS"; }
virtual std::string_view GetCategory() const override { return "Lighting"; }
virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
return {
Expand Down
1 change: 1 addition & 0 deletions src/Features/ExtendedMaterials.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ struct ExtendedMaterials : Feature
virtual inline std::string GetName() override { return "Extended Materials"; }
virtual inline std::string GetShortName() override { return "ExtendedMaterials"; }
virtual inline std::string_view GetShaderDefineName() override { return "EXTENDED_MATERIALS"; }
virtual std::string_view GetCategory() const override { return "Landscape & Textures"; }

virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
Expand Down
1 change: 1 addition & 0 deletions src/Features/GrassCollision.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ struct GrassCollision : Feature
virtual inline std::string GetShortName() override { return "GrassCollision"; }
virtual inline std::string GetFeatureModLink() override { return MakeNexusModURL(MOD_ID); }
virtual inline std::string_view GetShaderDefineName() override { return "GRASS_COLLISION"; }
virtual std::string_view GetCategory() const override { return "Grass"; }

virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
Expand Down
2 changes: 1 addition & 1 deletion src/Features/GrassLighting.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ struct GrassLighting : Feature
static GrassLighting singleton;
return &singleton;
}

virtual inline std::string GetName() override { return "Grass Lighting"; }
virtual inline std::string GetShortName() override { return "GrassLighting"; }
virtual inline std::string GetFeatureModLink() override { return MakeNexusModURL(MOD_ID); }
virtual inline std::string_view GetShaderDefineName() override { return "GRASS_LIGHTING"; }
virtual bool HasShaderDefine(RE::BSShader::Type shaderType) override { return shaderType == RE::BSShader::Type::Grass; };
virtual std::string_view GetCategory() const override { return "Grass"; }

virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
Expand Down
1 change: 1 addition & 0 deletions src/Features/HairSpecular.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ struct HairSpecular : Feature
virtual inline std::string GetName() override { return "Hair Specular"; }
virtual inline std::string GetShortName() override { return "HairSpecular"; }
virtual inline std::string_view GetShaderDefineName() override { return "CS_HAIR"; }
virtual std::string_view GetCategory() const override { return "Characters"; }
Comment thread
davo0411 marked this conversation as resolved.
virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
return {
Expand Down
1 change: 1 addition & 0 deletions src/Features/IBL.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ struct IBL : Feature
virtual inline std::string GetName() override { return "Image Based Lighting"; }
virtual inline std::string GetShortName() override { return "ImageBasedLighting"; }
virtual inline std::string_view GetShaderDefineName() override { return "IBL"; }
virtual std::string_view GetCategory() const override { return "Lighting"; }

virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
Expand Down
1 change: 1 addition & 0 deletions src/Features/InteriorSunShadows.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ struct InteriorSunShadows : Feature

virtual inline std::string GetName() override { return "Interior Sun Shadows"; }
virtual inline std::string GetShortName() override { return "InteriorSunShadows"; }
virtual std::string_view GetCategory() const override { return "Lighting"; }
virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
return {
Expand Down
2 changes: 2 additions & 0 deletions src/Features/InverseSquareLighting.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ struct InverseSquareLighting : Feature

virtual inline std::string_view GetShaderDefineName() override { return "ISL"; }

virtual std::string_view GetCategory() const override { return "Lighting"; }

virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
return {
Expand Down
1 change: 1 addition & 0 deletions src/Features/LODBlending.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ struct LODBlending : Feature
virtual inline std::string GetName() override { return "LOD Blending"; }
virtual inline std::string GetShortName() override { return "LODBlending"; }
virtual inline std::string_view GetShaderDefineName() override { return "LOD_BLENDING"; }
virtual std::string_view GetCategory() const override { return "Landscape & Textures"; }
virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
return {
Expand Down
1 change: 1 addition & 0 deletions src/Features/LightLimitFix.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ struct LightLimitFix : Feature
virtual inline std::string GetShortName() override { return "LightLimitFix"; }
virtual inline std::string GetFeatureModLink() override { return MakeNexusModURL(MOD_ID); }
virtual inline std::string_view GetShaderDefineName() override { return "LIGHT_LIMIT_FIX"; }
virtual std::string_view GetCategory() const override { return "Lighting"; }

virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
Expand Down
1 change: 1 addition & 0 deletions src/Features/ScreenSpaceGI.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ struct ScreenSpaceGI : Feature
virtual inline std::string GetShortName() override { return "ScreenSpaceGI"; }
virtual inline std::string GetFeatureModLink() override { return MakeNexusModURL(MOD_ID); }
virtual inline std::string_view GetShaderDefineName() override { return "SSGI"; }
virtual std::string_view GetCategory() const override { return "Lighting"; }
virtual inline bool HasShaderDefine(RE::BSShader::Type t) override
{
return t == RE::BSShader::Type::Lighting ||
Expand Down
1 change: 1 addition & 0 deletions src/Features/ScreenSpaceShadows.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ struct ScreenSpaceShadows : Feature
virtual inline std::string GetShortName() override { return "ScreenSpaceShadows"; }
virtual inline std::string GetFeatureModLink() override { return MakeNexusModURL(MOD_ID); }
virtual inline std::string_view GetShaderDefineName() override { return "SCREEN_SPACE_SHADOWS"; }
virtual std::string_view GetCategory() const override { return "Lighting"; }

virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
Expand Down
1 change: 1 addition & 0 deletions src/Features/SkySync.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ struct SkySync : Feature

virtual inline std::string GetName() override { return "Sky Sync"; }
virtual inline std::string GetShortName() override { return "SkySync"; }
virtual std::string_view GetCategory() const override { return "Sky"; }

virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
Expand Down
1 change: 1 addition & 0 deletions src/Features/Skylighting.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ struct Skylighting : Feature
virtual inline std::string GetShortName() override { return "Skylighting"; }
virtual inline std::string GetFeatureModLink() override { return MakeNexusModURL(MOD_ID); }
virtual inline std::string_view GetShaderDefineName() override { return "SKYLIGHTING"; }
virtual std::string_view GetCategory() const override { return "Sky"; }
virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
return {
Expand Down
1 change: 1 addition & 0 deletions src/Features/SubsurfaceScattering.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ struct SubsurfaceScattering : Feature
virtual inline std::string GetShortName() override { return "SubsurfaceScattering"; }
virtual inline std::string GetFeatureModLink() override { return MakeNexusModURL(MOD_ID); }
virtual inline std::string_view GetShaderDefineName() override { return "SSS"; }
virtual std::string_view GetCategory() const override { return "Characters"; }

virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
Expand Down
1 change: 1 addition & 0 deletions src/Features/TerrainBlending.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ struct TerrainBlending : Feature
virtual inline std::string GetName() override { return "Terrain Blending"; }
virtual inline std::string GetShortName() override { return "TerrainBlending"; }
virtual inline std::string_view GetShaderDefineName() override { return "TERRAIN_BLENDING"; }
virtual std::string_view GetCategory() const override { return "Landscape & Textures"; }
virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
return {
Expand Down
1 change: 1 addition & 0 deletions src/Features/TerrainHelper.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ struct TerrainHelper : Feature
virtual inline std::string GetName() override { return "Terrain Helper"; }
virtual inline std::string GetShortName() override { return "TerrainHelper"; }
virtual inline std::string_view GetShaderDefineName() override { return "TERRAIN_HELPER"; }
virtual std::string_view GetCategory() const override { return "Landscape & Textures"; }

virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
Expand Down
1 change: 1 addition & 0 deletions src/Features/TerrainShadows.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ struct TerrainShadows : public Feature
virtual inline std::string GetShortName() override { return "TerrainShadows"; }
virtual inline std::string GetFeatureModLink() override { return MakeNexusModURL(MOD_ID); }
virtual inline std::string_view GetShaderDefineName() override { return "TERRAIN_SHADOWS"; }
virtual std::string_view GetCategory() const override { return "Landscape & Textures"; }
virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
return {
Expand Down
2 changes: 1 addition & 1 deletion src/Features/TerrainVariation.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ struct TerrainVariation : Feature
static TerrainVariation singleton;
return &singleton;
}

virtual inline std::string GetName() override { return "Terrain Variation"; }
virtual inline std::string GetShortName() override { return "TerrainVariation"; }
virtual inline std::string GetFeatureModLink() override { return MakeNexusModURL(MOD_ID); }
virtual inline std::string_view GetShaderDefineName() override { return "TERRAIN_VARIATION"; }
virtual inline bool HasShaderDefine(RE::BSShader::Type shaderType) override { return shaderType == RE::BSShader::Type::Lighting; }
virtual bool IsCore() const override { return false; };
virtual bool SupportsVR() override { return true; }
virtual std::string_view GetCategory() const override { return "Landscape & Textures"; }

virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
Expand Down
1 change: 1 addition & 0 deletions src/Features/VolumetricLighting.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ struct VolumetricLighting : Feature

virtual inline std::string GetName() override { return "Volumetric Lighting"; }
virtual inline std::string GetShortName() override { return "VolumetricLighting"; }
virtual std::string_view GetCategory() const override { return "Lighting"; }

virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
Expand Down
2 changes: 1 addition & 1 deletion src/Features/WaterEffects.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ struct WaterEffects : Feature
}

winrt::com_ptr<ID3D11ShaderResourceView> causticsView;

virtual inline std::string GetName() override { return "Water Effects"; }
virtual inline std::string GetShortName() override { return "WaterEffects"; }
virtual inline std::string GetFeatureModLink() override { return MakeNexusModURL(MOD_ID); }
virtual inline std::string_view GetShaderDefineName() override { return "WATER_EFFECTS"; }
virtual std::string_view GetCategory() const override { return "Water"; }

virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
Expand Down
1 change: 1 addition & 0 deletions src/Features/WetnessEffects.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ struct WetnessEffects : Feature
virtual inline std::string GetShortName() override { return "WetnessEffects"; }
virtual inline std::string GetFeatureModLink() override { return MakeNexusModURL(MOD_ID); }
virtual inline std::string_view GetShaderDefineName() override { return "WETNESS_EFFECTS"; }
virtual std::string_view GetCategory() const override { return "Water"; }

virtual std::pair<std::string, std::vector<std::string>> GetFeatureSummary() override
{
Expand Down
Loading