Ignore:
Timestamp:
Jul 20, 2014, 8:50:13 PM (10 years ago)
Author:
alloc
Message:

fixes

Location:
binary-improvements/assembly-patcher
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/assembly-patcher/Assembly-Patcher.userprefs

    r86 r93  
    33  <MonoDevelop.Ide.Workbench ActiveDocument="Main.cs">
    44    <Files>
    5       <File FileName="Main.cs" Line="28" Column="4" />
     5      <File FileName="Main.cs" Line="53" Column="57" />
    66      <File FileName="AssemblyInfo.cs" Line="21" Column="1" />
    77    </Files>
  • binary-improvements/assembly-patcher/Main.cs

    r84 r93  
    1111                {
    1212                        ModuleDefinition module = ModuleDefinition.ReadModule ("Assembly-CSharp.dll");
     13
     14                        TypeDefinition type = module.GetType ("GameManager");
     15                        if (isPatched (type)) {
     16                                Console.WriteLine("Assembly already patched");
     17                                return;
     18                        }
     19                        markTypePatched (module, type);
     20
    1321                        telnetPatch (module);
    1422                        connectLogPatch (module);
    15                         executionLogPatch( module);
     23                        executionLogPatch (module);
    1624                        publicCommandPermissionsPatch (module);
     25                        playerDataPatch (module);
    1726                        module.Write ("Assembly-CSharp.dll");
    1827                        Console.WriteLine ("Done");
     28                }
     29
     30                private static void playerDataPatch (ModuleDefinition module)
     31                {
     32                        TypeDefinition type = module.GetType ("GameManager");
     33
     34                        addHook (type, "SavePlayerData", true, 2, true, typeof(PlayerDataStuff).GetMethod ("GM_SavePlayerData"));
    1935                }
    2036
     
    2339                        TypeDefinition type = module.GetType ("AdminTools");
    2440
    25                         if (isPatched (type)) {
    26                                 return;
    27                         }
    28 
    29                         markTypePatched (module, type);
    3041                        replaceMethod (type, "GetAllowedCommandsList", true, 1, typeof(AdminToolsStuff).GetMethod ("GetAllowedCommandsList"));
    3142                }
     
    3546                        TypeDefinition type = module.GetType ("GameManager");
    3647
    37                         if (isPatched (type)) {
    38                                 return;
    39                         }
    40 
    41                         markTypePatched (module, type);
    4248                        addHook (type, "RequestToSpawnPlayer", true, 5, true, typeof(AllocsLogFunctions).GetMethod ("RequestToSpawnPlayer"));
    4349                }
     
    4753                        TypeDefinition type = module.GetType ("ConsoleSdtd");
    4854
    49                         if (isPatched (type)) {
    50                                 return;
    51                         }
    52 
    53                         markTypePatched (module, type);
    5455                        addHook (type, "ExecuteCmdFromClient", true, 3, false, typeof(AllocsLogFunctions).GetMethod ("ExecuteCmdFromClient"));
    5556                }
     
    5960                        TypeDefinition type = module.GetType ("NetTelnetServer");
    6061
    61                         if (isPatched (type)) {
    62                                 return;
    63                         }
    64 
    65                         markTypePatched (module, type);
    6662                        replaceMethod (type, ".ctor", false, 1, typeof(AllocsNetTelnetServer).GetMethod ("init"));
    6763                        replaceMethod (type, "Disconnect", false, 0, typeof(AllocsNetTelnetServer).GetMethod ("Disconnect"));
Note: See TracChangeset for help on using the changeset viewer.