Skip to content

Movement prediction errors when walking on frozen entities with non-rounded ("floaty") angles #6655

@StrawWagen

Description

@StrawWagen

Details

Been happening for years, any branch.
Makes building pvp arenas needlessly complicated, as props seem to always end up with "floaty" angles.

Clip of it happening on props with decimal angles.
https://www.youtube.com/watch?v=XtOk-uJIvRE

cl_showerror pred errors.
Image

Hopefully something can be done about this, it's one of the issues that's plagued me ( and apparently many others in the gmod discord? ) since I first started making precise builds in Garry's Mod.
You just never know when a build is gonna have this issue, I know some players have even made chips that round all the props in their dupe, after it's finished pasting.

ficool2's idea for a solution was sending prop's angles at full precision if players are near them.
Could also try just sending full precision angles for all frozen/MotionEnabled( false ) prop_physics, that would catch every important case of this issue.

Steps to reproduce

The issue is deceptively hard to reproduce.
It presents itself rarely and dissapears if the prop's angles somehow change even a tiny bit.

But these steps should work...

  1. Start a peer-to-peer session on gm_bigcity_improved_lite
  2. Run the below lua. ( i use github.com/wrefgtzweve/luapad in my clip )
  3. cl_showerror 1, the props on the right should create prediction errors.
-- load into gm_bigcity_improved_lite, ( peer-to-peer )
-- https://steamcommunity.com/sharedfiles/filedetails/?id=1129969546

-- so you don't have to find the props
Entity(1):SetPos( Vector( 11465.394531, 4400.562988, -10866.104492 ) )

local function spawnEnt( pos, ang )
    local ent = ents.Create( "prop_physics" )
    ent:SetModel( "models/hunter/plates/plate1x2.mdl" )
    ent:SetPos( pos )
    ent:SetAngles( ang )
    ent:Spawn()
    ent:GetPhysicsObject():EnableMotion( false )
end

-- the props on the right, these have the bug
spawnEnt( Vector( 11470.518555, 4557.860840, -10903.290039 ), Angle( -0.000, -1.661, 179.994 ) )
spawnEnt( Vector( 11469.266602, 4625.576660, -10901.717773 ), Angle( -0.000, -1.336, 179.993 ) )

-- on the left, these are fine
spawnEnt( Vector( 11338.945312, 4564.533203, -10903.290039 ), Angle( 0.000, -2.000, 180.000 ) )
spawnEnt( Vector( 11337.693359, 4632.249023, -10901.717773 ), Angle( 0.000, -1.000, 180.000 ) )

Version of the game

Protocol version 24
Network version 2025.03.26 (garrysmod)
Exe build: 15:00:14 Dec 3 2025 (9888) (4000)
GMod version 2025.12.03, branch: x86-64, multicore: 1
Windows 64bit

Beta

x86-64 beta

Metadata

Metadata

Assignees

No one assigned

    Labels

    DuplicateThe issue is a duplicate of another issue.Net-compat breakingThis issue requires breaking network compatibility with existing servers to solve.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions