0
0
mirror of https://github.com/sp-tarkov/modules.git synced 2025-02-13 01:50:45 -05:00

Removed unnecessary patch SmokeGrenadeFuseSoundFixPatch

This commit is contained in:
Dev 2024-08-31 14:04:33 +01:00
parent f85669e204
commit 94fea58c44
2 changed files with 0 additions and 59 deletions

View File

@ -1,58 +0,0 @@
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Reflection.Emit;
using SPT.Reflection.CodeWrapper;
using SPT.Reflection.Patching;
using HarmonyLib;
using UnityEngine;
namespace SPT.SinglePlayer.Patches.RaidFix
{
/// <summary>
/// Fixes an issue with smoke grenades not playing the fuse popping sound when thrown
/// </summary>
public class SmokeGrenadeFuseSoundFixPatch : ModulePatch
{
protected override MethodBase GetTargetMethod()
{
return AccessTools.Method(typeof(GrenadeEmission), nameof(GrenadeEmission.StartEmission));
}
[PatchTranspiler]
public static IEnumerable<CodeInstruction> PatchTranspile(IEnumerable<CodeInstruction> instructions)
{
var codes = new List<CodeInstruction>(instructions);
var searchCode = new CodeInstruction(OpCodes.Callvirt, AccessTools.Method(typeof(AudioClip), "get_length"));
var searchIndex = -1;
for (var i = 0; i < codes.Count; i++)
{
if (codes[i].opcode == searchCode.opcode && codes[i].operand == searchCode.operand)
{
searchIndex = i;
break;
}
}
if (searchIndex == -1)
{
Logger.LogError($"{nameof(SmokeGrenadeFuseSoundFixPatch)} failed: Could not find reference code.");
return instructions;
}
var newCodes = CodeGenerator.GenerateInstructions(new List<Code>
{
new Code(OpCodes.Ldarg_0),
new Code(OpCodes.Ldfld, typeof(GrenadeEmission), "betterSource_0"),
new Code(OpCodes.Ldfld, typeof(BetterSource), "source1"),
new Code(OpCodes.Callvirt, typeof(AudioSource), "Play")
});
searchIndex -= 4;
codes.InsertRange(searchIndex, newCodes);
return codes.AsEnumerable();
}
}
}

View File

@ -28,7 +28,6 @@ namespace SPT.SinglePlayer
//new FixQuestAchieveControllersPatch().Enable(); // Likely not needed, if cheevos don't appear, revisit patch //new FixQuestAchieveControllersPatch().Enable(); // Likely not needed, if cheevos don't appear, revisit patch
// Still need // Still need
// new SmokeGrenadeFuseSoundFixPatch().Enable(); TODO: refactor as it causes exceptions to be thrown when grenade is tossed by player
new ScavExperienceGainPatch().Enable(); new ScavExperienceGainPatch().Enable();
new DisablePMCExtractsForScavsPatch().Enable(); new DisablePMCExtractsForScavsPatch().Enable();
new ScavExfilPatch().Enable(); new ScavExfilPatch().Enable();