Difference between revisions of "OBJD"

From SimsWiki
Jump to: navigation, search
(RAW Data - Resource cross-refs)
(RAW Data - Resource cross-refs)
Line 110: Line 110:
  
 
The catalog strings id (0x0029) must contain the number that matches the instance ID for the Catalog Description ([[CTSS]]).
 
The catalog strings id (0x0029) must contain the number that matches the instance ID for the Catalog Description ([[CTSS]]).
 +
 +
If your object contains more than one mesh, you can indicate which one is is to be used by default. Generally when you have more than one mesh you have specific code to switch between the two meshes, but it can be helpful to set the default graphic (0x0048) for the mesh to be used for catalog icons and the like. The number you put in here indicates the line in the STR resource that holds the mesh names (often called 'Model Names'). These strings are taken from Text List (STR#) resource 0x00000085 (see [[STR#STR.23|String Resources]] for all the different Text List usages).  In some earlier versions of SimPE I believe this field was labeled as 'object model guid 1 - Read-Only' - the number 0x0048 is the way you will know you have the correct field for sure.
 +
 
<br clear="all"/>
 
<br clear="all"/>
  

Revision as of 10:05, 29 December 2009

4F424A44
Short name: OBJD
Long name: Object Data

Contents

Introduction

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.

Catalog Sort

Catalog sort selection
This tab lets you set where in the catalog your object will show up. A little bit of game play should be all that is required to understand this particular section.

You can select the type of room Icon RoomSort.JPGon 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 - OBJd File section
I don't know much about this except that one of the things you must do to make an object Base Game compatible is to set "version_1 - Read Only" (0x0000) to 0x008b - with expansion packs it is set to 0x008c.


RAW Data - Catalog Price

Catalog Price RAW Data
This section contains the various prices relating to this object. You might want to switch to Decimal view to read and set these.

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

Catalog Sorting RAW Data
This section contains various settings for where your items will show up in the catalogs.

The room sort flags (0x0027) Icon RoomSort.JPG 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

Build mode - incomplete information so far Icon BuildMode.JPGBuild mode has two sets of flags, for type and subsort.

In-game sub-section type subsort
Icon WallTool.JPG Wall Tool ? ?
Icon DoorsWindows.JPG Doors and Windows ? ?
Icon Flooring.JPG Flooring ? ?
Icon WallCoverings.JPG Wall Coverings ? ?
Icon Staircases.JPG Staircases ? ?
Icon Garage.JPG Garage 0x0001 0x0400 Driveway
Icon Foundation.JPG Foundations and Decks ? ?
Icon Terrain.JPG Terrain ? ?
Icon GardenCenter.JPG Garden Center 0x0004 0x0004 Flowers
Icon Roofing.JPG Roofing ? ?
Icon BuildMisc.JPG Miscellaneous ? ?

Community Sort

Icon CommunitySort.JPG 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.

In-game sub-section sort
Icon Food.JPG Food bit 1 (0x0001)
Icon Shopping.JPG Shopping bit 2 (0x0002)
Icon Outdoor.JPG Outdoor bit 3 (0x0004)
Icon Street.JPG Street bit 4 (0x0008)
Icon BuildMisc.JPG Miscellaneous bit 8 (0x0080)

RAW Data - Catalog Ratings

Catalog Ratings RAW Data
This section contains fields for each of the types of motives an object can increase. Setting these add the information to the catalog description.
Example of catalog description with a rating

No other effect is provided by these - i.e. they don't actually do the motive increase - you must code this as well.

RAW Data - User placement

User Placement RAW Data
This section controls where the user is allowed to place the object after buying it, e.g. against walls, etc.

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

Mesh and Graphics RAW Data
This section details various things about the actual object (or mesh as it is known).

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

Resource cross-refs RAW Data
This section, as its name suggests, links together the various resources used for this object.

The Interaction Table ID (0x0007) must contain the number that matches the instance ID for the Pie Menu Functions (TTAB) and the Pie Menu Strings (TTAs).

The slots id (0x0014) must contain the number that matches the instance ID for the Slot File (SLOT).

The catalog strings id (0x0029) must contain the number that matches the instance ID for the Catalog Description (CTSS).

If your object contains more than one mesh, you can indicate which one is is to be used by default. Generally when you have more than one mesh you have specific code to switch between the two meshes, but it can be helpful to set the default graphic (0x0048) for the mesh to be used for catalog icons and the like. The number you put in here indicates the line in the STR resource that holds the mesh names (often called 'Model Names'). These strings are taken from Text List (STR#) resource 0x00000085 (see String Resources for all the different Text List usages). In some earlier versions of SimPE I believe this field was labeled as 'object model guid 1 - Read-Only' - the number 0x0048 is the way you will know you have the correct field for sure.


RAW Data - GUIDs

GUIDs RAW Data
This section mainly provides read-only access to the various GUIDs you change on the left hand side of this editor. The picture shows the mapping.

The "object model guid 1 - Read 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

Data Space RAW Data
The data space section is essential for having space allocated for certain types of constructs.

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

Memories and Wants RAW Data
I have done no research on these yet


RAW Data - Miscellaneous

Miscellaneous RAW Data
This section has a random selection of other fields.

"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

Personal tools
Namespaces

Variants
Actions
Navigation
game select
Toolbox