2038 under WINE/Linux

What one usually does is to install the offcial Mono package for WINE into /usr/share/wine/mono/

So you’ll just have to get http://dl.winehq.org/wine/wine-mono/4.7.1/wine-mono-4.7.1.msi and move it there.

Delete the ~/.hgl directory and start with winecfg again. It should setup Mono for you during the first configuration and if not at least tell you that it didn’t. This is what WINE does by default under Debian as well as when you’ve installed it from source code.

It might also work afterwards when you run it with msiexec, but I’ve never tried. I know the above works. Done it many times using the vanilla source code (but Debian packages are just fine).

well it neither did nor told me it didn’t i’m afraid.
but yeah i’ll wipe and try again.

for the record, wine-mono is installed system-wide.

if it fails again, I’ll just try to run the msi file from /usr/share/wine/mono myself, maybe that helps (and should be “more stable” than using the POL script)

ok, what I did now:

  • new wine prefix, 64bit, 2.20-staging
  • installed HGL
  • noticed mono got not auto-installed, so I ran msiexec /i /usr/share/wine/mono/wine-mono-4.7.1.msi
  • patch installed fine

now I have the problem I don’t actually have a copy of Windows (neither to dual-boot nor to set up in a VM), could you maybe tell me the files the launcher got for you again so I can just download them manually (the url prefix is in the patcher.xml anyway :stuck_out_tongue:, just need to know what files to get)?

I tried the list you posted above but I suspect it changed since then, because about half of the files you listed result in 404 errors.

what’d be really great (hey devs, looking at you :wink:) would be if we just could get the link to the manifest file.

The file names haven’t changed. I haven’t tried to download the files manually. Guess we’ll have to wait until Omerta or someone else has got the time to tell us how to do this for ourselves. And they’ll be busy with fixing bugs atm.

ok, for now what I did is paste your list into a file files and then ran:

while read i; do wget -O $i https://auth.london2038.com/patcher/$i ; done < files

which got me most of them, and all of the important looking ones.

testing now…

EDIT: tested, fails with:

wine: Call from 0x7b4584ea to unimplemented function d3dx9_34.dll.D3DXSHProjectCubeMap, aborting

you sure I don’t need native directx? according to https://source.winehq.org/WineAPI/d3dx9_34.html the function is stubbed.

oh btw to get the info about how the launcher works, I just noticed strings -e l (that’s a small L, not a big i) and strings -e b can search for utf16 (which .net uses for every string because idiots), maybe that’ll help to identify filenames

FOUND IT! https://auth.london2038.com/patcher/checksums.xml
ugly shell one-liner to get them (without checksum checking, because lazy and I don’t have the files anyway):

curl https://auth.london2038.com/patcher/checksums.xml | tr '\\' '/' |grep 'download="true"' | cut -d'"' -f 2 | while read i; do wget -O $i https://auth.london2038.com/patcher/$i ; done

now the only problem left seems to be the directx error. maybe I should try just putting that specific dll next to the exe without fancy installation stuff that messes up wine? my nvidia drivers support native Direct3D on linux, it just seems to be missing that dll function.

downloading the MS d3dx9_34.dll now allows it to start, but I get a black screen except for some slider-looking thing and no cursor or mouse/keyboard response:

Perhaps your driver requires it. I know I don’t need d3dx9_34, but I have seen it being mentioned. I cannot tell you what for ppl need it.

fun fact: the only other mention of my problem google can find is https://archive.is/WYKqR, where 2 people talk about it and nobody has a solution.

wine shows no errors/etc. any idea how to fix that?

EDIT: with debugging enabled, I get

fixme:d3d_shader:print_glsl_info_log Info log received from GLSL shader #3:
fixme:d3d_shader:print_glsl_info_log Vertex info
fixme:d3d_shader:print_glsl_info_log -----------
fixme:d3d_shader:print_glsl_info_log 0(19) : warning C7050: “vs_out[0].zw” might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(19) : warning C7050: “vs_out[1]” might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(19) : warning C7050: “vs_out[2]” might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(19) : warning C7050: “vs_out[3]” might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(19) : warning C7050: “vs_out[4]” might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(19) : warning C7050: “vs_out[5]” might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(19) : warning C7050: “vs_out[6]” might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(19) : warning C7050: “vs_out[7]” might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(19) : warning C7050: “vs_out[9]” might be used before being initialized
fixme:d3d_shader:print_glsl_info_log 0(19) : warning C7050: “vs_out[11]” might be used before being initialized

but that doesn’t seem critical to me, I mean after at least one frame those will be initialized anyway.

I’m using Nvidia’s proprietary drivers, including the 32-bit libraries. That’s all I can tell you. Works just fine for me.

same here, except it doesn’t :confused:

EDIT: I found a log file of hellgate’s that mentions some missing files:

13:48:54.566 ERR Log Initialized – Build Version [abd11e700000000]
13:48:55.578 FILE NOT FOUND: data\excel\soundmixstatesets.txt.cooked
13:48:55.652 FILE NOT FOUND: data\excel\levels_env.txt.cooked
13:48:55.652 FILE NOT FOUND: data\excel\achievements.txt.cooked
13:48:55.653 FILE NOT FOUND: data\excel\act.txt.cooked
13:48:55.653 FILE NOT FOUND: data\excel\achievementslots.txt.cooked
13:48:55.653 FILE NOT FOUND: data_common\excel\namefilter.txt.cooked
13:48:55.653 FILE NOT FOUND: data\excel\musicgrooveleveltypes.txt.cooked
13:48:55.653 FILE NOT FOUND: data_common\excel\recipe_properties.txt.cooked
13:48:55.653 FILE NOT FOUND: data\excel\loading_screen.txt.cooked
13:48:55.653 FILE NOT FOUND: data_common\excel\cmd_menus.txt.cooked
13:48:55.653 FILE NOT FOUND: data\excel\playerranks.txt.cooked
13:48:55.653 FILE NOT FOUND: data\excel\donation_rewards.txt.cooked
13:48:55.654 FILE NOT FOUND: data\excel\versioningaffixes.txt.cooked
13:48:55.654 FILE NOT FOUND: data_common\excel\emotes.txt.cooked
13:48:55.654 FILE NOT FOUND: data\excel\affix_groups.txt.cooked
13:48:55.725 FILE NOT FOUND: data_common\name_filter_official.unicode.txt
13:48:56.021 FILE NOT FOUND: data_common\effects\dx9\windowgamma.fxo

but then again I have no way to check that, because those are supposed to be in the archives, and also it doesn’t fail/crash/exit in any obvious way :confused:

ok, just for the lulz I started the singleplayer mode, and it happily greets me with a ton of bink videos. created a char, played the tutorial, exited, to see if the data generated helps in any way. but nope, same problem still :confused:
so it seems to be a bug with the MP client only. for the record, the unmodified MP client has exactly the same issue.

but hey, at least I can play SP now until I manage to get MP running :smiley:

did you ever get it to work? I can get the game fully working, but I can’t get the launcher to launch. I get this error:
System.Runtime.Remoting.RemotingException: Channel London2038_Launcher_Mutexjd:SingeInstanceIPCChannel is not securable while ensureSecurity is specified as true