|
|
Line 19: |
Line 19: |
| 7BITSTR // InstanceName | | 7BITSTR // InstanceName |
| --insert [[Sims 3:Catalog Resource#Common|Common]] section | | --insert [[Sims 3:Catalog Resource#Common|Common]] section |
− | | + | DWORD |
| + | BYTE |
| + | DWORD FireType // 0=DoesNotBurn 1=Chars 2=AshPile |
| + | // (however: see EP2 abandonedBoxCar IID 0x00989D3C and several others) |
| + | BYTE IsStealable // boolean |
| + | BYTE IsReposessable // boolean |
| + | BYTE[4] (unknown7) |
| DWORD index1 // of an OBJK ([[Sims 3:0x02DC343F|0x02DC343F]]) TGI | | DWORD index1 // of an OBJK ([[Sims 3:0x02DC343F|0x02DC343F]]) TGI |
| DWORD [[Sims 3:0x319E4F1D#Misc_Flags|(ObjectTypeFlags)]] | | DWORD [[Sims 3:0x319E4F1D#Misc_Flags|(ObjectTypeFlags)]] |
Revision as of 19:49, 4 November 2010
Object Definition - OBJD |
TypeID: | 0x319E4F1D |
Game Version: | The Sims 3 |
Overview
Defines the basic parameters of an object such as price, and buy/build mode sort flags, and links to additional resources.
Format
"indexn" fields are where the given position in the TGI Block List refers to the resource mentioned in the comment.
DWORD Version
DWORD TGI_offset
DWORD TGI_size
--insert Material List section for Object
--if Version >= 0x16
7BITSTR // InstanceName
--insert Common section
DWORD
BYTE
DWORD FireType // 0=DoesNotBurn 1=Chars 2=AshPile
// (however: see EP2 abandonedBoxCar IID 0x00989D3C and several others)
BYTE IsStealable // boolean
BYTE IsReposessable // boolean
BYTE[4] (unknown7)
DWORD index1 // of an OBJK (0x02DC343F) TGI
DWORD (ObjectTypeFlags)
DWORD (WallPlacementFlags)
DWORD (MovementFlags)
DWORD //NumWallCutoutTilesPerLevel
DWORD //NumLevels
BYTE Count1 // wallmask entries
--repetition(Count1)
FLOAT[4]
DWORD
DWORD // index to Wall mask DDS TGI
BYTE // ScriptEnabled (boolean)
DWORD index2 // to Diagonal OBJD TGI, if it exists, otherwise to a zero TGI entry
DWORD hash // AmbienceType hashed
DWORD RoomFlags
DWORD FunctionCategoryFlags
QWORD SubCategoryFlags
QWORD SubRoomFlags
DWORD BuildCategoryFlags
DWORD index3 // to CutoutTexture DDS TGI if it exists, otherwise to a zero TGI entry
--if Version >= 0x17
DWORD // index to floor cutout DDS TGI
DWORD // FloorCutoutLevelOffset
FLOAT // FloorCutoutBoundsLength
--if Version >= 0x18
DWORD hash count
--repetition(hash count)
DWORD //BuildableShellDisplayState name hash
--if Version >= 0x19
DWORD // index to LevelBelow OBJD TGI
DWORD slotPlacementFlags
7BITSTR // SurfaceType
7BITSTR // SourceMaterial
DWORD // Moodlet Given
DWORD // Moodlet Score
DWORD // 0x06 here prevents appearance in catalog
--repeat(5)
DWORD // topic
DWORD // rating
DWORD index4 // to a fall back OBJD TGI, otherwise to a zero TGI entry
// used for when this object is loaded in too early an EP
--insert TGI Block List
Unknown7
Unknown7 as mentioned in s3pe is a 4 sized bytes array that previously identified as 4 bytes zero. It seems in newer version, Unknown7 doesn't always contains zero, and lately found that Unknown7[3] (Unknown7 index no. 3) is used to flag an objects to be shown in World Editor catalog as comes in The Sims 3: Ambitions and newest The Sims 3 patch, as well as Create-a-World catalog. Unknown7 might be also a reserved byte-sized variables that could be used in future version of the game.
{PLJ} Sounds like this should be:
DWORD InWorldEditable // boolean
Showing Objects In World Editor and Create-a-World Catalog
Basically all objects can be made to appear in World Editor or Create-a-World catalog. To make an object appear on those catalogs, apply this value on your desired object OBJD data:
- Set Version in CommonBlock to 0x0000000E.
- Set Unknown7[3] to 0x01
- If you want the object to show up in the World Editor catalog, set BuildCategoryFlags to 0x00001000 (Tree), 0x00002000 (Rock), or 0x00008000 (Community/Misc. Objects).
In order to make your CAW recognize your custom content, You will need to create a CC Framework like the framework for The Sims 3 games inside your CAW program folder. As soon as the CAW load the flagged custom content, it will appears in CAW catalog.
Misc Flags
These field names refer to those shown in s3pe. Please feel free to come up with better names than "Unknownnn"...
ObjectTypeFlags
|
Flag
|
Description
|
0x00000002 |
AutomaticallyBuyAnotherAfterPlacing
|
0x00000004 |
HidesFloorOnPlacement
|
0x00000008 |
IsDoor
|
0x00000010 |
IsWindow
|
0x00000020 |
IsGate
|
0x00000040 |
HideWhenWallDown
|
0x00000080 |
RabbitHole
|
0x00000100 |
IsDiagonal
|
0x00000200 |
ForceToFullGrid
|
0x00000400 |
RequireFloorAboveIfOutside
|
0x00000800 |
IsFireplace
|
0x00001000 |
IsChimney
|
0x00002000 |
IsFlora
|
0x00004000 |
IsColumn
|
0x00008000 |
TakeParentAlongWhenPicked
|
0x00010000 |
LiveDraggingEnabled
|
0x00020000 |
AllowOnSlope
|
0x00040000 |
LargeObject
|
0x00080000 |
FloatsOnWater
|
0x00100000 |
IsGarageDoor
|
0x00200000 |
IsMailbox
|
0x00400000 |
IgnorePatternSound
|
0x00800000 |
IsRoadBridge
|
0x01000000 |
AllowWallObjectOnGround
|
0x02000000 |
HasFloorCutout
|
0x04000000 |
BuildableShell
|
0x05000000 |
ElevationFromCeiling
|
0x10000000 |
CanDepressTerrain
|
0x20000000 |
IgnorePlatformElevation
|
0x40000000 |
CantBePlacedOnPlatform
|
0x80000000 |
IsShellDoor
|
|
WallPlacementFlags
|
Flag
|
Description
|
0x00000001 |
WallAtMinXEdge
|
0x00000002 |
WallAtMinZEdge
|
0x00000004 |
WallAtMaxXEdge
|
0x00000008 |
WallAtMaxZEdge
|
0x00000010 |
WallAt01To10Diag
|
0x00000020 |
WallAt00To11Diag
|
0x00000040 |
NoWallAtMinXEdge
|
0x00000080 |
NoWallAtMinZEdge
|
0x00000100 |
NoWallAtMaxXEdge
|
0x00000200 |
NoWallAtMaxZEdge
|
0x00000400 |
NoWallAt01To10Diag
|
0x00000800 |
NoWallAt00To11Diag
|
0x00001000 |
FlagsApplyToFences
|
0x00002000 |
ProhibitsFenceArch
|
0x00004000 |
OnWall
|
0x00008000 |
IntersectsObjectsOffWall
|
0x00010000 |
ApplyCutoutDiagonalShift
|
0x00020000 |
CanBeMovedUpDownOnWall
|
0x00040000 |
CannotBeMovedUpDownOnWall
|
|
MovementFlags
|
Flag
|
Description
|
0x00000002 |
StaysAfterEvict
|
0x00000004 |
HandToolCannotMoveIt
|
0x00000008 |
HandToolCannotDeleteIt
|
0x00000010 |
HandToolCannotDuplicateIt
|
0x00000020 |
HandToolCanDuplicateWhenHiddenInCatalog
|
0x00000040 |
HandToolSkipRecursivePickupTests
|
0x00000080 |
GhostsCannotFloatThrough
|
|
Catalog Flags
Room Flags
Room Flags
|
Flag
|
Description
|
0x00000001
|
|
0x00000002
|
Living Room
|
0x00000004
|
Dining Room
|
0x00000008
|
Kitchen
|
0x00000010
|
Kid Bedroom
|
0x00000020
|
Bathroom
|
0x00000040
|
Bedroom
|
0x00000080
|
Study
|
0x00000100
|
Outdoors
|
0x00000200
|
Community
|
0x00000400
|
Residential
|
0x00000800
|
Pool
|
|
Room SubSort
|
Flag
|
Description
|
0x0000000000000001
|
|
0x0000000000000002
|
Dishwashers
|
0x0000000000000004
|
SmallAppliances
|
0x0000000000000008
|
Refrigerators
|
0x0000000000000010
|
TrashCans
|
0x0000000000000020
|
Alarms
|
0x0000000000000040
|
Phones
|
0x0000000000000080
|
TVs
|
0x0000000000000100
|
Smoke Alarm
|
0x0000000000000200
|
|
0x0000000000000400
|
Stereo
|
0x0000000000000800
|
Computers
|
0x0000000000001000
|
Hobbies
|
0x0000000000002000
|
Indoor Activities
|
0x0000000000004000
|
Lounge Chair
|
0x0000000000008000
|
Desk Chair
|
0x0000000000010000
|
Stoves
|
0x0000000000020000
|
Grills
|
0x0000000000040000
|
Outdoor Activities
|
0x0000000000080000
|
Ceiling Lights
|
0x0000000000100000
|
Floor Lamps
|
0x0000000000200000
|
Table Lamps
|
0x0000000000400000
|
Wall Lamps
|
0x0000000000800000
|
Outdoor Lighting
|
0x0000000001000000
|
Showers
|
0x0000000002000000
|
Sinks
|
0x0000000004000000
|
Toilets
|
0x0000000008000000
|
Tubs
|
0x0000000010000000
|
Accents
|
0x0000000020000000
|
Lawn Decor
|
0x0000000040000000
|
Paintings
|
0x0000000080000000
|
Plants
|
|
Room SubSort (cont)
|
Flag
|
Description
|
0x0000000100000000
|
Mirrors
|
0x0000000200000000
|
Video Games
|
0x0000000400000000
|
Kids Paintings
|
0x0000000800000000
|
Bookshelves
|
0x0000001000000000
|
Cabinets
|
0x0000002000000000
|
Dressers
|
0x0000004000000000
|
Dining Chairs
|
0x0000008000000000
|
Sofas
|
0x0000010000000000
|
Outdoor Seating
|
0x0000020000000000
|
Roof Decorations
|
0x0000040000000000
|
Beds
|
0x0000080000000000
|
Barstools
|
0x0000100000000000
|
Coffee Tables
|
0x0000200000000000
|
Counters
|
0x0000400000000000
|
Desks
|
0x0000800000000000
|
End Tables
|
0x0001000000000000
|
Dining Tables
|
0x0002000000000000
|
Furniture
|
0x0004000000000000
|
Toys
|
0x0008000000000000
|
Transport
|
0x0010000000000000
|
Bars
|
0x0020000000000000
|
Clocks
|
0x0040000000000000
|
Curtains & Blinds
|
0x0080000000000000
|
Kids Decor
|
0x0100000000000000
|
Misc Decor
|
0x0200000000000000
|
Rugs
|
0x0400000000000000
|
Laundry
|
0x0800000000000000
|
|
|
Category Flags
Category Flags
|
Flag
|
Description
|
0x00000001
|
|
0x00000002
|
Appliances
|
0x00000004
|
Electronics
|
0x00000008
|
Entertainment
|
0x00000010
|
|
0x00000020
|
Lighting
|
0x00000040
|
Plumbing
|
0x00000080
|
Decor
|
0x00000100
|
Children
|
0x00000200
|
Storage
|
0x00000400
|
|
0x00000800
|
Comfort
|
0x00001000
|
Surfaces
|
0x00002000
|
Vehicles
|
0x00004000
|
|
0x00008000
|
|
0x40000000
|
Debug
|
|
Category SubSort
|
Flag
|
Description
|
0x0000000000000001
|
|
0x0000000000000002
|
Appliances/Miscellaneous Appliances
|
0x0000000000000004
|
Appliances/Small Appliances
|
0x0000000000000008
|
Appliances/Large Appliances
|
0x0000000000000010
|
Debug/Tomb Objects
|
0x0000000000000020
|
Debug/Fish Spawners
|
0x0000000000000040
|
Debug/Gardening Plant & Seed Spawners
|
0x0000000000000080
|
Electronics/TVs
|
0x0000000000000100
|
Electronics/Miscellaneous Electronics
|
0x0000000000000200
|
Debug/Rock/Gem/Metal Spawners
|
0x0000000000000400
|
Electronics/Audio
|
0x0000000000000800
|
Electronics/Computers
|
0x0000000000001000
|
Entertainment/Hobbies & Skills
|
0x0000000000002000
|
Entertainment/Sports
|
0x0000000000004000
|
Comfort/Living Chairs
|
0x0000000000008000
|
??Comfort/Desk Chairs
|
0x0000000000010000
|
Debug/Insect Spawners
|
0x0000000000020000
|
Entertainment/Parties
|
0x0000000000040000
|
Entertainment/Miscellaneous Entertainment
|
0x0000000000080000
|
Lighting/Ceiling Lights
|
0x0000000000100000
|
Lighting/Floor Lamps
|
0x0000000000200000
|
Lighting/Table Lamps
|
0x0000000000400000
|
Lighting/Wall Lamps
|
0x0000000000800000
|
Lighting/Outdoor Lights
|
0x0000000001000000
|
Comfort/Lounge Chairs
|
0x0000000002000000
|
Plumbing/Sinks
|
0x0000000004000000
|
Plumbing/Toilets
|
0x0000000008000000
|
Plumbing/Showers & Tubs
|
0x0000000010000000
|
Decor/Miscellaneous Decor
|
0x0000000020000000
|
Decor/Sculptures
|
0x0000000040000000
|
Decor/Paintings & Posters
|
0x0000000080000000
|
Decor/Plants
|
|
Category SubSort (cont)
|
Flag
|
Description
|
0x0000000100000000
|
Decor/Mirrors
|
0x0000000200000000
|
|
0x0000000400000000
|
Debug/Misc. Objects
|
0x0000000800000000
|
Storage/Bookshelves
|
0x0000001000000000
|
Surfaces/Displays
|
0x0000002000000000
|
Storage/Dressers
|
0x0000004000000000
|
Comfort/DiningChairs
|
0x0000008000000000
|
Comfort/Sofas & Loveseats
|
0x0000010000000000
|
Comfort/Miscellaneous Comfort
|
0x0000020000000000
|
Decor/Roof Decorations
|
0x0000040000000000
|
Comfort/Beds
|
0x0000080000000000
|
|
0x0000100000000000
|
Surfaces/Coffee Tables
|
0x0000200000000000
|
Surfaces/Counters
|
0x0000400000000000
|
Surfaces/Desks
|
0x0000800000000000
|
Surfaces/End Tables
|
0x0001000000000000
|
Surfaces/Dining Tables
|
0x0002000000000000
|
Kids/Furniture
|
0x0004000000000000
|
Kids/Toys
|
0x0008000000000000
|
Vehicles/Cars
|
0x0010000000000000
|
Vehicles/Bicycles
|
0x0020000000000000
|
Surfaces/Cabinets
|
0x0040000000000000
|
Decor/Curtains & Blinds
|
0x0080000000000000
|
Kids/Miscellaneous Kids
|
0x0100000000000000
|
Lighting/Miscellaneous Lighting
|
0x0200000000000000
|
Plumbing/Miscellaneous Plumbing
|
0x0400000000000000
|
Storage/Miscellaneous Storage
|
0x0800000000000000
|
Surfaces/Miscellaneous Surfaces
|
0x1000000000000000
|
Vehicles/Miscellaneous Vehicles
|
0x2000000000000000
|
Decor/Rugs
|
|
Build Flags
Build Flags
|
Flag
|
Description
|
0x00000002
|
Door
|
0x00000004
|
Window
|
0x00000008
|
Gate
|
0x00000010
|
Column
|
0x00000020
|
Rabbit Hole
|
0x00000040
|
Fireplace
|
0x00000040
|
Chimney
|
0x00000100
|
Arch
|
0x00000200
|
Flower
|
0x00000400
|
Shrub
|
0x00000800
|
Tree
|
0x00001000
|
Rug
|
0x00002000
|
Rock
|
0x00004000
|
Shell
|
0x00008000
|
Community/Misc. Objects
|
0x00010000
|
Elevator
|
Slot Flags
Slot Placement Flags
|
Flag
|
Description
|
0x00000001 |
None
|
0x00000002 |
|
0x00000004 |
|
0x00000008 |
Small
|
0x00000010 |
Medium
|
0x00000020 |
Large
|
0x00000040 |
|
0x00000080 |
|
0x00000100 |
Sim
|
0x00000200 |
Chair
|
0x00000400 |
CounterSink
|
0x00000800 |
EndTable
|
0x00001000 |
Stool
|
0x00002000 |
CounterAppliance
|
0x00004000 |
|
0x00008000 |
|
0x00010000 |
|
0x00020000 |
|
0x00040000 |
Functional
|
0x00080000 |
Decorative
|
0x01000000 |
Upgrade
|
0x02000000 |
Vertical (aka MatchFlags)
|
0x04000000 |
PlacementOnly
|
0x08000000 |
|
0x10000000 |
CardinalRotation
|
0x20000000 |
FullRotation
|
0x40000000 |
AlwaysUp
|
0x80000000 |
|
|
There's a constant, "CheckFlags = 0xc3f38", masking off up to Decorative, which implies the other flags aren't really "slot placement"... Maybe. Today.
Moodlets
The Moodlet Given defines what icon to display and the Moodlet Score the number of + signs (maximum of three).
Moodlet Given |
Icon |
Shown In
|
0x00000001 |
|
(Sitting) Dining Chairs, Living Chairs, Sofas, Loveseats, Barstools
|
0x00000002 |
|
(Sleeping) Beds, Cribs, Tents
|
0x00000003 |
|
(Music) Stereos
|
|
Moodlet Score |
Icon
|
0x00000001 |
|
0x00000002 |
|
0x00000003 |
|
|
Topic/Rating
Topic |
Catalog Text
|
0x00000000 |
No entry - and stops any further entries displaying
|
0x00000001 |
Environment
|
0x00000002 |
Hunger
|
0x00000003 |
Bladder
|
0x00000004 |
Energy
|
0x00000005 |
Stress Relief
|
0x00000006 |
Fun
|
0x00000007 |
Hygiene
|
0x00000008 |
Logic
|
0x00000009 |
Charisma
|
0x0000000a |
Cooking
|
0x0000000b |
Athletic
|
0x0000000c |
Painting
|
0x0000000d |
Guitar
|
0x0000000e |
Handiness
|
0x0000000f |
Group Activity
|
0x00000010 |
Upgradable
|
0x00000011 |
Learn Cooking Faster
|
0x00000012 |
Child Only
|
0x00000013 |
No Entry
|
0x00000014 |
Gardening
|
0x00000015 |
Fishing
|
0x00000016 |
Self Cleaning
|
0x00000017 |
Never Breaks
|
0x00000018 |
Portable
|
0x00000019 |
Speed
|
0x0000001A |
Inventing
|
0x0000001B |
Sculpting
|
0x0000001C |
Piano Skill
|
0x0000001D |
Bass Skill
|
0x0000001E |
Drum Skill
|
|
Rating |
Effect
|
0x00000000 |
Nothing added, eg "Logic"
|
0x00000001 to 0x0000000A |
Appended after topic, eg "Logic: 10"
|
0x0000000B |
Prefix "+", eg "+ Logic"
|
0x0000000C and beyond |
Display as numbers but normally never used
|
|