Skip to content

Commit b25aac6

Browse files
committed
Update for Beat Saber 1.40.0
1 parent 7f5d5a6 commit b25aac6

File tree

4 files changed

+37
-52
lines changed

4 files changed

+37
-52
lines changed

BeatSaberMarkupLanguage/BeatSaberMarkupLanguage.csproj

Lines changed: 8 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
<PluginIcon>BeatSaberMarkupLanguage.Resources.icon.png</PluginIcon>
1616
<Copyright>Copyright © monkeymanboy 2019-2024</Copyright>
1717
<Description>An XML-based UI system.</Description>
18-
<GameVersion>1.37.4</GameVersion>
19-
<Version>1.12.4</Version>
18+
<GameVersion>1.40.0</GameVersion>
19+
<Version>1.12.5</Version>
2020
<RepositoryUrl>https://github.com/monkeymanboy/BeatSaberMarkupLanguage</RepositoryUrl>
2121
<PluginFeatures>
2222
{
@@ -37,155 +37,126 @@
3737
</PropertyGroup>
3838

3939
<ItemGroup>
40-
<Reference Include="System.Drawing" />
40+
<Reference Include="BeatSaber.GameSettings">
41+
<Private>False</Private>
42+
</Reference>
4143
<Reference Include="0Harmony">
4244
<HintPath>$(BeatSaberDir)\Libs\0Harmony.dll</HintPath>
4345
<Private>False</Private>
4446
</Reference>
4547
<Reference Include="BeatSaber.Init">
46-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\BeatSaber.Init.dll</HintPath>
4748
<Private>False</Private>
4849
</Reference>
4950
<Reference Include="BeatSaber.ViewSystem">
50-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\BeatSaber.ViewSystem.dll</HintPath>
5151
<Private>False</Private>
5252
<Publicize>True</Publicize>
5353
</Reference>
5454
<Reference Include="BGLib.AppFlow">
55-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\BGLib.AppFlow.dll</HintPath>
5655
<Private>False</Private>
5756
</Reference>
5857
<Reference Include="BGLib.Polyglot">
59-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\BGLib.Polyglot.dll</HintPath>
6058
<Private>False</Private>
6159
<Publicize>True</Publicize>
6260
</Reference>
6361
<Reference Include="BGLib.UnityExtension">
64-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\BGLib.UnityExtension.dll</HintPath>
6562
<Private>False</Private>
6663
</Reference>
6764
<Reference Include="GameInit">
68-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\GameInit.dll</HintPath>
6965
<Private>False</Private>
7066
</Reference>
7167
<Reference Include="GameplayCore">
72-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\GameplayCore.dll</HintPath>
7368
<Private>False</Private>
7469
</Reference>
7570
<Reference Include="HMLib">
76-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\HMLib.dll</HintPath>
7771
<Private>False</Private>
7872
</Reference>
7973
<Reference Include="HMUI">
80-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\HMUI.dll</HintPath>
8174
<Private>False</Private>
8275
<Publicize>True</Publicize>
8376
</Reference>
8477
<Reference Include="Interactable">
85-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\Interactable.dll</HintPath>
8678
<Private>False</Private>
8779
</Reference>
8880
<Reference Include="Main">
89-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\Main.dll</HintPath>
9081
<Private>False</Private>
9182
<Publicize>True</Publicize>
9283
</Reference>
9384
<Reference Include="Menu.ColorSettings">
94-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\Menu.ColorSettings.dll</HintPath>
9585
<Private>False</Private>
9686
<Publicize>True</Publicize>
9787
</Reference>
9888
<Reference Include="Menu.CommonLib">
99-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\Menu.CommonLib.dll</HintPath>
10089
<Private>False</Private>
10190
</Reference>
10291
<Reference Include="MenuSystem">
103-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\MenuSystem.dll</HintPath>
10492
<Private>False</Private>
10593
</Reference>
10694
<Reference Include="Newtonsoft.Json">
10795
<HintPath>$(BeatSaberDir)\Libs\Newtonsoft.Json.dll</HintPath>
10896
<Private>False</Private>
10997
</Reference>
11098
<Reference Include="SegmentedControl">
111-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\SegmentedControl.dll</HintPath>
11299
<Private>False</Private>
113100
</Reference>
101+
<Reference Include="System.Drawing" />
114102
<Reference Include="Unity.TextMeshPro">
115-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\Unity.TextMeshPro.dll</HintPath>
116103
<Private>False</Private>
117104
<Publicize>True</Publicize>
118105
</Reference>
119106
<Reference Include="UnityEngine">
120-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\UnityEngine.dll</HintPath>
121107
<Private>False</Private>
122108
<Publicize>True</Publicize>
123109
</Reference>
124110
<Reference Include="UnityEngine.AssetBundleModule">
125-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\UnityEngine.AssetBundleModule.dll</HintPath>
126111
<Private>False</Private>
127112
</Reference>
128113
<Reference Include="UnityEngine.CoreModule">
129-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
130114
<Private>False</Private>
131115
</Reference>
132116
<Reference Include="UnityEngine.ImageConversionModule">
133-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\UnityEngine.ImageConversionModule.dll</HintPath>
134117
<Private>False</Private>
135118
</Reference>
136119
<Reference Include="UnityEngine.InputLegacyModule">
137-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\UnityEngine.InputLegacyModule.dll</HintPath>
138120
<Private>False</Private>
139121
<Publicize>True</Publicize>
140122
</Reference>
141123
<Reference Include="UnityEngine.PhysicsModule">
142-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\UnityEngine.PhysicsModule.dll</HintPath>
143124
<Private>False</Private>
144125
</Reference>
145126
<Reference Include="UnityEngine.TextCoreFontEngineModule">
146-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\UnityEngine.TextCoreFontEngineModule.dll</HintPath>
147127
<Private>False</Private>
148128
</Reference>
149129
<Reference Include="UnityEngine.TextRenderingModule">
150-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
151130
<Private>False</Private>
152131
</Reference>
153132
<Reference Include="UnityEngine.UI">
154-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\UnityEngine.UI.dll</HintPath>
155133
<Private>False</Private>
156134
<Publicize>True</Publicize>
157135
</Reference>
158136
<Reference Include="UnityEngine.UIModule">
159-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\UnityEngine.UIModule.dll</HintPath>
160137
<Private>False</Private>
161138
</Reference>
162139
<Reference Include="UnityEngine.UnityWebRequestModule">
163-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\UnityEngine.UnityWebRequestModule.dll</HintPath>
164140
<Private>False</Private>
165141
</Reference>
166142
<Reference Include="Unity.Addressables">
167-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\Unity.Addressables.dll</HintPath>
168143
<Private>False</Private>
169144
<Publicize>True</Publicize>
170145
</Reference>
171146
<Reference Include="Unity.ResourceManager">
172-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\Unity.ResourceManager.dll</HintPath>
173147
<Private>False</Private>
174148
<Publicize>True</Publicize>
175149
</Reference>
176150
<Reference Include="VRUI">
177-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\VRUI.dll</HintPath>
178151
<Private>False</Private>
179152
<Publicize>True</Publicize>
180153
</Reference>
181154
<Reference Include="Zenject">
182-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\Zenject.dll</HintPath>
183-
<Private>false</Private>
155+
<Private>False</Private>
184156
<Publicize>True</Publicize>
185157
</Reference>
186158
<Reference Include="Zenject-usage">
187-
<HintPath>$(BeatSaberDir)\Beat Saber_Data\Managed\Zenject-usage.dll</HintPath>
188-
<Private>false</Private>
159+
<Private>False</Private>
189160
</Reference>
190161
</ItemGroup>
191162

BeatSaberMarkupLanguage/Components/Settings/GenericSliderSetting.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public bool ShowButtons
3333

3434
public override bool Interactable
3535
{
36-
get => slider != null && slider.interactable;
36+
get => slider != null && ((TextSlider)slider).interactable;
3737
set
3838
{
3939
if (slider != null)

BeatSaberMarkupLanguage/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
<ItemGroup>
2828
<Reference Include="IPA.Loader">
29-
<HintPath>$(BeatSaberDir)Beat Saber_Data\Managed\IPA.Loader.dll</HintPath>
29+
<HintPath>$(BeatSaberDir)IPA\IPA.Loader.dll</HintPath>
3030
<Private>False</Private>
3131
</Reference>
3232

BeatSaberMarkupLanguage/Tags/Settings/GenericSliderSettingTag.cs

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Collections.Generic;
22
using System.Linq;
3+
using BeatSaber.GameSettings;
34
using BeatSaberMarkupLanguage.Components;
45
using BeatSaberMarkupLanguage.Components.Settings;
56
using BGLib.Polyglot;
@@ -19,12 +20,18 @@ public override GameObject CreateObject(Transform parent)
1920
{
2021
if (controllersTransformTemplate == null)
2122
{
22-
controllersTransformTemplate = DiContainer.Resolve<MainSettingsMenuViewController>()._settingsSubMenuInfos.First(m => m.viewController is ControllersTransformSettingsViewController).viewController.transform.Find("Content/PositionX").GetComponent<LayoutElement>();
23+
controllersTransformTemplate = DiContainer.Resolve<MainSettingsMenuViewController>()._settingsSubMenuInfos.First(m => m.viewController is ControllerProfilesSettingsViewController).viewController.transform.Find("Content/MainContent/Sliders/PositionX").GetComponent<LayoutElement>();
2324
}
2425

2526
LayoutElement baseSetting = Object.Instantiate(controllersTransformTemplate, parent, false);
2627
baseSetting.name = "BSMLSliderSetting";
2728

29+
RectTransform rectTransform = (RectTransform)baseSetting.transform;
30+
rectTransform.anchoredPosition = Vector3.zero;
31+
32+
Object.Destroy(rectTransform.Find("SliderLeft").gameObject);
33+
Object.Destroy(baseSetting.GetComponent<CanvasGroup>());
34+
2835
GameObject gameObject = baseSetting.gameObject;
2936

3037
T sliderSetting = gameObject.AddComponent<T>();
@@ -34,22 +41,29 @@ public override GameObject CreateObject(Transform parent)
3441
sliderSetting.Slider.GetComponentInChildren<TextMeshProUGUI>().enableWordWrapping = false;
3542
sliderSetting.Slider._enableDragging = true;
3643

37-
RectTransform rectTransform = (RectTransform)sliderSetting.Slider.transform;
38-
rectTransform.anchorMin = new Vector2(1, 0);
39-
rectTransform.anchorMax = new Vector2(1, 1);
40-
rectTransform.sizeDelta = new Vector2(52, 0);
41-
rectTransform.pivot = new Vector2(1, 0.5f);
42-
rectTransform.anchoredPosition = new Vector2(0, 0);
44+
RectTransform sliderTransform = (RectTransform)sliderSetting.Slider.transform;
45+
sliderTransform.anchorMin = new Vector2(1, 0);
46+
sliderTransform.anchorMax = new Vector2(1, 1);
47+
sliderTransform.sizeDelta = new Vector2(52, 0);
48+
sliderTransform.pivot = new Vector2(1, 0.5f);
49+
sliderTransform.anchoredPosition = new Vector2(0, 0);
50+
51+
GameObject titleObject = gameObject.transform.Find("Title").gameObject;
52+
LocalizedTextMeshProUGUI localizedText = ConfigureLocalizedText(titleObject);
4353

44-
GameObject nameText = gameObject.transform.Find("Title").gameObject;
45-
LocalizedTextMeshProUGUI localizedText = ConfigureLocalizedText(nameText);
54+
RectTransform titleTransform = (RectTransform)titleObject.transform;
55+
titleTransform.anchorMin = Vector3.zero;
56+
titleTransform.anchorMax = Vector3.zero;
57+
titleTransform.offsetMin = Vector3.zero;
58+
titleTransform.offsetMax = new Vector2(-52, 0);
4659

47-
TextMeshProUGUI text = nameText.GetComponent<TextMeshProUGUI>();
48-
text.text = "Default Text";
49-
text.rectTransform.anchorMax = Vector2.one;
60+
TextMeshProUGUI titleTextMesh = titleObject.GetComponent<TextMeshProUGUI>();
61+
titleTextMesh.text = "Default Text";
62+
titleTextMesh.rectTransform.anchorMax = Vector2.one;
63+
titleTextMesh.alignment = TextAlignmentOptions.CaplineLeft;
5064

5165
List<Component> externalComponents = gameObject.AddComponent<ExternalComponents>().Components;
52-
externalComponents.Add(text);
66+
externalComponents.Add(titleTextMesh);
5367
externalComponents.Add(localizedText);
5468

5569
baseSetting.preferredWidth = 90;

0 commit comments

Comments
 (0)