Thoughts on animation

In the past, the way Doomsday has approached 3D model animation has been exceedingly simple. Since MD2 models are vertex-animated, with a full set of vertices per each frame, Doomsday has simply associated a model frame with each object state. When rendering, the model frame would be selected by looking up which one has been linked with the current state of the object. In other words, each 3D model frame was being treated like a 3D version of the original 2D sprite. Continue reading Thoughts on animation

Immaculate detail

Today I added support for OS X HiDPI resolutions. It turned out to be relatively straightforward, with Qt 5 already doing most of the work for us. Doomsday’s default UI style package was easy to adapt for HiDPI, with a couple of extra factors applied to UI metrics and font sizes. It helped that we had already prepared suitably high-resolution versions of the icons and other graphics used in the revised UI.

I’m very happy about how crisp everything looks on a retina display.

Xcode

Xcode is growing on me. Especially Xcode 6 on Yosemite is looking fantastic. Qt Creator is a very capable editor, however I plan to make another effort to write a generator script for a “native” Doomsday Xcode project. A sensible goal would be to produce a Snowberry-free build using Qt 5.3.

Detour into scripting and log history

It has been a busy week without much time for Doomsday. Sometimes after a break it is easier to return to the project by looking at a completely different topic than what I was working on before. This allows one to ease into the code again in a more comfortable way.

The log history widget was among the first that I wrote on the new UI framework. Since then, I’ve added a handy utility class called TextDrawable for drawing and laying out UI text. It has nice features like automatic background threading if there is a large amount of text. However, LogWidget being quite old, I had implemented a separate multithreaded text rendering mechanism there. I decided to replace this with TextDrawable so there wouldn’t be unnecessary redundancy in the code base.

Continue reading Detour into scripting and log history