예제 #1
0
        public nus3AudioNameHash(audioFormatEnum audioFormatEnum, string input_main_title)
        {
            format     = audioFormatEnum;
            main_title = input_main_title;

            FileStream fs = File.OpenRead(Properties.Settings.Default.inputNus3File);

            //@"G:\Games\PS3\EXVSFB JPN\Pkg research\FB Repacker\Extract\Input\MBON\v2\T3 Local - e3e6fa2f4ef73124b1bd62ef1db0d0412d08165a.nus3audio");
            //@"G:\Games\PS3\EXVSFB JPN\Pkg research\FB Repacker\Repack\PAC\Input\MBON Reimport Project\MBON Units\Bael\Extract MBON\Global Pilot Voices - 99B9A62E\001-MBON\003.nus3audio");
            //@"G:\Games\PS3\EXVSFB JPN\Pkg research\FB Repacker\Repack\PAC\Input\MBON Reimport Project\Infinite Justice METEOR\Original MBON\Infinite Justice Local.nus3audio");

            changeStreamFile(fs);

            uint nus3 = readUIntBigEndian();

            if (nus3 != 0x4E555333)
            {
                throw new Exception("Not Nus3!");
            }

            uint size      = readUIntSmallEndian();
            uint typeMagic = readUIntBigEndian();

            if (typeMagic == 0x42414E4B) // Bank
            {
                parseNUS3BANK(fs);
            }
            else
            {
                parseNUS3AUDIO(fs);
            }
        }
예제 #2
0
        // string streamName = "003.STREAM";

        // IS14

        /*
         * string codec = "7";
         * string Subheader_Size = "48";
         * string Loop_Start = "0";
         * string Loop_Length = "0";
         * string Loop_Flag = "0";
         * string Loop_Float = "4";
         * string Loop_Float_2 = "-99";
         * string var_0x50 = "1";
         * string var_0x54 = "10";
         * string var_0x60 = "128";
         * string var_0x6C = "-100";
         * string var_0x70 = "1000";
         * string var_0x9C = "0";
         * string var_0xAC = "0";
         * string Format = "BNSF/is14";
         * string Subheader_Count = "12";
         */

        // AT3

        /*
         * string codec = "3";
         * string Subheader_Size = "64";
         * string Loop_Start = "0";
         * string Loop_Length = "0";
         * string Loop_Flag = "0";
         * string Loop_Float = "4";
         * string Loop_Float_2 = "-99";
         * string var_0x50 = "1";
         * string var_0x54 = "10";
         * string var_0x60 = "128";
         * string var_0x6C = "-100";
         * string var_0x70 = "1000";
         * string var_0x9C = "0";
         * string var_0xAC = "0";
         * string Format = "AT3";
         * string Subheader_Count = "16";
         */

        // vag (non-loop)

        /*
         * string codec = "2";
         * string Subheader_Size = "4";
         * string Loop_Start = "0";
         * string Loop_Length = "0";
         * string Loop_Flag = "0";
         * string Loop_Float = "0";
         * string Loop_Float_2 = "-99";
         * string var_0x50 = "0";
         * string var_0x54 = "4";
         * string var_0x60 = "23";
         * string var_0x6C = "0";
         * string var_0x70 = "1200";
         * string var_0x9C = "0";
         * string var_0xAC = "1";
         * string Format = "VAG";
         * string Subheader_Count = "1";
         *
         *
         * // vag (loop)
         * /*
         * string codec = "2";
         * string Subheader_Size = "4";
         * string Loop_Start = "0";
         * string Loop_Length = "0";
         * string Loop_Flag = "0";
         * string Loop_Float = "0";
         * string Loop_Float_2 = "-10";
         * string var_0x50 = "0";
         * string var_0x54 = "4";
         * string var_0x60 = "13";
         * string var_0x6C = "0";
         * string var_0x70 = "1200";
         * string var_0x9C = "0";
         * string var_0xAC = "1";
         * string Format = "VAG";
         * string Subheader_Count = "1";
         */

        public GenerateAudioPACInfo(audioFormatEnum audioFormatEnum)
        {
            StringBuilder info       = new StringBuilder();
            List <string> AudioFiles = Directory.GetFiles(Properties.Settings.Default.inputAudioPACInfoFolder).ToList();

            AudioFiles = AudioFiles.OrderBy(x => uint.Parse(Path.GetFileNameWithoutExtension(x.Split('_')[0]))).ToList();

            string streamName = Properties.Settings.Default.audioPACInfoSTREAMName;
            string fileName   = "";

            string codec           = "3";
            string Subheader_Size  = "64";
            string Loop_Start      = "0";
            string Loop_Length     = "0";
            string Loop_Flag       = "0";
            string Loop_Float      = "4";
            string Loop_Float_2    = "-99";
            string var_0x50        = "1";
            string var_0x54        = "10";
            string var_0x60        = "128";
            string var_0x6C        = "-100";
            string var_0x70        = "1000";
            string var_0x9C        = "0";
            string var_0xAC        = "0";
            string Format          = "AT3";
            string Subheader_Count = "16";

            switch (audioFormatEnum)
            {
            case audioFormatEnum.AT3:
                codec           = "3";
                Subheader_Size  = "64";
                Loop_Start      = "0";
                Loop_Length     = "0";
                Loop_Flag       = "0";
                Loop_Float      = "4";
                Loop_Float_2    = "-99";
                var_0x50        = "1";
                var_0x54        = "10";
                var_0x60        = "128";
                var_0x6C        = "-100";
                var_0x70        = "1000";
                var_0x9C        = "0";
                var_0xAC        = "0";
                Format          = "AT3";
                Subheader_Count = "16";
                fileName        = "Local Voice Lines PACInfo.txt";
                break;

            case audioFormatEnum.IS14:
                codec           = "7";
                Subheader_Size  = "48";
                Loop_Start      = "0";
                Loop_Length     = "0";
                Loop_Flag       = "0";
                Loop_Float      = "4";
                Loop_Float_2    = "-99";
                var_0x50        = "1";
                var_0x54        = "10";
                var_0x60        = "128";
                var_0x6C        = "-100";
                var_0x70        = "1000";
                var_0x9C        = "0";
                var_0xAC        = "0";
                Format          = "BNSF/is14";
                Subheader_Count = "12";
                fileName        = "Global Voice Lines PACInfo.txt";
                break;

            case audioFormatEnum.VAG:
                codec           = "2";
                Subheader_Size  = "4";
                Loop_Start      = "0";
                Loop_Length     = "0";
                Loop_Flag       = "0";
                Loop_Float      = "0";
                Loop_Float_2    = "-99";
                var_0x50        = "0";
                var_0x54        = "4";
                var_0x60        = "23";
                var_0x6C        = "0";
                var_0x70        = "1200";
                var_0x9C        = "0";
                var_0xAC        = "1";
                Format          = "VAG";
                Subheader_Count = "1";
                fileName        = "Sound Effects PACInfo.txt";
                break;
            }

            StreamWriter txt = File.CreateText(Properties.Settings.Default.outputAudioPACInfoFolder + @"\" + fileName);

            info.AppendLine("Number of audio files: " + AudioFiles.Count());
            info.AppendLine("fileName: " + streamName);
            for (int i = 0; i < AudioFiles.Count(); i++)
            {
                info.AppendLine("#Sound: " + (i + 1));
                info.AppendLine("Codec: " + codec);
                info.AppendLine("Subheader Size: " + Subheader_Size);
                info.AppendLine("Loop Start: " + Loop_Start);
                info.AppendLine("Loop Length: " + Loop_Length);
                info.AppendLine("Loop Flag: " + Loop_Flag);
                info.AppendLine("Loop Float: " + Loop_Float);
                info.AppendLine("Loop Float 2: " + Loop_Float_2);
                info.AppendLine("var_0x50: " + var_0x50);
                info.AppendLine("var_0x54: " + var_0x54);
                info.AppendLine("var_0x60: " + var_0x60);
                info.AppendLine("var_0x6C: " + var_0x6C);
                info.AppendLine("var_0x70: " + var_0x70);
                info.AppendLine("var_0x9C: " + var_0x9C);
                info.AppendLine("var_0xAC: " + var_0xAC);
                info.AppendLine("Format: " + Format);
                info.AppendLine("Subheader Count: " + Subheader_Count);

                string audioName = Path.GetFileName(AudioFiles[i]);
                info.AppendLine("fileName: " + audioName);
            }

            info.AppendLine("//");

            txt.Write(info);
            txt.Close();
        }