BigTruck's Fan Page

BOD Loader

Version 0.5 by Masklin

DOWNLOAD
Translation by BirdMadBoy
and Josh Dahlby


Description:

BODLoader is a mod manager for Blade of Darkness. It is capable of
downloading, installing, and uninstalling various mods and maps
that are created.

The main features are:

- Minimum Blade source code changes. It just adds one line to the
bottom of Menu.py.
- Integrated into Blade's interface.
- Allows to install/uninstall compatible mods
- Allows to activate/deactivate compatible mods.
- Every mod can add its own Mods menu.
- Easy adaptation of already developed mods to make them
compatible with BODLoader.
- Support for customized maps.
- Support for multilanguage.
- Supports downloading mods and maps from internet

Things left to do:

- Support for definable keys.
- Compatibility tests for installed mods: functions and scripts.


Note:

This distribution does not include example mods. All the
available mods and maps can be downloaded easily from the
BODLoader 'DOWNLOAD' menu.

Installation:

If you have not installed BODLoader before, but have installed
other mods, it is recommended that you uninstall those mods prior
to the installation of BODLoader. If you are unsure how to
install those mods, you may want to reinstall Blade in order to
ensure that you have a clean install.

If you had installed BODLoader 0.1 or 0.2, please remove the
BLData.py file from the BODLoader directory before proceeding.

1. Extract BODLoader05a.zip file to the blade installation directory.
The default directory is    C:\Codemasters\Blade of Darkness.
For the european version, it is    C:\Codemasters\Severance.

Make sure to use folder names when unzipping. (In WinZip,
check the 'Use folder names' checkbox in the Extract dialog.)
In the picture, BOD is installed in H: and not C: but the folders
are the same.




2. The above step will create a BODLoader directory under the
Blade directory. Execute BLSetup.exe from the BODLoader
directory.

3. Now, start Blade. You should see a 'MODS' menu in the main
menu. That means it successfully installed.

Use:

The Mods menu has the following options:

- Installed Mods: Shows a list of all mods installed with
BODLoader. If the mod is enabled, the symbols '<' and '>' appear
around the mod name. If the mod has a custom menu you can access
it by pressing ENTER when the mod name is highlighted.

- Setup: This menu allows you to install mods that exist in the
BODLoader\Mods directory. You should see a mod name with the
'<' and '>' symbols around it. When the name is highlighted,
you can press the right and left arrows on your keyboard to
switch between mods. When a mod you are interested in is
selected, you have the following options:

- Install: Select this menu item to install the mod.

- Uninstall: If the mod is installed, you can uninstall it by
selecting this menu item.

- Disable: This menu item can be used to disable the mod, but
it doesn't install it.
- Enable: If the mod is previously disabled, you can reenable
it by selecting this item.

- Options: If the mod has a custom menu, you can reach it by
selecting this menu. This is the same as selecting the mod
name from the 'Installed Mods' menu, mentioned above.

- Load Custom Map: This menu allows you to install maps that
exist in the BODLoader\Maps directory. You should see a map
name with the '<' and '>' symbols around it. When the name is
highlighted, you can press the right and left arrows on your
keyboard to switch between maps. When a map you are interested
in is selected, you have the following options:

- Install: Select this menu item to install the map.

- Uninstall: If the map is installed, you can uninstall it by
selecting this menu item.

- Start: This map allows you to start the map in single player
mode.

- Downloads: This menu allows you to get new maps and mods from
the internet or upgrade existing ones. The first menu item
shows your currently selected server. You can press the right or
left arrows to switch between servers. When you select a
server, it shows you some information about the server, like
where the server is and how many mods and maps the server is
hosting. Select 'Continue' to view the list of mods and maps
available. After selecting 'Continue' you will see the
following:

- <Mod/Map Name>: You should see a mod or map name with the
'<' and '>' symbols around it. When the name is
highlighted, you can press the right and left arrows on your
keyboard to switch between mods or maps. Each map and
mod has the following static information:

* Either 'Map' or 'Mod' shows right above the name to tell
you what kind of download it is.
* Right below the name is the version number.
* Next is the author name. This is the person that is
mainly responsible for the download.
* The web site address comes next.
* Then the size of the download.

- Install: This allows you to install the selected item.
After installing, you can go to either the
'Installed Mods' or 'Launch Custom Map' menus
as described above.

- Upgrade: If a new version of the map or mod exists, this
option will show up. Selecting Upgrade, will
uninstall the previous version and install the
new version. NOTE: In some cases it may be
necessary to restart Blade in order for the mod
to work after an upgrade. If you upgrade
BODLoader, you must restart Blade.


- Installing Mods and Maps without Internet Access:

If you don't have access to Internet, you can continue using mods
and maps with BODLoader:

* For new compatible mods, put the files in a new subdirectory
under BODLoader/Mods. For example, to use the Respawn mod, you
would create a directory called 'Respawn' so that you would have
BODLoader/Mods/Respawn and then unzip the mod into that
directory. Then load Blade, and use the 'Setup' menu described
above.

* For new compatible maps, put the files in a new subdirectory
under BODLoader/Maps. For example, to use the Slayer map, you
would create a directory called 'slayer' so that you would have
BODLoader/Maps/slayer and then unzip the map into that
directory. Then load Blade, and use the 'Setup' menu described
above.


Notes:

I have checked this distribution of BODLoader. However is
possible this BODloader version could break the Blade
instalation or any mod installed. Use at your own risk.

Technical notes:

The installation process creates the folllowing dirs struct:

BOD--BODLoader--Mods => new mods to install
--Maps => new maps to install
--Init => Init scripts for actived mods
--Bck => Substituted scripts backup
--Uns => needed to uninstall soport
--Downloads => Downloads from internet

In BOD\BODLoader there is a file (BLData.py) with information
about available mods and their state.

Mods adaptation:

At first, is easy to adapt a mod to make it compatible with
BodLoader. Is a must to add two scripts:

- BLModInfo.py: with all the mod data : name, description,
autor,... as the dirs to create and the different scripts
location/destination too.

- BLModInit.py: the mod inititalization code and mod menu options
definitions.

There are included two templates from both files and the
corresponding included mods.
As they are python scripts, is possible to code almost anything
inside them although is preferible to maintain them as easy as
can be and put mods code inside external files. Maybe in the next
release a BLModDis.py with aditional code to deactivate the mod
will be included.

We will see how this evolves, but i think that something like this
is needed in order to not substitute RAS original scripts with
every mod installed/added to blade. Original functions can be
overriden/reimplemented in mods and Python is very powerfull
doing this but i think this should be made only when needed. And
if the mod is not played in a particular map, it should be able
to activate/deactivate it from the menu or with a key.

Mods can include translated text for the menu titles and the mod
messages.

Maps creation:

The Maps are bw files created with the LED or copied from the
original distribution. To play a map Blade needs several
files: pj.py. lvl, cfg.py,... BODLoader generates all these
files during the installation so you can play to the map just
by leaving the file bw in a subdirectorio of BODLoader\Maps
and, optionally, creating a BLMapInfo.py file.

BODLoader doesn't create one of these files if it already
exists, so we can write customized maps. These are the
generation rules:

- pj.py: The character is created as BLMapInfo requests.
As default, a Knight at (0,-1500,0) position.

- cfg.py: Basic init code and lvl load.

- lvl: All mmps from 3dChars and usuals 3dObjs. Also, any
mmp into map folder. As WorldDome a file like
name_d.mmp is chosen, if it exists, or casa_d.mmp
otherwise.

For example, to generate a map we can copy all the mmps and the
bw file from a Blade level. Then BODLoader can start Blade in
this map.

This option is, mainly, to test LED generated maps and for
simple Map distributions. For more complex Map uses the Mod
functionalities of BODLoader.

Legal Comments (or something like that ):

BODLoader is a script that adds new functions to Rebelact Blade/
Severance game; all rights reserved to Ras for doing this great
game.

BODLoader is distributed in Ras forums, Blade Mods,... just for
pure fun and thanks to Rebelact´s idea of letting the scripts
source code available. If this is a problem for Ras or there
are legal conflicts, we stop doing immediately.

Masklin

 

CREDITS:

I would like to thank a lot of people for there support. Here
is a very incomplete list.

BirdMadBoy and Josh Dahlby began the mods loader project
at Bladex. Thanks for their technical contributions.

Josh has developed ModBrowser which has enabled
internet download into BODLoader. Also, he is always
available to solve any question and to make good suggestions.

Goosebrush has been my best bug hunter. Thank you for the
tests and the received support.

Slayer allows us to survive with its great forum and their
contributions to the LED comunity.


Revisions:

0.1 - Initial version.

0.2 - Uninstall support implemented.
- Fixed the makedirs bug.
- Added HeadMatrix minimod and updated Gladiator to
version 0.8 with Slayer 7 level from SlayerDDD.
- Added full Readme.txt (thank BirdMadBoy)

0.3 - The Mod version is show below Mod name.
- The Enable/Disable option is hidden after uninstall a mod.
- Incorrect Esc-Key functionality bug into menus.
- New font added to show @ character.
- Enable mod after install.
- Fixed a menu bug in Difficulty mod.
- Fixed a bug that locked keyboard after install some mods.
- Moved Mod Options menu to Mod description screen.

0.4 - BLModInit is not required.
- New optional BLModShut file to include code that is
executed when a mod is disabled.
- New menu option 'Installed Mods' to quickly view BODLoader
installed/enabled mods and easy access to the possible
menus of each Mod.
- New 'Load custom map' option with sef-generated required
configuration files.
- Uninstall clean related pyc files.
- Added some debuging tracebacks.
- Old mods are cleaned from BLData structures.
- Dynamic adjust of 'Exit' option.
- Fixed a bug in new mod version detection.
0.4.1 - BLMapInfo is not required.
- Fixed a error in the installation of maps with folders.
- The file level name can be different from the Level name.
- Disabled BODLoader in Arena Mode to avoid incompatibilities.

0.5 - The initial position in the autogenerated maps without a
BLMapInfo file has been changed from 0,0,0 to 0,-1500,0.
- All the example mods and maps goes out from the distribution.
- The Maps and Mods folder are not required. BODLoader make
them automatically if they don't exist.
- Fixed the readonly attribute of Menu.py (changed by RAS patch)
- Enabled the Arena mode again. They are only enabled for
mods that request it (flag ModArenaMode in their BLModInfo.py).
Required version 1.0.1 of Blade (patch applied) to work.
- Fixed a description visualization bug (overwrites).
- Added download mods/maps from internet.
Thank you Josh for ModBrowser.
- BODLoader can be upgraded itself from internet.
- Added MapVersion field to BLMapInfo.py
- Additional translations by Josh Dahlby.