```
• ▌ ▄ ·. ▄▄▄▄· ▄▄▄ .·▄▄▄▄ ▪ ▄▄▄▄▄ ▄▄▄ ▄▄▄·▄▄▄
·██ ▐███▪▐█ ▀█▪ ▀▄.▀·██▪ ██ ██ •██ ▪ ▀▄ █· ▐█ ▄█▀▄ █·▪
▐█ ▌▐▌▐█·▐█▀▀█▄ ▐▀▀▪▄▐█· ▐█▌▐█· ▐█.▪ ▄█▀▄ ▐▀▀▄ ██▀·▐▀▀▄ ▄█▀▄
██ ██▌▐█▌██▄▪▐█ ▐█▄▄▌██. ██ ▐█▌ ▐█▌·▐█▌.▐▌▐█•█▌ ▐█▪·•▐█•█▌▐█▌.▐▌
▀▀ █▪▀▀▀·▀▀▀▀ ▀▀▀ ▀▀▀▀▀• ▀▀▀ ▀▀▀ ▀█▄▀▪.▀ ▀ .▀ .▀ ▀ ▀█▄▀▪
Magicbane Emulator Project © 2013 - 2022
www.magicbane.com
```
# mbEditorPro v 2.1



Team Magicbane presents to the community technology allowing MagicBox administrators
to fully modify their game using nothing more than notepad.exe.
- Tool directly converts Shadowbane .cache file data to and from a high fidelity pure JSON representation.
- Shadowbane .wpak archives are decrypted to and from their plain text config files.
- Media such as textures and sound are converted in-situ.
- Enumerations are used throughout hiding from the user ugly signed ulong values.
- Written in Python and open-source allowing modification and extension with ease.
- Want to raise all weapon damage by x%; Just modify item values as they are being parsed!
The tool built with Eldritch Technologies parses **all Shadowbane .cache files** giving the user complete control over the game
Team Magicbane aims to deliver you the best crackhead free MMO technology around; all for free!
### Requirements:
mbEditorPro requires pillow for image manipulation and tqdm for metrics.
```$ pip install -r requirements.txt```
### Usage:
```
mbEditorPro.py unpack cobjects
mbEditorPro.py unpack all
```
JSON output will be placed into the folder **ARCANE_DUMP**
Unpack only reads the plain-named cache files (e.g. CObjects.cache). If a target folder already exists, a numbered folder is created instead (e.g. COBJECTS.1) so earlier output is never overwritten.
```
mbEditorPro.py pack textures
mbEditorPro.py pack all
```
New binary cache file(s) will be built from the JSON and output into the current directory.
Pack only reads from the un-numbered folders (e.g. COBJECTS). If a cache file already exists, a numbered copy is written instead (e.g. CObjects.cache.1).
### wpak files
```
mbEditorPro.py unpack wpak
mbEditorPro.py unpack wpak Config
mbEditorPro.py pack wpak
mbEditorPro.py pack wpak Config
```
A .wpak is a zip archive whose entries are each Blowfish encrypted (.tga icons are stored unencrypted).
Unpack decrypts each pak into **ARCANE_DUMP/** (e.g. ARCANE_DUMP/Config), one file per entry.
Pack encrypts each folder back into .wpak. Name a single pak to work on just that one.
The same numbering rules as the caches apply.
### Limitations
Hirelings, zone events and mobile inventory are parsed and written following the client's
loaders, but the shipped CZone.cache has no examples of them. `python tests/czone_synthetic.py`
(run from mbEditorPro2.0) checks these structures with hand-built records.
### JSON
The tool generating pure JSON has the following benefits:
- It's ubiquitous and the tooling is mature. The standard interop exchange format.
- Human and machine-readable.
- Ease of importing into MySQL or other databases.
- Use as an intermediate representation to build a GUI World Editor or FBX importer.
### Future
mbEditorPro will be the cornerstone of Magicbane's data project. The Team's goals are twofold:
- Ship MagicBox 1.5 with both Aerynth and Vorringia mapsets.
- Use data for a detailed audit of Magicbane's database.
### More Information
See the mbEditorPro2.0 Wiki for more detailed information.