Mod The Sims

Mod The Sims (https://modthesims.info/index.php)
-   Modding Discussion (https://modthesims.info/forumdisplay.php?f=547)
-   -   Testers wanted: STBLizer (updated 26/9/09, new templates) (https://modthesims.info/showthread.php?t=360093)

chann 30th Jul 2009 1:03 PM

Testers wanted: STBLizer (updated 26/9/09, new templates)
 
5 Attachment(s)
This is a simple tool that allows you to create STBLs by batch-importing one or more CSV files. It's really fast - I've tested this tool on a EEE PC 701 running Windows Server 2003, and it imported 9,746 strings from 42 different files in under 10 seconds! Take that, underpowered netbook haters.

The latest version lets you use keys in string form as well as hash form. If you understand how localization works you can use this add new strings to the existing systems, or you can use STBLizer as a basic STBL compiler for script mods and such.

Requirements
Microsoft .NET Framework 3.5
If you want to replace the default game strings, you'll also need will an unpacked language STBL file, extracted with a package editor like s3pe or Postal. After the 1.3.24 patch, they are now located in GameData\Shared\Packages\DeltaBuild0.package. This is an optional step: if you don't want to edit the original game strings, you don't need to extract one.

Installation
Unzip it wherever you like.

1.3 changes
  • Updated s3pi library to latest version (to fix duplicate string bug)

1.2 changes
  • Now accepts keys in string form (e.g. "Gameplay/Excel/Careers/CareerList:Science").
  • Updated s3pi library to latest version

1.1 changes
  • Removed the filename boxes (since loading a STBL is no longer compulsory)
  • Now compiles new STBLs from scratch, instead of updating the 4MB main one (thanks to Tiger's learnings). Export functionality is still retained, so you can dump the game STBL to a file for editing in the first place.
  • Optimised the key parsing code
  • Fixed bug with Dictionary.Add
  • Changed name from TS3 String Importer to STBLizer

Usage
First of all, select your STBL and click "Export STBL to CSV" to save its contents to a plaintext CSV file.

Copy and paste the entries you want to edit into a separate CSV and change the strings there (don't edit the hash keys). Then go back to STBLizer and click "Compile new STBL". Select your CSVs (you can select multiple files at a time), and the tool will build the STBL. Save the new STBL somewhere, import it into a .package with the correct type (0x220557DA) and instance (see below), put it in your Mods\Packages\ folder, and you're good to go.

How do I edit CSV files?
If you feel intrepid, use Notepad. If you want the familiarity of a spreadsheet program, Openoffice.org Calc is terrific.

But, whatever you do, DON'T USE MICROSOFT EXCEL TO EDIT CSV FILES! Excel strips out ALL the double quotes around text, which will break any multi-line strings and confuse the String Importer! That's why CSVs exported with this tool have quotes around every field by default.

Example snippet from a valid CSV
Code:
"0x5F3B64826BA92BE6","Alternative Sport Society"
"0x79D53E69B1BE037C","Berjes Hogan United"
"0xA4D0A0438A673D55","The Cleanliness Conservancy"
"0x6E41B34B602D3444","Cranial Research"
"0xF9EA5093D94027D6","Family Happiness Programs"
"Gameplay/Excel/Charity/Sheet1:MyMadeUpCharity","My Made-up Charity"*

(*will not actually work without an XML hack)

Formatting notes
  • The order of the strings does not matter.
  • The tool will ignore any fields past the first two, but the first must contain a valid key and the second a valid string. Strangeness may result if the second column is empty (you might get the **** MissingText **** error).
  • This tool does not check for edits to the same string in different files. There Can Only Be One, so the file that loads last will overwrite any entries changed by previous files.
  • The most common error you will get is if the CSV is badly formatted (missing quotes or commas, or a blank line where there shouldn't be one). The log box will show the progress of the CSV reader around the point the file "breaks", so find that point and fix the file then try importing it again.
  • The csv files should be encoded as UTF-8, otherwise curly quotes and special characters will show up as garbage. If you decide to use Calc, make sure you select "Unicode (UTF-8)" in the dropdown 'Character set' box when you open up the CSV. If using Notepad, you can choose encoding when you save.

Instances
You must choose a unique instance for your STBL when you package it, following these guidelines:

The first byte must be the appropriate localisation code for your game. There is a list here. 00 is English.
The next 3 bytes are random.
Finally the last 4 bytes must be less than 0BA8342F, the code for the default STBL, so that the game will prioritise them. (I hope you can read hex!) That means anything from 00000000 to 0BA8324E will be accepted by the game engine. Everything above will be rejected.

In summary:

Quote:
00 = English language code
0F16B0 = random bytes
0BA8342F = must be lower than this


Default text replacements
I've attached to this post two zips containing template .csv files. The "templates" are really just the files containing all the relevant strings for a particular theme: one zip contains the last/male/female names (used to make this mod), while the other contains the names and job descriptions for all default careers. They should work with non-English versions, provided you choose the appropriate language code when you package the .stbl.

For names, you will need 1010 female names, 1037 male names, and 3127 last names to *completely* overwrite the EA names. After you have the names, make a fresh copy of the .csv template you want to edit, open it up for editing, and replace crappy EA names with your cool ones. The reason there are 6254 last names because they are doubled as male/female pairs. It will be necessary to duplicate the list and sort the names alphabetically (at least this is what I did). Now Excel *may* work as an editor for this job - only because you're working with names, not strings that could contain illegal characters (, or ") or strings with line breaks in them. However, you'll have to work out encoding problems on your own.

The same goes for the career templates. Just remember if you want more than a superficial text change, you'll have to make an XML mod.

J. M. Pescado 31st Jul 2009 3:33 AM

What happens if the string also contains quotes?

chann 31st Jul 2009 3:52 AM

Quote: Originally posted by J. M. Pescado
What happens if the string also contains quotes?


Straight double quotes are represented by two consecutive quotation marks:

Code:
"Quartz is often caused by the natural irradiation. Psychologists have attributed this to ""daddy issues."""


However most (but not all) of the EA text uses curly double quotes, counting as separate characters. Single quotes are safe.

quetzilla 31st Jul 2009 8:26 AM

2 questions:

1) does the stbl have to get put back in a package for the game to care? (haven't played with STBL changes yet)

2) if you don't mind sharing your source code (or providing a .dll) I could put a snazzier interface on that so users could edit the CSV file right in the program (with handy features like built in search).

I'm still a bit of a C# novice but UI's are my specialty

chann 31st Jul 2009 9:28 AM

1 Attachment(s)
1) Yes you have to package it with the right type/instance (0x220557DA/0x000F16B00BA8342F) for the changes to show up in-game.

2) If you like. I haven't considered doing an editing interface at this point; I just wanted to get the tool up and running first. Plus it's really designed so you can maintain multiple CSV files (for modularity) rather than edit directly The One STBL. Still you're welcome to have a look at the source.

quetzilla 1st Aug 2009 3:53 AM

Quote: Originally posted by channTL
1) Yes you have to package it with the right type/instance (0x220557DA/0x000F16B00BA8342F) for the changes to show up in-game.

2) If you like. I haven't considered doing an editing interface at this point; I just wanted to get the tool up and running first. Plus it's really designed so you can maintain multiple CSV files (for modularity) rather than edit directly The One STBL. Still you're welcome to have a look at the source.


Well that's what I meant, just editing the CSV files inside the program thereby making it impossible for people to screw them up. I'll take a look, burnt myself out today messing with LINQ to XML on my own project so I'll peek at your code tomorrow or something

chann 1st Aug 2009 9:31 AM

Quote: Originally posted by quetzilla
Well that's what I meant, just editing the CSV files inside the program thereby making it impossible for people to screw them up. I'll take a look, burnt myself out today messing with LINQ to XML on my own project so I'll peek at your code tomorrow or something


Actually that sounds like a good idea. Go ahead, exploit the code as you wish

quetzilla 2nd Aug 2009 2:27 AM

Took a look at the code, shouldn't be too hard to splice it into a new app. I've made a mockup for the UI:



Doesn't do anything yet, but basically the .csv files will go on the left, and you can then select one to edit it in the right side. The big box at the bottom is for editing long strings that don't fit nice in the right side editor. It doesn't start out that big but I took the screen after playing with the resizing bars (white) and didn't feel like taking another one :P.

What's left is splicing in your code so that buttons do things .

quetzilla 3rd Aug 2009 2:34 AM

Update:

I've got it now so that it finds all the .csv files in your packages directory and lists them, and it also loads them into the editor. The editor doesn't actually edit yet since there are some kinks in the loading to work out. Once that's worked out the next step will be saving back to CSV, and then merging the CSVs back into the STBL (not too hard since that code is mostly written by channTL), and hopefully from there automatically packing that back into a .package.

That way people can just put a strings.csv file in with any mod they distribute, and the user only had to run the StringEditor and it can do one click magic to make a merged STBL of all the .csv's.

TigerM 3rd Aug 2009 7:42 AM

Quote: Originally posted by quetzilla
Update:

I've got it now so that it finds all the .csv files in your packages directory and lists them, and it also loads them into the editor. The editor doesn't actually edit yet since there are some kinks in the loading to work out. Once that's worked out the next step will be saving back to CSV, and then merging the CSVs back into the STBL (not too hard since that code is mostly written by channTL), and hopefully from there automatically packing that back into a .package.

That way people can just put a strings.csv file in with any mod they distribute, and the user only had to run the StringEditor and it can do one click magic to make a merged STBL of all the .csv's.
Why can't the mod creators just put a package in there with the string tables already loaded, then people using the mod just have to put the package in their mods directory. As long as each package has a unique instance ID for their string tables, any number of packages can define new or replacement strings.

chann 3rd Aug 2009 9:27 AM

Quote: Originally posted by TigerM
Why can't the mod creators just put a package in there with the string tables already loaded, then people using the mod just have to put the package in their mods directory. As long as each package has a unique instance ID for their string tables, any number of packages can define new or replacement strings.


I thought that was impossible!

I experimented with it a while ago with a 2-string STBL written in hex. If the new STBL has the same instance as the original (000F16B00BA8342F), the rest of the game text goes missing with asterisks. If it has a unique instance, the changes don't appear at all.

TigerM 3rd Aug 2009 9:32 AM

When you tested, did you make sure it still had the right language marker? (IE the high byte of the instance was 00 for english)

chann 3rd Aug 2009 10:02 AM

Actually I just dug out my test STBL and tried it again with a random instance, 0x0028C7266C27A5A8. No changes appeared. I even tried it as an override mod, no effect there either.

TigerM 3rd Aug 2009 10:05 AM

Hmm, very odd, when I just tried it, it worked perfectly fine...

TigerM 3rd Aug 2009 10:15 AM

Ok I just tried again with a newly made package, and this time it didn't work...

chann 3rd Aug 2009 10:20 AM

Are you adding new strings or replacing them? Was there something you did different? There must be some secret to all of this!

TigerM 3rd Aug 2009 10:27 AM

Purely replacing. There are a few difference and I'm trying to isolate them now... But so far nothing. I'm wishing I hadn't deleted that package now.

TigerM 3rd Aug 2009 11:13 AM

Right then, I have an answer.

It seems like it picks them in order of the lower 32 bits, going from lowest to highest. So to override just a part of the standard string table, you have to have it LOWER than the standard has.

That means it has to be below BA8342F to work. BA8342E will override strings, BA83430 will not. Bits 56..32 do not matter and can be any random value. Of course bits 64..56 must be the language code.

For once I'm glad I had a bug. The reason my first test worked is because I was trying to mask off the language code, but I accidentally masked it off using a 32 bit value instead of a 64 bit value, so bits 56..24 were all 0, meaning it fell below the value from the standard strings table. If I hadn't had that bug, I probably would have never figured out that it WAS possible to replace strings.

quetzilla 4th Aug 2009 4:30 AM

At this point the core editing functionality is complete -- all that's left is geting STBL's out of and back into .package files. I may or may not try to tackle that tomorrow.

chann 4th Aug 2009 10:23 AM

Quote: Originally posted by TigerM
Right then, I have an answer.

It seems like it picks them in order of the lower 32 bits, going from lowest to highest. So to override just a part of the standard string table, you have to have it LOWER than the standard has.

That means it has to be below BA8342F to work. BA8342E will override strings, BA83430 will not. Bits 56..32 do not matter and can be any random value. Of course bits 64..56 must be the language code.

For once I'm glad I had a bug. The reason my first test worked is because I was trying to mask off the language code, but I accidentally masked it off using a 32 bit value instead of a 64 bit value, so bits 56..24 were all 0, meaning it fell below the value from the standard strings table. If I hadn't had that bug, I probably would have never figured out that it WAS possible to replace strings.


OK, I gave this another try and changed the instance on my test file to match. No luck AGAIN. Am I interpreting the above correctly? Based on the default STBL instance:

00 = language code
0F16B0 = random bytes
0BA8342F = must be lower than this

TigerM 4th Aug 2009 11:05 AM

That's how I'm doing it. My latest test was using 0x00FFFFFF0AFFFFFF.

Example: here

ETA: And looking at the instance IDs from a number of EA string tables, it appears this is by design, and not just a quirk in how it works. All the store stuff the low 32 bits are 8352xxxx

chann 4th Aug 2009 2:36 PM

Your package works fine for me, which is even more puzzling in a way. There must be some weird problem on my end.

TigerM 4th Aug 2009 10:48 PM

Well which strings were you replacing in your test?

chann 5th Aug 2009 1:25 PM

I'm using the name list from my mod mainly, also I've tried replacing some of the UI strings as you did to avoid needing to load up a save. I've been using Pescado's stblc to compile the .stbl files.

EDIT: OK, I finally got a unique instance STBL to load, albeit a copy of the full one. Tinkering continues.

EDIT 2: A breakthrough! I finally got my name mod to work with a new instance and have uploaded a new version of it. Only took about a week to work out what was wrong

Anyway, as a side effect of this work I've upgraded the TS3 String Importer to compile new STBLs from CSVs instead of just importing them. Now the tool is even more user-unfriendly I will upload this newer version soon after I streamline it a little more.

kattol 6th Aug 2009 2:50 PM

Non-English letters
 
Thanks a heap for a great mod and a good explanation how to do this. After coming up with Swedish names, it was easy as pie to get the package together, and all new Sims get names from my lists now.

There is one problem however. The Swedish vowels 'å', 'ä' and 'ö' doesn't seem to be added correctly into the package. In the csv files everything looks okay, but in the game the letters are substituted with other characters. The 'ä' is, for example, replaced with an underscore, making a name like 'Hägerstad' come out as 'H_gerstad' in the game. When I look at the package values in s3pe the same name looks like this: 'H�gerstad'.

Do you have any suggestions as to how I can get around this? I am, sadly enough, utterly clueless as to what to do. I used this type of mod in Sims2 as well, and it worked fine, so I've never had to muck about with this issue before...

J. M. Pescado 6th Aug 2009 3:04 PM

This is an encoding issue: Nonstandard characters have a pile of odd encodings that appears to differ between the 8-bit representations stored in NOTEPAD and the 16-bit representations used in-game. As most of the programmers here use standard keyboards and simply do not have keys for such characters, we cannot reproduce them easily. I can hack them into stblc if you could tell me where they appear in the game normally, but otherwise I have no idea how to even produce such a letter: No such button exists on my keyboard!

kattol 6th Aug 2009 3:29 PM

Quote: Originally posted by J. M. Pescado
This is an encoding issue: Nonstandard characters have a pile of odd encodings that appears to differ between the 8-bit representations stored in NOTEPAD and the 16-bit representations used in-game. As most of the programmers here use standard keyboards and simply do not have keys for such characters, we cannot reproduce them easily. I can hack them into stblc if you could tell me where they appear in the game normally, but otherwise I have no idea how to even produce such a letter: No such button exists on my keyboard!


Yeah, I thought it would be something like this. When I travelled to German, in business, for a while, I had to use alt + the ASCII Dec code punched in on the numeric keypad, to be able to use them. I have no idea if this helps but the Dec ASCII code for the letters are as follows:

Å: 143
å: 134
Ä: 142
ä: 132
Ö: 153
ö: 148

So, keeping the alt key down and punching these numbers on the numpad should generate these letters.

I'm wondering if there's a way of replacing these letters with their ASCII code (in the correct ASCII format, whichever that might be here, of course) in the csv files, or something like that. I might be totally off here, but, as I said, I am a bit clueless when it comes to this.

chann 6th Aug 2009 4:39 PM

Try setting the Encoding to UTF-8 in Notepad's Save As dialog.

kattol 6th Aug 2009 6:42 PM

Quote: Originally posted by channTL
Try setting the Encoding to UTF-8 in Notepad's Save As dialog.


I thought I did that, but as I fiddled about with missing quote marks quite a bit, somewhere along the line I must have missed it. Duh! It looks perfectly fine in s3pe now, so I'm sure it will in the game as well.

Thanks a bunch! I feel like such an idiot... *laughs*

jordi 6th Aug 2009 10:37 PM

Quote: Originally posted by channTL
EDIT 2: A breakthrough! I finally got my name mod to work with a new instance and have uploaded a new version of it. Only took about a week to work out what was wrong

Anyway, as a side effect of this work I've upgraded the TS3 String Importer to compile new STBLs from CSVs instead of just importing them. Now the tool is even more user-unfriendly I will upload this newer version soon after I streamline it a little more.

Awesome work man. I reverse-engineered your updated mod, I see how you did it. But still looking forward to the completed tool.

chann 7th Aug 2009 3:51 AM

New version uploaded.

Motoki 7th Aug 2009 6:36 AM

Okay, clearly I am doing something wrong here but I opened the default string table, saved it to csv, opened the csv, changed what I want, yanked everything else out, saved it under a new name, now when I try to compile that csv to a stbl I get:

Loaded. Adding to STBL...
ERROR! An item with the same key has already been added.

Added to what? It didn't even save my file to a STBL yet.

chann 7th Aug 2009 7:32 AM

That was my noob mistake. I've uploaded a new version that probably fixes it - now it checks whether the STBL already contains the key it's trying to add.

Motoki 7th Aug 2009 9:05 AM

Ah okay. Works fine now. Thanks!

Xane123 12th Aug 2009 8:36 AM

I can't really change the THOUSANDS of STBL entries, but I managed to change the opening text (for example, "Texture compositing teddy bears..." to "Getting ""BeatWave"" by Sidewinder because it rocks!" (Supposed to look like in-game: "Getting "BeatWave" by Sidewinder because it rocks!", but looked like this in-game: "Getting ""BeatWave"" by Sidewinder because it rocks_" Does Sims 3 not support exclamation marks with this tool's help? )

It is still pretty cool, and next time, I'll be using once again, Excel, to get a more advanced STBL using your tool. Thanks! ( Should be a thanks thread, rrgh! )

chann 12th Aug 2009 9:41 AM

Quote: Originally posted by Xane123
I can't really change the THOUSANDS of STBL entries, but I managed to change the opening text (for example, "Texture compositing teddy bears..." to "Getting ""BeatWave"" by Sidewinder because it rocks!" (Supposed to look like in-game: "Getting "BeatWave" by Sidewinder because it rocks!", but looked like this in-game: "Getting ""BeatWave"" by Sidewinder because it rocks_" Does Sims 3 not support exclamation marks with this tool's help? )

It is still pretty cool, and next time, I'll be using once again, Excel, to get a more advanced STBL using your tool. Thanks! ( Should be a thanks thread, rrgh! )


As I said above it's important that the character encoding is set to UTF-8. Excel mangles the files and doesn't let you set the right encoding. I found out the hard way too :\

You might be interested in trying Stubble. It's a self contained STBL editor (unlike this tool which only converts text files to a STBL format). I'm sure that it is much easier to use, especially if you only want to make a few small changes.

Xane123 12th Aug 2009 1:06 PM

-trying Out...-
 
1 Attachment(s)
Quote: Originally posted by channTL
As I said above it's important that the character encoding is set to UTF-8. Excel mangles the files and doesn't let you set the right encoding. I found out the hard way too :\

You might be interested in trying Stubble. It's a self contained STBL editor (unlike this tool which only converts text files to a STBL format). I'm sure that it is much easier to use, especially if you only want to make a few small changes.


I'm already on trying it out...

And, it's SUCESSFULLY DOWNLOADED! I believe it might do its job... I can edit them directly in it. Thanks for the reference to it, channTL!

It is so easy to use! I don't know if it works, but I am trying to make my custom book be linked to a real phrase and NOT

Code:
****GAMEPLAY/EXCEL/BOOKS/BOOKSGENERALmy book title goes here)

Anyways,IT WORKED! It changed Gameplay/Excel into the book's actual title! This is so awesome! (screenshot shows how easy it is to use and change)

dashboard00 21st Aug 2009 10:10 PM

Ok, I'm trying to create my own name lists for my own personal use, and I was wondering if I could get a little noob help. I edited the csv files with my own names and created a new stbl from the csv files. Ok, I'm on track right? But now I'm not sure what to do?

chann 22nd Aug 2009 5:42 AM

I read your other comment, it sounds like you haven't created a new package yet (so yeah, File > New).

There is an FNV generator under Tools > FNV Hash so plug some unique text into that (like your name followed by "name list mod" or something) and copy the "FNV64" value to the clipboard. Then import the STBL, and set its type to "STBL 0x220557DA" and for the instance paste in the generated one.

Finally, change the first 2 bytes of the instance to 00 for English. Select the last 8 bytes of the instance, change the first two of those to 00 (to ensure your STBL is not overwritten by the original one when it loads; the last 8 bytes have to be a lower value than the game's) and save the package in your Mods\Packages\ folder.

dashboard00 22nd Aug 2009 8:42 PM

ok, I followed your instructions but when I go to change the bytes of the instance, the "ok" button grays out and my only option is to "cancel"? Am I missing a step, or is the instance not right or something?

chann 22nd Aug 2009 10:55 PM

I'm not sure why it would do that except if the instance was too short. Do you have the latest s3pe?

TigerM 23rd Aug 2009 12:53 AM

If you're using s3pe, you need the 0x on the start - those aren't the first two digits. It's the two digits after the x.

dashboard00 23rd Aug 2009 1:47 AM

Ah, I am so dumb. haha I was replacing the 0x. That was the problem. I saved the package in my mods/packages folder, so hopefully everything works. Thanks so much for the help. Sorry I'm programming illiterate.

KnowledgeInPlatinum 13th Sep 2009 7:19 AM

How do I unpack the STBL files?

chann 13th Sep 2009 8:12 AM

Look in Electronic Arts\The Sims 3\GameData\Shared\Packages. If you have a DeltaBuild0.package, open that in s3pe. Otherwise open FullBuild0.package.

The English STBL is named "Strings_ENG_US_0x...". You can click the Name column to sort the list alphabetically; just look for that name.

Then it's just a matter of exporting it to a file (not a package) and saving it somewhere.

chann 26th Sep 2009 7:39 AM

I've uploaded a new version with string-key support, along with some career templates.

Klinn2 12th Dec 2009 3:29 PM

Very nice STBL utility Chann, it's much handier for many things than that simple editor that you may recall I made and posted in the Custom Sims forum.

Anyway, one small problem seems to have reappeared, the "ERROR! An item with the same key has already been added" message when attempting to export the US English STBL extracted from the DeltaBuild0.package .

I've successfully exported to CSV the English STBL extracted from the original FullBuild0.package and even the FullBuildEP1.package for the WA stuff, but the one extracted from DeltaBuild0.package is causing the error message.

Thanks again for a very useful tool, it's much appreciated. Keep up the good work!

chann 13th Dec 2009 12:12 AM

Quote: Originally posted by Klinn2
Very nice STBL utility Chann, it's much handier for many things than that simple editor that you may recall I made and posted in the Custom Sims forum.

Anyway, one small problem seems to have reappeared, the "ERROR! An item with the same key has already been added" message when attempting to export the US English STBL extracted from the DeltaBuild0.package .

I've successfully exported to CSV the English STBL extracted from the original FullBuild0.package and even the FullBuildEP1.package for the WA stuff, but the one extracted from DeltaBuild0.package is causing the error message.

Thanks again for a very useful tool, it's much appreciated. Keep up the good work!


I hate that error. I think it cropped up in a version of the s3pi library after the patch/EP came out. I've uploaded a new version to the original post which should fix it the problem with DeltaBuild0.package.

Cheers for the compliments

Klinn2 13th Dec 2009 6:12 PM

Quote: Originally posted by channTL
I've uploaded a new version to the original post which should fix it the problem with DeltaBuild0.package.

The new version works just fine for me too. Interesting that the STBL in DeltaBuild0.package contains so many strings from the WA EP, I would have thought they would all be located in the FullBuildEP1.package, but they're split between the two.

Anyway, thanks very much for the quick update!

BaXiM 17th Jun 2010 10:51 AM

Just in case channTL is still watching this threat and maintaining this very usefull tool:
Really nice work and very helpful. In fact it's the best tool I could find for my needs.
It would be perfect, if one could just drag one (or even better a list of) stbl/cvs file and get a cvs/stbl file with the same name back.
Could this feature be implemented?

chann 18th Jun 2010 9:09 AM

1 Attachment(s)
Quote: Originally posted by BaXiM
Just in case channTL is still watching this threat and maintaining this very usefull tool:
Really nice work and very helpful. In fact it's the best tool I could find for my needs.
It would be perfect, if one could just drag one (or even better a list of) stbl/cvs file and get a cvs/stbl file with the same name back.
Could this feature be implemented?


I'm still here, though I haven't played the game in several weeks and my copy of Ambitions is taking just as long to arrive, but whatever Neat idea, I'll take a look at it.

EDIT: Give this a try maybe? I wrote a commandline version of STBLizer called "csv2stbl" a while ago.

Basically you place any number of .csv files in a directory and put the csv2stbl.exe file one level above. Running "csv2stbl (directory name) from the command line will automatically compile all the .csv files found in that directory into a single STBL - renamed with a s3pe-compatible TGI filename (S3_*_*_*.stbl) to save time when importing the file to a package.

Feel free to try it. Just a warning that this utility's never been tested by anyone besides me, and it probably breaks a hundred commandments of command line programming. I have no professional training. :/ Has the same requirements as STBLizer.

BaXiM 21st Jun 2010 4:32 PM

Quote: Originally posted by channTL
I'm still here, though I haven't played the game in several weeks and my copy of Ambitions is taking just as long to arrive, but whatever Neat idea, I'll take a look at it.

EDIT: Give this a try maybe? I wrote a commandline version of STBLizer called "csv2stbl" a while ago.

Basically you place any number of .csv files in a directory and put the csv2stbl.exe file one level above. Running "csv2stbl (directory name) from the command line will automatically compile all the .csv files found in that directory into a single STBL - renamed with a s3pe-compatible TGI filename (S3_*_*_*.stbl) to save time when importing the file to a package.

Feel free to try it. Just a warning that this utility's never been tested by anyone besides me, and it probably breaks a hundred commandments of command line programming. I have no professional training. :/ Has the same requirements as STBLizer.
Sounds good. Thanks.

snowstormburning 14th Jul 2010 12:43 AM

I know this thread is inactive, but I just can't figure this out. This is the first time I have attempted game modification of any sort, so I'm probably missing something.

I made three name lists (male/female first names and surnames) using your excel templates and used the STBLizer to convert it to a .stbl file. Then I used s3pe to package the file (latest attempt was type 0x220557DA, instance 0x005F6B8600244D0C). First I tried to put it in Documents/Electronic Arts/The Sims 3/Mods/Packages, and when that didn't work I moved it to Program Files/Electronic Arts/The Sims 3/Mods/Packages. Each time I put the mod in the game, I moved a sim into a brand new Sunset Valley, deleted all the characters using the NRaas Super Computer, and used the NRaas Story Progression mod to rapidly move in 15 families. No matter what I did, the randomly generated sims were given names taken from the old list, rather than those on the new list. As said before, I tried moving the package. I tried renaming the instance by generating a new FNV hash using s3pe and modifying it to match your guidelines. I tried re-converting the .csv files into another .stbl, just in case the old one was corrupted. I even tried downloading your own names list, opening the package, and replacing your .stbl file with my own. I tried packaging my name list using the instance name from yours. None of these worked; the name list just won't show up.

What could I be missing? Is there anything else I should try before giving up?

chann 14th Jul 2010 9:18 AM

Quote: Originally posted by snowstormburning
I know this thread is inactive, but I just can't figure this out. This is the first time I have attempted game modification of any sort, so I'm probably missing something.

I made three name lists (male/female first names and surnames) using your excel templates and used the STBLizer to convert it to a .stbl file. Then I used s3pe to package the file (latest attempt was type 0x220557DA, instance 0x005F6B8600244D0C). First I tried to put it in Documents/Electronic Arts/The Sims 3/Mods/Packages, and when that didn't work I moved it to Program Files/Electronic Arts/The Sims 3/Mods/Packages. Each time I put the mod in the game, I moved a sim into a brand new Sunset Valley, deleted all the characters using the NRaas Super Computer, and used the NRaas Story Progression mod to rapidly move in 15 families. No matter what I did, the randomly generated sims were given names taken from the old list, rather than those on the new list. As said before, I tried moving the package. I tried renaming the instance by generating a new FNV hash using s3pe and modifying it to match your guidelines. I tried re-converting the .csv files into another .stbl, just in case the old one was corrupted. I even tried downloading your own names list, opening the package, and replacing your .stbl file with my own. I tried packaging my name list using the instance name from yours. None of these worked; the name list just won't show up.

What could I be missing? Is there anything else I should try before giving up?


I wish I could help you more directly right now, but I'm waiting on my copy of Amibitions to arrive to patch my game update my stuff. But I can offer this advice. Since I wrote that information with only the base game in mind, it could be that the process has changed with newer EPs/patches and the text is now being loaded from elsewhere. Or alternatively, in a different order (the reason for tweaking the instance is so the name changes load on top of the game's text, not the other way around). You may have to look into the FullBuild files for new EPs and see if they have their own copies of the primary STBL. An alternative is altering your Resource.cfg, putting your mod in a folder with a higher Priority number so it loads "on top."

Other than that, an alternative method I often recommend is using Awesomemod's custom name loader. It is cleaner and more modular, but of course you need to be using AM. I don't know of any other loading methods.

snowstormburning 14th Jul 2010 9:31 AM

I apologize for my n00bishness, but how do I go about editing the resource.cfg file?

Jeanne93 22nd Sep 2010 2:55 AM

I only have around 300 names for each category, so how can I copy these ones? Sorry, I'm completely new into that Calc/Excel etc thing, never used that before. I know that I must use Calc for editing the files, but I don't know if can copy a whole Name like this 0x83EC511E01312518,"Waylon" or must I change this part 0x83EC511E01312518 ?!

Miss Discordia 18th Jul 2012 5:22 PM

Quote: Originally posted by Jeanne93
I only have around 300 names for each category, so how can I copy these ones? Sorry, I'm completely new into that Calc/Excel etc thing, never used that before. I know that I must use Calc for editing the files, but I don't know if can copy a whole Name like this 0x83EC511E01312518,"Waylon" or must I change this part 0x83EC511E01312518 ?!


I've got the same question - I have about 1000 of last names and want to just copy them, but... how?!

Enric 28th Dec 2013 3:21 PM

I cannot find the language codes in the CSV files, they all start with 0x.
And I cannot edit the STBL.
What then?


All times are GMT +1. The time now is 6:35 PM.

Powered by: vBulletin Version 3.0.14 · Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.