Ren'Py 6.11.0 Public Pre-Release

In this forum we discuss the future of Ren'Py, both bug fixes and longer-term development. Pre-releases are announced and discussed here.
Message
Author
User avatar
Spiky Caterpillar
Veteran
Posts: 253
Joined: Fri Nov 14, 2008 7:59 pm
Completed: Lots.
Projects: Black Closet
Organization: Slipshod
Location: Behind you.
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#46 Post by Spiky Caterpillar » Sun Aug 01, 2010 8:23 am

PyTom wrote: Spiky >>> I can't repeat this. What window manager are you using?
fvwm2, focus set to follow the pointer.
Nom nom nom nom nom LEAVES.

User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#47 Post by PyTom » Mon Aug 02, 2010 4:17 pm

Spiky Caterpillar wrote:fvwm2, focus set to follow the pointer.
I wasn't able to repeat this.

I did make a change to Ren'Py where it will command the mouse pointer shown every second. So if the problem is that (for some reason) X is missing the "show mouse pointer" request, repeating it might fix it.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
Mihara
Regular
Posts: 119
Joined: Thu Mar 11, 2010 2:52 pm
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#48 Post by Mihara » Mon Aug 02, 2010 5:08 pm

Here is a list of bugs that I have reported for which no decision was communicated whether they will be fixed, won't be fixed, will be fixed during a future development iteration, or are not bugs at all.

Assembled in one post as a reminder that they still exist.

General problems:

1. config.window_hide_transition and config.window_show_transition do not affect hiding and showing the window when it is hidden automatically before a transition is to be performed. If this is working as desired and only applies to transitions that happen during explicit "window hide" and "window show", this needs to be documented.

2. Even in 6.11g, "window hide" and "window show" do not interact correctly with NVL mode. Before the first use of "window hide", window will be hidden by default during a transition and will be shown after the transition is over. After the first use, the window stays up during the transition in OpenGL mode. In software rendering mode it actually keeps hiding during transitions as it should.

3. what_suffix and extend do not interact correctly.

Code: Select all

init:

    $ e = Character('Eileen', color="#c8ffc8", kind=nvl, what_prefix="BEFORE>",what_suffix="<AFTER")

label start:

    e "One would expect that this what_suffix would only be seen once on screen in this situation."
    pause
    extend " But it's printed twice. The first instance gets removed, but not before the reader sees it."
Screen problems:

1. Clicking the window close button doesn't call the screen "yesno_prompt". Experimentation shows that it calls a screen called "yesno" instead. Defining that screen the same way as I define yesno_prompt produces no result as action names don't seem to match either.

Replication can be achieved by using the yesno_prompt screen example from the manual and observing that any changes to it actually produce no changes to the prompt that appears when clicking the window close button.

Lint problems:

1. Lint does not observe the new parameters of renpy.music.register_channel() and reports as missing files that are actually there. For example,

Code: Select all


init python:
    renpy.music.register_channel('ambience','sfx', file_prefix="me/", file_suffix=".ogg")
    
label start:
    play ambience "test"    

will produce a report from lint that "'test' is not loadable" even though "me/test.ogg" exists and plays.

2. While it is allowed to define a transform with parameters, calling this transform produces a spurious lint report that a function cannot be evaluated:

Code: Select all


init:
    transform ClockStatic(x,y,scale):
        subpixel True
        zoom scale anchor (0.5,0.5) pos (x,y)

label clock:
    show clockFace at ClockStatic(0.5,0.5,0.5)
Lint reports "Could not evaluate 'ClockStatic(x,y,scale)', in the at list of a scene or show statment.", apparently treating this transform as a function when it isn't. (Maybe a different syntax is in order to resolve ambiguity?...)

Developer mode problems:

1. Dumping styles with Shift+Y produces a crash if a screen is defined as per example screens given in the manual. See http://lemmasoft.renai.us/forums/viewto ... 05#p104505 for minimal replication.

I think it's related to styles implicitly created by the screen system.

User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#49 Post by PyTom » Mon Aug 02, 2010 5:25 pm

Mihara wrote:1. config.window_hide_transition and config.window_show_transition do not affect hiding and showing the window when it is hidden automatically before a transition is to be performed. If this is working as desired and only applies to transitions that happen during explicit "window hide" and "window show", this needs to be documented.
This is working as documented. The documentation says that these are only used for window hide and window show statements.
2. Even in 6.11g, "window hide" and "window show" do not interact correctly with NVL mode. Before the first use of "window hide", window will be hidden by default during a transition and will be shown after the transition is over. After the first use, the window stays up during the transition in OpenGL mode. In software rendering mode it actually keeps hiding during transitions as it should.
I could use an example of this.
3. what_suffix and extend do not interact correctly.
They are interacting correctly. To omit the what_suffix, Ren'Py would have to predict the future. For example, say I did:

Code: Select all

"Hello, world."

if renpy.random.choice([True, False]):
    extend "How are you doing?"

"Good."
Should the first line be shown with or without the suffix? That would be hard to make work right, so extend has the current semantics. Sorry if they're not as useful as they could have been, otherwise.

1. Clicking the window close button doesn't call the screen "yesno_prompt". Experimentation shows that it calls a screen called "yesno" instead. Defining that screen the same way as I define yesno_prompt produces no result as action names don't seem to match either.
This has been fixed.

1. Lint does not observe the new parameters of renpy.music.register_channel() and reports as missing files that are actually there. For example,
This is new, I'll fix it.
2. While it is allowed to define a transform with parameters, calling this transform produces a spurious lint report that a function cannot be evaluated:
This works for me, using the code you gave.
1. Dumping styles with Shift+Y produces a crash if a screen is defined as per example screens given in the manual. See http://lemmasoft.renai.us/forums/viewto ... 05#p104505 for minimal replication.
Noted and fixed.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
Mihara
Regular
Posts: 119
Joined: Thu Mar 11, 2010 2:52 pm
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#50 Post by Mihara » Mon Aug 02, 2010 5:51 pm

PyTom wrote:I could use an example of this.
See the example showing vibrating character sprites I have previously posted (and I know you have seen it) at http://lemmasoft.renai.us/forums/viewto ... 69#p105069 which includes that as well.

It actually specially mentions this in the text printed.
PyTom wrote:To omit the what_suffix, Ren'Py would have to predict the future. For example,
It does predict the future just fine to display the end of page CTC indicator before an "nvl clear" comes up, I fail to see why it can do this in one case but cannot in this one.
PyTom wrote:This works for me, using the code you gave.
With this minimal complete script it doesn't:

Code: Select all

init:

    transform ClockStatic(x,y,scale):
        subpixel True
        zoom scale anchor (0.5,0.5) pos (x,y)
    
    image clockFace = Text("Test") 
    
    $ e = Character('Eileen', color="#c8ffc8")

label start:

    call clock pass (0.5,0.5,0.5)
    e "You've created a new Ren'Py game, AGAIN."
    
    return
    
label clock(x,y,scale):
    
    show clockFace at ClockStatic(x,y,scale) 
    return

User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#51 Post by PyTom » Tue Aug 03, 2010 1:24 am

Mihara wrote:It does predict the future just fine to display the end of page CTC indicator before an "nvl clear" comes up, I fail to see why it can do this in one case but cannot in this one.
I think that was a misfeature. It was complex to implement, and required quite a bit of analysis to get right - most of the time. I really don't want to repeat that mistake, especially in a way that would change the semantics of existing code.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
Mihara
Regular
Posts: 119
Joined: Thu Mar 11, 2010 2:52 pm
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#52 Post by Mihara » Tue Aug 03, 2010 2:32 am

PyTom wrote:I think that was a misfeature. It was complex to implement, and required quite a bit of analysis to get right - most of the time. I really don't want to repeat that mistake, especially in a way that would change the semantics of existing code.
"Prohibitively hard, WONTFIX" is a perfectly reasonable decision, but saying they're interacting "correctly" is a stretch, if you ask me.

Can we have a simple syntax addition to say command that would manually tell it to omit the what_suffix instead? Like maybe,
character "I know this line is going to be extended, so I'm adding the 'omit suffix' argument." omit
play sound "something.ogg"
extend " And here I'm extending it."
That would be perfectly good enough, since at least it doesn't involve multiplying characters and then getting lost among them during editing when you decide to split a long paragraph with an effect.

User avatar
Jake
Support Hero
Posts: 3826
Joined: Sat Jun 17, 2006 7:28 pm
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#53 Post by Jake » Tue Aug 03, 2010 4:29 am

Mihara wrote: saying they're interacting "correctly" is a stretch, if you ask me.
This is probably just a mismatch between programmer-language and user-language; 'correctly' in this case means 'according to specification'. If the specification (or I guess 'reference manual' in this case) doesn't say that it's supposed to omit in that situation, then not omitting in that situation is 'correct'.
Server error: user 'Jake' not found

User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#54 Post by PyTom » Tue Aug 03, 2010 9:03 am

Mihara wrote:Can we have a simple syntax addition to say command that would manually tell it to omit the what_suffix instead?
This makes sense, but I think I will defer it until the next release.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
Mihara
Regular
Posts: 119
Joined: Thu Mar 11, 2010 2:52 pm
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#55 Post by Mihara » Tue Aug 03, 2010 10:38 am

PyTom wrote:This makes sense, but I think I will defer it until the next release.
Which is planned when exactly?...

User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#56 Post by PyTom » Tue Aug 03, 2010 11:19 am

I don't know, offhand. I'd suspect relatively soon after 6.11 - although I probably should have said "a future release" rather than "the next release".
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
Mihara
Regular
Posts: 119
Joined: Thu Mar 11, 2010 2:52 pm
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#57 Post by Mihara » Tue Aug 03, 2010 11:32 am

Thank you.

User avatar
Spiky Caterpillar
Veteran
Posts: 253
Joined: Fri Nov 14, 2008 7:59 pm
Completed: Lots.
Projects: Black Closet
Organization: Slipshod
Location: Behind you.
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#58 Post by Spiky Caterpillar » Tue Aug 03, 2010 2:32 pm

PyTom wrote:
Spiky Caterpillar wrote:fvwm2, focus set to follow the pointer.
I wasn't able to repeat this.

I did make a change to Ren'Py where it will command the mouse pointer shown every second. So if the problem is that (for some reason) X is missing the "show mouse pointer" request, repeating it might fix it.
Playing around a bit more, it shows up reliably on 6.11.0g on my linuxbox if, in windowed mode, I move the mouse so the pointer is over the window manager frame rather than the SDL screen itself and press F.
Nom nom nom nom nom LEAVES.

User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#59 Post by PyTom » Fri Aug 06, 2010 2:26 am

Been busy for a few days, but finally got some time for Ren'Py today.
Mihara wrote: 2. Even in 6.11g, "window hide" and "window show" do not interact correctly with NVL mode. Before the first use of "window hide", window will be hidden by default during a transition and will be shown after the transition is over. After the first use, the window stays up during the transition in OpenGL mode. In software rendering mode it actually keeps hiding during transitions as it should.
Looking at your example, I don't see Ren'Py behaving incorrectly. Realize that Ren'Py is in "window hide" mode by default, which causes the window to be hidden during non-dialogue segments, like transitions. You then run a window hide statement, a no-op. Then, when you run the window show statement, Ren'Py switches into "window show" mode, showing the window during transitions.

I've fixed the rest of your bug reports.
Spiky Caterpillar wrote:it shows up reliably on 6.11.0g on my linuxbox if, in windowed mode, I move the mouse so the pointer is over the window manager frame rather than the SDL screen itself and press F.
Thanks to this, I was able to repeat and fix the problem.

I'm also pretty sure I fixed Jake's cropping problem.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
Mihara
Regular
Posts: 119
Joined: Thu Mar 11, 2010 2:52 pm
Contact:

Re: Ren'Py 6.11.0 Public Pre-Release

#60 Post by Mihara » Fri Aug 06, 2010 7:09 am

PyTom wrote:Looking at your example, I don't see Ren'Py behaving incorrectly. Realize that Ren'Py is in "window hide" mode by default, which causes the window to be hidden during non-dialogue segments, like transitions. You then run a window hide statement, a no-op. Then, when you run the window show statement, Ren'Py switches into "window show" mode, showing the window during transitions.
My mistake, I understand now that this is working as documented.

Which essentially means that the "window hide" and "window show" statements are misnamed, as they aren't supposed to do what they actually say, ('hide the window and keep it hidden until told to show it') but control a very different behaviour, and only happen to do what they seem to mean in certain specific cases. (that is, if the window is always shown by default)
Obviously, it's too late to change that.

I didn't expect I would ever praise NScripter's cryptic mnemonics, but they actually have a point to them -- when the command name is cryptic, there's no expectation it's going to behave in any specific way. Well, at least "nvl hide" and "nvl show" don't alter _window...

Post Reply

Who is online

Users browsing this forum: No registered users