https://bugs.winehq.org/show_bug.cgi?id=46030
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |ntdll URL|http://www.kemot0055.boo.pl |https://archive.org/details |/tm/unlimiter/TMInfinity_1. |/tminfinity-1.3.0.1 |3.0.1.zip | Fixed by SHA1| |059094c1c18ddc33b04eac53a72 | |fd0eb7510be94
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting. Since I spent a considerable amount of time on analysis I was curious what fixed it.
Turns out https://source.winehq.org/git/wine.git/commitdiff/059094c1c18ddc33b04eac53a7... ("ntdll: Define heap block's BLOCK_FLAG_LFH as 0x80."), part of Wine 8.19 release helped here.
Before that, Wine's heap management was overhauled in a series of commits: https://source.winehq.org/git/wine.git/history/059094c1c18ddc33b04eac53a72fd...
But as on Windows it just works by chance.
--- snip --- $-8 0BB6F330 000C0016 .... $-4 0BB6F334 80750001 ..u. ; block flags (0x80 = BLOCK_FLAG_LFH) $ ==> 0BB6F338 00B7DB1C .Û·. $+4 0BB6F33C 00000000 .... $+8 0BB6F340 00000000 .... $+C 0BB6F344 00000000 .... $+10 0BB6F348 00000000 .... $+14 0BB6F34C 06988648 H... $+18 0BB6F350 40000733 3..@ $+1C 0BB6F354 40002683 .&.@ $+20 0BB6F358 40000A10 ...@ $+24 0BB6F35C 00000000 .... $+28 0BB6F360 40000733 3..@ $+2C 0BB6F364 40002683 .&.@ $+30 0BB6F368 40000A10 ...@ $+34 0BB6F36C 0000000D .... $+38 0BB6F370 0BC02F11 ./À. "Decors/Signs/"
00403164 | mov eax,esi ; 00000008 00403166 | imul eax,dword ptr ss:[ebp+10] ; 03A80020 0040316A | add dword ptr ss:[ebp+8],eax ; 0F682FB0 0040316D | and dword ptr ss:[ebp-4],0 00403171 | dec dword ptr ss:[ebp+10] ; 80750004-1 = 80750003 00403174 | js tmforever.403181 ; sign bit set --- snip ---
Interesting tidbit: The mod got an update two years later: 1.3.0.1 -> 1.3.0.2 which also works with the old Wine versions this bug was reported against. Apparently the mod developers fixed the incorrect struct layout in the mod 1.3.0.2 update.
From 1.3.0.2 README.TXT:
--- quote --- C) CHANGELOG:
1.3.0.2: - Improved custom block memory management - blocks are now loaded when game needs it. - Fixed mood change handling while loading a tracks - Updated version check which points to new server
1.3.0.1: - Fixed crash while game loading - Fixed puzzle block placing bug - Fixed hidden hills folder when building in snow environment - Added new shortcuts: * Shift + Tab : Resets manipulation values for moving/rotation/scale * Shift + A : Switches between move/rotation/scale manipulation mode * Shift + Enter : Resets strength settings to default * Shift + E : Toggles updating nearby blocks * Shift + Num+ : Increases strength 2x * Shift + Num- : Decreases strength 2x --- quote ---
Wine 3.19:
* mod 1.3.0.1, crashes at account selection (this bug) * mod 1.3.0.2, account selection works, offline game works (played one round)
Wine 8.19, Wine 9.5:
* mod 1.3.0.1 and 1.3.0.2 works with account selection and offline gameplay
Stable links from Internet Archive for reference:
https://web.archive.org/web/20200901000000*/http://files.trackmaniaforever.c...
https://web.archive.org/web/20220910194411/https://unlimiter.net/download (TMUnlimiter "TMInfinity" 1.3.0.2)
https://archive.org/details/tminfinity-1.3.0.1 (I've uploaded from my own archive since the original site had no snapshots saved for it).
Regards