This is a stone explosion!
I totally underestimated the complexity of stones and walls. Adding all the stone types in the editor with layering information, preparing the graphics and doing the coding took forever and a day. I also took two days off.
More data added to stones in the editor
The current count is 91. This includes 4 types of soil and 5 types of sand. The number is not going to increase, but maybe it will decrease. There is now detailed layering information available for stones.
Stone layering implemented
There is now a basic stone layering implemented. It is not as smart as the data available for it in the editor, but it is enough for now. Layers are randomly selected and they have pockets of different stones. There is also a top layer of soil, which is also randomly selected. The soil cuts into stone forming a nice pattern. It is hard to find a representative image that gives the same impression as having the game in front of you and scrolling the map, but I’ll try.
Stone cutting added
New options for floors
In the last version I added the tasks of smoothing or engraving walls. Now, the same is available for floors.
As you probably saw in the screenshots, the interface is changing. I am going to focus more on task categories which open up additional options. Here are the menus for walls and floor, which also indicate the number of items on which the operation can be performed:
I may have touched upon the number of skills in the past and gave my fair assessment of the situation. Quoting myself: “that's a $%^$^$@@@@!!# lot of skills”. But reducing the number of skills is not that easy. To solve this problem, I have taken two steps. The first one is to remove all skills that are not used right now. This is a temporary solution at best, because as new features are added the skills will come back and I’ll end up where I started. On the other hand, this way I can make sure no token skills are added. The second step is to combine a few skills into one where it makes sense, but keeping their associated labors as separate actions. So gem setting is out as a skill and has been merged with engraver. Those guys did not do that much anyway and it makes sense for engravers to sometimes use gems in their field of work. So they will now handle all gen setting related tasks. Gem cutting is still a separate skill. Herbalists now take care of both plant gathering and plant growing, including farming. Farmers are just less adventurous herbalists. Butchers now take care of wish cleaning also, not just land animals. Here is the new skill dialog. As tasks get added, there will be more and more options, but less than 89 skills:
U++/Irlicht bridge changes
My U++/Irrlicht bridge has served me well but I grew tired of maintaining it. Every time I needed a new control from Irrlicht I had to write a new wrapper and make sure it has the same interface as U++. So I removed the heavy wrapper and replaced it with a very simple one. This means that now I’m using Irrlicht API for GUI. The bridge now only adds callback support to Irrlicht controls. I would rather give up completely on Irrlicht than use the painfully outdated and just painful ID system.
And plenty more
There are a lot of extra tweaks that I am not going to describe here. Both small stuff and a huge freaking memory corruption bug that took me 4 hours to fix! I am too lazy to do full statistics each post.
6205 total lines of code
Ready fo ma vid
So now I think I have all the features in place for the video I promised last time after adding some features. So I’ll get on to that.