Follow-up Comment #2, bug #10046 (project wesnoth):

Sapient, we've already had an IRC discussion about this. I explained why
map_has_border=true was a bad, *bad* idea (essentially the same objection as
yours) and held out for the map format to be properly self-describing.

We had a spirited argument about how to represent off-map terrain.  Zookeeper
and I want off^ to be, in effect, a separate layer denoting impassability and
off-map status.  Under this theory, the outermost ring of tiles in a map
would have off^ before a normal terrain code, and be displayed but
impassable.  off without a normal terrain code following would be used for
fully off-map hexes.  

An advantage of the off-as-layer scheme would be that you can unambiguously
tell whether a map is old- or new-style by looking at the uppermost-leftmost
cell to see if it contains "off".

Ivanovic was advocating an approach in which only fully off-map hexes have
"off" in them, and the outermost ring of on-map hexes is treated specially.
I'll call this the "off-as-tile" scheme. Mordante answered my objection that
new-style rectangular maps containing no off tiles would be impossible for
wmllint to tell from old-style maps by suggesting that maps get an optional
embedded metadata header  which (in particular) can say "border=1".

After some back and forth about performance and complexity overhead, I
believe we have now agreed on the following.  I'm sure the other participants
will correct me if I err.

1) map_has_border was a bad idea and is dead.  Maps should indeed be
self-describing.  (This was the most important point for me.)

2) The idea of an embedded metadata header in maps is good, but does not need
to applied to this particular problem. 

3) We're going to do the off-as-layer scheme, but with the restriction that
off^ is not presently allowed in interior tiles.  

4) The editor will initially deal with the problem by writing off^ in the
outermost ring when it either (a) makes a new map, or (b) writes out an old
map without off^ in the upper-left corner.

5) Later, we'll implement an off-map brush in the editor that can be used to
sculpt non-rectangular maps.

If we follow through on this, I have already written wmllint code that will
both lift old maps and recognize new ones not to be messed with.  It will
need a bit of testing and might have a bug or two, but I can have it working
within a few hours of whenever Mordante says "go".

I will also do the job of mass-converting the mainline maps and doing any
manual touch-ups necessary to the generated outer rings -- this could happen
with some cases of map corners touching dissimilar terrains.

    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?10046>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
Wesnoth-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-bugs

Reply via email to