---
name: "Umod"
section: "3pm"
platform: "linux"
package: "umodpack"
version: "0.5b16-2"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/Umod"
---

# Umod(3pm)

Perl module for Unreal mod file manipulation

## NAME

Umod - Perl module for Unreal mod file manipulation

## SYNOPSIS

```
    use Umod;
    $umod = new Umod( -file => "$umodFileName" );
```

## DESCRIPTION

The package is an abstraction of an Unreal mod file.

## METHODS

- **new( \[-file =** filename\] )\>

  Constructor for the umod object.  The umod filename can optionally be supplied.

- **file( self\[, filename\] )**

  Set/retrieve the umod filename.

- **baseDir( self\[, dir\] )**

  Set/retrieve the base directory for file extraction.

- **product( self\[, product\] )**

  Set/retrieve the product name.

- **version( self\[, version\] )**

  Set/retrieve the version number.

- **archive( self\[, archive\] )**

  Set/retrieve the archive name.

- **requirements( self\[, requirements\] )**

  Retrieve the requirment information.

- **localproduct( self\[, product\] )**

  Set/retrieve the localized umod product name.

- **producturl( self\[, producturl\] )**

  Set/retrieve the product URL.

- **versionurl( self\[, versionurl\] )**

  Set/retrieve the version URL.

- **developer( self\[, developer\] )**

  Set/retrieve the localized developer name.

- **developerurl( self\[, developerurl\] )**

  Set/retrieve the developer URL.

- **readmefile( self\[, filename\] )**

  Set/retrieve the filename of the ReadMe file.

- **packingList( self )**

  Return the packing list.

  At this point, this read-only.  This could change if I add the ability to pack a umod file.

  Each element in the returned list is a ref to a hash derived from the Src lines in the packed ini files.

- **iniChanges( self )**

  Return the ini change list.

  Each element in the returned list is a ref to a hash derived from the Ini lines in the packed ini files.

- **open( self\[, file\] )**

  Open the umod file and parse it.

  Yup, here's the big one, forx.

- **parseSrcLine( line )**

  Parse a given 'Src' line.

  These lines exist in the ini sections of the umod and contain  information on files packed into the umod.  We do some simple processing to return a hash ref atomically.

- **parseIniLine( line\[, -add =** bool\] )\>

  Parse a given 'Ini' line or 'AddIni' line.

  These lines exist in the umodINIGroup sections of the umod and contain information on changes or additions to the ini files. As a special case, changes to the ServerPackages of the Engine.GameEngine section of System\\UnrealTournament.ini or System\\Unreal.ini is always interpreted as an addition.

- **extract( self, force, files )**

  Extract the listed files.

  Files are expected to come in hash refs as returned from parseSrcLine above.  These hashes contain filenames, sizes, etc.

- **dump( self, files )**

  Dump the listed files.

  Files are expected to come in hash refs as returned from parseSrcLine above.  These hashes contain filenames, sizes, etc.

- **readme( self )**

  Return the contents of the readme file, if it exists and if found.

## AUTHOR

Mishka Gorodnitzky \<*misaka@pobox.com*\> and Avatar \<*avatar@deva.net*\>.

## SEE ALSO

*umod*(1), *xumod*(1).
