Sunray Intensity Compensation System - Changelog

This is the changelog for @WoahItsJeebus’s [V2] Sunray Intensity Compensation System. All future updates will have their changelog & patchnotes-type information posted here.

With the amount of text on the one single post in the original thread, it became very laggy to continue editing said single main post. It still is here, just less-so. I will be using this thread strictly for patchnotes/changelogs.


Key

TealDotFocus of the update
WhiteDotSide note
YellowDotPlugin alteration
BlackDot Removal


Version 2.8.5

TealDotFixed a bug with the SICS Native UI adding a new TopBarPlus icon every time your character respawned
WhiteDotBegun preparations on SICS V3. Completely recoded with the knowledge and experience I’ve built up since the release of V2. With a brand new framework and more user-friendly experience installing and setting up.


Version 2.8.4

TealDotFixed a bug where the client core failed to recognize newly spawned characters
WhiteDotThis means when a player respawns, a fresh copy of the SICS Core and the SICS UI are inserted into the player’s character, instead of the original destination for new core’s (PlayerGui)


Version 2.8.3

TealDotFixed native menu descendants not scaling properly on mobile devices and other smaller resolutions


Version 2.8.2

TealDotSICSCore (Client-side core) Patched critical bug with TopBarPlus being extremely laggy on mobile devices

WhiteDotThis issue would start as soon as the player loaded in—but could be fixed after activating the native menu (or disabling the native menu entirely). This was caused by the system trying to assign keybinds to mobile devices, which didn’t have a table to search through. This has been fixed.

This update is added automatically if AutoUpdate is enabled.


Version 2.8.1

TealDotFixed issues with the native menu not displaying correctly on non-PC devices
TealDotAdded attribute options for customizable keybinds (best for games with multiple actions set to different keybinds. This feature is likely to be moved to the server script for limitless keybinds. Currently the max is two keys per device type. i.e Controller = R1 + L3. PC = LeftShift + F1)
TealDotAdded global data saving & loading for players (native menu settings only)


Version 2.8.0

TealDotA native menu now comes with the system for individual players to use.
WhiteDotAt the moment, this menu only features a dampening slider. If there are any ideas for other things to add to this menu, please let me know on the original post linked in the title of this thread!


Version 2.7.0

TealDotTrue auto-updates with saved defaults
WhiteDotWhat this means is you no longer have to reinstall SICS every time an update rolls out! If the system is outdated (the client-side end of the system), a new one is dispatched upon the starting of that server- with existing and new players then using the new updated core.

  • This also means new SICS updates won’t be applied to users in servers running old SICS version. Only new servers will check for the update. (I will eventually have a fallback setup for this. And have updates be able to rollout in already existing/running servers. Just bare with me.)

BlackDotRemoved the entire “ActiveValues” folder. ALL changeable values have been moved to the server script root, under “Attributes” in the properties window. “SettingsModule:SetSetting()” and :GetSetting() still function as normal.

TealDotThese new attributes in the root script are applied to each joining player’s settings module. This is where “:SetSetting()” and “:GetSetting()” now get and return their values from.


Version 2.6.1

BlackDotRemoved useCustomSky from the ActiveValues folder
BlackDotRemoved CustomSkies child folder from the Settings module
WhiteDotNow that the system checks for any existing skybox in game.Lighting, and uses Roblox’s default night skybox, there is no need for a CustomSkies folder or setting.


Version 2.6.0

TealDotDevelopers no longer need to setup a DaySky and NightSky for the system to default to
WhiteDotThe system will now check for an existing sky in game.Lighting. If one is not found, one will be created.
WhiteDotThe system now includes an array of properties for a night-enabled period. This includes all faces for the nighttime skybox and moon texture to replace the sun.

You are free to enable and disable night-mode during gameplay without the system going haywire. Everything tweens smoothly, and you can barely see any change in the skybox’s properties during the adjustment process.


Version 2.5.1

TealDotFixed some internal functions not using the previous updates changes, resulting in a SICSystem failure.


Version 2.5.0

TealDotChanged the name of the “IntensityLookingAway” internal setting to “IntensityOffScreen” from the Settings module, this setting has now been added to the ActiveValues folder
WhiteDotReminder, use the ActiveValues folder to set defaults on the server. Use :SetSetting(SettingName) for setting settings locally! (Minus ClockTime, this is only used for the Plugin version of this system for previewing changes in Roblox Studio.WhiteDot

TealDotAdded IntensityObstructed and NearSunRaysIntensity to the ActiveValues folder
TealDotAdded IgnoreTerrain to the ActiveValues folder

BlackDotRemoved SettingsModule:SetActivePreset(PresetName) in favor of SettingsModule:SetSetting("ActivePreset",PresetName)

TealDotRemoved SettingsModule.Settings as these values have either been integrated into the system in favor of automation or have been added to ActiveValues

Besides these main changes, other minor changes like adjustments to the core code of the system have been made.


Version 2.4.0

TealDotAdded a “TagsToIgnore” Configuration instance in the ActiveValues folder.
WhiteDotEdit the tags on this for the system to ignore any parts using any tags attached to that configuration.


Version 2.3.3

TealDotAdded a “CustomSkies” folder in the Settings module. Replace the skies in there if you plan to use custom skies!


Version 2.3.2

TealDotAdded support for custom SkyBox’s (See instructions for more info)

TealDotAdded (unreleased) package support
(Thank you @Im_ussrgame0hboi456 for reaching out about custom skies. This feature was added to the (currently unreleased) package version, but missed the release version by mistake)


Version 2.3.1

TealDotFixed SettingsModule.GetSetting() and .SetSetting() to work with the new ActiveValues folder


Version 2.3.0

YellowDotAdded Plugin Support, find it here.

TealDotMoved (most) customizable settings to a folder labeled “ActiveValues” inside the Settings module

WhiteDotThis was done for easier compatibility with the SICS Plugin


Version 2.2.1

TealDotFixed an issue that prevented the SetSetting() function from updating the requested setting’s value


Version 2.2.0

TealDotTweaked the settings module to now include a GetSetting() function and SetSetting() function

TealDotAdded a Dampening effect, allowing you to reduce the intensity tweaking by 0-100% (using 0.0-1.0 number scale)


Version 2.1.0

TealDotUpdated RayCasting filter enum from “Blacklist” to “Exclude” as per a recent Roblox update

TealDotA copy of each module (Presets and Settings) is now created for every joining player. They get placed in the SunrayIntensityController script created for the player upon joining.
WhiteDotThis is easier on the brain for some people that aren’t knowledgeable on Roblox Studio. Easy Settings access.

TealDotVery slight changes in formulas used for intensity tweaking


Version 2.0.0

TealDotMoved ~98% of the main code to separated functions when running the Runservice.Heartbeat:Connect() function

TealDotTweaked much of the math involved to calculate intensity; resulting in a much needed spike in accuracy when taking new sun sizes into account (as well as just around the forgiveness radius border & the outer ring of the Sun/SunRaysEffect)

TealDotAdded backup API functions to call for updating the Forgiveness, allowing developers to add triggers to their games that can update the sun size if the system fails to recognize an update to Sky.SunAngularSize

You can find the API functions in the new ‘ReadMe’ folder and in the DevForum post for this system - this has been removed as of version 2.7.0. Please refer to the DevForum documentation for information on the system.

TealDotIncreased NearSunRays’ intensity from 0.06 to 0.085 for increased immersion. I felt 0.06 didn’t make a good enough impression for default

TealDotAdded support for terrain blocking the sun

TealDotAdded ‘Instant’ Preset for instant changes to intensity

TealDotNew location for the system is ServerScriptService instead of StarterPlayerScripts
WhiteDotThe localscript (main functioning part of the system) is inserted into any joining players’ PlayerGui folder
WhiteDotThis is because I have to require a module by AssetId; which is only able to be done by server-scripts. Server scripts don’t have access to Player.PlayerScripts
WhiteDotThe system will automatically change the .Parent property of the main localscript to Players.LocalPlayer.PlayerScripts (as if the script was originally in StarterPlayerScripts)

TealDotAdded update notification support! Check the Output window when you begin a play-test session for information about your version of this system as well as the latest release version!

TealDotSeparated the function that actually changed the intensity value of FarSunRays; this was easier for me to compress code down and incorperate the ‘instant’ preset

TealDotMoved the ‘Custom’ preset TweenInfo() table from the ‘Settings’ ModuleScript to the ‘Presets’ ModuleScript

TealDotYou can now update the preset currently being used by the system by requiring the ‘Settings’ module and using SettingsModuleName.SetActivePreset("PresetNameHere")

TealDotAdded optional API for changing to a “night” time while keeping active sunrays (See API for more details)

TealDotThe script now comes with 2 custom Sky instances in the Settings modulescript. These are inserted and switched for different time modes (See API for more details)

TealDotAdded API function for getting the current sky (See API for more details)

TealDotAdded API function for updating the forgiveness value. (See API for more details)