]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Q3 compat: implement a 1ms fallback traveltime for all movers
authorbones_was_here <bones_was_here@xonotic.au>
Fri, 9 Feb 2024 19:28:37 +0000 (05:28 +1000)
committerbones_was_here <bones_was_here@xonotic.au>
Fri, 9 Feb 2024 19:58:20 +0000 (05:58 +1000)
This fixes the doors failing to open on q3df map sdc-uk_08 which uses
trigger_multiple -> func_button.speed = -1 -> func_door
Buttons trigger targets at the end of their movement and that one didn't
move at all.

Signed-off-by: bones_was_here <bones_was_here@xonotic.au>
qcsrc/common/mapobjects/subs.qc

index f89ab21e2f79ab1903dabc12c10da0cbcefac9ef..09ceba21f0bb4caee58bc093bfb1ea6a11b5e8a6 100644 (file)
@@ -298,6 +298,11 @@ void SUB_CalcMove (entity this, vector tdest, float tspeedtype, float tspeed, vo
                        break;
        }
 
+       // Q3 implements this fallback for all movers at the end of its InitMover()
+       // If .speed is negative this applies, instead of the mover-specific default speed.
+       if (traveltime <= 0)
+               traveltime = 0.001;
+
        // Very short animations don't really show off the effect
        // of controlled animation, so let's just use linear movement.
        // Alternatively entities can choose to specify non-controlled movement.