Over the past couple of weeks, I have done some coding experiments that I have wanted to do for a while. I first started by brushing up on my Java more. My major goal was to finally make an application that used Swing since I had not directly worked with Swing before; I have worked on one group project that implemented Swing but I did not work on making the UI. Two issues that I have seen with Swing projects at school in the past that people seem to overlook is regarding widgets not being resizeable and being able to resize an application window to the point where you can't see the widgets since no minimum window size had been set. I had not seen one Swing project at school take either of these issues into consideration so I wanted to find a way to avoid both problems.
I ended up making a version of StepMania Unlock Code Generator using Java. Besides learning Swing, I finally learned about many of the classes used for file I/O, anonymous inner classes, sorting, and a little bit about internationalization. NetBeans makes it easy to define text in resource files in order to implement internationalization; the project is my first project that is technically translatable. The project is also my first project where I decided to use the use-case controller approach for keeping business logic organized. I feel like I learned quite a bit about Java that I didn't know in a short period of time.
After working on that, I wanted to mess around with making applications for the GP2X. I started by getting the Open2x toolchain and learning how to use it. Then, I compiled the source code for Onscripter and played around with Narcissu; I used the data files from the current GP2X port. This wasn't the best way to learn about GP2X development as it took a long time to figure out how Onscripter worked and learning how much logic was in the game script. I made a few modifications but I gave up on messing with the program within a few days. The current GP2X port of Narcissu has a few bugs that I wanted to try to fix; a couple of the bugs are the game going back to the title screen after exiting the configuration screen and the game crashing during a certain portion early in the game that I can't remember at the moment.
After my failed efforts with Onscripter, I found a simple Hello World example that used SDL and I started to take things slowly. Since I can't get USB Networking support working on my GP2X anymore, I got tired of copying executables to my SD card and then running applications on my GP2X. I figured that it would be better for me to learn SDL on the PC first so that I could have an application that worked on both the PC and the GP2X which would make things easier to test. I started with simple stuff like displaying images and text to a screen. The most that I have done so far is making a Pong clone. For learning resources, I have looked at the source code of many projects and I have read the tutorials on the Lazy Foo' website. Even though I haven't made much progress yet, I am glad that I finally have a reason to program in C++ again.
Now, I am kind of discouraged so I haven't done any coding over the last week. Instead, I have been playing a lot of Sonic Unleashed and trying to get as many achievement points for that game as I can. Sonic Unleashed is the first game that I have ever focused on getting achievements for and it is sometimes really tedious to do some of the tasks required to get some of the achievements.
That has been almost everything that I have been up to during my break from school. At least I am having fun for a change.