Not much coding activity for the better part of the day, mainly because my brain just wasn't in the mood. I weaned myself into things by tweaking the toolbar yet again, as well as grabbing a few more maps from the C64 version of Citadel (there's always stuff to be done - if I don't fancy coding, I can still tackle other things until I feel like crunching some bytes again). It's a funny old business, this programming lark.
Set to work later on, and finally got my tile cursors working properly (these appear in the Tiles window and highlight the tiles currently assigned to the Left and Right mouse buttons). I've no idea why this routine took so long - my brain simply refused to work. However, after tapping my head on my knee for a few moments - the programming equivalent of banging the TV to stop the picture rolling - I added a couple of lines of code and got the thing working. What was most puzzling, I couldn't understand why it worked!!! It took a further 10 minutes before things clicked into place. Biz-arre.
Undeterred, I cracked on and implemented Move mode, which, like the hand in PhotoShop, allows the user to scroll the map using just the mouse and left button. It actually works extremely well in practise (mainly because I prefer using the Hand to dreadful, satanic Scroll Bars), and it's now much easier to move around the map.
My main bugbear at the moment is swapping between canvases (these are the "graphic" areas of the screen onto which I print the Map, Mini-Map, and Tile window). Currently I use an event-based system to work out which canvas is being used when the user moves the mouse or presses a button, a system which also controls the gadget operations (Tabbers and Toolbars), and menu functions. Currently, however, all is not as it should be; there are noticeable delays when trying to close the Window, and occasionally the Tabbers refuse to work. Investigating the problem and finding a solution will be no small task - I think I'll reserve that for a day when my brain isn't so frazzled. :)
