VOGONS


First post, by C0deHunter

User metadata
Rank Member
Rank
Member

Hello all,
I am aware of the Hammer of Thyrion port, and the following thread:

Hexen II + Portal of Praveus

But my issue is the fact that on the software mode, when I add the following to game icon shortcut target ( -width 800 -height 600 -bpp 16) I see no effect. Additionally, I have deleted the file Opengl32.dll

My goal:
to run the software mode in resolutions 800x600 or 640x480.

My system spec is in the signature file, and I am running Windows 98SE (or WinME, as I am using multiple boot system)
Oh, I am running 32bit desktop in Windows, so even the -bpp 32 does not work either.

Your insights are greatly appreciated!

PIII-800E | Abit BH-6 | GeForce FX 5200 | 64MB SD-RAM PC100 | AWE64 Gold | Sound Canvas 55 MKII | SoftMPU | 16GBGB Transcend CF as C:\ and 64GB Transcend CF D:\ (Games) | OS: MS-DOS 7.1-Win98SE-WinME-Win2K Pro (multi-OS menu Using System Commander 2K)

Reply 1 of 13, by leileilol

User metadata
Rank l33t++
Rank
l33t++

Software mode doesn't use the GL version's window initialization. Instead you'll have to pass "+vid_mode ##", where ## is the number of the mode from a list from vid_describemodes. (i.e. ""C:\Hexen II\h2.exe" +vid_mode 10") You can also set the default mode within the video modes menu by pressing D over the desired mode selected.

Also software Hexen II doesn't support anything but 8-bit color when fullscreen, so -bpp will have no effect and there is no equivalent cvar.

And finally, since a Geforce card is involved, you'll probably also want to add -dibonly. Nvidia's drivers suck at palette changes under DirectDraw. The "dark screen" you may be experiencing could be a stall from that.

apsosig.png
long live PCem

Reply 2 of 13, by Gmlb256

User metadata
Rank l33t
Rank
l33t

As leileilol said, the software renderer version of Hexen II (based on WinQuake) doesn't use the window initialization of the OpenGL version and only support 8-bit color modes. The screen resolution should be selected thru the game settings and only support 8-bit color modes.

P.S. DirectDraw is slower with any video card than using direct video modes thru VESA or VGA offered by SciTech MGL in WinQuake-based games, the only exception is the horribly slow alpha blending effects in higher resolutions when not using -dibonly parameter.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 3 of 13, by C0deHunter

User metadata
Rank Member
Rank
Member

When I try in-game resolution, I get dark screen. Even if I don't do anything and exit the game, I still get dark screen.

Please give me command-lines (if there are any) in order to remedy this.

Thanks.

EDIT:
OK, adding -dibonly to the shortcut, allows me to select different resolutions in software mode. It seems to be working now.

What does -dibonly do?

PIII-800E | Abit BH-6 | GeForce FX 5200 | 64MB SD-RAM PC100 | AWE64 Gold | Sound Canvas 55 MKII | SoftMPU | 16GBGB Transcend CF as C:\ and 64GB Transcend CF D:\ (Games) | OS: MS-DOS 7.1-Win98SE-WinME-Win2K Pro (multi-OS menu Using System Commander 2K)

Reply 4 of 13, by elszgensa

User metadata
Rank Member
Rank
Member

> What does -dibonly do?

Short answer: Set the dibonly variable to true. Longer answer: It skips trying to initalize and probe various bits of video hardware.

If you want to look deeper into this then you could also try -nowindirect and/or -nodirectdraw instead, that would then run different parts of that process, but again not everything. See the code for details - everything relevant should be in that single file.

Reply 5 of 13, by Gmlb256

User metadata
Rank l33t
Rank
l33t
C0deHunter wrote on 2023-09-28, 17:36:

What does -dibonly do?

-dibonly will only use GDI rendering, without having access to DirectDraw nor direct VESA video modes.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 6 of 13, by leileilol

User metadata
Rank l33t++
Rank
l33t++
Gmlb256 wrote on 2023-09-28, 15:34:

P.S. DirectDraw is slower with any video card than using direct video modes thru VESA or VGA offered by SciTech MGL in WinQuake-based games, the only exception is the horribly slow alpha blending effects in higher resolutions when not using -dibonly parameter.

That's true when anything uses DirectDraw and expects to read video memory through it to apply LUTs to write back. Unreal's SoftDrv hit hard by it. Quake changed the menu fade to a black dither during Winquake development to avoid the big drop (something Hexen II didn't do and went overboard putting the screen through a big trans table). Similarly Lithtech's software driver avoids all blended effects.

apsosig.png
long live PCem

Reply 7 of 13, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t

Good opportunity to ask. On Windows 98, how do I realise if Hexen2 is running on Windirect or DDraw mode. I use the -nodd or -nodirectdraw switch, but the game never uses the WDIR32 and WDIR16 DLLs.

On Windows 11, setting Win95VersionLie forces Windirect (since I get the error message), but the -nodd or -nodirectdraw switches don't do anything either. With Win95Lie, the -nowindirect or -novesa switches to disable WinDirect also don't help.

previously known as Discrete_BOB_058

Reply 8 of 13, by Gmlb256

User metadata
Rank l33t
Rank
l33t
BEEN_Nath_58 wrote on 2023-09-29, 13:59:

Good opportunity to ask. On Windows 98, how do I realise if Hexen2 is running on Windirect or DDraw mode. I use the -nodd or -nodirectdraw switch, but the game never uses the WDIR32 and WDIR16 DLLs.

Enter vid_describecurrentmode in the console to get information about the current video mode. It should show one of the following after the screen resolution if running in fullscreen mode:

  • DDRAW8.DRV: DirectDraw.
  • VGA8.DRV: 320x200 VGA video mode.
  • LINEAR8.DRV: VESA video mode with LFB support.
  • ACCEL8.DRV: VBE/AF, very unlikely that you will see this in practice as no vendor officially supported it.
  • DIB: GDI.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 9 of 13, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Gmlb256 wrote on 2023-09-29, 15:40:
Enter vid_describecurrentmode in the console to get information about the current video mode. It should show one of the followin […]
Show full quote
BEEN_Nath_58 wrote on 2023-09-29, 13:59:

Good opportunity to ask. On Windows 98, how do I realise if Hexen2 is running on Windirect or DDraw mode. I use the -nodd or -nodirectdraw switch, but the game never uses the WDIR32 and WDIR16 DLLs.

Enter vid_describecurrentmode in the console to get information about the current video mode. It should show one of the following after the screen resolution if running in fullscreen mode:

  • DDRAW8.DRV: DirectDraw.
  • VGA8.DRV: 320x200 VGA video mode.
  • LINEAR8.DRV: VESA video mode with LFB support.
  • ACCEL8.DRV: VBE/AF, very unlikely that you will see this in practice as no vendor officially supported it.
  • DIB: GDI.

On Windows 98, it does DIB, DDraw8 and VGA8 so this looks fine. Why is VGA8 separated from DDRAW8, should DDRAW be able to do 320x200 too?

On Win11, only DIB works for some reason.

How do you force a particular mode. I saw not all commands and cvar as in the source works.

previously known as Discrete_BOB_058

Reply 10 of 13, by Gmlb256

User metadata
Rank l33t
Rank
l33t
BEEN_Nath_58 wrote on 2023-09-29, 18:35:

On Windows 98, it does DIB, DDraw8 and VGA8 so this looks fine. Why is VGA8 separated from DDRAW8, should DDRAW be able to do 320x200 too?

VGA8 is for compatibility with older video cards that didn't support 320x200 thru DirectDraw.

On Win11, only DIB works for some reason.

How do you force a particular mode. I saw not all commands and cvar as in the source works.

Not all the modes will be available right away, it would require using command line switches. Certain versions of Hexen II will require -usewindirect and -usedirectdraw to enable WinDirect and DirectDraw respectively.

Note that WinDirect needs direct access to the hardware, something that will never work with NT-based Windows for stability reasons. DirectDraw should normally work but 8-bit color modes aren't available anymore in modern drivers out of the box.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 11 of 13, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Gmlb256 wrote on 2023-09-29, 20:12:
VGA8 is for compatibility with older video cards that didn't support 320x200 thru DirectDraw. […]
Show full quote
BEEN_Nath_58 wrote on 2023-09-29, 18:35:

On Windows 98, it does DIB, DDraw8 and VGA8 so this looks fine. Why is VGA8 separated from DDRAW8, should DDRAW be able to do 320x200 too?

VGA8 is for compatibility with older video cards that didn't support 320x200 thru DirectDraw.

On Win11, only DIB works for some reason.

How do you force a particular mode. I saw not all commands and cvar as in the source works.

Not all the modes will be available right away, it would require using command line switches. Certain versions of Hexen II will require -usewindirect and -usedirectdraw to enable WinDirect and DirectDraw respectively.

Note that WinDirect needs direct access to the hardware, something that will never work with NT-based Windows for stability reasons. DirectDraw should normally work but 8-bit color modes aren't available anymore in modern drivers out of the box.

I guess the scenario is this:

DDRAW8 - DDRAW
VGA8, ACCEL8, LINEAR8 - WINDIRECT
DIB - GDI

So unless there's some wrapping for WINDIRECT modes, I shouldn't expect much.

Hexen2 is already utilising the DWM8AND16BITMODES shim so it's detecting it needs 8-bit modes at least. I will try to force those parameters today and see.

previously known as Discrete_BOB_058

Reply 12 of 13, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Gmlb256 wrote on 2023-09-29, 20:12:
VGA8 is for compatibility with older video cards that didn't support 320x200 thru DirectDraw. […]
Show full quote
BEEN_Nath_58 wrote on 2023-09-29, 18:35:

On Windows 98, it does DIB, DDraw8 and VGA8 so this looks fine. Why is VGA8 separated from DDRAW8, should DDRAW be able to do 320x200 too?

VGA8 is for compatibility with older video cards that didn't support 320x200 thru DirectDraw.

On Win11, only DIB works for some reason.

How do you force a particular mode. I saw not all commands and cvar as in the source works.

Not all the modes will be available right away, it would require using command line switches. Certain versions of Hexen II will require -usewindirect and -usedirectdraw to enable WinDirect and DirectDraw respectively.

Note that WinDirect needs direct access to the hardware, something that will never work with NT-based Windows for stability reasons. DirectDraw should normally work but 8-bit color modes aren't available anymore in modern drivers out of the box.

Okay DDraw works here for Hexen 2. 3 WinDirect modes, as I mentioned are unavailable.

Is there a way to force LINEAR8 and ACCEL8 modes on Win98, as the card supports VBE.

previously known as Discrete_BOB_058

Reply 13 of 13, by Gmlb256

User metadata
Rank l33t
Rank
l33t
BEEN_Nath_58 wrote on 2023-09-30, 05:31:
Gmlb256 wrote on 2023-09-29, 20:12:
VGA8 is for compatibility with older video cards that didn't support 320x200 thru DirectDraw. […]
Show full quote
BEEN_Nath_58 wrote on 2023-09-29, 18:35:

On Windows 98, it does DIB, DDraw8 and VGA8 so this looks fine. Why is VGA8 separated from DDRAW8, should DDRAW be able to do 320x200 too?

VGA8 is for compatibility with older video cards that didn't support 320x200 thru DirectDraw.

On Win11, only DIB works for some reason.

How do you force a particular mode. I saw not all commands and cvar as in the source works.

Not all the modes will be available right away, it would require using command line switches. Certain versions of Hexen II will require -usewindirect and -usedirectdraw to enable WinDirect and DirectDraw respectively.

Note that WinDirect needs direct access to the hardware, something that will never work with NT-based Windows for stability reasons. DirectDraw should normally work but 8-bit color modes aren't available anymore in modern drivers out of the box.

Okay DDraw works here for Hexen 2. 3 WinDirect modes, as I mentioned are unavailable.

Is there a way to force LINEAR8 and ACCEL8 modes on Win98, as the card supports VBE.

For LINEAR8, DirectDraw should be disabled and must have a video card with working VBE 2.0+ implementation. ACCEL8 needs a VBEAF.DRV driver tailored for the graphics hardware, and this can't be forced without it.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS