Want to help Irrlicht?

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Post Reply
bitplane
Admin
Posts: 3204
Joined: Mon Mar 28, 2005 3:45 am
Location: England
Contact:

Want to help Irrlicht?

Post by bitplane »

We should be encouraging you guys to make Irrlicht better, there's no lack of work to be done. So if you'd like to help but don't know how, here's a short guide. :)

1) Bug reporting

This is easy but time consuming work, all need to do is-

* (optional) Download a Subversion client and get the latest code from SVN trunk, or grab a nightly build.
* (optional) Create a sourceforge account if you haven't already got one.

Now follow these instructions.

If enough people help out by fixing the bug reports and test cases then we'll create a special user group for the bug team and give them moderator access to the bugs forums, so that they can rename and move threads.

2) Filling feature requests and fixing bugs.

The tracker is filled with bugs that need fixing and features that people would like to see in Irrlicht. You can help out by fixing/implementing one of these! If it's something big and you think that we may not accept it then make sure you discuss it in the bugs or open discussion forum first, or come to the chat room and discuss it in person.

Changes to the API, including any additions are always bad! Okay, they're not always bad for Irrlicht in the long run, but bad for your patch because it will need a lot of discussion before committing it and it will be a long time before you see your changes in an official release. Avoid them where possible.

If you fix a bug: Post your patch to the patch tracker, post a link to it on the bug report, and also bump the bug topic in the bugs forum.

If you fill a request: Post your patch to the tracker, a link to it on the request tracker, and create a new thread in the open discussion forum.

3) Reviewing patches

Patches always need reviewing, because:

* They don't conform Irrlicht's code style rules.
* They have gone stale; they don't work with the current version of Irrlicht.
* They contain more changes than is necessary, or changes which have nothing to do with the problem they fix. These must be split into multiple patches or have the useless parts removed.
* Some are not on the patch tracker, they are posted to the forums and have been buried. These need re-testing and submitting to the patch tracker.
* Some have been reviewed and need changes, one of the dev team have commented on the patch with an idea for a better implementation. These need to be rewritten.
* Like all code, they have bugs in them.

To review a patch:
* Decide where it should be applied: If it's a bug fix then it goes to the current release, if it's a new feature then it goes against SVN trunk.
* Download the patch file and open it in a text editor. Read through it and see if it conforms to Irrlicht's style guide, get an idea of what it does.
* Apply it to your code, manually if necessary.
* If there isn't a test case then write one, make sure that you test as much of the changed code as possible.
* If necessary, fix the patch. Use tabs, not spaces, use Windows line ends, remove unnecessary API changes, follow the style rules strictly.
* If the patch is supposed to improve performance then make sure you test it in release mode!
* Compile with all warnings enabled, try to remove as many as possible.

Once you've reviewed the patch:
* If you didn't make any changes, just post a comment to the original patch. Explain what you tried and that it works.
* If you made changes, post your new patch to tracker as a new item. Post a link to it in the old patch, link to it in the forum thread if there is one. You could post the patch in the forum in code tags instead, and link to that if you want.

4) Help extend Irrlicht.

The code snippets forum has lots of cool plugins and extensions, maybe you even wrote one yourself. We'd like to move as many as possible to IrrExt and build a team to look after them.
If you'd like to volunteer to help out, send an email to irrext-devs@lists.sourceforge.org
Submit bugs/patches to the tracker!
Need help right now? Visit the chat room
netpipe
Posts: 670
Joined: Fri Jun 06, 2008 12:50 pm
Location: Edmonton, Alberta, Canada
Contact:

Re: Want to help Irrlicht?

Post by netpipe »

4-1) Help maintain , improve, add to and repair the demos repository
https://github.com/netpipe/IrrlichtDemos
Live long and phosphor!
-- https://github.com/netpipe/Luna Game Engine Status 95%
BlitzCoder
Posts: 9
Joined: Wed Jun 15, 2022 6:49 am

Re: Want to help Irrlicht?

Post by BlitzCoder »

@netpipe great demos, I know this repo seems familiar.. it was Tecan then?
New Blitz3D/BlitzBasic/BlitzMax Home - https://blitzcoder.org
kormoran
Posts: 51
Joined: Mon Dec 28, 2015 4:50 pm
Location: Tolentino

Re: Want to help Irrlicht?

Post by kormoran »

Instructions for bug reporting and how to help Irrlicht are quite old, could anyone refresh them?
I'm interested in helping the Irrlicht project...
CuteAlien
Admin
Posts: 9838
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Want to help Irrlicht?

Post by CuteAlien »

I'd recommend mostly to just use Irrlicht. Sooner or later you will run into things you want changed. Report those. Those tend to be the best reports/patches as they usually fix real needs. But with instructions link gone, these are some thing to care about when reporting bugs:

Use either the sourceforge bug reporting tool (https://sourceforge.net/p/irrlicht/_list/tickets) or post here in the forum under bug reports (viewforum.php?f=7). Or like Bitplane wrote above you can also use both and link from one to the other. Reporting tool allows attaching stuff, while forum is maybe easier for discussion.

You can improve a bug report in several ways:
- Use a good title & description. Don't write "I've got a bug", but write what the bug does, example: "jumping in demo causes character to stick to ceiling". Give details how to reproduce it.
- Try to reproduce it yourself. If you can add an example how to reproduce it you'll help maintainers a lot. And try to make that example as small as possible, remove every line not related to the bug.
- Add information about your system: Which Irrlicht version you are using, which OS, which compiler, which compiler version you are using. If it's 3D related you can maybe even add info about your graphic card model.

If you want to write patches:
- The easiest way is currently if you use an svn client. Then "svn diff" will show you all changes to the official version.
On Windows with Tortoise svn you can do: Right click folder -> TortoiseSVN -> Create patch
On Linux on command line you can do: svn diff > somefile.patch
- Keep patches as small as possible. If you can split a feature up into several smaller features, please do so. The reason is that reviewing large patches is quite a chore for maintainers, so those often hang around a long, long time before being applied (if ever).
- Try to make your code style look like the Irrlicht code you are patching. Same bracket style, same variable naming style. Irrlicht doesn't really follow it's own style 100%, so just do your best :-)
- If you add new functions, look a bit around if there exist already similar functions (we have some stuff twice because we didn't notice...).
Also try to name new functions in a similar way to existing ones (again a bit tricky as Irrlicht sometimes uses different styles... go with the majority or so...)
- Big bonus points if you add a test for your patch
- Be aware that we do _not_ use the STL at this point (might change if there is ever an Irrlicht 2.0). It is on the other hand fine to post patches which bring our core classes closer to the functionality of STL.

And maybe don't start with the biggest thing or stuff that rewrites Irrlicht from scratch. Try to find something small at first. Or something you are a specialist in already.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
CuteAlien
Admin
Posts: 9838
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Want to help Irrlicht?

Post by CuteAlien »

There are also ways to help Irrlicht which are not directly related to the Irrlicht source code. Especially toolchains and integration with 3rd party libraries.

Toolchains is about helping people out to so they can model stuff with one tool and then have an easier time to use that model in Irrlicht in the end.
As a current example - if someone could update the outdated b3d Blender exporters (I think there are 2 around, one for Blender 2.49 and one fro Blender 2.8) to a new Blender version that would help Irrlicht users a lot. And one only needs to code a bit in Python for that. Same might be true for other tools.

Similar integration with 3rd party libraries can often be done without touching Irrlicht code directly. Like using Irrlicht with UI toolkits, sound libraries, physics libraries, input libaries. Even writing a simple example how to do that with Irrlicht can already help the community. And sometimes doing that kind of stuff leads then to patches which Irrlicht needs, for example to make integration easier.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
kormoran
Posts: 51
Joined: Mon Dec 28, 2015 4:50 pm
Location: Tolentino

Re: Want to help Irrlicht?

Post by kormoran »

CuteAlien wrote: Tue Mar 18, 2025 11:17 am I'd recommend mostly to just use Irrlicht.
...

Use either the sourceforge bug reporting tool
...

You can improve a bug report in several ways:
...

If you want to write patches:
...
Thank you
kormoran
Posts: 51
Joined: Mon Dec 28, 2015 4:50 pm
Location: Tolentino

Re: Want to help Irrlicht?

Post by kormoran »

CuteAlien wrote: Tue Mar 18, 2025 12:39 pm As a current example - if someone could update the outdated b3d Blender exporters
Actually, that's already done: https://github.com/GreenXenith/io_scene_b3d/tree/master
This revamped exporter works with any Blender version since 2.80
I was writing it myself and found out while looking for license claims... :roll:
CuteAlien
Admin
Posts: 9838
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Want to help Irrlicht?

Post by CuteAlien »

That's fantastic! If you have stuff like that never hesitate to post it in the Project Announcements forums. This was something people asked for a lot.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Post Reply