How to fix Thandor (RTS game from y2k) to work with wine 4.9

Questions about Wine on Linux
Post Reply
ArchPCK
Newbie
Newbie
Posts: 3
Joined: Wed Jun 05, 2019 7:53 am

How to fix Thandor (RTS game from y2k) to work with wine 4.9

Post by ArchPCK » Wed Jun 05, 2019 8:51 am

Hey all,

I have kind of a weird problem with stock wine 4.9 and I would really appreciate your help!!!!!!

The game I am talking about is "Thandor: The Invasion / Thandor: Die Invasion / Вторжение: Выжженная земля" with its latest patch 1.05 (I still have the CD from 2000).

Comparision:
When I use lutris (with Disable Lutris engine) and select the wine version "ge-faudio-protonified-4.8" I can hear some sounds, but the background music is extremely distorted.
If I use 4.9 (arch repository) I can get broken sounds and only one file (building menu click) plays a normal sound, the rest sounds like it are only bass frequencies (deep crackle) or extremely distorted alien sounds lol


The 2nd problem I am facing is mouse jumping, but only on the official wine versions and the lutris runners (that are not equal to ge-faudio-protonified-4.8).
The mouse jumping issue can be fixed in ge-faudio-protonified-4.8 with overriding dinput in runner settings / or winecfg with "native" and place the directx 5 dinput.dll in the directory of the thandor.exe.
This does not work on wine 4.9 or other versions I've tried it and it just minimizes the jumps so they occur not as ofen as with built in dinput.

The game uses USER32.dll, KERNEL32.DLL, WINMM, DDRAW, DINPUT, DSOUND, GLIDE3X, ADVAPI32, WSOCK32, WS2_32.
Its engine either supports glide or directx 5 (directx 6 dinput.dll also works). Additional infos: The developer ran it on a Riva TNT and a Voodoo3 gpu

In the case that ge-faudio-protonified-4.8 is the selected runner on lutris it only works when the application is run in full screen (with native display resolution) or with active "Windowed (virtual desktop)" and a valid "Virtual desktop resolution" that matches the ingame resolution.
Changing the "Mouse Warp Override" has no effect, also installing faudio in wine 4.9 does not provide the same result as ge-faudio-protonified.

I used this config file (thandor.dat) to push the game to 1920x1080 resolution: "00 00 00 00 80 07 00 00 38 04 00 00 20 00 00 00 80 00 00 00 00 01 00 00 20 00 00 00 01 00 00 00 01 00 00 00 00 80 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 08 00 00 00 00 00 00 00 66 00 00 00 20 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 32", just use a hex editor to paste it (I can provide alll kinds of custom versions, because I found a resolution changer in 2003)

A problem is, that the ge-faudio-protonified way is still not correct. For example on windows the volume sliders really control the volume, but on wine they control how the audio is balanced between right and left speaker, but at least the foreground audio is working there (with 100% volume all the time.....)

Asla, OSS and pulseaudio where tested, they experience the same problems with sound playback.

Also what package do I need to install with winetricks to provide WSOCK32 API? I tried all the 3 packages in winetricks, but the error (winsock32 error: 10013) is still shown when using multiplayer.

Can someone give me some tipps? I want to create a working tutorial and push it to winehq appdb and later to lutris (but lutris is not my priority atm).

ArchPCK
Newbie
Newbie
Posts: 3
Joined: Wed Jun 05, 2019 7:53 am

Re: How to fix Thandor (RTS game from y2k) to work with wine

Post by ArchPCK » Sat Jun 15, 2019 10:32 am

Ok guys,

I found out, that my original CD had sector issues, after buying a new one, the sound works now. I can also confirm that the patch 1.05 also works with the english version (bought this one too).
So its just the differences between ge-faudio-protonified 4.8, wine 4.9 (both with dx6 native dinput dll), to get the audio working in normal wine as well as the bugged volume sliders in the game options and the wsock32 issue.

The CD contains DirectX 6.2 so just extract it and copy the dinput.dll into the game directory.

I would really appreciate your help :D

User avatar
Bob Wya
Level 12
Level 12
Posts: 2759
Joined: Sat Oct 16, 2010 7:40 pm
Location: Cambridge
Contact:

Re: How to fix Thandor (RTS game from y2k) to work with wine

Post by Bob Wya » Sat Jun 15, 2019 4:33 pm

ArchPCK wrote:...
Also what package do I need to install with winetricks to provide WSOCK32 API? I tried all the 3 packages in winetricks, but the error (winsock32 error: 10013) is still shown when using multiplayer.
...
@ArchPCK

tl;dr tl;dr !!
Less waffle, more logs please! :lol:
See: WineHQ FAQ: 10.1.1 How can I get a debugging log (a.k.a. terminal output)?

Please use (something like):

Code: Select all

export WINEDEBUG=+loaddll,+module
wine <executable> &> ~/wine-4.10_loaddll_module_log.txt
- so we can see what libraries your game is trying to load.

Please also use the forum Code tags for any code dumps, terminal logs/commands:

Code: Select all

...
Thanks
Bob

ArchPCK
Newbie
Newbie
Posts: 3
Joined: Wed Jun 05, 2019 7:53 am

Re: How to fix Thandor (RTS game from y2k) to work with wine

Post by ArchPCK » Sat Jun 15, 2019 5:33 pm

Thanks for your fast answer @Bob Wya. I have attached the requested log generated using the official wine 4.9 version

It tries to load the following dlls:

Code: Select all

msvcrt.dll
ntdll.dll
KERNEL32.dll
advapi32.dll
ole32.dll
rpcrt4.dll
gdi32.dll
version.dll
user32.dll
userenv.dll
oleaut32.dll
propsys.dll
shlwapi.dll
shcore.dll
tzres.dll
setupapi.dll
shell32.dll
imm32.dll
actxprxy.dll
windowscodecs.dll
%1.dll
WINMM.dll
msacm32.dll
GLIDE3X.dll
DDRAW.dll
wined3d.dll
opengl32.dll
DINPUT.dll
comctl32.dll
usp10.dll
uxtheme.dll
DSOUND.dll
mmdevapi.dll
WSOCK32.dll
ws2_32.dll
iphlpapi.dll
I have uploaded the full log to https://pastebin.com/PpX8EVt6

Post Reply