Quick Reply
Search this Thread
Test Subject
Original Poster
#1 Old 7th May 2025 at 12:22 AM
What are the ".ndx" and ".stx" files for?
I've noticed object made officially by Maxis usually contain a .ndx file or both .ndx and .stx.

And I was wondering if they were important in any way, cause I just couldn't find any need for them.
Lab Assistant
#2 Old 7th May 2025 at 6:17 AM Last edited by purplewowies : 7th May 2025 at 6:27 AM.
I don't know what an ndx is but an stx is a separated-out set of strings (STR# (strings of various types) and TTAs (strings for pie menu options) resources) in their very own sort-of iff. The game can load the contents of an stx that shares a name with an iff, if those strings don't exist in the iff itself. I think the reason that's assumed (or known?) for this separation is that it makes it easier to translate or work on strings without it having to affect the work on the code of the object. They can be revised separately. (Similarly, an spf separates out the sprites in this way, presumably to let sprite development happen separate from code and such. Some known development or beta builds have the sprite stuff still separated in spfs, though the ones I know about have no stx and have the strings in the iffs themselves.)

I think in several cases the versions of objects that come with the game have had this file's contents merged properly into the iff itself--for instance, Boggs Home Canning Center has an stx... but there are STR# and TTAs in the iff proper that it seems to use instead of the stx.

So... removing stx COULD affect an object... *if* the strings in the stx are not also in the iff. (Worth noting: Sometimes the sprite resources contain references to animations, so if those were also in the stx specifically and not the iff for whatever reason then getting rid of that stx could affect animations as well. Also things like attribute labels but you're less likely to have issues with those being missing if you're not a) making objects, and b) making objects in programs that actually USE the attribute labels.)

Googling it looks like ndx MIGHT have to do with skins or animations but I have no knowledge about how or if they serve a more consistently important purpose in the final game.
Lab Assistant
#3 Old 7th May 2025 at 8:54 AM
There is some info about .ndx files here: http://w.simania.nl/simania/ssp/simahck5.htm


As for .stx files I only know that they are useful for hackers because of that info about the attribute labes. The hack for kids' cooking contains several of them, but it's unusual, I never saw any .stx files in any hacks/mods earlier.

Жизнь пройдет, это только минута,
Тонкой струйкой бегущий песок,
Красноватая мякоть грейпфрута,
Горько-сладкий дающая сок.
Lab Assistant
#4 Old 7th May 2025 at 8:50 PM
The kids' cooking hack probably has new animation references that needed to be default-replaced (or were easier to default replace via the stx and not in the iff itself for whatever reason). Either that or they were exported from a far and included JUST IN CASE it would cause problems to not include them, because of what their function is (to provide strings that are not included in the iff itself).

The attribute labels are only halfway useful in many third party hacking tools (in my experience. maybe more prolific hackers than novice me have used them to greater effect.) since the BHAVs in those tools don't make use of the attribute labels. Codex and IffPencil2 don't use the labels--you could always refer to them for context but you'd have to keep them in your brain. Volcanic (Simitone/FreeSO) properly connects the labels to the attributes, though I think it has some quirks that can produce objects incompatible with the original Sims. Edith (internal tool) uses attribute labels fine, because it's supposed to (though AFAIK the only available versions of Edith out there (i.e. leaked) are one for 1.1 (patched basegame with rosebud money cheat instead of klapaucius, used in a college coding class) and one accidentally(?) included with the final TSO/EA-Land.

Because attribute labels are just strings, it's possible for them to be in the iff itself, too.
Lab Assistant
#5 Old Yesterday at 8:14 PM
STX resources are just IFFS with the strings split. There's no reason they can't be imported as STR# resources. Maxis/EA had them separate for the convivence of the writing and translation teams, I believe.

I think the child cooking hack did that to overwrite the maxis strings without creating a replacement IFF file. I never checked. You can think of .stx files like a cheap way to patch an iff. I believe any resource will overwrite the one inside the iff, I don't think it's limited only to strings.
Lab Assistant
#6 Old Yesterday at 10:56 PM
I tried to use a modified stx to patch incorrect strings in the TTAs for the Boggs Canning Station in Italian and Korean (I saw it before I saw the iff and assumed the strings were split off into it and not in the iff also so I tried modifying it first, testing with the USEnglish since that's what my game is) and didn't have it work... but the strings were also in the normal iff, which is what I ended up needing to modify for the strings to show up in-game.

I imagine maybe a replacement stx would take precedence over one in a far with the same name provided the game doesn't just use the strings in the iff? Or else I somehow did something wrong (entirely possible lol) that kept it from working for whatever reason...
Back to top