Releases: TeamMoonstorm/MoonstormSharedUtils
Releases · TeamMoonstorm/MoonstormSharedUtils
2.5.1 - ItemDisplay Hotfix
Runtime
- Deprecated ItemDisplay solution (
NamedItemDisplayRuleSetandItemDisplayDictionary) now regenerate the IDRS's runtime values in an async fashion. - Removed
CreateAssetMenuAttributefromNamedItemDisplayRuleSet - Added clarification to
UberSkinDefthat it does not append to the TargetObject's modelSkinController. - Fixed
ItemModuleandSceneModuleprocessingIAsyncContentInitializerinterfaces incorrectly. - DEBUG only:
- Fixed ItemDisplayHelper accidentally setting all rules with a valid child locator entry name to the first child locator entry name.
Full Changelog: 2.5.0...2.5.1
2.5.0 - ItemDisplay Replacement
Runtime
- Removed the
ExtendedEliteDef.VanillaTierFlagsenum fromExtendedEliteDef- Note from Nebby: The VanillaTierFlags system was flawed as it did not make sense for it to be a flags enum. Since MSU adoption is still relatively small, i went ahead and checked if Starstorm2 utilized the feature. Since SS2 didn't use it, i went ahead and replaced it with a new Enum for elite tiers.
- Added
ExtendedEliteDef.VanillaEliteTierEntry, which is used to reference the vanilla tiers of elites.- Unlike
VanillaTier, the Tier1 and Tier1.5 are separate enum entries, the concept ofHonorDisabledandHonorActive(which are used to reference both Tier1 and Tier1.5) have been replaced byGlobalTier1andGlobalTier1Honorrespectively.
- Unlike
- UberSkinDef now utilizes
AddressableComponentRequirementAttributeandNoCatalogLoadAttribute, to ensure proper prefab selection and no BaseSkins loaded from the catalog. - Added the
ItemDisplayAddressedDictionary- Replaces the ItemDisplayDictionary
- An
ItemDisplayAddressedDictionaryis utilized for adding new item display rules to multipleVanilla ExclusiveItemDisplayRuleSets - Display Prefab selection can be referenced via addressed, this was done to allow for new spike placements for Mithrix.
- Has a ContextMenu utilized to populate with vanilla references, utilizing the key asset's metadata as a template.
- Each
ItemDisplayAddressedDictionaryneeds to be initialized usingAddEntries()for the new entries to appear.
- Deprecated
ItemDisplayDictionaryandNamedItemDisplayRuleSet- Note from Nebby: The memop update allowed the modding community to reference both Key Assets and Display Prefabs utilizing addressables, this in turn made the NamedItemDisplayRuleSet's main goal (serializing an IDRS at editor time) obsolete. The ItemDisplayDictionary was replaced with the
ItemDisplayAddressedDictionaryas a result. Both have a new wizard for upgrading to IDRS and IDAD respectively.
- Note from Nebby: The memop update allowed the modding community to reference both Key Assets and Display Prefabs utilizing addressables, this in turn made the NamedItemDisplayRuleSet's main goal (serializing an IDRS at editor time) obsolete. The ItemDisplayDictionary was replaced with the
- Improved the robustness of ILHooks in the API (Thanks MysticalChicken!)
- Added a
CoroutineWithResultCoroutine, which as it's name suggests, is a coroutine that eventually returns a value. - Added a new ContentPiece-addon interface, the
IAsyncContentInitializer- The
AsyncContentInitializerinterface, as the name suggests, is used to initialize content in an asynchronous fashion. - This can be utilized for example, to run
UberSkinDef.PreBake()method on aVanillaSurvivorContentPieceto intialize the UberSkinDef. Or runItemDisplayAddressedDictionary.AddEntries()on aItemContentPieceto add said item's displays.
- The
Editor
- Fixed TransformPathDropdowns having a weird formatting for the "this" option
- Removed old UberSkinDef related editor classes
- EntityStateTypeCollection now has a
Add Scripts found on this Directory and Childrencontext menu. - Removed a large amount of classes related to
ItemDisplayDictionary,NamedItemDisplayRuleSetandVanillaSkinDef
Full Changelog: 2.4.3...2.5.0
2.4.3 - Bugfixes
- Thanks @MysticalChicken for the fixes regarding content addition of DroneDefs and CraftableDefs!
Runtime
- ConfiguredVariable's configHash is now calculated using
HashCode.Combine - Added ability to Disable a drone in
ContentUtil.cs ContentUtil.HandleAssetAdditionnow properly handlesDroneDefandCraftableDef- Fixed an issue with ProperSave where language loading could cause exceptions at runtime
Editor
- Updated RoR2EditorKit dependency to at least 5.6.0
What's Changed
- Added DroneDef and CraftableDef support to ContentUtil by @MysticaIChicken in #79
Full Changelog: 2.4.2...2.4.3
2.4.2 - I'm tired man
- Updated because github version was pointing to the wrong commit hash :D
- Erros will be fixed on 2.4.3 as a result.
Full Changelog: 2.4.1...2.4.2
2.4.1 - Alloyed Peaklective
- Updated to Alloyed Collective (1.4.0)
- Note: This is being released in this state due to the maintainer going on vacation for thanksgiving week, any errors will be fixed on 2.4.2
Runtime
- Added the UberSkinDef, the all in one skin solution for both regular and vanilla characters
- Contains support for creating skins for both Vanilla characters and Custom characters utilizing the rootTransform field
- Has built-in support for R2API.Skin's SkinVFXInfo
- Meant to replace VanillaSkinDef
- Added a SerializableStaticMethod, which can be utilized to Serialize a Static Method... duh
- Specify arguments utilizing the RequiredArguments attribute
- Decorate a method with the MethodDetector attribute so it can be detected by the editor scripts
- Added a TransformPathAttribute, which can be utilize to serialize a transform path into a string field
- Specify the name of a property in the SerializedObject which contains teh reference to the root object itself.
- Supports GameObjects, AssetReferenceT and AddressReferencedPrefab
- AddressReferencedSkinDef can now specify wether it can load a skin via the Catalog
- Fixed a bug where buff behaviours could modify state prior to being added to the internal dictionary
Editor
- Fix the AddressReferencedSkinDefDrawer checking for a nonexistent define
- Added a SkinDefMigrationWizard... which doesnt work :D
Full Changelog: 2.3.2...2.4.1
2.4.0 - Alloyed Peaklective Pre-Release
This is a pre-release and its not ready
- Updated to Alloyed Collective
Runtime
- Added the UberSkinDef, the all in one skin solution for both regular and vanilla characters
- Contains support for creating skins for both Vanilla characters and Custom characters utilizing the rootTransform field
- Has built-in support for R2API.Skin's SkinVFXInfo
- Meant to replace VanillaSkinDef
- Added a SerializableStaticMethod, which can be utilized to Serialize a Static Method... duh
- Specify arguments utilizing the RequiredArguments attribute
- Decorate a method with the MethodDetector attribute so it can be detected by the editor scripts
- Added a TransformPathAttribute, which can be utilize to serialize a transform path into a string field
- Specify the name of a property in the SerializedObject which contains teh reference to the root object itself.
- Supports GameObjects, AssetReferenceT and AddressReferencedPrefab
- AddressReferencedSkinDef can now specify wether it can load a skin via the Catalog
- Fixed a bug where buff behaviours could modify state prior to being added to the internal dictionary
Editor
- Fix the AddressReferencedSkinDefDrawer checking for a nonexistent define
- Added a SkinDefMigrationWizard... which doesnt work :D
Full Changelog: 2.3.2...2.4.0
2.3.2 - Improvements
Runtime
- Added
TargetAssetNameAttributesupport toContentUtil.PopulateTypeFields()- Thanks MysticalChicken 🐤
ContentUtil.PopulateTypeFieldsnow has a prefered Overload that includes the base gameFunc<string, string> fieldNameToAssetNameConverter- Updated the ExtendedEliteDef to support adding to multiple, or singular elite tiers from the base game.
- This is because ExtendedEliteDef only allowed you to add to both 1 and 1.5 tiers, instead of exclusively tier 1.5, making "1.5" elites more difficult to add than necesary.
- Fixes #74 as a result
What's Changed
- TargetAssetNameAttribute support by @MysticaIChicken in #75
New Contributors
- @MysticaIChicken made their first contribution in #75
Full Changelog: 2.3.1...2.3.2
2.3.1 - Interactable Fixes
Runtime
- Fixed an issue where the Interactable Module would fail adding new interactables under certain circumstances.
Full Changelog: 2.3.0...2.3.1
2.3.0 - Memory Optimization
- Updated to 1.3.9 (Memopt)
Runtime
- Marked vanilla skin defs as deprecated.
- Stubbed the methods as a result.
- System will be replaced by a new one utilizing SkinDefParams.
- The CharacterModule will now ensure that a survivor's DisplayPrefab and BodyPrefab have the same skins array.
Full Changelog: 2.2.3...2.3.0
2.2.3 - False Son if it was a fun boss
Runtime
- Updated to BalancePatch2
- Character and Interactable module now only add their Cards to the always available standard category rather than all categories
- This was done to accomodate the new "DCCS Blender" system
- Fixed the Prerequisite achievment system of AchievableUnlockableDef not working properly
- This however breaks achievement collection... oops, we recommend using realer cheat unlocks to re-unlock everything
- Fixed the EquipmentCatalog adding elites to the wrong tiers
- Fix ItemTierPickupDisplayHelper spawning the displays at position 0 and unparented
- ItemTierModule should now properly assign the ItemTierDef's darkColorIndex to the correct value
Legacy Runtime
- The legacy runtime assembly now only enables if the game has been imported
Full Changelog: 2.2.2...2.2.3