2
Fork 0
Code Activity
Var Dump:
dumpVar: only available in dev mode
Mailing List
010-templates/vt2_network_config_new.bt

92 lines
No EOL
2.2 KiB
Text

//------------------------------------------------
//--- 010 Editor v11.0.1 Binary Template
//
// File: vt2_network_config_new.bt
// Authors: Lucas Schwiderski
// Version:
// Purpose:
// Category: Vermintide 2
// File Mask: *.network_config
// ID Bytes: 23 00 00 00
// History:
//------------------------------------------------
typedef enum<BYTE> {
Bool,
Int,
Float,
Vector3,
Quaternion,
String,
Int64 = 0x07,
Array,
GamerObjectId = 0x34
} Primitive;
typedef struct {
uint32 name_hash;
uint32 padding;
uint32 data_1;
Primitive primitive;
uint16 bits;
byte unknown_1;
uint32 min; // Possibly 'min' for number values
uint32 max;
} Type;
typedef struct {
uint32 index;
} ObjectField;
typedef struct {
uint32 index;
} ObjectFieldType;
typedef struct {
uint32 name;
} ObjectFieldName;
typedef struct {
uint32 name_hash;
uint32 unknown_1;
uint32 unknown_2;
float priority;
float update_rate;
uint32 num_field_types <hidden=true>;
ObjectFieldType object_field_types[num_field_types];
uint32 num_field_names <hidden=true>;
if (num_field_names != num_field_types)
return "Number of objects types and names doesn't match";
ObjectFieldName object_field_names[num_field_names];
} Object;
// Templates don't support defining an array of null-terminated strings,
// so we need to wrap it into a struct
typedef struct {
string name;
} ObjectName;
uint32 version;
uint32 reliable_send_buffer_size;
uint32 reliable_receive_buffer_size;
uint32 num_types <hidden=true>;
Type types[num_types];
uint32 num_object_names <hidden=true>;
uint16 object_start_positions[num_object_names] <hidden=true>;
uint32 total_names_length <hidden=true>;
// By default the array would be optimized to truncate every entry
// to the length of the first one.
ObjectName object_names[num_object_names] <optimize=false, open=false, hidden=true>;
uint32 padding_length <hidden=true>;
FSkip(padding_length);
uint32 num_objects <hidden=false>;
if (num_object_names != num_objects)
return "Number of objects and names doesn't match";
Object objects[num_objects] <optimize=false, open=false>;