From 9c1e2e4e9a6324daca1f6329761c71814d2d721c Mon Sep 17 00:00:00 2001 From: CCat <63068823+CedaryCat@users.noreply.github.com> Date: Sat, 22 Aug 2026 01:24:52 +0800 Subject: [PATCH] Fix parameter constant copying --- ModFramework/Emitters/HookEmitter.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ModFramework/Emitters/HookEmitter.cs b/ModFramework/Emitters/HookEmitter.cs index fef7952..b69ca22 100644 --- a/ModFramework/Emitters/HookEmitter.cs +++ b/ModFramework/Emitters/HookEmitter.cs @@ -485,10 +485,12 @@ static MethodDefinition CreateReplacement(MethodDefinition original, MethodDefin ); foreach (var param in original.Parameters) - methodDefinition.Parameters.Add(new ParameterDefinition(param.Name, param.Attributes, param.ParameterType) - { - Constant = param.Constant, - }); + { + ParameterDefinition cloneParam = new(param.Name, param.Attributes, param.ParameterType); + if (param.HasConstant) + cloneParam.Constant = param.Constant; + methodDefinition.Parameters.Add(cloneParam); + } var il = methodDefinition.Body.GetILProcessor();