Basic problem is that Irrlicht does not need more feature developers but more maintainers. Right now far too much of my time is spend hunting stuff that broke at some point and figuring out what the coders (which often are gone) have thought about it when coding or changing things. Around 2/3 of my open todo's for Irrlicht 1.9 are maintenance problems and those are the real problems which take lots of time. I don't worry much about new features, adding those is fun and I'll enjoy getting back to that once I fixed all the troubles the last set of features has produced (some of my own actually, but more not). But as I doubt switching to git first will get me even a single patch for the real problems I'm struggling with in Irrlicht right now that switch will be after 1.9 release, not before. I'm even somewhat glad that other programmers are pausing with features currently as it's the only chance for me to catch up a little bit. Stuff like switching to STL - that's fun and I'll enjoy doing that after 1.9. Rewriting a string split for the 3rd time... try to find motivation for that (some todo's will just make you close your IDE). Or figuring out the interplay of rendertargetsize, device-size, viewport size and the OnResize function in videodrivers in combination with GUI. Stuff which means you have to reboot several times while developing just to see what it does on each OS and then try to find out why it goes so horribly wrong on Android. And do that all when you wrote none of the code involved and you haven't even worked on OS level much on Android.
I get that people want to help stuff getting forward with Irrlicht - but boring maintenance _is_ the stuff blocking Irrlicht because it got neglected too much in the past because everyone just put in more features and left bug-fixing for the next guys. Thought there is also another option - ignore all maintenance and kick out everything you don't need yourself - I kinda like what devsh does there - reducing Irrlicht to OpenGL and kick out everything that has collected dust for years. I often consider doing that as well, but basically that means I would no longer work on Irrlicht, but would do my own spin-off engine.
edit: Just to give you an idea how the real problems look like. This is a list of things which I did _not_ plan for Irrlicht 1.9, but did come up within this year while I tried to find time to work on the Irrlicht 1.9 todo's (there have been a lot more certainly, this are just the ones which are still open and not fixed already). So this is basically the list of things where I have not even decided yet in some cases if it's a problem for Irrlicht 1.9 or not. The real 1.9 tasks are a similar list I made a year ago. Note also that at least 6-7 of those are caused by recent featues (which were not yet in Irrlicht 1.8).
Bug (#440) with GL materials using second texture when drawn twice.
https://sourceforge.net/p/irrlicht/bugs/440/
Check android rotation:
http://irrlicht.sourceforge.net/forum/v ... =1&t=52095
Irrlicht simply ignores rotation - which means coordinates are wrong, drawing is wrong, etc.
Actually - Irrlicht never translates input-coordinates on Android - when using other resolutions it's very noticable.
And it probably should have some parameter for resizing (if it's possible to resize a context at all - likely not).
Resolution given in createDevice < real window size = viewport always left-bottom corner.
When createDevice > real window... not sure. for some reason also drawing below expected top then.
(my moto-g should have 1280×720, but test if that's true)
Go over examples (done for first 10). Like example 13 using "test" as variable name and creating textures outside the scope they have to be and documentation mixing rendertexture and rendertarget.
Maybe light problem:
http://irrlicht.sourceforge.net/forum/v ... =1&t=51712
Explanation is likely wrong documentation (radius doesn't mean light stops but stops beeing full brightness).
See
http://www.glprogramming.com/red/chapter05.html
(example to test in ~/official_irrlicht/linux/IrrlichtStuff/camacho/IrrOde)
Check if a spot-light (with 180.0 degree angles) can be used for a hard cut-off at a certain radius.
Bug in toolbar placement when a modal dialog is open. See code gui_toolbar.cpp in irr-playground-micha repo.
bug-example from Sérgio Augusto Vianna, bug-report from Stephen Lynx
Also while working on modal: Make it more clear in documentation that the modalscreen should be the parent of your modal window (so modalwindow->addChild(yourmodaldialog))
Rewrite string::split once more:
http://irrlicht.sourceforge.net/forum/v ... 34#p299634
billboard drawing, sorting transparent stuff:
http://irrlicht.sourceforge.net/forum/v ... =1&t=51598
See also very old topic about this:
http://irrlicht.sourceforge.net/forum// ... hp?t=33410
And bugreport:
https://sourceforge.net/p/irrlicht/bugs/262/
And feature request (with link to code):
https://sourceforge.net/p/irrlicht/feat ... uests/128/
Quaternions:
Maybe check (quaternion rotation problem, but... bad testcase):
http://irrlicht.sourceforge.net/forum/v ... =4&t=51520
Update for that one - it has a fix now for Irrlicht!
Quaternion slerp and lerp should normalize their results. lerp is never used inside Irrlicht, but why are there no errors with slerp in Irrlicht? Or did they simply not get reported yet?
CAnimatedMeshHalfLife using it's own quaterion slerp function - should use irrlicht core classes (but whole CAnimatedMeshHalfLife looks to me like a copyright violation... I don't want to touch that one)
quaternion (another float trouble *sigh*):
http://irrlicht.sourceforge.net/forum/v ... &start=120
quaternion to euler bug? (Hybrid mentioned gimbal lock problem in toEuler):
http://irrlicht.sourceforge.net/phpBB2/ ... hp?t=43725
Reflection opengl linux broken (not yet tested on Windows) since r4989. Switch to reflection in material viewer messes up the gui. (log just says: Fixed issue related to rev4986.).
(probably fixed now, just not yet read&tested fix)
Revision 5279 (replacing mipmap parameter in ITexture by 'layer' - which sounds strange... why not a new parameter?) broke many Burnings tests failing, for example terrainSceneNode (only 2 tests - not mentioning driver?) and lightMaps
(likely fixed now, just not yet read through &tested fix)
Can we rename draw2DImage to get rid of: warning: 'irr::video::COGLES2Driver::draw2DImage' hides overloaded virtual function. Same in COpenGLDriver (COpenGLDriver.h:147)
It's only used in COpenGLCoreTexture::lock. But I'm not quite certain yet about the cubemap/layer stuff there. Slightly irritating to have "layer" suddenly mean something new than in the past.
32-bit obj loader patch:
http://irrlicht.sourceforge.net/forum/v ... =9&t=51441
(also has STL patch, LWO also could need it - see NASA-3D-Resources\3D Models\Aeronomy of Ice in the Mesosphere)
But needs change of meshbuffers first so they can tell their own type. Otherwise it breaks current hacks where people cast to meshbuffer implementations knowing which type is used (by looking it up in code).
Font-test ttf.cpp makes font more invisible with each new character typed when ETCF_ALLOW_MEMORY_COPY is not set.
E:\projects\yoran\i3\freetype\objs\vs2013\x64
See also other test-case for (probably) same bug:
http://irrlicht.sourceforge.net/forum/v ... 22#p300322
My guess: Alpha handled wrong. It looks a little bit like it only gets on/off for alpha and no values in between. (likely we get colors where alpha is applied already + alpha so we now have alpha twice)
Check code in COpenGLCoreTexture.h lock()
Should probably add those flags to examples in c::b for Linux (but do after merging ogl branch, we maybe disable ES1 anyway. Also GL might be used already): GL EGL GLESv1_CM GLESv2
Or maybe we need different targets for that (as most people won't need ES by default).
Demo D3d9 shadows broken in r4794. Shadows should have better tests.