private static bool Decompile(string file)
 {
     try {
         AnmAnimation anm = AnmAnimation.Extract(file);
         try {
             string outFile = Path.Combine(output, Path.GetFileNameWithoutExtension(file) + extension);
             anm.DecompileToFile(outFile, encoding);
             Console.WriteLine($"  ANM {Path.GetFileName(file)} -> {Path.GetFileName(outFile)}");
             count++;
             return(true);
         } catch (Exception ex) {
             PrintError($"ANM {Path.GetFileName(file)}, {ex.Message}");
             if (errorLevel.Value >= Level.low)
             {
                 return(false);
             }
         }
     } catch { }
     try {
         CstScene cst = CstScene.Extract(file);
         try {
             string outFile = Path.Combine(output, Path.GetFileNameWithoutExtension(file) + extension);
             cst.DecompileToFile(outFile, encoding);
             Console.WriteLine($"  CST {Path.GetFileName(file)} -> {Path.GetFileName(outFile)}");
             count++;
             return(true);
         } catch (Exception ex) {
             PrintError($"CST {Path.GetFileName(file)}, {ex.Message}");
             if (errorLevel.Value >= Level.low)
             {
                 return(false);
             }
         }
     } catch { }
     try {
         FesScreen fes = FesScreen.Extract(file);
         try {
             string outFile = Path.Combine(output, Path.GetFileNameWithoutExtension(file) + extension);
             fes.DecompileToFile(outFile, encoding);
             Console.WriteLine($"  FES {Path.GetFileName(file)} -> {Path.GetFileName(outFile)}");
             count++;
             return(true);
         } catch (Exception ex) {
             PrintError($"FES {Path.GetFileName(file)}, {ex.Message}");
             if (errorLevel.Value >= Level.low)
             {
                 return(false);
             }
         }
     } catch { }
     PrintWarning($"{Path.GetFileName(file)} is not a CaySystem2 script file!");
     return(!(errorLevel.Value >= Level.high));
 }