Tool Ren'Py Extended Variable Viewer 3.00.04 - For walkthrough authors, game authors and modders

5.00 star(s) 6 Votes

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,111
14,798
Hi,

I updated the tool. In top of fixing the issues people told me about, it also fix some issues I found on my own and extend a small bit the capabilities ; see the changelog below for more.

Don't be alarmed by the version number, that past from 3.00.02 to 3.00.04... It's just that I made a 3.00.03 version, but I discovered that I totally forgot to upload it :(


UncleVT -
The new version should fix the issue you had.
The issue was the author totally cleaning the list of key binding. It do no harm to Ren'Py, but I used it in order to prevent the user to define a key combination already used by the game.


Big2019
I reduced the memory use as much as I could, but I'm not sure if it will really help.
I'll continue thinking about this in order to at least find some kind of workaround like the "don't show previous values" I used with the version 2.x if there were too many variables displayed at once ; so something that will degrade the abilities of the tools while still keeping the most important features.

By the way, yes, you can try increasing the virtual memory size.



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

FaceCrap

Active Member
Oct 1, 2020
856
601
Just a heads-up. if you unpack the zip, be sure to first delete the content of the folder if you plan to extract it with the intention to overwrite files of an older version.
Because this will lead to the old AONmc_screens.rpy not getting overwritten, as the zip containted copy has an accidental space in the name at the end.
So you'd end up with a file named AONmc_screens.rpy and AONmc_screens .rpy

anne O'nymous FYI
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,111
14,798
Just FYI, the new version doesn't create the AONlogFile text file, idk if is intended or not.
It should still do it, but now the warning channel is off by default. This way it's less confusing for the users, the file will only exist if really something goes wrong.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,111
14,798
can we change variables with this mod ?
Not directly, but you can put the variable name into the console stack, then access it by using the Up arrow key.

As I already said, it's also not a feature I will implement. Depending on its configuration, the viewer can show you every single variable that exist, both in the game and in the core engine itself. Therefore, offering an easy way to change a value could easily lead to some breaking changes.
Plus, discriminating between the values that can be changed, and those that can't would imply too much computations, and a part of divination. Not only this wouldn't be precise enough, but it would also slowdown the tool.

The actual process is the best possible compromise between "it's possible" and "think before you do it".
 
  • Like
Reactions: Dr Huge Vee

Dr Huge Vee

Member
Nov 18, 2021
190
210
Not directly, but you can put the variable name into the console stack, then access it by using the Up arrow key.

As I already said, it's also not a feature I will implement. Depending on its configuration, the viewer can show you every single variable that exist, both in the game and in the core engine itself. Therefore, offering an easy way to change a value could easily lead to some breaking changes.
Plus, discriminating between the values that can be changed, and those that can't would imply too much computations, and a part of divination. Not only this wouldn't be precise enough, but it would also slowdown the tool.

The actual process is the best possible compromise between "it's possible" and "think before you do it".
Thanx for clearing it up ND for making this amazing mod
 

rthur

New Member
Jul 27, 2017
1
0
Hi, love the tool! Can we have an option to disable the start up screen? Thanks in advance.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,111
14,798
Hi, love the tool! Can we have an option to disable the start up screen? Thanks in advance.
It don't appear often enough for this to be needed.
It appear every time you start a new game, what happen rarely, and the first time you load a save file for the current session. This coming from the "oop's I forgot I had it installed" and other "don't remember the opening key combination" feedback that I sometimes got, from both this tool and my mods.
It also permit to validate that everything works fine even with this particular version of Ren'Py or of the game.
 

john1230

Active Member
Oct 6, 2020
680
516
Hello anne O'nymous.

Thank you for making the tool it has been very useful to find the games various variables.

I don't know if it's been mention before but Extended Variable Viewer don't scale to games that uses 4:3 aspect ratio very well.

I use this tool with SuperPowered [v0.45.02] [Night City Productions] and the search box is cut off on screen.

Picture:
Super Powered.jpg

Not really that big of a deal since 4:3 ration games are few and far between. I just though I'd let you know and to thank you for the tool.

All the best to you.
 
  • Like
Reactions: yoyomistro

FaceCrap

Active Member
Oct 1, 2020
856
601
I've got a few minor problems and some questions.

I am not sure if this is game related or not since this is the first time I'm using it again in a long time (forgot about it until I found the zip file after a hd cleaning operation)

I'm running into a couple of weird issues. I'm using it with Alternate Existence (S1 v1.9.1).

I'm using this tool together with:

The problem parts:

When I do an export, the created XML file is always zero bytes.
This is what the log files says.
(EDIT: Changing the export format to plain text DOES produce a file with data.)
You don't have permission to view the spoiler content. Log in or register now.
The last error is probably originating in URM, but no idea why it got logged by AONvve.
(EDIT: I tried this in Grandma's House, this time the XML export did contain data, so it seems game-related? Still not sure as it's only the second game I tried it with.)

When I do Shift-D and select Reload, or just use Shift-R to toggle Auto-Reload, the variable viewer gets killed.
Even typing AON in the console produces an error telling me the name is not defined.
NotDefined.jpg
It also does not 'exist' when I load a prior save game after a reload.
I can easily fix the 'getting killed' by just closing the game and launching it again.
Since that takes about the same amount of time as a Shift-R, but still, it should not happen.
I tried eliminating conflicts with the other mods by only adding AONvve, but that didn't change this behavior.
(EDIT: I also tried this in Grandma's House, same result, AONvve got killed after a reload)


An observation:
inconsistencies.jpg
There are some inconsistencies in the button highlights that threw me off at first.
Unlike the Search group on the right, the group on the left
(Store: default/persistent) and (All/Favorite/Changed/Search Result)
uses a different button state and color, even though they function the exact same way.

The most confusing one is the Store selection.
Unlike the Search group, the selected button is not highlighted green.
Instead the non-selected store shows up highlighted green, making it look as if that is the selected store.

The variable group selector shows the selected button not pressed, unlike the selected Search mode button.
And the non-selected buttons show up in a very dark green, unlike the non-selected buttons in the Search group.

I feel that it would look a bit more intuitive and consistent if these button states and colors would act the same as the Search group buttons. Meaning, show as pressed and highlighted bright green when selected, and non-pressed and highlighted plain white when not selected.

Lastly a smal request. Would it be possible to use a natural sort on a dict?
In the same game as with the XML export error, there's a variable mc_choice, but the items get sorted numerical instead of natural.
AONvve.jpg
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,111
14,798
I haven't forgot and, FaceCrap I seen your post. But it's been relatively tense at works lately, so I'm not really in the mood to code when I have some free time.

But I slowly works. With a bit of luck everything should be fixed before next week.
 

FaceCrap

Active Member
Oct 1, 2020
856
601
I haven't forgot and, FaceCrap I seen your post. But it's been relatively tense at works lately, so I'm not really in the mood to code when I have some free time.

But I slowly works. With a bit of luck everything should be fixed before next week.
Take your time please. Free time is special, don't waste it on things that can wait. Family first.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,111
14,798
Some news:

I hate clients... Especially those who claim to use Windows 10 on their computers, and make us develop a software using everything available on Windows 10 APIs, then happen to in fact use Windows 10P (XP !!!)...

On a less personal note, I fixed more of the issues.


asdfg_dk I thought that I answered you, sorry.
The lag is alas normal, the game use a shit ton of variables that shouldn't be savable (because constant during all the game), what more than significantly increase the time needed to check for the changes.
Normally the future update should be a bit faster, but I doubt that it will be significant enough for games that use so many variables like the one you pointed.
As reference, for a game like Super Powered, that already have a high number of variable, the size variation before and after opening the variable viewer is around 50 MB. For WTM it's a bit more than 290 MB, what have the visible speed impact you experience.


FaceCrap
the issue came from the game using a version 8.x of Ren'Py, and those version using a newer version of the XML module. It return strings at a suit of BYTES instead of characters.
I wasn't able to test with the game where you experienced the issue (I don't have saves from the first chapter), but found a game using the same version of Ren'Py and presenting the same bug. It's fixed with it, so the fix should also works with Alternate Existence.
By the way, I'm glad that you encountered this bug. Firstly it prove that I succeeded in my attempt to strengthen my tool for it to not crash the game when itself crash. And secondly it shown me that writing on the export feature wasn't a waste of time. I seriously had doubt for a long time about that feature.

This being said, what do you think of URM and Univeral Choice Descriptor ? Not as tools by themselves, but in regard of the variable viewer. Do you feel that they, hmm "pollute", by adding variables not directly related to the game, or are their variables easily identifiable ?
Or, said otherwise, do you think that it worth making an exclusion rule, like I'm doing for the variable viewer itself, in order to not show their variables ?


john1230 I fixed your issue too.
The game was right at the limit between small screens and regular one, but not seen as small. What is something I'm highly ashamed to admit, since I've a mod for that game and I should have seen it myself way before.


UncleVT your issue is the only one that still resist me.
But well, it's been a long time that I wanted to try that game, so I'll play it, I should encounter the bug soon or later.
Like it's the only effectively breaking issue, I'll wait a bit before releasing the update ; I still have hope to finally catch it, or at least have an idea regarding what could trigger it.
 

FaceCrap

Active Member
Oct 1, 2020
856
601
By the way, I'm glad that you encountered this bug. Firstly it prove that I succeeded in my attempt to strengthen my tool for it to not crash the game when itself crash. And secondly it shown me that writing on the export feature wasn't a waste of time. I seriously had doubt for a long time about that feature.
Actually, and this is me going way off the rails :sneaky:, but my mind started wondering... Sooooo, we've got this xml (or text) file, which basically, in my mind at least, is a textual representation of a save file, maybe not quite, but the important bits are there, the results of your choices, Now... what if there was a way to read them back in? Would that bring you back to the same state as having loaded a save file? I know, you would also need to know to which file:line to warp to...

Now suppose it is... wouldn't it be nice to have an 'export' triggered each time a save file is made, giving it the same name with fitting extension preferably in another folder.
And if you for whatever stupid reason lose your save file(s), you could 'restore' you playthrough by importing one of these auto-created 'exports'...

What can I say, sometimes the mind starts to wonder, err wander, uhm, actually... both.... :geek:


This being said, what do you think of URM and Univeral Choice Descriptor ? Not as tools by themselves, but in regard of the variable viewer. Do you feel that they, hmm "pollute", by adding variables not directly related to the game, or are their variables easily identifiable ?

Or, said otherwise, do you think that it worth making an exclusion rule, like I'm doing for the variable viewer itself, in order to not show their variables ?
Actually, does the prefix AONIt_ ring a bell? ;)
To be honest, I've never given that a thought, they never bothered me that much, but if you're considering... I wouldn't say no to the option.
But, I would like to offer some suggestion, things to think about, whatever...

Although I wouldn't know why, there might arise a situation where you would want to inspect those variables, perhaps because that particular mod is not behaving as intended in a certain game, perhaps I-don't-know-for-what-else... That means there should then also be a way to 'unhide' them.

Perhaps, apart from the built-in exclusion rules, maybe add a check for the existence of an ini(?) file in the game folder? (?)=whatever fits the purpose)
And said ini file would use something like the following format to learn which variables to 'unhide'?

Code:
[Name-of-Mod]
varname1
varname2
...

[Another-Mod]
anothervar1
anothervar2
...
And maybe even a way to specify _which_ variables to actually hide, so you wouldn't need to keep track of whatever mod uses whichever variables...
Perhaps by not autohiding anything, but actually use the ini file to determine which to hide instead of to 'unhide' them.
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,111
14,798
Now... what if there was a way to read them back in? Would that bring you back to the same state as having loaded a save file? I know, you would also need to know to which file:line to warp to...
You point only one of the problem with the "file:line" part.

There's also many other issues, like by example the rollback stack. Even if I was adding the exact position where the player was, and achieve to force Ren'Py to jump there, I would also have to totally reset the rollback stack, what would be relatively risked.
And this is without counting the possible use of the return stack, the fact that the screens shown will not necessarily be the sames, or the fact that there's still games who use things like "call_in_new_context", and therefore I would have also to care about this.

The import part can only worth it when you have to partially copy a game state if you've more than one parallel playthrough. Yet it would be limited to case where you discover, by example, that pursuing girlA and girlB together strike back in your face. Then you'll want to import the girlA state from a playthrough where you did nothing with her, to avoid that sad end.
But this mean that you would have to manually select what value to import and, by extension, know precisely what values are important for her.


And if you for whatever stupid reason lose your save file(s), you could 'restore' you playthrough by importing one of these auto-created 'exports'...
The issue would be the same than above. You would need to reach the point where the xml file was generated before it make sense, in terms of game context, to import it.
Let's say that there's two girls. You know that it's not a harem game, so you limits your interaction with one of them. But those interactions still exist, and like you aren't a jerk, you never pick the "go fuck yourself, ugly bitch" option. So, while you have 50 love points with the girl you pursue, you still have 20 with the other.
With the regular game, it's low enough to be seen as you not having an affair with her. But if you import the XML file, that value will become 20 + whatever points you'll gain again between the point you made the import and the point you where when the file was generated. Suddenly, you'll have the main girl with 80 love points (what will be good because you were already above the limits), but the second girl will have 35 points, what now be above the "how my god ! You cheated on me" limits.

Strictly speaking adding an import feature wouldn't be really difficult. But it would be part of the "advanced feature", so not enabled by default and impossible to enable by error. And, like it could seriously break the game, you would have to select, one by one, the values you what you want to import, without the help of a "check them all" button. This in order to force the player to really think about what he's doing.


What can I say, sometimes the mind starts to wonder, err wander, uhm, actually... both.... :geek:
I know that feeling ;)


Perhaps, apart from the built-in exclusion rules, maybe add a check for the existence of an ini(?) file in the game folder? (?)=whatever fits the purpose)
I don't know yet how it will be, but I see more an addition to the configuration options. Something like:
  • Filter external tools
    • Universal Ren'Py Mod - On/Off
    • Universal Choice Descriptor - On/Off

Anyway, as people using my mods/tools probably noticed, I strongly dislike definitive changes, so if I do it, it will be easily revertable.
 
5.00 star(s) 6 Votes