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?
Raise ceiling in Heretic format
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.
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.
-
- Posts: 516
- Joined: Sat Aug 19, 2017 11:52 pm
- Graphics Processor: nVidia (Modern GZDoom)
-
- Posts: 17
- Joined: Sun Dec 29, 2019 6:36 pm
Re: Raise ceiling in Heretic format
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.
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.
-
-
- Posts: 4143
- Joined: Thu Jul 17, 2003 12:19 am
- Graphics Processor: nVidia (Legacy GZDoom)
- Location: British Columbia, Canada
Re: Raise ceiling 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: 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.
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.Kzer-Za wrote: So, is it possible to raise the ceiling by a switch, while keeping the map in Heretic format?
Action special 262 is a hack-in for EE compatibility and cannot be used by Heretic.
-
- Posts: 516
- Joined: Sat Aug 19, 2017 11:52 pm
- Graphics Processor: nVidia (Modern GZDoom)
Re: Raise ceiling in Heretic format
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.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.
Thanks, that works!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.
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!