VOGONS


Reply 40 of 47, by Armitage Shanks

User metadata
Rank Newbie
Rank
Newbie
BlackDoomer wrote on 2024-11-13, 18:59:

Man, I just noticed a slight inaccuracy and wanted to clarify. There's absolutely no personal attack here. It's just that I'm kind of traumatized by this because it took myself a whole year to grok the Windows graphics stack due to the sheer amount of misinformation and incorrect terminology floating around. And VOGONS helped me a lot with this. Now I try to share this knowledge to preserve it, rather than sit on it like a dog in the manger.

And yes, I read the entire topic carefully before this.

Good for you! People who hoard their knowledge like it's some sort of Secret Recipe™ are...well, quite sad really.

I think you English is great.

Reply 41 of 47, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Armitage Shanks wrote on 2025-05-23, 22:16:

I hate to rain on anyone's parade (especially yours in this case, as I do admire your work and evident dedication) but the problem with DirectDraw is that it expects very specific things from the video driver. Things which simply aren't available in 3.11. WinG is one thing; DirectDraw is something else entirely. Further, DirectDraw calls CreateDIBSection, so you'll need that, too.

It's still proprietary intellectual property, so please, proceed with care.

If you do decide to put on your space suit and venture forth, there remains the small chance (I honestly don't know, haven't been down that road) that DirectDraw could be modified and recompiled into a special ddraw.dll, one which doesn't rely on driver entry points but simply just calls BitBlt instead. However, most DirectDraw games do tend to want a CooperativeLevel of Fullscreen Exclusive and I am not sure if 3.11 will allow for that in the way DirectDraw expects it.

Good day, welcome back.

They treat the source as "you can have it but you can't give it". Certain parts are definitely compilable, if not all of it. Certainly , distribution of code as an open source would still be a problem of the choice, if not a problem of law, hence needing to stay closed source, or be called an "hacked app".

While DirectDraw games want a CooperativeLevel, I think it can be faked to have most of the apps run. DxWnd does the same: since it runs windowed it just fakes the SetCooperativeLevel to return true whenever FULLSCREEN, NORMAL and EXCLUSIVE are queried. While I am not certain if Fullscreen, Normal needs more than a bit to change, but Exclusive is definitely easy enough to manipulate and change.

previously known as Discrete_BOB_058

Reply 43 of 47, by Lualb

User metadata
Rank Newbie
Rank
Newbie

Personally, I say that Windows 3.1x has a lot of potential as a DOS GUI, and if you can create modern apps and games with WIN32'S subsystem, wow, that sounds great, oh yeah!

Reply 44 of 47, by BlackDoomer

User metadata
Rank Newbie
Rank
Newbie
Armitage Shanks wrote on 2025-05-23, 22:16:

I hate to rain on anyone's parade (especially yours in this case, as I do admire your work and evident dedication) but the problem with DirectDraw is that it expects very specific things from the video driver. Things which simply aren't available in 3.11. WinG is one thing; DirectDraw is something else entirely. Further, DirectDraw calls CreateDIBSection, so you'll need that, too.

Well, to be accurate, this very case is not an issue - WinG is just an awkward backport of the CreateDIBSection API from Windows 95 to 3.x, with its own device contexts.

offtop
Armitage Shanks wrote on 2025-05-23, 22:34:

Good for you! People who hoard their knowledge like it's some sort of Secret Recipe™ are...well, quite sad really.

I think you English is great.

Thank you for your kind words. But I do have to proofread even such short posts and check them with Google Translator, so my English still isn't something natural for me (except that it has broken my native Russian in subtle ways).

my English is broken beyond any repair, and I'm really sorry for that.

Reply 45 of 47, by xcomcmdr

User metadata
Rank Oldbie
Rank
Oldbie

MissionForce : Cyberstorm runs within WIN32S inside DOSBox, despite the game targeting Windows 95, and the executable clearly importing DSOUND.DLL

Of course, it runs but with no sound.

Maybe something to play with. But DirectSound is its own can of worms.

Reply 46 of 47, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
xcomcmdr wrote on 2025-06-14, 12:43:

MissionForce : Cyberstorm runs within WIN32S inside DOSBox, despite the game targeting Windows 95, and the executable clearly importing DSOUND.DLL

Of course, it runs but with no sound.

Maybe something to play with. But DirectSound is its own can of worms.

Maybe it falls back to some dumb-only MME implementation, or alternatively doesn't make DSOUND requirement necessary

previously known as Discrete_BOB_058

Reply 47 of 47, by xcomcmdr

User metadata
Rank Oldbie
Rank
Oldbie

No, it doesn't use MME. It's a fluke that it even works with Win32S.