diff --git a/Build/Converter/CMakeLists.txt b/Build/Converter/CMakeLists.txt index e80a3f3c..2ad1e088 100644 --- a/Build/Converter/CMakeLists.txt +++ b/Build/Converter/CMakeLists.txt @@ -43,6 +43,13 @@ set(MZ_WZAES OFF CACHE INTERNAL "") set(MZ_OPENSSL OFF CACHE INTERNAL "") set(MZ_LIBBSD OFF CACHE INTERNAL "") set(MZ_ICONV OFF CACHE INTERNAL "") + +# Disable installation of minizip-ng and its dependencies to avoid alias target errors in CMake 3.31+ +set(SKIP_INSTALL_ALL ON CACHE INTERNAL "") +set(SKIP_INSTALL_LIBRARIES ON CACHE INTERNAL "") +set(SKIP_INSTALL_HEADERS ON CACHE INTERNAL "") +set(SKIP_INSTALL_EXECUTABLES ON CACHE INTERNAL "") + FetchContent_MakeAvailable(minizip-ng) include_directories(${minizip-ng_SOURCE_DIR}) include_directories(${minizip-ng_SOURCE_DIR}/compat) @@ -179,11 +186,20 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../Common/Helper) # for win & mac suport thumbnail if(WIN32 OR APPLE) message("fetch glfw") - set(GLFW_BUILD_EXAMPLES OFF CACHE INTERNAL "") - set(GLFW_BUILD_TESTS OFF CACHE INTERNAL "") - set(GLFW_BUILD_DOCS OFF CACHE INTERNAL "") - set(GLFW_INSTALL OFF CACHE INTERNAL "") - set(GLFW_VULKAN_STATIC OFF CACHE INTERNAL "") + set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) + set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE) + set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE) + set(GLFW_INSTALL OFF CACHE BOOL "" FORCE) + set(GLFW_VULKAN_STATIC OFF CACHE BOOL "" FORCE) + set(GLFW_BUILD_VULKAN OFF CACHE BOOL "" FORCE) + if(WIN32) + set(GLFW_BUILD_WIN32 ON CACHE BOOL "" FORCE) + set(GLFW_BUILD_WAYLAND OFF CACHE BOOL "" FORCE) + set(GLFW_BUILD_X11 OFF CACHE BOOL "" FORCE) + elseif(APPLE) + set(GLFW_BUILD_COCOA ON CACHE BOOL "" FORCE) + endif() + FetchContent_Declare( glfw GIT_REPOSITORY https://github.com/glfw/glfw.git diff --git a/README.ja.md b/README.ja.md new file mode 100644 index 00000000..4d34f4be --- /dev/null +++ b/README.ja.md @@ -0,0 +1,89 @@ +[**日本語**](./README.ja.md) | [**English**](./README.md) + +# SpriteStudio 6 SDK +Copyright © CRI Middleware Co., Ltd. + +## 概要 +本SDKは、[OPTPiX SpriteStudio 6以降](http://www.webtech.co.jp/spritestudio/)で製作されたデータ(sspj,ssce,ssae,ssee)をユーザーの皆様の再生環境に応じて柔軟にご利用いただくためのライブラリ、およびツール群で構成されます。 + +* sspjLib :SpriteStudioのプロジェクトファイルsspjを解析するためのライブラリです。 + * ローダー:SpriteStudio 6 形式'のファイル(sspj,ssce,ssae,ssee)の読み込みモジュール + * アニメータ:座標変換、補間計算などを行うアニメーションモジュール + * ドローワー:OpenGL を利用した描画モジュール +* Tools:ライブラリを使用して作成されたツールです。 + * ビューアー:Windows/Mac 用ビューアーサンプル + * コンバータ:sspjファイルから再生プログラム用のファイル(.ssbp .json等)へ変換します。 + +### 想定する用途 +本SDKの用途は、sspjを解析して新たなプラットフォーム用プレイヤーを作成したり、別のフォーマットにデータを加工、変換するツールの作成となります。 +ゲームやアプリで使用する場合は、アニメーション制御に特化したプレイヤープログラムを公開しています。 +またアニメーション編集に役立つ外部ツールも公開していますので、以下のリンクを参照してみてください。 +* [OPTPiX ヘルプセンター](http://www.webtech.co.jp/help/ja/spritestudio/download/forprogrammer/) +* [GitHubのSpriteStudioリポジトリ](https://github.com/SpriteStudio?tab=repositories) + +### 免責事項 +本SDKは**リファレンス実装**を目指してメンテナンスされています。 +特定のプラットフォームを意識した最適化は行わず、ある程度の冗長性を維持しています。 +develop ブランチは最新の開発版のため、何らかの不具合が含まれている可能性があります。 +安定版が必要な場合[Release](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases)から取得してください。 + +## 更新履歴 + +- [master](https://github.com/SpriteStudio/SpriteStudio6-SDK/commits/master) +- [develop](https://github.com/SpriteStudio/SpriteStudio6-SDK/commits/develop) + +## 対応する SpriteStudio のバージョン +**SDKバージョン_SpriteStudioバージョン** の形式 (例: 2.2.0_SS7.1.0) でリリースが作られています。 +詳しくは[Releases](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases) をご覧ください。 + +## ツール類 + +- ダウンロード + - [最新版](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases/latest) + - [全バージョン](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases) +- 使い方 + - [コンバータ](./docs/how-to-use-converter.ja.md) + - [ビューア](./docs/viewer.ja.md) +- その他 + - [SS6Playerシリーズとエンジニア向けツール](http://www.webtech.co.jp/help/ja/spritestudio/download/forprogrammer/) + +## SDKのビルド方法 +* [SDKのビルド方法](./docs/how-to-build-sdk.ja.md) +* [(参考) SS6Converter、ビューアーをビルドする方法](http://www.webtech.co.jp/help/ja/spritestudio/guide/output6/sdk/#viewer_build) _※ヘルプセンターのページにジャンプします。_ + +## データ構造とクラスリファレンス +[SpriteStudio6 SDK Document](https://spritestudio.github.io/SpriteStudio6-SDK/html/index.html) + +## ブランチルール +SpriteStudioSDKにはmasterとdevelopがあり、プレイヤーを含む最新のコードはdevelopにコミットされます。 +安定版と判断した段階で、developからmasterへマージしてバージョン番号を付与しています。 + +## Pull Request +Pull Request は大歓迎です! +リクエスト送信前にIssue化しておく必要はありません。 +変更内容はコミット時のコメントに記入していただければ十分です。 + +## 使用しているオープンソースライブラリ +SDKでは以下のライブラリを使用しています。 +各ライブラリのライセンス等については下記リンクよりご確認ください。 +* ローダー + * [TinyXML2](http://www.grinninglizard.com/tinyxml/) +* レンダラー + * [OpenGL](http://www.opengl.org/) + * [glew ( Windows )](http://glew.sourceforge.net/) +* ビューアーサンプルのGUI + * [glfw3](http://www.glfw.org/) + * [JUCE 7](https://juce.com/) + +## SpriteStudio 5 3rdParty +ご好意で提供していただいたプログラムを公開しています。 +ご使用の前にこちらをお読みください。[SpriteStudio 5 3rdParty](http://spritestudio3rdparty.github.io/) + +## お問い合わせ +ご質問、ご要望、不具合のご報告は [Issues](https://github.com/SpriteStudio/SpriteStudio6-SDK/issues) に投稿してください。 +非公開でのお問い合わせを希望される場合は、[ヘルプセンター](https://www.webtech.co.jp/help/ja/spritestudio7/inquiries/ssplayer_tool/) よりお寄せください。 +再現データなどの送付が必要な場合も、上記ヘルプセンター経由でファイルを送信してください。 + +株式会社CRI・ミドルウェア +[https://www.cri-mw.co.jp/](https://www.cri-mw.co.jp/) +Copyright © CRI Middleware Co., Ltd. diff --git a/README.md b/README.md index 1709a0ff..fb0c494a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,89 @@ -### SpriteStudio 6 SDK +[**日本語**](./README.ja.md) | [**English**](./README.md) -ドキュメントはこちらです。 -https://github.com/SpriteStudio/SpriteStudio6-SDK/wiki -   +# SpriteStudio 6 SDK +Copyright © CRI Middleware Co., Ltd. + +## Overview +This SDK consists of libraries and tools for flexibly using data (sspj, ssce, ssae, ssee) created with [OPTPiX SpriteStudio 6 or later](http://www.webtech.co.jp/spritestudio/) in your own playback environment. + +* sspjLib: A library for parsing SpriteStudio project files (sspj). + * Loader: Module for loading SpriteStudio 6 format files (sspj, ssce, ssae, ssee). + * Animator: Animation module that performs coordinate transformation, interpolation calculation, etc. + * Drawer: Drawing module using OpenGL. +* Tools: Tools created using the library. + * Viewer: Viewer sample for Windows/Mac. + * Converter: Converts sspj files into files for playback programs (.ssbp, .json, etc.). + +### Intended Use +The purpose of this SDK is to parse sspj files to create players for new platforms, or to create tools for processing and converting data into other formats. +For use in games and apps, we provide player programs specialized for animation control. +We also provide external tools useful for animation editing, so please refer to the links below. +* [OPTPiX Help Center](http://www.webtech.co.jp/help/en/spritestudio/download/forprogrammer/) +* [SpriteStudio Repositories on GitHub](https://github.com/SpriteStudio?tab=repositories) + +### Disclaimer +This SDK is maintained with the goal of being a **reference implementation**. +It maintains a certain degree of redundancy without performing optimizations for specific platforms. +Since the `develop` branch is the latest development version, it may contain some bugs. +If you need a stable version, please obtain it from [Releases](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases). + +## Update History + +- [master](https://github.com/SpriteStudio/SpriteStudio6-SDK/commits/master) +- [develop](https://github.com/SpriteStudio/SpriteStudio6-SDK/commits/develop) + +## Supported SpriteStudio Versions +Releases are created in the format **SDK Version_SpriteStudio Version** (e.g., 2.2.0_SS7.1.0). +For details, please see [Releases](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases). + +## Tools + +- Download + - [Latest Version](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases/latest) + - [All Versions](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases) +- Usage + - [Converter](./docs/how-to-use-converter.md) + - [Viewer](./docs/viewer.md) +- Others + - [SS6Player Series and Tools for Engineers](http://www.webtech.co.jp/help/en/spritestudio/download/forprogrammer/) + +## How to Build the SDK +* [How to Build the SDK](./docs/how-to-build-sdk.md) +* [(Reference) How to Build SS6Converter and Viewer](http://www.webtech.co.jp/help/ja/spritestudio/guide/output6/sdk/#viewer_build) _*Note: Jumps to the Help Center page._ + +## Data Structure and Class Reference +[SpriteStudio6 SDK Document](https://spritestudio.github.io/SpriteStudio6-SDK/html/index.html) + +## Branch Rules +SpriteStudioSDK has `master` and `develop` branches. The latest code, including the player, is committed to `develop`. +Once judged to be a stable version, it is merged from `develop` to `master` and assigned a version number. + +## Pull Requests +Pull Requests are very welcome! +There is no need to create an Issue before sending a request. +Providing details of the changes in the commit comments is sufficient. + +## Open Source Libraries Used +The SDK uses the following libraries. +Please check the links below for the licenses of each library. +* Loader + * [TinyXML2](http://www.grinninglizard.com/tinyxml/) +* Renderer + * [OpenGL](http://www.opengl.org/) + * [glew (Windows)](http://glew.sourceforge.net/) +* Viewer Sample GUI + * [glfw3](http://www.glfw.org/) + * [JUCE 7](https://juce.com/) + +## SpriteStudio 5 3rdParty +We publish programs provided by the community. +Please read this before use. [SpriteStudio 5 3rdParty](http://spritestudio3rdparty.github.io/) + +## Contact +Please post questions, requests, and bug reports to [Issues](https://github.com/SpriteStudio/SpriteStudio6-SDK/issues). +If you prefer to contact us privately, please use the [Help Center](https://www.webtech.co.jp/help/en/spritestudio7/inquiries/ssplayer_tool/). +If you need to send reproduction data, please do so via the Help Center. + +CRI Middleware Co., Ltd. +[https://www.cri-mw.co.jp/](https://www.cri-mw.co.jp/) +Copyright © CRI Middleware Co., Ltd. diff --git a/Scripts/build_convertergui_win.bat b/Scripts/build_convertergui_win.bat index bb001a8a..e4a66381 100644 --- a/Scripts/build_convertergui_win.bat +++ b/Scripts/build_convertergui_win.bat @@ -48,7 +48,7 @@ pushd build where ninja >nul 2>nul if ERRORLEVEL 1 ( - cmake -A %TARGET_ARCH% -DCMAKE_BUILD_TYPE=%BUILD_TYPE% .. || exit /b 1 + cmake -A %TARGET_ARCH% -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DCMAKE_PREFIX_PATH="%QT_PREFIX%" .. || exit /b 1 cmake --build . --target ALL_BUILD --parallel -- /p:Configuration=%BUILD_TYPE% || exit /b 1 ) else ( @@ -58,7 +58,7 @@ if ERRORLEVEL 1 ( call %VCVARSALL% %HOST_ARCH%_%TARGET_ARCH% ) - cmake -G Ninja -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DCMAKE_SYSTEM_PROCESSOR=%TARGET_ARCH% .. || exit /b 1 + cmake -G Ninja -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DCMAKE_SYSTEM_PROCESSOR=%TARGET_ARCH% -DCMAKE_PREFIX_PATH="%QT_PREFIX%" .. || exit /b 1 cmake --build . --parallel || exit /b 1 ) diff --git a/Scripts/generate_ssfb_code.bat b/Scripts/generate_ssfb_code.bat index 13ed1bf0..2c2ef4cf 100644 --- a/Scripts/generate_ssfb_code.bat +++ b/Scripts/generate_ssfb_code.bat @@ -16,9 +16,16 @@ rem Build flatc rmdir /S /Q build mkdir build pushd build -cmake -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DENABLE_FLATC=ON .. || exit /b 1 -cmake --build . --target flatc --parallel -- /p:Configuration=%BUILD_TYPE% || exit /b 1 -set FLATC="%BUILDDIR%\Converter\build\_deps\flatbuffers-build\flatc.exe" +where ninja >nul 2>nul +if ERRORLEVEL 1 ( + cmake -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DENABLE_FLATC=ON .. || exit /b 1 + cmake --build . --target flatc --parallel --config %BUILD_TYPE% || exit /b 1 + set FLATC="%BUILDDIR%\Converter\build\_deps\flatbuffers-build\%BUILD_TYPE%\flatc.exe" +) else ( + cmake -G Ninja -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DENABLE_FLATC=ON .. || exit /b 1 + cmake --build . --target flatc --parallel || exit /b 1 + set FLATC="%BUILDDIR%\Converter\build\_deps\flatbuffers-build\flatc.exe" +) popd rem generate ssfb code diff --git a/Scripts/release_converter_win.bat b/Scripts/release_converter_win.bat index 3d4e4f85..e9c361db 100644 --- a/Scripts/release_converter_win.bat +++ b/Scripts/release_converter_win.bat @@ -40,13 +40,14 @@ pushd %BASEDIR% rmdir /S /Q Ss6Converter mkdir Ss6Converter -copy "%BUILDDIR%\Converter\build\Release\Ss6Converter.exe" Ss6Converter\ where ninja >nul 2>nul if ERRORLEVEL 1 ( + copy "%BUILDDIR%\Converter\build\Release\Ss6Converter.exe" Ss6Converter\ || exit /b 1 robocopy "%BUILDDIR%\Ss6ConverterGUI\Ss6ConverterGUI\build\Release" Ss6Converter /E ) else ( - copy "%BUILDDIR%\Ss6ConverterGUI\Ss6ConverterGUI\build\Ss6ConverterGUI.exe" Ss6Converter\ - %QT_PREFIX%\..\msvc2022_64\bin\windeployqt6.exe --qtpaths %QTPATHS% Ss6Converter\ + copy "%BUILDDIR%\Converter\build\Ss6Converter.exe" Ss6Converter\ || exit /b 1 + copy "%BUILDDIR%\Ss6ConverterGUI\Ss6ConverterGUI\build\Ss6ConverterGUI.exe" Ss6Converter\ || exit /b 1 + %QT_PREFIX%\..\msvc2022_64\bin\windeployqt6.exe --qtpaths %QTPATHS% Ss6Converter\Ss6ConverterGUI.exe || exit /b 1 ) set ZIPNAME=Ss6Converter_%TARGET_ARCH% powershell compress-archive Ss6Converter %ZIPNAME%.zip diff --git a/docs/binary-file-format.ja.md b/docs/binary-file-format.ja.md new file mode 100644 index 00000000..e13cfdad --- /dev/null +++ b/docs/binary-file-format.ja.md @@ -0,0 +1,103 @@ +[**日本語**](./binary-file-format.ja.md) | [**English**](./binary-file-format.md) + +# バイナリファイルのフォーマット +## 注意 +情報が古いので、この内容は参考にしないでください。 +## 概要 +* 変換時に指定した sspj ファイルと登録されているssae, ssce すべての情報を1つにパックします。 +* sspj,ssae,ssce ファイルが持つ情報のうち再生に必要な情報のみを含んでいます。 +* アニメーションの補間計算はコンバート時に行われます。(実行時計算にも対応予定) +* 座標値はグローバル化せずローカル値のまま保持します。 +## 詳細 +* ファイル構造 +ssbpファイルは次の情報で構成されています。 +SS5PlayerData.hにssbp解析用の構造体が定義されています。 + + プロジェクト設定 + - struct ProjectData + - dataId        ssbpファイルデータ確認用のID + - version       ssbpファイルのバージョン + - flags        予備 + - imageBaseDir    リソースパス、コンバート時の引数で設定する + - cells        セル構造体へのポインタ(配列の先頭アドレス) + - animePacks     アニメパック構造体へのポインタ(配列の先頭アドレス) + - numCells      セルの数 + - numAnimePacks    アニメーションの数 + + セル + - struct Cell + - name        セル名 + - cellMap;      セルマップ構造体へのポインタ(配列の先頭アドレス) + - indexInCellMap   セル番号 + - x          セル画像内の開始X座標 + - y          セル画像内の開始Y座標 + - width        セルの幅 + - height       セルの高さ + - reserved      予備 + + セルマップ + - struct CellMap + - name        セルマップ名(ssce名) + - imagePath      テクスチャファイル名 + - index        セルマップ番号 + - reserved      予備 + + アニメパック + - struct AnimePackData + - name           モーション名 + - parts           パーツ構造体へのポインタ + - animations;     アニメ(モーション)構造体へのポインタ + - numParts         パーツ数 + - numAnimations      モーション数 + + アニメ + - struct AnimationData + - name           モーション名 + - defaultData       パーツの初期値(配列の先頭アドレス) + - frameData        各フレームのパーツデータ(配列の先頭アドレス) + - userData         ユーザーデータ(配列の先頭アドレス) + - labelData        ラベルデータ(配列の先頭アドレス) + - numFrames        総フレーム + - fps           再生スピード + - labelNum        ラベルデータの数 + + パーツ初期値 + - struct AnimationInitialData + - index           パーツインデックス、SS上のフレームコントロールの順番 + - dummy           バイナリデータ出力用のアライメントダミーデータ + - flags           非表示、X反転、Y反転フラグ + - cellIndex         セルインデックス + - positionX         X座標初期値 + - positionY         Y座標初期値 + - opacity          透明度初期値 + - anchorX          原点Xオフセット+セルに設定された原点Xオフセット初期値 + - anchorY          原点Yオフセット+セルに設定された原点Yオフセット初期値 + - rotationX         X回転初期値 + - rotationY         Y回転初期値 + - rotationZ         Z回転初期値 + - scaleX           X拡大率初期値 + - scaleY           Y拡大率初期値 + - size_X           Xサイズ初期値 + - size_Y           Yサイズ初期値 + - uv_move_X         UV X移動初期値 + - uv_move_Y         UV Y移動初期値 + - uv_rotation        UV回転初期値 + - uv_scale_X         UV Xスケール初期値 + - uv_scale_Y         UV Yスケール初期値 + - boundingRadius      当たり半径初期値 + + 各フレームのパーツデータ + - パーツデータは可変長で初期値と異なるデータのみが格納されています。 + - ヘッダ部 + * パーツインデックス + * フラグ + + フラグにはビット対応でどのデータが含まれるかが入っています。 + + フラグの内容によってファイルからデータを読むか、初期値からデータを読むかを決定する。 + + 詳細はSS5Player cocos2d-xに含まれるSS5Player.cppのvoid Player::setFrame(int frameNo)を参照 + + ユーザーデータ + - struct UserData + - partName       このユーザーデータが設定されているパーツ名 + - frameNo       このユーザーデータが設定されているフレーム + - flags        含まれるデータの種類 + - integer       整数 + - rect[4]       矩形データ + - point[2]       座標データ + - str         文字列 + - strSize       文字列のサイズ + + ラベルデータ + - struct LabelData + - str         ラベル名 + - frameNo       ラベルを設定したフレーム diff --git a/docs/binary-file-format.md b/docs/binary-file-format.md new file mode 100644 index 00000000..889520a7 --- /dev/null +++ b/docs/binary-file-format.md @@ -0,0 +1,103 @@ +[**日本語**](./binary-file-format.ja.md) | [**English**](./binary-file-format.md) + +# Binary File Format +## Note +This information is outdated, so please do not use this content as a reference. +## Overview +* Packs the specified sspj file and all registered ssae and ssce information into one at the time of conversion. +* Contains only the information necessary for playback from the information held by the sspj, ssae, and ssce files. +* Animation interpolation calculations are performed during conversion. (Runtime calculation is also planned to be supported) +* Coordinate values are kept as local values without being globalized. +## Details +* File Structure +The ssbp file consists of the following information. +Structures for ssbp parsing are defined in `SS5PlayerData.h`. + + Project Settings + - struct ProjectData + - dataId        ID for verifying ssbp file data + - version       ssbp file version + - flags        Reserved + - imageBaseDir    Resource path, set by argument during conversion + - cells        Pointer to cell structures (start address of array) + - animePacks     Pointer to animation pack structures (start address of array) + - numCells      Number of cells + - numAnimePacks    Number of animations + + Cell + - struct Cell + - name        Cell name + - cellMap;      Pointer to cell map structure (start address of array) + - indexInCellMap   Cell index + - x          Starting X coordinate within the cell image + - y          Starting Y coordinate within the cell image + - width        Width of the cell + - height       Height of the cell + - reserved      Reserved + + Cell Map + - struct CellMap + - name        Cell map name (ssce name) + - imagePath      Texture file name + - index        Cell map number + - reserved      Reserved + + Animation Pack + - struct AnimePackData + - name           Motion name + - parts           Pointer to parts structure + - animations;     Pointer to animation (motion) structure + - numParts         Number of parts + - numAnimations      Number of motions + + Animation + - struct AnimationData + - name           Motion name + - defaultData       Initial values of parts (start address of array) + - frameData        Part data for each frame (start address of array) + - userData         User data (start address of array) + - labelData        Label data (start address of array) + - numFrames        Total frames + - fps           Playback speed + - labelNum        Number of label data + + Initial Part Values + - struct AnimationInitialData + - index           Part index, order of frame control on SS + - dummy           Alignment dummy data for binary data output + - flags           Hidden, X flip, Y flip flags + - cellIndex         Cell index + - positionX         Initial X coordinate + - positionY         Initial Y coordinate + - opacity          Initial opacity + - anchorX          Origin X offset + initial origin X offset set in the cell + - anchorY          Origin Y offset + initial origin Y offset set in the cell + - rotationX         Initial X rotation + - rotationY         Initial Y rotation + - rotationZ         Initial Z rotation + - scaleX           Initial X scale + - scaleY           Initial Y scale + - size_X           Initial X size + - size_Y           Initial Y size + - uv_move_X         Initial UV X move + - uv_move_Y         Initial UV Y move + - uv_rotation        Initial UV rotation + - uv_scale_X         Initial UV X scale + - uv_scale_Y         Initial UV Y scale + - boundingRadius      Initial collision radius + + Part data for each frame + - Part data is variable length and only contains data that differs from the initial values. + - Header section + * Part index + * Flags + + The flags bitwise indicate which data is included. + + Based on the flags, it is determined whether to read data from the file or from the initial values. + + For details, refer to `void Player::setFrame(int frameNo)` in `SS5Player.cpp` included in SS5Player cocos2d-x. + + User Data + - struct UserData + - partName       Name of the part where this user data is set + - frameNo       Frame where this user data is set + - flags        Types of data included + - integer       Integer + - rect[4]       Rectangle data + - point[2]       Coordinate data + - str         String + - strSize       Size of the string + + Label Data + - struct LabelData + - str         Label name + - frameNo       Frame where the label was set diff --git a/docs/how-to-build-sdk-gui.ja.md b/docs/how-to-build-sdk-gui.ja.md new file mode 100644 index 00000000..9c281be9 --- /dev/null +++ b/docs/how-to-build-sdk-gui.ja.md @@ -0,0 +1,106 @@ +[**日本語**](./how-to-build-sdk-gui.ja.md) | [**English**](./how-to-build-sdk-gui.md) + +# SDKのビルド方法(GUI編) +ここでは、GUI でのビルド手順について記載します。 +GUI での開発環境の構築手順を含みます。 +# 環境構築 +## Windows +下記をインストールしてください。 +* Visual Studio 2022 以上 +* PowerShell +* [Qt](https://www.qt.io/download-open-source) (*1)(*2) +* [git](https://git-scm.com/downloads) +* [CMake](https://cmake.org/download/) +* [JUCE](https://juce.com/get-juce/download) +\*1: Qt のバージョンは 6.9.0 を推奨しています。それ以外のバージョンを利用する場合は環境変数 `QT_PREFIX` にて 該当バージョンの Visual Studio の root path を指定してください。(e.g. 6.9.1 を利用する場合は `set QT_PREFIX=C:\Qt\6.9.1\msvc2022_64` か `set QT_PREFIX=C:\Qt\6.9.1\msvc2022_arm64` と設定してください。) +\*2: Qt Creator をインストールしてください +## macOS +下記をインストールしてください。 +* Xcode +* [Qt](https://www.qt.io/download-open-source) (*3) +* [git](https://git-scm.com/downloads) +* [CMake](https://cmake.org/download/) +* [JUCE](https://juce.com/get-juce/download) +Xcode と Qt 以外は [homebrew](https://brew.sh/) を利用すれば下記コマンドでインストール可能です。 +``` +brew install git cmake +``` +\*3: Ss6Converter-Qt を Universal Binary 2 (x64 と arm64 両方対応)にするには Qt 本家から Qt をダウンロードしてください。Qt のバージョンは 6.9.0 を推奨しています。それ以外のバージョンを利用する場合は環境数 `QT_PREFIX` にて Qt の root path を指定してください。(e.g. 6.9.1 を利用する場合は `export QT_PREFIX=~/Qt/6.9.1/macos` と設定してください。) +# ソース取得 +``` +git clone --recursive https://github.com/SpriteStudio/SpriteStudio6-SDK.git +``` +# Windows +## Ss6Converter のビルド +### フォルダの作成 +`SpriteStudio6-SDK` はチェックアウトしたSDKフォルダのパスになります。 +`SpriteStudio6-SDK\Build\build` フォルダを作成します。 +### Cmake(cmake-gui)を実行 +`Where is the source code:` に `SpriteStudio6-SDK\Build` の絶対パスを設定します。 +`Where to build the binaries:` に `SpriteStudio6-SDK\Build\build` の絶対パスを設定します。 +### Solution file の生成 +Configure ボタンを押下します。 +生成するプロジェクトのフォーマットを選択するダイアログが表示されるので `Visual Studio 16 2022` を選択し、 Finish ボタンを押します。 +Generate ボタンを押下し、成功すれば `SpriteStudio6-SDK\Build\build` に Visual Studio のプロジェクト が生成されます。 +### Visual Studio Solution のビルド +`SpriteStudio6-SDK\Build\build\sssdk.sln` を開きます。 +ビルドターゲットを `ALL_BUILD` を選択しビルドします。 +`SpriteStudio6-SDK\Build\build\Converter\{Debug|Release}` に `Ss6Converter.exe` のバイナリが生成されます。 +`RUN_TEST` を実行すると、`SpriteStudio6-SDK\Build\TestData` 以下の sspj ファイルのコンバートの動作確認が実行されます。 +## Ss6Converter GUI のビルド +Ss6Converter GUI の開発環境構築には [Qt](https://www.qt.io/download-open-source) と Qt Creator が必要となります。 +Ss6Converter GUI は Ss6Converter の GUI ラッパーなので、 Ss6Converter バイナリが必要となります。 +事前にビルドしてください。 +### Qt Creator を実行 +Qt Creator で `SpriteStudio6-SDK\Build\Ss6ConverterGUI\Ss6ConverterGUI\Ss6ConverterGUI.pro` を開きます。 +### Qt Creator でビルド +`ビルド -> Build All Projects` を選択肢ビルドします。 +`SpriteStudio6-SDK\Build\Ss6ConverterGUI\build-Ss6ConverterGUI-XXX-{Debug|Release}` ディレクトリが生成され、 +Ss6Converter GUI のバイナリは `SpriteStudio6-SDK\Build\Ss6ConverterGUI\build-Ss6ConverterGUI-XXX-{Debug|Release}\Ss6ConverterGUI.app` に生成されます。 +実行するには, `Ss6Converter` のバイナリを `SpriteStudio6-SDK\Build\Ss6ConverterGUI\build-Ss6ConverterGUI-XXX-{Debug|Release}` へ配置してください。 +## Viewer2 のビルド +Viewer2 の開発環境構築には [JUCE](https://juce.com/get-juce/download) が必要になります。 +### JUCE Projucer.exe を実行 +Projucer.app を実行し、 `SpriteStudio6-SDK\Build\Viewer2\Viewer2.jucer` を開きます。 +### Visual Studio Solution の生成 +`Selected exporter` で `Visual Studio 2022` を選択し、 Visual Studio のアイコンをクリックすると、 sln ファイルが生成され Visual Studio が起動します。 +sln ファイルは `SpriteStudio6-SDK\Build\Viewer2\Builds\VisualStudio2022\SSViewer2.sln` に生成されます。 +### Solution file のビルド +`SpriteStudio6-SDK\Build\Viewer2\Builds\VisualStudio2022\SSViewer2.sln` の `SSViewer2_App` をビルドしてください。 +# macOS +## Ss6Converter のビルド +### フォルダの作成 +`SpriteStudio6-SDK` はチェックアウトしたSDKフォルダのパスになります。 +`SpriteStudio6-SDK/Build/build` フォルダを作成します。 +### Cmake(cmake-gui)を実行 +`Where is the source code:` に `SpriteStudio6-SDK/Build` の絶対パスを設定します。 +`Where to build the binaries:` に `SpriteStudio6-SDK/Build/build` の絶対パスを設定します。 +### xcodeproject の生成 +configure ボタンを押下します。 +生成するプロジェクトのフォーマットを選択するダイアログが表示されるので Xcode を選択し、 Done ボタンを押します。 +成功すれば `SpriteStudio6-SDK/Build/build` に xcodeproject が生成されます。 +### xcodeproject のビルド +`SpriteStudio6-SDK/Build/build/sssdk.xcodeproj` を開きます。 +ビルドターゲットを `ALL_BUILD` を選択しビルドします。 +`SpriteStudio6-SDK/Build/build/Converter/{Debug|Release}` に `Ss6Converter` のバイナリが生成されます。 +`RUN_TEST` を実行すると、`SpriteStudio6-SDK/Build/TestData` 以下の sspj ファイルのコンバートの動作確認が実行されます。 +## Ss6Converter GUI のビルド +Ss6Converter GUI の開発環境構築には [Qt](https://www.qt.io/download-open-source) と Qt Creator が必要となります。 +Ss6Converter GUI は Ss6Converter の GUI ラッパーなので、 Ss6Converter バイナリが必要となります。 +事前にビルドしてください。 +### Qt Creator を実行 +Qt Creator で `SpriteStudio6-SDK/Build/Ss6ConverterGUI/Ss6ConverterGUI/Ss6ConverterGUI.pro` を開きます。 +### Qt Creator でビルド +`ビルド -> Build All Projects` を選択肢ビルドします。 +`SpriteStudio6-SDK/Build/Ss6ConverterGUI/build-Ss6ConverterGUI-XXX-{Debug|Release}` ディレクトリが生成され、 +Ss6Converter GUI のバイナリは `SpriteStudio6-SDK/Build/Ss6ConverterGUI/build-Ss6ConverterGUI-XXX-{Debug|Release}/Ss6ConverterGUI.app` に生成されます。 +実行するには, `Ss6Converter` のバイナリを `SpriteStudio6-SDK/Build/Ss6ConverterGUI/build-Ss6ConverterGUI-XXX-{Debug|Release}/Ss6Converter` へ配置してください。 +## Viewer2 のビルド +Viewer2 の開発環境構築には [JUCE](https://juce.com/get-juce/download) が必要になります。 +### JUCE Projucer.app を実行 +Projucer.app を実行し、 `SpriteStudio6-SDK/Build/Viewer2/Viewer2.jucer` を開きます。 +### xcodeproject の生成 +`Selected exporter` で `Xcode (MacOSX)` を選択し、 Xcode のアイコンをクリックすると、 xcodeproject が生成され Xcode が起動します。 +xcodeproject は `SpriteStudio6-SDK/Build/Viewer2/Builds/MacOSX/SSViewer2.xcodeproj` に生成されます。 +### xcodeproject のビルド +`SpriteStudio6-SDK/Build/Viewer2/Builds/MacOSX/SSViewer2.xcodeproj` の `SSViewer2 - App` をビルドしてください。 diff --git a/docs/how-to-build-sdk-gui.md b/docs/how-to-build-sdk-gui.md new file mode 100644 index 00000000..051319b0 --- /dev/null +++ b/docs/how-to-build-sdk-gui.md @@ -0,0 +1,104 @@ +[**日本語**](./how-to-build-sdk-gui.ja.md) | [**English**](./how-to-build-sdk-gui.md) + +# How to Build the SDK (GUI) +This section describes the build procedure using a GUI. +It includes steps for setting up the development environment in a GUI. +# Environment Setup +## Windows +Please install the following: +* Visual Studio 2022 or higher +* PowerShell +* [Qt](https://www.qt.io/download-open-source) (*1)(*2) +* [git](https://git-scm.com/downloads) +* [CMake](https://cmake.org/download/) +* [JUCE](https://juce.com/get-juce/download) +\*1: Qt version 6.9.0 is recommended. If using other versions, specify the root path of the corresponding Visual Studio version in the environment variable `QT_PREFIX`. (e.g., if using 6.9.1, set `set QT_PREFIX=C:\Qt\6.9.1\msvc2022_64` or `set QT_PREFIX=C:\Qt\6.9.1\msvc2022_arm64`.) +\*2: Please install Qt Creator. +## macOS +Please install the following: +* Xcode +* [Qt](https://www.qt.io/download-open-source) (*3) +* [git](https://git-scm.com/downloads) +* [CMake](https://cmake.org/download/) +* [JUCE](https://juce.com/get-juce/download) +Except for Xcode and Qt, you can install them using [homebrew](https://brew.sh/) with the following command: +``` +brew install git cmake +``` +\*3: To make Ss6Converter-Qt a Universal Binary 2 (supporting both x64 and arm64), download Qt from the official Qt website. Qt version 6.9.0 is recommended. If using other versions, specify the Qt root path in the environment variable `QT_PREFIX`. (e.g., if using 6.9.1, set `export QT_PREFIX=~/Qt/6.9.1/macos`.) +# Obtaining Source Code +``` +git clone --recursive https://github.com/SpriteStudio/SpriteStudio6-SDK.git +``` +# Windows +## Building Ss6Converter +### Creating Folders +`SpriteStudio6-SDK` refers to the path of the checked-out SDK folder. +Create the `SpriteStudio6-SDK\Build\build` folder. +### Run CMake (cmake-gui) +Set the absolute path of `SpriteStudio6-SDK\Build` in `Where is the source code:`. +Set the absolute path of `SpriteStudio6-SDK\Build\build` in `Where to build the binaries:`. +### Generating Solution File +Press the Configure button. +A dialog to select the project format will appear; select `Visual Studio 17 2022` and press Finish. +Press the Generate button. If successful, a Visual Studio project will be generated in `SpriteStudio6-SDK\Build\build`. +### Building Visual Studio Solution +Open `SpriteStudio6-SDK\Build\build\sssdk.sln`. +Select `ALL_BUILD` as the build target and build it. +The `Ss6Converter.exe` binary will be generated in `SpriteStudio6-SDK\Build\build\Converter\{Debug|Release}`. +Running `RUN_TEST` will execute a conversion test for sspj files under `SpriteStudio6-SDK\Build\TestData`. +## Building Ss6Converter GUI +[Qt](https://www.qt.io/download-open-source) and Qt Creator are required to set up the development environment for Ss6Converter GUI. +Since Ss6Converter GUI is a GUI wrapper for Ss6Converter, the Ss6Converter binary is required. +Please build it in advance. +### Run Qt Creator +Open `SpriteStudio6-SDK\Build\Ss6ConverterGUI\Ss6ConverterGUI\Ss6ConverterGUI.pro` in Qt Creator. +### Build in Qt Creator +Select `Build -> Build All Projects` to build. +The `SpriteStudio6-SDK\Build\Ss6ConverterGUI\build-Ss6ConverterGUI-XXX-{Debug|Release}` directory will be generated, and the Ss6Converter GUI binary will be generated in `SpriteStudio6-SDK\Build\Ss6ConverterGUI\build-Ss6ConverterGUI-XXX-{Debug|Release}\Ss6ConverterGUI.app`. +To run it, place the `Ss6Converter` binary into `SpriteStudio6-SDK\Build\Ss6ConverterGUI\build-Ss6ConverterGUI-XXX-{Debug|Release}`. +## Building Viewer2 +[JUCE](https://juce.com/get-juce/download) is required for setting up the development environment for Viewer2. +### Run JUCE Projucer.exe +Run Projucer.exe and open `SpriteStudio6-SDK\Build\Viewer2\Viewer2.jucer`. +### Generating Visual Studio Solution +Select `Visual Studio 2022` in `Selected exporter` and click the Visual Studio icon. An sln file will be generated and Visual Studio will start. +The sln file is generated at `SpriteStudio6-SDK\Build\Viewer2\Builds\VisualStudio2022\SSViewer2.sln`. +### Building Solution File +Build `SSViewer2_App` in `SpriteStudio6-SDK\Build\Viewer2\Builds\VisualStudio2022\SSViewer2.sln`. +# macOS +## Building Ss6Converter +### Creating Folders +`SpriteStudio6-SDK` refers to the path of the checked-out SDK folder. +Create the `SpriteStudio6-SDK/Build/build` folder. +### Run CMake (cmake-gui) +Set the absolute path of `SpriteStudio6-SDK/Build` in `Where is the source code:`. +Set the absolute path of `SpriteStudio6-SDK/Build/build` in `Where to build the binaries:`. +### Generating xcodeproject +Press the Configure button. +A dialog to select the project format will appear; select Xcode and press Done. +If successful, an xcodeproject will be generated in `SpriteStudio6-SDK/Build/build`. +### Building xcodeproject +Open `SpriteStudio6-SDK/Build/build/sssdk.xcodeproj`. +Select `ALL_BUILD` as the build target and build it. +The `Ss6Converter` binary will be generated in `SpriteStudio6-SDK/Build/build/Converter/{Debug|Release}`. +Running `RUN_TEST` will execute a conversion test for sspj files under `SpriteStudio6-SDK/Build/TestData`. +## Building Ss6Converter GUI +[Qt](https://www.qt.io/download-open-source) and Qt Creator are required to set up the development environment for Ss6Converter GUI. +Since Ss6Converter GUI is a GUI wrapper for Ss6Converter, the Ss6Converter binary is required. +Please build it in advance. +### Run Qt Creator +Open `SpriteStudio6-SDK/Build/Ss6ConverterGUI/Ss6ConverterGUI/Ss6ConverterGUI.pro` in Qt Creator. +### Build in Qt Creator +Select `Build -> Build All Projects` to build. +The `SpriteStudio6-SDK/Build/Ss6ConverterGUI/build-Ss6ConverterGUI-XXX-{Debug|Release}` directory will be generated, and the Ss6Converter GUI binary will be generated in `SpriteStudio6-SDK/Build/Ss6ConverterGUI/build-Ss6ConverterGUI-XXX-{Debug|Release}/Ss6ConverterGUI.app`. +To run it, place the `Ss6Converter` binary into `SpriteStudio6-SDK/Build/Ss6ConverterGUI/build-Ss6ConverterGUI-XXX-{Debug|Release}/Ss6Converter`. +## Building Viewer2 +[JUCE](https://juce.com/get-juce/download) is required for setting up the development environment for Viewer2. +### Run JUCE Projucer.app +Run Projucer.app and open `SpriteStudio6-SDK/Build/Viewer2/Viewer2.jucer`. +### Generating xcodeproject +Select `Xcode (MacOSX)` in `Selected exporter` and click the Xcode icon. An xcodeproject will be generated and Xcode will start. +The xcodeproject is generated at `SpriteStudio6-SDK/Build/Viewer2/Builds/MacOSX/SSViewer2.xcodeproj`. +### Building xcodeproject +Build `SSViewer2 - App` in `SpriteStudio6-SDK/Build/Viewer2/Builds/MacOSX/SSViewer2.xcodeproj`. diff --git a/docs/how-to-build-sdk.ja.md b/docs/how-to-build-sdk.ja.md new file mode 100644 index 00000000..c497ef86 --- /dev/null +++ b/docs/how-to-build-sdk.ja.md @@ -0,0 +1,174 @@ +[**日本語**](./how-to-build-sdk.ja.md) | [**English**](./how-to-build-sdk.md) + +# SDKのビルド方法 +# はじめに +ここでは CLI でのビルド手順について記載します。 +GUI でのビルド手順については [SDKのビルド方法(GUI編)](how-to-build-sdk-gui.ja.md)を参照してください。 +# 環境構築 +## Windows +下記をインストールしてください。 +* Visual Studio 2022 以上 +* PowerShell +* [Qt](https://www.qt.io/download-open-source) (*1, *2) +* [git](https://git-scm.com/downloads) +* [CMake](https://cmake.org/download/) +\*1: Qt のバージョンは 6.9.0 を推奨しています。それ以外のバージョンを利用する場合は環境変数 `QT_PREFIX` にて 該当バージョンの Visual Studio の root path を指定してください。(e.g. 6.9.1 を利用する場合は `set QT_PREFIX=C:\Qt\6.9.1\msvc202_64` か `set QT_PREFIX=C:\Qt\6.9.1\msvc2022_arm64` と設定してください。) +\*2: x64 と arm64 の Qt を入れることを推奨しています。 +下記はオプショナルになります。ビルド高速化の為のソフトウェアです。 +* [Ninja](https://ninja-build.org/) +* [sccache](https://github.com/mozilla/sccache) +[Scoop](https://scoop.sh/) を利用すれば下記コマンドでインストール可能です。 +``` +scoop install ninja sccache +``` +## macOS +下記をインストールしてください。 +* Xcode +* [Qt](https://www.qt.io/download-open-source) (*1) +* [git](https://git-scm.com/downloads) +* [CMake](https://cmake.org/download/) +Xcode と Qt 以外は [homebrew](https://brew.sh/) を利用すれば下記コマンドでインストール可能です。 +``` +brew install git cmake +``` +\*1: Ss6Converter-Qt を Universal Binary 2 (x64 と arm64 両方対応)にするには Qt 本家から Qt をダウンロードしてください。 Qt のバージョンは 6.9.0 を推奨しています。それ以外のバージョンを利用する場合は環境変数 `QT_PREFIX` にて Qt の root path を指定してください。(e.g. 6.9.1 を利用する場合は `export QT_PREFIX=~/Qt/6.9.1/macos` と設定してください。) +下記はオプショナルになります。ビルド高速化の為のソフトウェアです。 +* [Ninja](https://ninja-build.org/) +* [sccache](https://github.com/mozilla/sccache) +[homebrew](https://brew.sh/) を利用すれば下記コマンドでインストール可能です。 +``` +brew install ninja sccache +``` +# ソース取得 +``` +git clone --recursive https://github.com/SpriteStudio/SpriteStudio6-SDK.git +``` +# ビルドスクリプトの引数 +## 接頭辞が release_ のビルドスクリプトの引数 +ビルドタイプは `Release` になります。ビルドタイプの変更不可です +Windows では第一引数で実行バイナリのアーキテクチャを指定できます。 `x64` か `arm64` を設定できます。指定がない場合はビルドスクリプトを実行した端末のアーキテクチャと同じものになります。 +## 接頭辞が build_ のビルドスクリプトの引数 +ビルドタイプをデバッグビルドにする場合は第一引数に `Debug` を設定してください。リリースビルドする場合は第一引数に `Release` を設定してください。指定がない場合は `Debug` になります。 +Windows では第二引数で実行バイナリのアーキテクチャを指定できます。 `x64` か `arm64` を設定できます。指定がない場合はビルドスクリプトを実行した端末のアーキテクチャと同じものになります。 +# 全リリースビルド +リリース物を生成するビルドです。全プロジェクトをビルドします。 +## Windows +`SpriteStudio6-SDK\Scripts\release_win.bat` を実行します。 +``` +.\Scripts\release_win.bat +``` +Ss6Converter, Ss6Converter-Qt と Viewer2 をリリースビルドし、zip 圧縮したファイルを `SpriteStudio6-SDK\Tools` に格納します。 +## macOS +`SpriteStudio6-SDK/Scripts/release_macos.sh` を実行します。 +``` +./Scripts/release_macos.sh +``` +Ss6Converter, Ss6Converter-Qt と Viewer2 をリリースビルドし、zip 圧縮したファイルを `SpriteStudio6-SDK/Tools` に格納します。 +# Ss6Converter ビルド +## リリースビルド +Ss6Converter(コマンドライン) と Ss6Converter-Qt(GUI ラッパー) をビルドします。 +デフォルトビルドタイプは `Release` になります。 +### Windows +`SpriteStudio6-SDK\Scripts\release_converter_win.bat` を実行します。 +成果物は `SpriteStudio6-SDK\Tools\Ss6Converter.zip` となります。 +``` +.\Scripts\release_converter_win.bat +``` +成果物の確認方法は下記になります。 +``` +powershell Expand-Archive -Force .\Tools\Ss6Converter.zip .\Tools\nstart .\Tools\Ss6Converter +``` +### macOS +`SpriteStudio6-SDK/Scripts/release_converter_macos.sh` を実行します。 +成果物は `SpriteStudio6-SDK/Tools/Ss6Converter_Mac.zip` となります。 +``` +./Scripts/release_converter_macos.sh +``` +成果物の確認方法は下記になります。 +``` +unzip -o ./Tools/Ss6Converter_Mac.zip -d ./Tools +open ./Tools/Ss6Converter +``` +## 開発ビルド +デフォルトビルドタイプは `Debug` になります。 +### Windows +Ss6Converter のビルドは `SpriteStudio6-SDK\Scripts\build_converter_win.bat` を実行します。 +ビルド作業ディレクトリは `SpriteStudio6-SDK\Build\Converter\build` となります。 +``` +.\Scripts\build_converter_win.bat +``` +成果物の確認方法は下記になります。 +``` +.\Build\Converter\build\Debug\Ss6Converter.exe -h +``` +Ss6Converter-Qt のビルドは `SpriteStudio6-SDK\Scripts\build_convertergui_win.bat` を実行します。 +ビルド作業ディレクトリは `SpriteStudio6-SDK\Build\Ss6ConverterGUI\build` となります。 +``` +.\Scripts\build_convertergui_win.bat +``` +成果物の確認方法は下記になります。ただし、Ss6Converter を同封していないので変換できません。 +``` +.\Build\Ss6ConverterGUI\Ss6ConverterGUI\build\Debug\Ss6ConverterGUI.exe +``` +### macOS +Ss6Converter (コマンドライン)のビルドは`SpriteStudio6-SDK/Scripts/build_converter_macos.sh` を実行します。 +ビルド作業ディレクトリは `SpriteStudio6-SDK/Build/Converter/build` となります。 +``` +./Scripts/build_converter_macos.sh +``` +成果物の確認方法は下記になります。 +``` +./Build/Converter/build/Ss6Converter -h +``` +Ss6Converter-Qt のビルドは `SpriteStudio6-SDK/Scripts/build_convertergui_macos.sh` を実行します。 +ビルド作業ディレクトリは `SpriteStudio6-SDK/Build/Ss6ConverterGUI/build` となります。 +``` +./Scripts/build_convertergui_macos.sh +``` +成果物の確認方法は下記になります。ただし、Ss6Converter を同封していないので変換できません。 +``` +open ./Build/Ss6ConverterGUI/Ss6ConverterGUI/build/Ss6ConverterGUI.app +``` +# Viewer2 ビルド +### リリースビルド +Viewer2 をビルドします。 +デフォルトビルドタイプは `Release` になります。 +#### Windows +SSViewer2 をパッケージングした zip アーカイブファイルを作るには `SpriteStudio6-SDK/Scripts/release_viewer2_win.bat` を実行します。 +成果物は `SpriteStudio6-SDK/Tools/viewer_sample_2_Win.zip` となります。 +デフォルトビルドタイプは Release になります。 +``` +./Scripts/release_viewer2_win.bat +``` +成果物の確認方法は下記になります。 +``` +powershell Expand-Archive -Force .\Tools\viewer_sample_2_Win.zip .\Tools\nstart .\Tools\viewer_sample_2_Win +``` +#### macOS +SSViewer2 をパッケージングした zip アーカイブファイルを作るには `SpriteStudio6-SDK/Scripts/release_viewer2_macos.sh` を実行します。 +成果物は `SpriteStudio6-SDK/Tools/viewer_sample_2_Mac.zip` となります。 +デフォルトビルドタイプは Release になります。 +``` +./Scripts/release_viewer2_macos.sh +``` +成果物の確認方法は下記になります。 +``` +unzip -o ./Tools/viewer_sample_2_Mac.zip -d ./Tools +open ./Tools/viewer_sample_2_Mac +``` +### 開発ビルド +デフォルトビルドタイプは `Debug` になります。 +#### Windows +`SpriteStudio6-SDK\Scripts\build_viewer2_win.bat` を実行します。 +`SpriteStudio6-SDK\Build\Viewer2\cmakeBuild` にてビルドします。 +``` +.\Scripts\build_viewer2_win.bat +start Build\Viewer2\cmakeBuild\SSView2_artefacts\Debug\SSViewer2.app +``` +#### macOS +`SpriteStudio6-SDK/Scripts/build_viewer2_macos.sh` を実行します。 +`SpriteStudio6-SDK/Build/Viewer2/cmakeBuild` にてビルドします。 +``` +./Scripts/build_viewer2_macos.sh +open Build/Viewer2/cmakeBuild/SSView2_artefacts/Debug/SSViewer2.app +``` diff --git a/docs/how-to-build-sdk.md b/docs/how-to-build-sdk.md new file mode 100644 index 00000000..33bc5a00 --- /dev/null +++ b/docs/how-to-build-sdk.md @@ -0,0 +1,174 @@ +[**日本語**](./how-to-build-sdk.ja.md) | [**English**](./how-to-build-sdk.md) + +# How to Build the SDK +# Introduction +This section describes the build procedure using a CLI. +For the GUI build procedure, please refer to [How to Build the SDK (GUI)](how-to-build-sdk-gui.md). +# Environment Setup +## Windows +Please install the following: +* Visual Studio 2022 or higher +* PowerShell +* [Qt](https://www.qt.io/download-open-source) (*1, *2) +* [git](https://git-scm.com/downloads) +* [CMake](https://cmake.org/download/) +\*1: Qt version 6.9.0 is recommended. If using other versions, specify the root path of the corresponding Visual Studio version in the environment variable `QT_PREFIX`. (e.g., if using 6.9.1, set `set QT_PREFIX=C:\Qt\6.9.1\msvc2022_64` or `set QT_PREFIX=C:\Qt\6.9.1\msvc2022_arm64`.) +\*2: It is recommended to install both x64 and arm64 versions of Qt. +The following are optional software for faster builds: +* [Ninja](https://ninja-build.org/) +* [sccache](https://github.com/mozilla/sccache) +You can install them using [Scoop](https://scoop.sh/) with the following command: +``` +scoop install ninja sccache +``` +## macOS +Please install the following: +* Xcode +* [Qt](https://www.qt.io/download-open-source) (*1) +* [git](https://git-scm.com/downloads) +* [CMake](https://cmake.org/download/) +Except for Xcode and Qt, you can install them using [homebrew](https://brew.sh/) with the following command: +``` +brew install git cmake +``` +\*1: To make Ss6Converter-Qt a Universal Binary 2 (supporting both x64 and arm64), download Qt from the official Qt website. Qt version 6.9.0 is recommended. If using other versions, specify the Qt root path in the environment variable `QT_PREFIX`. (e.g., if using 6.9.1, set `export QT_PREFIX=~/Qt/6.9.1/macos`.) +The following are optional software for faster builds: +* [Ninja](https://ninja-build.org/) +* [sccache](https://github.com/mozilla/sccache) +You can install them using [homebrew](https://brew.sh/) with the following command: +``` +brew install ninja sccache +``` +# Obtaining Source Code +``` +git clone --recursive https://github.com/SpriteStudio/SpriteStudio6-SDK.git +``` +# Build Script Arguments +## Arguments for scripts prefixed with `release_` +The build type will be `Release`. The build type cannot be changed. +On Windows, you can specify the architecture of the executable binary in the first argument. `x64` or `arm64` can be set. If not specified, it will be the same as the architecture of the terminal running the build script. +## Arguments for scripts prefixed with `build_` +To make the build type a Debug build, set `Debug` in the first argument. For a Release build, set `Release` in the first argument. If not specified, it will default to `Debug`. +On Windows, you can specify the architecture of the executable binary in the second argument. `x64` or `arm64` can be set. If not specified, it will be the same as the architecture of the terminal running the build script. +# Building All Releases +This is a build for generating release artifacts. It builds all projects. +## Windows +Run `SpriteStudio6-SDK\Scripts\release_win.bat`. +``` +.\Scripts\release_win.bat +``` +It builds Ss6Converter, Ss6Converter-Qt, and Viewer2 in Release mode and stores the zipped files in `SpriteStudio6-SDK\Tools`. +## macOS +Run `SpriteStudio6-SDK/Scripts/release_macos.sh`. +``` +./Scripts/release_macos.sh +``` +It builds Ss6Converter, Ss6Converter-Qt, and Viewer2 in Release mode and stores the zipped files in `SpriteStudio6-SDK/Tools`. +# Building Ss6Converter +## Release Build +Builds Ss6Converter (command line) and Ss6Converter-Qt (GUI wrapper). +The default build type is `Release`. +### Windows +Run `SpriteStudio6-SDK\Scripts\release_converter_win.bat`. +The artifact will be `SpriteStudio6-SDK\Tools\Ss6Converter.zip`. +``` +.\Scripts\release_converter_win.bat +``` +To verify the artifact: +``` +powershell Expand-Archive -Force .\Tools\Ss6Converter.zip .\Tools\nstart .\Tools\Ss6Converter +``` +### macOS +Run `SpriteStudio6-SDK/Scripts/release_converter_macos.sh`. +The artifact will be `SpriteStudio6-SDK/Tools/Ss6Converter_Mac.zip`. +``` +./Scripts/release_converter_macos.sh +``` +To verify the artifact: +``` +unzip -o ./Tools/Ss6Converter_Mac.zip -d ./Tools +open ./Tools/Ss6Converter +``` +## Development Build +The default build type is `Debug`. +### Windows +To build Ss6Converter, run `SpriteStudio6-SDK\Scripts\build_converter_win.bat`. +The build working directory will be `SpriteStudio6-SDK\Build\Converter\build`. +``` +.\Scripts\build_converter_win.bat +``` +To verify the artifact: +``` +.\Build\Converter\build\Debug\Ss6Converter.exe -h +``` +To build Ss6Converter-Qt, run `SpriteStudio6-SDK\Scripts\build_convertergui_win.bat`. +The build working directory will be `SpriteStudio6-SDK\Build\Ss6ConverterGUI\build`. +``` +.\Scripts\build_convertergui_win.bat +``` +To verify the artifact (Note: It cannot convert because Ss6Converter is not included): +``` +.\Build\Ss6ConverterGUI\Ss6ConverterGUI\build\Debug\Ss6ConverterGUI.exe +``` +### macOS +To build Ss6Converter (command line), run `SpriteStudio6-SDK/Scripts/build_converter_macos.sh`. +The build working directory will be `SpriteStudio6-SDK/Build/Converter/build`. +``` +./Scripts/build_converter_macos.sh +``` +To verify the artifact: +``` +./Build/Converter/build/Ss6Converter -h +``` +To build Ss6Converter-Qt, run `SpriteStudio6-SDK/Scripts/build_convertergui_macos.sh`. +The build working directory will be `SpriteStudio6-SDK/Build/Ss6ConverterGUI/build`. +``` +./Scripts/build_convertergui_macos.sh +``` +To verify the artifact (Note: It cannot convert because Ss6Converter is not included): +``` +open ./Build/Ss6ConverterGUI/Ss6ConverterGUI/build/Ss6ConverterGUI.app +``` +# Building Viewer2 +### Release Build +Builds Viewer2. +The default build type is `Release`. +#### Windows +To create a zip archive of the packaged SSViewer2, run `SpriteStudio6-SDK/Scripts/release_viewer2_win.bat`. +The artifact will be `SpriteStudio6-SDK/Tools/viewer_sample_2_Win.zip`. +The default build type is Release. +``` +./Scripts/release_viewer2_win.bat +``` +To verify the artifact: +``` +powershell Expand-Archive -Force .\Tools\viewer_sample_2_Win.zip .\Tools\nstart .\Tools\viewer_sample_2_Win +``` +#### macOS +To create a zip archive of the packaged SSViewer2, run `SpriteStudio6-SDK/Scripts/release_viewer2_macos.sh`. +The artifact will be `SpriteStudio6-SDK/Tools/viewer_sample_2_Mac.zip`. +The default build type is Release. +``` +./Scripts/release_viewer2_macos.sh +``` +To verify the artifact: +``` +unzip -o ./Tools/viewer_sample_2_Mac.zip -d ./Tools +open ./Tools/viewer_sample_2_Mac +``` +### Development Build +The default build type is `Debug`. +#### Windows +Run `SpriteStudio6-SDK\Scripts\build_viewer2_win.bat`. +Builds in `SpriteStudio6-SDK\Build\Viewer2\cmakeBuild`. +``` +.\Scripts\build_viewer2_win.bat +start Build\Viewer2\cmakeBuild\SSView2_artefacts\Debug\SSViewer2.app +``` +#### macOS +Run `SpriteStudio6-SDK/Scripts/build_viewer2_macos.sh`. +Builds in `SpriteStudio6-SDK/Build/Viewer2/cmakeBuild`. +``` +./Scripts/build_viewer2_macos.sh +open Build/Viewer2/cmakeBuild/SSView2_artefacts/Debug/SSViewer2.app +``` diff --git a/docs/how-to-use-converter.ja.md b/docs/how-to-use-converter.ja.md new file mode 100644 index 00000000..066611a6 --- /dev/null +++ b/docs/how-to-use-converter.ja.md @@ -0,0 +1,77 @@ +[**日本語**](./how-to-use-converter.ja.md) | [**English**](./how-to-use-converter.md) + +# コンバータの使い方 +# Ss6Converter +## お知らせ +* 2021/04/07 出力するデータサイズを大幅に削減した新しいコンバータを公開しました。[Ss6ConverterVer2](https://github.com/SpriteStudio/Ss6ConverterVer2/wiki) こちらもご確認下さい。 +* 2019/02/25 C言語のソースファイル形式で出力する機能は近い将来削除される予定です。利用場面が限定的であり現在のところメンテナンスコストに比してサポートを継続する価値が無いと考えられるからです。今後も最新のSDKと共に継続してご利用になりたいユーザー様は[こちら](../README.ja.md#inquiry)からご相談ください。 +## 概要 +Ss6Converter は OPTPiX SpriteStudio 6 で製作したアニメーションデータをランタイム用の形式(ssbp、json、ssfb)に変換するコンバータです。 +このコンバータが出力するデータは汎用目的であり、特定のプレイヤー専用のデータを出力するものではありません。 +[ソースファイル](https://github.com/SpriteStudio/SpriteStudio6-SDK/tree/master/Build/Converter)を公開していますので自由にカスタマイズすることが可能です。 +## 取得方法 +[releases](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases) から各プラットフォームの Ss6Converter アーカイブをダウンロードしてください。 +最新版は [こちらに](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases/latest) になります。 +## 動作を確認している環境 +* 動作を確認しているOSのバージョン +* Windows版 :10 +## 使用手順 +### GUIで行う場合 +![2019-09-26_15h45_48](https://user-images.githubusercontent.com/5117608/65668943-a11bd380-e07d-11e9-8268-e05d2281f917.png) +1. Ss6ConveterGUIを実行します。 +2. コンバートするsspjファイルをドラック&ドロップして登録します。 +3. 必要なファイル形式を選択します。(使用するプレイヤープログラムが対応する形式を選んでください) +4. `Convet Start` ボタンを押してコンバートを開始します。 +5. Statusが「Convert Success!」と表示されると、sspj フォルダに選択した形式の拡張子(.ssbp/.json/.ssfbなど)が付いた同名のファイルが作成されます。 +### コマンドラインで行う場合 +コマンドプロンプトを起動し以下の様に入力し実行します。 +`Ss6Converter 変換対象のsspjファイルの**フルパス** [オプション]...` +#### オプション +* -o `出力フォルダのパス` + + 省略した場合、sspj ファイルと同じフォルダに出力されます。 +* -f `出力するファイル形式の指定` + + 形式には ssbp/json/ssfb のいずれかを指定します。※2019/09/26 時点 + + 使用するプレイヤープログラムが対応する形式を選択してください。 +#### 実行例 +``` +Ss6Converter C:\ss_anime\test.sspj -o D:\output_path\ -f ssfb +``` +`C:\ss_anime\test.sspj` ファイル及び、このsspjファイルに登録された ssae, ssce, ssee ファイルを1つのssfbファイルに変換し、`D:\output_path\` フォルダに保存します。 +変換に成功すると出力フォルダに選択した形式の拡張子(.ssbp/.json/.ssfbなど)が付いた同名のファイルが作成されます。 + +## 出力ファイルについて +出力ファイルには、test.sspj に登録された全ての *.ssae *.ssce *.ssee ファイルが変換され含まれています。 +参照イメージ(画像ファイル)は含まれませんのでプレイヤー側で利用する際に適切な場所へ配置するようにしてください。 + +## ssbpファイルとプレイヤーとの互換性 +ssbpファイルにはフォーマットバージョンが存在しており、アップデートによって変更が生じると使用中のプレイヤーで再生できなくなる可能性があります。 +下記の表を参考に、プレイヤーが対応しているSpriteStudioのバージョンに該当するSDKを取得し、ここに含まれるコンバータを利用するようにしてください + +**SS6Player for Cocos2d-x および ssbpLib をご利用の方は特にご注意ください。** + +| ssbpのフォーマットバージョン | [SS6 SDK のバージョン](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases) | [SpriteStudio](https://www.webtech.co.jp/help/ja/spritestudio/download/ss6download/) | 備考 | +| 11 | 1.6.x | 6.2.0 | | +| 10 | 1.5.x | 6.2.0 | | +| 9 | 1.4.x | 6.1.3 | | +| 8 | 1.3.x | 6.1 | | +| 7 | 1.2.x | 6.0 | | +| 6 | 1.1.x | 6.0 | | +| 5 | 1.0.x | 6.0 | ※メッシュデータには対応していません。 | +* ssbpファイルのバージョンの違いによってアニメが再生できない場合の対処方法 + + プレイヤーの最新バージョンを取得し差し替え、または、差分をマージする。全アニメデータを再コンバートする必要がございます。 + + 動作確認が取れているプレイヤーとコンバータの組み合わせて使用し、アップデートする必要のある部分のみプレイヤーをマージする。 + +## データ作成時の注意点 +* ファイル名に全角文字を使用しないでください。 +* セル名、パーツ名、ラベル名に全角文字を使用しないでください。 +* 16色PNGには対応していません。圧縮ありで保存した場合に16色PNGに変換される場合があります。 +コンバートができない場合は圧縮なしで保存して試してみてください。 +* セルマップには必ず1つのセルリストを登録してください。 +セルリストがない場合プレイヤーがssbpファイルの解析に失敗します。 + +## ファイルフォーマット +- [ssbp のフォーマット](binary-file-format.ja.md) +- [sspkg のフォーマット](sspkg.ja.md) + +## コンバータのビルド方法 +* [ビルドの手順](how-to-build-sdk.ja.md) diff --git a/docs/how-to-use-converter.md b/docs/how-to-use-converter.md new file mode 100644 index 00000000..5a4da5af --- /dev/null +++ b/docs/how-to-use-converter.md @@ -0,0 +1,78 @@ +[**日本語**](./how-to-use-converter.ja.md) | [**English**](./how-to-use-converter.md) + +# How to Use the Converter +# Ss6Converter +## Notices +* 2021/04/07 We have released a new converter that significantly reduces the output data size. Please also check [Ss6ConverterVer2](https://github.com/SpriteStudio/Ss6ConverterVer2/wiki). +* 2019/02/25 The feature to output in C language source file format is planned to be removed in the near future. This is because its use cases are limited, and it is currently considered not worth the maintenance cost. If you are a user who wish to continue using this with the latest SDK, please contact us from [here](../README.md#contact). +## Overview +Ss6Converter is a tool for converting animation data created with OPTPiX SpriteStudio 6 into formats for runtimes (ssbp, json, ssfb). +The data output by this converter is for general purposes and is not intended for a specific player only. +Since the [source files](https://github.com/SpriteStudio/SpriteStudio6-SDK/tree/master/Build/Converter) are public, you can customize it freely. +## How to Obtain +Please download the Ss6Converter archive for your platform from [Releases](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases). +The latest version is [here](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases/latest). +## Confirmed Operating Environments +* Confirmed OS versions +* Windows version: 10 +## Usage Procedures +### Using the GUI +![2019-09-26_15h45_48](https://user-images.githubusercontent.com/5117608/65668943-a11bd380-e07d-11e9-8268-e05d2281f917.png) +1. Run `Ss6ConverterGUI`. +2. Drag and drop the sspj files you want to convert to register them. +3. Select the required file format. (Choose the format supported by the player program you are using) +4. Press the `Convert Start` button to begin conversion. +5. When the status shows "Convert Success!", files with the same name and the selected extension (.ssbp/.json/.ssfb, etc.) will be created in the sspj folder. +### Using the Command Line +Start the command prompt and execute it as follows: +`Ss6Converter **Full Path** of the target sspj file [Options]...` +#### Options +* -o `Output folder path` + + If omitted, it will be output to the same folder as the sspj file. +* -f `Specify output file format` + + Specify one of ssbp, json, or ssfb. *As of 2019/09/26 + + Select the format supported by the player program you are using. +#### Execution Example +``` +Ss6Converter C:\ss_anime\test.sspj -o D:\output_path\ -f ssfb +``` +Converts the `C:\ss_anime\test.sspj` file and the ssae, ssce, and ssee files registered in this sspj file into a single ssfb file, and saves it in the `D:\output_path\` folder. +Upon successful conversion, a file with the same name and the selected extension (.ssbp/.json/.ssfb, etc.) will be created in the output folder. + +## About Output Files +The output file contains all converted *.ssae, *.ssce, and *.ssee files registered in test.sspj. +Reference images (image files) are not included, so please place them in an appropriate location when using them on the player side. + +## Compatibility between ssbp Files and Players +ssbp files have format versions, and if changes occur due to updates, they may become unplayable on the player you are using. +Referring to the table below, please obtain the SDK corresponding to the SpriteStudio version supported by your player and use the converter included in it. + +**Users of SS6Player for Cocos2d-x and ssbpLib should be particularly careful.** + +| ssbp Format Version | [SS6 SDK Version](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases) | [SpriteStudio](https://www.webtech.co.jp/help/en/spritestudio/download/ss6download/) | Remarks | +| --- | --- | --- | --- | +| 11 | 1.6.x | 6.2.0 | | +| 10 | 1.5.x | 6.2.0 | | +| 9 | 1.4.x | 6.1.3 | | +| 8 | 1.3.x | 6.1 | | +| 7 | 1.2.x | 6.0 | | +| 6 | 1.1.x | 6.0 | | +| 5 | 1.0.x | 6.0 | *Does not support mesh data. | +* How to deal with cases where animation cannot be played due to different ssbp file versions: + + Obtain and replace with the latest version of the player, or merge the differences. All animation data needs to be re-converted. + + Use a combination of a player and converter that have been confirmed to work, and merge only the parts of the player that need updating. + +## Precautions for Data Creation +* Do not use double-byte characters in file names. +* Do not use double-byte characters in cell names, part names, or label names. +* 16-color PNG is not supported. It may be converted to 16-color PNG if saved with compression. +If conversion is not possible, try saving without compression. +* Always register one cell list in the cell map. +Without a cell list, the player will fail to parse the ssbp file. + +## File Format +- [ssbp Format](binary-file-format.md) +- [sspkg Format](sspkg.md) + +## How to Build the Converter +* [Build Procedure](how-to-build-sdk.md) diff --git a/docs/plistConverter.ja.md b/docs/plistConverter.ja.md new file mode 100644 index 00000000..ac6e7896 --- /dev/null +++ b/docs/plistConverter.ja.md @@ -0,0 +1,30 @@ +[**日本語**](./plistConverter.ja.md) | [**English**](./plistConverter.md) + +# plistConverter +## 概要 +plistConverter は OPTPiX SpriteStudio 6 のスプライトシート機能で出力されたセル情報(plist)をPlayStationMobile SDK で使用しやすいxml形式に変換するコンバータです。 +ソースファイルを公開していますので自由にカスタマイズすることが可能です。 +* 免責事項 +本ソフトウェアは**評価版**であり、動作検証、評価を目的として配布しているため、 +何らかの不具合が含まれている可能性があることをご了承いただいた上で、 +ご利用いただきますようお願い致します。 +## 取得方法 +Windowsで使用する事ができます。 +tools/plistConverter.zipに実行ファイルが含まれています。 +Build/plistConverterにソースファイルが含まれています。 +Visual Studio Express 2013 for Windows DesktopでplistConverter_src.zipないのplistConverter.slnを開きビルドしてください。 +## 使用手順 +* Sprite Studio 6でスプライトシートの作成 +メニュー>OPTPiX Labs>スプライトシートを生成を選択します。 +Trim Transparentをチェックします。 +Output FormatをCocos2d-xにします。 +TextureSize等を設定し、Exportボタンを押します。 +plistとpngが出力されます。 +* plistのコンバート +コマンドプロンプトを起動し、plistConverter.exe を実行します。 +第一引数に plist のパスを設定します。 +同じフォルダにxmlファイルが作成されます。 +* ゲームへの組み込み +作成したxmlファイルとpngファイルをプロジェクトへ追加します。 +出力したxmlファイルから画像を表示するサンプルプログラムを公開しています。 +[こちらをご参照ください。](https://github.com/SpriteStudio/SS5PlayerForPlayStationMobile/wiki/textuerpack) diff --git a/docs/plistConverter.md b/docs/plistConverter.md new file mode 100644 index 00000000..9e30e154 --- /dev/null +++ b/docs/plistConverter.md @@ -0,0 +1,28 @@ +[**日本語**](./plistConverter.ja.md) | [**English**](./plistConverter.md) + +# plistConverter +## Overview +plistConverter is a tool for converting cell information (plist) output by the sprite sheet feature of OPTPiX SpriteStudio 6 into an XML format that is easy to use with the PlayStation®Mobile SDK. +Since the source files are public, you can customize it freely. +* Disclaimer +This software is an **evaluation version** distributed for the purpose of operation verification and evaluation. Please use it with the understanding that it may contain some bugs. +## How to Obtain +It can be used on Windows. +The executable file is included in `tools/plistConverter.zip`. +The source files are included in `Build/plistConverter`. +To build, open `plistConverter.sln` inside `plistConverter_src.zip` with Visual Studio Express 2013 for Windows Desktop. +## Usage Procedures +* Creating a Sprite Sheet in SpriteStudio 6 +Select Menu > OPTPiX Labs > Generate Sprite Sheet. +Check "Trim Transparent". +Set "Output Format" to "Cocos2d-x". +Set the texture size, etc., and press the "Export" button. +A plist and a png will be output. +* Converting the plist +Start the command prompt and run `plistConverter.exe`. +Set the path of the plist in the first argument. +An XML file will be created in the same folder. +* Integration into a Game +Add the created XML and PNG files to your project. +We have released a sample program that displays images from the output XML file. +[Please refer to this for details.](https://github.com/SpriteStudio/SS5PlayerForPlayStationMobile/wiki/textuerpack) diff --git a/docs/sspkg-file-format-details.ja.md b/docs/sspkg-file-format-details.ja.md new file mode 100644 index 00000000..7a1ae8dd --- /dev/null +++ b/docs/sspkg-file-format-details.ja.md @@ -0,0 +1,21 @@ +[**日本語**](./sspkg-file-format-details.ja.md) | [**English**](./sspkg-file-format-details.md) + +# sspkg ファイルフォーマットについて +## 概要 +sspkgファイルはオリジナルのデータと再生用のssfbをZIPで格納したファイルになる。 +## 格納状態 +[https://github.com/SpriteStudio/SS6PlayerForWeb/tree/develop/TestData/MeshBone](https://github.com/SpriteStudio/SS6PlayerForWeb/tree/develop/TestData/MeshBone) +例として以下のプロジェクトデータをSS6Converterを通しsspkgオプションを指定すると以下のようになる。 +``` +root - | sspkg.json | thumbnail.png +ssfb | | Knight.ssfb | +org | | Effect.png | Effect.ssce | Flame_effect.ssee | Knight.png | Knight.ssce | Knight_arrow.ssae | Knight_bomb.ssae | Knight_lance.ssae +``` +* sspkg.json +* thumbnail.png +についてはコンバーターにより生成され同梱される。 +thumbnail.pngは複数アニメーションが格納されている場合先頭アニメーションとなる。 +## sspkg.json +``` +{ "version" : "1.00", "ssversion" : "6.40", "filelist" : { "ssfb" : [ "Knight.ssfb" ], "org" :[ "Effect.png", "Effect.ssce", "Flame_effect.ssee", "Knight.png", "Knight.ssce", "Knight_arrow.ssae", "Knight_bomb.ssae", "Knight_lance.ssae" ] } +} +``` +ファイルリストと作成したSSのバージョン、コンバーターのバージョンが格納される diff --git a/docs/sspkg-file-format-details.md b/docs/sspkg-file-format-details.md new file mode 100644 index 00000000..8ef8a3dc --- /dev/null +++ b/docs/sspkg-file-format-details.md @@ -0,0 +1,50 @@ +[**日本語**](./sspkg-file-format-details.ja.md) | [**English**](./sspkg-file-format-details.md) + +# About sspkg File Format +## Overview +The sspkg file is a ZIP archive containing the original data and an ssfb file for playback. +## Storage Structure +[https://github.com/SpriteStudio/SS6PlayerForWeb/tree/develop/TestData/MeshBone](https://github.com/SpriteStudio/SS6PlayerForWeb/tree/develop/TestData/MeshBone) +As an example, specifying the `sspkg` option through SS6Converter for the following project data results in the following structure: +``` +root - + | sspkg.json + | thumbnail.png + +ssfb + | | Knight.ssfb + | + +org + | | Effect.png + | | Effect.ssce + | | Flame_effect.ssee + | | Knight.png + | | Knight.ssce + | | Knight_arrow.ssae + | | Knight_bomb.ssae + | | Knight_lance.ssae +``` +* sspkg.json +* thumbnail.png +These are generated and bundled by the converter. +thumbnail.png will be the first animation if multiple animations are stored. +## sspkg.json +```json +{ + "version" : "1.00", + "ssversion" : "6.40", + "filelist" : { + "ssfb" : [ "Knight.ssfb" ], + "org" :[ + "Effect.png", + "Effect.ssce", + "Flame_effect.ssee", + "Knight.png", + "Knight.ssce", + "Knight_arrow.ssae", + "Knight_bomb.ssae", + "Knight_lance.ssae" + ] + } +} +``` +The file list, the version of the SpriteStudio that created it, and the version of the converter are stored. diff --git a/docs/sspkg-format.ja.md b/docs/sspkg-format.ja.md new file mode 100644 index 00000000..3c6bb198 --- /dev/null +++ b/docs/sspkg-format.ja.md @@ -0,0 +1,14 @@ +[**日本語**](./sspkg-format.ja.md) | [**English**](./sspkg-format.md) + +# sspkg format +## 概要 +sspkgファイルはオリジナルのデータと再生用のssfbをZIPで格納したファイルになる。 +## 格納状態 +[https://github.com/SpriteStudio/SS6PlayerForWeb/tree/develop/TestData/MeshBone](https://github.com/SpriteStudio/SS6PlayerForWeb/tree/develop/TestData/MeshBone) +例として以下のプロジェクトデータをSS6Converterを通しsspkgオプションを指定すると以下のようになる。 +``` +root - | sspkg.json | thumbnail.png +ssfb | | Knight.ssfb | +org | | Effect.png | Effect.ssce | Flame_effect.ssee | Knight.png | Knight.ssce | Knight_arrow.ssae | Knight_bomb.ssae | Knight_lance.ssae +``` +* sspkg.json +* thumbnail.png +についてはコンバーターにより生成され同梱される。 diff --git a/docs/sspkg-format.md b/docs/sspkg-format.md new file mode 100644 index 00000000..5161a6c0 --- /dev/null +++ b/docs/sspkg-format.md @@ -0,0 +1,28 @@ +[**日本語**](./sspkg-format.ja.md) | [**English**](./sspkg-format.md) + +# sspkg Format +## Overview +The sspkg file is a ZIP archive containing the original data and an ssfb file for playback. +## Storage Structure +[https://github.com/SpriteStudio/SS6PlayerForWeb/tree/develop/TestData/MeshBone](https://github.com/SpriteStudio/SS6PlayerForWeb/tree/develop/TestData/MeshBone) +As an example, specifying the `sspkg` option through SS6Converter for the following project data results in the following structure: +``` +root - + | sspkg.json + | thumbnail.png + +ssfb + | | Knight.ssfb + | + +org + | | Effect.png + | | Effect.ssce + | | Flame_effect.ssee + | | Knight.png + | | Knight.ssce + | | Knight_arrow.ssae + | | Knight_bomb.ssae + | | Knight_lance.ssae +``` +* sspkg.json +* thumbnail.png +These are generated and bundled by the converter. diff --git a/docs/sspkg.ja.md b/docs/sspkg.ja.md new file mode 100644 index 00000000..26e7ceea --- /dev/null +++ b/docs/sspkg.ja.md @@ -0,0 +1,26 @@ +[**日本語**](./sspkg.ja.md) | [**English**](./sspkg.md) + +# sspkg +## 概要 +sspkgファイルはオリジナルのデータと再生用のssfbをZIPで格納したファイルになる。 +## 格納状態 +[https://github.com/SpriteStudio/SS6PlayerForWeb/tree/develop/TestData/MeshBone](https://github.com/SpriteStudio/SS6PlayerForWeb/tree/develop/TestData/MeshBone) +例として以下のプロジェクトデータをSS6Converterを通しsspkgオプションを指定すると以下のようになる。 +``` +root - + meta | | sspkg.json | | thumbnail.png | Knight.ssfb | Effect.png | Effect.ssce | Flame_effect.ssee | Knight.sspj | Knight.png | Knight.ssce | Knight_arrow.ssae | Knight_bomb.ssae | Knight_lance.ssae +``` +* sspkg.json +* thumbnail.png +についてはコンバーターにより生成され同梱される。 +コンバーターはこちらのSS6Converterを使用し、-sspkgオプションにより生成される +[https://github.com/SpriteStudio/SpriteStudio6-SDK/releases](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases) +( 2021/02/01 ではdevelopブランチに未マージ ) +thumbnail.pngは複数アニメーションが格納されている場合先頭アニメーションとなる。 +## sspkg.json +``` +{ "version" : "1.00", "ssversion" : "6.40", "filelist" : [ "Effect.png", "Effect.ssce", "Flame_effect.ssee", "Knight.sspj", "Knight.png", "Knight.ssce", "Knight_arrow.ssae", "Knight_bomb.ssae", "Knight_lance.ssae" ] } +} +``` +ファイルリストと作成したSSのバージョン、コンバーターのバージョンが格納される +## サンプル pkg +[https://github.com/SpriteStudio/SS6PlayerForWeb/blob/develop/TestData/MeshBone/Knight.sspkg](https://github.com/SpriteStudio/SS6PlayerForWeb/blob/develop/TestData/MeshBone/Knight.sspkg) diff --git a/docs/sspkg.md b/docs/sspkg.md new file mode 100644 index 00000000..0289ee49 --- /dev/null +++ b/docs/sspkg.md @@ -0,0 +1,51 @@ +[**日本語**](./sspkg.ja.md) | [**English**](./sspkg.md) + +# sspkg +## Overview +The sspkg file is a ZIP archive containing the original data and an ssfb file for playback. +## Storage Structure +[https://github.com/SpriteStudio/SS6PlayerForWeb/tree/develop/TestData/MeshBone](https://github.com/SpriteStudio/SS6PlayerForWeb/tree/develop/TestData/MeshBone) +As an example, specifying the `sspkg` option through SS6Converter for the following project data results in the following structure: +``` +root - + + meta + | | sspkg.json + | | thumbnail.png + | Knight.ssfb + | Effect.png + | Effect.ssce + | Flame_effect.ssee + | Knight.sspj + | Knight.png + | Knight.ssce + | Knight_arrow.ssae + | Knight_bomb.ssae + | Knight_lance.ssae +``` +* sspkg.json +* thumbnail.png +These are generated and bundled by the converter. +The converter is the [SS6Converter](https://github.com/SpriteStudio/SpriteStudio6-SDK/releases) found here, and the sspkg is generated by the `-sspkg` option. +(As of 2021/02/01, it is not yet merged into the develop branch.) +thumbnail.png will be the first animation if multiple animations are stored. +## sspkg.json +```json +{ + "version" : "1.00", + "ssversion" : "6.40", + "filelist" : [ + "Effect.png", + "Effect.ssce", + "Flame_effect.ssee", + "Knight.sspj", + "Knight.png", + "Knight.ssce", + "Knight_arrow.ssae", + "Knight_bomb.ssae", + "Knight_lance.ssae" + ] +} +``` +The file list, the version of the SpriteStudio that created it, and the version of the converter are stored. +## Sample pkg +[https://github.com/SpriteStudio/SS6PlayerForWeb/blob/develop/TestData/MeshBone/Knight.sspkg](https://github.com/SpriteStudio/SS6PlayerForWeb/blob/develop/TestData/MeshBone/Knight.sspkg) diff --git a/docs/viewer.ja.md b/docs/viewer.ja.md new file mode 100644 index 00000000..17dd812e --- /dev/null +++ b/docs/viewer.ja.md @@ -0,0 +1,23 @@ +[**日本語**](./viewer.ja.md) | [**English**](./viewer.md) + +# ビューア +## 概要 +OPTPiX SpriteStudio 6 で制作したアニメーションデータを再生するためのサンプルプログラムです。 +OpenGL を利用しており、Windows/Mac 両方で動作します。 +ソースファイルを公開しており自由にカスタマイズしてお使いいただけます。 +## ダウンロード +* Windows 版 +* [安定版](https://github.com/SpriteStudio/SpriteStudio6-SDK/blob/master/Tools/viewer_sample.zip?raw=true) +* [開発版](https://github.com/SpriteStudio/SpriteStudio6-SDK/blob/develop/Tools/viewer_sample.zip?raw=true) +* Mac 版 +* [安定版](https://github.com/SpriteStudio/SpriteStudio6-SDK/blob/master/Tools/viewer_sample_Mac.zip?raw=true) +* [開発版](https://github.com/SpriteStudio/SpriteStudio6-SDK/blob/develop/Tools/viewer_sample_Mac.zip?raw=true) +## 使い方 +* ダウンロードし、解凍した実行ファイルを実行します。 +* Main Panel の Load .sspj メニューを選択し、再生したい.sspj ファイルを指定します。 +* Play で再生し、Pause で一時停止します。 +* Animation で ssae ファイル、及び含まれるアニメーションを選択し再生します。 +## ビルド方法 +* ソースファイルの場所 +* 各ブランチの Build/Viewer にあります。 +* [ビルドの手順](how-to-build-sdk.ja.md) diff --git a/docs/viewer.md b/docs/viewer.md new file mode 100644 index 00000000..87ddefb3 --- /dev/null +++ b/docs/viewer.md @@ -0,0 +1,23 @@ +[**日本語**](./viewer.ja.md) | [**English**](./viewer.md) + +# Viewer +## Overview +This is a sample program for playing animation data created with OPTPiX SpriteStudio 6. +It uses OpenGL and runs on both Windows and Mac. +The source files are public, and you can customize them freely. +## Download +* Windows Version +* [Stable Version](https://github.com/SpriteStudio/SpriteStudio6-SDK/blob/master/Tools/viewer_sample.zip?raw=true) +* [Development Version](https://github.com/SpriteStudio/SpriteStudio6-SDK/blob/develop/Tools/viewer_sample.zip?raw=true) +* Mac Version +* [Stable Version](https://github.com/SpriteStudio/SpriteStudio6-SDK/blob/master/Tools/viewer_sample_Mac.zip?raw=true) +* [Development Version](https://github.com/SpriteStudio/SpriteStudio6-SDK/blob/develop/Tools/viewer_sample_Mac.zip?raw=true) +## Usage +* Download and run the unzipped executable file. +* Select the "Load .sspj" menu in the Main Panel and specify the .sspj file you want to play. +* "Play" to play, and "Pause" to pause. +* Use "Animation" to select and play an ssae file and the animations it contains. +## How to Build +* Location of Source Files +* Located in Build/Viewer of each branch. +* [Build Procedure](how-to-build-sdk.md)