Based on Thilo's Elite Force patch for ioq3.
Updated Makefile changes. Left out in-tree win32 lib support.
Striped trailing whitespace from snd_codec_mp3.c.
Changed two #if USE_CODEC_MP3 to use #ifdef.
The text lines don't meet at top of the sceen in 1920x1080, restore
drawing a cut off line across the top. In 640x480 this line isn't seen
at all. This is still better then trying to draw twice as many lines
than are actually seen (the way it was before the last commit).
It doubles the size of the data compared to the default (22050),
so increase the buffer automatically. Likewise, decreasing speed
doesn't need as much (though that doesn't really matter).
After playing Team Arena, if you switch to Q3A and try to play a demo with
cl_allowDownload enabled it would print "Need Paks: blah blah" and not play the demo.
Note: This uses the generic curlbuild.h because it is used by multiple platforms.
A system curl would have a configure generated one.
The libraries for win32 and win64 were cross compiled with these options:
--disable-shared --enable-static --disable-ares --enable-http \
--enable-ftp --disable-ldap --disable-ldaps --disable-rtsp \
--disable-dict --disable-file --disable-telnet --disable-tftp \
--disable-pop3 --disable-imap --disable-smtp --disable-gopher \
--enable-ipv6 --without-ssl \
--disable-manual --disable-libcurl-option
This effectively enables only HTTP and FTP protocol support.
If OpenAL source isn't playing, often what happens is: queued buffers is 0 and processed buffers is non-0.
S_AL_StreamUpdate won't play the steam if queued buffers 0.
So start the stream in S_AL_RawSamples.
Don't assume we have unlimited OpenAL buffers.
Detach buffers from sources by setting AL_BUFFER to 0. Cannot delete buffers on OS X immediately after alSourceUnqueueBuffers.
Free unprocessed stream and music buffers.
Free unused sfx buffers when sound file exists and fails loading into OpenAL (though I haven't seen it fail).
Have cls.localServers use CL_InitServerInfo.
Don't set cls.localServers netType to from.type, it's the wrong value.
Note: server->visible is not cleared in CL_InitServerInfo, as stated by a comment below a place where CL_InitServerInfo is used.
Introduced in commit "Add togglemenu command" bf2b04.
Don't let UI key event changing key catcher affect bind parsing. Bind parsing itself will never change the key catcher.
Example of issue: if mouse1 is bound to +attack when clicking Resume Game, player will shoot until releasing the mouse button.
Mouse button should have to be released and pressed again before player will shoot.