Skip to content

Commit

Permalink
fixing Rumble's mod support and adding some railguards
Browse files Browse the repository at this point in the history
Aryetis committed Sep 2, 2022
1 parent 7253b83 commit 4a544f5
Showing 4 changed files with 22 additions and 21 deletions.
18 changes: 8 additions & 10 deletions FasterScroll/FasterScrollController.cs
Original file line number Diff line number Diff line change
@@ -33,7 +33,9 @@ public enum RumbleModeEnum
public static FasterScrollModeEnum FasterScrollMode { get { return PluginConfig.Instance.FasterScrollMode; } private set {} }
public static float RumbleStrength { get { return m_fRumbleStrength; } private set { } }
public static bool NalunaRumbleModeDetected => IPA.Loader.PluginManager.EnabledPlugins.Any(x => x.Id == "RumbleMod");
public static float StockRumbleStrength
public static float StockRumbleStrength { get; set; }

/* public static float StockRumbleStrength
{
get
{
@@ -48,12 +50,8 @@ public static float StockRumbleStrength
}
}
set { }
}
}*/

public static float GetNalunaRumbleModStrengthUI()
{
return PersistentSingleton<SettingsController>.instance.strength_ui;
}

/******************************
* Basic Unity Stuff *
@@ -70,7 +68,7 @@ private void Awake()
Instance = this;

ResetInertia();
m_fVanillaStockRumbleStrength = null;
StockRumbleStrength = -1.0f;
Plugin.Log?.Debug($"{name}: Awake()");
#if DEBUG_FASTERSCROLL
StartCoroutine(DebugUpdate());
@@ -96,10 +94,10 @@ public static void SetStockScrollSpeed(ScrollView sv)
// No guarantee of getting stockRumbleStrength, depends of when it's called (meant to be called at startup)
public static void InitializeRumbleStrengthStuff(VRInputModule vrinmod)
{
if (!NalunaRumbleModeDetected && !m_fVanillaStockRumbleStrength.HasValue)
if (!NalunaRumbleModeDetected && StockRumbleStrength == -1.0f)
{
HapticPresetSO hapticPreset = vrinmod.GetField<HapticPresetSO, VRInputModule>("_rumblePreset");
m_fVanillaStockRumbleStrength = hapticPreset._strength;
StockRumbleStrength = hapticPreset._strength;
}

m_fRumbleStrength = StockRumbleStrength;
@@ -213,7 +211,7 @@ private static void SetHapticFeedbackController()
private static float m_fStockScrollSpeed;

private static HapticFeedbackController m_oHaptic;
private static float? m_fVanillaStockRumbleStrength; // stock value : 1.0f (will be set ONCE at launch)
//private static float m_fVanillaStockRumbleStrength; // stock value : 1.0f (will be set ONCE at launch)
private static float m_fRumbleStrength;

/******************************
15 changes: 9 additions & 6 deletions FasterScroll/HarmonyPatches/Patches.cs
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ class ScrollViewAwakePatch
{
static void Prefix(ScrollView __instance)
{
if (__instance.transform.parent.gameObject.name == "LevelsTableView")
if (__instance.transform.parent != null && __instance.transform.parent.gameObject.name == "LevelsTableView")
FasterScrollController.SetStockScrollSpeed(__instance);
return;
}
@@ -63,7 +63,7 @@ static void Prefix(ScrollView __instance, Vector2 deltaPos)
{
if ((FasterScrollController.FasterScrollMode == FasterScrollController.FasterScrollModeEnum.Exp
|| FasterScrollController.FasterScrollMode == FasterScrollController.FasterScrollModeEnum.Linear
) && __instance.transform.parent.gameObject.name == "LevelsTableView")
) && __instance.transform.parent != null && __instance.transform.parent.gameObject.name == "LevelsTableView")
FasterScrollController.ScrollViewPatcherDynamic(__instance);
}
}
@@ -77,7 +77,7 @@ static void Prefix(ScrollView __instance)
{
if ((FasterScrollController.FasterScrollMode == FasterScrollController.FasterScrollModeEnum.Exp
|| FasterScrollController.FasterScrollMode == FasterScrollController.FasterScrollModeEnum.Linear
) && __instance.transform.parent.gameObject.name == "LevelsTableView")
) && __instance.transform.parent != null && __instance.transform.parent.gameObject.name == "LevelsTableView")
FasterScrollController.ResetInertia();
}
}
@@ -92,7 +92,7 @@ class ScrollViewHandlePointerDidEnterPostFixPatch
{
static void Prefix(ScrollView __instance, PointerEventData eventData)
{
if (__instance.transform.parent.gameObject.name == "LevelsTableView")
if (__instance.transform.parent != null && __instance.transform.parent.gameObject.name == "LevelsTableView")
FasterScrollController.PostHandlePointerDidEnter();
}
}
@@ -104,7 +104,7 @@ class ScrollViewHandlePointerDidExitPostFixPatch
{
static void Prefix(ScrollView __instance, PointerEventData eventData)
{
if (__instance.transform.parent.gameObject.name == "LevelsTableView")
if (__instance.transform.parent != null && __instance.transform.parent.gameObject.name == "LevelsTableView")
FasterScrollController.PostHandlePointerDidExit();
}
}
@@ -119,7 +119,10 @@ class VRInputModuleHandlePointerExitAndEnterPreFixPatch
[HarmonyAfter(new string[] { "com.github.nalulululuna.RumbleMod" })]
static void Prefix(HapticPresetSO ____rumblePreset)
{
if (FasterScrollController.RumbleStrength < 0.0f)
return; // if RumbleMod's installed, outside of Songlist RumbleStrength's value <=> StockRumbleStrength <=> -1.0f

____rumblePreset._strength = FasterScrollController.RumbleStrength;
}
}
}
}
4 changes: 2 additions & 2 deletions FasterScroll/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.7")]
[assembly: AssemblyFileVersion("1.0.7")]
[assembly: AssemblyVersion("1.0.8")]
[assembly: AssemblyFileVersion("1.0.8")]
6 changes: 3 additions & 3 deletions FasterScroll/manifest.json
Original file line number Diff line number Diff line change
@@ -3,11 +3,11 @@
"id": "FasterScroll",
"name": "FasterScroll",
"author": "Aryetis",
"version": "1.0.7",
"version": "1.0.8",
"description": "Increase SongList scrolling's speed to your own taste, change its acceleration curve, tweak its rumble effects",
"gameVersion": "1.21.0",
"gameVersion": "1.24.0",
"dependsOn": {
"BeatSaberMarkupLanguage": "^1.6.3",
"BeatSaberMarkupLanguage": "^1.6.8",
"BSIPA": "^4.2.2"
},
"links": {

0 comments on commit 4a544f5

Please sign in to comment.