Jump to content

Resources/Reflection/NeedleFxSceneData

From HEModdingWiki

NeedleFxSceneData is a reflection template used to edit many of Needle's graphics effects parameters inside of the FxParamManager on a per stage basis. It is used in all of Hedgehog Engine 2 games, as Needle is its graphics engine component. However, the template's contents may vary between each game and some parameters will not work if they are included in the game's graphics settings in the first place.

Additionally, it includes various parameters for heightmap rendering, stage's deathplane and camera draw distance and FOV within the "stageConfig" struct; however, those are not included in the FxParamManager.

FxParamManager parameters

sceneConfig

Also referred to as "config". Contains parameters that are common to the entirety of the stage and cannot be changed by time/weather cycles or FxCol.

rendertarget

  • dofRenderTargetScale (Boolean) : Depth of Field resolution quality. Can be set to the same as the display resolution, a half, or a quarter of it.
  • shadowMapWidth and shadowMapHeight (sint32) : Shadow maps resolution. Will not work since those are covered by the game's graphics settings, where the low setting is 2048x2048 and the high setting is 4028x4028.

antialiasing

  • aaType (Boolean) : Antialiasing type. Can select no antialiasing, TAA, FXAA or SMAA. However, it will not make a difference as this is included in the graphics settings. Additionally, you can debug your way into using SMAA with DevTools, but the effect will glitch the screen.
  • usType (Boolean) : Determines what FSR upscaling type to use or disables it altogether. Open Zone uses "Easu", while CyberSpace uses "Fast". The latter's sharpening can be edited by fsrSharpness
  • fsrSharpness (Float) : Edits FSR's sharpening when the Fast or RCAS types are selected. The lower it is, the greater the effect.

atmopshere

  • illuminanceScale (Float) : Lighting strength when atmospheric lighting is in use. Makes everything brighter or darker.

lod

  • enableDebugDrawLayerRange (Boolean) : Presumably renders debug information of all level of detail layers. Does not work.
  • layerRange[32] (Float) : A set of 32 float parameters to edit the distance at which the LOD layers load. This does not affect gedit objects draw distance, but only terrain, some density objects and pcmodels. In addition, some objects only seem to be affected by certain layers.

detail

  • detailDistance (Float) : "Distance at which the detail map stops being used". The referred detail maps are higher quality versions of the terrain's textures. Those are located in the stage's height pack.
  • detailFadeRange (Float) : "Blur strength when switching". Determines how long the transition between the detailed texture and the original texture is.

dynamicResolution

  • mode (Boolean) : Enables resolution scaling, with the option to choose whether to use it dynamically or not. Only the "Fixed resolution" option works.
  • fixedResolutionRatio (Float) : The current scale of the display's resolution. Controlled by the graphics settings to choose between 0.75 and 0.5.

timeProgress

Enables TimeService's time cycle in the islands. When enabled, the next parameters are used to decide the rotation of the sun and moon's properties, as well as the exact moment where the game thinks nighttime starts and ends. It will also make use of the RFL's timeItems. When timeProgress is disabled, these parameters will be ignored and the parameters of items[0] will be used instead, unless stated to use other parameters in the game's stagedata.lua file.

  • solarRadiusScale (Float) : The size of the sun.
  • azimuthAngle (Float) : An offset to move the sun's position horizontally, without altering its vertical movement.
  • latitude / longitude (Float) and month / day (sint32) : Four parameters that indicate the stage's coordinates on Earth and the exact date the player is in. The sun's rotation will change to simulate how it would be in real life at the same time and place.
  • time (Float) : The current time of the day. Does not work.
  • hourlyTime (Float) : "Basic time progress rate/seconds per hour". Does not work as the speed of the sun and moon are set in the timeservice.rfl file in raw/misc/gameparam/.
  • night : A TimeService struct containing the exact moment at which the nighttime starts and finishes.
    • beginTime > hour / minute (sint32) : The moment when nighttime begins.
    • endTime > hour / minute (sint32) : The moment when nighttime ends.
  • overrideSpeeds[8] : "Overwrite time progress speed". A series of structs that might be able to change the speed at which the sun and moon move during specific times of the day. Those are unused and may or may not work.

weatherProgress

Enables the WeatherService's weather cycle. If enabled, the game will periodically use the RFL's weatherItems parameters.