I have uploaded a new version which makes it possible to edit sprites and copybits.
Sprite editing is still fairly basic though.
Only those shapes shown in the picture can be used and only in black color. (Another issue is that you can't change the ID...)
An interesting thing I noticed was that nxtRICedit seems to, when editing the sprite, use some default drawing commands and then convert them into 2 bit color. The circle drawing option doesn't always make perfectly symmetrical circles...
I use the nxtCanvas class to simulate a 2 bit canvas all drawing operations in the firmware. When the RIC file is loaded the its sprite data is converted into a nxtCanvas object. The editing GUI simply uses those commands to draw on the sprite.
It also means that every drawing method you can use in NXC will be possible to use to modify the sprite, for example drawing shapes with AND and XOR. When I have added it to nxtCanvas you will also be able to write with RIC fonts and draw polygons. If anyone thinks it could be useful to draw another RIC file on the sprite I can add that too.
There is one issue right now, the CopyOptions code I have written is a mess... I want to have it as a class, however the issue is that sometimes it needs to act on its own, and at other times it needs to be a member of a RIC file (to make parameters work). So the reason you can't draw in white right now is because it would have needed to set the CopyOptions to invert...
The separate dots in the screenshot is the draw command. In normal cases it will behave like in nxtRICedit, however this was done on the largest possible sprite which can be created in nxtRICedit which is 1024x512. The larger the canvas is, the slower the drawing is and therefore it didn't draw the dots often enough. The performance in nxtRICedit is much worse though, with less than 5 dots for the same drawing. (Ubuntu was running in a VM.)
I just tried something while writing. The resource hog seems to be in two different places, in mine it is in the drawing command while in nxtRICedit it is in the CopyBits command. Without the copybits statements it behaves pretty much like it should it nxtRICedit while RICcreator seems unaffected. And now that I think about it, I don't update the file preview in the corner while drawing so the CopyBits isn't even triggered...
Well, it needs some improvement here... EDIT: Improved it a bit, not perfect, but quite a bit better. No binary uploaded though.
On the other hand, I have fixed the GUI element to edit CopyOptions. It actually works now and it also hides the options that would have no effect for that element:
As also apparent, the formatting doesn't look good in Ubuntu since the font size apparently was much larger... There was also a few other bugs when adding new elements on Ubuntu which needs to be fixed... Installing QT and compiling RICcreator worked like a charm though.
Again my usual habit with writing way too much even though I'm a slow writer...