Today's session didn't go quite as planned (I had a nice list of things I was itching to scratch off my ever-expanding To-Do list), but every little helps. The first task of the day was to implement scaling on the Tile panel, in response to a request from Robin, who also asked if I could include 8x8 tiles in the next version (and thus, the reason for zooming the Tile panel becomes obvious - 8x8 tiles are pretty tricky to see on a widescreen monitor running at STUPID x INSANE resolutions.
The scaling was pretty easy to implement, mainly due to the fact that all the code and calculations were self-calculated and not hard-coded (that's a programming lesson we all tend to learn the hard way...). Finished up the scaling by adding a slider gadget to control the zoom, and although a couple of tweaks remain (i.e. making sure the cursors always stick with the relevant tile, not at the relevant window co-ordinates), it was a fairly simple and effective addition.
My final task of the day involved trying to track down a bug in my Update Map routine, which causes errors when scrolling or zooming out to 50% or 25%. After reducing my code considerably (I needed to chop out the old Zoom code anyway), and refining the whole routine, I was still confronted with errors.
I changed tac and tried to explore another bug, which caused the program to crash when my map array was set to a particular size. While tinkering with different vlaues, the bug in my map code disappeared - this leads me to believe all is not well with the arrays (Blitz+ and Blitz Max handle them in subtly different ways), and though my coding session had to be cut short I'm well on the way to fixing two rather nasty bugs. :)
