Quasar
Moderator

Posts: 2039
Registered: 08-00 |
CodeImp and I both agreed that ExtraData is too difficult to implement in comparison to a pure 100% textual map format, since the former requires hashing of records and doesn't have guarantees such as one record per map entity or data integrity.
A text map format would simply define all things, linedefs, sidedefs, sectors, and vertices in text format (the BSP, blockmap, and reject haven't been considered at all so far).
We ran into a sticking point where we do not agree as I was specifying the format. CodeImp wants binary flag values specific to the Eternity Engine, whereas I want text-format flags similar to those used by BEX, EDF, and ExtraData, where each flag is a symbolic name that can be translated to the appropriate binary value by the implementing source port. I would also like to do something similar with specials, having them given by name rather than number.
All of these things would involve relatively simple hash tables or linear lookup arrays for translation, information that is in some cases already part of the source port's DB configuration (and that which is not would be fairly trivial to add). They would remove implementation dependence from the map format.
This is similar to and is based off of some of the discussion that previously took place on the forums in the "32-bit map format draft" thread which, after appearing like it was making fantastic progress, devolved into religious arguments over crap like map lump names, C syntax vs. Windows CFG syntax, making it unnecessarily friendly for hand-editing, what kind of comments should be supported, how to specify RGB values (despite the fact that no fields in the basic specification require them for any purpose), etc.
I decided to stop pussy-footing around and implement something close to the specification that was put forward there before it rapidly disintegrated into something that I couldn't support using the libConfuse parser.
IF CodeImp and I can come to an agreement on names vs numbers and text flags vs binary bits, then this new text-based map format is as good as finished. If we cannot, then I'm afraid it's probably a dead avenue of discussion.
|