Creating an NRaas project Attn C# Devs: ErrorTrap

Talk nerdy to us here.
Post Reply
User avatar
Chain_Reaction
Site Admin
Reactions:
Posts: 7608
Joined: December 30th, 2011, 6:00 pm
Answers: 81
Contact:

Attn C# Devs: ErrorTrap

Post by Chain_Reaction » January 10th, 2014, 4:22 am

Yikes. Has anyone looked into this thing yet? Updating it for the patch is going to be the most challenging with little knowledge of what exactly is going on. I see the SimIFace DLL even needs some interfaces changed entirely from the text file Twallan provided. We need to start building collective knowledge on this thing now. Anyone?

User avatar
JunJayMdM
Reactions:
Posts: 262
Joined: April 2nd, 2012, 6:00 pm

Post by JunJayMdM » January 10th, 2014, 4:24 am

I'm pretty sure the Conversion app will do it, at least automatically apply the changes to the Core files, as per the ErrorTrap.cs file found in the Sims3/Compiler folder. If we just place the new DLLs in there and let it do its thing, maybe it will automatically do it. Either way, the ErrorTrap.cs file is definitely the one that needs to be looked at, as there are IL notes scattered around

User avatar
Chain_Reaction
Site Admin
Reactions:
Posts: 7608
Joined: December 30th, 2011, 6:00 pm
Answers: 81
Contact:

Post by Chain_Reaction » January 10th, 2014, 4:33 am

Thanks for reposting over here! I was looking at that and remaining hopeful. If anyone gets time (including me) it would be best to try to generate a working SimIFace DLL with the current patch level. Once we patch we aren't going to know if the patch is the cause for issues or we screwed up. Either way having no idea if we did it right is going to make that mod for the extremely daring for a while.

User avatar
JunJayMdM
Reactions:
Posts: 262
Joined: April 2nd, 2012, 6:00 pm

Post by JunJayMdM » January 10th, 2014, 4:44 am

I'm gonna give it a try later and see what happens. As long as we can achieve to make it patch-compliant, that's good enough, as for the rest (dereferences and such) I guess it's going to be trial and error, but that's the lesser of two evils

User avatar
JunJayMdM
Reactions:
Posts: 262
Joined: April 2nd, 2012, 6:00 pm

Post by JunJayMdM » January 10th, 2014, 10:49 am

Ok, I spent a couple of hours investigating the whole Conversion and Core thing and the outcome is : I'm totally lost and confused

That sounds bad, but the fact is that I don't understand how that works. The first step is manually disassemble all the DLLs so you have all the IL files. Then, ErrorTrap needs the ScriptCore.dll altered but I don't know how to tell it "Hey, take this IL and alter it for ErrorTrap". Running the Conversion app gives me a window with buttons saying Stage 1, Stage 2, etc... Core is not even an app so I don't know what it does...

If someone can figure how to make that tool work it'd be great, else I don't see how it would be possible to apply the changes needed to the assembly. It could be done manually but what do we need to change?

User avatar
Chain_Reaction
Site Admin
Reactions:
Posts: 7608
Joined: December 30th, 2011, 6:00 pm
Answers: 81
Contact:

Post by Chain_Reaction » January 11th, 2014, 3:10 am

Yeah I am in the same boat. There is obviously a step we are overlooking but I haven't found it yet. I'm going to keep trying things and hopefully one of us has an "ah-ha" moment before the patch gate opens.

User avatar
JunJayMdM
Reactions:
Posts: 262
Joined: April 2nd, 2012, 6:00 pm

Post by JunJayMdM » January 11th, 2014, 5:30 am

From what I gathered, the Core thing should be left alone as the changes done there involve a group of custom methods, more importantly SpeedTrap. Then there's a class called Test, involving NRaas.dll so I wouldn't go there as it seems to be something unfinished. Our best option is to compare the two ScriptCore files (EA's and Twallan's) and note the changes made so they can be replicated for the new patch. The comparison should be done with the ScriptCore that's 'SpeedTrap free', which is the one inside the ErrorTrap package. I'll get to it soon and see how it goes, although I think it won't be a problem following this path

User avatar
Chain_Reaction
Site Admin
Reactions:
Posts: 7608
Joined: December 30th, 2011, 6:00 pm
Answers: 81
Contact:

Post by Chain_Reaction » January 11th, 2014, 5:44 am

That was my plan. The conversion app is not something we'll likely figure out. I just spent some more time with it and I don't get it. My next plan was to decompile the SimIFace from EA and the one in ErrorTrap and then run them through WinMerge to note the differences. I doubt much if anything is going to change in that interface file with the new patch anyhow. EA wouldn't implement new interfaces to fix bugs.

User avatar
JunJayMdM
Reactions:
Posts: 262
Joined: April 2nd, 2012, 6:00 pm

Post by JunJayMdM » January 11th, 2014, 5:54 am

It's ScriptCore, not SimIFace :)

I had done what you had in mind and so far I'm seeing a new class called ExceptionTrap, a class made Public and references to ExceptionTrap scattered around. That's all I see for now but I'll keep digging.
Yeah I agree it's unlikely that EA will make changes there but...well let's hope they really don't

User avatar
JunJayMdM
Reactions:
Posts: 262
Joined: April 2nd, 2012, 6:00 pm

Post by JunJayMdM » January 11th, 2014, 6:00 am

P.S. If they don't make changes, perhaps it's possible to disassemble the original EA file, copy/paste only the classes to the new IL and reassemble?

Post Reply