All: The topics discussed in this email are quite advanced LDL stuff so
please don't let it put you off! :-)  (Also: do fill in the survey even
if you are put off - we need constructive criticism to help us improve.)

Matthew asked if it is possible to put multiple connectors (doors,
holes) into the same wall of a room.

It is possible, though currently it has some rough edges.  One problem
is that the rooms you link to, if specified to be too big, could overlap
each other.  This is just ignored (which can lead to some interesting
layouts, as in test_05_big2dlayout) but I plan to detect it and tell the
user about it soon.  Also, you don't have absolute exact control over
where the connecting doors are, though it's good enough to give it a go.

Try this XML...

<map name='multiple doors on one wall?' style='base'>
  <room id='start' size='big'>
    <item type='info_player_start' pos='c' />
    <con wall='n' pos='bl' target='north-west' type='door' />
    <con wall='n' pos='br' target='north-east' type='door' />
  </room>
  <room id='north-west' />
  <room id='north-east' />
</map>

What the above does is give you a bigger-than-usual first room.  Both of
the connections away from this room are on the north wall of it.
However, one is in the bottom left ("bl") of that north wall (as if you
were facing it) and one is in the bottom right ("br").  The effect is
that you can fit both of those smaller (well, "med"-sized) rooms behind
that wall and have both doors connecting to them off the north wall of
"start".  If this is not a good explanation, please let me know.

Because of the sizes of the rooms, it would not work to have those two
additional rooms any wider (but you could make them into corridors).
However, if you did want them to be big rooms, you could move the doors
on their side such that they were in the corner and the rooms wouldn't
overlap.  Something like this:

<map name='multiple doors on one wall?' style='base'>
  <room id='start' size='big'>
    <item type='info_player_start' pos='c' />
    <con wall='n' pos='bl' target='north-west' type='door' />
    <con wall='n' pos='br' target='north-east' type='door' />
  </room>
  <room id='north-west'>
    <con wall='s' pos='br' target='start' />
  </room>
  <room id='north-east'>
    <con wall='s' pos='bl' target='start' />
  </room>
</map>

(Unfortunately there's a bug there -- my "bl" and "br" should be the
opposite way 'round on the connections back to "start", but my code has
failed to take into consideration the fact that when we're looking
south, our perception of left and right is the opposite way 'round from
when we're looking north.  I will fix this ASAP as long as it doesn't
affect any other functionality (as that could skew the test).  It's
funny how when you get other peoples' views on how things should/can be
used, you find all sorts of interesting things like this!)

However, the above starts to get quite complex, so it's something LDL
should really offer to do for you (and is one of the features that has
priority, along with teleporters and water/slime/lava).

best regards,


-- 
Matthew Tylee Atkinson <[EMAIL PROTECTED]>

_______________________________________________
AGRIP-discuss mailing list
[email protected]
http://lists.agrip.org.uk/cgi-bin/mailman/listinfo/agrip-discuss

Reply via email to