Resource package

From Doomsday Wiki
Jump to: navigation, search
Proposal
Requires:
Roadmap

Resource packages are self-contained bundles of resources ("add-ons") that the user may optionally load. An example of a package is the "jDRP". Historically packages have been managed by Snowberry, but in the future this will be the responsibility of libdeng2.

The name of the class that represents a resource package in libdeng2 should be called de::Package.

Features

  • Packages can be loaded and unloaded using the engine's package manager UI (or console commands).
  • The package manager can be used to define the priority order of the packages.
  • The package manager can acquire new packages from an online repository.
  • The package manager handles the installation and uninstallation of packages on the local system.
  • Package file formats are described in addon formats.

Finding resources

Proposed mechanism:

Resource management.png

Open questions

  • WAD files can be considered a resource package format. Is there an opportunity here to streamline the FS architecture?
    • WAD is analogous to Zip and the two are already modelled with a polymorphic OO class hierarchy (derived from de::File). How might this be bettered? --danij 03:12, 1 March 2013 (UTC)