- Site Map >
- Modding and Creation >
- Sims 4 Creation >
- Modding Tools >
- (Released as download) Combined XML (and Binary Tuning) Extractor
- Site Map >
- Modding and Creation >
- Sims 4 Creation >
- Modding Tools >
- (Released as download) Combined XML (and Binary Tuning) Extractor
Posts: 2,671
Thanks: 62738 in 190 Posts
It informs me it took 201,7625402 seconds now to do its thing =) |
Yeah, that's a locale thing, but you knew that already
Posts: 11,006
Thanks: 423022 in 1121 Posts
(Or do you mean the comma? I am in comma territory so the comma is fine with me )
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Posts: 2,671
Thanks: 62738 in 190 Posts
0x00821E71 How I Dumped Your Father 0x008236D6 Evicted households can be found in household management. |
Hehe, this could become a new hobby. I like this one:
0xA6089129 A sense of frustration from searching for something inspiring and finding nothing.
0xA60E3289 (From Completing The Curator Aspiration)
Posts: 2,671
Thanks: 62738 in 190 Posts
Hm .. locale thing? 201,7625402 seconds seems perfectly reasonable to me (that's a little more than three minutes, right? If I can math enough for that) (Or do you mean the comma? I am in comma territory so the comma is fine with me ) |
Ah, yes, I thought you were pointing out the number because it had the comma in it, hehe. That sounds reasonable to me as well, I'm pretty happy about the speed of it. It runs a lot slower in debug mode, so I was rather surprised when I ran the release version and I blinked and missed the string index step (that takes about a full minute when I run it in the Visual Studio debugger). I thought it had skipped it completely and was getting ready to be very angry at how I managed to screw it up somehow.
Posts: 11,006
Thanks: 423022 in 1121 Posts
0xB475E6ED It's not really a date without face-to-face conversation.
--
0xB4B9FB81 MMMmmm... delicious cake... Sabotaging one's own fitness goals never tasted so good!
0xB4BF328A Threaten to Throw Away
0xB4C49D5A Don't be daft. Of course not.
--
0xB4DF3F53 Careers:
0xB4E298D4 Small Boulder
--
0xB5C128F9 Hug Someone
0xB5C441A4 The outside is hot but the middle is cold. Unsatisfying!
Now I want to make a fortune cookie object XD
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Posts: 2,671
Thanks: 62738 in 190 Posts
0x00A78B24 Keep It Simple
0x00A7AC5B Go to a Crime Scene
Wow, I must really be bored...
0x01CF6459 Jelly Filled Doughnut
0x01CFB44D Unlocked at level 2 of the Criminal career.
OK, that's enough for me.
ETA - I like the fortune cookie idea, btw - I keep one of my favorites in my wallet to always remind me, "Being an able man. There are always."
Posts: 2,671
Thanks: 62738 in 190 Posts
0xB5C128F9 Hug Someone 0xB5C441A4 The outside is hot but the middle is cold. Unsatisfying! |
You know how sometimes you say LOL but you didn't really laugh out loud. That elicited a real LOL
Posts: 11,006
Thanks: 423022 in 1121 Posts
0xE27FEA39 Give Up
0xE2851ED1 Go Hiking
--
0xE2985A61 Knife
0xE29A17E1 Can't intersect other objects.
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Posts: 2,671
Thanks: 62738 in 190 Posts
<V n="instance_display_tooltip" t="enabled"> <T n="enabled">0x8141388<!--"Select the Chemistry Lab and choose "Synthesize Serum", then select Smart from the picker. "--></T> </V>
Note that the result is still perfectly valid XML, but it looks stupid.
Posts: 2,671
Thanks: 62738 in 190 Posts
Posts: 2,671
Thanks: 62738 in 190 Posts
<T n="text_cancel">0x26BE3635<!--String: "Cancel"--></T> <T n="text_ok">0x877D5231<!--String: "OK"--></T> </U> </V> <V t="use_pie_menu" n="pie_menu_option"> <U n="use_pie_menu"> <T n="pie_menu_category">102280<!--PieMenuCategory: cooler_GrabDrink--></T> <T n="pie_menu_name">0xA5B8C3F9<!--String: "{2.String}"--></T> </U> </V> <U n="progress_bar_enabled"> <T n="bar_enabled">False</T> </U> <L n="recipes"> <T>108891<!--Recipe: recipe_Drink_Cooler_Juice_Expensive--></T> <T>108893<!--Recipe: recipe_Drink_Cooler_Milk_Expensive--></T> <T>108895<!--Recipe: recipe_Drink_Cooler_Water_Expensive--></T> </L>
I think that pretty much makes the program feature complete, unless someone has something additional it should be doing? Going once, going twice, going three times... too late!
Posts: 151
Thanks: 793 in 2 Posts
Thank you for this awesome tool, but I've got a little problem. I can extract the 0x62E94D38 file with the tool, it works fine and create one XML file that can ben extracted, but when I try to extract that file in order to obtain the XML's to mod, this error appears.
I click continue but nothing happens, the tool doesn´t extract anything.
Thank you in advance!
Edit: Just in case, my computer has Framework 4.5.
This is the text of the error.
************** Exception Text ************** System.NullReferenceException: Object reference not set to an instance of an object. at TS4_Combined_XML_Extractor.frmMain.InsertCrossrefs(XmlDocument doc, XmlNodeList nodes) at TS4_Combined_XML_Extractor.frmMain.InsertCrossrefs(XmlDocument doc, XmlNodeList nodes) at TS4_Combined_XML_Extractor.frmMain.InsertCrossrefs(XmlDocument doc, XmlNodeList nodes) at TS4_Combined_XML_Extractor.frmMain.ProcessFile(XmlNode node, String strTG) at TS4_Combined_XML_Extractor.frmMain.ProcessFolder(XmlNode node, String outputFolderPath) at TS4_Combined_XML_Extractor.frmMain.PerformXMLExtract(String inputFilePath, String outputFolderPath) at TS4_Combined_XML_Extractor.frmMain.btnExtract_Click(Object sender, EventArgs e) at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ************** Loaded Assemblies ************** mscorlib Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.18444 built by: FX451RTMGDR CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll ---------------------------------------- TS4 Combined XML Extractor Assembly Version: 3.2.2.0 Win32 Version: 3.2.2.0 CodeBase: file:///C:/Users/Marco/Documents/Todo%20los%20relacionado%20con%20Los%20Sims%204/Modding/Scumbumbo%20XML%20Extractor/TS4%20Combined%20XML%20Extractor.exe ---------------------------------------- Microsoft.VisualBasic Assembly Version: 10.0.0.0 Win32 Version: 11.0.50938.18408 built by: FX451RTMGREL CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll ---------------------------------------- System Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.34238 built by: FX452RTMGDR CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Core Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll ---------------------------------------- System.Windows.Forms Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System.Drawing Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------------------------------------- System.Runtime.Remoting Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.34245 built by: FX452RTMGDR CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll ---------------------------------------- System.Xml Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.34234 built by: FX452RTMGDR CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll ---------------------------------------- System.Configuration Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll ---------------------------------------- |
Posts: 2,671
Thanks: 62738 in 190 Posts
I've got a little problem. I can extract the 0x62E94D38 file with the tool, it works fine and create one XML file that can ben extracted, but when I try to extract that file in order to obtain the XML's to mod... |
Yeah, I'm an idiot - I know what I did wrong, update is on the way soon.
Posts: 2,671
Thanks: 62738 in 190 Posts
Posts: 151
Thanks: 793 in 2 Posts
I'm gonna test it as fas as I can.
Edit: Now it works, thank you so much!
One question, someone shared XML's files that weren't named by those weird codes, was named by the content for example "Sure_Sale_Cooldown XXXXXXX", they were pretty useful, This tool includes some option to name it like that?
Sorry for the question, I'm a little lost. Hahaha
Posts: 11,006
Thanks: 423022 in 1121 Posts
was named by the content for example "Sure_Sale_Cooldown XXXXXXX", they were pretty useful, This tool includes some option to name it like that? |
That might be neat (although I'd prefer TGI first, then the name) but you can find stuff just as quickly when you search for that string *in* the files. The string is the same after all.
--
This has the same issue as the conflict detector in that it throws exceptions when a game package is already open, rather than asking the user to close it. (Couldn't it also read the package while it's open?)
--
And I'd also like to suggest to upload this tool as an actual upload -- if you compare the TS4 and TS2/3 tools section in Uploads, TS4 is a little sparse atm (which is a shame because actual uploads get a lot more exposure than a post in this forum). I think that's because when people started to make tools around the time the game was released, most were quite WIP and experimental so they decided to stick with this forum for the time being .. and somehow that became the thing to do long-term.
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Posts: 151
Thanks: 793 in 2 Posts
That might be neat (although I'd prefer TGI first, then the name) but you can find stuff just as quickly when you search for that string *in* the files. The string is the same after all. |
Thank you! Where I can find the string?
Posts: 2,671
Thanks: 62738 in 190 Posts
Will fix the exception, but as far as reading the package when it's open the exception will occur if another program has the package open for exclusive access. This is usually because the other program has opened the package without specifying that it will be using the package for reading only - so that's a file sharing violation that is enforced by the OS and can't be avoided. This program does open the packages read-only, so it will work if the other program has the package open read-only as well.
I'll add it to the tools upload section as well once these changes are done - likely in a day or two. I'll also want to update the tutorial for the program.
Any other final suggestions are still welcome.
Posts: 2,671
Thanks: 62738 in 190 Posts
Any other final suggestions are still welcome. |
Just remembered one other thing I wanted to add and that's an overwrite warning if the temporary or final XML files already exist. I may hold off on that and get the current changes done first and uploaded to tools.
Posts: 11,006
Thanks: 423022 in 1121 Posts
Thank you! Where I can find the string? |
I thought you wanted the name in the filename because you thought that way it'd be easier to find a file that you already know the name of. Like when you're looking at an object that has "object_tableDining_2x1" in the tuning field, or a reference from some other XML. I just wanted to point out that it goes just as fast when searching for that string in the content, rather than just in the name.
Will fix the exception, but as far as reading the package when it's open the exception will occur if another program has the package open for exclusive access. This is usually because the other program has opened the package without specifying that it will be using the package for reading only - so that's a file sharing violation that is enforced by the OS and can't be avoided |
Yeah, sure -- I just meant that it could prompt the user in a more straightforward manner (perhaps it's even possible to tell *which* other application has the package open?), so that it's easier for people to tell what's going on and what they need to do now.
No hurry about uploading to Tools =).
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Posts: 2,671
Thanks: 62738 in 190 Posts
I just meant that it could prompt the user in a more straightforward manner (perhaps it's even possible to tell *which* other application has the package open?), so that it's easier for people to tell what's going on and what they need to do now. |
I think it's working pretty well now, it will detect an open file (I don't think it's worth the code trouble to find what process has the package open) and give an error dialog and skip it.
In the process I found another error, if the combined tuning is pulled out of an old package (e.g. SimulationFullBuild) and it's not a binary tuning, but is actually the old style combined tuning, that would crash as well. Now it will just rename the binary tuning to an XML file and continue. The only bad thing is that eliminates the XML name references for that input package, as for speed it is pulling and indexing those names as it converts from the binary tuning to combined XML. I think it's worth that one inconvenience which likely should never happen for the speed gains.
Posts: 2,671
Thanks: 62738 in 190 Posts
Posts: 151
Thanks: 793 in 2 Posts
I thought you wanted the name in the filename because you thought that way it'd be easier to find a file that you already know the name of. Like when you're looking at an object that has "object_tableDining_2x1" in the tuning field, or a reference from some other XML. I just wanted to point out that it goes just as fast when searching for that string in the content, rather than just in the name. |
Aaaaah , sometimes I feel a little stupid xD. Well, I can use the windows search box and if I know the name, I will find it anyway, but when you are modding something that requires a lot of XML files, you can make a mistake if you just see the weird names instead of something descriptive. That's why the XML file name could help a lot. It also could help if I want to modify something and I don't know what I have to change.
And thank you @scumbumbo, I will love you if you add it hahaha. :lovestruc ... ok no
Posts: 2,671
Thanks: 62738 in 190 Posts
the XML file name could help a lot. It also could help if I want to modify something and I don't know what I have to change. |
I got that bit working, and some other new features as well. Even made an icon.
I'm just stuck on getting the credit card verification for the monthly subscription fee working....
Posts: 2,671
Thanks: 62738 in 190 Posts
In case you didn't realize, the bit about the credit verification above is just a bad joke.
Locked thread | Locked by: plasticbox Reason: See Downloads > Tools! | |
Who Posted
|