Duke4.net Forums: Enemies are broken on TROR barriers - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Enemies are broken on TROR barriers

User is offline   Sangman 

#1

Tested in r8075.

- They can't pass
- They can't be attacked

See video below and attached map.

Name of the map is a bit misleading, it being a slope has nothing to do with it.



I haven't checked every version, but it's broken since at least r7497. Probably part of the clipping overhaul I guess. r7050 was still working correctly.

Attached File(s)



This post has been edited by Sangman: 04 September 2019 - 12:24 PM

3

User is offline   Sangman 

#2

This issue persists in r8123
0

#3

The revision that broke this was r7450:

Quote

---------------------------------------------------------------- --------
r7450 | terminx | 2019-03-24 01:43:25 +0100 (Sun, 24 Mar 2019) | 3 lines

Further clipmove() improvements to better deal with sector-over-sector

There's still something wrong here, but this at least fixes Duke3D E1L2.
------------------------------------------------------------------------


EDIT:

The offending change appears to be the following:
===================================================================
@@ -1288,26 +1294,8 @@
             return retval;
         }

-    updatesector(pos->x, pos->y, sectnum);
+    updatesectorz(pos->x, pos->y, pos->z, sectnum);


Revert this back to 'updatesector' and the Lizman in Sang's test map will be able to pass over the slope fine again.
What is this E1L2 bug mentioned in the commit however?

Edit 2: It appears that this section of the code has changed massively since this particular commit and is no longer comparable, the issue still prevails however.

This post has been edited by Doom64hunter: 19 September 2019 - 12:34 PM

0

User is offline   Mark 

#4

IIRC, the E1L2 bug was player getting blocked at the elevator that leads up to the room with the mattress. It was at a ROR portion of the map.

This post has been edited by Mark: 19 September 2019 - 02:37 PM

0

User is offline   Micky C 

  • Honored Donor

#5

You mean a SOS portion.
0

User is offline   Sangman 

#6

Still broken in r8413
0

User is offline   Sangman 

#7

Still kaputt in r8534
0

User is offline   LeoD 

  • Duke4.net topic/3513

#8

The lizman is a rather unfortunate example enemy, since jumping or flying across the blockage seems still possible.
Added to issue tracker.
0

User is offline   necroslut 

#9

Unlike stated in the OP, it being on a slope seems to have everything to do with it. At least currently, enemies are otherwise able to both move between (at least while flying or jumping) and be damaged through TROR barriers.

As for situations like in the original video, isn't enemies not being able to be damaged completely expected behavior with "shallow" TROR sectors? Since a slope or staircase like this will result in the enemy being in two sectors at once (above and below), which it can't be, so only the part in the sector that "counts" (typically the lower) can actually be interacted with, since it's the one to actually exist? And on the top of the slope, the "origin" sector will be extremely thin, so the enemy becomes practically untargetable.
Also, unless I'm mistaken, the original enemies weren't coded to be able to "see" between TROR connections (as they didn't exist in the original game), and thus will only follow the player through by chance.

Solution: Don't do thin TROR sectors.

This post has been edited by necroslut: 30 April 2020 - 08:44 AM

0

User is offline   Sangman 

#10

This used to work fine in older builds. So, nope. Please test stuff in all kinds of revisions before making misleading posts like that.

This post has been edited by Sangman: 03 May 2020 - 12:03 AM

0

User is offline   necroslut 

#11

View PostSangman, on 03 May 2020 - 12:02 AM, said:

This used to work fine in older builds. So, nope. Please test stuff in all kinds of revisions before making misleading posts like that.

I asked a question.
And, I don't know, I tested it in a build from 2012 and it works the same. I can't remember it ever being any different, certainly not for the damage part.

Edit: You're right – sort of. Tested it in a build from 2019 and the Enforcer could indeed walk up the slope. Shots still passed through him until he was past the peak though, just as expected.

This post has been edited by necroslut: 03 May 2020 - 02:37 AM

1

User is offline   Sangman 

#12

Checked in r7050 (the revision I mentioned previously) and you're right.
If I lower the floor of the bottom sector a bit so that enemies without jumping abilities, ie. a Pigcop, can't just walk up there, he also can't be damaged. But this happens regardless of whether or not the floor is sloped.

So there's 2 bugs then I guess:
- one newer one which causes enemies to not be able to transcend even (visually) non-existent barriers if they're in different TROR layer
- one bug where enemies cannot be harmed if their sprite is visible in multiple TROR layer, but the player's shot lands on the top "half" of the sprite (hits only register when they hit the bottom, ie. when the impact's sectnum matches the sprite's sectnum or some shit?)

Quote

Unlike stated in the OP, it being on a slope seems to have everything to do with it. At least currently, enemies are otherwise able to both move between (at least while flying or jumping) and be damaged through TROR barriers.


I just tested this again in r8894 and this is false. Lizman still can't jump through or be damaged whether it's a slope or not

This post has been edited by Sangman: 03 May 2020 - 05:47 AM

0

User is offline   necroslut 

#13

View PostSangman, on 03 May 2020 - 05:43 AM, said:

Checked in r7050 (the revision I mentioned previously) and you're right.
If I lower the floor of the bottom sector a bit so that enemies without jumping abilities, ie. a Pigcop, can't just walk up there, he also can't be damaged. But this happens regardless of whether or not the floor is sloped.

Well... yes. But you're rarely going to have enemies in a zero height sector unless it's sloped (though a staircase could get close).

Quote

So there's 2 bugs then I guess:
- one newer one which causes enemies to not be able to transcend even (visually) non-existent barriers if they're in different TROR layer
- one bug where enemies cannot be harmed if their sprite is visible in multiple TROR layer, but the player's shot lands on the top "half" of the sprite (hits only register when they hit the bottom, ie. when the impact's sectnum matches the sprite's sectnum or some shit?)

Like I said, the second one I don't think is a bug as much as an engine quirk. I don't think it ever worked any differently, and that this is the reason why TROR "levels" are recommended to be at least one player height tall.
I'm not a developer, but I was always under the impression that this is a limitation in TROR.
It would be preferable, however, if an enemy can only "be" in one sector, that the one where 90% of the sprite is displayed in is the one that counts... Not sure if it's doable.

Quote

I just tested this again in r8894 and this is false. Lizman still can't jump through or be damaged whether it's a slope or not

Hmm this is odd; indeed in your example map he can't jump out, while in my own mockup he can... Maybe it depends on if the slope goes "up" or "down"?
Edit: No, they're angled the same way. However, I could get him to jump out of the pit on your map too some times, while other times he couldn't. Definitely doesn't seem to be working right.

This post has been edited by necroslut: 03 May 2020 - 07:33 AM

0

#14

This problem doesn't depend on slopes, it happens with completely regular shallow TROR sectors as well, see attachment.

As soon as the Liztroop stands in the sector, he can no longer get out except by flying.

Attached File(s)


0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options