About the GUID and the Magic Cookie

The GUID is a four byte value defined in the OBJD resource. If the GUID is considered as four bytes
aa bb cc dd
then the two middle bytes bb cc are a hexadecimal representation of the Magic Cookie.

The Sims Transmogrifier aka TMog uses this portion of the GUID help identify the object creator although Maxis most likely ignores it.

Editing the GUID

Downloaded custom objects may occassionally cause problems because they contain a GUID which is already used by another object. This problem seems to have become more frequent in recent months, and there is no easy way to prevent such conflicts.

Custom objects made with TMog will have a different GUID from the orignal base object, but person A and person B can still make objects with TMog that end up with the same GUID. You can even do this yourself with TMog if you make your objects at different times. The game expects each object (and each tile of a multi-tile object) to have a truly unique GUID, so if you try to use two objects which have the same GUID, only one will show up in the game.

The same problem can arise with IFFSnooper. Objects modified with IFFSnooper do not automatically acquire a new GUID when you save your changes, unless you clone the object with File -- Clone, or subclone it with File -- Subclone. As a result, your game will not see the modified IFF file if the unmodifed file is also present in your GameData or Downloads folder.

In order to deal with such GUID conflicts, IFFSnooper allows you to edit the GUID of OBJD resources. Note, however, that IFFSnooper cannot verify whether your new GUID is already in use elsewhere in your game. To do this you will need the GuidChecker utility for Macintosh, available from Around the Sims.

Sometimes object code in the BHAV resource is written to check for a specific GUID and that modifying the GUID of such an object may render it unusable. This is a problem when cloning objects, so IFFSnooper attempts to identify such BHAV code and update it with the new GUID (version 1.1.3 and later).

Using a Magic Cookie

As noted above, the Magic Cookie is a number derived from the midportion of the GUID. If you already have a Magic Cookie you can use
Edit -- Set Cookie to enter it into the Magic Cookie edit window.

If you don't have a Magic Cookie you can make one up, or get one from the "official" TMog Magic Cookie site. When you clone or subclone an object the GUID will be reset to take into account your Magic Cookie value.

Note that the Magic Cookie values generated after 2004 can be more than twice the maximum usable value of 65535. The cookie value used in the GUID is the remainder after any multiples of 65536 have been subtracted.
Magic Cookie 139072 - (2*65536) = 8000
IFFSnooper (and TMog) will use the decimal cookie value 8000 when making a new GUID.

It's a good idea to check your Magic Cookie against a database of commonly used Cookie values, to make sure that your cookie value doesn't conflict with a cookie from another active object maker. In theory all the Cookie values have been assigned, but only a thousand or so have been registered. One such database is online here at the Yahoo magic cookie group.

Cookie Window Cookie Window

You can also change the cookie value in the cookie field of the OBJDEditor window. If you modify the first two characters of the GUID, or the last two characters, the cookie remains unchanged. If you alter the midportion of the GUID you will reset the cookie value.



What are these resources?

Making new IFF files

Making Floor Tiles

Making Walls

Editing OBJD resources

Editing the GUID

Editing text strings

Editing draw groups

Editing sprites

Editing menu resources

Editing other resources