ss
This commit is contained in:
HelenWalker committed 2026-03-07 12:13:04 -07:00
commit b5adecf94c
6 files changed
+1850

No files matched your search

+621
View File
@@ -0,0 +1,621 @@
namespace DynamicAssets;
table FBFactorySingleGridRangeData {
OptionStart: int;
HeightMin: short;
HeightMax: short;
Flag: uint8;
OptionNum: uint8;
}
table FBFactoryChunkData {
status: uint = 0;
Index: [int];
Nums: [uint8];
Ranges: [FBFactorySingleGridRangeData];
AllOptionSpecData: [ulong];
}
table FBDynamicSceneGuid {
V0: uint;
V1: uint;
V2: uint;
V3: uint;
}
table FBDynamicSceneVector3 {
X: float;
Y: float;
Z: float;
}
table FBDynamicSceneTransform {
posX: float;
posY: float;
posZ: float;
rotX: float;
rotY: float;
rotZ: float;
sclX: float;
sclY: float;
sclZ: float;
}
table FBDynamicSceneDataIndex {
IsInvalid: bool;
Type: int;
Grid: uint;
Index: int;
}
table FBDynamicSceneBounds {
CenterX: float;
CenterY: float;
CenterZ: float;
ExtentsX: float;
ExtentsY: float;
ExtentsZ: float;
}
table FBDynamicSceneModel {
guidV0: uint;
guidV1: uint;
guidV2: uint;
guidV3: uint;
transposX: float;
transposY: float;
transposZ: float;
transrotX: float;
transrotY: float;
transrotZ: float;
transsclX: float;
transsclY: float;
transsclZ: float;
AnimatorMin: uint;
AnimatorMax: uint;
PathHash: long;
}
table FBDynamicSceneEffect {
Path: int;
Name: int;
Dis: float;
transposX: float;
transposY: float;
transposZ: float;
transrotX: float;
transrotY: float;
transrotZ: float;
transsclX: float;
transsclY: float;
transsclZ: float;
AssetHash: long;
Lod0Grid: uint;
Lod1Grid: uint;
LoopSoundType: int;
LoopSoundKey: int;
SoundStartKey: uint;
SoundEndKey: uint;
UseParticleSound: bool;
UseBBox: bool;
bboxMinX: float;
bboxMinY: float;
bboxMinZ: float;
bboxMaxX: float;
bboxMaxY: float;
bboxMaxZ: float;
}
table FBDynamicSceneEcs {
Start: int;
Num: int;
Chunk: int;
}
table FBDynamicSceneEcsModel {
modelIsInvalid: bool;
modelType: int;
modelGrid: uint;
modelIndex: int;
ecsIsInvalid: bool;
ecsType: int;
ecsGrid: uint;
ecsIndex: int;
LGrid: uint;
BGrid: uint;
AlwaysModel: int;
}
table FBDynamicSceneDataGroup {
indexIsInvalid: bool;
indexType: int;
indexGrid: uint;
indexIndex: int;
Num: int;
}
table FBDynamicSceneResourceGroupWithStateDesc {
groupindexIsInvalid: bool;
groupindexType: int;
groupindexGrid: uint;
groupindexIndex: int;
groupNum: int;
SceneState: uint;
LogicState: uint;
LevelNum: int;
FactoryIndex: int;
}
table FBDynamicSceneNavModifyArea {
Area: int;
posX: float;
posY: float;
posZ: float;
rotX: float;
rotY: float;
rotZ: float;
sclX: float;
sclY: float;
sclZ: float;
}
table FBDynamicSceneMountPair {
Mount: int;
indexIsInvalid: bool;
indexType: int;
indexGrid: uint;
indexIndex: int;
}
table FBDynamicSceneIntStrMapEntry {
K: int;
V: int;
}
table FBDynamicSceneMissionCondition {
Id: int;
IsQuest: int;
State: int;
IsSame: int;
}
table FBDynamicSceneIdComp {
UniqueId: ulong;
}
table FBDynamicSceneSeatComp {
UseCaptain: int;
LangKey: int;
posX: float;
posY: float;
posZ: float;
rotX: float;
rotY: float;
rotZ: float;
}
table FBDynamicScenePureFuncComp {
Type: int;
}
table FBDynamicSceneTriggerComp {
Shape: int;
Radius: float;
centerX: float;
centerY: float;
centerZ: float;
sizeX: float;
sizeY: float;
sizeZ: float;
transposX: float;
transposY: float;
transposZ: float;
transrotX: float;
transrotY: float;
transrotZ: float;
transsclX: float;
transsclY: float;
transsclZ: float;
posListGroupindexIsInvalid: bool;
posListGroupindexType: int;
posListGroupindexGrid: uint;
posListGroupindexIndex: int;
posListGroupNum: int;
}
table FBDynamicSceneHittableComp {
HitType: int;
}
table FBDynamicSceneFactoryBlockComp {
Radius: float;
centerX: float;
centerY: float;
centerZ: float;
}
table FBDynamicSceneDynamicEntityControlComp {
EntityId: ulong;
}
table FBDynamicSceneNavModifyAreaComp {
groupindexIsInvalid: bool;
groupindexType: int;
groupindexGrid: uint;
groupindexIndex: int;
groupNum: int;
}
table FBDynamicSceneInteractiveStateComp {
Id: ulong;
ControlLoad: bool;
StateGetter: int;
CompareOperator: int;
CompareTarget: int;
PropertyKey: int;
}
table FBDynamicSceneViewStateControlComp {
Id: ulong;
ComputeType: int;
entriesindexIsInvalid: bool;
entriesindexType: int;
entriesindexGrid: uint;
entriesindexIndex: int;
entriesNum: int;
}
table FBDynamicSceneMissionControlComp {
conditionsindexIsInvalid: bool;
conditionsindexType: int;
conditionsindexGrid: uint;
conditionsindexIndex: int;
conditionsNum: int;
CompareType: int;
ToBeTrue: int;
}
table FBDynamicSceneGlobalVarControlComp {
GlobalKey: int;
ControlLoad: bool;
CompareType: int;
CompareValue: long;
Extra1: int;
Extra2: int;
Extra3: int;
Extra4: int;
}
table FBDynamicSceneSettlementControlComp {
Id: int;
ControlLoad: bool;
CompareType: int;
CompareValue: int;
IsMain: bool;
}
table FBDynamicSceneFactoryRegionControlComp {
Level: int;
Index: int;
}
table FBDynamicSceneScriptControlComp {
DefaultLoad: int;
}
table FBDynamicSceneResourceComp {
resgroupindexIsInvalid: bool;
resgroupindexType: int;
resgroupindexGrid: uint;
resgroupindexIndex: int;
resgroupNum: int;
resSceneState: uint;
resLogicState: uint;
resLevelNum: int;
resFactoryIndex: int;
mountindexIsInvalid: bool;
mountindexType: int;
mountindexGrid: uint;
mountindexIndex: int;
mountNum: int;
NavState: int;
navDataindexIsInvalid: bool;
navDataindexType: int;
navDataindexGrid: uint;
navDataindexIndex: int;
navDataNum: int;
}
table FBDynamicSceneRootComp {
Type: int;
State: uint;
compsindexIsInvalid: bool;
compsindexType: int;
compsindexGrid: uint;
compsindexIndex: int;
compsNum: int;
}
table FBDynamicSceneTreeRootComp {
Tid: int;
NormalModel: long;
}
table FBDynamicSceneDecorationRootComp {
Control: int;
Important: int;
DecoId: ulong;
}
table FBDynamicSceneErosionRootComp {
ErosionCoreId: ulong;
posListindexIsInvalid: bool;
posListindexType: int;
posListindexGrid: uint;
posListindexIndex: int;
posListNum: int;
erosionCorePosX: float;
erosionCorePosY: float;
erosionCorePosZ: float;
}
table FBDynamicSceneModelViewStateControllerNewComp {
ModelIdStrId: int;
UseOldVersion: bool;
keyStateToNameMapindexIsInvalid: bool;
keyStateToNameMapindexType: int;
keyStateToNameMapindexGrid: uint;
keyStateToNameMapindexIndex: int;
keyStateToNameMapNum: int;
KeyState: int;
}
table FBDynamicSceneConveyorBeltComp {
GroupId: ulong;
IsEntry: bool;
IsExit: bool;
}
table FBDynamicSceneConveyorBeltBoxComp {
BelongGroupId: ulong;
FixedProgress: int;
LateralOffset: float;
}
table FBDynamicSceneConveyorBeltGroupComp {
Speed: float;
TotalLength: float;
LevelId: int;
SplineId: int;
pathsindexIsInvalid: bool;
pathsindexType: int;
pathsindexGrid: uint;
pathsindexIndex: int;
pathsNum: int;
}
table FBDynamicSceneConveyorPath {
Type: uint;
worldStartPointX: float;
worldStartPointY: float;
worldStartPointZ: float;
worldEndPointX: float;
worldEndPointY: float;
worldEndPointZ: float;
Width: float;
Length: float;
Radius: float;
worldCenterX: float;
worldCenterY: float;
worldCenterZ: float;
StartAngle: float;
EndAngle: float;
rotationX: float;
rotationY: float;
rotationZ: float;
IsClockwise: bool;
StartProgress: float;
EndProgress: float;
}
table FBDynamicScenePureSystemComp {
Type: int;
}
table FBDynamicSceneNatureResourceComp {
Type: int;
}
table FBDynamicSceneSludgeComp {
SludgeSize: uint;
SizeY: float;
Thickness: float;
RebornTime: float;
RebornAnimTime: float;
DisappearTime: float;
boundsConvertorWCenterX: float;
boundsConvertorWCenterY: float;
boundsConvertorWCenterZ: float;
boundsConvertorWExtentsX: float;
boundsConvertorWExtentsY: float;
boundsConvertorWExtentsZ: float;
originWX: float;
originWY: float;
originWZ: float;
upX: float;
upY: float;
upZ: float;
rightX: float;
rightY: float;
rightZ: float;
forwardX: float;
forwardY: float;
forwardZ: float;
posX: float;
posY: float;
posZ: float;
MatGuidHash: long;
TexGuidHash: long;
SludgeId: int;
scanPointsindexIsInvalid: bool;
scanPointsindexType: int;
scanPointsindexGrid: uint;
scanPointsindexIndex: int;
scanPointsNum: int;
SludgeType: int;
navMeshPointsindexIsInvalid: bool;
navMeshPointsindexType: int;
navMeshPointsindexGrid: uint;
navMeshPointsindexIndex: int;
navMeshPointsNum: int;
NavMeshMinH: float;
NavMeshMaxH: float;
disappearPointX: float;
disappearPointY: float;
disappearPointZ: float;
wavePointX: float;
wavePointY: float;
wavePointZ: float;
EncodedClipPlane0: uint;
EncodedClipPlane1: uint;
}
table FBDynamicSceneExtraSceneComp {
minPosX: float;
minPosY: float;
minPosZ: float;
maxPosX: float;
maxPosY: float;
maxPosZ: float;
currentPosX: float;
currentPosY: float;
currentPosZ: float;
Direction: uint;
}
table FBDynamicSceneSceneGridInfo {
centerX: float;
centerY: float;
centerZ: float;
Len: int;
}
table FBDynamicSceneRemapSceneComp {
sceneGridInfoListindexIsInvalid: bool;
sceneGridInfoListindexType: int;
sceneGridInfoListindexGrid: uint;
sceneGridInfoListindexIndex: int;
sceneGridInfoListNum: int;
}
table FBDynamicSceneWaterPipeComp {
InitialAngle: float;
TargetAngle: float;
IsConnectedToWaterWheel: bool;
InteractiveId: ulong;
UpstreamInteractiveId: ulong;
DelayActivateDownStream: float;
HeightToDownStream: float;
HeightToGround: float;
IsOutFall: bool;
}
table FBDynamicSceneStreamingAreaComp {
AreaId: int;
visibleGroupindexIsInvalid: bool;
visibleGroupindexType: int;
visibleGroupindexGrid: uint;
visibleGroupindexIndex: int;
visibleGroupNum: int;
}
table FBDynamicSceneNavmeshObstacle {
obstacleposX: float;
obstacleposY: float;
obstacleposZ: float;
obstaclerotX: float;
obstaclerotY: float;
obstaclerotZ: float;
obstaclesclX: float;
obstaclesclY: float;
obstaclesclZ: float;
}
table FBDynamicSceneMapVarControlComp {
MapKey: int;
ControlLoad: bool;
CompareType: int;
CompareValue: long;
Extra1: int;
Extra2: int;
Extra3: int;
Extra4: int;
}
table FBDynamicSceneSingleGridDescriptor {
scene: int = 0;
Ranges: [FBDynamicSceneDataGroup];
}
table FBDynamicSceneSingleGrid {
uniqueId: uint = 0;
PrimitiveIntList: [int];
DataIndex: [FBDynamicSceneDataIndex];
Vector3: [FBDynamicSceneVector3];
Model: [FBDynamicSceneModel];
Effect: [FBDynamicSceneEffect];
Ecs: [FBDynamicSceneEcs];
EcsModel: [FBDynamicSceneEcsModel];
DataGroup: [FBDynamicSceneDataGroup];
ResourceGroupWithStateDesc: [FBDynamicSceneResourceGroupWithStateDesc];
NavModifyArea: [FBDynamicSceneNavModifyArea];
MountPair: [FBDynamicSceneMountPair];
IntStrMapEntry: [FBDynamicSceneIntStrMapEntry];
MissionCondition: [FBDynamicSceneMissionCondition];
IdComp: [FBDynamicSceneIdComp];
SeatComp: [FBDynamicSceneSeatComp];
PureFuncComp: [FBDynamicScenePureFuncComp];
TriggerComp: [FBDynamicSceneTriggerComp];
HittableComp: [FBDynamicSceneHittableComp];
FactoryBlockComp: [FBDynamicSceneFactoryBlockComp];
DynamicEntityControlComp: [FBDynamicSceneDynamicEntityControlComp];
NavModifyAreaComp: [FBDynamicSceneNavModifyAreaComp];
InteractiveStateComp: [FBDynamicSceneInteractiveStateComp];
ViewStateControlComp: [FBDynamicSceneViewStateControlComp];
MissionControlComp: [FBDynamicSceneMissionControlComp];
GlobalVarControlComp: [FBDynamicSceneGlobalVarControlComp];
SettlementControlComp: [FBDynamicSceneSettlementControlComp];
FactoryRegionControlComp: [FBDynamicSceneFactoryRegionControlComp];
ScriptControlComp: [FBDynamicSceneScriptControlComp];
ResourceComp: [FBDynamicSceneResourceComp];
RootComp: [FBDynamicSceneRootComp];
TreeRootComp: [FBDynamicSceneTreeRootComp];
DecorationRootComp: [FBDynamicSceneDecorationRootComp];
ErosionRootComp: [FBDynamicSceneErosionRootComp];
ModelViewStateControllerNewComp: [FBDynamicSceneModelViewStateControllerNewComp];
ConveyorBeltComp: [FBDynamicSceneConveyorBeltComp];
ConveyorBeltBoxComp: [FBDynamicSceneConveyorBeltBoxComp];
ConveyorBeltGroupComp: [FBDynamicSceneConveyorBeltGroupComp];
ConveyorPath: [FBDynamicSceneConveyorPath];
PureSystemComp: [FBDynamicScenePureSystemComp];
NatureResourceComp: [FBDynamicSceneNatureResourceComp];
SludgeComp: [FBDynamicSceneSludgeComp];
Bounds: [FBDynamicSceneBounds];
ExtraSceneComp: [FBDynamicSceneExtraSceneComp];
SceneGridInfo: [FBDynamicSceneSceneGridInfo];
RemapSceneComp: [FBDynamicSceneRemapSceneComp];
WaterPipeComp: [FBDynamicSceneWaterPipeComp];
StreamingAreaComp: [FBDynamicSceneStreamingAreaComp];
NavmeshObstacle: [FBDynamicSceneNavmeshObstacle];
MapVarControlComp: [FBDynamicSceneMapVarControlComp];
Desc: [FBDynamicSceneSingleGridDescriptor];
}
table FBDynamicSceneChunkData {
version: ulong = 0;
streamingVersion: int = 0;
uniqueId: uint = 0;
Grids: [FBDynamicSceneSingleGrid];
TotalStr: [string];
}
+621
View File
@@ -0,0 +1,621 @@
namespace DynamicAssets;
table FBFactorySingleGridRangeData {
OptionStart: int;
HeightMin: short;
HeightMax: short;
Flag: uint8;
OptionNum: uint8;
}
table FBFactoryChunkData {
status: uint;
Index: [int];
Nums: [uint8];
Ranges: [FBFactorySingleGridRangeData];
AllOptionSpecData: [ulong];
}
table FBDynamicSceneGuid {
V0: uint;
V1: uint;
V2: uint;
V3: uint;
}
table FBDynamicSceneVector3 {
X: float;
Y: float;
Z: float;
}
table FBDynamicSceneTransform {
posX: float;
posY: float;
posZ: float;
rotX: float;
rotY: float;
rotZ: float;
sclX: float;
sclY: float;
sclZ: float;
}
table FBDynamicSceneDataIndex {
IsInvalid: bool;
Type: int;
Grid: uint;
Index: int;
}
table FBDynamicSceneBounds {
CenterX: float;
CenterY: float;
CenterZ: float;
ExtentsX: float;
ExtentsY: float;
ExtentsZ: float;
}
table FBDynamicSceneModel {
guidV0: uint;
guidV1: uint;
guidV2: uint;
guidV3: uint;
transposX: float;
transposY: float;
transposZ: float;
transrotX: float;
transrotY: float;
transrotZ: float;
transsclX: float;
transsclY: float;
transsclZ: float;
AnimatorMin: uint;
AnimatorMax: uint;
PathHash: long;
}
table FBDynamicSceneEffect {
Path: int;
Name: int;
Dis: float;
transposX: float;
transposY: float;
transposZ: float;
transrotX: float;
transrotY: float;
transrotZ: float;
transsclX: float;
transsclY: float;
transsclZ: float;
AssetHash: long;
Lod0Grid: uint;
Lod1Grid: uint;
LoopSoundType: int;
LoopSoundKey: int;
SoundStartKey: uint;
SoundEndKey: uint;
UseParticleSound: bool;
UseBBox: bool;
bboxMinX: float;
bboxMinY: float;
bboxMinZ: float;
bboxMaxX: float;
bboxMaxY: float;
bboxMaxZ: float;
}
table FBDynamicSceneEcs {
Start: int;
Num: int;
Chunk: int;
}
table FBDynamicSceneEcsModel {
modelIsInvalid: bool;
modelType: int;
modelGrid: uint;
modelIndex: int;
ecsIsInvalid: bool;
ecsType: int;
ecsGrid: uint;
ecsIndex: int;
LGrid: uint;
BGrid: uint;
AlwaysModel: int;
}
table FBDynamicSceneDataGroup {
indexIsInvalid: bool;
indexType: int;
indexGrid: uint;
indexIndex: int;
Num: int;
}
table FBDynamicSceneResourceGroupWithStateDesc {
groupindexIsInvalid: bool;
groupindexType: int;
groupindexGrid: uint;
groupindexIndex: int;
groupNum: int;
SceneState: uint;
LogicState: uint;
LevelNum: int;
FactoryIndex: int;
}
table FBDynamicSceneNavModifyArea {
Area: int;
posX: float;
posY: float;
posZ: float;
rotX: float;
rotY: float;
rotZ: float;
sclX: float;
sclY: float;
sclZ: float;
}
table FBDynamicSceneMountPair {
Mount: int;
indexIsInvalid: bool;
indexType: int;
indexGrid: uint;
indexIndex: int;
}
table FBDynamicSceneIntStrMapEntry {
K: int;
V: int;
}
table FBDynamicSceneMissionCondition {
Id: int;
IsQuest: int;
State: int;
IsSame: int;
}
table FBDynamicSceneIdComp {
UniqueId: ulong;
}
table FBDynamicSceneSeatComp {
UseCaptain: int;
LangKey: int;
posX: float;
posY: float;
posZ: float;
rotX: float;
rotY: float;
rotZ: float;
}
table FBDynamicScenePureFuncComp {
Type: int;
}
table FBDynamicSceneTriggerComp {
Shape: int;
Radius: float;
centerX: float;
centerY: float;
centerZ: float;
sizeX: float;
sizeY: float;
sizeZ: float;
transposX: float;
transposY: float;
transposZ: float;
transrotX: float;
transrotY: float;
transrotZ: float;
transsclX: float;
transsclY: float;
transsclZ: float;
posListGroupindexIsInvalid: bool;
posListGroupindexType: int;
posListGroupindexGrid: uint;
posListGroupindexIndex: int;
posListGroupNum: int;
}
table FBDynamicSceneHittableComp {
HitType: int;
}
table FBDynamicSceneFactoryBlockComp {
Radius: float;
centerX: float;
centerY: float;
centerZ: float;
}
table FBDynamicSceneDynamicEntityControlComp {
EntityId: ulong;
}
table FBDynamicSceneNavModifyAreaComp {
groupindexIsInvalid: bool;
groupindexType: int;
groupindexGrid: uint;
groupindexIndex: int;
groupNum: int;
}
table FBDynamicSceneInteractiveStateComp {
Id: ulong;
ControlLoad: bool;
StateGetter: int;
CompareOperator: int;
CompareTarget: int;
PropertyKey: int;
}
table FBDynamicSceneViewStateControlComp {
Id: ulong;
ComputeType: int;
entriesindexIsInvalid: bool;
entriesindexType: int;
entriesindexGrid: uint;
entriesindexIndex: int;
entriesNum: int;
}
table FBDynamicSceneMissionControlComp {
conditionsindexIsInvalid: bool;
conditionsindexType: int;
conditionsindexGrid: uint;
conditionsindexIndex: int;
conditionsNum: int;
CompareType: int;
ToBeTrue: int;
}
table FBDynamicSceneGlobalVarControlComp {
GlobalKey: int;
ControlLoad: bool;
CompareType: int;
CompareValue: long;
Extra1: int;
Extra2: int;
Extra3: int;
Extra4: int;
}
table FBDynamicSceneSettlementControlComp {
Id: int;
ControlLoad: bool;
CompareType: int;
CompareValue: int;
IsMain: bool;
}
table FBDynamicSceneFactoryRegionControlComp {
Level: int;
Index: int;
}
table FBDynamicSceneScriptControlComp {
DefaultLoad: int;
}
table FBDynamicSceneResourceComp {
resgroupindexIsInvalid: bool;
resgroupindexType: int;
resgroupindexGrid: uint;
resgroupindexIndex: int;
resgroupNum: int;
resSceneState: uint;
resLogicState: uint;
resLevelNum: int;
resFactoryIndex: int;
mountindexIsInvalid: bool;
mountindexType: int;
mountindexGrid: uint;
mountindexIndex: int;
mountNum: int;
NavState: int;
navDataindexIsInvalid: bool;
navDataindexType: int;
navDataindexGrid: uint;
navDataindexIndex: int;
navDataNum: int;
}
table FBDynamicSceneRootComp {
Type: int;
State: uint;
compsindexIsInvalid: bool;
compsindexType: int;
compsindexGrid: uint;
compsindexIndex: int;
compsNum: int;
}
table FBDynamicSceneTreeRootComp {
Tid: int;
NormalModel: long;
}
table FBDynamicSceneDecorationRootComp {
Control: int;
Important: int;
DecoId: ulong;
}
table FBDynamicSceneErosionRootComp {
ErosionCoreId: ulong;
posListindexIsInvalid: bool;
posListindexType: int;
posListindexGrid: uint;
posListindexIndex: int;
posListNum: int;
erosionCorePosX: float;
erosionCorePosY: float;
erosionCorePosZ: float;
}
table FBDynamicSceneModelViewStateControllerNewComp {
ModelIdStrId: int;
UseOldVersion: bool;
keyStateToNameMapindexIsInvalid: bool;
keyStateToNameMapindexType: int;
keyStateToNameMapindexGrid: uint;
keyStateToNameMapindexIndex: int;
keyStateToNameMapNum: int;
KeyState: int;
}
table FBDynamicSceneConveyorBeltComp {
GroupId: ulong;
IsEntry: bool;
IsExit: bool;
}
table FBDynamicSceneConveyorBeltBoxComp {
BelongGroupId: ulong;
FixedProgress: int;
LateralOffset: float;
}
table FBDynamicSceneConveyorBeltGroupComp {
Speed: float;
TotalLength: float;
LevelId: int;
SplineId: int;
pathsindexIsInvalid: bool;
pathsindexType: int;
pathsindexGrid: uint;
pathsindexIndex: int;
pathsNum: int;
}
table FBDynamicSceneConveyorPath {
Type: uint;
worldStartPointX: float;
worldStartPointY: float;
worldStartPointZ: float;
worldEndPointX: float;
worldEndPointY: float;
worldEndPointZ: float;
Width: float;
Length: float;
Radius: float;
worldCenterX: float;
worldCenterY: float;
worldCenterZ: float;
StartAngle: float;
EndAngle: float;
rotationX: float;
rotationY: float;
rotationZ: float;
IsClockwise: bool;
StartProgress: float;
EndProgress: float;
}
table FBDynamicScenePureSystemComp {
Type: int;
}
table FBDynamicSceneNatureResourceComp {
Type: int;
}
table FBDynamicSceneSludgeComp {
SludgeSize: uint;
SizeY: float;
Thickness: float;
RebornTime: float;
RebornAnimTime: float;
DisappearTime: float;
boundsConvertorWCenterX: float;
boundsConvertorWCenterY: float;
boundsConvertorWCenterZ: float;
boundsConvertorWExtentsX: float;
boundsConvertorWExtentsY: float;
boundsConvertorWExtentsZ: float;
originWX: float;
originWY: float;
originWZ: float;
upX: float;
upY: float;
upZ: float;
rightX: float;
rightY: float;
rightZ: float;
forwardX: float;
forwardY: float;
forwardZ: float;
posX: float;
posY: float;
posZ: float;
MatGuidHash: long;
TexGuidHash: long;
SludgeId: int;
scanPointsindexIsInvalid: bool;
scanPointsindexType: int;
scanPointsindexGrid: uint;
scanPointsindexIndex: int;
scanPointsNum: int;
SludgeType: int;
navMeshPointsindexIsInvalid: bool;
navMeshPointsindexType: int;
navMeshPointsindexGrid: uint;
navMeshPointsindexIndex: int;
navMeshPointsNum: int;
NavMeshMinH: float;
NavMeshMaxH: float;
disappearPointX: float;
disappearPointY: float;
disappearPointZ: float;
wavePointX: float;
wavePointY: float;
wavePointZ: float;
EncodedClipPlane0: uint;
EncodedClipPlane1: uint;
}
table FBDynamicSceneExtraSceneComp {
minPosX: float;
minPosY: float;
minPosZ: float;
maxPosX: float;
maxPosY: float;
maxPosZ: float;
currentPosX: float;
currentPosY: float;
currentPosZ: float;
Direction: uint;
}
table FBDynamicSceneSceneGridInfo {
centerX: float;
centerY: float;
centerZ: float;
Len: int;
}
table FBDynamicSceneRemapSceneComp {
sceneGridInfoListindexIsInvalid: bool;
sceneGridInfoListindexType: int;
sceneGridInfoListindexGrid: uint;
sceneGridInfoListindexIndex: int;
sceneGridInfoListNum: int;
}
table FBDynamicSceneWaterPipeComp {
InitialAngle: float;
TargetAngle: float;
IsConnectedToWaterWheel: bool;
InteractiveId: ulong;
UpstreamInteractiveId: ulong;
DelayActivateDownStream: float;
HeightToDownStream: float;
HeightToGround: float;
IsOutFall: bool;
}
table FBDynamicSceneStreamingAreaComp {
AreaId: int;
visibleGroupindexIsInvalid: bool;
visibleGroupindexType: int;
visibleGroupindexGrid: uint;
visibleGroupindexIndex: int;
visibleGroupNum: int;
}
table FBDynamicSceneNavmeshObstacle {
obstacleposX: float;
obstacleposY: float;
obstacleposZ: float;
obstaclerotX: float;
obstaclerotY: float;
obstaclerotZ: float;
obstaclesclX: float;
obstaclesclY: float;
obstaclesclZ: float;
}
table FBDynamicSceneMapVarControlComp {
MapKey: int;
ControlLoad: bool;
CompareType: int;
CompareValue: long;
Extra1: int;
Extra2: int;
Extra3: int;
Extra4: int;
}
table FBDynamicSceneSingleGridDescriptor {
scene: int;
Ranges: [FBDynamicSceneDataGroup];
}
table FBDynamicSceneSingleGrid {
uniqueId: uint;
PrimitiveIntList: [int];
DataIndex: [FBDynamicSceneDataIndex];
Vector3: [FBDynamicSceneVector3];
Model: [FBDynamicSceneModel];
Effect: [FBDynamicSceneEffect];
Ecs: [FBDynamicSceneEcs];
EcsModel: [FBDynamicSceneEcsModel];
DataGroup: [FBDynamicSceneDataGroup];
ResourceGroupWithStateDesc: [FBDynamicSceneResourceGroupWithStateDesc];
NavModifyArea: [FBDynamicSceneNavModifyArea];
MountPair: [FBDynamicSceneMountPair];
IntStrMapEntry: [FBDynamicSceneIntStrMapEntry];
MissionCondition: [FBDynamicSceneMissionCondition];
IdComp: [FBDynamicSceneIdComp];
SeatComp: [FBDynamicSceneSeatComp];
PureFuncComp: [FBDynamicScenePureFuncComp];
TriggerComp: [FBDynamicSceneTriggerComp];
HittableComp: [FBDynamicSceneHittableComp];
FactoryBlockComp: [FBDynamicSceneFactoryBlockComp];
DynamicEntityControlComp: [FBDynamicSceneDynamicEntityControlComp];
NavModifyAreaComp: [FBDynamicSceneNavModifyAreaComp];
InteractiveStateComp: [FBDynamicSceneInteractiveStateComp];
ViewStateControlComp: [FBDynamicSceneViewStateControlComp];
MissionControlComp: [FBDynamicSceneMissionControlComp];
GlobalVarControlComp: [FBDynamicSceneGlobalVarControlComp];
SettlementControlComp: [FBDynamicSceneSettlementControlComp];
FactoryRegionControlComp: [FBDynamicSceneFactoryRegionControlComp];
ScriptControlComp: [FBDynamicSceneScriptControlComp];
ResourceComp: [FBDynamicSceneResourceComp];
RootComp: [FBDynamicSceneRootComp];
TreeRootComp: [FBDynamicSceneTreeRootComp];
DecorationRootComp: [FBDynamicSceneDecorationRootComp];
ErosionRootComp: [FBDynamicSceneErosionRootComp];
ModelViewStateControllerNewComp: [FBDynamicSceneModelViewStateControllerNewComp];
ConveyorBeltComp: [FBDynamicSceneConveyorBeltComp];
ConveyorBeltBoxComp: [FBDynamicSceneConveyorBeltBoxComp];
ConveyorBeltGroupComp: [FBDynamicSceneConveyorBeltGroupComp];
ConveyorPath: [FBDynamicSceneConveyorPath];
PureSystemComp: [FBDynamicScenePureSystemComp];
NatureResourceComp: [FBDynamicSceneNatureResourceComp];
SludgeComp: [FBDynamicSceneSludgeComp];
Bounds: [FBDynamicSceneBounds];
ExtraSceneComp: [FBDynamicSceneExtraSceneComp];
SceneGridInfo: [FBDynamicSceneSceneGridInfo];
RemapSceneComp: [FBDynamicSceneRemapSceneComp];
WaterPipeComp: [FBDynamicSceneWaterPipeComp];
StreamingAreaComp: [FBDynamicSceneStreamingAreaComp];
NavmeshObstacle: [FBDynamicSceneNavmeshObstacle];
MapVarControlComp: [FBDynamicSceneMapVarControlComp];
Desc: [FBDynamicSceneSingleGridDescriptor];
}
table FBDynamicSceneChunkData {
version: ulong;
streamingVersion: int;
uniqueId: uint;
Grids: [FBDynamicSceneSingleGrid];
TotalStr: [string];
}
+16
View File
@@ -0,0 +1,16 @@
namespace DynamicAssetsFallback;
// Provisional schema inferred from fb_* files that do not pass the
// FBDynamicSceneChunkData (Version==60) gate.
table FBStreamingChunkVariant8 {
tag_or_version64: ulong = 0;
status_or_flags32: int = 0;
vector_a: [uint];
vector_b: [uint];
vector_c: [uint];
vector_d: [uint];
vector_e: [uint];
vector_f: [uint];
}
root_type FBStreamingChunkVariant8;
+16
View File
@@ -0,0 +1,16 @@
namespace DynamicAssetsFallback;
// Alternate probe schema for the same 8-field layout, keeping vectors as bytes
// to avoid type assumptions while still allowing robust flatc decode.
table FBStreamingChunkVariant8Bytes {
tag_or_version64: ulong = 0;
status_or_flags32: int = 0;
vector_a: [ubyte];
vector_b: [ubyte];
vector_c: [ubyte];
vector_d: [ubyte];
vector_e: [ubyte];
vector_f: [ubyte];
}
root_type FBStreamingChunkVariant8Bytes;
+8
View File
@@ -0,0 +1,8 @@
# FBS Working Schemas
- `EndField.fbs`: baseline schema from extracted game files.
- `EndField.gen0.fbs`: alternate baseline copy from `gen0`.
- `FBStreamingChunkVariant8.fbs`: provisional 8-field fallback schema inferred from `fb_*` files where legacy `FBDynamicSceneChunkData` decode fails the version gate.
- `FBStreamingChunkVariant8Bytes.fbs`: alternate probe schema that keeps all vectors as `ubyte`.
These variant schemas are intentionally conservative and may be revised as more fields are fully identified.
+568
View File
@@ -0,0 +1,568 @@
{
tag_or_version64: 18446744069414584365,
status_or_flags32: -1,
vector_a: [
],
vector_b: [
],
vector_c: [
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
],
vector_d: [
124,
255,
1,
0,
232,
249,
1,
0,
216,
248,
1,
0,
212,
247,
1,
0,
84,
242,
1,
0,
68,
241,
1,
0,
80,
240,
1,
0,
208,
234,
1,
0,
176,
233,
1,
0,
188,
232,
1,
0,
60,
227,
1,
0,
44,
226,
1,
0,
56,
225,
1,
0,
184,
219,
1,
0,
168,
218,
1,
0,
180,
217,
1,
0,
52,
212,
1,
0,
36,
211,
1,
0,
48,
210,
1,
0,
176,
204,
1,
0,
160,
203,
1,
0,
172,
202,
1,
0,
44,
197,
1,
0,
28,
196,
1,
0,
40,
195,
1,
0,
168,
189,
1,
0,
152,
188,
1,
0,
164,
187,
1,
0,
36,
182,
1,
0,
20,
181,
1,
0,
32,
180,
1,
0,
160,
174,
1,
0,
144,
173,
1,
0,
156,
172,
1,
0,
28,
167,
1,
0,
12,
166,
1,
0,
24,
165,
1,
0,
152,
159,
1,
0,
136,
158,
1,
0,
148,
157,
1,
0,
20,
152,
1,
0,
4,
151,
1,
0,
16,
150,
1,
0,
144,
144,
1,
0,
128,
143,
1,
0,
140,
142,
1,
0,
12,
137,
1,
0,
252,
135,
1,
0,
8,
135,
1,
0
],
vector_e: [
],
vector_f: [
100,
63,
1,
0,
208,
59,
1,
0,
204,
58,
1,
0,
72,
55,
1,
0,
68,
54,
1,
0,
192,
50,
1,
0,
188,
49,
1,
0,
56,
46,
1,
0,
52,
45,
1,
0,
176,
41,
1,
0,
172,
40,
1,
0,
40,
37,
1,
0,
36,
36,
1,
0,
160,
32,
1,
0,
156,
31,
1,
0,
24,
28,
1,
0,
20,
27,
1,
0,
144,
23,
1,
0,
140,
22,
1,
0,
8,
19,
1,
0,
4,
18,
1,
0,
128,
14,
1,
0,
124,
13,
1,
0,
248,
9,
1,
0,
244,
8,
1,
0,
112,
5,
1,
0,
108,
4,
1,
0,
232,
0,
1,
0,
228,
255,
0,
0,
96,
252,
0,
0,
92,
251,
0,
0,
216,
247,
0,
0,
212,
246,
0,
0,
80,
243,
0,
0,
76,
242,
0,
0,
200,
238,
0,
0,
196,
237,
0,
0,
64,
234,
0,
0,
60,
233,
0,
0,
184
]
}