Doom Marine
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom Editing > More broken BOOMisms
 
Author
All times are GMT. The time now is 16:15. Post New Thread    Post A Reply
Quasar
Moderator


Posts: 6093
Registered: 08-00


I reported not too long ago on discovering that several classes of BOOM generalized linedefs have odd quirks in the way they do or do not tolerate use of zero tags and other strangeness.

Now I'm here to discuss another problem I've found while working on a new line special system for Eternity. In vanilla DOOM there was a non-working line type, type 40, which was supposed to raise the ceiling and lower the floor of a sector at the same time. Romero must have forgotten that DOOM had a one-thinker-per-sector limit when he wrote this, as it never worked - only the ceiling would ever move.

Along comes BOOM team, and in addition to this broken W1 Raise Ceiling, Lower Floor, they added the following variants of it which are all meant to work:

  • 151 WR Raise Ceiling, Lower Floor
  • 166 S1 Raise Ceiling, Lower Floor
  • 186 SR Raise Ceiling, Lower Floor

The first line type works as expected. The second two, however, share a bizarre quirk: Jim Flynn accidentally coded them in a way that fails due to short-circuiting logic in C:
code:
if(EV_DoCeiling(line, raiseToHighest) || EV_DoFloor(line, lowerFloorToLowest))

What happens is, if the ceiling is not occupied, the ceiling will be raised. The OR operation "||" is then satisfied, so the second condition is never evaluated - meaning the floor won't lower.

Now, if the ceiling is busy already, the OR *will* evaluate the second condition, and only the floor will be lowered.

To compound these mistakes, BOOM team forgot to document these line types at all in boomref.txt, so they're largely unknown!

Old Post 02-06-13 00:50 #
Quasar is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
gggmork
If you can make any sense of this post, congratulations


Posts: 2815
Registered: 06-07


vedy intadestink

Old Post 02-06-13 01:32 #
gggmork is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Bucket
ROCK & LOAD
COCK BEEN BLOWED
IN YOUR MOUTH,
MANJUICE EXPLOAD


Posts: 4992
Registered: 01-04


But schtupid.

Old Post 02-06-13 04:31 #
Bucket is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
wesleyjohnson
Senior Member


Posts: 1038
Registered: 04-09


Would not want to duplicate that behavior, so the first question is:
did any wads make use of it?
I suspect not, because no one knew of them.

If not, then I would only include them if the behavior was fixed
to something useful.
Are those linedef numbers unused in most of the ports?

Oh, is this a source ports or an editing kind of discussion ??

EDIT: after a late check, it appears that DoomLegacy implements these in exactly the way they appear in Boom.

Last edited by wesleyjohnson on 02-13-13 at 19:06

Old Post 02-06-13 06:08 #
wesleyjohnson is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Gez
Why don't I have a custom title by now?!


Posts: 11271
Registered: 07-07


I think there are maps that rely on these Boom lines not working since this had to be done in ZDoom way back in 2010.

Here's the original bug report.

Old Post 02-06-13 08:58 #
Gez is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Quasar
Moderator


Posts: 6093
Registered: 08-00



Gez said:
I think there are maps that rely on these Boom lines not working since this had to be done in ZDoom way back in 2010.

Here's the original bug report.


Heh, it's always fun to go back and see people finding the same stuff you stumbled over later. I was not really even aware of these types' existence, given the lack of correct documentation (seems they're listed as just ceiling types??). Though of course they've always been in the full list of linedef types for EE, I never had cause to pay them much attention - until now.

Last edited by Quasar on 02-06-13 at 17:38

Old Post 02-06-13 17:33 #
Quasar is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
hawkwind
Senior Member


Posts: 1015
Registered: 04-04



Quasar said:
To compound these mistakes, BOOM team forgot to document these line types at all in boomref.txt, so they're largely unknown!


Actually, they did, under this section ...

Section 3.3 Ceiling linedef types

Which states ...

# Class Trig Dir Spd *Chg *Mdl Mon Crsh Target

186 Ext SR Up Slow None -- No No Highest Neighbor Ceiling
166 Ext S1 Up Slow None -- No No Highest Neighbor Ceiling
151 Ext WR Up Slow None -- No No Highest Neighbor Ceiling

Interestingly, it makes no mention of lowering the floor.

Old Post 02-07-13 02:30 #
hawkwind is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
All times are GMT. The time now is 16:15. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom Editing > More broken BOOMisms

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.