neptools

Modding tools to Neptunia games
git clone https://git.neptards.moe/neptards/neptools.git
Log | Files | Refs | Submodules | README | LICENSE

README.md (7407B)


      1 NepTools
      2 ========
      3 
      4 This is a collection tools to mod in Hyperdimension Neptunia Re;Birth 3: V
      5 Century (and probably RB 1 and 2 too) and Megadimension Neptunia VII and some
      6 rudimentary support for Hyperdevotion Noire: Goddess Black Heart `.bin` files
      7 (only stuff under `Main`). It contains a `.cl3` extractor/importer, a text
      8 editor for `.cl3`/`.gstr`/`.gbin`/`.bin`, and a tool to use these files in the
      9 game without repacking the `.pac` files in case of the Re;Births/VII (like
     10 KitServer).
     11 
     12 stcm-editor/cl3-tool
     13 ====================
     14 
     15 This tool allows you to edit dialogues and some other text files. The file
     16 format is compatible with nr2_strool/nr3_strtool's.
     17 
     18 Note: if you've used strtool before, you should delete the modified `.cl3` files
     19 and reimport the `.txt`s using the original, unmodified `.cl3` files. Strtool
     20 sometimes damages the `.cl3` files in a way that this tool can't handle.
     21 
     22 Usage
     23 -----
     24 
     25 The main functionality of this program is to dump out the text script inside the
     26 `.cl3` files, and then reimport modifications. You should be able to do that by
     27 just dragging the `.cl3` file onto the executable to extract the .txt files, and
     28 drop the `.txt` files to import back. You can also mass-convert directories by
     29 dropping them. By default it will export every `.cl3` which doesn't have a
     30 corresponding `.txt`, and import where `.txt` exist. You can override it with
     31 the `--mode export-strtool` and `--mode import-strtool` options to only import
     32 or export.
     33 
     34 You can also unpack and repack `.cl3` files. The easiest way to do this is to
     35 copy/rename `stcm-editor.exe` to `cl3-tool.exe` (simply `cl3-tool` on Linux),
     36 and drop the `.cl3` file onto the executable. It'll extract into a `.cl3.out`
     37 directory, drop the directory onto the executable to repack. Alternatively you
     38 can use `--mode auto-cl3`, `--mode unpack-cl3` and `--mode pack-cl3` options to
     39 achieve this functionality without changing the filename.
     40 
     41 Advanced usage
     42 --------------
     43 
     44 The tool also has an advanced mode, where you have more control over what
     45 happens.
     46 
     47 First you have to open a file with `--open <filename>`. Afterwards you can
     48 inspect/modify them. Every operation is done on this file, until you open a new
     49 one (or create an empty cl3 file with `--create-cl3`). Changes are not
     50 automatically saved, you'll have to `--save <filename>` them. Run `stcm-editor
     51 --help` to list all available operations.
     52 Some examples:
     53 
     54     # list all files in a .cl3 file
     55     stcm-editor --open foo.cl3 --list-files
     56     # extract a .cl3 file
     57     stcm-editor --open foo.cl3 --extract-files output_directory
     58     # replace a file in .cl3
     59     stcm-editor --open foo.cl3 --replace-file name_in_cl3 file_name --save out.cl3
     60     # export txt
     61     stcm-editor --open foo.cl3 --export-txt foo.txt
     62     # chain operations together: export a file, and a txt:
     63     stcm-editor --open foo.cl3 --extract-file bar.tid orig.tid --export-txt foo.txt
     64     # chain operations: replace file and txt, extract a second cl3
     65     stcm-editor --open foo.cl3 --replace-file bar.tid new.tid --import-txt foo.txt --open bar.cl3 --export-files dir
     66     # and so on...
     67 
     68 Server
     69 ======
     70 
     71 This is like KitServer, except it's open source and modifies some internal game
     72 functions instead of creating virtual files that look like the original `.pac`
     73 files. The main differences between KitServer and NepTools' server:
     74 
     75 * It also supports a launcher-less method, see usage below.
     76 * No tid_tool integration (for now). You have to convert your pngs to tid if you
     77   want to use them.
     78 * Integrated stcm-editor: just drop the `.cl3.txt` (and `.gbin.txt` and
     79   `.gstr.txt`) files into the corresponding directory, it'll import them on the
     80   fly. *Note*: if there's an import error it'll silently fall back to the
     81   builtin file. Get the debug version if you want to see the error message or
     82   try running `stcm-editor` on the file.
     83 * Use `neptools` instead of `KitFolder`, remove the last 5 digits from folder
     84   names inside `data`.
     85 * Also has some kind of debug console, download a debug release and see usage
     86   notes below.
     87 * Very early release version: anything may change at any time, nothing is
     88   guaranteed to work...
     89 
     90 Usage
     91 -----
     92 
     93 There are two ways to use it. The first one mirrors the original KitServer:
     94 extract `launcher.exe` and `neptools-server.dll` into the game directory. In
     95 this case you'll have to use launcher.exe to launch the game, if you simply
     96 launch `NeptuniaReBirth[123].exe`/`NeptuniaVII.exe`, Neptools won't be loaded,
     97 and you'll run an unmodded game.
     98 
     99 The second way is to extract only `neptools-server.dll` and rename it to
    100 `dinput8.dll`. In this case there's no launcher, simply start the original
    101 executable. In case of RB3, it may not work this way. The problem is that the
    102 directory name steam chooses (`Hyperdimension Neptunia Re;Birth3`) confuses the
    103 Windows DLL loader, and will treat `;` as a path separator. If you do not want
    104 to rename the directory (which would upset steam), you'll have to place
    105 `dinput8.dll` into a subdirectory named `Birth3` (so it should end up in
    106 `steamapps\common\Hyperdimension Neptunia Re;Birth3\Birth3\dinput8.dll`).
    107 (If you're an Arfoire/Magiquone supporter and installed RB1/2 into somethin like
    108 `whatever\Neptunia Re;Birth2`, you'll have to put it into `Birth2`. Basically
    109 create a directory named whatever after the semicolon is.)
    110 
    111 *Note for Linux/Wine users*: wine by default gives priority to it's builtin
    112 version of `dinput8.dll`, ignoring this custom version. To fix it run `winecfg`,
    113 select Libraries tab, write `dinput8` under New override for library, click Add,
    114 make sure it says (native, builtin). Also you'll probably need MSVC2013
    115 runtimes, if you didn't already install it for the game (`winetricks
    116 vcrun2013`).
    117 
    118 To temporarily disable modding in this case, you'll either have to temporarly
    119 delete/rename `dinput8.dll` or start `NeptuniaReBirth?.exe` with the `--disable`
    120 parameter (this is not exactly same as removing the dll as Neptools will be
    121 still loaded, but it will try to minimize changes made to the game...)
    122 
    123 In either case, you'll have to create a directory named `neptools`, and place
    124 files to be replaced inside it. If you want to replace (for example)
    125 `database/stitem.gbin` inside `data/SYSTEM00000`, place it into
    126 `neptools/data/SYSTEM/database/stitem.gbin` (that five zeros you normally get is
    127 actually an artifact of the current `.cpk`/`.pac` extractor doesn't handle the
    128 format correctly, I will rant more about it someday...)
    129 
    130 It also has some command line flags, use `launcher.exe --help` or
    131 `NeptuniaReBirth?.exe --help` to get a list. If you have a debug build, you can
    132 use `--console -lcpk=2` (or `--log-to-file=filename -lcpk=2` to save it to a
    133 file) to list all files opened by the game (it'll cause significant slowdown
    134 though, especially with the console method).
    135 
    136 Compilation
    137 ===========
    138 
    139 See libshit/COMPILE.md if you checked out from git. Otherwise refer to
    140 http://github.com/u3shit/neptools.
    141 
    142 License
    143 =======
    144 
    145 This program is free software. It comes without any warranty, to the extent
    146 permitted by applicable law. You can redistribute it and/or modify it under the
    147 terms of the Do What The Fuck You Want To Public License, Version 2, as
    148 published by Sam Hocevar. See http://www.wtfpl.net/ for more details.
    149 
    150 Third-party software in `libshit/ext` directory are licensed under different
    151 licenses. See `COPYING.THIRD_PARTY` for licenses of software that end up in
    152 binaries.