Rearraging the source structure: All sources moved under /src folder that has subfolders Core, Application and EntityComponents. Needed changed done to the CMake system. Lots of other minor name changes, some easier to use macros added to our CMake system, cleaning up CMake information prints. The folder structure under /src is subject to change still.
More CMake system enhancements and pretty and more informative printing. Move EnviromentModule back to under src/Core so BUILD_SDK_ONLY can work, as PhysicsModule still links against EnvironmentModule.
UpdateModule: Make it build, opt out from default build like before. This is only useful for Tundra windows MSI installer builds.
PythonScriptModule: Clean all the dead code away, make adjustments where they are needed for tundra2. Removed decorator classes and a useless PythonQt startup class. Left alot of todo tags where py maintainers should look and determine if said code part is still needed and should be kept. Neet to do: New decorator classes for new math lib, left a todo about that also. Note: This module has not been tested and is not a part of the default build yet, it only builds now but I wont guarantee it works just yet.
PythonScriptModule: Add instance decorators to PythonQt for Scene* and Entity* to get *Raw functions back. It seems that there is no nice way to handle boost::shared_ptr in PythonQt decorators. However now when we implement these additional functions in PythonModule, we can clean out the uglyness from Scene.h and Entity.h. Added new apitests to test creating components and getting components from them. Moved AssetRefDecorator to TundraWrapper files.
PythonScriptModule: Reworked the module quite a bit. Simplified how things get started and stopped. Implemented loading startup pyplugins from the executables xml config. Implemented circuits manager and autoloader for backup if we need them, but seems to me we dont need circuits for anything. Added python and pythonqt cleanup (free mem and stuff, was not there before, huh). todo: figure out why apitest.py crashes app on shutdown if you connect qobj signals from framework, exact place is SceneApi dtor but no idea why. It must be something wonky in the pythonqt signal/slot mechanism. We had similar crashes in earlier naali/tundra when people forgot certain disconnects for connected signals. Puuuuuuuuuh...
KinectModule: Move cherry picked module to src/Application/KinectModule.
KinectModule: Make build and load in tundra2. No longer DeviceAPI IDevice but a dynamic object in framework, KinectDevice.h has detailed instructions how to get and use from c++/javascritp/python.
PythonScriptModule: Remove circuits module manager and all code related to it. You can revert this commit to get them back, but it seems we dont need these so no need to drag this any further, the code is in history anyways now.
PythonScriptModule: Fix connecting to EC_Script signal, signature changed. Remove FrameAPI connection to pump circuits.
New BrowserUiPlugin: Replaces the few browser related signals that were hackisly in UiAPI in tundra 1.x. Implements CookieJar that was before hackisly in AssetCache source files. This module has the data it copies to install directory under the sources, if you are developing and want to test this you need to manually copy 'jsmodules' to /bin from /src/Application/BrowserUiPlugin. Also you need to add the cpp and js plugins to a start config file.
PythonModule: cleaup startup prints, remove one shutdown print that only was useful on debug mode. Remove dead commented code.
replace staticQtMetaObject references with public staticMetaObject
PythonModule: Automatically disconnect all qt signal/slot connections made from python objects to c++ QObjects. This should remove the exit crash we have had for ages. Needs modified PythonQt that can be found from deps sources branch.
BrowserUi: Support for setting global proxy host and port. Afaik this affects the web tabs and any QWebViews used int he whole application so should affect EC_WebView aswell. Thanks for the code goes to Koysti from the VTT team, I just merged and cleaned a bit.
VlcPlugin: Provides a EC_MediaPlayer that supports all formats that VLC can, in both audio and video. Renders to a inworld EC_Meshes submesh index just like EC_WebView does. Also provides a nice 2D media player widget where you can control the playback. Can be set to interactive mode, then it shows a context menu when left clicked in world by the user.
VlcPlugin: Buffering ui stuff and other cleanup.
VlcPlugin: Support for streamingAllowed boolean attribute. If this is set to false, the source media is downloaded via asset api and the cache disk source is given to vlc. This has two benefits, caching (dl only once) and playback is more fluent as you dont have to buffer all the time from the web. Streaming is allowed as a default, modify it to your EC if you want the direct dl before load. Made a clear 'downloading media...' ui inworld so you know what the EC is doing.
Static code analysis: Visual Lint with CppCheck. Mainly uninitialized variables and moving some more complex iter data types to preincrement to get perf increase (surely minimal :) as suggested by CppCheck. Nothing too critical found.
Static analysis continued: I failed to check the last build results and had couple of errors, so reverting a few things.