public static int Decompress_s(IntPtr l)
    {
        int result;

        try
        {
            byte[] inputBytes;
            LuaObject.checkArray <byte>(l, 1, out inputBytes);
            byte[] a = CLZF.Decompress(inputBytes);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, a);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
Beispiel #2
0
        void OnGUI()
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUIEx.ObjectField <TextAsset>(ref assetToCompress, false);
            GUI.enabled = assetToCompress != null;
            if (GUILayout.Button("Compress"))
            {
                string src = AssetDatabase.GetAssetPath(assetToCompress);
                string dst = StringUtil.InsertSuffix(src, "_compress");
                dst = AssetDatabase.GenerateUniqueAssetPath(dst);

                byte[]     compressed = CLZF.Compress(assetToCompress.bytes);
                FileStream os         = new FileStream(dst, FileMode.CreateNew);
                os.Write(compressed, 0, compressed.Length);
                os.Close();
                AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate);
            }
            EditorGUILayout.EndHorizontal();
            GUI.enabled = true;
            EditorGUILayout.BeginHorizontal();
            EditorGUIEx.ObjectField <TextAsset>(ref assetToDecompress, false);
            GUI.enabled = assetToDecompress != null;
            if (GUILayout.Button("Decompress"))
            {
                string src = AssetDatabase.GetAssetPath(assetToDecompress);
                string dst = StringUtil.InsertSuffix(src, "_decompress");
                dst = AssetDatabase.GenerateUniqueAssetPath(dst);

                byte[]     decompressed = CLZF.Decompress(assetToCompress.bytes);
                FileStream os           = new FileStream(dst, FileMode.CreateNew);
                os.Write(decompressed, 0, decompressed.Length);
                os.Close();
                AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate);
            }
            EditorGUILayout.EndHorizontal();
            GUI.enabled = true;
        }
Beispiel #3
0
 private static void DecompressAssetBundleCLZF(string input, FileStream outStream)
 {
     byte[] infile  = File.ReadAllBytes(input);
     byte[] outFile = CLZF.Decompress(infile);
     outStream.Write(outFile, 0, outFile.Length);
 }