Releases: monkeymanboy/BeatSaberMarkupLanguage
Releases · monkeymanboy/BeatSaberMarkupLanguage
Version 1.14.1
Version 1.14.0
Game Compatibility
✔️ Compatible with Beat Saber 1.40.9 – 1.40.13
Changes
- Added
BeatSaberUI.MonochromeTextFontandmonochromeattribute toTextMeshProUGUIwhich can be used to display monochrome emojis - Added patch to fix vertical scroll indicator going past the bottom arrow
- Made
BeatSaberUI.MainUIFontMaterialandBeatSaberUI.MainFlatUIFontMaterialpublic - Fixed regression in font loading
- Fixed bold font displaying as regular font
- Fixed icon-skew and show-underline not working on icon-button (#149)
- Fixed default value not updating if no associated value exists (#151)
Version 1.13.0
Game Compatibility
✔️ Compatible with Beat Saber 1.40.9 – 1.40.10
Changes
- Updated for Beat Saber 1.40.9+
- Added support for coloured emojis (note: depends on system-level support of emojis)
- Added
BeatSaberUI.MainFlatUIFontMaterialthat can be used withTextMeshProUGUIon non-curved canvases and non-UITextMeshPro - Reworked font loading to improve coverage of Unicode and reduce inconsistencies
- Fixed
NullReferenceExceptionwhenGenericSliderSettingbuttons aren't shown - Removed "Disable Thumbstick Scrolling in Mod Settings" option
Version 1.12.5
Game Compatibility
✔️ Compatible with Beat Saber 1.40.0 – 1.40.8
Changes
- Updated for Beat Saber 1.40.0
Version 1.12.4
Game Compatibility
✔️ Compatible with Beat Saber 1.37.4 – 1.39.1
Changes
- Fixed issue with slider setting that sometimes caused certain mod settings to be reset
- Fixed warnings in logs when shutting down the game
Version 1.12.3
Game Compatibility
✔️ Compatible with Beat Saber 1.37.4 – 1.39.1
Changes
- Fixed menu buttons scroll bar arrows being hard to click.
- Fixed exception when pressing the backspace button of a text field's keyboard when no text has been entered.
Version 1.12.2
Game Compatibility
✔️ Compatible with Beat Saber 1.37.4 – 1.37.5
Changes
- Fixed back buttons on settings submenus not working.
Version 1.12.1
Game Compatibility
✔️ Compatible with Beat Saber 1.37.4 – 1.38.0
Changes
- Gameplay Setup tabs are now sorted alphabetically.
- Fixed Gameplay Setup tabs not being filtered out by
MenuTypeproperly.
Version 1.12.0
Game Compatibility
✔️ Compatible with Beat Saber 1.37.4 – 1.37.5
⚠️ Breaking Changes ⚠️
BSMLParser/BSMLSettings/MenuButtons/GameplaySetupinstances now only exist once the main menu is loaded. You must now call them in Zenject'sIInitializable.Initialize, BS Utils'earlyMenuSceneLoadedFresh/lateMenuSceneLoadedFreshevents, or BSML's ownMainMenuAwaiter.MainMenuInitializingevent.BSMLParser.Parse(...)can only be called once the main menu has initialized.- Switched from
XmlDocument(System.Xml) toXDocument(System.Xml.Linq). Impacts custom macros. - Switched all public fields to properties and normalized casing of public properties to PascalCase.
- Switched various
Actionfields to events. - Removed the following obsolete types:
BoolSettingFloatingScreenMoverPointerHotReloadableViewControllerINotifiableHostPropertyChangedEventArgs
- Removed the following obsolete members:
AnimationControllerData.animMaterialAnimationInfo.frameCountAnimationInfo.initializedAnimationLoader.Process()AnimationLoader.ProcessAnimationInfo(AnimationInfo, Action<Texture2D, Rect[], float[], int, int> callback)APNGUnityDecoder.Process(byte[], Action<AnimationInfo>)BSMLTag.Setup()BSMLTag.isInitializedBSMLViewController.didActivateGIFUnityDecoder.Process(byte[], Action<AnimationInfo>)ModalKeyboard.DrawCursor()Utilities.GetData()Utilities.GetListOfType<T>(params object[])
- Removed
Exceptionsnamespace. All exceptions are now in the root namespace. - Internalized APNG, OpenType, and test classes.
- Removed
GameplaySetup.SetTabVisibilitysince it conflicted with user-defined visibility of tabs.
Other changes
- Added support for properties when using
UIComponentandUIObject - Updated main menu mod buttons view to use the game's regular heading.
- Fixed IndexOutOfRangeException in dropdown list when there are no values.
- Tags, macros, and type handlers can now be registered through Zenject. For example:
Container.Bind<BSMLTag>().To<MyTag>().AsSingle(); Container.Bind<BSMLMacro>().To<MyMacro>().AsSingle(); Container.Bind<TypeHandler>().To<MyTypeHandler>().AsSingle();
Version 1.11.4
Game Compatibility
✔️ Compatible with Beat Saber 1.36.2 – 1.37.0
Changes
- Added
line-spacing,line-spacing-adjustment, andparagraph-spacingattributes on TextMeshProUGUI - Fixed gameplay setup tab selector spacing so the mods selector aligns with the base game selector
- Fixed default text page scroll view size delta not being zero