Jump to content

Adding files to a BA2 via CLI


pra

Recommended Posts

I have an xEdit script to pack BA2 files. It basically just scans a mod for assets and then calls Archive2.exe with various arguments.

 

After encountering the issue that sound files must be uncompressed, I changed it so that if it detects even one wav or xwm file, it makes the Main.ba2 uncompressed.

 

 

However, now Kinggath found out that mixed-compression BA2s are actually possible.

 

So I have tried to improve my script to do that as well. But, in the -? output of Archive2.exe, there is nothing about adding files to an existing archive:

Usage:
Archive2 <archive, files/folders> [<arguments>]

  archive        Specifies the archive to open (for extracting/opening an
                 archive).
  files/folders  Specifies the files and folders to open (for making an
                 archive, comma-delimited).
  arguments      Zero or more of the following:
   -sourceFile|s=<string> - quotes required if spaces are involved
    Sets the source file to find contents to archive
   -excludeFile=<string> - quotes required if spaces are involved
    Sets the file that lists files not to archive
   -create|c=<string> - quotes required if spaces are involved
    Tells archiver to create an archive with the specified name
   -extract|e=<string> - quotes required if spaces are involved
    Tells the archiver to extract an archive to the specified folder
   -root|r=<string> - quotes required if spaces are involved
    Tells the archiver what path to use for the archive root (instead of
    looking for a data folder)
   -format|f=<General|DDS|XBoxDDS|GNF>
    Sets the archive format (default - General)
   -compression=<None|Default|XBox>
    Sets the file compression settings (default - Default)
   -count=<unsigned int>
    Sets the archive count to make (default - 0)
   -maxSizeMB|sMB=<unsigned int>
    Sets the maximum archive size in megabytes (default - 0)
   -maxChunkCount|mch=<unsigned int>
    Sets the maximum number of chunks to use in a file (default - 4)
   -singleMipChunkX|mipX=<unsigned int>
    Sets the X component of the minimum size a mip should be to have its own
    chunk (default - 512)
   -singleMipChunkY|mipY=<unsigned int>
    Sets the Y component of the minimum size a mip should be to have its own
    chunk (default - 512)
   -nostrings
    Does not write a string table to the archive
   -quiet|q
    Does not report progress or success (only failures)
   -tempFiles
    Tells the archiver to use temporary files instead of loading chunks
    into memory. Slower, but reduces memory usage
   -cleanup
    Cleans up chunk temp folder on launch (do not use when multiple copies are
    running)
   -includeFilters=??
    A list of regular expressions for file inclusion.
   -excludeFilters=??
    A list of regular expressions for file exclusion.
   -?
    Prints usage information.

Using the -c argument makes the tool overwrite the given archive, and -a (guesswork) doesn't exist.

 

I wonder: is it really impossible via CLI, and only possible via GUI, or is there a way? Could there be an undocumented parameter? Am I missing something?

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...