diff --git a/1.4/Assemblies/0Harmony.dll b/1.4/Assemblies/0Harmony.dll deleted file mode 100644 index e182535..0000000 Binary files a/1.4/Assemblies/0Harmony.dll and /dev/null differ diff --git a/1.4/Assemblies/0Harmony.xml b/1.4/Assemblies/0Harmony.xml deleted file mode 100644 index f1b9b4c..0000000 --- a/1.4/Assemblies/0Harmony.xml +++ /dev/null @@ -1,3693 +0,0 @@ - - - - 0Harmony - - - - A factory to create delegate types - - - Default constructor - - - Creates a delegate type for a method - The method - The new delegate type - - - - A getter delegate type - Type that getter gets field/property value from - Type of the value that getter gets - The instance get getter uses - An delegate - - - - A setter delegate type - Type that setter sets field/property value for - Type of the value that setter sets - The instance the setter uses - The value the setter uses - An delegate - - - - A constructor delegate type - Type that constructor creates - An delegate - - - - A helper class for fast access to getters and setters - - - Creates an instantiation delegate - Type that constructor creates - The new instantiation delegate - - - - Creates an getter delegate for a property - Type that getter reads property from - Type of the property that gets accessed - The property - The new getter delegate - - - - Creates an getter delegate for a field - Type that getter reads field from - Type of the field that gets accessed - The field - The new getter delegate - - - - Creates an getter delegate for a field (with a list of possible field names) - Type that getter reads field/property from - Type of the field/property that gets accessed - A list of possible field names - The new getter delegate - - - - Creates an setter delegate - Type that setter assigns property value to - Type of the property that gets assigned - The property - The new setter delegate - - - - Creates an setter delegate for a field - Type that setter assigns field value to - Type of the field that gets assigned - The field - The new getter delegate - - - - A delegate to invoke a method - The instance - The method parameters - The method result - - - A helper class to invoke method with delegates - - - Creates a fast invocation handler from a method - The method to invoke - Controls if boxed value object is accessed/updated directly - The - - - The directBoxValueAccess option controls how value types passed by reference (e.g. ref int, out my_struct) are handled in the arguments array - passed to the fast invocation handler. - Since the arguments array is an object array, any value types contained within it are actually references to a boxed value object. - Like any other object, there can be other references to such boxed value objects, other than the reference within the arguments array. - For example, - - var val = 5; - var box = (object)val; - var arr = new object[] { box }; - handler(arr); // for a method with parameter signature: ref/out/in int - - - - - If directBoxValueAccess is true, the boxed value object is accessed (and potentially updated) directly when the handler is called, - such that all references to the boxed object reflect the potentially updated value. - In the above example, if the method associated with the handler updates the passed (boxed) value to 10, both box and arr[0] - now reflect the value 10. Note that the original val is not updated, since boxing always copies the value into the new boxed value object. - - - If directBoxValueAccess is false (default), the boxed value object in the arguments array is replaced with a "reboxed" value object, - such that potential updates to the value are reflected only in the arguments array. - In the above example, if the method associated with the handler updates the passed (boxed) value to 10, only arr[0] now reflects the value 10. - - - - - A low level memory helper - - - - Mark method for no inlining (currently only works on Mono) - The method/constructor to change - - - - Detours a method - The original method/constructor - The replacement method/constructor - An error string - - - - Writes a jump to memory - The memory address - Jump destination - An error string - - - - Gets the start of a method in memory - The method/constructor - [out] Details of the exception - The method start address - - - - special parameter names that can be used in prefix and postfix methods - - - Patch function helpers - - - Sorts patch methods by their priority rules - The original method - Patches to sort - Use debug mode - The sorted patch methods - - - - Creates new replacement method with the latest patches and detours the original method - The original method - Information describing the patches - The newly created replacement method - - - - Creates a patch sorter - Array of patches that will be sorted - Use debugging - - - Sorts internal PatchSortingWrapper collection and caches the results. - After first run the result is provided from the cache. - The original method - The sorted patch methods - - - Checks if the sorter was created with the same patch list and as a result can be reused to - get the sorted order of the patches. - List of patches to check against - true if equal - - - Removes one unresolved dependency from the least important patch. - - - Outputs all unblocked patches from the waiting list to results list - - - Adds patch to both results list and handled patches set - Patch to add - - - Wrapper used over the Patch object to allow faster dependency access and - dependency removal in case of cyclic dependencies - - - Create patch wrapper object used for sorting - Patch to wrap - - - Determines how patches sort - The other patch - integer to define sort order (-1, 0, 1) - - - Determines whether patches are equal - The other patch - true if equal - - - Hash function - A hash code - - - Bidirectionally registers Patches as after dependencies - List of dependencies to register - - - Bidirectionally registers Patches as before dependencies - List of dependencies to register - - - Bidirectionally removes Patch from after dependencies - Patch to remove - - - Bidirectionally removes Patch from before dependencies - Patch to remove - - - Specifies the type of method - - - - This is a normal method - - - This is a getter - - - This is a setter - - - This is a constructor - - - This is a static constructor - - - This targets the MoveNext method of the enumerator result - - - Specifies the type of argument - - - - This is a normal argument - - - This is a reference argument (ref) - - - This is an out argument (out) - - - This is a pointer argument (&) - - - Specifies the type of patch - - - - Any patch - - - A prefix patch - - - A postfix patch - - - A transpiler - - - A finalizer - - - A reverse patch - - - Specifies the type of reverse patch - - - - Use the unmodified original method (directly from IL) - - - Use the original as it is right now including previous patches but excluding future ones - - - Specifies the type of method call dispatching mechanics - - - - Call the method using dynamic dispatching if method is virtual (including overriden) - - - This is the built-in form of late binding (a.k.a. dynamic binding) and is the default dispatching mechanic in C#. - This directly corresponds with the instruction. - - - For virtual (including overriden) methods, the instance type's most-derived/overriden implementation of the method is called. - For non-virtual (including static) methods, same behavior as : the exact specified method implementation is called. - - - Note: This is not a fully dynamic dispatch, since non-virtual (including static) methods are still called non-virtually. - A fully dynamic dispatch in C# involves using - the dynamic type - (actually a fully dynamic binding, since even the name and overload resolution happens at runtime), which does not support. - - - - - Call the method using static dispatching, regardless of whether method is virtual (including overriden) or non-virtual (including static) - - - a.k.a. non-virtual dispatching, early binding, or static binding. - This directly corresponds with the instruction. - - - For both virtual (including overriden) and non-virtual (including static) methods, the exact specified method implementation is called, without virtual/override mechanics. - - - - - The base class for all Harmony annotations (not meant to be used directly) - - - - The common information for all attributes - - - Annotation to define your Harmony patch methods - - - - An empty annotation can be used together with TargetMethod(s) - - - - An annotation that specifies a class to patch - The declaring class/type - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The argument types of the method or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - An array of argument types to target overloads - Array of - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - An array of argument types to target overloads - Array of - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - The - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - The - - - - An annotation that specifies a method, property or constructor to patch - The - - - - An annotation that specifies a method, property or constructor to patch - The - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - The full name of the declaring class/type - The name of the method, property or constructor to patch - The - - - - Annotation to define the original method for delegate injection - - - - An annotation that specifies a class to patch - The declaring class/type - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The argument types of the method or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - An array of argument types to target overloads - Array of - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - An array of argument types to target overloads - Array of - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - The - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - The - - - - An annotation that specifies call dispatching mechanics for the delegate - The - - - - An annotation that specifies a method, property or constructor to patch - The - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - An array of argument types to target overloads - An array of - - - - Annotation to define your standin methods for reverse patching - - - - An annotation that specifies the type of reverse patching - The of the reverse patch - - - - A Harmony annotation to define that all methods in a class are to be patched - - - - A Harmony annotation - - - - A Harmony annotation to define patch priority - The priority - - - - A Harmony annotation - - - - A Harmony annotation to define that a patch comes before another patch - The array of harmony IDs of the other patches - - - - A Harmony annotation - - - A Harmony annotation to define that a patch comes after another patch - The array of harmony IDs of the other patches - - - - A Harmony annotation - - - A Harmony annotation to debug a patch (output uses to log to your Desktop) - - - - Specifies the Prepare function in a patch class - - - - Specifies the Cleanup function in a patch class - - - - Specifies the TargetMethod function in a patch class - - - - Specifies the TargetMethods function in a patch class - - - - Specifies the Prefix function in a patch class - - - - Specifies the Postfix function in a patch class - - - - Specifies the Transpiler function in a patch class - - - - Specifies the Finalizer function in a patch class - - - - A Harmony annotation - - - - The name of the original argument - - - - The index of the original argument - - - - The new name of the original argument - - - - An annotation to declare injected arguments by name - - - - An annotation to declare injected arguments by index - Zero-based index - - - - An annotation to declare injected arguments by renaming them - Name of the original argument - New name - - - - An annotation to declare injected arguments by index and renaming them - Zero-based index - New name - - - - An abstract wrapper around OpCode and their operands. Used by transpilers - - - - The opcode - - - - The operand - - - - All labels defined on this instruction - - - - All exception block boundaries defined on this instruction - - - - Creates a new CodeInstruction with a given opcode and optional operand - The opcode - The operand - - - - Create a full copy (including labels and exception blocks) of a CodeInstruction - The to copy - - - - Clones a CodeInstruction and resets its labels and exception blocks - A lightweight copy of this code instruction - - - - Clones a CodeInstruction, resets labels and exception blocks and sets its opcode - The opcode - A copy of this CodeInstruction with a new opcode - - - - Clones a CodeInstruction, resets labels and exception blocks and sets its operand - The operand - A copy of this CodeInstruction with a new operand - - - - Creates a CodeInstruction calling a method (CALL) - The class/type where the method is declared - The name of the method (case sensitive) - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A code instruction that calls the method matching the arguments - - - - Creates a CodeInstruction calling a method (CALL) - The target method in the form TypeFullName:MethodName, where the type name matches a form recognized by Type.GetType like Some.Namespace.Type. - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A code instruction that calls the method matching the arguments - - - - Creates a CodeInstruction calling a method (CALL) - The lambda expression using the method - - - - - Creates a CodeInstruction calling a method (CALL) - The lambda expression using the method - - - - - Creates a CodeInstruction calling a method (CALL) - The lambda expression using the method - - - - - Creates a CodeInstruction calling a method (CALL) - The lambda expression using the method - - - - - Returns an instruction to call the specified closure - The delegate type to emit - The closure that defines the method to call - A that calls the closure as a method - - - - Creates a CodeInstruction loading a field (LD[S]FLD[A]) - The class/type where the field is defined - The name of the field (case sensitive) - Use address of field - - - - Creates a CodeInstruction storing to a field (ST[S]FLD) - The class/type where the field is defined - The name of the field (case sensitive) - - - - Returns a string representation of the code instruction - A string representation of the code instruction - - - - Exception block types - - - - The beginning of an exception block - - - - The beginning of a catch block - - - - The beginning of an except filter block (currently not supported to use in a patch) - - - - The beginning of a fault block - - - - The beginning of a finally block - - - - The end of an exception block - - - - An exception block - - - - Block type - - - - Catch type - - - - Creates an exception block - The - The catch type - - - - The Harmony instance is the main entry to Harmony. After creating one with an unique identifier, it is used to patch and query the current application domain - - - - The unique identifier - - - - Set to true before instantiating Harmony to debug Harmony or use an environment variable to set HARMONY_DEBUG to '1' like this: cmd /C "set HARMONY_DEBUG=1 && game.exe" - This is for full debugging. To debug only specific patches, use the attribute - - - - Creates a new Harmony instance - A unique identifier (you choose your own) - A Harmony instance - - - - Searches the current assembly for Harmony annotations and uses them to create patches - This method can fail to use the correct assembly when being inlined. It calls StackTrace.GetFrame(1) which can point to the wrong method/assembly. If you are unsure or run into problems, use PatchAll(Assembly.GetExecutingAssembly()) instead. - - - - Creates a empty patch processor for an original method - The original method/constructor - A new instance - - - - Creates a patch class processor from an annotated class - The class/type - A new instance - - - - Creates a reverse patcher for one of your stub methods - The original method/constructor - The stand-in stub method as - A new instance - - - - Searches an assembly for Harmony annotations and uses them to create patches - The assembly - - - - Creates patches by manually specifying the methods - The original method/constructor - An optional prefix method wrapped in a object - An optional postfix method wrapped in a object - An optional transpiler method wrapped in a object - An optional finalizer method wrapped in a object - The replacement method that was created to patch the original method - - - - Patches a foreign method onto a stub method of yours and optionally applies transpilers during the process - The original method/constructor you want to duplicate - Your stub method as that will become the original. Needs to have the correct signature (either original or whatever your transpilers generates) - An optional transpiler as method that will be applied during the process - The replacement method that was created to patch the stub method - - - - Unpatches methods by patching them with zero patches. Fully unpatching is not supported. Be careful, unpatching is global - The optional Harmony ID to restrict unpatching to a specific Harmony instance - This method could be static if it wasn't for the fact that unpatching creates a new replacement method that contains your harmony ID - - - - Unpatches a method by patching it with zero patches. Fully unpatching is not supported. Be careful, unpatching is global - The original method/constructor - The - The optional Harmony ID to restrict unpatching to a specific Harmony instance - - - - Unpatches a method by patching it with zero patches. Fully unpatching is not supported. Be careful, unpatching is global - The original method/constructor - The patch method as method to remove - - - - Test for patches from a specific Harmony ID - The Harmony ID - True if patches for this ID exist - - - - Gets patch information for a given original method - The original method/constructor - The patch information as - - - - Gets the methods this instance has patched - An enumeration of original methods/constructors - - - - Gets all patched original methods in the appdomain - An enumeration of patched original methods/constructors - - - - Gets the original method from a given replacement method - A replacement method, for example from a stacktrace - The original method/constructor or null if not found - - - - Tries to get the method from a stackframe including dynamic replacement methods - The - For normal frames, frame.GetMethod() is returned. For frames containing patched methods, the replacement method is returned or null if no method can be found - - - - Gets the original method from the stackframe and uses original if method is a dynamic replacement - The - The original method from that stackframe - - - Gets Harmony version for all active Harmony instances - [out] The current Harmony version - A dictionary containing assembly versions keyed by Harmony IDs - - - - Under Mono, HarmonyException wraps IL compile errors with detailed information about the failure - - - - Default serialization constructor (not implemented) - The info - The context - - - - Get a list of IL instructions in pairs of offset+code - A list of key/value pairs which represent an offset and the code at that offset - - - - Get a list of IL instructions without offsets - A list of - - - - Get the error offset of the errornous IL instruction - The offset - - - - Get the index of the errornous IL instruction - The index into the list of instructions or -1 if not found - - - - A wrapper around a method to use it as a patch (for example a Prefix) - - - - The original method - - - - Class/type declaring this patch - - - - Patch method name - - - - Optional patch - - - - Array of argument types of the patch method - - - - of the patch - - - - Install this patch before patches with these Harmony IDs - - - - Install this patch after patches with these Harmony IDs - - - - Reverse patch type, see - - - - Create debug output for this patch - - - - Whether to use (true) or (false) mechanics - for -attributed delegate - - - - Default constructor - - - - Creates a patch from a given method - The original method - - - - Creates a patch from a given method - The original method - The patch - A list of harmony IDs that should come after this patch - A list of harmony IDs that should come before this patch - Set to true to generate debug output - - - - Creates a patch from a given method - The patch class/type - The patch method name - The optional argument types of the patch method (for overloaded methods) - - - - Gets the names of all internal patch info fields - A list of field names - - - - Merges annotations - The list of to merge - The merged - - - - Returns a string that represents the annotation - A string representation - - - - Annotation extensions - - - - Copies annotation information - The source - The destination - - - - Clones an annotation - The to clone - A copied - - - - Merges annotations - The master - The detail - A new, merged - - - - Gets all annotations on a class/type - The class/type - A list of all - - - - Gets merged annotations on a class/type - The class/type - The merged - - - - Gets all annotations on a method - The method/constructor - A list of - - - - Gets merged annotations on a method - The method/constructor - The merged - - - - - A mutable representation of an inline signature, similar to Mono.Cecil's CallSite. - Used by the calli instruction, can be used by transpilers - - - - - See - - - - See - - - - See - - - - The list of all parameter types or function pointer signatures received by the call site - - - - The return type or function pointer signature returned by the call site - - - - Returns a string representation of the inline signature - A string representation of the inline signature - - - - - A mutable representation of a parameter type with an attached type modifier, - similar to Mono.Cecil's OptionalModifierType / RequiredModifierType and C#'s modopt / modreq - - - - - Whether this is a modopt (optional modifier type) or a modreq (required modifier type) - - - - The modifier type attached to the parameter type - - - - The modified parameter type - - - - Returns a string representation of the modifier type - A string representation of the modifier type - - - - Patch serialization - - - - Control the binding of a serialized object to a type - Specifies the assembly name of the serialized object - Specifies the type name of the serialized object - The type of the object the formatter creates a new instance of - - - - Serializes a patch info - The - The serialized data - - - - Deserialize a patch info - The serialized data - A - - - - Compare function to sort patch priorities - The patch - Zero-based index - The priority - A standard sort integer (-1, 0, 1) - - - - Serializable patch information - - - - Prefixes as an array of - - - - Postfixes as an array of - - - - Transpilers as an array of - - - - Finalizers as an array of - - - - Returns if any of the patches wants debugging turned on - - - - Adds prefixes - An owner (Harmony ID) - The patch methods - - - - Adds a prefix - - - Removes prefixes - The owner of the prefixes, or * for all - - - - Adds postfixes - An owner (Harmony ID) - The patch methods - - - - Adds a postfix - - - Removes postfixes - The owner of the postfixes, or * for all - - - - Adds transpilers - An owner (Harmony ID) - The patch methods - - - - Adds a transpiler - - - Removes transpilers - The owner of the transpilers, or * for all - - - - Adds finalizers - An owner (Harmony ID) - The patch methods - - - - Adds a finalizer - - - Removes finalizers - The owner of the finalizers, or * for all - - - - Removes a patch using its method - The method of the patch to remove - - - - Gets a concatenated list of patches - The Harmony instance ID adding the new patches - The patches to add - The current patches - - - - Gets a list of patches with any from the given owner removed - The owner of the methods, or * for all - The current patches - - - - A serializable patch - - - - Zero-based index - - - - The owner (Harmony ID) - - - - The priority, see - - - - Keep this patch before the patches indicated in the list of Harmony IDs - - - - Keep this patch after the patches indicated in the list of Harmony IDs - - - - A flag that will log the replacement method via every time this patch is used to build the replacement, even in the future - - - - The method of the static patch method - - - - Creates a patch - The method of the patch - Zero-based index - An owner (Harmony ID) - The priority, see - A list of Harmony IDs for patches that should run after this patch - A list of Harmony IDs for patches that should run before this patch - A flag that will log the replacement method via every time this patch is used to build the replacement, even in the future - - - - Creates a patch - The method of the patch - Zero-based index - An owner (Harmony ID) - - - Get the patch method or a DynamicMethod if original patch method is a patch factory - The original method/constructor - The method of the patch - - - - Determines whether patches are equal - The other patch - true if equal - - - - Determines how patches sort - The other patch - integer to define sort order (-1, 0, 1) - - - - Hash function - A hash code - - - - A PatchClassProcessor used to turn on a class/type into patches - - - - Creates a patch class processor by pointing out a class. Similar to PatchAll() but without searching through all classes. - The Harmony instance - The class to process (need to have at least a [HarmonyPatch] attribute) - - - - Applies the patches - A list of all created replacement methods or null if patch class is not annotated - - - - A group of patches - - - - A collection of prefix - - - - A collection of postfix - - - - A collection of transpiler - - - - A collection of finalizer - - - - Gets all owners (Harmony IDs) or all known patches - The patch owners - - - - Creates a group of patches - An array of prefixes as - An array of postfixes as - An array of transpileres as - An array of finalizeres as - - - - A PatchProcessor handles patches on a method/constructor - - - - Creates an empty patch processor - The Harmony instance - The original method/constructor - - - - Adds a prefix - The prefix as a - A for chaining calls - - - - Adds a prefix - The prefix method - A for chaining calls - - - - Adds a postfix - The postfix as a - A for chaining calls - - - - Adds a postfix - The postfix method - A for chaining calls - - - - Adds a transpiler - The transpiler as a - A for chaining calls - - - - Adds a transpiler - The transpiler method - A for chaining calls - - - - Adds a finalizer - The finalizer as a - A for chaining calls - - - - Adds a finalizer - The finalizer method - A for chaining calls - - - - Gets all patched original methods in the appdomain - An enumeration of patched method/constructor - - - - Applies all registered patches - The generated replacement method - - - - Unpatches patches of a given type and/or Harmony ID - The patch type - Harmony ID or * for any - A for chaining calls - - - - Unpatches a specific patch - The method of the patch - A for chaining calls - - - - Gets patch information on an original - The original method/constructor - The patch information as - - - - Sort patch methods by their priority rules - The original method - Patches to sort - The sorted patch methods - - - - Gets Harmony version for all active Harmony instances - [out] The current Harmony version - A dictionary containing assembly version keyed by Harmony ID - - - - Creates a new empty generator to use when reading method bodies - A new - - - - Creates a new generator matching the method/constructor to use when reading method bodies - The original method/constructor to copy method information from - A new - - - - Returns the methods unmodified list of code instructions - The original method/constructor - Optionally an existing generator that will be used to create all local variables and labels contained in the result (if not specified, an internal generator is used) - A list containing all the original - - - - Returns the methods unmodified list of code instructions - The original method/constructor - A new generator that now contains all local variables and labels contained in the result - A list containing all the original - - - - Returns the methods current list of code instructions after all existing transpilers have been applied - The original method/constructor - Apply only the first count of transpilers - Optionally an existing generator that will be used to create all local variables and labels contained in the result (if not specified, an internal generator is used) - A list of - - - - Returns the methods current list of code instructions after all existing transpilers have been applied - The original method/constructor - A new generator that now contains all local variables and labels contained in the result - Apply only the first count of transpilers - A list of - - - - A low level way to read the body of a method. Used for quick searching in methods - The original method - All instructions as opcode/operand pairs - - - - A low level way to read the body of a method. Used for quick searching in methods - The original method - An existing generator that will be used to create all local variables and labels contained in the result - All instructions as opcode/operand pairs - - - - A patch priority - - - - Patch last - - - - Patch with very low priority - - - - Patch with low priority - - - - Patch with lower than normal priority - - - - Patch with normal priority - - - - Patch with higher than normal priority - - - - Patch with high priority - - - - Patch with very high priority - - - - Patch first - - - - A reverse patcher - - - - Creates a reverse patcher - The Harmony instance - The original method/constructor - Your stand-in stub method as - - - - Applies the patch - The type of patch, see - The generated replacement method - - - - A collection of commonly used transpilers - - - - A transpiler that replaces all occurrences of a given method with another one using the same signature - The enumeration of to act on - Method or constructor to search for - Method or constructor to replace with - Modified enumeration of - - - - A transpiler that alters instructions that match a predicate by calling an action - The enumeration of to act on - A predicate selecting the instructions to change - An action to apply to matching instructions - Modified enumeration of - - - - A transpiler that logs a text at the beginning of the method - The instructions to act on - The log text - Modified enumeration of - - - - A helper class for reflection related functions - - - - Shortcut for to simplify the use of reflections and make it work for any access level - - - - Shortcut for to simplify the use of reflections and make it work for any access level but only within the current type - - - - Enumerates all assemblies in the current app domain, excluding visual studio assemblies - An enumeration of - - - Gets a type by name. Prefers a full name with namespace but falls back to the first type matching the name otherwise - The name - A type or null if not found - - - - Gets all successfully loaded types from a given assembly - The assembly - An array of types - - This calls and returns , while catching any thrown . - If such an exception is thrown, returns the successfully loaded types (, - filtered for non-null values). - - - - - Enumerates all successfully loaded types in the current app domain, excluding visual studio assemblies - An enumeration of all in all assemblies, excluding visual studio assemblies - - - Applies a function going up the type hierarchy and stops at the first non-null result - Result type of func() - The class/type to start with - The evaluation function returning T - The first non-null result, or null if no match - - The type hierarchy of a class or value type (including struct) does NOT include implemented interfaces, - and the type hierarchy of an interface is only itself (regardless of whether that interface implements other interfaces). - The top-most type in the type hierarchy of all non-interface types (including value types) is . - - - - - Applies a function going into inner types and stops at the first non-null result - Generic type parameter - The class/type to start with - The evaluation function returning T - The first non-null result, or null if no match - - - - Gets the reflection information for a directly declared field - The class/type where the field is defined - The name of the field - A field or null when type/name is null or when the field cannot be found - - - - Gets the reflection information for a directly declared field - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A field or null when the field cannot be found - - - - Gets the reflection information for a field by searching the type and all its super types - The class/type where the field is defined - The name of the field (case sensitive) - A field or null when type/name is null or when the field cannot be found - - - - Gets the reflection information for a field by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A field or null when the field cannot be found - - - - Gets the reflection information for a field - The class/type where the field is declared - The zero-based index of the field inside the class definition - A field or null when type is null or when the field cannot be found - - - - Gets the reflection information for a directly declared property - The class/type where the property is declared - The name of the property (case sensitive) - A property or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for a directly declared property - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A property or null when the property cannot be found - - - - Gets the reflection information for the getter method of a directly declared property - The class/type where the property is declared - The name of the property (case sensitive) - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the getter method of a directly declared property - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A method or null when the property cannot be found - - - - Gets the reflection information for the setter method of a directly declared property - The class/type where the property is declared - The name of the property (case sensitive) - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the Setter method of a directly declared property - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A method or null when the property cannot be found - - - - Gets the reflection information for a property by searching the type and all its super types - The class/type - The name - A property or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for a property by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A property or null when the property cannot be found - - - - Gets the reflection information for the getter method of a property by searching the type and all its super types - The class/type - The name - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the getter method of a property by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the setter method of a property by searching the type and all its super types - The class/type - The name - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the setter method of a property by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for a directly declared method - The class/type where the method is declared - The name of the method (case sensitive) - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A method or null when type/name is null or when the method cannot be found - - - - Gets the reflection information for a directly declared method - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A method or null when the method cannot be found - - - - Gets the reflection information for a method by searching the type and all its super types - The class/type where the method is declared - The name of the method (case sensitive) - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A method or null when type/name is null or when the method cannot be found - - - - Gets the reflection information for a method by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A method or null when the method cannot be found - - - - Gets the method of an enumerator method - Enumerator method that creates the enumerator - The internal method of the enumerator or null if no valid enumerator is detected - - - Gets the names of all method that are declared in a type - The declaring class/type - A list of method names - - - - Gets the names of all method that are declared in the type of the instance - An instance of the type to search in - A list of method names - - - - Gets the names of all fields that are declared in a type - The declaring class/type - A list of field names - - - - Gets the names of all fields that are declared in the type of the instance - An instance of the type to search in - A list of field names - - - - Gets the names of all properties that are declared in a type - The declaring class/type - A list of property names - - - - Gets the names of all properties that are declared in the type of the instance - An instance of the type to search in - A list of property names - - - - Gets the type of any class member of - A member - The class/type of this member - - - - Test if a class member is actually an concrete implementation - A member - True if the member is a declared - - - - Gets the real implementation of a class member - A member - The member itself if its declared. Otherwise the member that is actually implemented in some base type - - - - Gets the reflection information for a directly declared constructor - The class/type where the constructor is declared - Optional parameters to target a specific overload of the constructor - Optional parameters to only consider static constructors - A constructor info or null when type is null or when the constructor cannot be found - - - - Gets the reflection information for a constructor by searching the type and all its super types - The class/type where the constructor is declared - Optional parameters to target a specific overload of the method - Optional parameters to only consider static constructors - A constructor info or null when type is null or when the method cannot be found - - - - Gets reflection information for all declared constructors - The class/type where the constructors are declared - Optional parameters to only consider static constructors - A list of constructor infos - - - - Gets reflection information for all declared methods - The class/type where the methods are declared - A list of methods - - - - Gets reflection information for all declared properties - The class/type where the properties are declared - A list of properties - - - - Gets reflection information for all declared fields - The class/type where the fields are declared - A list of fields - - - - Gets the return type of a method or constructor - The method/constructor - The return type - - - - Given a type, returns the first inner type matching a recursive search by name - The class/type to start searching at - The name of the inner type (case sensitive) - The inner type or null if type/name is null or if a type with that name cannot be found - - - - Given a type, returns the first inner type matching a recursive search with a predicate - The class/type to start searching at - The predicate to search with - The inner type or null if type/predicate is null or if a type with that name cannot be found - - - - Given a type, returns the first method matching a predicate - The class/type to start searching at - The predicate to search with - The method or null if type/predicate is null or if a type with that name cannot be found - - - - Given a type, returns the first constructor matching a predicate - The class/type to start searching at - The predicate to search with - The constructor info or null if type/predicate is null or if a type with that name cannot be found - - - - Given a type, returns the first property matching a predicate - The class/type to start searching at - The predicate to search with - The property or null if type/predicate is null or if a type with that name cannot be found - - - - Returns an array containing the type of each object in the given array - An array of objects - An array of types or an empty array if parameters is null (if an object is null, the type for it will be object) - - - - Creates an array of input parameters for a given method and a given set of potential inputs - The method/constructor you are planing to call - The possible input parameters in any order - An object array matching the method signature - - - - A readable/assignable reference delegate to an instance field of a class or static field (NOT an instance field of a struct) - - An arbitrary type if the field is static; otherwise the class that defines the field, or a parent class (including ), - implemented interface, or derived class of this type - - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The runtime instance to access the field (ignored and can be omitted for static fields) - A readable/assignable reference to the field - Null instance passed to a non-static field ref delegate - - Instance of invalid type passed to a non-static field ref delegate - (this can happen if is a parent class or interface of the field's declaring type) - - - - This delegate cannot be used for instance fields of structs, since a struct instance passed to the delegate would be passed by - value and thus would be a copy that only exists within the delegate's invocation. This is fine for a readonly reference, - but makes assignment futile. Use instead. - - - Note that is not required to be the field's declaring type. It can be a parent class (including ), - implemented interface, or a derived class of the field's declaring type ("instanceOfT is FieldDeclaringType" must be possible). - Specifically, must be assignable from OR to the field's declaring type. - Technically, this allows Nullable, although Nullable is only relevant for structs, and since only static fields of structs - are allowed for this delegate, and the instance passed to such a delegate is ignored, this hardly matters. - - - Similarly, is not required to be the field's field type, unless that type is a non-enum value type. - It can be a parent class (including object) or implemented interface of the field's field type. It cannot be a derived class. - This variance is not allowed for value types, since that would require boxing/unboxing, which is not allowed for ref values. - Special case for enum types: can also be the underlying integral type of the enum type. - Specifically, for reference types, must be assignable from - the field's field type; for non-enum value types, must be exactly the field's field type; for enum types, - must be either the field's field type or the underyling integral type of that field type. - - - This delegate supports static fields, even those defined in structs, for legacy reasons. - For such static fields, is effectively ignored. - Consider using (and StaticFieldRefAccess methods that return it) instead for static fields. - - - - - - Creates a field reference delegate for an instance field of a class - The class that defines the instance field, or derived class of this type - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The name of the field - A readable/assignable delegate - - - For backwards compatibility, there is no class constraint on . - Instead, the non-value-type check is done at runtime within the method. - - - - - - Creates an instance field reference for a specific instance of a class - The class that defines the instance field, or derived class of this type - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The instance - The name of the field - A readable/assignable reference to the field - - - This method is meant for one-off access to a field's value for a single instance. - If you need to access a field's value for potentially multiple instances, use instead. - FieldRefAccess<T, F>(instance, fieldName) is functionally equivalent to FieldRefAccess<T, F>(fieldName)(instance). - - - For backwards compatibility, there is no class constraint on . - Instead, the non-value-type check is done at runtime within the method. - - - - - - Creates a field reference delegate for an instance field of a class or static field (NOT an instance field of a struct) - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - - The type that defines the field, or derived class of this type; must not be a struct type unless the field is static - - The name of the field - - A readable/assignable delegate with T=object - (for static fields, the instance delegate parameter is ignored) - - - - This method is meant for cases where the given type is only known at runtime and thus can't be used as a type parameter T - in e.g. . - - - This method supports static fields, even those defined in structs, for legacy reasons. - Consider using (and other overloads) instead for static fields. - - - - - - Creates a field reference delegate for an instance field of a class or static field (NOT an instance field of a struct) - type of the field - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A readable/assignable delegate with T=object - - - Creates a field reference delegate for an instance field of a class or static field (NOT an instance field of a struct) - - An arbitrary type if the field is static; otherwise the class that defines the field, or a parent class (including ), - implemented interface, or derived class of this type ("instanceOfT is FieldDeclaringType" must be possible) - - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The field - A readable/assignable delegate - - - This method is meant for cases where the field has already been obtained, avoiding the field searching cost in - e.g. . - - - This method supports static fields, even those defined in structs, for legacy reasons. - For such static fields, is effectively ignored. - Consider using (and other overloads) instead for static fields. - - - For backwards compatibility, there is no class constraint on . - Instead, the non-value-type check is done at runtime within the method. - - - - - - Creates a field reference for an instance field of a class - - The type that defines the field; or a parent class (including ), implemented interface, or derived class of this type - ("instanceOfT is FieldDeclaringType" must be possible) - - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The instance - The field - A readable/assignable reference to the field - - - This method is meant for one-off access to a field's value for a single instance and where the field has already been obtained. - If you need to access a field's value for potentially multiple instances, use instead. - FieldRefAccess<T, F>(instance, fieldInfo) is functionally equivalent to FieldRefAccess<T, F>(fieldInfo)(instance). - - - For backwards compatibility, there is no class constraint on . - Instead, the non-value-type check is done at runtime within the method. - - - - - - A readable/assignable reference delegate to an instance field of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - A reference to the runtime instance to access the field - A readable/assignable reference to the field - - - - Creates a field reference delegate for an instance field of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The name of the field - A readable/assignable delegate - - - - Creates an instance field reference for a specific instance of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The instance - The name of the field - A readable/assignable reference to the field - - - This method is meant for one-off access to a field's value for a single instance. - If you need to access a field's value for potentially multiple instances, use instead. - StructFieldRefAccess<T, F>(ref instance, fieldName) is functionally equivalent to StructFieldRefAccess<T, F>(fieldName)(ref instance). - - - - - - Creates a field reference delegate for an instance field of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The field - A readable/assignable delegate - - - This method is meant for cases where the field has already been obtained, avoiding the field searching cost in - e.g. . - - - - - - Creates a field reference for an instance field of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The instance - The field - A readable/assignable reference to the field - - - This method is meant for one-off access to a field's value for a single instance and where the field has already been obtained. - If you need to access a field's value for potentially multiple instances, use instead. - StructFieldRefAccess<T, F>(ref instance, fieldInfo) is functionally equivalent to StructFieldRefAccess<T, F>(fieldInfo)(ref instance). - - - - - - A readable/assignable reference delegate to a static field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - A readable/assignable reference to the field - - - - Creates a static field reference - The type (can be class or struct) the field is defined in - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The name of the field - A readable/assignable reference to the field - - - - Creates a static field reference - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The type (can be class or struct) the field is defined in - The name of the field - A readable/assignable reference to the field - - - - Creates a static field reference - The type of the field - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A readable/assignable reference to the field - - - - Creates a static field reference - An arbitrary type (by convention, the type the field is defined in) - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The field - A readable/assignable reference to the field - - The type parameter is only used in exception messaging and to distinguish between this method overload - and the overload (which returns a rather than a reference). - - - - - Creates a static field reference delegate - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The field - A readable/assignable delegate - - - - Creates a delegate to a given method - The delegate Type - The method to create a delegate from. - - Only applies for instance methods. If null (default), returned delegate is an open (a.k.a. unbound) instance delegate - where an instance is supplied as the first argument to the delegate invocation; else, delegate is a closed (a.k.a. bound) - instance delegate where the delegate invocation always applies to the given . - - - Only applies for instance methods. If true (default) and is virtual, invocation of the delegate - calls the instance method virtually (the instance type's most-derived/overriden implementation of the method is called); - else, invocation of the delegate calls the exact specified (this is useful for calling base class methods) - Note: if false and is an interface method, an ArgumentException is thrown. - - A delegate of given to given - - - Delegate invocation is more performant and more convenient to use than - at a one-time setup cost. - - - Works for both type of static and instance methods, both open and closed (a.k.a. unbound and bound) instance methods, - and both class and struct methods. - - - - - - Creates a delegate to a given method - The delegate Type - The method in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - - Only applies for instance methods. If null (default), returned delegate is an open (a.k.a. unbound) instance delegate - where an instance is supplied as the first argument to the delegate invocation; else, delegate is a closed (a.k.a. bound) - instance delegate where the delegate invocation always applies to the given . - - - Only applies for instance methods. If true (default) and is virtual, invocation of the delegate - calls the instance method virtually (the instance type's most-derived/overriden implementation of the method is called); - else, invocation of the delegate calls the exact specified (this is useful for calling base class methods) - Note: if false and is an interface method, an ArgumentException is thrown. - - A delegate of given to given - - - Delegate invocation is more performant and more convenient to use than - at a one-time setup cost. - - - Works for both type of static and instance methods, both open and closed (a.k.a. unbound and bound) instance methods, - and both class and struct methods. - - - - - - Creates a delegate for a given delegate definition, attributed with [] - The delegate Type, attributed with [] - - Only applies for instance methods. If null (default), returned delegate is an open (a.k.a. unbound) instance delegate - where an instance is supplied as the first argument to the delegate invocation; else, delegate is a closed (a.k.a. bound) - instance delegate where the delegate invocation always applies to the given . - - A delegate of given to the method specified via [] - attributes on - - This calls with the method and virtualCall arguments - determined from the [] attributes on , - and the given (for closed instance delegates). - - - - - Returns who called the current method - The calling method/constructor (excluding the caller) - - - - Rethrows an exception while preserving its stack trace (throw statement typically clobbers existing stack traces) - The exception to rethrow - - - - True if the current runtime is based on Mono, false otherwise (.NET) - - - - True if the current runtime is .NET Framework, false otherwise (.NET Core or Mono, although latter isn't guaranteed) - - - - True if the current runtime is .NET Core, false otherwise (Mono or .NET Framework) - - - - Throws a missing member runtime exception - The type that is involved - A list of names - - - - Gets default value for a specific type - The class/type - The default value - - - - Creates an (possibly uninitialized) instance of a given type - The class/type - The new instance - - - - Creates an (possibly uninitialized) instance of a given type - The class/type - The new instance - - - - - A cache for the or similar Add methods for different types. - - - - Makes a deep copy of any object - The type of the instance that should be created; for legacy reasons, this must be a class or interface - The original object - A copy of the original object but of type T - - - - Makes a deep copy of any object - The type of the instance that should be created - The original object - [out] The copy of the original object - Optional value transformation function (taking a field name and src/dst instances) - The optional path root to start with - - - - Makes a deep copy of any object - The original object - The type of the instance that should be created - Optional value transformation function (taking a field name and src/dst instances) - The optional path root to start with - The copy of the original object - - - - Tests if a type is a struct - The type - True if the type is a struct - - - - Tests if a type is a class - The type - True if the type is a class - - - - Tests if a type is a value type - The type - True if the type is a value type - - - - Tests if a type is an integer type - The type - True if the type represents some integer - - - - Tests if a type is a floating point type - The type - True if the type represents some floating point - - - - Tests if a type is a numerical type - The type - True if the type represents some number - - - - Tests if a type is void - The type - True if the type is void - - - - Test whether an instance is of a nullable type - Type of instance - An instance to test - True if instance is of nullable type, false if not - - - - Tests whether a type or member is static, as defined in C# - The type or member - True if the type or member is static - - - - Tests whether a type is static, as defined in C# - The type - True if the type is static - - - - Tests whether a property is static, as defined in C# - The property - True if the property is static - - - - Tests whether an event is static, as defined in C# - The event - True if the event is static - - - - Calculates a combined hash code for an enumeration of objects - The objects - The hash code - - - - A CodeInstruction match - - - The name of the match - - - The matched opcodes - - - The matched operands - - - The jumps from the match - - - The jumps to the match - - - The match predicate - - - Creates a code match - The optional opcode - The optional operand - The optional name - - - - Creates a code match that calls a method - The lambda expression using the method - The optional name - - - - Creates a code match that calls a method - The lambda expression using the method - The optional name - - - - Creates a code match - The CodeInstruction - An optional name - - - - Creates a code match - The predicate - An optional name - - - - Returns a string that represents the match - A string representation - - - - A CodeInstruction matcher - - - The current position - The index or -1 if out of bounds - - - - Gets the number of code instructions in this matcher - The count - - - - Checks whether the position of this CodeMatcher is within bounds - True if this CodeMatcher is valid - - - - Checks whether the position of this CodeMatcher is outside its bounds - True if this CodeMatcher is invalid - - - - Gets the remaining code instructions - The remaining count - - - - Gets the opcode at the current position - The opcode - - - - Gets the operand at the current position - The operand - - - - Gets the labels at the current position - The labels - - - - Gets the exception blocks at the current position - The blocks - - - - Creates an empty code matcher - - - Creates a code matcher from an enumeration of instructions - The instructions (transpiler argument) - An optional IL generator - - - - Makes a clone of this instruction matcher - A copy of this matcher - - - - Gets instructions at the current position - The instruction - - - - Gets instructions at the current position with offset - The offset - The instruction - - - - Gets all instructions - A list of instructions - - - - Gets all instructions as an enumeration - A list of instructions - - - - Gets some instructions counting from current position - Number of instructions - A list of instructions - - - - Gets all instructions within a range - The start index - The end index - A list of instructions - - - - Gets all instructions within a range (relative to current position) - The start offset - The end offset - A list of instructions - - - - Gets a list of all distinct labels - The instructions (transpiler argument) - A list of Labels - - - - Reports a failure - The method involved - The logger - True if current position is invalid and error was logged - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed) - Explanation of where/why the exception was thrown that will be added to the exception message - The same code matcher - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed), - or if the matches do not match at current position - Explanation of where/why the exception was thrown that will be added to the exception message - Some code matches - The same code matcher - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed), - or if the matches do not match at any point between current position and the end - Explanation of where/why the exception was thrown that will be added to the exception message - Some code matches - The same code matcher - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed), - or if the matches do not match at any point between current position and the start - Explanation of where/why the exception was thrown that will be added to the exception message - Some code matches - The same code matcher - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed), - or if the check function returns false - Explanation of where/why the exception was thrown that will be added to the exception message - Function that checks validity of current state. If it returns false, an exception is thrown - The same code matcher - - - - Sets an instruction at current position - The instruction to set - The same code matcher - - - - Sets instruction at current position and advances - The instruction - The same code matcher - - - - Sets opcode and operand at current position - The opcode - The operand - The same code matcher - - - - Sets opcode and operand at current position and advances - The opcode - The operand - The same code matcher - - - - Sets opcode at current position and advances - The opcode - The same code matcher - - - - Sets operand at current position and advances - The operand - The same code matcher - - - - Creates a label at current position - [out] The label - The same code matcher - - - - Creates a label at a position - The position - [out] The new label - The same code matcher - - - - Creates a label at a position - The offset - [out] The new label - The same code matcher - - - - Adds an enumeration of labels to current position - The labels - The same code matcher - - - - Adds an enumeration of labels at a position - The position - The labels - The same code matcher - - - - Sets jump to - Branch instruction - Destination for the jump - [out] The created label - The same code matcher - - - - Inserts some instructions - The instructions - The same code matcher - - - - Inserts an enumeration of instructions - The instructions - The same code matcher - - - - Inserts a branch - The branch opcode - Branch destination - The same code matcher - - - - Inserts some instructions and advances the position - The instructions - The same code matcher - - - - Inserts an enumeration of instructions and advances the position - The instructions - The same code matcher - - - - Inserts a branch and advances the position - The branch opcode - Branch destination - The same code matcher - - - - Removes current instruction - The same code matcher - - - - Removes some instruction from current position by count - Number of instructions - The same code matcher - - - - Removes the instructions in a range - The start - The end - The same code matcher - - - - Removes the instructions in a offset range - The start offset - The end offset - The same code matcher - - - - Advances the current position - The offset - The same code matcher - - - - Moves the current position to the start - The same code matcher - - - - Moves the current position to the end - The same code matcher - - - - Searches forward with a predicate and advances position - The predicate - The same code matcher - - - - Searches backwards with a predicate and reverses position - The predicate - The same code matcher - - - - Matches forward and advances position to beginning of matching sequence - Some code matches - The same code matcher - - - - Matches forward and advances position to ending of matching sequence - Some code matches - The same code matcher - - - - Matches backwards and reverses position to beginning of matching sequence - Some code matches - The same code matcher - - - - Matches backwards and reverses position to ending of matching sequence - Some code matches - The same code matcher - - - - Repeats a match action until boundaries are met - The match action - An optional action that is executed when no match is found - The same code matcher - - - - Gets a match by its name - The match name - An instruction - - - - General extensions for common cases - - - - Joins an enumeration with a value converter and a delimiter to a string - The inner type of the enumeration - The enumeration - An optional value converter (from T to string) - An optional delimiter - The values joined into a string - - - - Converts an array of types (for example methods arguments) into a human readable form - The array of types - A human readable description including brackets - - - - A full description of a type - The type - A human readable description - - - - A a full description of a method or a constructor without assembly details but with generics - The method/constructor - A human readable description - - - - A helper converting parameter infos to types - The array of parameter infos - An array of types - - - - A helper to access a value via key from a dictionary - The key type - The value type - The dictionary - The key - The value for the key or the default value (of T) if that key does not exist - - - - A helper to access a value via key from a dictionary with extra casting - The value type - The dictionary - The key - The value for the key or the default value (of T) if that key does not exist or cannot be cast to T - - - - Escapes Unicode and ASCII non printable characters - The string to convert - The string to convert - A string literal surrounded by - - - - Extensions for - - - - Returns if an is initialized and valid - The - - - - Shortcut for testing whether the operand is equal to a non-null value - The - The value - True if the operand has the same type and is equal to the value - - - - Shortcut for testing whether the operand is equal to a non-null value - The - The value - True if the operand is equal to the value - This is an optimized version of for - - - - Shortcut for code.opcode == opcode && code.OperandIs(operand) - The - The - The operand value - True if the opcode is equal to the given opcode and the operand has the same type and is equal to the given operand - - - - Shortcut for code.opcode == opcode && code.OperandIs(operand) - The - The - The operand value - True if the opcode is equal to the given opcode and the operand is equal to the given operand - This is an optimized version of for - - - - Tests for any form of Ldarg* - The - The (optional) index - True if it matches one of the variations - - - - Tests for Ldarga/Ldarga_S - The - The (optional) index - True if it matches one of the variations - - - - Tests for Starg/Starg_S - The - The (optional) index - True if it matches one of the variations - - - - Tests for any form of Ldloc* - The - The optional local variable - True if it matches one of the variations - - - - Tests for any form of Stloc* - The - The optional local variable - True if it matches one of the variations - - - - Tests if the code instruction branches - The - The label if the instruction is a branch operation or if not - True if the instruction branches - - - - Tests if the code instruction calls the method/constructor - The - The method - True if the instruction calls the method or constructor - - - - Tests if the code instruction loads a constant - The - True if the instruction loads a constant - - - - Tests if the code instruction loads an integer constant - The - The integer constant - True if the instruction loads the constant - - - - Tests if the code instruction loads a floating point constant - The - The floating point constant - True if the instruction loads the constant - - - - Tests if the code instruction loads an enum constant - The - The enum - True if the instruction loads the constant - - - - Tests if the code instruction loads a string constant - The - The string - True if the instruction loads the constant - - - - Tests if the code instruction loads a field - The - The field - Set to true if the address of the field is loaded - True if the instruction loads the field - - - - Tests if the code instruction stores a field - The - The field - True if the instruction stores this field - - - - Adds labels to the code instruction and return it - The - One or several to add - The same code instruction - - - Adds labels to the code instruction and return it - The - An enumeration of - The same code instruction - - - Extracts all labels from the code instruction and returns them - The - A list of - - - Moves all labels from the code instruction to another one - The to move the labels from - The other to move the labels to - The code instruction labels were moved from (now empty) - - - Moves all labels from another code instruction to the current one - The to move the labels to - The other to move the labels from - The code instruction that received the labels - - - Adds ExceptionBlocks to the code instruction and return it - The - One or several to add - The same code instruction - - - Adds ExceptionBlocks to the code instruction and return it - The - An enumeration of - The same code instruction - - - Extracts all ExceptionBlocks from the code instruction and returns them - The - A list of - - - Moves all ExceptionBlocks from the code instruction to another one - The to move the ExceptionBlocks from - The other to move the ExceptionBlocks to - The code instruction blocks were moved from (now empty) - - - Moves all ExceptionBlocks from another code instruction to the current one - The to move the ExceptionBlocks to - The other to move the ExceptionBlocks from - The code instruction that received the blocks - - - General extensions for collections - - - - A simple way to execute code for every element in a collection - The inner type of the collection - The collection - The action to execute - - - - A simple way to execute code for elements in a collection matching a condition - The inner type of the collection - The collection - The predicate - The action to execute - - - - A helper to add an item to a collection - The inner type of the collection - The collection - The item to add - The collection containing the item - - - - A helper to add an item to an array - The inner type of the collection - The array - The item to add - The array containing the item - - - - A helper to add items to an array - The inner type of the collection - The array - The items to add - The array containing the items - - - - General extensions for collections - - - - Tests a class member if it has an IL method body (external methods for example don't have a body) - The member to test - Returns true if the member has an IL body or false if not - - - A file log for debugging - - - - Set this to make Harmony write its log content to this stream - - - - Full pathname of the log file, defaults to a file called harmony.log.txt on your Desktop - - - - The indent character. The default is tab - - - - The current indent level - - - - Changes the indentation level - The value to add to the indentation level - - - - Log a string in a buffered way. Use this method only if you are sure that FlushBuffer will be called - or else logging information is incomplete in case of a crash - The string to log - - - - Logs a list of string in a buffered way. Use this method only if you are sure that FlushBuffer will be called - or else logging information is incomplete in case of a crash - A list of strings to log (they will not be re-indented) - - - - Returns the log buffer and optionally empties it - True to empty the buffer - The buffer. - - - - Replaces the buffer with new lines - The lines to store - - - - Flushes the log buffer to disk (use in combination with LogBuffered) - - - - Log a string directly to disk. Slower method that prevents missing information in case of a crash - The string to log. - - - - Log a string directly to disk if Harmony.DEBUG is true. Slower method that prevents missing information in case of a crash - The string to log. - - - - Resets and deletes the log - - - - Logs some bytes as hex values - The pointer to some memory - The length of bytes to log - - - - A helper class to retrieve reflection info for non-private methods - - - - Given a lambda expression that calls a method, returns the method info - The lambda expression using the method - The method in the lambda expression - - - - Given a lambda expression that calls a method, returns the method info - The generic type - The lambda expression using the method - The method in the lambda expression - - - - Given a lambda expression that calls a method, returns the method info - The generic type - The generic result type - The lambda expression using the method - The method in the lambda expression - - - - Given a lambda expression that calls a method, returns the method info - The lambda expression using the method - The method in the lambda expression - - - - A reflection helper to read and write private elements - The result type defined by GetValue() - - - - Creates a traverse instance from an existing instance - The existing instance - - - - Gets/Sets the current value - The value to read or write - - - - A reflection helper to read and write private elements - - - - Creates a new traverse instance from a class/type - The class/type - A instance - - - - Creates a new traverse instance from a class T - The class - A instance - - - - Creates a new traverse instance from an instance - The object - A instance - - - - Creates a new traverse instance from a named type - The type name, for format see - A instance - - - - Creates a new and empty traverse instance - - - - Creates a new traverse instance from a class/type - The class/type - - - - Creates a new traverse instance from an instance - The object - - - - Gets the current value - The value - - - - Gets the current value - The type of the value - The value - - - - Invokes the current method with arguments and returns the result - The method arguments - The value returned by the method - - - - Invokes the current method with arguments and returns the result - The type of the value - The method arguments - The value returned by the method - - - - Sets a value of the current field or property - The value - The same traverse instance - - - - Gets the type of the current field or property - The type - - - - Moves the current traverse instance to a inner type - The type name - A traverse instance - - - - Moves the current traverse instance to a field - The type name - A traverse instance - - - - Moves the current traverse instance to a field - The type of the field - The type name - A traverse instance - - - - Gets all fields of the current type - A list of field names - - - - Moves the current traverse instance to a property - The type name - Optional property index - A traverse instance - - - - Moves the current traverse instance to a field - The type of the property - The type name - Optional property index - A traverse instance - - - - Gets all properties of the current type - A list of property names - - - - Moves the current traverse instance to a method - The name of the method - The arguments defining the argument types of the method overload - A traverse instance - - - - Moves the current traverse instance to a method - The name of the method - The argument types of the method - The arguments for the method - A traverse instance - - - - Gets all methods of the current type - A list of method names - - - - Checks if the current traverse instance is for a field - True if its a field - - - - Checks if the current traverse instance is for a property - True if its a property - - - - Checks if the current traverse instance is for a method - True if its a method - - - - Checks if the current traverse instance is for a type - True if its a type - - - - Iterates over all fields of the current type and executes a traverse action - Original object - The action receiving a instance for each field - - - - Iterates over all fields of the current type and executes a traverse action - Original object - Target object - The action receiving a pair of instances for each field pair - - - - Iterates over all fields of the current type and executes a traverse action - Original object - Target object - The action receiving a dot path representing the field pair and the instances - - - - Iterates over all properties of the current type and executes a traverse action - Original object - The action receiving a instance for each property - - - - Iterates over all properties of the current type and executes a traverse action - Original object - Target object - The action receiving a pair of instances for each property pair - - - - Iterates over all properties of the current type and executes a traverse action - Original object - Target object - The action receiving a dot path representing the property pair and the instances - - - - A default field action that copies fields to fields - - - - Returns a string that represents the current traverse - A string representation - - - - diff --git a/1.4/Assemblies/0MultiplayerAPI.dll b/1.4/Assemblies/0MultiplayerAPI.dll deleted file mode 100644 index 38b8a0e..0000000 Binary files a/1.4/Assemblies/0MultiplayerAPI.dll and /dev/null differ diff --git a/1.4/Assemblies/Assembly-CSharp-firstpass.dll b/1.4/Assemblies/Assembly-CSharp-firstpass.dll deleted file mode 100644 index 3110d7d..0000000 Binary files a/1.4/Assemblies/Assembly-CSharp-firstpass.dll and /dev/null differ diff --git a/1.4/Assemblies/Assembly-CSharp.dll b/1.4/Assemblies/Assembly-CSharp.dll deleted file mode 100644 index 9eaf3d3..0000000 Binary files a/1.4/Assemblies/Assembly-CSharp.dll and /dev/null differ diff --git a/1.4/Assemblies/ISharpZipLib.dll b/1.4/Assemblies/ISharpZipLib.dll deleted file mode 100644 index bb15d24..0000000 Binary files a/1.4/Assemblies/ISharpZipLib.dll and /dev/null differ diff --git a/1.4/Assemblies/NAudio.dll b/1.4/Assemblies/NAudio.dll deleted file mode 100644 index decb8dd..0000000 Binary files a/1.4/Assemblies/NAudio.dll and /dev/null differ diff --git a/1.4/Assemblies/NVorbis.dll b/1.4/Assemblies/NVorbis.dll deleted file mode 100644 index 89d7214..0000000 Binary files a/1.4/Assemblies/NVorbis.dll and /dev/null differ diff --git a/1.4/Assemblies/RJW.dll b/1.4/Assemblies/RJW.dll deleted file mode 100644 index cd73522..0000000 Binary files a/1.4/Assemblies/RJW.dll and /dev/null differ diff --git a/1.4/Assemblies/Unity.TextMeshPro.dll b/1.4/Assemblies/Unity.TextMeshPro.dll deleted file mode 100644 index ec29a4f..0000000 Binary files a/1.4/Assemblies/Unity.TextMeshPro.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.AIModule.dll b/1.4/Assemblies/UnityEngine.AIModule.dll deleted file mode 100644 index 78e7704..0000000 Binary files a/1.4/Assemblies/UnityEngine.AIModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.ARModule.dll b/1.4/Assemblies/UnityEngine.ARModule.dll deleted file mode 100644 index faa2f92..0000000 Binary files a/1.4/Assemblies/UnityEngine.ARModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.AccessibilityModule.dll b/1.4/Assemblies/UnityEngine.AccessibilityModule.dll deleted file mode 100644 index 5229d35..0000000 Binary files a/1.4/Assemblies/UnityEngine.AccessibilityModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.AndroidJNIModule.dll b/1.4/Assemblies/UnityEngine.AndroidJNIModule.dll deleted file mode 100644 index 52d1ec4..0000000 Binary files a/1.4/Assemblies/UnityEngine.AndroidJNIModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.AnimationModule.dll b/1.4/Assemblies/UnityEngine.AnimationModule.dll deleted file mode 100644 index 6243b6b..0000000 Binary files a/1.4/Assemblies/UnityEngine.AnimationModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.AssetBundleModule.dll b/1.4/Assemblies/UnityEngine.AssetBundleModule.dll deleted file mode 100644 index 4762681..0000000 Binary files a/1.4/Assemblies/UnityEngine.AssetBundleModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.AudioModule.dll b/1.4/Assemblies/UnityEngine.AudioModule.dll deleted file mode 100644 index 04a092a..0000000 Binary files a/1.4/Assemblies/UnityEngine.AudioModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.ClothModule.dll b/1.4/Assemblies/UnityEngine.ClothModule.dll deleted file mode 100644 index e9a819d..0000000 Binary files a/1.4/Assemblies/UnityEngine.ClothModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.ClusterInputModule.dll b/1.4/Assemblies/UnityEngine.ClusterInputModule.dll deleted file mode 100644 index 6324fbb..0000000 Binary files a/1.4/Assemblies/UnityEngine.ClusterInputModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.ClusterRendererModule.dll b/1.4/Assemblies/UnityEngine.ClusterRendererModule.dll deleted file mode 100644 index 26ef8fa..0000000 Binary files a/1.4/Assemblies/UnityEngine.ClusterRendererModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.CoreModule.dll b/1.4/Assemblies/UnityEngine.CoreModule.dll deleted file mode 100644 index 83b2b0a..0000000 Binary files a/1.4/Assemblies/UnityEngine.CoreModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.CrashReportingModule.dll b/1.4/Assemblies/UnityEngine.CrashReportingModule.dll deleted file mode 100644 index 7d391bd..0000000 Binary files a/1.4/Assemblies/UnityEngine.CrashReportingModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.DSPGraphModule.dll b/1.4/Assemblies/UnityEngine.DSPGraphModule.dll deleted file mode 100644 index eba8cc1..0000000 Binary files a/1.4/Assemblies/UnityEngine.DSPGraphModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.DirectorModule.dll b/1.4/Assemblies/UnityEngine.DirectorModule.dll deleted file mode 100644 index 5976cc5..0000000 Binary files a/1.4/Assemblies/UnityEngine.DirectorModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.GameCenterModule.dll b/1.4/Assemblies/UnityEngine.GameCenterModule.dll deleted file mode 100644 index 4797dbe..0000000 Binary files a/1.4/Assemblies/UnityEngine.GameCenterModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.GridModule.dll b/1.4/Assemblies/UnityEngine.GridModule.dll deleted file mode 100644 index 61c1ec4..0000000 Binary files a/1.4/Assemblies/UnityEngine.GridModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.InputModule.dll b/1.4/Assemblies/UnityEngine.InputModule.dll deleted file mode 100644 index 3be4fb9..0000000 Binary files a/1.4/Assemblies/UnityEngine.InputModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.JSONSerializeModule.dll b/1.4/Assemblies/UnityEngine.JSONSerializeModule.dll deleted file mode 100644 index cd1981f..0000000 Binary files a/1.4/Assemblies/UnityEngine.JSONSerializeModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.LocalizationModule.dll b/1.4/Assemblies/UnityEngine.LocalizationModule.dll deleted file mode 100644 index 292f854..0000000 Binary files a/1.4/Assemblies/UnityEngine.LocalizationModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.ParticleSystemModule.dll b/1.4/Assemblies/UnityEngine.ParticleSystemModule.dll deleted file mode 100644 index c570bbe..0000000 Binary files a/1.4/Assemblies/UnityEngine.ParticleSystemModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.PerformanceReportingModule.dll b/1.4/Assemblies/UnityEngine.PerformanceReportingModule.dll deleted file mode 100644 index faf6411..0000000 Binary files a/1.4/Assemblies/UnityEngine.PerformanceReportingModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.Physics2DModule.dll b/1.4/Assemblies/UnityEngine.Physics2DModule.dll deleted file mode 100644 index 65dba8a..0000000 Binary files a/1.4/Assemblies/UnityEngine.Physics2DModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.PhysicsModule.dll b/1.4/Assemblies/UnityEngine.PhysicsModule.dll deleted file mode 100644 index 4a7a9a6..0000000 Binary files a/1.4/Assemblies/UnityEngine.PhysicsModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.ScreenCaptureModule.dll b/1.4/Assemblies/UnityEngine.ScreenCaptureModule.dll deleted file mode 100644 index 4ec8198..0000000 Binary files a/1.4/Assemblies/UnityEngine.ScreenCaptureModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.SpriteMaskModule.dll b/1.4/Assemblies/UnityEngine.SpriteMaskModule.dll deleted file mode 100644 index 3de5b54..0000000 Binary files a/1.4/Assemblies/UnityEngine.SpriteMaskModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.SpriteShapeModule.dll b/1.4/Assemblies/UnityEngine.SpriteShapeModule.dll deleted file mode 100644 index b59a5b8..0000000 Binary files a/1.4/Assemblies/UnityEngine.SpriteShapeModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.StreamingModule.dll b/1.4/Assemblies/UnityEngine.StreamingModule.dll deleted file mode 100644 index 69068e5..0000000 Binary files a/1.4/Assemblies/UnityEngine.StreamingModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.SubsystemsModule.dll b/1.4/Assemblies/UnityEngine.SubsystemsModule.dll deleted file mode 100644 index b5b7429..0000000 Binary files a/1.4/Assemblies/UnityEngine.SubsystemsModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.TerrainModule.dll b/1.4/Assemblies/UnityEngine.TerrainModule.dll deleted file mode 100644 index 18b193e..0000000 Binary files a/1.4/Assemblies/UnityEngine.TerrainModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.TerrainPhysicsModule.dll b/1.4/Assemblies/UnityEngine.TerrainPhysicsModule.dll deleted file mode 100644 index 48119b4..0000000 Binary files a/1.4/Assemblies/UnityEngine.TerrainPhysicsModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.TextCoreModule.dll b/1.4/Assemblies/UnityEngine.TextCoreModule.dll deleted file mode 100644 index e13a54d..0000000 Binary files a/1.4/Assemblies/UnityEngine.TextCoreModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.TilemapModule.dll b/1.4/Assemblies/UnityEngine.TilemapModule.dll deleted file mode 100644 index 6c43665..0000000 Binary files a/1.4/Assemblies/UnityEngine.TilemapModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.UI.dll b/1.4/Assemblies/UnityEngine.UI.dll deleted file mode 100644 index ea17de1..0000000 Binary files a/1.4/Assemblies/UnityEngine.UI.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.UIElementsModule.dll b/1.4/Assemblies/UnityEngine.UIElementsModule.dll deleted file mode 100644 index 8dc2716..0000000 Binary files a/1.4/Assemblies/UnityEngine.UIElementsModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.UIModule.dll b/1.4/Assemblies/UnityEngine.UIModule.dll deleted file mode 100644 index e082dda..0000000 Binary files a/1.4/Assemblies/UnityEngine.UIModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.UNETModule.dll b/1.4/Assemblies/UnityEngine.UNETModule.dll deleted file mode 100644 index 0234fad..0000000 Binary files a/1.4/Assemblies/UnityEngine.UNETModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.UnityAnalyticsModule.dll b/1.4/Assemblies/UnityEngine.UnityAnalyticsModule.dll deleted file mode 100644 index e3c39e8..0000000 Binary files a/1.4/Assemblies/UnityEngine.UnityAnalyticsModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.UnityConnectModule.dll b/1.4/Assemblies/UnityEngine.UnityConnectModule.dll deleted file mode 100644 index 7ec2470..0000000 Binary files a/1.4/Assemblies/UnityEngine.UnityConnectModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.UnityWebRequestAssetBundleModule.dll b/1.4/Assemblies/UnityEngine.UnityWebRequestAssetBundleModule.dll deleted file mode 100644 index 0024d85..0000000 Binary files a/1.4/Assemblies/UnityEngine.UnityWebRequestAssetBundleModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.UnityWebRequestAudioModule.dll b/1.4/Assemblies/UnityEngine.UnityWebRequestAudioModule.dll deleted file mode 100644 index d4f9220..0000000 Binary files a/1.4/Assemblies/UnityEngine.UnityWebRequestAudioModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.UnityWebRequestTextureModule.dll b/1.4/Assemblies/UnityEngine.UnityWebRequestTextureModule.dll deleted file mode 100644 index d8b643a..0000000 Binary files a/1.4/Assemblies/UnityEngine.UnityWebRequestTextureModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.UnityWebRequestWWWModule.dll b/1.4/Assemblies/UnityEngine.UnityWebRequestWWWModule.dll deleted file mode 100644 index b8b8314..0000000 Binary files a/1.4/Assemblies/UnityEngine.UnityWebRequestWWWModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.VFXModule.dll b/1.4/Assemblies/UnityEngine.VFXModule.dll deleted file mode 100644 index 0895120..0000000 Binary files a/1.4/Assemblies/UnityEngine.VFXModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.VRModule.dll b/1.4/Assemblies/UnityEngine.VRModule.dll deleted file mode 100644 index ea9d6fe..0000000 Binary files a/1.4/Assemblies/UnityEngine.VRModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.VehiclesModule.dll b/1.4/Assemblies/UnityEngine.VehiclesModule.dll deleted file mode 100644 index f7c1085..0000000 Binary files a/1.4/Assemblies/UnityEngine.VehiclesModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.VideoModule.dll b/1.4/Assemblies/UnityEngine.VideoModule.dll deleted file mode 100644 index 92c9898..0000000 Binary files a/1.4/Assemblies/UnityEngine.VideoModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.WindModule.dll b/1.4/Assemblies/UnityEngine.WindModule.dll deleted file mode 100644 index 8ac2232..0000000 Binary files a/1.4/Assemblies/UnityEngine.WindModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.XRModule.dll b/1.4/Assemblies/UnityEngine.XRModule.dll deleted file mode 100644 index a58bf6a..0000000 Binary files a/1.4/Assemblies/UnityEngine.XRModule.dll and /dev/null differ diff --git a/1.4/Assemblies/UnityEngine.dll b/1.4/Assemblies/UnityEngine.dll deleted file mode 100644 index d45693c..0000000 Binary files a/1.4/Assemblies/UnityEngine.dll and /dev/null differ diff --git a/1.4/Assemblies/com.rlabrecque.steamworks.net.dll b/1.4/Assemblies/com.rlabrecque.steamworks.net.dll deleted file mode 100644 index 57edb49..0000000 Binary files a/1.4/Assemblies/com.rlabrecque.steamworks.net.dll and /dev/null differ diff --git a/C0ffee's RJW Ideology Addons.csproj b/C0ffee's RJW Ideology Addons.csproj index a6721be..9adb9f6 100644 --- a/C0ffee's RJW Ideology Addons.csproj +++ b/C0ffee's RJW Ideology Addons.csproj @@ -35,9 +35,11 @@ ..\..\..\..\workshop\content\294100\839005762\1.4\Assemblies\0Harmony.dll + False ..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll + False ..\..\..\..\workshop\content\294100\818773962\v1.3\Assemblies\HugsLib.dll @@ -45,6 +47,7 @@ ..\rjw\1.4\Assemblies\RJW.dll + False @@ -56,9 +59,11 @@ ..\..\RimWorldWin64_Data\Managed\UnityEngine.dll + False ..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll + False diff --git a/CRIALactation/1.4/Assemblies/0Harmony.dll b/CRIALactation/1.4/Assemblies/0Harmony.dll deleted file mode 100644 index e182535..0000000 Binary files a/CRIALactation/1.4/Assemblies/0Harmony.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/0Harmony.xml b/CRIALactation/1.4/Assemblies/0Harmony.xml deleted file mode 100644 index f1b9b4c..0000000 --- a/CRIALactation/1.4/Assemblies/0Harmony.xml +++ /dev/null @@ -1,3693 +0,0 @@ - - - - 0Harmony - - - - A factory to create delegate types - - - Default constructor - - - Creates a delegate type for a method - The method - The new delegate type - - - - A getter delegate type - Type that getter gets field/property value from - Type of the value that getter gets - The instance get getter uses - An delegate - - - - A setter delegate type - Type that setter sets field/property value for - Type of the value that setter sets - The instance the setter uses - The value the setter uses - An delegate - - - - A constructor delegate type - Type that constructor creates - An delegate - - - - A helper class for fast access to getters and setters - - - Creates an instantiation delegate - Type that constructor creates - The new instantiation delegate - - - - Creates an getter delegate for a property - Type that getter reads property from - Type of the property that gets accessed - The property - The new getter delegate - - - - Creates an getter delegate for a field - Type that getter reads field from - Type of the field that gets accessed - The field - The new getter delegate - - - - Creates an getter delegate for a field (with a list of possible field names) - Type that getter reads field/property from - Type of the field/property that gets accessed - A list of possible field names - The new getter delegate - - - - Creates an setter delegate - Type that setter assigns property value to - Type of the property that gets assigned - The property - The new setter delegate - - - - Creates an setter delegate for a field - Type that setter assigns field value to - Type of the field that gets assigned - The field - The new getter delegate - - - - A delegate to invoke a method - The instance - The method parameters - The method result - - - A helper class to invoke method with delegates - - - Creates a fast invocation handler from a method - The method to invoke - Controls if boxed value object is accessed/updated directly - The - - - The directBoxValueAccess option controls how value types passed by reference (e.g. ref int, out my_struct) are handled in the arguments array - passed to the fast invocation handler. - Since the arguments array is an object array, any value types contained within it are actually references to a boxed value object. - Like any other object, there can be other references to such boxed value objects, other than the reference within the arguments array. - For example, - - var val = 5; - var box = (object)val; - var arr = new object[] { box }; - handler(arr); // for a method with parameter signature: ref/out/in int - - - - - If directBoxValueAccess is true, the boxed value object is accessed (and potentially updated) directly when the handler is called, - such that all references to the boxed object reflect the potentially updated value. - In the above example, if the method associated with the handler updates the passed (boxed) value to 10, both box and arr[0] - now reflect the value 10. Note that the original val is not updated, since boxing always copies the value into the new boxed value object. - - - If directBoxValueAccess is false (default), the boxed value object in the arguments array is replaced with a "reboxed" value object, - such that potential updates to the value are reflected only in the arguments array. - In the above example, if the method associated with the handler updates the passed (boxed) value to 10, only arr[0] now reflects the value 10. - - - - - A low level memory helper - - - - Mark method for no inlining (currently only works on Mono) - The method/constructor to change - - - - Detours a method - The original method/constructor - The replacement method/constructor - An error string - - - - Writes a jump to memory - The memory address - Jump destination - An error string - - - - Gets the start of a method in memory - The method/constructor - [out] Details of the exception - The method start address - - - - special parameter names that can be used in prefix and postfix methods - - - Patch function helpers - - - Sorts patch methods by their priority rules - The original method - Patches to sort - Use debug mode - The sorted patch methods - - - - Creates new replacement method with the latest patches and detours the original method - The original method - Information describing the patches - The newly created replacement method - - - - Creates a patch sorter - Array of patches that will be sorted - Use debugging - - - Sorts internal PatchSortingWrapper collection and caches the results. - After first run the result is provided from the cache. - The original method - The sorted patch methods - - - Checks if the sorter was created with the same patch list and as a result can be reused to - get the sorted order of the patches. - List of patches to check against - true if equal - - - Removes one unresolved dependency from the least important patch. - - - Outputs all unblocked patches from the waiting list to results list - - - Adds patch to both results list and handled patches set - Patch to add - - - Wrapper used over the Patch object to allow faster dependency access and - dependency removal in case of cyclic dependencies - - - Create patch wrapper object used for sorting - Patch to wrap - - - Determines how patches sort - The other patch - integer to define sort order (-1, 0, 1) - - - Determines whether patches are equal - The other patch - true if equal - - - Hash function - A hash code - - - Bidirectionally registers Patches as after dependencies - List of dependencies to register - - - Bidirectionally registers Patches as before dependencies - List of dependencies to register - - - Bidirectionally removes Patch from after dependencies - Patch to remove - - - Bidirectionally removes Patch from before dependencies - Patch to remove - - - Specifies the type of method - - - - This is a normal method - - - This is a getter - - - This is a setter - - - This is a constructor - - - This is a static constructor - - - This targets the MoveNext method of the enumerator result - - - Specifies the type of argument - - - - This is a normal argument - - - This is a reference argument (ref) - - - This is an out argument (out) - - - This is a pointer argument (&) - - - Specifies the type of patch - - - - Any patch - - - A prefix patch - - - A postfix patch - - - A transpiler - - - A finalizer - - - A reverse patch - - - Specifies the type of reverse patch - - - - Use the unmodified original method (directly from IL) - - - Use the original as it is right now including previous patches but excluding future ones - - - Specifies the type of method call dispatching mechanics - - - - Call the method using dynamic dispatching if method is virtual (including overriden) - - - This is the built-in form of late binding (a.k.a. dynamic binding) and is the default dispatching mechanic in C#. - This directly corresponds with the instruction. - - - For virtual (including overriden) methods, the instance type's most-derived/overriden implementation of the method is called. - For non-virtual (including static) methods, same behavior as : the exact specified method implementation is called. - - - Note: This is not a fully dynamic dispatch, since non-virtual (including static) methods are still called non-virtually. - A fully dynamic dispatch in C# involves using - the dynamic type - (actually a fully dynamic binding, since even the name and overload resolution happens at runtime), which does not support. - - - - - Call the method using static dispatching, regardless of whether method is virtual (including overriden) or non-virtual (including static) - - - a.k.a. non-virtual dispatching, early binding, or static binding. - This directly corresponds with the instruction. - - - For both virtual (including overriden) and non-virtual (including static) methods, the exact specified method implementation is called, without virtual/override mechanics. - - - - - The base class for all Harmony annotations (not meant to be used directly) - - - - The common information for all attributes - - - Annotation to define your Harmony patch methods - - - - An empty annotation can be used together with TargetMethod(s) - - - - An annotation that specifies a class to patch - The declaring class/type - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The argument types of the method or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - An array of argument types to target overloads - Array of - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - An array of argument types to target overloads - Array of - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - The - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - The - - - - An annotation that specifies a method, property or constructor to patch - The - - - - An annotation that specifies a method, property or constructor to patch - The - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - The full name of the declaring class/type - The name of the method, property or constructor to patch - The - - - - Annotation to define the original method for delegate injection - - - - An annotation that specifies a class to patch - The declaring class/type - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The argument types of the method or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - An array of argument types to target overloads - Array of - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - An array of argument types to target overloads - Array of - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - The - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - The - - - - An annotation that specifies call dispatching mechanics for the delegate - The - - - - An annotation that specifies a method, property or constructor to patch - The - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - An array of argument types to target overloads - An array of - - - - Annotation to define your standin methods for reverse patching - - - - An annotation that specifies the type of reverse patching - The of the reverse patch - - - - A Harmony annotation to define that all methods in a class are to be patched - - - - A Harmony annotation - - - - A Harmony annotation to define patch priority - The priority - - - - A Harmony annotation - - - - A Harmony annotation to define that a patch comes before another patch - The array of harmony IDs of the other patches - - - - A Harmony annotation - - - A Harmony annotation to define that a patch comes after another patch - The array of harmony IDs of the other patches - - - - A Harmony annotation - - - A Harmony annotation to debug a patch (output uses to log to your Desktop) - - - - Specifies the Prepare function in a patch class - - - - Specifies the Cleanup function in a patch class - - - - Specifies the TargetMethod function in a patch class - - - - Specifies the TargetMethods function in a patch class - - - - Specifies the Prefix function in a patch class - - - - Specifies the Postfix function in a patch class - - - - Specifies the Transpiler function in a patch class - - - - Specifies the Finalizer function in a patch class - - - - A Harmony annotation - - - - The name of the original argument - - - - The index of the original argument - - - - The new name of the original argument - - - - An annotation to declare injected arguments by name - - - - An annotation to declare injected arguments by index - Zero-based index - - - - An annotation to declare injected arguments by renaming them - Name of the original argument - New name - - - - An annotation to declare injected arguments by index and renaming them - Zero-based index - New name - - - - An abstract wrapper around OpCode and their operands. Used by transpilers - - - - The opcode - - - - The operand - - - - All labels defined on this instruction - - - - All exception block boundaries defined on this instruction - - - - Creates a new CodeInstruction with a given opcode and optional operand - The opcode - The operand - - - - Create a full copy (including labels and exception blocks) of a CodeInstruction - The to copy - - - - Clones a CodeInstruction and resets its labels and exception blocks - A lightweight copy of this code instruction - - - - Clones a CodeInstruction, resets labels and exception blocks and sets its opcode - The opcode - A copy of this CodeInstruction with a new opcode - - - - Clones a CodeInstruction, resets labels and exception blocks and sets its operand - The operand - A copy of this CodeInstruction with a new operand - - - - Creates a CodeInstruction calling a method (CALL) - The class/type where the method is declared - The name of the method (case sensitive) - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A code instruction that calls the method matching the arguments - - - - Creates a CodeInstruction calling a method (CALL) - The target method in the form TypeFullName:MethodName, where the type name matches a form recognized by Type.GetType like Some.Namespace.Type. - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A code instruction that calls the method matching the arguments - - - - Creates a CodeInstruction calling a method (CALL) - The lambda expression using the method - - - - - Creates a CodeInstruction calling a method (CALL) - The lambda expression using the method - - - - - Creates a CodeInstruction calling a method (CALL) - The lambda expression using the method - - - - - Creates a CodeInstruction calling a method (CALL) - The lambda expression using the method - - - - - Returns an instruction to call the specified closure - The delegate type to emit - The closure that defines the method to call - A that calls the closure as a method - - - - Creates a CodeInstruction loading a field (LD[S]FLD[A]) - The class/type where the field is defined - The name of the field (case sensitive) - Use address of field - - - - Creates a CodeInstruction storing to a field (ST[S]FLD) - The class/type where the field is defined - The name of the field (case sensitive) - - - - Returns a string representation of the code instruction - A string representation of the code instruction - - - - Exception block types - - - - The beginning of an exception block - - - - The beginning of a catch block - - - - The beginning of an except filter block (currently not supported to use in a patch) - - - - The beginning of a fault block - - - - The beginning of a finally block - - - - The end of an exception block - - - - An exception block - - - - Block type - - - - Catch type - - - - Creates an exception block - The - The catch type - - - - The Harmony instance is the main entry to Harmony. After creating one with an unique identifier, it is used to patch and query the current application domain - - - - The unique identifier - - - - Set to true before instantiating Harmony to debug Harmony or use an environment variable to set HARMONY_DEBUG to '1' like this: cmd /C "set HARMONY_DEBUG=1 && game.exe" - This is for full debugging. To debug only specific patches, use the attribute - - - - Creates a new Harmony instance - A unique identifier (you choose your own) - A Harmony instance - - - - Searches the current assembly for Harmony annotations and uses them to create patches - This method can fail to use the correct assembly when being inlined. It calls StackTrace.GetFrame(1) which can point to the wrong method/assembly. If you are unsure or run into problems, use PatchAll(Assembly.GetExecutingAssembly()) instead. - - - - Creates a empty patch processor for an original method - The original method/constructor - A new instance - - - - Creates a patch class processor from an annotated class - The class/type - A new instance - - - - Creates a reverse patcher for one of your stub methods - The original method/constructor - The stand-in stub method as - A new instance - - - - Searches an assembly for Harmony annotations and uses them to create patches - The assembly - - - - Creates patches by manually specifying the methods - The original method/constructor - An optional prefix method wrapped in a object - An optional postfix method wrapped in a object - An optional transpiler method wrapped in a object - An optional finalizer method wrapped in a object - The replacement method that was created to patch the original method - - - - Patches a foreign method onto a stub method of yours and optionally applies transpilers during the process - The original method/constructor you want to duplicate - Your stub method as that will become the original. Needs to have the correct signature (either original or whatever your transpilers generates) - An optional transpiler as method that will be applied during the process - The replacement method that was created to patch the stub method - - - - Unpatches methods by patching them with zero patches. Fully unpatching is not supported. Be careful, unpatching is global - The optional Harmony ID to restrict unpatching to a specific Harmony instance - This method could be static if it wasn't for the fact that unpatching creates a new replacement method that contains your harmony ID - - - - Unpatches a method by patching it with zero patches. Fully unpatching is not supported. Be careful, unpatching is global - The original method/constructor - The - The optional Harmony ID to restrict unpatching to a specific Harmony instance - - - - Unpatches a method by patching it with zero patches. Fully unpatching is not supported. Be careful, unpatching is global - The original method/constructor - The patch method as method to remove - - - - Test for patches from a specific Harmony ID - The Harmony ID - True if patches for this ID exist - - - - Gets patch information for a given original method - The original method/constructor - The patch information as - - - - Gets the methods this instance has patched - An enumeration of original methods/constructors - - - - Gets all patched original methods in the appdomain - An enumeration of patched original methods/constructors - - - - Gets the original method from a given replacement method - A replacement method, for example from a stacktrace - The original method/constructor or null if not found - - - - Tries to get the method from a stackframe including dynamic replacement methods - The - For normal frames, frame.GetMethod() is returned. For frames containing patched methods, the replacement method is returned or null if no method can be found - - - - Gets the original method from the stackframe and uses original if method is a dynamic replacement - The - The original method from that stackframe - - - Gets Harmony version for all active Harmony instances - [out] The current Harmony version - A dictionary containing assembly versions keyed by Harmony IDs - - - - Under Mono, HarmonyException wraps IL compile errors with detailed information about the failure - - - - Default serialization constructor (not implemented) - The info - The context - - - - Get a list of IL instructions in pairs of offset+code - A list of key/value pairs which represent an offset and the code at that offset - - - - Get a list of IL instructions without offsets - A list of - - - - Get the error offset of the errornous IL instruction - The offset - - - - Get the index of the errornous IL instruction - The index into the list of instructions or -1 if not found - - - - A wrapper around a method to use it as a patch (for example a Prefix) - - - - The original method - - - - Class/type declaring this patch - - - - Patch method name - - - - Optional patch - - - - Array of argument types of the patch method - - - - of the patch - - - - Install this patch before patches with these Harmony IDs - - - - Install this patch after patches with these Harmony IDs - - - - Reverse patch type, see - - - - Create debug output for this patch - - - - Whether to use (true) or (false) mechanics - for -attributed delegate - - - - Default constructor - - - - Creates a patch from a given method - The original method - - - - Creates a patch from a given method - The original method - The patch - A list of harmony IDs that should come after this patch - A list of harmony IDs that should come before this patch - Set to true to generate debug output - - - - Creates a patch from a given method - The patch class/type - The patch method name - The optional argument types of the patch method (for overloaded methods) - - - - Gets the names of all internal patch info fields - A list of field names - - - - Merges annotations - The list of to merge - The merged - - - - Returns a string that represents the annotation - A string representation - - - - Annotation extensions - - - - Copies annotation information - The source - The destination - - - - Clones an annotation - The to clone - A copied - - - - Merges annotations - The master - The detail - A new, merged - - - - Gets all annotations on a class/type - The class/type - A list of all - - - - Gets merged annotations on a class/type - The class/type - The merged - - - - Gets all annotations on a method - The method/constructor - A list of - - - - Gets merged annotations on a method - The method/constructor - The merged - - - - - A mutable representation of an inline signature, similar to Mono.Cecil's CallSite. - Used by the calli instruction, can be used by transpilers - - - - - See - - - - See - - - - See - - - - The list of all parameter types or function pointer signatures received by the call site - - - - The return type or function pointer signature returned by the call site - - - - Returns a string representation of the inline signature - A string representation of the inline signature - - - - - A mutable representation of a parameter type with an attached type modifier, - similar to Mono.Cecil's OptionalModifierType / RequiredModifierType and C#'s modopt / modreq - - - - - Whether this is a modopt (optional modifier type) or a modreq (required modifier type) - - - - The modifier type attached to the parameter type - - - - The modified parameter type - - - - Returns a string representation of the modifier type - A string representation of the modifier type - - - - Patch serialization - - - - Control the binding of a serialized object to a type - Specifies the assembly name of the serialized object - Specifies the type name of the serialized object - The type of the object the formatter creates a new instance of - - - - Serializes a patch info - The - The serialized data - - - - Deserialize a patch info - The serialized data - A - - - - Compare function to sort patch priorities - The patch - Zero-based index - The priority - A standard sort integer (-1, 0, 1) - - - - Serializable patch information - - - - Prefixes as an array of - - - - Postfixes as an array of - - - - Transpilers as an array of - - - - Finalizers as an array of - - - - Returns if any of the patches wants debugging turned on - - - - Adds prefixes - An owner (Harmony ID) - The patch methods - - - - Adds a prefix - - - Removes prefixes - The owner of the prefixes, or * for all - - - - Adds postfixes - An owner (Harmony ID) - The patch methods - - - - Adds a postfix - - - Removes postfixes - The owner of the postfixes, or * for all - - - - Adds transpilers - An owner (Harmony ID) - The patch methods - - - - Adds a transpiler - - - Removes transpilers - The owner of the transpilers, or * for all - - - - Adds finalizers - An owner (Harmony ID) - The patch methods - - - - Adds a finalizer - - - Removes finalizers - The owner of the finalizers, or * for all - - - - Removes a patch using its method - The method of the patch to remove - - - - Gets a concatenated list of patches - The Harmony instance ID adding the new patches - The patches to add - The current patches - - - - Gets a list of patches with any from the given owner removed - The owner of the methods, or * for all - The current patches - - - - A serializable patch - - - - Zero-based index - - - - The owner (Harmony ID) - - - - The priority, see - - - - Keep this patch before the patches indicated in the list of Harmony IDs - - - - Keep this patch after the patches indicated in the list of Harmony IDs - - - - A flag that will log the replacement method via every time this patch is used to build the replacement, even in the future - - - - The method of the static patch method - - - - Creates a patch - The method of the patch - Zero-based index - An owner (Harmony ID) - The priority, see - A list of Harmony IDs for patches that should run after this patch - A list of Harmony IDs for patches that should run before this patch - A flag that will log the replacement method via every time this patch is used to build the replacement, even in the future - - - - Creates a patch - The method of the patch - Zero-based index - An owner (Harmony ID) - - - Get the patch method or a DynamicMethod if original patch method is a patch factory - The original method/constructor - The method of the patch - - - - Determines whether patches are equal - The other patch - true if equal - - - - Determines how patches sort - The other patch - integer to define sort order (-1, 0, 1) - - - - Hash function - A hash code - - - - A PatchClassProcessor used to turn on a class/type into patches - - - - Creates a patch class processor by pointing out a class. Similar to PatchAll() but without searching through all classes. - The Harmony instance - The class to process (need to have at least a [HarmonyPatch] attribute) - - - - Applies the patches - A list of all created replacement methods or null if patch class is not annotated - - - - A group of patches - - - - A collection of prefix - - - - A collection of postfix - - - - A collection of transpiler - - - - A collection of finalizer - - - - Gets all owners (Harmony IDs) or all known patches - The patch owners - - - - Creates a group of patches - An array of prefixes as - An array of postfixes as - An array of transpileres as - An array of finalizeres as - - - - A PatchProcessor handles patches on a method/constructor - - - - Creates an empty patch processor - The Harmony instance - The original method/constructor - - - - Adds a prefix - The prefix as a - A for chaining calls - - - - Adds a prefix - The prefix method - A for chaining calls - - - - Adds a postfix - The postfix as a - A for chaining calls - - - - Adds a postfix - The postfix method - A for chaining calls - - - - Adds a transpiler - The transpiler as a - A for chaining calls - - - - Adds a transpiler - The transpiler method - A for chaining calls - - - - Adds a finalizer - The finalizer as a - A for chaining calls - - - - Adds a finalizer - The finalizer method - A for chaining calls - - - - Gets all patched original methods in the appdomain - An enumeration of patched method/constructor - - - - Applies all registered patches - The generated replacement method - - - - Unpatches patches of a given type and/or Harmony ID - The patch type - Harmony ID or * for any - A for chaining calls - - - - Unpatches a specific patch - The method of the patch - A for chaining calls - - - - Gets patch information on an original - The original method/constructor - The patch information as - - - - Sort patch methods by their priority rules - The original method - Patches to sort - The sorted patch methods - - - - Gets Harmony version for all active Harmony instances - [out] The current Harmony version - A dictionary containing assembly version keyed by Harmony ID - - - - Creates a new empty generator to use when reading method bodies - A new - - - - Creates a new generator matching the method/constructor to use when reading method bodies - The original method/constructor to copy method information from - A new - - - - Returns the methods unmodified list of code instructions - The original method/constructor - Optionally an existing generator that will be used to create all local variables and labels contained in the result (if not specified, an internal generator is used) - A list containing all the original - - - - Returns the methods unmodified list of code instructions - The original method/constructor - A new generator that now contains all local variables and labels contained in the result - A list containing all the original - - - - Returns the methods current list of code instructions after all existing transpilers have been applied - The original method/constructor - Apply only the first count of transpilers - Optionally an existing generator that will be used to create all local variables and labels contained in the result (if not specified, an internal generator is used) - A list of - - - - Returns the methods current list of code instructions after all existing transpilers have been applied - The original method/constructor - A new generator that now contains all local variables and labels contained in the result - Apply only the first count of transpilers - A list of - - - - A low level way to read the body of a method. Used for quick searching in methods - The original method - All instructions as opcode/operand pairs - - - - A low level way to read the body of a method. Used for quick searching in methods - The original method - An existing generator that will be used to create all local variables and labels contained in the result - All instructions as opcode/operand pairs - - - - A patch priority - - - - Patch last - - - - Patch with very low priority - - - - Patch with low priority - - - - Patch with lower than normal priority - - - - Patch with normal priority - - - - Patch with higher than normal priority - - - - Patch with high priority - - - - Patch with very high priority - - - - Patch first - - - - A reverse patcher - - - - Creates a reverse patcher - The Harmony instance - The original method/constructor - Your stand-in stub method as - - - - Applies the patch - The type of patch, see - The generated replacement method - - - - A collection of commonly used transpilers - - - - A transpiler that replaces all occurrences of a given method with another one using the same signature - The enumeration of to act on - Method or constructor to search for - Method or constructor to replace with - Modified enumeration of - - - - A transpiler that alters instructions that match a predicate by calling an action - The enumeration of to act on - A predicate selecting the instructions to change - An action to apply to matching instructions - Modified enumeration of - - - - A transpiler that logs a text at the beginning of the method - The instructions to act on - The log text - Modified enumeration of - - - - A helper class for reflection related functions - - - - Shortcut for to simplify the use of reflections and make it work for any access level - - - - Shortcut for to simplify the use of reflections and make it work for any access level but only within the current type - - - - Enumerates all assemblies in the current app domain, excluding visual studio assemblies - An enumeration of - - - Gets a type by name. Prefers a full name with namespace but falls back to the first type matching the name otherwise - The name - A type or null if not found - - - - Gets all successfully loaded types from a given assembly - The assembly - An array of types - - This calls and returns , while catching any thrown . - If such an exception is thrown, returns the successfully loaded types (, - filtered for non-null values). - - - - - Enumerates all successfully loaded types in the current app domain, excluding visual studio assemblies - An enumeration of all in all assemblies, excluding visual studio assemblies - - - Applies a function going up the type hierarchy and stops at the first non-null result - Result type of func() - The class/type to start with - The evaluation function returning T - The first non-null result, or null if no match - - The type hierarchy of a class or value type (including struct) does NOT include implemented interfaces, - and the type hierarchy of an interface is only itself (regardless of whether that interface implements other interfaces). - The top-most type in the type hierarchy of all non-interface types (including value types) is . - - - - - Applies a function going into inner types and stops at the first non-null result - Generic type parameter - The class/type to start with - The evaluation function returning T - The first non-null result, or null if no match - - - - Gets the reflection information for a directly declared field - The class/type where the field is defined - The name of the field - A field or null when type/name is null or when the field cannot be found - - - - Gets the reflection information for a directly declared field - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A field or null when the field cannot be found - - - - Gets the reflection information for a field by searching the type and all its super types - The class/type where the field is defined - The name of the field (case sensitive) - A field or null when type/name is null or when the field cannot be found - - - - Gets the reflection information for a field by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A field or null when the field cannot be found - - - - Gets the reflection information for a field - The class/type where the field is declared - The zero-based index of the field inside the class definition - A field or null when type is null or when the field cannot be found - - - - Gets the reflection information for a directly declared property - The class/type where the property is declared - The name of the property (case sensitive) - A property or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for a directly declared property - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A property or null when the property cannot be found - - - - Gets the reflection information for the getter method of a directly declared property - The class/type where the property is declared - The name of the property (case sensitive) - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the getter method of a directly declared property - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A method or null when the property cannot be found - - - - Gets the reflection information for the setter method of a directly declared property - The class/type where the property is declared - The name of the property (case sensitive) - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the Setter method of a directly declared property - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A method or null when the property cannot be found - - - - Gets the reflection information for a property by searching the type and all its super types - The class/type - The name - A property or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for a property by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A property or null when the property cannot be found - - - - Gets the reflection information for the getter method of a property by searching the type and all its super types - The class/type - The name - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the getter method of a property by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the setter method of a property by searching the type and all its super types - The class/type - The name - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the setter method of a property by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for a directly declared method - The class/type where the method is declared - The name of the method (case sensitive) - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A method or null when type/name is null or when the method cannot be found - - - - Gets the reflection information for a directly declared method - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A method or null when the method cannot be found - - - - Gets the reflection information for a method by searching the type and all its super types - The class/type where the method is declared - The name of the method (case sensitive) - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A method or null when type/name is null or when the method cannot be found - - - - Gets the reflection information for a method by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A method or null when the method cannot be found - - - - Gets the method of an enumerator method - Enumerator method that creates the enumerator - The internal method of the enumerator or null if no valid enumerator is detected - - - Gets the names of all method that are declared in a type - The declaring class/type - A list of method names - - - - Gets the names of all method that are declared in the type of the instance - An instance of the type to search in - A list of method names - - - - Gets the names of all fields that are declared in a type - The declaring class/type - A list of field names - - - - Gets the names of all fields that are declared in the type of the instance - An instance of the type to search in - A list of field names - - - - Gets the names of all properties that are declared in a type - The declaring class/type - A list of property names - - - - Gets the names of all properties that are declared in the type of the instance - An instance of the type to search in - A list of property names - - - - Gets the type of any class member of - A member - The class/type of this member - - - - Test if a class member is actually an concrete implementation - A member - True if the member is a declared - - - - Gets the real implementation of a class member - A member - The member itself if its declared. Otherwise the member that is actually implemented in some base type - - - - Gets the reflection information for a directly declared constructor - The class/type where the constructor is declared - Optional parameters to target a specific overload of the constructor - Optional parameters to only consider static constructors - A constructor info or null when type is null or when the constructor cannot be found - - - - Gets the reflection information for a constructor by searching the type and all its super types - The class/type where the constructor is declared - Optional parameters to target a specific overload of the method - Optional parameters to only consider static constructors - A constructor info or null when type is null or when the method cannot be found - - - - Gets reflection information for all declared constructors - The class/type where the constructors are declared - Optional parameters to only consider static constructors - A list of constructor infos - - - - Gets reflection information for all declared methods - The class/type where the methods are declared - A list of methods - - - - Gets reflection information for all declared properties - The class/type where the properties are declared - A list of properties - - - - Gets reflection information for all declared fields - The class/type where the fields are declared - A list of fields - - - - Gets the return type of a method or constructor - The method/constructor - The return type - - - - Given a type, returns the first inner type matching a recursive search by name - The class/type to start searching at - The name of the inner type (case sensitive) - The inner type or null if type/name is null or if a type with that name cannot be found - - - - Given a type, returns the first inner type matching a recursive search with a predicate - The class/type to start searching at - The predicate to search with - The inner type or null if type/predicate is null or if a type with that name cannot be found - - - - Given a type, returns the first method matching a predicate - The class/type to start searching at - The predicate to search with - The method or null if type/predicate is null or if a type with that name cannot be found - - - - Given a type, returns the first constructor matching a predicate - The class/type to start searching at - The predicate to search with - The constructor info or null if type/predicate is null or if a type with that name cannot be found - - - - Given a type, returns the first property matching a predicate - The class/type to start searching at - The predicate to search with - The property or null if type/predicate is null or if a type with that name cannot be found - - - - Returns an array containing the type of each object in the given array - An array of objects - An array of types or an empty array if parameters is null (if an object is null, the type for it will be object) - - - - Creates an array of input parameters for a given method and a given set of potential inputs - The method/constructor you are planing to call - The possible input parameters in any order - An object array matching the method signature - - - - A readable/assignable reference delegate to an instance field of a class or static field (NOT an instance field of a struct) - - An arbitrary type if the field is static; otherwise the class that defines the field, or a parent class (including ), - implemented interface, or derived class of this type - - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The runtime instance to access the field (ignored and can be omitted for static fields) - A readable/assignable reference to the field - Null instance passed to a non-static field ref delegate - - Instance of invalid type passed to a non-static field ref delegate - (this can happen if is a parent class or interface of the field's declaring type) - - - - This delegate cannot be used for instance fields of structs, since a struct instance passed to the delegate would be passed by - value and thus would be a copy that only exists within the delegate's invocation. This is fine for a readonly reference, - but makes assignment futile. Use instead. - - - Note that is not required to be the field's declaring type. It can be a parent class (including ), - implemented interface, or a derived class of the field's declaring type ("instanceOfT is FieldDeclaringType" must be possible). - Specifically, must be assignable from OR to the field's declaring type. - Technically, this allows Nullable, although Nullable is only relevant for structs, and since only static fields of structs - are allowed for this delegate, and the instance passed to such a delegate is ignored, this hardly matters. - - - Similarly, is not required to be the field's field type, unless that type is a non-enum value type. - It can be a parent class (including object) or implemented interface of the field's field type. It cannot be a derived class. - This variance is not allowed for value types, since that would require boxing/unboxing, which is not allowed for ref values. - Special case for enum types: can also be the underlying integral type of the enum type. - Specifically, for reference types, must be assignable from - the field's field type; for non-enum value types, must be exactly the field's field type; for enum types, - must be either the field's field type or the underyling integral type of that field type. - - - This delegate supports static fields, even those defined in structs, for legacy reasons. - For such static fields, is effectively ignored. - Consider using (and StaticFieldRefAccess methods that return it) instead for static fields. - - - - - - Creates a field reference delegate for an instance field of a class - The class that defines the instance field, or derived class of this type - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The name of the field - A readable/assignable delegate - - - For backwards compatibility, there is no class constraint on . - Instead, the non-value-type check is done at runtime within the method. - - - - - - Creates an instance field reference for a specific instance of a class - The class that defines the instance field, or derived class of this type - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The instance - The name of the field - A readable/assignable reference to the field - - - This method is meant for one-off access to a field's value for a single instance. - If you need to access a field's value for potentially multiple instances, use instead. - FieldRefAccess<T, F>(instance, fieldName) is functionally equivalent to FieldRefAccess<T, F>(fieldName)(instance). - - - For backwards compatibility, there is no class constraint on . - Instead, the non-value-type check is done at runtime within the method. - - - - - - Creates a field reference delegate for an instance field of a class or static field (NOT an instance field of a struct) - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - - The type that defines the field, or derived class of this type; must not be a struct type unless the field is static - - The name of the field - - A readable/assignable delegate with T=object - (for static fields, the instance delegate parameter is ignored) - - - - This method is meant for cases where the given type is only known at runtime and thus can't be used as a type parameter T - in e.g. . - - - This method supports static fields, even those defined in structs, for legacy reasons. - Consider using (and other overloads) instead for static fields. - - - - - - Creates a field reference delegate for an instance field of a class or static field (NOT an instance field of a struct) - type of the field - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A readable/assignable delegate with T=object - - - Creates a field reference delegate for an instance field of a class or static field (NOT an instance field of a struct) - - An arbitrary type if the field is static; otherwise the class that defines the field, or a parent class (including ), - implemented interface, or derived class of this type ("instanceOfT is FieldDeclaringType" must be possible) - - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The field - A readable/assignable delegate - - - This method is meant for cases where the field has already been obtained, avoiding the field searching cost in - e.g. . - - - This method supports static fields, even those defined in structs, for legacy reasons. - For such static fields, is effectively ignored. - Consider using (and other overloads) instead for static fields. - - - For backwards compatibility, there is no class constraint on . - Instead, the non-value-type check is done at runtime within the method. - - - - - - Creates a field reference for an instance field of a class - - The type that defines the field; or a parent class (including ), implemented interface, or derived class of this type - ("instanceOfT is FieldDeclaringType" must be possible) - - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The instance - The field - A readable/assignable reference to the field - - - This method is meant for one-off access to a field's value for a single instance and where the field has already been obtained. - If you need to access a field's value for potentially multiple instances, use instead. - FieldRefAccess<T, F>(instance, fieldInfo) is functionally equivalent to FieldRefAccess<T, F>(fieldInfo)(instance). - - - For backwards compatibility, there is no class constraint on . - Instead, the non-value-type check is done at runtime within the method. - - - - - - A readable/assignable reference delegate to an instance field of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - A reference to the runtime instance to access the field - A readable/assignable reference to the field - - - - Creates a field reference delegate for an instance field of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The name of the field - A readable/assignable delegate - - - - Creates an instance field reference for a specific instance of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The instance - The name of the field - A readable/assignable reference to the field - - - This method is meant for one-off access to a field's value for a single instance. - If you need to access a field's value for potentially multiple instances, use instead. - StructFieldRefAccess<T, F>(ref instance, fieldName) is functionally equivalent to StructFieldRefAccess<T, F>(fieldName)(ref instance). - - - - - - Creates a field reference delegate for an instance field of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The field - A readable/assignable delegate - - - This method is meant for cases where the field has already been obtained, avoiding the field searching cost in - e.g. . - - - - - - Creates a field reference for an instance field of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The instance - The field - A readable/assignable reference to the field - - - This method is meant for one-off access to a field's value for a single instance and where the field has already been obtained. - If you need to access a field's value for potentially multiple instances, use instead. - StructFieldRefAccess<T, F>(ref instance, fieldInfo) is functionally equivalent to StructFieldRefAccess<T, F>(fieldInfo)(ref instance). - - - - - - A readable/assignable reference delegate to a static field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - A readable/assignable reference to the field - - - - Creates a static field reference - The type (can be class or struct) the field is defined in - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The name of the field - A readable/assignable reference to the field - - - - Creates a static field reference - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The type (can be class or struct) the field is defined in - The name of the field - A readable/assignable reference to the field - - - - Creates a static field reference - The type of the field - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A readable/assignable reference to the field - - - - Creates a static field reference - An arbitrary type (by convention, the type the field is defined in) - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The field - A readable/assignable reference to the field - - The type parameter is only used in exception messaging and to distinguish between this method overload - and the overload (which returns a rather than a reference). - - - - - Creates a static field reference delegate - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The field - A readable/assignable delegate - - - - Creates a delegate to a given method - The delegate Type - The method to create a delegate from. - - Only applies for instance methods. If null (default), returned delegate is an open (a.k.a. unbound) instance delegate - where an instance is supplied as the first argument to the delegate invocation; else, delegate is a closed (a.k.a. bound) - instance delegate where the delegate invocation always applies to the given . - - - Only applies for instance methods. If true (default) and is virtual, invocation of the delegate - calls the instance method virtually (the instance type's most-derived/overriden implementation of the method is called); - else, invocation of the delegate calls the exact specified (this is useful for calling base class methods) - Note: if false and is an interface method, an ArgumentException is thrown. - - A delegate of given to given - - - Delegate invocation is more performant and more convenient to use than - at a one-time setup cost. - - - Works for both type of static and instance methods, both open and closed (a.k.a. unbound and bound) instance methods, - and both class and struct methods. - - - - - - Creates a delegate to a given method - The delegate Type - The method in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - - Only applies for instance methods. If null (default), returned delegate is an open (a.k.a. unbound) instance delegate - where an instance is supplied as the first argument to the delegate invocation; else, delegate is a closed (a.k.a. bound) - instance delegate where the delegate invocation always applies to the given . - - - Only applies for instance methods. If true (default) and is virtual, invocation of the delegate - calls the instance method virtually (the instance type's most-derived/overriden implementation of the method is called); - else, invocation of the delegate calls the exact specified (this is useful for calling base class methods) - Note: if false and is an interface method, an ArgumentException is thrown. - - A delegate of given to given - - - Delegate invocation is more performant and more convenient to use than - at a one-time setup cost. - - - Works for both type of static and instance methods, both open and closed (a.k.a. unbound and bound) instance methods, - and both class and struct methods. - - - - - - Creates a delegate for a given delegate definition, attributed with [] - The delegate Type, attributed with [] - - Only applies for instance methods. If null (default), returned delegate is an open (a.k.a. unbound) instance delegate - where an instance is supplied as the first argument to the delegate invocation; else, delegate is a closed (a.k.a. bound) - instance delegate where the delegate invocation always applies to the given . - - A delegate of given to the method specified via [] - attributes on - - This calls with the method and virtualCall arguments - determined from the [] attributes on , - and the given (for closed instance delegates). - - - - - Returns who called the current method - The calling method/constructor (excluding the caller) - - - - Rethrows an exception while preserving its stack trace (throw statement typically clobbers existing stack traces) - The exception to rethrow - - - - True if the current runtime is based on Mono, false otherwise (.NET) - - - - True if the current runtime is .NET Framework, false otherwise (.NET Core or Mono, although latter isn't guaranteed) - - - - True if the current runtime is .NET Core, false otherwise (Mono or .NET Framework) - - - - Throws a missing member runtime exception - The type that is involved - A list of names - - - - Gets default value for a specific type - The class/type - The default value - - - - Creates an (possibly uninitialized) instance of a given type - The class/type - The new instance - - - - Creates an (possibly uninitialized) instance of a given type - The class/type - The new instance - - - - - A cache for the or similar Add methods for different types. - - - - Makes a deep copy of any object - The type of the instance that should be created; for legacy reasons, this must be a class or interface - The original object - A copy of the original object but of type T - - - - Makes a deep copy of any object - The type of the instance that should be created - The original object - [out] The copy of the original object - Optional value transformation function (taking a field name and src/dst instances) - The optional path root to start with - - - - Makes a deep copy of any object - The original object - The type of the instance that should be created - Optional value transformation function (taking a field name and src/dst instances) - The optional path root to start with - The copy of the original object - - - - Tests if a type is a struct - The type - True if the type is a struct - - - - Tests if a type is a class - The type - True if the type is a class - - - - Tests if a type is a value type - The type - True if the type is a value type - - - - Tests if a type is an integer type - The type - True if the type represents some integer - - - - Tests if a type is a floating point type - The type - True if the type represents some floating point - - - - Tests if a type is a numerical type - The type - True if the type represents some number - - - - Tests if a type is void - The type - True if the type is void - - - - Test whether an instance is of a nullable type - Type of instance - An instance to test - True if instance is of nullable type, false if not - - - - Tests whether a type or member is static, as defined in C# - The type or member - True if the type or member is static - - - - Tests whether a type is static, as defined in C# - The type - True if the type is static - - - - Tests whether a property is static, as defined in C# - The property - True if the property is static - - - - Tests whether an event is static, as defined in C# - The event - True if the event is static - - - - Calculates a combined hash code for an enumeration of objects - The objects - The hash code - - - - A CodeInstruction match - - - The name of the match - - - The matched opcodes - - - The matched operands - - - The jumps from the match - - - The jumps to the match - - - The match predicate - - - Creates a code match - The optional opcode - The optional operand - The optional name - - - - Creates a code match that calls a method - The lambda expression using the method - The optional name - - - - Creates a code match that calls a method - The lambda expression using the method - The optional name - - - - Creates a code match - The CodeInstruction - An optional name - - - - Creates a code match - The predicate - An optional name - - - - Returns a string that represents the match - A string representation - - - - A CodeInstruction matcher - - - The current position - The index or -1 if out of bounds - - - - Gets the number of code instructions in this matcher - The count - - - - Checks whether the position of this CodeMatcher is within bounds - True if this CodeMatcher is valid - - - - Checks whether the position of this CodeMatcher is outside its bounds - True if this CodeMatcher is invalid - - - - Gets the remaining code instructions - The remaining count - - - - Gets the opcode at the current position - The opcode - - - - Gets the operand at the current position - The operand - - - - Gets the labels at the current position - The labels - - - - Gets the exception blocks at the current position - The blocks - - - - Creates an empty code matcher - - - Creates a code matcher from an enumeration of instructions - The instructions (transpiler argument) - An optional IL generator - - - - Makes a clone of this instruction matcher - A copy of this matcher - - - - Gets instructions at the current position - The instruction - - - - Gets instructions at the current position with offset - The offset - The instruction - - - - Gets all instructions - A list of instructions - - - - Gets all instructions as an enumeration - A list of instructions - - - - Gets some instructions counting from current position - Number of instructions - A list of instructions - - - - Gets all instructions within a range - The start index - The end index - A list of instructions - - - - Gets all instructions within a range (relative to current position) - The start offset - The end offset - A list of instructions - - - - Gets a list of all distinct labels - The instructions (transpiler argument) - A list of Labels - - - - Reports a failure - The method involved - The logger - True if current position is invalid and error was logged - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed) - Explanation of where/why the exception was thrown that will be added to the exception message - The same code matcher - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed), - or if the matches do not match at current position - Explanation of where/why the exception was thrown that will be added to the exception message - Some code matches - The same code matcher - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed), - or if the matches do not match at any point between current position and the end - Explanation of where/why the exception was thrown that will be added to the exception message - Some code matches - The same code matcher - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed), - or if the matches do not match at any point between current position and the start - Explanation of where/why the exception was thrown that will be added to the exception message - Some code matches - The same code matcher - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed), - or if the check function returns false - Explanation of where/why the exception was thrown that will be added to the exception message - Function that checks validity of current state. If it returns false, an exception is thrown - The same code matcher - - - - Sets an instruction at current position - The instruction to set - The same code matcher - - - - Sets instruction at current position and advances - The instruction - The same code matcher - - - - Sets opcode and operand at current position - The opcode - The operand - The same code matcher - - - - Sets opcode and operand at current position and advances - The opcode - The operand - The same code matcher - - - - Sets opcode at current position and advances - The opcode - The same code matcher - - - - Sets operand at current position and advances - The operand - The same code matcher - - - - Creates a label at current position - [out] The label - The same code matcher - - - - Creates a label at a position - The position - [out] The new label - The same code matcher - - - - Creates a label at a position - The offset - [out] The new label - The same code matcher - - - - Adds an enumeration of labels to current position - The labels - The same code matcher - - - - Adds an enumeration of labels at a position - The position - The labels - The same code matcher - - - - Sets jump to - Branch instruction - Destination for the jump - [out] The created label - The same code matcher - - - - Inserts some instructions - The instructions - The same code matcher - - - - Inserts an enumeration of instructions - The instructions - The same code matcher - - - - Inserts a branch - The branch opcode - Branch destination - The same code matcher - - - - Inserts some instructions and advances the position - The instructions - The same code matcher - - - - Inserts an enumeration of instructions and advances the position - The instructions - The same code matcher - - - - Inserts a branch and advances the position - The branch opcode - Branch destination - The same code matcher - - - - Removes current instruction - The same code matcher - - - - Removes some instruction from current position by count - Number of instructions - The same code matcher - - - - Removes the instructions in a range - The start - The end - The same code matcher - - - - Removes the instructions in a offset range - The start offset - The end offset - The same code matcher - - - - Advances the current position - The offset - The same code matcher - - - - Moves the current position to the start - The same code matcher - - - - Moves the current position to the end - The same code matcher - - - - Searches forward with a predicate and advances position - The predicate - The same code matcher - - - - Searches backwards with a predicate and reverses position - The predicate - The same code matcher - - - - Matches forward and advances position to beginning of matching sequence - Some code matches - The same code matcher - - - - Matches forward and advances position to ending of matching sequence - Some code matches - The same code matcher - - - - Matches backwards and reverses position to beginning of matching sequence - Some code matches - The same code matcher - - - - Matches backwards and reverses position to ending of matching sequence - Some code matches - The same code matcher - - - - Repeats a match action until boundaries are met - The match action - An optional action that is executed when no match is found - The same code matcher - - - - Gets a match by its name - The match name - An instruction - - - - General extensions for common cases - - - - Joins an enumeration with a value converter and a delimiter to a string - The inner type of the enumeration - The enumeration - An optional value converter (from T to string) - An optional delimiter - The values joined into a string - - - - Converts an array of types (for example methods arguments) into a human readable form - The array of types - A human readable description including brackets - - - - A full description of a type - The type - A human readable description - - - - A a full description of a method or a constructor without assembly details but with generics - The method/constructor - A human readable description - - - - A helper converting parameter infos to types - The array of parameter infos - An array of types - - - - A helper to access a value via key from a dictionary - The key type - The value type - The dictionary - The key - The value for the key or the default value (of T) if that key does not exist - - - - A helper to access a value via key from a dictionary with extra casting - The value type - The dictionary - The key - The value for the key or the default value (of T) if that key does not exist or cannot be cast to T - - - - Escapes Unicode and ASCII non printable characters - The string to convert - The string to convert - A string literal surrounded by - - - - Extensions for - - - - Returns if an is initialized and valid - The - - - - Shortcut for testing whether the operand is equal to a non-null value - The - The value - True if the operand has the same type and is equal to the value - - - - Shortcut for testing whether the operand is equal to a non-null value - The - The value - True if the operand is equal to the value - This is an optimized version of for - - - - Shortcut for code.opcode == opcode && code.OperandIs(operand) - The - The - The operand value - True if the opcode is equal to the given opcode and the operand has the same type and is equal to the given operand - - - - Shortcut for code.opcode == opcode && code.OperandIs(operand) - The - The - The operand value - True if the opcode is equal to the given opcode and the operand is equal to the given operand - This is an optimized version of for - - - - Tests for any form of Ldarg* - The - The (optional) index - True if it matches one of the variations - - - - Tests for Ldarga/Ldarga_S - The - The (optional) index - True if it matches one of the variations - - - - Tests for Starg/Starg_S - The - The (optional) index - True if it matches one of the variations - - - - Tests for any form of Ldloc* - The - The optional local variable - True if it matches one of the variations - - - - Tests for any form of Stloc* - The - The optional local variable - True if it matches one of the variations - - - - Tests if the code instruction branches - The - The label if the instruction is a branch operation or if not - True if the instruction branches - - - - Tests if the code instruction calls the method/constructor - The - The method - True if the instruction calls the method or constructor - - - - Tests if the code instruction loads a constant - The - True if the instruction loads a constant - - - - Tests if the code instruction loads an integer constant - The - The integer constant - True if the instruction loads the constant - - - - Tests if the code instruction loads a floating point constant - The - The floating point constant - True if the instruction loads the constant - - - - Tests if the code instruction loads an enum constant - The - The enum - True if the instruction loads the constant - - - - Tests if the code instruction loads a string constant - The - The string - True if the instruction loads the constant - - - - Tests if the code instruction loads a field - The - The field - Set to true if the address of the field is loaded - True if the instruction loads the field - - - - Tests if the code instruction stores a field - The - The field - True if the instruction stores this field - - - - Adds labels to the code instruction and return it - The - One or several to add - The same code instruction - - - Adds labels to the code instruction and return it - The - An enumeration of - The same code instruction - - - Extracts all labels from the code instruction and returns them - The - A list of - - - Moves all labels from the code instruction to another one - The to move the labels from - The other to move the labels to - The code instruction labels were moved from (now empty) - - - Moves all labels from another code instruction to the current one - The to move the labels to - The other to move the labels from - The code instruction that received the labels - - - Adds ExceptionBlocks to the code instruction and return it - The - One or several to add - The same code instruction - - - Adds ExceptionBlocks to the code instruction and return it - The - An enumeration of - The same code instruction - - - Extracts all ExceptionBlocks from the code instruction and returns them - The - A list of - - - Moves all ExceptionBlocks from the code instruction to another one - The to move the ExceptionBlocks from - The other to move the ExceptionBlocks to - The code instruction blocks were moved from (now empty) - - - Moves all ExceptionBlocks from another code instruction to the current one - The to move the ExceptionBlocks to - The other to move the ExceptionBlocks from - The code instruction that received the blocks - - - General extensions for collections - - - - A simple way to execute code for every element in a collection - The inner type of the collection - The collection - The action to execute - - - - A simple way to execute code for elements in a collection matching a condition - The inner type of the collection - The collection - The predicate - The action to execute - - - - A helper to add an item to a collection - The inner type of the collection - The collection - The item to add - The collection containing the item - - - - A helper to add an item to an array - The inner type of the collection - The array - The item to add - The array containing the item - - - - A helper to add items to an array - The inner type of the collection - The array - The items to add - The array containing the items - - - - General extensions for collections - - - - Tests a class member if it has an IL method body (external methods for example don't have a body) - The member to test - Returns true if the member has an IL body or false if not - - - A file log for debugging - - - - Set this to make Harmony write its log content to this stream - - - - Full pathname of the log file, defaults to a file called harmony.log.txt on your Desktop - - - - The indent character. The default is tab - - - - The current indent level - - - - Changes the indentation level - The value to add to the indentation level - - - - Log a string in a buffered way. Use this method only if you are sure that FlushBuffer will be called - or else logging information is incomplete in case of a crash - The string to log - - - - Logs a list of string in a buffered way. Use this method only if you are sure that FlushBuffer will be called - or else logging information is incomplete in case of a crash - A list of strings to log (they will not be re-indented) - - - - Returns the log buffer and optionally empties it - True to empty the buffer - The buffer. - - - - Replaces the buffer with new lines - The lines to store - - - - Flushes the log buffer to disk (use in combination with LogBuffered) - - - - Log a string directly to disk. Slower method that prevents missing information in case of a crash - The string to log. - - - - Log a string directly to disk if Harmony.DEBUG is true. Slower method that prevents missing information in case of a crash - The string to log. - - - - Resets and deletes the log - - - - Logs some bytes as hex values - The pointer to some memory - The length of bytes to log - - - - A helper class to retrieve reflection info for non-private methods - - - - Given a lambda expression that calls a method, returns the method info - The lambda expression using the method - The method in the lambda expression - - - - Given a lambda expression that calls a method, returns the method info - The generic type - The lambda expression using the method - The method in the lambda expression - - - - Given a lambda expression that calls a method, returns the method info - The generic type - The generic result type - The lambda expression using the method - The method in the lambda expression - - - - Given a lambda expression that calls a method, returns the method info - The lambda expression using the method - The method in the lambda expression - - - - A reflection helper to read and write private elements - The result type defined by GetValue() - - - - Creates a traverse instance from an existing instance - The existing instance - - - - Gets/Sets the current value - The value to read or write - - - - A reflection helper to read and write private elements - - - - Creates a new traverse instance from a class/type - The class/type - A instance - - - - Creates a new traverse instance from a class T - The class - A instance - - - - Creates a new traverse instance from an instance - The object - A instance - - - - Creates a new traverse instance from a named type - The type name, for format see - A instance - - - - Creates a new and empty traverse instance - - - - Creates a new traverse instance from a class/type - The class/type - - - - Creates a new traverse instance from an instance - The object - - - - Gets the current value - The value - - - - Gets the current value - The type of the value - The value - - - - Invokes the current method with arguments and returns the result - The method arguments - The value returned by the method - - - - Invokes the current method with arguments and returns the result - The type of the value - The method arguments - The value returned by the method - - - - Sets a value of the current field or property - The value - The same traverse instance - - - - Gets the type of the current field or property - The type - - - - Moves the current traverse instance to a inner type - The type name - A traverse instance - - - - Moves the current traverse instance to a field - The type name - A traverse instance - - - - Moves the current traverse instance to a field - The type of the field - The type name - A traverse instance - - - - Gets all fields of the current type - A list of field names - - - - Moves the current traverse instance to a property - The type name - Optional property index - A traverse instance - - - - Moves the current traverse instance to a field - The type of the property - The type name - Optional property index - A traverse instance - - - - Gets all properties of the current type - A list of property names - - - - Moves the current traverse instance to a method - The name of the method - The arguments defining the argument types of the method overload - A traverse instance - - - - Moves the current traverse instance to a method - The name of the method - The argument types of the method - The arguments for the method - A traverse instance - - - - Gets all methods of the current type - A list of method names - - - - Checks if the current traverse instance is for a field - True if its a field - - - - Checks if the current traverse instance is for a property - True if its a property - - - - Checks if the current traverse instance is for a method - True if its a method - - - - Checks if the current traverse instance is for a type - True if its a type - - - - Iterates over all fields of the current type and executes a traverse action - Original object - The action receiving a instance for each field - - - - Iterates over all fields of the current type and executes a traverse action - Original object - Target object - The action receiving a pair of instances for each field pair - - - - Iterates over all fields of the current type and executes a traverse action - Original object - Target object - The action receiving a dot path representing the field pair and the instances - - - - Iterates over all properties of the current type and executes a traverse action - Original object - The action receiving a instance for each property - - - - Iterates over all properties of the current type and executes a traverse action - Original object - Target object - The action receiving a pair of instances for each property pair - - - - Iterates over all properties of the current type and executes a traverse action - Original object - Target object - The action receiving a dot path representing the property pair and the instances - - - - A default field action that copies fields to fields - - - - Returns a string that represents the current traverse - A string representation - - - - diff --git a/CRIALactation/1.4/Assemblies/0MultiplayerAPI.dll b/CRIALactation/1.4/Assemblies/0MultiplayerAPI.dll deleted file mode 100644 index 38b8a0e..0000000 Binary files a/CRIALactation/1.4/Assemblies/0MultiplayerAPI.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/Assembly-CSharp-firstpass.dll b/CRIALactation/1.4/Assemblies/Assembly-CSharp-firstpass.dll deleted file mode 100644 index 3110d7d..0000000 Binary files a/CRIALactation/1.4/Assemblies/Assembly-CSharp-firstpass.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/Assembly-CSharp.dll b/CRIALactation/1.4/Assemblies/Assembly-CSharp.dll deleted file mode 100644 index 9eaf3d3..0000000 Binary files a/CRIALactation/1.4/Assemblies/Assembly-CSharp.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/HugsLib.dll b/CRIALactation/1.4/Assemblies/HugsLib.dll deleted file mode 100644 index cbd145f..0000000 Binary files a/CRIALactation/1.4/Assemblies/HugsLib.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/HugsLib.xml b/CRIALactation/1.4/Assemblies/HugsLib.xml deleted file mode 100644 index d156b74..0000000 --- a/CRIALactation/1.4/Assemblies/HugsLib.xml +++ /dev/null @@ -1,1467 +0,0 @@ - - - - HugsLib - - - - - Informs the player about a mod that requires a later version of HugsLib than the one running. - Also has button to open the download link in the Steam or system browser. - - - - - Entry point for the library. - Instantiated by the game at the start of DoPlayLoad(). - - - - - Loads and stores textures from the HugsLib /Textures folder - - - - - Handles the key presses for key bindings added by HugsLib - - - - - Checks the current version of the library against the About.xml -> requiredLibraryVersion of all mods. - Shows a popup window () if one of the loaded mods requires a - more recent version of the library. - - - - - Ensures that the library comes after Core in the load order and displays a warning dialog otherwise. - - - - - Provides support for reading version information from Manifest.xml files. - These files are used in mods by Fluffy and a a few other authors. - - - - - Attempts to read and parse the manifest file for a mod. - - - Returns null if reading or parsing fails for any reason. - - - - - Reads and parses the manifest file for a mod. - - - Returns null if the file does not exist. - - - - - Checks for Dev mode and bypasses the Restart message box. - Holding Shift will prevent the automatic restart. - - - - - Provides an entry point for late controller setup during static constructor initialization. - - - - - Forwards ticks to the controller. Will not be saved and is never spawned. - - - - - Holds references to key binding defs used by the library. - - - - - A base for managers that save data in xml format, to be stored in the save data folder - - - - - This is added as a component to the GameObject on scene to forward events to the controller. - - - - - Represents the information stored in the About/Version.xml file. - Since we cannot update the version of the library assembly, we have to store the version externally. - - - - - A shorter, invariable alternative to System.Version in the format of major.minor.patch - Also known as a semantic version number. - System.Version can be implicitly cast to this type. - VersionShort is no longer used by HugsLib internally, and the type is retained for backwards compatibility. - - - - - The extended update news dialog, with filtering by mod and a menu button in entry headers for dev mode actions. - - - - - Handles the custom loading mechanics of s. - - - - - Filters s by their mod identifier. - - - - - Provides the options for the dev tools dropdown menu in the extended update news dialog. - - - - - Displays a list to update feature defs with basic image and formatting support. See for proper syntax. - - - - - Stores the highest displayed update news version for all mods that provide update news via . - Defs are loaded from the News folder in the root mod directory. - - - - - Shows the news dialog window when there are not yet displayed news items available. - - Pass true to disable filtering based on what has - and has not been seen and open the dialog with all available news items. - true, if there have been found news items that were not displayed before, and the dialog has been opened - - - - Rewire the main menu "Dev quicktest" button to trigger the HugsLib quickstarter. - - - - - Hooks into the flow of the vanilla MonoBehavior.OnGUI() - This allows to take advantage of automatic UI scaling and prevents GUI updates during a loading screen. - - - - - Adds an entry point to draw and additional debug button on the toolbar. - The infix is necessary to catch the WidgetRow that the stock buttons are drawn to. - - - - - Extends the width of the immediate window the dev toolbar buttons are drawn to to accommodate an additional button - - - - - Adds a hook for the early initialization of a Game. - - - - - Forces a game restart after a language change. - This is necessary to avoid creating problems for running mods caused by reloaded graphics and defs. - - - - - Adds a hook for discarding maps. - - - - - Adds extra buttons to the Log window. - - - - - Adds a hook to produce the WorldLoaded callback for ModBase mods. - - - - - Adds a hook to produce the MapGenerated callback for ModBase mods. - - - - - Adds a hook to produce the MapComponentsInitializing callback for ModBase mods. - - - - - Adds a hook to produce the MapLoaded callback for ModBase mods. - - - - - Restarts the game automatically, bypassing the message dialog, if changes in the mod configuration have been made and dev mode is on. - Holding Shift will prevent the restart, while allowing the config changes to still be saved. - - - - - Adds a hook to produce the DefsLoaded callback for ModBase mods. - - - - - Hooks into the flow of the vanilla MonoBehavior.Update() - - - - - Hooks into the flow of the vanilla MonoBehavior.OnGUI(). - Unlike the patch, this hook also - allows to receive OnGUI events during loading screens. - - - - - Displays at game startup when the quickstarter is scheduled to run. - Shows the pending operation and allows to abort or disable the quickstart. - - - - - Allows to change settings related to the custom quickstart functionality. - Strings are not translated, since this is a tool exclusively for modders. - - - - - Manages the custom quickstart functionality. - Will trigger map loading and generation when the appropriate settings are present, and draws an additional dev toolbar button. - - - - - Wraps settings related to the Quickstart system for storage in a SettingHandle. - - - - - Caches the result of a string translation for performance. - Also caches the calculated size of the label that would accomodate the translated string. - - - - - Contains data used for the creation of a . - - - - - A name for the entry to show to the player. - - - - - The delegate that will be called when the menu entry is clicked. - - - - - Set to true to make a greyed-out, non-selectable menu entry. - - - - - - - - - Helper methods for drawing elements and controls that appear in the window. - - - - - Draws a hovering menu of 2 buttons: info and menu. - - - Text for the info button tooltip. Null to disable. - When false, the menu button is semi-transparent and non-interactable - When true, uses menu-with-plus-badge icon for the button - true if the menu button was clicked - - - - Draws the menu button for the hovering menu. - - - When false, the button is semi-transparent and non-interactable - When true, uses menu-with-plus-badge icon for the button - true if the menu button was clicked - - - - Used to preserve the state of the Mod Settings window between multiple openings. - State is not persisted between game restarts. - - - - - Utility methods for SettingHandleConvertible data objects. - These are useful for packing and unpacking your custom fields into a string without bothering with manual serialization. - - - - - Deserializes an XML string into an existing object instance. - - The serialized values to fill the object with - The object to receive the deserialized values - - - - Serializes an object into a compact XML string. - Whitespace and namespace declarations are omitted. - Make sure the object is annotated with SerializableAttribute and the fields to serialize with XmlElementAttribute. - - The object to serialize - - - - An options window for settings exposed by mods using the library - - - - - Base type for all custom SettingHandle types. - Allows complex data structures to be stored in setting values by converting them to and from their string representation. - See for an easy way to serialize complex types to XML. - - - - - Return false to prevent this object from serializing and being written to file. - - - - - Called when settings handles of this type load an existing value. - Should deserialize and restore the state of the object using the provided string. - - - - - Called when handles of this type are being saved, and only if return true. - Should serialize the state of the object into a string so it can be restored later. - - - - - A set of useful value constraints for use with SettingHandle - - - - - A group of settings values added by a mod. Each mod has their own ModSettingsPack. - Loaded values are stored until they are "claimed" by their mod by requesting a handle for a setting with the same name. - - - - - Identifier of the mod that owns this pack - - - - - The name of the owning mod that will display is the Mod Settings dialog - - - - - Additional context menu options for this entry in the mod settings dialog. - Will be shown when the hovering menu button for this entry is clicked. - - - - - Returns true if any handles retrieved from this pack have had their values changed. - Resets to false after the changes are saved. - - - - - Enumerates the handles that have been registered with this pack up to this point. - - - - - Retrieves an existing SettingHandle from the pack, or creates a new one. - Loaded settings will only display in the Mod Settings dialog after they have been claimed using this method. - - The type of setting value you are creating. - Unique identifier for the setting. Must be unique for this specific pack only. - A display name for the setting that will show up next to it in the Mod Settings dialog. Recommended to keep this short. - A description for the setting that will appear in a tooltip when the player hovers over the setting in the Mod Settings dialog. - The value the setting will assume when newly created and when the player resets the setting to its default. - An optional delegate that will be called when a new value is about to be assigned to the handle. Receives a string argument and must return a bool to indicate if the passed value is valid for the setting. - Used only for Enum settings. Enum values are displayed in a readable format by the following method: Translate(prefix+EnumValueName) - - - - Returns a handle that was already created. - Will return null if the handle does not exist yet. - - Throws an exception if the referenced handle does not match the provided type - The name of the handle to retrieve - - - - Attempts to retrieve a setting value by name. - If a handle for that value has already been created, returns that handle's StringValue. - Otherwise will return the unclaimed value that was loaded from the XML file. - Will return null if the value does not exist. - - The name of the setting the value of which should be retrieved - - - - Returns true, if there is a setting value that can be retrieved with PeekValue. - This includes already created handles and unclaimed values. - - The name of the setting to check - - - - Deletes a setting loaded from the xml file before it is claimed using GetHandle. - Useful for cleaning up settings that are no longer in use. - - The identifier of the setting (handle identifier) - - - - Prompts the to save changes if any or the registered - s have handles with unsaved changes - - - - - A central place for mods to store persistent settings. Individual settings are grouped by mod using ModSettingsPack - - - - - Fires when is called and changes are about to be saved. - Use and to identify changed packs, - and with to identify changed handles. - - - - - Fires when is called and the settings file has just been written to disk. - - - - - Enumerates the s that have been registered up to this point. - - - - - Returns true when there are handles with values that have changed since the last time settings were saved. - - - - - Retrieves the for a given mod identifier. - - The unique identifier of the mod that owns the pack - If not null, assigns the property of the pack. - This will be displayed in the Mod Settings dialog as a header. - - - - Saves all settings to disk and notifies all ModBase mods by calling SettingsChanged() - - - - - Removes a settings pack for a mod if it exists. Use SaveChanges to apply the change afterward. - - The identifier of the mod owning the pack - - - - An individual persistent setting owned by a mod. - The extra layer of inheritance allows for type abstraction and storing SettingHandles in lists. - - - - - Unique identifier of the setting. - - - - - Name displayed in the settings menu. - - - - - Displayed as a tooltip in the settings menu. - - - - - Should return true if the passed value is valid for this setting. Optional. - - - - - The string identifier prefix used to display enum values in the settings menu (e.g. "prefix_" for "prefix_EnumValue") - - - - - Return true to make this setting visible in the menu. Optional. - An invisible setting can still be reset to default using the Reset All button. - - - - - Draw a custom control for the settings menu entry. Entry name is already drawn when this is called. - Optional. Return value indicates if the handle value was changed during the drawer call. - - - - - Fully override the drawing of the settings menu entry for this handle. - This replaces both the title and the control half of the entry. - Optional. Return value indicates if the handle value was changed during the drawer call. - - - The following built-in handle drawing features are also disabled when this property is assigned: - hovering info/menu buttons (). - - - - - When true, setting will never appear. For serialized data. - No longer affects value resetting, see - - - - - When true (true by default), the setting can be reset to its default value by the player. - If the handle is visible, this can be done through the right-click menu, or using the "Reset all" button. - Disabling this is generally not recommended, except for specific use cases (for example, content unlocked by the player). - - - - - When true, will not save this setting to the xml file. Useful in conjunction with CustomDrawer for placing buttons in the settings menu. - - - - - Specifies by how much the + and - buttons should change a numeric setting. - - - - - When CustomDrawer is used, specifies the height of the row for the handle. Leave at 0 for default height. - - - - - Affects the order in which handles appear in the settings menu. Lower comes first, default is 0. - - - - - Returns true if the of this handle has been modified - after the creation of the handle or the last time its value was saved. - Automatically resets to false when saves changes. - Can be manually toggled when e.g. replacing null with an instance in a handle. - - - - - Additional context menu options for the entry of this handle in the mod settings dialog. - Will be shown when the hovering menu button for this entry is clicked. - - - The "Reset to default" option is always present, but will be disabled if is false. - - - - - Marks the handle as modified and forces all settings to be saved. - This is necessary for values, as changes in reference types cannot be automatically detected. - - - - - Dispatched after the Value of the handle changes. - - - - - Implicitly cast handles to the Value they carry. - - - - - Called when the Value of the handle changes. Optional. - - - - - The actual value of the setting. - This is converted to its string representation when settings are saved. - Assigning a new value will trigger the OnValueChanged delegate. - - - - - The value the setting assumes when initially created or reset. - - - - - Retrieves the string representation of the setting or assigns a new setting value using a string. - Will trigger the Validator delegate if assigned and change the Value property if the validation passes. - - - - - Returns the type of the handle Value property. - - - - - Assigns the default value to the Value property. - Ignores the property. - - - - - Returns true if the handle is set to its default value. - - - - - - Keeps track of mod packageIds that ever were loaded together with HugsLib - by the player and the first/last time they were seen. - - - - - Sets the "first time seen" status of a packageId until the game is restarted. - - Throws on null packageId - - - - Returns true if the provided packageId was recorded for the first time during the current run. - - Throws on null packageId - - - - Returns true if the provided mod packageId was at any time seen running together with HugsLib. - - Throws on null packageId - - - - Used by to track mod packageIds loaded from the XML file. - - - - - Used to indicate that a type should be instantiated at the earliest moment possible. - Specifically, when classes are instantiated (see .DoPlayLoad()). - If is true, Harmony patching will also happen at that time. - - - - - The front-end for LogPublisher. - Shows the status of the upload operation, provides controls and shows the produced URL. - - - - - Collects the game logs and loaded mods and posts the information on GitHub as a gist. - - - - - Allows adding custom buttons to the EditWindow_Log window. - - - - - Alignment side for custom widgets. - - - - - Callback to draw log window widgets in. - - The log window being dawn. - Window area for custom widgets. - The currently selected log message, or null. - Draw your widget using this to automatically align it with the others. - - - - Adds a new drawing callback to the log window widget drawer. - - The delegate called each OnGUI to draw the widget. - The side of the WidgetRow this widget should be drawn into. - - - - Commands start a new process on the target machine using platform specific commands and args to pass to the shell. - Refer to the Microsoft documentation for dotNet 3.5 for more info on a process. - https://msdn.microsoft.com/en-us/library/system.diagnostics.process(v=vs.90).aspx - - - - - A command to open a directory in the systems default file explorer. - Since Unity's OpenUrl() is broken on OS X, we can use a shell to do it correctly. - - - - - A Command to open the log file in the systems default text editor. - - - - - The hub of the library. Instantiates classes that extend ModBase and forwards some of the more useful events to them. - The assembly version of the library should reflect the current major Rimworld version, i.e.: 0.18.0.0 for B18. - This gives us the ability to release updates to the library without breaking compatibility with the mods that implement it. - See Core.HugsLibMod for the entry point. - - - - - The base class for all mods using HugsLib library. All classes extending ModBase will be instantiated - automatically by at game initialization. - Can be annotated with to initialize the mod at - initialization time and have be called. - - - - - This can be used to log messages specific to your mod. - It will prefix everything with your ModIdentifier. - - - - - The ModSettingsPack specific to your mod. - Use this to create settings handles that represent the values of saved settings. - - - - - Override this and return false to prevent a Harmony instance from being automatically created and scanning your assembly for patches. - - - - - The reference to Harmony instance that applied the patches in your assembly. - - - - - A unique identifier used both as and . - Override them separately if different identifiers are needed or no should be assigned to . - Must start with a letter and contain any of [A-z, 0-9, -, _, :] (identifier must be valid as an XML tag name). - - - This is no longer used to identify mods since 7.0 (Rimworld 1.1). Use ModBase.ModContentPack.PackageId to that end instead. - - - - - A unique identifier to use as a key when settings are stored for this mod by . - Must start with a letter and contain any of [A-z, 0-9, -, _, :] (identifier must be valid as an XML tag name). - By default uses the PackageId of the implementing mod. - Returning null will prevent the property from being assigned. - - - - - A readable identifier for the mod, used as a prefix by and in various error messages. - Appear as "[LogIdentifier] message" when using . - By default uses the non-lowercase PackageId of the implementing mod or the type name if that is not set. - - - - - The null-checked version of . - Returns the type name if is null. - - - - - The content pack for the mod containing the assembly this class belongs to - - - - - Can be false if the mod was enabled at game start and then disabled in the mods menu. - Always true, unless the of the declaring mod can't be - identified for some unexpected reason. - - - - - Contains the AssemblyVersion and AssemblyFileVersion of the mod. Used by . - - - - - Return the override version from the Version.xml file if specified, - or the higher one between AssemblyVersion and AssemblyFileVersion - - - - - Called during HugsLib instantiation, accounting for mod load order. - Load order among mods implementing is respected. - and only if the implementing class is annotated with . - - - - - Called when HugsLib receives the call. - Load order among mods implementing is respected. - Called after the static constructors for non-HugsLib mods have executed. Is not called again on def reload - - - - - An alias for , both or either can be used, - although makes for clearer code by indicating when the method is called. - - - - - Called on each tick when in Play scene - - The sequential number of the tick being processed - - - - Called each frame - - - - - Called each unity physics update - - - - - Called on each unity gui event, after UIRoot.UIRootOnGUI. - Respects UI scaling and screen fading. Will not be called during loading screens. - This is a good place to listen for hotkey events. - - - - - Called when GameState.Playing has been entered and the world is fully loaded in the Play scene. - Will not be called during world generation and landing site selection. - - - - - Called right after Map.ConstructComponents() (before MapLoaded) - - The map being initialized - - - - Called right after a new map has been generated. - This is the equivalent of MapComponent.MapGenerated(). - - The new map that has just finished generating - - - - Called when the map was fully loaded - - The map that has finished loading - - - - Called after a map has been abandoned or otherwise made inaccessible. - Works on player bases, encounter maps, destroyed faction bases, etc. - - The map that has been discarded - - - - Called after each scene change - - The scene that has been loaded - - - - Called after settings menu changes have been confirmed. - This is called for all mods, regardless if their own settings have been modified, or not. - - - - - Called after StaticInitialize and when defs have been reloaded. This is a good place to inject defs. - Get your settings handles here, so that the labels will properly update on language change. - If the mod is disabled after being loaded, this method will STILL execute. Use ModIsActive to check. - - - There is no scenario in which defs are reloaded without the game restarting, save for a mod manually initiating a reload. - When def reloading is not an issue, anything done by this method can be safely done in StaticInitialize. - - - - - Called before the game process shuts down. - "Quit to OS", clicking the "X" button on the window, and pressing Alt+F4 all execute this event. - There are still ways to forcibly terminate the game process, so this callback is not 100% reliable. - - - Modified s are automatically saved after this call. - - - - - Describes a single update news item. - Recommended to be placed in the /News folder in the root directory of the mod. - Can be loaded from the /Defs folder, but any placed - in the /News folder will unload all s loaded from /Defs. - - - - - An optional unique identifier to reference the mod that adds this news item. - If not set, the PackageId of the mod will be used. - Must start with a letter and contain any of [A-z, 0-9, -, _, :] - - - Used to preserve compatibility with pre-RW1.1 HugsLib news data, such as already displayed news items and ignored news providers. - Previously used to reference a BodBase.ModIdentifier which had to be loaded for the defining news def to be displayed. - - - - - Displayed in the title of the news item - - - - - Optional complete replacement for the news item title - - - - - The version number associated with the news item. Format: major.minor.patch - Used to sort news items and determine which items have not been displayed yet. - - - For example, after an item with version 3.2.1 has been displayed, adding an item with version 3.2.0 will not cause the - New Mod Features dialog to automatically open. However, both items will still appear the next time the dialog is opened. - The version of the mod adding the news item is no longer required to be equal or higher for a news item to be displayed. - - - - - The text of the news item. Can contain text and images, supports Unity html markup (only recommended for highlighting). - The text can contain the following formatting markers: - | -> (pipe) splits the content into segments. A segment can be a paragraph or image sequence - img:name1,name2 -> Displays a horizontal image sequence. Image names are file names without the extension. - caption:text -> Attaches a text paragraph on the right side of the preceding image - Everything else is treated as plain text and creates a paragraph. - - Paragraph1|Paragraph2|img:singleImage|caption:caption\ntext|img:sequence1,sequence2|More text - - - - When set to true (true by default), leading and trailing whitespace characters (spaces, tabs, newlines) - are removed from content captions and paragraphs. - This makes it easier lay out your content and not have to cram everything into one line. - - - - - Optional link to a forum post/info page for this update, or the whole mod. Displayed in the news item title. - - - - - Specifies which players of the mod the news item should be only shown to- new players, returning players, or both. - Defaults to . - - - - - Returns the Id of the owning mod. - is used if defined, and ModContentPack.PackageId otherwise. - - - - - Provides a convenient way to read, compare and print out the assembly version and file version of assemblies. - - - - - Tries to read the file assembly version in addition to the already known assembly version. - - The assembly to read - The full path to the assembly file, if is not set - An with only AssemblyVersion set if an exception was encountered - - - - Reads assembly version information for a mod assembly. - Mod assemblies require special treatment, since they are loaded from byte arrays and their is null. - - The assembly to read - The content pack the assembly was loaded from - See - - - - A way to schedule single-use callbacks for an upcoming event. - Useful to break the stack and ensure code is run in the main thread. - Access via HugsLibController.Instance.DoLater - - - - - Schedule a callback to be executed at the start of the next tick - - - - - Schedule a callback to be executed at the start of the next frame - - - - - Schedule a callback to be executed at the start of the next OnGUI - - - - - Schedule a callback to be executed the next time a map has finished loading - - The callback receives the map that has finished loading - - - - A performance-friendly way to execute code at arbitrary tick intervals. - Optimized for one-off timed callbacks with variable callback delay. - Use DistributedTickScheduler instead if you have many recipients with recurring callbacks and constant time. - Callbacks are called at tick time, which means a game must be loaded and running for them to be processed. - - - - - Registers a delegate to be called in a given number of ticks. - - The delegate to be called - The delay in ticks before the delegate is called - Optional owner of the delegate. Callback will not fire if the Thing is not spawned at call time. - If true, the callback will be rescheduled after each call until manually unscheduled - - - - Manually remove a callback to abort a delay or clear a recurring callback. - Silently fails if the callback is not found. - - The scheduled callback - - - - Only for debug purposes - - - - - A compact confirm dialog with Esc and Enter key support. - - - - - A compact message dialog with a title and a custom close button label. - - - - A title to display in the dialog - A message to display in the dialog - A custom label to the close button. Optional- when null, the default label will be used instead. - A callback to call when the dialog is closed - - - - A ticking scheduler for things that require a tick only every so often. - Distributes tick calls uniformly over multiple frames to reduce the workload. - Optimized for many tick recipients with the same tick interval. - - - - - Registers a delegate to be called every tickInterval ticks. - - The delegate that will be called - The interval between the calls (for example 30 to have the delegate be called 2 times a second) - The Thing the delegate is attached to. The callback will be automatically unregistered if the owner is found to be despawned at call time. - - - - Manually removes a delegate to prevent further calls. - - Throws if the provided owner is not registered. Use IsRegistered() to check. - The Thing the delegate was registered with - - - - Returns true if the passed Thing is registered as the owner of a delegate. - - - - - - - Returns all registered tick recipients - - - - - - Returns the number of calls issued across all intervals during the last tick - - - - - Returns the number of active tickers (intervals) - - - - - Tools for working with the Harmony library. - - - - - Produces a human-readable list of all methods patched by all Harmony instances and their respective patches. - - - - - Produces a human-readable list of all methods patched by a single Harmony instance and their respective patches. - - A Harmony instance that can be queried for patch information. - - - - Produces a human-readable list of Harmony patches on a given set of methods. - - - - - Produces a human-readable list of all Harmony versions present and their respective owners. - - A Harmony instance that can be queried for version information. - - - - - Logs an error if any issues with Harmony patches are detected - - - - - A catch-all place for extension methods and other useful stuff - - - - - Returns true if the left or right Shift keys are currently pressed. - - - - - Returns true if the left or right Alt keys are currently pressed. - - - - - Returns true if the left or right Control keys are currently pressed. - Mac command keys are supported, as well. - - - - - Returns an enumerable as a comma-separated string. - - A list of elements to string together - - - - Returns an enumerable as a string, joined by a separator string. By default null values appear as an empty string. - - A list of elements to string together - A string to inset between elements - If true, null elements will appear as "[null]" - - - - Returns a version as major.minor.patch formatted string. - - - - - Checks if a Thing has a designation of a given def. - - - The designation def to check for - - - - Adds or removes a designation of a given def on a Thing. Fails silently if designation is already in the desired state. - - The thing to designate - The DesignationDef to apply or remove - True to add the designation, false to remove - - - - Checks if a cell has a designation of a given def - - The map position to check - The DesignationDef to detect - The map to look on. When null, defaults to VisibleMap. - - - - Adds or removes a designation of a given def on a cell. Fails silently if designation is already in the desired state. - - The position to designate - The DesignationDef to apply or remove - True to add the designation, false to remove - The map to operate on. When null, defaults to VisibleMap. - - - - Returns true, if a MethodInfo matches the provided signature. - - Note: instance methods always take their parent type as the first parameter. - The method to check - Expected return type of the checked method - Expected parameter types of the checked method - - - - Returns an attribute from a member, if it exists. - Mods could include attributes from libraries that are not loaded, which would throw an exception, so error checking is included. - - The type of the attribute to fetch - The member to fetch the attribute from - - - - Enumerates all loaded assemblies, including stock and enabled mods. - - - - - Returns true if the mod with a matching name is currently loaded in the mod configuration. - - The ModMetaData.Name to match - - - - Copies a string to the system copy buffer and displays a confirmation message. - - - - - Expands a shorthand unix user directory path with its full system path. - - - - - Adds double quotes to the start and end of a string. - - - - - Attempts to return the path of the log file Unity is writing to. - - - - - - Sends a constructed UnityWebRequest, waits for the result, and returns the data via callbacks. - - Use UnityWebRequest or WWW to construct a request. Do not call Send(). - Called with the response body if server replied with status 200. - Called with the error message in case of a network error or if server replied with status other than 200. - The expected status code in the response for the request to be considered successful - How long to wait before aborting the request - - - - Tries to find the file handle for a given mod assembly name. - - This is a replacement for mod assemblies are loaded from byte arrays. - The of the assembly - The content pack the assembly was presumably loaded from - Returns null if the file is not found - - - - Same as but suppresses all exceptions. - - - - - Opens the Options dialog on the Mod Settings page. - - - - - Adds a hash to a manually instantiated def to avoid def collisions. - - - - - Give a short hash to a def created at runtime. - Short hashes are used for proper saving of defs in compressed maps within a save file. - - - The type of defs your def will be saved with. For example, - use typeof(ThingDef) if your def extends ThingDef. - - - - Injects a map component into the current map if it does not already exist. - Required for new MapComponents that were not active at map creation. - The injection is performed at ExecuteWhenFinished to allow calling this method in MapComponent constructors. - - The MapComponent that is expected to be present is the map's component list - - - - Gets the map component of the given type from a map. - Will throw an exception if a component of the requested type is not found. - - The type of your MapComponent - The map to get the component from - - - - A logger that prefixes all messages with the identifier of the issuing mod. - - - - - Writes a message to the log, prefixing it with the issuing mod identifier. - - The message to write - Optional substitution values for the message - - - - Same as Message(), but the console will display the message as a warning. - - - - - Same as Message(), but the console will display the message as an error. - This will open the Log window in in Dev mode. - - - - - Writes a message only if Dev mode is enabled. - Message is written using Tracer.Trace with the addition of the ModIdentifier as the first value. - - The strings to display - - - - Same as Trace(), but formats the message and replaces substitution variables. - - - - - Writes an error to the log to report an exception. - The message will contain the name of the method that caused the exception if a location is not provided. - - The exception that occurred - Optional identifier of the mod that caused the exception - True, if the exception should only be reported once for that specific location. Useful for errors that will trigger each frame or tick. - Optional name of the location where the exception occurred. Will display as "exception during (location)" - - - - A tool to identify the platform the game is running on. - - - - - Utility methods for displaying debug messages during development. - - - - - Writes comma-separated log messages if the game is in Dev mode. - Any non-strings will be converted to strings, and null values will appear explicitly. - - Messages to output - - - - Similar to Trace, but feeds the messages through String.Format first. - - The string to interpolate - Interpolation arguments - - - - Base type for utility WorldObjects repurposed to store data. See UtilityWorldObjectManager for more info. - - - - - Handles utility WorldObjects of custom types. - Utility WorldObjects are a map-independent storage method for custom data. - All UWOs share the same def and aren't visible on the world, but are saved and loaded with it. - - - - - Returns an existing UWO or creates a new one, adding it to the world. - - Your custom type that extends UtilityWorldObject - - - diff --git a/CRIALactation/1.4/Assemblies/ISharpZipLib.dll b/CRIALactation/1.4/Assemblies/ISharpZipLib.dll deleted file mode 100644 index bb15d24..0000000 Binary files a/CRIALactation/1.4/Assemblies/ISharpZipLib.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/Milk.dll b/CRIALactation/1.4/Assemblies/Milk.dll deleted file mode 100644 index 0e58733..0000000 Binary files a/CRIALactation/1.4/Assemblies/Milk.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/NAudio.dll b/CRIALactation/1.4/Assemblies/NAudio.dll deleted file mode 100644 index decb8dd..0000000 Binary files a/CRIALactation/1.4/Assemblies/NAudio.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/NVorbis.dll b/CRIALactation/1.4/Assemblies/NVorbis.dll deleted file mode 100644 index 89d7214..0000000 Binary files a/CRIALactation/1.4/Assemblies/NVorbis.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/RJW.dll b/CRIALactation/1.4/Assemblies/RJW.dll deleted file mode 100644 index cd73522..0000000 Binary files a/CRIALactation/1.4/Assemblies/RJW.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/Unity.TextMeshPro.dll b/CRIALactation/1.4/Assemblies/Unity.TextMeshPro.dll deleted file mode 100644 index ec29a4f..0000000 Binary files a/CRIALactation/1.4/Assemblies/Unity.TextMeshPro.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.AIModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.AIModule.dll deleted file mode 100644 index 78e7704..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.AIModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.ARModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.ARModule.dll deleted file mode 100644 index faa2f92..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.ARModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.AccessibilityModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.AccessibilityModule.dll deleted file mode 100644 index 5229d35..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.AccessibilityModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.AndroidJNIModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.AndroidJNIModule.dll deleted file mode 100644 index 52d1ec4..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.AndroidJNIModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.AnimationModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.AnimationModule.dll deleted file mode 100644 index 6243b6b..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.AnimationModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.AssetBundleModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.AssetBundleModule.dll deleted file mode 100644 index 4762681..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.AssetBundleModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.AudioModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.AudioModule.dll deleted file mode 100644 index 04a092a..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.AudioModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.ClothModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.ClothModule.dll deleted file mode 100644 index e9a819d..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.ClothModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.ClusterInputModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.ClusterInputModule.dll deleted file mode 100644 index 6324fbb..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.ClusterInputModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.ClusterRendererModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.ClusterRendererModule.dll deleted file mode 100644 index 26ef8fa..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.ClusterRendererModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.CoreModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.CoreModule.dll deleted file mode 100644 index 83b2b0a..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.CoreModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.CrashReportingModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.CrashReportingModule.dll deleted file mode 100644 index 7d391bd..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.CrashReportingModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.DSPGraphModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.DSPGraphModule.dll deleted file mode 100644 index eba8cc1..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.DSPGraphModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.DirectorModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.DirectorModule.dll deleted file mode 100644 index 5976cc5..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.DirectorModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.GameCenterModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.GameCenterModule.dll deleted file mode 100644 index 4797dbe..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.GameCenterModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.GridModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.GridModule.dll deleted file mode 100644 index 61c1ec4..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.GridModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.IMGUIModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.IMGUIModule.dll deleted file mode 100644 index b557b58..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.IMGUIModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.ImageConversionModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.ImageConversionModule.dll deleted file mode 100644 index 79aa449..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.ImageConversionModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.InputLegacyModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.InputLegacyModule.dll deleted file mode 100644 index 1067ff9..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.InputLegacyModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.InputModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.InputModule.dll deleted file mode 100644 index 3be4fb9..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.InputModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.JSONSerializeModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.JSONSerializeModule.dll deleted file mode 100644 index cd1981f..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.JSONSerializeModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.LocalizationModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.LocalizationModule.dll deleted file mode 100644 index 292f854..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.LocalizationModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.ParticleSystemModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.ParticleSystemModule.dll deleted file mode 100644 index c570bbe..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.ParticleSystemModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.PerformanceReportingModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.PerformanceReportingModule.dll deleted file mode 100644 index faf6411..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.PerformanceReportingModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.Physics2DModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.Physics2DModule.dll deleted file mode 100644 index 65dba8a..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.Physics2DModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.PhysicsModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.PhysicsModule.dll deleted file mode 100644 index 4a7a9a6..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.PhysicsModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.ScreenCaptureModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.ScreenCaptureModule.dll deleted file mode 100644 index 4ec8198..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.ScreenCaptureModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.SharedInternalsModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.SharedInternalsModule.dll deleted file mode 100644 index 8a9c9eb..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.SharedInternalsModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.SpriteMaskModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.SpriteMaskModule.dll deleted file mode 100644 index 3de5b54..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.SpriteMaskModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.SpriteShapeModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.SpriteShapeModule.dll deleted file mode 100644 index b59a5b8..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.SpriteShapeModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.StreamingModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.StreamingModule.dll deleted file mode 100644 index 69068e5..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.StreamingModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.SubsystemsModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.SubsystemsModule.dll deleted file mode 100644 index b5b7429..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.SubsystemsModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.TerrainModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.TerrainModule.dll deleted file mode 100644 index 18b193e..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.TerrainModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.TerrainPhysicsModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.TerrainPhysicsModule.dll deleted file mode 100644 index 48119b4..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.TerrainPhysicsModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.TextCoreModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.TextCoreModule.dll deleted file mode 100644 index e13a54d..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.TextCoreModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.TextRenderingModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.TextRenderingModule.dll deleted file mode 100644 index 447239e..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.TextRenderingModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.TilemapModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.TilemapModule.dll deleted file mode 100644 index 6c43665..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.TilemapModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.UI.dll b/CRIALactation/1.4/Assemblies/UnityEngine.UI.dll deleted file mode 100644 index ea17de1..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.UI.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.UIElementsModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.UIElementsModule.dll deleted file mode 100644 index 8dc2716..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.UIElementsModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.UIModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.UIModule.dll deleted file mode 100644 index e082dda..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.UIModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.UNETModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.UNETModule.dll deleted file mode 100644 index 0234fad..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.UNETModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.UnityAnalyticsModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.UnityAnalyticsModule.dll deleted file mode 100644 index e3c39e8..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.UnityAnalyticsModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.UnityConnectModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.UnityConnectModule.dll deleted file mode 100644 index 7ec2470..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.UnityConnectModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestAssetBundleModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestAssetBundleModule.dll deleted file mode 100644 index 0024d85..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestAssetBundleModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestAudioModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestAudioModule.dll deleted file mode 100644 index d4f9220..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestAudioModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestModule.dll deleted file mode 100644 index b99842a..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestTextureModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestTextureModule.dll deleted file mode 100644 index d8b643a..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestTextureModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestWWWModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestWWWModule.dll deleted file mode 100644 index b8b8314..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.UnityWebRequestWWWModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.VFXModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.VFXModule.dll deleted file mode 100644 index 0895120..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.VFXModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.VRModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.VRModule.dll deleted file mode 100644 index ea9d6fe..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.VRModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.VehiclesModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.VehiclesModule.dll deleted file mode 100644 index f7c1085..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.VehiclesModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.VideoModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.VideoModule.dll deleted file mode 100644 index 92c9898..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.VideoModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.WindModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.WindModule.dll deleted file mode 100644 index 8ac2232..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.WindModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.XRModule.dll b/CRIALactation/1.4/Assemblies/UnityEngine.XRModule.dll deleted file mode 100644 index a58bf6a..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.XRModule.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/UnityEngine.dll b/CRIALactation/1.4/Assemblies/UnityEngine.dll deleted file mode 100644 index d45693c..0000000 Binary files a/CRIALactation/1.4/Assemblies/UnityEngine.dll and /dev/null differ diff --git a/CRIALactation/1.4/Assemblies/com.rlabrecque.steamworks.net.dll b/CRIALactation/1.4/Assemblies/com.rlabrecque.steamworks.net.dll deleted file mode 100644 index 57edb49..0000000 Binary files a/CRIALactation/1.4/Assemblies/com.rlabrecque.steamworks.net.dll and /dev/null differ diff --git a/CRIALactation/CRIALactation.csproj b/CRIALactation/CRIALactation.csproj index 9c93a0f..5c849ac 100644 --- a/CRIALactation/CRIALactation.csproj +++ b/CRIALactation/CRIALactation.csproj @@ -34,18 +34,23 @@ ..\..\..\..\..\workshop\content\294100\839005762\1.4\Assemblies\0Harmony.dll + False ..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll + False ..\..\..\..\..\workshop\content\294100\818773962\v1.4\Assemblies\HugsLib.dll + False ..\..\rjw-mc\1.3\Assemblies\Milk.dll + False ..\..\rjw\1.4\Assemblies\RJW.dll + False @@ -57,9 +62,11 @@ ..\..\..\RimWorldWin64_Data\Managed\UnityEngine.dll + False ..\..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll + False diff --git a/CRIAOrgy/1.4/Assemblies/0Harmony.dll b/CRIAOrgy/1.4/Assemblies/0Harmony.dll deleted file mode 100644 index e182535..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/0Harmony.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/0Harmony.xml b/CRIAOrgy/1.4/Assemblies/0Harmony.xml deleted file mode 100644 index f1b9b4c..0000000 --- a/CRIAOrgy/1.4/Assemblies/0Harmony.xml +++ /dev/null @@ -1,3693 +0,0 @@ - - - - 0Harmony - - - - A factory to create delegate types - - - Default constructor - - - Creates a delegate type for a method - The method - The new delegate type - - - - A getter delegate type - Type that getter gets field/property value from - Type of the value that getter gets - The instance get getter uses - An delegate - - - - A setter delegate type - Type that setter sets field/property value for - Type of the value that setter sets - The instance the setter uses - The value the setter uses - An delegate - - - - A constructor delegate type - Type that constructor creates - An delegate - - - - A helper class for fast access to getters and setters - - - Creates an instantiation delegate - Type that constructor creates - The new instantiation delegate - - - - Creates an getter delegate for a property - Type that getter reads property from - Type of the property that gets accessed - The property - The new getter delegate - - - - Creates an getter delegate for a field - Type that getter reads field from - Type of the field that gets accessed - The field - The new getter delegate - - - - Creates an getter delegate for a field (with a list of possible field names) - Type that getter reads field/property from - Type of the field/property that gets accessed - A list of possible field names - The new getter delegate - - - - Creates an setter delegate - Type that setter assigns property value to - Type of the property that gets assigned - The property - The new setter delegate - - - - Creates an setter delegate for a field - Type that setter assigns field value to - Type of the field that gets assigned - The field - The new getter delegate - - - - A delegate to invoke a method - The instance - The method parameters - The method result - - - A helper class to invoke method with delegates - - - Creates a fast invocation handler from a method - The method to invoke - Controls if boxed value object is accessed/updated directly - The - - - The directBoxValueAccess option controls how value types passed by reference (e.g. ref int, out my_struct) are handled in the arguments array - passed to the fast invocation handler. - Since the arguments array is an object array, any value types contained within it are actually references to a boxed value object. - Like any other object, there can be other references to such boxed value objects, other than the reference within the arguments array. - For example, - - var val = 5; - var box = (object)val; - var arr = new object[] { box }; - handler(arr); // for a method with parameter signature: ref/out/in int - - - - - If directBoxValueAccess is true, the boxed value object is accessed (and potentially updated) directly when the handler is called, - such that all references to the boxed object reflect the potentially updated value. - In the above example, if the method associated with the handler updates the passed (boxed) value to 10, both box and arr[0] - now reflect the value 10. Note that the original val is not updated, since boxing always copies the value into the new boxed value object. - - - If directBoxValueAccess is false (default), the boxed value object in the arguments array is replaced with a "reboxed" value object, - such that potential updates to the value are reflected only in the arguments array. - In the above example, if the method associated with the handler updates the passed (boxed) value to 10, only arr[0] now reflects the value 10. - - - - - A low level memory helper - - - - Mark method for no inlining (currently only works on Mono) - The method/constructor to change - - - - Detours a method - The original method/constructor - The replacement method/constructor - An error string - - - - Writes a jump to memory - The memory address - Jump destination - An error string - - - - Gets the start of a method in memory - The method/constructor - [out] Details of the exception - The method start address - - - - special parameter names that can be used in prefix and postfix methods - - - Patch function helpers - - - Sorts patch methods by their priority rules - The original method - Patches to sort - Use debug mode - The sorted patch methods - - - - Creates new replacement method with the latest patches and detours the original method - The original method - Information describing the patches - The newly created replacement method - - - - Creates a patch sorter - Array of patches that will be sorted - Use debugging - - - Sorts internal PatchSortingWrapper collection and caches the results. - After first run the result is provided from the cache. - The original method - The sorted patch methods - - - Checks if the sorter was created with the same patch list and as a result can be reused to - get the sorted order of the patches. - List of patches to check against - true if equal - - - Removes one unresolved dependency from the least important patch. - - - Outputs all unblocked patches from the waiting list to results list - - - Adds patch to both results list and handled patches set - Patch to add - - - Wrapper used over the Patch object to allow faster dependency access and - dependency removal in case of cyclic dependencies - - - Create patch wrapper object used for sorting - Patch to wrap - - - Determines how patches sort - The other patch - integer to define sort order (-1, 0, 1) - - - Determines whether patches are equal - The other patch - true if equal - - - Hash function - A hash code - - - Bidirectionally registers Patches as after dependencies - List of dependencies to register - - - Bidirectionally registers Patches as before dependencies - List of dependencies to register - - - Bidirectionally removes Patch from after dependencies - Patch to remove - - - Bidirectionally removes Patch from before dependencies - Patch to remove - - - Specifies the type of method - - - - This is a normal method - - - This is a getter - - - This is a setter - - - This is a constructor - - - This is a static constructor - - - This targets the MoveNext method of the enumerator result - - - Specifies the type of argument - - - - This is a normal argument - - - This is a reference argument (ref) - - - This is an out argument (out) - - - This is a pointer argument (&) - - - Specifies the type of patch - - - - Any patch - - - A prefix patch - - - A postfix patch - - - A transpiler - - - A finalizer - - - A reverse patch - - - Specifies the type of reverse patch - - - - Use the unmodified original method (directly from IL) - - - Use the original as it is right now including previous patches but excluding future ones - - - Specifies the type of method call dispatching mechanics - - - - Call the method using dynamic dispatching if method is virtual (including overriden) - - - This is the built-in form of late binding (a.k.a. dynamic binding) and is the default dispatching mechanic in C#. - This directly corresponds with the instruction. - - - For virtual (including overriden) methods, the instance type's most-derived/overriden implementation of the method is called. - For non-virtual (including static) methods, same behavior as : the exact specified method implementation is called. - - - Note: This is not a fully dynamic dispatch, since non-virtual (including static) methods are still called non-virtually. - A fully dynamic dispatch in C# involves using - the dynamic type - (actually a fully dynamic binding, since even the name and overload resolution happens at runtime), which does not support. - - - - - Call the method using static dispatching, regardless of whether method is virtual (including overriden) or non-virtual (including static) - - - a.k.a. non-virtual dispatching, early binding, or static binding. - This directly corresponds with the instruction. - - - For both virtual (including overriden) and non-virtual (including static) methods, the exact specified method implementation is called, without virtual/override mechanics. - - - - - The base class for all Harmony annotations (not meant to be used directly) - - - - The common information for all attributes - - - Annotation to define your Harmony patch methods - - - - An empty annotation can be used together with TargetMethod(s) - - - - An annotation that specifies a class to patch - The declaring class/type - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The argument types of the method or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - An array of argument types to target overloads - Array of - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - An array of argument types to target overloads - Array of - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - The - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - The - - - - An annotation that specifies a method, property or constructor to patch - The - - - - An annotation that specifies a method, property or constructor to patch - The - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - The full name of the declaring class/type - The name of the method, property or constructor to patch - The - - - - Annotation to define the original method for delegate injection - - - - An annotation that specifies a class to patch - The declaring class/type - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The argument types of the method or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - An array of argument types to target overloads - Array of - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The - An array of argument types to target overloads - Array of - - - - An annotation that specifies a method, property or constructor to patch - The declaring class/type - The name of the method, property or constructor to patch - The - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - The name of the method, property or constructor to patch - The - - - - An annotation that specifies call dispatching mechanics for the delegate - The - - - - An annotation that specifies a method, property or constructor to patch - The - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - The - An array of argument types to target overloads - An array of - - - - An annotation that specifies a method, property or constructor to patch - An array of argument types to target overloads - - - - An annotation that specifies a method, property or constructor to patch - An array of argument types to target overloads - An array of - - - - Annotation to define your standin methods for reverse patching - - - - An annotation that specifies the type of reverse patching - The of the reverse patch - - - - A Harmony annotation to define that all methods in a class are to be patched - - - - A Harmony annotation - - - - A Harmony annotation to define patch priority - The priority - - - - A Harmony annotation - - - - A Harmony annotation to define that a patch comes before another patch - The array of harmony IDs of the other patches - - - - A Harmony annotation - - - A Harmony annotation to define that a patch comes after another patch - The array of harmony IDs of the other patches - - - - A Harmony annotation - - - A Harmony annotation to debug a patch (output uses to log to your Desktop) - - - - Specifies the Prepare function in a patch class - - - - Specifies the Cleanup function in a patch class - - - - Specifies the TargetMethod function in a patch class - - - - Specifies the TargetMethods function in a patch class - - - - Specifies the Prefix function in a patch class - - - - Specifies the Postfix function in a patch class - - - - Specifies the Transpiler function in a patch class - - - - Specifies the Finalizer function in a patch class - - - - A Harmony annotation - - - - The name of the original argument - - - - The index of the original argument - - - - The new name of the original argument - - - - An annotation to declare injected arguments by name - - - - An annotation to declare injected arguments by index - Zero-based index - - - - An annotation to declare injected arguments by renaming them - Name of the original argument - New name - - - - An annotation to declare injected arguments by index and renaming them - Zero-based index - New name - - - - An abstract wrapper around OpCode and their operands. Used by transpilers - - - - The opcode - - - - The operand - - - - All labels defined on this instruction - - - - All exception block boundaries defined on this instruction - - - - Creates a new CodeInstruction with a given opcode and optional operand - The opcode - The operand - - - - Create a full copy (including labels and exception blocks) of a CodeInstruction - The to copy - - - - Clones a CodeInstruction and resets its labels and exception blocks - A lightweight copy of this code instruction - - - - Clones a CodeInstruction, resets labels and exception blocks and sets its opcode - The opcode - A copy of this CodeInstruction with a new opcode - - - - Clones a CodeInstruction, resets labels and exception blocks and sets its operand - The operand - A copy of this CodeInstruction with a new operand - - - - Creates a CodeInstruction calling a method (CALL) - The class/type where the method is declared - The name of the method (case sensitive) - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A code instruction that calls the method matching the arguments - - - - Creates a CodeInstruction calling a method (CALL) - The target method in the form TypeFullName:MethodName, where the type name matches a form recognized by Type.GetType like Some.Namespace.Type. - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A code instruction that calls the method matching the arguments - - - - Creates a CodeInstruction calling a method (CALL) - The lambda expression using the method - - - - - Creates a CodeInstruction calling a method (CALL) - The lambda expression using the method - - - - - Creates a CodeInstruction calling a method (CALL) - The lambda expression using the method - - - - - Creates a CodeInstruction calling a method (CALL) - The lambda expression using the method - - - - - Returns an instruction to call the specified closure - The delegate type to emit - The closure that defines the method to call - A that calls the closure as a method - - - - Creates a CodeInstruction loading a field (LD[S]FLD[A]) - The class/type where the field is defined - The name of the field (case sensitive) - Use address of field - - - - Creates a CodeInstruction storing to a field (ST[S]FLD) - The class/type where the field is defined - The name of the field (case sensitive) - - - - Returns a string representation of the code instruction - A string representation of the code instruction - - - - Exception block types - - - - The beginning of an exception block - - - - The beginning of a catch block - - - - The beginning of an except filter block (currently not supported to use in a patch) - - - - The beginning of a fault block - - - - The beginning of a finally block - - - - The end of an exception block - - - - An exception block - - - - Block type - - - - Catch type - - - - Creates an exception block - The - The catch type - - - - The Harmony instance is the main entry to Harmony. After creating one with an unique identifier, it is used to patch and query the current application domain - - - - The unique identifier - - - - Set to true before instantiating Harmony to debug Harmony or use an environment variable to set HARMONY_DEBUG to '1' like this: cmd /C "set HARMONY_DEBUG=1 && game.exe" - This is for full debugging. To debug only specific patches, use the attribute - - - - Creates a new Harmony instance - A unique identifier (you choose your own) - A Harmony instance - - - - Searches the current assembly for Harmony annotations and uses them to create patches - This method can fail to use the correct assembly when being inlined. It calls StackTrace.GetFrame(1) which can point to the wrong method/assembly. If you are unsure or run into problems, use PatchAll(Assembly.GetExecutingAssembly()) instead. - - - - Creates a empty patch processor for an original method - The original method/constructor - A new instance - - - - Creates a patch class processor from an annotated class - The class/type - A new instance - - - - Creates a reverse patcher for one of your stub methods - The original method/constructor - The stand-in stub method as - A new instance - - - - Searches an assembly for Harmony annotations and uses them to create patches - The assembly - - - - Creates patches by manually specifying the methods - The original method/constructor - An optional prefix method wrapped in a object - An optional postfix method wrapped in a object - An optional transpiler method wrapped in a object - An optional finalizer method wrapped in a object - The replacement method that was created to patch the original method - - - - Patches a foreign method onto a stub method of yours and optionally applies transpilers during the process - The original method/constructor you want to duplicate - Your stub method as that will become the original. Needs to have the correct signature (either original or whatever your transpilers generates) - An optional transpiler as method that will be applied during the process - The replacement method that was created to patch the stub method - - - - Unpatches methods by patching them with zero patches. Fully unpatching is not supported. Be careful, unpatching is global - The optional Harmony ID to restrict unpatching to a specific Harmony instance - This method could be static if it wasn't for the fact that unpatching creates a new replacement method that contains your harmony ID - - - - Unpatches a method by patching it with zero patches. Fully unpatching is not supported. Be careful, unpatching is global - The original method/constructor - The - The optional Harmony ID to restrict unpatching to a specific Harmony instance - - - - Unpatches a method by patching it with zero patches. Fully unpatching is not supported. Be careful, unpatching is global - The original method/constructor - The patch method as method to remove - - - - Test for patches from a specific Harmony ID - The Harmony ID - True if patches for this ID exist - - - - Gets patch information for a given original method - The original method/constructor - The patch information as - - - - Gets the methods this instance has patched - An enumeration of original methods/constructors - - - - Gets all patched original methods in the appdomain - An enumeration of patched original methods/constructors - - - - Gets the original method from a given replacement method - A replacement method, for example from a stacktrace - The original method/constructor or null if not found - - - - Tries to get the method from a stackframe including dynamic replacement methods - The - For normal frames, frame.GetMethod() is returned. For frames containing patched methods, the replacement method is returned or null if no method can be found - - - - Gets the original method from the stackframe and uses original if method is a dynamic replacement - The - The original method from that stackframe - - - Gets Harmony version for all active Harmony instances - [out] The current Harmony version - A dictionary containing assembly versions keyed by Harmony IDs - - - - Under Mono, HarmonyException wraps IL compile errors with detailed information about the failure - - - - Default serialization constructor (not implemented) - The info - The context - - - - Get a list of IL instructions in pairs of offset+code - A list of key/value pairs which represent an offset and the code at that offset - - - - Get a list of IL instructions without offsets - A list of - - - - Get the error offset of the errornous IL instruction - The offset - - - - Get the index of the errornous IL instruction - The index into the list of instructions or -1 if not found - - - - A wrapper around a method to use it as a patch (for example a Prefix) - - - - The original method - - - - Class/type declaring this patch - - - - Patch method name - - - - Optional patch - - - - Array of argument types of the patch method - - - - of the patch - - - - Install this patch before patches with these Harmony IDs - - - - Install this patch after patches with these Harmony IDs - - - - Reverse patch type, see - - - - Create debug output for this patch - - - - Whether to use (true) or (false) mechanics - for -attributed delegate - - - - Default constructor - - - - Creates a patch from a given method - The original method - - - - Creates a patch from a given method - The original method - The patch - A list of harmony IDs that should come after this patch - A list of harmony IDs that should come before this patch - Set to true to generate debug output - - - - Creates a patch from a given method - The patch class/type - The patch method name - The optional argument types of the patch method (for overloaded methods) - - - - Gets the names of all internal patch info fields - A list of field names - - - - Merges annotations - The list of to merge - The merged - - - - Returns a string that represents the annotation - A string representation - - - - Annotation extensions - - - - Copies annotation information - The source - The destination - - - - Clones an annotation - The to clone - A copied - - - - Merges annotations - The master - The detail - A new, merged - - - - Gets all annotations on a class/type - The class/type - A list of all - - - - Gets merged annotations on a class/type - The class/type - The merged - - - - Gets all annotations on a method - The method/constructor - A list of - - - - Gets merged annotations on a method - The method/constructor - The merged - - - - - A mutable representation of an inline signature, similar to Mono.Cecil's CallSite. - Used by the calli instruction, can be used by transpilers - - - - - See - - - - See - - - - See - - - - The list of all parameter types or function pointer signatures received by the call site - - - - The return type or function pointer signature returned by the call site - - - - Returns a string representation of the inline signature - A string representation of the inline signature - - - - - A mutable representation of a parameter type with an attached type modifier, - similar to Mono.Cecil's OptionalModifierType / RequiredModifierType and C#'s modopt / modreq - - - - - Whether this is a modopt (optional modifier type) or a modreq (required modifier type) - - - - The modifier type attached to the parameter type - - - - The modified parameter type - - - - Returns a string representation of the modifier type - A string representation of the modifier type - - - - Patch serialization - - - - Control the binding of a serialized object to a type - Specifies the assembly name of the serialized object - Specifies the type name of the serialized object - The type of the object the formatter creates a new instance of - - - - Serializes a patch info - The - The serialized data - - - - Deserialize a patch info - The serialized data - A - - - - Compare function to sort patch priorities - The patch - Zero-based index - The priority - A standard sort integer (-1, 0, 1) - - - - Serializable patch information - - - - Prefixes as an array of - - - - Postfixes as an array of - - - - Transpilers as an array of - - - - Finalizers as an array of - - - - Returns if any of the patches wants debugging turned on - - - - Adds prefixes - An owner (Harmony ID) - The patch methods - - - - Adds a prefix - - - Removes prefixes - The owner of the prefixes, or * for all - - - - Adds postfixes - An owner (Harmony ID) - The patch methods - - - - Adds a postfix - - - Removes postfixes - The owner of the postfixes, or * for all - - - - Adds transpilers - An owner (Harmony ID) - The patch methods - - - - Adds a transpiler - - - Removes transpilers - The owner of the transpilers, or * for all - - - - Adds finalizers - An owner (Harmony ID) - The patch methods - - - - Adds a finalizer - - - Removes finalizers - The owner of the finalizers, or * for all - - - - Removes a patch using its method - The method of the patch to remove - - - - Gets a concatenated list of patches - The Harmony instance ID adding the new patches - The patches to add - The current patches - - - - Gets a list of patches with any from the given owner removed - The owner of the methods, or * for all - The current patches - - - - A serializable patch - - - - Zero-based index - - - - The owner (Harmony ID) - - - - The priority, see - - - - Keep this patch before the patches indicated in the list of Harmony IDs - - - - Keep this patch after the patches indicated in the list of Harmony IDs - - - - A flag that will log the replacement method via every time this patch is used to build the replacement, even in the future - - - - The method of the static patch method - - - - Creates a patch - The method of the patch - Zero-based index - An owner (Harmony ID) - The priority, see - A list of Harmony IDs for patches that should run after this patch - A list of Harmony IDs for patches that should run before this patch - A flag that will log the replacement method via every time this patch is used to build the replacement, even in the future - - - - Creates a patch - The method of the patch - Zero-based index - An owner (Harmony ID) - - - Get the patch method or a DynamicMethod if original patch method is a patch factory - The original method/constructor - The method of the patch - - - - Determines whether patches are equal - The other patch - true if equal - - - - Determines how patches sort - The other patch - integer to define sort order (-1, 0, 1) - - - - Hash function - A hash code - - - - A PatchClassProcessor used to turn on a class/type into patches - - - - Creates a patch class processor by pointing out a class. Similar to PatchAll() but without searching through all classes. - The Harmony instance - The class to process (need to have at least a [HarmonyPatch] attribute) - - - - Applies the patches - A list of all created replacement methods or null if patch class is not annotated - - - - A group of patches - - - - A collection of prefix - - - - A collection of postfix - - - - A collection of transpiler - - - - A collection of finalizer - - - - Gets all owners (Harmony IDs) or all known patches - The patch owners - - - - Creates a group of patches - An array of prefixes as - An array of postfixes as - An array of transpileres as - An array of finalizeres as - - - - A PatchProcessor handles patches on a method/constructor - - - - Creates an empty patch processor - The Harmony instance - The original method/constructor - - - - Adds a prefix - The prefix as a - A for chaining calls - - - - Adds a prefix - The prefix method - A for chaining calls - - - - Adds a postfix - The postfix as a - A for chaining calls - - - - Adds a postfix - The postfix method - A for chaining calls - - - - Adds a transpiler - The transpiler as a - A for chaining calls - - - - Adds a transpiler - The transpiler method - A for chaining calls - - - - Adds a finalizer - The finalizer as a - A for chaining calls - - - - Adds a finalizer - The finalizer method - A for chaining calls - - - - Gets all patched original methods in the appdomain - An enumeration of patched method/constructor - - - - Applies all registered patches - The generated replacement method - - - - Unpatches patches of a given type and/or Harmony ID - The patch type - Harmony ID or * for any - A for chaining calls - - - - Unpatches a specific patch - The method of the patch - A for chaining calls - - - - Gets patch information on an original - The original method/constructor - The patch information as - - - - Sort patch methods by their priority rules - The original method - Patches to sort - The sorted patch methods - - - - Gets Harmony version for all active Harmony instances - [out] The current Harmony version - A dictionary containing assembly version keyed by Harmony ID - - - - Creates a new empty generator to use when reading method bodies - A new - - - - Creates a new generator matching the method/constructor to use when reading method bodies - The original method/constructor to copy method information from - A new - - - - Returns the methods unmodified list of code instructions - The original method/constructor - Optionally an existing generator that will be used to create all local variables and labels contained in the result (if not specified, an internal generator is used) - A list containing all the original - - - - Returns the methods unmodified list of code instructions - The original method/constructor - A new generator that now contains all local variables and labels contained in the result - A list containing all the original - - - - Returns the methods current list of code instructions after all existing transpilers have been applied - The original method/constructor - Apply only the first count of transpilers - Optionally an existing generator that will be used to create all local variables and labels contained in the result (if not specified, an internal generator is used) - A list of - - - - Returns the methods current list of code instructions after all existing transpilers have been applied - The original method/constructor - A new generator that now contains all local variables and labels contained in the result - Apply only the first count of transpilers - A list of - - - - A low level way to read the body of a method. Used for quick searching in methods - The original method - All instructions as opcode/operand pairs - - - - A low level way to read the body of a method. Used for quick searching in methods - The original method - An existing generator that will be used to create all local variables and labels contained in the result - All instructions as opcode/operand pairs - - - - A patch priority - - - - Patch last - - - - Patch with very low priority - - - - Patch with low priority - - - - Patch with lower than normal priority - - - - Patch with normal priority - - - - Patch with higher than normal priority - - - - Patch with high priority - - - - Patch with very high priority - - - - Patch first - - - - A reverse patcher - - - - Creates a reverse patcher - The Harmony instance - The original method/constructor - Your stand-in stub method as - - - - Applies the patch - The type of patch, see - The generated replacement method - - - - A collection of commonly used transpilers - - - - A transpiler that replaces all occurrences of a given method with another one using the same signature - The enumeration of to act on - Method or constructor to search for - Method or constructor to replace with - Modified enumeration of - - - - A transpiler that alters instructions that match a predicate by calling an action - The enumeration of to act on - A predicate selecting the instructions to change - An action to apply to matching instructions - Modified enumeration of - - - - A transpiler that logs a text at the beginning of the method - The instructions to act on - The log text - Modified enumeration of - - - - A helper class for reflection related functions - - - - Shortcut for to simplify the use of reflections and make it work for any access level - - - - Shortcut for to simplify the use of reflections and make it work for any access level but only within the current type - - - - Enumerates all assemblies in the current app domain, excluding visual studio assemblies - An enumeration of - - - Gets a type by name. Prefers a full name with namespace but falls back to the first type matching the name otherwise - The name - A type or null if not found - - - - Gets all successfully loaded types from a given assembly - The assembly - An array of types - - This calls and returns , while catching any thrown . - If such an exception is thrown, returns the successfully loaded types (, - filtered for non-null values). - - - - - Enumerates all successfully loaded types in the current app domain, excluding visual studio assemblies - An enumeration of all in all assemblies, excluding visual studio assemblies - - - Applies a function going up the type hierarchy and stops at the first non-null result - Result type of func() - The class/type to start with - The evaluation function returning T - The first non-null result, or null if no match - - The type hierarchy of a class or value type (including struct) does NOT include implemented interfaces, - and the type hierarchy of an interface is only itself (regardless of whether that interface implements other interfaces). - The top-most type in the type hierarchy of all non-interface types (including value types) is . - - - - - Applies a function going into inner types and stops at the first non-null result - Generic type parameter - The class/type to start with - The evaluation function returning T - The first non-null result, or null if no match - - - - Gets the reflection information for a directly declared field - The class/type where the field is defined - The name of the field - A field or null when type/name is null or when the field cannot be found - - - - Gets the reflection information for a directly declared field - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A field or null when the field cannot be found - - - - Gets the reflection information for a field by searching the type and all its super types - The class/type where the field is defined - The name of the field (case sensitive) - A field or null when type/name is null or when the field cannot be found - - - - Gets the reflection information for a field by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A field or null when the field cannot be found - - - - Gets the reflection information for a field - The class/type where the field is declared - The zero-based index of the field inside the class definition - A field or null when type is null or when the field cannot be found - - - - Gets the reflection information for a directly declared property - The class/type where the property is declared - The name of the property (case sensitive) - A property or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for a directly declared property - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A property or null when the property cannot be found - - - - Gets the reflection information for the getter method of a directly declared property - The class/type where the property is declared - The name of the property (case sensitive) - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the getter method of a directly declared property - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A method or null when the property cannot be found - - - - Gets the reflection information for the setter method of a directly declared property - The class/type where the property is declared - The name of the property (case sensitive) - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the Setter method of a directly declared property - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A method or null when the property cannot be found - - - - Gets the reflection information for a property by searching the type and all its super types - The class/type - The name - A property or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for a property by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A property or null when the property cannot be found - - - - Gets the reflection information for the getter method of a property by searching the type and all its super types - The class/type - The name - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the getter method of a property by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the setter method of a property by searching the type and all its super types - The class/type - The name - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for the setter method of a property by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A method or null when type/name is null or when the property cannot be found - - - - Gets the reflection information for a directly declared method - The class/type where the method is declared - The name of the method (case sensitive) - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A method or null when type/name is null or when the method cannot be found - - - - Gets the reflection information for a directly declared method - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A method or null when the method cannot be found - - - - Gets the reflection information for a method by searching the type and all its super types - The class/type where the method is declared - The name of the method (case sensitive) - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A method or null when type/name is null or when the method cannot be found - - - - Gets the reflection information for a method by searching the type and all its super types - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - Optional parameters to target a specific overload of the method - Optional list of types that define the generic version of the method - A method or null when the method cannot be found - - - - Gets the method of an enumerator method - Enumerator method that creates the enumerator - The internal method of the enumerator or null if no valid enumerator is detected - - - Gets the names of all method that are declared in a type - The declaring class/type - A list of method names - - - - Gets the names of all method that are declared in the type of the instance - An instance of the type to search in - A list of method names - - - - Gets the names of all fields that are declared in a type - The declaring class/type - A list of field names - - - - Gets the names of all fields that are declared in the type of the instance - An instance of the type to search in - A list of field names - - - - Gets the names of all properties that are declared in a type - The declaring class/type - A list of property names - - - - Gets the names of all properties that are declared in the type of the instance - An instance of the type to search in - A list of property names - - - - Gets the type of any class member of - A member - The class/type of this member - - - - Test if a class member is actually an concrete implementation - A member - True if the member is a declared - - - - Gets the real implementation of a class member - A member - The member itself if its declared. Otherwise the member that is actually implemented in some base type - - - - Gets the reflection information for a directly declared constructor - The class/type where the constructor is declared - Optional parameters to target a specific overload of the constructor - Optional parameters to only consider static constructors - A constructor info or null when type is null or when the constructor cannot be found - - - - Gets the reflection information for a constructor by searching the type and all its super types - The class/type where the constructor is declared - Optional parameters to target a specific overload of the method - Optional parameters to only consider static constructors - A constructor info or null when type is null or when the method cannot be found - - - - Gets reflection information for all declared constructors - The class/type where the constructors are declared - Optional parameters to only consider static constructors - A list of constructor infos - - - - Gets reflection information for all declared methods - The class/type where the methods are declared - A list of methods - - - - Gets reflection information for all declared properties - The class/type where the properties are declared - A list of properties - - - - Gets reflection information for all declared fields - The class/type where the fields are declared - A list of fields - - - - Gets the return type of a method or constructor - The method/constructor - The return type - - - - Given a type, returns the first inner type matching a recursive search by name - The class/type to start searching at - The name of the inner type (case sensitive) - The inner type or null if type/name is null or if a type with that name cannot be found - - - - Given a type, returns the first inner type matching a recursive search with a predicate - The class/type to start searching at - The predicate to search with - The inner type or null if type/predicate is null or if a type with that name cannot be found - - - - Given a type, returns the first method matching a predicate - The class/type to start searching at - The predicate to search with - The method or null if type/predicate is null or if a type with that name cannot be found - - - - Given a type, returns the first constructor matching a predicate - The class/type to start searching at - The predicate to search with - The constructor info or null if type/predicate is null or if a type with that name cannot be found - - - - Given a type, returns the first property matching a predicate - The class/type to start searching at - The predicate to search with - The property or null if type/predicate is null or if a type with that name cannot be found - - - - Returns an array containing the type of each object in the given array - An array of objects - An array of types or an empty array if parameters is null (if an object is null, the type for it will be object) - - - - Creates an array of input parameters for a given method and a given set of potential inputs - The method/constructor you are planing to call - The possible input parameters in any order - An object array matching the method signature - - - - A readable/assignable reference delegate to an instance field of a class or static field (NOT an instance field of a struct) - - An arbitrary type if the field is static; otherwise the class that defines the field, or a parent class (including ), - implemented interface, or derived class of this type - - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The runtime instance to access the field (ignored and can be omitted for static fields) - A readable/assignable reference to the field - Null instance passed to a non-static field ref delegate - - Instance of invalid type passed to a non-static field ref delegate - (this can happen if is a parent class or interface of the field's declaring type) - - - - This delegate cannot be used for instance fields of structs, since a struct instance passed to the delegate would be passed by - value and thus would be a copy that only exists within the delegate's invocation. This is fine for a readonly reference, - but makes assignment futile. Use instead. - - - Note that is not required to be the field's declaring type. It can be a parent class (including ), - implemented interface, or a derived class of the field's declaring type ("instanceOfT is FieldDeclaringType" must be possible). - Specifically, must be assignable from OR to the field's declaring type. - Technically, this allows Nullable, although Nullable is only relevant for structs, and since only static fields of structs - are allowed for this delegate, and the instance passed to such a delegate is ignored, this hardly matters. - - - Similarly, is not required to be the field's field type, unless that type is a non-enum value type. - It can be a parent class (including object) or implemented interface of the field's field type. It cannot be a derived class. - This variance is not allowed for value types, since that would require boxing/unboxing, which is not allowed for ref values. - Special case for enum types: can also be the underlying integral type of the enum type. - Specifically, for reference types, must be assignable from - the field's field type; for non-enum value types, must be exactly the field's field type; for enum types, - must be either the field's field type or the underyling integral type of that field type. - - - This delegate supports static fields, even those defined in structs, for legacy reasons. - For such static fields, is effectively ignored. - Consider using (and StaticFieldRefAccess methods that return it) instead for static fields. - - - - - - Creates a field reference delegate for an instance field of a class - The class that defines the instance field, or derived class of this type - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The name of the field - A readable/assignable delegate - - - For backwards compatibility, there is no class constraint on . - Instead, the non-value-type check is done at runtime within the method. - - - - - - Creates an instance field reference for a specific instance of a class - The class that defines the instance field, or derived class of this type - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The instance - The name of the field - A readable/assignable reference to the field - - - This method is meant for one-off access to a field's value for a single instance. - If you need to access a field's value for potentially multiple instances, use instead. - FieldRefAccess<T, F>(instance, fieldName) is functionally equivalent to FieldRefAccess<T, F>(fieldName)(instance). - - - For backwards compatibility, there is no class constraint on . - Instead, the non-value-type check is done at runtime within the method. - - - - - - Creates a field reference delegate for an instance field of a class or static field (NOT an instance field of a struct) - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - - The type that defines the field, or derived class of this type; must not be a struct type unless the field is static - - The name of the field - - A readable/assignable delegate with T=object - (for static fields, the instance delegate parameter is ignored) - - - - This method is meant for cases where the given type is only known at runtime and thus can't be used as a type parameter T - in e.g. . - - - This method supports static fields, even those defined in structs, for legacy reasons. - Consider using (and other overloads) instead for static fields. - - - - - - Creates a field reference delegate for an instance field of a class or static field (NOT an instance field of a struct) - type of the field - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A readable/assignable delegate with T=object - - - Creates a field reference delegate for an instance field of a class or static field (NOT an instance field of a struct) - - An arbitrary type if the field is static; otherwise the class that defines the field, or a parent class (including ), - implemented interface, or derived class of this type ("instanceOfT is FieldDeclaringType" must be possible) - - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The field - A readable/assignable delegate - - - This method is meant for cases where the field has already been obtained, avoiding the field searching cost in - e.g. . - - - This method supports static fields, even those defined in structs, for legacy reasons. - For such static fields, is effectively ignored. - Consider using (and other overloads) instead for static fields. - - - For backwards compatibility, there is no class constraint on . - Instead, the non-value-type check is done at runtime within the method. - - - - - - Creates a field reference for an instance field of a class - - The type that defines the field; or a parent class (including ), implemented interface, or derived class of this type - ("instanceOfT is FieldDeclaringType" must be possible) - - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The instance - The field - A readable/assignable reference to the field - - - This method is meant for one-off access to a field's value for a single instance and where the field has already been obtained. - If you need to access a field's value for potentially multiple instances, use instead. - FieldRefAccess<T, F>(instance, fieldInfo) is functionally equivalent to FieldRefAccess<T, F>(fieldInfo)(instance). - - - For backwards compatibility, there is no class constraint on . - Instead, the non-value-type check is done at runtime within the method. - - - - - - A readable/assignable reference delegate to an instance field of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - A reference to the runtime instance to access the field - A readable/assignable reference to the field - - - - Creates a field reference delegate for an instance field of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The name of the field - A readable/assignable delegate - - - - Creates an instance field reference for a specific instance of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The instance - The name of the field - A readable/assignable reference to the field - - - This method is meant for one-off access to a field's value for a single instance. - If you need to access a field's value for potentially multiple instances, use instead. - StructFieldRefAccess<T, F>(ref instance, fieldName) is functionally equivalent to StructFieldRefAccess<T, F>(fieldName)(ref instance). - - - - - - Creates a field reference delegate for an instance field of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The field - A readable/assignable delegate - - - This method is meant for cases where the field has already been obtained, avoiding the field searching cost in - e.g. . - - - - - - Creates a field reference for an instance field of a struct - The struct that defines the instance field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The instance - The field - A readable/assignable reference to the field - - - This method is meant for one-off access to a field's value for a single instance and where the field has already been obtained. - If you need to access a field's value for potentially multiple instances, use instead. - StructFieldRefAccess<T, F>(ref instance, fieldInfo) is functionally equivalent to StructFieldRefAccess<T, F>(fieldInfo)(ref instance). - - - - - - A readable/assignable reference delegate to a static field - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - A readable/assignable reference to the field - - - - Creates a static field reference - The type (can be class or struct) the field is defined in - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The name of the field - A readable/assignable reference to the field - - - - Creates a static field reference - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The type (can be class or struct) the field is defined in - The name of the field - A readable/assignable reference to the field - - - - Creates a static field reference - The type of the field - The member in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - A readable/assignable reference to the field - - - - Creates a static field reference - An arbitrary type (by convention, the type the field is defined in) - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The field - A readable/assignable reference to the field - - The type parameter is only used in exception messaging and to distinguish between this method overload - and the overload (which returns a rather than a reference). - - - - - Creates a static field reference delegate - - The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), - a type that is assignable from that type; or if the field's type is an enum type, - either that type or the underlying integral type of that enum type - - The field - A readable/assignable delegate - - - - Creates a delegate to a given method - The delegate Type - The method to create a delegate from. - - Only applies for instance methods. If null (default), returned delegate is an open (a.k.a. unbound) instance delegate - where an instance is supplied as the first argument to the delegate invocation; else, delegate is a closed (a.k.a. bound) - instance delegate where the delegate invocation always applies to the given . - - - Only applies for instance methods. If true (default) and is virtual, invocation of the delegate - calls the instance method virtually (the instance type's most-derived/overriden implementation of the method is called); - else, invocation of the delegate calls the exact specified (this is useful for calling base class methods) - Note: if false and is an interface method, an ArgumentException is thrown. - - A delegate of given to given - - - Delegate invocation is more performant and more convenient to use than - at a one-time setup cost. - - - Works for both type of static and instance methods, both open and closed (a.k.a. unbound and bound) instance methods, - and both class and struct methods. - - - - - - Creates a delegate to a given method - The delegate Type - The method in the form TypeFullName:MemberName, where TypeFullName matches the form recognized by Type.GetType like Some.Namespace.Type. - - Only applies for instance methods. If null (default), returned delegate is an open (a.k.a. unbound) instance delegate - where an instance is supplied as the first argument to the delegate invocation; else, delegate is a closed (a.k.a. bound) - instance delegate where the delegate invocation always applies to the given . - - - Only applies for instance methods. If true (default) and is virtual, invocation of the delegate - calls the instance method virtually (the instance type's most-derived/overriden implementation of the method is called); - else, invocation of the delegate calls the exact specified (this is useful for calling base class methods) - Note: if false and is an interface method, an ArgumentException is thrown. - - A delegate of given to given - - - Delegate invocation is more performant and more convenient to use than - at a one-time setup cost. - - - Works for both type of static and instance methods, both open and closed (a.k.a. unbound and bound) instance methods, - and both class and struct methods. - - - - - - Creates a delegate for a given delegate definition, attributed with [] - The delegate Type, attributed with [] - - Only applies for instance methods. If null (default), returned delegate is an open (a.k.a. unbound) instance delegate - where an instance is supplied as the first argument to the delegate invocation; else, delegate is a closed (a.k.a. bound) - instance delegate where the delegate invocation always applies to the given . - - A delegate of given to the method specified via [] - attributes on - - This calls with the method and virtualCall arguments - determined from the [] attributes on , - and the given (for closed instance delegates). - - - - - Returns who called the current method - The calling method/constructor (excluding the caller) - - - - Rethrows an exception while preserving its stack trace (throw statement typically clobbers existing stack traces) - The exception to rethrow - - - - True if the current runtime is based on Mono, false otherwise (.NET) - - - - True if the current runtime is .NET Framework, false otherwise (.NET Core or Mono, although latter isn't guaranteed) - - - - True if the current runtime is .NET Core, false otherwise (Mono or .NET Framework) - - - - Throws a missing member runtime exception - The type that is involved - A list of names - - - - Gets default value for a specific type - The class/type - The default value - - - - Creates an (possibly uninitialized) instance of a given type - The class/type - The new instance - - - - Creates an (possibly uninitialized) instance of a given type - The class/type - The new instance - - - - - A cache for the or similar Add methods for different types. - - - - Makes a deep copy of any object - The type of the instance that should be created; for legacy reasons, this must be a class or interface - The original object - A copy of the original object but of type T - - - - Makes a deep copy of any object - The type of the instance that should be created - The original object - [out] The copy of the original object - Optional value transformation function (taking a field name and src/dst instances) - The optional path root to start with - - - - Makes a deep copy of any object - The original object - The type of the instance that should be created - Optional value transformation function (taking a field name and src/dst instances) - The optional path root to start with - The copy of the original object - - - - Tests if a type is a struct - The type - True if the type is a struct - - - - Tests if a type is a class - The type - True if the type is a class - - - - Tests if a type is a value type - The type - True if the type is a value type - - - - Tests if a type is an integer type - The type - True if the type represents some integer - - - - Tests if a type is a floating point type - The type - True if the type represents some floating point - - - - Tests if a type is a numerical type - The type - True if the type represents some number - - - - Tests if a type is void - The type - True if the type is void - - - - Test whether an instance is of a nullable type - Type of instance - An instance to test - True if instance is of nullable type, false if not - - - - Tests whether a type or member is static, as defined in C# - The type or member - True if the type or member is static - - - - Tests whether a type is static, as defined in C# - The type - True if the type is static - - - - Tests whether a property is static, as defined in C# - The property - True if the property is static - - - - Tests whether an event is static, as defined in C# - The event - True if the event is static - - - - Calculates a combined hash code for an enumeration of objects - The objects - The hash code - - - - A CodeInstruction match - - - The name of the match - - - The matched opcodes - - - The matched operands - - - The jumps from the match - - - The jumps to the match - - - The match predicate - - - Creates a code match - The optional opcode - The optional operand - The optional name - - - - Creates a code match that calls a method - The lambda expression using the method - The optional name - - - - Creates a code match that calls a method - The lambda expression using the method - The optional name - - - - Creates a code match - The CodeInstruction - An optional name - - - - Creates a code match - The predicate - An optional name - - - - Returns a string that represents the match - A string representation - - - - A CodeInstruction matcher - - - The current position - The index or -1 if out of bounds - - - - Gets the number of code instructions in this matcher - The count - - - - Checks whether the position of this CodeMatcher is within bounds - True if this CodeMatcher is valid - - - - Checks whether the position of this CodeMatcher is outside its bounds - True if this CodeMatcher is invalid - - - - Gets the remaining code instructions - The remaining count - - - - Gets the opcode at the current position - The opcode - - - - Gets the operand at the current position - The operand - - - - Gets the labels at the current position - The labels - - - - Gets the exception blocks at the current position - The blocks - - - - Creates an empty code matcher - - - Creates a code matcher from an enumeration of instructions - The instructions (transpiler argument) - An optional IL generator - - - - Makes a clone of this instruction matcher - A copy of this matcher - - - - Gets instructions at the current position - The instruction - - - - Gets instructions at the current position with offset - The offset - The instruction - - - - Gets all instructions - A list of instructions - - - - Gets all instructions as an enumeration - A list of instructions - - - - Gets some instructions counting from current position - Number of instructions - A list of instructions - - - - Gets all instructions within a range - The start index - The end index - A list of instructions - - - - Gets all instructions within a range (relative to current position) - The start offset - The end offset - A list of instructions - - - - Gets a list of all distinct labels - The instructions (transpiler argument) - A list of Labels - - - - Reports a failure - The method involved - The logger - True if current position is invalid and error was logged - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed) - Explanation of where/why the exception was thrown that will be added to the exception message - The same code matcher - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed), - or if the matches do not match at current position - Explanation of where/why the exception was thrown that will be added to the exception message - Some code matches - The same code matcher - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed), - or if the matches do not match at any point between current position and the end - Explanation of where/why the exception was thrown that will be added to the exception message - Some code matches - The same code matcher - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed), - or if the matches do not match at any point between current position and the start - Explanation of where/why the exception was thrown that will be added to the exception message - Some code matches - The same code matcher - - - - Throw an InvalidOperationException if current state is invalid (position out of bounds / last match failed), - or if the check function returns false - Explanation of where/why the exception was thrown that will be added to the exception message - Function that checks validity of current state. If it returns false, an exception is thrown - The same code matcher - - - - Sets an instruction at current position - The instruction to set - The same code matcher - - - - Sets instruction at current position and advances - The instruction - The same code matcher - - - - Sets opcode and operand at current position - The opcode - The operand - The same code matcher - - - - Sets opcode and operand at current position and advances - The opcode - The operand - The same code matcher - - - - Sets opcode at current position and advances - The opcode - The same code matcher - - - - Sets operand at current position and advances - The operand - The same code matcher - - - - Creates a label at current position - [out] The label - The same code matcher - - - - Creates a label at a position - The position - [out] The new label - The same code matcher - - - - Creates a label at a position - The offset - [out] The new label - The same code matcher - - - - Adds an enumeration of labels to current position - The labels - The same code matcher - - - - Adds an enumeration of labels at a position - The position - The labels - The same code matcher - - - - Sets jump to - Branch instruction - Destination for the jump - [out] The created label - The same code matcher - - - - Inserts some instructions - The instructions - The same code matcher - - - - Inserts an enumeration of instructions - The instructions - The same code matcher - - - - Inserts a branch - The branch opcode - Branch destination - The same code matcher - - - - Inserts some instructions and advances the position - The instructions - The same code matcher - - - - Inserts an enumeration of instructions and advances the position - The instructions - The same code matcher - - - - Inserts a branch and advances the position - The branch opcode - Branch destination - The same code matcher - - - - Removes current instruction - The same code matcher - - - - Removes some instruction from current position by count - Number of instructions - The same code matcher - - - - Removes the instructions in a range - The start - The end - The same code matcher - - - - Removes the instructions in a offset range - The start offset - The end offset - The same code matcher - - - - Advances the current position - The offset - The same code matcher - - - - Moves the current position to the start - The same code matcher - - - - Moves the current position to the end - The same code matcher - - - - Searches forward with a predicate and advances position - The predicate - The same code matcher - - - - Searches backwards with a predicate and reverses position - The predicate - The same code matcher - - - - Matches forward and advances position to beginning of matching sequence - Some code matches - The same code matcher - - - - Matches forward and advances position to ending of matching sequence - Some code matches - The same code matcher - - - - Matches backwards and reverses position to beginning of matching sequence - Some code matches - The same code matcher - - - - Matches backwards and reverses position to ending of matching sequence - Some code matches - The same code matcher - - - - Repeats a match action until boundaries are met - The match action - An optional action that is executed when no match is found - The same code matcher - - - - Gets a match by its name - The match name - An instruction - - - - General extensions for common cases - - - - Joins an enumeration with a value converter and a delimiter to a string - The inner type of the enumeration - The enumeration - An optional value converter (from T to string) - An optional delimiter - The values joined into a string - - - - Converts an array of types (for example methods arguments) into a human readable form - The array of types - A human readable description including brackets - - - - A full description of a type - The type - A human readable description - - - - A a full description of a method or a constructor without assembly details but with generics - The method/constructor - A human readable description - - - - A helper converting parameter infos to types - The array of parameter infos - An array of types - - - - A helper to access a value via key from a dictionary - The key type - The value type - The dictionary - The key - The value for the key or the default value (of T) if that key does not exist - - - - A helper to access a value via key from a dictionary with extra casting - The value type - The dictionary - The key - The value for the key or the default value (of T) if that key does not exist or cannot be cast to T - - - - Escapes Unicode and ASCII non printable characters - The string to convert - The string to convert - A string literal surrounded by - - - - Extensions for - - - - Returns if an is initialized and valid - The - - - - Shortcut for testing whether the operand is equal to a non-null value - The - The value - True if the operand has the same type and is equal to the value - - - - Shortcut for testing whether the operand is equal to a non-null value - The - The value - True if the operand is equal to the value - This is an optimized version of for - - - - Shortcut for code.opcode == opcode && code.OperandIs(operand) - The - The - The operand value - True if the opcode is equal to the given opcode and the operand has the same type and is equal to the given operand - - - - Shortcut for code.opcode == opcode && code.OperandIs(operand) - The - The - The operand value - True if the opcode is equal to the given opcode and the operand is equal to the given operand - This is an optimized version of for - - - - Tests for any form of Ldarg* - The - The (optional) index - True if it matches one of the variations - - - - Tests for Ldarga/Ldarga_S - The - The (optional) index - True if it matches one of the variations - - - - Tests for Starg/Starg_S - The - The (optional) index - True if it matches one of the variations - - - - Tests for any form of Ldloc* - The - The optional local variable - True if it matches one of the variations - - - - Tests for any form of Stloc* - The - The optional local variable - True if it matches one of the variations - - - - Tests if the code instruction branches - The - The label if the instruction is a branch operation or if not - True if the instruction branches - - - - Tests if the code instruction calls the method/constructor - The - The method - True if the instruction calls the method or constructor - - - - Tests if the code instruction loads a constant - The - True if the instruction loads a constant - - - - Tests if the code instruction loads an integer constant - The - The integer constant - True if the instruction loads the constant - - - - Tests if the code instruction loads a floating point constant - The - The floating point constant - True if the instruction loads the constant - - - - Tests if the code instruction loads an enum constant - The - The enum - True if the instruction loads the constant - - - - Tests if the code instruction loads a string constant - The - The string - True if the instruction loads the constant - - - - Tests if the code instruction loads a field - The - The field - Set to true if the address of the field is loaded - True if the instruction loads the field - - - - Tests if the code instruction stores a field - The - The field - True if the instruction stores this field - - - - Adds labels to the code instruction and return it - The - One or several to add - The same code instruction - - - Adds labels to the code instruction and return it - The - An enumeration of - The same code instruction - - - Extracts all labels from the code instruction and returns them - The - A list of - - - Moves all labels from the code instruction to another one - The to move the labels from - The other to move the labels to - The code instruction labels were moved from (now empty) - - - Moves all labels from another code instruction to the current one - The to move the labels to - The other to move the labels from - The code instruction that received the labels - - - Adds ExceptionBlocks to the code instruction and return it - The - One or several to add - The same code instruction - - - Adds ExceptionBlocks to the code instruction and return it - The - An enumeration of - The same code instruction - - - Extracts all ExceptionBlocks from the code instruction and returns them - The - A list of - - - Moves all ExceptionBlocks from the code instruction to another one - The to move the ExceptionBlocks from - The other to move the ExceptionBlocks to - The code instruction blocks were moved from (now empty) - - - Moves all ExceptionBlocks from another code instruction to the current one - The to move the ExceptionBlocks to - The other to move the ExceptionBlocks from - The code instruction that received the blocks - - - General extensions for collections - - - - A simple way to execute code for every element in a collection - The inner type of the collection - The collection - The action to execute - - - - A simple way to execute code for elements in a collection matching a condition - The inner type of the collection - The collection - The predicate - The action to execute - - - - A helper to add an item to a collection - The inner type of the collection - The collection - The item to add - The collection containing the item - - - - A helper to add an item to an array - The inner type of the collection - The array - The item to add - The array containing the item - - - - A helper to add items to an array - The inner type of the collection - The array - The items to add - The array containing the items - - - - General extensions for collections - - - - Tests a class member if it has an IL method body (external methods for example don't have a body) - The member to test - Returns true if the member has an IL body or false if not - - - A file log for debugging - - - - Set this to make Harmony write its log content to this stream - - - - Full pathname of the log file, defaults to a file called harmony.log.txt on your Desktop - - - - The indent character. The default is tab - - - - The current indent level - - - - Changes the indentation level - The value to add to the indentation level - - - - Log a string in a buffered way. Use this method only if you are sure that FlushBuffer will be called - or else logging information is incomplete in case of a crash - The string to log - - - - Logs a list of string in a buffered way. Use this method only if you are sure that FlushBuffer will be called - or else logging information is incomplete in case of a crash - A list of strings to log (they will not be re-indented) - - - - Returns the log buffer and optionally empties it - True to empty the buffer - The buffer. - - - - Replaces the buffer with new lines - The lines to store - - - - Flushes the log buffer to disk (use in combination with LogBuffered) - - - - Log a string directly to disk. Slower method that prevents missing information in case of a crash - The string to log. - - - - Log a string directly to disk if Harmony.DEBUG is true. Slower method that prevents missing information in case of a crash - The string to log. - - - - Resets and deletes the log - - - - Logs some bytes as hex values - The pointer to some memory - The length of bytes to log - - - - A helper class to retrieve reflection info for non-private methods - - - - Given a lambda expression that calls a method, returns the method info - The lambda expression using the method - The method in the lambda expression - - - - Given a lambda expression that calls a method, returns the method info - The generic type - The lambda expression using the method - The method in the lambda expression - - - - Given a lambda expression that calls a method, returns the method info - The generic type - The generic result type - The lambda expression using the method - The method in the lambda expression - - - - Given a lambda expression that calls a method, returns the method info - The lambda expression using the method - The method in the lambda expression - - - - A reflection helper to read and write private elements - The result type defined by GetValue() - - - - Creates a traverse instance from an existing instance - The existing instance - - - - Gets/Sets the current value - The value to read or write - - - - A reflection helper to read and write private elements - - - - Creates a new traverse instance from a class/type - The class/type - A instance - - - - Creates a new traverse instance from a class T - The class - A instance - - - - Creates a new traverse instance from an instance - The object - A instance - - - - Creates a new traverse instance from a named type - The type name, for format see - A instance - - - - Creates a new and empty traverse instance - - - - Creates a new traverse instance from a class/type - The class/type - - - - Creates a new traverse instance from an instance - The object - - - - Gets the current value - The value - - - - Gets the current value - The type of the value - The value - - - - Invokes the current method with arguments and returns the result - The method arguments - The value returned by the method - - - - Invokes the current method with arguments and returns the result - The type of the value - The method arguments - The value returned by the method - - - - Sets a value of the current field or property - The value - The same traverse instance - - - - Gets the type of the current field or property - The type - - - - Moves the current traverse instance to a inner type - The type name - A traverse instance - - - - Moves the current traverse instance to a field - The type name - A traverse instance - - - - Moves the current traverse instance to a field - The type of the field - The type name - A traverse instance - - - - Gets all fields of the current type - A list of field names - - - - Moves the current traverse instance to a property - The type name - Optional property index - A traverse instance - - - - Moves the current traverse instance to a field - The type of the property - The type name - Optional property index - A traverse instance - - - - Gets all properties of the current type - A list of property names - - - - Moves the current traverse instance to a method - The name of the method - The arguments defining the argument types of the method overload - A traverse instance - - - - Moves the current traverse instance to a method - The name of the method - The argument types of the method - The arguments for the method - A traverse instance - - - - Gets all methods of the current type - A list of method names - - - - Checks if the current traverse instance is for a field - True if its a field - - - - Checks if the current traverse instance is for a property - True if its a property - - - - Checks if the current traverse instance is for a method - True if its a method - - - - Checks if the current traverse instance is for a type - True if its a type - - - - Iterates over all fields of the current type and executes a traverse action - Original object - The action receiving a instance for each field - - - - Iterates over all fields of the current type and executes a traverse action - Original object - Target object - The action receiving a pair of instances for each field pair - - - - Iterates over all fields of the current type and executes a traverse action - Original object - Target object - The action receiving a dot path representing the field pair and the instances - - - - Iterates over all properties of the current type and executes a traverse action - Original object - The action receiving a instance for each property - - - - Iterates over all properties of the current type and executes a traverse action - Original object - Target object - The action receiving a pair of instances for each property pair - - - - Iterates over all properties of the current type and executes a traverse action - Original object - Target object - The action receiving a dot path representing the property pair and the instances - - - - A default field action that copies fields to fields - - - - Returns a string that represents the current traverse - A string representation - - - - diff --git a/CRIAOrgy/1.4/Assemblies/0MultiplayerAPI.dll b/CRIAOrgy/1.4/Assemblies/0MultiplayerAPI.dll deleted file mode 100644 index 38b8a0e..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/0MultiplayerAPI.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/Milk.dll b/CRIAOrgy/1.4/Assemblies/Milk.dll deleted file mode 100644 index 0e58733..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/Milk.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/RJW.dll b/CRIAOrgy/1.4/Assemblies/RJW.dll deleted file mode 100644 index cd73522..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/RJW.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.AIModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.AIModule.dll deleted file mode 100644 index 78e7704..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.AIModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.ARModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.ARModule.dll deleted file mode 100644 index faa2f92..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.ARModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.AccessibilityModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.AccessibilityModule.dll deleted file mode 100644 index 5229d35..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.AccessibilityModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.AndroidJNIModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.AndroidJNIModule.dll deleted file mode 100644 index 52d1ec4..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.AndroidJNIModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.ClothModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.ClothModule.dll deleted file mode 100644 index e9a819d..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.ClothModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.ClusterInputModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.ClusterInputModule.dll deleted file mode 100644 index 6324fbb..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.ClusterInputModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.ClusterRendererModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.ClusterRendererModule.dll deleted file mode 100644 index 26ef8fa..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.ClusterRendererModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.CoreModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.CoreModule.dll deleted file mode 100644 index 83b2b0a..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.CoreModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.CrashReportingModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.CrashReportingModule.dll deleted file mode 100644 index 7d391bd..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.CrashReportingModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.DSPGraphModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.DSPGraphModule.dll deleted file mode 100644 index eba8cc1..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.DSPGraphModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.DirectorModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.DirectorModule.dll deleted file mode 100644 index 5976cc5..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.DirectorModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.GameCenterModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.GameCenterModule.dll deleted file mode 100644 index 4797dbe..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.GameCenterModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.GridModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.GridModule.dll deleted file mode 100644 index 61c1ec4..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.GridModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.InputModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.InputModule.dll deleted file mode 100644 index 3be4fb9..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.InputModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.JSONSerializeModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.JSONSerializeModule.dll deleted file mode 100644 index cd1981f..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.JSONSerializeModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.LocalizationModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.LocalizationModule.dll deleted file mode 100644 index 292f854..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.LocalizationModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.ParticleSystemModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.ParticleSystemModule.dll deleted file mode 100644 index c570bbe..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.ParticleSystemModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.SpriteMaskModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.SpriteMaskModule.dll deleted file mode 100644 index 3de5b54..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.SpriteMaskModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.SpriteShapeModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.SpriteShapeModule.dll deleted file mode 100644 index b59a5b8..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.SpriteShapeModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.StreamingModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.StreamingModule.dll deleted file mode 100644 index 69068e5..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.StreamingModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.SubsystemsModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.SubsystemsModule.dll deleted file mode 100644 index b5b7429..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.SubsystemsModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.TerrainModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.TerrainModule.dll deleted file mode 100644 index 18b193e..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.TerrainModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.TerrainPhysicsModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.TerrainPhysicsModule.dll deleted file mode 100644 index 48119b4..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.TerrainPhysicsModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.TilemapModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.TilemapModule.dll deleted file mode 100644 index 6c43665..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.TilemapModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.UIElementsModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.UIElementsModule.dll deleted file mode 100644 index 8dc2716..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.UIElementsModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.UNETModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.UNETModule.dll deleted file mode 100644 index 0234fad..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.UNETModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityAnalyticsModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityAnalyticsModule.dll deleted file mode 100644 index e3c39e8..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityAnalyticsModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityConnectModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityConnectModule.dll deleted file mode 100644 index 7ec2470..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityConnectModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestAssetBundleModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestAssetBundleModule.dll deleted file mode 100644 index 0024d85..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestAssetBundleModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestAudioModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestAudioModule.dll deleted file mode 100644 index d4f9220..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestAudioModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestModule.dll deleted file mode 100644 index b99842a..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestTextureModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestTextureModule.dll deleted file mode 100644 index d8b643a..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestTextureModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestWWWModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestWWWModule.dll deleted file mode 100644 index b8b8314..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.UnityWebRequestWWWModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.VFXModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.VFXModule.dll deleted file mode 100644 index 0895120..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.VFXModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.VRModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.VRModule.dll deleted file mode 100644 index ea9d6fe..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.VRModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.VehiclesModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.VehiclesModule.dll deleted file mode 100644 index f7c1085..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.VehiclesModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.VideoModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.VideoModule.dll deleted file mode 100644 index 92c9898..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.VideoModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.WindModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.WindModule.dll deleted file mode 100644 index 8ac2232..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.WindModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.XRModule.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.XRModule.dll deleted file mode 100644 index a58bf6a..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.XRModule.dll and /dev/null differ diff --git a/CRIAOrgy/1.4/Assemblies/UnityEngine.dll b/CRIAOrgy/1.4/Assemblies/UnityEngine.dll deleted file mode 100644 index d45693c..0000000 Binary files a/CRIAOrgy/1.4/Assemblies/UnityEngine.dll and /dev/null differ diff --git a/CRIAOrgy/CRIAOrgy.csproj b/CRIAOrgy/CRIAOrgy.csproj index e08ba10..542136f 100644 --- a/CRIAOrgy/CRIAOrgy.csproj +++ b/CRIAOrgy/CRIAOrgy.csproj @@ -35,6 +35,7 @@ ..\..\..\..\..\workshop\content\294100\839005762\1.4\Assemblies\0Harmony.dll + False ..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll @@ -42,9 +43,11 @@ ..\..\rjw-mc\1.3\Assemblies\Milk.dll + False ..\..\rjw\1.4\Assemblies\RJW.dll + False @@ -56,9 +59,11 @@ ..\..\..\RimWorldWin64_Data\Managed\UnityEngine.dll + False ..\..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll + False