@@ -286,8 +286,8 @@ impl Level {
286286 Ok ( Self { files } )
287287 }
288288
289- fn write < W : Write > ( & self , writer : & mut W ) -> Result < usize , Error > {
290- let mut writer = Counter :: new ( LzmaWriter :: new_compressor ( writer, 6 ) ?) ;
289+ fn write < W : Write > ( & self , writer : & mut W , compression : u32 ) -> Result < usize , Error > {
290+ let mut writer = Counter :: new ( LzmaWriter :: new_compressor ( writer, compression ) ?) ;
291291 let header = self . gen_header ( ) ;
292292 header. write ( & mut writer) ?;
293293
@@ -377,14 +377,14 @@ impl AssetBundle {
377377 Ok ( Self { levels } )
378378 }
379379
380- fn write < W : Write > ( & self , writer : & mut W ) -> Result < ( ) , Error > {
380+ fn write < W : Write > ( & self , writer : & mut W , compression : u32 ) -> Result < ( ) , Error > {
381381 let mut buf = Vec :: new ( ) ;
382382 let mut buf_writer = Counter :: new ( & mut buf) ;
383383 let mut uncompressed_bytes_written = 0 ;
384384
385385 let mut level_ends = Vec :: new ( ) ;
386386 for level in & self . levels {
387- uncompressed_bytes_written += level. write ( & mut buf_writer) ?;
387+ uncompressed_bytes_written += level. write ( & mut buf_writer, compression ) ?;
388388 let uncompressed_end = uncompressed_bytes_written as u32 ;
389389 let compressed_end = buf_writer. writer_bytes ( ) as u32 ;
390390 level_ends. push ( LevelEnds {
@@ -407,11 +407,11 @@ impl AssetBundle {
407407 . map_err ( |e| format ! ( "Couldn't read bundle: {}" , e) )
408408 }
409409
410- pub fn to_file ( & self , path : & str ) -> Result < ( ) , String > {
410+ pub fn to_file ( & self , path : & str , compression_level : u32 ) -> Result < ( ) , String > {
411411 let file =
412412 File :: create ( path) . map_err ( |e| format ! ( "Couldn't create file {}: {}" , path, e) ) ?;
413413 let mut writer = BufWriter :: new ( file) ;
414- self . write ( & mut writer)
414+ self . write ( & mut writer, compression_level )
415415 . map_err ( |e| format ! ( "Couldn't write bundle: {}" , e) ) ?;
416416 writer
417417 . flush ( )
0 commit comments