VOGONS


First post, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Hi,

Some of you might remember some (long? 😀) time ago, Moe and I started a project to see if we could port MacGLide (which is/was supposed to be a MAC port of OpenGlide) enhancements back to Linux & Windows (actually make it crossplatform using SDL). We never released the code since it barely built and the project somehow died soon after cause of lack of time. But there are some interesting ideas in the MacGLide fork including making OpenGL render at higher resolution than Glide thinks it's rendering. This is a patch to bring that functionality back to OpenGlide (a full circle 😀)

It's fairly simple, just the matter of correctly setting glViewport, resizing LFB reads/writes and presto - any resolution you want. I can't take all the credits, the code is originally taken from Macglide, modified for our SDL-Glide project and now ported to OpenGlide. I've tested it with a few games, there doesn't seem to be much problems. The LFB writes are bilinearly resized to target resolution, reads are a bit simpler (a simple nearest resize). I've also fixed some memory management problems (seems like OpenGlide was allocating twice the necessary space for buffers??). There might be problems if a game reads the LFB, adds some stuff, then writes the whole thing back (could look ugly because of the resizing). If that happens, there might be a reason to add some code to check and write only the pixels that have really changed...I have also added/copied the code for grLfb*Region (which in turn seems to be taken from the linux sst1 driver source), since this was totally broken/missing in OpenGlide.

A new config option was added: Resolution. It's a floating point where 0 specifies original/auto resolution, 1.0-16.0 are scale factors and anything larger than that is fixed width (with height calculated automatically, 4:3 AR assumed). That's how we made it in SDL-Glide project I haven't changed it now. Any comments/suggestions/problem reports are welcome.

Attachments

  • Filename
    TR1600.jpg
    File size
    140.59 KiB
    Downloads
    1055 downloads
    File comment
    Tomb Rider @1600x1200
    File license
    Fair use/fair dealing exception
  • Filename
    openglide-highres.diff
    File size
    31.12 KiB
    Downloads
    3419 downloads
    File comment
    OpenGlide current cvs patch
    File license
    Fair use/fair dealing exception

www.si-gamer.net/gulikoza

Reply 1 of 15, by Miki Maus

User metadata
Rank Member
Rank
Member

Tested it and it works great. Though I can't get openglide to render the games in fullscreen in WinXP, it is always using current desktop resolution with game screen in the upper left corner of the screen with black background around.
Also, are the patches from "Various patches for OpenGlide" already included in the current CVS?

Reply 3 of 15, by Miki Maus

User metadata
Rank Member
Rank
Member

It happens with older version of openglide too. I'm on WinXP SP3, gfx card is integrated nvidia Geforce 8200 kind of equivalent to Geforce 8400 GS.
When I set InitFullScreen to 1 in config file, the game doesn't start fullscreen. It starts in the upper-left corner of the screen like usually but with rest of the screen black.
I'm guessing that changing display mode fails for some reason.

Edit:
Forgot to mention that the game I'm testing with is Ignition which uses 640x400 resolution.
I'll see if I can find some other windows glide game to test with.

Edit2:
Dumb me, just tried and it appears that mode (640x400@any_depth) isn't supported on my system.

Edit3:
Found and tested other games and full screen mode switching with openglide is working normally so it's only problem with Ignition and it's 640x400 mode on my system.

Reply 5 of 15, by Miki Maus

User metadata
Rank Member
Rank
Member

It still doesn't work because apparently my system doesn't support any 16:10 resolution.
It does work if I patch openglide to always make height = width*0.75 when setting fullscreen mode thereby forcing 4:3 aspect ratio.

Edit:
Dumb me, again, now when I checked the source code more thoroughly I saw that you can set width part of the resolution in config file. Then I reread your original post and saw that you mentioned that values above 16 are treated as width. 😅

Works perfectly.

Reply 6 of 15, by thedoctor45

User metadata
Rank Newbie
Rank
Newbie

it's working on Mac OS X too 😁

as always - nice work gulikoza!

Attachments

  • Filename
    carma_hires.png
    File size
    1.18 MiB
    Downloads
    953 downloads
    File license
    Fair use/fair dealing exception

Reply 8 of 15, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

gulikoza, could you upload a compiled version?
I'm currently struggling with running Ultima 9 under Wine (on OS X). Ultima 9 on Wine has the big problem that the game cursor is drawn beneath certain gui elements which makes it very hard to use since you can't handle your inventory and so on... (Wine people know about this, someone filed a bug report ages ago).
Running U9 in glide mode with a glide wrapper has the same problem, EXCEPT for psVoodoo glide wrapper. With psVoodoo you can see the "normal" mosue cursor (the game cursor is still hidden beneath the gui elements) and thus make it work somewhat - seems that psVoodoo has an error there 😀
Anyway when testing through the other wrappers (nglide, dgvoodoo, zeckensack), I found that openglide would not work at all (black screen) and wondered whether a newer build would help me there...

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for OS X (10.4-10.14 ppc/intel 32/64bit) codesigned for gatekeeper
DOSBox SVN with SDL2 snapshot for OS X (10.7-10.14 intel 64bit) codesigned for gatekeeper

Reply 10 of 15, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

😉
I only found it about a year ago, when I last tried to get U9 running. The "problem" with psVoodoo is that it doesn't hide the system cursor, at least on Wine. For me this problem makes psVoodoo the only wrapper that allows me to actually interact with Gui elements like backpack or journal...

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for OS X (10.4-10.14 ppc/intel 32/64bit) codesigned for gatekeeper
DOSBox SVN with SDL2 snapshot for OS X (10.7-10.14 intel 64bit) codesigned for gatekeeper

Reply 11 of 15, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Here's a compiled version...I doubt it will help though it sounds like it would need a specific fix...

Attachments

  • Filename
    Glide2x.zip
    File size
    76.13 KiB
    Downloads
    1151 downloads
    File license
    Fair use/fair dealing exception

www.si-gamer.net/gulikoza

Reply 12 of 15, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

yup, doesn't work at all. The u9 setup doesn't even recognize that there is glide available and U9 itself only makes a flitter on the desktop before disappearing. Worse than the latest release from a few years ago 🙁
But thanks for providing the binary.

Reply 14 of 15, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

He he, yes that would have helped a lot... I guess it is build on sdl 1.2.14? I'll give it a try later or tomorrow

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for OS X (10.4-10.14 ppc/intel 32/64bit) codesigned for gatekeeper
DOSBox SVN with SDL2 snapshot for OS X (10.7-10.14 intel 64bit) codesigned for gatekeeper

Reply 15 of 15, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

just tested it. On startup I did get the error message "Severe Problem: OpenGL GL_EXT_packed_pixels extension is required for OpenGlide!" but then the game started and displayed correctly. Seems it doesn't hide the system mouse cursor either... Also I couldn't get the keyboard input to work for some reason. I guess SDL does add some bad things there....

Edit: seriously, I also tried it on an XP VM and it showed the same keybaord input problems... (and also didn'T hide the system cursor)