Add mouse support for menu slider control.
Pre-register model specific sounds.
Adjust LOD for upscaled, non power-of-two textures.

Also put back checks for OpenGL version and restore OpenGL 1.1
requirement.
Fix handling of empty menu lists.
Clean up and fix demo browser menu.

Don't list ‘..’ entry in the root directory. Fix crash when there are no
demo entries in list. Check that initial browsing directory actually
exists before opening menu.
Fix endianness issue, optimize HQx for 64-bit.

No reason to have a separate 32-bit implementation, compiler emulated
64-bit arithmetic is fast enough.
Fix possible use of uninitalized variables.
Improve FS_ListFiles when operating on pack files.

Fix searching in the root directory of pack files: NULL path finds all
files, empty path excludes subdirectories. Add basic support for listing
directories inside pack files.
Fix MSVC compilation issue.
Clean up Makefile.
Don't set instant packet flag when not connected.

Otherwise pressing ‘+attack’ or ‘+use’ during demo playback caused
the instant packet flag to be set and never cleared, resulting in
sub-millisecond client frames.

Also clear instant packet flag when paused.
Seed PRNG before executing configs.
Don't project smoke model shadow.
Allow fixed linking to LIBGL/LIBAL.

Also check that all core functions are present when doing dynamic
linking to improve robustness.
Convert HQx and scrap to 32-bit color.

Allow putting small 32-bit pics onto the scrap and upscaling them.
Also limit upscaling level based on maximum GL rexture size.
Fix vwep model replacements.

Never try ‘male’ replacements for models other than ‘cyborg’. Custom
models depend on this original Quake 2 client behavior.
Use NPOT textures on OpenGL 3.0 and higher.
Add ‘gl_versionoverride’ variable.
Add ‘resetall’ command.
Ignore ‘game’ variable when doing ‘resetall’.

Changing ‘game’ from inside the loop is especially bad since it triggers
config execution.