Remove detection for cards that are don't support at LEAST DirectX 8.
There's no way they would even be able to get past Direct3DCreate9, so we
shouldn't need to worry about them... I hope.
If you have less than 11MB VRAM or need to use the ref implementation,
then you are using a dinosaur and have no business even attempting to play
this game.
This is the beginning of efforts to reduce the scope of Windows.h. I have
shuttled it into hsWindows.h (again) and fixed the compilation of the
major apps. There is still some scope work that needs to be done, and the
Max plugin has not yet been addressed.
This fixes a crash that occurs on systems with no Direct3D device
available. The device selector returns a NULL string, which is then
strstr'ed for some ancient nvidia card. For now, let's wrap that in a NULL
check. Eventually, when we scrub plClient.cpp and winmain.cpp, that hack
should just be dropped.
Update the Windows 7 taskbarlist progress bar on plOperationProgress
callbacks. It's not totally nesecary, but it adds a nice bit of polish to
the experience.
It turns out that eap (I know it was him... look at those weird comments
between the functions) was calling plClient::IDraw for every KeyedObject we
loaded in order to update the progress bar. For some reason, some stooge
added a framerate limit to the MAIN DRAW LOOP instead of this function.
*Sigh*. Either way, the framerate limit is a HACK. We should really be
loading resources in another thread.
Rearrange some things so such that low-level CoreLib headers aren't quite
so crazy. For higher level stuff, you still need to include the
appropriate header.
- Fetches a "SecurePreloader" manifest from the FileSrv, allowing gzipped
python packages
- Save data to the disk for future game launches. We only update if we
detect what we loaded into memory doesn't match what the server has.
- Falls back to downloading Python\*.pak and SDL\*.pak from the AuthSrv if
the "SecurePreloader" manifest is not found.
Function and macro names for endianness were previously vague,
and on big-endian systems entirely misleading. The names are
now properly descriptive of what they actually do.