mirror of
https://github.com/NotAKidoS/NAK_CVR_Mods.git
synced 2025-09-03 14:59:23 +00:00
Compare commits
7 commits
1282b2ca48
...
f90b83706b
Author | SHA1 | Date | |
---|---|---|---|
|
f90b83706b | ||
|
6d30fe1f41 | ||
|
ac9af46bd6 | ||
|
40bc88586e | ||
|
621321c498 | ||
|
70a54b632c | ||
|
04c4a4590d |
17 changed files with 61 additions and 48 deletions
|
@ -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";
|
||||||
}
|
}
|
|
@ -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"
|
||||||
}
|
}
|
|
@ -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))
|
||||||
);
|
);
|
||||||
}
|
}
|
|
@ -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">
|
|
@ -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";
|
||||||
}
|
}
|
|
@ -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.
|
|
@ -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"
|
||||||
}
|
}
|
|
@ -24,6 +24,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);
|
||||||
});
|
});
|
||||||
|
|
|
@ -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";
|
||||||
}
|
}
|
|
@ -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;
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
|
@ -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);
|
||||||
|
|
|
@ -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";
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
|
@ -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()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue