Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
damned

Perpetual lowest and highest floors - why some sectors start to move up and other down?

Question

Hi,
I am trying to model perpetual moving lift with "Perpetual lowest and highest floors" vanilla or at least boom linedef action.
I wanted to make the lift more fancy with more different sectors. The highest and lowest floor is set with dummy sectors outside the map.
Unfortunatelly it doesn't work how I would expect. Some sectors start with direction up, some with direction down, which is spoiling the effect (see the video below).
It looks that even in the same map, the direction of the movement is randomized every start of the map (different sectors are moving up and different down). :)
Do you have some idea, how to ensure, that the floor movement will be synchronized? 
 

 

Share this post


Link to post

2 answers to this question

Recommended Posts

  • 1

The simplest solution would be to link/attach the sectors together, but then it'll work only in Eternity and ZDoom. For vanilla or Boom compatibility, you'll have to make a single-sector lift and forget about making it fancy...

 

14 hours ago, damned said:

It looks that even in the same map, the direction of the movement is randomized every start of the map

Yes it is.

 

	  case perpetualRaise:
	    plat->speed = PLATSPEED;
	    plat->low = P_FindLowestFloorSurrounding(sec);

	    if (plat->low > sec->floorheight)
		plat->low = sec->floorheight;

	    plat->high = P_FindHighestFloorSurrounding(sec);

	    if (plat->high < sec->floorheight)
		plat->high = sec->floorheight;

	    plat->wait = 35*PLATWAIT;
	    plat->status = P_Random()&1;

	    S_StartSound((mobj_t *)&sec->soundorg,sfx_pstart);
	    break;

See that plat->status = P_Random()&1; line? That's what makes it so that the platform will randomly be moving up (0) or down (1).

typedef enum
{
    up,
    down,
    waiting,
    in_stasis

} plat_e;

 

Share this post


Link to post
  • 0

Thank you!
So I've decided to make some workaround.
I've built conveyor belt with voodoo doll and two active lines on it - floor lowers to lowest floor and floor raise to highest floor.

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
×