Runtime Netcode Patcher
Patches Netcode RPC methods during runtime utilizing Harmony
CHANGELOG
Changelog
v0.2.0
Changed
- The final changes to the
NetcodeValidator
class occur w/ this update. This will be the final form, the only change on your end is anew NetcodeValidator(YourPluginGUID)
instead ofnew NetcodeValidator(YourPlugin)
. This is to be more in line with how Harmony instances are handled and to make things easier on the back-end. This includes a few new methods listed below following the pattern of the Harmony class. - NetcodeValidator.Patch(Type type)
- NetcodeValidator.Patch(Assembly assembly)
- NetcodeValidator.PatchAll()
v0.1.8
Fixed
- Pretty big README.md fix!
v0.1.7
Fixed
- Incorrect error logging in a few places.
- Project structure was out of control. It's now.. In control.
- Git fixes.
v0.1.1
Added
- Introduced a new
LogErrorAndReturn
method inNetworkBehaviourExtensions.cs
to streamline error logging. - Implemented a new network logger in
Plugin.cs
.
Changed
- Reorganized error reporting in
NetworkBehaviourExtensions.cs
, now utilizingLogErrorAndReturn
to improve coding practices. - Pruned extraneous variables in
RpcData
struct. - Modified package dependencies in
.csproj
file, removing unnecessary ones and adding a supplemental package reference.
v0.1.0
Removed
- Imports: The namespaces
System.Collections.Generic, System.IO, System.Runtime.Serialization.Formatters.Binary, and HarmonyLib
have been removed. - Data structures: The dictionaries
NetRPCStates, NetRPCData, NetRPCParams, NetRPCSender
have been removed which were being used to track RPC state, data, params, and senders. - Methods: The methods
GetNetworkState, GetNetworkData, LastRPCSender, VerifyAsRegisteredWithNetworkObject, ValidateRPCExecution, PrepareRPCParamsForSending, SendRPC, ProcessRPC
have been removed.
Added
- Classes: New inner class
RpcData
has been added. - Enumerators: An Enumerator
RpcSource
has been added to the RpcData class andRpcState
has been moved insideRpcData
. EnumeratorRpcState
values changed from[AwaitingMessage, MessageReceived]
to[FromUser, FromNetworking]
. - Methods: The method
LastSenderId
has been added to get the last SenderId from RpcData. - MethodPatchInternal Updates: The logic of MethodPatchInternal has been changed quite significantly.