PSA Compressor v0.37

2019.07.05 01:55|スマブラX改造 アプリ関連
PSA Compressor v0.37をアップロードしました。
※7/5更新 - バグ修正(Modify Eventのイベント編集で発生するバグなどを修正)
※今回からICLPX's Appsから動作の確認ができるのでReadmeはなくしました。

ダウンロード

※Smash Attacksなどで編集したデータの圧縮は基本的にPSA Remakerで行うことをお勧めします。

更新内容(v0.35c→v0.37)
・クイックセーブ機能の追加 (設定変更により上書き保存も可能)
・Sub RoutineタブCreateボタン右のリスト(Sub Routine ListとTrace List)に、開いた場所の詳細を表示されるように変更
・Sub Routineタブから使える「Search Perfect Matching Data」を後部完全一致から全体完全一致(前後にイベントなしで一致)に変更
・Sub Routineタブから使える「Sub Routine List Sort」で昇順化する時、ついでに空のイベントリストを消すように変更
・Sub Routineタブからリスト内のデータをすべてテキストとしてコピーできる「Copy Sub Routine List」「Copy Trace List」機能を追加
・2byte以上(全角文字など)の文字列を入力してもアプリの表示がおかしくならないように変更
・EventsタブのSub Actionで同じアニメーション名のものをまとめて名称変更できる「Change All Animations with the Same Name」機能を追加(クリックでON/OFF切り替え)
・Enterキーを押したりしなくても名称の変更を確定する「Save Animation Name Automatically」機能を追加(クリックでON/OFF切り替え)
・Sub Routine ExternalのCopyとPatseができるように変更(Concurrent Infinite Loopは不可)
・Sub Routine ExternalのイベントをModifyボタンなどで編集するとExternalが解除されるように変更
・External Sub Routineタブから使える「Offset View」で、どこで使われているかの詳細を表示できるように変更(SubRoutineやAction Preで表示)
・Sub Routineで0以下の値を指定した時の仕様を変更(昇順データにデータを追加しない)
・ArticleのActionでExit(FitPikminのみ)を選んだ状態でメインタブを切り替えると戻ってきたとき表示がおかしくなるバグを修正
・アプリの大きさとコントロール(ボタンやリストボックス)の位置を変更
・一部の項目の表示を変更(誤字修正含む)

クイックセーブ機能はメニューバーSettingsのEnable Quick Saveから表示できるようになります。
上から順に
・読み込んだフォルダに保存する [Enable Quick Save(Save to read directory)]
・アプリの近くにあるExportフォルダに保存する [Enable Quick Save(Save to Export directory)]
・上書き保存 [Enable Overwrite Save]
です。上2つがクイックセーブで、ショートカットキーが使えます。上書き保存はショートカットキーが使えません。
チェックを入れた後、メニューバー「Settings」の「Save」から保存しておくと便利です。
※Exportフォルダは自動で作られるので、事前に作っておく必要はありません。

今回追加したクイックセーブ機能は、「自動で名前を付けて別名で保存」みたいなもので、ファイル名に(1)などが付けられて保存されます。上書き保存とは異なり、毎回別名で保存されるため、機能を使うたびにファイルが増えます。
ショートカットキー押しっぱなしと連打による複数回保存を防ぐため、1回保存すると、どこかを編集するまでは保存できない仕様になっています。
(1)から(1000)まで保存できるので、1000回保存できるということになります。1000回以上は保存に失敗するので、通常の保存をしてください。
※拡張子が.pacでない場合はキャラファイル名(アプリ右上に表示)で保存されます。
※読み込んだフォルダに保存する機能は、読み込んだフォルダを消したり、名前を変えた場合、代わりにExportフォルダに保存するようになっています。上書き保存の場合は例外エラーが発生するのでやめてください。

Sub Routineタブで開いた場所の詳細は、Articleタブ内の内容に対応はしていません。
Using Data Trace(サブルーチン使用箇所の確認)機能を使うと表示されます。
また、履歴表示ならArticleタブから右クリックメニューの「Open Sub Routine」で開くと表示されます。

Sub Routineタブから使える「Search Same Data」の一致内容が一番上に来る方は、イベントリストが全表示でない場合、(Incomplete)を表示します。
普通に開いた場合も、履歴表示なら、イベントリストが全表示でない場合、Sub Routineリストに(Incomplete)が表示されます。

Animationに2byte以上の文字列を入力するとエラーが出て変更できなくなりました。
今回追加した「Change All Animations with the Same Name」と「Save Animation Name Automatically」の機能はEventsタブのSubActionデータにのみ効果があります。つまり、Articleなどには効果はありません。

Sub Routine ExternalのCopyとPatseに関しては、Externalの文字列ではなく、External Sub Routinesタブに表示された位置をコピー・貼り付けするシステムになっているため、
External Sub Routinesタブのデータを編集した後に編集前にコピーしたものをそのまま貼り付けたりすると、思ったものと違うものを貼り付ける可能性がある点に注意です。
別のファイルへコピーする時も同じです。

エフェクトファイルについて

2019.05.15 23:55|スマブラX改造
エフェクトファイルについて調べてみました

今回は例外確認用にエフェクトファイルを読み込むアプリを作ってみました。
今回作ったものは読み取り専用かつ公式ファイルの例外確認用で、追加などの機能もないため公開しませんが、
そのうちエディタ機能を追加して読み込んだファイルから抽出・追加などをできるものを公開しようと思います。
キャラのデータに他キャラから持ってきたエフェクトを追加するのに、便利かもしれません。

あと、例外確認用に作ったアプリから見てみたところ、
ファイルの中のREFF、REFT、Bres(TextureData)の中にたまに使われていないと思われるものがありますね...消しても問題ないのかどうなのか...
(TextureDataデータの中にあるSwordGlowで使われるTraceは必要です。別のキャラにコピーしても同じようには使えませんが 残像の色について)

調べた結果:
EFLSの文字列データ(PtcXX)は、REFFデータを読み込むためのものです。(当然EFLSのデータを追加しただけでは意味はありません)
REFFデータは1つで完結しているとは限らず、対象を展開したAnimationの中にCHILD(BrawlBox0.77以降での表示)がある場合、別のREFFデータを読み込んでいる印です。(ただし中身は確認できません)
BrawlBox0.71ではAnimationの中にあるAnimCurveを開いてNameTableがある場合、String[] Array右の[...]から中身を確認できます。(REFFデータではなくREFTデータの場合もあります)
基本的にはEFLS名と同じPtcXXから次のPtcXXまでの間にあるREFFデータを抽出すればいいのですが、稀に例外があります(PtcCaptainFNMainAirなど)
さらに、PtcXXでないものの中にもCHILDがある場合もあります。また、TEXTURE1ROTATEなどはREFTデータが存在します。
(TEXTURE1ROTATEなどにあるREFTデータはef_commonから読み込まれるものがほとんどなので見なくていい場合が多いです)

EFLSの文字列データは、BRES(Brres)のみからファイルを読み込んでいる場合、表示です。(編集されたファイルを除く)
稀にRE3D(展開できるデータ)もあり、そこからREFFデータを読み込んでいる場合もあります。

つまり、別キャラのデータを持ってくるには、BrawlBoxではいろいろ面倒なのです。

あと、REFFデータとBRESデータ(Animation)にはFrameCountが存在します。
BRESデータのFrameCountはBrawlBoxでも確認でき、正常であることは分かりますが、REFFデータのFrameCountは無駄に大きい値だったり、最大のものすら実際の長さの半分の長さもなかったりとよくわかりませんでした...
でも公開するアプリには表示する予定です。


※BrawlBox(v0.78)の表示を基準として書いているため、バイナリエディタなどでの表示は一部異なります。

バイナリエディタで見てみると、EFLS、REFF、REFT、bres(BRES)すべて独立したデータとして扱われるようで、EFLSからREFFデータの文字列などを読み込むことはないようです。
EFLSのデータは[bres ID]、[データ Offset]、[RE3D Offset]、[Unknown]のループになっていて、RE3Dも独立したデータ扱いのようです。
REFFとREFTの文字列データはREFFファイル名(ef_marioならmario)の次にNameの長さ(2バイト)、Name、データOffset(4バイト)、データサイズ(4バイト)となっていました。

PSACompressorの使い方まとめ

2019.04.15 23:55|スマブラX改造
PSACompressorの使い方のまとめページを新しく作りました。
PSACompressorの基本的な使い方などの初心者向けの記事から、特殊な機能の使い方やSmash Attacksとの相違点、テキストデータの変更方法まで書いています。
こちらからどうぞ
イベントなどのデータについても書いています。(まとめページみたいなものです。まだ未完成ですが...)

予定などについては引き続きこちらで書いていくつもりです。

PSA Compressor v0.35 一部日本語化

2018.11.15 00:55|スマブラX改造 アプリ関連
PSA Compressor v0.35をアプリ内、テキストデータともに一部日本語化を行いました。

ダウンロード

Dataフォルダ内のファイルはもちろん、CharSpecificフォルダ内のファイルも一部日本語化しています。
※CharSpecificフォルダ内のファイルは基本的にパラメータの名称を日本語化しただけで、説明文は「説明がありません。」以外すべて英語のままです。また、いくつかのArticleに日本語名をつけてます。
※表示が違うだけで、仕様は英語版と全く同じです。なのでファイルを英語版に持ってきて読み込ませることも可能です。(ただしArticleリストのサイズが違うので、文字がはみ出すことがあります)

PSA Remaker v0.14

2018.11.05 22:55|スマブラX改造 アプリ関連
PSAの圧縮専用アプリPSA Remaker v0.12の修正をしました。

ダウンロード

変更点:
・アイコン追加
・ミスサブルーチンをコピーしにくいように変更(イベントIDが0x1~0xFF、0x80000000~0xFFFFFFFFのもの、パラメータOffsetの値が異常なパラメータ有りのイベントはコピーされない)
・イベントなどのパラメータがFADEF00Dになっている場合にバグが起こらない様に、自動で値を+1した値に修正するよう変更(前回はイベントパラメータにFADEF00Dがあった場合バグが起こるようになっていた)
・Static ArticlesとEntry ArticleのSubAction GFXのデータとData3をコピーできるように修正
・Article Action Flagsがコピーできなかったので修正

使い方:
アプリを開き、圧縮したいファイルをドラッグ&ドロップして読み込ませましょう。
※正常に動作しなくなるので、PSADatasフォルダおよびその中身は編集・削除はいけません。
※PSACompressorで開けないファイルはこのアプリでも開けません。

・読み込ませるファイルが1つの場合
Startボタンをクリックすると圧縮が始まります。
Maximum Compressにチェックを入れない場合、元のファイルから「data」「Article」「Misc Section」などのデータのOffsetをあまり変えずにできる範囲で最大の圧縮をします。
Maximum Compressにチェックを入れると、Action数とSubAction数の変更ができます。
圧縮サイズがより大きくなりますが、すべてのOffset値に変化が起きるため、Addressを記録したデータは使えなくなります。
また、チェックを入れなくてもイベントデータのアドレスなどは変化します。

・読み込ませるファイルが2つ以上ある場合
最大圧縮の設定をするか、しないかを選択して、ドロップしたすべてのファイルを圧縮します。
Startボタンをクリックすると圧縮が開始されます。Action数とSubAction数の変更はできません。

圧縮されたファイルはすべて、上書き保存ではなくアプリ本体と同じ場所にある「Export」と書かれたフォルダに出力されます。(ない場合は作られます)
元となる専用のデータにファイル内のデータを書き写して出力するため、BrawlBoxによるバグなどで消えた一部のデータがデフォルト状態で復元されることがあります。(当然、存在する場合は値を入力データに合わせます)
一部非対応データがありますが、消さずにデフォルトの値で残すのでバグの心配は少ないです。
プロフィール

ICLPX

Author:ICLPX
主にスマブラXの改造をやっています。
更新ペースはその時によってバラバラです。
質問などがあれば気軽に書き込んでください。
かなり過去に書いた記事も更新することがあります。

最新記事

最新コメント

月別アーカイブ

カテゴリ

検索フォーム

RSSリンクの表示

リンク

ブロとも申請フォーム

この人とブロともになる

QRコード

QR