FileDBReader fctohex -f <file> -i FcFile.xml -d -y
That way, you’ll be able to read everything in well-formed xml in a text editor.
Dummy
: A fixed Position and RotationDummyGroup
: A collection of Dummies and SubGroupsFeedback Definition
or Actor
: An Actor that can have multiple defined behaviors. It can pick either one or no Behavior to play.Spline
: A Curve in 3D Space.Actor Sequence
: Single Behavior of an Actor, consisting of Intro, Running and Outro. During an Actor Sequence, the Actor plays one or multiple Actions
, using Dummies
for Positioning.Action
: A Single Action like “walk from A to B” or “Fadeout”Object Sequence
: The State of the entire Game Object.Sequence
: A Sequence as used in a CFG file.Pay attention to the different types of Sequences. all of them are important, but all of them are fundamentally different things.
Here is the corresponding Dataset, as Object Sequences have a bit of relevance in the assets as well:
<DataSet>
<Name>FeedbackSequenceType</Name>
<Id>262</Id>
<Items>
<Item>
<Name>Default</Name>
<Id>0</Id>
</Item>
<Item>
<Name>Work</Name>
<Id>1</Id>
</Item>
<Item>
<Name>LowProductivity</Name>
<Id>2</Id>
</Item>
<Item>
<Name>Cheer</Name>
<Id>3</Id>
</Item>
<Item>
<Name>Boosted</Name>
<Id>4</Id>
</Item>
<Item>
<Name>Riot</Name>
<Id>5</Id>
</Item>
<Item>
<Name>RiotSpecial01</Name>
<Id>6</Id>
</Item>
<Item>
<Name>RiotSpecial02</Name>
<Id>7</Id>
</Item>
<Item>
<Name>RiotSpecial03</Name>
<Id>8</Id>
</Item>
</Items>
</DataSet>
Default
and Work
. The Game autoplays them. Default
by, well, default (idle), and Work
if an Objects Factory Property has a productivity greater than 0.Other Object Sequences can be activated by ActionStartObjectSequence
within triggers / quests in the assets.xml
ValidSequenceIDs
in the FC Files FeedbackDefinition
next to FeedbackConfigs
(0 = default is always supported, whether it’s specified here or not)An Actor decides for himself which Object Sequences he supports. This is done using FeedbackLoops
in the Actors
/Feedback Definitions
settings. Each Key, aka k
, forms a pair with the following Value, aka v
.
k
is an Id
in the Dataset FeedbackSequenceType
above.v
points to the index of the Sequence in the Actors SequenceDefinitions
(there, each top-level <i>
represents a Sequence)k and v are index based. The first k relates to the first v, the second k to the second v and so on. It’s totally valid to first write all k’s, then all v’s, as long as they are in order.
Take a look at these FeedbackLoops
<FeedbackLoops>
<k>0</k>
<v>0</v>
<k>1</k>
<v>0</v>
</FeedbackLoops>
Default
, plays v=0, meaning the first Sequence of the Actor. k=1, so Work
, plays the same first sequence.ValidSequenceIDs
. If an Actor only applies when Work
is active, you just set:<FeedbackLoops>
<k>1</k>
<v>0</v>
</FeedbackLoops>
The main DummyGroup
for the entire object. Every Dummy
that the Object can use is contained in here.
Dummy_0
, Dummy1
, Dummy2
and so on.Dummy_0
, Dummy_1
, Dummy_3
. If you have a gap like this, all dummies after the gap, in this case Dummy_3
, won’t be recognized by the game, and their orientation and position are lost. The objects will still spawn as there is a dummy present, but they spawn at the Object Center.FireDummy
with Dummies FireDummy_0
, FireDummy_1
and so on is used for applying Flames when an Object is burning. This is also used to add Riot and Festival banners, as well as Illness Smog.feedback_door
with Dummies feedback_door_0
, feedback_door_1
and so on is used for telling Dynamic Feedback (different type of feedback, see spoiler below) where the doors are on this building.bird_land
with Dummies bird_land_0
, bird_land_1
is used for telling birds where to land.
Dynamic Feedback does pathfinding between different buildings and travels from one building to another. For that, they need to know where the doors are.
/AssetVariationList/GuidVariationList
. This contains CDATA of tuples of a
Inhabitant
templated Asset and0
). -1
is random. This way you can force a certain variation.<GuidVariationList>CDATA[101878 -1 101879 -1 101880 -1 101872 -1 101873 -1 101874 -1 100903 -1 100904 -1 100905 -1]</GuidVariationList>`
Actors also have a few more settings
0
, feedback still completes its current play count or walking path; they do not vanish instantly)0
)Sequence Actions
that are played in order of appearance.