Action Bar

ActionBarAnother boring screenshot today.  Ordinarily I would have made a video and posted it, but I have a big day tomorrow and am going to be getting to sleep early tonight.  Maybe I’ll do it tomorrow.

Today I implemented the Action Bar that I mentioned on Wednesday last week. The action bar has eight spaces for your primary commands, and up to six tabs along its top, which are used for secondary functions.  For example, in the shot above, the “Build” button opens the building toolbox, and the “Debark” tab causes you to stop piloting the Graveship.  (The Graveship hovers exactly where it is, and you can then walk around on top of it or jump off  or whatever).  There are two different action bars at the moment;  one for when you’re on foot, the other for when you’re piloting the Graveship.  The on-foot one has a Graveship call button, and other functions.  On the Graveship action bar, most of the primary slots will be taken up by various types of building;  “Build” will become “Cities”, and the other buttons will provide individual buildings, roads, walls, landscaping, NPCs, etc.

The Action Bar, like the Context Matrix, is using the new “text-based commands” system, which makes it much faster and easier to create GUI interfaces to perform functions;   writing GUI code should now be much less of a slog!  Note that while the Action Bar and the Context Matrix are both using text-based commands, they’re not (yet) actually using the same system;  eventually, I’ll need to merge the two together into a single unified system which can handle everything.  But for now, I’m quite happy with the improvement over the old way I was creating GUI elements.

I also greatly improved the Graveship flight, just by adding a little polish to it.  It doesn’t actually fly any differently, but it feels different and better by having added a little visual lag to various elements.  You’ll see what I mean in the video that I’ll eventually do, when I have more time.

And on a technical note..  In the core VectorStorm library, I renamed the quaternion spherical linear interpolation routine from “Slerp()” to “vsQuaternionSlerp()”, to obey the standard VectorStorm naming practices.  A little embarrassed that I hadn’t noticed that before, but I hadn’t actually used it until now.

As I mentioned above, tomorrow’s a big day for me, so I’m unlikely to get anything new done.  But the next tasks on my plate are (in no particular order):

  • Hook up time control and server online/offline control to be accessible again.
  • Hook up design/business screens to be accessible again.
  • Hook up a way to make region settings, so you can set level ranges again (right now, all monsters everywhere in the world are level 0).  Wherever this is done, the user should also be able to adjust sky, fog, and ground colours, and the type of ground surface detail.
  • Landscape-modifying placements.
  • New, non-Perlin-driven landscape generation (this might use the landscape-modifying placements).
  • Take the next step in the procedural generation of building/city models;  “block” subdivision.