Hier mein kleiner Erfahrungsbericht:

Hab Gothic 1 unter macOS Catalina letzte Woche wieder zum Laufen bekommen und konnte es inzwischen vollständig durchspielen.

Unter älteren macOS Versionen konnte man Gothic mit Wine bzw. Wineskin problemlos spielen. Das Problem mit Catalina ist, dass Apple den 32-bit Support aus dem System entfernt hat. Dadurch kann Wine aktuell de facto nicht mehr verwendet werden.

Codeweavers hat daraufhin eine spezielle Wine Version entwickelt (32-on-64-bit), die (kostenpflichtig) als CrossOver Mac 19 angeboten wird. Das Spiel lässt sich zwar starten, stürzt jedoch unmittelbar nach den Intro Videos, sprich im Hauptmenü, mit einer Access Violation ab.

Hab mir das Ganze dann mal mit OllyDbg (ist ein assembler level debugger) angeschaut und erstmal einfach versucht, die Calls auf den Adressen, die die Nullpointer Exception verursachten, mit NOP Instructions zu patchen. Das war dann auch relativ schnell von Erfolg gekrönt und man konnte das Spiel starten und sich auch die Dialoge anhören, jedoch funktionierte die Hintergrundmusik nicht.

Eine etwas genauere Analyse hat gezeigt, dass das Auflösen einer Methode der dmime.dll fehlschlägt und 0 zurück geliefert wird. Hab über die winecfg (entweder über das CrossOver GUI oder wine winecfg) dann einen native override für diese DLL hinzugefügt, sprich einen neuen Eintrag "dmime" ohne Anführungszeichen, was dann zu negativen Folgeeffekten bei einigen anderen Dependencies führte, was wiederum zu weiterem Analyseaufwand führte.

Schlussendlich habe ich mir dann folgende DLL's gezogen und jeweils native overrides hinzugefügt:




DLL-Version jeweils: 5.3.2600.5512

Danach funktionierte das gesamte Spiel mitsamt Hintergrundmusik.