# EDI Tools

EDI Tools is a collection of tools for the game Escape Dead Island by Fatshark, to aid with data research and data manipulation.

## Terminology

Term | Description
--- | ---
Save-data package | The "save_data" file, as written and read by the game. It contains compressed data blocks.
Save-data | The unpacked/decompressed form of the save-data package's data blocks. This is the raw serialized data.

## System requirements

- Windows XP or later.
- Visual C++ Redistributable Packages for Visual Studio 2013.

## Save-data tools and components

These tools aid with handling data for saved games.

### SaveEditor

A game-save editor for the slightly more advanced user, and it allows you to edit all of the save-data on a somewhat low level. The save-data is constructed as a tree of keys and values, and you'll be editing the tree as-is. To make this tool really useful, we should have more knowledge about the possible keys and values we can use. Eventually, when we're hopefully able to unpack the Bitsquid bundles, it may be possible to further investigate all of the possible keys and value we can use.

Please note that this is a work-in-progress, and certain features are not yet available.

Supported platforms: PC (without Steam cloud), PlayStation 3.

NOTE: At the moment, neither Steam cloud nor Xbox 360 is officially supported, but support for all of these is planned.

Some interesting values so far:

- / - Root
  - achievements
    - 1 - Achievements and stats.
  - sp_profiles - Single-player profiles?
    - <name> - "cliff" (dirty clothes), "cliff_clean" (clean clothes), "agent_zero_prologue" (the ninja during the prologue).
      - bonus_health - Set to QNaN for immortality against enemies.
      - skin_override - Change the skin of the character, e.g. into "agent_zero".
        - gear
          - ammo
            - glock, ... - Set to QNaN for infinite ammo in the clip (no need to reload).
            - pistol_ammo, shotgun_ammo, ... - Set to QNaN for infinite spare ammo.
          - <number>
            - name - One can swap out a weapon by changing this name. Example: from glock to katana.

### SaveDataDumper

Dumps the save-data of a save-data package into a tidy human-readable form. The data is also sorted so that one may easily compare dumps between save-points using a diff-tool.

I've kept dumps of some saves in a different repository.

### SaveDataRepacker

A graphical program for end-users, whican can be used for unpacking and repacking of raw save-data in its uncompressed, serialized form. While it's not an actual save editor, it helps when when modding the raw data.

What it can do:

- Accept files via drop-and-drop.
- Unpack the data into its uncompressed, serialized form.
  - Save it to a file.
  - Edit it directly using the bundled hex editor.
- Automatically repackages the file when you modify the data.

What it can't do:

- Make your life easier when handling files for Steam, PlayStation 3 or Xbox 360.
- Automatically create backups. It's advised that you always keep a backup to prevent data loss.
- Display the actual save-data in a human-readable form.

### SaveDataUnpacked

Unpacks save-data packages. Useful when needing to unpack many files in one go, but it's not very useful anymore.

### HxdToolExtension

An extension for the bundled hex editor, to make it behave less annoying in portable mode, and to provide customized settings it.

## Game-data tools

These tools aid with handling data for the game itself.

### BundleUnpacker

Should eventually to be able to fully unpack Bitsquid bundle files. For now, it only decompresses the data blocks so that the uncompressed data can be investigated more easily.

## Copyright

© 2014, Steffen André Langnes

## Contact & Support

www.steffenl.com