public static JDList siZhu2Year(GZ year, GZ yue, GZ ri, GZ shi, int fromYear, int toYear) { JDList ret = new JDList(sxtwlPINVOKE.siZhu2Year(GZ.getCPtr(year), GZ.getCPtr(yue), GZ.getCPtr(ri), GZ.getCPtr(shi), fromYear, toYear), true); if (sxtwlPINVOKE.SWIGPendingException.Pending) { throw sxtwlPINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
/// <summary> /// Extracts a given GZ file into the output directory provided /// </summary> /// <param name="path">Path to GZ</param> /// <param name="folder">Path to output the extracted GZ</param> static void ExtractGZ(string path, string folder) { if (!File.Exists(path)) { Console.WriteLine("{0} does not exist as a file, falling back to batch mode.", path); if (Directory.Exists(path)) { var ext = new List <string> { ".gz", ".GZ" }; var myFiles = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories).Where(s => ext.Contains(Path.GetExtension(s))); foreach (string file in myFiles) { var currentChildDir = folder + "\\" + Path.GetDirectoryName(file.Replace(path, "")); string filename = Path.GetFileName(file); string dest = currentChildDir + "\\_" + filename + "_\\"; string dir = Path.GetDirectoryName(dest); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } try { GZ gz = new GZ(file); if (gz != null) { gz.Unpack(dest); } if (bVerbose) { Console.WriteLine("Converted {0} to {1}", file, dest); } } catch (Exception e) { Console.WriteLine("Oops! {0} failed!\nException: {1}", path, e.ToString()); ++iNumFailedOperations; } ++iNumOperations; } } else { Console.WriteLine("{0} does not exist. Cancelling operation.", path); return; } } else { try { GZ gz = new GZ(path); if (gz != null) { gz.Unpack(folder); } if (bVerbose) { Console.WriteLine("Converted {0} to {1}", path, folder); } } catch (Exception e) { Console.WriteLine("Oops! {0} failed!\nException: {1}", path, e.ToString()); ++iNumFailedOperations; } ++iNumOperations; } return; }
public static GZ getShiGz(byte dayTg, byte hour) { GZ ret = new GZ(sxtwlPINVOKE.getShiGz(dayTg, hour), true); return(ret); }
private void ReadFileRecursive(byte[] data) { if (GZ.IsValid(data)) { using (MemoryStream memstream = new MemoryStream(data)) { GZ gz = new GZ(memstream); ReadFileRecursive(gz.ContentBuffer); } } if (AFS.IsValid(data)) { using (MemoryStream memstream = new MemoryStream(data)) { AFS afs = new AFS(memstream); foreach (var entry in afs.Entries) { ReadFileRecursive(entry.Buffer); } } } if (PKF.IsValid(data)) { using (MemoryStream memstream = new MemoryStream(data)) { PKF pkf = new PKF(memstream); foreach (var entry in pkf.Entries) { ReadFileRecursive(entry.Buffer); } } } if (PKS.IsValid(data)) { using (MemoryStream memstream = new MemoryStream(data)) { PKS pks = new PKS(memstream); foreach (var entry in pks.IPAC.Entries) { ReadFileRecursive(entry.Buffer); } } } if (TEXN.IsValid(data)) { using (MemoryStream memstream = new MemoryStream(data)) { TEXN tex = new TEXN(memstream); TexEntry entry = new TexEntry(); entry.texID = tex.TextureID; entry.image = tex.Texture; textures.Add(entry); } } if (MT5.IsValid(data)) { using (MemoryStream memstream = new MemoryStream(data)) { MT5 mt5 = new MT5(memstream); foreach (var tex in mt5.Textures) { if (tex.Image != null) { TexEntry entry = new TexEntry(); entry.texID = tex.TextureID; entry.image = tex.Image; textures.Add(entry); } } } } if (MT7.IsValid(data)) { using (MemoryStream memstream = new MemoryStream(data)) { MT7 mt7 = new MT7(memstream); foreach (var tex in mt7.Textures) { if (tex.Image != null) { TexEntry entry = new TexEntry(); entry.texID = tex.TextureID; entry.image = tex.Image; textures.Add(entry); } } } } }
/// <summary> /// Trys to find the fitting file type for the given file with the file signature. /// </summary> public static Type GetFileTypeFromSignature(Stream stream) { byte[] buffer = new byte[8]; stream.Read(buffer, 0, buffer.Length); //Archives if (AFS.IsValid(buffer)) { return(typeof(AFS)); } if (GZ.IsValid(buffer)) { return(typeof(GZ)); } if (IDX.IsValid(buffer)) { return(typeof(IDX)); } if (IPAC.IsValid(buffer)) { return(typeof(IPAC)); } if (PKF.IsValid(buffer)) { return(typeof(PKF)); } if (PKS.IsValid(buffer)) { return(typeof(PKS)); } //if (SPR.IsValid(buffer)) return typeof(SPR); //same as TEXN skip and base identification on extension if (TAD.IsValid(buffer)) { return(typeof(TAD)); } //Textures/Images if (TEXN.IsValid(buffer)) { return(typeof(TEXN)); } if (PVRT.IsValid(buffer)) { return(typeof(PVRT)); } if (DDS.IsValid(buffer)) { return(typeof(DDS)); } //Models if (MT5.IsValid(buffer)) { return(typeof(MT5)); } if (MT7.IsValid(buffer)) { return(typeof(MT7)); } //Subtitles if (SUB.IsValid(buffer)) { return(typeof(SUB)); } return(null); }
public static string GetExtensionFromBuffer(byte[] buffer) { //Archives if (AFS.IsValid(buffer)) { return("AFS"); } if (GZ.IsValid(buffer)) { return("GZ"); } if (IDX.IsValid(buffer)) { return("IDX"); } if (IPAC.IsValid(buffer)) { return("IPAC"); } if (PKF.IsValid(buffer)) { return("PKF"); } if (PKS.IsValid(buffer)) { return("PKS"); } //if (SPR.IsValid(buffer)) return typeof(SPR); //same as TEXN skip and base identification on extension if (TAD.IsValid(buffer)) { return("TAD"); } //Textures/Images if (TEXN.IsValid(buffer)) { return("TEXN"); } if (PVRT.IsValid(buffer)) { return("PVRT"); } if (DDS.IsValid(buffer)) { return("DDS"); } //Models if (MT5.IsValid(buffer)) { return("MT5"); } if (MT7.IsValid(buffer)) { return("MT7"); } //Subtitles if (SUB.IsValid(buffer)) { return("SUB"); } return("UNKNOWN"); }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(GZ obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr); }
public GZ getHourGZ(byte hour) { GZ ret = new GZ(sxtwlPINVOKE.Day_getHourGZ(swigCPtr, hour), true); return(ret); }
public GZ getDayGZ() { GZ ret = new GZ(sxtwlPINVOKE.Day_getDayGZ(swigCPtr), true); return(ret); }
public GZ getYearGZ() { GZ ret = new GZ(sxtwlPINVOKE.Day_getYearGZ__SWIG_1(swigCPtr), true); return(ret); }
public GZ getYearGZ(bool chineseNewYearBoundary) { GZ ret = new GZ(sxtwlPINVOKE.Day_getYearGZ__SWIG_0(swigCPtr, chineseNewYearBoundary), true); return(ret); }