Read if you are experiencing errors / bugs

Blade of Darkness general discussion and game help forum. Discuss anything related to Severance / BoD (except modding, use the forum below) Note: Possible spoilers!

Moderators: prospero, Ade

User avatar
cieply
Dragon
Posts: 350
Joined: Wed Jun 26, 2013 3:43 pm

Re: Mines of Kelbegen crash

Post by cieply »

I have never experienced such behaviour but from your description I drawn conclusion that you should try different sound setting - "DirectSound3D Software Emulation" is the most compatible one and "DirectSound3D 7+ Software - Pan and Volume" is also known to work very well (there are subtle differences which I don't exactly remember as I use the first one mentioned and stick to it as it works but I remember from forum discussion/s that other ones also have application but everything depends on your circumstances - experimenting is the best way to check it and you can't screw anything really this way). If you have done everything what is "required" to run the game in windows7+, like using rOpengl renderer, compatible sound settings as the most basic ones you shouldn't have problems with running game.
l'aria fresca,
vino puro, ...

Sir Random
Dragon
Posts: 737
Joined: Thu Nov 15, 2001 12:58 am
Location: Ireland
Contact:

Re: Read if you are experiencing errors / bugs

Post by Sir Random »

It's strange that it works sometimes and not others, have you tried changing compatibility settings in Win 10?
Mods: http://daniel.brayforum.com/blademods

"The only solution is to solve the whole mystery, and return home as soon as possible."

ETTiNGRiNDER
Hatchling
Posts: 5
Joined: Tue Aug 04, 2015 7:08 pm
Contact:

Re: Mines of Kelbegen crash

Post by ETTiNGRiNDER »

Ok, after some wrangling (and rebooting) it appears that it is in fact renderer related, using the 3dfx Voodoo 1-2 has this problem (and it doesn't seem to make much difference which wrapper is used). For the record, when trying different sound systems, DirectSound3D Software Emulation made the problem worse (locked on loading any level) while DirectSound3D Pan + Volume was about the same as Miles stability-wise (this with 3dfx, at least). Why it triggers specifically on Mines of Kelbegen (and only sometimes, at that)? No idea.

I've got ahold of SGI's fixed rOpenGL version now, and that takes care of the atmosphere issues with GL so I think I'm set to go.

ETTiNGRiNDER
Hatchling
Posts: 5
Joined: Tue Aug 04, 2015 7:08 pm
Contact:

Solid squares appearing in place of GlowTextures - probable fix

Post by ETTiNGRiNDER »

I guess the best place to put this would be here.

I was experiencing the "big rhombus" error with GlowTexture talked about over on this thread and looked at cieply's attempt at fixing it, but it was noticeably wrong by the screenshots (his fix was making the game use a different image for the GlowTexture than the intended one, and had nothing to do with making one image act as a mask for another one as he seemed to think... I'm pretty sure it's simply working because he made it use an image that was loaded through Bladex.ReadBitMap as I detail below). After ruling out the image itself being corrupt in the Data folder, I tinkered a bit and think I've found a pretty simple fix:

In Scripts\InitParticleSystems.py, you'll notice that some of the flares and stuff are loaded with Bladex.ReadBitMap and others with Bladex.ReadAlphaBitMap. For the line that loads an image for the offending GlowTexture, change ReadAlphaBitMap to plain ReadBitMap and it should work. You can't see the results by reloading a savegame from the area you were having the problem, though, unfortunately (I guess it already remembers loading it the "wrong" way?) I tested it using IronLord's "Nirvana" map as a quick test case so you might do the same if you have the issue on the rainbow stars in that map.

Obviously, you'll want to backup InitParticleSystems.py and I would guess delete the .pyc version once you make changes to make sure it recompiles.

Why this works, and why it's wrong in the original game scripts, I don't know... possibly another inconsistency with the OpenGL renderer?

Edit: Confirmed that this works (for me at least) on the opal gem Birr in Nemrut if the game is started with the script changes I described. Haven't gotten to the skull trap in the Temple of Ianna but I don't see any reason to doubt that'll be fixed as well. Here are the fixed lines in InitParticleSystems.py:

Code: Select all

	Bladex.ReadBitMap("../../Data/Flare magico 128.BMP","MagicFlare128")
	Bladex.ReadBitMap("../../Data/Estrellita2.bmp","StarParticle")

User avatar
cieply
Dragon
Posts: 350
Joined: Wed Jun 26, 2013 3:43 pm

Re: Solid squares appearing in place of GlowTextures

Post by cieply »

I tested your stuff and it works - in fortress of Nemrut, gorge of Orlok and even in temple of Ianna. Finally I got what all this actually does, so thanks for that.
l'aria fresca,
vino puro, ...

User avatar
cieply
Dragon
Posts: 350
Joined: Wed Jun 26, 2013 3:43 pm

blue gem pick up in Mines of Kelbegen

Post by cieply »

In Mines of Kelbegen ('Mine_M5') there is irritating bug that spoils play. It manifests after you kill cosita with blue gem. Whey you try to pick it up, if someone hits you during that it will interrupt the animation, gem will drop out and you won't be able to pick it up any more.

Technically it happens because this gem has light attached to it and when you pick it up light is removed and when you try to pick it up again game attempts to remove the non existing already light, function throws exception that is not handled so it drops execution of the function body from this point.

To fix it you need to add simple check whether this light exists. This way you don't try to `Unlink` non existing object and it works as expected.


I prepared patch for `$BoD/Maps/Mine_M5/DefFunc.py` that is compatible with all versions (1.001 and GoG).

You can apply it with gnu patch (`$BoD` is BoD directory):
$ cd $BoD/Maps/Mine_M5
$ patch -p1 DefFuncs.py-1 DefFuncs.py-luz_BorraLuzAzulada.diff

Or add check manually at line 268, as you can see in patch; so it looks like that (# comment is mine and is not necessary to work):

Code: Select all

def BorraLuzAzulada():
	gemaBlue = Bladex.GetEntity("GemaB")
	luz      = Bladex.GetEntity("GemaBlueLight")
	if luz: # check whether it has light in case it hasn't; it happens if character drops gem while picking up and being attacked
		gemaBlue.Unlink(luz)
		luz.SubscribeToList("Pin")
Attachments
DefFuncs.py-luz_BorraLuzAzulada.diff.zip
DefFuncs.py patch fixing bug in BorraLuzAzulada()
(1.05 KiB) Downloaded 4 times
Last edited by cieply on Fri Jul 17, 2020 6:16 pm, edited 3 times in total.
l'aria fresca,
vino puro, ...

User avatar
cieply
Dragon
Posts: 350
Joined: Wed Jun 26, 2013 3:43 pm

Tower of Dal Gurak map text in menu

Post by cieply »

There are map descriptions in Menu that you can read while playing the map. There is a problem with it in Tower of Dal Gurak.
This patch solves it by correcting name of the map directory. It works because python is case sensitive and "Tower_m16" and "Tower_M16" are two different strings.
You can apply patch by (note -p2 option that strips off two directory levels; `$BoD` is Blade directory):

$ cd $BoD/Lib/Widgets
$ patch -p2 MenuWidget.py MenuWidget.py-Tower_M16-1.diff

Or manually by changing `$Bod/Lib/Widgets/MenuWidget.py` "Tower_M16" to "Tower_M16" at line 1068, so it looks like this (arrows `→` show indentation):

Code: Select all

		if (Bladex.GetCurrentMap() == "Tower_M16"):
Attachments
MenuWidget.py-Tower_M16-1.diff.zip
patch of MenuWidget.py fixing map text in menu
(845 Bytes) Downloaded 5 times
l'aria fresca,
vino puro, ...

Post Reply