Files
blitzkit/packages/core/src/protos/model_definitions.proto
T

79 lines
2.0 KiB
Protocol Buffer
Raw Normal View History

2024-10-05 15:24:54 -05:00
syntax = "proto2";
2024-09-29 22:03:50 -05:00
package blitzkit;
message ModelDefinitions {
map<uint32, ModelDefinition> models = 1;
}
message ModelDefinition {
2026-03-31 13:35:47 -05:00
required Armor armor = 1;
required Vector3 turret_origin = 2;
optional InitialTurretRotation initial_turret_rotation = 3;
map<uint32, TurretModelDefinition> turrets = 4;
map<uint32, TrackModelDefinition> tracks = 5;
required BoundingBox bounding_box = 6;
2024-09-29 22:03:50 -05:00
}
message Armor {
2024-10-05 23:20:04 -05:00
map<uint32, float> thickness = 1;
2026-03-31 13:35:47 -05:00
repeated uint32 spaced = 2;
2024-09-29 22:03:50 -05:00
}
message Vector3 {
2024-10-05 15:24:54 -05:00
required float x = 1;
required float y = 2;
required float z = 3;
2024-09-29 22:03:50 -05:00
}
message InitialTurretRotation {
2026-03-31 13:35:47 -05:00
required float yaw = 1;
2024-10-05 15:24:54 -05:00
required float pitch = 2;
2026-03-31 13:35:47 -05:00
required float roll = 3;
2024-09-29 22:03:50 -05:00
}
message TurretModelDefinition {
2026-03-31 13:35:47 -05:00
required BoundingBox bounding_box = 1;
required Armor armor = 2;
required uint32 model_id = 3;
required Vector3 gun_origin = 4;
map<uint32, GunModelDefinition> guns = 5;
optional YawLimits yaw = 6;
2024-09-29 22:03:50 -05:00
}
message YawLimits {
2024-10-05 15:24:54 -05:00
required float min = 1;
required float max = 2;
2024-09-29 22:03:50 -05:00
}
message BoundingBox {
2024-10-05 15:24:54 -05:00
required Vector3 min = 1;
required Vector3 max = 2;
2024-09-29 22:03:50 -05:00
}
message TrackModelDefinition {
2026-03-31 13:35:47 -05:00
required float thickness = 1;
required Vector3 origin = 2;
2024-09-29 22:03:50 -05:00
}
message GunModelDefinition {
2026-03-31 13:35:47 -05:00
required Armor armor = 1;
required float thickness = 2;
required uint32 model_id = 3;
required PitchLimits pitch = 4;
optional float mask = 5;
2024-09-29 22:03:50 -05:00
}
message PitchLimits {
2026-03-31 13:35:47 -05:00
required float min = 1;
required float max = 2;
optional PitchLimitsExtrema front = 3;
optional PitchLimitsExtrema back = 4;
optional float transition = 5;
2024-09-29 22:03:50 -05:00
}
message PitchLimitsExtrema {
2026-03-31 13:35:47 -05:00
required float min = 1;
required float max = 2;
2024-10-05 15:24:54 -05:00
required float range = 3;
2024-09-29 22:03:50 -05:00
}