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

Eternity Support in XWE

Recommended Posts

I'm adding support for Eternity to my WAD editor XWE. I looked at the TERTYPES lump, and it seems to me that the documentation here is outdated. The flatname seems to be followed by 3 bytes, not one. Is this new? Or am I missing something?

Share this post

Link to post

I'm not 100% sure but I think that the string is NULL buffered not NULL terminated so if the flat name is only 6 letters long, it would be followed by 2 null chars to fill in the 8 character space, and if the name is 8 characters long it will not have any null chars at the end. Check it with an 8 character flat name to be sure, but I'm pretty positive that's the format.

It's really cool that you are adding Eternity support BTW. :D


Share this post

Link to post

You are right about the NULL buffering. The flat name is always 8 bytes. However, after that there are 3 bytes that follow, not just one, as the doc said.

About FraggleScript: do script files have to be compiled?

Is there a list of Eternity's linedefs or things that are not in the regular doom? I would need those for a configuration file.

Share this post

Link to post

You are correct. The specification is incorrect in saying that the string is 8-byte null-extended. It should say 9-byte, or 8-byte null-extended AND null-terminated. The flat name is padded out to 9 bytes. I don't really know why I wrote it that way, I suppose I thought it was easier to read in at the time. The TerrainType number is a short in little-endian format, so it accounts for the other 2 bytes. I'll correct the online specification as soon as possible.

As for FraggleScript, support for it is being removed from the engine, so I do not recommend wasting any time to support it. Eternity now uses Small for scripting, but that system is not complete as of the beta 2 release.

The EDITREF.TXT file that comes with Eternity is a necessary must for understanding and implementing support. I don't have a simple list of extra types that are implemented in Eternity beyond what is outlined in that file. You can easily find everything new to MBF, SMMU, or Eternity by searching for the names of those ports, though. I have been careful to demarcate new features with headers like "*** New to Eternity ***"

Good luck and don't hesitate to ask more questions.

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