Forum Discussion

thequux's avatar
12 years ago

Questions about simdata format

I'm probably going to need @SimGuruModSquad for this one :smile:

I have a few questions about the correspondence between SimData files and XML tuning.

First of all, let's take a look at the trait_Novelist trait from the novelist package that was in the docs. I've figured out that the enumeration for Ages is defined in the Python that was provided, but I'm not sure where the values for tags (column 11) come from, particularly because the field refers to a dynamic tag in the tdesc file (and python code).

Second, it seems that you have multiple objects packed into one table: table has both tags and ages stored in it, and table has two different strings. Am I understanding the file format correctly?

Third, could you clarify how the game turns SimData files into objects (in the CS sense) that appear in the game? Based on the first version of the novelist example (with just two simdata resources and two XML files), the trait is found by scanning the package files. However, the only thing I can find that indicates that there is a trait resource is the fact that the SimData file has a schema named "Trait". Would it be valid for a SimData file to have two traits stored in it, and if so, what would the game do with such a resource?

Third, in order to make sense of the simdata file, it looks like I'll need data files derived from the python archives from the game. Would it be allowed to distribute works derived from the python files and TDesc files? (I need the tuning descriptions from the tdescs and the enumerations from Python).

Thanks!

14 Replies

Replies have been turned off for this discussion
  • I had assumed that the S4_* format was decided upon by the community, as opposed to "Oh, that's what that guy did; I guess I'll do the same". I find that having group and instance first results in a slightly more useful sort, so I'll probably stick with that as a default and provide the S4_* names via a flag.

    I'll have a look into the combined tuning when I get some time. For now, I'm just working on parsing and serializing SimData at all; I'm building up a new library for working with the various Sims data formats in Python (because Python is nice and interactive). Considering that my goal for the compiler component of things is completely human-readable source, the Maxis format not having the correct extensions is in some ways a bonus feature, because then there's less of a temptation to edit files. Then again, I've apparently memorized 545AC67A and already have a few things that depend on it as an extension, so that may or may not work out as planned.
  • The S4_* format was based on the s3_* format which was actually strongly recommended by Wes, who was along with Numenor one of the TS2 community leaders. I guess by now it's just a case of sticking to a protocol cos it's always less confusing and more cohesive for all concerned than keep rethinking it.
  • Thanks for the info @gibbed. I'm not sure I'll mod for Sims 3 again (or Sims Medieval for that matter), but it might come in handy if I do.

    @Shimrod101, I looked at the files you mentioned. They're not XML files (did you use a specific wrapper?) They seem to include other data along with the text bits. It's certainly worth looking at, so thanks for pointing this out. Btw, there are bc_pickle_cache files as well with type 0x1C99B344. Right now there's still so much information to explore...

    @thequux2, I probably shouldn't have said "simply what S4PE uses", giving the impression of randomness. I wasn't even aware of the history of the filename format specifically (thanks, @IngeJones). But I know that S3PE was widely used and well-maintained through all the years and the s3pi libraries allowed other modders (including myself) easy access to package/resource handling. We'll see which tools TS4 modders create, but I'm confident that filename formats will not be an issue since end users will most likely deal with packages (and zips) and modders will either use tools that fit their workflow or simply rename files as needed. I think it's great to see so many people working on different tools for the game. I haven't looked more closely at the python code so far. I haven't done much with python before, so this might be my chance to get into it.

Featured Places

Node avatar for The Sims 4 Mods & Custom Content

The Sims 4 Mods & Custom Content

Find tips, tutorials and troubleshooting for mods and custom content, and The Sims 4 patch files here.Latest Activity: 2 years ago
16,379 Posts