Updates for August 2021

Author: thothonegan
Tags: c++ wolf_engine gamedev

This month started slow, but ended up being huge! Endless now runs on top of Wolf2 (with some bugs/quirks/resource changes), which required a huge amount of changes up and down the stack. This opens up some newer projects, just because I can reuse a bunch of the old stack. At least till more of the new system is ready.

Wolf 2.2 Progress

  • WolfTask: Can now schedule 'then()' callbacks on whatever runloop you want - requiring less thinking, or manually rescheduling it. This also fixes a bug in AudioPlayer where it would crash due to the async loader running on the wrong thread.
  • WolfRez: Now uses modern Result<> throughout its entire interface, allowing errors to bubble up properly instead of just ABORTing.
  • Pipewire: Now works completely in Wolf2. Still an experiemental driver since its tricky to test, but works fine.
  • Logger backends now are required to manually unregister themselves. This is due to a race condition that can happen.
  • WolfRez: Now will run automatically on build so it can detect resource-only changes
  • Canis: Added the ability to easily allocate an object, simplifying usage when using non-default constructors.

Endless:

  • Finished porting to Wolf2! While theirs still some parts that arent working (sampler functions in shaders for example, since its converting WolfV1 (GL3) shaders into proper WolfShaders (Vulkan, which is then specialized to GL3)). Requires a few resource changes, but 90% of it is compatible with existing Tek files.
  • Tek: Now a Wolf module! This is huge because that means you can have modern systems such as TekTool and Canis working within it.
  • TekPage: Now split off into its own submodule, so it can be exposed to Canis.
  • IntroSplashPage: Now takes the name of the class that provides the page - that way Rebirth can provide its own version of it. I'm expecting to follow this pattern with a bunch of other classes - letting Tek's C++ side be replaceable when needed.

EF-Rebirth:

  • Fmulm is yild. Rim tilo mi pito.
  • Giahg mi jo friy, uhk af u yoalk taftufn is ohgahof, jem am yildf.