-
Notifications
You must be signed in to change notification settings - Fork 160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Currently unsupported ren'py features #175
Comments
Implemented define operators. audio statements are UserStatements, so those didn't require any special handling. The rpy python statement was a simple one so just added that as well right now. |
Don't forget i have them in my forks statements branch. Easy stuff i'd say and the |
Both are still needed for 7.x support, but yeah, low-hanging fruit. Added camera, and show/hide/call screen are UserStatements so no work needed there. I'm just going through the changelog and other branches systematically to try to get everything and the cleanest decompile. For instance, that's why my Camera impl has the layer name as optional. |
|
|
_ren.py files likely don't require any special handling, as the engine transforms them in memory to equivalent .rpy file with supposedly identical line numbers. This means there's no way to know which it was at the start, but we'll at least be able to decompile it to an equivalent .rpy file that will generate the same .rpyc file. |
Yeah. The docs sound like it. Gives me the vibe it's more a fancy thing for some people with just a little bit usefulness.
While i see the usefulness for game devs, does it sound really annoying to decompile. Or? The docs make it sound as if it's more a writer's helper and the engine makes multiple single line statements out of it.
Thought also this crazy thing could maybe be related. I'm really curious to see what you find out about it. |
It is confusing to decompile, because you don't know if it has been used, and the default is double. So imagine a file like
if we'd simply just dump what we see back, the decompiled result would be:
As you can see, the monologue directive is lost now (because it is purely a parser directive, that doesn't generate an AST node). As the default mode is double, This now gets split by monologue processing into two different say statements by ren'py, which is incorrect. |
Say statement ID clause support added as well. With a bonus that such a new feature already has two different ways of handling it to be backwards compatible. |
ATL simple statements being able to have a block instead of putting everything on the same line seems to be a cosmetic feature as well. Nothing due to it remains available in the AST except for the occasional line number for some (but not all) properties. |
Moved the cosmetic issues to #178, moved cosmetic things to another tasklist issue, and rpy monologue none has its own issue. |
So if i get this right do the files have no sign it was a monologue in multiline, or?
Agreed. By chance i read this in the docs just a few hours ago and thought it's just what i call a writers help. Means a alternative for devs. In this case for people who like the block way. |
It doesn't need to know. The RPYC contains the statements post-splitting by monologue processing.
I'll have to check how ren'py encodes the strings in the say statement again. If we're lucky, we can distinguish between stuff like
Presence of the latter one in a single say statement indicates monologue mode needs to be disabled.
Or those who don't want a 300-long line due to a lot of spline knots ;) |
LOL. Nice point. |
Going through the changelogs since I've worked on this, the following things might need additional unrpyc support:
7.4.0:
7.4.1
7.4.6
7.5
7.6 / 8.1
7.7 / 8.2
The text was updated successfully, but these errors were encountered: