Drakan Community Patch

Discuss Drakan: Order of the Flame with fellow players and post any technical problems here where an 'unofficial' support team will try and help you. Gameplay help questions can go here too.
User avatar
Mechanist
Dragon
Posts: 303
Joined: Wed Mar 07, 2018 7:27 pm
Location: Poland

Drakan Community Patch

Post by Mechanist »

Current version: build 153.01
Last updated: 16/09/2018

:!: Download link :!:

Download link for the EXPERIMENTAL build 153.01a with French language support!
(it is fully multiplayer-compatible with build 153.01!)

Features:
  • Self-installing: no more manual manipulation of the game files :D
  • Installs the original patch 445 + newest version of the AiO patch,
  • Contains all of the known good fanmade singleplayer & multiplayer Drakan maps :!:
  • Optionally installs the dgVoodoo2 DirectX wrapper, for improved display quality,
  • Now supports 32-bit textures (since build 153.01),
  • Includes the Drakan Level Editor (set up to use dgVoodoo2 as a stability fix),
  • Has various usability improvements to the Level Editor,
  • Also installs some extra content - in particular, the original soundtrack and various optional mods (incl. the alternate ending patch),
  • Supports the English, German and Spanish versions of Drakan.
How to use:
  • If updating from a previous version of the Community Patch: just start the installer :)
  • Fresh installation (recommended method): install Drakan from the game disc :arrow: run the Community Patch installer.
    No need to install the 445 patch first, as it's already included in the Community Patch.
  • Alternatively, the Community Patch can be installed over the Drakan Gold Pack - and it will work just fine, too.
--------------------

Changelog:
NOTE: Please click here to view the changelog for the AiO patch, which forms the backbone of the Community Patch.

Build 153.01a:
  • Added support for patching the French version of Drakan,
  • Added support for French language option in the installer itself (translation of custom message strings courtesy of DragonsLover); as usual, the installer language is completely unrelated to the in-game language,
  • Changed the way in which Mplayer.com is uninstalled - the installer should not ask for a system restart anymore after the patch installation is completed,
  • Fixed the bug in Dragon.rrc which resulted in the "Take screenshot" feature being unusable in the French version of Drakan,
  • Level Editor: fixed the DEM Importer's code to behave correctly when a nonzero offset is specified for the import area in the source data,
  • Level Editor: the DEM Importer can now handle invalid pixel data data values without throwing a critical error, if the values are only slightly outside of the allowed range of (0...1) - which tends to occur at the edges of the dataset when the DEMs are rescaled with graphical editing tools (eg. GIMP),
  • Level Editor: the "What's new in the Level Editor.txt" file is now actually included in the patch installation (it got accidentally excluded from the patch files in build 153.01),
  • Singleplayer map bugfix: the Alwarren water fountain "flame jets" now once again kill the player on contact (as intended); previously they got accidentally broken in build 153.01, due to unintended (and unnoticed) effects of changes to the fountain area,
  • Updated the included dgVoodoo2 DirectX wrapper to the most recent version (2.55.3).
Build 153.01:
  • 32-bit textures are now supported, both in-game as well as in the Level Editor; further details are in the readme file: "What's new in the Level Editor.txt",
  • Added completely new landscape import functionality to the Level Editor: it's now possible to import Digital Elevation Models spanning the entire map in just a couple of clicks; additionally, the vertical (height) resolution of the imported landscape is vastly improved compared to what the original importer allowed,
  • Added support for patching the Spanish language version of Drakan,
  • Added support for Spanish language option in the installer itself (translation of custom message strings courtesy of Javixx95); as with the previously introduced German version, the installer language is completely unrelated to the in-game language,
  • Anisotropic filtering is now disabled by default in the dgVoodoo2 settings (fixes the issue of in-game text appearing blurred),
  • Drakan's configuration files (Arokh.ini and Drakan.cfg) are now backed up as Arokh.ini.old and Drakan.cfg.old during installation, to allow manually reverting to the previous settings if they become accidentally overwritten for any reason,
  • Fixed a single broken texture in the System database (texture ID 5208),
  • Installing the Community Patch now causes the long-defunct Mplayer utility (which gets installed by the original Drakan installer) to be properly uninstalled, instead of merely deleting its shortcuts,
  • Map rebalance: reduced the damage output potential of the Fire Katana in Katana War, since in practice it turned out to be unbalanced (too powerful) now that its alternate attack has been rendered actually usable in one of the previous updates,
  • Minor fix: the Alwarren water fountain "puzzle" now once more works as intended; also its sequence has been tweaked slightly, and the waterspout is no longer misaligned with the stream of water,
  • Minor fix: replaced an incorrect sound file of Rynn saying "Ooh, la entrada a las minas!" instead of the expected "Oh! El cristal agrietado!" in the Spanish version,
  • Minor fix: replaced one of the textures in Fountain of Life 3 with a slightly improved version (made possible by the new fixes to the Level Editor's alpha map import code - see below),
  • Names of the Start Menu shortcuts created by the Community Patch installer are now in the same language as Drakan, instead of the language that the user selected during the setup process; obviously, this only matters if those 2 languages are not the same,
  • Reformatted the "Quick Start and Troubleshooting Guide" for better readability - it now has a table of contents, as it was beginning to get too long for its old format,
  • Some further tweaks to the Level Editor's undo functionality have been introduced by UCyborg's AiO patch; the undo limit is now 50, and the setting for the number of undo levels is remembered between sessions,
  • The Level Editor received a substantial overhaul of the way it handles texture imports/exports - in particular, exporting alpha-mapped textures is now possible (both the 16-bit and 32-bit formats); also importing separate alpha maps no longer causes them to be subtly corrupted by the import process,
  • The installer now checks for the presence of existing savegames from an old (pre-AiO patch) version of Drakan; if such savegames are found to exist, they will be moved to their correct location automatically,
  • To help with diagnosing any installer-related bugs, the installer creates a log file named "CPInstallLog.txt"; it can be found in the Drakan installation directory,
  • Uninstalling the Community Patch without having first uninstalled Drakan now leaves the base Drakan installation minimally functional (previously it would have been left in a completely broken state instead),
  • Uninstalling the Community Patch after Drakan has already been uninstalled beforehand no longer results in some of the old patch files being left behind.
Build 139.01:
  • Added two recently released MP maps: The Keep (Duel) v2, which is an improved version of the original Keep, as well as Fountain of Life 3, which is a further improvement of the already excellent Fountain of Life 2 map,
  • Added the Music Common database, which contains royalty-free background music loops for use in player-made maps; please consult the Music Common.txt readme for further details,
  • Added the Weapons Common database, containing (as its name suggests) new weapons,
  • Added the missing "Drakan_WINE_Settings.reg" file from the AiO patch - it can be found in the Drakan installation directory,
  • Added some of the Drakan Common database files to the patch, to safeguard against cases where these files have been modified by the user; this doesn't include the animation databases (as these are highly unlikely to be modified by accident) nor the sound databases (because of the large file sizes),
  • Increased the size of animation and sound buffers in Drakan.cfg to 16MB, to prevent buffer overflow crashes that were happening when trying to play sound effects longer than several seconds (eg. sounds from the Music Common DB),
  • Modified the Level Editor executable to allow up to 99 undo levels (from the original maximum of 16); also removed the original (now superfluous) message warning about "high hemory usage" when setting the number of undo levels to more than 4, as modern computers should have no problems handling the new maximum of 99 with plenty of RAM to spare, even when dealing with huge maps,
  • Removed the "component uninstall warning" which (incorrectly) appeared when the user tries to uninstall dgVoodoo2 (after it had been previously installed) by selecting the "Full installation but without dgVoodoo2" install type during reinstallation; the warning (an automatically generated Inno Setup message) was stating that the component in question would not be uninstalled due to being deselected - which is not the case here,
  • Updated the included dgVoodoo2 DirectX wrapper to the most recent version (2.55.2),
  • Updated the Quick Start Guide with some more information about running Drakan on Linux, taken from UCyborg's AiO patch readme.
Build 135.03:
  • Added support for the German language version of Drakan - the installer will autodetect it and apply the correct version of the 445 Patch, so that the in-game text will still be in German after installing the Community Patch,
  • Added support for German language option in the installer itself (translation of custom message strings courtesy of Pat86); NOTE: the installer language and game language are NOT linked: they are handled completely separately, allowing patching the German version of Drakan with the English version of the installer, and vice versa,
  • Added two recently released MP maps: Amen v2 and Katana War v2, both of which are improved and rebalanced versions of the original maps,
  • Added an option in the installer to make the Level Editor use dgVoodoo2 - this should greatly help prevent random 3D View crashes,
  • Added missing Player.db file (this was preventing the two "Multiplayer Training" levels from working),
  • Fixed a minor issue, where reinstalling the Community Patch without dgVoodoo2 (after it had been selected during a previous installation) caused the "Drakan dgVoodoo2 Settings" Start Menu shortcut to not be removed as intended.
  • Installer now recognizes a manually installed Drakan Gold Pack as such, and will (if applicable) put the extra content into the existing "Extras" and "Mods" folders, instead of creating new ones in the directory where Drakan.exe is located.
  • Moved the Level Editor's Engine.exe to a separate folder, to prevent the Editor's 2D window from also trying to use dgVoodoo2 (which would cause graphical corruption of the 2D window's contents); note that the editor paths get updated automatically by the installer to account for this change,
  • Prevented the installer from creating a (duplicate) Desktop shortcut for Drakan, if the shortcut icon created by the Drakan installer still exists; in that case, no option will be shown for creating a Desktop icon.
  • Set "DontBlockOnInactivity=1" in the Level Editor's Arokh.ini - this results in much more fluid movement in the Editor's 3D View,
  • The installer will delete the "Zugehörigen Server starten" Start Menu folder when patching the German version of Drakan; there's much more to meaningfully running a dedicated server than just clicking a single shortcut - and in any case, there are better methods of starting a dedicated server available nowadays (eg. by using UCyborg's DrakanServer.exe launcher, also included in the Community Patch).
  • Updated the Quick Start Guide with more information about running Drakan on Linux - thanks UCyborg!
Build 135.02:
  • Added the Drakan: Order of the Flame soundtrack to the "full installation" options (it gets installed to {INSTALLDIR}\Extras\Soundtrack),
  • Also added a Start Menu shortcut to the soundtrack location,
  • Added some files that were missing from the Level Editor (this prevented it from working when the CP was installed over a fresh copy of Drakan),
  • Added missing dependencies for the fanmade singleplayer maps,
  • Added missing Multiplayer Common databases (required for some of the included multiplayer levels to work, eg. Bloodland),
  • Added installer option to remove the known bad fanmade levels when installing the CP over the Gold Pack,
  • Changed the default controls for improved ergonomy, and to help prevent the dreaded "weapon change instead of alternate attack" annoyance (only affects first-time CP installations on top of vanilla Drakan),
  • Changed the wording of options to update the registry settings at install time, to make their functionality unambiguous,
  • Included the Auropolis MP level, which has previously been incorrectly declared as being broken; it's been added to the "novelty" list, due to its specific nature,
  • Included the "Basic MP Level" editing template (not listed in the .LFL files, as it's meant for level editor use only; it's not a playable map),
  • Included the Katana War MP level, for historical reasons; however, because of its poorly balanced gameplay, it's not listed in any of the level lists,
  • Updated the Quick Start Guide with information about running Drakan on Linux, courtesy of Discord user hemebond; also added information about the known problems, and corrected some minor errors,
  • Updated the CP Readme with new information.
Build 135.01rc0:
  • First stable release,
  • Added updated versions of 2 multiplayer maps: DQtest (aka DragonsQuest) and Wartok Canyons (Air),
  • Fixed bug that prevented successful patch installation when quotes were present in the registry uninstall entry for Drakan,
  • Improved the method used by the installer to determine whether a given folder already contains a Drakan installation (this prevents installation errors from being caused by errant copies of Drakan.exe present in unexpected locations),
  • Added some sanity checking to the installer, to prevent the installation from being unable to continue if the user has renamed or moved the Drakan installation folder after it had been installed.
Build 134:
  • First alpha build (limited release),
  • Technically largely functional, but incomplete.

UCyborg
Dragon
Posts: 433
Joined: Sun Jul 07, 2013 7:24 pm
Location: Slovenia

Re: Drakan Community Patch

Post by UCyborg »

The reason I set Client_GamePort in my config to 0 is because the default behavior is just silly. 0 will make the system automatically pick free port that's available to use and it's how well coded client applications behave. Cases where picking particular client-side port is necessary are rare and very specific.

And if you don't put PlayerName setting in there, it will be filled by the game according to the user's Windows user account name. Same story with ServerName.

Some other things you've changed are more of the subjective nature, eg. music volume; rather than being objectively saner than defaults.

You also haven't updated the information regarding lens flares, they work fine without dgVoodoo. And for newer systems, apart from what I already mentioned in the other thread, it would be worth mentioning that it allows user to set the game to use dedicated graphics cards instead of the onboard one. NVIDIA Optimus laptops are good candidates for this; games that use DirectX 8 and earlier will always use onboard graphics regardless of the settings in NVIDIA Control Panel, so dgVoodoo can be used to workaround that limitation.
"When a human being takes his life in depression, this is a natural death of spiritual causes. The modern barbarity of 'saving' the suicidal is based on a hair-raising misapprehension of the nature of existence." - Peter Wessel Zapffe

User avatar
Mechanist
Dragon
Posts: 303
Joined: Wed Mar 07, 2018 7:27 pm
Location: Poland

Re: Drakan Community Patch

Post by Mechanist »

UCyborg wrote: Tue Jun 19, 2018 4:29 pmThe reason I set Client_GamePort in my config to 0 is because the default behavior is just silly. 0 will make the system automatically pick free port that's available to use and it's how well coded client applications behave. Cases where picking particular client-side port is necessary are rare and very specific.
OK, I'll change that back then. I admit I didn't realize the significance of the zero there.

UCyborg wrote: Tue Jun 19, 2018 4:29 pmAnd if you don't put PlayerName setting in there, it will be filled by the game according to the user's Windows user account name. Same story with ServerName.
All right, so it's supposed to be blank then? Can do.

Music volume, the value I've put there is what I feel that works well - the music is loud enough to be noticeable, yet not so loud as to drown out other sounds (especially what Arokh says; that can be difficult to hear from a distance, even in the best circumstances).

UCyborg wrote: Tue Jun 19, 2018 4:29 pmYou also haven't updated the information regarding lens flares, they work fine without dgVoodoo.
Good catch, thanks!
I've removed the remark about LF not working from the readme - but not from the troubleshooting guide, as I forgot about it.
Admittedly, that release was a bit rushed; I focused primarily on making sure it's fully functional, so that it could be put into circulation in time for updating our servers to the AiO patch build 135.

UCyborg wrote: Tue Jun 19, 2018 4:29 pmAnd for newer systems, apart from what I already mentioned in the other thread, it would be worth mentioning that it allows user to set the game to use dedicated graphics cards instead of the onboard one. NVIDIA Optimus laptops are good candidates for this; games that use DirectX 8 and earlier will always use onboard graphics regardless of the settings in NVIDIA Control Panel, so dgVoodoo can be used to workaround that limitation.
Hmm, not quite sure I follow you there. Isn't there a selection list in the Riot Engine Options already? Or are you implying that it doesn't work as intended?

UCyborg
Dragon
Posts: 433
Joined: Sun Jul 07, 2013 7:24 pm
Location: Slovenia

Re: Drakan Community Patch

Post by UCyborg »

OK, I'll change that back then. I admit I didn't realize the significance of the zero there.

There's a strange story behind this. Drakan developers wanted to, according to patch notes, make Drakan "firewall friendly". So they used port 27910, which is the default port for Quake II servers. If by firewall friendliness, they wanted to make sure to prevent connection errors to Drakan servers...well, Quake II players had no such issues as Quake II client does pick random free port by default. It would make more sense if they made server operate on the same port as Quake II, if supposed firewall friendliness was their goal, although again, you don't just take port that is known to be used by something else. The same way we agree web servers are accessible on port 80.

So there's also EnableAlternatePortSelection setting in Drakan.cfg, which would try up to NumAlternatePortSelections ports if binding to the desired port failed, each time increasing the number in Client_GamePort by one. Quite redundant since all that's needed regarding ports can be taken care of by system.

It's relatively minor detail in the grand scheme of things, but if ports were an issue for clients like developers thought, then we'd be worrying about them for just about any program that accesses the internet.

All right, so it's supposed to be blank then? Can do.

No, you must delete the entire <set PlayerName ...> line for it to work as intended.

Hmm, not quite sure I follow you there. Isn't there a selection list in the Riot Engine Options already? Or are you implying that it doesn't work as intended?

It is, but on such systems, the game will only see integrated graphics card. It's a limitation of the underlying framework. Some say it's due to drivers, but I can't comment on that since I haven't seen any technical explanation behind the limitation.

Using dgVoodoo "upgrades" the game to use DirectX 11, which presents all cards to the game. Integrated card always works because it outputs picture on the monitor entire time, even when dedicated card is invoked for rendering, which takes some cooperation between both cards on the driver level and as said earlier, this invocation isn't supported for DIrectX 8 and older, so you get integrated card, which is always available.

AMD has similar technology called AMD Switchable Graphics.
"When a human being takes his life in depression, this is a natural death of spiritual causes. The modern barbarity of 'saving' the suicidal is based on a hair-raising misapprehension of the nature of existence." - Peter Wessel Zapffe

Pat86
Whelp
Posts: 10
Joined: Tue Jun 26, 2018 4:05 pm

Re: Drakan Community Patch

Post by Pat86 »

Is it possible to add the german patch to version 445? The Community patch works fine on the vanilla german boxed version, but all text gets english (audio stays german). i guess this is due to the english patch?

User avatar
Mechanist
Dragon
Posts: 303
Joined: Wed Mar 07, 2018 7:27 pm
Location: Poland

Re: Drakan Community Patch

Post by Mechanist »

Hi :D

Yes, it's because the English version of patch 445 is used.
The text strings are stored in Dragon.rrc, which gets overwritten by the version from the English 445 patch.

I can add support for the German language to the Community Patch - but in order to do that, I'd need your help, since I don't have the German version of Drakan to work with.

At the very least, I need the following files from you:
  • German version of the original Patch 445 installer,
  • Dragon.rrc file from vanilla German version of Drakan (installed straight from the original disc; not after patching to 445)

Pat86
Whelp
Posts: 10
Joined: Tue Jun 26, 2018 4:05 pm

Re: Drakan Community Patch

Post by Pat86 »

Sure thing, here you go :D

https://www.dropbox.com/sh/0sn0pwyxtvsl ... qtW1a?dl=0

PS: The german version was cut back then. So i guess this patch will make it cut as well. So violence should be set to "2" afterwards again.

User avatar
Mechanist
Dragon
Posts: 303
Joined: Wed Mar 07, 2018 7:27 pm
Location: Poland

Re: Drakan Community Patch

Post by Mechanist »

Thanks, I'll look into it.

For now, I did a quick check:
The German version of Drakan.rrc appears to work fine with the Drakan.exe from the AiO patch - which is great, since otherwise it'd be a total disaster.

However, the existing keybindings don't work, since it now expects the German command names in Drakan.cfg, instead of the English ones.

BTW, seeing as my knowledge of German is pretty much nonexistent - what's the violence setting named?

Pat86
Whelp
Posts: 10
Joined: Tue Jun 26, 2018 4:05 pm

Re: Drakan Community Patch

Post by Pat86 »

Mechanist wrote: Wed Jun 27, 2018 4:27 am However, the existing keybindings don't work, since it now expects the German command names in Drakan.cfg, instead of the English ones.

BTW, seeing as my knowledge of German is pretty much nonexistent - what's the violence setting named?
Eww ok... any way i can help you there?

In the options menu its "Gewaltdarstellung" under "Grafik". The option is missing in vanilla. Needs patch 445 to show up. But even then it's not changeable (greyed out). Needs a modified (uncut) Dragon.rfl file. With the following Dragon.rfl file it shows up and is changable even on german vanilla.

https://www.dropbox.com/s/kl7optst7uj83 ... c.zip?dl=0

User avatar
Mechanist
Dragon
Posts: 303
Joined: Wed Mar 07, 2018 7:27 pm
Location: Poland

Re: Drakan Community Patch

Post by Mechanist »

Pat86 wrote:Eww ok... any way i can help you there?
Not really, I just need to let it autogenerate a new Drakan.cfg with the vanilla default keybindings, then I can edit it into the installer template.

Nice thing about the Riot Engine is that it simply ignores any keybindings that don't correspond to valid commands - thus allowing a multilanguage Drakan.cfg to be created :)
This is yet another of the engine's "features" that are extremely useful, yet almost certainly were never intended to be used that way by the developers :D

As for Dragon.rfl - the question is, does it get checked as part of the server/client version checking.
Since whatever I do, I need to preserve the multiplayer connectivity - and that imposes some limits on what can and can't be done.
(Dragon.rrc is almost certainly exempt from the version checking, precisely because it contains a lot of language-specific stuff)

In any case, I need to do a bunch of testing with this first.

Pat86
Whelp
Posts: 10
Joined: Tue Jun 26, 2018 4:05 pm

Re: Drakan Community Patch

Post by Pat86 »

Since with the latest Community Patch applied to a german (vanilla) version, the game becames uncut as well, maybe you don't need to change anything regarding the Dragon.rfl. Or does it contain text stuff as well? Just german text (+text on the map etc.) is missing / in english in its current state.

User avatar
Mechanist
Dragon
Posts: 303
Joined: Wed Mar 07, 2018 7:27 pm
Location: Poland

Re: Drakan Community Patch

Post by Mechanist »

AFAIK, all the language-specific text is contained inside Dragon.rrc; the audio is stored elsewhere, so it's not affected by patching.

Pat86 wrote: with the latest Community Patch applied to a german (vanilla) version, the game becames uncut as well,
Could you please elaborate?
I tried replacing Dragon.rrc with the German version on my install, but the violence option is greyed out.

Pat86 wrote: With the following Dragon.rfl file it shows up and is changable even on german vanilla.
With the AiO patch, this results only in the "Unable to load RFL" error.
In any case, replacing Dragon.rfl is a non-starter - the current Dragon.rfl contains a bunch of fixes by UCyborg; an inseparable part of the AiO patch.

To rephrase: dropping the AiO patch isn't an option; it would thoroughly defeat the purpose of all our work so far.

However, based on the information I currently have, it looks like the greying-out is ultimately caused by something inside Dragon.rrc, since changing just this 1 file locks the violence option on an English copy.

Pat86
Whelp
Posts: 10
Joined: Tue Jun 26, 2018 4:05 pm

Re: Drakan Community Patch

Post by Pat86 »

Mechanist wrote: Wed Jun 27, 2018 4:32 pm Could you please elaborate?
I tried replacing Dragon.rrc with the German version on my install, but the violence option is greyed out.

Installing the Community Patch on a freshly installed german version brings the game up to date (445), with full violence (violence option is switchable) and audio stays german. All in all the Game works flawlessy as intended. It's only the german texts (+text on map etc) that get replaced with english ones.

Here's the full german CD so you can check it yourself: https://www.dropbox.com/s/t4n4fghv5rsvi ... an.7z?dl=0
Last edited by Pat86 on Wed Jun 27, 2018 9:57 pm, edited 1 time in total.

User avatar
Mechanist
Dragon
Posts: 303
Joined: Wed Mar 07, 2018 7:27 pm
Location: Poland

Re: Drakan Community Patch

Post by Mechanist »

Interesting, thanks. It'll take some excavating to get to the root of the issue, though.

I'll be releasing a new build of the Community Patch by this weekend, so there won't be enough time to integrate proper German language support in this release.

For a quick hacky fix, overwrite your Dragon.rrc and RERES.dll files with those ones: German 445 Dragon.rrc, German RERES.dll.

Warning: this WILL break your keybindings, making the list totally blank!
You'll need to set all the keybindings again.

Pat86
Whelp
Posts: 10
Joined: Tue Jun 26, 2018 4:05 pm

Re: Drakan Community Patch

Post by Pat86 »

Thanks! Works great (except Violence is greyed out - but its set to excessive). Keybindings weren't even blank. But there were total different setting including joystick inputs. Guess those were yours?

Post Reply