On 6 April 2010 10:11, jeremy rosen <jeremy.ro...@enst-bretagne.fr> wrote: > ok, this sounds good > > could you post it at the end of the existing patch (iirc the original > poster is MIA anyway) > > i'll have a look at it ASAP, but no promises when that will be... > > quick question, why didn't you use the following definition for skip : > "skip whatever it takes to bring me to the game itself" which seems > more logical since skip is mainly used when you already know the story > parts... > > the "double skip to reach game" logic you currently have seems a bit > complicated
How it works before the patch is a double skip too in almost every campaign. * It wasn't my objective to alter its behaviour radically. * Your players are used to a double skip. * I thought if a single skip had been desired, it could have been done easily before now, therefore it was not desired. * I modified it as far as I did to make sure it's only ever a double skip, rather than the confusing model where there are hidden sections as at present, and you could theoretically have to press skip an arbitrary number of times [it's now two always, which for most campaigns looks identical to before]. If there's a different behaviour desired for skip, it's a trivial fix, I just need to be told what that behaviour is (which is why I defined what my model for skip is). As an aside: one weakness is that the quit button should probably throw up a "are you sure" type dialog, but this patch already snowballed to the point I started to doubt its inclusion, so I omitted that part. Ed > On Mon, Apr 5, 2010 at 4:39 AM, Ed <icelus...@gmail.com> wrote: >> There was a slight problem with this I noticed (inevitably) right >> after I sent this mail. >> >> The problem is if you press skip rather than next on the last page of >> the last story segment, it doesn't do anything. >> >> This isn't actually a trivial fix, because of the question of what >> skip should really mean. >> >> The definition I used is this: skip means go to the end of the story >> (making the fact that it contains parts hidden from the user) unless >> already at the end of the story, in which case go to the game. >> >> The changes accomplish this by virtue of making the controller >> slightly cleverer; it now knows whether its the last segment, and on >> that basis will either skip internally (to find the end), skip >> externally (to find another segment which is the end) or indicate the >> game should be entered (if its the last and at its own end). >> >> The underlying assumption behind this patch really is that the story >> screens are a single "book" as they appear to the naive user, grouped >> into parts for implementation reasons and convenience. Essentially >> this patch enforces that model for back and skip. >> >> There _should_ be a line using >> >> next_itor = itor+1 >> >> rather than >> >> next_itor = ++itor; ---itor; >> >> However touching config.hpp takes 2+ hours to rebuild on my machine, >> so I'm sending you what I have for now (operator+ is unimplemented; i >> found out the time requirement by implementing operator--). >> >> The more succinct >> >> next_itor = ++itor--; >> >> blows the compiler's mind (compiles but segfaults in resource tracking code). >> >> >> >> On 5 April 2010 02:52, Ed <icelus...@gmail.com> wrote: >>> Here's a first attempt at a patch for the back button for story screens: >>> >>> http://wiki.wesnoth.org/Good_Ideas >>> http://www.wesnoth.org/forum/viewtopic.php?t=8857 >>> >>> There is already a patch in the tracker for this: >>> >>> https://gna.org/patch/?1536 >>> >>> However I didn't realise someone had started when I wrote this, and >>> this is rather further along than that one is. >>> >>> Problems with that patch: >>> >>> * Back doesn't work properly (try it on the last page of the intro >>> where it shows you the map) - can't go back. >>> * Doesn't wire up back button in all the situations next button is >>> clickable. >>> * Probably violates screen size in USE_TINY_GUI mode >>> * There's no key shortcut for back. >>> >>> Features this patch has: >>> >>> * Handles back properly so that you can go all the way back to the >>> start from the end. >>> * Handles skip properly so that all segments are skipped not just per >>> segment (but can still go back so this is ok!) >>> * Adds functional quit button. >>> * Adds key controls: RIGHT is added for next, LEFT and BACKSPACE for back. >>> >>> Improves the implementation: >>> * no longer throws quit exception to quit (was just caught and >>> suppressed anyway). >>> * play story segments from either end so that back can work properly. >>> * adds reverse direction iteration for config::const_child_iterator (was >>> needed) >>> >> >> _______________________________________________ >> Wesnoth-dev mailing list >> Wesnoth-dev@gna.org >> https://mail.gna.org/listinfo/wesnoth-dev >> >> > > _______________________________________________ > Wesnoth-dev mailing list > Wesnoth-dev@gna.org > https://mail.gna.org/listinfo/wesnoth-dev > _______________________________________________ Wesnoth-dev mailing list Wesnoth-dev@gna.org https://mail.gna.org/listinfo/wesnoth-dev