team-eternity / eternity

The Eternity Engine
http://eternity.youfailit.net/wiki/Main_Page
GNU General Public License v3.0
237 stars 37 forks source link

Add TEXTURES lump support #335

Open ioan-chera opened 4 years ago

ioan-chera commented 4 years ago

Useful because working with classic PNAMES and TEXTUREx is unwieldy.

ioan-chera commented 4 years ago

Things to check

  1. Does GZDoom let you override flats with the "texture" definition? Yes. What about walls? Yes.
  2. Does GZDoom let you override flats with the "walltexture" definition? No. What about walls? Yes.
  3. Does GZDoom accept omitted defaults in texture size? No.
  4. How does GZDoom handle textures without patches? As blank invalid textures.
  5. Does GZDoom accept patches from flats? Yes. What about non-DOOM graphics (like PNG)? Yes. But Eternity only allows if it's paletted
  6. If GZDoom sees both a patch and a flat, which does it pick for a patch entry? The flat! This can't be right.
  7. If GZDoom has a "texture" definition which replaces both wall and flat, which one gets changed? Both. This means that both are sacrificed. Nontrivial behaviour.

GZDoom also supports / / comments.

Things Eternity needs to do to be compliant, as a language subset:

  1. Either surrender support for "texture" (and require "walltexture") or add flat substitution. Easiest path: remove "texture" for now.
  2. Add flat-patch composition (but unlike GZDoom, prioritize DOOM graphics over patches).

Need to check if we can do anything at this point about the true-colour PNGs…