Skip to content
This repository has been archived by the owner on Jun 26, 2021. It is now read-only.

Commit

Permalink
rename project to neptools
Browse files Browse the repository at this point in the history
  • Loading branch information
u3shit committed Mar 14, 2016
1 parent 05ba9ca commit 99a5e81
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 24 deletions.
56 changes: 40 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
stcm-editor
===========
NepTools
========

This is a collection tools to mod in Hyperdimension Neptunia Re;Birth 3: V
Century (and probably RB 1 and 2 too). It contains a `.cl3` extractor/importer,
a text editor for `.cl3`/`.gstr`/`.gbin`, and a tool to use these files in the
game without repacking the `.pac` files (like KitServer).

stcm-editor/cl3-tool
====================

This tool allows you to edit dialogues in Hyperdimension Neptunia Re;Birth 3: V
Century. The file format is compatible with nr2_strool/nr3_strtool's.
This tool allows you to edit dialogues and some other text files. The file
format is compatible with nr2_strool/nr3_strtool's.

Note: if you've used strtool before, you should delete the modified `.cl3` files
and reimport the `.txt`s using the original, unmodified `.cl3` files. Strtool
sometimes damages the `.cl3` files in a way that this tool can't handle.

Usage
=====

First, if you downloaded the binary Windows version, you'll need to install
[MSVC 2015 Update 1 redistributables](https://www.microsoft.com/en-us/download/details.aspx?id=49984),
if you haven't done so already (download `VC_redist.x86.exe`).
-----

The main functionality of this program is to dump out the text script inside the
`.cl3` files, and then reimport modifications. You should be able to do that by
Expand Down Expand Up @@ -58,14 +62,34 @@ Some examples:
stcm-editor --open foo.cl3 --replace-file bar.tid new.tid --import-txt foo.txt --open bar.cl3 --export-files dir
# and so on...

A note on cl3 editing and `--create-cl3`
----------------------------------------

Cl3 files have a `FILE_LINK` section that describes links between different
files. This information is currently not exported (and you can't edit them yet),
but updating an existing cl3 file will preserve them. So for the time being you
should only replace existing files in existing cl3 archives.
Server
======

This is like KitServer, except it's open source and modifies some internal game
functions instead of creating virtual files that look like the original `.pac`
files. The main differences between KitServer and NepTools' server:

* No tid_tool integration (for now). You have to convert your pngs to tid if you
want to use them.
* Integrated stcm-editor: just drop the `.cl3.txt` (and `.gbin.txt` and
`.gstr.txt`) files into the corresponding directory, it'll import them on the
fly. *Note*: if there's an import error it'll silently fall back to the
builtin file. Get the debug version if you want to see the error message or
try running `stcm-editor` on the file.
* Use `neptools` instead of `KitFolder`, remove the last 5 digits from folder
names inside `data`.
* Very early release version: anything may change at any time, nothing is
guaranteed to work...

Usage
-----

Extract `launcher.exe` and `neptools-server.dll` into the game directory. Create
a directory named `neptools`. If you want to replace (for example)
`database/stitem.gbin` inside `data/SYSTEM00000`, place it into
`neptools/data/SYSTEM/database/stitem.gbin` (that five zeros you normally get is
actually an artifact of the current `.cpk`/`.pac` extractor doesn't handle the
format correctly, I will rant more about it someday...)

Compilation
===========
Expand Down
2 changes: 1 addition & 1 deletion src/injected/cpk.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ char CpkHandler::OpenFile(const char* fname, size_t* out)
#ifndef NDEBUG
std::cerr << "OpenFile " << basename << fname;
#endif
fs::path pth{"kitfolder"};
fs::path pth{"neptools"};
pth /= basename;
pth /= fname;

Expand Down
2 changes: 1 addition & 1 deletion src/programs/launcher.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ static int mymain(void)
return 2;
}

strwcpy(last_slash + 1, L"server.dll");
strwcpy(last_slash + 1, L"neptools-server.dll");
if (!inject_dll(pi.hProcess, buf))
{
TerminateProcess(pi.hProcess, 0);
Expand Down
2 changes: 1 addition & 1 deletion src/programs/stcm-editor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -525,7 +525,7 @@ int main(int argc, char** argv)
}
catch (InvalidParameters ip)
{
std::cerr << NAME " v" VERSION "\nUsage: " << argv[0]
std::cerr << "NepTools stcm-editor v" VERSION "\nUsage: " << argv[0]
<< " [--options] [<file/directory>...]\n"
"Default operation: import all .cl3.txt to .cl3, export "
"all .cl3 to .cl3.txt.\n\n"
Expand Down
1 change: 0 additions & 1 deletion src/version.hpp.in
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
#define UUID_9B678665_38D4_4683_8E87_6EA045BA7585
#pragma once

#define NAME "stcm-editor"
#define VERSION "@VERSION@"

#endif
8 changes: 4 additions & 4 deletions wscript
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- mode: python -*-

# the following two variables are used by the target "waf dist"
APPNAME='stcm-editor'
APPNAME='neptools'

import subprocess
try:
Expand All @@ -10,7 +10,7 @@ try:
stderr = subprocess.PIPE,
universal_newlines = True).strip('\n').lstrip('v')
except:
VERSION = '0.3.0'
VERSION = '0.3.1'

# these variables are mandatory ('/' are converted automatically)
top = '.'
Expand Down Expand Up @@ -161,7 +161,7 @@ def build(bld):
includes = 'src', # for version.hpp
uselib = 'BOOST',
use = 'common',
target = APPNAME)
target = 'stcm-editor')

if bld.env.DEST_OS == 'win32':
# technically launcher can be compiled for 64bits, but it makes no sense
Expand All @@ -184,7 +184,7 @@ def build(bld):
'src/programs/server.cpp',
]
bld.shlib(source = src_inject,
target = 'server',
target = 'neptools-server',
use = 'common',
uselib = 'BOOST USER32')

Expand Down

0 comments on commit 99a5e81

Please sign in to comment.