Raise ceiling in Heretic format

Ask about mapping, UDMF, using DoomBuilder/editor of choice, etc, here!

Moderator: GZDoom Developers

Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.

Raise ceiling in Heretic format

Postby Kzer-Za » Wed Dec 30, 2020 4:15 am

I want the ceiling in a certain sector to be raised to the highest ceiling not by crossing a line, but by activating a switch. My map is in Heretic format.

As far as I understand, maps in Heretic format did not have a line special for raising a ceiling by activating the said line, only by crossing it. But if I understand it correctly, I could assign a line special manually, by its number, and in GZDoom it would have the desired effect. Or not?

I have tried assigning a special "262" (https://zdoom.org/wiki/Action_specials) to the switch line, but it has no effect.

So, is it possible to raise the ceiling by a switch, while keeping the map in Heretic format?
Kzer-Za
 
Joined: 20 Aug 2017

Re: Raise ceiling in Heretic format

Postby NicoTheGoat » Wed Dec 30, 2020 8:03 am

The action specials listed on the wiki can only be directly used in UDMF format maps.
However, you can set the line's special and activation via ACS using the SetLineSpecial and SetLineActivation functions respectively, letting you use UDMF-only specials on non-UDMF maps.

The attached wad shows how to do this in Doom/Heretic format.
You do not have the required permissions to view the files attached to this post.
User avatar
NicoTheGoat
 
Joined: 29 Dec 2019
Discord: Nico#3419
Github ID: nicothegoat
Operating System: Other Linux 64-bit
OS Test Version: No (Using Stable Public Version)

Re: Raise ceiling in Heretic format

Postby Kappes Buur » Wed Dec 30, 2020 7:45 pm

Kzer-Za wrote:I want the ceiling in a certain sector to be raised to the highest ceiling not by crossing a line, but by activating a switch. My map is in Heretic format.


I assume that you want the sector's ceiling height to move to the height of an adjacent sector's ceiling height.


Kzer-Za wrote:So, is it possible to raise the ceiling by a switch, while keeping the map in Heretic format?


Use action special 41: Ceiling_RaiseByValue to move the ceiling by the difference in ceiling heights, attached to a switch with the press use trigger. Do not forget to assign an appropriate id tag. Of course you could do this with a script if you wanted something else to occur at the same time.

Action special 262 is a hack-in for EE compatibility and cannot be used by Heretic.
User avatar
Kappes Buur
 
 
 
Joined: 17 Jul 2003
Location: British Columbia, Canada

Re: Raise ceiling in Heretic format

Postby Kzer-Za » Sat Jan 02, 2021 3:44 am

Kappes Buur wrote:Use action special 41: Ceiling_RaiseByValue to move the ceiling by the difference in ceiling heights, attached to a switch with the press use trigger. Do not forget to assign an appropriate id tag. Of course you could do this with a script if you wanted something else to occur at the same time.

Action special 262 is a hack-in for EE compatibility and cannot be used by Heretic.


That was exactly the problem, that I couldn't assign additional parameters to line actions. I assume it is possible when editing the map in UDMF format (I haven't tried it yet), but in Heretic or Doom format it's not possible.

NicoTheGoat wrote:The action specials listed on the wiki can only be directly used in UDMF format maps.
However, you can set the line's special and activation via ACS using the SetLineSpecial and SetLineActivation functions respectively, letting you use UDMF-only specials on non-UDMF maps.

The attached wad shows how to do this in Doom/Heretic format.


Thanks, that works!

BTW, it turns out that the wiki description of these ACS functions is wrong, or at least unclear. It gives the impression that the first argument is the line id, whereas it needs to be the number of the tag assigned to the line in question. When I adapted your example to my map, I first used the line id and couldn't understand why it's not working until I took a second look at the map in your example and realized that the first argument is actually tag, not the line id. So thanks again for such a complete example that contains everything that's needed to understand it!
Kzer-Za
 
Joined: 20 Aug 2017


Return to Mapping

Who is online

Users browsing this forum: No registered users and 1 guest