Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Quick Reply
Search this Thread
Deceased
Original Poster
#51 Old 20th Aug 2015 at 6:06 AM
Quote: Originally posted by plasticbox
It informs me it took 201,7625402 seconds now to do its thing =)

Yeah, that's a locale thing, but you knew that already
Advertisement
Pettifogging Legalist!
retired moderator
#52 Old 20th Aug 2015 at 6:14 AM
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 )

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.
Deceased
Original Poster
#53 Old 20th Aug 2015 at 6:17 AM
Quote: Originally posted by plasticbox
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)
Deceased
Original Poster
#54 Old 20th Aug 2015 at 6:26 AM
Quote: Originally posted by plasticbox
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.
Pettifogging Legalist!
retired moderator
#55 Old 20th Aug 2015 at 6:26 AM
0xB47455B4 Work does not have to be all business. Take time out of the day to socialize with a few colleagues.
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.
Deceased
Original Poster
#56 Old 20th Aug 2015 at 6:32 AM
0x00A43C05 Tip 2 of 5
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."
Deceased
Original Poster
#57 Old 20th Aug 2015 at 6:36 AM
Quote: Originally posted by plasticbox
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
Pettifogging Legalist!
retired moderator
#58 Old 20th Aug 2015 at 6:46 AM
0xE27E4230 Most Sims hate being surrounded by filth and squalor.
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.
Deceased
Original Poster
#59 Old 21st Aug 2015 at 7:31 AM
I noticed when going through the Combined Strings text dump that some of EA's strings have embedded carriage returns. I thought they used '\n' codes everywhere but apparantly they don't. The next version will convert the carriage returns to \n's so that you don't get broken lines in the XML like here:
Code:
<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.
Deceased
Original Poster
#60 Old 21st Aug 2015 at 10:13 AM
Version 3.2.0 is almost ready to go, but I'm already way past bedtime as is. I'll do some final testing tomorrow and hopefully get that uploaded. Sorry for all the rapid updates, but I felt like I was so close to "done" with this and on a home-stretch. I figured out an approach to the XML cross-reference comments that I thought might be faster than methods I'd previously considered. Looks like it performs substantially faster than what I'd even hoped, adding only a handful of seconds to the total extract time.
Deceased
Original Poster
#61 Old 22nd Aug 2015 at 2:13 AM Last edited by scumbumbo : 22nd Aug 2015 at 5:02 AM.
OK, version 3.2.23 looks good and stable. The XML cross reference comments look good and are fast. Including the XML comments adds about another 5 seconds to the extract on my PC. And example snippet from an interaction at random:
Code:
      <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!
Lab Assistant
#62 Old 22nd Aug 2015 at 3:35 AM Last edited by Marquillotuca89 : 22nd Aug 2015 at 4:26 AM.
Default I've got a little problem u.u
Hi!

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.

Quote:

************** 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
----------------------------------------
Deceased
Original Poster
#63 Old 22nd Aug 2015 at 4:45 AM
Quote: Originally posted by Marquillotuca89
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.
Deceased
Original Poster
#64 Old 22nd Aug 2015 at 4:58 AM
Version 3.2.3 fixes the bug @Marquillotuca89 found. Thanks for including the screenshot and exception text info, that made it clear immediately where I'd messed up!
Lab Assistant
#65 Old 23rd Aug 2015 at 4:38 PM Last edited by Marquillotuca89 : 23rd Aug 2015 at 10:33 PM.
Hahhaha well thank you!
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
Pettifogging Legalist!
retired moderator
#66 Old 24th Aug 2015 at 12:52 PM Last edited by plasticbox : 24th Aug 2015 at 1:28 PM.
Quote: Originally posted by Marquillotuca89
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.
Lab Assistant
#67 Old 25th Aug 2015 at 4:47 PM
Quote: Originally posted by plasticbox
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?
Deceased
Original Poster
#68 Old 25th Aug 2015 at 4:47 PM
Yes, an option to include the resource name as and/or in the filename can be done. I'll add that.

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.
Deceased
Original Poster
#69 Old 25th Aug 2015 at 4:52 PM
Quote: Originally posted by scumbumbo
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.
Pettifogging Legalist!
retired moderator
#70 Old 25th Aug 2015 at 5:03 PM
Quote: Originally posted by Marquillotuca89
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.

Quote: Originally posted by scumbumbo
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.
Deceased
Original Poster
#71 Old 26th Aug 2015 at 5:47 AM
Quote: Originally posted by plasticbox
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.
Screenshots
Deceased
Original Poster
#72 Old 26th Aug 2015 at 6:45 AM
If anybody's feeling artistic, I could use a nice Windows icon for the app.
Lab Assistant
#73 Old 28th Aug 2015 at 12:31 AM
Quote: Originally posted by plasticbox
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
Deceased
Original Poster
#74 Old 28th Aug 2015 at 3:12 AM
Quote: Originally posted by Marquillotuca89
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....
Deceased
Original Poster
#75 Old 28th Aug 2015 at 6:20 AM
The latest version (3.3.2) has been uploaded to the Programs and Utilities sections of the MTS downloads.

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!
Page 3 of 4
Back to top