Example #1
0
        /* TODO: use proper arguments parser */

        static int ListFiles(ReadOnlySpan <string> args)
        {
            if (args.Length != 1)
            {
                Console.Error.WriteLine("Usage: ShinDataUtil rom-list [filename]");
                return(1);
            }
            var filename = args[0];

            using var archive = new FileReadableGameArchive(filename);
            int count = 0;

            foreach (var file in archive.EnumerateAllFiles())
            {
                count++;
                NonBlockingConsole.WriteLine("{0,10} {1,10} {2}", file.DataOffset, file.Size, file.Path);
            }
            NonBlockingConsole.WriteLine($"In total: {count} files");

            return(0);
        }