Ren'Py 4.6 Released

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Post Reply
Message
Author
User avatar
PyTom
Ren'Py Creator
Posts: 16096
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:

Ren'Py 4.6 Released

#1 Post by PyTom »

I'm pleased to announce the release of Ren'Py 4.6 "Start your Engines!". This release contains a few bug fixes, and a few new features that I forgot to add to 4.5, that I had promised to people on the forum. It adds support for layers, independently specifying margin and padding for the top, bottom, left and right sides of a window, and an activated state for widgets. It also includes a number of bug fixes over 4.5.

As always, you can get it from:

http://www.bishoujo.us/renpy/

Upgrading from 4.5 to 4.6 can be accomplished by simply copying over the game directory.

I'm hoping that, once it's tested, the 4.6 branch will be what people use to release their NaNoRenO/IntRenAiMo games.

As 4.5 was only out for a few days, people might want to check out the announcement of it here.

New in 4.6

The demo was updated to show some of the new features listed below.

There's now a third state that hovered widgets can go into. The activate state is enabled when a button is clicked or a menu choice is selected. The activate state can only be seen when a transition occurs immediately after a button is clicked or a menu choice is selected.

The margin and padding properties have been broken up, so it's now possible to specify margin and padding for the left, right, top, and bottom of a windows.

The biggest internal change in this version is the introduction of a layer system in Ren'Py. Transitions can now work on an individual layer (as well as the previous behavior of the whole screen), so it's possible to do things like sliding in and out the dialogue box.

It's now possible to use transitions when entering and leaving the game menu, by assigning a transition object to library.enter_transition and library.exit_transition, respectively.

The preferences screen can now be entered from user code, and is now part of the main menu.

Character objects now support an interact argument when called directly. If it's False, then no interaction occurs. This lets a character window become part of a larger screen.

Two new extras have been added:
  • button_menu.rpy changes the way menus are displayed. Each menu choice is displayed in its own button, roughly centered on the screen. A single menu caption is displayed as narration, if such a caption exists.
  • overlay_menu.rpy changes the behavior of right click from showing the game menu to showing a bank of buttons that, when clicked, bring the user to the game menu.
The overlay code was overhauled. It's now not possible for an overlay function to return a list of widgets. Instead, the overlay functions are expected to add widgets to the screen using the ui functions. Calling the new function renpy.restart_interaction will, among other things, cause the overlay functions to be called again, if one wants to replace the overlay on the screen.

A new variable, config.overlay_during_wait, controls if overlays are shown during the execution of wait statements.

Init blocks of the same priority are now assured to run in the order that they appear in a script file.

The renpy.interact() function has been eliminated. Use ui.interact() instead, as it performs more error checking.

Fixed a bug in which some redraws were ignored, and another in which the input widget failed to eat characters. (So typing 'f' in an input widget would be passed through, and eventually cause the game to go to fullscreen mode. No longer.)

4.5's demo script had a bug that cause it to crash, after playing the MPEG-1 movie. It was a bug in the demo script, and not in Ren'Py proper. It's fixed.
Last edited by PyTom on Mon Feb 14, 2005 5:29 pm, edited 1 time in total.

Piroshiki
Regular
Posts: 62
Joined: Mon Oct 25, 2004 2:26 pm
Location: The city of snow (Qc, CA)
Contact:

#2 Post by Piroshiki »

Midi's are working again \o/

However... it would seem that I'm experiencing serious problems with the release as a whole ;_; Things like lags during transitions, music sometimes not changing when it should or failing to play at all, nothing showing up on the screen after a save/load, and complete program failure after playing for a short while (this is preceeded by more and more serious lags in transitions, so these lags might be what leads to the program not answering anymore).

...am I alone experiencing that again?

[edit]
Actually, it looks like *all* of the problems I'm experiencing with the release have something to do with the lags in transitions, as if too much things were piled up on the screen and the program couldn't handle it, or something like that.
I'm not a meat bun ~nya

User avatar
PyTom
Ren'Py Creator
Posts: 16096
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:

#3 Post by PyTom »

Okay, this has all the classic signs of a memory leak, and a little bit of checking shows me that it has to do with the new rendering code, which is fairly complex. Let me see if I can track it down and nail it to the wall.

Update: It's an annoying subtle bug, because for some reason a reference to a Render was being kept around, leaking memory up the proverbial wazoo. The fact that I have a gig of ram in my prime development box meant that I didn't catch it.

Update 2: Okay, finally nailed it to the wall, after a huge amount of work. Also implemented a memory profiler so that it doesn't happen again.

Alessio
Miko-Class Veteran
Posts: 576
Joined: Fri May 07, 2004 9:40 am
Completed: GO! Magical Boy (2006), Angelic Orbs (soundtrack)
Projects: Cyberlin (in progress)
Location: Finland
Contact:

#4 Post by Alessio »

My goodness, you're so fast, Tom... you're releasing versions faster than I can unzip them! :))))
Thanks for renpy.exists() in 4.5, that would have been my next request. This will make distribution easier - I'm thinking of a bare-bone version of a game for people with slow internet connection, and an additional download package for enhanced music (having Ren'Py play plain MIDI files if the additional .ogg files can't be found).

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], jeffster, risukadekei