viciious / d32xr

A modern port of Doom for the Sega 32X
Other
161 stars 12 forks source link

Midtextures? Decals? #90

Closed SSNTails closed 6 months ago

SSNTails commented 6 months ago

I've noticed some work has been done on the codebase since the v3.1 release. I see mentions of midtextures, and even decals.

My question is, with patches in 32X/Jaguar Doom not supporting transparent pixels, how does this work in practice? Is there support now for column-post patches in 32X Resurrection?

I'm working on some Jaguar WAD utilities right now and interested in using 32X Resurrection as the base for a demoscene-like project. I followed you on X, and it would be super cool if I could pick your brain from time to time in the future as my friend and I work through this.

Thanks for your awesome work!

viciious commented 6 months ago

My question is, with patches in 32X/Jaguar Doom not supporting transparent pixels, how does this work in practice? Is there support now for column-post patches in 32X Resurrection?

Yeah, although they don't function the way they do in the OG. Midtextures are treated as regular column post patches if the 'masked' attribute in the TEXTURE1 entry is set. If such case, the game will attempt locating the identically named patch entry within the S_START/E_END bounds and render that for the midwall.

Decals are an entirely different beast altogether: they are basically a multi-stage texture, with the bottom layer being treated as a regular texture with the upper layers rendered on top in runtime.

With that said, the experimental branch no longer supports loading maps from JagDoom-formatted WADs and I have no intention of changing that.

SSNTails commented 6 months ago

No, that's actually awesome -- so the experimental branch supports PC Doom WAD format? You're saving me tons of time then, so I don't have to mess around writing these format conversions! Is 'experiment' the right branch to use?

It sounds like the textures are still in the Jaguar format when between TX_START and TX_END, correct? But the TEXTURE1 lump is now in PC format?

I also want to explore things like adding Boom-style 'linedef 242' water. I'm pretty familiar with the PC Doom codebase, but it'll be a new experience for me working in such a memory-constraint environment.

viciious commented 6 months ago

No, that's actually awesome -- so the experimental branch supports PC Doom WAD format? You're saving me tons of time then, so I don't have to mess around writing these format conversions! Is 'experiment' the right branch to use?

Well, it's more complicated than that. The PC Doom WAD format is only used for level data, everything else is still supposed to be in JagDoom WAD format.

It sounds like the textures are still in the Jaguar format when between TX_START and TX_END, correct?

Yes

But the TEXTURE1 lump is now in PC format?

Always has been :) Although it can still be LZSS-compressed.

SSNTails commented 6 months ago

OK, thanks for the clarification. Still, it's nice to have an easier level format to work with.

If you're curious, I'm the original co-creator of SRB2 ( www.srb2.org ), which is a source port fork of Doom Legacy. I think it would be really cool to get a simplified, yet convincing, version of it running on the 32x. :) I'll let you know if I come up with more questions.