Here it was recommended to me that this is the right place to post the following words.
My sister wanted to play a game made with RenPy, Doki Doki Literature Club.
The English in the game is not understandable enough for her to enjoy this game which is literally made of words.
Luckily, there is a Polish translation available.
I promised that I will install the translation for her.
The translation is downloadable from here:
https://drive.google.com/file/d/1HQkCVj ... sp=sharing
It's installed by unpacking the files from the rar and replacing original game's files with them.
It's made for the game in version 1.1.0 but recently the game was updated to 1.1.1 and 1.1.0 can't be found anywhere anymore.
But I have the game .zip downloaded before this so that was not a problem.
There was, however, another problem.
The translation is not working on her computer.
It's not working any computer with Gnu/Linux I checked.
It is working on Windows.
The original game is working on her computer without any problems.
This is the the message I'm seeing (on my computter, but it's the same):
Code: Select all
I'm sorry, but an uncaught exception occurred.
While running game code:
File "game/script-poemgame.rpy", line 1, in script
File "game/script-poemgame.rpy", line 27, in <module>
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 4-5: invalid continuation byte
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "/b/game/doki/pl/DDLC-1.1.0-pc/renpy/bootstrap.py", line 295, in bootstrap
renpy.main.main()
File "/b/game/doki/pl/DDLC-1.1.0-pc/renpy/main.py", line 419, in main
game.context().run(node)
File "game/script-poemgame.rpy", line 1, in script
File "/b/game/doki/pl/DDLC-1.1.0-pc/renpy/ast.py", line 814, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "/b/game/doki/pl/DDLC-1.1.0-pc/renpy/python.py", line 1719, in py_exec_bytecode
exec bytecode in globals, locals
File "game/script-poemgame.rpy", line 27, in <module>
File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/encodings/utf_8.py", line 16, in decode
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 4-5: invalid continuation byte
Linux-4.9.0-4-686-i686-with-debian-9.3
Ren'Py 6.99.12.4.2187
Doki Doki Literature Club! 1.1.0
So I have to find the file and fix it. (and maybe discover that the game will then crash on the next file).
If I'm reading this correctly, script-poemgame.rpy should be the problematic file.
Only that there is no such file.
I do some reading and find out about .rpa files.
With rpatool I extract script-poemgame.rpyc from scripts.rpa.
That's still not it since .rpyc is a compressed .rpy, apparently.
With unrpyc I extract script-poemgame.rpy from script-poemgame.rpyc.
Then I use iconv to see where are the problems with utf8 in this file.
There are none.
What?
So it was not this file.
I'm sttuck here, what now?
The traceback,txt does not provide me with any more helfpful information.
So, do I have to extract all the .rpa files,
then uncompress all the .rpyc files,
then validate each file for correct utf?
Or maybe during all the extraction I had to do the file was somehow fixed?
What to do then?
Also, if I manage to find the file(s) I don't know how to re-compress it to .rpyc again and add back to the .rpa.
And also I'm wondering why it's working on Windows but not on Linux.
After all it's running the same python scripts (and renpy scripts) so it should behave exactly the same.
But it doesn't.
My guess would be that the systems have different versions of python or whatever libraries the game needs.
But I sere that a game released in RenPy like this one comes with its own Python so it should be the same version everywhere.
So I really don't know why Windows can ignore the utf8 problems but Linux can't.
Maybe can I make that Linux will ignore it too?