Sims Legacy Collection โ€“ Reference

File Reference

Every file type and IFF resource explained

On this page
๐Ÿ“

Game File Types

Click any header to expand

.IFFObject & Data Files

The main file format for everything in The Sims – objects, characters, career data, UI strings. Each IFF file is a container that holds multiple resources bundled together:

  • Sprites – how the object looks
  • Behaviour scripts – what the object does
  • Constants – tunable values like price and skill gain
  • Text – catalogue name and description
  • Other resources for sounds, interaction lists, slots and more

When you download a mod or create one yourself, you're working with IFF files. Custom objects go in the Downloads folder. Mods that replace base game behaviour go in other locations.

Folder Locations:

Custom Objects: \Downloads\

Base Game Overrides: \GameData\Objects\

Expansion Overrides: \ExpansionPack1-7\

Inside FAR Archives: \GameData\Global\, \GameData\UserObjects\

Tools:

Cloning & Sprites: TMog (Transmogrifier)

Behaviour Editing: IFF Pencil 2

BCON Values: Constant Contraption

.FARArchive Files

A FAR file bundles multiple IFF or other files into one archive. Think of it like a zip file that the game can read directly without you needing to unpack it. All base game objects and global behaviour files live inside FAR archives – that's why you don't see individual object files when you browse the game folders.

TMog reads FAR contents automatically when you open it, so you don't need to extract anything for retexturing. Use FARx if you need to pull out a specific file for manual editing.

Folder Locations:

Base Game: \GameData\Objects\, \GameData\Global\

Expansions: \ExpansionPack1-7\

Custom Content: \Downloads\

Tools:

Extract & Browse: FARx

Auto-Browse: TMog (reads FAR contents automatically)

.BMPSkin Textures

Flat bitmap images that wrap around a Sim's body, head, or hands to create their appearance. Every outfit, hairstyle, and skin tone is a BMP file. They must be saved as 256-colour indexed bitmaps – any other colour depth (like standard 24-bit BMP, PNG, or JPG) will show as a white silhouette in game.

Image Dimensions:

Body skins: 256×256 pixels

Head skins: 128×128 pixels

Hand skins: 64×64 pixels

Accessories: 32×32 pixels

Folder Locations:

Everyday Skins: \GameData\Skins\ (no subfolders)

Buyable Skins: \ExpansionShared\SkinsBuy\ (no subfolders)

Tools:

Painting: GIMP, Photoshop

Template & Export: The Sims Creator

.CMXSkin Configuration

A plain text file that tells the game which BMP texture to use on which SKN mesh. It can also attach accessory meshes (like hats or glasses) to the main body. The CMX must contain its own filename correctly spelled inside the file – if the internal name doesn't match the actual filename, the game ignores it silently and the skin won't appear.

You rarely need to edit CMX files by hand. The Sims Creator generates them automatically when you export a skin.

Folder Location:

All Skins: \GameData\Skins\ (alongside matching BMP and SKN files)

Tools:

Manual Editing: Notepad (plain text format)

Auto-Generated: The Sims Creator

.SKN3D Mesh Files

The 3D shape data for a Sim's body, head, or accessory. Contains:

  • Vertices – the 3D points that define the shape
  • Faces – the surfaces connecting those points
  • UV coordinates – how the BMP texture wraps around the shape
  • Bone assignments – which part of the skeleton each point follows during animations

Mesh filenames always start with xskin-.

Never rename xskin files – the name inside the file must match the actual filename, or the mesh won't load and the Sim may appear headless or as floating hands.

Folder Location:

All Meshes: \GameData\Skins\ (alongside matching BMP and CMX files)

Tools:

Modern: TS1 Blender IO (Blender addon by mixiate)

Classic: MilkShape 3D (native SKN support)

.WLLWall Coverings

Custom wall textures that appear in Build Mode. Created by importing an image into HomeCrafter, which converts it into the game-ready format and generates the tiling pattern. Unlike skin files, wall coverings can be organised into subfolders.

Folder Location:

All Walls: \GameData\Walls\ (subfolders OK)

Tools:

Creation: HomeCrafter (official Maxis tool)

Image Editing: GIMP, Photoshop

.FLRFloor Tiles

Custom floor textures that appear in Build Mode. Same workflow as walls – import an image into HomeCrafter to generate the game-ready file. Subfolders are supported for organisation.

Folder Location:

All Floors: \GameData\Floors\ (subfolders OK)

Tools:

Creation: HomeCrafter (official Maxis tool)

Image Editing: GIMP, Photoshop

.SPJSkin Project File (SKN2OBJ intermediate)

An intermediate file produced by SKN2OBJ when it reads a .SKN mesh file. The SPJ stores the bone assignment data that the OBJ format cannot carry. When editing a mesh in MilkShape 3D via the OBJ route, you open the SPJ in SKN2OBJ at the end to combine it with the edited OBJ and produce the final SKN. Do not delete the SPJ before finishing a mesh – without it, bone assignments are lost.

Created by:

SKN2OBJ (classic mesh editing tool, by Aladrin Kelahn)

.OBJWavefront 3D Object

A widely-supported plain-text 3D mesh format used as the editable intermediate in the classic Sims 1 mesh workflow. SKN2OBJ exports a SKN to OBJ for editing in MilkShape 3D (or any OBJ-compatible editor), then it is converted back to SKN via the SPJ. OBJ files do not store bone assignments – that is why the SPJ must be kept alongside the OBJ. For accessories, a new OBJ is created in a 3D editor and imported via SKN2OBJ’s Import OBJ function with the bone name set in the g group line.

.MTLMaterial File (accompanies OBJ)

A plain-text file produced alongside an OBJ that defines material properties – primarily which texture image file to display on the mesh. SKN2OBJ generates an MTL when it converts a SKN to OBJ. The MTL is used by 3D editors to show the correct texture during mesh editing. Keep it in the same folder as its paired OBJ.

.BMFBinary Mesh File

A binary mesh format used by some older Sims 1 content packed inside FAR archives. BMF files cannot be edited directly – they must first be converted to SKN format using BMF2SKN (by Aladrin Kelahn), after which they work like any other SKN. BMF files are uncommon and only encountered when extracting content from certain older FAR archives.

Tools:

BMF2SKN (converts to SKN – by Aladrin Kelahn)

FARx (to extract from FAR archives first)

๐Ÿ“ฆ

Inside an IFF File

Resource types you encounter when modding objects

Graphics
SPR2Game-View Sprites

The actual images you see on the lot – the object rendered at every rotation angle and zoom level. Each sprite frame has three channels:

  • Colour pixels – what you see on screen
  • Z-buffer – depth information so Sims can walk in front of and behind the object correctly
  • Alpha channel – transparency data

When you retexture an object using TMog's Export Whizzer, these are the images it exports as editable BMP files. You paint over the colour channel, and TMog regenerates the z-buffer and alpha automatically when you import back in.

Example: the Pink Flamingo has 6 sprite frames – front and back views at three zoom levels (large, medium, small).

Tool:

Export & Import: TMog (Transmogrifier)

BMP_Catalog Thumbnail & Speech Bubbles

Small images used outside of gameplay. These are separate from the game-view sprites (SPR2) and serve specific UI purposes:

  • ID 2000+ – the catalogue thumbnail, the small picture shown in the Buy Mode catalogue when you are browsing objects to purchase
  • ID 4000+ – small speech bubble image, shown when a Sim thinks about or talks about the object
  • ID 6000+ – large speech bubble image, same purpose as the small bubble but in a larger size

When you retexture an object with TMog, these images are not updated – the catalog thumbnail will still show the old appearance. To update it, create a new thumbnail in your paint program and import it using IFF Pencil 2 (right-click the BMP_ resource → Import).

Tool:

View & Replace: IFF Pencil 2 (right-click → Export/Import)

DGRPDraw Groups

Draw groups tell the game which sprite frame to display for each combination of camera rotation and zoom level. They map the SPR2 sprite frames to specific viewing angles – so the game knows to show frame 0 when looking from the front at close zoom, frame 1 from the back, and so on.

You rarely need to edit these directly. TMog handles draw group mapping automatically during the retexture workflow.

PALTColour Palette

A 256-colour palette shared across the object's sprites. Each pixel in an SPR2 sprite references a colour by its index number in this palette rather than storing the actual colour value. This is why Sims 1 objects are limited to 256 colours per object.

TMog manages palettes during export and import, so you don't need to edit them directly for retexturing.

Behaviour
BHAVBehaviour Scripts

SimAntics code – the programming that controls what an object does. Each BHAV is a "tree" of instructions where every instruction has a True and False outcome, leading to the next instruction or ending the routine.

Objects typically have multiple BHAVs for different purposes. The most important ones:

  • Main (ID 4096) – the idle heartbeat loop that runs constantly while the object exists on the lot. This does not control the pie menu – that's TTAB.
  • Init – runs once when the object is first placed on the lot.
  • Interaction BHAVs – run when a Sim performs a specific action with the object (sit, study, eat, etc.). These are called by the TTAB entries.

Tool:

View & Edit: IFF Pencil 2

TTABInteraction List (Pie Menu)

The Tree Table controls what appears in the blue pie menu when you click on an object. Each entry in the TTAB represents one interaction option (like "Sit," "Study Cooking," or "Watch TV").

Each TTAB entry has:

  • Action Tree – points to the BHAV script that runs when a Sim selects this option
  • Check Tree – points to a BHAV that decides whether this option should appear at all (for example, only showing "Study Cooking" if the Sim's Cooking skill is below maximum)
  • Flags – who can use this interaction: Adults, Children, Visitors, or any combination

The companion resource TTAs holds the text labels for each interaction – the words that actually appear in the pie menu.

Tool:

View & Edit: IFF Pencil 2

BCONTunable Constants

An array of numeric values that BHAV scripts read during gameplay. These are the "knobs and dials" of an object – things like comfort gain rate, skill teaching speed, energy drain, room score impact, and price. Changing BCON values is the easiest way to modify how an object behaves without writing any code.

Not every object has BCONs. Simple decorative objects (like the flamingo) may have only one, while complex interactive objects have many.

Example: the Maxis bookcase has 7 BCON groups named Side, Skills, Tuning - Time, Tuning - School, Tuning - Motives, Tuning - Skills, and Tuning - Room Impact.

Tools:

Quick Editing: Constant Contraption (standalone, beginner-friendly)

Full Editing: IFF Pencil 2

STR#String Tables

Text data stored in numbered blocks, used for various purposes depending on the ID number. Different string table IDs serve different functions within the game. The most common ones you encounter in objects:

  • ID 129 (a2o) – Adult-to-Object animation names, tells the game which animation to play when an adult Sim interacts with this object
  • ID 130 (c2o) – Child-to-Object animation names, same as above but for child Sims
  • ID 301 – Dialog text, the lines that appear in thought or conversation bubbles related to the object

Character files (Sims themselves) use a different set of STR# IDs for body skin references and outfit mapping. Many objects also carry additional STR# resources for specific purposes – MakeActionString strings (ID 302), Call Named Tree strings (ID 303), suit primitive strings and custom speech strings are common. Open the file in IFF Pencil 2 to see what your particular object has.

Tools:

Quick Editing: Strings Scavenger (standalone, beginner-friendly)

Full Editing: IFF Pencil 2

Structure
OBJDObject Definition

The master record for the object. Contains:

  • Price – shown in the Buy Mode catalogue
  • Catalogue category – which room and function section it appears in
  • GUID – the unique identifier that distinguishes this object from every other object in the game
  • Resource pointers – which TTAB for interactions, which DGRP for graphics, which SLOT for approach positions, which Main BHAV for the idle loop

Motive advertising values (the numbers that tell Sims how desirable an object is for Hunger, Comfort, Fun and other needs) are not here – those live in the TTAB, per interaction.

Multi-tile objects (beds, dining tables, sofas, the foosball table) have one OBJD per tile plus a master OBJD – the master is the one that appears in the catalogue, and the per-tile OBJDs handle the game's internal tile bookkeeping.

Tool:

View & Edit: IFF Pencil 2

OBJfObject Functions

Points to the BHAV scripts that run automatically without a Sim clicking on the object:

  • Init – runs when the object is first placed on the lot or when a saved game loads with this object already placed
  • Main – the idle loop that runs continuously while the object exists. Handles things like checking if food has spoiled or if a plant needs watering.
  • Load – runs when the lot is loaded from a save file

Tool:

View & Edit: IFF Pencil 2

CTSSCatalog Text

The object's name and description as they appear in the Buy Mode catalog. Contains text in multiple languages – the game displays whichever matches the player's language setting. When creating a custom object, you write your catalog text here.

TMog lets you edit catalog text directly without opening IFF Pencil – click "Edit Object" in TMog to change the name, description, and price.

SLOTInteraction Slots

Defines how Sims physically approach and interact with the object. Includes where the Sim stands, how close they get, which direction they face, and containment slots (positions where other objects can sit on top of this one – like a plate on a table or a book on a shelf).

SLOT editing is rarely needed for beginners. IFF Pencil 2 can display SLOT data but has limited editing support for this resource type.

FWAVSound Events

References to sound files that play during object interactions. Each FWAV entry points to a sound effect (stored as .XA files in the game's sound archives). BHAV scripts trigger sounds by referencing FWAV IDs – for example, a chair might have an FWAV for the "sit down" creak and another for "stand up."

GLOBSemi-Global Reference

Tells the game which semi-global file to load shared behaviour routines from. Many objects share common code – for example, all chairs use the same "sit down" animation routine rather than each chair duplicating that code. The GLOB resource points to the right shared file (like "ChairGlobals.iff") so the object can call those routines.

You rarely need to edit this unless you're creating entirely new object categories.

๐Ÿ‘—

Skin Filename Prefixes

How the game knows what type of outfit it is

Everything the game needs to know about a skin is encoded in its filename. The first letter tells the game what clothing category the skin belongs to – which dresser drawer it appears in, whether it's buyable at a clothing rack, and which expansion unlocked it.

PrefixTypeWhere It AppearsRequires
CCranium (Head)Create-A-Sim head selectionBase game
BBody (Everyday)Dresser – everyday clothingBase game
LLingerie (Pyjamas / Sleepwear)Buyable at clothing rack – sleepwearHot Date
FFormalBuyable at clothing rack – formalHot Date
SSwimwearBuyable at clothing rack – swimwearHot Date
WWinterwearBuyable at clothing rack – winterwearVacation
HHigh FashionBuyable at clothing rack – high fashionSuperstar
HHand filesSim's hand texture (separate from body). 64×64 pixels.Base game
N / UNude / UnderwearUsed internally for the Sim's base skin under clothing; also the texture shown when a Sim changes clothes or swims. Not a custom clothing category.Base game
xskin-Mesh file (.skn)Defines 3D shape – paired with BMP texturesBase game

After the type prefix, the rest of the filename encodes the following segments in order, all run together with no spaces:

  • Mesh number – 3 characters, for example 001 or 300
  • GenderF, M or U (female, male or unisex)
  • AgeA (adult) or C (child)
  • Body typeFat, Fit, Skn or Chd (bodies only, not heads)
  • Skin tonelgt, med or drk (BMP files only, not SKN meshes)
  • Then an underscore and the identifier you chose

Example: L300FAFitlgt_MySleepwear.bmp = Lingerie, mesh 300, female adult, fit body type, light skin tone.

Hand file naming

Hand skin files follow a different segment order from body skins. The format is:

H[gender][age][hand][gesture][skintone]_[name].bmp
SegmentValuesMeaning
HHHand file prefix
GenderF / M / UFemale, male, or unisex
AgeA / CAdult or child. A used for “all hands” in unisex files.
HandL / RLeft or right (omitted on unisex all-hands files)
GestureO / C / POpen, closed, or pointing
Skin tonelgt / med / drkLight, medium, dark

Common hand files included with the base game: HUAOlgt.bmp (unisex open hand, light), HUAClgt.bmp (closed), HUAPlgt.bmp (pointing). To create a matching hand skin for a custom outfit, use the same end-tag as the body skin: e.g. HUAOlgt_MyOutfit.bmp. Hand textures go in the same GameData\Skins\ folder as body skins.

โ„น๏ธ Note on H: Both High Fashion and hand files start with H. The game distinguishes them by context – hand files are referenced directly in character files, while High Fashion skins appear in the clothing rack like other buyable types.

Pyjamas share the L prefix with lingerie. Creators can rename L to B if they want pyjamas available as everyday wear instead of buyable clothing. Work outfits use career-specific names via the game's career data, not a single-letter prefix.