Removed settings page support and all related objects
If ya want a settings page use ModHub
Moved all settings to ModHub
Added LIB_WT_ExpandableArea
Updated all widget templates to use a base class
This includes a "Color Modifier" system that allows defining colors based on the foreground color
Added macro "WaitForWidgetsReady"
Added interface "LIB_I_DRGLib"
When added to an actor this interface will inform said actor when DRGLib is ready
The DRGLibStartupComplete event is guaranteed to only be called once per actor
Increased setup speed.
DRGLib will now be ready in the same frame as when it is spawned, assuming I understand UE execution order correctly
NOTE: DRGLib is one of the (Usually the) first mod(s) spawned by the game. As of yet I have not found a satisfactory way to call DRGLibStartupComplete without waiting one frame. If you require instant response (You don't, but hypothetically you might) then call "UpdateInformedActors" off of a LIB_A_Main reference
Brought Compile warnings for DRGLib blueprints to 0
Unfortunately as a consequence of using the header dumps compile warnings are still ridiculously high
Removed startup notification
With no bindings to show, not much call for it
Tags for comprehensive changelist:
\ Changed in a non-compatibility breaking way
\ Changed in a compatibility breaking way
<-> Removed (Will obviously break compatibility)
<+> Added
"Comprehensive" changelist:
(Many changes were purely internal and should not have any relevance to anyone, or appreciably affect behavior. It's enough work doing this much :P)
\ LIB_F_DRG
Fixed bug where "GetLocalPlayerController" would get controller from previous scene
Switched test widget from "WidgetsAreReady"
\ LIB_DEB_O_ValueHolder
Switched RequestNewValue to stop using a pass-by-ref object
Prevents compile errors
\ LIB_W_DraggableWindow
Removed overlay button. Popup windows now use the focus path to determine when to self-close
This means that windows in the background should no longer require a second click for children to function
\ LIB_A_WindowManager
Keeps track of ModHub when determining input state on closing last window
Keeps LIB_A_WindowHolder non-hittestable unless actively dragging a window. This should prevent further issues with widgets underneath the window layer
Places LIB_A_WindowHolder on layer 10001 to make sure windows appear over modHub (Thanks Gold...)
Uses input mode UIOnly when first window is placed onscreen, instead of Game and UI
\ LIB_A_InputManager
No longer loads all saved custom inputs. Will only load after calling AddCustomAction in "LIB_F_Input"
This is to avoid a large list of inputs when mods not using them are disabled
Now stores a list of active custom inputs in self, instead of reading directly from save
\ LIB_F_Input
Updated implementation to work with new LIB_A_InputManager
\ LIB_O_InputSave
No longer saves full custom input, only saves name+override key
This is so that the modder can change overlap behavior at a later date and won't get stuck with weird input saves
\ LIB_E_LogSeverity
Added level "InfoNoPrint"
This is so that the print manager can log attempted prints without getting stuck in a loop
\ LIB_F_Main
Fixed bug where DateTimeToString would break when using milliseconds
\<+> LIB_I_DRGLib
currently includes single function; this function is called when DRGLib finishes setup
Due to current spawn logic, DRGLib is spawned before every other mod. The startup function is called after a 1 frame delay
If you require a spawn-frame usage of a DRGLib function (You probably don't), then call UpdateInformedActors on a LIB_A_Main reference
\<+> LIB_M_BasicActorMacros
Contains WaitForWidgetsReady, which requires an actor context for delays to work properly
\ LIB_A_ModInfo
Calls "UpdateInformedActors" on LIB_A_Main after spawning mods through failsafe, to ensure that DRGLib dependent mods work
\<-> LIB_W_ModInfoPage
\ LIB_A_PrintManager
When attempting to print before the widget is ready, will save failed attempt to log
\<-> LIB_A_SettingsManager
RIP all settings stuff. Use ModHub
\<-> LIB_E_ListObjectType
\<-> LIB_F_SettingsFunctions
\<-> LIB_I_SettingsPage
\<-> LIB_O_PageListViewDataHolder
\<-> LIB_O_SettingsManagerSave
\<-> LIB_W_LiterallyJustALeftAlignedImage
\<-> LIB_W_Notification
\<-> LIB_W_PageHost
\<-> LIB_W_PageList
\<-> LIB_W_UIMainSettingsPage
\ LIB_F_Sort
Fixed bug where CompareString prioritized capital letters
\ LIB_WT_Button
Rebased to LIB_WT_Base
\ Removed variable ButtonColor
\ Switched ButtonText to text instead of string
\ LIB_WT_CheckBox
Rebased to LIB_WT_Base
\ Removed variable CheckboxColor
\ LIB_WT_ColorPicker
Rebased to LIB_WT_Base
\ Renamed function "ChangeSelectedColor" to "SetSelectedColor"
\ Renamed function "UpdateColorPreview" to "UpdateDisplayedValue"
\<+> Added event dispatcher OnChangesConfirmed
\ LIB_WT_ComboBox
\ Removed variable ComboBoxColor
\ Switched DefaultOptions to being read only
Gave it a spit polish. Actually looks ok now
\<+> LIB_WT_ExpandableArea
It's pretty cool :)
\ LIB_WT_ImageButton
\ Switched variable "Image" from a Slate brush to a texture2D
\ LIB_WT_InputKeySelector
\ Removed variable KeySelectorColor
\<+> Added variable "DefaultAction"
The IKS will now automatically create a DRGLib managed input action if one is not found on initialization
\ LIB_WT_IntSlider
\ Removed variable SliderColor
Fixed bug where slider would call OnValueChanged every time mouse moved, instead of only when the value changed
\ Removed function UpdateSliderColor
\<+> LIB_W_WidgetTemplateBase
Of note is the function "UpdateWidgetStyle". Each widget template overrides this function to ensure a standardized method of updating. At a later date this may be expanded to UI-wide styles; I dunno
\ LIB_WT_Slider
\ Removed variable SliderColor
\ Renamed function SetFillPercent to SetPercent
\ LIB_WT_Spinbox
\ Removed variable SpinboxColor
\ Min and Max value are no longer read only
Now scales dragging based on how quickly your mouse is moving
\ LIB_WT_Textbox
\ Removed variable TextBoxColor
\ LIB_WT_TreeView
\ Removed UniqueWidget from AddItem
A custom widget is now generated for each list widget, not each inserted object
whew, that was a lot. I should make more comprehensive commit messages so I don't gotta look through and remember what I did lol
Feature/broad changes:
Tags for comprehensive changelist: \ Changed in a non-compatibility breaking way
\ Changed in a compatibility breaking way
<-> Removed (Will obviously break compatibility)
<+> Added
"Comprehensive" changelist: (Many changes were purely internal and should not have any relevance to anyone, or appreciably affect behavior. It's enough work doing this much :P)
\ LIB_WT_TreeView
whew, that was a lot. I should make more comprehensive commit messages so I don't gotta look through and remember what I did lol