PSA Compressor v0.38 更新

2020.01.15 23:55|スマブラX改造 アプリ関連
エラー報告があったので修正、更新しました。
さらに、まとめ貼り付け機能に使えるものを追加してみました

ダウンロード

更新内容
・「Extract Error Data」が使えないバグを修正
・Miscタブ「ModelVisibility」のBoneGroupをDeleteで正常に消せない問題を修正
・Miscタブ「ModelVisibility」の中の表記を一部変更
・Parameterタブ上の「OpenParamsOffset」で選択できないサイズ設定を自分で入力できるように変更
・Exportディレクトリにクイックセーブする場合、読み込んだファイル名のデータがなければ、そのままの名前で保存するように変更
・HandBonesを消しミスしたときに起こるバグを修正
・まとめ貼り付け機能を使ったときにOffsetInterlockなどが機能しないバグを修正
・まとめ貼り付け機能に使える機能を追加
・まとめ貼り付け機能をAction Preに、External付きSub Routineをコピーすると取得できるイベントを単独で貼り付けた時の動作を変更

Exportディレクトリにクイックセーブする場合、読み込んだファイル名のデータがなければ、そのままの名前で保存するようになりました。
ただし、クイックセーブ機能で上書き保存は行わないので、そのままの名前で保存できるのは最初の1回限定で、2回目以降は(1)などが付きます。

また、Miscタブ「ModelVisibility」でのHidden、Visibleの表記は間違っていて、
Hiddenの部分はファイターモデル、Visibleの部分はシャドウモデルとのことなので、
表記をModel、Shadowに変更しました。

まとめ貼り付け機能に追加した項目
AT(Attribute編集)

書き方の例:
AT:Set0014-01C,>*2/
この場合、014~01CのSSE Attributesのパラメータ値がAttributesの2倍になります。

AT:の後のSetの部分は何に設定しても変化はありません。
その次の2つの値で位置を指定します。どちらも4で割り切れる値である必要があります。
「>」と「*」はそれぞれ別の動作を表します。
「>」の部分で使える他のコマンド:
A ... Attributesの値を変更
S ... SSE Attributesの値を変更
> ... Attributesの値を使ってSSE Attributesの値を変更
< ... SSE Attributesの値を使ってAttributesの値を変更
その他... それぞれの値を使ってそれぞれの値を変更

「*」の部分で使える他のコマンド:
+ ... 取得した値に、後ろに続く値を加算する
- ... 取得した値から、後ろに続く値を減算する
* ... 取得した値から、後ろに続く値を乗算する
その他... 後ろに続く値で変更した項目を上書きする

さらに、貼り付けらえれるデータに条件を付けられるようになりました。
AC、PF、PB、POで使用可能で、同時に使える条件は1つだけです。
圧縮などのテンプレートとして使えます。
v0.38bで使える条件は、A(Animation Name !=)、C(Event Count)、S(Sub Routine External)の3つです。

書き方の例(A):
PF:SubA:M=001-005(A)E=00070100:SubA:M=000,
指定されたSub Action IDでAnimationがnullでない場合、指定された動作を行います。

書き方の例(C):
PF:SubA:M=001-005(C<2)E=00070100:SubA:M=000,
指定されたイベントリストのイベント数が指定された内容とあっている場合、指定された動作を行います。
この場合はEvent Count<=2が条件となるので、イベント数が2個以下なら動作するということになります。
「<」の部分で使える他のコマンド:
>... イベント数が指定数以上なら実行
<... イベント数が指定数以下なら実行
!... イベント数が指定数と異なるなら実行
その他... イベント数が指定数と同じなら実行

書き方の例3(S):
PO:SubA:G=119-11B(S=effectAnimCmd_SmashThrowFCommon)E=00070100:SE00000000,
この場合、External Sub Routinesリストの中に「S=」の後に書かれている項目が存在するなら、貼り付け可能です。
また、Externalの付いたSub Routineをコピーすると取得できる「E=00070100:SE00000000,」などの項目が存在する場合、
「S=」の後に書かれている項目を貼り付けられるように自動で書き換えられます。
存在しない場合、Paste Previewのリストに表示されず、貼り付けもできません。
また、貼り付けできた場合も、条件などはPaste Previewのリストには表示されません。

以下、圧縮用テンプレート
PO:SubA:G=119-11B(S=effectAnimCmd_SmashThrowFCommon)E=00070100:SE00000000,
/PO:SubA:G=126-000(S=effectAnimCmd_HarisenSwing4HoldCommon)E=00070100:SE00000000,
/PO:SubA:G=138-000(S=effectAnimCmd_HarisenSwing4HoldCommon)E=00070100:SE00000000,
/PO:SubA:G=13F-000(S=effectAnimCmd_HarisenSwing4HoldCommon)E=00070100:SE00000000,
/AC:SOR:Pr=004-000,
/PO:SOR:Pr=00D-000(S=statusAnimCmdPre_JumpAerial)E=00070100:SE00000000,

あとはCompressタブでDelete Unused Externalsにチェックを入れて圧縮すると使われていないExternalを消して容量を削減できます。

※Fighter.pacを読み込めばわかりますが、
effectAnimCmd_SwordSwing4HoldCommonとeffectAnimCmd_StarRodSwing4HoldCommonとeffectAnimCmd_LipStickSwing4HoldCommonの内容はeffectAnimCmd_HarisenSwing4HoldCommonと同じです。
effectAnimCmd_SmashThrowBCommonとeffectAnimCmd_SmashThrowHiCommonとeffectAnimCmd_SmashThrowLwCommonの内容はeffectAnimCmd_SmashThrowFCommonと同じです。
statusAnimCmdPre_Flyの内容はstatusAnimCmdPre_JumpAerialと同じです。
statusAnimCmdPre_Runの内容はありません。
これらをExternal Sub Routinesリストの中から消すと、確実に使用容量減らすことができます。
なお、中身が同じ内容になっているExternalデータは他にも存在します。
スポンサーサイト



PSA Compressor v0.38

2019.12.25 23:55|スマブラX改造 アプリ関連
PSA Compressor v0.38をアップロードしました。

ダウンロード

更新内容
・Miscタブから右クリックメニューで使える機能を追加
・ファイルの読み込み条件を変更
・Smash Attacksで編集したファイルの場合、自動でExternalを修正するように変更
・一部表示変更(主にMiscタブ内のデータ)
・一部バグ修正
・その他いくつかの仕様を変更

いくつかの仕様を変更と書いていますが、基本的にアプリの中で行っている動作などの変更なので、v0.37cと全く異なる動作を行うことはないと思います。
以前は使えたのに使えなくなっているものは基本的にバグだと思われるので、報告お願いします。

Miscタブで右クリックメニューを使えるものに、
・MiscSection
・HandBones
・Unknown24
・Static Article
・Entry Article
・ExtraDatas
・ArticleExtraDatas
を追加しました。

ModelVisibilityは、ArticleExtraDatasやExtraDatasにあるものにも使えるようになっています。
また、VisibleのBoneSwitchをすべて消すと、Hiddenだけにすることができます。
Hiddenだけの状態でも、BoneSwitchを増やせるようになっています。
また、HiddenのBoneSwitchをすべて消すとHiddenとVisibleがどちらも消えた状態となります。
この状態で「ModelVisibility」の右クリックメニューから「Add New Data」をクリックすると、HiddenとVisibleが作られます。(これによりHiddenだけの状態からVisibleも作ることもできます)
HiddenとVisibleの下にある「Data」は1つにまとめられました。

MiscSectionではCountが存在する、
Ledge Grab、Misc Section 2、Item Bones、Sound Lists(Sound List、Sound Data)、Collision Data(Bone Data)、Misc Section 12
のデータ数を新しく変更できるようにしました。
Multi Jump、Glide、Crawl、Tetherの作成と削除もできるようになりました。
作成時、Multi Jump、Crawl、Tetherは初期値に最頻値(0以外の値)が設定されます。
Multi Jumpで作られるHopsの数は、AttributesのJumpsに依存します。(最大5、Override時は最大20)
HandBones、Unknown24でもCountが存在するので、データ数を変更できるようにしました。
Unknown24は新規作成ができ、完全に削除することもできます。

Static Article、Entry Articleでは、
SubActionsで選択したアニメーション名とAnimationFlagsの変更と、イベントリストのサブルーチンを開けるようになりました。
編集時はOffset Interlockの機能をOFFにしないようにしてください。(この機能のおかげで使えるようなものなので)
また、本体を表示時にMain、GFX、SFXがない場合は開けません。
Static ArticleにActionFlags、Action、ModelVisibility、Collision Data、Data2などがあった場合も読み込めるようにしました。
ArticleExtraDatasでは、ModelVisibility以外にも、Collision Data、Data2のデータ数を変更できます。これらはStatic Article上でも同じ動作をします。作成できるアプリは今のところありませんが...

PSA Remaker v0.14の不具合について

2019.12.05 00:55|スマブラX改造 アプリ関連
PSA Remaker v0.14にいくつか不具合が見つかったので書いておきます。
・文字データが多すぎると、通常圧縮時にAnimationが<null>になるものがある
・ExtraActionInterruptsを新しく作ると、最大圧縮時にCollision Dataと合体する
・External Sub Routinesをすべて消すと、読み込めないファイルを出力する

これらは次回(v0.15)で修正する予定です。
ExtraActionInterruptsを新しく作ると、最大圧縮時にCollision Dataと合体するバグ以外は、あまり発生することはないので、そこまで気にする必要はないと思います。

文字データが多すぎると発生する不具合は、Sub Action IDの値が大きいAnimationが<null>になるというもので、一番最後のAnimationが<null>になっていなければ発生はしていません。
Action Preの終点からSubActionFlagsの開始地点がAnimation名を書き込むスペースになっていますが、ファイルがこれを超えているとこの不具合が発生します。ファイルごとに違いはありますが、Animation名の長さの平均が12文字を超えている場合、不具合が発生する可能性があります。
不具合があまり発生しない理由は、複数回同じAnimation名が使われると、2回目以降はAnimation名を書き込むスペースが必要ないため、Animation名が<null>の場合も同じく容量を取らないためです。
読み込めないファイルを出力する不具合は、Action PreのExternalを含むすべてのExternalイベントを消して、Overrideもない場合だと発生する程度なのでほとんど気にする必要はありません。

不具合ではありませんが、非対応データも書いておきます。
・ActionInterrupts
・Flash Overlay Effect (FitPikminなどのArticleに存在)
・ModelVisibilityExtra (FitKirbyのみ)
・Article3-ExtraData (FitKirbyのみ)

これらの非対応データについては、
未編集の状態で出力されます。
※対応しているデータでも、読み込めなかった場合は消えずに初期値設定で出力されます。(パラメータなどは復元されますが、Article内のイベントは消えたままになります)

ActionInterrupts以外は、ほとんど編集されないとは思いますが、対応するようにしたいと思っています。
ActionInterruptsはPSA Compressorでも編集できないままで、編集する意味もないためこのまま非対応データとしておくつもりです。

PSA Compressor v0.37更新

2019.10.25 22:55|スマブラX改造 アプリ関連
PSA Compressor v0.37cをアップロードしました。

ダウンロード

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

更新内容(v0.37b→v0.37c)
・いくつかの名称を変更 (Generate Using Variable→Extract Variableなど)
・「Show Name when Editing Animation Flags」の効果をArticleで受けないように変更
・Search Same Data系のバグを修正
・「Search Partial Match / Replace」によるバグを修正 (検索後に正常な選択状態にするなど)
・「Search Partial Match / Replace」に3つの特殊コマンドを追加


「Search Partial Match / Replace」の特殊コマンドは、パラメータTypeの後ろ(イベントのコピー時に「-」と表示されるデータ)に特定の記号を入れることで使えます。

今回追加したコマンドは
Searchで使えるコマンド
< ... 検索したデータ以下の値を検索結果に表示
> ... 検索したデータ以上の値を検索結果に表示

Replace
* ... 対象パラメータを掛け算

Searchで使える「<」と「>」はそれぞれ、不定値(16進数以外の値)はお互いに0として比較します。
例: 「0
Replaceで使える「*」で掛ける値はコピーボタンでコピーできる「Scalar値」、1.50のように「直接入力する数値」の2通りの書き方ができます。
直接入力する数値の場合、1文字目に16進数以外の文字と、7文字で小数点を含んだFloat値に変換できる値を入れる必要があります。
例えば、値を1.5倍にしたい場合は「0*00015F90」または「0*X1.50000」と入れて、Go(開始)ボタンを押すと置換した部分が1.5倍になります。
「+」と同じくValue値、Scalar値のみ対応で、他のTypeになっているものには使っても値が変わりません。
また、16進数以外の値がある場合は「+」と同じく、0として扱われます。

*の後にくる1文字で端数の切り上げの設定ができます。
+ ... 端数切り上げ
- ... 端数切り捨て
M ... 0.9以上なら切り上げ
P ... 0.1以上なら切り上げ
なしorそれ以外 ... 四捨五入(0.5以上なら切り上げ)

特殊: (TypeがValueの時だけ特殊動作をする。値はすべて四捨五入)
H ... 前後4桁を分割して、それぞれ掛ける。
< ... 前4桁のみ掛ける。後ろはそのまま
> ... 後ろ4桁のみ掛ける。前はそのまま

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タブのデータを編集した後に編集前にコピーしたものをそのまま貼り付けたりすると、思ったものと違うものを貼り付ける可能性がある点に注意です。
別のファイルへコピーする時も同じです。
プロフィール

ICLPX

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

最新記事

最新コメント

月別アーカイブ

カテゴリ

検索フォーム

RSSリンクの表示

リンク

ブロとも申請フォーム

この人とブロともになる

QRコード

QR