Moving Up: Plans to Tackle Larger Issues

My next two tasks for DPS909 are to fix two issues that are a bit bigger than the ones I've dealt with previously. Thanks to my prof, I've already got one issue to work on: a bug in Filer where flags are interpreted as strings, not numbers. I'm not entirely sure how much work it will take to fix this -- I think it largely depends on how wide-spread the issue is across files. If it's contained to only a few, that makes my life easy; if not, I imagine I'll be playing a game of "Where's Waldo", where Waldo is one of many instances of the bug. On the bright side, my prof has offered to mentor me through fixing the bug, so I know I can count on some guidance for this.

The other issue I wanted to work on is in a different project. I recently got into doing pixel art, which is easiest to make when you've got a specialized program for it. A few Google searches led me to Aseprite, an open-source image editor geared directly toward those of us doing pixel art. Of course, I didn't know it was open source when I bought it; that revelation only came a bit later, when doing some google searches for tutorials and the like. Had I known that, I probably would have compiled it myself. Oops.

Either way, it was $15 well-spent. Not only did I get a neat little program that did exactly what I needed, but I found a new open source project with a couple bugs that I could probably work on -- one of which has impacted me directly. When using the fill tool, it would be nice if it could use the 8-connected pixels method, which is very helpful when recolouring linework. An issue for just that feature had already been filed, so I jumped at the chance to add this feature myself.

Since Aseprite is written in C++, I'm pretty confident that I'll be able to understand what's going on -- I've been working with C++ since semester 2, so I'm very familiar with it. Funnily enough, I've also solved this exact issue in the past -- it was just for some schoolwork though, and not an open source project. The main trick here will be finding the file in which the fill tool is implemented, but I've already got some leads. They are:

The .cpp files seem like the best place to start, given that they're where the code is actually implemented. Judging by names alone, I would also guess that floodfill.cpp has what I'm looking for -- fill_selection probably just fills something that's been selected with the marquee or magic wand tool.

So, between Aseprite and Filer, I think I'm set for my next two contributions to the open source community!

Comments