waynedog74 / mupen64plus

Automatically exported from code.google.com/p/mupen64plus
0 stars 0 forks source link

OSD broken on OS X (With patch) #468

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
OSD is broken on OSX because OGLFT relies on global static data, and apparently 
libraries loaded using dlopen on OSX do not have their globals initialized.

I attached a patch to fix this issue. Note that my patch creates a memory leak, 
but this leak is IMO insignificant since the data in question is needed until 
the process is terminated.

Original issue reported on code.google.com by auria...@gmail.com on 13 Oct 2011 at 5:32

Attachments:

GoogleCodeExporter commented 9 years ago
Maybe it is better to replace the unmaintained (builtin) OGLFT with another 
shared library that is used by other big projects. A quick apt-cache search 
revealed FTGL. This library is available in Debian, Ubuntu, SuSE, Arch, FreeBSD 
and Gentoo (and probably other Distributions)

Original comment by s...@narfation.org on 14 Oct 2011 at 6:02

GoogleCodeExporter commented 9 years ago
I just did some tests and it actually looks better here. My first conversation 
patch can be found at 
https://bitbucket.org/ecsv/mupen64plus-core-libftgl/changeset/c1129e3ce44e 
(repo will be removed after richard42 merged the changes). Maybe you can test 
whether FTGL works better on OSX.

TODO:
 - Remove FreeType2 from wiki page CompilingFromHg
 - Add FTGL to wiki page CompilingFromHg

Original comment by s...@narfation.org on 14 Oct 2011 at 10:15

GoogleCodeExporter commented 9 years ago
Your FTGL patch seems to work very well, but it has a problem : when there is a 
lot of OSD, the render is very slow (try quickly changing between save slots 
until there are 5-10 OSD lines, the emulation is now slowed down to a crawl)

Original comment by auria...@gmail.com on 16 Oct 2011 at 3:04

GoogleCodeExporter commented 9 years ago
I tested it with 10 lines on the screen (rice 1280x960; NVIDIA 285.05.09 using 
a GeForce 9600 GT) and it was always faster than the OGLFT version. Maybe you 
can test it with the glBitmap version (this is the way OGLFT was used by 
mupen64plus.. but currently without alpha blending) and another version with 
different coloring method.

Original comment by s...@narfation.org on 16 Oct 2011 at 7:47

Attachments:

GoogleCodeExporter commented 9 years ago
Just that there is no misunderstanding: Alpha blending works with 
Monochrome/Bitmap fonts in FTGL, but not with the version shipped by Debian. 
The bugfix was applied here: 
http://ftgl.svn.sourceforge.net/viewvc/ftgl?view=revision&revision=1214

Original comment by s...@narfation.org on 16 Oct 2011 at 8:19

GoogleCodeExporter commented 9 years ago
Auria reported on IRC that the FTBitmapFont version from 
https://bitbucket.org/ecsv/mupen64plus-core-libftgl/changeset/d9206125e1a8 
(repo will deleted after richard merged it) works fine.

Original comment by s...@narfation.org on 17 Oct 2011 at 8:25

GoogleCodeExporter commented 9 years ago
Fixed in https://bitbucket.org/richard42/mupen64plus-core/changeset/7f1880795b02

Original comment by s...@narfation.org on 13 Nov 2011 at 12:33