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

PrBoom-Plus Everything Else

Recommended Posts

Graf Zahl said:

I really don't see the need for the XM_ markers.

They are needed so that a tool (e.g. node builder) can find levels easily. Level names are no longer limited to MAPxx and ExMx, so any lump could be a level, and without the markers you need to inspect every lump in the wad and look for a special id, which is very inefficient (and not elegant imho).


- In a chunk based format order of chunks shouldn't matter at all. Any proper tool should scan for the chunk it wants to load, not just load them sequentially.

When I was thinking about implementation, that's exactly what I would do: scan all the chunks into a table before loading anything. But other people may prefer a simpler approach of handling each chunk in turn, so I'll leave this issue open for now.

Args in things and lines should be 32 bit, not 8.

That makes the structures a lot bigger though.

Since Strife is not a source port an additional standard chunk [CONV] for Strife's conversation scripts might be a good idea.

I don't know anything about Strife, but I'll add CONV to the list.

For Hexen style linedefs the trigger mask should be taken out of the flags and put into its own property.

OK.

(Spec updated for CONV and linedef trigger field)

Share this post


Link to post
Ajapted said:

That makes the structures a lot bigger though.


But it removes one of the most annoying bottlenecks the current format has. 8 bits is clearly not enough. At least make them signed 16 bit then.

Besides, who cares about uncompressed size anymore? Levels are never distributed uncompressed and for those ports that can read Zips directly the increase in raw size won't even be noticed.

Share this post


Link to post
Ajapted said:

That makes the structures a lot bigger though.

Why not move them out of the thing and linedef records and make them properties instead? Most entries probably don't even need them. And why not make the individual flags properties too? Then you don't have to worry about allocating bits for different flags to different ports.

Share this post


Link to post
Moriarti said:

Why not move them out of the thing and linedef records and make them properties instead?

Mainly to make migration from the existing format to the new format as easy/painless as possible.

Share this post


Link to post
×