Difference between revisions of "Sims 3:0x319E4F1D"

From SimsWiki
Jump to: navigation, search
(Format: Restore deleted lines between Common and OBJK Index)
m (Format)
Line 25: Line 25:
 
  BYTE IsStealable    // boolean
 
  BYTE IsStealable    // boolean
 
  BYTE IsReposessable // boolean
 
  BYTE IsReposessable // boolean
  BYTE[4] (unknown7)
+
  BYTE[4] ([[Sims 3:0x319E4F1D#Unknown7|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:50, 4 November 2010

Modding Reference by Category

Sims 3 :DBPF | File Types | RCOL(Scene) | Catalog Resource | String Table | Key Table | TS3 Programmer's Reference 

Object Definition - OBJD
TypeID:0x319E4F1D
Game Version:The Sims 3



Contents

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 Comfy-.png (Sitting) Dining Chairs, Living Chairs, Sofas, Loveseats, Barstools
0x00000002 WellRested.png (Sleeping) Beds, Cribs, Tents
0x00000003 EnjoysMusic.gif (Music) Stereos
Moodlet Score Icon
0x00000001 Comfy-.png
0x00000002 Comfy--.png
0x00000003 Comfy---.png

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


Modding Reference by Category

Sims 3 :DBPF | File Types | RCOL(Scene) | Catalog Resource | String Table | Key Table | TS3 Programmer's Reference 

Personal tools
Namespaces

Variants
Actions
Navigation
game select
Toolbox