MantisBT - Zandronum
View Issue Details
0000428Zandronum[All Projects] Suggestionpublic2011-05-07 01:532018-09-30 19:53
Hypnotoad 
Torr Samaho 
normalfeaturehave not tried
closedfixed 
MicrosoftWindowsXP/Vista/7
98d 
1.0 
0000428: Backport THRUSPECIES from zdoom into skulltag
+thruspecies is a flag in the later versions of zdoom allowing players to pass through each other (or other actors of the same species) but not other actors (e.g. decoration, enemy monsters, projectiles etc...), which should be backported into skulltag in my opinion. This flag could be vitally useful for many coop wads that can get overcrowded in tight places when too many people are in the server. It would be especially useful for jumpmaze, which requires people to race to the finish; the gameplay can be hindered severely when people are constantly blocking and bumping into each other. The +THRUSPECIES flag could be added to a forced class in the wad, or in a patch wad, which would resolve the issue.
co-operative, ghost, moving, player, skulltag, survival, thruspecies
has duplicate 0000671closed Torr Samaho Backport +THRUSPECIES flag from ZDoom 
Issue History
2011-05-07 01:53HypnotoadNew Issue
2011-05-07 07:59PositronNote Added: 0001556
2011-05-07 12:17unknownnaNote Added: 0001557
2011-05-13 21:47HypnotoadNote Added: 0001597
2011-05-14 08:02Edward-sanNote Added: 0001600
2011-05-14 10:22Edward-sanNote Edited: 0001600bug_revision_view_page.php?bugnote_id=1600#r839
2011-09-15 00:00AlexMaxNote Added: 0002158
2011-09-18 17:04HypnotoadNote Added: 0002169
2011-09-18 17:45ProtehNote Added: 0002170
2011-09-19 15:02DevonNote Added: 0002174
2011-09-19 18:20InferNote Added: 0002178
2011-09-19 19:20FrankNote Added: 0002179
2011-09-19 23:00Torr SamahoNote Added: 0002181
2011-09-19 23:00Torr SamahoAssigned To => Torr Samaho
2011-09-19 23:00Torr SamahoStatusnew => feedback
2011-09-20 13:55M0rbid DesireNote Added: 0002184
2011-09-20 14:00ProtehNote Added: 0002185
2011-09-20 18:39HypnotoadNote Added: 0002187
2011-09-20 18:39HypnotoadStatusfeedback => assigned
2011-09-20 19:08HypnotoadNote Added: 0002189
2011-09-20 23:08Torr SamahoNote Added: 0002192
2011-09-20 23:21M0rbid DesireNote Added: 0002193
2011-09-20 23:45HypnotoadNote Added: 0002194
2011-09-20 23:47HypnotoadNote Edited: 0002194bug_revision_view_page.php?bugnote_id=2194#r1142
2011-09-21 00:07Torr SamahoNote Added: 0002195
2011-09-21 00:17HypnotoadNote Added: 0002197
2011-09-21 00:23Torr SamahoNote Added: 0002198
2011-09-21 00:23Torr SamahoNote Edited: 0002198bug_revision_view_page.php?bugnote_id=2198#r1144
2011-09-24 13:13HypnotoadNote Added: 0002209
2011-09-29 11:23GezNote Added: 0002215
2011-10-05 16:40GezNote Added: 0002219
2011-10-06 02:14Torr SamahoNote Added: 0002220
2011-10-09 15:24M0rbid DesireNote Added: 0002233
2011-10-09 17:43HypnotoadNote Added: 0002234
2011-10-11 10:35GezNote Added: 0002240
2011-10-17 00:08DuskNote Added: 0002252
2011-10-17 00:54DuskNote Added: 0002254
2011-10-17 00:54DuskNote Edited: 0002254bug_revision_view_page.php?bugnote_id=2254#r1163
2011-10-17 00:55DuskNote Edited: 0002254bug_revision_view_page.php?bugnote_id=2254#r1164
2011-10-17 08:33GezNote Added: 0002258
2011-10-17 09:49DuskNote Added: 0002259
2011-10-17 21:05GezNote Added: 0002263
2011-12-04 01:20Torr SamahoNote Added: 0002313
2011-12-04 01:32Torr SamahoNote Added: 0002315
2011-12-04 02:03DuskNote Added: 0002317
2011-12-04 02:04DuskNote Edited: 0002317bug_revision_view_page.php?bugnote_id=2317#r1192
2011-12-06 01:58Torr SamahoNote Added: 0002318
2011-12-06 01:58Torr SamahoStatusassigned => feedback
2012-01-14 15:16Torr SamahoNote Added: 0002369
2012-01-15 19:48DuskNote Added: 0002438
2012-01-15 19:56Torr SamahoNote Added: 0002440
2012-01-15 20:26DuskNote Added: 0002445
2012-01-15 20:28DuskNote Edited: 0002445bug_revision_view_page.php?bugnote_id=2445#r1235
2012-01-15 20:33Torr SamahoNote Added: 0002447
2012-01-15 21:13DuskNote Added: 0002452
2012-01-15 21:14DuskNote Edited: 0002452bug_revision_view_page.php?bugnote_id=2452#r1239
2012-01-15 21:23Torr SamahoNote Added: 0002453
2012-01-15 21:23Torr SamahoStatusfeedback => resolved
2012-01-15 21:23Torr SamahoFixed in Version => 1.0
2012-01-15 21:23Torr SamahoResolutionopen => fixed
2012-02-12 03:07Torr SamahoRelationship addedhas duplicate 0000671
2018-09-30 19:53Blzut3Statusresolved => closed

Notes
(0001556)
Positron   
2011-05-07 07:59   
I agree with Jroc. This flag will be very useful in projects like Jumpmaze.
(0001557)
unknownna   
2011-05-07 12:17   
Duplicate of:

THRUSPECIES flag for player classes
(0001597)
Hypnotoad   
2011-05-13 21:47   
Okay, but it looks like nothing in that two year old thread thread was ever actually addressed, I think this is important to a lot of wads, in fact it should have been addressed and resolved two years ago, given it's just one actor flag that needs to be added. Could I at least confirm that this is being considered?
(0001600)
Edward-san   
2011-05-14 08:02   
(edited on: 2011-05-14 10:22)
You cannot estabilish the ETA to the devs, hence please be patient.

(0002158)
AlexMax   
2011-09-15 00:00   
I love to see this implemented. This could very well make STRun playable:

'http://www.skulltag.com/forum/viewtopic.php?t=20653&f=13 [^]'
(0002169)
Hypnotoad   
2011-09-18 17:04   
Blzut3 has told me that knowing which revision of zdoom thruspecies was implemented in may improve the probability of this being backported, it was revision 1626:

'http://zdoom.org/Changelog/1626/files [^]'
(0002170)
Proteh   
2011-09-18 17:45   
I agree with Jroc. This would make Jumpmaze 1000 times better and stop players complaining about blocking.

Put this in please.
(0002174)
Devon   
2011-09-19 15:02   
This can stop trolling on many WADs such as Jumpmaze, WDI, Zombie horde (But no-one cares about that anyway) etc. Very good idea imo.
(0002178)
Infer   
2011-09-19 18:20   
This will stop the block trolling in wads like Jumpmaze.
(0002179)
Frank   
2011-09-19 19:20   
Great idea that I came up with a while back and told Jroc myself about. It is useful for non-multiplayer coop wads that are too small for up to four players that you couldn't host before. More importantly Jumpmaze maps can be smaller (Aka jumpmaze maps can be made faster and done the right way) And all in all it will stop all Erdukes from blocking.
(0002181)
Torr Samaho   
2011-09-19 23:00   
The vast amount of support for this did not went unnoticed ;). This binary should THRUSPECIES and a couple of other things.

Unfortunately the THRUSPECIES changes were intertwined with a lot of other changes, so I needed backport more stuff in order to get THRUSPECIES while not breaking maintainability. Here is the full list of backports in the new bianry:

out of sequence fix backport from ZDoom revision 1587:
- Fixed: Monsters should not check the inventory for damage absorbtion when they have the MF5_NODAMAGE flag set.
- Added patch for saving automap zoom.
out of sequence fix and feature backport from ZDoom revision 1599:
- Fixed: A_CountdownArg and A_Die must ensure a certain kill.
- Changed bounce flags into a property and added real bouncing sound properties. Compatibility modes to preserve use of the SeeSound are present and the old flags map to these.
out of sequence fix and feature backport from ZDoom revision 1619:
- Added 'EndTitle' nextmap option which goes to the regular title loop after the game has finished.
- Added NOBOSSRIP flag. Note: we are now at flags6!
- Added THRUACTORS flag that disables all actor<->actor collision detection.
- Added DONTSEEKINVISIBLE flag for missiles that can't home in on invisible targets.
- Added SFX_TRANSFERPITCH flag to A_SpawnItemEx.
- Added Ultimate Freedoom IWAD detection.
- Added GetAirSupply and SetAirSupply functions to ACS.
- Fixed: The *surface sound was not played when drowning was switched off by setting the level's air supply to 0.
out of sequence feature backport from ZDoom revision 1626:
- Added Gez's THRUSPECIES submission.
out of sequence fix backport from ZDoom revision 1768:
- Fixed: P_TestMobjZ() needs THRUSPECIES and THRUACTORS checks, too.
(0002184)
M0rbid Desire   
2011-09-20 13:55   
Wonder If this could be applied in a Server dmflag too.
(0002185)
Proteh   
2011-09-20 14:00   
Thanks so much for that, Torr!

... I guess no Linux binary until the official release :(
(0002187)
Hypnotoad   
2011-09-20 18:39   
Thanks a lot Torr :D! In general this is working fine however there is one major issue. Thruspecies does not seem to work and you will still collide with others until you jump or fall off of a ledge, furthermore you will not be able to pick up weapons until you jump too. This can be reproduced easily, here is a wad with +THRUSPECIES added to the doomplayer class:

'http://www17.zippyshare.com/v/67445612/file.html [^]'

No need to host a server to reproduce, simply use the summon doomplayer console command to summon a doomplayer near where you spawn. Make sure you do not summon him in a place where you need to fall off a ledge to get to, so if in map01 summon him behind you. You will collide with the doomplayer, and you wont be able to pick up weapons, however when you jump or fall off of a ledge, from then on you will no longer collide with the doomplayer and you will be able to pick up weapons fine. If you kill yourself and respawn, it will happen again.

Incidentally, since thruspecies has made telefragging redundant, could I request a method to disable them? For instance, a server flag, or backporting the +NOTELEFRAG decorate flag from zdoom.
(0002189)
Hypnotoad   
2011-09-20 19:08   
Found another issue, it seems that when on a platform that is moving up and you are inside another person, you will be forced above the player you were inside of until the platform stops moving.
(0002192)
Torr Samaho   
2011-09-20 23:08   
Alright, there was still a ZDoom bug affecting THRUSPECIES. This contains the packported fix from ZDoom revision 1663. Since the corresponding ZDoom log message was completely inexpressive, it was not apparent that this revision is also necessary. I don't know if this fixes all the problems you observed though. Please test and report back.

> Incidentally, since thruspecies has made telefragging redundant, could I request a method to disable them? For instance, a server flag, or backporting the +NOTELEFRAG decorate flag from zdoom.

Well, you can make as many request as you want. The question is how many of them will be actually implemented ;). If every backported ZDoom feature immediately triggers another ZDoom backport request, this is probably not going to work. Anyway, if you'd like to make an additional request, please open a new request ticket so we can discuss this there.

> Wonder If this could be applied in a Server dmflag too.

What exactly are you trying to request? A new dmflag that adds THRUSPECIES to all players? If so, please make a new request ticket for this.
(0002193)
M0rbid Desire   
2011-09-20 23:21   
>What exactly are you trying to request? A new dmflag that adds THRUSPECIES to all players? If so, please make a new request ticket for this.

Yes, with that you will don't need to make a decorate lump for THRUSPECIES only. It's not big important but i'll request anyways.
(0002194)
Hypnotoad   
2011-09-20 23:45   
(edited on: 2011-09-20 23:47)
It seems that the first problem I mentioned where thruspecies would not immediately work when spawning is now fixed :).

However the issue where you or the other player is forced above you when a platform is moving up is still present. Quickest way to reproduce is to spawn a doomplayer on the lift in the main hall in Map01, go into chasecam and walk inside the doomplayer then observe what happens when the platform raises.

edit: using the wad I linked earlier of course

(0002195)
Torr Samaho   
2011-09-21 00:07   
> However the issue where you or the other player is forced above you when a platform is moving up is still present.

Did you check whether it works properly in ZDoom?
(0002197)
Hypnotoad   
2011-09-21 00:17   
I just tested in zdoom and the bug is there too :(
(0002198)
Torr Samaho   
2011-09-21 00:23   
> I just tested in zdoom and the bug is there too :(

That's what I guessed. Please make a bug report at the ZDoom forum.

(0002209)
Hypnotoad   
2011-09-24 13:13   
'http://forum.zdoom.org/viewtopic.php?f=2&t=30886 [^]'

I have a feeling nobody on zdoom is gonna bother for a long while, but oh well.
(0002215)
Gez   
2011-09-29 11:23   
'http://forum.zdoom.org/viewtopic.php?f=34&t=30947 [^]'
(0002219)
Gez   
2011-10-05 16:40   
Any chance of getting a test build with my fix so that people can see if it breaks anything else?
(0002220)
Torr Samaho   
2011-10-06 02:14   
Here you go.
(0002233)
M0rbid Desire   
2011-10-09 15:24   
The rocket still pass through the player with THRUSPECIES flag and when I pick up the special weapons (minigun, grenade launcher, etc) I can't select them.
(0002234)
Hypnotoad   
2011-10-09 17:43   
M0rbid desire, if you're using the thruspecies wad I made, that's because I also added mthruspecies (m for missile) to the rocket's actor decorate for testing, so that is an intended result.
(0002240)
Gez   
2011-10-11 10:35   
And likewise, the player class definition in that test wad does not have the Skulltag-only weapons in its weapon slots (in order to allow it to be used with ZDoom too) so it's normal that you can't select them.
(0002252)
Dusk   
2011-10-17 00:08   
We tested this with the private testing team and the results are as follows:
- +THRUSPECIES, +MTHRUSPECIES and +THRUACTORS work with all testable conditions, including infinite actor height, A_ChangeFlag and monsters with said flags.
- +NOBOSSRIP works fine, rockets with +RIPPER and said flag pass through imps and normal enemies but collide at boss monsters.
- Devil Hunter crashed every time a player he was spying at picked up an item - removing Voltlock's redux announcer fixed the issue. 75 couldn't join up due to strange freeze issues.

All in all, seems to work.
(0002254)
Dusk   
2011-10-17 00:54   
(edited on: 2011-10-17 00:55)
Test run part 2: +DONTSEEKINVISIBLE is broken. A RevenantTracer with the flag does not home in at all even if you're visible. Broken both offline and online.

(0002258)
Gez   
2011-10-17 08:33   
And it works with any other build?
(0002259)
Dusk   
2011-10-17 09:49   
This build here /introduced/ +DONTSEEKINVISIBLE, though Revenant tracers home in fine with r3299.
(0002263)
Gez   
2011-10-17 21:05   
There are two builds in this thread:
'http://www.mediafire.com/?1p8n54uo4gu0ud2 [^]'
'http://www.mediafire.com/?8dydjs7msfzh1m8 [^]'

The latter is the latest and contains a fix I coded. So I'm interested in any bug that happens in the latter but not the former. If you don't find any problem with 8dydjs... that are not already present in 1p8n54... then it means my patch is bug-free.
(0002313)
Torr Samaho   
2011-12-04 01:20   
> Test run part 2: +DONTSEEKINVISIBLE is broken.

I'm pretty sure that this is a ZDoom bug fixed in ZDoom revision 2501 (fixed: AActor::CanSeek had the check for the visibility of the target actor's alpha reversed.). But when the flag is not used everything works fine, right?
(0002315)
Torr Samaho   
2011-12-04 01:32   
BTW: What's the verdict on the THRUSPECIES/THRUACTORS bug fix Gez proposed?
(0002317)
Dusk   
2011-12-04 02:03   
(edited on: 2011-12-04 02:04)
I tested this with Decay:

> I'm pretty sure that this is a ZDoom bug fixed in ZDoom revision 2501 (fixed: AActor::CanSeek had the check for the visibility of the target actor's alpha reversed.).
For what it's worth, it does not home even if the player is invisible.

> But when the flag is not used everything works fine, right?
Right. Only when +DONTSEEKINVISIBLE is given the projectile never homes.

(0002318)
Torr Samaho   
2011-12-06 01:58   
Alright, I'll see eventually if backporting the ZDoom fix will fix DONTSEEKINVISIBLE anyway.

What's more important to know right now though if whether Gez's fix for the platform issue works and whether it breaks anything else.
(0002369)
Torr Samaho   
2012-01-14 15:16   
Since the testing team reported that Gez's fix works and doesn't immediately seem to break anything, I added it to our repo.

I also backported the fix from ZDoom 2501 I mentioned earlier. Please test this binary to check whether it fixes the problems with DONTSEEKINVISIBLE.
(0002438)
Dusk   
2012-01-15 19:48   
+DONTSEEKINVISIBLE fix works.

Initial spawn can cause telefrags, however normal teleporting works properly.
(0002440)
Torr Samaho   
2012-01-15 19:56   
> Initial spawn can cause telefrags, however normal teleporting works properly.

Is that any different in ZDoom?
(0002445)
Dusk   
2012-01-15 20:26   
(edited on: 2012-01-15 20:28)
> Is that any different in ZDoom?
In ZDoom, spawning does not telefrag with +THRUSPECIES. It seems that Skulltag ignores damagefactor Telefrag when calculating spawning... the test wad has damagefactor Telefrag, 0 to make would-be telefrags harmless.

(0002447)
Torr Samaho   
2012-01-15 20:33   
> In ZDoom, spawning does not telefrag with +THRUSPECIES.

In general or just if you use damagefactor Telefrag 0? If it's the latter, this has nothing to do with THRUSPECIES itself. If Skulltag is different from ZDoom here, then because it uses a different damage type for spawn telefragging, i.e. SpawnTelefrag instead of Telefrag. Whether it's a good idea to deviate from ZDoom here is a different question...
(0002452)
Dusk   
2012-01-15 21:13   
(edited on: 2012-01-15 21:14)
> In general or just if you use damagefactor Telefrag 0? If it's the latter, this has nothing to do with THRUSPECIES itself.
In Skulltag, if damagefactor Telefrag 0 is not present, telefrags will always happen, regardless of +THRUSPECIES. Further testing indicates that damagefactor SpawnTelefrag 0 fixes the issue of spawns causing telefrags. Looks pretty much resolved to me.

I don't think the team is ready for another ZDoom test too soon. :P

(0002453)
Torr Samaho   
2012-01-15 21:23   
Alright, then let's consider this to be resolved :).