SDL is under GPL which matricks don't really like. Besides, it's very big for the little things Teeworlds uses.
I know about the GPL "issue", but technically speaking SDL would be the better choice IMHO. I mean the GPL doesn't hurt you, if you have a compatible license (that is all "free as in beer without omnimous restrictions)
Yes, we need another license. matricks have spent a LONG time (like 3 months) on choosing a license for Teeworlds, including talk with an Ubuntu license expert (if I don't remember wrong). There are reasons why he didn't choose GPL. What's the problem with the current license?
I didn't talk about GPL, I said X11/MIT, I don't see where the current (in SVN) "teeworlds license" is in effects any different than X11/MIT, except worded differently, and have to be rechecked with every other license out there if compatible or not. So why not use the standard license X11/MIT to keep the jungle a little smaller. Just because we were talking about using "standard tools".
The TCP thing matricks has though of, but it would be better if everything went through the same socket. That makes it easier to configure the firewall.
Its not so difficult to enable TCP and UDP of the same port number. Other games/applicatios have this too, some since decades (speaking e.g. of DNS). And it works.
The reason for mem_copy and such functions is that on specific platforms you'll want to implement an own.
No, on what system I would ever want to implement an own mem_copy routine? There are standards out there. And memcpy is a pretty strong standard, which machine/OS hasn't got that? Its part of the C standard!
The reason for implementing this is to do heap checking on platforms that don't have gcc/glibc, for example Windows.
Well windows has gcc/glibc available for it. Google for "gnuwin32"
Vector libraries often are too big for the little usage Teeworlds has. "It's stupid to kill flies with bazokas" to quote matricks.
Honestly no, The linker will either just pick out the routines used. So why not use a standard bazoka, if it does the job pretty well already?
The difference is that you can make a completely other game by changing the files in the game-dir and keeping the engine (simplified).
Yes, but at least as far as I've seen there are quite some teeworlds specific stuff in engine as well...
The file prefix is really helpful when you for example read that it's the file gs_server.cpp you should look in. By using these letters anyone can find the file directly, and that makes working with multiple files much easier.
Well wherre would you read this. How about reading you should look into the file game/server/server.cpp. Path and prefix is IMHO unnecessary duplication of data.
Documentation is on its way. Since Teeworlds is in alpha state right now, it would be a waste of time to document everything, especially the network part, since it changes a lot from version to version. There already are a documentation in the trunk (for 0.5), feel free to check it out.
As I've wrote, you don't need detailed documentations in every detail. But 1 little sentence per function is not thaaaat much a work, and would do wonders.
The reason of the renaming is that Teeworlds use both C and C++ files and that's a simple way of separating them.
As I explained, if you keep the naminig convention of header files being named after the classes, and classes having the first letter a capital letter, you can easily destinguish c from c++ headers.