aarinfantasy's YAOI Collection

Results 1 to 4 of 4
  1. #1
    Yaoi Amateur
    Join Date
    Mar 2021
    Location
    Somewhere
    Posts
    2
    Points
    0
    Savings
    0


    Ej Translation Help - FamousWriterv3

    Hi all!

    I'm trying to start a translation on this really old VN, but it's in this weird format?
    I was able to look around and it's called "Famous Writer v3".

    I found some stuff that said I should use a hex editor to split it up, and that "KINDA" worked?
    I was able to get 3 images out of the files, but they're really badly compressed, and I can't figure out how to do it for the story!
    Like I can't even figure out how to break it apart at which points!

    Anyway, I learned from the guides that it just encodes it to "bytewise". So I think that's something?

    I tried using some of the other programs from newer VNs, but it does't work on these...
    ---------------------------------------------------------
    TL;DR

    How do I decode the "src.FWD" & "arc.FWD" of an old vn?

  2. #2
    Yaoi Amateur
    Join Date
    Apr 2018
    Posts
    7
    Points
    0
    Savings
    0


    I assume the guide you found was this:
    GitHub - lennylxx/gakuen_handsome: Codes and files used for the Chinese translation of Gakuen Handsome (学园handsome中文版)
    I don't know if you are trying to translate "Gakuen Handsome", but that's the only Famous Writer game I could find, so hopefully this helps if you are translating something else that uses the same engine.

    src.fwd contains the encoded game script: "the last offset in the offset table indicates last entry's start address, copy from that address to the end of file into a separate binary file". You can find the row which contains the start of the encoded game script by searching for "}kzzg`i". I used HxD, but WinHex should also work.

    MMjN2PF.jpg

    After creating setting+scenario.bin, run "parse.exe" with parameters "setting+scenario.bin output.txt" (if the already compiled parse.exe doesn't work, try compiling parse.cpp with a C++ IDE). parse.exe extracts the subtitles from the script to output.txt. Using Notepad++ or some other editor, open output.txt and replace <ENDFILE>, <LASTNAME>, <FIRSTNAME> and <UNKNOWN9802> with new line (\n) in Extended search mode. Then, edit > line operations > remove empty lines.

    Run "make.exe setting+scenario.bin output.txt duplicate.bin". This creates ins_length_list.txt. Running "generate_ins_offset_table.exe" generates ins_offset_table.new, which, from what I noticed, is similar to the original offset table (at least in the beginning). You might be able to use this to find the start of the offset table in src.fwd if you are translating another game (You can find the first row of Gakuen Handsome's offset table by searching for "öyùðø").

    At this point try translating some text in output.txt. (The way the script is organized in output.txt and the order it appears in the game doesn't seem to be the same. When translating make sure "you keep the lines in the order of the original one with same line number.")

    When finished, run "make.exe setting+scenario.bin output.txt translated.bin", then run "generate_ins_offset_table.exe", which should create another ins_offset_table.new.

    Replace the original offset table and setting+scenario in src.fwd with the ins_offset_table.new than we just created and the translated.bin. Then copy the modified src.fwd back to the game folder and it should work.
    s7M1J6b.png (1604×658) (imgur.com)

  3. #3
    Yaoi Amateur
    Join Date
    Mar 2021
    Location
    Somewhere
    Posts
    2
    Points
    0
    Savings
    0


    Thank you for your help!
    I'm not a script kiddie... but I definitely barely qualify as a tween.

    I just can't get the parse exe to work.

    Below is my "heavily edited" journey. (Seriously I cut a lot of stupid things I tried.)


    Downloaded HxD.


    Copied the src over twice.
    Opened it successfully in HxD.
    Deleted the non-set parts based on the "}kzzg`i" described.


    "offset table.bin" is all entries from the start to before "}kzzg`i"
    "setting+scenario.bin" is all entries from "}kzzg`i" to the end.


    I then make sure to re-save them as bin files.
    I re-downloaded "gakuen_handsome-master" to make sure none of my random clicking did anything.

    Run parse.exe
    I get a system error saying I can't start because libgcc_s_dw2-1.dll is missing.


    I download a C++ IDE, choosing "Code::Blocks".
    I download "codeblocks-20.03mingw-setup"
    I add all "optional" plugins.


    I enter the "code" folder in "gakuen_handsome-master", and now I can open all the files.
    cool.


    I "Open With" the "parse.cpp" file with "Code::Blocks".
    I look through the code.
    This is way past my meager skills, but I can... kinda understand it?
    There's a lot of case statements.


    I compile it. ("Build" menu > "Compile Current File --- CTRL+SHIFT+F9")
    The compiled file pops up in the "code" folder.
    It has the same error.


    I look it up and go to "Settings" > "Compiler..." > "Compiler Flags" >
    I check mark:
    Static libgcc [-static-libgcc]
    Static libstdc++ [-static-libstdc++]
    Static linking [-static]
    Ctrl+Shift+F9 (A lot bigger now. Probably because it 's stacking things in there, right?)


    Program runs...
    No errors...


    I run it in the "code" sub-directory and in the main "gakuen_handsome-master" folder.
    Nothing. No "output.txt".

    I tried renaming the files in different combinations of "input.bin", since I know it runs off that, but I was never able to get it right.

  4. #4
    Yaoi Amateur
    Join Date
    Apr 2018
    Posts
    7
    Points
    0
    Savings
    0


    "offset table.bin" is all entries from the start to before "}kzzg`i"
    No. The offset table is not all the entries from the start to the row where you can find "}kzzg`i".
    With the cleaned output.txt and setting+scenario.bin, run make.exe and the generated ins_offset_table.new should show you where the offset table starts in src.fwd. Check the first image I uploaded, the start of my selection is the start of the offset table.

    "setting+scenario.bin" is all entries from "}kzzg`i" to the end."
    Searching for "}kzzg`i" should show you the row where setting+scenario.bin starts, but "}kzzg`i" is not the start itself. Check the first image I uploaded, setting+scenario.bin starts at 0F 30 00 00 00 00 0E... in src.fwd.

    Made a step-by-step guide and compiled the files myself (refer to my first post if you get stuck):
    https://mega.nz/file/ccMF1abY#DDU3Sc...6vsA7kxxB22LO4
    Last edited by Throne; 03-17-2021 at 12:51 AM. Reason: Link issues.

 

 

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •