Add support and migration for advanced rendering lens flare settings
This commit is contained in:
@@ -374,6 +374,7 @@ import {
|
|||||||
createDefaultWorldTimePhaseProfile,
|
createDefaultWorldTimePhaseProfile,
|
||||||
createDefaultWorldShaderSkySettings,
|
createDefaultWorldShaderSkySettings,
|
||||||
DEFAULT_NIGHT_IMAGE_ENVIRONMENT_INTENSITY,
|
DEFAULT_NIGHT_IMAGE_ENVIRONMENT_INTENSITY,
|
||||||
|
MAX_ADVANCED_RENDERING_LENS_FLARE_GHOST_COUNT,
|
||||||
isAdvancedRenderingDynamicGlobalIlluminationQuality,
|
isAdvancedRenderingDynamicGlobalIlluminationQuality,
|
||||||
isAdvancedRenderingWaterReflectionMode,
|
isAdvancedRenderingWaterReflectionMode,
|
||||||
createDefaultAdvancedRenderingSettings,
|
createDefaultAdvancedRenderingSettings,
|
||||||
@@ -898,6 +899,10 @@ function readAdvancedRenderingSettings(
|
|||||||
throw new Error("world.advancedRendering.godRays must be an object.");
|
throw new Error("world.advancedRendering.godRays must be an object.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (value.lensFlare !== undefined && !isRecord(value.lensFlare)) {
|
||||||
|
throw new Error("world.advancedRendering.lensFlare must be an object.");
|
||||||
|
}
|
||||||
|
|
||||||
if (value.foliage !== undefined && !isRecord(value.foliage)) {
|
if (value.foliage !== undefined && !isRecord(value.foliage)) {
|
||||||
throw new Error("world.advancedRendering.foliage must be an object.");
|
throw new Error("world.advancedRendering.foliage must be an object.");
|
||||||
}
|
}
|
||||||
@@ -919,6 +924,7 @@ function readAdvancedRenderingSettings(
|
|||||||
| undefined;
|
| undefined;
|
||||||
const distanceFog = value.distanceFog as Record<string, unknown> | undefined;
|
const distanceFog = value.distanceFog as Record<string, unknown> | undefined;
|
||||||
const godRays = value.godRays as Record<string, unknown> | undefined;
|
const godRays = value.godRays as Record<string, unknown> | undefined;
|
||||||
|
const lensFlare = value.lensFlare as Record<string, unknown> | undefined;
|
||||||
const foliage = value.foliage as Record<string, unknown> | undefined;
|
const foliage = value.foliage as Record<string, unknown> | undefined;
|
||||||
|
|
||||||
const shadowsMapSize = readOptionalAllowedValue(
|
const shadowsMapSize = readOptionalAllowedValue(
|
||||||
@@ -1186,6 +1192,34 @@ function readAdvancedRenderingSettings(
|
|||||||
64
|
64
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
lensFlare: {
|
||||||
|
enabled: readOptionalBoolean(
|
||||||
|
lensFlare?.enabled,
|
||||||
|
"world.advancedRendering.lensFlare.enabled",
|
||||||
|
defaults.lensFlare.enabled
|
||||||
|
),
|
||||||
|
intensity: readOptionalNonNegativeFiniteNumber(
|
||||||
|
lensFlare?.intensity,
|
||||||
|
"world.advancedRendering.lensFlare.intensity",
|
||||||
|
defaults.lensFlare.intensity
|
||||||
|
),
|
||||||
|
haloSize: readOptionalPositiveFiniteNumber(
|
||||||
|
lensFlare?.haloSize,
|
||||||
|
"world.advancedRendering.lensFlare.haloSize",
|
||||||
|
defaults.lensFlare.haloSize
|
||||||
|
),
|
||||||
|
ghostIntensity: readOptionalNonNegativeFiniteNumber(
|
||||||
|
lensFlare?.ghostIntensity,
|
||||||
|
"world.advancedRendering.lensFlare.ghostIntensity",
|
||||||
|
defaults.lensFlare.ghostIntensity
|
||||||
|
),
|
||||||
|
ghostCount: readOptionalPositiveIntegerWithMax(
|
||||||
|
lensFlare?.ghostCount,
|
||||||
|
"world.advancedRendering.lensFlare.ghostCount",
|
||||||
|
defaults.lensFlare.ghostCount,
|
||||||
|
MAX_ADVANCED_RENDERING_LENS_FLARE_GHOST_COUNT
|
||||||
|
)
|
||||||
|
},
|
||||||
foliage: resolveFoliageQualitySettings({
|
foliage: resolveFoliageQualitySettings({
|
||||||
enabled: readOptionalBoolean(
|
enabled: readOptionalBoolean(
|
||||||
foliage?.enabled,
|
foliage?.enabled,
|
||||||
|
|||||||
Reference in New Issue
Block a user