ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
NameType (num bytes)Explanation (If it is unkown then it is not that it can't be figured out by name alone, but i want to be absolutly certain and havent found its use in the engine yet)Guess
HOW ARE LISTS HANDELED
2
A list consists of 4 bytes of unisnged int which is the length of the list, and then the items in the list
3
---Boolean (1)This is a flag on whether the engine should create the obstacle or not, this will always be 1, as their is no reason to not have this set to 1 as that would just be a waste of space as it is unchangeable from within the game
4
ActivateAtRangeBoolean (1)UNKNOWNIf active is false and this is true then set active to true when the player is within X distance
HOW ARE STRINGS HANDELED
5
ActivationRangeFloat (4)UNKNOWNSee above
A string is handeled in 3 parts, all strings are nullable so they all start with a single byte representing a boolean flag on whether to read any part of the string or not (this is false when the json value is "null"). If true then it reads a 4 byte unsigned int which is the strings length, then ito reads X bytes each representing an ascii character
6
ActiveBoolean (1)Whether the obstacle is active in the world, if set to false nothing in the game is shown and no collision is created
7
AllowMovementReactionBoolean (1)UNKNOWN
WHAT IS A TRIBOOLEAN
8
AmbientFloat (4)UNKNOWNI think it relates to shader values
A triboolean is a set of 4 bytes. As far as I am aware it only does something with the first byte which can be a value of 0, 1, or 2. 0 is true, 1 is undefined, and 2 is false
9
AngleFloat (4)The angle that the obstacle is set to, 0 is default, in degrees
10
AttachedIDsList of Integers (4)The IDs that are attached to this obstacle, as far as I'm aware this does nothing but is a good reference, so just to be sure you should always put attached obstacles in here
WHAT IS A DATA TYPE
11
CausesOcculsionBoolean (1)If true when the player character is behind the obstacle (and would become obstructed) it will become semi-transparent
A data type like a triboolean is 4 bytes but only the first is read. It assigns to a specific type dep[ending on its value ranging from 0-9
12
ClutterBoolean (1)UNKNOWN0Text
13
CollisionBoolean (1)Whether collision is enabled on the obejct or not1Obstacle
14
ColorColor (4)Consists of 4 8-bit unsigned ints that represent R, G, B, and A, the color of the object (adds to the animation)2Unit
15
CommentsString (variable)The engine does nothing with this at all, so feel free to put whatever in here, but do be warned that every character is 1 byte so too long of a string will bloat a file3Prefab
16
CreatesShaddowsTriboolean (4)UNKNOWNName seems pretty self-explanatory but unsure4Weapon
17
DataTypeData Type (4)The type of the obstalce, I am unsure if this actually changes anything about the obstacle itself or is just for categorizing5Unkown
18
DrawVfxOnTopTriboolean (4)UNKNOWN6Projectile
19
FlipHorizontalBoolean (1)Whether the sprite is flipped horizontally7Count
20
FlipVerticalBoolean (1)Whether the sprite is flipped vertically8Animation
21
GroupNamesList of String (variable + 4)All groups that the object is in, most don' have more then 1 or 2 they are a part of, groups must be declared in .map_text before they can be used by an obstalceGroups have some odd thing where they have 4 null bytes before every single group name, dont know why9Component
22
HelpTextIDString (variable)UNKNOWNHaven't looked at it extensivly but seems to always be null?
23
HueFloat (4)UNKNOWNMost likely like color that its just additive
HOW IS LOCATION HANDELED
24
SaturationFloat (4)UNKNOWNSee above
Location is a table with 2 fields, X and Y, both are floats and thus are 8 bytes
25
ValueFloat (4)UNKNOWNSee above
26
IdInteger (4)A unique id identifier of the obstalce, is a 32-bit signed integer
27
IgnoreGridManagerBoolean (1)UNKNOWNFairly certain this is just for thier in-house map editor
28
InvertBoolean (1)UNKNOWN
29
LocationLocation Table (8)The location of the object itself, both X and Y are floatsLocation Help:
(X pos is right, y Pos is down, relative to camera angle, not isometric angle)
30
NameString (variable)The "Name" of the obstalce, this does not have to be unique and points to the sjson animations for the graphic and collision points for the obstacle
31
OffsetZFloat (4)UNKNOWN
32
ParallaxAmountFloat (4)UNKNOWN
33
PointsList of Location Tables (8)The geometry points of the obstacle, creates a polygon with points offset from the center of the obstacle that connect and form the physics object
34
ScaleFloat (4)The scale of the obstalce, 1.0 is default, 2.0 is double, 0.5 is half, etc.
35
SkewAngleFloat (4)UNKNOWN
36
SkewScaleFloat (4)UNKNOWN
37
SortIndexInteger (4)UNKNOWNJudging by name its most likely similar to css's z-index
38
StopsLightTriboolean (4)UNKNOWNMost likely stops light from going past it
39
TallnessFloat (4)UNKNOWNMay be left over from Pyre
40
UseBoundsForSortAreaTriboolean (4)UNKNOWN
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100