Oni Central Forum

A forum for the Oni community

You are not logged in.

#1 12/07/08 15:12

A8D
Member
Registered: 12/06/08

[Solved] Daodan DLL and keyboard layout

Hello,

After installing the patch (the newer version of the Oni executable, the binkw32.dll and the bink video player), my keybinds are changed to default, and I can't change them anymore with the key_config.txt file, which is annoying because the default keys of the english version game don't match at all with my keyboard hmm

Please how can I fix this ?

Last edited by A8D (12/08/08 18:12)


Where there's a will for Oni II, there's a way !

Offline

#2 12/07/08 19:12

Gumby
Member
From: Seattle, WA, USA
Registered: 08/30/07

Re: [Solved] Daodan DLL and keyboard layout

Hmm. I don't know why it would do that. I can't look into it atm, as I am busy tonight. If rossy doesn't get to it tonight, I'll look into it tomorrow.


Iritscen: roll
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours

Offline

#3 12/07/08 19:12

RossyMiles
Member
From: Australia
Registered: 06/23/08
Website

Re: [Solved] Daodan DLL and keyboard layout

I have no idea why it would do that. Could you post your startup.txt to the forum.

Offline

#4 12/08/08 15:12

A8D
Member
Registered: 12/06/08

Re: [Solved] Daodan DLL and keyboard layout

RossyMiles wrote:

I have no idea why it would do that. Could you post your startup.txt to the forum.

Right now I use the french keyboard (AZERTY) that came with my computer. Stupid Dell lol... if I wanted to have a swiss keyboard I would have had to take Windows in German (I can speak german acceptably well but NO thanks !)^^. I should change keyboard. Swiss ones are more similar to US ones btw. Having to press Z (for you) to move forward is very awkward smile If I change the settings in key_config.txt, it has no effect.

I have another question : the vtuneapi.dll was from a previous version of the Daodan DLL and should not be used, that's right ? Because in your explanations on OniGalore, you wrote : "The Daodan DLL is a file called vtuneapi.dll, ..." and then "so if you were using vtuneapi.dll until now, just remove it to avoid conflicts."

Thanks

Here is my startup.txt file :

daodan attached
begin initializing oni
looking for the game data folder
initializing the template manager
DataFolder = GameDataFolder
Created a file iterator for the data folder.
Got Level Info for level0_Final.dat.
Valid Level level0_Final.dat
Got Level Info for level10_Final.dat.
Valid Level level10_Final.dat
Got Level Info for level11_Final.dat.
Valid Level level11_Final.dat
Got Level Info for level12_Final.dat.
Valid Level level12_Final.dat
Got Level Info for level13_Final.dat.
Valid Level level13_Final.dat
Got Level Info for level14_Final.dat.
Valid Level level14_Final.dat
Got Level Info for level18_Final.dat.
Valid Level level18_Final.dat
Got Level Info for level19_Final.dat.
Valid Level level19_Final.dat
Got Level Info for level1_Final.dat.
Valid Level level1_Final.dat
Got Level Info for level2_Final.dat.
Valid Level level2_Final.dat
Got Level Info for level3_Final.dat.
Valid Level level3_Final.dat
Got Level Info for level4_Final.dat.
Valid Level level4_Final.dat
Got Level Info for level6_Final.dat.
Valid Level level6_Final.dat
Got Level Info for level8_Final.dat.
Valid Level level8_Final.dat
Got Level Info for level9_Final.dat.
Valid Level level9_Final.dat
calling TMrRegisterTemplates
calling ONrRegisterTemplates
initializing oni platform specific code
initializing sound system 2, basic level
initializing basic sound system 2 layer...
DirectSoundCreate
direct sound dwFlags = b5b
direct sound dwFreeHw3DAllBuffers = 0
direct sound dwFreeHw3DStaticBuffers = 0
direct sound dwFreeHw3DStreamingBuffers = 0
direct sound dwFreeHwMemBytes = 0
direct sound dwFreeHwMixingAllBuffers = 0
direct sound dwFreeHwMixingStaticBuffers = 0
direct sound dwMaxContigFreeHwMemBytes = 0
direct sound dwMaxHw3DAllBuffers = 0
direct sound dwFreeHwMixingStaticBuffers = 0
direct sound dwFreeHwMixingStreamingBuffers = 0
direct sound dwMaxContigFreeHwMemBytes = 0
direct sound dwMaxHw3DAllBuffers = 0
direct sound dwMaxHw3DStaticBuffers = 0
direct sound dwMaxHw3DStreamingBuffers = 0
direct sound dwMaxHwMixingAllBuffers = 1
direct sound dwMaxHwMixingStaticBuffers = 1
direct sound dwMaxHwMixingStreamingBuffers = 1
direct sound dwMaxSecondarySampleRate = 192000
direct sound dwMinSecondarySampleRate = 44100
direct sound dwPlayCpuOverheadSwBuffers = 0
direct sound dwPrimaryBuffers = 1
direct sound dwSize = 96
direct sound dwTotalHwMemBytes = 0
direct sound dwUnlockTransferRateHwBuffers = 0
setting the direct sound cooperative level
initializing oni persistance
initializing scripting
initializing binary data system
initializing imaging
initializing image system...
initializing motoko
initializing 3D display system..
initializing geometry engines...
initializing draw engines...
res.txt not found, loading default resoultions in 32-bit mode...
31 modes available
initializing physics
initializing oni motoko
initializing local input
initializing input system...
initializing animation system
initializing animation system...
initializing environment
initializing text system
initializing the console
initializing the materials
initializing the full sound system 2
initializing full sound system 2...
initializing particle 3
initializing oni particle 3
initializing env particle system
initializing physics
initializing game state
initializing AI 2
initializing window manager
initializing film system
initializing level
initializing oni scripting
initializing OBDr
initializing OBJr
initializing oni cinematics
initializing oni sound
initializing oni movie
initializing the pause screen
finished oni initializing
loading level 0...
setting up 3d engine...
creating new OpenGL context
OpenGL platform initialization
Playing intro movie...
Using standard Windows gamma adjustment
opengl color bits = 24
opengl depth bits = 32
OpenGL vendor = NVIDIA Corporation
OpenGL renderer = GeForce 8800 GTX/PCI/SSE2
OpenGL version = 2.1.2
OpenGL extensions =
multipass being used
OpenGL supports 4 texturing units
glBlendColor() available
wglSwapIntervalEXT supported; vsync= 1
Initializing the Oni Window...
displaying splash screen...
configuring console...
engine startup complete, launch the out-of-game UI...
out-of-game UI exited...
running game...
game over, unloading level...
beginning exit process...
OpenGL disposed properly
oni exit complete, shutting down...

Last edited by A8D (12/08/08 15:12)


Where there's a will for Oni II, there's a way !

Offline

#5 12/08/08 18:12

A8D
Member
Registered: 12/06/08

Re: [Solved] Daodan DLL and keyboard layout

Problem solved. smile

Since the game thought that W was Z, and that A was Q and vice versa, I simply replaced Z by W in the key_config file, and switched A and Q round.


Where there's a will for Oni II, there's a way !

Offline

#6 12/08/08 18:12

Gumby
Member
From: Seattle, WA, USA
Registered: 08/30/07

Re: [Solved] Daodan DLL and keyboard layout

A8D wrote:

Problem solved.

Since the game thought that W was Z, and that A was Q and vice versa, I simply replaced Z by W in the key_config file, and switched A and Q round.

What were you doing before?


Iritscen: roll
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours

Offline

#7 12/09/08 03:12

RossyMiles
Member
From: Australia
Registered: 06/23/08
Website

Re: [Solved] Daodan DLL and keyboard layout

Ah, I see. The Daodan DLL forces DirectInput instead of Win32 input. This could result in your keyboard layout being determined differently. To get the old behavior back, use the command line switch -nodinput, although seeing as you've fixed the problem already it's probably better to stick with DirectInput.

As for the DLL name, the original versions of Daodan (known as FASM Daodan) were written purely in assembly and provided mainly engine fixes. The Oni engine automatically loads a file called vtuneapi.dll if it exists so the original dll was named vtuneapi so it could be loaded by an unmodified exe.

A little while ago I wrote a hack called OniUSB which forced Oni to display the intro video and run the game in a window. This hack was written in C and it replaced binkw32.dll, partly because it wasn't needed anymore and partly so it could run alongside Daodan. Quite recently, all of the features of Daodan were ported to C and the two mods were merged into a single project (known as C Daodan.) Although most of C Daodan works equally as well when named vtuneapi or binkw32 I chose to name it binkw32 to hook a function that runs before vtuneapi is loaded.

The problem with loading both a binkw32.dll and a vtuneapi.dll is it loads all the Daodan functions twice and can cause conflicts between the two copies.

Offline

Board footer

Powered by FluxBB