Releases: monkeymanboy/BeatSaberMarkupLanguage
Releases · monkeymanboy/BeatSaberMarkupLanguage
Version 1.12.3
Game Compatibility
✔️ Compatible with Beat Saber 1.37.4 – 1.38.0
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
MenuType
properly.
Version 1.12.0
Game Compatibility
✔️ Compatible with Beat Saber 1.37.4 – 1.37.5
⚠️ Breaking Changes ⚠️
BSMLParser
/BSMLSettings
/MenuButtons
/GameplaySetup
instances now only exist once the main menu is loaded. You must now call them in Zenject'sIInitializable.Initialize
, BS Utils'earlyMenuSceneLoadedFresh
/lateMenuSceneLoadedFresh
events, or BSML's ownMainMenuAwaiter.MainMenuInitializing
event.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
Action
fields to events. - Removed the following obsolete types:
BoolSetting
FloatingScreenMoverPointer
HotReloadableViewController
INotifiableHost
PropertyChangedEventArgs
- Removed the following obsolete members:
AnimationControllerData.animMaterial
AnimationInfo.frameCount
AnimationInfo.initialized
AnimationLoader.Process()
AnimationLoader.ProcessAnimationInfo(AnimationInfo, Action<Texture2D, Rect[], float[], int, int> callback)
APNGUnityDecoder.Process(byte[], Action<AnimationInfo>)
BSMLTag.Setup()
BSMLTag.isInitialized
BSMLViewController.didActivate
GIFUnityDecoder.Process(byte[], Action<AnimationInfo>)
ModalKeyboard.DrawCursor()
Utilities.GetData()
Utilities.GetListOfType<T>(params object[])
- Removed
Exceptions
namespace. All exceptions are now in the root namespace. - Internalized APNG, OpenType, and test classes.
- Removed
GameplaySetup.SetTabVisibility
since it conflicted with user-defined visibility of tabs.
Other changes
- Added support for properties when using
UIComponent
andUIObject
- 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-spacing
attributes 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
Version 1.11.3
Game Compatibility
✔️ Compatible with Beat Saber 1.36.2 – 1.37.0
Changes
- Added auto sizing properties to TextMeshProUGUI
- Fixed certain mods not respecting alphabetical order in main menu and/or in mod settings
- Fixed broken value binding on
MenuButton
Version 1.11.2
Game Compatibility
✔️ Tested with Beat Saber 1.36.2 – 1.37.0
Changes
- Fixed EULA text being widened
Version 1.11.1
Game Compatibility
✔️ Tested with Beat Saber 1.36.2
Changes
- Fixed various ScrollView-based components having the wrong anchors since the first 1.34.5 release
- Fixed debug build causing a softlock on startup
Version 1.11.0
Game Compatibility
✔️ Tested with Beat Saber 1.36.2
Changes
- Updated for Beat Saber 1.36.2
v1.10.4
Game Compatibility
✔️ Tested with Beat Saber 1.34.5 – 1.36.0
Changes
- Allow setting sprite directly on
icon-button
(i.e. the bound value can be a Sprite now). - Fixed accidental breaking change to Backgroundable background color; if alpha is omitted, it will use the background's current alpha.
- Fixed accidental breaking change to
pad
values.