Difference between revisions of "Sims 3:Catalog Resource"

From SimsWiki
Jump to: navigation, search
(Complate Variables)
(Complate Variables)
Line 101: Line 101:
 
=====Complate Variables=====
 
=====Complate Variables=====
 
For main material block:
 
For main material block:
  daeFileName= 0x5,
+
  DaeFileName = 0x5,
  Mask= 0x13,
+
  BackgroundImage = 0x0b,
 +
RGBMask = 0x13,
 
  Multiplier = 0x14,
 
  Multiplier = 0x14,
 
  Specular = 0x17,
 
  Specular = 0x17,
 
  Overlay = 0x18,
 
  Overlay = 0x18,
  Pattern A Enabled = 0x33,
+
  StencilA = 0x20,
  Pattern B Enabled = 0x34,
+
StencilB = 0x21,
  Pattern C Enabled = 0x35,
+
StencilC = 0x22,
  Pattern A Tiling = 0x3c,
+
StencilD = 0x23,
  Pattern B Tiling = 0x3d,
+
StencilAEnabled = 0x24,
  Pattern C Tiling = 0x3e
+
StencilBEnabled = 0x25,
 +
StencilCEnabled = 0x26,
 +
StencilDEnabled = 0x27,
 +
StencilATiling = 0x28,
 +
StencilBTiling = 0x29,
 +
StencilCTiling = 0x2a,
 +
StencilDTiling = 0x2b,
 +
StencilARotation = 0x2c,
 +
StencilBRotation = 0x2d,
 +
StencilCRotation = 0x2e,
 +
StencilDRotation = 0x2f,
 +
PatternA = 0x30,
 +
PatternB = 0x31,
 +
PatternC = 0x32,
 +
PatternAEnabled = 0x33,
 +
  PatternBEnabled = 0x34,
 +
  PatternCEnabled = 0x35,
 +
  PatternALinked = 0x36,
 +
PatternBLinked = 0x37,
 +
PatternCLinked = 0x38,
 +
PatternARotation = 0x39,
 +
PatternBRotation = 0x3a,
 +
PatternCRotation = 0x3b,
 +
PatternATiling = 0x3c,
 +
  PatternBTiling = 0x3d,
 +
  PatternCTiling = 0x3e,
  
The same variables can be used in sub material block but some values can have a different meaning there:
+
The variables in the sub material section (used for pattern variables) have their own types:
  Background Image = 0x3,
+
  BackgroundImageName = 0x1,
  H BG, S BG, V BG = 0x14
+
  DDS1 = 0x04,
 +
Color = 0x07,
 +
RgbMask = 0x09,
 +
SpecMap = 0x0a,
 +
BackgroundImageIndex = 0x0b,
 +
HSVShiftBg = 0x0c,
 +
HBg = 0x0d,
 +
SBg = 0x0e,
 +
VBg = 0x0f,
 +
BaseHBg = 0x10,
 +
BaseSBg = 0x11,
 +
BaseVBg = 0x12,
 +
DDS2 = 0x15,
 +
DDS3 = 0x16,
  
Theese lists are not complete
+
These lists are not complete and for the pattern section there are some inconsistencies between complates
  
 
====Typecodes====
 
====Typecodes====

Revision as of 22:21, 25 August 2009

Sims 3:Main Page


Contents

Overview

The following resource types are used for catalog entries.

Type ID Tag Name
0x0418FE2A CFEN Catalog Fence
0x049CA4CD CSTR Catalog Stairs
0x04AC5D93 CPRX Catalog Proxy Product
0x04B30669 CTTL Catalog Terrain Geometry Brush
0x04C58103 CRAL Catalog Railing
0x04ED4BB2 CTPT Catalog Terrain Paint Brush
0x04F3CC01 CFIR Catalog Fireplace
0x060B390C CWAT Catalog Terrain Water Brush
0x316C78F2 CFND Catalog Foundation
0x319E4F1D OBJD Catalog Object
0x515CA4CD CWAL Catalog Wall/Floor Pattern
0x9151E6BC CWST Catalog Wall Style
0x91EDBD3E CRST Catalog Roof Style
0xF1EDBD86 CRMT Catalog Roof Pattern

Format

Common

This block appears in all Catalog Resources. The name and description GUIDs can be looked up in the STBL.

DWORD //12
QWORD Name GUID //from STBL
QWORD Desc GUID //from STBL
7BITSTR // Catalog Name entry
7BITSTR // Catalog Desc entry
FLOAT price
FLOAT //always 1.0
4BYTE //binary zeros
BYTE
QWORD I64 of PNG icon //usually 0


Material List

This section is only present in Objects and Wall/Floor Patterns; it differs slightly between the two, as annotated.

DWORD Count1
--repetition Count1 Material:
	BYTE type
	if (type != 1) DWORD
	DWORD offset		// from here to after TGI Block List
	WORD
	DWORD tgi offset	// see Sims 3:Key table
	DWORD tgi size		// see Sims 3:Key table
	--insert MaterialBlock
	--insert TGI Block List	// see Sims 3:Key table
	DWORD
	--if Wall/Floor Style:
		DWORD
		DWORD
		DWORD

Material Block

This block holds the variables used in the complate to render a texture, equivalent to the preset XML used for CAS parts.

BYTE index //Points to the complate XML in the TGI index where the variables should be applied
--insert data for typecode 0x01 // see below
--insert data for typecode 0x01 // see below
DWORD count1
--repetition count1 Type Code List:
	BYTE ComplateVariable
	switch(ComplateVariable)
	{
	    case 0x40:
		(do not increase count - skip 0x40 bytes)
		break;
	    case 0x2F:
		BYTE
		DWORD
		break;
	    default:
		BYTE typecode
		--insert data for typecode // see below
		break;
	}
DWORD count2
--repeat(count2)
	Material Block // sub-blocks used for pattern definitions
Complate Variables

For main material block:

DaeFileName = 0x5,
BackgroundImage = 0x0b,
RGBMask = 0x13,
Multiplier = 0x14,
Specular = 0x17,
Overlay = 0x18,
StencilA = 0x20,
StencilB = 0x21,
StencilC = 0x22,
StencilD = 0x23,
StencilAEnabled = 0x24,
StencilBEnabled = 0x25,
StencilCEnabled = 0x26,
StencilDEnabled = 0x27,
StencilATiling = 0x28,
StencilBTiling = 0x29,
StencilCTiling = 0x2a,
StencilDTiling = 0x2b,
StencilARotation = 0x2c,
StencilBRotation = 0x2d,
StencilCRotation = 0x2e,
StencilDRotation = 0x2f,
PatternA = 0x30,
PatternB = 0x31,
PatternC = 0x32,
PatternAEnabled = 0x33,
PatternBEnabled = 0x34,
PatternCEnabled = 0x35,
PatternALinked = 0x36,
PatternBLinked = 0x37,
PatternCLinked = 0x38,
PatternARotation = 0x39,
PatternBRotation = 0x3a,
PatternCRotation = 0x3b,
PatternATiling = 0x3c,
PatternBTiling = 0x3d,
PatternCTiling = 0x3e,

The variables in the sub material section (used for pattern variables) have their own types:

BackgroundImageName = 0x1,
DDS1 = 0x04,
Color = 0x07,
RgbMask = 0x09,
SpecMap = 0x0a,
BackgroundImageIndex = 0x0b,
HSVShiftBg = 0x0c,
HBg = 0x0d,
SBg = 0x0e,
VBg = 0x0f,
BaseHBg = 0x10,
BaseSBg = 0x11,
BaseVBg = 0x12,
DDS2 = 0x15,
DDS3 = 0x16,

These lists are not complete and for the pattern section there are some inconsistencies between complates

Typecodes

Typecode Data Comments
0x01 (BYTE)(6bitstr if &0x80)(BYTE if &0x40)
0x02 (BYTE)(BYTE)(BYTE)(BYTE) RGBA color
0x03 (BYTE) Index to TGI table below
0x04 (FLOAT)
0x05 (FLOAT)(FLOAT)
0x06 (FLOAT)(FLOAT)(FLOAT)
0x07 (BYTE) Boolean

Sims 3:Main Page

Personal tools
Namespaces

Variants
Actions
Navigation
game select
Toolbox