Ejemplo n.º 1
0
 public EventAction_Additional(FileRead fr = null)
 {
     if (fr != null)
     {
         _type = fr.read_one_byte();
     }
 }
 public SoundStructure_Additional(FileRead fr = null)
 {
     if (fr != null)
     {
         _type = fr.read_one_byte();
     }
 }
Ejemplo n.º 3
0
 public ManagerObject_GameParameter(FileRead fr = null)
 {
     if (fr != null)
     {
         _id            = fr.read_uint32();
         _default_value = fr.read_float();
     }
 }
Ejemplo n.º 4
0
        public SBEventActionObject(FileRead fr = null)
        {
            _additional_parameters = new List <EventAction_Additional>();
            if (fr != null)
            {
                _scope          = fr.read_one_byte();
                _type           = fr.read_one_byte();
                _game_object_id = fr.read_uint32();
                _unk_field8_1   = fr.read_one_byte();

                _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 EventAction_Additional(fr));
                    }

                    foreach (EventAction_Additional ea in _additional_parameters)
                    {
                        if (ea._type == 0x01)
                        {
                            ea._value_f = fr.read_float();
                            ea._value_u = 0;
                        }
                        else
                        {
                            ea._value_f = 0;
                            ea._value_u = fr.read_uint32();
                        }
                    }
                }

                _unk_field8_2 = fr.read_one_byte();

                if (_type == ACTION_TYPE_SET_STATE)
                {
                    _state_group_id = fr.read_uint32();
                    _state_id       = fr.read_uint32();
                }
                else if (_type == ACTION_TYPE_SET_SWITCH)
                {
                    _switch_group_id = fr.read_uint32();
                    _switch_id       = fr.read_uint32();
                }
                else if (_type == 0x01)
                {
                    _unk_field32_1 = fr.read_uint32();
                    _unk_field16_1 = fr.read_uint16();
                    _unk_field32_2 = fr.read_uint32();
                }
                else if (_type == 0x04)
                {
                    _unk_field32_1 = fr.read_uint32();
                    _unk_field8_3  = fr.read_one_byte();
                }
            }
        }
Ejemplo n.º 5
0
 public ManagerObject_StateGroup_CustomTransition(FileRead fr = null)
 {
     if (fr != null)
     {
         _from_id    = fr.read_uint32();
         _to_id      = fr.read_uint32();
         _trans_time = fr.read_uint32();
     }
 }
Ejemplo n.º 6
0
 public ManagerObject_SwitchGroup_Point(FileRead fr = null)
 {
     if (fr != null)
     {
         _value       = fr.read_float();
         _switch_id   = fr.read_uint32();
         _shape_curve = fr.read_uint32();
     }
 }
 public SoundStructure_Effect(FileRead fr = null)
 {
     if (fr != null)
     {
         _index         = fr.read_one_byte();
         _id            = fr.read_uint32();
         _unk_field16_1 = fr.read_uint16();
     }
 }
Ejemplo n.º 8
0
        public void read_data(FileRead fr, SBDataIndex dataIndex)
        {
            foreach (WEM w in dataIndex._data_info)
            {
                fr.seekPosition(_offset + w._offset);
                w._data = fr._file.ReadBytes((int)w._size);
            }

            fr.seekPosition(_offset + _length);
            _data = dataIndex._data_info;
        }
Ejemplo n.º 9
0
 public SBEventObject(FileRead fr = null)
 {
     _event_action_ids = new List <uint>();
     if (fr != null)
     {
         _event_actions = fr.read_uint32();
         for (int i = 0; i < _event_actions; i++)
         {
             _event_action_ids.Add(fr.read_uint32());
         }
     }
 }
Ejemplo n.º 10
0
        public ManagerObject_StateGroup(FileRead fr = null)
        {
            if (fr != null)
            {
                _id            = fr.read_uint32();
                _default_trans = fr.read_uint32();

                _custom_trans_count = fr.read_uint32();
                for (int i = 0; i < _custom_trans_count; i++)
                {
                    _custom_trans.Add(new ManagerObject_StateGroup_CustomTransition(fr));
                }
            }
        }
Ejemplo n.º 11
0
        public ManagerObject_SwitchGroup(FileRead fr = null)
        {
            if (fr == null)
            {
                _id = fr.read_uint32();
                _game_parameter_id = fr.read_uint32();

                _points_count = fr.read_uint32();
                for (int i = 0; i < _points_count; i++)
                {
                    _points.Add(new ManagerObject_SwitchGroup_Point(fr));
                }
            }
        }
 public SoundStructure_StateGroup(FileRead fr = null)
 {
     if (fr != null)
     {
         _id            = fr.read_uint32();
         _change_occurs = fr.read_one_byte();
         _different     = fr.read_uint16();
         for (int i = 0; i < _different; i++)
         {
             _ids.Add(fr.read_uint32());
             _ids_object_contain.Add(fr.read_uint32());
         }
     }
 }
Ejemplo n.º 13
0
 public MusicPlaylistObject_PlaylistElement(FileRead fr = null)
 {
     if (fr != null)
     {
         _music_segment_id = fr.read_uint32();
         _id             = fr.read_uint32();
         _child_elements = fr.read_uint32();
         _playlist_type  = fr.read_int32();
         _loop_count     = fr.read_uint16();
         _weight         = fr.read_uint32();
         _times_in_row   = fr.read_uint16();
         _unk_field8_1   = fr.read_one_byte();
         _random_type    = fr.read_one_byte();
     }
 }
Ejemplo n.º 14
0
 public SBEnvironments(FileRead fr = null)
 {
     if (fr != null)
     {
         _head = fr.read_header();
         if (_head != HEAD)
         {
             Console.WriteLine("SBEnvironments : Invalid head");
             _isSet = false;
             return;
         }
         _length   = fr.read_uint32();
         _unk_data = fr._file.ReadBytes((int)_length);
     }
 }
Ejemplo n.º 15
0
        public Soundbank(string fileName)
        {
            try
            {
                _fileName = fileName;
                _file     = new FileRead(fileName);

                _header    = null;
                _dataIndex = null;
            }
            catch (Exception)
            {
                Console.WriteLine("Could not open soundbank, program is down");
                Environment.Exit(0);
            }
        }
Ejemplo n.º 16
0
 public SBSoundTypeID(FileRead fr = null)
 {
     if (fr != null)
     {
         _head = fr.read_header();
         if (_head != HEAD)
         {
             Console.WriteLine("SBSoundTypeID : Invalid head");
             _isSet = false;
             return;
         }
         _length        = fr.read_uint32();
         _unk_field32_1 = fr.read_uint32();
         _quantity      = fr.read_uint32();
         _remaining     = fr._file.ReadBytes((int)(_length - 8));
     }
 }
Ejemplo n.º 17
0
        public SBData(FileRead fr = null)
        {
            _data = new List <WEM>();
            if (fr != null)
            {
                _head = fr.read_header();

                if (_head != HEAD)
                {
                    _head = "";
                    fr.seekPosition(-4, 1);
                    _isSet = false;
                    return;
                }

                _length = fr.read_uint32();
                _offset = (uint)fr.getPosition();
            }
        }
        public SoundStructure_RTPC(FileRead fr = null)
        {
            if (fr != null)
            {
                _x_axis_id     = fr.read_uint32();
                _y_axis_type   = fr.read_uint32();
                _unk_field32_1 = fr.read_uint32();
                _unk_field8_1  = fr.read_one_byte();
                _points_count  = fr.read_one_byte();
                _unk_field8_2  = fr.read_one_byte();

                for (int i = 0; i < _points_count; i++)
                {
                    _x_coordinates.Add(fr.read_float());
                    _y_coordinates.Add(fr.read_float());
                    _curve_shape.Add(fr.read_uint32());
                }
            }
        }
Ejemplo n.º 19
0
        public SBObject(FileRead fr = null)
        {
            if (fr != null)
            {
                _type   = fr.read_one_byte();
                _length = fr.read_uint32();
                long curPos = fr.getPosition();
                _id = fr.read_uint32();

                if (_type == TYPE_SOUND)
                {
                    _obj_so      = new SBSoundObject(fr, curPos, _length);
                    _current_obj = "SoundObject";
                }
                else if (_type == TYPE_MUSIC_SEGMENT)
                {
                    _obj_mso     = new SBMusicSegmentObject(fr, curPos, _length);
                    _current_obj = "MusicSegment";
                }
                else if (_type == TYPE_MUSIC_TRACK)
                {
                    _obj_mto     = new SBMusicTrackObject(fr, curPos, _length);
                    _current_obj = "MusicTrack";
                }
                else if (_type == TYPE_MUSIC_PLAYLIST)
                {
                    _obj_mpo     = new SBMusicPlaylistObject(fr, curPos, _length);
                    _current_obj = "MusicPlaylist";
                }
                else
                {
                    _obj_bytes   = fr._file.ReadBytes((int)(_length - 4));
                    _current_obj = "String";
                }

                if (fr.getPosition() - curPos != _length)
                {
                    Console.WriteLine("SBOjbect : Invalid Object");
                    _isSet = false;
                    return;
                }
            }
        }
Ejemplo n.º 20
0
        public SBObjects(FileRead fr = null)
        {
            if (fr != null)
            {
                _head = fr.read_header();
                if (_head != HEAD)
                {
                    Console.WriteLine("SBObjects : Invalid head");
                    _isSet = false;
                    return;
                }

                _length   = fr.read_uint32();
                _quantity = fr.read_uint32();
                for (int i = 0; i < _quantity; i++)
                {
                    _objects.Add(new SBObject(fr));
                }
            }
        }
Ejemplo n.º 21
0
        public SBMusicSegmentObject(FileRead fr = null, long curPos = 0, uint length = 0)
        {
            if (fr != null)
            {
                _sound_structure = new SoundStructure(fr);
                _children        = fr.read_uint32();
                for (int i = 0; i < _children; i++)
                {
                    _child_ids.Add(fr.read_uint32());
                }
                _unk_double_1     = fr.read_double();
                _unk_field64_1    = fr.read_uint64();
                _tempo            = fr.read_float();
                _time_sig1        = fr.read_one_byte();
                _time_sig2        = fr.read_one_byte();
                _unk_field32_1    = fr.read_uint32();
                _unk_field8_1     = fr.read_one_byte();
                _time_length      = fr.read_double();
                _unk_field32_2    = fr.read_uint32();
                _unk_field32_3    = fr.read_uint32();
                _unk_field64_2    = fr.read_uint64();
                _unk_field32_4    = fr.read_uint32();
                _unk_field32_5    = fr.read_uint32();
                _time_length_next = fr.read_double();
                _unk_field32_6    = fr.read_uint32();

                uint remaining = (length - (uint)(fr.getPosition() - curPos));
                if (remaining > 0)
                {
                    _unk_data = fr._file.ReadBytes((int)remaining);
                }
                else
                {
                    _unk_data = null;
                }
            }
        }
Ejemplo n.º 22
0
        public SBHeader(FileRead fr = null)
        {
            if (fr != null)
            {
                _head = fr.read_header();
                if (_head != HEAD)
                {
                    Console.WriteLine("Invalid head, program is down");
                    Environment.Exit(0);
                }
                _length = fr.read_uint32();
                long curPos = fr.getPosition();

                _version = fr.read_uint32();

                if (_version != VERSION)
                {
                    Console.Write("Invalid version");
                    Environment.Exit(0);
                }

                _id            = fr.read_uint32();
                _unk_field32_1 = fr.read_uint32();
                _unk_field32_2 = fr.read_uint32();

                uint remaining = _length - (uint)(fr.getPosition() - curPos);

                if (remaining > 0)
                {
                    _unk_data = fr._file.ReadBytes((int)remaining);
                }
                else
                {
                    _unk_data = null;
                }
            }
        }
Ejemplo n.º 23
0
        public SBManager(FileRead fr = null)
        {
            if (fr != null)
            {
                _head = fr.read_header();

                if (_head != SBManager.HEAD)
                {
                    Console.WriteLine("SBManger : Invalid head");
                    _isSet = false;
                    return;
                }

                _length = fr.read_uint32();
                _volume = fr.read_float();
                _max_voice_instances = fr.read_uint16();

                _state_groups_count = fr.read_uint32();
                for (int i = 0; i < _state_groups_count; i++)
                {
                    _state_groups.Add(new ManagerObject_StateGroup(fr));
                }

                _switch_groups_count = fr.read_uint32();
                for (int i = 0; i < _switch_groups_count; i++)
                {
                    _switch_groups.Add(new ManagerObject_SwitchGroup(fr));
                }

                _game_parameters_count = fr.read_uint32();
                for (int i = 0; i < _game_parameters_count; i++)
                {
                    _game_parameters.Add(new ManagerObject_GameParameter(fr));
                }
            }
        }
        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 = "";
                }
            }
        }
Ejemplo n.º 25
0
 public void read_ids()
 {
     // later
     FileRead fr = new FileRead("objectids.db");
 }