Ambush Flag gone(A_SpawnitemEx+randomspawner)

These bugs do plan to be resolved, when they can be.

Moderator: GZDoom Developers

Plynthus
Posts: 86
Joined: Thu Jun 27, 2019 8:33 am

Ambush Flag gone(A_SpawnitemEx+randomspawner)

Post by Plynthus »

Hey,

I don't know if this is considered a bug. Or if there is a reason why it works this way.

But when I spawn a "RandomSpawner" through a "A_SpawnitemEx", the ambush flag from the replaced ACTOR is gone. Even if I use "SXF_TRANSFERAMBUSHFLAG".
Both work separately.
When I used only RandomSpawner everything was fine. Or if I spawn the ACTOR of the enemy through A_SpawnitemEx using SXF_TRANSFERAMBUSHFLAG, that works too.

Here's an example what I'm trying to do with it(from a DECORATE):
Spoiler:
Yes, I'm asking because I really would love to get it to work this way on my project.
But also if that could be fixed(again... if it is a bug, and there's no intended reason why it works that way.), it would make doing these kind of options for different spawning settings(especially random) so much simpler for everyone.

Here's a video of the spawning working as I intended, and the problem with the Ambush FLAG:



Here's the .pk3 just in case the information above wasn't enough. https://www.mediafire.com/file/hmhc7hvd ... e.pk3/file
DECORATE/Zombieman.txt

Either way... Thank you for everything you've done for GZDOOM over the years. It is the best!

EDIT:

+BossDeath doesn't seem to transfer either. (using the same type of A_SpawnItemEx + RandomSpawner combination)
If I've understood correctly that is the one needed for things like E1M8. Kill the barons to trigger tag 666.




Or maybe the +BossDeath transfers fine. But GZDOOM doesn't count them as Barons anymore. Because "replaces Baronofhell" is not in the randomspawners themselves?
Here's an example of the DECORATE I'm using:
Spoiler:
Last edited by Plynthus on Thu Jul 04, 2019 11:15 am, edited 3 times in total.
_mental_
 
 
Posts: 3787
Joined: Sun Aug 07, 2011 4:32 am

Re: Ambush Flag gone(A_SpawnitemEx+randomspawner)

Post by _mental_ »

SXF_TRANSFERAMBUSHFLAG doesn't transfer spawn flag, only actor's one. Probably, it's a bug because initial ambush state is lost indeed.

This can be fixed by copying bAmbush here, or by setting corresponding bit in SpawnFlags here.
I need someone else opinion as I cannot decide which one is better.
Plynthus
Posts: 86
Joined: Thu Jun 27, 2019 8:33 am

Re: Ambush Flag gone(A_SpawnitemEx+randomspawner)

Post by Plynthus »

Thanks for the info _mental_!

Also I wanted to add that you can even spawn a RandomSpawner through another RandomSpawner, and even that works just fine.
But when you combine A_SpawnitemEx with RandomSpawner. That's when it breaks.
Plynthus
Posts: 86
Joined: Thu Jun 27, 2019 8:33 am

Re: Ambush Flag gone(A_SpawnitemEx+randomspawner)

Post by Plynthus »

And for my own mod I could define RandomSpawner2 using this code?
I'm very unfamiliar with zscript. I tried couple things, but couldn't get it to work.
Last edited by Plynthus on Mon Jul 01, 2019 2:05 pm, edited 2 times in total.
_mental_
 
 
Posts: 3787
Joined: Sun Aug 07, 2011 4:32 am

Re: Ambush Flag gone(A_SpawnitemEx+randomspawner)

Post by _mental_ »

Instead of incorporating some workarounds, I would wait for Graf's reply on this topic.
Plynthus
Posts: 86
Joined: Thu Jun 27, 2019 8:33 am

Re: Ambush Flag gone(A_SpawnitemEx+randomspawner)

Post by Plynthus »

Ok, thank you! I'm new here.
And I'm just really hoping to get the options settings to work in my mod.
Plynthus
Posts: 86
Joined: Thu Jun 27, 2019 8:33 am

Re: Ambush Flag gone(A_SpawnitemEx+randomspawner)

Post by Plynthus »

(I added this to the original post)
Spoiler:
Last edited by Plynthus on Thu Jul 04, 2019 11:15 am, edited 1 time in total.
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3111
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain

Re: Ambush Flag gone(A_SpawnitemEx+randomspawner)

Post by drfrag »

This looks like it could be an important bug. I wonder when it was introduced, in the last round of scriptifications?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 48375
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Ambush Flag gone(A_SpawnitemEx+randomspawner)

Post by Graf Zahl »

The problem here is very simple: The RandomSpawner was designed for replacing map placed items, it contains code to handle the flags from there. This will always overwrite those map-settable flags in the spawner actor itself, which is where the SXF_TRANSFERAMBUSHFLAG writes into. And since a runtime-spawned actor has no corresponding mapthing, these flags will not be set.
Plynthus
Posts: 86
Joined: Thu Jun 27, 2019 8:33 am

Re: Ambush Flag gone(A_SpawnitemEx+randomspawner)

Post by Plynthus »

Thanks for the answer!
So to make sure I understood correctly. It is like that on purpose and it's not a bug?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 48375
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Ambush Flag gone(A_SpawnitemEx+randomspawner)

Post by Graf Zahl »

It's not a bug but it still should be investigated if this can be worked around.
Plynthus
Posts: 86
Joined: Thu Jun 27, 2019 8:33 am

Re: Ambush Flag gone(A_SpawnitemEx+randomspawner)

Post by Plynthus »

Thanks, great to know!

Also the BossDeath thing might be even bigger.
I tried spawning the ACTOR directly using the SpawnItemEx, and not through a RandomSpawner as well. And their special actions("BaronSpecial", "CyberdemonSpecial" etc.) gets triggered as soon as you start the map.
And if I spawned RandomSpawner throgh SpawnItemEx. Those "specials" wouldn't trigger at all(shown in the second video).

I assume this isn't a bug either. Just thought I'd point it out, because I just noticed it.
_mental_
 
 
Posts: 3787
Joined: Sun Aug 07, 2011 4:32 am

Re: Ambush Flag gone(A_SpawnitemEx+randomspawner)

Post by _mental_ »

Graf Zahl wrote:It's not a bug but it still should be investigated if this can be worked around.
For ambush flag I proposed two possible solutions here.

As for boss death thing, most likely all replacement monsters need to be made "boss".
Plynthus
Posts: 86
Joined: Thu Jun 27, 2019 8:33 am

Re: Ambush Flag gone(A_SpawnitemEx+randomspawner)

Post by Plynthus »

I have tried that for the boss death thing. With no success so far.

It happens even when you spawn the original monster(well, a copy of it at least) that way.

I made 2 example wads where the problem happens in different ways:
(there's only DECORATE lump in there so file size is very small)

Example 1 https://www.mediafire.com/file/4pf01uga ... 8.wad/file
-If you go to E2M8 the level ends as soon as you start the map.
Spoiler:
Example 2 https://www.mediafire.com/file/hcrxzz0v ... 8.wad/file
-If you go to E2M8 and kill the Cyberdemon, nothing happens. I lowered it's health down to 15 for test purpose.
-Maybe the randomspawner had nothing to do with this after all, because it happens even when doing it like this:
Spoiler:
And for the ambush flag. I know your reply wasn't for me, but I thought I should mention this.
I can confirm that I got it working with the first way you proposed. I added
"newmobj.bAmbush = bAmbush;"
to the "// copy everything relevant" section starting from line 187.
Haven't noticed it causing any side effects or any other problems so far.

Return to “On Hold Bugs”