Roblox-Client-Tracker
Roblox-Client-Tracker copied to clipboard
Certain Property DataTypes Missing Default Values or Unexpected Format
This is only related to the Full-API-Dump.json and the Mini-API-Dump.json files.
Missing Values:
BrickColor
: Similar to CFrame, it's expected to be according to tostring method tostring(BrickColor.new())
or BrickColor.new().Name
CFrame
:
- All CFrame Properties Default Values are
__api_dump_no_string_value__
(if not overridden by another__api_dump_
type exception) - Even though all of them can be represented as a string just fine (e.g.
0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1
is result oftostring(CFrame.new())
)
DateTime
: should be similar to tostring(DateTime.now())
OptionalCoordinateFrame
: should be similar to CFrame
Region3int16
: tostring(Region3int16.new())
for 0, 0, 0; 0, 0, 0
(e.g. workspace.Terrain.MaxExtents)
SharedString
: __api_dump_no_string_value__
but could be in binary format instead (similar to BinaryStrings). Though not sure if this is possible, however the key is the MD5 hash of the string value (of Property Value itself)
Any ValueType with Category "Class" Default type of which is __api_dump_no_string_value__
should be nil
if possible (similar to PhysicalProperties)
Unexpected Format:
Font
: Expected to be Font { Family = rbxasset://fonts/families/GothamMedium.json, Weight = Regular, Style = Normal }"
not "GothamMedium
, also sometimes appears as __api_dump_no_string_value__
even though it can be turned into a string.
PhysicalProperties
:
- In case of
MaterialVariant.CustomPhysicalProperties
: Default is expected to be nil but it appears asdefault
- Non-Default: Not sure how such value would look like in the dump, e.g. in Studio it appears as
0.699999988, 0.300000012, 0.5, 1, 1
Notes:
- There might be more missing types that can be represented as a string, despite the
__api_dump_no_string_value__
, through further formatting. -
Enum
is also worth mentioning being in format ofDefault
instead of full string likeEnum.ModelStreamingMode.Default
but this isn't an issue and should stay that way tbh.
A general solution for majority of these is to use something similar to tostring as it works on most if not all DataTypes.
I understand that this might be harder to implement than it sounds but I would appreciate it very much if something can be done towards this.
Also I've a few questions, if you don't mind.
- Is your app the one that sets the Default values or do they naturally appear in Roblox's files that you extract the Full Dumps from?
- There are certain Default values for Vector2 DataType Properties that appear as
INF, INF
. Let's say a similarly infinite (math.huge) Vector3 value was to appear in the Full Dump, do you know how it would be formatted? Will it be formatted asINF, INF, INF
or will it be something else likeinf, inf, inf
similar totostring(Vector3.new(math.huge,math.huge,math.huge))
? Or would it depend on the DataType? Because for some reason it appears as Lowercase after tostring unlike Vector2 which is all Uppercase - Similarly to Question 2, do you know how
NaN
(0/0) or-INF
(-math.huge) values would be formatted in the Full Dump? Would it be all Uppercase like Vector2 or all Lowercase like Vector3? Or would it depend on the DataType too?
The dumps are generated from Roblox Studio. I make no change to the data except removing whitespace in the mini api-dump. As such I have no control over what data they export.
The dumps are generated from Roblox Studio. I make no change to the data except removing whitespace in the mini api-dump. As such I have no control over what data they export.
Would you be willing to format some of it though?