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

Reply via email to