*raises hand*
Here's my situation. I started programming on the Mac as soon as I got my first PPC Performa in '96 (a 6116). I bought the Codewarrior "Discover" kit which was in my budget but it only included a 68k compiler. When I got comfortable with the Mac toolbox and wanted PPC speed I switched to MPW, which was also in my budget (free, lol). The learning curve was definitely higher but once you create one makefile you can use it as a template for future projects. PPCDebugger isn't as elegant as Codewarrior's debugger but it was free. As a hobbyist programmer I could never afford the $300 (or whatever it cost) for the Codewarrior PPC compiler so it was MPW that I've used since.
My main project was an action/adventure RPG. Certainly not a good choice for a first project so when I ran into a problem that had to be solved I would branch off with a "mini-project" just to learn what I needed to learn then go back to the main one. Anyway, this project became my "model train" project: never fully realized; adding a bit here, a bit there; sometimes scrapping it altogether and rewriting the code after realizing there's always "a better way".
Then came Mac OS X.
Hmm, do I Carbonize something that's not even finished or do I press on with what I have? Press on I did. More time goes by, I pick up a Cocoa book or two, try out some small projects then decide: I'm going to stop developing for classic Mac OS and jump on the Cocoa train. Wait. What's this? I have to go through what hoops to duplicate my hand-rolled offscreen blitters? OK, I think I got it now but it's going to take a lot of work to port my scripting engine (yes, I wrote a scripting engine, lol). Plus, I never could wrap my head around Cocoa's memory management. And it seems to change every time Apple releases a new version of Project Builder/Xcode. Not to mention they keep deprecating stuff! Not only that, something I built in Panther doesn't even run in Tiger! What is this crap? I'll just wait until the Cocoa API stabilizes somewhat. So now it's back to development on classic Mac OS. Finish it first, deal with the consequences later. If only two people get to enjoy it, cool. At least there will be something to enjoy.
What I'm doing now is going through my code and making it OS-neutral as much as possible. I'm rolling my own toolbox calls (like NumToString(), StringToNum(), PtInRect(), MoveDataBlock(), stuff like that) just so I can (someday) get it compiled in Cocoa.
So what did I accomplish in all those years of seemingly unproductive coding?
- custom 8, 16, and 32-bit blitters with optional effects (darken/lighten, blend, make grayscale, etc.)
- graphic scaling (just wanted to see if I could figure out how to do it without looking
)
- a smoothing algorithm for 2x scaled graphics
- a scripting language using tags and a custom assembly-like syntax (much easier than parsing x = 12 * y - 16)
- an animation engine for sprites and "cinema" animations
Anyway, sorry for the long post but I thought I'd share. (Plus, it's exciting to know there's still interest in Classic Mac OS programming!)