Inconsistencies in SRB2DB config linedef numbers and linedef categories

Status
Not open for further replies.

Fawfulfan

The Tortured Planet guy
As all of you who make level WADs know, the linedefs are grouped both by number and by section. It's a neat little system.

But something has been bugging me: there are some gaping inconsistencies between a linedef's number and which category it's lumped in with.

Here are some examples:

*Linedef Type 540, Floor Friction, is categorized under "Miscellaneous", but all of the other linedefs that are in the 540s are categorized under "Pusher". When you think about it, Floor Friction kind of is a Pusher, and it was obviously numbered to be included as one, so why is it a "Miscellaneous" effect?.

*Linedef Types 257 and 258, Quicksand Block and Laser Block, are categorized under "FOF (non-solid)", when Linedef Types 250-256 and 259 are categorized under "FOF (other)". If you ask me, it would make much more sense to put LD257 and LD258 in the "other" category, as they have so little in common with the other "non-solid" linedefs. So what are they doing in the "non-solid" section?

*Linedef Types 50 and 51, Instantly Raise Ceiling On Level Load and Instantly Lower Floor On Level Load, have properties and numbering consistent with "Plane Movement" linedefs, but are grouped in with "Miscellaneous".

*"Miscellaneous" and "Parameters" are a total mess. The numbers keep alternating back and forth between those two categories.

So...is there an explanation for this?
 
It's mostly because the numbers don't mean anything, and Neo decided to group them in a different way. The best thing to do would be changing the numbers, but that would become another converter-fest.
 
This is mostly my fault. The original categories were a much greater mess, with one simply called "Floor Over Floors" with everything dumped into it, and such.

One of my goals when revamping the config files was to make the entire contents of a category visible when it's collapsed (ie: you don't have to scroll up and down). This meant breaking down the huge FOF and linedef exec categories into more specific ones, in order to make it easier to find what you're looking for. In doing this, I needed to separate the various types into vaguely sensible groupings.

Linedef Type 540, Floor Friction, is categorized under "Miscellaneous", but all of the other linedefs that are in the 540s are categorized under "Pusher". When you think about it, Floor Friction kind of is a Pusher, and it was obviously numbered to be included as one, so why is it a "Miscellaneous" effect?
As you might've guessed, I didn't exactly follow the way linedefs are organized in SRB2 to a T. While they're much better arranged than they were in 1.09.4, there's still some stuff that doesn't quite fit.

Friction is the only in the "pusher" group that doesn't actually push anything. Rather, it changes one of the general physics of the game. Is this any different from altered gravity? No. So into the Miscellaneous box it goes.

Linedef Types 257 and 258, Quicksand Block and Laser Block, are categorized under "FOF (non-solid)", when Linedef Types 250-256 and 259 are categorized under "FOF (other)". If you ask me, it would make much more sense to put LD257 and LD258 in the "other" category, as they have so little in common with the other "non-solid" linedefs. So what are they doing in the "non-solid" section?
Originally, the non-solid category was supposed to be just the water FOFs, but it soon proved to be little help. Some of the FOFs from the "standard" bunch needed to be merged with them, due to similar behaviour. I mean, isn't quicksand more similar to water than a regular FOF? You can wade in it too.

So, I decided to make a more broad definition of "water", and called it "non-solid". In this category is every single FOF whose planes and/or walls are not solid to the player, with the exception of fog and light blocks, which are most often used for other purposes than making a block the player can move through.

In retrospect, maybe the "standard" and "non-solid" categories should have been named "impenetrable" and "penetrable", which was what I was going for.

Linedef Types 50 and 51, Instantly Raise Ceiling On Level Load and Instantly Lower Floor On Level Load, have properties and numbering consistent with "Plane Movement" linedefs, but are grouped in with "Miscellaneous".
This is because instalower and instaraise are technically plane movers, but the thing is, they only take effect once, at the start of the level. The point of their existence is to place things at absurd heights, not to make a floor move. In this sense they fit in the Misc pile for exactly the same reasons the flat alignment special doesn't fit in Plane Scrollers, even though they have similar effects (the only difference being that flat alignment occurs once, at level load).

"Miscellaneous" and "Parameters" are a total mess. The numbers keep alternating back and forth between those two categories.
This is because eventually Miscellaneous grew too big and I had to split THAT up. All the specials in Parameters are specials which require another linedef special, a sector effect or a thing in order to actually do something -- they're parameters for other objects. I got the name from the fact over half of the specials in that category have the word "parameters" in them.

So...is there an explanation for this?
Yes, the explanation is that the way specials are organized in SRB2 isn't exactly perfect, I tried to fix it, and I'm a human being. If you have an idea how to more properly sort the list, feel free to toss me a PM. You might very well come up with something I haven't.
 
The specials in SRB2 are organized by how they are programmed, not how they operate from the player or level designer's perspective. Sure, friction might not look like a pusher to a level designer, but that's how it's coded and that's why it's placed in that section of linedef specials.

I have to agree with Neo trying to change the categories to fit the expectation of the level designer instead of the programmer. The SRB2DB config is for level designers, after all. There's obviously going to be room for improvement in any organization scheme, but that's why there's a discrepancy.
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top