Can anyone help me?

Tunawisma

Newbie
May 21, 2021
18
2
I want to play NFSW Deluxe, but I can't because there is an error in the file, can anyone help me?
 

osanaiko

Engaged Member
Modder
Jul 4, 2017
2,092
3,337
First thing to try would be to delete the RPYC files.
If these are inside RPA archives, then extract the RPAs first with "unren-for-all" (and delete the RPAs after).

The question remain, how did you get into this situation? did you add an edited and renamed RPY file to an existing game? just seems quite strange.
 
  • Like
Reactions: anne O'nymous

79flavors

Well-Known Member
Respected User
Jun 14, 2018
1,557
2,170
First thing to try would be to delete the RPYC files.

Erm... As a general rule of thumb, I would recommend never ever deleting .rpyc files.
Doing so may solve an immediate problem - but will definitely cause bigger problems.

RenPy stores the cumulative updates to any game script within the .rpyc files.
It creates a cross reference of every line of code of the game within something called an Abstract Syntax Tree. It's why a developer can change the code and save files are still able to find the correct line despite it having moved around due to the edits.
More details here:

If you delete a .rpyc file, it's AST data is rebuilt from scratch. It will look nothing like the original version - and so save files won't work.

I want to play NFSW Deluxe, but I can't because there is an error in the file, can anyone help me?

Your basic problem seems to a duplicated line in two separate script files. If not the main scripts, it could also be a problem with the translation files (which is mentioned in the log).

You seem to be using an android app called "JoiPlay" to launch the game. No clue if that is contributing.
Additionally, you're playing the "compressed" version of NSFW Deluxe - which implies someone has modified the original game to make it small enough to fit on smaller devices (like phones). Maybe whoever compressed it, screwed something up.

I'd guess you're talking about Natural Selection Female Wrestling [Final Deluxe]?

Are you using the compressed version from the thread?
https://f95zone.to/threads/nsfw-nat...-nsfw-gamer.88342/post-12937923#post-12880219
... or a different compressed version from somewhere else?
 

79flavors

Well-Known Member
Respected User
Jun 14, 2018
1,557
2,170
Okay. An update.

I've downloaded the compressed file from this thread:
https://f95zone.to/threads/nsfw-nat...-nsfw-gamer.88342/post-12937923#post-12880219

... and it's broken.

I can see why someone would compress it, when the original version is 11.5GB. The compressed version if 3.25GB and the android specific version is around 3.2GB too.

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

You might want to try the specific Android ported version:
https://f95zone.to/threads/nsfw-nat...g-final-deluxe-nsfw-gamer.88342/post-10494050

I don't know whether it works or not, as I don't use an android device for RenPy.


I did get it working on PC by unpacking the game's archives using UnRen, then deleting the now unnecessary .rpa files. Whatever is corrupted within the .rpa is fixed by doing this. Ideally, someone should do this and then rebuild the game for redistribution... but not me.
You might try doing the same unpack and delete, then transfer the (now unpacked) game to wherever it is that JoiPlay picks the files up from. The resulting game will be slightly bigger, but at least it works.

Good luck.
 
Last edited:
  • Like
Reactions: osanaiko

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,111
14,790
Your basic problem seems to a duplicated line in two separate script files.
The problem is deeper than that.

OP initially asked me in PM, but I was unable to help, because of the weirdness presented by the error.


1) None of the files are in the "game/tl", what is really strange for a translation.

It can happen of course. The translation works based on dedicated statements, so the file can be in any place where Ren'Py will search for a rpy/rpyc file.
But "game/tl" is where Ren'Py put the blank translation files it will generate, and like the log mention a magic number, the files have initially been generated by Ren'Py.


2) Ren'Py's core code seem to point to an error that can only happen with the default language.

If there's a common.rpy file for that language, it exist more as a demonstration file than anything else. Plus, this file is for generic strings (everything translated through _( )), therefore strings without the magic number.
I have no memories of Ren'Py generating full translation files for the default language, especially for dialog lines.


3) The first file have no path, no name, and is a rpyc file.

This is probably the weirdest issue.
For all its errors, Ren'Py point to the rpy file, even when only the rpyc files are available. This is because it get the information from the AST entry "filename" and "line" attributes, that obviously point to the source file.
I have never seen an error coming from a translation before this one, so perhaps is it an exception, but the code don't looks like it add a trailing "c" at the end of the file name ; and anyway it did it only once.
And of course, it doesn't explain the lack of path and name for the file. What can come from a path format issue (like we seen with the backup directory bug, with Ren'Py not getting the information correctly because on windows the path use "/" while Ren'Py split only with "\"). But once again it's weird, because the second file have a path and a name, what mean that it don't trigger the bug, if it's this kind of bug.
 

79flavors

Well-Known Member
Respected User
Jun 14, 2018
1,557
2,170
1) None of the files are in the "game/tl", what is really strange for a translation.

Yeah. I just checked the compressed version I had downloaded and the /game/tl/ folder is empty when the .rpa files are unpacked.

I haven't looked at the original game, so don't know whether the 10.5GB version includes translation files.

My impression was that the .rpa files were somehow corrupted.
The fact that the game started without errors when it was unpacked was as far as I took it. To my mind, I'd gotten the game working and being a native English speaker, it didn't occur to me to check for translations, despite them being specifically mentioned in the log.

I may take a look at the full version later today. But ultimately, this is a "the modder probably broke it" issue, where the downloadable file is be broken for everyone.
UnRen'ing it - fixes it (at least for the default language). But is definitely a workaround rather than a solution.
 
  • Like
Reactions: anne O'nymous

Tunawisma

Newbie
May 21, 2021
18
2
Okay. An update.

I've downloaded the compressed file from this thread:
https://f95zone.to/threads/nsfw-nat...-nsfw-gamer.88342/post-12937923#post-12880219

... and it's broken.

I can see why someone would compress it, when the original version is 11.5GB. The compressed version if 3.25GB and the android specific version is around 3.2GB too.

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

You might want to try the specific Android ported version:
https://f95zone.to/threads/nsfw-nat...g-final-deluxe-nsfw-gamer.88342/post-10494050

I don't know whether it works or not, as I don't use an android device for RenPy.


I did get it working on PC by unpacking the game's archives using UnRen, then deleting the now unnecessary .rpa files. Whatever is corrupted within the .rpa is fixed by doing this. Ideally, someone should do this and then rebuild the game for redistribution... but not me.
You might try doing the same unpack and delete, then transfer the (now unpacked) game to wherever it is that JoiPlay picks the files up from. The resulting game will be slightly bigger, but at least it works.

Good luck.
Erm... As a general rule of thumb, I would recommend never ever deleting .rpyc files.
Doing so may solve an immediate problem - but will definitely cause bigger problems.

RenPy stores the cumulative updates to any game script within the .rpyc files.
It creates a cross reference of every line of code of the game within something called an Abstract Syntax Tree. It's why a developer can change the code and save files are still able to find the correct line despite it having moved around due to the edits.
More details here:

If you delete a .rpyc file, it's AST data is rebuilt from scratch. It will look nothing like the original version - and so save files won't work.




Your basic problem seems to a duplicated line in two separate script files. If not the main scripts, it could also be a problem with the translation files (which is mentioned in the log).

You seem to be using an android app called "JoiPlay" to launch the game. No clue if that is contributing.
Additionally, you're playing the "compressed" version of NSFW Deluxe - which implies someone has modified the original game to make it small enough to fit on smaller devices (like phones). Maybe whoever compressed it, screwed something up.

I'd guess you're talking about Natural Selection Female Wrestling [Final Deluxe]?

Are you using the compressed version from the thread?
https://f95zone.to/threads/nsfw-nat...-nsfw-gamer.88342/post-12937923#post-12880219
... or a different compressed version from somewhere else?
Yeah I use Compressed version
 

79flavors

Well-Known Member
Respected User
Jun 14, 2018
1,557
2,170
Well, it's more complicated than I thought.

The original version of the game (the 10.5GB) version works just fine when run.

However, when you unpack it using UnRen, the scripts.rpa archive contains a file called .rpyc. No first part of the name, just the extension.
I renamed it to something.rpyc and converted it back to something.rpy.
It turns out that it's a non-identical copy of the script.rpy file.
script.rpy is 141KB, whereas something.rpy is only 131KB.
Comparing them, it looks like the bogus .rpyc file is probably a older version of script.rpyc.

The unpacked version of the game fails... unsurprisingly due to all the duplicate code that exists in both files.
Why it runs whilst within the scripts.rpa archive is beyond me.
And why it runs when the compressed versions is unpacked again also has me scratching my head.

So then I assume that Bob69 comes along, UnRen's the game, compresses it and rebuilds it. All perfectly normal for any other game. No mistakes made. But now the bogus file called .rpyc is within the scripts.rpa archive again - but now causes all the same problems as when the files are unpacked.

I am unsure if it's possible to see the contents of an .rpa archive without using UnRen. So the file could be there already, or it could be some bug in UnRen that seemingly only happens with this game.

The solution is for someone like Bob69 to unpack their compressed version of the game again, remove the file named only .rpyc, rebuild the distribution and then repost it back to the forums.
Of course the better solution would be for the original author to remove the bogus file from the original game. :whistle:
 
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,790
Why it runs whilst within the scripts.rpa archive is beyond me.
It must be because of the lack of path.
For unpacked files, Ren'Py search everywhere, since there's many in the "/renpy" folder. But "rpa" archives are expected to only contain files related to the game, and therefore with a path starting by "/game", what should then exclude the bogus file.


I am unsure if it's possible to see the contents of an .rpa archive without using UnRen.
you can find the indexes of the rpa files in renpy.loader.archives. But be careful, it's really big (the game I use to check have more than 1 millions characters for it).
It's a list of tuples ( archive_name, index_dict ), with "index_dict" having the fully qualified file name as key, and a tuple pointing to the file into the rpa archive as value.
You don't have permission to view the spoiler content. Log in or register now.
I guess that something like
Python:
for atom in renpy.loader.archives:
    if atom[0] == "scripts.rpa":
        for k in atom[1].keys():
            if k == ".rpyc":
                [do something]
should answer your question.
 

Bob69

Uploading the World
Uploader
Donor
Mar 2, 2019
7,709
62,128
Well, it's more complicated than I thought.

The original version of the game (the 10.5GB) version works just fine when run.

However, when you unpack it using UnRen, the scripts.rpa archive contains a file called .rpyc. No first part of the name, just the extension.
I renamed it to something.rpyc and converted it back to something.rpy.
It turns out that it's a non-identical copy of the script.rpy file.
script.rpy is 141KB, whereas something.rpy is only 131KB.
Comparing them, it looks like the bogus .rpyc file is probably a older version of script.rpyc.

The unpacked version of the game fails... unsurprisingly due to all the duplicate code that exists in both files.
Why it runs whilst within the scripts.rpa archive is beyond me.
And why it runs when the compressed versions is unpacked again also has me scratching my head.

So then I assume that Bob69 comes along, UnRen's the game, compresses it and rebuilds it. All perfectly normal for any other game. No mistakes made. But now the bogus file called .rpyc is within the scripts.rpa archive again - but now causes all the same problems as when the files are unpacked.

I am unsure if it's possible to see the contents of an .rpa archive without using UnRen. So the file could be there already, or it could be some bug in UnRen that seemingly only happens with this game.

The solution is for someone like Bob69 to unpack their compressed version of the game again, remove the file named only .rpyc, rebuild the distribution and then repost it back to the forums.
Of course the better solution would be for the original author to remove the bogus file from the original game. :whistle:
Works fine for me like it did the time when I compressed and tested it (like every game I compress now I tested this game on two machines and on non of them I get errors), getting no errors when starting the game.
How should I know that the file is not needed (not that I even look at the unpacked script files lol. Cause all I need are the audio files, images and videos. No reason for me to check the scripts. And without like you checking every script itself how should I even guess something could be wrong, if the game is running fine for me. I build the scripts.rpa again and attached it to my compression post. But I'll let the full game be as it is.

Also as a rule of thumb as long as the rpyc files have rpy files you can safely delete all rpycs as they get generated new every start anyways.
 
  • Like
Reactions: 79flavors

79flavors

Well-Known Member
Respected User
Jun 14, 2018
1,557
2,170
And without like you checking every script itself how should I even guess something could be wrong, if the game is running fine for me.

You couldn't and nor should you ever have to. I tagged you because you can fix it - but it's not your problem and not your mistake. Hence why I specifically added "All perfectly normal for any other game. No mistakes made."

The original files are at fault - and clearly "working" and "not working" are somewhat dependant upon circumstance and bad luck. That you double check things like this is commendable.

I build the scripts.rpa again and attached it to my compression post. But I'll let the full game be as it is.

Thanks. I hoped you might for the OP's sake. It's not a game I'll ever play.
I just delved into it because of the OP's post here on the Dev sub-forums as an exercise in fault finding.

Also as a rule of thumb as long as the rpyc files have rpy files you can safely delete all rpycs as they get generated new every start anyways.

I'd caution against that. It might be fine on Android, as I assume there isn't a shared saves folder across multiple releases (I don't play android games). But on PC, Mac and Linux, deleting the .rpyc files and letting RenPy recreate them will lead to a lot of problems with save game files (already mentioned earlier in this same thread). Historically mismatched .rpyc files are the #1 cause of release notes like "Save files from before version xx.xx are not compatible with this release".
 

Bob69

Uploading the World
Uploader
Donor
Mar 2, 2019
7,709
62,128
You couldn't and nor should you ever have to. I tagged you because you can fix it - but it's not your problem and not your mistake. Hence why I specifically added "All perfectly normal for any other game. No mistakes made."

The original files are at fault - and clearly "working" and "not working" are somewhat dependant upon circumstance and bad luck. That you double check things like this is commendable.




Thanks. I hoped you might for the OP's sake. It's not a game I'll ever play.
I just delved into it because of the OP's post here on the Dev sub-forums as an exercise in fault finding.




I'd caution against that. It might be fine on Android, as I assume there isn't a shared saves folder across multiple releases (I don't play android games). But on PC, Mac and Linux, deleting the .rpyc files and letting RenPy recreate them will lead to a lot of problems with save game files (already mentioned earlier in this same thread). Historically mismatched .rpyc files are the #1 cause of release notes like "Save files from before version xx.xx are not compatible with this release".
Well anybody could have fixed it. As its just the scripts.rpa. So no need specifically for me to unpack the rpa and repack it.

Eh I made so many compressions and more importantly update patches where in the beginning I just deleted all rpycs as long as the rpy were there and never had any problems with it.
 
  • Like
Reactions: osanaiko