Page 1 of 1

Regression: Respawned inventory may become hovering if it's being touched by a player

Posted: Fri Oct 22, 2021 2:36 pm
by Masterkent


This bug was introduced in 227 patch (226b has no such trouble) and is caused by added SetLocation call in function Engine.Inventory.Pickup.CheckTouching:

Code: Select all

	// Make sure no pawn already touching (while touch was disabled in sleep).
	function CheckTouching()
	{
		local Pawn P;

		SetLocation(Location); // Update touchlist
		bSleepTouch = false;
		foreach TouchingActors(Class'Pawn',P)
			Touch(P);
	}
If updating the list of touching actors makes sense here, it should be done without location adjustments due to collision with the world geometry.

Re: Regression: Respawned inventory may become hovering if it's being touched by a player

Posted: Sat Oct 23, 2021 8:17 am
by .:..:
Yes I see now, Epic originally made a mistake with the code where they forgot parenthesis around an OR statement so it ended up with: if ('checking encroachment/fit' AND bCollideWorld) OR 'bCollideWhenPlacing' then adjust position, then as I corrected that, it became as most likely intended: 'if checking encroachment/fit' AND (bCollideWorld OR bCollideWhenPlacing) then adjust position...
But eh I'll just remove the bCollideWorld check from the equation so it behaves like old version.