Inventory Yard Driving
I managed to get through the long list of UI elements in the various GUI screens today, and was able to fire up the game to see what I had done. It wasn't pretty.
However, it was wasn't hard to spot the errors in the layout, and correct things as I went. As of this evening, the inventory screen "yard drives," which is an automobile shopping term for "it moves around the yard ok, but I wouldn't trust it on the road."
One thing which immediately caused some trouble was the double clicking. (I should've known!) Double-clicks would cause null pointer errors if the user was dragging an item over another item when double clicking. Also, if the user had swapped items at any point and was still dragging something, the double click would error out.
So I had to write some code to prevent the double-click take/drop when these situations arose.
I also changed the way items get picked up by the cursor, so they stick to the cursor based on where the user clicked, rather than snapping the item's center point to the cursor. Double-clicking was getting annoying when the item moved suddenly as it was picked up, and usually caused swapping items with whatever was next to it. I'm hoping this will be easier and more intuitive to use.
Most of the screens seem to be working in 800x450 today, so we're making progress. I still haven't hooked up the battle screen, nor the DMC map. Those might be a bit tricky.
However, before I tackle those, I want to see if I can get the new crafting screen to work. This new screen needs to accumulate all the available ingredients from all player slots, make copies, and put them in a box for the player to pick from. This is mainly to avoid the blindness bug when crafting with fires at night.
It doesn't seem like it should present obstacles, but I won't know until I try it out. I'll also be updating the known recipe list to be used on this page.
Finally, once all of the above is done, I need to start plugging in coordinates for use in 1360x768 mode, as well as the zoomed screen sizes. Plenty of work left to do yet, but I'm still optimistic.
Have a good one!