Compile fixes, refactoring

git-svn-id: http://svn.code.sf.net/p/vcmi/code/trunk/@3627 4dfc6b2a-8b31-0410-aa91-d6c70e3ac834