Daodan DLL
The Daodan DLL is a modification for Oni that hooks into the game engine and applies bug fixes and patches. It also replaces parts of the engine with its own code. Daodan fixes many issues, including the famous "Blam!" error that occurs on many Windows XP machines. It also adds new features such as support for extra screen resolutions (including many widescreen resolutions) and bonus cheat codes. Daodan is in constant development and there are many versions.
C-Daodan
The recommended version is the last stable version of C-Daodan. This is also the only version that supports windowed mode.
Download C-Daodan (binkw32.dll) Installation instructions are below.
Download BinkPlay (binkplay.exe) BinkPlay is required to play the intro and outro movies; if Daodan is installed without BinkPlay, the movies will not play. BinkPlay is copyright RAD Game Tools, Inc.
Features
- Windows XP patch - Fixed Oni crashing at startup on modern computers.
- Windowed mode - Oni runs inside a window, there is a menu option to enter fullscreen mode.
- Custom screen resolutions - Includes many more default screen resolutions, the ability to add custom resolutions (see below) and a patch to stop the overlays from being stretched when playing in widescreen.
- Extra cheats - This version of Daodan adds four extra cheats, along with re-enabling Developer Mode (extra cheats are listed below).
- Cheats always enabled - Cheats are always enabled (they are usually only enabled after the player completes the game).
- Extra command line options - For advanced users, for a list, type "Oni -help".
- DirectInput is used on NT, XP and Vista - Better support for keyboard layouts.
- Level plugins - Added modding support for the Oni community.
- Projectile awareness patch - When combined with the Edition, AIs have the ability to dodge projectiles.
Unsupported Version
The current release of C-Daodan is a complete rewrite of the stable version and is considered alpha quality software. If you just intend to play Oni and are not interested in making your own modifications to Daodan's source code, it is highly recommended to use the stable version above.
Many features of the previous version have not been implemented yet in the rewrite, these include windowed mode, extra cheats and the added command line options.
Download C-Daodan (binkw32.dll, UNSTABLE!) (Tarball) Installation instructions are the same as the stable version, except BinkPlay is not required and not used (The intro and outro movies are not played in this version).
FASM-Daodan
There is also a much older release of Daodan, referred to as FASM-Daodan. This is the original version by SFeLi. Unlike the stable version of C-Daodan, FASM-Daodan requires a different DLL to be downloaded depending on which Oni.exe is used. It does not support the newer Daodan features, such as windowed mode and custom resolutions, however it still contains the basic patches such as the Windows XP patch and the custom cheats.
Download FASM-Daodan basic (vtuneapi.dll, English, "standard" Oni.exe)
Download FASM-Daodan basic (vtuneapi.dll, Russian, "buka" Oni.exe)
Download FASM-Daodan basic (vtuneapi.dll, Demo Oni.exe)
Download a ZIP containing the DLLs for each version.
View the Readme file (daodan.txt) This file includes descriptions of all the cheats enabled with this version of Daodan.
Download a ZIP containing the DLLs for an experimental (unstable) FASM-Daodan This includes the projectile awareness patch and support for any language (except Chinese and Japanese). This is currently the only version of Daodan with added language support.
Installation Instructions
Before installation, it is important to know where your copy of Oni has been installed to. For most people, it is stored in "C:\Program Files\Oni" (My Computer -> Local Disk (C:) -> Program Files -> Oni). This folder should contain a "GameDataFolder" and "Oni" or "Oni.exe". It is important that you replace your "Oni.exe" with one that is compatible with Daodan. If you are using the unstable C-Daodan or the FASM-Daodan, Oni will not start unless you have the correct EXE. If you are using the recommended version of C-Daodan, Oni will start, but most of the features of Daodan will not be present.
If you are using the demo version, it is probably not necessary to replace the EXE, skip to the next step.
Make sure to make a backup of your "Oni.exe" before replacing it in case the replacment doesn't work. The easiest way to do this is by renaming "Oni" or "Oni.exe" to something else like "Oni.old.exe".
If you are already using a modded EXE (such as Ian's Windows XP patch), it is still recommended to replace it with the EXEs from here as the modifications in the EXE could conflict with Daodan.
Replacement EXEs
Eastern English engine (Oni.exe, recommended) Use this EXE if you have an English version of Oni, or you are using the experimental FASM-Daodan (which adds support for any language.)
Russian (buka) engine (Oni.exe) Use this EXE if you have a Russian version of Oni, or you have a language that isn't English and are using a version of Daodan without support for any language. This EXE does not work with the unstable version of C-Daodan.
Demo engine (Oni.exe) This is the EXE included with the Oni Demo. If you have a Demo version of Oni, it is probably the same as the EXE you already have. This EXE does not work with the unstable version of C-Daodan.
Installation
If you are using FASM-Daodan, simply copy a "vtuneapi.dll" from this site into Oni's folder. If you are using C-Daodan, make a backup of "binkw32.dll" (by renaming it to something else), then copy a "binkw32.dll" from this site (and a "binkplay.exe" if necessary) into Oni's folder. If you are upgrading from FASM-Daodan to C-Daodan, make sure to delete your old "vtuneapi.dll" to prevent conflicts between the new and old versions.
Testing
To test if you have done everything correctly, run "Oni.exe". If you are using the recommended C-Daodan, the results should be obvious: Oni will open in a window instead of full screen (if Oni opens in full screen, go to its options and change to a lower resolution to test the windowed mode). If you are using the unstable C-Daodan, Oni will still run full screen, but there will be many more resolution choices in the options menu. If you are using the FASM-Daodan, the only way to tell is to start a level and test one of the new cheat codes (view the readme file above for the cheats, the last 5 cheats are only available with Daodan, the last cheat is only available in the experimental version).
Custom screen resolutions
If you wish to run in a screen resolution that is not available and you are running the recommended version of C-Daodan, create a text file (Notepad document) in your Oni folder (C:\Program Files\Oni) containing a list of custom resolutions in this format (one resolution per line):
800x600
1024x600
1024x768
Save the file as "res.txt".
Uninstallation
To remove the Daodan mod, delete all the files you downloaded from this site and restore the files you backed up.
Source Code
Source code of C-Daodan (stable) C source code ZIP, compiles with MinGW.
Source code of C-Daodan (unstable) C source code tarball, compiles with MinGW.
Source code of FASM-Daodan 0.6.6 FASM source code ZIP, compiles with FASM.