Blade of Darkness holds true to the greatest of hack and slash legends, combining sorcery, knights, and swords with god forsaken enemies that deserve to have their arms slashed off with a broadsward. Blade of Darkness looked excellent in 2001, and still delivers its gore well today. Holding True to it's genre it offers modders both custom maps and scripts.

Relevent Links
Fansite
Mod List
Modding Community

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Related 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

BOD Loader 4 comments

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

Gladiator2021. Classic mod updated

Gladiator2021. Classic mod updated

Gladiator2021 2 comments

Gladiator2021 is Classic Gladiator Mod by Josh Dahlby with Addon by Shyrka updated to work in both 2001 release and 2021 reissue of the Game.

Blade of Darkness Reforged

Blade of Darkness Reforged

Blade of Darkness Reforged 6 comments

Please refer to the updated Blade of Darkness Reforged installation & configuration guidelines under files. 2K upscaled original character textures will...

Blade of Darkness Gets Official Controller Support

Blade of Darkness Gets Official Controller Support

News

After more than 20 years, Blade of Darkness receives one of the most community requested features of all time - controller support.

Add file RSS Files
BoD MaxFiles by Harrison (updated)

BoD MaxFiles by Harrison (updated)

Modelling Tool

Original .BOD files reverted back to their .MAX format by Harrison. New version includes potions with anchors and 2 of the missing weapons with anchors.

BODLoader2024_v3

BODLoader2024_v3

BOD Loader Script

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

BODLoader05a_2024

BODLoader05a_2024

BOD Loader Script

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

BaBxc

BaBxc

Graphics Tool

MMP texture compiler. Compiles BMPs into MMP texture archive.

bwcompiler

bwcompiler

Mapping Tool

Blade of Darkness map compiler. Compiles MP editor map into game binary BW map.

Kronica 2024

Kronica 2024

Demo

Unfinished, but playable. Lots of new features, orcs driving trains, player sailing on a raft, new monsters

Comments  (0 - 10 of 71)
TeJay88
TeJay88 - - 6 comments

There could also be a mode where you can choose from all the opponents and roam in different levels or arenas.

Reply Good karma Bad karma+2 votes
TeJay88
TeJay88 - - 6 comments

please make it for android as well

Reply Good karma Bad karma0 votes
Alcantarra
Alcantarra - - 2 comments

God bless this game!
I played it at the time and it was one of the best experiences I had in this genre. Hack and slash but not that easy. The difficulty of the game play makes it fun to play. You will not progress by just pressing buttons randomly so it is on hard difficulty level on default.
Very good that this game has been re-released after 20 years. At the time it was definitely ahead of the curve and if not the failure of the marketing would compete with the LOTR franchise.
This game deserves a remaster and a sequel!

Reply Good karma Bad karma+2 votes
TeJay88
TeJay88 - - 6 comments

Hi.
Where can I find the all maps mod?

Reply Good karma Bad karma+1 vote
Guest
Guest - - 696,365 comments

Has anyone thought of adding a crossair to the bow?

Reply Good karma Bad karma+1 vote
Alcantarra
Alcantarra - - 2 comments

But this is the thing. There is no cross-hair in the bow, is it?
After a while of shooting with this bow (without a cross-hair) I was still able to shot enemies in the head from great distance. You just have to get use to it.

Reply Good karma Bad karma0 votes
MBK_MBK
MBK_MBK - - 176 comments

It is done. :)
Here is an example:
Youtube.com
Greetings.

Reply Good karma Bad karma+1 vote
Guest
Guest - - 696,365 comments

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

orion164
orion164 - - 6 comments

Dreaming for a multiplayer campaign coop mode, with no friendlyfire... health of party members, more monsters and maybe skipping first char level.... etc ^_^

Reply Good karma Bad karma+3 votes
MBK_MBK
MBK_MBK - - 176 comments

Me too! :D

Reply Good karma Bad karma+1 vote
Guest
Guest - - 696,365 comments

that mode would be revolutionary and might make blade of darkness popular again

Reply Good karma Bad karma+2 votes
MBK_MBK
MBK_MBK - - 176 comments

Well, I will try to make it real. ;)

Reply Good karma Bad karma+2 votes
Guest
Guest - - 696,365 comments

Me too! :D

Reply Good karma Bad karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

X