textless HUD

Feb 11, 2026
32
9
8
quake_enthusiast submitted a new resource:

textless HUD - a quake HUD without any text

Here is a textless HUD I made in clientside quakeC. "I came here to bleed, not to read." :)

It should work with any Quake content that is compatible with Quakespasm-Spiked and does not change the default weapons / items.

Although the HUD itself is less than a megabyte, I have also included a version of Quakespasm-Spiked that does not hardcode game controller dpad mappings. Instead it hardcodes ammo-based weapon toggles:

* Press up on the dpad to switch between Nail and Supernailgun

*...

Read more about this resource...
 
quake_enthusiast updated textless HUD with a new update entry:

selectively enabling centerprint

for the sake of playability this update re-enables centerprinted text. ("this door requires the gold key.") messages that would be displayed in the top left of the screen remain hidden.

previously all server messages were hidden, including centerprint.

for now centerprinted text remains necessary to inform the player of keyed door requirements. it is also used to directly communicate with the player in many cases.

Read the rest of this update entry...
 
quake_enthusiast updated textless HUD with a new update entry:

1.4 is a featureful release

v1.4 - 2026-06-03 (this one)
* fixed Gas Mask time remaining meter overdraw
* fixed cl_bob based bouncing on intermission screen
* fixed drawing HUD on intermission screen
* now draws gold and silver keys
* now compatible with Copper's multiple key implementation.
* now draws a gold or silver lock on the HUD instead of printing "you need the gold / silver key" respectively
* crosshair system. see below...

Read the rest of this update entry...
 
I have tested several engines and it appears Darkplaces, Ironwail, and VKquake are incompatible with this HUD's Client-Side QuakeC. FTE-QW draws the HUD and centers the screen correctly but the lock-on does not function.

These varying degrees of compatibility are not entirely surprising since Client-Side QuakeC is not uniform between Quake engines.

Quakespasm-Spiked Multiplayer (QSS-M) is a fork of Quakespasm-Spiked that has backported many of Ironwail's features and limit removals to extend map compatibility. This HUD has been tested and confirmed to work with QSS-M.


It also works with Quakespasm-Spiked.

 
I have tested several engines and it appears Darkplaces, Ironwail, and VKquake are incompatible with this HUD's Client-Side QuakeC. FTE-QW draws the HUD and centers the screen correctly but the lock-on does not function.

These varying degrees of compatibility are not entirely surprising since Client-Side QuakeC is not uniform between Quake engines.

Quakespasm-Spiked Multiplayer (QSS-M) is a fork of Quakespasm-Spiked that has backported many of Ironwail's features and limit removals to extend map compatibility. This HUD has been tested and confirmed to work with QSS-M.


It also works with Quakespasm-Spiked.

oooh okay, thanks for telling me :>
 
Hello @quake_enthusiast, FYI vkQuake master (not released yet) should now run Textless. (but still not 100 % okay ?)

The reasons it was failing before were : missing FTE extensions, and missing support of images other than .lmp in HUD CSQC functions.

I've also noticed that you pass leading slashes for paths given to `drawpic` or `drawsubpic` (ex. drawpic("/gfx/something.png)) and I don't think it is correct because : 1) Paths are relative to their mod directory anyway, 2) Code often expects some hardcoded paths to compare it to ex "gfx/" , "textures/" and in this case your leading / will make it fail.

So for `drawpic` and such I added a workaround where I stripped the leading slashes or back-slashes so it can recognize those standard path patterns.
 
Last edited:
I added a workaround where I stripped the leading slashes or back-slashes so it can recognize those standard path patterns.


That is a helpful change. And helpful information.

I think those slashes were included to troubleshoot some engine's undocumented, murky, mysterious behavior regarding whether it will draw an image or not.

Something similar that might be handy: If a resource such as a .bsp or .pak does not exist, do a case insensitive search for the file name in that directory and if there is only one match attempt to load it instead of failing. Edit: Even better might be to to load it and print a warning instead of failing with an error.
 
Something similar that might be handy: If a resource such as a .bsp or .pak does not exist, do a case insensitive search for the file name in that directory and if there is only one match attempt to load it instead of failing. Edit: Even better might be to to load it and print a warning instead of failing with an error.
There is a PR on Ironwail to search things case-insensitivly, but I don't want to go this way : it will inevitably lead creators to be even more careless on how resources are named, and this still won't load on regular QuakeSpasm / QSS. The engines can somehow workaround small inconsistencies, but careless naming is not one IMHO. Even if you have to be on Linux / MacOS to reveal it.
 
FYI, I'm not going to make Textless compatible with vkQuake : it touches engine/ 3D related extensions that I would'nt know how to plug into our Vulkan stack... Well, at least I tried :)