RPGM WIP Shisaye's Project List

l8rdude

Member
Jan 13, 2020
157
603
I'm sorry, but after checking the files it seems like Glittering Star Victorias is not using a normal RPGM engine. The package.json says it's RPGM MZ, but I have never seen MZ formatted like this.
There's even some kind of extra encryption implemented on a bunch of the json files.
I honestly do not know how to parse this data properly.
I have something for you. Here's a demo of the final product:

Attached is an en/decoder for the encrypted files. Unlike the dat encoder, this one is not a binary executable, but a node script. I was lazy with the argument parsing and used a 3rd-party library, which means you need to extract both files somewhere and do npm i (or yarn, or pnpm, ...) once.

Then run the script like this
  • in decode mode: node endecoder.js -m decode -i E:\games\victorias_official_v100\package.nw\data_encrypted -o E:\games\victorias_official_v100\package.nw\data_decrypted --seed 521478963
  • in encode mode: node endecoder.js -m encode -i E:\games\victorias_official_v100\package.nw\data_decrypted -o E:\games\victorias_official_v100\package.nw\data_encrypted --seed 521478963
The game uses a few constants for the de/encoding process, which I hardcoded into the script. In case they changed, you would find them in package.nw\js\plugins\DataEncryption.js. Furthermore, the seed may change between builds as well. You can extract it from the package.nw\js\plugins.js file, near the bottom. It looks like this:
JSON:
{"name":"DataEncryption","status":true,"description":"","parameters":{"execEncrypt":"false","seed":"521478963","exceptedNames":"$dataSystem,$dataMap","logProcessTime":""}}
I found the strings to translate inside the ExternMessage.csv file. You need to pay attention to a few things here:
  • the messages are multi-lined and are wrapped between quotes to indicate the start and end
  • the text uses modifiers to align text on the screen, e.g. \ac. Looks like this: scn_text_1004,"\ac地上の人々は自然の過酷さになすすべもなく、. When translating, make sure to put a space after the \ac, otherwise the engine or game (not sure which one) will try to parse the following letters as a modifier as well.
    For example you would put: scn_text_1004,"\ac Hello, I love programming. It's my favorite thing to do.
 
Last edited:
  • Like
Reactions: Shisaye

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
I have something for you. Here's a demo of the final product:

Attached is an en/decoder for the encrypted files. Unlike the dat encoder, this one is not a binary executable, but a node script. I was lazy with the argument parsing and used a 3rd-party library, which means you need to extract both files somewhere and do npm i (or yarn, or pnpm, ...) once.

Then run the script like this like this
  • in decode mode: node endecoder.js -m decode -i E:\games\victorias_official_v100\package.nw\data_encrypted -o E:\games\victorias_official_v100\package.nw\data_decrypted --seed 521478963
  • in encode mode: node endecoder.js -m encode -i E:\games\victorias_official_v100\package.nw\data_decrypted -o E:\games\victorias_official_v100\package.nw\data_encrypted --seed 521478963
The game uses a few constants for the de/encoding process, which I hardcoded into the script. In case they changed, you would find them in package.nw\js\plugins\DataEncryption.js. Furthermore, the seed may change between builds as well. You can extract it from the package.nw\js\plugins.js file, near the bottom. It looks like this:
JSON:
{"name":"DataEncryption","status":true,"description":"","parameters":{"execEncrypt":"false","seed":"521478963","exceptedNames":"$dataSystem,$dataMap","logProcessTime":""}}
I found the strings to translate inside the ExternMessage.csv file. You need to pay attention to a few things here:
  • the messages are multi-lined and are wrapped between quotes to indicate the start and end
  • the text uses modifiers to align text on the screen, e.g. \ac. Looks like this: scn_text_1004,"\ac地上の人々は自然の過酷さになすすべもなく、. When translating, make sure to put a space after the \ac, otherwise the engine or game (not sure which one) will try to parse the following letters as a modifier as well. For example you would put: scn_text_1004,"\ac Hello, I love programming. It's my favorite thing to do.
The wizard strikes again.
wizard-Hail.png
Thank you, I guess I'll give that one another go.
 
  • Yay, update!
Reactions: l8rdude

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
Using l8rdude's endecoder I've managed to decrypt the Json. I've now created a new RMMZ project, imported the files, and now they are being accepted as "normal" MZ. I also have a csv parser for the other stuff so, long story short, I am and will work on it, but ofc I cannot just run my normal SLR stuff on it and expect that to work without crashing.

This will be a much longer project that will need a lot of manual adjustments. (Because I obviously don't just want to make a partial translation, I want to cover everything.)

Edit: This one makes me really glad I learned proper regex. This would be such a nightmare without it.
I'm making good progress, but this is still going to take a while. This is certainly not normal RPGM.
 
Last edited:
  • Heart
Reactions: derakino999

yurum

Newbie
Jun 2, 2018
58
485
I have a separate project going that is trying to automatically decensor pictures using stable diffusion. That's why I knew that one upscaler and that's all my knowledge there. lol
Have you figured out a way to automate masking the censored parts for SD btw?
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
Have you figured out a way to automate masking the censored parts for SD btw?

That's the easy part.

Have you found a way to not make SD spit out horrible abominations? :KEK:
 

yurum

Newbie
Jun 2, 2018
58
485

That's the easy part.

Have you found a way to not make SD spit out horrible abominations? :KEK:
I actually have lmao. I haven't tried it with 2d yet, and I'm no SD wiz, but if you can send an example of where you're at, I might be able to help.
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
I actually have lmao. I haven't tried it with 2d yet, and I'm no SD wiz, but if you can send an example of where you're at, I might be able to help.
The issue is mostly trying to make it fit the the artstyle. It just looks really awful when different styles clash against eachother.
Also for some reason a lot of models struggle with detecting whether or not it shows her from behind or the front, and you suddenly have an upside down pussy or something like that.
Easy to manually fix of course, but there is no manual fixing in automation, it needs to be right from the start.

But I've honestly paused my uncensoring efforts completely at the moment. People don't really give a shit about my mosaic removal stuff. It gets much less of a response than my translations. And I only have very limited time to begin with.
So my focus right now is fully on developing the automation of the picture based text translations and of course I still keep getting SLR requests as well as bug reports from existing projects I have to process in between.

On top of that it sounds I'll have to leave for at least a week in a few days, and then I'll probably have a big backlog of bugreports and stuff when I come back.
 

yurum

Newbie
Jun 2, 2018
58
485
I won't go in detail since you're pausing the sideproject, but for the artstyle, Controlnet Reference or the T2IA style adapter from the same extension would probably get you a long way to matching the artstyle.

As for helping the ai know how to inpaint properly, the only thing I can think of is to write a custom script for SD Webui (if that's what you're using) to run the danbooru prompt thing before each gen, with inpaint mode set to whole image. It'd be slower but a bit more reliable that way.

To be honest, I didn't even think we could request mosaic removal, only TLs. I thought that was a sideproject you did for titles that you were interested in. Maybe you could add that to your sig and how to make a request post?
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
To be honest, I didn't even think we could request mosaic removal, only TLs. I thought that was a sideproject you did for titles that you were interested in. Maybe you could add that to your sig and how to make a request post?
I phrased that badly I meant when I actually released an uncensor mod nobody really cared about it.
I'm not taking requests for that, because it wouldn't be realistic right now. (Since I would do those manually picture by picture.)
I had that as a reward for donations at some point (I had to remove it because BuyMeACoffee doesn't want me to mention lewd stff on their site), but none of the 5 people who donated to me so far cared about it.

I also made some rough guidelines at some point:
https://f95zone.to/threads/shisayes-project-list.91651/post-9732689
 

yurum

Newbie
Jun 2, 2018
58
485
I actually did use the Triss and Kamishiro Itsuki's Election uncensors back then (found out about them too thanks to the link in your sig). I get why it's not wildly popular though, deepcreampy isn't much of a step up compared to mosaics.

I'm taking a crack at automating decensoring myself. ComfyUI would probably be better for automation than sdwebui. If I get a good workflow going, I'll send it to you incase you ever get interested in that sideproject again.
 

muz2020

Member
Nov 27, 2020
278
183

Can anyone make a machine translation to this one or suggest an application that does machine tranlsation
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505

Can anyone make a machine translation to this one or suggest an application that does machine tranlsation
To process a translation request I need a Translation-Request thread so I have an isolated place to post it.
Also that game isn't actually individually sold on dlsite anymore. It's now only available in a bundle with the other games of that dev:

Which makes finding out the correct / latest game versions difficult.
 

muz2020

Member
Nov 27, 2020
278
183
To process a translation request I need a Translation-Request thread so I have an isolated place to post it.
Also that game isn't actually individually sold on dlsite anymore. It's now only available in a bundle with the other games of that dev:

Which makes finding out the correct / latest game versions difficult.
ok
on the other hand the link i posted is for the single ver.