<feed xmlns='http://www.w3.org/2005/Atom'>
<title>zittrig-4/Makefile, branch master</title>
<subtitle>The server software used for the Der Bunker Tremulous servers.
</subtitle>
<link rel='alternate' type='text/html' href='http://redman.xyz/git/zittrig-4/'/>
<entry>
<title>rename the Makefile to GNUmakefile</title>
<updated>2017-02-06T16:45:28+00:00</updated>
<author>
<name>/dev/humancontroller</name>
<email>devhc@example.com</email>
</author>
<published>2017-02-06T16:31:44+00:00</published>
<link rel='alternate' type='text/html' href='http://redman.xyz/git/zittrig-4/commit/?id=bb3a26d68c48eab79bbb3bb283c11a348413238c'/>
<id>bb3a26d68c48eab79bbb3bb283c11a348413238c</id>
<content type='text'>
because it uses GNU Make extensions

also update the .gitignore appropriately
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
because it uses GNU Make extensions

also update the .gitignore appropriately
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' into gpp</title>
<updated>2016-04-09T16:57:28+00:00</updated>
<author>
<name>Tim Angus</name>
<email>tim@ngus.net</email>
</author>
<published>2016-04-09T16:57:28+00:00</published>
<link rel='alternate' type='text/html' href='http://redman.xyz/git/zittrig-4/commit/?id=f45fbef604e05144057dec8d1dbfc5d4f5a2a822'/>
<id>f45fbef604e05144057dec8d1dbfc5d4f5a2a822</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>OpenGL2: Direct state access, part 1: Texture binds</title>
<updated>2016-04-07T10:53:16+00:00</updated>
<author>
<name>SmileTheory</name>
<email>SmileTheory@gmail.com</email>
</author>
<published>2016-01-18T12:46:01+00:00</published>
<link rel='alternate' type='text/html' href='http://redman.xyz/git/zittrig-4/commit/?id=970b21fbcd3d42e641807ac0c5e9a29dc21095e9'/>
<id>970b21fbcd3d42e641807ac0c5e9a29dc21095e9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use Opus for VoIP</title>
<updated>2016-04-07T10:50:43+00:00</updated>
<author>
<name>Zack Middleton</name>
<email>zturtleman@gmail.com</email>
</author>
<published>2013-12-11T03:14:13+00:00</published>
<link rel='alternate' type='text/html' href='http://redman.xyz/git/zittrig-4/commit/?id=975d4d97e4b9459c3d21b4dc3ecd807e9c330d9a'/>
<id>975d4d97e4b9459c3d21b4dc3ecd807e9c330d9a</id>
<content type='text'>
Server/client VoIP protocol is handled by adding new cvars
cl_voipProtocol and sv_voipProtocol, sv_voip and cl_voip
are used to auto set/clear them. All users need to touch
are cl/sv_voip as 0 or 1 just like before.

Old Speex VoIP packets in demos are skipped.
New VoIP packets are skipped in demos if sv_voipProtocol
doesn't match cl_voipProtocol.

Notable difference between usage of speex and opus codecs,
when using Speex client would be sent 80ms at a time.
Using Opus, 60ms is sent at a time. This was changed because
the Opus codec supports encoding up to 60ms at a time.
(Simpler to send only one codec frame in a packet.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Server/client VoIP protocol is handled by adding new cvars
cl_voipProtocol and sv_voipProtocol, sv_voip and cl_voip
are used to auto set/clear them. All users need to touch
are cl/sv_voip as 0 or 1 just like before.

Old Speex VoIP packets in demos are skipped.
New VoIP packets are skipped in demos if sv_voipProtocol
doesn't match cl_voipProtocol.

Notable difference between usage of speex and opus codecs,
when using Speex client would be sent 80ms at a time.
Using Opus, 60ms is sent at a time. This was changed because
the Opus codec supports encoding up to 60ms at a time.
(Simpler to send only one codec frame in a packet.)
</pre>
</div>
</content>
</entry>
<entry>
<title>OpenGL2: DDS (compressed textures) support.</title>
<updated>2016-04-07T10:46:04+00:00</updated>
<author>
<name>SmileTheory</name>
<email>SmileTheory@gmail.com</email>
</author>
<published>2015-12-18T14:53:20+00:00</published>
<link rel='alternate' type='text/html' href='http://redman.xyz/git/zittrig-4/commit/?id=342a3bd68085cdc11f3167253492043459ee9910'/>
<id>342a3bd68085cdc11f3167253492043459ee9910</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Maybe fix old MSYS when there is an empty for loop</title>
<updated>2016-04-07T10:12:56+00:00</updated>
<author>
<name>Zack Middleton</name>
<email>zturtleman@gmail.com</email>
</author>
<published>2015-09-30T06:26:27+00:00</published>
<link rel='alternate' type='text/html' href='http://redman.xyz/git/zittrig-4/commit/?id=c65bd7998d56cae2670b30e84a2dbc547002d65d'/>
<id>c65bd7998d56cae2670b30e84a2dbc547002d65d</id>
<content type='text'>
Based on ioquake3 svn r1485.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Based on ioquake3 svn r1485.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: if tput fails, fall back to a reasonable text width</title>
<updated>2016-04-07T10:02:31+00:00</updated>
<author>
<name>Simon McVittie</name>
<email>smcv@debian.org</email>
</author>
<published>2015-07-22T07:15:18+00:00</published>
<link rel='alternate' type='text/html' href='http://redman.xyz/git/zittrig-4/commit/?id=78d3929f526d06b1879c565ed08b337ba6138cae'/>
<id>78d3929f526d06b1879c565ed08b337ba6138cae</id>
<content type='text'>
If TERM is not set (which can happen in autobuilders and other
batch environments), or if tput cannot determine the number of
columns for some other reason, then it can fail and not produce
any output. Prior to this change, that would result in passing
field width -4 to fmt, which is an error and causes fmt to
produce no output.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If TERM is not set (which can happen in autobuilders and other
batch environments), or if tput cannot determine the number of
columns for some other reason, then it can fail and not produce
any output. Prior to this change, that would result in passing
field width -4 to fmt, which is an error and causes fmt to
produce no output.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: define ARCH_STRING in Makefile on Linux and other GNU platforms</title>
<updated>2016-04-07T10:02:31+00:00</updated>
<author>
<name>Simon McVittie</name>
<email>smcv@debian.org</email>
</author>
<published>2015-07-14T21:51:57+00:00</published>
<link rel='alternate' type='text/html' href='http://redman.xyz/git/zittrig-4/commit/?id=f0e19948fe871198ea9c049f721ab2caf458bcb7'/>
<id>f0e19948fe871198ea9c049f721ab2caf458bcb7</id>
<content type='text'>
GNU platforms (Linux, kFreeBSD, Hurd) have endian.h to determine
endianness, so all architectures except x86_64 are in fact treated
identically, except that their ARCH_STRING is different.
The ARCH_STRING must always be identical to the ARCH from the Makefile,
otherwise the engine will not find its cgame, game and ui plugins
under their expected names and startup will fail. If we pass it in
from the Makefile, then an identical value is guaranteed, and we can
get rid of an increasingly long list of defined(__some_cpu__) tests.

The one remaining quirk is that we test __x86_64__ to determine
whether to define idx64; I've kept that, but separated it from
the ARCH_STRING.

On non-Linux platforms we only support a few architectures anyway,
so keeping the list up to date is less of a burden; *BSD porters
could probably use the same technique to get support for lots of
architectures with little effort, but I have not done that here,
because I cannot test it.

Windows must continue to support preprocessor-based architecture tests
in any case, so that the MSVC solutions (which do not use the Makefile)
can continue to work. However, Windows only runs on a few CPU families,
so this shouldn't be a significant burden in practice.

When cross-compiling, the tools are compiled for the build architecture
(COMPILE_PLATFORM, COMPILE_ARCH) rather than the host architecture
(PLATFORM, ARCH), so define ARCH_STRING to COMPILE_ARCH on a GNU
COMPILE_PLATFORM.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GNU platforms (Linux, kFreeBSD, Hurd) have endian.h to determine
endianness, so all architectures except x86_64 are in fact treated
identically, except that their ARCH_STRING is different.
The ARCH_STRING must always be identical to the ARCH from the Makefile,
otherwise the engine will not find its cgame, game and ui plugins
under their expected names and startup will fail. If we pass it in
from the Makefile, then an identical value is guaranteed, and we can
get rid of an increasingly long list of defined(__some_cpu__) tests.

The one remaining quirk is that we test __x86_64__ to determine
whether to define idx64; I've kept that, but separated it from
the ARCH_STRING.

On non-Linux platforms we only support a few architectures anyway,
so keeping the list up to date is less of a burden; *BSD porters
could probably use the same technique to get support for lots of
architectures with little effort, but I have not done that here,
because I cannot test it.

Windows must continue to support preprocessor-based architecture tests
in any case, so that the MSVC solutions (which do not use the Makefile)
can continue to work. However, Windows only runs on a few CPU families,
so this shouldn't be a significant burden in practice.

When cross-compiling, the tools are compiled for the build architecture
(COMPILE_PLATFORM, COMPILE_ARCH) rather than the host architecture
(PLATFORM, ARCH), so define ARCH_STRING to COMPILE_ARCH on a GNU
COMPILE_PLATFORM.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: canonicalize all ARM variants to "arm", matching q_platform.h</title>
<updated>2016-04-07T10:02:31+00:00</updated>
<author>
<name>Simon McVittie</name>
<email>smcv@debian.org</email>
</author>
<published>2015-07-14T21:51:55+00:00</published>
<link rel='alternate' type='text/html' href='http://redman.xyz/git/zittrig-4/commit/?id=3711115ee2d393b3fc3b7ef744803ca41ecc2ac6'/>
<id>3711115ee2d393b3fc3b7ef744803ca41ecc2ac6</id>
<content type='text'>
The ARCH in the Makefile must match the ARCH_STRING in q_platform.h;
otherwise, ioquake3 will install (for instance) uiARCH.so but look for
uiARCH_STRING.so, which isn't going to go well (particularly for
the modular renderer).

Like i386, but unlike most (all?) other Linux platforms, uname -m on
32-bit ARM machines can have various results starting with "arm",
depending on the specific CPU version (e.g. Raspberry Pi is armv6l,
RPi2 is armv7l). Again similar to the x86 family,
it's appropriate for them to share an architecture suffix;
q_platform.h has traditionally used "arm" so let's use that.

64-bit ARM makes a clean break from this, much like 64-bit x86 does:
uname -m produces a string not starting with arm (specifically
"aarch64"), and gcc predefines __aarch64__ instead of __arm__.
As a result, it is unaffected by this change.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ARCH in the Makefile must match the ARCH_STRING in q_platform.h;
otherwise, ioquake3 will install (for instance) uiARCH.so but look for
uiARCH_STRING.so, which isn't going to go well (particularly for
the modular renderer).

Like i386, but unlike most (all?) other Linux platforms, uname -m on
32-bit ARM machines can have various results starting with "arm",
depending on the specific CPU version (e.g. Raspberry Pi is armv6l,
RPi2 is armv7l). Again similar to the x86 family,
it's appropriate for them to share an architecture suffix;
q_platform.h has traditionally used "arm" so let's use that.

64-bit ARM makes a clean break from this, much like 64-bit x86 does:
uname -m produces a string not starting with arm (specifically
"aarch64"), and gcc predefines __aarch64__ instead of __arm__.
As a result, it is unaffected by this change.
</pre>
</div>
</content>
</entry>
<entry>
<title>Makefile: confine $(LIB) to the one platform that needs it, namely irix64</title>
<updated>2016-04-07T10:02:31+00:00</updated>
<author>
<name>Simon McVittie</name>
<email>smcv@debian.org</email>
</author>
<published>2015-07-14T21:51:53+00:00</published>
<link rel='alternate' type='text/html' href='http://redman.xyz/git/zittrig-4/commit/?id=124894b4e9bb5ebe6d8e674340b3c1e053c690d1'/>
<id>124894b4e9bb5ebe6d8e674340b3c1e053c690d1</id>
<content type='text'>
It isn't mentioned anywhere else, and deleting it from the Linux code
path means we don't need to maintain an exhaustive list of 64-bit
architectures.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It isn't mentioned anywhere else, and deleting it from the Linux code
path means we don't need to maintain an exhaustive list of 64-bit
architectures.
</pre>
</div>
</content>
</entry>
</feed>
