TundraCore: Make JSON a first class format in Tundra with CoreJsonUtils.h. RenderinModule: Implement JSON rendering config parsing that supports custom blocks for each platform so we can cope with a single config file. Add support for passing custom rendering configs as a cmd line param. Remove old Ogre .cfg files. Cleanup and remove dead code from OgreRenderingModule and Renderer.
CoreJsonUtils: Add Serializing QVariant and QObject* to QByteArray JSON data, also direct serialization of QVariant to file. Exposed ToObject and ToVariant from QJson that neatly converts QObject properties to a QVariantMap and back.
Explicitly get tunda-rendering-ogre.json from install directory. This might get skewed if Tundra is started from a browser with tundra:// and get it from the processes working dir.
CoreJsonUtils: Fix line number error reporting for ParseFile when comment lines are removed before parsing.
Implement support for --config JSON files. Added tundra.json (replaces plugins.xml) and tundra-client.json (replaces viewer.xml). Both XML and JSON are supported by --config, this does not break anything. You can cross reference XML from JSON configs and vice versa with embedded --config. TODO: If this JSON looks good to people we need to replace the default 'plugins.xml' from code with tundra.json.
Startup JSON config: Support passing multiple values per startup parameter as the value being a list. Less repetition in the config file.
Renderer: Remove member that was used in the removed AddResourceDirectory function (nothing was using this at least in core and I made a replacement with ProcessOgreResourceLocation).
CoreStringUtils::RemoveLines: Fix bug that left out the last endl from the file.
Improve logic and code to support defining a renderer for --headless runs. If you want to override this config for a --headless run use the --opengl and --direct3d9 params. Fix 'Null' to 'NULL' in the --nullrenderer plugin name, this caused this plugin to not load at all and went to the dx/opengl fallbacks.
Fix code around Tundra to work without crashing when a null/headless renderer is used.
Fixed finding of QJson includes on Mac
Added QJson fetching and building in BuildDeps.bash script
Move from the GPL (nasty for Tundra) licenced Null renderer to the new Headless renderer on Windows.
QJson windows build: Use INSTALL project to install the lib to the ./build prefix. This way we can get uniform include cmake find path with mac etc. Still use the lib folder + lib name for windows linking in cmake, this is much cleaner and will always pick the right .lib for the build configuration.
Fixed Ogre Plugin_*.framework and RenderSystem_GL.framework startup loading
Fix permissions problem in cloning the qjson library on OSX.
Added qjson Linux build.
Fetch assimp from git. Match svn revision 1300. Closes #721.