Pikor Posted January 1 Share Posted January 1 Does anyone have the tools or would make them for the *.vis file? Is prabably Visionaire Studio 5 file, only what I found can unpack version 3. https://gofile.me/7i7Sv/uMv8erBty I am attaching a file with a list of what is in it. report.zip Link to comment Share on other sites More sharing options...
DKDave Posted January 2 Share Posted January 2 I've had a look at it. There is a hash table (unknown algorithm) and a file table, both are encrypted, although it is reasonably straightforward xor. The file table seems to be in ascending order of hash value, but not sure if your file list is in the same order. It should be possible to extract, but not sure about reimport. Also, the .ogg files in the archive seem to be correct, but the .png files seem corrupted or encrypted somehow. Link to comment Share on other sites More sharing options...
Pikor Posted January 2 Author Share Posted January 2 (edited) I realize most of the things you wrote. I came to this while looking for tools. Something that rubs against the new version of the engine I found here: https://oezmen.eu/gameresources/ (included source code), but the tool has support only up to version 5.1.6. Engine version March 2021. And something for version 3: http://www.nullsecurity.org/article/predicting_numbers_vis3_xor_encryption; http://www.nullsecurity.org/article/a_new_beginning-png_fixing Edited January 2 by Pikor 1 Link to comment Share on other sites More sharing options...
Solution Ghylard Posted January 8 Solution Share Posted January 8 (edited) So far, I haven't figured out how to translate a game made with Visionaire Studio 5, but here's what I've discovered. 1 ) Data extraction from the vis file with Ravioli - Scanner (https://www.scampers.org/steve/sms/other.htm) 2) Image decryption: This little Python program decrypts images one by one: png_vis.py (https://github.com/AngelDevIndie/Visionaire_translation/blob/main/png_vis.py) 3) Image encryption: This little program can be used to encrypt images. RECOVER widths and heights .PNG textures.7z Put original pngs in unpakke_old_png Put modified pngs in new_png Click on RECOVER WH PNG 4) Creating a veb file (compressed vbin): Find the dat file containing the word vbin. Using a hexadecimal editor, copy the part from vbin (included) to the end of the file, then use the hexadecimal editor to create a xxxx.veb file. 5) Subtitle extraction (Visionaire Studio software required): Open the xxxx.veb file with Visionaire Studio 5. You'll see a message saying that some plugins are missing. Go to the top menu and click on the icon with 3 horizontal stripes Go to Extras - Export texts... Choose extraction file type (po or csv), extraction directory and other options 6) Subtitle translation 7) Reinserting subtitles with Visionaire Studio: Open the xxxx.veb file in Visionaire Studio 5. Go to the top menu and click on the icon with 3 horizontal stripes Go to Extras - import texts... The file can be saved as a ved file (uncompressed xml) if the translation is not finished. The file can also be saved as a veb file (compressed). 😎 What next? a) If you try to recompile with Ravioli -Scanner, your veb file will have to be reinserted into the original dat file with a hex editor, but if its size is greater than the original version, recompilation will be impossible with Ravioli Scanner. The resulting new vis file won't work in the game anyway. b) Someone has translated 3 games similar to Mindlock - The Apartment. The 3 translated games are Nelson and the Magic Cauldron, Nelson and the Magic Cauldron: The Journey and Lucy Dreaming. These 3 translation patches can be found at https://scummbr.org/forum/index.php?board=2.20. c) Having examined and compared these 3 translated games with the original versions, I realized that the translator had recompiled the game with Visionaire Studio, adding modified files (veb and/or png) to the original vis file. For the moment, I haven't investigated this further, so I don't know if it works.🙂 png_vis.py Mindlock_Subtitles.zip Edited January 8 by Ghylard 2 Link to comment Share on other sites More sharing options...
ikskoks Posted January 8 Share Posted January 8 Quote https://gofile.me/7i7Sv/uMv8erBty I can't download your file for some reason. Can you reupload to google drive or mega.nz? Link to comment Share on other sites More sharing options...
Ghylard Posted January 9 Share Posted January 9 Here's a mega.nz link to the play.vis file for Mindlock - The Apartment Play.vis 2 Link to comment Share on other sites More sharing options...
samfisher Posted January 10 Share Posted January 10 (edited) Now that I've edited the subtitle file you provided, how can I insert it back into the original file? Where can I find the font? Edited January 10 by samfisher Link to comment Share on other sites More sharing options...
Pikor Posted January 11 Author Share Posted January 11 (edited) On 1/8/2025 at 2:54 PM, Ghylard said: a) If you try to recompile with Ravioli -Scanner, your veb file will have to be reinserted into the original dat file with a hex editor, but if its size is greater than the original version, recompilation will be impossible with Ravioli Scanner. When I prepared veb file, and load in VS5 I see two language (English and German). So, what if I wipe DE texts and translate EN? It should be enough bits for longer language. This should (in theory) work. EDIT: Yep, that's work. The game displays the new texts. I don't check images. But if something doesn't work, I'll let you know. On 1/10/2025 at 5:41 PM, samfisher said: Now that I've edited the subtitle file you provided, how can I insert it back into the original file? Where can I find the font? Prepare project veb file just cutting from vis file. Open in Visionaire Studio 5. Export text file via CSV. Translate. Import to the Visionaire Studio 5. Save project as. Inject HEX from new veb file to the vis file (remove old HEX part VBIN > end file, and paste new one). I saw some fonts in VS5 after checking what is in the project. I don't know (for now) if I change the font it will work. (EDIT: with my luck, fonts already contains my language chars, and engine using UTF8 encoding ☺️) On 1/8/2025 at 8:25 PM, ikskoks said: On 1/8/2025 at 8:25 PM, ikskoks said: I can't download your file for some reason. Can you reupload to google drive or mega.nz? Weird, you are from Poland then you should be able to download from my NAS. But I see already someone helped with the file. 😉 Edited January 11 by Pikor 1 Link to comment Share on other sites More sharing options...
Pikor Posted Sunday at 04:04 PM Author Share Posted Sunday at 04:04 PM (edited) I make some changes in pyton png script. Now no need open file one by one. You can select a few files and wait until script finish the loop. png_vis_multifile.zip Edited Sunday at 04:17 PM by Pikor Link to comment Share on other sites More sharing options...
Pikor Posted Monday at 01:33 PM Author Share Posted Monday at 01:33 PM On 1/8/2025 at 2:54 PM, Ghylard said: c) Having examined and compared these 3 translated games with the original versions, I realized that the translator had recompiled the game with Visionaire Studio, adding modified files (veb and/or png) to the original vis file. Out of curiosity, I checked if this way also works with an older game (BornPunk). While cutting out the VBIN gives you the ability to open it in VS5, saving in the latest version of the program (not changing anything) and injecting it into the vis file crashes the game. Most likely you need the same or similar version of VS5 on which the game was made. Unfortunately they don't keep version archives like Unity for example ;( Link to comment Share on other sites More sharing options...
Ghylard Posted Monday at 03:52 PM Share Posted Monday at 03:52 PM 2 hours ago, Pikor said: Unfortunately they don't keep version archives like Unity for example ;( You can download some older versions of Visionaire Studio from https://www.visionaire-studio.net/shop/ if you have a licence. 23 hours ago, Pikor said: I make some changes in pyton png script. Now no need open file one by one. You can select a few files and wait until script finish the loop. Thanks, that saves time! Link to comment Share on other sites More sharing options...
samfisher Posted Thursday at 09:11 AM Share Posted Thursday at 09:11 AM I found 5 files with the dat format, and one of them contained a vbin file. I copied it from the specified location and then placed it in a text file, changing its format to veb. However, when I import it into the software, it gives an error. Link to comment Share on other sites More sharing options...
Ghylard Posted Thursday at 03:16 PM Share Posted Thursday at 03:16 PM 6 hours ago, samfisher said: I found 5 files with the dat format, and one of them contained a vbin file. I copied it from the specified location and then placed it in a text file, changing its format to veb. However, when I import it into the software, it gives an error. You didn't do the right thing! You shouldn't have pasted it into a text file, you're working on a binary file. When you're in your hex editor, you need to create a new file into which you'll paste the part you copied from the dat file. You then save this new file as *.veb. If you've done everything correctly, the file should be able to be opened in Visionaire Studio 5. Link to comment Share on other sites More sharing options...
Pikor Posted Thursday at 07:53 PM Author Share Posted Thursday at 07:53 PM (edited) On 1/13/2025 at 4:52 PM, Ghylard said: You can download some older versions of Visionaire Studio from https://www.visionaire-studio.net/shop/ if you have a licence. All iterations of the engine are not there. Doesn't work ;F 11 hours ago, samfisher said: I found 5 files with the dat format, and one of them contained a vbin file. I copied it from the specified location and then placed it in a text file, changing its format to veb. However, when I import it into the software, it gives an error. Do as Ghylard said. Use a HEX editor, not a text editor. Everything what I wrote below you do after translate and save new VEB and PNG files. To be 100% sure that everything would work I added empty bits in the translated VIB file from the end of the file to the offset that was in the original. I copy all that bits. Later, placing the cursor in front of V (the beginning of the copy section from the original VIS file), I pasted the NEW bits by overwriting the OLD ones. Remember: new VIB file must have the same (before inject to VIS file) or less bits (before add empty bits and inject to VIS file). With PNGs I do the same and add empty bits, to keep the data the same size). Without that, when I replace images using Ravioli game crash. You see? New text and flag image. Everything work 😉 Edited Thursday at 08:43 PM by Pikor Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now