``` • ▌ ▄ ·. ▄▄▄▄· ▄▄▄ .·▄▄▄▄ ▪ ▄▄▄▄▄ ▄▄▄ ▄▄▄·▄▄▄ ·██ ▐███▪▐█ ▀█▪ ▀▄.▀·██▪ ██ ██ •██ ▪ ▀▄ █· ▐█ ▄█▀▄ █·▪ ▐█ ▌▐▌▐█·▐█▀▀█▄ ▐▀▀▪▄▐█· ▐█▌▐█· ▐█.▪ ▄█▀▄ ▐▀▀▄ ██▀·▐▀▀▄ ▄█▀▄ ██ ██▌▐█▌██▄▪▐█ ▐█▄▄▌██. ██ ▐█▌ ▐█▌·▐█▌.▐▌▐█•█▌ ▐█▪·•▐█•█▌▐█▌.▐▌ ▀▀ █▪▀▀▀·▀▀▀▀ ▀▀▀ ▀▀▀▀▀• ▀▀▀ ▀▀▀ ▀█▄▀▪.▀ ▀ .▀ .▀ ▀ ▀█▄▀▪ Magicbane Emulator Project © 2013 - 2022 www.magicbane.com ``` # mbEditorPro v 2.1 ![Example JSON](https://cdn.discordapp.com/attachments/399623779531096074/1029063849640468550/unknown.png)
![Example Textures](https://cdn.discordapp.com/attachments/534260038039109632/1056584030310641696/image.png)
![Example Usage](https://cdn.discordapp.com/attachments/398522378545790976/1058787471544025138/image.png)
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.