FWGS / xash3d-fwgs

Xash3D FWGS engine.
1.54k stars 233 forks source link

CItem inheritors fall through the floor #427

Open adslbarxatov opened 3 years ago

adslbarxatov commented 3 years ago

Hi!

Maybe this bug has been fixed already. But we cannot find the solution.

Bug: classes that inherit CItem baseclass and use movetype == MOVETYPE_TOSS fall through the floor when intersect at least one another entity. When they only meet the world brush, they drop on the floor properly.

Changing movetype to MOVETYPE_STEP fixes the problem, but looks like a bad solution.

The problem first appeared on Xash3D 4344. In 3737 we haven't met it.

Thanks for help!

nekonomicon commented 3 years ago

The latest version of Xash3D has build number 4529, not 4344: https://hlfx.ru/forum/showthread.php?s=5586aeb1ec713b6e96c7a46815c28374&threadid=5265

adslbarxatov commented 3 years ago

Update to build 4529 does nothing for this trouble. With MOVETYPE_STEP it still works

a1batross commented 3 years ago

Can you send a little example?

adslbarxatov commented 3 years ago

Yes, sorry, I had to do this first. OK, some CItem entities behave properly

eshq01_0000

But some of them do this:

eshq01_0001 eshq01_0002 eshq01_0003

They're just falling down through the map

With MOVETYPE_STEP1 it works properly

eshq01_0000

1 changed in this part of code:

void CItem::Spawn (void)
    {
    pev->movetype = MOVETYPE_STEP;
    pev->solid = SOLID_TRIGGER;