Much more testing is required (oh, but for qc-valgrind), but there is now
a ~945kB block of free data in the menu progs heap :).
Also, correct the printed size of the memory block to not include the
block header size.
It's probably nowhere near right, but probably ok for now (I need to study
the GNUStep code). I'm unhappy with the menu code hook, but it will have
to do for now.
The plist code was written long before I thought of resource handles, and
then it was forgotten. This is much nicer and safer than storing C
pointers in progs memory space (*shudder*).
+ Support for VC++ 2005 Express.
- MFC dependency for quakeforge.rc.
+ VC++ 2005 compatible icon, choose Vista or XP icon depending on SDK target OS.
! Renamed E_POINTER macro to E_PTR (was in conflict with Windows macro).
! Fixed HAVE_SNPRINTF and HAVE__SNPRINTF macros.
! Fixed HAVE_VSNPRINTF and HAVE__VSNPRINTF config macros.
+ Added explicit dependency to gdi32.lib and user32.lib when using Express.
! Changed -0x80000000 to INT_MIN
! Added return value when running *_Error for Visual C++ compiler.
! Function method_free wasn't freeing _meth parameter.
+ Added a Visual Studio solution specific to Express to remedy unsupported features.
! Renamed solution files to reflect their associated Visual Studio flavor.
! Updated vc2005/readme.txt to reflect changes and notify incompatibility with Wave preprocessor.
Here's a patch to NET_SendToAll() which was always
broken: it never skipped non-connected clients.
Depending on the compiler, it would wait the whole
5 seconds of its blocktime before it gave up.
While there, changed its blocktime argument to
double (the comparison is against a double.)
Wav file were not read correctly when encoutering most chunk type beside the ones used by QuakeForge.
This patch will fix the riff loader code so that unused but defined chunk are skipped. Most wav files should now be loaded correctly fixing some silent sound effect.
Also fixed a typo in wav loader and reordered wav validity check so that format is checked first. The data chunk could be inexistant on some weird format and so an invalid format is a more helpful error text.
! Fix: Skip unsupported chunk in riff loader instead of rejecting riff file.
! Fix: typo in Microsoft name.
! Fix: ordering of wav validity to enable more helpful error text.
I don't know about other FTEqcc compiled progs, but quoth doesn't try to do
anything clever (all its denormals are either vars of the wrong type, or
-0.0).
Some QuakeC compilers (eg, FTE) insert a data chunk between the progs
header and the rest of the progs data. Unfortunately, FTE does not maintain
the assumed 32-bit alignment.
This happens when qf fails to connect to jackd (possibly other times).
There is probably a better solution to the problem, but not opening a
stream when the sample rate is reported as 0 definitely fixes the inifinite
recursion in read_samples().
We've allowed a single level of parent directy access in quake path names
for a long time, but this got broken by qfs_expand_path. Thus, make
qfs_expand_path allow a certain number of parent directory levels (usually
0 or 1).