Veyrdite Posted February 1, 2018 Report Share Posted February 1, 2018 (edited) Intro I've been sick the past few days, so I thought I have a look at what's happening in the old Renegade Forums. I came across an announcement post by Jerad for ECW and couldn't be more excited! Many many years ago I remember playing RP2 online. I remember being on a certain beta version for a long time and flying around in the interior universe, exploiting !save/!load server-side commands to slowly gain Z height through terrain. I never did work out how to get into the weed house, but I think I discovered a secret mod/admin area above an interior once. I also never discovered how to get to Halo island. Much sadness. Then came a major new RP2 release which reset all of my server-side progress and stats. A few days (?) later everything was reverted and the RP2 downloads were pulled due to scripts licensing violations. During my time in the Rene community I made some particularly poor Renegade Comics and some magic-eye stereoscopic imaging. I might have actually been on the RP2 forums, but I believe they are long gone. I used to be nicknamed 'Dthdealer'. It's a shame RenHelp.net isn't around anymore, a lot of community-contributed tutorials were lost when that site died. I had a tutorial there about making generic bbox physics objects and it had a video/gif of me knocking down a giant tower of dominoes with a Nod buggy. I don't think I'll ever see that again. Somewhere around this point (~10 years ago) I stopped playing Ren. I recall I wasn't able to play the game any longer on my computer, or something along those lines, I used to (and still mostly do) live off old hardware. The last thing I ever remember reading about RP2 was a blog post about optimising the swimming code to require less tests per second. I remember trying to load up RP2 in LevelEdit once and wondered how the hell you guys managed to put a script zone across the entire map's ocean. Script zones would always bug out when I tried to make them that large. Anyway, enough with all that. I owe a lot of what I am today to Renegade. I'm really eager to try UCW and see what the community is like here , but unfortunately I'm being held back by technical issues. Apologies if the rest of this post reads a bit harsh, it documents my experiences trying to get this game to work. Aside: I'll be judging the quality of this project purely by how nice Mount Chiliad is. No other metric matters. W3Dhl: Linux+Wine Background: Renegade (and most games) work great on Wine these days. Renegade itself has worked for years, and I was able to get help from JonWil on renegadeforums with some TT patch issues. Support for the latest versions of dotnet is another story. [Insert opinion about MS making dotnet intentionally hard to get working on anything but the latest version of Windows] W3Dhub install $ wine w3dhub_launcher_0.8.3.1_install.exe The dotnet461 step fails. Thankfully the people who wrote this installer are kind and let the process continue if this happens Hats off. I've had installers that immediately and automatically delete all progress when any error occurs. Trying to get W3Dhub running First attempt: The entry point method could not be loaded due to Could not load file or assembly 'PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. assembly:PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 type:<unknown type> member:<none> It looks like we need dotnet. So let's try installing dotnet 4.5.1. Now when I try to run W3Dhub I get even scarier errors: 0012:fixme:wer:WerSetFlags (2) stub! 0012:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub 0017:fixme:service:svcctl_ChangeServiceConfig2W SERVICE_CONFIG_FAILURE_ACTIONS not implemented: period 86400 msg (null) cmd (null) 0019:fixme:process:SetProcessShutdownParameters (00000380, 00000000): partial stub. wine: Call from 0x7b44021b to unimplemented function mscoree.dll.CorIsLatestSvc, aborting wine: Unimplemented function mscoree.dll.CorIsLatestSvc called at address 0x110023:0x7b44021b (thread 0019), starting debugger... Unhandled Exception: System.TypeInitializationException: The type initializer for 'W3DHub.Launcher.App' threw an exception. ---> System.DllNotFoundException: PresentationNative_v0400.dll at (wrapper managed-to-native) MS.Win32.UnsafeNativeMethods:IntCreateWindowEx (int,string,string,int,int,int,int,int,System.Runtime.InteropServices.HandleRef,System.Runtime.InteropServices.HandleRef,System.Runtime.InteropServices.HandleRef,object) at MS.Win32.UnsafeNativeMethods.CreateWindowEx (System.Int32 dwExStyle, System.String lpszClassName, System.String lpszWindowName, System.Int32 style, System.Int32 x, System.Int32 y, System.Int32 width, System.Int32 height, System.Runtime.InteropServices.HandleRef hWndParent, System.Runtime.InteropServices.HandleRef hMenu, System.Runtime.InteropServices.HandleRef hInst, System.Object pvParam) [0x00000] in <962683128112448d94373b4d97ac4577>:0 at MS.Win32.HwndWrapper..ctor (System.Int32 classStyle, System.Int32 style, System.Int32 exStyle, System.Int32 x, System.Int32 y, System.Int32 width, System.Int32 height, System.String name, System.IntPtr parent, MS.Win32.HwndWrapperHook[] hooks) [0x00229] in <962683128112448d94373b4d97ac4577>:0 at MS.Win32.MessageOnlyHwndWrapper..ctor () [0x00000] in <962683128112448d94373b4d97ac4577>:0 at System.Windows.Threading.Dispatcher..ctor () [0x00088] in <962683128112448d94373b4d97ac4577>:0 at System.Windows.Threading.Dispatcher.get_CurrentDispatcher () [0x0000e] in <962683128112448d94373b4d97ac4577>:0 at System.Windows.Threading.DispatcherObject..ctor () [0x00006] in <962683128112448d94373b4d97ac4577>:0 at System.Windows.DependencyObject..ctor () [0x00000] in <962683128112448d94373b4d97ac4577>:0 at W3DHub.Launcher.App..cctor () [0x0000a] in <b986085cc5c84c5392f00b7c9b913618>:0 --- End of inner exception stack trace --- [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'W3DHub.Launcher.App' threw an exception. ---> System.DllNotFoundException: PresentationNative_v0400.dll at (wrapper managed-to-native) MS.Win32.UnsafeNativeMethods:IntCreateWindowEx (int,string,string,int,int,int,int,int,System.Runtime.InteropServices.HandleRef,System.Runtime.InteropServices.HandleRef,System.Runtime.InteropServices.HandleRef,object) at MS.Win32.UnsafeNativeMethods.CreateWindowEx (System.Int32 dwExStyle, System.String lpszClassName, System.String lpszWindowName, System.Int32 style, System.Int32 x, System.Int32 y, System.Int32 width, System.Int32 height, System.Runtime.InteropServices.HandleRef hWndParent, System.Runtime.InteropServices.HandleRef hMenu, System.Runtime.InteropServices.HandleRef hInst, System.Object pvParam) [0x00000] in <962683128112448d94373b4d97ac4577>:0 at MS.Win32.HwndWrapper..ctor (System.Int32 classStyle, System.Int32 style, System.Int32 exStyle, System.Int32 x, System.Int32 y, System.Int32 width, System.Int32 height, System.String name, System.IntPtr parent, MS.Win32.HwndWrapperHook[] hooks) [0x00229] in <962683128112448d94373b4d97ac4577>:0 at MS.Win32.MessageOnlyHwndWrapper..ctor () [0x00000] in <962683128112448d94373b4d97ac4577>:0 at System.Windows.Threading.Dispatcher..ctor () [0x00088] in <962683128112448d94373b4d97ac4577>:0 at System.Windows.Threading.Dispatcher.get_CurrentDispatcher () [0x0000e] in <962683128112448d94373b4d97ac4577>:0 at System.Windows.Threading.DispatcherObject..ctor () [0x00006] in <962683128112448d94373b4d97ac4577>:0 at System.Windows.DependencyObject..ctor () [0x00000] in <962683128112448d94373b4d97ac4577>:0 at W3DHub.Launcher.App..cctor () [0x0000a] in <b986085cc5c84c5392f00b7c9b913618>:0 --- End of inner exception stack trace --- I have tried dotnet461, but unfortunately it completely fails to install in Wine at the moment. Even running it unattended with /q leads to some fun, such as mscoree.dll going AWOL. With a bit of playing in a few fresh wineprefixes I manage to get as far as getting some form of W3Dhub GUI, but only in the form of an error message: Unresolvable hostnames would be all and good, but I've never heard of hostname parsing problems :D In all of these tests: no errors.log or diagnostics.log files were created anywhere. W3Dhl: Windows XP VM As you probably know: no longer supported by W3Dhub. The installer runs fine (apart from dotnet461 failing) but the final W3Dhub executable is in a format XP cannot understand. W3Dhl: Windows 7 VM The dotnet 461 installer failed again, claiming my OS is 'not supported'. All other mixtures of no dotnet, dotnet40 and dotnet45 lead to error messages like these: As it turns out: dotnet461 was refusing to install because my Windows 7 install was an old (pre-SP1) version. After a few hours of Windows update I was able to install dotnet461 and launch W3Dhub. Huzzah! Or so I thought. The files for ECW all download, but then nothing further happens. A little "installation failed" message appears at the top of the window: This time W3Dhub has loaded far enough to create an errors.txt file. Three types of message are repeated inside of it (full log attached): -------------------------------------------------- 2018/01/31 19:01:47 Application version: 0.8.4.0 W3D Hub Launcher.exe -------------------------------------------------- An exception of type System.Net.WebException occurred Message The operation has timed out Stack Trace; at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) at System.Net.HttpWebRequest.GetRequestStream() at W3DHub.Backend.BackendWebClient.CreatePostRequest(Uri uri, Byte[] postData, String contentType, String encoding) -------------------------------------------------- 2018/01/31 19:01:47 Application version: 0.8.4.0 W3D Hub Launcher.exe -------------------------------------------------- An exception of type System.Exception occurred Message Error whilst calling https://secure.w3dhub.com/apis/w3dhub/1/get-news Stack Trace; Inner Exception (System.Exception) Failed to create request Stack Trace; -------------------------------------------------- 2018/01/31 19:37:22 Application version: 0.8.4.0 W3D Hub Launcher.exe -------------------------------------------------- An exception of type System.Exception occurred Message A game installation of type INSTALL failed. Reason: One or more packages failed to download Stack Trace; From my uninformed perspective they don't look useful. Restarting the W3Dhub program and trying to download ECW again through it: same error. The 'download' process is much faster, however, so I suspect it is just re-hashing the already downloaded files. Installing ECW directly: Linux + Wine ECW's website has a directly downloaded installer. Unfortunately I'm also heavily out of luck here. On Linux+Wine the install succeeds. I can't run ECW.exe (likely due to the dotnet problems) but I can try and run one of the game[drawdist].exe's directly. Unfortunately I get this when I try: I wanted to ask for help on the ECW forums, but I think it might be better to ask here, given what they currently look like: (Although for all I know this might just be the metagame of ECW. I don't know ) Installing ECW directly: Windows 7 VM Installer completes successfully. I try and open the game launcher: Hmm, update process does not seem to work. I'll try selecting 'No' and continuing: Hmm, servers must be down. Nice transparency, however. I'll try playing a LAN game. Eek. How about launching game100.exe directly? A new window border briefly flashes, then disappears. Then the exe terminates and I'm left back at the prompt. I cannot see any log files apart from log.txt, which has a mod date of 2014 and does not get written to during this process. Re-installing the game does not fix any of these issues. Questions (1) Is this the best place to ask for help regarding the bhs.dll error, or should I ask over on renegadeforums.com? (2) Should I use the http://expansivecivilianwarfare.com/ forums at all? (3) Does anyone here have this game working on Windows 7 or Wine? (4) Any tips for what else I can try on any of my operating systems? Regards, a lost, sick and confused dave's arrow. errors.log Edited February 1, 2018 by Veyrdite 0 Quote Link to comment Share on other sites More sharing options...
Jerad2142 Posted February 1, 2018 Report Share Posted February 1, 2018 Hey nice to see from you again Dthdealer, comics made me chuckle. Anyways onto why you're actually here: 1. This issue is caused 90% by a need to install/reinstall directx9.0c. 2. No, in fact I'm contacting Brandan right now to redirect the forums link to here and to kill that download, its a super out of date version (probably 3 years or more old). 3. Works on Windows 7, Windows 8, and Windows 10 for me, although a lot of people seem to suffer from black screens. 4. If you have a working copy of Windows 7 you should be able to install the W3dHub Launcher and install ECW with no problems (you might get black screens in game after the install but you should at least be able to get it installed with the new launcher, if the new launcher isn't working on a clean install of Windows 7 (ideally fully updated) we'll have to pull Danpaul in here). Edit: I stand corrected, that version of the game is almost 5 years old. 0 Quote Link to comment Share on other sites More sharing options...
Veyrdite Posted February 1, 2018 Author Report Share Posted February 1, 2018 (edited) Thanks Jerad. 1. bhs.dll error on the 5yo version of ECW under wine: Installing d3dx9 and directx9 seems to make no difference. I think I might abandon trying this old version now I know 2. ECW site hosting ancient content: Fill it with notices or redirects until the sun doesn't shine! I have completely assumed that site was up to date. If it wasn't for my chance perusal of renegadeforums.com today I wouldn't have known you have moved to here I'm not sure who Brandan is, but if he's not someone you can easily get your hands on: do you have control over the domain? 4. Windows 7: I'll try a fresh VM and a fresh physical install, see where I go from there. Unfortunately it looks like my goto Windows box has a failing HDD, so this might be more fun than usual. Quote 3. Works on Windows 7, Windows 8, and Windows 10 for me, although a lot of people seem to suffer from black screens. Thanks for the heads up. I might also try looking at the ECW resources that the W3Dhl downloads. I presume they're hosted on http, so I might have some luck manually installing them. Edited February 1, 2018 by Veyrdite 0 Quote Link to comment Share on other sites More sharing options...
moonsense715 Posted February 1, 2018 Report Share Posted February 1, 2018 Always2.zip fails for many people. Go to C:\ProgramData\W3D Hub\Launcher\package-cache\games\ecw\1.2.0.4 and delete your Always2.zip, then try w3d launcher-installing again. 0 Quote Link to comment Share on other sites More sharing options...
danpaul88 Posted February 1, 2018 Report Share Posted February 1, 2018 I'd love to get my hands on a copy of that 'broken' always2 so I can find out why it breaks... As for Linux, the launcher uses .net 4.6 and wpf. Typically it's the wpf bit that falls over on Linux because it's not been ported to wine. I am starting to move some of the underlying libraries over to net standard (which does support Linux) which might give us the option in future of a command line Linux client (I don't see much prospect of porting the GUI any time soon) but there's just not much demand for Linux support in the community so it's very much on the back burner right now. I know Omar got the launcher working on Linux at one point and even contributed a few code tweaks to help improve the support but I'm not sure if he's around at the moment 1 Quote Link to comment Share on other sites More sharing options...
OWA Posted February 1, 2018 Report Share Posted February 1, 2018 5 hours ago, Veyrdite said: I might have actually been on the RP2 forums, but I believe they are long gone. I used to be nicknamed 'Dthdealer'. It's a shame RenHelp.net isn't around anymore, a lot of community-contributed tutorials were lost when that site died. I had a tutorial there about making generic bbox physics objects and it had a video/gif of me knocking down a giant tower of dominoes with a Nod buggy. I don't think I'll ever see that again. Hey man! I remember your name from a while back! I just wanted to point out that all of the RenHelp tutorials should be re-hosted here: https://w3dhub.com/forum/forum/171-w3d-tutorials/ Let us know if we're missing any! Cheers! 0 Quote Link to comment Share on other sites More sharing options...
Veyrdite Posted February 2, 2018 Author Report Share Posted February 2, 2018 Wow, thankyou everyone. I'm slightly bewildered and flattered that two whole people remember me. I must have been a particularly nasty community influence. 23 hours ago, moonsense715 said: Always2.zip fails for many people. 23 hours ago, danpaul88 said: I'd love to get my hands on a copy of that 'broken' always2 so I can find out why it breaks... Dang, I've already nuked that VM. If it happens again I'll make sure to hook you in danpaul. 23 hours ago, danpaul88 said: As for Linux, the launcher uses .net 4.6 and wpf. Typically it's the wpf bit that falls over on Linux because it's not been ported to wine. Ah. WPF looks to be a behemoth. Linux port of W3Dhl: No pressure. Once I get everything up and running under Windows I'll see what I can do to get the games installed and running under *nix, it might be as simple as a few scripts if I forgo most of the features of the client (I have not been able to look closely at it, but I suspect an external server browser might be necessary). I'm heavily tied up in work now that I'm quasi-un-sick again, so I'll be slow to update here. I'll be back with progress next week. In the meantime you have my full permission to laugh at my slightly abandoned blog. 0 Quote Link to comment Share on other sites More sharing options...
Veyrdite Posted February 2, 2018 Author Report Share Posted February 2, 2018 On 2/1/2018 at 9:11 PM, OWA said: I just wanted to point out that all of the RenHelp tutorials should be re-hosted here: https://w3dhub.com/forum/forum/171-w3d-tutorials/ I spot lots of interesting new ones, but many of the old ones are missing. I take it this is a voluntary rehost, not a resurrection of the content from the old renhelp-variant sites? 0 Quote Link to comment Share on other sites More sharing options...
Omar007 Posted February 5, 2018 Report Share Posted February 5, 2018 On 2/1/2018 at 10:03 AM, danpaul88 said: I know Omar got the launcher working on Linux at one point and even contributed a few code tweaks to help improve the support but I'm not sure if he's around at the moment Very little lately. In the middle of painting, building a kitchen, doing electrical wiring etc. Living/sleeping space is the only thing pretty much done haha. If I can find a bit of spare time I'll see what I can do to retrieve/update what I had. On 2/2/2018 at 10:27 AM, Veyrdite said: I spot lots of interesting new ones, but many of the old ones are missing. I take it this is a voluntary rehost, not a resurrection of the content from the old renhelp-variant sites? Pretty much. Basically all we've been able to find/retrieve so far has been put up. If you know or have any missing ones, they can be added as well. 0 Quote Link to comment Share on other sites More sharing options...
moonsense715 Posted February 6, 2018 Report Share Posted February 6, 2018 Some of the tutorials were skipped on purpose due to being duplicate tutorials or extra low quality or outdated. Please point me at tutorials you want rehosted, and I'll check them out (https://web.archive.org/web/20090604102200/http://www.renhelp.net:80/index.php?mod=Tutorials) 0 Quote Link to comment Share on other sites More sharing options...
Veyrdite Posted February 8, 2018 Author Report Share Posted February 8, 2018 (edited) Renhelp: I recall that many tutorials contained a small nugget of unique truth that you needed to understand what was going on. Unfortunately archive.org did not archive the contents of the tutorials themselves, so I'm not able to find examples. Getting W3Dhl and ECW working in a fresh Win7 VM Works perfectly now. I was able to join the server and become heavily lost in the tutorials, then play the game for a while. Do not stare directly at the ocean shaders when using Oracle's (*twitch*) graphics passthrough on a VM: It's interesting to note that all of the game-generated screenshots I took had invalid alpha channelling. These were all 100% transparent images -- I had to manually edit them to fix this. Probably a 3D drivers issue, assuming a D3D call was being used to dump the screen. Aside: If any of you are interested then I'd be happy to write some opinions about the game at a later point. Getting the game working under WINE Direct game directory copy (no reg keys, no W3Dhl) and running a Game*.exe directly: According to dllload.txt: [bhs.dll] Failed to load, error 998. No access to memory location. What is bhs.dll trying to get access to? Could this be an attempted access to something outside the scope of the game (eg a Windows OS component)? The game seems to be explicitly trying to load d3dx9_43.dll, so I installed that, but no dice. I'm poring through Wine's debug logs to try and work out what to do. If you are curious: attached is a good 100M of Wine debug logfiles. One is very verbose (search for the word "Unfortunately" to get to the time the dialog was made, it's a win32 diag), the other is much more terse (diag spawn not noted in this one, search for "usp10" to get to around the right point). Apologies for the format, a .zip of them 6.8M, which is above my forum upload limit. winedebug_logfiles.7z Edited February 8, 2018 by Veyrdite 0 Quote Link to comment Share on other sites More sharing options...
Veyrdite Posted February 10, 2018 Author Report Share Posted February 10, 2018 (edited) It looks like an exception is being thrown whilst initialising shaders.dll, shortly followed by bhs.dll getting unloaded. I'm going to keep poking in the dark and see if I get anywhere. 27845.374:0008:0009:trace:ntdll:NtQueryInformationProcess (0xffffffff,0x00000022,0x33d2fc,0x00000004,(nil)) 27845.374:0008:0009:trace:seh:raise_exception code=c0000005 flags=0 addr=0x458b3874 ip=458b3874 tid=0009 27845.374:0008:0009:trace:seh:raise_exception info[0]=00000000 27845.374:0008:0009:trace:seh:raise_exception info[1]=458b3874 27845.374:0008:0009:trace:seh:raise_exception eax=7d3cca80 ebx=00000000 ecx=7d3b1b50 edx=458b3874 esi=02d9173c edi=00000000 27845.374:0008:0009:trace:seh:raise_exception ebp=1283868c esp=0033d67c cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210206 27845.374:0008:0009:trace:seh:call_stack_handlers calling handler at 0x1282a7dc code=c0000005 flags=0 27845.374:0008:0009:Call KERNEL32.GetLastError() ret=1281b1f4 27845.374:0008:0009:Ret KERNEL32.GetLastError() retval=00000000 ret=1281b1f4 27845.374:0008:0009:trace:seh:call_stack_handlers handler at 0x1282a7dc returned 1 27845.374:0008:0009:trace:seh:call_stack_handlers calling handler at 0x1282a93b code=c0000005 flags=0 27845.374:0008:0009:Call KERNEL32.GetLastError() ret=1281b1f4 27845.374:0008:0009:Ret KERNEL32.GetLastError() retval=00000000 ret=1281b1f4 27845.374:0008:0009:trace:seh:call_stack_handlers handler at 0x1282a93b returned 1 27845.374:0008:0009:trace:seh:call_stack_handlers calling handler at 0x1281d3b0 code=c0000005 flags=0 27845.374:0008:0009:trace:seh:call_stack_handlers handler at 0x1281d3b0 returned 1 27845.374:0008:0009:trace:seh:call_stack_handlers calling handler at 0x7bcb2720 code=c0000005 flags=0 27845.374:0008:0009:trace:seh:__regs_RtlUnwind code=c0000005 flags=2 27845.374:0008:0009:trace:seh:__regs_RtlUnwind eax=00000000 ebx=7bcb2550 ecx=0033d624 edx=0033d818 esi=0033d818 edi=7bcb2550 27845.374:0008:0009:trace:seh:__regs_RtlUnwind ebp=0033d168 esp=0033d148 eip=7bcb25bd cs=0023 ds=002b fs=0063 gs=006b flags=00200206 27845.374:0008:0009:trace:seh:__regs_RtlUnwind calling handler at 0x7bc8a690 code=c0000005 flags=2 27845.374:0008:0009:trace:seh:__regs_RtlUnwind handler at 0x7bc8a690 returned 1 27845.374:0008:0009:trace:seh:__regs_RtlUnwind calling handler at 0x1282a7dc code=c0000005 flags=2 27845.374:0008:0009:Call KERNEL32.GetLastError() ret=1281b1f4 27845.374:0008:0009:Ret KERNEL32.GetLastError() retval=00000000 ret=1281b1f4 27845.374:0008:0009:trace:seh:__regs_RtlUnwind handler at 0x1282a7dc returned 1 27845.374:0008:0009:trace:seh:__regs_RtlUnwind calling handler at 0x1282a93b code=c0000005 flags=2 27845.374:0008:0009:Call KERNEL32.GetLastError() ret=1281b1f4 27845.374:0008:0009:Ret KERNEL32.GetLastError() retval=00000000 ret=1281b1f4 27845.374:0008:0009:trace:seh:__regs_RtlUnwind handler at 0x1282a93b returned 1 27845.374:0008:0009:trace:seh:__regs_RtlUnwind calling handler at 0x1281d3b0 code=c0000005 flags=2 27845.374:0008:0009:trace:seh:__regs_RtlUnwind handler at 0x1281d3b0 returned 1 27845.374:0008:0009:exception in PE entry point (proc=0x1281ac20,module=0x12800000,reason=PROCESS_ATTACH,res=(nil)) 27845.374:0008:0009:Ret PE DLL (proc=0x1281ac20,module=0x12800000 L"shaders.dll",reason=PROCESS_ATTACH,res=(nil)) retval=0 27845.374:000c:000d:trace:heap:RtlFreeHeap (0x110000,70000062,0x168aa0): returning TRUE 27845.374:0008:0009:Call PE DLL (proc=0x1281ac20,module=0x12800000 L"shaders.dll",reason=PROCESS_DETACH,res=(nil)) 27845.374:0008:0009:Ret PE DLL (proc=0x1281ac20,module=0x12800000 L"shaders.dll",reason=PROCESS_DETACH,res=(nil)) retval=0 27845.374:0008:0009:warn:module:process_attach Initialization of L"shaders.dll" failed 27845.374:0008:0009:trace:actctx:RtlDeactivateActivationContext 0 cookie=122568 27845.374:0008:0009:trace:heap:RtlFreeHeap (0x110000,70000062,0x122568): returning TRUE 27845.374:0008:0009:trace:module:process_attach (L"shaders.dll",(nil)) - END 27845.374:0008:0009:trace:actctx:RtlDeactivateActivationContext 0 cookie=11d2b0 27845.374:000c:000d:trace:heap:RtlFreeHeap (0x110000,70000062,0x165b88): returning TRUE 0036: *wakeup* signaled=TIMEOUT 0030: *wakeup* signaled=TIMEOUT Edited February 10, 2018 by Veyrdite 0 Quote Link to comment Share on other sites More sharing options...
Veyrdite Posted February 14, 2018 Author Report Share Posted February 14, 2018 (edited) This ancient (2007 era) RenegadeForums topic describes the exact error message I'm having and a workaround. The workaround appears to simply boil down to: delete scripts.dll rename scripts2.dll to be scripts.dll To my best of knowledge this is deleting the custom scripts and replacing them with the vanilla Ren ones -- can someone more familiar with the filenames please confirm this? This gets the game to at least launch and be able to start a LAN match. Mouse input is completely broken/ingored, only keyboard input works, and once the LAN game is entered keyboard input gets ignored too. According to the FPS counter + sound effects the game is at least still ticking. Conclusions: problem likely sits in scripts.dll and/or shaders.dll Those with access to scripts/shaders source: I'd love to get my hands on some builds of these dlls with some form of debug symbols. They appear to be from a 2003-era Visual C++ compiler, is this correct? JeradGrey: Installing DXSDK_Jun10.exe didn't seem to affect the problem. Edited February 14, 2018 by Veyrdite 0 Quote Link to comment Share on other sites More sharing options...
danpaul88 Posted February 14, 2018 Report Share Posted February 14, 2018 IIRC there was a shim version of d3dx9_43.dll which hooked some calls to inject new logic and forwarded other stuff to the system wide variant of the dll - not sure if WINE can support that... I might be wrong though, that's going back a long time now... 0 Quote Link to comment Share on other sites More sharing options...
Veyrdite Posted February 16, 2018 Author Report Share Posted February 16, 2018 (edited) On 2/15/2018 at 6:54 AM, danpaul88 said: IIRC there was a shim version of d3dx9_43.dll which hooked some calls to inject new logic and forwarded other stuff to the system wide variant of the dll - not sure if WINE can support that... Ooh, do you remember any other information or keywords I might be able to find it with? Not sure if it will help me, but worth a shot. I note that ECW ships with a copy of d3d8.dll -- is it vanilla? Edited February 16, 2018 by Veyrdite 0 Quote Link to comment Share on other sites More sharing options...
Jerad2142 Posted March 1, 2018 Report Share Posted March 1, 2018 Renaming scripts2 to scripts will probably lose your ability to spawn into game/get through the tutorial (it doesn't try to hook into shaders.dll or bhs.dll without it thus uses the original dx8 that stock ren did). :\ 0 Quote Link to comment Share on other sites More sharing options...
Jerad2142 Posted March 1, 2018 Report Share Posted March 1, 2018 On 2/16/2018 at 1:30 AM, Veyrdite said: Ooh, do you remember any other information or keywords I might be able to find it with? Not sure if it will help me, but worth a shot. I note that ECW ships with a copy of d3d8.dll -- is it vanilla? Fake, its actually directx9. The version of scripts that ECW has runs 9 instead of 8, but I don't think you'll have nay luck getting it to run with 8. 0 Quote Link to comment Share on other sites More sharing options...
Jerad2142 Posted March 1, 2018 Report Share Posted March 1, 2018 These two dlls used to be used in ECW back in the days of Rp2, helped some people with crashing, you can give it a try but I kind of doubt it'll do much. (Sorry about multiple posts btw, switching between devices and trying to head to bed so I'm going to be lazy not to clean up all these posts). d3dx9_42.dll d3dx9_32.dll 0 Quote Link to comment Share on other sites More sharing options...
Veyrdite Posted March 1, 2018 Author Report Share Posted March 1, 2018 (edited) Thanks Jerad. Using either of your d3dx9's as my d3d8.dll: no dice, same problem. I've been spending some time trying to debug my game at an instruction level. With a debugger attached the game segfaults on start, hopefully this is the same error as what I'm normally seeing (eg it might get caught and turned into the "Failed to load bhs.dll" msgbox when run normally). Unfortunately there's also multiple game threads signalling each other and stack dances going on, so it's pain for a newbie like me to follow. The game code before the segfault is also time-sensitive. Single-stepping through it (or running it slowly in other ways) leads to completely non-segfaulting and non-useful branches of code running infinitely, presumably to handle signals/time/events. Given that BHS did a lot of their work to prevent cheating: can I presume that the code I'm looking at is designed to be malicious towards me attempting to debug and reverse-engineer it? Edited March 1, 2018 by Veyrdite 0 Quote Link to comment Share on other sites More sharing options...
danpaul88 Posted March 5, 2018 Report Share Posted March 5, 2018 Your best option might be to grab d3dx8_42 (without renaming) from the scripts 3.x release package... But I'm not sure anywhere is still hosting a version that old. @jonwil might know where to find it or have an archive... 0 Quote Link to comment Share on other sites More sharing options...
Veyrdite Posted September 26, 2020 Author Report Share Posted September 26, 2020 BUMP This is all fixed now, please see https://w3dhub.com/forum/topic/417270-linux-and-wine-how-to-get-all-games-the-launcher-working/ 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.