I had an idea, and that was to create two rooms with an "invisible wall," 
(or a *VERY* low wall) between them, so that you create a virtual separation 
but not a physical one, allowing for "one door per room," but two doors 
where it counts.  I haven't yet gotten a good enough handle on the code to 
know how this is done, but it'd be like partitions on a physical drive...?

----- Original Message ----- 
From: "Matthew Tylee Atkinson" <[EMAIL PROTECTED]>
To: "AGRIP User and Developer discussion list" 
<[email protected]>
Sent: Monday, April 28, 2008 1:41 AM
Subject: Re: [AGRIP-discuss] Multiple doors on the same wall


> 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 

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

Reply via email to