Dungeon Lords

From Widescreen Gaming Wiki

Jump to: navigation, search

Contents

[edit] Game Information

Dungeon Lords is a real-time 3D full freedom 3rd person perspective fantasy role-playing and action game. It comprises a unique offering of Personal Character (PC) development in a world filled with NPC interactive characters and game quests, as the player journeys through an enchanted land of ancient castles and dungeon lairs to engage in real-time tactical combat action against a variety of deadly foes, from monstrous creatures to powerful wizards, from undead lords to greater demons. Dungeon Lords can be played either single-player stand alone, or in multi-player group sessions.

[edit] Widescreen Support

Dungeon Lords does not have native widescreen support. To use widescreen resolutions, please have a look at the Universal Widescreen Patcher page.


[edit] Manual patching

Dungeon Lords will run happily in widescreen with a simple EXE patch.

To patch 1600x1200 to be 1680x1050 instead, find the following hex strings and replace them with the new ones. Bytes given in italics will probably vary between versions; the ones below are from the collector's edition.

Change the actual resolution used: patch DLORDS.EXE as follows (It's at offset 0x33693 in the collector's edition):

Change
 >> c7 05 d8 09 60 00 05 00 00 00 c7 05 dc 09 60 00 00 00 80 3f c7 05 e0 09 60 00 *40 06 00 00* c7 05 e4 09 60 00 *b0 04 00 00* c7 05  ...
to:
 >> c7 05 d8 09 60 00 05 00 00 00 c7 05 dc 09 60 00 00 00 80 3f c7 05 e0 09 60 00 *90 06 00 00* c7 05 e4 09 60 00 *1a 04 00 00* c7 05  ...

Change the location of the player model in the inventory window to match the new resolution: Patch DLORDS.EXE as follows (offset 0xe31a0 in collector's edition)

Change
 >> c7 05 f8 8e 65 00 *00 00 94 c5* c7 05 fc 8e 65 00 *00 00 9a 44* c7 05 00 8f 65 00 *00 00 eb c5* eb 1e
to:
 >> c7 05 f8 8e 65 00 *00 00 98 c5* c7 05 fc 8e 65 00 *00 00 28 44* c7 05 00 8f 65 00 *00 00 ed c5* eb 1e

Change the label in the menu: patch D6STRING.DAT as follows (It's at offset 0x5a83 in the collector's edition):

Change
 >> 31 36 30 30 20 78 20 31 32 30 30 00	( "1600 x 1200<nul>")
to:
 >> 31 36 38 30 20 78 20 31 30 35 30 00	( "1680 x 1050<nul>")

And that's it!


[edit] Technical detail & Adaptation

When adapting the patch, most of the values you want to change are embedded as constants in the machine code of the exe file. This makes it fairly easy to avoid false hits, but you have to know the constants you are searching for. (The values in italics can be useful, but they'll change across different builds of the exe -- they are addresses of variables in the program's memory space.)

The first step is easy. It's just the hex value of the resolution you want -- the first value is X (1600 / 0x640), the second is Y (1200 / 0x4b0). If you're using a higher resolution mode like 1920x1200 or something you might want to patch the built-in 2048x1536 mode instead of the 1600x1200 one -- you'll find it in the EXE file immediately after the data for 1600x1200. (The first value 05 00 00 00 will be 06 00 00 00 instead. Offset 0x336d0 in collector's edition exe.)

The last step is a straight string change. No hassle.

It's the second step that's the pain. The constants are a set of three 32bit floating-point values giving the 3d vector to the player model in the inventory window. The first is X offset (negative values mean to the left of the screen center), the second Y (positive values indicate upwards from the center) and the last is Z -- the distance the model is from the camera. If you increase the resolution you might need to increase this, since the inventory window will have shrunk in relation to the screen -- the catch is that changing this affects the apparent X and Y coordinates, so it might take some tweaking. This is why I picked 1600x1200 to change to 1680x1050 -- there's less tweaking required.

To get this one right you'll probably have to experiment -- keep patching the exe then running it up and seeing if it's right yet. (As an aside, you can also get some funny effects like a really TINY model, or the model being way outside the window. Try it out if you like, but don't change Z too much at a time or it might not show up at all.) To find the values for a mode other than 1600x1200, just look in the same area. 2048x1536 should be exactly 32 bytes after 1600x1200. If not, well... you might have to crack out a disassembler.

[edit] Screenshots

4:3 screenshot: No screenshot currently available
16:10 screenshot: No screenshot currently available

[edit] External links

Official Site: http://www.dungeonlords.com/

Personal tools