BODLoader v 0.5a - by Masklin Feb-2002

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 todo:

- 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 BODLoader.zip file to the blade installation directory.
The default directory is C:\Codemasters\Blade of Darkness.
Make sure to use folder names when unzipping.

(In WinZip, check the 'Use folder names' checkbox in the Extract dialog.)

2. The above step will create a BODLoader directory under the Blade directory. Execute install.bat from the BODLoader
directory.
(e.g. c:\Codemasters\Blade of Darkness\BODLoader\install.bat)

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: There is no server available right now this feature isn't working.

Post article RSS Articles

BODLoader 2024 v3 Updated

Applicable to:
Classic, Reissue v109, Reissue major versions.

Download BODLoader2024_v3

2024 v3

Update:

  • Reissue adaptation mods (such as FugitiveII v1.01R) can now be run seamlessly in the major version.
  • Adjust the font adaptation scheme of the classic version.

2024 v2

Update:

  • Inject import code during game saving to ensure BODLoader is executed before DefFuncs.py.

TalkSystem v1.1

Features:

  • Fixed an issue where assigned keys would not take effect immediately while input was disabled.
  • Added an option to disable the outdated integrated TalkSystem in MODS
    (disable integration: default is yes).
  • Now the TSmmp and TSFont items in the old TSCustom configuration file will no longer be applied.
    If you want to customize them, you must define the identification variable TSCustomVers = "1.0" in the configuration file

TalkSystem v1.1


BODLoader 2024

Partial Refactoring and Optimization.
by Sryml

Extract this BODLoader to the Blade installation directory, then run the Install.bat file in Blade/BODLoader.
This BODLoader includes a new TalkSystem.

If you are prompted for a missing library at runtime, you need to install Visual C++ Redistributable 2022

Not all maps/MODs can run in the major update version because some map model files (.bw) cannot be loaded correctly.

The currently known bw map that cannot be loaded in the major version is: FugitiveIII

BODLoader 2024

BODLoader 2024

Features:

  • New compatibility layer module for major version compatibility.
  • New text type providing more concise dynamic property modifications (including text content, color, focusable, etc.).
  • Implementation of font widget size adjustment in the classic version.
  • Optimized menu layout with different colors for different types of information.
  • Added two new line spacing units
    Float 0-1.0 (based on percentage of viewport height)
    Number plus unit "1em" (relative character height)
  • Formatted code and optimized code structure.
  • Support for resizing using the same font (adjustment range from 1% to 100%) instead of creating a font file for each size.

New Fonts:

  • BLFont_Title
    Primarily used for titles, character range is 0-255, using the Sherwood font.
    Its style is almost identical to the BOD font.
  • BLFont_Common
    A general-purpose font with better readability for multilingual support (currently includes some Simplified Chinese characters),
    using the HarmonyOS Sans Medium font.
  • Both fonts include redrawn angle bracket characters to maintain the BOD font style.

Compatibility Layer Module

This module provides a compatibility layer to ensure that the same code can run seamlessly across different versions of the game.
It achieves this by utilizing both function wrappers and object proxies to handle variations in API behavior and functionality between game versions.

Version Detection:
The module includes mechanisms to detect the game version at runtime.
Based on the detected version, it dynamically applies the necessary wrappers and proxies.

Currently only compatible with file operations, path-related, and text widget, other interface differences are not included.

There is also a helper program, CompatLayerAux.exe, which retrieves the game window title to determine the version.


TalkSystem

v1.0

Partial Refactoring and Optimization, along with New Features
by Sryml

Based on BODLoader 2024

BODLoader 2024 & TalkSystem v1.0

BODLoader 2024 & TalkSystem v1.0

BODLoader 2024 & TalkSystem v1.0

BODLoader 2024 & TalkSystem v1.0

Features:

  • Fixed the small HUD issue in the reissue version.
  • Custom NPC names can now be displayed in dialogs instead of entity names.
  • The journal will now record the position of the selected entry rather than defaulting to the last entry.
  • Allows the addition of spaces and explicit line breaks in dialog or journal text (previous versions ignored extra spaces and explicit line breaks).
  • Added the ability to select the previous journal entry with the left mouse button.
  • New dialog and journal images to prevent the dialog box from excessively blocking the screen.
  • New text layout method to support automatic calculation of the maximum number of lines.
  • New automatic line-wrapping feature supporting multiple languages.
  • New resolution adaptation feature to ensure consistent layout across different resolutions.
  • Layout recalculates when changing resolution at runtime (for reissue).
  • Increased UI animation speed and higher FPS.
  • Removed unnecessary saved fields from the dialog database (they were never restored); now only custom variables and triggered journal IDs are saved.
  • Formatted the code and optimized the code structure.

TSCustom.py (Configuration File)

TSCustomVers = "1.0"  # Configuration File version
TSmmp = "MyWidgets.mmp"  # widget image

TSFont = "MyFont.fnt"  # or bmp font
TSFontScale = 0.29  # font scale

AnimSpeed = 6.0  # Animation Speed
AnimFPS = 60  # Animation FPS

TSTalkRange = 5000
TSHideDelay = 10.0
SelectNPCArea = 10000

# Dialogue configuration
MaxLines = "auto"  # Maximum number of lines. Integer or string "auto"
TextVsep = "0em"  # Line spacing, 1em represents the height of a line of text.
TextMargin = {
    "top": 0.07, "right": 0.078, "bottom": 0.074, "left": 0.078
    } # text margins
# text color
ColorDlg = 255, 255, 255  # Dialogue text
ColorAns = 207, 144, 49  # Answer text
ColorAnsSelected = 252, 247, 167  # Selected answer
HUDBrightness = 1.0

# Journal configuration
jMaxLines = "auto"  # Maximum number of lines. Integer or string "auto"
jTextVsep = "0em"  # Line spacing, 1em represents the height of a line of text.
jTextMargin = {
    "top": 0.076, "right": 0.107, "bottom": 0.075, "left": 0.107
    } # text margins
# text color
ColorjTitle = 255, 204, 51  # Journal title
ColorjText = 252, 247, 167  # Journal text
ColorjTextSelected = 255, 204, 51  # Journal selected text
jHUDBrightness = 0.628

Backend:

Custom Variables:
Custom variables are now saved with the game and restored on the next game load.
You no longer need to define them in the global scope of DefFuncs.py, as custom variables will ultimately be restored with the saved data.
This is because ObjStore data is restored after DefFuncs.py.

If you want to hide an NPC's name initially and only display it after certain conditions are met, you can use custom variables to dynamically set the NPC's name.
For example:

p = Bladex.CreateEntity("Ork_1","Ork",0,0,0,"Person")
Talk.SetVar ("Ork_1", "???")
# Use after certain conditions are met:
# Talk.SetVar ("Ork_1", "Glofror")

Currently, this is just a partial refactoring of the TalkSystem, maybe I will rewrite a new TalkSystem to provide more functions in the future. 😄

Compatibility

Compatibility

News 4 comments

BODLoader 2021 is not compatible with this Major Update of the Game. Will be fixed soon.

Add file RSS Files
BODLoader2024_v3

BODLoader2024_v3

Script

Applicable to: Classic, Reissue v109, Reissue major versions.

BODLoader05a_2024

BODLoader05a_2024

Script

Applicable to: Classic, Reissue v109, Reissue major versions.

BODLoader05a 2021

BODLoader05a 2021

Script 3 comments

Repackaged BOD Loader v0.5a with the 2021 compatibility patch and a install.sh for Linux users

Talk 2021 update

Talk 2021 update

Patch 1 comment

This is updated version of Talk.py from my mods (I use modified module instead of original). The update is needed for Orlok Incident and Bloody Caves...

BODLoader 2021 update

BODLoader 2021 update

Patch 9 comments

This update make BODLoader work in both 2001 release and 2021 reissue of the Game.

BODloader 0.5a (zip)

BODloader 0.5a (zip)

Installer Tool

BOD loader o.5a in zip version

Post comment Comments
Guest
Guest - - 695,634 comments

This comment is currently awaiting admin approval, join now to view.

Guest
Guest - - 695,634 comments

This comment is currently awaiting admin approval, join now to view.

Guest
Guest - - 695,634 comments

This comment is currently awaiting admin approval, join now to view.

dkrisko
dkrisko - - 2 comments

So, not sure if it is due to new steam update, but when I try to install a mod nothing happens when hitting "install"...

I tried reinstalling original bodLoader and this update. Same result.

If so, are updates then planned for the new "major update"?

Reply Good karma Bad karma+1 vote
Sryml
Sryml - - 20 comments

BODLoader 2024 compatible with the major update has been released.

Reply Good karma Bad karma+1 vote
Daemonos
Daemonos - - 51 comments

Will we get an update for the latest release?

Reply Good karma Bad karma+1 vote
hashmilala
hashmilala - - 1 comments

I can't load the save game in FUGITIVE 1(mod)....
How can i load game after saving...... any further step after installing the mod..

Reply Good karma Bad karma+1 vote
Guest
Guest - - 695,634 comments

you have to download it from Big Truck's page,just type on google: Severance Blade Of Darkness Big Truck's page and you'll find Bodloader once you enter the site,it should be displayed somewhere around the mods tab

Reply Good karma Bad karma+1 vote
Skull-Wart
Skull-Wart - - 17 comments

terrible try the exe version

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account:

X