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

Skies, skyboxes, and port compatibility

Recommended Posts

I've been screwing around with sky textures lately. If I were to release some sky graphics for people to use or something, it would be nice to have them supported in as many ports as possible. So I'm hoping someone can make sure I have this right and fill in the gaps.

Vanilla skies are easy.


ZDoom and variants supports tall skies. Sky textures of 544 pixels or higher will not stretch or tile at all, even with software-mode mouselook. Including the sky texture in TX_START/TX_END lumps allows for a vanilla-compatible wad that gives tall skies with ZDoom only.

GLBoom+ can also use these skies, but not PrBoom+ I think? or can I load them somehow as tall vanilla-incompatible textures?

Can any other ports use tall sky textures in a similar manner? (besides Heretic and Hexen I mean :p)


Given appropriate cube faces, GZDoom and Zandronum can use GLDEFS to have a 3D skybox. GLBoom+ also supports GLDEFS.

Vavoom has it's own skybox definitions which are also supported by GZDoom (but not GLBoom+, so GLDEFS needs to be included anyhow). Vavoom skybox images need to be in TGA format, but other ports can read TGA, so that's fine.

Doomsday has at several methods of defining skyboxes, but I'm kind of lost as to how to implement one. The only examples I've seen are in a pk3 with a fairly deep directory structure, and include an .m8 cube model as well. Is there something I can do to implement a skybox in a wad?

I assume Risen3D supports Doomsday's "deprecated" skybox definition.

Eternity looks like it only supports skyboxes created with map geometry and portals.

I can't find any info about EDGE, DelphiDoom, or any other ports.

Share this post


Link to post

You can use MAPINFO to give different skies to different ports, if needed for compatibility purposes. A MAPINFO lump will be read by Odamex, Vavoom and ZDaemon. A ZMAPINFO lump will be read by ZDoom and result in the MAPINFO lump being ignored. An EMAPINFO lump will be read by Eternity. Doomsday will need it in the DD_DFNS lump along with other definitions.

Placing a texture in the TX_ or HI_ namespace will make it override a texture defined in TEXTURE1 or TEXTURE2. ZDoom, EDGE (IIRC) and Eternity support the TX_ namespace. I think GLBoom+ supports the HI_ namespace too.

To distinguish between ZDoom and GZDoom, you can use PALVERS. If you have a truecolor sky texture which looks bad when shoehorned to the palette by the software renderer, it's useful.

For skyboxes, you can distinguish between GZDoom and GLBoom+ by using a GLBDEFS lump for GLBoom+, and a GLDEFS lump for GZDoom.

Share this post


Link to post

Doomsday has no hardcoded directory structure for skyboxes. You can use whatever directory structure you wish.

Some ports can automatically make a cube shaped skybox model; Doomsday is not one of them and thus you must make one and include it in the add-on. However, unlike most other ports, Doomsday skyboxes don't have to be cubes and can be any shape one wishes.

Share this post


Link to post

Edit: this post was requesting further explanation on a point that has been withdrawn, so the post no longer has a purpose.

Share this post


Link to post

Edit: this post was the explanation of a rationale questioned in the previous post and so too no longer has a purpose.

LOL

Share this post


Link to post

Since the WAD is in a zip as well, the lump it contains have the benefit of compression too...

Share this post


Link to post

Thats true, however its compressed as an opaque segment of a larger data chunk. So it will likely optimize better as a separate file. But regardless... thats not the point. The main benefit is that user can more easily manage their data in a ZIP file than they can a WAD, which requires special case niche software to author.

Share this post


Link to post

OK thanks, that's all fairly helpful. Deleted/edited posts aside :P

Are xMAPINFO lumps cumulative? I was under the impression they weren't, at least for ZDoom, but I can't seem to find the answer at the moment.

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
×