1 The whole pipeline
c###[m|u][a|c] heads, b###[m|u][a|c]### bodies, over every loaded character file.B011MAFat + lgt → B011MAFatlgt_leder.bmp. One entry per texture.F S L W H lists; defaults by a best-match rule; must share the body's build.STR# 200: b011mafat_01,BODY=B011MAFatlgt_leder….cmx, .skn and .bmp into GameData/Skins), and it is
why the expansions could add looks without touching code. The cost: nothing exists between the files.2 Where the data lives
The DVD carries InstallShield 6 cabinets. Unpacked, the character files are loose in GameData/Skins and
ExpansionShared/SkinsBuy, and packed into .far archives (an uncompressed concatenation with a
manifest) for each expansion. Every format exists as text and binary:
| Format | What |
|---|---|
.cmx / .cmx.bcf | "Character" files: skeletons, suits (named lists of (bone, mesh) skins) and animation headers |
.skn / .bmf | One mesh: bones, faces, bindings, UVs, blend weights, vertices in bone space. 2610 meshes ship in both forms and agree. |
.bmp | 8-bit textures, one per head or body per skin tone; the head texture carries face and hair |
.iff | Characters and objects. A sim's look is the string table STR# 200, the "body strings" |
Two traps: the skeleton stores each bone rotation inverted (blended vertices only meet their partners with the quaternion conjugated), and the data is left-handed, so a renderer must mirror one axis.
3 Create-A-Sim builds its lists from file names
The screen (cWinDesignCharacter) has gender, age and skin buttons and two scroll buttons. Behind each
scroll button is a list built by a tiny pattern engine in the exe: literal, two-way alternative, "any n characters".
Matching is case-insensitive and on a prefix. Each matching file is paired with every texture named after the
matched part plus the skin tone. The lists are hash-table ordered; this study sorts them by name.

4 Outfits, underwear and hands
Formal, swimwear, pyjamas, winter (Vacation) and high fashion (Superstar) are bodies too, in lists named
F### S### L### W### H###. An outfit must have the body's build (fat, fit, skinny), or it is dropped.
A new sim gets defaults, chosen by FUN_00472b1d's best match: highest ratio of matched
length to name length, so the shortest matching name wins. A fit man's high fashion is therefore
h552mafit_dude, not h551mafit_tuxedobasic. Nude, underwear and six hand poses are built
the same way from gender, build and skin tone. The pattern checks out against 54 of the 61 shipped sims and
templates, and the other 7 are explained.
5 Personality and the star sign
Five traits share 25 points (stored ×100). The sign isn't chosen: it is whichever of 12 preset personalities is nearest in squared distance. Clicking a sign loads its preset.
6 Townies and the clock-seeded RNG
Create-A-Sim never rolls dice. Hot Date's townie generator does. For each townie, with probability 1/5 it uses
one of 36 fixed archetypes (Bombshell, Don Juan, Fatale, Lounge Lizard, Party, Wallflower × gender × skin).
Otherwise it clones HDT_Generic, reseeds the engine RNG with timeGetTime() and
draws:
Because nearby seeds give nearly the same first draw, the gender only flips about every 510 ms (mean
run 509.7 ms). Townies made in one burst at lot load share a gender. And because the name table is read 1-based
with 1 + rand(n − 1), the last name in each list (Zeke, Yolanda) can never come up.

7 Babies: only the skin tone is inherited
The genetics is SimAntics code in Baby.iff. At birth, gender is random(2). "create DNA"
copies the skin tone of a parent picked by random(2), and mixes personality (A, B or the mean). When the
baby grows up, "create child" calls the Make New Character primitive with age 9. It draws a head and then a body
uniformly from the child lists for that gender and tone, using the simulation RNG (% n). Faces are not
inherited at all.

8 How much variety there is
Heads per gender, age and skin
Bodies
Wide but shallow. Light skin has about 1.5× as many heads as dark (292 against 200), and children get a quarter of the adults' heads and a sixth of their bodies.

9 The "infested" download
The zip was said to carry malware. Checked without running anything (ClamAV with 3.6 million signatures over 7190 files, a PE infector sweep, HTML script checks, and a diff of the no-CD exe against the original), it is clean. The hits are "packer" heuristics on SafeDisc-wrapped and SafeDisc-stripped executables. The crack is the game code with SafeDisc removed and nothing added: 101 of its 102 extra strings are restored import names. The one real concern is SafeDisc's own 2004 kernel driver, which predates the fix for CVE-2007-5587.
10 Known gaps in the re-implementation
- List order. The game's hash-table order isn't reproduced; the options are.
- Underwear ties between equal-length names are resolved to the observed
_undies01/_briefs01. - Bind pose only. No animation, no accessories attached by animations.
- Personality of premade sims (in the neighbourhood file) isn't parsed.
- Not compared against the running game: by design, nothing from the disc was run.