Daodan DLL: Difference between revisions

From OniGalore
Jump to navigation Jump to search
(update and simplification since we only recommend one specific Daodan DLL now)
(reorganizing sections and beginning to add in material from the Beta page)
Line 1: Line 1:
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|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.
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|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.
 
==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 use an "Oni.exe" that is compatible with Daodan. If you are using 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.
#Back up your Oni.exe and binkw32.dll files by renaming them (e.g. "Oni-original.exe").
#Place the newly-downloaded Oni.exe, binkw32.dll (and realbink.dll, if provided) in the folder with Oni.exe.
 
==Testing==
To test if you have done everything correctly, run "Oni.exe". Enter the pause (Diary) screen (F1 by default) and type "tellmetheversion"; if you get a result like "Daodan v.3.0", the DLL is working.


==C-Daodan==
==C-Daodan==
The recommended version is the last stable version of C-Daodan. This is also the only version that supports windowed mode.
The recommended version is the last stable version of C-Daodan. This is also the only version that supports windowed mode.


[http://mods.oni2.net/node/54 Download C-Daodan (binkw32.dll)]
[http://mods.oni2.net/node/233 Download C-Daodan (binkw32.dll)] <big>—></big> [http://mods.oni2.net/node/231 Use with this version of the game app] (you probably already have it)


===Features===
===Feature summary===
*Windows XP patch - Fixed Oni crashing at startup on modern computers.
*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.
*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 fly-in character portraits from being stretched when playing in widescreen.
*Custom screen resolutions - Includes many more default screen resolutions and the ability to add custom resolutions (see below)
*Extra cheats - This version of Daodan adds four extra gameplay cheats, along with Developer Mode and a version readout:
*Extra cheats - '''bigbadboss''' (player takes less weapon damage), '''bulletproof''' (player takes no weapon damage), '''kangaroo''' (high jumps), '''marypoppins''' (flight)
**thedayismine (or simply 'x')
*Cheats always enabled
::Developer Access Enabled/Disabled
*Extra command line options (for advanced users) - For a list, type "Oni -help".
::Runtime scripting (console) and many hotkeys
:*tellmetheversion
::Daodan v#.#.# (...), built ####-##-## ##:##:## UTC
::Version of the Daodan DLL being used
:*bigbadboss
::Boss Shield Enabled/Disabled
::Weapon damage to player is diminished
:*bulletproof
::Force Field Enabled/Disabled
::Permanent protection from weapons
:*kangaroo
::Kangaroo Jump Enabled (reload level to disable)
::Allows higher jumping and lesser falling damage
:*marypoppins
::JetPack Mode On [beta] (reload GAME to disable)
::Allows continuous flying and no falling damage
*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.
*DirectInput is used on NT, XP and Vista - Better support for keyboard layouts.
*Level plugins - Added modding support for the Oni community.
*AIs have the ability to properly dodge projectiles.
*Projectile awareness patch - AIs have the ability to properly dodge projectiles.
*Stops fly-in character portraits from being stretched when playing in widescreen.
 
===Settings===
Creating a file called Daodan.[[wikipedia:INI_file|ini]] in the same directory as the Daodan DLL will allow you to enable/disable the patches inside Daodan. It can also be used to store configuration settings and language items. Each setting is stored inside a section as a name and value pair.


==FASM-Daodan (old)==
To enable a patch, look for the patches section in your Daodan.ini. If the patches section doesn't exist, create it by typing
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.
[Patch]
at the end of your file.
You can now enable or disable patches by typing the patch name followed by '''=True''' or '''=False''' (caps and spacing don't matter). For example, let's say you want to turn off the cooldown timer patch (so you can drop and pick up the Mercury Bow after firing to fire again immediately) and the new windowed mode makes your game crash or makes it run slowly:
[Patch]
CooldownTimer = False
WindowHack = False
All patch names are found in the "All patches" section below.


[http://sfeli.oni2.net/daodan/basic-0.6.6.zip Download a ZIP containing the DLLs for each version.]
With an unpatched Oni, the only way to change settings such as windowed mode was to create a batch file (.bat) and type command line options into it. In the beta Daodan, options can be added to the Daodan.ini. To add an option, look for the options section or type
[Options]
at the end of your Daodan.ini.
To enable windowed mode by default, type:
[Options]
Switch = False
Similarly, to disable sound, add the line:
[Options]
Switch = False
Sound = False
A list of options can be found in the "All options" section below.


[http://sfeli.oni2.net/daodan/current.zip 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.
[[Customizing#Command-line_arguments|Command line options]] are still present in the beta Daodan although the syntax is a little different (and a bit more powerful.) The basic syntax for a command line option is this:
-<ini section>.<name> <value>
Where <ini section> is the Daodan.ini section (usually '''Patch''' or '''Options''',) <name> is the option and <value> is the value to set it to (usually '''True''' or '''False'''.) Therefore, to disable sound, start Oni with this:
oni -options.sound false
When <ini section> is ommitted, it is assumed to be '''options'''. When <value> is ommitted, it is assumed to be '''true''' unless <name> starts with '''no''' (eg. '''nosound''') in which case it is assumed to be '''false'''. So an easier way to write the above command would be:
oni -nosound
Options or patches specified on the command line take precedence over options specified in Daodan.ini. Currently Oni's command line parser isn't powerful enough to parse language elements (no support for quoting arguments,) this will be fixed in a later release.


==Installation Instructions==
===All patches===
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.
{| class="wikitable"
!INI name
!Default
!Description
|-
|levelplugins
|On
|Plugins
|-
|fonttexturecache
|
|
|-
|largetextures
|
|
|-
|pathfinding
|
|
|-
|projaware
|
|
|-
|directinput
|
|
|-
|wpfadetime
|
|
|-
|kickguns
|
|
|-
|cooldowntimer
|
|
|-
|throwtest
|
|
|-
|alttab
|
|
|-
|particledisablebit
|
|
|-
|multibyte
|
|
|-
|cheattable
|
|
|-
|argb8888
|
|
|-
|killvtune
|
|
|-
|getcmdline
|
|
|-
|disablecmdline
|
|
|-
|safeprintf
|
|
|-
|daodandisplayenum
|
|
|-
|usegettickcount
|
|
|-
|cheatsenabled
|
|
|-
|usedaodangl
|
|
|-
|windowhack
|
|
|-
|daodaninit
|
|
|-
|bsl
|
|
|-
|cheater
|
|
|-
|newweap
|
|
|}


==Testing==
===Developer Mode===
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). To make sure the Daodan is in effect, you can try hitting 'x' while on the pause (Diary) screen and see if Dev Mode is enabled.
The DLL enables [[Developer Mode]]; go to the pause screen (F1) and type "thedayismine" or simply 'x' to activate it.


==Custom screen resolutions==
===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):
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) called "res.txt" in your Oni folder (C:\Program Files\Oni) containing a list of custom resolutions in this format (one resolution per line):


800x600<br />
800x600<br />
Line 55: Line 187:
1024x768
1024x768


Save the file as "res.txt".
==FASM-Daodan (old)==
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.
 
[http://sfeli.oni2.net/daodan/basic-0.6.6.zip Download a ZIP containing the DLLs for each version.]


==Uninstallation==
[http://sfeli.oni2.net/daodan/current.zip 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.
To remove the Daodan mod, delete all the files you downloaded from this site and restore the files you backed up.


[[Category:Patches]]
[[Category:Patches]]

Revision as of 23:41, 19 January 2013

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.

Installation Instructions

  1. 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".
  2. It is important that you use an "Oni.exe" that is compatible with Daodan. If you are using 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.
  3. Back up your Oni.exe and binkw32.dll files by renaming them (e.g. "Oni-original.exe").
  4. Place the newly-downloaded Oni.exe, binkw32.dll (and realbink.dll, if provided) in the folder with Oni.exe.

Testing

To test if you have done everything correctly, run "Oni.exe". Enter the pause (Diary) screen (F1 by default) and type "tellmetheversion"; if you get a result like "Daodan v.3.0", the DLL is working.

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) —> Use with this version of the game app (you probably already have it)

Feature summary

  • 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 and the ability to add custom resolutions (see below)
  • Extra cheats - bigbadboss (player takes less weapon damage), bulletproof (player takes no weapon damage), kangaroo (high jumps), marypoppins (flight)
  • Cheats always enabled
  • 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.
  • AIs have the ability to properly dodge projectiles.
  • Stops fly-in character portraits from being stretched when playing in widescreen.

Settings

Creating a file called Daodan.ini in the same directory as the Daodan DLL will allow you to enable/disable the patches inside Daodan. It can also be used to store configuration settings and language items. Each setting is stored inside a section as a name and value pair.

To enable a patch, look for the patches section in your Daodan.ini. If the patches section doesn't exist, create it by typing

[Patch]

at the end of your file. You can now enable or disable patches by typing the patch name followed by =True or =False (caps and spacing don't matter). For example, let's say you want to turn off the cooldown timer patch (so you can drop and pick up the Mercury Bow after firing to fire again immediately) and the new windowed mode makes your game crash or makes it run slowly:

[Patch]
CooldownTimer = False
WindowHack = False

All patch names are found in the "All patches" section below.

With an unpatched Oni, the only way to change settings such as windowed mode was to create a batch file (.bat) and type command line options into it. In the beta Daodan, options can be added to the Daodan.ini. To add an option, look for the options section or type

[Options]

at the end of your Daodan.ini. To enable windowed mode by default, type:

[Options]
Switch = False

Similarly, to disable sound, add the line:

[Options]
Switch = False
Sound = False

A list of options can be found in the "All options" section below.

Command line options are still present in the beta Daodan although the syntax is a little different (and a bit more powerful.) The basic syntax for a command line option is this:

-<ini section>.<name> <value>

Where <ini section> is the Daodan.ini section (usually Patch or Options,) <name> is the option and <value> is the value to set it to (usually True or False.) Therefore, to disable sound, start Oni with this:

oni -options.sound false

When <ini section> is ommitted, it is assumed to be options. When <value> is ommitted, it is assumed to be true unless <name> starts with no (eg. nosound) in which case it is assumed to be false. So an easier way to write the above command would be:

oni -nosound

Options or patches specified on the command line take precedence over options specified in Daodan.ini. Currently Oni's command line parser isn't powerful enough to parse language elements (no support for quoting arguments,) this will be fixed in a later release.

All patches

INI name Default Description
levelplugins On Plugins
fonttexturecache
largetextures
pathfinding
projaware
directinput
wpfadetime
kickguns
cooldowntimer
throwtest
alttab
particledisablebit
multibyte
cheattable
argb8888
killvtune
getcmdline
disablecmdline
safeprintf
daodandisplayenum
usegettickcount
cheatsenabled
usedaodangl
windowhack
daodaninit
bsl
cheater
newweap

Developer Mode

The DLL enables Developer Mode; go to the pause screen (F1) and type "thedayismine" or simply 'x' to activate it.

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) called "res.txt" in your Oni folder (C:\Program Files\Oni) containing a list of custom resolutions in this format (one resolution per line):

800x600
1024x600
1024x768

FASM-Daodan (old)

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 a ZIP containing the DLLs for each version.

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.