Page 1 of 2 12 LastLast
Results 1 to 15 of 18
  1. #1
    blapanda2's Avatar
    Join Date
    Jun 2016
    Gender
    male
    Posts
    64
    Reputation
    10
    Thanks
    1,176

    Decompiling fails on setdefaults1, for some reason.

    Seems not to be a conflicting issue, but I need it to make some adjustments to items and Co.
    The required method is, on the other hand, not available, for whatever reason. The assembly has its ReLogic.dll (extracted from the executable) and yet I am getting this error for the first 1-999 items:
    Code:
    // Token: 0x06000505 RID: 1285 RVA: 0x0024659C File Offset: 0x0024479C
    public void SetDefaults1(int type)
    {
    /*
    An exception occurred when decompiling this method (06000505)
    
    ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void Terraria.Item::SetDefaults1(System.Int32)
     ---> System.InsufficientExecutionStackException: Insufficient stack to continue executing the program safely. This can happen from having too many functions on the call stack or function on the stack using too much stack space.
       at System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack()
       at ICSharpCode.Decompiler.ILAst.LoopsAndConditions.FindDominatedNodes(HashSet`1 scope, ControlFlowNode head) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\LoopsAndConditions.cs:line 443
       at ICSharpCode.Decompiler.ILAst.LoopsAndConditions.FindConditions(HashSet`1 scope, ControlFlowNode entryNode) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\LoopsAndConditions.cs:line 402
       at ICSharpCode.Decompiler.ILAst.LoopsAndConditions.FindConditions(HashSet`1 scope, ControlFlowNode entryNode) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\LoopsAndConditions.cs:line 409
    .... // repeats 1000 times)
    
       at ICSharpCode.Decompiler.ILAst.LoopsAndConditions.FindConditions(ILBlock block) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\LoopsAndConditions.cs:line 69
       at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 331
       at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 125
       at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
       --- End of inner exception stack trace ---
       at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
       at ICSharpCode.Decompiler.Ast.AstBuilder.<>c__DisplayClass90_0.<AddMethodBody>b__0() in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1519
    */;
    Anyone figured out how to completely decompile the client yet?
    I am done with GTA:O, please be so kindly and don't request any private hacks.

  2. #2
    DARTH WANKSTAIN's Avatar
    Join Date
    May 2019
    Gender
    male
    Posts
    42
    Reputation
    10
    Thanks
    210
    Quote Originally Posted by blapanda2 View Post
    Seems not to be a conflicting issue, but I need it to make some adjustments to items and Co.
    The required method is, on the other hand, not available, for whatever reason. The assembly has its ReLogic.dll (extracted from the executable) and yet I am getting this error for the first 1-999 items:
    Code:
    // Token: 0x06000505 RID: 1285 RVA: 0x0024659C File Offset: 0x0024479C
    public void SetDefaults1(int type)
    {
    /*
    An exception occurred when decompiling this method (06000505)
    
    ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void Terraria.Item::SetDefaults1(System.Int32)
     ---> System.InsufficientExecutionStackException: Insufficient stack to continue executing the program safely. This can happen from having too many functions on the call stack or function on the stack using too much stack space.
       at System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack()
       at ICSharpCode.Decompiler.ILAst.LoopsAndConditions.FindDominatedNodes(HashSet`1 scope, ControlFlowNode head) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\LoopsAndConditions.cs:line 443
       at ICSharpCode.Decompiler.ILAst.LoopsAndConditions.FindConditions(HashSet`1 scope, ControlFlowNode entryNode) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\LoopsAndConditions.cs:line 402
       at ICSharpCode.Decompiler.ILAst.LoopsAndConditions.FindConditions(HashSet`1 scope, ControlFlowNode entryNode) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\LoopsAndConditions.cs:line 409
    .... // repeats 1000 times)
    
       at ICSharpCode.Decompiler.ILAst.LoopsAndConditions.FindConditions(ILBlock block) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\LoopsAndConditions.cs:line 69
       at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 331
       at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 125
       at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
       --- End of inner exception stack trace ---
       at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
       at ICSharpCode.Decompiler.Ast.AstBuilder.<>c__DisplayClass90_0.<AddMethodBody>b__0() in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1519
    */;
    Anyone figured out how to completely decompile the client yet?
    I tried decompiling it myself and I got the same error. I'm not very knowledgeable when it comes to how decompilers actually work, but if you really wanted to fix it you'd have to download dnSpy's source from ****** and fix the decompiler yourself. You could do this by removing this check which is dangerous or by learning how to actually fix it properly. There is another option though and that's Harmony, you can find it on ******, it's a simple patching library you can use if you really need to alter SetDefaults1.

    Hope this helps.
    Last edited by DARTH WANKSTAIN; 05-27-2020 at 08:36 PM. Reason: im regarded

  3. The Following User Says Thank You to DARTH WANKSTAIN For This Useful Post:

    blapanda2 (05-28-2020)

  4. #3
    deavis's Avatar
    Join Date
    Sep 2012
    Gender
    male
    Posts
    11
    Reputation
    10
    Thanks
    59
    I use iLspy to decompile the client, select C# 8.0, add dependencies from Terraria's resources (relogic.dll and stuff). When it's done decompiling (after 1-2mins) open csproj and update .net framework to 4.5 at least. Go to properties -> compilation -> advanced -> select language version to the second option. There's one issue in the whole project, but you can easly remove it.

    I have an issue with Terraria.Localization though, it's not fully working for me, trying to figure this out.

  5. The Following 3 Users Say Thank You to deavis For This Useful Post:

    blapanda2 (05-28-2020),rakion99 (05-28-2020),warbob5000 (05-28-2020)

  6. #4
    blapanda2's Avatar
    Join Date
    Jun 2016
    Gender
    male
    Posts
    64
    Reputation
    10
    Thanks
    1,176
    Quote Originally Posted by deavis View Post
    I use iLspy to decompile the client, select C# 8.0, add dependencies from Terraria's resources (relogic.dll and stuff). When it's done decompiling (after 1-2mins) open csproj and update .net framework to 4.5 at least. Go to properties -> compilation -> advanced -> select language version to the second option. There's one issue in the whole project, but you can easly remove it.

    I have an issue with Terraria.Localization though, it's not fully working for me, trying to figure this out.
    Thanks. If this works with ILSpy, I could simply drag over the method segment to dnspy. I find it quite comfy using that tool atm.

    Edit: This actually worked out quite as expected and wanted, the setdefaults1 gets decompiled perfectly. Thanks again!
    Last edited by blapanda2; 05-28-2020 at 06:27 AM.
    I am done with GTA:O, please be so kindly and don't request any private hacks.

  7. #5
    HiImKyle's Avatar
    Join Date
    Oct 2015
    Gender
    male
    Location
    England
    Posts
    233
    Reputation
    10
    Thanks
    206
    Can I ask why you guys are decompiling the entire thing?

  8. #6
    warbob5000's Avatar
    Join Date
    Feb 2009
    Gender
    male
    Posts
    7
    Reputation
    10
    Thanks
    1
    My Mood
    Cynical
    Quote Originally Posted by deavis View Post
    I use iLspy to decompile the client, select C# 8.0, add dependencies from Terraria's resources (relogic.dll and stuff). When it's done decompiling (after 1-2mins) open csproj and update .net framework to 4.5 at least. Go to properties -> compilation -> advanced -> select language version to the second option. There's one issue in the whole project, but you can easly remove it.

    I have an issue with Terraria.Localization though, it's not fully working for me, trying to figure this out.
    That works for me. I'd spent hours trying with a dnspy version and fixing hundreds of errors only for it to refuse to load any assets when I actually got it to boot. Your method I only had to add System.Xml and it built fine. (Couldn't change language version, possibly because I'm using VS2019)

    For the Terraria.Localization, are you referring to some text elements not having the correct localized text? (As in, text might be "UI.HoverControlSettingIsHold" instead of "Hover Controls: Hold"?). Just renaming the standard "Content.en-US.json" to something like "Content.en-US.Fix.json" should work - for some reason it has trouble finding them. I'm looking into fixing it in the code itself, but it seems to be part of the System Assembly class so might not be able to fix it that way.
    Edit: It has to do with how the files get packed into the exe, which I have zero clue how to fix, but it's a start
    Last edited by warbob5000; 05-28-2020 at 08:43 AM.

  9. #7
    rakion99's Avatar
    Join Date
    May 2020
    Gender
    male
    Posts
    1
    Reputation
    10
    Thanks
    0
    Quote Originally Posted by deavis View Post
    I use iLspy to decompile the client, select C# 8.0, add dependencies from Terraria's resources (relogic.dll and stuff). When it's done decompiling (after 1-2mins) open csproj and update .net framework to 4.5 at least. Go to properties -> compilation -> advanced -> select language version to the second option. There's one issue in the whole project, but you can easly remove it.

    I have an issue with Terraria.Localization though, it's not fully working for me, trying to figure this out.
    Quote Originally Posted by warbob5000 View Post
    That works for me. I'd spent hours trying with a dnspy version and fixing hundreds of errors only for it to refuse to load any assets when I actually got it to boot. Your method I only had to add System.Xml and it built fine. (Couldn't change language version, possibly because I'm using VS2019)

    For the Terraria.Localization, are you referring to some text elements not having the correct localized text? (As in, text might be "UI.HoverControlSettingIsHold" instead of "Hover Controls: Hold"?). Just renaming the standard "Content.en-US.json" to something like "Content.en-US.Fix.json" should work - for some reason it has trouble finding them. I'm looking into fixing it in the code itself, but it seems to be part of the System Assembly class so might not be able to fix it that way.
    Edit: It has to do with how the files get packed into the exe, which I have zero clue how to fix, but it's a start
    to fix the localization issue only have to create a new folder named Terraria.Localization.Content then move all languages over there
    so it looks like

    • Terraria.Localization.Content
      • en-US.Game.json
      • en-US.Items.json
      • en-US.json
      • en-US.Legacy.json
      • en-US.NPCs.json
      • and the
      • rest json files



  10. #8
    deavis's Avatar
    Join Date
    Sep 2012
    Gender
    male
    Posts
    11
    Reputation
    10
    Thanks
    59
    Quote Originally Posted by HiImKyle View Post
    Can I ask why you guys are decompiling the entire thing?
    That's because it has everything needed, after compilation it creates the whole .exe file which is easy to work with. VS has a nice autocompletion for the entire code, i find that better working than searching for some code I want to use in iLspy/dnspy. Anyways that's the only thing I know for now, as I just started playing with terraria code and it works pretty well. Do you have any better way that you can share with us?

  11. #9
    michael53239's Avatar
    Join Date
    Jan 2013
    Gender
    male
    Posts
    41
    Reputation
    10
    Thanks
    1
    DNSPY and any other ways just takes too long as you would have to decompile each time rather than a single time.

  12. #10
    blapanda2's Avatar
    Join Date
    Jun 2016
    Gender
    male
    Posts
    64
    Reputation
    10
    Thanks
    1,176
    dnSpy seems to cause a lot of issues, when compiling. Randomly changes stuff and/or completely breaks UI mechanics and such.
    Decompiling with ILSpy is good, also tried to save it as a C# Project, but those errors ... are literally killing me. 973 errors. Am I doing something wrong here while using ILSpy as a C# exporter?
    Using VS2015.
    I am done with GTA:O, please be so kindly and don't request any private hacks.

  13. #11
    warbob5000's Avatar
    Join Date
    Feb 2009
    Gender
    male
    Posts
    7
    Reputation
    10
    Thanks
    1
    My Mood
    Cynical
    Quote Originally Posted by blapanda2 View Post
    dnSpy seems to cause a lot of issues, when compiling. Randomly changes stuff and/or completely breaks UI mechanics and such.
    Decompiling with ILSpy is good, also tried to save it as a C# Project, but those errors ... are literally killing me. 973 errors. Am I doing something wrong here while using ILSpy as a C# exporter?
    Using VS2015.
    The way that worked for me was deavis' method above.
    Here's what I did, step by step:
    1. Latest ILSpy (6.0.0.5671-preview3)
    2. Get the .dll files - you can get them from decompiling easily enough - and drag them into the ILSpy Assemblies list
    3. Set it to C# 8.0 / VS 2019
    4. Decompile
    5. In the .csproj file change the .net version to 4.5 - when I opened VS2019 it prompted me to increase it to 4.6.1, depends on installed version
    6. Open with Visual Studio (I know 2019 Community works, unsure about earlier versions)
    7. Add System.Xml to the references to fix the single error that appears
    8. Fix the localization stuff (i.e. either rename Content.en-US.json to Content.en-US.Fix.json, or putting them into a Terraria.Localization.Content folder)
    9. In Terraria -> Properties -> Build Events add a post-build event:
      call "$(DevEnvDir)..\tools\vsdevcmd.bat"
      editbin /largeaddressaware "$(TargetPath)"
    10. Build


    Don't forget you have to have the XNA framework stuff installed somewhere. I forget how I installed it, since I did so years ago, but google "Visual Studio 2017 XNA Setup" and there should be a result from a site called flatredbull that has a link to an installable version of XNA (since the official one sometimes has trouble installing) - You should just be able to install it from that download and not have to follow the instructions on the site, but I can't guarantee anything.


    Quote Originally Posted by deavis View Post
    That's because it has everything needed, after compilation it creates the whole .exe file which is easy to work with. VS has a nice autocompletion for the entire code, i find that better working than searching for some code I want to use in iLspy/dnspy. Anyways that's the only thing I know for now, as I just started playing with terraria code and it works pretty well. Do you have any better way that you can share with us?
    dnSpy has the option to modify / recompile individual methods. It's fine if you're only making small tweaks, but I prefer to have the entire decompiled code available since i find it easier to search that way.

  14. The Following User Says Thank You to warbob5000 For This Useful Post:

    blapanda2 (05-29-2020)

  15. #12
    blapanda2's Avatar
    Join Date
    Jun 2016
    Gender
    male
    Posts
    64
    Reputation
    10
    Thanks
    1,176
    Quote Originally Posted by warbob5000 View Post
    The way that worked for me was deavis' method above.
    Here's what I did, step by step:
    1. Latest ILSpy (6.0.0.5671-preview3)
    2. Get the .dll files - you can get them from decompiling easily enough - and drag them into the ILSpy Assemblies list
    3. Set it to C# 8.0 / VS 2019
    4. Decompile
    5. In the .csproj file change the .net version to 4.5 - when I opened VS2019 it prompted me to increase it to 4.6.1, depends on installed version
    6. Open with Visual Studio (I know 2019 Community works, unsure about earlier versions)
    7. Add System.Xml to the references to fix the single error that appears
    8. Fix the localization stuff (i.e. either rename Content.en-US.json to Content.en-US.Fix.json, or putting them into a Terraria.Localization.Content folder)
    9. In Terraria -> Properties -> Build Events add a post-build event:
      call "$(DevEnvDir)..\tools\vsdevcmd.bat"
      editbin /largeaddressaware "$(TargetPath)"
    10. Build


    Don't forget you have to have the XNA framework stuff installed somewhere. I forget how I installed it, since I did so years ago, but google "Visual Studio 2017 XNA Setup" and there should be a result from a site called flatredbull that has a link to an installable version of XNA (since the official one sometimes has trouble installing) - You should just be able to install it from that download and not have to follow the instructions on the site, but I can't guarantee anything.
    So far so good, nothing different for the decompiling section (btw. right clicking and using "Load Dependencies" is a bit faster :P), maybe it is the VS version I am using. VS 2015 Enterprise. Currently downloading the VS Community one, ticked the C# and .NET stuffs, also some optional .NET 4.X.X deps.
    Will report back, when it's installed and ready to continue.

    Edit:
    Going to check on it tomorrow.
    Last edited by blapanda2; 05-29-2020 at 06:13 PM.
    I am done with GTA:O, please be so kindly and don't request any private hacks.

  16. #13
    warbob5000's Avatar
    Join Date
    Feb 2009
    Gender
    male
    Posts
    7
    Reputation
    10
    Thanks
    1
    My Mood
    Cynical
    Quote Originally Posted by blapanda2 View Post
    Just a question about "Add System.Xml to the references", a blank System.Xml file or a predefined from somewhere? Because there aren't any files inside the decompiled structure neither in ILSpy nor the new src-folder.
    In Visual Studio, when you add references you can choose from ones which VS already knows about - System.Xml being one of those. No need to find any files. You should also be able to click on the error and use Visual Studio's error fixing option to add the required references.

  17. #14
    blapanda2's Avatar
    Join Date
    Jun 2016
    Gender
    male
    Posts
    64
    Reputation
    10
    Thanks
    1,176
    Quote Originally Posted by warbob5000 View Post
    In Visual Studio, when you add references you can choose from ones which VS already knows about - System.Xml being one of those. No need to find any files. You should also be able to click on the error and use Visual Studio's error fixing option to add the required references.
    Yea, just saw it amongst the other windows dep system files. Going to check it tomorrow. Thanks so far!

    Btw. Ionic.Zip.CF, Newtonsoft.Json, RailSDK.Net and (for me illogically) Steamworks.NET are missing (for a GOG copy ...? makes no sense).
    Last edited by blapanda2; 05-29-2020 at 06:18 PM.
    I am done with GTA:O, please be so kindly and don't request any private hacks.

  18. #15
    warbob5000's Avatar
    Join Date
    Feb 2009
    Gender
    male
    Posts
    7
    Reputation
    10
    Thanks
    1
    My Mood
    Cynical
    Quote Originally Posted by blapanda2 View Post
    Yea, just saw it amongst the other windows dep system files. Going to check it tomorrow. Thanks so far!

    Btw. Ionic.Zip.CF, Newtonsoft.Json, RailSDK.Net and (for me illogically) Steamworks.NET are missing (for a GOG copy ...? makes no sense).
    I imagine the code is 99% similar between the Steam and GoG versions, so it'd be easier to leave in the Steam stuff and just not have it initialize. If I had a GoG version I'd check the exact differences.

    The Ionic.Zip.CF etc stuff should all be included. ILSpy extracts them as Libraries.Ionic.CF.dll or something similar. Dotpeek puts them into e.g. Libraries\Ionic\CF.dll. With them loaded into ILSpy I didn't even need to import them separately into Visual Studio. In ILSpy when you click on References under Terraria it should say that they were successfully found. If Visual Studio still complains, you might have to add them as references manually.

Page 1 of 2 12 LastLast

Similar Threads

  1. For Some Reason
    By d4rkr4y in forum Call of Duty Modern Warfare 2 Help
    Replies: 2
    Last Post: 03-16-2011, 06:19 PM
  2. [Source Code] this was meant for the help section, but it wont post for some reason.....
    By supercarz1991 in forum Combat Arms Hack Coding / Programming / Source Code
    Replies: 6
    Last Post: 03-10-2011, 05:00 PM
  3. Why cant any hacks for some reason for me ?
    By EmpireLIfe23 in forum Piercing Blow Discussions
    Replies: 7
    Last Post: 02-22-2011, 01:31 PM
  4. Incoming Patch! It's on tuesday for some reason
    By CodeDemon in forum Combat Arms Discussions
    Replies: 24
    Last Post: 08-24-2010, 01:07 AM
  5. For some reason..
    By aimgods in forum General
    Replies: 5
    Last Post: 09-03-2009, 08:57 AM