forums, downloads, community, support and development for Unreal, UnrealTournament and other UnrealEngine 1/2 based games https://www.oldunreal.com/phpBB3/
Regression: Respawned inventory may become hovering if it's being touched by a player
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:
// 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.