HyoutaTools.Tales.Vesperia.Scenario.ScenarioDat.Import C# (CSharp) Method

Import() public method

public Import ( string inDirectory ) : void
inDirectory string
return void
        public void Import( string inDirectory )
        {
            string[] files = System.IO.Directory.GetFiles( inDirectory );

            Entries = new List<ScenarioDatEntry>( files.Length );
            foreach ( string f in files ) {
                int fileNumber = Int32.Parse( System.IO.Path.GetFileNameWithoutExtension( f ) );

                // make sure an entry for that file exists
                for ( int i = Entries.Count; i <= fileNumber; ++i ) { Entries.Add( new ScenarioDatEntry() ); }

                Entries[fileNumber].Data = new FileStream( f, FileMode.Open );
                Entries[fileNumber].FilesizeCompressed = (uint)Entries[fileNumber].Data.Length;

                Entries[fileNumber].Data.Position = 0x05;
                Entries[fileNumber].FilesizeUncompressed = Entries[fileNumber].Data.ReadUInt32();
                Entries[fileNumber].Data.Position = 0;
            }

            Filecount = (uint)Entries.Count;
            FilesOffset = Filecount * 0x20 + 0x20;
        }

Usage Example

示例#1
0
        public static int ExecutePack( List<string> args )
        {
            if ( args.Count < 2 ) {
                Console.WriteLine( "Usage: infolder outfile" );
                return -1;
            }

            string inPath = args[0];
            string outPath = args[1];

            var scenario = new ScenarioDat();
            scenario.Import( inPath );
            scenario.Write( outPath );

            return 0;
        }
All Usage Examples Of HyoutaTools.Tales.Vesperia.Scenario.ScenarioDat::Import