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)); }