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

Translating ZDoom-Hexen format maps to Eternity

Recommended Posts

Eternity has Hexen map format support, and it can partially load ZDoom-Hexen maps too. Currently ZDoom linedef types work because Eternity has a namespace for them. And things work, partially, because the ZDoom "appears on singleplayer" thing flag is the same as the MBF "strict vanilla" flag 256, which disables all non-vanilla flags -- and ZDoom's easy/medium/hard and maybe ambush flags are the same as in vanilla.

I wonder how can I reliably detect that a Hexen map is for ZDoom, and apply the correct translations and maybe even gameplay changes in certain parts of the code, if really needed.

Share this post

Link to post

ZDoom uses the format of the MAPINFO lump to decide.

If the format is plain Hexen, some adjustments are made, e.g. truncating ACS special arguments to unsigned bytes, NULLing args 2-5 of Line_SetIdentification and handling a few other discrepancies and a few other things that are known to be different (the most recent change being how floatbobbing things are being handled.)

The general idea behind this decision is that an original Hexen map will always come with a MAPINFO lump in the old format - either by itself or through the IWAD - and anything that is defined by a newer format is by necessity made for ZDoom. And Hexen-format maps for the other games are obviously never made for Hexen so they always use regular ZDoom handling.

(Which reminds me: This could be used in ZDoom to make Thing_Destroy backwards compatible.)

I'm sorry that I can't give you a better solution but these are things that 16 years ago nobody thought of... :(

Share this post

Link to post

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now
Sign in to follow this