I've been scolded for not having written lately. It was a combination of factors, but largely the fault is mine. I am now amending the situation, hopefully.
An interesting thing happened, which is that it got a bit harder to keep doing work as the month wore on. This feels very much like the mid-week demotivation that also occurs in NaNoWriMo, which I thought was interesting. Combined that with one day forgetting to bring home the power to my laptop, a growing desire to play some games, a house to myself all evening, and Mass Effect 2 already installed, and sitting with just a few hours in it yet, and I missed a day of work, and the next day it was also hard to pick myself back up again. I think that after today, though, I probably caught up with most of what I missed.
I ran CLOC on my project and was surprised by the results: only about 2000 lines of code, maybe another 1000 of whitespace and comments. I would've thought it would have been much more than that, but that shows what I know. (And a bunch of that is stuff I #included, like hundreds of lines of GL declarations).
There's been a few things that have cropped up over the last few days that I wanted to highlight. Here goes:
- Old Spice has won advertising by creating TV-quality short YouTube responses to about two hundred people who posted on the internet (sometimes not even to them). These are absolutely hilarious. Everyone else go home and try harder. How they did it is pretty interesting, too.
- I ran across Cliffski's blog again yesterday, and stumbled across this list for staying motivated on the game you're working on. It was a nice read, since I was struggling with that. I seem to have overcome it, though.
- I managed to fix the doorbell - turns out there were a few jumpers on the inside of the ringer and the speaker. I was able to find the instructions online and change it so that it didn't interfere with our neighbors, and it now plays a nice normal 2-chime "ding dong." It holds the last note a little obnoxiously long, but I can deal with it.
- The 12th has come and gone and I didn't get a call from any of the 3 or 4 Verizon retailers I asked to call me when the Incredible got back in stock. I'm guessing they have them and they're just lazy, but who knows. Gives me more time to double-check to make sure that paying extra for the phone and buying pay-as-you-go minutes isn't a better deal (for my usage habits) than signing up for another 2 year contract.
- C++ syntax is a terrible terrible thing. Also, I'm weirded out by the sorts of things that the compiler doesn't catch because they're legitimate syntax (apparently?) but then the linker barfs because it's not quite what you meant and so something is undefined. For example, consider this code:
// header file:
class Foo {
static Foo * blargh;
static Foo * GetFoo();
}
// cpp file:
#include "foo.h"
Foo::Foo * blargh = NULL; // WHY WAS THIS COMPILING. Should be Foo * Foo::blargh;
Foo * Foo::GetFoo() { return blargh; }
So, the game! I've got things refactored well enough and objects back on the screen and doing their happy dance. I've spawned some threads and have input and a gameloop (well, almost--input isn't really there yet) going. I made a video, but really it's pretty dull.
I've got Mercurial up and running on my website and have been committing code to my local repository and pushing it up there today; so that's cool. I keep forgetting, though, and I'm treating it more like SVN where I want to commit as infrequently as possible. My goal here is to basically commit whenever I've got something decent and compiling.
I should maybe look at getting some type of debugger up and running, though, because printf() debugging is getting a little old.
Also, I just need to figure out a whole bunch of boring underlying stuff that isn't done yet. I need to decide how I'm loading things from [ROM, the FileSystem, whatever], as well as what I'm going to do about memory allocation. I've been avoiding templates, too, because someone who's opinion I trust was vehemently opposed to them for the bloat in the size of the code they produced. When you've only got so much memory, having your executable take up too much of it can be a problem. Also, larger code tends to be slower, since you'll have to suffer through more cache fetches (pulling the instructions from RAM into the processor's working storage (i.e. cache) so that they can be executed) to get the same amount of work done as smaller code.
I need to write up a bunch of these utility functions and proper test suites for them. I've been avoiding that, but I was bit by a bug today where a float was being cast to an integer for some reason and so nothing was happening (the value was <1, so it became 0, and then when it got multiplied into the rest of the equation a whole lot of nothing happened).
Also, just now, I seem to have discovered a Texturing bug. I'm not sure if it's my fault or just another bug with glDrawTex_OES() on the emulator, but calls to glBindTexture() don't seem to change the texture that it's going to be drawing with. I don't get it.
I'll talk to you all tomorrow, and let you know what my goals were for the day, and what got accomplished. For real!

Hooray! You're back! I enjoyed the Old Spice commercials; after seeing people talk about them everywhere, I finally caved and went to look. The article you linked is pretty interesting too. Congrats on getting your motivation back on track and good luck on chugging through some of the "boring underlying stuff."