private static string MxDBuildSaveStringShared( ref CompressionData cData, bool includeAltEnh, bool @break) { var numArray = Array.Empty <byte>(); string str; if (!MxDBuildSaveBuffer(ref numArray, includeAltEnh)) { str = string.Empty; } else { var asciiEncoding = new ASCIIEncoding(); cData.SzUncompressed = numArray.Length; var iBytes = Zlib.CompressChunk(ref numArray); cData.SzCompressed = iBytes.Length; var bytes = Zlib.HexEncodeBytes(iBytes); cData.SzEncoded = bytes.Length; str = @break ? Zlib.BreakString(asciiEncoding.GetString(bytes), 67, true) : asciiEncoding.GetString(bytes); } return(str); }
private Character CreateCharacterData(CompressionData compressionData) { var compressionDataStream = new CompressionDataStream(compressionData); var characterReader = new CharacterReader( new BinaryReader(compressionDataStream)); return(characterReader.Read()); }
public static string MxDBuildSaveHyperlink(bool useBbCode, bool justLink = false) { var cData = new CompressionData(); string str1 = MxDBuildSaveStringShared(ref cData, false, false); if (string.IsNullOrEmpty(str1)) { return(string.Empty); } // this one seems to still work as intended, we may not need to change it string str3 = "http://www.cohplanner.com/mids/download.php" + ("?uc=" + cData.SzUncompressed + "&c=" + cData.SzCompressed + "&a=" + cData.SzEncoded + "&f=HEX&dc=") + str1; return(str3.Length <= DataLinkMaxLength ? (!justLink ? (!useBbCode ? "<a href=\"" + str3 + "\">Click this DataLink to open the build!</a>" : "[url=" + str3 + "]Click this DataLink to open the build![/url]") : str3) : ""); }
static void MakeCompressedCopy() { //Get Data string path = AssetDatabase.GetAssetPath(Selection.activeObject); Texture2D tex = AssetDatabase.LoadAssetAtPath <Texture2D>(path); //Show modal window bool deleteOriginal = EditorPrefs.GetBool("Kcso_DeleteOriginal", false); CompressionData data = new CompressionData(new Vector2Int(tex.width, tex.height), deleteOriginal, GetReferenceMats(tex)); TextureCompressionWindow.Show(data, (CompressionData d) => { EditorPrefs.SetBool("Kcso_DeleteOriginal", d.deleteOriginal); CreateCompressedTex(path, tex, d); }); }
public static string MxDBuildSaveString(bool inncludeAltEnh, bool forumMode) { var cData = new CompressionData(); var str1 = MxDBuildSaveStringShared(ref cData, inncludeAltEnh, true); if (string.IsNullOrEmpty(str1)) { return(string.Empty); } var str3 = "\n"; string str4; if (forumMode) { var flag1 = MidsContext.Config.Export.FormatCode[MidsContext.Config.ExportTarget].Notes .IndexOf("HTML", StringComparison.Ordinal) > -1; var flag2 = MidsContext.Config.Export.FormatCode[MidsContext.Config.ExportTarget].Notes .IndexOf("no <br /> tags", StringComparison.OrdinalIgnoreCase) > -1; if (flag1 && !flag2) { str1 = str1.Replace("\n", "<br />"); str3 = "<br />"; } // TODO: review this string for update to Mids Reborn // needs checking the reader to see if changing this will break anything var str5 = "| Copy & Paste this data into Mids Reborn : Hero Designer to view the build |" + str3; if (flag1) { str5 = str5.Replace(" ", " "); } str4 = str5 + "|-------------------------------------------------------------------|" + str3; } else { str4 = "| Do not modify anything below this line! |" + str3 + "|-------------------------------------------------------------------|" + str3; } var str6 = ";HEX"; return(str4 + "|" + MagicCompressed + ";" + cData.SzUncompressed + ";" + cData.SzCompressed + ";" + cData.SzEncoded + str6 + ";|" + str3 + str1 + str3 + "|-------------------------------------------------------------------|"); }
//------------------------------ public static void Compress(CompressionData config) { //-i .../input.mp4 -c:v libx264 -crf 23 .../output.mp4 -y string[] command = { INPUT_INSTRUCTION, config.inputPath, CODEC_VIDEO_INSTRUCTION, LIB_X264_INSTRUCTION, CONSTANT_RATE_FACTOR_INSTRUCTION, config.crf.ToString(), config.outputPath, REWRITE_INSTRUCTION }; DebugCommand(command); Wrapper.Execute(command); }
public Link Read() { var uri = new Uri(_reader.ReadToEnd()); var query = QueryHelpers.ParseQuery(uri.Query); var compressionData = new CompressionData { CompressedByteCount = int.Parse(query["c"]), EncodedByteCount = int.Parse(query["a"]), UncompressedByteCount = int.Parse(query["uc"]), EncodedString = query["dc"], Encoding = query["f"], }; return(new Link { CompressionData = compressionData, }); }
public void CanDecompress() { // uc=1452&c=632&a=1264&f=HEX&dc=78DA6594D96E125118C7CF308394AD8516186A170A5DA02003442F5C63A2556F4AC552F512C7F6B4924C80303469AF4CEFEBD6363E8297BE8A8FE013B8DCBB8C1F7C7FB0E94C98FCE67CFB9243F5602DF4F9D1D15DA18CDFB74CDB6ED4B7BB66A723BBBE0DB3B7DF352DD17F7CF4CE0E358DAAB4A434B69A3DB3D5782ECD4EBB65A746CA35B92B5BB634EAFBFDD3A6DCB5E481B445A8D66E5BC63A59375B7B81C1A1DE9172273CF87CD8DC7BD52345904F56FF187DD0696E1BF7DA3B878DAA69F764F7304955ACD07BACF76B52E875BCE29747888A263CBFC13F4CED2FE8302B5FD401AB3EB80A4713116520BB1405A79863316631CE7CABC3857C14E41B43BE00F205902F847C09CAA3B28F5011E71DC5F1B2CCEB7D21D8DE648EBF04B799911D6625C775BFD7790BE4EBF11560034E828FC9C0CFBD79FCC83939CFBA1858239B20E204E1170313A04E36618E23C22AF7B341B20996A913985B02734B626E49CCED846A8DA2CFE80AFB5FCE8239E6EC2A9867160BCC4DCA33851EA68A5CCFFC0566C8268E1EE2A8791E5C009F908D8E383A7A5F1812B339A53AA751E734F69AC65ED3D86B1A7B5DC45EAF08DE479DE2CF20FE0CE22E0E89F80AD9CC717C65EE35CBF247CC33CA9D42EED4758EBD7483B97213BC05DEC68CEE30B7286E06BBC868F491D544D60BFAC031A64AB6CBB05D5E62D9EA32980573CC3AB596C35C739863FE023F858528A0EFC23166F206FC803B47390DE434505F09F595505F09F53D25DB32EE491939663581C7A11F3D22A58D6EAD937769CB2E49C525B9EA925C7349D65D929A36BAF9421948FC91D1BD76BE0548AB9CD7FE382F79C61D7E7759FDFC2F519533ECFE143CC1FFD547E6577D5493F30F4850DA70 var compressionData = new CompressionData { // uc UncompressedByteCount = 1452, // c CompressedByteCount = 632, // a EncodedByteCount = 1264, // dc EncodedString = "78DA6594D96E125118C7CF308394AD8516186A170A5DA02003442F5C63A2556F4AC552F512C7F6B4924C80303469AF4CEFEBD6363E8297BE8A8FE013B8DCBB8C1F7C7FB0E94C98FCE67CFB9243F5602DF4F9D1D15DA18CDFB74CDB6ED4B7BB66A723BBBE0DB3B7DF352DD17F7CF4CE0E358DAAB4A434B69A3DB3D5782ECD4EBB65A746CA35B92B5BB634EAFBFDD3A6DCB5E481B445A8D66E5BC63A59375B7B81C1A1DE9172273CF87CD8DC7BD52345904F56FF187DD0696E1BF7DA3B878DAA69F764F7304955ACD07BACF76B52E875BCE29747888A263CBFC13F4CED2FE8302B5FD401AB3EB80A4713116520BB1405A79863316631CE7CABC3857C14E41B43BE00F205902F847C09CAA3B28F5011E71DC5F1B2CCEB7D21D8DE648EBF04B799911D6625C775BFD7790BE4EBF11560034E828FC9C0CFBD79FCC83939CFBA1858239B20E204E1170313A04E36618E23C22AF7B341B20996A913985B02734B626E49CCED846A8DA2CFE80AFB5FCE8239E6EC2A9867160BCC4DCA33851EA68A5CCFFC0566C8268E1EE2A8791E5C009F908D8E383A7A5F1812B339A53AA751E734F69AC65ED3D86B1A7B5DC45EAF08DE479DE2CF20FE0CE22E0E89F80AD9CC717C65EE35CBF247CC33CA9D42EED4758EBD7483B97213BC05DEC68CEE30B7286E06BBC868F491D544D60BFAC031A64AB6CBB05D5E62D9EA32980573CC3AB596C35C739863FE023F858528A0EFC23166F206FC803B47390DE434505F09F595505F09F53D25DB32EE491939663581C7A11F3D22A58D6EAD937769CB2E49C525B9EA925C7349D65D929A36BAF9421948FC91D1BD76BE0548AB9CD7FE382F79C61D7E7759FDFC2F519533ECFE143CC1FFD547E6577D5493F30F4850DA70", // f Encoding = "HEX", }; using (var compressionDataStream = new CompressionDataStream(compressionData)) { Assert.True(ContainsMagicNumber(compressionDataStream)); } }
private static void CreateCompressedTex(string path, Texture2D tex, CompressionData data) { //Create and blit new texture Texture2D newTex = new Texture2D(tex.width, tex.height); RenderTexture rendTex = RenderTexture.GetTemporary(tex.width, tex.height); Graphics.Blit(tex, rendTex); RenderTexture.active = rendTex; newTex.ReadPixels(new Rect(0, 0, rendTex.width, rendTex.height), 0, 0); newTex.Apply(); RenderTexture.active = null; RenderTexture.ReleaseTemporary(rendTex); //Set asset importsettings newTex.Compress(true); //Write new asset path = path.Remove(path.Length - 3) + "asset"; AssetDatabase.CreateAsset(newTex, path); AssetDatabase.ImportAsset(path); //Remplace in material if (data.materialReplace) { for (int i = 0; i < data.mats.Length; i++) { data.mats[i].Key.SetTexture(data.mats[i].Value, newTex); } } //Delete original if (data.deleteOriginal) { AssetDatabase.DeleteAsset(AssetDatabase.GetAssetPath(tex)); } }
private bool TryBindMidsCompressionData(out CompressionData compressionData) { compressionData = null; if (!NavigationManager.TryGetQueryString <int>("uc", out var uncompressedByteCount)) { return(false); } if (!NavigationManager.TryGetQueryString <int>("c", out var compressedByteCount)) { return(false); } if (!NavigationManager.TryGetQueryString <int>("a", out var encodedByteCount)) { return(false); } if (!NavigationManager.TryGetQueryString <string>("f", out var format)) { return(false); } if (!NavigationManager.TryGetQueryString <string>("dc", out var encodedData)) { return(false); } compressionData = new CompressionData { UncompressedByteCount = uncompressedByteCount, CompressedByteCount = compressedByteCount, EncodedByteCount = encodedByteCount, EncodedString = encodedData, Encoding = format, }; return(true); }
public Save() { CompressionData = new CompressionData(); }