Jump to content

Ulysses

Members
  • Posts

    17
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Ulysses

  1. On 2019/6/23 at 4:45 AM, Kein said:

    I've found out how to decompile and compile.

    First, Furikiri seems to be the only decompiler that exists for tjs, everything else is a dissembler. You can learn the difference here: https://ulysseswu.azurewebsites.net/post/Furikiri

    The main thing to know is that you can't use a compiler successfully on a dissembled tjs, only a decompiled one.

    Basically you're correct, there is no "TJS2 decompiler"(*) other than my Furikiri. But Furikiri is not finished (the TJS2 language is a bloated, badly-implemented language after all), and currently the decompilation result can only be used as a reference of TJS2 bytecode's behaviour - that's already useful in my cases. You cannot expect the decompilation result can be directly compiled again, it's impossible for now.

    However, it might be more practical to implement a tool to compile the disassmbled assembly. Furikiri has a plan (issue) to do that, but I currently just focused on decompilation.

    Furikiri also provides the fastest TJS2 disassemble feature - definitely faster and more complete than the official one. That's the main feature of girigiri for now.

    (*): Xmoe said on weibo (at 2019-5-25) that he will release a tjs decompiler after a while. Maybe he can make a better tool than my shit :nico:

     

  2. On 2019/2/23 at 1:05 PM, sena_kaito said:

    Hi, 
    How to extract sprites files from Kanojo to Ore to Koibito to.?
    Seems using e-mote engine.
    Can't extract .dat and .psp files both GARbro and arc_unpacker.
    Any solution?

    Here sample files.

    I'm working on VN extraction.
    Thank you :3

    E_AYA07_A.dat & E_AYA07_B.dat are WMV video files, open directly via PotPlayer.

    C2_EA.PSP is PSB file, however it is either incomplete or encrypted or obfuscated (there seems to be many 0xFF inserted), it's not possible to be loaded in my FreeMote.

    If you believe C2_EA.json is JSON file, it could be XORed, too.

  3. On 2019/1/7 at 6:01 PM, lukeegd said:

    I made a Github gist that lists some tools needed and has instructions that should deal with these files:

    .xp3, .amv, .psb, .scn, .psz, .int, .hg3, .cst

    This is mainly written for all Nekopara games (Vol. 1, 0, 2, 3, and Extra), but it can also be useful for other VNs as well

    Here's the link: https://gist.github.com/LukeZGD/64b0ecfb7eaccdfbb327ddfea4621723

    Also this covers extracting/unpacking only. This does not cover repacking

    Quote

    This is not necessary at all since my FreeMote already handles PSZ. It will be decompressed to PSB when you use EmtConvert or PsbDecompile.

  4. I have seen an app on Google Play about learning MSIL (.NET Intermediate Language) before. It's using Live2D characters to "teach" and therefore looks like a VN. Maybe it's in Korean. However if that's what you want, I won't recommend it since it's not a VN, and MSIL is not a language for programming beginners.

  5. On 2018/8/21 at 4:52 AM, HoplessHiro said:

    It is a much much bigger improvement. IT should be an 2.0 release. Just because you can view motions (timelines) and shortens my time testing ingame! In the old version I had to for almost each editing go into the game just to see if it is fixed because an emote scene has more stages and in the old version you can only see ONE stage.

    Thank you for supporting me! When I started to write FreeMote, I had taken various use cases into consideration, including texture editing feature for fan artists to make more "cute" cats. I'm glad finally there is someone making such patches! Then I thought this FreeMoteViewer improvement should be useful to you so I decided to make it in this update. There are some long-term goals for FreeMote (including easing the pain of L2D <-> Emote conversion), one of them - FreeMote Editor (not ready for use now) - is designed to edit textures and view the edited model (with motions) on the fly. I can't promise anything about that since I'm really busy on my daily work, but I hope I can make a demo version in a few months. Although I'm not going to play Maitetsu before the Japanese/Chinese ver. comming out, I definitely appreciate your work and looking forward to your next works! :vanilla:

    Update: What can FreeMote Editor do for now

    Spoiler

    FreeMote-Editor-0.gif

     

  6. @HoplessHiro @frc_ @Huang Ling Yin

    Just to notice you with the new FreeMote v1.3 release.

    https://github.com/UlyssesWu/FreeMote/releases/tag/v1.3.0

    As I mentioned before, the new version is faster than ever, Dullahan Load feature allows you to drag&drop your compressed and encrypted "dx***-krkextract.psb" directly to PsbDecompile to get json result, and FreeMote now can pack/unpack known shell types (lz4,mdf,psz) - now FreeMote should be able to replace psbtools totally :nico: Click the link for full release note. If you have found a bug, you can open an issue and I will look into it (when I have time).

    And now you can use FreeMoteViewer to view motions (timelines):

    Spoiler

    FreeMote-Viewer.png

    Some examples to explain the workflow:

    You have a LZ4 shell packed, encrypted (key: 123456789) PSB (dx.psb). To unpack it, purify it, edit it, encrypt it, and then pack it (if needed) -

    Spoiler

    Plan A: use EmoteConv

    EmoteConv dx.psb 123456789 //Get unpacked pure PSB. You can break this step into 2 step by`EmoteConv dx.psb`(drag and drop dx.psb to EmoteConv, will unpack LZ4 shell to produce PSB) and `EmoteConv dx.psb.decompressed 123456789`

    PsbDecompile dx.psb.decrypted //Get json

    //Edit

    PsBuild /k123456789 dx.json //Get encrypted PSB

    EmoteConv -cLZ4 dx.impure.psb //Pack PSB with LZ4 shell

     

    Plan B: don't use EmoteConv

    PsbDecompile /k123456789 dx.psb //Get json

    Make a backup for dx.resx.json. Edit dx.resx.json, set "CryptKey" : null and remove "PsbShellType": "LZ4" (or set to null) in order to produce pure PSB for view.

    //Edit

    PsBuild dx.json //Get pure PSB or packed encrypted PSB, depends on resx.json

     

    Plan C: use Dullahan Load for decompile

    PsbDecompile dx.psb //Get json without key used - only works for some PSBs (must be PSBv3+)

    Edit dx.resx.json, set "PsbShellType": null (or remove this line) in order to produce pure PSB for view.

    //Edit

    PsBuild dx.json //Get pure PSB for view

    Edit dx.resx.json, set "CryptKey" : 123456789 and "PsbShellType": "LZ4".

    PsBuild dx.json //Get packed encrypted PSB

    In short - You can process a PSB without EmoteConv, just to set params in resx.json to control compile process (pack or not; encrypt or not etc.). Or you can use EmoteConv to get pure PSB at first for editing convenience.

     

  7. 9 hours ago, frc_ said:

    @Ulysses My own converter uses FreeMote to go from PSB to Excel/Google Docs and back without a JSON step inbetween. I've found the library works on scenario files which other tools crash on, so if you ask me, it's the best .scn patching solution available. The converter is currently not public, but is being actively used in a number of translation projects - I'll probably throw it on Github at some point.

    Yes, use FreeMote lib directly is the most efficient way as I mentioned before. I haven't tried SCN translation yet (I mainly focused on emote PSB for now), so I didn't make a GUI tool for that, but I'd always recommend this way. However sometimes it's more convenient to change its structure via json. Be sure to try FreeMote v1.3 when it comes to release (or the CI build for now), it's 10x faster (especially for SCN) than FreeMote v1.2.

  8. 29 minutes ago, Slynch said:

    Thanks, but we could already recompile the psb files (sorry, I should've been clearer!), we just can't rebuild the archives the psb files were inside. 

    I'm hoping that someone can eventually make a program to do that since it's beyond my capabilities (just a simple js dev...) but in the meantime I'm starting on the translating. 

    Alright, I just didn't realized that since I didn't see that feature implemented in your `psb-translation` repo. But yes, just changing strings (PsbString) in PSB (without changing the structure or numbers or resources) is relatively easy - if you need advanced editing features (e.g. add a new line or remove some lines) you can still try FreeMote. 

    As for the archive, maybe you can also find some codes on github by searching the game titles by 5pb or the file extensions etc. Good luck!

    P.S. Zakamutt's corrections are right.

  9. Yes, looks like these are scn (psb) files, you could try my FreeMote for decompiling and recompiling. 

    Just get the tools by clicking "build passing" badge for the unfinished v1.3 test version. It should be much faster (especially for scn type, should be 10x+ faster) than FreeMote v1.2 (in releases page).

  10. 5 minutes ago, tymmur said:

    The only explanation for this would be to allow you to do what you can to provide full support for the files in question or even better: understand the PSB format itself better to get better support for any VN using Emote. You also posted clarifications about statements related to FreeModte.

    I'm so flattered... Thank you.

    Based on the work in this post, I can tell FreeMote had handled their jobs without issue. I do like to receive any PSB which FreeMote can not handle, in order to make it more universal, however collecting emote models is also one of my interests and I'm just asking them for collection.... I don't expect/require someone provide them for me though.

    If anyone meets FreeMote related problems, he/she can reach me via github issues or email.

  11. On 2018/7/23 at 8:59 PM, HoplessHiro said:

    I would like to edit the JSON files (which is inside the PSB) to fix it, but without an official editor I can't edit the PSB files. Directly editing the JSON files are like hieroglyphs. The free Emote Editor can't edit PSB files, you have to buy the full original version or the academy version.

    For now I can only edit texture files/pictures, and I can try to make an dirty edit and make it less obvious.

    To tell you the truth, even the full featured version Emote Editor won't be able to edit PSB (or json from PSB), since PSB is "compiled". Emote Editor only accepts MMO (project file, or json from MMO), which contains many metadatas while PSB removed them. I would like to let my FreeMote recover MMO from PSB but that is hard like - as you said - hieroglyphs. The workaround of editing animation right now, is rather to understand and edit json, or to use scripts calling Emote API to make additional animation.

    Edit: The latest preview version of FreeMote is able to (partially) recover that "hieroglyphs" :nico: - which means it's (almost) possible to edit PSB animations.

  12. On 2018/7/22 at 1:36 PM, HoplessHiro said:

    If you are using garbro then you cant open the psb inside xp3. I am not sure why but before the patch i could open it... but the patch2.xp3 is working properly... for extracting iam using old version krkextract, the new versions are unstable. For editting psb i am using the freemote tools and the psb tools.

    Thanks to heliosaurus. He gave me tips how to edit psb.... if someone wants help for editing the files you can send pm. 

    I'm glad my FreeMote helped you! :vanilla: 

    (I just saw the traffic coming from this site so I come here to have a look)

    (I'd like to collect emote PSBs. If someone would like to share this game's emote PSBs to me, please send them by email.)

×
×
  • Create New...