Jump to content

Entai2965

Members
  • Posts

    96
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by Entai2965

  1. Have you tried Garbro? The latest version added support for that title.
  2. Yes. If they are packaged inside of an e-mote archive (.pimg), then the altered .tlg images must be repackaged back into .pimg archives so they are where the game expects them to be. Use UlyssesWu's FreeMote project for that. Be sure to read the wiki. This syntax might be useful.
  3. If it is an issue with the software, then you can start a new issue on Github and ask for clarification on what the requirements are to use their software.
  4. Welcome! Don't mind Zaka, they are just prickly regarding MTL. Even VNDB started to accept MTL a while back. The traditional method to translate VNs is to extract the assets, translate the scenario text, and then put them back together. Garbro is the most notable program to extract assets. Sometimes, like with kirikiri, it can put them back together too. Otherwise, you usually have to search for game engine specific tools on Github or posted on odd forums. VNDB sometimes lists the game engine, the software used to create the game. The main upside is that this gives a native-like experience when playing the game. There is also a newer method to translate text that Mtool and LunaTranslator, site, use which is to extract text from memory while the game is running, and then overlay a translation. The main downside being the program to extract and overlay text is always required to view the translation. MTL can be used in either of the approaches. The fastest JPN->ENG MTL that is still mostly legible right now is the model used in SugoiToolkit. For non-English MTL, there are lots of models available on huggingface.co (the transformers library website). The best quality MTLs are AI translations and DeepL. There are some questionable attempts to quantify how much "better" each AI model is at translating than other ones.
  5. This game does not really require anything special. Just extract and create the patch using Garbro like usual. There is no need for other repackaging programs. Oddly enough, the files themselves are also not encrypted or otherwise Garbro extracted them correctly with the XP3 settings set to NoCrypt. The game does check to see if the patch.xp3 is correctly obfuscated though. Maybe you were using an older version of Garbro before? The fork by crskycode is the latest version. Select all of the all of the files in the folder, then select XP3 as the type of archive, and the name of this title in the list. That will create the patch.xp3 archive with the correct settings. Do you have it working now?
  6. Here is the release on vndb for the ongoing translation for that vn. There is a discord link. Have you tried contacting the old group either through pm's on this forum or by joining their discord? If you offer to help out, they might be willing to share the workflow they developed to translate this. They have also made quite a bit of progress already according to what is listed on vndb, so it would be ashame to not be able to benefit from their work on this project thus far.
  7. That refers to an incorrect encoding. The .ks files need to be shift-jis or utf-16-le-bom encoded. Did you accidentally convert them to utf-8 during processing?
  8. Ignore me. Just posting some information here. きらきらスターズ ーidol project Aiー Kirakira Stars -idol project Ai- Kirakira Stars Idol Project Ai https://vndb.org/v27959 Game engine is Unity. Developer is sushi_soft. Edit: Have you tried Ulysses FreeMote? The readme says "The file header usually starts with PSB/PSZ/mdf" If the files you are working with have that header, then it might work. Be sure to read the wiki. Besides that, I am not too familiar with Unity.
  9. Welcome.
  10. If the game loads without any changes to the script files, then it is not an issue with how Fushigi-Tools repacks the files. Fushigi-Tools is working correctly for that archive. The issue is how to extract and insert strings into the .him files correctly. For that, you can either Write your own unpacker/repacker for the .him binary encoded shift-jis scripts based upon your efforts of trying to reverse engineer it, which likely involves looking at the .him files in a hex editor that supports shift-jis. Create a new post in the script extraction thread, since that is where we narrowed down the issue for this game. People more knowledgeable about script reverse engineering than me read stuff there sometimes. Create a new issue asking support for that format to be added to existing dedicated string extraction/insertion tool like SacanaWrapper or SExtractor.
  11. Does the error appear or change when using the full width versions of the ascii characters including full width japanese spaces? Try checking quickly here https://dencode.com/en/string/character-width What about when using half width ascii characters + full width japanese spaces? If the error stays exactly the same, then that likely indicates an encryption/packaging error. If the error changes, or it loads normally, then that indicates a script syntax error. Another thing to try to figure out what is happening is to repackage the script using the original unmodified text. Then if it works, modify it by shortening the first line a few characters.
  12. How did you work around the shift-jis only issue?
  13. The actual names of the characters are in data.xp3\scenario\avan\Init_VariableADV.ks They are being used to both display the character name and look up the voices, so they cannot be changed there. The macro you are looking for that displays them is at data.xp3\macro\Macro_Direct.ks ; ◆ネームレイヤ 名前表示&記録 translates to Name Layer, and Name Display & Record. @macro name="ネーム表示_ボイス" translates to something like Name_Voice_Voice. There is a second macro for names without voices called @macro name="ネーム表示" So the code to modify the names for the voices macro is this. [if exp="mp.text.charAt(0) == '【'"] @ch text=%text charaname="&mp.b" @eval exp="f.ADV_CurrentCharaName = mp.text" [else] @ch text="&'【' + mp.text + '】'" charaname="&mp.b" @eval exp="f.ADV_CurrentCharaName = '【' + mp.text + '】'" [endif] The @ ch text= variable/macro controls the main display name, and the @ eval exp=f.ADV_CurrentCharaName= variable/macro controls how it is displayed in the history log. So you can lazily update both by doing something like this... [if exp="mp.text.charAt(0) == '【'"] @ch text=%text charaname="&mp.b" @eval exp="f.ADV_CurrentCharaName = mp.text" [if exp="mp.text == '【絵未】'"] @ch text="【Emi】" charaname="&mp.b" @eval exp="f.ADV_CurrentCharaName = '【Emi】'" [endif] [if exp="mp.text == '【八純】'"] @ch text="【Hazumi】" charaname="&mp.b" @eval exp="f.ADV_CurrentCharaName = '【Hazumi】'" [endif] [else] @ch text="&'【' + mp.text + '】'" charaname="&mp.b" @eval exp="f.ADV_CurrentCharaName = '【' + mp.text + '】'" [endif] Then just do that for every character. Keep adding [if ] [endif] blocks for every name in data.xp3\scenario\avan\Init_VariableADV.ks The above is good syntax for debugging because it appends the name to the current name plate which proves the game is reading and updating the names correctly. For the final patch, once you have finished adding every [if][endif] block for all of the characters, comment out the original japanese name by prepending a semi-colon. [if exp="mp.text.charAt(0) == '【'"] ;@ch text=%text charaname="&mp.b" ;@eval exp="f.ADV_CurrentCharaName = mp.text" [if exp="mp.text == '【絵未】'"] I am not sure is the code after [else] ever activates, but if it does, then that will also need to be updated. [else] @ch text="&'【' + mp.text + '】'" charaname="&mp.b" @eval exp="f.ADV_CurrentCharaName = '【' + mp.text + '】'" [if exp="mp.text == '八純'"] @ch text="【Hazumi】" charaname="&mp.b" @eval exp="f.ADV_CurrentCharaName = '【Hazumi】'" [endif] [endif] Then do the same thing for the other macro without the voices to update that too. One very important thing to keep in mind is that the scripts.ks files use tabs instead of spaces. Tabs \t not spaces must be used when indenting the lines or the game will crash if using 4 spaces for indentation. Another thing I noticed about this kirikiriZ game is that the dialogue scripts like 0_FDちなこな_1.ks are encoded in UTF-8 which is very cool. I am pretty sure that is a no-go for kirikiri2, but it is nice to see at least some kirikiriZ games natively support utf-8 using dialogue.ks scripts instead of always requiring the emote format (.txt.scn).
  14. Update! I found a program that can work with tjs2 bytecode by marcussacana called https://github.com/marcussacana/SacanaWrapper . The actual program is a .dll in one of their Github repositories which SacandaWrapper uses meaning that SacandaWrapper is just a proxy for that .dll. The SacanaWrapper releases page has a tool, StringTool.exe, that works like this. >StringTool.exe --help Usage: StringTool -Dump {InputScript} [OutputText] StringTool -Insert {InputScript} [InputText] [OutputScript] StringTool -Wordwrap {InputScript} [InputText] [OutputScript] So like... tools\SacanaWrapper_2.1.5\tjs>StringTool.exe -Dump initialize.tjs initialize.tjs.txt tools\SacanaWrapper_2.1.5\tjs>StringTool.exe -Insert initialize.tjs initialize.tjs.txt output\initialize.tjs Dependencies - The tool itself requires .Net Console Runtime 8.0+ and Windows. I tested it with runtime 8.0.8 and Windows x64. - It is probably better to download the release from Github and update the plugins yourself ...probably, but here is an offline version that has all the plugins already. Name: SacanaWrapper_2.1.5_with_plugins.7z Size: 8413407 bytes (8.02 MiB) CRC32: 28FB26AB CRC64: 807872665305C687 MD5: 192cabadbfec2861ba8269e33fe3158f SHA1: cd7af8123de94394cd7805cf750cb886927af58c
  15. Just posting some information. Ignore me. - Frontwing: https://vndb.org/p336 - FW-Editor: https://vndb.org/r?f=fwFW_dEDITOR-
  16. They are not encrypted. They are just in byte code. This documentation explains it. https://krkrz.github.io/documents/core/anti_cracking.html TJS2 scripts are scripts meaning they need to be fed into an interpreter before being compiled into native machine code. Some implementations of languages use bytecode as an intermediary before eventually turning that bytecode into machine code at runtime. Think of it like having to be compiled twice. .tjs + Scripts.compileStorage = byte-code. byte-code + .tjs interpreter => machine code. All of that together makes it very unlikely there is any encryption going on with the tjs2 scripts files. For translation, the important part is that tjs2 in byte code format cannot get rid of the original strings that we need to translate because it still needs them to display them eventually, like the game's title. Therefore, it should still be possible to extract and translate them if you can decipher the tjs2 byte code intermediary language or find a program that can work with tjs2 byte code.
  17. Search for a tool that understands that game engine or archive format. When opening the archive in Garbro, at the bottom left it says which archive type it is using. Look through https://github.com/crskycode/GARbro/tree/master/ArcFormats for clues about which game engine that archive type is associated with. Then search for more resources for that game engine, like on github, or post the name of the game engine here to see if anyone is aware of any resources that work with that engine.
  18. Do you know how to use a command line interface? Now would be a good time to start learning. A significant number of tools for translating VNs only have CLIs because they are trivial to write, unlike Graphical User Interfaces (GUIs). Most CLI programs respond to either /? or --help -h. As in 'program.exe --help'.
  19. .scn.txt files can be read/written by UlyssesWu's FreeMote project. They can be encrypted, but are usually just packed in a special way. Some are also not encrypted even if they look like they are in a hex editor/text editor. There are also some brute force tools you can try if they do end up being encrypted. The software itself can be downloaded from on the releases page. Be sure to read the wiki. The way I would recommend to edit them is to parse them into JSON, parse out the translatable line, and then edit them as you like. VNTranslationTools should also be able to read them and parse translated strings directly to JSON or XLSX, but it is no longer maintained, and I have had only mixed luck with it personally.
  20. From your video, it looks like version.dll does not make the game crash because it loads just fine when that file is present. However, when Patch.xp3 is added, the version.dll is able to successfully load the scripts. Then the default scripts get replaced by the ones in Patch.xp3 and the game loops back to the starting screen. That indicates there is some sort of error in the scripts you are trying to load, not version.dll. To figure out where the error is, try loading just one script at a time starting from the first one with minimal modifications and then add files after that. Would you mind trying out this test patch? It only translates the line above in my proof of concept and the first line of the game. Does the patch work to translate those two lines or does the game keep reloading back to the start screen? https://www.mediafire.com/file/bppx32dhs5j9r1e
  21. https://github.com/HIllya51/LunaTranslator
  22. Is there any possible way you can test it using Windows 10 or any previous version? There is no way to guarantee that version.dll is compatible with Windows 11. I tested it on 10 I think, and it worked fine which might mean this is a Win 11 related issue. Normally that just means updating the version.dll, but the developer archived their repository meaning that they are not working on developing it anymore so it is unlikely to ever get updated. Windows 11 creates a lot of problems for VNs especially unlocalized ones that ran fine on previous versions of Windows. It is not really an ideal platform to run VNs or even general software on.
  23. http://wks.arai-kibou.ru/ae.php?p=dl
×
×
  • Create New...