Skip to content

Releases: monkeymanboy/BeatSaberMarkupLanguage

Version 1.14.1

22 Dec 22:34

Choose a tag to compare

Game Compatibility

✔️ Compatible with Beat Saber 1.41.1 – 1.42.0

Changes

  • Updated for Beat Saber 1.41.1

Version 1.14.0

13 Sep 00:26

Choose a tag to compare

Game Compatibility

✔️ Compatible with Beat Saber 1.40.9 – 1.40.13

Changes

  • Added BeatSaberUI.MonochromeTextFont and monochrome attribute to TextMeshProUGUI which can be used to display monochrome emojis
  • Added patch to fix vertical scroll indicator going past the bottom arrow
  • Made BeatSaberUI.MainUIFontMaterial and BeatSaberUI.MainFlatUIFontMaterial public
  • 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

03 Sep 23:57

Choose a tag to compare

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.MainFlatUIFontMaterial that can be used with TextMeshProUGUI on non-curved canvases and non-UI TextMeshPro
  • Reworked font loading to improve coverage of Unicode and reduce inconsistencies
  • Fixed NullReferenceException when GenericSliderSetting buttons aren't shown
  • Removed "Disable Thumbstick Scrolling in Mod Settings" option

Version 1.12.5

12 Dec 13:16

Choose a tag to compare

Game Compatibility

✔️ Compatible with Beat Saber 1.40.0 – 1.40.8

Changes

  • Updated for Beat Saber 1.40.0

Version 1.12.4

05 Dec 23:24

Choose a tag to compare

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

15 Oct 22:24

Choose a tag to compare

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

02 Oct 21:07

Choose a tag to compare

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

26 Sep 01:32

Choose a tag to compare

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

22 Sep 20:39

Choose a tag to compare

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's IInitializable.Initialize, BS Utils' earlyMenuSceneLoadedFresh/lateMenuSceneLoadedFresh events, or BSML's own MainMenuAwaiter.MainMenuInitializing event.
  • BSMLParser.Parse(...) can only be called once the main menu has initialized.
  • Switched from XmlDocument (System.Xml) to XDocument (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 and UIObject
  • 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

29 Jul 19:25

Choose a tag to compare

Game Compatibility

✔️ Compatible with Beat Saber 1.36.2 – 1.37.0

Changes

  • Added line-spacing, line-spacing-adjustment, and paragraph-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