**********************************************
  apdtool
  Copyright (c) 2020-2021 Azel

  http://azsky2.html.xdomain.jp/
  https://gitlab.com/azelpg/apdtool
  <azelpg@gmail.com>
**********************************************

このソフトウェアは、MIT ライセンスです。
詳しくは LICENSE ファイルをご覧ください。


=====================================
 * 概要
=====================================

AzPainter/AzDrawing で保存された APD/ADW ファイルに関するツールです。

- APD v1-v4、ADW v1-v2 のファイルを読み込めます。

- レイヤを合成した一枚絵の画像を、PNG/BMP/PSD 形式で出力できます。

- 各レイヤのイメージを、独立した画像として、PNG/BMP/PSD 形式で出力できます。

- APD v4 以外のファイルを、APD v4 に変換して出力できます。

※APD ファイル内で、レイヤにテクスチャ画像が指定されている場合、
  そのテクスチャ画像は別途必要になります。
  その場合、オプションで、テクスチャ画像のディレクトリを指定してください。


=====================================
 * 動作環境
=====================================

Linux/FreeBSD/macOS


=====================================
 * コンパイルに必要なもの
=====================================

- C コンパイラ
- make
- 各種ライブラリの開発用ファイル

必要なライブラリ: zlib libpng


--- 各OS/ディストリビューションにおける必要なパッケージ ---

(Debian/Ubuntu 系)

  gcc or clang, make zlib1g-dev libpng-dev

(RedHat 系)

  gcc or clang, make zlib-devel libpng-devel

(Arch Linux)

  gcc or clang, make libpng

(macOS)

  xcode libpng

(FreeBSD)

  gmake png

  [*] BSD make には対応していません


=====================================
 * コンパイル/インストール
=====================================

アーカイブの展開後、展開されたディレクトリ内に移動して、以下を実行してください。

## (Linux)

$ ./configure
$ make
$ sudo make install

## (FreeBSD)

$ ./configure
$ gmake
# gmake install

## (macOS)

$ ./configure
$ make
$ make install


デフォルトで、"/usr/local" 以下にインストールされます。

./configure 実行時にオプションを指定すると、設定を変更できます。
$ ./configure --help で、ヘルプを表示できます。

[例] /usr にインストール
$ ./configure --prefix=/usr


=====================================
 * インストールされるファイル
=====================================

<INSTALL_DIR>
 |- bin
    |- apdtool : 実行ファイル
 |- doc
    |- apdtool/* : ドキュメントファイル


=====================================
 * 使用例
=====================================

## すべての APD を、一枚絵として PNG に出力
$ apdtool -o /path/dir *.apd

## すべての APD を、1bit モノクロで PSD に出力
$ apdtool -o /path/dir -f psd --mono *.apd

## 各レイヤを、画像として PNG に出力
$ apdtool -o /path/dir -l input.apd

## レイヤの情報表示
$ apdtool -i input.apd


=====================================
 * コマンドラインオプション
=====================================

$ apdtool [opt] <INPUTFILES(APD/ADW)...>


入力ファイル (APD/ADW) は複数指定できます。

デフォルトで、合成画像を PNG 形式でカレントディレクトリに出力します。

＜モード＞

※複数のモードが同時に指定された場合は、最後のオプションのモードが有効となります。

-b,--blend

    レイヤを合成した一枚絵画像を出力します。(デフォルト)

-c,--apdv4

    APD v4 以外のファイルを、APD v4 に変換して、出力します。
    (APD v4 ファイルはスキップされます)

    ※入力が APD で、出力先がカレントディレクトリの場合、上書き保存されます。

-l,--layer

    各レイヤを、独立した画像として、RGBA カラーで出力します。
    デフォルトで、フォルダを除く全てのレイヤが対象となります。

    出力ファイル名は、デフォルトで、
    "入力ファイル名 + '_' + 連番番号 + 拡張子" となります。

-i,--info

    各レイヤの情報のみ出力します。

-x,--texinfo

    レイヤテクスチャの画像ファイルのパスのみ出力します。
    レイヤテクスチャが一つもない場合は、何も表示されません。


＜出力＞

-o,--output=[DIR or FILENAME]

    画像の出力ディレクトリ、または、出力ファイル名を指定します。
    デフォルトで、カレントディレクトリに出力されます。

    << --blend, --apdv4 >>
    指定パスが、既存のディレクトリのパスでない場合は、出力ファイル名として扱います。
    その場合、--blend 時は、指定されたファイル名の拡張子から、出力フォーマットを判定します。
    出力ファイル名を指定しなかった場合、出力ファイル名は、
    "入力ファイル名 + 画像の拡張子" となります。

    << --layer >>
    常にディレクトリパスの指定となります。

-f,--format=[png|bmp|psd]

    --blend,--layer 時の、出力画像フォーマットを指定します。
    デフォルト = png

-G,--gray

    --blend で PNG/PSD 出力時、グレイスケールカラーで出力します。

-M,--mono

    --blend で PNG/PSD 出力時、モノクロ2階調カラー (1bit) で出力します。

-t,--tonegray

    --blend 時、トーンレイヤをグレイスケール化します (APD v4 時)

-D,--to8bit

    --apdv4 時、16bit カラーを 8bit カラーに変換して出力します (APD v2,v3 時)


＜レイヤ画像出力＞

-p,--layer-prefix=[PREFIX]

    レイヤ画像の出力ファイル名の接頭語 (ファイル名の先頭の文字列) を指定します。
    指定しない場合は、入力ファイル名となります。
    
    ※出力ディレクトリは、--output で指定してください。

    出力ファイル名は、"PREFIX + 連番番号 + 拡張子" となります。
    
    -p "" として、空文字列を指定した場合は、連番番号のみとなります。

-n,--layerno=[n,n1-n2,...]

    出力するレイヤのインデックス番号を指定します。

    番号は 0 から始まり、(レイヤ数 - 1) まで指定できます。
    
    複数指定する場合は、',' で区切ります。
    "0-5" というように、"開始番号-終了番号" という形で指定すると、
    値の範囲を指定することもできます。

    レイヤのインデックス番号は、--info で確認できます。


＜テクスチャ関連＞

-s,--tex-sys=[PATH]

    システムのテクスチャ画像のディレクトリパスを指定します。
    デフォルトで、"/usr/local/share/azpainter3/texture" となります。

-u,--tex-user=[PATH]

    ユーザーのテクスチャ画像のディレクトリパスを指定します。
    デフォルトで、"~/.config/azpainter/texture" となります。


＜ほか＞

-V,--version

    バージョン情報を表示します。

-h,--help

    ヘルプを表示します。
