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

5.00 star(s) 46 Votes

Boehser Onkel

Forum Fanatic
Modder
Feb 20, 2021
4,700
8,198
how to customize words size?, newest version are getting smaller compared to old version mod
if you asking about the URM interface - some games (very very few) do change the ui text size - especially games with higher resolution than 1920x1080
for whatever reason
it might be worth a shot to change the game from fullscreen to window and back - works sometimes
would be nice to know at which game you point
 

Christ P Bacon

Active Member
Jul 4, 2018
895
1,115
if you asking about the URM interface - some games (very very few) do change the ui text size - especially games with higher resolution than 1920x1080
for whatever reason
it might be worth a shot to change the game from fullscreen to window and back - works sometimes
would be nice to know at which game you point
its null hypotesis, its already fix itself for unknown reason,
 
  • Like
Reactions: Boehser Onkel

theMickey_

Engaged Member
Mar 19, 2020
2,292
3,020
Trying to use this with the VN MyNewGirlfriend and keep getting this error, anyone know how to fix?
"This error" isn't really useful, please see the OP on how to report a bug:

>> Read this before reporting an issue <<

When you are experiencing an issue, as always, search this thread first. When you have issues with a specific game, start with searching for the name of that game in this thread, you might not be the only/first one.

If you can't find a solution use the questions below to report your issue:
  • What version of URM are you using (make sure it's the latest)?
  • Which game has the issue (preferable a link to the game's thread)
  • If it's a crash (grey screen) attach the "traceback.txt" file
  • What did you do that caused the issue?
  • Attach a screenshot of the issue (if possible)
  • When URM gave an error (not a grey crash screen), check the log.txt file for lines starting with "0x52:"
  • What OS are you on?
  • Do you have any other mods installed? Does the issue still exist without the other mod(s)?
 

vayora5984

Newbie
May 26, 2023
29
48
URM seems to not handle tuple types well/properly. I think display (without the ability to edit) would be sufficient for most people. Editing tuples could get complicated given their flexibility and immutability.

Here are the ways that tuples don't interact well in URM
  1. A simple tuple is not searchable.
    To reproduce
    1. Create a tuple $ testtuple = (1,2,3)
    2. Search for that name in URM
    3. Notice that the variable is not found
  2. A simple tuple will display in snapshots, but will have "unknown" as their values.
    To reproduce
    1. Create a tuple (see above)
    2. Create a snapshot
    3. Replace the tuple with a new value
    4. View the snapshot
    5. Notice that the tuple variable has "unknown" for previous and new values
    6. NOTE: this impacts newly created tuples, as well
  3. A dict with tuple values can be searched, but they do not display properly.
    To reproduce
    1. Create a dict with one key with a tuple value $ dictttuple = { "a":: (1,2,3) }
    2. Search and find the variable
    3. Attempt to edit the variable
    4. Notice that the dict appears empty, including displaying "No Items" text
  4. A dict with tuple values does not show changes in snapshots.
    To reproduce
    1. Create a dict with one key with a tuple value $ dicttuple = { "a":: (1,2,3) }
    2. Create a snapshot
    3. Add an item with a tuple value, to the dict $ dicttuple["b"] = (4,5,6)
    4. View the snapshot again
    5. Notice that the dict variable does not display in the list of changes
Edit: Fixed formatting
 
Last edited:
  • Like
Reactions: shmurfer

aribba32

Member
Dec 6, 2021
138
413
Is it possible to have an option for a simplified codepath? I don't like the intelligent codepath introudced in 2.3 with several lines of code for a choice instead of displaying characterlove = +1 or something like that, way easier to parse through each choice that way. If there is a way to make it simpler I can't figure it out. 0x52

1745612738038.png
 

shmurfer

Engaged Member
Dec 29, 2019
2,339
3,143
Is it possible to have an option for a simplified codepath? I don't like the intelligent codepath introudced in 2.3 with several lines of code for a choice instead of displaying characterlove = +1 or something like that, way easier to parse through each choice that way. If there is a way to make it simpler I can't figure it out. 0x52

View attachment 4779117
I think the problem here would be defining what a simplified code path should look like. Not every VN uses affection systems, including the big one DDLC (pretty sure at least. Linear and purely choice based game).

Personally I'd love an easier way to open up the file containing the code, but I don't know how feasible things like that are, Like does the code still display even if it's in a .rpyc that I wouldn't be able to open?
 

Tiur

Well-Known Member
Nov 13, 2021
1,315
3,626
Is it possible to have an option for a simplified codepath? I don't like the intelligent codepath introudced in 2.3 with several lines of code for a choice instead of displaying characterlove = +1 or something like that, way easier to parse through each choice that way. If there is a way to make it simpler I can't figure it out. 0x52

View attachment 4779117
That's as simplified as that particular game's code is going to be able to manage. Automated tools like URM are going to need to have a specific criteria for what they include or don't include, and since every game dev may do their game's important variables completely differently, URM's trying to do its best to show you what appears to it to be relevant. If you have ideas for specific filters/criteria for what shouldn't be considered relevant, call those out.

You mentioned wanting to see simpler readouts like "characterlove +1" in the code view, but the choice in the game above didn't change that kind of variable. It used that kind of variable as a branching condition instead, which determines the result stored in the string var [girl]_relationship instead (and on one branch, unlocks a gallery scene in persistent, unlocks an achievement, and increments the game's harem size counter). So should it not include string variables? Should it not include the harem size counter variable? How does URM know that the haremcount variable isn't a girl relationship variable? On top of that, variable names are almost infinitely variable, completely up to the dev, and can be almost anything. If the dev wanted to (though I pray they don't), these variables could have been quite literally all gibberish, and it would work the same as long as they were used consistently.

Lastly, other people might have different opinions about what variables are relevant; for instance, someone who doesn't care about 100% completion seeing the above code summary wouldn't care about seeing the persistent.g_iris_02a gallery unlock variable or the unlock_achievement call or not, but people who do care about 100% completion very much want to see those to know which choice leads to the sex scene/unlock and which doesn't.

(Oh, and just as an example of how weird a dev can get with variable names if they really want to, this is a real character definition class from a real game:
1745614672959.png
 

shmurfer

Engaged Member
Dec 29, 2019
2,339
3,143
That's as simplified as that particular game's code is going to be able to manage. Automated tools like URM are going to need to have a specific criteria for what they include or don't include, and since every game dev may do their game's important variables completely differently, URM's trying to do its best to show you what appears to it to be relevant. If you have ideas for specific filters/criteria for what shouldn't be considered relevant, call those out.

You mentioned wanting to see simpler readouts like "characterlove +1" in the code view, but the choice in the game above didn't change that kind of variable. It used that kind of variable as a branching condition instead, which determines the result stored in the string var [girl]_relationship instead (and on one branch, unlocks a gallery scene in persistent, unlocks an achievement, and increments the game's harem size counter). So should it not include string variables? Should it not include the harem size counter variable? How does URM know that the haremcount variable isn't a girl relationship variable? On top of that, variable names are almost infinitely variable, completely up to the dev, and can be almost anything. If the dev wanted to (though I pray they don't), these variables could have been quite literally all gibberish, and it would work the same as long as they were used consistently.

Lastly, other people might have different opinions about what variables are relevant; for instance, someone who doesn't care about 100% completion seeing the above code summary wouldn't care about seeing the persistent.g_iris_02a gallery unlock variable or the unlock_achievement call or not, but people who do care about 100% completion very much want to see those to know which choice leads to the sex scene/unlock and which doesn't.

(Oh, and just as an example of how weird a dev can get with variable names if they really want to, this is a real character definition class from a real game:
View attachment 4779183
What a coward, won't commit with the method names.
 
  • Haha
Reactions: 0x52

aribba32

Member
Dec 6, 2021
138
413
That's as simplified as that particular game's code is going to be able to manage. Automated tools like URM are going to need to have a specific criteria for what they include or don't include, and since every game dev may do their game's important variables completely differently, URM's trying to do its best to show you what appears to it to be relevant. If you have ideas for specific filters/criteria for what shouldn't be considered relevant, call those out.

You mentioned wanting to see simpler readouts like "characterlove +1" in the code view, but the choice in the game above didn't change that kind of variable. It used that kind of variable as a branching condition instead, which determines the result stored in the string var [girl]_relationship instead (and on one branch, unlocks a gallery scene in persistent, unlocks an achievement, and increments the game's harem size counter). So should it not include string variables? Should it not include the harem size counter variable? How does URM know that the haremcount variable isn't a girl relationship variable? On top of that, variable names are almost infinitely variable, completely up to the dev, and can be almost anything. If the dev wanted to (though I pray they don't), these variables could have been quite literally all gibberish, and it would work the same as long as they were used consistently.

Lastly, other people might have different opinions about what variables are relevant; for instance, someone who doesn't care about 100% completion seeing the above code summary wouldn't care about seeing the persistent.g_iris_02a gallery unlock variable or the unlock_achievement call or not, but people who do care about 100% completion very much want to see those to know which choice leads to the sex scene/unlock and which doesn't.

(Oh, and just as an example of how weird a dev can get with variable names if they really want to, this is a real character definition class from a real game:
View attachment 4779183
I understand your argument but this is what it looks like on a pre-2.3 version. Perhaps this wasn't the best game to show this example but I feel there is a middle ground, no? Even cutting out all the #Some dialogue would make it much more legible. I haven't struggled understanding my decisions on most any game with any version of URM, until now. Also look at another example below, the codepath shown is only half of how long it actually is! I would just revert back to an old version but the ignore variable option was introduced in 2.5 and now my saves in this game wont work with older versions of URM.

1745615745893.png
1745616125957.png
 
Last edited:

shmurfer

Engaged Member
Dec 29, 2019
2,339
3,143
I understand your argument but this is what it looks like on a pre-2.3 version. Perhaps this wasn't the best game to show this example but I feel there is a middle ground, no? Even cutting out all the #Some dialogue would make it much more legible. I haven't struggled understanding my decisions on most any game with any version of URM, until now. Also look at another example below, the codepath shown is only half of how long it actually is! I would just revert back to an old version but the ignore variable option was introduced in 2.5 and now my saves in this game wont work with older versions of URM.

View attachment 4779224
View attachment 4779234
I'd be tempted to blame the game, normally it's nowhere that bad.
 

aribba32

Member
Dec 6, 2021
138
413
i find it massively helpful to know what i get into when i make a choice and what effects them
I don't disagree that it can be helpful, but it can also be a hindrance. It would be cool to continue having the new features as URM gets updated with an option for the same codepaths we had pre 2.3.
 

Tiur

Well-Known Member
Nov 13, 2021
1,315
3,626
I understand your argument but this is what it looks like on a pre-2.3 version. Perhaps this wasn't the best game to show this example but I feel there is a middle ground, no? Even cutting out all the #Some dialogue would make it much more legible. I haven't struggled understanding my decisions on most any game with any version of URM, until now. Also look at another example below, the codepath shown is only half of how long it actually is! I would just revert back to an old version but the ignore variable option was introduced in 2.5 and now my saves in this game wont work with older versions of URM.

View attachment 4779224
View attachment 4779234
With all of the conditionals in the current-URM example, the older version of URM is not giving you accurate or complete information for this game particularly.

This also came up because a lot of people complained about missing choice consequences that were being hidden behind a jump, or below other code blocks, which is how the new implementation came about.

For instance, your example of the older version says nothing about whether that choice affects any other variables (and I'm positive that it does).

If the older format was used for the second choice, all it would say is: lea_hug == True. Nothing else. It wouldn't even mention lea_relationship at all, since that's behind a conditional statement (and the current implementation in URM even tells you whether that condition is met), but the more detailed version lets us know what the conditions for it are.

What you're asking for is providing less information, and providing less-accurate information.
 

Silwith

Active Member
Jan 27, 2021
605
1,105
So, is there a way to scroll left to right or anything? Because some games now do a "phone resolution" and this happens if I try to use URM there... :x

1745679242489.png
 

downtoo2015

Member
Sep 21, 2022
132
114
I have an issue with the game The Renaissance (https://f95zone.to/threads/the-renaissance-v0-35-miron-hfg.170707).
URM doesn't detect the IF conditions.

Code:
    if persistent.lang == "english":
        menu:
            "Letting the slave cum in Oscar's mouth." if True:
                $ fmc_bi_cuckold = True
            "Stop the slave from cumming and kick him out" if True:
                pass
    elif persistent.lang == "russian":
        menu:
            "Позволить рабу кончить в рот Оскара" if True:
                $ fmc_bi_cuckold = True
            "Запретить рабу кончать и выгнать его" if True:
                pass

    scene scene_120_09
    with Dissolve (1.0)

    e_narrator "After falling exhausted on the bed, [fmcName] looked at the slave and said"
    narrator "Обессилено упав на кровать, [fmcName] посмотрела на раба и приказала"

    if fmc_bi_cuckold:
        e_fmc "Take off the condom and cum in that worm's mouth."
        fmc "Снимай презе
 
5.00 star(s) 46 Votes