View Issue Details

IDProjectCategoryView StatusLast Update
0006259The Dark ModCodingpublic18.02.2023 04:21
ReporterDaft Mugi Assigned To 
Status newResolutionopen 
Product VersionTDM 2.11 
Summary0006259: Player falls through moving platform on shouldering animation
DescriptionWhen the player is on a upwards-moving platform, such as an elevator or lift, and shoulders a body,
the player will clip through the platform and fall below it during the shouldering animation.

Two missions to try are "Volta 2" and "New Job".

Volta 2: setviewpos -1798.6 3571.72 -1883.75
New Job: setviewpos 1222.88 -204.17 -81.75
Steps To Reproduce1. Put a body on a platform.
2. Push button to make the platform rise.
3. While it's rising, shoulder the body.
4. (The player clips through the platform and falls.)
TagsNo tags attached.


Daft Mugi

Daft Mugi

16.02.2023 06:02

developer   ~0015946

Daft Mugi

Daft Mugi

18.02.2023 04:21

developer   ~0015953

I tracked this down to "idPhysics_Player::ShoulderingMove()".
Within that function, the animation doesn't factor in a moving platform.
With each "SetOrigin()" call, the player starts to clip through the platform.
With the final "SetOrigin()", the player's origin gets set to the start of the animation.
The player and platform become mismatched.

    // Apply animation to player position and view angle
    const idVec3 newPosition = current.origin + (newPositionOffset - m_PrevShoulderingPosOffset);
    m_PrevShoulderingPosOffset = newPositionOffset;
    // Explicitly return to start position to avoid clipping due to quantization errors

Issue History

Date Modified Username Field Change
16.02.2023 06:01 Daft Mugi New Issue
16.02.2023 06:02 Daft Mugi Note Added: 0015946
16.02.2023 06:02 Daft Mugi File Added: cauldron_v2_2_4303d8b3bf4bea95 (2023-02-15 23-26-19) (-1798.6 3571.72 -1883.75) edited.jpg
16.02.2023 06:02 Daft Mugi File Added: newjob (2023-02-15 23-24-02) (1222.88 -204.17 -81.75) edited.jpg
18.02.2023 04:21 Daft Mugi Note Added: 0015953