You see, I've had this bug in my code which caused several errors while trying to build a database for the game. Basically, it was related to linked lists, and me not paying careful attention to what the heck I was doing. Well, today I finally squashed that bug. And, as a bonus, killing that bug also killed three related bugs.
The original bug was: when I loaded the database, the first entry would not load, but it would register in memory. Every other item in the list would successfully load.
Upon closer inspection I noticed some other bugs: when the database was saved, it would fill up with another few KB of garbage data (usually 2-3KB). I also noticed that once I loaded a database, when I edited it in-game, it would overwrite the entire database with that one entry. Finally, I noticed that in the database itself, some repeating garbage values were present in "unused" memory. How odd.
Well, after looking over my own code for a couple of hours to help better understand it, I eventually found a way to squash out the bug. It's now 10:35 pm EST. As of 35 minutes ago, the bug was successfully killed, and it put me in one hell of a great mood.
Fixing this bug is really a milestone because it now means I can actually add CONTENT to the game. Yes, there is a hell of a lot more to do (such as AI, battle sequence, and physics); however, it really feels like I've accomplished something I've never attained before, and it's a damn good feeling to know that most of the programing ahead of me isn't so much "problem solving" as it is "feature implimentation." Well, that, and it took me a shitload of time to fix this bug. I can now say that, save for any input errors (such as strings > 256), the actual saving/loading/editing of the databse is fully functional.
Hey, good things come in three, don't they? Let's see ...
1) My sister finally went away to college today, which means I can actually watch television again. As a side note, I also attend college (gunning for my BS in Computer Science), but do so locally. When sis is home, I hardly get much mindless entertainment in (or get to watch the Yankees).
2) I killed this major pain in the ass bug.
Hopefully #3 will be "Jason gets a large wad of cash." ;)