Compare commits

...

7 commits

Author SHA1 Message Date
NotAKidoS
f90b83706b
Merge pull request #35 from SurprisinglySuspicious/main
[copy_and_nstrip_dll.ps1] Immediately closes if NStrip is not found.
2025-01-15 16:47:11 -06:00
NotAKidoS
6d30fe1f41 ShareBubbles: Fixes for 2025r178 2025-01-15 16:42:53 -06:00
NotAKidoS
ac9af46bd6 MutualMute: Stole name idea, now it's MutualMute 2025-01-15 16:42:27 -06:00
NotAKidoS
40bc88586e RCCVirtualSteeringWheel: Fixes for 2025r178 2025-01-15 16:42:05 -06:00
NotAKidoS
621321c498 ASTExtension: Fixes for 2025r178 2025-01-15 16:41:37 -06:00
SurprisinglySuspicious
70a54b632c
Add it for PATH too 2024-11-20 16:59:19 -05:00
SurprisinglySuspicious
04c4a4590d Issue: If NStrip wasn't found in folder or PATH, it tries to show a message to user, but it doesn't wait for key input, so it just immediately closes. 2024-11-20 16:07:52 -05:00
17 changed files with 61 additions and 48 deletions

View file

@ -27,6 +27,6 @@ using System.Reflection;
namespace NAK.ASTExtension.Properties; namespace NAK.ASTExtension.Properties;
internal static class AssemblyInfoParams internal static class AssemblyInfoParams
{ {
public const string Version = "1.0.1"; public const string Version = "1.0.2";
public const string Author = "NotAKidoS"; public const string Author = "NotAKidoS";
} }

View file

@ -1,8 +1,8 @@
{ {
"_id": 223, "_id": 223,
"name": "ASTExtension", "name": "ASTExtension",
"modversion": "1.0.1", "modversion": "1.0.2",
"gameversion": "2024r175", "gameversion": "2025r178",
"loaderversion": "0.6.1", "loaderversion": "0.6.1",
"modtype": "Mod", "modtype": "Mod",
"author": "NotAKidoS", "author": "NotAKidoS",
@ -17,8 +17,8 @@
"requirements": [ "requirements": [
"BTKUILib" "BTKUILib"
], ],
"downloadlink": "https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r35/ASTExtension.dll", "downloadlink": "https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r45/ASTExtension.dll",
"sourcelink": "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/ASTExtension/", "sourcelink": "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/ASTExtension/",
"changelog": "- Fixed an issue where the parameter calibration process would sometimes result in the mouth pointer being misplaced when generated.\n- Fixed IsGripping check for Knuckles controllers not requiring *both* hands as intended.", "changelog": "- Fixes for 2025r178",
"embedcolor": "#f61963" "embedcolor": "#f61963"
} }

View file

@ -3,16 +3,16 @@ using ABI_RC.Systems.Communications.Audio.Components;
using HarmonyLib; using HarmonyLib;
using MelonLoader; using MelonLoader;
namespace NAK.TwoWayMute; namespace NAK.MutualMute;
public class TwoWayMuteMod : MelonMod public class MutualMuteMod : MelonMod
{ {
public override void OnInitializeMelon() public override void OnInitializeMelon()
{ {
HarmonyInstance.Patch( HarmonyInstance.Patch(
typeof(Comms_ParticipantPipeline).GetMethod(nameof(Comms_ParticipantPipeline.SetFlowControlState), typeof(Comms_ParticipantPipeline).GetMethod(nameof(Comms_ParticipantPipeline.SetFlowControlState),
BindingFlags.NonPublic | BindingFlags.Instance), BindingFlags.NonPublic | BindingFlags.Instance),
prefix: new HarmonyMethod(typeof(TwoWayMuteMod).GetMethod(nameof(OnSetFlowControlState), prefix: new HarmonyMethod(typeof(MutualMuteMod).GetMethod(nameof(OnSetFlowControlState),
BindingFlags.NonPublic | BindingFlags.Static)) BindingFlags.NonPublic | BindingFlags.Static))
); );
} }

View file

@ -2,6 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net48</TargetFramework> <TargetFramework>net48</TargetFramework>
<RootNamespace>TwoWayMute</RootNamespace>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="TheClapper"> <Reference Include="TheClapper">

View file

@ -1,20 +1,20 @@
using NAK.TwoWayMute.Properties; using NAK.MutualMute.Properties;
using MelonLoader; using MelonLoader;
using System.Reflection; using System.Reflection;
[assembly: AssemblyVersion(AssemblyInfoParams.Version)] [assembly: AssemblyVersion(AssemblyInfoParams.Version)]
[assembly: AssemblyFileVersion(AssemblyInfoParams.Version)] [assembly: AssemblyFileVersion(AssemblyInfoParams.Version)]
[assembly: AssemblyInformationalVersion(AssemblyInfoParams.Version)] [assembly: AssemblyInformationalVersion(AssemblyInfoParams.Version)]
[assembly: AssemblyTitle(nameof(NAK.TwoWayMute))] [assembly: AssemblyTitle(nameof(NAK.MutualMute))]
[assembly: AssemblyCompany(AssemblyInfoParams.Author)] [assembly: AssemblyCompany(AssemblyInfoParams.Author)]
[assembly: AssemblyProduct(nameof(NAK.TwoWayMute))] [assembly: AssemblyProduct(nameof(NAK.MutualMute))]
[assembly: MelonInfo( [assembly: MelonInfo(
typeof(NAK.TwoWayMute.TwoWayMuteMod), typeof(NAK.MutualMute.MutualMuteMod),
nameof(NAK.TwoWayMute), nameof(NAK.MutualMute),
AssemblyInfoParams.Version, AssemblyInfoParams.Version,
AssemblyInfoParams.Author, AssemblyInfoParams.Author,
downloadLink: "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/TwoWayMute" downloadLink: "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/MutualMute"
)] )]
[assembly: MelonGame("Alpha Blend Interactive", "ChilloutVR")] [assembly: MelonGame("Alpha Blend Interactive", "ChilloutVR")]
@ -24,9 +24,9 @@ using System.Reflection;
[assembly: MelonAuthorColor(255, 158, 21, 32)] // red [assembly: MelonAuthorColor(255, 158, 21, 32)] // red
[assembly: HarmonyDontPatchAll] [assembly: HarmonyDontPatchAll]
namespace NAK.TwoWayMute.Properties; namespace NAK.MutualMute.Properties;
internal static class AssemblyInfoParams internal static class AssemblyInfoParams
{ {
public const string Version = "1.0.0"; public const string Version = "1.0.1";
public const string Author = "NotAKidoS"; public const string Author = "NotAKidoS";
} }

View file

@ -1,9 +1,11 @@
# TwoWayMute # MutualMute
Adjusts the self moderation muting behaviour to also prevent the muted user from hearing you. Adjusts the self moderation muting behaviour to also prevent the muted user from hearing you.
Basically- if you mute someone, they will also not be able to hear you. Basically- if you mute someone, they will also not be able to hear you.
#### This will work even of the other user does not have the mod installed, as it modifies the BBC Flow Control system.
--- ---
Here is the block of text where I tell you this mod is not affiliated with or endorsed by ABI. Here is the block of text where I tell you this mod is not affiliated with or endorsed by ABI.

View file

@ -1,12 +1,12 @@
{ {
"_id": -1, "_id": 246,
"name": "TwoWayMute", "name": "MutualMute",
"modversion": "1.0.0", "modversion": "1.0.1",
"gameversion": "2024r177", "gameversion": "2025r178",
"loaderversion": "0.6.1", "loaderversion": "0.6.1",
"modtype": "Mod", "modtype": "Mod",
"author": "NotAKidoS", "author": "NotAKidoS",
"description": "Adjusts the self moderation muting behaviour to also prevent the muted user from hearing you.\n\nBasically- if you mute someone, they will also not be able to hear you.", "description": "Adjusts the self moderation muting behaviour to also prevent the muted user from hearing you.\n\nBasically- if you mute someone, they will also not be able to hear you.\n-# This will work even of the other user does not have the mod installed, as it modifies the BBC Flow Control system.",
"searchtags": [ "searchtags": [
"mute", "mute",
"communication", "communication",
@ -16,8 +16,8 @@
"requirements": [ "requirements": [
"None" "None"
], ],
"downloadlink": "https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r44/TwoWayMute.dll", "downloadlink": "https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r45/MutualMute.dll",
"sourcelink": "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/TwoWayMute/", "sourcelink": "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/MutualMute/",
"changelog": "- Initial Release", "changelog": "- Stole name idea, now it's MutualMute",
"embedcolor": "#f61963" "embedcolor": "#f61963"
} }

View file

@ -25,6 +25,9 @@ internal static class RCCCarControllerV3_Patches
if (!result.IsValid) if (!result.IsValid)
return; return;
if (!__instance)
return;
SteeringWheelRoot.SetupSteeringWheel(__instance, result.LocalBounds); SteeringWheelRoot.SetupSteeringWheel(__instance, result.LocalBounds);
}); });
} }

View file

@ -28,6 +28,6 @@ using NAK.RCCVirtualSteeringWheel.Properties;
namespace NAK.RCCVirtualSteeringWheel.Properties; namespace NAK.RCCVirtualSteeringWheel.Properties;
internal static class AssemblyInfoParams internal static class AssemblyInfoParams
{ {
public const string Version = "1.0.0"; public const string Version = "1.0.3";
public const string Author = "NotAKidoS"; public const string Author = "NotAKidoS";
} }

View file

@ -27,7 +27,6 @@ public class SteeringWheelRoot : MonoBehaviour
public static void SetupSteeringWheel(RCC_CarControllerV3 carController, Bounds steeringWheelBounds) public static void SetupSteeringWheel(RCC_CarControllerV3 carController, Bounds steeringWheelBounds)
{ {
Transform steeringWheel = carController.SteeringWheel; Transform steeringWheel = carController.SteeringWheel;
if (carController == null) return;
SteeringWheelRoot wheel = steeringWheel.gameObject.AddComponent<SteeringWheelRoot>(); SteeringWheelRoot wheel = steeringWheel.gameObject.AddComponent<SteeringWheelRoot>();
wheel._carController = carController; wheel._carController = carController;

View file

@ -1,8 +1,8 @@
{ {
"_id": -1, "_id": 248,
"name": "RCCVirtualSteeringWheel", "name": "RCCVirtualSteeringWheel",
"modversion": "1.0.0", "modversion": "1.0.3",
"gameversion": "2024r177", "gameversion": "2025r178",
"loaderversion": "0.6.1", "loaderversion": "0.6.1",
"modtype": "Mod", "modtype": "Mod",
"author": "NotAKidoS", "author": "NotAKidoS",
@ -14,10 +14,10 @@
"car" "car"
], ],
"requirements": [ "requirements": [
"BTKUILib" "None"
], ],
"downloadlink": "https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r44/RCCVirtualSteeringWheel.dll", "downloadlink": "https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r45/RCCVirtualSteeringWheel.dll",
"sourcelink": "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/RCCVirtualSteeringWheel/", "sourcelink": "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/RCCVirtualSteeringWheel/",
"changelog": "- Initial release", "changelog": "- Fixes for 2025r178",
"embedcolor": "#f61963" "embedcolor": "#f61963"
} }

View file

@ -1462,7 +1462,7 @@ ContentShareMod.init();
public static void Postfix_ViewManager_Start(ViewManager __instance) public static void Postfix_ViewManager_Start(ViewManager __instance)
{ {
// Inject the details toolbar patches when the game menu view is loaded // Inject the details toolbar patches when the game menu view is loaded
__instance.gameMenuView.Listener.FinishLoad += _ => { __instance.gameMenuView.Listener.FinishLoad += (_) => {
__instance.gameMenuView.View._view.ExecuteScript(DETAILS_TOOLBAR_PATCHES); __instance.gameMenuView.View._view.ExecuteScript(DETAILS_TOOLBAR_PATCHES);
__instance.gameMenuView.View.BindCall("NAKCallShareContent", OnShareContent); __instance.gameMenuView.View.BindCall("NAKCallShareContent", OnShareContent);
__instance.gameMenuView.View.BindCall("NAKGetContentShares", OnGetContentShares); __instance.gameMenuView.View.BindCall("NAKGetContentShares", OnGetContentShares);

View file

@ -27,6 +27,6 @@ using NAK.ShareBubbles.Properties;
namespace NAK.ShareBubbles.Properties; namespace NAK.ShareBubbles.Properties;
internal static class AssemblyInfoParams internal static class AssemblyInfoParams
{ {
public const string Version = "1.0.3"; public const string Version = "1.0.4";
public const string Author = "NotAKidoS, Exterrata, Noachi, RaidShadowLily, Tejler"; public const string Author = "NotAKidoS, Exterrata, Noachi, RaidShadowLily, Tejler";
} }

View file

@ -14,12 +14,12 @@ public class BubbleInteract : Interactable
return Vector3.Distance(transform.position, sourcePos) < 1.5f; return Vector3.Distance(transform.position, sourcePos) < 1.5f;
} }
public override void OnInteractDown(ControllerRay controllerRay) public override void OnInteractDown(InteractionContext context, ControllerRay controllerRay)
{ {
// Not used // Not used
} }
public override void OnInteractUp(ControllerRay controllerRay) public override void OnInteractUp(InteractionContext context, ControllerRay controllerRay)
{ {
if (PlayerSetup.Instance.GetCurrentPropSelectionMode() if (PlayerSetup.Instance.GetCurrentPropSelectionMode()
!= PlayerSetup.PropSelectionMode.None) != PlayerSetup.PropSelectionMode.None)
@ -39,12 +39,12 @@ public class BubbleInteract : Interactable
GetComponentInParent<ShareBubble>().ViewDetailsPage(); GetComponentInParent<ShareBubble>().ViewDetailsPage();
} }
public override void OnHoverEnter() public override void OnHoverEnter(InteractionContext context, ControllerRay controllerRay)
{ {
// Not used // Not used
} }
public override void OnHoverExit() public override void OnHoverExit(InteractionContext context, ControllerRay controllerRay)
{ {
// Not used // Not used
} }

View file

@ -30,12 +30,12 @@ public class ReturnOnRelease : MonoBehaviour
pickupable.onDrop.AddListener(OnPickupRelease); pickupable.onDrop.AddListener(OnPickupRelease);
} }
public void OnPickupGrabbed() public void OnPickupGrabbed(InteractionContext _)
{ {
isReturning = false; isReturning = false;
} }
public void OnPickupRelease() public void OnPickupRelease(InteractionContext _)
{ {
isReturning = true; isReturning = true;
} }

View file

@ -1,8 +1,8 @@
{ {
"_id": -1, "_id": 244,
"name": "ShareBubbles", "name": "ShareBubbles",
"modversion": "1.0.2", "modversion": "1.0.4",
"gameversion": "2024r177", "gameversion": "2025r178",
"loaderversion": "0.6.1", "loaderversion": "0.6.1",
"modtype": "Mod", "modtype": "Mod",
"author": "NotAKidoS, Exterrata, Noachi, RaidShadowLily, Tejler, Luc", "author": "NotAKidoS, Exterrata, Noachi, RaidShadowLily, Tejler, Luc",
@ -17,8 +17,8 @@
"requirements": [ "requirements": [
"None" "None"
], ],
"downloadlink": "https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r43/ShareBubbles.dll", "downloadlink": "https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r45/ShareBubbles.dll",
"sourcelink": "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/ShareBubbles/", "sourcelink": "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/ShareBubbles/",
"changelog": "- Initial release.", "changelog": "- Fixes for 2025r178",
"embedcolor": "#f61963" "embedcolor": "#f61963"
} }

View file

@ -35,6 +35,10 @@ else {
else { else {
Write-Host "[ERROR] ChilloutVR.exe not found in CVRPATH or the default Steam location." Write-Host "[ERROR] ChilloutVR.exe not found in CVRPATH or the default Steam location."
Write-Host " Please define the Environment Variable CVRPATH pointing to the ChilloutVR folder!" Write-Host " Please define the Environment Variable CVRPATH pointing to the ChilloutVR folder!"
Write-Host ""
Write-Host "Press any key to exit..."
$HOST.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | OUT-NULL
$HOST.UI.RawUI.Flushinputbuffer()
return return
} }
} }
@ -139,7 +143,7 @@ if ($missingMods.Count -gt 0) {
Write-Host "" Write-Host ""
Write-Host "Copied all libraries!" Write-Host "Copied all libraries!"
Write-Host "" Write-Host ""
Write-Host "Press any key to strip the Dlls using NStrip" Write-Host "Press any key to strip the DLLs using NStrip..."
$HOST.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | OUT-NULL $HOST.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | OUT-NULL
$HOST.UI.RawUI.Flushinputbuffer() $HOST.UI.RawUI.Flushinputbuffer()
@ -156,6 +160,10 @@ else {
# Display an error message if NStrip.exe could not be found # Display an error message if NStrip.exe could not be found
Write-Host "Could not find NStrip.exe in the current directory nor in the PATH." -ForegroundColor Red Write-Host "Could not find NStrip.exe in the current directory nor in the PATH." -ForegroundColor Red
Write-Host "Visit https://github.com/bbepis/NStrip/releases/latest to grab a copy." -ForegroundColor Red Write-Host "Visit https://github.com/bbepis/NStrip/releases/latest to grab a copy." -ForegroundColor Red
Write-Host ""
Write-Host "Press any key to exit..."
$HOST.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | OUT-NULL
$HOST.UI.RawUI.Flushinputbuffer()
return return
} }
} }
@ -169,6 +177,6 @@ foreach($dllFile in $dllsToStrip) {
Write-Host "" Write-Host ""
Write-Host "Copied all libraries and stripped the DLLs!" Write-Host "Copied all libraries and stripped the DLLs!"
Write-Host "" Write-Host ""
Write-Host "Press any key to exit" Write-Host "Press any key to exit..."
$HOST.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | OUT-NULL $HOST.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | OUT-NULL
$HOST.UI.RawUI.Flushinputbuffer() $HOST.UI.RawUI.Flushinputbuffer()