[NOBUG] Ubuntu / WINE Galaxiekarten-Problematik

Alle bereinigten BUGs kommen in diesen Bereich
Antworten
Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

[NOBUG] Ubuntu / WINE Galaxiekarten-Problematik

Beitrag von Malle » Samstag 29. Januar 2011, 10:03

Wie ein User im englischen Forum berichtet hat, sieht BotE unter Ubuntu 10.10 und WINE wie folgt aus:
Screenshot1.png
Screenshot1.png (161.12 KiB) 2222 mal betrachtet
Screenshot2.png
Screenshot2.png (324.97 KiB) 2222 mal betrachtet
puste, muss eigentlich die v2 view links transparent sein? das png könnten wir doch auch in jpg umwandeln, dann wäre das Problem gleich mitgelöst und weniger Plattenplatz noch dazu.

Er will uns auch etwas helfen, den Fehler aufzuspüren. Einen kleinen Workaround mit dem eigenen Virtuellen Desktop für WINE hat er ja schon rausgefunden.

Benutzeravatar
Sir Pustekuchen
Administrator
Administrator
Beiträge: 4182
Registriert: Dienstag 10. Januar 2006, 16:46
Kontaktdaten:

Re: Ubuntu / WINE Galaxiekarten-Problematik

Beitrag von Sir Pustekuchen » Mittwoch 2. Februar 2011, 22:37

Ich denke da fehlt einfach ein Füllen der View komplett mit schwarz, bevor die transparente Grafik drübergelegt wird. Entweder funktioniert das Füllen im Wine nicht, oder ich habs an der Stelle vergessen. Aber im Windows klappts ja...

EDIT:
Ein g->Clear(Color::Black); wird eigentlich aufgerufen. Die Ansicht sollte demnach komplett schwarz sein. Erst dann wird die Skingrafik drübergezeichnet.

Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Ubuntu / WINE Galaxiekarten-Problematik

Beitrag von Malle » Mittwoch 2. Februar 2011, 22:47

es fehlen auch die views unten, also v3 und v4. Er sagt, dass man WINE dazu im eigenen virtual desktop starten muss, ansonsten sind die nicht da wie in den Screenshots zu sehen.

a propos, die menuv2.png's könnten doch ruhig jpgs sein oder? Die Transparenz wird doch da nicht benötigt?

Benutzeravatar
Sir Pustekuchen
Administrator
Administrator
Beiträge: 4182
Registriert: Dienstag 10. Januar 2006, 16:46
Kontaktdaten:

Re: Ubuntu / WINE Galaxiekarten-Problematik

Beitrag von Sir Pustekuchen » Mittwoch 2. Februar 2011, 22:55

Waren sie mal, aber so sind wir flexibler, falls da später mal noch ein anderer Hintergrund reinkommen sollte. PNGs haben eigentlich nur Vorteile gegenüber jpg. Von daher will ich es so lassen. Und Speicherplatz interessiert nur den Installer. Ob der nun 142MB groß ist oder nur 140MB ist auch egal. Ingame werden alle Grafiken sowieso als 24bit im Speicher abgelegt und haben somit die gleiche Größe. Da ist es egal ob es vorher ein PNG, JPG oder BMP war.

Benutzeravatar
Sir Pustekuchen
Administrator
Administrator
Beiträge: 4182
Registriert: Dienstag 10. Januar 2006, 16:46
Kontaktdaten:

Re: Ubuntu / WINE Galaxiekarten-Problematik

Beitrag von Sir Pustekuchen » Samstag 2. April 2011, 10:45

Ein Nutzer (HDYST) aus dem englischen Forum hat eine ausführliche Anleitung geschrieben, wie man BotE in jedem Linux mit Wine fehlerfrei zum Laufen bekommt. Ich quote sie hier:
Before anything, I'm sorry for this late response. The game runs fine under any Linux and if someone wants to see how to run the game I'll post the exact instructions and try to explain why the problem occured. I should've posted these faster, maybe someone needed them..

So there are basically two ways of getting things done, one safe (which uses winetricks) and one not so safe (but works without requiring an internet connection and may be faster) which uses the GdiPlus.dll file found in the BOtE root directory.

The "safe" method:
- Run "sh winetricks gdiplus" (do this before installing the game)
- Install the game normally through wine (if something goes wrong make sure you have the privileges and the game setup can be executed)
- For fullscreen mode, enter Wine Configuration > Graphics > Check "Allow DirectX apps to stop..." and Uncheck the rest of the checkboxes.
- For windowed mode, in Wine Config > Graphics > Check "Emulate a virtual desktop" and select a resolution if you want

The offline and faster method:
- Install the game normally thorugh wine
- Go to Wine config > Libraries > Enter "gdiplus" without the quotes in the New Override for lib field. Click Add. Click Ok.
- If you are having display problems (like the GUI not showing fully) then select either one of the options presented for fullscreen or windowed mode above.

The problem is with Wine's implementation of GDI+; some guys at wine are currently working at creating wrappers for GDI, but there are a lot of functions which remain to be implemented. This is why GDI+ support is so shady for the majority of applications which are a bit more complex, like BOtE... Since BOtE already has gdiplus.dll in its root, you just need to tell wine to override that library. The paths of interest to us are checked in this order for gdiplus.dll (asuming native is selected in config): app folder, current folder, ~/.wine/drive_c/windows/system32.

So if you just make that setting in wine config, it will work out of the box. There is just one problem though, and this is why I call this method unsafer than the first: You install BOtE first and the built in lib is used. Some functions needed by the installer are stubs.. Those are not critical, but in the future who knows how the installer will be modified and what functions it will need from the wine lib to make it unusable? After the installation, the *good* library will be used, because the app folder is checked first. One may bypass this problem if the good gdiplus.dll is in ~/.wine/drive_c/windows/system32 and native overriding is selected (this is what the winetricks command above does).

I''ve tried to find other alternatives, like mono's implementation, libgdiplus, but they implement only a basic set of functions they need for drawing. There have been attempts to make wine work with libgdiplus, but they all have been abandoned because, honestly, it isn't worth it. Better than wrapping libgdiplus to work under wine one could implement some of the missing stubs in wine's GDI+.

So, in the end, the best (and only, to my knowledge) way to get BOtE running in Linux is using the native library as you've said above, Malvoisin.

Hope this helps... The game runs fine.

Antworten

Zurück zu „Archiv Alpha6-Bugs“