The Sims Online


No. 1: Objects

Objects in the Sims Online are cut up a little. Unfortunately, I've only found their data strings and behaviors, which are bundled with the catalog and speech sprites in the *.far files. One would assume that also residing in these far files, or possibly in other ones, are what were in the original game the *.spr resources, most likely with altered extensions so as to keep us from prying, and allowing a little more leverage on the designers in altering object's appearances and functions seperately. When you extract the objects, you will get basically unuseable objects, without sprites etc. - and most utilities, including tmog, won't work on them, without ridiculous alterations. IFFPencil, however, will.

When searching for an object, just remember that the resources are packed against each other - find the end of the first one, and you've found the beginning of the second one. Sorry that's all I have right now, but it may be it, since the work isn't quite rewarding enough for me yet. But I think it's a start, especially for anyone out there with a little VB knowledge (hint-hint).


No. 2: Skins - Part 1

First off, you can't really do this - it's sorta like reverse-engineering, which is explicitly forbidden by the license you have accepted when you start playing the sims online. HOWEVER, I think that simply knowing how to do this will actually prepare you to hack the very fundamentals of some of these issues in your offline game, so just do this for practive, and then delete, like the loyal consumer you are. With this knowledge, if all the far-editing devices suddenly were whisked away, you could still effectively extract skins and such from your game files, and that could happen any day.

First, you know how skins work, right? The *.cmx holds together the bitmap *.bmp and the *.skn, or, in their binary equivalents, the *.cmx.bcf holds together the bitmap and the *.bmf - good times. Now, in the sims online, the maxoids have gone to great lengths to hide the game pieces from us, as many less-reputable tinkerers would gleefully post these skins and objects after extracting them. So let's get on with how YOU can do it!

Ask yourself, "self, what do I want?" - for most of us it would be either a body, a head, or an accessory of some type. These files are buried in the TSOClient folder, in 'avatardata.' In this folder are folders for bodies, meshes, etc. Let's say you want a body - if it's a regular outfit, go to the bodies folder, if it's one from one of the costume trunks, go to the collections sub-folder in there - otherwise, choose 'textures'. Okay, now you've got your folder open - what's this, a *.dat folder? No fear, it's just a disguised far file - but don't even bother changing the name, you can't use any far editor to open it. You must use your handy-dandy hex editor.

So open that baby up - looks a little crazy, yes? If you don't know the hex basics, look it up. We'll assume familiarity with it from here on out, notably the functions of the editor - although we'll also assume ignorance of data basics - incongruous, but I've read over this, and it's easier than rewriting. Alrighty, what we'd extract from a regular maxis far file here would be bitmaps, starting with the "BM" in the header on the ascii (right) side of the hex editor. However, for the sims online, they use the jpeg format, which starts with four strange runic characters, and the word "JFIF," for jpef file something-something - like it matters. So, the basic operation of extracting the jpeg involves searching for in the right-side of the editor, starting with the first one. Go to it. Now, go back four characters, where, if you exclude the hypercritical marks, might be reminiscent of "yoya." Whatever works for you. Now, with your hex-editor functions, "remember" that spot (there should be an 'address' button up on the menu with that option). Now, search for the next "yoya" (i.e. Just search for that exact string - it wil make things easier, because each file will have more than one "JFIF," and more than one "ffd9," but the second one is gold. Now, choose "display difference" from your address menu, and REMEMBER the hex address (50e5, a4f0, etc., innumbers 1-9 and letters a-f). Then, "go to remembered" in your address menu, and you'll surely recognize the territory. Now you must "block 'n' characters" in your 'edit' menu - that's right, use the hex number you remembered in your head! There should be a clipboard option under your 'edit' menu - copy that block of highlighted characters to the clipboard.

Open another hex-editor, and paste hex from clipboard into it. Now just "save as" something.jpg. and view your new file to see if it worked. You now have a sims online texture. To get it to work in your game, convert it to a 256-color bitmap - if you don't have any program that can competently do this without color loss, then just use the "PrtScrn" function key up somewhere above the minus-sign button, and paste it into a bitmap editor like MSPaint, and convert it to 256 colors - in whatever way it is done in such a program.

I Want One in Particular!

This last part was a test run, because in case you didn't notice, we sort of just picked a texture at random. If you want a specific texture, you're going to have to dig. You could extract each texture - yeah right. I, however, would suggest going to the very end of the *.dat file - there is listed, in order, each *.jpeg in the file, with the typically descriptive filenames maxis is notorious for using. Just find the very first *.jpg and count down until you find the texture that interests you (hint: I suggest using the 'search' function again, this time looking for "jpg" - it makes it much easier to count each time you hit "enter"). A little laborious, but the alternative is worse.


Part 2

What? You want to do more than just look at your flat texture? Well, I'm sorry, but this is the extent of my knowledge of the format, the file extensions. These could easily be wrong, but it's a start, right? This is the really important one, the mesh - if you can convert a mesh, you can write your own *.cmx:

File Format: *.mesh = *.skn files

Each entry in the indexed list at the end of the *.dat file is comprised of a 24-byte header, followed by the mesh filename, with the following prefixes:

as in, "mabb999mafit etc.....pelvis-body.mesh - they seem to be pretty easy to identify, such as "male," "costume trunk," etc.

NOTE: these are only current as of the open play-test of TSO - I only did it to extract some skins, and then quit, so they might have added/altered some things.

Site hosted by Angelfire.com: Build your free website today!