Skip to content

Blueprint

Tony Bark edited this page May 3, 2024 · 2 revisions

Blueprint is an XML format used to store the job lots (nightclub, restaurant, and robot factory) and default house offline in The Sims Online. These are probably not used client-side because "blueprints" and "default_house" do not appear in the game EXE or any of its DLL.

Background

A modified version of the Blueprint format during FreeSO's alpha stage. During this phase, Rhys created a blank lot that could be loaded into the game. This version was capable of being written and streamed to in real time, allowing for players to build and share their lots, similar to the mainline games. Today, it serves as a sandbox mode for further development of new objects and features.

My Simulation uses a JSON variant for better readability and to make use of existing APIs in Zig's standard library. While the project intends to use it for a similar purpose as FreeSO did during its development, Tony Bark plans to expand this feature into a fully playable P2P mode for smaller scale communities.

Elements

house_definition

Children

Child element Required? Description
house_types Once
houses Once

house_types

Children

Child element Required? Description
type One or more times

type

Attributes

Attribute Required? Description
id Yes
label Yes

houses

Children

Child element Required? Description
house One or more times

house

Attributes

Attribute Required? Description
version Yes

Children

Child element Required? Description
revision Once
size Once
category Once
world Once
sounds Once
objects Once

revision

Attributes

Attribute Required? Description
author Yes
date Yes
change Yes

size

Contents - An unsigned integer specifying the size of lot used for this house

category

Contents - An unsigned integer specifying the category of this house

world

Children

Child element Required? Description
flags Once
floors Once
walls Once
pools Once
water Once

flags

Children

Child element Required? Description
layer One or more times

layer

Attributes

Attribute Required? Description
level Yes Value must be 0 or 1

Contents - A string with meaning unknown at this time

floors

Children

Child element Required? Description
floor No

floor

Attributes

Attribute Required? Description
level Yes Value must be 0 or 1
x Yes
y Yes
value Yes

walls

Children

Child element Required? Description
wall No

wall

Attributes

Attribute Required? Description
level Yes Value must be 0 or 1
x Yes
y Yes
segments Yes
placement Yes
tls Yes
trs Yes
tlp Yes
trp Yes
blp Yes
brp Yes

pools

Children

Child element Required? Description
pool No

pool

Attributes

Attribute Required? Description
x Yes
y Yes
value Yes

water

Children

Child element Required? Description
puddle No

puddle

Attributes

Attribute Required? Description
x Yes
y Yes
value Yes

sounds

Children

Child element Required? Description
sound No

sound

Attributes

Attribute Required? Description
id Yes
on No Value must be 0 or 1. Defaults to 0.

objects

Children

Child element Required? Description
object No

object

Attributes

Attribute Required? Description
guid Yes
name No
group No Defaults to 0
x No Defaults to -1
y No Defaults to -1
level No Value must be 0 or 1. Defaults to 0.
dir No Defaults to 0
hidden No Value must be 0 or 1. Defaults to 0.