<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 26 May 2017 at 15:03, James Paige <span dir="ltr"><<a href="mailto:Bob@hamsterrepublic.com" target="_blank">Bob@hamsterrepublic.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div>Okay, so I'll  start by  fixing the behavior of RectangleSlice for negative values.<br></div></div></div></div></div></div></div></blockquote><div><br></div><div>OK. It wasn't the only slice type with problems. <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><br></div>I'll find your plan for anchor points and fill sizes on negative slice sizes, and implement it.<br><br></div>Then I'll add LineSlice. I'll still include a toggle for which corner pair to use, but I'll make sure negative sizes are consistent.<br><br></div>I'll make a zero size line be a point.<br><br></div>I like ellipses as endpoints to lines, and I agree about it being okay for lines to overflow the slice bounds a little like box borders do, but I won't attempt lines wider than 1 pixel until I have a better understanding of how that should work.<br><br></div>Not sure if all of this will happen before or after A* pathfinding ;)<br></div></div></blockquote><div><br></div><div>Wait a minute... These styled lines remind me of...<br><br><img src="cid:ii_j35io4aj0_15c43a0262e7318f" style="margin-right: 0px;" width="594" height="371"><br></div><div>​(Together For Victory by Newbie)<br></div><div><br></div><div>Of course, we can't draw styled ellipses.<br></div><div>Actually, this screenshot shows that it would be possible to use an endpoint circle radius ranging from half the thickness to the whole thickness of the line. However using anything other than half the thickness requires knowing what the connecting line is because it requires moving the center and clipping.<br></div><div>(So, we won't be doing that... you can always script it yourself)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br>---<br></div>James<div><div class="h5"><br><div><div><div><div><div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 25, 2017 at 1:08 PM, Ralph Versteegen <span dir="ltr"><<a href="mailto:teeemcee@gmail.com" target="_blank">teeemcee@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span>On 25 May 2017 at 06:15, James Paige <span dir="ltr"><<a href="mailto:Bob@hamsterrepublic.com" target="_blank">Bob@hamsterrepublic.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div>Here I am going to talk out LineSlice before I actually start implementing it<br><br></div>I think I have a pretty realistic chance of having time to do it sometime soon. <br></div></div></div></div></div></div></div></div></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><br></div>I'm going to go with a simple slice.<br><br></div>It will draw a line from corner to corner<br><br></div>I figure I can have a toggle for whether it draws from 0,0 <-> width,height or 0, height <-> width,0<br><br></div>I plan to also test it will negative width and height, although I think we have an unresolved issue of inside-out-slices sizes being off-by-one, and we have to decided how to resolve that.<br></div></div></div></div></div></div></div></blockquote><div><br></div></span><div>We should fix that, no one is going to be relying on the exact pixel-perfect size and position of negative rects*<br></div><div>The way I think about this is limit behaviour: as you decrease the width of a rect slice from 10 to 0 to -10, it should be consistent, without jumping by a pixel at the zero point.<br><br></div><div>* Well, actually, Adam did complain about negative-size rects in a mailinglist post called "Version difference quirks" 4 years ago, but I don't understand what the problem was. Maybe I should look at old copy of Phantom Tactics to see.<br><div><br></div>(Aside: he also complained about key:Filtered alt 
problems, and I've changed my mind since what I wrote in that thread, 
and now think that it would be better to add some backcompat behaviour 
for old games, since PT is probably not the only one broken by it).<br><br></div><div>Also I'm pretty confident in the plan I wrote on SS to allow negative width slices by changing the way that anchor points and fillparent are affected by negative sizes. I think you should be allowed to create negative size line slices in the editor, since it's a lot more natural than having to switch the start/end corners.<br></div><div>It may not be necessary to allow inputting negative sizes for other slices... but if we've nailed down what the behaviour of negative size slices is, then we also don't need to worry about allowing it.<br></div><span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><br></div>I would like to be able to do horizontal lines without having to care if height is 1 or 0, and vertical lines without caring if width is 1 or 0.<br><br></div>Should there be a toggle for making zero-width / zero height lineslices invisible?<br></div></div></div></div></div></blockquote><div><br></div></span><div>That's a good point. Zero-width/height rects are invisible, but line slices should definitely be visible in that case. We don't need a toggle for that, I see no use for it. I'm not certain about it, but 0x0 line slices could also be drawn as a point.<br></div><span><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div><br></div>I will definitely be implementing convenience functions to set a line's position relative to screen points on other slices.<br><br></div>I also really like the idea of being able to adjust line thickness, but I don't know the best way to go about that, especially regarding corners.<br></div></div></div></blockquote><div><br></div></span><div>I don't know what the algorithm is to draw sharp corners, (though I think opengl has builtin support for it?) but anyway it would require to know which other line slice we're attached to.<br><br>The simpler alternative is to add an option to draw rounded line ends, using ellipses. Giz created a screensaver which drew something like 10000 tiny ellipses to create a less-blocky grid, and it wasn't that slow.<br><br></div><div>But all of those things can be added later.<br></div><div><br></div><div>Note a thickness 2 or greater line will be drawn partially outside the boundaries of the slice, but that's fine; rect slcies with borders already do that (and width/height 0 line slices also)<br></div><span><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><br></div>Maybe we need some kind of function allmodex function to paint a thick line... maybe even a styled line using a 1xwidth sprite?<br></div></div></blockquote><div><br></div></span><div>A dedicated function would be good for efficiency, but it would be fine to just draw a bunch of lines next to each other to achieve the same effect.<br><br></div><div>However, the tricky part is calculating the start/end position of each line. They should be along a line perpendicular to the center of the line. Like so:<br><br><span style="font-family:monospace,monospace">  \\\<br>\\\\\\<br> \\\\\\<br>  \\\\\\<br>   \\\\\\<br><br></span></div><div>Oh, also if the end points are staggered like that, then the lines potentially won't sit perfectly next to each other, you would have to draw some extra lines to prevent gaps from opening. I can see exactly how to do that.</div><div><br></div><div>I hadn't thought about styled lines, but that's a neat idea. On the other hand, not terribly much styling is possible with a 1*x sprite. But sticking to 1*x has the large advantage that there would be no change in appearance when the angle changes from 44 to 46. But if in future we switch to hardware acceleration the way it appears could change.</div><span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div>I am not worried about thick lines or styled lines in the first implementation, I just want to think about it enough to avoid any blunders that would make adding those later more difficult.<br></div></blockquote><div><br></div></span><div>This is all fine.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"></div>
<br>______________________________<wbr>_________________<br>
Ohrrpgce mailing list<br>
<a href="mailto:ohrrpgce@lists.motherhamster.org" target="_blank">ohrrpgce@lists.motherhamster.o<wbr>rg</a><br>
<a href="http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org" rel="noreferrer" target="_blank">http://lists.motherhamster.org<wbr>/listinfo.cgi/ohrrpgce-motherh<wbr>amster.org</a><br>
<br></blockquote></div><br></div></div>
<br>______________________________<wbr>_________________<br>
Ohrrpgce mailing list<br>
<a href="mailto:ohrrpgce@lists.motherhamster.org" target="_blank">ohrrpgce@lists.motherhamster.o<wbr>rg</a><br>
<a href="http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org" rel="noreferrer" target="_blank">http://lists.motherhamster.org<wbr>/listinfo.cgi/ohrrpgce-motherh<wbr>amster.org</a><br>
<br></blockquote></div><br></div></div></div></div></div></div></div></div></div></div></div>
<br>______________________________<wbr>_________________<br>
Ohrrpgce mailing list<br>
<a href="mailto:ohrrpgce@lists.motherhamster.org">ohrrpgce@lists.motherhamster.<wbr>org</a><br>
<a href="http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org" rel="noreferrer" target="_blank">http://lists.motherhamster.<wbr>org/listinfo.cgi/ohrrpgce-<wbr>motherhamster.org</a><br>
<br></blockquote></div><br></div></div>