Tool Ren'Py Ren'Py Restoration Patches: Hide Interface v2.2 - Toggle Quick Menu v7.8 - Change Save Name v1.0

5.00 star(s) 2 Votes

Segotep

Newbie
Sep 20, 2018
18
2
Yes. It was declared inside the screen. :FacePalm: Great catch without looking :p

You don't have permission to view the spoiler content. Log in or register now.

Change it as you suggested:

You don't have permission to view the spoiler content. Log in or register now.

Seems to work. I mean not crashing. :D But from your explanation it should not reproduce anymore. Thanks! :)
 

Thamn

Newbie
Aug 6, 2016
49
114
Yes. It was declared inside the screen. :FacePalm: Great catch without looking :p

You don't have permission to view the spoiler content. Log in or register now.

Change it as you suggested:

You don't have permission to view the spoiler content. Log in or register now.

Seems to work. I mean not crashing. :D But from your explanation it should not reproduce anymore. Thanks! :)
You're welcome, although there's a slight bug in your code that will still allow it to happen. You should change the action on the "No" textbutton as well, it should be textbutton _("No") action SetVariable('qmw_override', False) text_size 30, otherwise instead of changing the variable you initialized outside it will just create a new internal screen variable with the same name that will have priority, this second variable will be gone if the screen resets and the first one will still be True, making the menu show up again. You can verify this behavior by clicking "No", advancing the scene once, opening the console and typing show screen quick_menu_override, it will become visible again. If you do the same thing but clicking "Yes" it will stay invisible. You have to advance the scene at least once in this test, opening the console will revert the changes made in a screen during the same frame, it's the same thing that happens if you save without advancing after changing something, it keeps the state it was in at the start of the frame instead of the changes.

After fixing that you should be good.
 
  • Like
Reactions: Segotep

Segotep

Newbie
Sep 20, 2018
18
2
Hmm...is there a way to also customize native quick menu? For example if you chose a hybrid QM, part custom, part native. On custom you can have for example outlines, but on native nope....still indistinguishable in many scenes. Or maybe to inherit custom QM settings...
 

Thamn

Newbie
Aug 6, 2016
49
114
Hmm...is there a way to also customize native quick menu? For example if you chose a hybrid QM, part custom, part native. On custom you can have for example outlines, but on native nope....still indistinguishable in many scenes. Or maybe to inherit custom QM settings...
I'm not sure what you're trying to achieve with this. To clarify, what I call native quick menu is the one that comes with each game, already customized by the developer. The custom quick menu is the one I created. To customize the native quick menu you'd have to either edit the screens.rpy file in each game individually (which is what I used to do before deciding on creating a patch to save me the trouble) or use a patch that replaces the "quick_menu" screen with something customized by you (which can be customizable in game like I did for my custom one). I don't know of any way to customize the native quick menu in game unless it already comes with that functionality written into it, like in BaDIK for example, otherwise you're limited to what the developer coded and if they coded a static quick menu, that's what you get. I suppose you could incorporate the native quick menu into another screen with use quick_menu() which would allow you to change it's location but that would have weird results if the dev makes a complex quick menu.

With that said, there's nothing stopping you from adding different features to the custom quick menu screen or adding more screens that have different kinds of buttons and functions and you can have them all visible at the same time, together with the native quick menu, there's no limit to how many you can have. In some games I keep the native quick menu visible and put my quick menu next to it with the extra buttons I want, other times I place my buttons somewhere else unrelated like in the Star Wars game by Mortze that has a completely different layout for the quick menu.

I don't know if this answers your question, let me know if I completely misread what you were asking for.
 
  • Like
Reactions: Segotep

Segotep

Newbie
Sep 20, 2018
18
2
Yes and no. It's like you use it on SW Game by Mortze Here an example:

1629462638640.png

Here we have a hybrid QM. Because the native one has a mod menu insertion. So I can't hide it but also need a few custom keys. For this type of QM (think is the vanilla one) I was wondering if the native can inherit the settings from the custom one. But for what I understanding is quite complicated. :)
 

vimey

Active Member
Nov 29, 2020
823
599
Thanks for this great tool it's really useful I would like to ask if there is a way to make the custom QM default size 30 instead of adjusting it every time
 
  • Like
Reactions: Belzeebub

Thamn

Newbie
Aug 6, 2016
49
114
Thanks for this great tool it's really useful I would like to ask if there is a way to make the custom QM default size 30 instead of adjusting it every time
You're welcome, I'm glad you like it. Yes, it can easily be changed to whatever default you want but the file has to be edited. Currently I use the size of the native quick menu as default and if it doesn't exist it becomes 20. Deleting the check for the native size and changing the default to 30 would do what you want. These are the instructions to do it yourself:
You don't have permission to view the spoiler content. Log in or register now.
I don't know how much you know about programming so if you need further help don't hesitate do ask.

Yes and no. It's like you use it on SW Game by Mortze Here an example:

View attachment 1362068

Here we have a hybrid QM. Because the native one has a mod menu insertion. So I can't hide it but also need a few custom keys. For this type of QM (think is the vanilla one) I was wondering if the native can inherit the settings from the custom one. But for what I understanding is quite complicated. :)
The native can't inherit the settings of the custom one without editing its code but the custom can easily integrate the native into it, the problem is that both the native and the integration into the custom are governed by the "quick_menu" variable so you'll either see the native quick menu duplicated when "quick_menu" is True or not see it at all when it's False. There is a possibility to do it that will work in almost all circumstances unless the dev never initializes the native quick menu, in which case it will give an error. This is what you need to do:
You don't have permission to view the spoiler content. Log in or register now.
This would do what you want, both quick menus would be merged into one, moving together and adjusting to the number of buttons. My only issue with this is having the possibility of a crash if the dev completely removes the native quick menu but if you only implement this in the games that need it it shouldn't be a problem for you. There's several improvements possible, you could change the defaults so the game starts only with the integrated version visible and also make it so the "Custom" button of the configuration window only hides the custom instead of both, you could even integrate it into your own mod that asks you at the start which version you want, this way one click would set everything up.

This is just one possibility, I'm sure there's other ways to achieve it, just be aware of the limitations and try to work around them. Personally I still prefer to have them completely separate for the extra flexibility and for being universal so I won't be adding these changes to my official version but I can understand why you want them in some circumstances. If you need any help with the integration let me know.
 
  • Like
Reactions: Segotep and vimey

Segotep

Newbie
Sep 20, 2018
18
2
Oh. Now I'm feeling bad you write this much. But I'm grateful. Thank you! :)
I concluded it's not possible what I want, but it's no big deal. No doubt, what you did it's an awesome tool!
 

weirdscix

Active Member
Apr 10, 2021
555
2,817
This is just what I needed, that you. I wanted to replay Melody for a different route but the thought of all that clicking put me off, then I stumbled across this :)

I do have one question though. I basically know nothing about coding for Renpy and I saw mentioned earlier creating a button to hide the menu and take a screenshot, how could I actually incorporate this into the mod?
 

Thamn

Newbie
Aug 6, 2016
49
114
This is just what I needed, that you. I wanted to replay Melody for a different route but the thought of all that clicking put me off, then I stumbled across this :)

I do have one question though. I basically know nothing about coding for Renpy and I saw mentioned earlier creating a button to hide the menu and take a screenshot, how could I actually incorporate this into the mod?
Hi, I'm glad you find it useful. I updated the mod myself to include the option to enable the screenshot button, this way you don't have to mess with the code and I can ensure it behaves just like the other buttons as well as its compatibility with my other patch to hide the interface. Let me know if you still want to know the technical details of the implementation and I'll be happy to explain it.

The custom quick menu has been updated to version 7.0 to add a screenshot button (S.S), it will be off by default but can be enabled through the configuration window. Left clicking the S.S button will hide the interface and wait for a second left click to take a screenshot with the interface hidden. Right clicking the S.S button takes a screenshot without hiding the interface. Some minor visual changes have been made to the configuration window to accommodate the extra buttons so they fit inside the screen in some games with 720p resolution.
 

weirdscix

Active Member
Apr 10, 2021
555
2,817
Hi, I'm glad you find it useful. I updated the mod myself to include the option to enable the screenshot button, this way you don't have to mess with the code and I can ensure it behaves just like the other buttons as well as its compatibility with my other patch to hide the interface. Let me know if you still want to know the technical details of the implementation and I'll be happy to explain it.

The custom quick menu has been updated to version 7.0 to add a screenshot button (S.S), it will be off by default but can be enabled through the configuration window. Left clicking the S.S button will hide the interface and wait for a second left click to take a screenshot with the interface hidden. Right clicking the S.S button takes a screenshot without hiding the interface. Some minor visual changes have been made to the configuration window to accommodate the extra buttons so they fit inside the screen in some games with 720p resolution.
Thank you so much, that is awesome. I will go through the code and see if I can figure out how it's implemented.
 

Jeithxxx

New Member
Feb 19, 2022
1
0
Some Ren'Py games are coming out with a few of the normal features removed so I created these patches to restore them. They're independent from each other and should work on most games.

Hide Interface
You don't have permission to view the spoiler content. Log in or register now.

Toggle Quick Menu
You don't have permission to view the spoiler content. Log in or register now.

I created these patches for my personal use and have been refining them according to the games I play and what I want from them, I hope they're as useful to you as they are to me. I used to leave previous versions up for those who wanted them but I feel that the improvements of version 6.2 are so big that it makes no sense to keep them here and cause confusion.

You don't have permission to view the spoiler content. Log in or register now.
You don't have permission to view the spoiler content. Log in or register now.
You don't have permission to view the spoiler content. Log in or register now.
DUDE YOU SAVED MY LIFE NO JOKE ALL THE PROBLEMS I ENCOUNTER WITH REN'PY SOLVED WITH THIS
 

Belzeebub

Active Member
May 18, 2020
631
880
Thamn thanks for these patches. Is it possible to have a patch to able/disable save names. It will be very much appreciated. Many of us are searching for such patch or option. Again, thank you for your dedication and hardwork you put to provide us these patches. Keep it up (y) (y) (y) (y)
 

Thamn

Newbie
Aug 6, 2016
49
114
Thamn thanks for these patches. Is it possible to have a patch to able/disable save names. It will be very much appreciated. Many of us are searching for such patch or option. Again, thank you for your dedication and hardwork you put to provide us these patches. Keep it up (y) (y) (y) (y)
You're welcome. For the save names, Ren'Py has this natively and gives every save the text stored in a dedicated variable, which is empty when the developer doesn't make use of this feature. All we have to do to change save names is change that variable before saving. The issue is how we change that variable and if the developer changed the save screen in a way that either hides the names or puts them in the wrong place, I've already encountered an occasion where it overlaps with the time but in most of my tests it works properly.

I've uploaded a working version of a patch (v0.3) that opens a small screen when we press 'N' inside the save menu to change this variable. So when you want to give a name to a save, open the save menu > press 'N' > type the name you want > click "Accept" or press 'Enter', 'Esc' or right mouse button > click the save slot to save. This should result in a save with the name you gave it. Further saves in that playthrough will retain this name until you either change it or remove it. Other playthroughs will not be affected.

You don't have permission to view the spoiler content. Log in or register now.

I also updated the custom quick menu to have a section to change the save names as well, just open the configuration window with 'W', the dedicated "Config" quick button or by right clicking the "Q.Save" or "Q.S" quick buttons > click the "Change" button > type the name of the save. Right clicking either the "Change" or "Accept" buttons will remove the name. Any saves from then on will be given that name.

Let me know how this works for you and if you have ideas for improvements, this is the solution I came up with right now but it doesn't have to be the final design.

The _toggle_quick_menu patch has been updated to version 7.6. This changes the toggle for the native quick menu to expand its ability to hide it, some games are still stubborn and will bring it back when the game restarts but at least now it can be hidden again. I've also been adding buttons to access 3rd party mod menus so I can still access them after hiding the native quick menu, they're available to activate in the config window only if a mod is detected, right clicking a mod button will show/hide the button created by its dev to open it (if it exists, in some cases it's just a button in the native quick menu). Since these 3rd party mods are not under my control their devs can make changes that easily break my integration so if a cheat mod doesn't behave properly when opening it from my custom quick menu use the button provided by its dev. It can now also change the name of a save, details above.
 
  • Like
Reactions: vimey

Belzeebub

Active Member
May 18, 2020
631
880
You're welcome. For the save names, Ren'Py has this natively and gives every save the text stored in a dedicated variable, which is empty when the developer doesn't make use of this feature. All we have to do to change save names is change that variable before saving. The issue is how we change that variable and if the developer changed the save screen in a way that either hides the names or puts them in the wrong place, I've already encountered an occasion where it overlaps with the time but in most of my tests it works properly.

I've uploaded a working version of a patch (v0.3) that opens a small screen when we press 'N' inside the save menu to change this variable. So when you want to give a name to a save, open the save menu > press 'N' > type the name you want > click "Accept" or press 'Enter', 'Esc' or right mouse button > click the save slot to save. This should result in a save with the name you gave it. Further saves in that playthrough will retain this name until you either change it or remove it. Other playthroughs will not be affected.

You don't have permission to view the spoiler content. Log in or register now.

I also updated the custom quick menu to have a section to change the save names as well, just open the configuration window with 'W', the dedicated "Config" quick button or by right clicking the "Q.Save" or "Q.S" quick buttons > click the "Change" button > type the name of the save. Right clicking either the "Change" or "Accept" buttons will remove the name. Any saves from then on will be given that name.

Let me know how this works for you and if you have ideas for improvements, this is the solution I came up with right now but it doesn't have to be the final design.

The _toggle_quick_menu patch has been updated to version 7.6. This changes the toggle for the native quick menu to expand its ability to hide it, some games are still stubborn and will bring it back when the game restarts but at least now it can be hidden again. I've also been adding buttons to access 3rd party mod menus so I can still access them after hiding the native quick menu, they're available to activate in the config window only if a mod is detected, right clicking a mod button will show/hide the button created by its dev to open it (if it exists, in some cases it's just a button in the native quick menu). Since these 3rd party mods are not under my control their devs can make changes that easily break my integration so if a cheat mod doesn't behave properly when opening it from my custom quick menu use the button provided by its dev. It can now also change the name of a save, details above.
I am getting this error in my real desire . I think it is because of toggle menu. Please help:(:(
 
  • Angry
Reactions: JohnJG

Thamn

Newbie
Aug 6, 2016
49
114
I am getting this error in my real desire . I think it is because of toggle menu. Please help:(:(
It's fixed in version 7.8. For some reason that version of Ren'Py was expecting a string out of a division for the automatic calculation of the steps for the bars, it makes no sense and I never encountered that before, after manually setting the steps to avoid the calculation it's working as intended.

The _toggle_quick_menu patch has been updated to version 7.8 and the _change_save_name patch to version 1.0, the window to change the save name now has a button to cancel the change and clicking outside the window does the same. Hotkeys are now indicated on the buttons inside parenthesis. The custom quick menu now uses a similar window to change save names and can be opened directly from a quick menu button (S.Name).
 
Last edited:

Thamn

Newbie
Aug 6, 2016
49
114
Does it work in the apk?
I've never modded Android ports but currently these patches rely on either keyboard or mouse keybinds to activate so my guess is they wouldn't work without changing the activation mechanisms. The interface would also likely need to be tweaked to be usable with fingers on a small screen and some actions that rely on mouse hover would be unavailable as well. Apart from that it's just screens, variables and functions so it shouldn't be hard to set up an alternative, more streamlined version compatible with Android when in control of the port creation.

Making it universal to drop in like on PC would probably be trickier because the main menus would be out of bounds, leaving just gestures and overlay screens to use as triggers.

Which of the patches are you asking about and what's the use case?
 

fishbrain

Engaged Member
Apr 9, 2018
2,325
2,429
Thank you so much for doing this. I get so frustrated with games having great animations but no auto button or quick menu altogether, finally I can add my own!!! Thanks again!
 
5.00 star(s) 2 Votes