Dialog frame and rest of mouse handling

Hello everyone!

This is very difficult week for me – final exams at university and midterm evaluation of GSoC at the same time. I’m doing my best to combine these two and I hope you’ll like my weekly progress.
So, here we go:

At the beginning of a week I was working on implementing dialog box frames. I manage to finish it and it’s drawing everything in right position now (long sentences are cut properly). Mouse handling and highlighting is working fine too. On the video and on first screenshot you can see temporary texts. It’s not loading actual texts from game data yet – it needs more work at script part to be finished.

I was also fixing some of existing functions, like showTexts(). I had to change calculations of texts position to adjust it for heroTalk() function and other texts that will be shown above heads of characters. It’s now using width of longest line to find a center and it’s also drawing correctly at the edge of screen and in wider locations.

I also mange to do cursor changing function (screenshot no. 3) and rest of left and right mouse button handling to finish choosing from option frame (Give, Use, Open/Push, Close/Pull) in inventory.
Most of mouse button handling outside of inventory is working too.

At the end of a week I also asked wjp for help with my git repository. I had a job to recover history of malik’s commits in my branch instead of initial commit that I create at the beginning of GSoC from existing Prince codes. Everything is working excellent now, so again – many thanks to wjp 😉

You can see my progress on screenshots below or watch it here:

(Source: https://www.youtube.com/watch?v=V44Dbpdbxm8)

Dialog box drawing
Highlighting one of options
Hero talking – working animation
Texts from dialog box in correct position
Cursor changing
Use / Give – working inventory options

This week I’ll try to take a look at script part to check if I can connect existing mouse events (and their op codes) with simple actions, like drawing texts for mobs examining outside of inventory. I’m also looking at pathfinding part right now, but it still looks very complex. I’ll also try to check and fix some memory problems and do some clean up in existing code.