Advertisement
Guest User

CCC Machine Translation

a guest
Apr 22nd, 2017
427
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.82 KB | None | 0 0
  1. What you need:
  2. PPSSPP - http://ppsspp.org/downloads.html
  3. Cheat Engine - http://cheatengine.org/downloads.php
  4. Java - https://java.com/en/download/
  5. Hook Any Text - https://mx-futhark.github.io/hook-any-text/
  6. Translation Aggregator - https://mega.nz/#!oBsBVBBT!Mi9PZJhRfAWszVXSL5IWaghV0j8XaJrcUCvlAIIyvd0
  7.  
  8. Extract Hook Any Text and move the contents to \Cheat Engine\autorun\
  9. Open PPSSPP.
  10. Open Translation Aggregator and close all tabs except Original Text and Google.
  11. Open Cheat Engine and go to Edit > Settings. In Scan Settings make sure MEM_MAPPED is enabled.
  12. In Cheat Engine go to Process List and select PPSSPPWindows.exe. Check Hex and change Value Type to Array of Byte.
  13. Back on PPSSPP load CCC and play until there is dialogue text on the screen. For this example I'll be using this scene from the prologue: https://i.imgur.com/ZK2sMsZ.jpg
  14. Transcribe as much as the text as you can and paste it on Translation Aggregator's Original Text tab. For this tutorial I'll be using the word ラベル (Label)
  15. Right click the text and click "SJIS to Hex". This will convert the text to Hexadecimal. ラベル in Hex is 83898378838B.
  16. Paste the hex code in Cheat Engine and click First Scan. If no addresses are found it means the line you transcribed is wrong. The longer the line is the less results there will be, but the chance of getting a letter wrong is higher specially if you don't know Japanese. Keep trying until you have a few addresses.
  17. In this case ラベル/83898378838B has returned 3 addresses: https://i.imgur.com/iRnbuMG.jpg
  18. Use the red arrow to move them all to the address list.
  19. Right click one and choose Browse this Memory Region (or press CTRL + B).
  20. Starting from the first one select downwards all memory addresses until Hook Any Text is showing you the whole text that's on the game's screen. Move to the next dialogue in-game and you should be seeing the text in Hook Any Text change.
  21. If you've done it successfully it means you've located where text is stored in the memory. Now as long as that memory region is selected you can play CCC and the text will be captured by Hook Any Text and then sent to Translation Aggregator which will show you the translation like this: https://i.imgur.com/MkMfKvF.jpg
  22.  
  23. Depending on if the address is fixed or not you'll have to search a piece of dialogue every time you start PPSSPP. To check if they are fixed or not write somewhere the addresses you got, close PPSSPP and search again the same text. If the address is the same then it's a fixed one. If that's the case move it again to the address list and go to File - Save as. Save the .CT file somewhere so you can load it every time you start Cheat Engine.
  24. If the address isn't fixed what you can do is to search text during the prologue, get the correct address and select the correct memory region, then on PPSSPP click Emulation > Reset to restart the game. Load your normal save and you're done.
  25.  
  26. If the original dialogue line you used to select the memory region is too short (like the one used in this example, you can see there is a lot of empty space after E-) then it might be possible a longer line filled with text instead of empty space shows up incomplete in HAT/TA. To fix this simply go back to Browse this Memory Region in Cheat Engine and select a few more addresses until the line is displayed properly.
  27.  
  28. Ingame sometimes you'll see text with a different color, this will mess up with the translation because Hook Any Text is also copying the color codes. This can be fixed easily by using a replacement filter. In Hook Any Text go to Tools > Options > Replacements tab.
  29. Click Add Replacement and add the code that's messing with the text in the Sequence box. Leave Replacement empty and check Regex too. After you're done click OK.
  30. There are a lot of codes and these are probably not all of them, but you can start by adding these. If you find a new one simply add it to your replacement list.
  31.  
  32. #RUBS
  33. #RUBE
  34. #REND
  35. #RUBS
  36. #RU
  37. #CD
  38. #C236196003
  39. #C000246204
  40. #ROFS-008
  41. #ROFS0002
  42.  
  43. Google's translation API has been giving Translation Aggregator trouble since last year. If Google doesn't want to translate the text you have to do the following:
  44. Open https://translate.google.com/
  45. Right Click > View Page Source
  46. Search for TKK and copy from TKK= until ; but before WEB_TRANSLATION_PATH. For example:
  47. TKK=eval('((function(){var a\x3d1188101785;var b\x3d865001267;return 414678+\x27.\x27+(a+b)})())');
  48. Go to https://js.do/ and paste the following code:
  49.  
  50. <script>
  51. var TKK_CODE
  52. document.write(TKK);
  53. </script>
  54.  
  55. Replace TKK_CODE with what you've copied from the page source and click Run Code. It'll give you a number. Copy it.
  56. Open with Notepad tk.js from Translation Aggregator's folder.
  57. Search for tkk = "414676.2431610275" and edit the number with the one the script gave you.
  58. Save the file and run Translation Aggregator. Google Translation should work now.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement