This week I started using the new text renderer in more places. I’ve also spent time cleaning parts of the code in preparation for the big entity refactor. Some highlights:
The main menu now has a primitive layout that responds to menu resizing.

The main menu items now glow on mouse hover. Additionally, selecting “New game” will load the startup map, and selecting “Quit” exits the game. The other menu items haven’t been implemented yet.
There’s now an FPS counter in the top left corner.

When I ripped out imgui, there was no way to access some of the debug tools/views. ‘T’ cycles through the spawn points for the current map. ‘G’ cycles through the different draw modes (Texture, Lighting, Lit Textures).

Another consequence of ripping out imgui is losing the ability to inspect the properties of entities. Now when you click entities in cursor mode, an outline is rendered around the entity. The next step is to display the entity’s properties. You’ll also notice some more debug text in this screenshot, showing the map name, the player’s position, and the player’s direction.

EDIT: A late night addition to document. I now display the raw entity data when an entity is selected.

There were some other changes that don’t have easy screenshots. I removed tank controls, which mainly existed to make the game navigable when played over RDP. This is because direct mouse events aren’t supported over RDP, so mouse-look doesn’t work. But at this stage, it just got in the way as it took too many keys. Additionally, I added a fullscreen toggle via ALT+TAB.