Railings in Doom

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: Railings in Doom

by Grubber » Wed May 25, 2005 7:58 am

by Graf Zahl » Tue May 17, 2005 1:00 pm

Maybe because it needs another sector (2 to be precise) for each railing?

That is needless geometry that adds up in large maps.

by Hirogen2 » Tue May 17, 2005 12:56 pm

Why not just:
another sector, 242 (209 in Z-mode) and a mid texture with y = -someNumber

by David Ferstat » Mon May 16, 2005 11:05 pm

Sounds like a fairly easy way to give a useful function to the mapper.

by Cutmanmike » Mon May 16, 2005 5:44 am

Risen wrote:Yes, please!

by Graf Zahl » Mon May 16, 2005 5:03 am

Then an ACS option still would be useful.

by Hirogen2 » Mon May 16, 2005 3:30 am

/* Heh, heh */
Design a new map format :p

by Graf Zahl » Fri May 13, 2005 1:35 pm

Hirogen2 wrote:And what's the flag in the doom editor that needs to be set for railing?
None. That's the problem. It's a Strife flag that's inaccessible in the other games because the flag word is full.

by Nmn » Fri May 13, 2005 1:12 pm

Variable height for railings without using the bridge things or Boom tricks? Oh yeah...

by Hirogen2 » Fri May 13, 2005 12:06 pm

And what's the flag in the doom editor that needs to be set for railing?

by Risen » Fri May 13, 2005 11:24 am

Yes, please!

Railings in Doom

by Graf Zahl » Fri May 13, 2005 3:14 am

Since Strife's railing flag can't be accessed in the other games, how about this:

Code: Select all

		case PCD_SETLINEBLOCKING:
			{
				int line = -1;

				while ((line = P_FindLineFromID (STACK(2), line)) >= 0)
				{
					switch (STACK(1))
					{
					case BLOCK_NOTHING:
						lines[line].flags &= ~(ML_BLOCKING|ML_BLOCKEVERYTHING|ML_RAILING);
						break;
					case BLOCK_CREATURES:
					default:
						lines[line].flags &= ~(ML_BLOCKEVERYTHING|ML_RAILING);
						lines[line].flags |= ML_BLOCKING;
						break;
					case BLOCK_EVERYTHING:
						lines[line].flags &= ~(ML_RAILING);
						lines[line].flags |= ML_BLOCKING|ML_BLOCKEVERYTHING;
						break;
					case BLOCK_RAILING:
						lines[line].flags &= ~(ML_BLOCKEVERYTHING);
						lines[line].flags |= ML_RAILING|ML_BLOCKING;
						break;
					}
				}

				sp -= 2;
			}
			break;

Of course Strife's lower side hack should be restricted to Strife then (and best to non-Hexen format maps as well!)

Top