Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

REQ: Keep interpolation climbing stairs with cl_nolerp 1 in 3.6 like in 3.2.3 #572

Closed
Matrix-QW opened this issue Aug 2, 2021 · 5 comments

Comments

@Matrix-QW
Copy link

Matrix-QW commented Aug 2, 2021

Is your feature request related to a problem? Please describe.

With 3.2.3, cl_nolerp 1 keeps the screen smooth while climbing stairs. The rest of textures don't seem to get interpolated.
With 3.6 the screen gets jumpy, impossible to aim during that time. If the client loads with cl_nolerp 0 and inside a map I change to cl_nolerp 1 the stairs stay interpolated but the moment I enter a teleport it gets disabled.
Why would anyone would use cl_nolerp 1?
To reduce the input/screen delay.
I know people who use it with 3.2.3.
I opened this as a request from a player that refuses to use 3.6 due to this.

https://www.quakeworld.nu/forum/topic/4698/interpolation-buffering-clnolerp-0
According to Qqshka, "players are treated specially and not only interpolated but also extrapolated".
I assume cl_nolerp 0 also interpolates players, don't know what moving objects implies.

Describe the solution you'd like
Let players decide where they want interpolation.
But to keep it simple:

cl_nolerp 0 interpolate everything
cl_nolerp 1 interpolate like 3.2.3 (stairs, nothing else I suppose?)

Describe alternatives you've considered

cl_nolerp 0 interpolate everything
cl_nolerp 1 stairs
cl_nolerp 2 stairs + textures (map and items)
cl_nolerp 3 stairs + projectiles
cl_nolerp 4 stairs + players
cl_nolerp 5 stairs + textures + projectiles
cl_nolerp 6 stairs + players + projectiles

@Calinou
Copy link
Contributor

Calinou commented Aug 2, 2021

PS: The link you posted is broken, as it's formatted like this:

[https://www.quakeworld.nu/forum/topic/4698/interpolation-buffering-clnolerp-0](url)

Replace it with this:

https://www.quakeworld.nu/forum/topic/4698/interpolation-buffering-clnolerp-0

@meag
Copy link
Contributor

meag commented Aug 3, 2021

There is 'crouch' adjustment code for going up and down stairs, I have been asked to disable that in the past.

I'm not sure what interpolated textures means? As far as I'm aware cl_nolerp has always only affected players/entities. The only change I would have thought 3.6 had for lerping would be the fixes for going through teleporters (and even that isn't 100% fixed) and when you die on a spawn point (where you rise up from the floor instead of respawning at normal height). Might well have broken something though if you say this kicks in after going through a teleporter.

@Matrix-QW
Copy link
Author

Matrix-QW commented Aug 3, 2021

By interpolated textures I mean the map, how textures of walls, teleports, etc, look smooth while moving.
Is this the result of cl_nolerp 0 interpolating my own player?
I thought it would affect only other players and the interpolation of the screen was treated differently..
R_drawentities 0 removes players so they are treated as an item.

Yes, it kicks in after a teleport or a map change. Just realised this also happens if I die.
You can try it to see the effect.
Load with cl_nolerp 0, change it inside a map, walk over stairs they are still smooth. Enter a tele and climb stairs.
I think you mean this: #483
"Also disables crouch logic when lerping disabled,
so teleport prediction logic is shared"

This should be probably it.

@HangTimeQW
Copy link

I just did some testing in 3.6, a good way to demonstrate this is:

  1. Set cl_nolerp 0
  2. map dm2
  3. Climb the stairs below quad, notice it is relatively smooth
  4. Set cl_nolerp 1
  5. Climb the stairs below quad again, notice it is the same as step my changes #3
  6. Go to bigroom and go through one of the teleporters at the side
  7. Now climb the stairs below quad again, notice how it is quite 'jerky' in terms of height adjustment.

I don't personally have a view on whether this is good or bad, or what should be changed, just helping reproduce the issue.

@meag meag closed this as completed in e57f78e Aug 3, 2021
@meag
Copy link
Contributor

meag commented Aug 3, 2021

Thanks to both of you - it was the "die on a spawn point" fix that caused this, it didn't reset if cl_nolerp set.

meag added a commit to meag/ezquake-source that referenced this issue Nov 14, 2021
### Changes from alpha8=>alpha9 (July 13th => November 14th, 2021)

- Fixed/worked around some classic renderer bugs on version x.y.13399 AMD drivers (QW-Group#416)
- Fixed bug causing off-by-one error when drawing rectangle outlines (3.5 bug, reported by Matrix, QW-Group#536)
- Fixed `/in_raw 0` behaviour on MacOS (QW-Group#489)
- Fixed `/r_drawflat 1`, `/r_drawflat_mode 0` affecting ammo boxes etc in classic renderer
- Fixed match logging not working when using competitive rulesets
- Fixed incomplete rendering when gibbed or dead in shallow water (reported by Matrix, QW-Group#568)
- Fixed tab key not switching tabs on serverinfo popup (reported by Hangtime, QW-Group#555)
- Fixed `/demo_jump_mark` not working if `/demo_jump_rewind` not set
- Fixed coping with 1x1 ibar.png (reported by Matrix, QW-Group#571)
- Fixed powerupshells when using `/r_viewmodelsize` (reported by timbergeron, QW-Group#573)
- Fixed crouch adjustment staying disabled after teleport/respawn when `/cl_nopred` enabled (reported by Matrix, QW-Group#572)
- Added `/gl_smoothmodels` back in (modern renderer only), (requested by Repast via [quakeworld.nu](https://www.quakeworld.nu/forum/topic/7508/why-is-the-command-glsmoothmodels-r))
- Added `/demo_jump_skip_messages` to determine if messages should be printed to console during demo jump
- Added `/demo_jump_end` to jump to next intermission point or end of demo (requested by Hangtime, QW-Group#564)
- Added `/sb_info_filter` to allow filtering of servers in server-browser based on serverinfo (requested by Matrix, QW-Group#537)
- On startup (after `autoexec.cfg` executed), a `vid_restart`/`s_restart` will be issued if any latched variables were changed (reported by Dusty, QW-Group#458)
- Multiview will be disabled when watching a solo demo and no powerup cams are active (requested by mmavova, QW-Group#126)
- MacOS: sets SDL flag to stop touch events being translated into mouse events (might help with QW-Group#354)
- `/status` command will be ignored if an alias with the same name is found, use `/sv_status` instead (fixes QW-Group#532)
- qw:// urls in command line will be opened even if not preceded by `+qwurl` (thanks to ciscon)
- Linux: register_qwurl_protocol will register protocol with xdg (thanks to ciscon)
- Added `/v_dlightcolor` to control if being inside flashblend light affects palette by color of light
- Added `/v_dlightcshiftpercent` to control strength of palette shift effect when inside flashblend light
- Changed `/v_dlightcshift` to be enum of when being inside flashblend light affects palette (requested by HangTime, QW-Group#542)
- Added `/vid_framebuffer_multisample` to control multi-sampling level of the framebuffer (reported by Matrix, QW-Group#367)
- Translucent models are first drawn with a z-pass, to stop overdraw affecting level of translucency
- Fixed explosion effects on md3 viewmodels (additive blending was being lost)
- Removed server-side weapon switching 'support' in client
- Removed debugging messages when using `+fire_ar`
- Commands that search by regular expression (`/cvarlist_re` etc) are now case-insensitive (reported by HangTime, QW-Group#599)
- Added `/fs_savegame_home` to control if games are saved to home directory (default) or game directory (reported by githubtefo, QW-Group#586)
- Fixed `/gl_no24bit` not taking effect after `/vid_restart` (reported by hemostx, QW-Group#601)
- Fixed `/gl_no24bit` not disabling loading external textures (3.5 bug, kind of reported by hemostx, QW-Group#601)
- Fixed bug causing `/gl_scaleskytextures` to not affect external textures (reported & fixed by hemostx, QW-Group#606)
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

No branches or pull requests

4 participants