This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
fs:addon_box [2020-01-06 20:16] – [Box (add-on format)] skyjake | fs:addon_box [2020-01-10 10:56] (current) – [Example] skyjake | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Box (add-on format) ====== | ||
+ | |||
+ | Sometimes it is necessary to combine multiple addons into a single ' | ||
+ | |||
+ | The **.box** format was initially created for the Snowberry launcher app. Recent versions of Doomsday support it, too. | ||
+ | |||
+ | In Doomsday 2, [[packages]] can be set up to contain other packages. | ||
+ | |||
+ | |||
+ | ===== Overview ===== | ||
+ | |||
+ | |||
+ | The **.box** format is a special [[modding: | ||
+ | |||
+ | This separation of metadata from addon-data provides several benefits: | ||
+ | * Allows components to be combined dynamically | ||
+ | * Allows the user (via a GUI) to customize components and to drill down to the information of a specific component (e.g., determining the author of your favorite map) | ||
+ | * Keeps everything nice and clean | ||
+ | |||
+ | |||
+ | ===== Anatomy ===== | ||
+ | |||
+ | |||
+ | The high-level structure of a **.box** is as follows: | ||
+ | | ||
+ | collection.box / | ||
+ | | Info | ||
+ | | part1.pk3 | ||
+ | | part2.pk3 | ||
+ | | required / | ||
+ | | part3.pk3 | ||
+ | | extra / | ||
+ | | part4.wad | ||
+ | |... | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | ==== Metadata ==== | ||
+ | |||
+ | [[modding: | ||
+ | |||
+ | |||
+ | ==== Components ==== | ||
+ | |||
+ | A box may contain multiple sub-component addons. For example, a box might comprise two required [[PK3]]s, an optional [[DED]], and one [[WAD]] file. The only restriction is that a box cannot contain other boxes. | ||
+ | |||
+ | |||
+ | === Optional === | ||
+ | |||
+ | Addons in the root are optional. They will be loaded by default along with the box itself. | ||
+ | |||
+ | |||
+ | === Extra === | ||
+ | |||
+ | The **extra/** folder should contain addons that that are optional but which are //not// active by default. These components must be activated manually before use, for instance by checking on a checkbox in the GUI. | ||
+ | |||
+ | |||
+ | === Required === | ||
+ | |||
+ | The **required/ | ||
+ | |||
+ | Snowberry automatically categorizes all addons inside the box according to their type and/or contents and all are visible to the user (except those which are under [[# | ||
+ | |||
+ | |||
+ | ===== Example ===== | ||
+ | |||
+ | |||
+ | First you'll need an [[modding: | ||
+ | | ||
+ | name: Amaze-DOOM | ||
+ | component: game-jdoom | ||
+ | | ||
+ | language english ( | ||
+ | version: 6.01 | ||
+ | summary: Amazing TC (trust me) | ||
+ | contact: http:// | ||
+ | author: Mod-O-tron-2000 | ||
+ | | ||
+ | copyright: 2015 | ||
+ | license: Do what you will, I don't care | ||
+ | | ||
+ | readme = " | ||
+ | Look, just play it, damn it!" | ||
+ | ) | ||
+ | |||
+ | |||
+ | Now create a folder and give it a name of your choosing with a **.box** suffix. Place here the info file and required subcomponents like so: | ||
+ | | ||
+ | amazedoom.box / | ||
+ | | info - (the ' | ||
+ | | required / | ||
+ | | episode1.pk3 | ||
+ | | episode2.pk3 | ||
+ | | ... | ||
+ | |||
+ | |||
+ | Congrats! You now have a multi-component add-on bundle. | ||