Skip to content

Repository files navigation

Dungeon Rampage Haxe

Dungeon Rampage Haxe

A smoother native port of Dungeon Rampage for Windows, Linux, and macOS, with a configurable frame rate.

Install and play

The recommended way to play DRH is DRH Launcher, which handles DRH installation, updates, repairs, and launch for you.

DRH Launcher also provides additional features such as launch option presets, custom launch arguments, session history with logs and playtime, release history, and more.

See the DRH Launcher README for downloads and installation instructions.

You need to own the official Dungeon Rampage on Steam and keep Steam open while playing. Otherwise, DRH cannot connect to the official servers.

Why use DRH?

The official game can run poorly and suffer from input delay issues. DRH supports a configurable frame rate, with 120 FPS as its built-in default, instead of the official game's fixed 24 FPS. It usually provides much better performance, especially in Quality mode, and avoids the input delay issue.

Like the official game, restarting before each new party is recommended because performance can degrade over time.

Community

Join the Discord server to discuss DRH and DRH Launcher, get update notifications, and see occasional previews.

Technical overview

DRH is a port of Dungeon Rampage from AS3/AIR (see Dungeon Rampage Decompiled) to Haxe. It uses OpenFL, a graphical library that reimplements Flash/AIR APIs with native targets and modern tooling.

This project required months of work, most of it in the following open-source projects:

Build from source

The project depends on forked versions of OpenFL, Lime, SWF, hxcpp, and SteamWrap, which are included as Git submodules.

Requirements

Install the regular haxelib dependencies:

haxelib install format
haxelib install hxp

Clone the repository

git clone --recurse-submodules https://github.com/Tutez64/Dungeon-Rampage-Haxe
cd Dungeon-Rampage-Haxe

If you cloned without --recurse-submodules, initialize the submodules afterwards:

git submodule update --init --recursive

Configure local development libraries

The project file references the submodules directly, but registering them with haxelib is useful for commands such as haxelib run openfl and for rebuilding tools:

haxelib dev lime submodules/lime
haxelib dev openfl submodules/openfl
haxelib dev swf submodules/swf
haxelib dev steamwrap submodules/SteamWrap
haxelib dev hxcpp submodules/hxcpp

Rebuild helper tools

haxelib run lime rebuild cpp -debug
haxelib run lime rebuild tools
haxelib run lime rebuild hxcpp
haxelib run lime rebuild swf

SteamWrap:

cd submodules/SteamWrap
./setup.sh # .bat on Windows
./build # .bat on Windows
cd ../..

Build the game

Lime reads generated_swf_libraries.xml when it parses project.xml, so regenerate it before a cpp build (it lists Resources/**/*.swf plus the preload/generate rules in edits/swf_libraries/).

The first native (cpp) build exports SWF fonts with JPEXS FFDec (Java 8+). Set FFDEC_HOME, put ffdec on PATH, or keep jpexs-decompiler next to this repo. Later builds reuse bin/obj/ffdec_fonts/.

From the repository root:

haxe edits/swf_libraries/generate.hxml
haxelib run openfl build project.xml cpp

For a debug build, append -debug.

Replace build with test if you want the game to launch automatically after compiling.

Native builds accept --fps auto or --fps <value> to override the default frame rate at launch. auto selects the first 24 FPS step at or above the primary display refresh rate, up to 240 FPS, with a 120 FPS fallback. DRH Launcher defaults to auto and provides matching 24 FPS presets; manual values from 1 to 10000 are also accepted.

License and disclaimer

Dungeon Rampage Haxe is an unofficial, fan-made project and is not affiliated with, endorsed by, sponsored by, or authorized by the developers, publishers, or other rights holders of Dungeon Rampage.

Dungeon Rampage and all original game code, assets, artwork, audio, characters, trademarks, and other intellectual property belong to their respective rights holders.

The GNU General Public License v3.0 or later included in this repository applies only to original code and modifications created by Dungeon Rampage Haxe contributors, to the extent that they hold the necessary rights. It does not grant any rights to material originating from Dungeon Rampage or from other third parties. Third-party components remain governed by their respective licenses.

About

A smoother native port of Dungeon Rampage for Windows, Linux, and macOS, with a configurable frame rate.

Topics

Resources

Stars

10 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages