May 17th 2019 by SDGNelson

Miscellaneous work, including patching up the vehicle for the (final?) Denizen rig.

Unreal 4.22.1

My current plan is to try and stay up-to-date with Unreal's releases once the .1+ patch is out each time. Now the beta is using 4.22.1, and the live coding feature is amazing! It's already saved a remarkable amount of time.

Steam News Feed

One feature I was excited to implement was a BBCode parser for the Steam rich text, however after somewhat implementing it it's more clear than an approach akin to 3's will make more sense. Unreal's rich text parses XML-style attributes from each tag, whereas BBCode is a lot sparser opting for tags like [url=x]. For the moment we have the basic news feed in-game again with the BBCode parser, but it'll see some work in the future for image downloading and to go back to 3's BBCode->default translation style.

Vehicles Up-to-date

ALL of the old Denizen files are finally deleted! For example the car was still using only the 3rd character revision, so I've updated all the animations and deleted all the old files.

While doing the first pass on the new weapons I'd improved the scripted rigging to build in the animation scene rather than a rig reference scene, and now extended that to the car as well. It's really easy to iterate on the vehicle mesh and the rig now.

On the firing range now, however there aren't any limitations in place yet to prevent using two-handed weapons while driving.

Debugging

One of the many reasons I've been having a blast with unreal is that debugging crashes is much easier than it was in 3.0. Unfortunately for the previous update the build machine deleted the debug symbols before I debugged several crashes, but now I've written some scripts to zip them up and tag them with the associated release for later. Eventually I'd like to setup a crash report tool through the game itself to make it simple to get the .dmp file.

Unexpected Maps

In the previous update it came to my surprise that several half-broken maps had snuck their way in!

Rather than cooking a specific list of maps I had decided to create primary data assets with additional information about the map, and conditionally mark them as editor-only to prevent cooking their secondary assets (the maps themselves). Unfortunately while this did hide the map entry, the some of the maps were still referenced by the maps to cook list.

Going forward I've adjusted map cooking to use the asset manager, and an option for the maps to be included in developer test builds. Now there's also a pre-release step that scans the .pak files to ensure they don't sneak in again. 😉

Misc

Few other misc changes the past two weeks, like an updated stack quantity specifier (though it uses a decimal slider at the moment lol), and more graphics options like user interface scale. UI scale as an option is important in my opinion because I want to ensure that all of the UIs are functional at a wider range of resolutions than 3's. The interactor circle looks nice at all resolutions but a lot of the pixel-perfect edges in the menus might need a different approach.

Next week I intend to update the Eaglefire and related features.