andrei-drexler / ironwail

High-performance QuakeSpasm fork
GNU General Public License v2.0
526 stars 49 forks source link

[Feature Request] Support for CSQC #30

Closed h4724 closed 2 years ago

h4724 commented 2 years ago

Client-side QuakeC is currently supported by QuakeSpasm-Spiked and vkQuake and is necessary for things like custom HUDs in AD and Alkaline, and AD's custom particle system. This is the one major feature stopping me from automatically using this for everything by default.

andrei-drexler commented 2 years ago

I'll look into it, but I can't promise anything :)

fabiolimamp commented 2 years ago

Seconded. We're seeing various mods using custom weapons and powerups lately, and the ability to make simple layout changes to the HUD to accommodate those makes things a lot less confusing to the player. As Henry said, it's the only thing keeping me from using Ironwail for everything.

Lain-tf commented 2 years ago

Thirded. If-only for extended hud functionality. When adding a weapon of any kind, it's practically impossible to get it to display on the hud without losing another icon in the process.

JosiahJack commented 2 years ago

Fourthded to support custom intermission stats...but I'll probably do it myself at some point and PR it.

andrei-drexler commented 2 years ago

Added basic support for CSQC HUDs in 461898fbae9624de35560c6c1971e64f29b512f3. This required extending the protocol to send over custom stats, but I've implemented that in a (hacky) way that's still compatible with QS (so you can record playthroughs in Ironwail and share them with folks using QS). Another thing to note - right now checkextension always returns 0, but AD and ALK1.1 still use a whole bunch of builtins that are definitely non-standard on the assumption that the engine is QSS/FTE/DP. I'll add proper extension queries (and warnings for builtins that are used without checking for support first) at some point in the future.