This weekend I decided to implement the env_fade entity. However, this wasn’t enough to get the title card sequence working in Half-Life. Unless I’m missing something, it appears there is a hard coded transition when loading the starting map (c0a0). I’ve created a configuration system that allows me to inject some new entities based on the map, allowing me to generalize a solution without hard coding it. I also added a new entity type, hud_sprite, to draw the title card sprites.
For now, this just reads the sprites out of hud.txt and uses the full size. At some point I need to scale them based on the window size.