|Long name:||Object Data|
There is, not surprisingly, quite a lot of data about each object. We will look at each section in turn. For a single tiled object you will likely only have one OBJD, combining within it the role of Master OBJD and lead tile. For a multi-tile object you will have one OBDJ for each tile, plus an extra one for the Master OBJD. For each OBJD there will also be an OBJf resource with the same Instance value.
The Object Data Editor is the place where you allocate a new unique GUID to an object you have cloned.
You can select the type of room on the left hand side panel and the function sort on the right. There are sub-sections to the function sort which can be selected in the drop-down labelled "Overall Sort:". The same data is also reflected in the RAW Data, in the Catalog Sorting section.
RAW Data - OBJd File
RAW Data - Catalog Price
The price (0x0012) is the most obvious item here and contains the price you will see this item costs in Buy Mode in the game. The others are obvious to some extent, but the detail behind them is something I have not yet investigated.
RAW Data - Catalog Sorting
The room sort flags (0x0027) and function sort flags(0x0028) both have plus signs next to them which, when clicked, will open out to show the various flags decoded. This information is exactly the same as that shown on the Catalog Sort tab.
If you want to make an object Base Game compatible you must set "Valid EP Flags 1" (0x0040) to 0x0000. Otherwise there is a bit per EP or SP.
Build mode type and subsort
|Doors and Windows||?||?|
|Foundations and Decks||?||?|
|Garden Center||0x0004||0x0004 Flowers|
Community Sort (0x0064) is also a set of flags which corresponds to the community lot catalog which has slightly different categorization than residential lots. With a zero value the item will not show up in the community lot catalog, any other bits set will have it show up in the appropriate section.
|Food||bit 1 (0x0001)|
|Shopping||bit 2 (0x0002)|
|Outdoor||bit 3 (0x0004)|
|Street||bit 4 (0x0008)|
|Miscellaneous||bit 8 (0x0080)|
RAW Data - Catalog Ratings
RAW Data - User placement
Also, "Keep Buying" (0x0060) controls whether you can place multiple of this object without having to reselect it from the catalog, dining chairs are a good example of this.
RAW Data - Mesh & Graphics
If you have a multi tile object, the Master OBJD (generally the one without co-ordinate numbers as part of its name) has Multi-Tile sub index (0x000B) set to 0xffff and the others have the grid-reference of their tile. For example, a tile named as "My Object – 2,4" will contain 0x0204 in this field.
Multi-tile objects always have one tile nominated as the lead tile (no idea whether there are any good rules for choosing this tile) and it has Multi-Tile lead object (0x003F) set to 1, the others have it set to 0.
If you intend your object to be able to run animations, you should ensure the 3D Object Type (0x0063) is not set to zero. Whether any values other than 0 or 1 are meaningful, I don’t know.
In order to have the placement of objects on shelves operate correctly for the size of your object, Object Size (quantity per shelf) (0x004F) should be set to 0 for large objects, 1 for medium objects, and 2 for small objects. Have also seen 3 – what does that mean?
RAW Data - Resource cross-refs
The catalog strings id (0x0029) must contain the number that matches the instance ID for the Catalog Description (CTSS).
RAW Data - GUIDs
The "object model guid 1 – Ready Only" (0x0048) actually isn’t a GUID at all. It is the number of the string in Text List instance number 0x00000085 that represents the default mesh/graphic for this model.
RAW Data - Data Space
The number of object arrays (0x003B) is essential if you are using the Array Operation [prim 0x0076]. Without the correct space allocated you will get the Bad Object Array error.
RAW Data - Memories & Wants
"Ignore Current Model Index In Icons" (0x0037) is described in this Tutorial on Custom Thumbnails for Objects
"Selector Category" (0x004B) and "Selector Sub-Category" (0x004C) are described in this Tutorial: Creating a random object in a particular category