http://bugs.winehq.org/show_bug.cgi?id=26350
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xerox_xerox2000@yahoo.co.uk
--- Comment #1 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-06-29 13:36:39 CDT ---
With dotnet35, fails with: Unhandled Exception: System.MissingMethodException: Method not found: 'Void System.Runtime.GCSettings.set_LatencyMode(System.Runtime.GCLatencyMode)'. at Realmforge.MogreUtil.Application.MainApplication`3.Run() at Realmforge.Dungeons.DungeonsMain.Main(String[] args)
This seems to be due to improperly .net installation (.net 2.0 SP1 missing). After installing .net 2.0 sp1 it gets a bit further, do crash into the following:
18:05:45.985: > Ogre: Loading library dlls/Plugin_OctreeSceneManager.dll 18:05:45.988: *ERROR* > Ogre: OGRE EXCEPTION(7:InternalErrorException): Could not load dynamic library dlls/Plugin_OctreeSceneManager.dll. System Error: Module not found
The module dlls/Plugin_OctreeSceneManager.dll is however present in the directory. A +relay log showed:
0009:Call KERNEL32.LoadLibraryExA(04e94580 "dlls/Plugin_OctreeSceneManager.dll",00000000,00000008) ret=046dfd84 0009:Ret KERNEL32.LoadLibraryExA() retval=00000000 ret=046dfd84 0009:Call KERNEL32.GetLastError() ret=046dfbb2 0009:Ret KERNEL32.GetLastError() retval=0000007e ret=046dfbb2
LoadLibraryEx fails to load the library with LOAD_WITH_ALTERED_SEARCH_PATH flag and relative path. MSDN says that in this case the behavior is undefined, but maybe windows just always happily loads the dll. This needs some tests.
With the hack below to workaround this, it gets a tiny bit further again to crash into:
18:03:08.729: *ERROR* > Ogre: OGRE EXCEPTION(3:RenderingAPIException): Cannot reset device! in D3D9RenderWindow::reset at ......\Ogre\RenderSystems\Direct3D9\src\OgreD3D9Device.cpp (line 421) 18:03:08.730: *ERROR* > Error during RenderOneFrame in frame 0: System.Runtime.InteropServices.SEHException: External component has thrown an exception.
Probably a d3d bug (Cannot reset device!).
Using a virtual desktop the game however starts fine for me.
Let's make this bug about the LoadLibraryEx bug; you can open other bugreports for d3d and/or mono failure
diff --git a/dlls/kernel32/module.c b/dlls/kernel32/module.c index 8ee0fcd..4fa0e8d 100644 --- a/dlls/kernel32/module.c +++ b/dlls/kernel32/module.c @@ -859,7 +859,7 @@ static HMODULE load_library( const UNICODE_STRING *libname, DWORD flags ) if( flags & unsupported_flags) FIXME("unsupported flag(s) used (flags: 0x%08x)\n", flags);
- load_path = MODULE_get_dll_load_path( flags & LOAD_WITH_ALTERED_SEARCH_PATH ? libname->Buffer : NULL ); + load_path = MODULE_get_dll_load_path(0);// flags & LOAD_WITH_ALTERED_SEARCH_PATH ? libname->Buffer : NULL );
if (flags & LOAD_LIBRARY_AS_DATAFILE)
I tracked this down