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.
TMog uses this
portion of the GUID help identify the object creator although Maxis most likely
ignores it.
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. Therefore 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 conflicts, IFFSnooper allows you to edit the GUID of OBJD resources. Please note, however, that IFFSnooper cannot verify whether the 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.
Note that 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 now attempts to identify such BHAV code and update it (new in version 1.1.3)
Using a Magic Cookie
The cookie (or Magic Cookie) is a number derived from the midportion of the GUID.
TMog uses this portion of the GUID help identify the object creator although
Maxis most likely ignores it. If you 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 being generated at present in 2004 are more
than twice the maximum available value of 65536. The cookie value used in the GUID
is the remainder after any multiples of 65536 have been subtracted.
e.g.
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 used, but only a thousand or so have been registered. One such database is online here at the Yahoo magic cookie group.
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.