VOGONS


First post, by Xenphor

User metadata
Rank Member
Rank
Member

I was thinking of installing Warcraft 3 on my Windows 98 machine with a Geforce 4MX card but it requires Directx 8.1 on install and the MX is only Directx 7 compatible. However, I look at the requirements and the cards listed there (Nvidia TNT, Ati Rage 128, Voodoo3, Intel i810) are from well before DirectX 8. How is this possible?

Eaarg7fl.jpeg
https://imgur.com/a/gEnMbaD

Reply 2 of 20, by eddman

User metadata
Rank Member
Rank
Member

Just because a game asks for a certain DX version, doesn't mean it's using the same D3D version, for example, Spider-man 2001.

(EDIT: To make it less confusing, DirectX itself is not an API; it's a suite/package that contains APIs, like Direct3D, DirectDraw, DirectInput, etc. Most people, even companies like nvidia, tend to use DX and D3D interchangeably, but that's not exactly correct.)

In the case of WC3 though, it does use D3D8, however, it also has compatibility render paths that do not use shaders and/or hardware TnL, so it could run on such old cards. (Does WC3 even use shaders, at all?)

Half-life 2 was a D3D9 game, but its early versions could run even on a TNT.

Last edited by eddman on 2023-09-02, 06:55. Edited 3 times in total.

Reply 4 of 20, by PD2JK

User metadata
Rank Oldbie
Rank
Oldbie
eddman wrote on 2023-09-02, 06:22:

Half-life 2 was a D3D9 game, but its early versions could run even on a TNT.

Remembering those videos about running HL2 and Doom3 on Voodoo2 (SLI)
It 'runs'. Sort of.

i386 16 ⇒ i486 DX4 100 ⇒ Pentium MMX 200 ⇒ Athlon Orion 700 | TB 1000 ⇒ AthlonXP 1700+ ⇒ Opteron 165 ⇒ Dual Opteron 856

Reply 5 of 20, by leileilol

User metadata
Rank l33t++
Rank
l33t++
eddman wrote on 2023-09-02, 06:22:

Half-life 2 was a D3D9 game, but its early versions could run even on a TNT.

Half-Life 2 launched with a DX6.1 backend! Running it on cards like Kyro would get you that.

Xenphor wrote on 2023-09-02, 06:42:

Okay. It would be interesting to know what features of d3d8 were used for WC3 and what would be cut if a d3d7 or older card was used instead.

No pixel shaders were used but i'd imagine HWT&L/vertex shaders at least were, which should be of no visual difference but for performance. Warcraft 3 hadn't really visually changed since the old 1999 screenshots and loads of textures are still quite small enough for all that said 1999 hardware.

apsosig.png
long live PCem

Reply 6 of 20, by Gmlb256

User metadata
Rank l33t
Rank
l33t
eddman wrote on 2023-09-02, 06:22:

Half-life 2 was a D3D9 game, but its early versions could run even on a TNT.

The first Far Cry is another good example of this, a D3D9 game that runs on GeForce2 cards albeit with reduced quality.

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 7 of 20, by smtkr

User metadata
Rank Member
Rank
Member
Xenphor wrote on 2023-09-02, 06:42:

Okay. It would be interesting to know what features of d3d8 were used for WC3 and what would be cut if a d3d7 or older card was used instead.

I did my first playthrough on a Voodoo 5. I did many playthroughs afterward on a Ti4200. I never noticed any difference.

Reply 8 of 20, by the3dfxdude

User metadata
Rank Member
Rank
Member

The DX8.0->8.1 was a part of a last minute version bump that happened during the early beta. The game's 3d engine was spec'd out for those cards. So this was probably to shore up something about their dev environment, but not really change the specs since the game was feature complete, IMO. The primary effect would have been eliminating support for Win95.

Reply 9 of 20, by eddman

User metadata
Rank Member
Rank
Member
the3dfxdude wrote on 2023-09-06, 01:50:

The DX8.0->8.1 was a part of a last minute version bump that happened during the early beta. The game's 3d engine was spec'd out for those cards. So this was probably to shore up something about their dev environment, but not really change the specs since the game was feature complete, IMO. The primary effect would have been eliminating support for Win95.

It's possible they wanted to use an updated module, besides D3D. There are version differences in some of the modules between DX8 and 8.1, like DirectSound, DirectInput, DirectPlay, etc.

Reply 10 of 20, by Dolenc

User metadata
Rank Member
Rank
Member

If it adds anything, since Im currently playing it.... up to v1.26 "works" on win98, v1.29 needs newer os. In d3d it lags when I move the mouse, not present in opengl. Could be just my configuration.
Not sure for in-between versions, 26 is the one to go with anyway. For v1.29 game got an engine upgrade(think, not know, they switched to dx9 here).

Both work on a Voodoo 5, that basically dx6 compliant. Software tnl can be forced through the registry, makes no difference on my machine(dough). OpenGl can also be forced instead of default d3d, runs a bit faster, but causes flickering for "fog of war" in some maps for me, particles also look like they are missing details.
v1.29 runs very slow for me no matter which resolution. v1.26 runs on average around 45-50fps on 1920x800(with an oc card). I dont think it uses any other feature from d3d8 besides what Leilei already mentioned, atleast for rendering.

Reply 11 of 20, by eddman

User metadata
Rank Member
Rank
Member

"Compliance versus Compatibility

DirectX 8 is a major advance in 3D technology for the consumer market. Because it’s such a radical
departure from historical methods, the issue of DirectX 8 compatibility versus DirectX 8 compliance
becomes key.

Almost any current generation 3D graphics hardware can be DirectX 8 compatible once the company
ships a DirectX 8 driver. An updated driver on current generation hardware could support particle
effects, faster runtime processing and accelerated index buffers (for faster vertex processing).

However, to be DirectX 8 compliant, the 3D hardware must support the programmable features of
DirectX 8. There are two levels of compliance: 1.0 and 1.1. Programmable Pixel Shaders come in
two possible versions: 1.0 and 1.1. The key difference is that version 1.1 compliance requires the
hardware to support eight blending operations in a single pass. Programmable Vertex Shaders come
in three versions: version 0, version 1.0 and version 1.1. Version 0 refers to DirectX 7 hardware; the
programmable Vertex Shader operations would be actually performed on the CPU, with a performance
penalty. Versions 1.0 and 1.1 specify hardware-accelerated Vertex Shaders. However, version 1.1
adds an address index that makes matrix palette skinning much more viable."

Last page of: https://www.evga.com/articles/images/11directx8.pdf

Reply 12 of 20, by Geri

User metadata
Rank Member
Rank
Member

How is this possible?

Thats the case even nowadays, when a generic game requires the DX11 API but the minimum hardware is a 8800GT...

TitaniumGL the OpenGL to D3D wrapper:
http://users.atw.hu/titaniumgl/index.html

Reply 13 of 20, by Dolenc

User metadata
Rank Member
Rank
Member

Offtopic, but to correct my misinformation, before someone belives it.

v1.29 works fine(even a bit faster) on a voodoo5 too, the game just defaults to windoved fullscreen, so it runs on one chip only, thats why fps was so low. Adding -nativefullscr to the start option ofc fixes that. Dumbass...

After 4 days of tinkering, finally I can just play in peace :p

Reply 14 of 20, by the3dfxdude

User metadata
Rank Member
Rank
Member

So, I want to clarify on what I said. I suggested that DX8.1 would have consequently made it so Win95 could not be supported (obviously). I'm not saying there ever was a version of the game that could have worked with Win95. Indeed the beta disk and the install instructions I have say DX8.1 and Win98+ clearly. There are clearly calls into kernel32/user32 that only work in Win98 in the program. And they also shipped with DX8.1 on the disk.

However in those days, changes happened, so I wanted to refresh my memory some. Some things that weren't originally working got fixed, other things got removed, new things added as it went along. I just tried launching the beta under Win98 with DX8.0 with a PII 400 and Voodoo Banshee. It worked in DX mode, with a few graphic glitches when using banshee driver 1.03.04. I wonder if using very last voodoo driver would help? Trying the opengl switch gave a black screen after the 3dfx logo. But OGL might have not been ready in the initial version on the disk. So this goes off my memory, that despite the reqs, it didn't exactly have to use all the DX8.1 features.

I think I might try the beta and 1.0 version a bit more with DX8.0 just to see if anything more is there.

Reply 15 of 20, by leileilol

User metadata
Rank l33t++
Rank
l33t++

Some technical anecdote regarding a worse video card vs newer DX:

Some of the screenshots in the PowerVR Fun Thread involve a "DirectX 3" 3d card (PCX2) running some DirectX7+ games. The card hasn't had seen drivers newer than May 1998 (just before the launch of DX6) so there's a lot of driver compatibility leeway. Ironically many of the DX6/6.1 games refuse to start but forget about the lack of blending/mtex caps by DX7+. It's possible to play Empire Earth on the PowerVR PCX2 to a degree (if you can put up with the interface flashing and the tile flicker), and somehow it gets farther along there than a Voodoo2.

I haven't tried War3 on the PCX2 but i'd imagine it'd look busted without additive blend caps, which War3 uses a load of for almost everything. It's certainly far from DirectX8.1 capability.

apsosig.png
long live PCem

Reply 16 of 20, by the3dfxdude

User metadata
Rank Member
Rank
Member

So I more or less confirmed this much for Warcraft 3:
* Voodoo Banshee is not a good option even on DX8.1 and latest drivers on retail 1.0 version of the game (graphical issues)
* Voodoo 3 will run on DX8.0+, latest drivers (DX8.0 beta) on the beta game version and retail 1.0 version (plays, but a bit slow on min reqs)
* Voodoo 3 will run in OGL in beta with graphical issues
* Voodoo 3 will run in OGL in retail 1.0 version with no graphical issue, but it did crash while trying to run the first mission

So the min reqs are pretty good guide, but probably be better to run more at the recommended reqs. Maybe someone could patch things up to make it run in Win95, as there isn't much of a hurdle with a few unsupported calls. I can't say if every game supported graphics card is ok on the DX8.0 level in this game.

Reply 17 of 20, by Xenphor

User metadata
Rank Member
Rank
Member
the3dfxdude wrote on 2023-09-09, 02:05:
So I more or less confirmed this much for Warcraft 3: * Voodoo Banshee is not a good option even on DX8.1 and latest drivers on […]
Show full quote

So I more or less confirmed this much for Warcraft 3:
* Voodoo Banshee is not a good option even on DX8.1 and latest drivers on retail 1.0 version of the game (graphical issues)
* Voodoo 3 will run on DX8.0+, latest drivers (DX8.0 beta) on the beta game version and retail 1.0 version (plays, but a bit slow on min reqs)
* Voodoo 3 will run in OGL in beta with graphical issues
* Voodoo 3 will run in OGL in retail 1.0 version with no graphical issue, but it did crash while trying to run the first mission

So the min reqs are pretty good guide, but probably be better to run more at the recommended reqs. Maybe someone could patch things up to make it run in Win95, as there isn't much of a hurdle with a few unsupported calls. I can't say if every game supported graphics card is ok on the DX8.0 level in this game.

Interesting. I wonder how the Rage 128, TNT and i810 perform.

edit: I tried it on my Geforce 4 MX (Quadro) and it can't maintain a locked frame rate at 1024x768 with max details.

Reply 19 of 20, by Errius

User metadata
Rank l33t
Rank
l33t

I remember running the game with the -opengl parameter many years ago and not liking the result. The graphics looked rougher and less polished. I never tried it again.

ETA: Some games have confusing specs like "Windows 95 or Windows NT 4.0 and DirectX 6"

What this actually means is ( ( Windows 95 && DirectX 6 ) || ( Windows NT 4.0 && OpenGL ) )

Last edited by Errius on 2023-09-13, 07:50. Edited 2 times in total.

Is this too much voodoo?