//------------------------------------------------ //--- 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 { 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 ; ObjectFieldType object_field_types[num_field_types]; uint32 num_field_names ; 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 ; Type types[num_types]; uint32 num_object_names ; uint16 object_start_positions[num_object_names] ; uint32 total_names_length ; // By default the array would be optimized to truncate every entry // to the length of the first one. ObjectName object_names[num_object_names]