Author Topic: Modification 2.0 Specification  (Read 5190 times)

maeyan

  • Loves Hellgate
  • Administrator
  • Eldest
  • *****
  • Posts: 1997
  • Karma: 31
Modification 2.0 Specification
« on: Aug 13, 2010; 10:31 AM »
This thread documents the Revival 2.0 Modification specification.

The specification is based off the original modification format, enhanced to provide additional features including data repacking, dynamic dataset manipulation and cross modification compatibility.

Modifications are distributed as compressed ZIP archives. There is no filename convention.

Example modification contents.
------------------------------------------------------------------------------------------
  • Base
    • Repack
      • data
        • cinematic
          • scene 1-5_low.bik
    • Unpack
      • data
        • units
          • items
            • weapons
              • agitator
                • agitator_diffuse.dds
                • agitator_glow.dds
                • agitator_specular.dds
              • chaosblade
                • chaosblade_diffuse.dds
                • chaosblade_specular.dds
    • Xml
      • Items.xml
      • ItemQuality.xml
      • Monsters.xml
      • Treasure.xml
  • Retrainers
    • Xml
      • Items.xml
  • Sniper
    • Xml
      • Items.xml
  • Config.ini
  • Revival.png
------------------------------------------------------------------------------------------

Config.ini
Every package requires a Config.ini file. Its contents describes what modifications the package contains and provides the user with additional information about the mod.

Code: [Select]
[base]
title = Revival SP Modification
version = 2.0
author = Maeyan, Malachor and The Revival Team
website = http://www.hellgateaus.net
notes = The base package for Revival SP modification
image = Revival.png
type = required

[retainers]
title = Purchaseable Retrainers
version = 2.0
author = Maeyan, Malachor and The Revival Team
website = http://www.hellgateaus.net
notes = The base package for Revival SP modification
image = Revival.png
type = optional

[sniper]
title = Improved Sniper Rifles
version = 2.0
author = Malachor
website = http://www.hellgateaus.net
notes = The base package for Revival SP modification
image = Revival.png
type = optional
This config describes 3 modifications: base, retrainers and sniper. The text inside the square braces [] must match the corresponding directories inside the package. As you can see above there are 3 corresponding directories.

The config description contains the following attributes:
  • Title - The title of your modification. ie Revival SP modification
  • Version - A version ID of your release. ie 2.0
  • Author - Responsible authors of the modification.
  • Website - A website you want to refer users to.
  • Notes - Additional information about the mod. You would want to describe the effect of your modification here.
  • Image - A image to preview your mod. Must be 150x150 pixels. This file belongs in the same directory as the config.ini. ie Revival.png
  • Type - This attribute must be set to either: required, recommended, optional.

Each pack can contain up to 3 special directories:
  • Repack - Files placed in here will be compressed and amended to the relative Hellgate London .dat file. If the files already exists inside the pack, it will be replaced.
  • Unpack - Files placed in here will be removed from the relative dat files and referenced from the uncompressed version when the game is run.
  • Xml - Contains the XML files that dynamically manipulate the games datasets (cooked.excel files). See Script Editor Guide.

------------------------------------------------------------------------------------------

A brief overview of the example modification.

The base modification repacks the scene 1-5_low.bik movie into the dat file. This is repacked because certain file types can not be unpacked without the game crashing. These file types include Movies, Sounds and Strings.

The textures for the chaosblade and agitator are removed from the dat and replaced with the versions contained inside the modification. These textures are deliberately unpacked for convenience as they can be later modified without having to be repacked.

The base modification also contains a number of scripts that modify the games datasets. There is no naming convention for these files and infact you could compile all the scripts into the one XML. However for ease of use, each file is named with the corresponding file it manipulates.

The other 2 modifications, sniper and retrainers are simple optional modifications that are relatively small compared to the base modification and only manipulates the Items dataset.
Don't dream what to be; be what you always dreamed.

maeyan

  • Loves Hellgate
  • Administrator
  • Eldest
  • *****
  • Posts: 1997
  • Karma: 31
Re: Modification 2.0 Specification
« Reply #1 on: Aug 19, 2010; 06:17 AM »
C# doesn't actually use ini files, so instead the config.ini has been transformed into XML structure. I'll update the above specification at some point however the basic format is very much the same.
Don't dream what to be; be what you always dreamed.