VN Others Onhold None YuRIS thread, for newbies

lemywinks

Newbie
Apr 22, 2021
68
51
So, how the fuck do you even go about translating Yuris engine games??
I have a game i want to translate, i already know the .ypf files in the PAC folder have the text strings inside them, but there's no way i can get inside them

I downloaded bunch of stuff, some Yuristools from github, which contained bunch of .cs shit that i couldnt even open, so no idea about using that. There was a supposedly tool that could conver the .ypf files into other .y stuff and then it was supposed to be reparsed or some faggotry like that, but to no avail couldnt make it work,

I just want to access the freaging text, translate it and put it back, i dont care if i have to convert A to B to C to D so i can finally edit the text, i only care the method works

So you guys who have worked before on Yuris engine games, how the fug did you do it??
 

Hannya

Newbie
Apr 1, 2023
39
92
You still interested? I'm working on a TL for a YuRIS engine game and managed to get the text extracted and injected.

I used GARBro tools to extract the ypfs -> vbns
Then I used VNTranslation tools (bundled in BREYURIS tools) to extract the VBNs -> .txt files.
You make your changes, and then use those same VNTranslation tools to recreate the VBNs by injecting the modified .txt files into the original VBNs.
After that I used YPF Manager (bundled in BREYURIS) to get the .ypf encryption info from the original .ypf archive, and use that re-encrypt the VBNs into a .ypf file with the right properties.
 
  • Like
Reactions: lemywinks

lemywinks

Newbie
Apr 22, 2021
68
51
You still interested? I'm working on a TL for a YuRIS engine game and managed to get the text extracted and injected.

I used GARBro tools to extract the ypfs -> vbns
Then I used VNTranslation tools (bundled in BREYURIS tools) to extract the VBNs -> .txt files.
You make your changes, and then use those same VNTranslation tools to recreate the VBNs by injecting the modified .txt files into the original VBNs.
After that I used YPF Manager (bundled in BREYURIS) to get the .ypf encryption info from the original .ypf archive, and use that re-encrypt the VBNs into a .ypf file with the right properties.
im just missing the way to repackage the recreated ybns to encript them again as the original .ypf archive

how did you manage to run the YPF manager? I downloaded it and had to compile, so i used Visual Studio, but i wasnt able to get an executable to run, even when in VS it said "build sucessful", there was nothing in the build folder

im stuck at that step, any help would be greatly appreciated c:
 

lemywinks

Newbie
Apr 22, 2021
68
51
well i managed to run it and even recreate the .ypf file, but there is a problem i wasnt able to solve yet

i cannot seem to get the .ypf info from the original file as to recreate it when repackaging. Im missing the yuris version from the original .ypf file, tried to get it with the print function from YPF Manager but i got a "wrong checksum" error or something like that.

I then just tried with a random number just to see if it could be repackaged, so entered 500 and the repack worked, but the game wont work cuz this modded .ypf file i created is using a different .ypf version than all of the other game files, so i guess its incompatible (i got a perma license windows while trying to run the game lol)

do you know another way of guessing .ypf version for repackaging?
 

Hannya

Newbie
Apr 1, 2023
39
92
I used the version of , via the BREYURIS launcher.

Put the original .ypf and the folder of the files to go into the new .ypf inside the YPF Manager directory (make sure they're nested correctly -- e.g., I typically am packing a file called update1.ypf, and inside that is a ysbin folder and inside that is the ybn files -- so in the YPF Manager folder I have "/update1/ysbin/<ysbinfiles>" and I tell it to archive the folder "update1"), enter the original ypf's name into the name field, hit "YPF Info" and it will gather the correct archive info, then type in the folder name and hit "YPF Archive". Should make the archive with the right parameters copied from the YPF Info.
 
Last edited:

lemywinks

Newbie
Apr 22, 2021
68
51
how did you manage to run the Breyuris.exe??
im only able to run the components (vntranslation and the ypf manager) through cmd.exe, cuz when i click the breyuris executable i get the "you must install first .net core) error.
I already downloaded the corresponding version (3) of .net core and installed it, but the error still persists, so i cannot use breyuris directly
 

Hannya

Newbie
Apr 1, 2023
39
92
Hmmm it just ran for me, I didn't install anything for it (though as a programmer I have all sorts of .net sdks installed so it could be any of those).

If you run "YPF_Manager.exe -p <archive.ypf>" it seems to set ypfversion.txt in that very directory with the yuris number. Maybe you can try then running "YPF_Manager.exe -c <ybnFolder> -v <version#/ypfversion.txt?>" and it might work?
 

lemywinks

Newbie
Apr 22, 2021
68
51
damn i managed to get breyuris to work but now i get this when trying to read the .ypf info :C
 

lemywinks

Newbie
Apr 22, 2021
68
51
Hmmm it just ran for me, I didn't install anything for it (though as a programmer I have all sorts of .net sdks installed so it could be any of those).

If you run "YPF_Manager.exe -p <archive.ypf>" it seems to set ypfversion.txt in that very directory with the yuris number. Maybe you can try then running "YPF_Manager.exe -c <ybnFolder> -v <version#/ypfversion.txt?>" and it might work?
yep i already had 6.0 and 8.0 .net, so i just used visual studio installer to install the 3.1 and it worked (the exe from windows webpage wasnt worked for some reason lol)
 

lemywinks

Newbie
Apr 22, 2021
68
51
ty for your help bro

I finally managed to edit and insert text and making it all work

In the end I used Breyuris to repack (succesfully) the game, I just tried a random number, entered ypf version as 300 and it worked rofl dunno if that was really the error or not

I changed some tools tho, in a second attempt I extracted and reinserted the text files and edits throught the use of OzmafiaScriptThing, and doing what i wrote above it all finally worked

As a side note, when I recreated those steps first,using the VNTextPatch tool instead of the Oz, it didnt work.
Game wont even open. Maybe its a decoding/encoding thingy with VNTextPatch, but i managed to solve it with Oz tool.

I think its good to consider this thread done now

ty again bro
 
  • Yay, update!
Reactions: Hannya

Veshurik

New Member
Aug 24, 2022
11
8
Guys, sorry for being so late.
As I can see, YU-RIS engine don't store files before compiling?

I mean, script files are total mess when extracting them. Ton of ybn00001-000350 files with some strange code inside. Is there a way to "revert" it to original script before compiling? To see how code initially was written. Thanks.

And of course, is it possible to see "original file name" instead of ybn00141?
 

lemywinks

Newbie
Apr 22, 2021
68
51
Guys, sorry for being so late.
As I can see, YU-RIS engine don't store files before compiling?

I mean, script files are total mess when extracting them. Ton of ybn00001-000350 files with some strange code inside. Is there a way to "revert" it to original script before compiling? To see how code initially was written. Thanks.

And of course, is it possible to see "original file name" instead of ybn00141?
With strange code you mean the text has strange symbols? That could be a corruption error in the unpacking process. Or maybe a wrong system locale, or many things. But if you refer to the code as the programming code, I don't think you will find it out in those ybns.

As far as what i've found out after several months dealing with the engine, there's no way to see the logic code (programming) cuz the script files are super encrypted and who knows where is this code, it may as well be abstract instruction in a random file that only the engine itselfs knows how to interpret it.
For example, with the tools we got, we can only peek inside the game files (like CG galleries, sound and stuff) with programs like GarBro (which "unencrypts" those files implicitly) and download those type of files just fine from that same program, but looking directly at the script is a nono, and this is because script files are below another layer of encription.

For dealing with script files, its a mess cus you have a bn.ypf file inside your Yuris game, and this one contains commonly all of the game script (and text, like from settings section, or anything text related that isnt a static image file layered onto the screen, like splash arts and such). Then you need to convert it into a ybn, which will net you a normal folder called bn, which will have inside hundreds of small .ybn files, those with the numbers 000001.ybn until 00000XXX.ybn (can go forever if game is loooong). Those small files are the ones that contain the text sections that the engine will use, and are encrypted too, so you cannot just edit or even open them as they are (even after getting them out of the bn.ypf).

The Yuris engine uses those .ybn files to assemble the game, as in certain ranges certain files will contain specific text from the game. For example, in some games i have tinkered with, 0000033.ybn for example had random text inside the "Settings" area of the game (as seen in the attached image in my previous post). In that example, the text was in japanese and i managed to edit it by trial and error. The script from the start of the game was in like 000177.ybn in another game i think, with the previous files containing random text that i have no idea what it was used for. Another had settings text in range 22-33, etc. I haven't messed too much with it to see if there is a pattern, like "Yuris engine always stores certain text in certain specific ranges". It may well be something variable within each game, given how the engine itself is made.

So, in short, the game structure has .ypf files which contains game assets. Those .ypf files are sorta encrypted (not too much as GarBro can easily peek inside them), so they are like a .rar with some data scrambling inside. One of those ypfs, the bn.ypf , contains all the script and text related data for the game, and it contains it in .ybn files, which are also encrypted, so that's why you cannot view them with Garbro (cuz its a 2nd layer of encryption).
To make things worse, those text files go by arbitrary numeration from 000001 to 00000infinity.

If you wanna edit the text, you need to first convert those .ybns to a editable format so you can first view what is written in each of those, and then look them one by one to find where is the text you wanna edit.

And after editing them, you need to convert them back from the editable file type to the original .ybn.
Then you need to repackage all of them as bn.ypf, and then you finally can replace the original bn.ypf of your game with the recreated bn.ypf. And pray that it works, cuz sometimes things can get corrupt.

This is just for the text stuff, so imagine how it would be to see how the game logic is programmed. Seeing the game code is impossible I think, or it would require some serious mad hackerman skillz, cuz the engine itself is built upon layers and layers of encripted shit. I think that's cuz japan in general is very serious about pirating stuff, so it manifests itself into their software lol.

If you wanna give it a try, take a look at . It talks about the translation stuff I said above (it depicts in more detail how to edit a single file text into a yuris game is a nightmare), but it should also give you insight and maybe some ideas about how to try to see the original code, if there is a way to see it.
 

lemywinks

Newbie
Apr 22, 2021
68
51
forgot to mention too, that each Yuris game have different kinds of encryption, because the developer tools (Yuris sdk) have different versions across the years. A game made with a Yuris version from the 2012s will have a different encryption than one made in 2016 (very possible), and more so if the developers were different. You can see this while using garbro, as it will throw you a list of commonly used encryptions for different games.