descriptionUnreal Tournament package manipulation tool.
repository URLgit://git.draconx.ca/upkg.git
ownernbowler@draconx.ca
last changeFri, 1 Dec 2023 06:15:29 +0000 (1 01:15 -0500)
last refreshSat, 27 Apr 2024 06:14:57 +0000 (27 08:14 +0200)
content tags
add:
README
This package contains upkg: a tool for working with Unreal Engine package
files.  This is alpha-quality software, and there are almost certainly packages
which cause the tool to choke.  That being said, the list and info functions
should work with most packages from the original Unreal and Unreal Tournament
games.  Other Unreal Engine games may or may not work.  Extracting music files
should work.

== Installation ==
=== Prerequisites ===
Upkg is written in C99, and therefore requires a somewhat modern C compiler.
The only hard run-time dependency beyond those required by standard C is the
glib-2.0 library, as upkg is based on the GObject type system.  Upkg can also
optionally make use of the libmodplug library, but at the moment this is only
used to identify module formats when extracting music files, and upkg has its
own code to do this identification if modplug is not available.

Sources checked out from Git (which is the typical case, since there are
currently no actual releases of upkg) do not contain any of the generated files
which would normally be included in the distribution tarballs.  As such, a
number of additional tools are required.  Any version numbers listed represent
minimum tested versions.  Using newer versions of the tools should work, but
older versions should not be expected to.

 * GNU Autoconf version 2.68
 * GNU Automake version 1.11.1
 * GNU Libtool version 2.4
 * GObject Builder (GOB) 2.0.9999 (**)

(**) Unfortunately, the current releases of GObject Builder are missing support
for dynamic types which are used extensively by upkg.  Moreover, GOB appears
dead upstream, so you will need to use a custom-patched version, available
from

  http://git.draconx.ca/?p=gob2.git
shortlog
2023-12-01 Nick BowlerStop using gnulib's flexmember module.master
2023-12-01 Nick BowlerManual updates.
2023-12-01 Nick BowlerReplace gnulib patches with new common helper macro.
2022-02-27 Nick Bowlertests: Add --version output to the common library.
2022-02-27 Nick BowlerSimplify libupkg package header decoding.
2022-02-27 Nick BowlerAvoid C99 stdbool.
2022-02-27 Nick BowlerWork around missing SIZE_MAX.
2022-02-27 Nick BowlerUse gnulib flexmember module.
2022-02-27 Nick BowlerDon't use [static n] in prototypes.
2022-02-27 Nick BowlerFix distribution of test data.
2022-02-27 Nick Bowleruobject: Simplify lookup_module function.
2022-02-27 Nick BowlerAdd a simple texture export testcase.
2022-02-27 Nick BowlerPort tests to Autotest.
2022-02-27 Nick BowlerUpdate bootstrapping bits.
2022-02-24 Nick BowlerDitch local orderonly trick.
2022-02-24 Nick BowlerUse gen-options script and help formatting from dxcommon.
...
heads
4 months ago master
11 years ago uobject