Hi,
in order to improve Rathena dev I believe we need a better inner documentation, as it been said many time. There was no real improvement here for existing code even trough new one had huge comment.
So I did a little documentation myself, very basic but may be usefull, I gave it some time before on irc but doesn't seem you guys wanted to comit it so here it is :
http://pastebin.com/zB9rBZJb
Another subject of great important is all the ignore warnings x in the configure script. Thus creating and compiling our file without those check or at least thoses warnings.
So now let's face it what the points of ignoring some warnings ?
Are we so great that we know our code so well that we don't need to check warnings ? Even so we still could show them and ignore it'd be better then saying don't even tell me nothing about it. And if it was the case we wouldn't spent so much time trying to fix somes trivial warnings even trought when fixing them we create others warnings that we don't know about cause we don't show them...
Finally this would help people doing mod.
Ok now to speak more concrete we have those building option :
Wno-sign-compare -Wno-unused-parameter -Wno-pointer-sign -Wno-switch -fno-strict-aliasing
The only one understanble may be wno-switch since we have really long enumeration sometime, and that adding default : break; isn't something pretty.
fno-strict-aliasing may also still since will have to rewrite a lot to match it but it may be good to do it for optimisation :
http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html
Finally here a quick diff for configure to see our current warnings without the overrinde :
http://pastebin.com/UWUisbTi
It's quite ugly but it's just to see the warnings, we may add a configure options in future to add those flag or not.