Styler00Dollar Posted August 23, 2015 Share Posted August 23, 2015 After several months of research, testing and trying, I decided to collect all my information and post it here. I guess there are many people who are interested in playing VN´s on different platforms, since some games are only on them, but their only problem is the lack of japanese. In this Guide I will help to this topic. I don´t know why I nearly nowhere people talk about this topic, but correct me if I am wrong. I decided to write the "Ultimate Guide" for this topic "Hook text from emulators". Some important notes before I begin: Currently I only tested PSP and PS2 for myself and they work. GameCube and Wii are tested by VNR Wiki. PSX is tested by Don Dullian. And DS by MX-Futhark. I still try to gather information. But be aware that currently the methods I found only work to a certain extent. Until now there isn´t any method that will work nearly everywhere like on PC. Now the hooking of other platforms is still under work and not every game will work. A list with tested games will be here, so you can see results of others. You need to start everything as admin! Everytime you start all programms as admin because there are sometimes rights used by programms that extend the frame of normal users. To go sure that some errors won´t be because of that, start everything always as admin! You will find all links for the programms that are used here in the provided demonstration videos, and some useful links in this Google Docs list. If you want to use the hex method, you need to configure Cheat Engine before you start, sometimes it is required to do it, sometimes not, depends on the emulator after all. But do it to go sure, so the method won´t fail because of that: Go to Cheat Engine Go to Settings Go to Scan Settings Enable "MEM_MAPPED" Here is a list with all the information I know until now: https://docs.google.com/spreadsheets/d/17oyxmyedaMGc7c2_-48XXdsJCR7FjftakH3MIysMILk/edit?pli=1#gid=0 ~Example with the methods that work with several emulators on PSP Games~ Until now, after all my research on this topic, I found out that there are currently 3 methods: VNR ITHVNR Hex PPSSPP/VNR This is currently the most common way, because I think that many use VNR. Be aware that this method does have an avarage success rate. Important: You can´t use "PPSSPPWindows64.exe". Use "PPSSPPWindows.exe", this is supported on every Windows. For more information: http://sakuradite.com/wiki/en/VNR/PSP Video Tutorial: Written: Programms you need: PPSSPP v.0.9.8 or v.0.9.9 (Be aware that v.0.9.9.1 won´t hook text. And you should test always both revisions because the results can differ) VNR 1. Start PPSSPP and load the game. Continue until you can see the ingame text. 2. Start VNR and wait until it is fully loaded. (Note: Sometimes you need to experiment. Start VNR first and then PPSSPP, but like I said earlier is recommended.) 3. Go to the magnifying glass in VNR. 4. "Select the process of running game." (Be aware that you must take this option.) 5. After finishing, go to "Text settings". 6. Play a bit and wait until some text will pop up. (Sometimes you must wait for a longer time or give up after you find only garbage or no text) 7. Save the current box as dialog and play like you do in VNR. Ok, in this method it is like you would do in the normal VNR usage, it shouldn´t be something new for you guys. Very important notes: Never start PPSSPP from the VNR HUD! Never close VNR before you close PPSSPP. It will result in a crash! Do not use fast foreward! It will make the chance smaller that you find the text, because VNR will have trouble finding it. You need to redo all these steps for every game! And if you change the game, then restart all programms too! PPSSPP/ITHVNR This is something for people who prefer the ITH interface instead of the VNR interface. ITHVNR is simply ITH with VNR Engine. Be aware that ITH won´t work! Important: You can´t use "PPSSPPWindows64.exe". Use "PPSSPPWindows.exe", this is supported on every Windows. For more information: http://sakuradite.com/wiki/en/VNR/PSP Video Tutorial: Written: Programms you need: PPSSPP v.0.9.8 or v.0.9.9 (Be aware that v.0.9.9.1 won´t hook text. And you should test always both revisions because the results can differ) ITHVNR 1. Start PPSSPP and load the game. Continue until you can see the ingame text. 2. Start ITHVNR. 3. "Process"->Attach "PPSSPPWindows.exe" 4. Play the game a bit and wait until ITHVNR will find threads. 5. After some time he should find the text. (Note: [email protected] seems to be bugged and is not so easy to hook. Select "Pause when not focus" in PPSSPP. Here a video with a tutorial for the ITHVNR Method:) Note: Because ITHVNR and VNR are based on the same hooking engine, the results of hooking text in Visual Novel will be the same! The exact same results will be displayed in both of them! Even if it is bugged like [email protected], it will work with VNR too. Just enable "Ignore infinite cyclic repetition in the text". JPCSP/Hex This is something diffent that you will know until now. But this is the best method until now to hook text. I had with this method the best success rate with emulators. Video Tutorial: Note: You can use anywhere, for example for PC Visual Novel that don´t work with current tools. Example: HapyMaher don´t work with any tools I tried. The game doen´t create a process and you can´t find the windows in taskmaneger. You will get a bunch of errors if you try the common way, so this can be more useful than you thought. Written: VNR (You don´t need VNR actually, you need "MODI OCR" that is a feature of VNR) JPCSP (I only tested v0.7 until now) Cheat Engine TA (It can be used, but it don´t feature UTF-8 itself. See the note for a better way.) 1. Start VNR, JPCSP and Cheat Engine. 2. Play in JPCSP until you can see the ingame text. 3. Use "MODI OCR" that you can find in VNR. Default usage: "Shift"+"left mouse". 4. Select the text and wait until a box will appear. 5. If you are lucky, there will be the text you need, copy it. (Note: If it failed, try again. If you can´t japanese at all, this part is based on luck.) 6. Go to Cheat Engine and select "java.exe" 7. Select "Pause the game while scanning", select Value Type on "Array of byte" and finally check "Hex" near the Value Box. 8. Now you have 3 options, there will be 3 possibilities. Either it is SHIFT-JIS/SJIS or UTF-8 or UTF-16. You need to test yourself if you don´t know for sure. (More information about that: http://sakuradite.com/wiki/en/VNR/Game_Engine ) 9. Paste your encode in the value box and search, if it found something, you are lucky. If not, try the other decode or it simply won´t work with this method. 10. After you find around 5 threads I would assume, you need to find the right thread. Play a bit in the Emulator. 11. If something in the Emulator changed, to select that and "Browse this memory region". 12. Don´t dare to scroll, this is the text you can see now. Sometimes the text is 4 bytes earlier or simply is not at the start, don´t worry about it. If you got until here you can get the full dialog. 13. Select from the first line and until some zeros. (Like I said, sometimes you need to find the exact start.) 14. Now copy the text, convert it back with the encode you used and now you can translate it. Note: MX-Futhark started to create HAT (Hook any Text), a plugin for Cheat Engine. It will copy and encode the selected region in Cheat Engine for you. You simply can open TA in the background and play it, the text will appear there. The good thing, it will do the copy and paste on his own. And the best thing, it does support UTF-8! The thread: http://forums.fuwanovel.net/topic/11298-i-made-a-prototype-of-text-hooker-for-emulated-games/ [Warning: It took me several weeks to find a solution to a problem I had in the past with HAT. http://imgur.com/7vEXDtn The solution, HAT IS NOT COMPATIBLE WITH CHEAT ENGINE 6.5! Use 6.4.] And here the same method with a step by step guide and pictures: http://mx-futhark.github.io/hook-any-text/demos/demo01/presentation.html Here another manual guide with more text: https://github.com/MX-Futhark/hook-any-text/wiki/User-Manual (both by FX-Futermark) Now to the other platfroms, but I don´t really know what I should really say. This 3 methods are currently always the same for every platform. It means, do these steps in the emulator you need and try to hook the text. I thought about to do videos soon, but it will be every time the same thing, the only thing that changes is, that you use a different emulator. More information in the Google Docs list. Emulators tested: JPCSP (Only v.0.7 tested) PPSSPP (Only v.0.9.8 and v0.9.9 will work with VNR/ITHVNR) PCSX (Only PCSX 1.2.1 tested) DeSmuMe PSXFIN ePSXe (Only v.1.9 tested) Dolphin (VNR Wiki said that only "≥ 4.0" will work.) Emulators that I want to test in the future (Yes, they are getting real, but nothing is running currently fine. Everything and everywhere is filled with bugs and gliches. But some Visual Novel are even currently playable.): WIIU (Cemu) [Games are working good, need to test hooking] XBOX (Xenia/XQEMU) [Currently testing, 2 out of 2 tested games haven´t beem able to hook] 3DS (Cirtra) [Currently testing] http://imgur.com/NNwQmkL After the newest fix I was able to test ingame too, took a while to fix that blackscreen error for that game, it works with Pokemon. PS3 (RPCS3) [Currently testing] It is actually possible to get the hex method working with the emulator. Till now I wasn´t able to test much but the fact that it is actually working says that it should work for a bunch of games. If I will be able to test more with some Visual Novel games, I will show some more information. http://imgur.com/VkKKRAC Here 3 example videos for emulated PS3 Visual Novel, see yourself, the future is near for emulated games, I hope the hex method could work on them. Rpcs3 WIP DX12 - GamePlay 60 fps - Shin Hayarigami Rpcs3 WIP DX12 - GamePlay 60 fps - Harem Tengoku Rpcs3 WIP DX12 - Ore No Imoto - GamePlay ~12 fps Now, my final note about this topic. I personally recommend to try the VNR or the ITHVNR method first, because I like that interface. If they will fail, try the Hex method. And if that fail too, your only hope is MODI OCR, but that will be painful, since it isn´t working that good sometimes. If someone does know more about this topic, any help is appreciated. And if anybody planned to help me with the list, write me. I will add your hooking results and your name in that list. Do not copy this list and do not post it anywhere else! I worked hard to get all this information. And a note to the people who will be so nice to help me. I will trust you, that means, that I won´t check your results in hooking if I will add them. I recommend to do the provided method with a game that I already tested and is in that list so you can get the feeling how anything will work. I personally tested my games like 10 times, so i can go sure. I won´t tell you what to do, but the best thing would be a small video or a picture, like Don Dullian did it for me. In that way I can go sure that the method failed, and not you, and write the notes on my own. The only thing I want is: "Emulator (+Version)" "Name of the VN" "Hooking method" "Result (Working/Incompatible/Having Problems)" "Notes". Note: I will try to keep this topic up to date. sanahtlig, Zakamutt, dullian and 6 others 9 Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.