This is the changelog for @WoahItsJeebus’s [V2] Sunray Intensity Compensation System. All future updates will have their changelog & patchnotes-type information posted here.
Key
Side note
Plugin alteration
Version 2.9.0
Replaced TopBarPlus V2 with TopBarPlus V3
Removed auto-update functionality to stay in line with Community Guidelines.
Version 2.8.5
Fixed a bug with the SICS Native UI adding a new TopBarPlus icon every time your character respawned
Begun 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
Fixed a bug where the client core failed to recognize newly spawned characters
This 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
Fixed native menu descendants not scaling properly on mobile devices and other smaller resolutions
Version 2.8.2
SICSCore (Client-side core) Patched critical bug with TopBarPlus being extremely laggy on mobile devices
This 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
Fixed issues with the native menu not displaying correctly on non-PC devices
Added 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)
Added global data saving & loading for players (native menu settings only)
Version 2.8.0
A native menu now comes with the system for individual players to use.
At 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
True auto-updates with saved defaults
What 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.)
Removed 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.
These 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
Removed Now 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.useCustomSky
from the ActiveValues
folder
Removed CustomSkies
child folder from the Settings module
Version 2.6.0
Developers no longer need to setup a DaySky and NightSky for the system to default to
The system will now check for an existing sky in game.Lighting
. If one is not found, one will be created.
The 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
Fixed some internal functions not using the previous updates changes, resulting in a SICSystem failure.
Version 2.5.0
Changed the name of the “IntensityLookingAway” internal setting to “IntensityOffScreen” from the Settings
module, this setting has now been added to the ActiveValues
folder
Reminder, 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.
Added IntensityObstructed
and NearSunRaysIntensity
to the ActiveValues
folder
Added IgnoreTerrain
to the ActiveValues
folder
Removed SettingsModule:SetActivePreset(PresetName)
in favor of SettingsModule:SetSetting("ActivePreset",PresetName)
Removed 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
Added a “TagsToIgnore” Configuration instance in the ActiveValues folder.
Edit the tags on this for the system to ignore any parts using any tags attached to that configuration.
Version 2.3.3
Added a “CustomSkies” folder in the Settings module. Replace the skies in there if you plan to use custom skies!
Version 2.3.2
Added support for custom SkyBox’s (See instructions for more info)
Added (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
Fixed SettingsModule.GetSetting() and .SetSetting() to work with the new ActiveValues folder
Version 2.3.0
Added Plugin Support, find it here.
Moved (most) customizable settings to a folder labeled “ActiveValues” inside the Settings
module
This was done for easier compatibility with the SICS Plugin
Version 2.2.1
Fixed an issue that prevented the SetSetting() function from updating the requested setting’s value
Version 2.2.0
Tweaked the settings module to now include a GetSetting()
function and SetSetting()
function
Added a Dampening
effect, allowing you to reduce the intensity tweaking by 0-100% (using 0.0-1.0 number scale)
Version 2.1.0
Updated RayCasting filter enum from “Blacklist” to “Exclude” as per a recent Roblox update
A 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.
This is easier on the brain for some people that aren’t knowledgeable on Roblox Studio. Easy Settings access.
Very slight changes in formulas used for intensity tweaking
Version 2.0.0
Moved ~98% of the main code to separated functions when running the Runservice.Heartbeat:Connect()
function
Tweaked 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)
Added 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.
Increased NearSunRays’ intensity from 0.06 to 0.085 for increased immersion. I felt 0.06 didn’t make a good enough impression for default
Added support for terrain blocking the sun
Added ‘Instant’ Preset for instant changes to intensity
New location for the system is ServerScriptService instead of StarterPlayerScripts
The localscript (main functioning part of the system) is inserted into any joining players’ PlayerGui folder
This 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
The system will automatically change the .Parent property of the main localscript to Players.LocalPlayer.PlayerScripts (as if the script was originally in StarterPlayerScripts)
Added 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!
Separated the function that actually changed the intensity value of FarSunRays; this was easier for me to compress code down and incorperate the ‘instant’ preset
Moved the ‘Custom’ preset TweenInfo() table from the ‘Settings’ ModuleScript to the ‘Presets’ ModuleScript
You can now update the preset currently being used by the system by requiring the ‘Settings’ module and using SettingsModuleName.SetActivePreset("PresetNameHere")
Added optional API for changing to a “night” time while keeping active sunrays (See API for more details)
The 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)
Added API function for getting the current sky (See API for more details)
Added API function for updating the forgiveness value. (See API for more details)