EGG2BAM(1)

NAME
egg2bam - convert .egg files to .bam files

SYNOPSIS
egg2bam [opts] input.egg output.bam
egg2bam [opts] -o output.bam input.egg

DESCRIPTION
This program reads Egg files and outputs Bam files, the binary format suitable for direct loading of animation and models into Panda. Bam files are tied to a particular version of Panda, so should not be considered replacements for egg files, but they tend to be smaller and load much faster than the equivalent egg files.

OPTIONS

-noabs
    Don't allow the input egg file to have absolute pathnames. If it does, abort with an error. This option is designed to help detect errors when populating or building a standalone model tree, which should be self-contained and include only relative pathnames.

-flatten flag
    Specifies whether to flatten the egg hierarchy after it is loaded. If flag is zero, the egg hierarchy will not be flattened, but will instead be written to the bam file exactly as it is. If flag is non-zero, the hierarchy will be flattened so that unnecessary nodes (usually group nodes with only one child) are eliminated. The default if this is not specified is taken from the egg-flatten Config.prc variable.

-combine-geoms flag
    Specifies whether to combine sibling GeomNodes into a common GeomNode when possible. This flag is only respected if flatten, above, is also enabled (or implicitly true from the Config.prc file). The default if this is not specified is taken from the egg-combine-geoms Config.prc variable.

-suppress-hidden flag
    Specifies whether to suppress hidden geometry. If this is nonzero, egg geometry tagged as "hidden" will be removed from the final scene graph; otherwise, it will be preserved (but stashed). The default is nonzero, to remove it.

-ls Writes a scene graph listing to standard output after the egg file has been loaded, showing the nodes that will be written out.

-C quality
    Specify the quality level for lossy channel compression. If this is specified, the animation channels will be compressed at this quality level, which is normally an integer value between 0 and 100, inclusive, where higher numbers produce larger files with greater quality. Generally, 95 is the highest useful quality level. Use -NC (described below) to disable channel compression. If neither option is specified, the default comes from the Config.prc file.

-NC Turn off lossy compression of animation channels. Channels will be written exactly as they are, losslessly.

-rawtex
    Record texture data directly in the bam file, instead of storing a reference to the texture elsewhere on disk. The textures are stored uncompressed, unless -ctex is also specified. A particular texture that is encoded into multiple different bam files in this way cannot be unified into the same part of texture memory if the different bam files are loaded together. That being said, this can sometimes be a convenient way to ensure the bam file is completely self-contained.

-txo
    Rather than writing texture data directly into the bam file, as in -rawtex, create a texture object for each referenced texture. A texture object is a kind of mini-bam file, with a .txo extension, that contains all of the data needed to recreate a texture, including its image contents, filter and wrap settings, and so on. 3-D textures and cube maps can also be represented in a single .txo file. Texture object files, like bam files, are tied to a particular version of Panda.

-txopz
    In addition to writing texture object files as above, compress each one using pzip to a .txo.pz file. In many cases, this will yield a disk file size comparable to that achieved by png compression. This is an on-disk compression only, and does not affect the amount of RAM or texture memory consumed by the texture when it is loaded.

-ctex
    Pre-compress the texture images using the libsquish library, when using -rawtex or -txo. This is unrelated to the on-disk compression achieved via -txopz (and it may be used in conjunction with that parameter). This will result in a smaller RAM and texture memory footprint for the texture images. The same effect can be achieved at load time by setting compressed-textures in your Config.prc file; but -ctex pre-compresses the textures so that they do not need to be compressed at load time.

-mipmap
    Records the pre-generated mipmap levels in the texture object file when using -rawtex or -txo, regardless of the texture filter mode. This will increase the size of the texture object file by about 33%, but it prevents the need to compute the mipmaps at runtime. The default is to record mipmap levels only when the texture uses a mipmap filter mode.

-ctexq quality
    Specifies the compression quality to use when performing the texture compression requested by -ctex. This may be one of 'default', 'fastest', 'normal', or 'best'. The default is 'best'. Set it to 'default' to use whatever is specified by the Config.prc file. This is a global setting only; individual texture quality settings appearing within the egg file will override this.

-load-display display name
    Specifies the particular display module to load to perform the texture compression requested by -ctex. If this is omitted, the default is taken from the Config.prc file. Since your Panda has libsquish compiled in, this is not necessary; Panda can compress textures without loading a display module.

-pr path_replace
    Sometimes references to other files (textures, external references) are stored with a full path that is appropriate for some other system, but does not exist here. This option may be used to specify how those invalid paths map to correct paths. Generally, this is of the form 'orig_prefix=replacement_prefix', which indicates a particular initial sequence of characters that should be replaced with a new sequence; e.g. '/c/home/models=/beta/fish'. If the replacement prefix does not begin with a slash, the file will then be searched for along the search path specified by -pp. You may use standard filename matching characters ('*', '?', etc.) in the original prefix, and '**' as a component by itself stands for any number of components. This option may be repeated as necessary; each file will be tried against each specified method, in the order in which they appear in the command line, until the file is found. If the file is not found, the last matching prefix is used anyway.

-pp dirname
    Adds the indicated directory name to the list of directories to search for filenames referenced by the source file. This is used only for relative paths, or for paths that are made relative by a -pr replacement string that doesn't begin with a leading slash. The model-path is always implicitly searched anyway.

-ps path_store
    Specifies the way an externally referenced file is to be represented in the resulting output file. This assumes the named filename actually exists; see -pr to indicate how to deal with external references that have bad pathnames. This option will not help you to find a missing file, but simply controls how filenames are represented in the output. The option may be one of: rel, abs, rel_abs, strip, or keep. If either rel or rel_abs is specified, the files are made relative to the directory specified by -pd. The default is rel.

-pd path_directory
    Specifies the name of a directory to make paths relative to, if '-ps rel' or '-ps rel_abs' is specified. If this is omitted, the directory name is taken from the name of the output file.

-pc target_directory
    Copies textures and other dependent files into the indicated directory. If a relative pathname is specified, it is relative to the directory specified with -pd, above.

-o filename
    Specify the filename to which the resulting Bam file will be written. If this option is omitted, the last parameter name is taken to be the name of the output file.

-cs coordinate-system
    Specify the coordinate system of the resulting Bam file. This may be one of 'y-up', 'z-up', 'y-up-left', or 'z-up-left'. The default is z-up.

-h  Display this help page.