Skip to content

Conversation

@toymak3r
Copy link
Member

No description provided.

@toymak3r toymak3r self-assigned this Oct 30, 2025
jjelliott and others added 25 commits November 12, 2025 23:02
Changes `r_md5` to `r_enhancedmodels` and adds a second cvar
`r_enhancedmodels_priority` with a comma separated value for loaders to
use, allowing for further extension in the future.
due to invalid derivatives in pixel quads containing discarded pixels
caused by cubemap textures storing pointers to stack data
by decoding normals in the vertex shader
by decoding positions in the vertex shader
MDL code needed to be able to remap both the original vertex and a version of it with an UV seam adjustment applied. Since seam adjustments are not needed for MD3, we can use a smaller remapping table.
Needed for the invoker on NV now that vertices are only 8 bytes, which is smaller than the SSBO alignment requirement (16 bytes).
(e.g. when SCR_ModalMessage is called)
MDL/MD3 blend shape data is now first split by frame, then by surface.
This allows us to bind buffers per model, instead of per surface.

Other changes:
- MD5 bone pose data is only allocated once, for the main surface, rather than duplicated for all surfaces
- removed numboneposes field and reused numposes, since MD5 models don't support blend shapes
- removed MD3-specific uniforms; the only difference now between MDL and MD3 is vertex decoding
- corrected allocation size in Mod_LoadMD5MeshModel
New command "enable alt modifier". When bound to a button/key, all
other buttons turn from K_x_BTN to K_x_BTN_ALT, allowing 2 bindings
on the same button, one with the 'alt' pressed and one without.
If K_x_BTN_ALT is not bound, it will use the bind from K_x_BTN as
fallback, if exists.
This reduces sound spam and, for gamepads, rumble spam.
Particularly noticeable while holding +altmodifier when changing bindings.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants