public MusicPlaylistObject_Transition(FileRead fr = null) { if (fr != null) { _source_id = fr.read_uint32(); _dest_id = fr.read_uint32(); _source_fadeout = fr.read_int32(); _source_shape_curve_fadeout = fr.read_uint32(); _source_fadeout_offset = fr.read_int32(); _unk_field32_1 = fr.read_uint32(); _unk_field32_2 = fr.read_uint32(); _unk_field32_3 = fr.read_uint32(); _src_type = fr.read_one_byte(); _dest_fadein = fr.read_int32(); _dest_shape_curve_fadein = fr.read_uint32(); _dest_fadein_offset = fr.read_int32(); _unk_field32_4 = fr.read_uint32(); _unk_field32_5 = fr.read_uint32(); _unk_field16_1 = fr.read_uint16(); _dest_type = fr.read_one_byte(); _unk_field8_1 = fr.read_one_byte(); _has_segment = fr.read_bool(); _trans_segment_id = fr.read_uint32(); _trans_fadein = fr.read_int32(); _trans_shape_curve_fadein = fr.read_uint32(); _trans_fadein_offset = fr.read_int32(); _trans_fadeout = fr.read_int32(); _trans_shape_curve_fadeout = fr.read_uint32(); _trans_fadeout_offset = fr.read_int32(); _trans_fadein_type = fr.read_one_byte(); _trans_fadeout_type = fr.read_one_byte(); } }
public SoundStructure(FileRead fr = null) { if (fr != null) { long pos = fr.getPosition(); _effects_override = fr.read_bool(); _effects_count = fr.read_one_byte(); if (_effects_count > 0) { _effects_bitmask = fr.read_one_byte(); for (int i = 0; i < _effects_count; i++) { _effects.Add(new SoundStructure_Effect(fr)); } } _output_bus_id = fr.read_uint32(); _parent_id = fr.read_uint32(); _override_playback_priority = fr.read_bool(); _offset_priority = fr.read_bool(); _additional_parameters_count = fr.read_one_byte(); if (_additional_parameters_count > 0) { for (int i = 0; i < _additional_parameters_count; i++) { _additional_parameters.Add(new SoundStructure_Additional(fr)); } foreach (SoundStructure_Additional sa in _additional_parameters) { if (sa._type == 0x07) { sa._value_u = fr.read_uint32(); } else { sa._value_f = fr.read_float(); } } } _unk_field8_1 = fr.read_one_byte(); _has_positioning = fr.read_bool(); if (_has_positioning) { _positioning_type = fr.read_one_byte(); if (_positioning_type == 0x2D) { _enable_panner = fr.read_bool(); } else if (_positioning_type == 0x3D) { _position_source = fr.read_uint32(); _attenuation_id = fr.read_uint32(); _enable_spatialization = fr.read_bool(); if (_position_source == 0x02) { _play_type = fr.read_uint32(); _do_loop = fr.read_bool(); _transition_time = fr.read_uint32(); _follow_listener_orientation = fr.read_bool(); } else if (_position_source == 0x03) { _update_at_each_frame = fr.read_bool(); } } else if (_positioning_type == 0x01) { _unk_field16_1 = fr.read_uint16(); } else { _unk_field32_1 = fr.read_uint32(); _unk_field32_2 = fr.read_uint32(); } } _override_game_auxiliary_sends = fr.read_bool(); _use_game_auxiliary_sends = fr.read_bool(); _override_user_auxiliary_sends = fr.read_bool(); _user_auxiliary_sends_exists = fr.read_bool(); if (_user_auxiliary_sends_exists) { _auxiliary_bus_id0 = fr.read_uint32(); _auxiliary_bus_id1 = fr.read_uint32(); _auxiliary_bus_id2 = fr.read_uint32(); _auxiliary_bus_id3 = fr.read_uint32(); } _unk_field8_2 = fr.read_bool(); if (_unk_field8_2) { _priority_equal = fr.read_one_byte(); _limit_reached = fr.read_one_byte(); _limit_sound_instances = fr.read_uint16(); } _how_to_limit_sound_instances = fr.read_one_byte(); _virtual_voice_behavior = fr.read_one_byte(); _override_playback_limit = fr.read_bool(); _override_virtual_voice = fr.read_bool(); _state_groups_count = fr.read_uint32(); if (_state_groups_count > 0) { for (int i = 0; i < _state_groups_count; i++) { _state_groups.Add(new SoundStructure_StateGroup(fr)); } } _rtpc_count = fr.read_uint16(); if (_rtpc_count > 0) { for (int i = 0; i < _rtpc_count; i++) { _rtpcs.Add(new SoundStructure_RTPC(fr)); } } _unk_field32_3 = fr.read_uint32(); if (_unk_field32_3 > 0) { _unk_data = fr.read_uchar(0x3F); } else { _unk_data = ""; } } }