Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Gez

The Boom SWITCHES lump...

Recommended Posts

Are there any mod out there that uses it? It seems a woefully underused Boom feature; apparently people prefer to compose all the switches together in TEXTUREx and play with offsets rather than define brand new switches.

Share this post


Link to post

Hmm. Personally I avoid even using ANIMATED whenever I can avoid it, since there's still no convenient way to edit the binary lumps. I have no idea why the Boom team was so against the use of easy-to-edit text lumps for this sort of thing.

In any case, it'd be fantastic if Slade3 or another lump editor could implement built-in viewing/creating/editing support for these sorts of lumps, so that custom switches and animations in Boom wads would be as convenient to define as they are in ZDoom and other sourceports that have text-based lumps for them.

Share this post


Link to post
esselfortium said:

In any case, it'd be fantastic if Slade3 or another lump editor could implement built-in viewing/creating/editing support for these sorts of lumps


Why do you think I'm asking for testing material? :)



Share this post


Link to post

I think I used both lumps, actually, though it's been a while so I don't fully remember, and I'm not on my home computer so I can't check.

I like doing things the "right" way, as in the most advanced and abstracted way that the port compatibility standard allows, even if it has its own inconveniences.

Share this post


Link to post
Gez said:

Are there any mod out there that uses it?



New World and New World 2 use this lump. There's a few others but these 2 for certain.

Share this post


Link to post

Gez: Oh, wow; fantastic :D

What does ZDoom do to specify "decals allowed" in the ANIMATED lump? I ask partially because I'm wondering whether it conflicts with SMMU/Eternity's use of speed=65535 to specify a warping flat.

Share this post


Link to post
esselfortium said:

Gez: Oh, wow; fantastic :D

What does ZDoom do to specify "decals allowed" in the ANIMATED lump? I ask partially because I'm wondering whether it conflicts with SMMU/Eternity's use of speed=65535 to specify a warping flat.

I can almost guarantee you it does.

Share this post


Link to post

Thanks for the test samples.

esselfortium said:

Gez: Oh, wow; fantastic :D

What does ZDoom do to specify "decals allowed" in the ANIMATED lump? I ask partially because I'm wondering whether it conflicts with SMMU/Eternity's use of speed=65535 to specify a warping flat.

No, it doesn't affect the speed. It uses bit 1 from the type field. So:
0: flat
1: texture
2: flat that allows decals
3: texture that allows decals

Good to know about the warping thing.


In other words, if I'm not mistaken, to avoid ZDoom-esque definitions to cause problems in Eternity, you need to make this little change in void P_InitPicAnims(void): from

      if (animdefs[i].istexture)
to
      animdefs[i].istexture &= 1;
      if (animdefs[i].istexture)

Share this post


Link to post
esselfortium said:

I have no idea why the Boom team was so against the use of easy-to-edit text lumps for this sort of thing.

Today using text lumps is a no-brainer, but way back when Boom was being developed it was not a common thing to do. So I don't think they were against it, just that the idea never occurred to them to do it that way -- they were following the example set by DOOM itself with it's binary lumps. It would be equally unfair to say: why was Carmack so against the use of text lumps (e.g. for TEXTURE1/2).

Share this post


Link to post
Gez said:

In other words, if I'm not mistaken, to avoid ZDoom-esque definitions to cause problems in Eternity, you need to make this little change in void P_InitPicAnims(void)

So yet another standard that is no longer such due to ZDoom.

I don't mean to rant but seriously, are the ZDoom devs deliberately going out of their way to nerf cross port compatibility? It certainly seems that way - just look at the change logs for virtually every maintained port and you'll find countless "had to change this cos ZDoom did such and such".

I just think its a bit rich to complain about the Boom devs not using text based definitions when ZDoom has since broken the standard that Boom set down.

Why didn't ZDoom just use a text definition rather than break the standard?

Share this post


Link to post
DaniJ said:

So yet another standard that is no longer such due to ZDoom.

I don't mean to rant but seriously, are the ZDoom devs deliberately going out of their way to nerf cross port compatibility? It certainly seems that way - just look at the change logs for virtually every maintained port and you'll find countless "had to change this cos ZDoom did such and such".

I just think its a bit rich to complain about the Boom devs not using text based definitions when ZDoom has since broken the standard that Boom set down.

Why didn't ZDoom just use a text definition rather than break the standard?



Keep in mind that this extension is almost as old as ZDoom (to be precise, it was added on 08.01.2002 in v1.23.29.) Also, it doesn't alter anything about properly defined lumps, it just adds an option (which, btw, has been undocumented since its inception and to my knowledge was never ever used by anyone as it's utterly pointless and IMO should better be forgotten than exposed in an editing tool.)

Also, the 'nodecals' bit does *NOT* work on flats! This code predates full texture interchangeablility by several years so when it was added there was no reason to do such an option.

Share this post


Link to post
Graf Zahl said:

Also, it doesn't alter anything about properly defined lumps, it just adds an option (which, btw, has been undocumented since its inception and to my knowledge was never ever used by anyone as it's utterly pointless and IMO should better be forgotten than exposed in an editing tool.)

Surely that depends on how each app reads the lump. The standard spec says: "if non zero its a texture" which is no longer correct due to this extension. Any flat marked up as "nodecal" will instead be interpreted as a texture animation pair unless the app is modified.

So is this feature now completely depreciated? It seems like Gez is readying to expose it to the world via a Slade mod. From what I've heard I'd suggest not to expose it, given that the only port that supports it has alternative (better) options available to get the same job done.

Share this post


Link to post

Using a giant texture for a switch seems awfully complicated to me ; between having to make the texture from different switches textures in an image manipulation program and then manually adjust the offsets for every single switch I ever make, as compared to running the Boom ANIMATED/SWITCHES thingy once everytime I add switches textures, the latter just seems so much more convenient.

Share this post


Link to post
DaniJ said:

Surely that depends on how each app reads the lump. The standard spec says: "if non zero its a texture" which is no longer correct due to this extension. Any flat marked up as "nodecal" will instead be interpreted as a texture animation pair unless the app is modified.


Did you read my post? Value 2 (Flat with decal) is not used by ZDoom. When this feature was added flats couldn't be used on walls.

Is this deprecated? Of course it is! The entire lump is considered deprecated concerning ZDoom editing. It should only be used for Boom compatible projects.

Share this post


Link to post

I prefer using wide textures with many switches, rather than an extra lump for the same effect. The only problem with this is that the lips of the adjacent switches might show up.

Share this post


Link to post
printz said:

I prefer using wide textures with many switches

Why? It is so much simpler and more elegant to have different textures be different textures. Also in a port such as ZDoom, you can give individual sounds to each switch (in ANIMDEFS, not in ANIMATED) and you can have other nifty effects as well (e.g., animated switches with varying speed and amount of frames); which would only result in clashes and headaches with a single texture.


Would you use one single texture for everything else? You could define a giant texture texture and just use offsets; cutting linedefs so as to create the tiling manually. It would make just as much sense IMO.

Share this post


Link to post

I don't think that's a particularly fair comparison. Switches are typically not tiled, it's not uncommon for them to be built into their own 32x32 or 24x24 sector for detailing's sake anyway, and it's pretty rare that anything other than the standard two-frame switch with the default sound is used. It takes practically zero extra effort to just offset the texture 32 units or whatever.

Share this post


Link to post
Gez said:

Why?

I strictly meant SWITCHES, which requires me having a DEFSWANI.DAT and SWANTBLS.EXE, and run that at the command line.

Share this post


Link to post
Creaphis said:

I think I used both lumps, actually, though it's been a while so I don't fully remember, and I'm not on my home computer so I can't check.


Just in time to miss the beta 3, here's the output of a feature I've just added to SLADE3:

// ANIMDEFS lump generated by SLADE3

Flat	Optional	NUKAGE1 	Range	NUKAGE3 	Tics 8
Flat	Optional	FWATER1 	Range	FWATER4 	Tics 8
Flat	Optional	SWATER1 	Range	SWATER4 	Tics 8
Flat	Optional	LAVA1   	Range	LAVA4   	Tics 8
Flat	Optional	BLOOD1  	Range	BLOOD3  	Tics 8
Flat	Optional	RROCK05 	Range	RROCK08 	Tics 8
Flat	Optional	SLIME01 	Range	SLIME04 	Tics 8
Flat	Optional	SLIME05 	Range	SLIME08 	Tics 8
Flat	Optional	SLIME09 	Range	SLIME12 	Tics 8
Flat	Optional	FLTSLUD1	Range	FLTSLUD3	Tics 24
Flat	Optional	FSTSLUD1	Range	FSTSLUD3	Tics 8
Flat	Optional	FLTBLUD1	Range	FLTBLUD3	Tics 24
Texture	Optional	BLODGR1 	Range	BLODGR4 	Tics 8
Texture	Optional	SLADRIP1	Range	SLADRIP3	Tics 8
Texture	Optional	BLODRIP1	Range	BLODRIP4	Tics 8
Texture	Optional	FIREWALA	Range	FIREWALL	Tics 8
Texture	Optional	GSTFONT1	Range	GSTFONT3	Tics 8
Texture	Optional	FIRELAV3	Range	FIRELAVA	Tics 8
Texture	Optional	FIREMAG1	Range	FIREMAG3	Tics 8
Texture	Optional	FIREBLU1	Range	FIREBLU2	Tics 8
Texture	Optional	ROCKRED1	Range	ROCKRED3	Tics 8
Texture	Optional	BFALL1  	Range	BFALL4  	Tics 8
Texture	Optional	SFALL1  	Range	SFALL4  	Tics 8
Texture	Optional	WFALL1  	Range	WFALL4  	Tics 8
Texture	Optional	DBRAIN1 	Range	DBRAIN4 	Tics 8
Texture	Optional	wfall1  	Range	wfall4  	Tics 8
Texture	Optional	acandl01	Range	acandl03	Tics 8
Texture	Optional	deadguy1	Range	deadguy2	Tics 8
Texture	Optional	BLOOD1  	Range	BLOOD3  	Tics 8
Texture	Optional	PATSLUD1	Range	PATSLUD3	Tics 8
Switch	Doom 1		SW1BRCOM	On Pic	SW2BRCOM	Tics 0
Switch	Doom 1		SW1BRN1 	On Pic	SW2BRN1 	Tics 0
Switch	Doom 1		SW1BRN2 	On Pic	SW2BRN2 	Tics 0
Switch	Doom 1		SW1BRNGN	On Pic	SW2BRNGN	Tics 0
Switch	Doom 1		SW1BROWN	On Pic	SW2BROWN	Tics 0
Switch	Doom 1		SW1COMM 	On Pic	SW2COMM 	Tics 0
Switch	Doom 1		SW1COMP 	On Pic	SW2COMP 	Tics 0
Switch	Doom 1		SW1DIRT 	On Pic	SW2DIRT 	Tics 0
Switch	Doom 1		SW1EXIT 	On Pic	SW2EXIT 	Tics 0
Switch	Doom 1		SW1GRAY 	On Pic	SW2GRAY 	Tics 0
Switch	Doom 1		SW1GRAY1	On Pic	SW2GRAY1	Tics 0
Switch	Doom 1		SW1METAL	On Pic	SW2METAL	Tics 0
Switch	Doom 1		SW1PIPE 	On Pic	SW2PIPE 	Tics 0
Switch	Doom 1		SW1SLAD 	On Pic	SW2SLAD 	Tics 0
Switch	Doom 1		SW1STARG	On Pic	SW2STARG	Tics 0
Switch	Doom 1		SW1STON1	On Pic	SW2STON1	Tics 0
Switch	Doom 1		SW1STON2	On Pic	SW2STON2	Tics 0
Switch	Doom 1		SW1STONE	On Pic	SW2STONE	Tics 0
Switch	Doom 1		SW1STRTN	On Pic	SW2STRTN	Tics 0
Switch	Doom 2		SW1BLUE 	On Pic	SW2BLUE 	Tics 0
Switch	Doom 2		SW1CMT  	On Pic	SW2CMT  	Tics 0
Switch	Doom 2		SW1GARG 	On Pic	SW2GARG 	Tics 0
Switch	Doom 2		SW1GSTON	On Pic	SW2GSTON	Tics 0
Switch	Doom 2		SW1HOT  	On Pic	SW2HOT  	Tics 0
Switch	Doom 2		SW1LION 	On Pic	SW2LION 	Tics 0
Switch	Doom 2		SW1SATYR	On Pic	SW2SATYR	Tics 0
Switch	Doom 2		SW1SKIN 	On Pic	SW2SKIN 	Tics 0
Switch	Doom 2		SW1VINE 	On Pic	SW2VINE 	Tics 0
Switch	Doom 2		SW1WOOD 	On Pic	SW2WOOD 	Tics 0
Switch	Doom 3		SW1PANEL	On Pic	SW2PANEL	Tics 0
Switch	Doom 3		SW1ROCK 	On Pic	SW2ROCK 	Tics 0
Switch	Doom 3		SW1MET2 	On Pic	SW2MET2 	Tics 0
Switch	Doom 3		SW1WDMET	On Pic	SW2WDMET	Tics 0
Switch	Doom 3		SW1BRIK 	On Pic	SW2BRIK 	Tics 0
Switch	Doom 3		SW1MOD1 	On Pic	SW2MOD1 	Tics 0
Switch	Doom 3		SW1ZIM  	On Pic	SW2ZIM  	Tics 0
Switch	Doom 3		SW1STON6	On Pic	SW2STON6	Tics 0
Switch	Doom 3		SW1TEK  	On Pic	SW2TEK  	Tics 0
Switch	Doom 3		SW1MARB 	On Pic	SW2MARB 	Tics 0
Switch	Doom 3		SW1SKULL	On Pic	SW2SKULL	Tics 0
Switch	Doom 3		sw1goth1	On Pic	sw2goth1	Tics 0
Switch	Doom 3		sw1goth2	On Pic	sw2goth2	Tics 0
Switch	Doom 3		adel_gs2	On Pic	adel_gs1	Tics 0
Switch	Doom 3		ADEL_RS2	On Pic	ADEL_RS1	Tics 0
Switch	Doom 3		3ODESWV2	On Pic	3ODESWV1	Tics 0

Share this post


Link to post

And actually, since beta3 was re-released, you can try the converter. Just select a bunch of lumps which hopefully include at least one switches or animated lump, right-click, and pick the "convert" option. :)

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
Sign in to follow this  
×