mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-27 01:10:51 +00:00
Don't push sprites away from other clip objects when their clip areas overlap if the velocity passed to clipmove() is 0
This workaround should fix issues with stationary sprites moving around at map load when their clip area is overlapping solid walls. git-svn-id: https://svn.eduke32.com/eduke32@8543 1a8010ca-5511-0410-912e-c29ae57300e0 # Conflicts: # source/build/src/clip.cpp
This commit is contained in:
parent
5bd62f666e
commit
d0640618fd
1 changed files with 3 additions and 1 deletions
|
@ -1417,7 +1417,8 @@ int32_t clipmove(vec3_t * const pos, int16_t * const sectnum, int32_t xvect, int
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if (enginecompatibility_mode == ENGINECOMPATIBILITY_NONE)
|
if (enginecompatibility_mode == ENGINECOMPATIBILITY_NONE && (xvect|yvect))
|
||||||
|
{
|
||||||
for (native_t i=clipnum-1;i>=0;--i)
|
for (native_t i=clipnum-1;i>=0;--i)
|
||||||
{
|
{
|
||||||
if (!bitmap_test(clipignore, i) && clipinsideboxline(pos->x, pos->y, clipit[i].x1, clipit[i].y1, clipit[i].x2, clipit[i].y2, walldist))
|
if (!bitmap_test(clipignore, i) && clipinsideboxline(pos->x, pos->y, clipit[i].x1, clipit[i].y1, clipit[i].x2, clipit[i].y2, walldist))
|
||||||
|
@ -1429,6 +1430,7 @@ int32_t clipmove(vec3_t * const pos, int16_t * const sectnum, int32_t xvect, int
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
vec2_t vec = goal;
|
vec2_t vec = goal;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue