installer icon
[swftools.git] / installer / mkarchive.c
index 7b9eb16..5762143 100644 (file)
@@ -260,6 +260,24 @@ int main (int argn, char*argv[])
 {
     int t;
     char buf[320];
+    int num = 0;
+
+    int fullsize = 0;
+    for(t=1;t<argn;t++)
+    {
+       if(argv[t][0]!='-')
+       {
+           FILE*fi=fopen(argv[t],"rb");
+           if(fi) {
+               fseek(fi,0,SEEK_END);
+               long l=ftell(fi);
+               fclose(fi);
+               fullsize += l;
+               num++;
+           }
+       }
+    }
+
 
 #ifdef ZLIB
     writer_t*include_writer = writer_init_includewriter("crnfiles.c");
@@ -270,6 +288,14 @@ int main (int argn, char*argv[])
     unlink("crnfiles.c");
     writer_t*zwriter = writer_init_filewriter("crnfiles.dat");
 #endif
+    unsigned char n1=num;
+    unsigned char n2=num>>8;
+    unsigned char n3=num>>16;
+    unsigned char n4=num>>24;
+    zwriter->write(zwriter,&n1,1);
+    zwriter->write(zwriter,&n2,1);
+    zwriter->write(zwriter,&n3,1);
+    zwriter->write(zwriter,&n4,1);
 
     qsort(argv+1, argn-1, sizeof(argv[0]), compare_filenames);
 
@@ -373,6 +399,10 @@ int main (int argn, char*argv[])
     }
 #endif
 
+    fi = fopen("crnfiles.c", "ab+");
+    fprintf(fi, "\nint crn_decompressed_size=%d;\n", fullsize);
+    fclose(fi);
+
     return 0;
 }