osgFX::Effect is awkward to use because of the lazy-definition of passes, no support for compileGLObjects, useless 'Technique' abstraction and having to define silly methods like 'effectAuthor()'
Handling the multi-pass rendering inside the Drawable also avoids redundant culling tests against the same bounding box for each pass.
Apparently, the SDL_WarpMouseInWindow can be very expensive (anywhere from 0.1-5ms) due to XSync() in the implementation.
This was causing no-grab=1 configurations to suffer from terrible stuttering when turning the view.
both widgets display their own progess indicator. it was being set for
value (when you hovered over the level of your skill, eg the "5" in
"Acrobatics 5"), but not for the name.
this fixes that, but the progress information is being stored/displayed
by two different widgets for one skill
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.
An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.
The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.
Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.