Jump to content

UMAPINFO problem - Cyberdemon bossaction on E2M8


Recommended Posts

Hi.

 

I am having a bit of a problem getting a part of my UMAPINFO to work. I hope someone can help me figure it out.

 

On E2M8 I want to trigger a lower floor action after all Cyberdemons die so the player can enter a room with an exit. But it does not work. The level still ends like in the original game (level goes to endtext when all Cybers die). Here's the code:

MAP E2M8
{
	   levelname = "Domain of evil"
	   levelpic = "WILV17"
       skytexture = "SKY2"
	   music = "D_E2M8"
	   bossaction = clear
	   bossaction = Cyberdemon, 23, 667
}

I thought the fix would be to add "bossaction = clear", but it does not seem to do anything.

 

I know the code works, because I have same code for E4M8 where it does in fact lower a floor when the Cyberdemons are dead. That level also have a Spider Mastermind where I have defined a CODEPTR to Keendie in a Dehacked file, so that a door opens with tag 666. The point being that you cannot exit the level until Cybers and SM are dead. Here's the code for E4M8:

MAP E4M8
{
       levelname = "Deus in absentia"
	   levelpic = "WILV37"
       skytexture = "SKY4"
	   music = "D_E4M8"
	   interbackdrop = "MFLR8_3"
	   bossaction = Cyberdemon, 23, 667
	   intertext = "blah blah blah"
}

Anyone got any ideas? Would be immensely appreciated!

Share this post


Link to post

My complete amatuer guess is that there is a difference between these two maps. E2M8 doesn't call anything that has to do with sectors, it just checks if all Cybers are dead and then ends the map, so you pretty much can't change that. Meanwhile in E4M8 it checks if all bosses are dead and then calls an action (this case lowerFloorToLowest) with tag 666, which you can change both with Umapinfo. (Source: somewhere in p.enemy_c)

 

I don't know how Umapinfo does stuff behind the scenes, so don't rely 100%ly on my reply.

 

 

P.S. I also had problems working with A_Bossdeath in Umapinfo, so this just goes to show me that using it only works when it wants to :P

Share this post


Link to post

Why are you using base Doom 1 e2m8 base commands when you can define all the parameters on your own custom map? If it's a Boom or ZDoom base then you can make your own triggers based. I would assume this is the case because Umapinfo isn't Chocolate compatible iirc. 

 

If this was a Dos or Coco compatible then the map replacement issue would be poignant, but this is not the case with Umapinfo. Basically forget the E2m8 trigger and make line defs for the gate/ or add multiple gates to the exit tied to each Cyber.  

Share this post


Link to post

Edit- last response was inconclusive for the problem

 

What I meant is put the triggers in the map directly and don't use Umapinfo to define the boss action. Bossdeath line def the door/platform inside the map itself using the e1m8 version, the Cyber triggers the door When the last cyber dies. 

 

Is this Boom base?

 

 

Edited by kalensar
Correction

Share this post


Link to post

Thank you for all the answers! Sorry that I forgot to mention the source port. I will go through all the ports mentioned in the compatibility list but right now I am using Gzdoom.

 

The mega wad I am making aims to be Boom compatible.

Share this post


Link to post

It works as expected in DSDA-Doom, and considering it (as far as I've checked) works in GZDoom on any slot except E2M8 it's probably a bug in GZDoom.

Share this post


Link to post

Thank you, boris. I will try one of the other ports and see what results I get. I guess I just took for granted that gzdoom would be fine. But never take anything for granted, I guess.

 

EDIT:

  • Works in
    • DSDA-Doom 0.26.2
    • PrBoom+ 2.5.17um
    • PrBoom+ 2.6.66-ucrt64
    • PrBoom+ 2.61um-w32
    • Woof 11.2.0-win64

 

  • Does not work in
    • Eternity 4.02.00
    • Woof 1.1.0-win32
    • GzDoom 4.10.0
    • zDoom 2.8.1
Edited by Chris Hansen

Share this post


Link to post

Upon further testing:

 

According to UMAPINFO the bossaction keys are cumulative.

 

  • DSDA-Doom 0.26.2: seems to overwrite the map's default behavior with the first bossaction. Ignore bossaction = clear. Ignores any further bossaction after the first (non-clear) one.
  • GZDoom 4.11pre-206: seems to not clear the map's default behavior with bossaction = clear. Additionally defined bossactions actually do work, but since the map ends that doesn't help much.
  • Eternity 4.03.00 dev builds: works as expected. Default behavior gets cleared. All newly defined bossactions are executed.

 

I've attached a example map with two bossactions to show the problem: umapinfo-e2m8-problem.zip

Share this post


Link to post

Thanks, boris! I will take a look at your map later.

 

What would your advice to me be? Redesign the maps and accept that, because it only works in certain ports, it is not viable solution to let it stay the way it is?

 

Or come up with completely new solution so that it’s fool proof no matter what port the player use?

 

For me, the simplest solution is a dehacked file with CODEPTR to keendie attached to the bosses. But as far as I know it can only work for one boss. I have keendie attached to the spider mastermind at the moment. Is there anything like keendie that can be attached to the cyberdemon?

Edited by Chris Hansen

Share this post


Link to post

The solution is to fix up the ports -- these sorts of things shouldn't be accepted as unfixable things to be worked around (we're out of the Boom stone age).

 

A bugreport is in progress for dsda-doom, so gears are turning there.

Share this post


Link to post

It should be fixed in the ports. Considering that UMAPINFO is still pretty new it's probably that nobody ran into this setup before. I posted about it on the DSDA-Doom Discord to see if they want an issue for that on GH. I can also create an issue for GZDoom. But there are about a dozen other ports with UMAPINFO support that I haven't checked (and won't check).

Share this post


Link to post
37 minutes ago, boris said:

I've attached a example map with two bossactions to show the problem: umapinfo-e2m8-problem.zip

If you change the ceiling action from 40 to 166, it works in dsda-doom as intended - both red thingies move. There are probably undocumented limitations on what actions do or don't work, need to check P_UseSpecialLine in more detail. I recall avoiding Wx actions myself.

Edited by Doomy__Doom

Share this post


Link to post

Getting it to work in the sourceports wold be awesome of course! So thanks for reporting the bug and your general interest in this bug I encountered. All of you and your dedication to this community is priceless.

 

Now to test all combinations of various sourceports and all the linedef types/actions in BOOMREF.TXT!! :D *head explodes"

Share this post


Link to post
2 hours ago, Doomy__Doom said:

If you change the ceiling action from 40 to 166, it works in dsda-doom as intended - both red thingies move. There are probably undocumented limitations on what actions do or don't work, need to check P_UseSpecialLine in more detail. I recall avoiding Wx actions myself.

 

Huh, interesting. The Doomwiki mentions some actions that won't work (like teleports or locked doors), but not that W* actions are not supposed to work in general.

Share this post


Link to post
  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...