Mod Ren'Py Universal Ren'Py Mod / URM [2.2.1] (mod any Ren'Py game yourself)

5.00 star(s) 33 Votes

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,595
6,054
Really thank you for the Mod (^_^)b

- Is there a way to pause and get the choice pop-up before the fast transition removes it? even I cannot get a chance to click the + sign as it's too fast.

- also any chance to be able to edit the choice option to change the outcome on the spot before clicking next?

Thank you again :D
Regarding your first questions, see this:
That's going to be a challenge, but I like challenges :)
What probably happens is that the action before the path is forwarded automatically. In most cases you would have a text/dialogue before a path and you need to click to continue the dialogue. But you could for example have a dialogue that forwards automatically, in this case the detection would automatically disappear again.
And I don't get what you mean with the second question.
 

kamimed

Newbie
Dec 29, 2019
34
121
Hi 0x52, like always thanks for your hard work, you have created a great tool.

Here are some random features that would be nice to have but not really must have:

- Ability to change dialog box fonts / size / outline / etc (Something similar to Sancho mod for the Being a DIK), either include some fonts by default or define a folder and read the "mod_fonts" in that folder added by the user (hope it makes sense)

- Using renpy.notify to alert when a variable has been updated, if possible alert what variable was used for split path (the ones that just execute without pause), this option preferably disabled by default as not everybody would like to be spammed with alerts. Or anything else that shows some kind of history of changed variables / variables executed in split paths (only for current session, probably stored in ram)

- Jukebox option, something that reads a "mod_music" folder contents and than play them (probably this feature should be an addon that works hand in had with your main mod)

Keep up the good work (y)
 
  • Like
Reactions: Belzeebub$

FaceCrap

Active Member
Oct 1, 2020
882
619
Got a suggestion. When you search for variables there may be one or more lists in the result. These lists may or may not always contain the same number of items. Currently the only way to check of a list got changed is to search for it again, because if you add a list to the Variables page, it's no longer expandable but just says that it is a list with x number of items.

Would it be possible to add a list to the Variables page and keep it expandable?

EDIT: Oh... it just detected an update (that actually wasn't an update, since reported Last Update was over a month ago), but the thread was edited yesterday...apparently that was enough to trigger the false positive
On checking the Changelog in the popup, it says that either this games doesn't have one or the thread isn't formatted properly.

I'm guessing that is because there's now 2 changelog spoilers. One for Chapter 1 and and a second for Chapter 2...
 
Last edited:

JamieSadistic

Well-Known Member
Dec 19, 2018
1,417
3,511
I love this mod and I install it in every renpy game I play.
It seems to cause Healslut to immediately crash upon pressing the start button though.
 

kenshiro2k

Newbie
Jul 5, 2017
15
5
Regarding your first questions, see this:


And I don't get what you mean with the second question.
Thank you for the update :D

Regarding the 2nd question; during gameplay sometimes there is a single option popup (either True or False) showing the condition to achieve that option.

If the option is False, then I can click on Select to activate it to force that path, however, if the option is True, then that path is forced and cannot be changed (see screenshot).

Really it will help to control the paths to make it more enjoyable. ;)
 
  • Like
Reactions: wiwem71072

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,595
6,054
- Ability to change dialog box fonts / size / outline / etc (Something similar to Sancho mod for the Being a DIK), either include some fonts by default or define a folder and read the "mod_fonts" in that folder added by the user (hope it makes sense)
On the roadmap as "Textbox/dialogue customizer"
(this roadmap is in the OP)

- Using renpy.notify to alert when a variable has been updated, if possible alert what variable was used for split path (the ones that just execute without pause), this option preferably disabled by default as not everybody would like to be spammed with alerts. Or anything else that shows some kind of history of changed variables / variables executed in split paths (only for current session, probably stored in ram)
On the roadmap as "Notification when a watched variable changed"

- Jukebox option, something that reads a "mod_music" folder contents and than play them (probably this feature should be an addon that works hand in had with your main mod)
You mean an option to play your own music during a game? That doesn't make any sense to me. Why wouldn't you just open your favorite media player in the background and mute the game's music?

Got a suggestion. When you search for variables there may be one or more lists in the result. These lists may or may not always contain the same number of items. Currently the only way to check of a list got changed is to search for it again, because if you add a list to the Variables page, it's no longer expandable but just says that it is a list with x number of items.

Would it be possible to add a list to the Variables page and keep it expandable?
This is already on my ToDo list (since June 2021 it seems :censored:).
I just want to generally improve expanding lists, dicts and objects.

I love this mod and I install it in every renpy game I play.
It seems to cause Healslut to immediately crash upon pressing the start button though.
When reporting a crash, please upload the traceback.txt.
I've downloaded this game to check. Unfortunately there's nothing I can do. They broke Ren'Py by assigning a string to the type

Regarding the 2nd question; during gameplay sometimes there is a single option popup (either True or False) showing the condition to achieve that option.

If the option is False, then I can click on Select to activate it to force that path, however, if the option is True, then that path is forced and cannot be changed (see screenshot).
I get it. I will have a look at this, but I'm not sure if there's a reliable way to get this done.
From a technical perspective I would have to skip a bunch of code and somehow determine where to resume.
 

FaceCrap

Active Member
Oct 1, 2020
882
619
got another one... this time it's a conflict between your tool and Label Tracker by anne O'nymous. It uses config.label_callback to monitor label usage.
However, if I use it in combination with your tool, any VN I use it i,n bombs right at load time with an exception that the function doesn't have an attribute lastDepth.
Initially I reported the problem to anne O'nymous, but seeing that your override also calls the original (which should mitigate such a conflict) I thought it might be best to also mention it here.
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,302
15,172
Initially I reported the problem to anne O'nymous, but seeing that your override also calls the original (which should mitigate such a conflict) I thought it might be best to also mention it here.
Better that I fix it on my side. I'm not sure yet how I'll do it, but it will be easier that way.
 

kamimed

Newbie
Dec 29, 2019
34
121
On the roadmap as "Textbox/dialogue customizer"
(this roadmap is in the OP)
On the roadmap as "Notification when a watched variable changed"

You mean an option to play your own music during a game? That doesn't make any sense to me. Why wouldn't you just open your favorite media player in the background and mute the game's music?
I swear I checked the roadmap before posting :D looks like I am blind.

As for the jukebox, the reason I said as an addon to the main mod and not part of the main mod was, in my train of thought, to give other user the possibility to create their own playlists for games that have no sound and offer it as a playlist mod, if that makes any sense.

It is true in my case I do use no vocals music from youtube when playing games with no sound, so yeah in that regard it matches your train of thought.
 

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,595
6,054
I've just published URM 1.11

The changelog:

  • Improved path detection (detect paths behind transitions)
  • Extended keyboard controls (control detected paths and choices using your keyboard)
    • You can now fully control detected paths (Alt+A to open the dialog) and detected choices (Alt+C)
  • Added option to open Ren'Py console using Alt+O
    • You can enable this through the URM options. This will even work when the Ren'Py console is disabled
  • Keep search input when changing search mode
  • Fix: Prevent crash when a game has assigned something to the "os" variable

More detailed information:
Improved path detection:
There were instances where the "path detected" notification would show and quickly disappear again. After some digging I found that in most cases there was a transition (most used transitions are just fades) before the path/if-statement. What would happen is that the notification would only show during the transition. In URM 1.11 it now shows before the transition!
To get this to work, URM has to look forward a little further, which is not a big problem, but.... when selecting/forcing a path through URM we should not just go to the selected path. We should play the transition first (because the scene could change) and then select the path we want.
So I had to built something that URM will still play the transition and force your selected path after this, also I had to make sure rollback still works after doing this :rolleyes:

Extended keyboard controls:
When a choice or path is detected you can now open the details dialog with your keyboard. It shows an underlined character, when you press the Alt-key plus this character the dialog will open.
The "C" is underlined here, meaning Alt+C will open the details dialog:
1663783871512.png
You can then also use combinations with the Alt-key to control everything inside the dialog:
1663783894264.png

Keep search input when changing search mode
Before, when changing the search mode for example from "values" to "labels" would clear the search input. This doesn't happen anymore.


Let me know I you like this detailed information and I might do this for other features.
 
Last edited:

CCrusader

Member
Nov 29, 2020
298
699
I've just published URM 1.11

The changelog:

  • Improved path detection (detect paths behind transitions)
  • Extended keyboard controls (control detected paths and choices using your keyboard)
    • You can now fully control detected paths (Alt+A to open the dialog) and detected choices (Alt+C)
  • Added option to open Ren'Py console using Alt+O
    • You can enable this through the URM options. This will even work when the Ren'Py console is disabled
  • Keep search input when changing search mode
  • Fix: Prevent crash when a game has assigned something to the "os" variable

More detailed information:
Improved path detection:
There were instances where the "path detected" notification would show and quickly disappear again. After some digging I found that in most cases there was a transition (most used transitions are just fades) before the path/if-statement. What would happen is that the notification would only show during the transition. In URM 1.11 it now shows before the transition!
To get this to work, URM has to look forward a little further, which is not a big problem, but.... when selecting/forcing a path through URM we should not just go to the selected path. We should play the transition first (because the scene could change) and then select the path we want.
So I had to built something that URM will still play the transition and force your selected path after this, also I had to make sure rollback still works after doing this :rolleyes:

Extended keyboard controls:
When a choice or path is detected you can now open the details dialog with your keyboard. It shows an underlined character, when you press the Alt-key plus this character the dialog will open.
The "C" is underlined here, meaning Alt+C will open the details dialog:
View attachment 2056637
You can then also use combinations with the Alt-key to control everything inside the dialog:
View attachment 2056638

Keep search input when changing search mode
Before, when changing the search mode for example from "values" to "labels" would clear the search input. This doesn't happen anymore.


Let me know I you like this detailed information and I might do this for other features.
Holy shit that's an amazing update. Huge props!
 
  • Love
Reactions: 0x52

kamimed

Newbie
Dec 29, 2019
34
121
Tried to install the update via the Update URM from 1.10.3 to 1.11.

Got the following warning and failed to update.

An unknown error occurred. type object 'x52Loader' has no attribute 'archiveFile'

Not sure if it is isolated to the game I play right now (Lust Theory) or it is something common for other users.
 
  • Angry
Reactions: Belzeebub$

Jonboy80

Active Member
Dec 8, 2017
736
757
I've downloaded the newest version from here and your website but it is still telling me that I need to upgrade from 1.10.3 when I launch a game.

Edit: Tried it on several titles. Just Deserts, Leap of Faith, Tokyo Cop and General Practitioner to name a few.

Edit 2: It seems it is 1.11 as I can see the new features. So, it's just reporting the wrong version for some reason.
 
Last edited:

theMickey_

Engaged Member
Mar 19, 2020
2,117
2,662
Tried to install the update via the Update URM from 1.10.3 to 1.11.
I've just tested a bunch of games (Betrayed, Chasing Sunsets, Dusklight Manor, Lust Theory S1E10 and Lust Theory S2E9 -- just to name a few), and it did work perfectly fine for me every single time (1.10.3 --> 1.11).

I've downloaded the newest version from here and your website but it is still telling me that I need to upgrade from 1.10.3 when I launch a game.
Can't reproduce. Instead of using the integrated updater I downloaded the new version from OP and manually replaced existing ones in a few games (Estate: Dominate, Helping the Hotties, Inside Jennifer, Lancaster Boarding House, ...) and it's not giving me any "Update" notification. And when I use Alt+M to open URM, its version at the top is 1.11.
 
  • Like
Reactions: 0x52

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,595
6,054
Tried to install the update via the Update URM from 1.10.3 to 1.11.

Got the following warning and failed to update.

An unknown error occurred. type object 'x52Loader' has no attribute 'archiveFile'

Not sure if it is isolated to the game I play right now (Lust Theory) or it is something common for other users.
Do you also have my Lust Theory mod installed. That could explain this behavior. Although I've never experienced this myself.
You could quickly test this by renaming the Lust Theory mod to "0x52_cheats.rpa_noload" (for example) and restart the game and try the update. If the update works, rename the "0x52_cheat.rpa" file back.

I've downloaded the newest version from here and your website but it is still telling me that I need to upgrade from 1.10.3 when I launch a game.

Edit: Tried it on several titles. Just Deserts, Leap of Faith, Tokyo Cop and General Practitioner to name a few.

Edit 2: It seems it is 1.11 as I can see the new features. So, it's just reporting the wrong version for some reason.
Could it be that you've extracted 0x52_URM.rpa? If there's a folder called "0x52", delete it.
What exactly is the update screen showing? "Current version: 1.10.3"? And what version is the titlebar of the main screen showing?
 

Jonboy80

Active Member
Dec 8, 2017
736
757
Could it be that you've extracted 0x52_URM.rpa? If there's a folder called "0x52", delete it.
What exactly is the update screen showing? "Current version: 1.10.3"? And what version is the titlebar of the main screen showing?
Note: I am using this on android via Joiplay. I have been for around five months with no issue since around 1.6 or 1.7.

Here are some screenshots of what I am seeing. This is Sunshine Love. The in-game updater has never worked on Android so I have had to manually replace the 0x52.rpa file. It has been properly extracted and moved. If it's just an android issue, don't worry about it, as I know it's not been built with it in mind. I'll just tick the don't check for updates option for now.

Screenshot_20220922-060845_Ren'Py Plugin for JoiPlay.jpg

Screenshot_20220922-060918_Ren'Py Plugin for JoiPlay.jpg

Screenshot_20220922-061001_Ren'Py Plugin for JoiPlay.jpg
 

kamimed

Newbie
Dec 29, 2019
34
121
Do you also have my Lust Theory mod installed. That could explain this behavior. Although I've never experienced this myself.
You could quickly test this by renaming the Lust Theory mod to "0x52_cheats.rpa_noload" (for example) and restart the game and try the update. If the update works, rename the "0x52_cheat.rpa" file back.
Could it be that you've extracted 0x52_URM.rpa? If there's a folder called "0x52", delete it.
What exactly is the update screen showing? "Current version: 1.10.3"? And what version is the titlebar of the main screen showing?
I did have the game (Lust Theory S2E9) unpacked because I manually needed to fix some bugs, after when I did the cleanup I
- deleted the 0x52 folder
- deleted the 0x52_hiddenEvents.rpyc, 0x52_main.rpyc, 0x52_scenes.rpyc

The only 2 files tagged with 0x52 in the game folder are 0x52_URM.rpa and0x52_cheats.rpa.

Capture urm 2.PNG



As a quick test to see if the untouched version has the same problem, I extracted the game to another folder and installed the 1.10.3 version and the cheats.

Got the same error as above.

Now I deleted the cheats rpa file and tried to update again.

Updated worked as intended.


Looks like the cheats don't get along with the update module.
 
  • Like
Reactions: 0x52
Apr 1, 2018
224
124
I've just published URM 1.11

The changelog:

  • Improved path detection (detect paths behind transitions)
  • Extended keyboard controls (control detected paths and choices using your keyboard)
    • You can now fully control detected paths (Alt+A to open the dialog) and detected choices (Alt+C)
  • Added option to open Ren'Py console using Alt+O
    • You can enable this through the URM options. This will even work when the Ren'Py console is disabled
  • Keep search input when changing search mode
  • Fix: Prevent crash when a game has assigned something to the "os" variable

More detailed information:
Improved path detection:
There were instances where the "path detected" notification would show and quickly disappear again. After some digging I found that in most cases there was a transition (most used transitions are just fades) before the path/if-statement. What would happen is that the notification would only show during the transition. In URM 1.11 it now shows before the transition!
To get this to work, URM has to look forward a little further, which is not a big problem, but.... when selecting/forcing a path through URM we should not just go to the selected path. We should play the transition first (because the scene could change) and then select the path we want.
So I had to built something that URM will still play the transition and force your selected path after this, also I had to make sure rollback still works after doing this :rolleyes:

Extended keyboard controls:
When a choice or path is detected you can now open the details dialog with your keyboard. It shows an underlined character, when you press the Alt-key plus this character the dialog will open.
The "C" is underlined here, meaning Alt+C will open the details dialog:
View attachment 2056637
You can then also use combinations with the Alt-key to control everything inside the dialog:
View attachment 2056638

Keep search input when changing search mode
Before, when changing the search mode for example from "values" to "labels" would clear the search input. This doesn't happen anymore.


Let me know I you like this detailed information and I might do this for other features.
Not even joking the only reason I log into f95 now days to see if URM updated was looking forward to a new update for weeks. And seems like one of my suggestions made it. Keeping search inputs while changing search types and more notifications for paths n variable changes on future plans list :love: thank you very much!
 
Last edited:
  • Like
Reactions: 0x52

grumble314

Member
Nov 23, 2021
102
46
getting the following error after I save some variable and try to view them

File "0x52/screens/vars.rpy.x52", line 67, in <module>
File "renpy/common/00action_data.rpy", line 178, in SetLocalVariable
return SetDict(sys._getframe(1).f_locals, name, value)
AttributeError: 'ADVCharacter' object has no attribute '_getframe'

While running game code:
File "renpy/common/00action_data.rpy", line 178, in SetLocalVariable
return SetDict(sys._getframe(1).f_locals, name, value)
AttributeError: 'ADVCharacter' object has no attribute '_getframe'

any helpful ideas?
 

Darksshades

Member
Feb 7, 2020
129
437
getting the following error after I save some variable and try to view them

File "0x52/screens/vars.rpy.x52", line 67, in <module>
File "renpy/common/00action_data.rpy", line 178, in SetLocalVariable
return SetDict(sys._getframe(1).f_locals, name, value)
AttributeError: 'ADVCharacter' object has no attribute '_getframe'

While running game code:
File "renpy/common/00action_data.rpy", line 178, in SetLocalVariable
return SetDict(sys._getframe(1).f_locals, name, value)
AttributeError: 'ADVCharacter' object has no attribute '_getframe'

any helpful ideas?
That just means the game overrided system variable that should not be overrided and that breaks the standard behavior of ren'py.
I'm afraid there is probably nothing that can be done about that. A remember this happens on cure my addiction because they override the 'sys' variable to be a character named 'sys' to display system messages instead.
 
  • Like
Reactions: 0x52
5.00 star(s) 33 Votes