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

5.00 star(s) 37 Votes

Johan_0000

Active Member
Apr 14, 2023
650
479
I tried my best to search if this had been requested before, but I can say with 100% certainty - the forum search is pretty awful :)

A quality of life improvement I think would make this great would be to treat an empty variable search query as a 'list all" type search. It is effectively the same as a full wildcard search with just "*", but it would be nice if this worked without having to enable wildcard search. IMO, it would make URM a complete replacement for needing developer mode (because this tool is freaking amazing).

I was considering making something similar because while the developer mode is great and all, it is as bare bones as can be. I am impressed with what you have built here, it is a fantastic addition to any game. Your mod blows what I had in mind out of the water, so I'm glad I didn't pursue mine (plus, python is one of my least favorite languages ;))
Ok, I'm a pretty big noob when it comes to this.
From what I understood, you want to have all the variables appear when you press seach without the space being blank.
But, again from what I understood you can basically do that when wildcard search is activated.

So here come my question, is it rly such a hassle to turn on/off the wildcard search. It is a genuine question, I don't use it a lot that's why I'm asking (It's rly useful though).

And if dev/s decide to add that I'd prefer if it could be turned on/off in the settings. I may be spouting nonsense but on some games when I search a var it's kinda laggy sometimes (most prbbly bc my potato computer). Smt, I happen to search nothing accidentally and nothing happens which is great but if he adds that it'd list all variables. Which would most prbbly make the game crash on my end.
So yeah dev/s if you add that option pls make it optional in the settings




THX
 

vayora5984

New Member
May 26, 2023
13
31
Ok, I'm a pretty big noob when it comes to this.
From what I understood, you want to have all the variables appear when you press seach without the space being blank.
But, again from what I understood you can basically do that when wildcard search is activated.

So here come my question, is it rly such a hassle to turn on/off the wildcard search. It is a genuine question, I don't use it a lot that's why I'm asking (It's rly useful though).

And if dev/s decide to add that I'd prefer if it could be turned on/off in the settings. I may be spouting nonsense but on some games when I search a var it's kinda laggy sometimes (most prbbly bc my potato computer). Smt, I happen to search nothing accidentally and nothing happens which is great but if he adds that it'd list all variables. Which would most prbbly make the game crash on my end.
So yeah dev/s if you add that option pls make it optional in the settings




THX
No, not that much of a hassle, but it did take me a bit to find that there was a wildcard search in the first place. As I mentioned, it is just a quality of life improvement. Another idea, perhaps to help those with similar (ahem, potato ;)) machines, while also adding in the initial "here's all the variables" feature, would be to have another toggleable option to just display all when the search is empty/reset (no clicking search needed). I could picture it being a little "A" in the top right corner. That would seem to satisfy my desire to be lazy, and your need to not have URM crash your game(s).

Overall, this would be a pretty low priority feature request, as there is a simple work around. It would have saved me the time (and embarrassment) of not realizing there was even a wildcard search, though :p .
 
  • Like
Reactions: Johan_0000

Johan_0000

Active Member
Apr 14, 2023
650
479
Overall, this would be a pretty low priority feature request, as there is a simple work around. It would have saved me the time (and embarrassment) of not realizing there was even a wildcard search, though :p .
lol none of that here. And, honestly I may be spouting nonsense but I prbbly only knew abt it thx to one of their ytb tutos.
Ig that after some time when you're bored you begin to explore the tool too lol.




THX
 

_user

Member
Jan 16, 2022
112
164
The side image isn't being scaled properly when using full textboxes.
You don't have permission to view the spoiler content. Log in or register now.
Looks like the game wants to use the side image as a transparent overlay instead of inserting it to the left of the textbox like URM does.
 

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,674
6,502
I tried my best to search if this had been requested before, but I can say with 100% certainty - the forum search is pretty awful :)

A quality of life improvement I think would make this great would be to treat an empty variable search query as a 'list all" type search. It is effectively the same as a full wildcard search with just "*", but it would be nice if this worked without having to enable wildcard search. IMO, it would make URM a complete replacement for needing developer mode (because this tool is freaking amazing).

I was considering making something similar because while the developer mode is great and all, it is as bare bones as can be. I am impressed with what you have built here, it is a fantastic addition to any game. Your mod blows what I had in mind out of the water, so I'm glad I didn't pursue mine (plus, python is one of my least favorite languages ;))
Thank you for your kind words.
I might change the behavior to have URM list all variables when you search an empty string.

A suggestion, it might be useful to exclude URM variables during search.
There shouldn't be much. Do you mean URM's settings?

The side image isn't being scaled properly when using full textboxes.
You don't have permission to view the spoiler content. Log in or register now.
Looks like the game wants to use the side image as a transparent overlay instead of inserting it to the left of the textbox like URM does.
This is some strang implementation of that game. Not something URM is going to support
 
  • Like
Reactions: Feyd

Ptroll

Newbie
Jan 22, 2021
28
36
Hello,
This is the Jessica O'Neil game, here there is a choice with a variable.
JessicaOn.jpg
Further on in the game, I want to change it but it can't be found in URM. Any ideas?
JessicaOn1.jpg
 

Tiur

Well-Known Member
Nov 13, 2021
1,209
3,320
Hello,
This is the Jessica O'Neil game, here there is a choice with a variable.
View attachment 4136365
Further on in the game, I want to change it but it can't be found in URM. Any ideas?
View attachment 4136369
The variable is "choices", and from the examples provided, I assume it is a list variable. The first example is adding that quoted value to the list. The second example is testing to see if that value is missing from the list.
 
  • Like
Reactions: 0x52 and theMickey_

Ptroll

Newbie
Jan 22, 2021
28
36
I've opened “choice” of the 2nd image of my post.
JessicaOn2.jpg
If I've understood correctly, it's a listed variable and can it be changed?
 

LucasG

Newbie
Jun 28, 2023
20
13
Just got an exception after tried to report an error during update.

OS: Devuan 5 (stable) on ext4 file system
Game: The Spinney 0.20
URM-Version: 2.3.1 (I'm lazy as f*** with manual updates)

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

The error before was Failed to extract update. 'module' object has no attribute 'O_BINARY' and it happens always if i try to use URM's update-function (never got to report that, mind was somewhere else :sneaky:). I should mention the game-folder has a new, unzippable 0x52_URM.rpa.tmp-file (MD5:658485c37404cb75f1347652e644c0d1) with r/w permissions and my user as owner.
 
Last edited:

LucasG

Newbie
Jun 28, 2023
20
13
Is there a way to fix the infinite loop problem I'm having???
There are quite a few ways how a loop is formed. Without further information, i can only say if the cause is an unmet condition, it can be quite easy to solve but if the developer made an error there could be more needed to work it out. But mostly one would need too look at the code to determine what went wrong...
 

nighthawk1275

Member
Feb 8, 2023
130
117
I played Slatford and when I tried to save the file after my selections in URM it gave me this error.

Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "0x52-URM/classes/URMFiles.rpy", line 16, in saveDir
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "ch2.rpyc", line 261, in script
  File "D:\NG\Slatford-0.02-pc\renpy\ast.py", line 2557, in execute
    Say.execute(self)
  File "D:\NG\Slatford-0.02-pc\renpy\ast.py", line 615, in execute
    renpy.exports.say(who, what, *args, **kwargs)
  File "D:\NG\Slatford-0.02-pc\renpy\exports.py", line 1493, in say
    who(what, *args, **kwargs)
  File "D:\NG\Slatford-0.02-pc\renpy\character.py", line 1394, in __call__
    self.do_display(who, what, cb_args=self.cb_args, dtt=dtt, **display_args)
  File "D:\NG\Slatford-0.02-pc\renpy\character.py", line 1045, in do_display
    display_say(who,
  File "D:\NG\Slatford-0.02-pc\renpy\character.py", line 741, in display_say
    rv = renpy.ui.interact(mouse='say', type=type, roll_forward=roll_forward)
  File "D:\NG\Slatford-0.02-pc\renpy\ui.py", line 301, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "D:\NG\Slatford-0.02-pc\renpy\display\core.py", line 2165, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
  File "D:\NG\Slatford-0.02-pc\renpy\display\core.py", line 2687, in interact_core
    root_widget.visit_all(lambda d : d.per_interact())
  File "D:\NG\Slatford-0.02-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "D:\NG\Slatford-0.02-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "D:\NG\Slatford-0.02-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "D:\NG\Slatford-0.02-pc\renpy\display\screen.py", line 480, in visit_all
    callback(self)
  File "D:\NG\Slatford-0.02-pc\renpy\display\core.py", line 2687, in <lambda>
    root_widget.visit_all(lambda d : d.per_interact())
  File "D:\NG\Slatford-0.02-pc\renpy\display\screen.py", line 491, in per_interact
    self.update()
  File "D:\NG\Slatford-0.02-pc\renpy\display\screen.py", line 697, in update
    self.screen.function(**self.scope)
  File "0x52-URM/screens/vars.rpy.x52", line 343, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 343, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 356, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 31, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 31, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 41, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 49, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 53, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 83, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 87, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 88, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 356, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 367, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 371, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 371, in keywords
  File "0x52-URM/screens/vars.rpy.x52", line 371, in <module>
  File "0x52-URM/classes/URMFiles.rpy", line 16, in saveDir
  File "lib/python3.9/ntpath.py", line 117, in join
  File "lib/python3.9/genericpath.py", line 152, in _check_arg_types
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'

Windows-10-10.0.19045 AMD64
Ren'Py 8.2.1.24030407
Slatford 0.02
Fri Oct 18 19:07:39 2024
 

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,674
6,502
I played Slatford and when I tried to save the file after my selections in URM it gave me this error.

Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "0x52-URM/classes/URMFiles.rpy", line 16, in saveDir
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "ch2.rpyc", line 261, in script
  File "D:\NG\Slatford-0.02-pc\renpy\ast.py", line 2557, in execute
    Say.execute(self)
  File "D:\NG\Slatford-0.02-pc\renpy\ast.py", line 615, in execute
    renpy.exports.say(who, what, *args, **kwargs)
  File "D:\NG\Slatford-0.02-pc\renpy\exports.py", line 1493, in say
    who(what, *args, **kwargs)
  File "D:\NG\Slatford-0.02-pc\renpy\character.py", line 1394, in __call__
    self.do_display(who, what, cb_args=self.cb_args, dtt=dtt, **display_args)
  File "D:\NG\Slatford-0.02-pc\renpy\character.py", line 1045, in do_display
    display_say(who,
  File "D:\NG\Slatford-0.02-pc\renpy\character.py", line 741, in display_say
    rv = renpy.ui.interact(mouse='say', type=type, roll_forward=roll_forward)
  File "D:\NG\Slatford-0.02-pc\renpy\ui.py", line 301, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "D:\NG\Slatford-0.02-pc\renpy\display\core.py", line 2165, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
  File "D:\NG\Slatford-0.02-pc\renpy\display\core.py", line 2687, in interact_core
    root_widget.visit_all(lambda d : d.per_interact())
  File "D:\NG\Slatford-0.02-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "D:\NG\Slatford-0.02-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "D:\NG\Slatford-0.02-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "D:\NG\Slatford-0.02-pc\renpy\display\screen.py", line 480, in visit_all
    callback(self)
  File "D:\NG\Slatford-0.02-pc\renpy\display\core.py", line 2687, in <lambda>
    root_widget.visit_all(lambda d : d.per_interact())
  File "D:\NG\Slatford-0.02-pc\renpy\display\screen.py", line 491, in per_interact
    self.update()
  File "D:\NG\Slatford-0.02-pc\renpy\display\screen.py", line 697, in update
    self.screen.function(**self.scope)
  File "0x52-URM/screens/vars.rpy.x52", line 343, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 343, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 356, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 31, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 31, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 41, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 49, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 53, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 83, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 87, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 88, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 356, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 367, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 371, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 371, in keywords
  File "0x52-URM/screens/vars.rpy.x52", line 371, in <module>
  File "0x52-URM/classes/URMFiles.rpy", line 16, in saveDir
  File "lib/python3.9/ntpath.py", line 117, in join
  File "lib/python3.9/genericpath.py", line 152, in _check_arg_types
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'

Windows-10-10.0.19045 AMD64
Ren'Py 8.2.1.24030407
Slatford 0.02
Fri Oct 18 19:07:39 2024
Interesting. For some reason the dev removed the config.save_directory. This results in the game not having an alternative saves location (%appdata%\RenPy on Windows), meaning, when you remove the game's dir, you saves will also be gone.
URM assumes every game has this location :unsure:

I'm not going to fix this in URM, sorry.
 
  • Like
Reactions: Feyd

nighthawk1275

Member
Feb 8, 2023
130
117
Interesting. For some reason the dev removed the config.save_directory. This results in the game not having an alternative saves location (%appdata%\RenPy on Windows), meaning, when you remove the game's dir, you saves will also be gone.
URM assumes every game has this location :unsure:

I'm not going to fix this in URM, sorry.
That's okay. I posted to ask why they removed the renpy save. Maybe the dev will read it, but thanks for the reply.
 

cpt-jack

Newbie
Jul 14, 2023
17
13
A quality of life function I would love to have, would be to to have a choice/checkbox to exclude internal/standart Renpy variables from the search, but I'm not sure if that's even possible. Or an option to just list the newly defined variables. Anyway I'm loving this mod so much that I'm even adding it to games where I wouldn't even need it :ROFLMAO:
 

vayora5984

New Member
May 26, 2023
13
31
Thank you for your kind words.
I might change the behavior to have URM list all variables when you search an empty string.
That would be awesome!

There shouldn't be much. Do you mean URM's settings?
I think when people are asking to filter out renpy / mod variables, they mean to "make it more like the developer mode variable viewer". I believe this is the logic they are looking for:

All the places where it skips variables for various reasons, would make it much like what they are expecting
 
  • Like
Reactions: 0x52
5.00 star(s) 37 Votes