Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
the iron hitman

Eternity sliding doors?

Recommended Posts

Hello all.

I was wondering how to make sliding doors in Eternity (or an "illusion" making it look like the door opens sideways rather than like a normal door), and wondered if there was any scripting involved in constructing these kind of doors (sidewards sliding motion).

Thanks in advance.

Share this post


Link to post

Polyobjects.

It's just like in ZDoom, except that for Polyobj_StartLine and Polyobj_DoorSlide, you use Extradata.

Here's how to set up ExtraData and those parameterized lines:

1. Create an extra wad file containing EMAPINFO and another lump (such as EXTRA01). Keep it open with XWE or SLumpEd, while your map is in another Wad, open with DoomBuilder.
2. At the very least, write down in EMAPINFO:

[MAP01]
extradata = EXTRA01
3. Go into your map and go to where you'd place Polyobj_StartLine if it were Hexen or ZDoom. Give it the special #270 and tag 1.
4. Do the same for the door's faces, giving them special #270 again and tag 2.
5. Go into EXTRA01 and type
linedef
{
  recordnum 1
  special polyobj_startline
  args {refer to the polyobjects link above}
}

linedef
{
  recordnum 2
  special polyobj_doorslide
  flags USE|PLAYER|REPEAT|1SONLY        // refer to the extradata link above for how to generally use it
  args {refer to the polyobjects link above}
}
Separate the args arguments with commas. For example, args {1,0,0,0,0}
This assumes you know how to do polyobjects for Hexen and ZDoom. That's comfortably well documented at http://zdoom.org/wiki.

Don't worry about subsectors in Eternity, polyobjects don't have the restrictions they have in ZDoom and Hexen.

Share this post


Link to post

Hey again, sorry for the mega bump (inactivity on my part). Thanks for the help, but now I have a new question.

Whenever I cross the linedef (which activates the sliding door, I get this message:

P_STARTLINESCRIPT: NO LEVELSCRIPT

I'm obviously doing something wrong as I'm still new to Eternity, but I have no idea what is wrong.

Any help would be greatly appreciated. Thanks in advance :)

Share this post


Link to post
the iron hitman said:

Hey again, sorry for the mega bump (inactivity on my part). Thanks for the help, but now I have a new question.

Whenever I cross the linedef (which activates the sliding door, I get this message:

P_STARTLINESCRIPT: NO LEVELSCRIPT

I'm obviously doing something wrong as I'm still new to Eternity, but I have no idea what is wrong.

Any help would be greatly appreciated. Thanks in advance :)

Sounds like you're using a Small script starting linedef instead of the ExtraData control line special.

Share this post


Link to post
Quasar said:

Sounds like you're using a Small script starting linedef instead of the ExtraData control line special.


Are there any example WAD's out there that utilise polyobjects in Eternity? Just I'm mainly familiar with ZDoom more than Eternity (I'm still learning a lot of features).

Share this post


Link to post

You actually don't need to use the ExtraData control special at all any more. As of about two years ago, it's possible to just put the polyobject special #'s directly into your map, and set the tag equal to the ExtraData record number.

This extension/change was requested by esselfortium a long time ago, and was implemented immediately. Since parameterized specials can't work without ExtraData records in DOOM anyway, it's just assumed that if you use one, they should have a record.

So you should be able to change the 270 lines (or whatever number you have accidentally used instead) directly to the polyobject line specials as documented on that wiki page.

I'm not aware of any released maps that make use of PolyObjects in Eternity. Essel has made a bunch of them, but he's sitting on them all for his vaporware project.

Share this post


Link to post
Quasar said:

I'm not aware of any released maps that make use of PolyObjects in Eternity. Essel has made a bunch of them, but he's sitting on them all for his vaporware project.

Sitting on them for Vapor? Not exactly. I'd love to release the one of the three that's actually finished, just to get a new EE map (and a new Essel map) out there, since both are rather rare commodities, but it's waiting on two things: SoM to finish the clipping rewrite, and me to finish the difficulty settings, which I've been putting off.

I'd prefer not to release it to the public yet when, in addition to there being some noticeable (though generally minor) portal physics issues in the map, there could be unintended changes in the map's behavior once the code is finished, with monsters waking up before they should be and such. :\

Share this post


Link to post
Quasar said:

I'm not aware of any released maps that make use of PolyObjects in Eternity.

Isn't there some in the start map?

Share this post


Link to post
Gez said:

Isn't there some in the start map?

Nope those are old fakes from SMMU which are powered by the Small script combined with the SMMU sector silencing bit to keep them from sounding like instant-lower floors :)

Share this post


Link to post

Sorry to be more of a nuisance Essel and Quasar, but I'm not quite sure on what to type in the args section (mainly what each "arg" means, like {1, 2, 3, 4, 5} what does each "arg" do? (I use ZDoom and ACS way too much, and building the code in XWE feels strange for some reason due to using Doombuilder).

Thanks for your help, it has been very much appreciated. i'm beginning to like Eternity. Can't wait until a physics code for slopes is developed and implemented as well.

Share this post


Link to post

The args for polyobjects in ExtraData are the same as the args for polyobjects in Hexen format, in ZDoom or wherever. If you look up the polyobject line specials in the ZDoom wiki, it'll tell you what each arg does. (There might be something about them in the Eternity wiki now, I haven't checked, but it'd be basically the same info either way I guess.)

Share this post


Link to post
esselfortium said:

The args for polyobjects in ExtraData are the same as the args for polyobjects in Hexen format, in ZDoom or wherever. If you look up the polyobject line specials in the ZDoom wiki, it'll tell you what each arg does. (There might be something about them in the Eternity wiki now, I haven't checked, but it'd be basically the same info either way I guess.)


Ahhhh, I know exactly how ZDoom polyobjects work, I just thought the args would change when using a different source port. Thank you :) I'll reply again if I need more assistance, but after reading the polyobjects wiki, it's clarified a lot of things. I had no idea it was so similar to ZDoom's polyobjects.

Thanks guys, you've been a great help!

Share this post


Link to post
the iron hitman said:

Ahhhh, I know exactly how ZDoom polyobjects work, I just thought the args would change when using a different source port. Thank you :) I'll reply again if I need more assistance, but after reading the polyobjects wiki, it's clarified a lot of things. I had no idea it was so similar to ZDoom's polyobjects.

Thanks guys, you've been a great help!

The reason they are the same is because they are actually part of the Hexen editing "standard," if you will, which involves functionality also exposed via the ACS scripting language (which you can't quite use in EE yet, but it's coming soon).

Share this post


Link to post
Quasar said:

The reason they are the same is because they are actually part of the Hexen editing "standard," if you will, which involves functionality also exposed via the ACS scripting language (which you can't quite use in EE yet, but it's coming soon).


ACS functionality would be brilliant, although to my knowledge, I thought a different coding language was going to be implemented into EE. Guess I must be wrong, Eternity is very promising indeed.

Share this post


Link to post

If EE wants to ever support Hexen, and it does want that, it has no choice but to support ACS.

But ACS has many inherent limitations; even if you use ZDoom's enhanced ACS. Which is why a general-purpose scripting language is planned. ACS support is necessary for Hexen-compatibility, the other one is a general platform for modding.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×