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

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によるバグなどで消えた一部のデータがデフォルト状態で復元されることがあります。(当然、存在する場合は値を入力データに合わせます)
一部非対応データがありますが、消さずにデフォルトの値で残すのでバグの心配は少ないです。

PSA Compressor v0.35(11/5更新)

2018.10.25 23:55|スマブラX改造 アプリ関連
PSA Compressor v0.35修正版をアップロードしました。
※10/30更新 - 「Search Error Data」によるExternalの変更バグ修正、ちょっとした機能追加
※11/5更新 - StaticArticlesとEntryArticleの一部データの修正に対応。

ダウンロード

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

更新内容(v0.34→v0.35)
・バグ検索機能「Search Error Data」を追加。
・EventsタブのSub Routineと、ArticleタブのAction、Sub Actionのデータをタブ切り替え時に再読み込みするように変更。 (EventsタブとArticleタブを行き来した時に表示がおかしくなるのを防ぐため)
・コントロール(タブなど)のサイズを一部変更。 (ほとんどが余白部分の減少)
・アプリを開いたときEventsタブを最初に開かれるように設定できる「Set the First Tab to Events」追加。
(設定しても保存しないと効果なし)
・右クリックメニュー「Refresh」はType: File(4)が使われているものも修正対象になった。
・その他細かい(?)バグ修正

更新内容(v0.35修正内容)
・「Search Error Data」のExternal修正時に発生するバグを修正。
・「Search Error Data」での表示バグ修正。
・「Search Error Data」で指定サブルーチンがおかしい時にFound Error Sub Routineを表示するようにした。
・「Search Error Data」でGotoの後に来るのがNo Eventだけの場合はエラーを表示しなくした。
・「Search Error Data」でLoop Restをエラー表示の対象に追加。
・「Sub Routine Full Data Trace」にイベントIDが80000000~FFFFFFFFのものを対応させた。イベント登録があるもののみ有効。「Using Data Trace」、「Search Partical Match / Replace」でも有効(他は非対応)。
・パラメータのないイベントに+100などをしたイベントがEvent ID+1にチェックをしていても未認識だったので修正。
・その他細かい修正
StaticArticlesとEntryArticleの修正は、PSA Remaker v0.12でこの2つのGFX Offsetが対応できていないことが分かったので、値さえ編集すれば直せるように、と追加しました。
(これが必要なのはFitWarioのStatic Articleだけです。修正はPSACompressorで全て行えます。
MiscタブのStaticArticleからArticle0を選択してSubActionGFXのOffsetを確認し、ArticleタブからArticle0を選択、Parameterのタブで右クリックし、確認したSubActionGFXのOffsetを開いて、Hex Viewにチェックを入れておき、ArticleのSubActionGFX 14, 15のOffsetをコピーし、それぞれParameterの0x0、0x4に貼り付ければ、あとはSearch Error Dataをクリックすれば直ります。(Fixed 2 Dataなどが出ない場合は、どこかで間違っている可能性大。)
あと、ファイルの読み込み時に上部メニューのRead Misc Dataにチェックが入ってない場合は、StaticArticleなどが全く表示されないので注意。)
StaticArticlesとEntryArticleのエラーはPSA Remakerの次の更新で対策したものを出します。
(この2つに関しては修正・動作確認済みですが、他にもきちんと対応していないもの、Offset値が異常な場合のバグが確認されたのでそちらを修正中です)
ちなみにPSA RemakerでイベントIDが80000000~FFFFFFFFのものがすべて消えてしまうのは仕様です。
これらの中で残しておく必要のあるイベントは、PSA Remakerで圧縮する前にSub Routineタブから使える「Search Partical Match / Replace」機能かバイナリエディタの置換機能を使う必要があります。(圧縮後に元に戻すのをお忘れなく)

バグ検索機能「Search Error Data」について: (※v0.35修正版基準で書いています。再修正版による追加はありません。)
「Generate Using Unknown Event」、「Generate Using Variable」と同様に、ファイル内にあるすべての読み込めるデータをから検索します。(Extra Action Interrupts以外のData Miscから見られるものなどは対象外)
さらに見えないエラーの修正機能、Externalの修正機能も同時に行われます。
ただし「Refresh」とは違い空データを消すといったことはしません。
Externalの修正は仕様が少し異なるため、Compressタブの修正より修正個所が多くなることがあります。

以下、「Search Error Data」で表示されるエラーと解説。
・Found Error Sub Routine
指定サブルーチンがおかしい時に表示(FADEF00Dが指定サブルーチンのイベントトップにある場合)
対象サブルーチンを開いて「Using Data Trace」で使用場所を確認して変更・削除を行うと消せる。
Offset Interlockにチェックが入っている場合は対象サブルーチンを開いて「Refresh」でも消せる
「Refresh」で消した場合、Sub RoutineなどのデータはNo Eventになる。

・Found Error Event (FADEF00D)
イベントIDがFADEF00Dのものがイベントリスト中にある時、表示される。
イベントリスト中の表示もERROR DATA(FADEF00D)と表示されるので見つけやすい。

・Found Error Event (Event ID)
イベントIDが00000001~0000FFFF、80000000~FFFFFFFFのものがイベントリスト中にある時、表示される。
80000000~FFFFFFFFの場合、?が表示され、登録されたイベントデータはエラーとして表示はされない。

・Event Parameter Error (Type Error)
イベントのパラメータタイプに0(Value)~6(Requirements)以外の異常値が設定されている時、表示される。
表示される例:Synchronous Timer: frames=7x0のようになっている場合。

・Event Parameter Error (Value Error)
イベントのパラメータタイプに対するパラメータに異常値が設定されている時、表示される。
表示される例:Synchronous Timer: frames=3x2

・Event Block Error
IfブロックがEnd If以外で閉じられている場合など、記述にエラーが存在する時、表示される。
If、Set Loop、Switchブロックに対応。Ifなどはないのに、いきなりElseやEnd Ifがある時も、同様に表示される。

・Loop Block Error
Set LoopがあるのにExecute Loopがないまま終了している場合、表示される。
End Ifなどで終了している場合はEvent Block Errorが代わりに表示される。

・Offset Error
ActionなどのOffsetが異常な場合に表示される。Sub Routineでは表示されない。
正常なデータを巻き込んでいない場合は、バグ表示されたところを開き、右クリック→Refreshで直すことができる。

・Offset Error(Event)
EventのOffsetが異常な場合に表示される。
基本Removeで消せば直せるが、正常なデータを巻き込んでいる場合はそれも消えてしまう危険性があるので注意。

・Unreadable Event was Found
イベントリスト内にGotoかLoop Restが使われている場合のみ表示されるエラー。
Gotoは後ろのデータは読み込まないため、Loop RestはSet Requirementない場合そこから後のデータは読み込まないため表示される。
Gotoの後ろに来ているNo Eventは無視される。
また、IfやSwitchブロックの中にある場合、Gotoの後すぐにElseやEnd Ifがある場合はエラーを表示しない。
Loop Restの前にSet Requirementない場合、Loop RestをEventの欄に表示する。
一応Sub Routineがある場合はその中も調べるが、Sub Routineの中にあるSub Routineまでは読み込まない。

・Override Action ID Error(Entry/Exit)
オーバーライドのAction IDに存在しないAction IDが設定されている場合に表示される。
マイナス値のIDが登録されている場合は表示されず、バグとして削除処理される。

Offset Error(Event)とEvent Parameter Error (Type Error)が出る場合は、それによりSub Routineタブで使える「Sub Routine Full Data Trace」の動作を妨げられていることがあります。
Sub Routineタブだけで使える機能のうち、サブルーチンの検索機能(Using Data Trace、Search Partical Match / Replaceなど)は、同じ動作を行うものが多いので注意です。

BrawlItemEditor v0.12

2018.10.05 21:57|スマブラX改造 アプリ関連
BrawlItemEditor v0.12をアップロードしました。

ダウンロード

こちらは「PSA Compressor」では読み込めない、アイテムとヘルパー用のファイル「ItmXXParam.pac」と、カービィのコピー能力用のファイル「FitKirbyXX.pac」を読み込めるアプリです。
PSA Compressorで読み込める「FitXX.pac」などのファイルには対応していません。
PSA Compressorとは違い、ファイル別の専用読み込みファイルは不要です。
「Data」のフォルダー内のテキストファイルは「Attributes.txt」が必要ないことを除けば、PSA Compressorと同じです。
テキストデータはPSA Compressorと同じものです。
PSA Compressorの機能を引き継いでいるため、PSA Compressorと同じ機能をいくつか使うことができます。
パラメータリストは一部のみ編集可能で、説明文の表示はありません。

またバグがあれば報告お願いします。
次はPSA Compressor v0.34のバグを修正予定です。

PSACompressor v0.34

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

ダウンロード

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

更新内容(v0.33→v0.34)
・CharSpecific内のファイルの読み込み方を変更し、すべてのキャラクターファイルを更新。
・CharSpecific内からの読み込み可能なパラメータ、データ追加。
・StaticArticles、EntryArticleをDataタブ「Misc」から確認可能にした。
・Data内のテキストファイル一部追加・更新。
・アプリからDataタブ「Misc」データの読み込みを止める機能を追加。
・Articleタブ「Parameter」にサイズの自動検出機能追加。
・CharSpecific内ファイルのミスによるエラーをいくらか回避できるようにした。(アドレスミスは表示不可)

CharSpecific内ファイルの変更について
・Articleにサイズを記入する必要がなくなった。
・アドレスを書き込んで読み込めるようになった。(テキスト上ではXデータサイズ[space]アドレス)
・特殊な固有ExtraDataを読み込めるようになった。(FitKirby、FitPopoのみ)
・ArticleはArt、ParameterはParに短縮された形に変更。
・Parはテキストデータ上では文字数制限あり。(通常は2、Article内では4)アプリ内では文字数制限はなし。

BrawlItemEditorの更新予定(10/5更新)

2018.05.25 23:55|スマブラX改造 アプリ関連
BrawlItemEditor v0.12を作成中です。
v0.11は不具合が目立つのでv0.12をアップロード後に消す予定です。消しました。
こちらは「PSA Compressor」では読み込めない、アイテムとヘルパー用のファイル「ItmXXParam.pac」と、カービィのコピー能力用のファイル「FitKirbyXX.pac」を読み込めるアプリです。

PSACompressor v0.33 更新

2018.04.05 00:57|スマブラX改造 アプリ関連
PSA Compressor v0.33をアップロードしました。

ダウンロード

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

更新内容(v0.32→v0.33)
・PSAデータのみで、エフェクトなどがないファイルを読み込めないバグを修正。(※v0.32のみで確認されたバグ。v0.31やv0.27でもPSAデータのみのファイルは読み込める)
・Search Partical Match / Replace機能において、置換数とSubRoutine数が16進数表示になっていたので、10進数表示に変更。
・パラメータ内にFlagsを設定できるようにした。(Flags設定だと常に16進数で表示される)
・ArticleタブのData OffsetリストのData2を表示されるようにした。
・ArticleタブのData Offsetリストからテキストデータをコピーできるようにした。
・Dataタブ→Miscタブ→ExtraDataからArticleのAction Flags、Collision Data、Data2を確認・編集できるようにした。
・MiscSection\Collision Dataの表示を変更した。
・一部のテキストデータを更新し、読み込めるパラメータリストを増やした。(CharSpecific内のファイル)

SettingファイルはFlagsのような仕組みになっています。
FF FF FCにするとアプリからできるすべての設定にチェックが入った状態になります。
更に、00 00 02の部分をONにするとアプリ起動時にバージョンが表示されます。
00 00 01の部分をONにするとDataタブのMiscの読み込みをしなくなります。
SettingからSaveを押してもこの設定は消えます。

PSACompressor v0.32 更新

2017.11.25 23:55|スマブラX改造 アプリ関連
PSA Compressor v0.32をアップロードしました。
※12/1更新・詳細追加 - Article - Parameter内でOpen Addressを行うとおかしくバグを修正。他は下の追加修正部分にて。

ダウンロード

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

更新内容(v0.31→v0.32)
・部分一致検索・置き換え機能「Search Partical Match / Replace」を追加(Externalデータには非対応なので注意)
・一部エラー表示を修正
・Top0x80のデータを別枠に設定変更(読み込み可能容量には変化なし)
・「Sub Routine List Count View」「Sub Routine List Sort」を上のみから両方に影響が出るように変更。
・一部テキストデータ更新
・その他、細かな修正
-追加修正部分-
・Concurrent Infinite LoopをMove OffsetでパラメータOffsetを変更するとおかしくなるバグを修正。(Compressタブ側のSpecials All Move Offsetsではこのバグは元々ない)
・Using DataTraceで表示できる項目を増加(Preなど、今まではUnknown(Offset:XXXXX)と表示されていたもの。DataTableにあるものは表示されず。)

※仕様変更により今まで使えたデータでもこのバージョンだとおかしくなっている部分があるかもしれません。(以前からおかしいものが今回もおかしいという場合もあるかもしれません...)
全体的に動作確認・修正したので、まず問題なく動作するはずですが、おかしい部分があれば報告お願いします。


Search Partical Match / Replace機能について
Sub Routinesタブのみにある右クリックメニューで、リストから選択→「Reset / Generate Sub Routine Data」をクリックすると使えます。
(上にあるテキストボックスに検索対象のイベントデータを書き込み(貼り付け)ましょう。 Replaceにチェックを入れると置き換え機能が使えます。Replace Allにチェックを入れるとすべての項目をまとめて置き換えます。Replaceは最大500項目ですが、検索結果のデータは無制限に出ます。)

部分一致検索機能では通常の「Copy」でコピーできる文字列データを使います。
不明な部分を16進数以外の文字(?やXなどの文字)にすると、それ以外の16進数部分が合っているデータを検索します。
もちろんイベント1つのデータだけではなく、イベントが2つ以上のデータも検索ができます。(「E」で区切ります。「/」と改行でも代用ができます。ただし、改行(「\r」「\n」で2文字判定)の場合は「\r」の部分でないと区切りの代用ができません。)
「E=00010100:1-0001D4C0,」となっているもののうち、「E=00010100:」がイベントデータ、「1-0001D4C0,」がパラメータデータとなります。
検索結果はCreateボタンの右隣にあるリストに表示されます。

また、部分一致検索機能はパラメータ数が重要なキーワードになります。
例えばパラメータ数を2つ設定すれば、パラメータ数1つ以下のイベントは検索対象から外されます。
また、パラメータ部分を入れずに検索を行うとイベントIDだけで検索ができます。パラメータ数が足りない場合は足りない部分を不明な部分として部分一致検索をします。
サブルーチンデータで使われていないものも検索対象として表示されるほか、パラメータデータでもひっかかってしまう可能性があります。

置き換え機能でも、16進数以外の文字の部分は変更されないので、
一部だけを変更するようなこともできます。
ここでは、パラメータの前にある「-」を「+」に置き換えると置き換えから加算に動作が変わります。(データタイプがValue、Scalarの場合のみ。マイナスになる値を加算することで減算も可能。)
検索したイベントを2つから3つに増やしたり、1つに減らすこともできますが、検索対象と置き換え対象のイベント数が異なる場合は、イベントリスト1つにつき1箇所しか変更されません。

PSACompressorテキストデータ更新(10/29更新)

2017.10.27 00:55|スマブラX改造 アプリ関連
PSACompressor用のテキストデータを更新しました。
日本語版と英語版がありますが、日本語版でもイベント名などは英語版と同じです。(説明文は日本語)
※10/29更新。EventListView.txtの記述ミス(日本語の省略版)と、Events.txtのイベント追加忘れ(点滅系)があったので再アップロードしました。
ダウンロード

今回更新したのは
EventListView.txt、Events.txt、Parameters.txtの3つのみです。日本語版のAttributes.txtは以前と同じです。
Events.txtは一部OpenSAにイベント名を合わせてIDを昇順化したものもあります。(こちらでしか認識できていないイベントなどは名前がそのままになっています)
EventListView.txtは文字数を抑えたものがあります。慣れるとこちらの方が見やすいかもしれません。

EventListView.txtの省略化バージョンは日本語版の方が文字数が少ないです。
省略化されていないものは日本語版と英語版で共通になっているのでどちらにも入っていません。

次回のPSACompressorの更新ではCharSpecificテキストデータの修正と?を含んだイベント検索機能、置換機能を追加したいと思っています。
Dataテキストデータの修正は特にミスが見つからなければ今回アップロードしたものをそのまま使う予定です。

PSACompressor v0.31

2017.07.31 23:55|スマブラX改造 アプリ関連
PSA Compressor v0.31をアップロードしました。
※7/28更新 - 新機能を少し使いやすくなるように変更し、表示も少し変更。
※8/7更新 - 新機能でEvents関連の動作を失敗するバグを修正。さらに、Article本体のOffsetを表示する場所を追加し、テキストデータを少し更新しました。(修正前だと対象のOffsetが変わった場合、その値が変わったOffsetにデータの書き込み、削除を失敗する場合があります。データ的におかしくはなりません)

ダウンロード

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

更新内容(v0.31)
・Modify EventでVariableにタイプを切り替えたときに、切り替える前の値次第でエラーが出ることがあったので修正
・ModelVisibilityのデータを増やした時に選択箇所によって起こるバグが起こる問題を修正
・ExtraActionInterruptsから「Open」でサブルーチンを開くと場合によってはエラーが出る問題を修正
・MainはないけどGFXはあるArticleのデータを読み込んだ時にエラーが出る問題を修正
・テキストデータの一部記述ミスを修正
・ファイルFitPopoでSub Action ListのNMainなどの選択時に、「Copy Routine」でなぜか違うデータをコピーするようになっていたので修正し、Paste側で対応するように変更
・オーバーライドタブで「Copy Routine」でコピーできるデータを変更、Paste側で対応するように変更
・Pasteでまとめていくつかのデータを編集できる仕様を追加(成功すると確認画面が表示されます。Article側だと無理)
・オーバーライドリストにもMoveB(データを後ろ側へ移動させる機能)追加。(Remakerができたので、意味薄?)
・オーバーライドリストの数を表示する機能追加
・オーバーライドリストのIDのSortをする機能追加

今回追加した、まとめてデータの編集をする機能では、
・対象のイベントの全削除を行う機能
・一番前または一番後ろにイベントを追加する機能
・以前のイベントデータを新しく貼り付けるイベントデータで上書きする機能
・名前をまとめてリネームする機能
・ActionFlagsまたはSubActionFlagsを同じように変更する機能

これらの機能が追加されました。開始点~終了点の範囲指定でまとめて行います。
詳細はこちら

PSA Remaker v0.12

2017.07.25 01:15|スマブラX改造 アプリ関連
PSAの圧縮専用アプリPSA Remaker v0.11の修正をしました。

ダウンロード

詳細(前回v0.11の記事)はこちら

変更点:
・ミスサブルーチンによる、イベント00000001などのデータをコピーしないように変更。
・パラメータがFADEF00Dになっている場合にバグが起こらない様に、自動で値を+1した値に修正するよう変更。(そもそもこの値を使うこと自体はまずないかと思われ)
・オーバーライドのデータスペースがあるキャラでオーバーライドのデータリストサイズ次第でバグが起こることがあったので修正
・すでに超圧縮されたデータを読み込んだ時に、なぜかパラメータなどの変更が適応されないことがあったので修正


まだ不具合があったら報告お願いします。

PSA Remaker v0.11

2017.07.10 01:03|スマブラX改造 アプリ関連
完成しました。PSAの圧縮専用アプリです。
ダウンロード

※ArticleのGroupIDやBone(0x000~0x008)のデータがコピーされないようになっていたので修正しました。

このアプリは、
・元のファイルから「data」「Article」「Misc Section」などのデータのOffsetをあまり変えずにできる範囲で最大の圧縮をする
・すべてのOffsetを変えて最大の圧縮をする(ゴミデータと思われるデータもほとんど消えます)
基本的に、このどちらかしかできませんが、
1つのファイルだけを読み込ませた時に、Maximum Compress(最大圧縮設定)にチェックを入れると、
Action数とSubAction数を変えることができます。(ドロップした時に、デフォルトの値が表示されます。
(減らすこともできますが、バグが起こるかもしれないので注意。)

読み込み方は、ドラッグ&ドロップのみで、閉じるボタンも右上にある×だけとなっています。
また、複数のファイルをドロップした場合は、ドロップしたファイルをまとめて圧縮することもできます。
圧縮専用ツールなので、ファイルの編集などは全くできませんが、PSACompressor以上の圧縮が期待できます。

ちなみに、PSACompressorにある「No Event Compress」や「Same Data Compress」などの機能はついていませんが、サブアクションにアニメーション名として設定された「NONE」は消える仕様になっています。

※PSACompressorで開けないファイルはこちらでも開けません。
Sub RoutineやGotoによるサブルーチンの設定がおかしい場合も、バグの原因となることがあるので、PSACompressorで確認した方がよさそうです。(空ルーチンなら基本的に消えます)

元となる専用のデータにファイル内のデータを書き写して出力するため、BrawkBoxによるバグなどで消えた一部のデータがデフォルト状態で復元されることがあります。(存在する場合は値を入力データに合わせます)
元となるファイルは、「PSADatas」フォルダに入っている圧縮されたファイルです。出力データとして読み込む時に復元して使うようになっています。

仕様いろいろ:
・未使用サブルーチン、空データのOffsetなどは基本的に削除される。
・基本的にイベントなどに使われているOffsetデータはすべて変更される。
・Sub Routineの設定先が空データの場合、Sub RoutineはNo Eventに変換する。
・OverrideのOffsetなどがおかしい場合は、元々OverrideデータがあるキャラでもOverride関連のデータが消える。(場合によってはバグの原因となるので注意)
・BrawlBoxとは違い、Offsetの同一設定は引き継ぐ。(ただし途中から(Offsetから+8した値など)になっている場合は無理。これがこのアプリで圧縮したのに容量が増える原因になることがある。)
・SubActionの7Eと84などのデフォルトで同一Offsetの設定になっているデータはイベントデータが1つで同じ、もしくはサブルーチンで場所を指定していればであればOffsetの同一化をする。(SubAction76~95、BC~BD限定。固有データまでは対応していない)
・Externalデータは昇順ソートされる。
・一部非対応データあり。BrawlBoxとは違って、非対応のデータでも消さずにデフォルトの値で残すのでバグの心配はまずない。

パラメータなどに、圧縮対処になっている値「FADEF00D」を使うとバグの原因になります。
全て圧縮するMaximum Compress設定時は特に、ほぼ確実にどこかがおかしくなってしまうので注意しましょう。

まとめてデータの編集をする機能の使い方

2017.07.07 00:25|スマブラX改造 アプリ関連
PSACompressor v0.31から、文字列データをクリップボードにコピーして、Pasteボタンを押すことで、まとめて多数のデータを書き換えることができる機能が追加されました。
この機能を使うには、メモ帳などにデータを書き込んで、文字列を完成させてクリップボードにコピーを行う必要があります。
※青い部分は仕様の変更後にできるようになったものです


例:
AC:SpA:Ex=117-118,
これをPasteボタンをクリックして貼り付けると、Paste Previewが表示されます。
「Events All Clear: Specials Exit 117-118,」
OKをクリックするとSpecialsから見ることができるExitのイベントデータがAction117と118の所だけ全て削除されます。


同じようなことをまとめてできるので、イベントデータなどの編集が簡単になるかもしれません。
Eventsタブ内で、通常のイベント貼り付けさえ行うことができるなら、どこでもできます。(Fighter.pacは不可)
※どこでPasteをクリックしても効果は同じです。この機能を使って特定のデータを消すもしくはイベントの追加をするからと言ってわざわざそこに開く必要はありません
※Articleのデータには使えません。

例の「AC」の部分は「どのようなことを行うか」という部分で、バリエーションは全8種。
・AC... イベントを全削除する。空ルーチンでもOffsetは0にする。Offsetがすでに0のものには効果はない。
・PF... イベントリストの一番最初に、イベントデータを貼り付ける
・PB... イベントリストの一番最後に、イベントデータを貼り付ける
・PO... イベントリストを新しいイベントデータで上書きする
・SN... サブアクションネームを新しく入れた名前で上書きする
・SF... SubActionFlags(Animation Falgsから編集できるデータ)を新しく入れたデータで上書きする
・EF... ExtraActionFlags(メインタブData、サブタブMiscから編集できるデータ)を新しく入れたデータで上書きする
・AF... ActionFlags(メインタブData、サブタブMiscから編集できるデータ)を新しく入れたデータで上書きする

最後に「/」を入れて、2つ以上の動作を行うこともできます。でも、Externalの設定はできません。

SN、SF、EF、AFの4つはAC、PF、PB、POと異なる書き方が必要なので、
まず、AC、PF、PB、POの4つについて書きたいと思います。

AC:SpA:Ex=117-118,といったように書き込むと動作しますが、
この中で、「AC」の部分は「どのようなことを行うか」
「SpA:Ex」の部分は「どのタブで使われているデータか」「Listの内のどのデータか」
「117-118,」は117が「開始地点」、118が「終了地点」
をそれぞれ表しています。

「どのようなことを行うか」の部分が「PF」などで、イベントを追加したい場合はこの後ろに、
普通にCopyボタンをクリックしてコピーされるデータを貼り付けるだけでOKです。

「どのタブで使われているデータか」「Listの内のどのデータか」については、
Copyボタンを右クリックした時に出る、「Copy Routine」をクリックすると、
SpecialsのEntry 112を選択中だと「E=00070100:SpA:En=112,」
Sub ActionのMain 0を選択中だと「E=00070100:SubA:M=000,」
OverrideのExit 3Dを選択中だと「E=00070100:SOR:Ex=03D,」
がクリップボードに書き込まれます。
この「E=00070100:SpA:En=112,」のうち、「SpA:En」の部分を取り出して使えばOKです。
※Articlesタブ、Sub Routinesタブから入手できるデータは、使えません。

「開始地点」「終了地点」については、そのままです。
開始地点のIDと終了地点のIDをそれぞれ入れるだけです。
注意点としては、
IDが0や1でも「000」といったように必ず3桁にしないと動作しないことと、
Overrideの場合は設定されたActionIDが「開始地点」と「終了地点」のID内に入っている場合に動作するため、位置を書き込んでも正常な動作をしないということ
この2つくらいです。
※仕様変更により「開始地点」と「終了地点」の値が逆になっている場合は「開始地点」の1つだけの設定が適応されるようになりました。これを利用して、「終了地点」を0にしておき、103、104、105、106にそれぞれ一つずつ指定サブルーチンの位置が違うデータを貼り付けるように設定、まとめて貼り付けを行わせる。 といったこともできます。ちなみに、変更前のものだと「開始地点,」となっている場合は動作しません


「どのようなことを行うか」という部分が、SNの場合は
SN:Set003-004,JumpFといった書き方をします。
「003-004,」の部分は「開始地点」「終了地点」、「JumpF」の部分は書き込みをしたいAnimation名です。
通常の場合と同様で、Animation名の部分に「<null>」を入力するとAnimation名のデータを消すことができます。文字数最大が31までなのも同じです。
※仕様変更により、改行を途中で入れると改行以降のデータの読み込みが行われないようになりました。また、「SN:Set003-004,<null>SN」といったように入れた場合、「<null>」の後ろにあるデータは読み込まれず「<null>」だけが適応されるようになりました。仕様変更前は改行も読み込んで文字列にしてしまうので注意が必要です。


「どのようなことを行うか」という部分が、SFの場合は
SF:Set003-004,00020000といった書き方をします。
「003-004,」の部分は「開始地点」「終了地点」、「00020000」の部分は書き込みをしたいAnimation名です。
今回の「00020000」だとLoopの部分のみにチェックが入り、他は全部チェックが外れた状態になります。
「Set」の部分を「And」または「Or=」(Or,でもOK)に変えると効果を変えることもできます。
(AndだとAnd演算、Or=だとOr演算を行います)
SF:And003-004,00020000→Loop以外にチェックが入っている場合はLoop以外のチェックを外す
SF:Or=003-004,00020000→Loopにチェックが入っていない場合はチェックを入れる
一応、下4桁も変更できますが、意味はないかと思われます。
※仕様変更により、最初の文字さえ合っていれば動作するようになりました。「Or=」ではなく「ORs」、「Set」ではなく「SET」と書いても問題なく動作します。


「どのようなことを行うか」という部分が、EF、AFの場合は
EF:Set117-118,1-00002000といった書き方をします。
「Set117-118,」の部分は「開始地点」「終了地点」、「1」の部分はFlags、「00020000」の部分は書き込みをしたいAnimation名です。
SFと同じで、「Set」の部分を「And」または「Or=」に変えると効果も同じように変わります。
AFの場合はCommon ActionFlags(Action0~111のデータ)とSpecial Action Flags(Action112以降のデータ)がありますが、ここでは区別がありません。110-112と入れるとCommon ActionFlagsの110と111、Special Action Flagsの112にデータが適応されます。
一度につき1つのFlagsしか、まとめて変更をすることはできません。(Flags0の変更をするように書き込んだ場合、Flags0の部分以外は動作しない)
Flags0とFlags1をまとめて変更したい場合は、EF:Set117-118,0-20000040/EF:Set117-118,0-00002000といったように、「/」を入れましょう。
このFlagsに関しては、よくわかっていない部分なのであまり利用価値はないかもしれません...


以下、例と結果

Pasteするデータ: AC:SpA:En=117-FFF,
結果: Specials Entry 117から最後までのデータを全削除(終点が最大値を超えても、エラーは出ずに超えない所まで動作になる)

Pasteするデータ: PO:SubA:M=07F-083,E=00090100:SubA:M=07E,/PF:SubA:M=0CC-0CC,E=00090100:SubA:M=07E,
結果: Sub Action Main 7Eから83までのデータとSub Action Main CCのイベントを「Goto:2x(Sub Action Main 7EのOffset)」で上書きする(「開始地点」と「終了地点」を同じにするか、「終了地点」の方を小さい値にすると、対象を1つの部分のみに絞って動作させられる)

Pasteするデータ: AC:SOR:Pr=004-004,
結果: Action Pre 4のイベント全削除またはExternal設定解除(POの場合はExternalを解除に加えてイベントを書き込めるが、PFとPBの場合はExternalがついているものに対しては動作をさせられない)

※「どのようなことを行うか」 の部分が、「SN」以外であれば、「/」の前に改行を1~2つ程度入れて、その改行もまとめてクリップボードにコピーしてこの機能を使っても、動作に変化はありません。



ちなみに「まとめ貼り付け」だけでなく、通常の「Paste」を行った時も、イベント最初の「E=」の部分を改行に変えたろしても問題なく動作します。(スペースは1文字、改行は2文字扱い。最後の部分に改行が入ってもある程度(10文字まで)の余分なデータは無視される。)
簡単に言うと、重要な部分である16進数データさえ問題がなければ、それ以外が変になっていても読み込めるというわけです。
(v0.30以前のバージョンでもできます)

例:
E=000A0100:6-0000001F,E=1F020000:E=000F0000:
↑のコピーされた文字列を↓ようにしても問題なく上のものと同じ動作をします。(「0x」から改行を含んで「!」まで)
0x000A0100 6x0000001F
1F020000+
000F0000&
*******!
Excelなどにデータをまとめることもできます。
うまくExcelとPSACompressorを使えば、使用変数を探すためのデータ作成などが簡単にできそうですね。

PSAの圧縮専用アプリ

2017.07.02 02:25|スマブラX改造 アプリ関連
現在、PSAの圧縮専用アプリを作っています(PSA Remaker)。
残り作業はほぼデバッグのみの状態になりました。(まだしばらくかかりそうですが...)
このアプリは、
・ベースのファイルから「data」「Article」「Misc Section」などのデータのOffsetをあまり変えずにできる範囲で最大の圧縮を行う
・すべてのOffsetを変えてBrawlBoxのような圧縮をする
この2通りしか基本的にできない仕様になると思います。

ちなみにこのアプリは、PSACompressorで開けないようなファイルは基本的に対応していませんので、注意してください。
また、Sub RoutineやGotoによるサブルーチンの設定がおかしい場合も、バグの原因となることがあるので、PSACompressorで確認した方がよさそうです。

仕様いろいろ:
・BrawkBoxによるバグなどで消えた一部のデータがデフォルト状態で復元されることがある。(元となる専用のデータにファイル内のデータを書き写して出力するため)
・すべてのOffsetデータが変更されてしまう可能性がとても高い。
・空データのOffsetは自動ですべて0になる。空サブルーチンの設定先になっていても同じ。
・サブルーチンの設定先が空データの場合、Sub RoutineはNo Eventに変換する。
・Sub RoutineやGotoで設定先が空データのサブルーチンがあると、Offsetを0にする
・OverrideのOffsetなどがおかしい場合は、元々OverrideデータがあるキャラでもOverride関連のデータが消える
・BrawlBoxとは違い、Offsetの同一設定は引き継ぐ。(途中からになっている場合は無理)
・SubActionの7Eと84などのデフォルトで同一Offsetの設定になっているデータはイベントデータが1つで同じ、もしくはサブルーチンで場所を指定していればであればOffsetの同一化をする。(SubAction76~95、BC~BD限定。固有データまでは対応していない)
・Externalデータは昇順ソートされる。
・一部非対応データあり。

そういえば、スネークのファイルのOverride(Exit 10C)データにType(Value、Scalarなどの選択箇所)4が使われているデータがありました。
アドレスで文字列指定と、少し特殊なつくりになっていて、PSACompressorで対応化させるかどうかは実用性があまりなさそうなので意味薄ですね...
PSARemakerの方はとりあえずデータ的におかしくならないようにはする予定です。

※PSACompressorやBrawlBoxでは非対応のため注意!
PSACompressorでは位置をMove Offsetなどで動かさないようにすれば問題ありません。

PSACompressor v0.30再修正と

2017.05.17 01:55|スマブラX改造 アプリ関連
PSACompressor v0.30で、サブアクション名を変更した際にバグが起こることがあったので修正しました。
あと、イベント編集時にパラメータがないのに表示されるバグも修正しました。
ダウンロードはここから

さらに、Delete Unused Externalsで使われていないExternal Sub Routineのデータを削除した時に、
データがデフォルトの順番(SmashAttacksなどで編集する前のデータ順番)になるようにしました。
また、メインタブDataの中のサブタブMiscから編集できるデータも修正を入れました。
MiscSection\Misc Section 5(データ数4のキャラ以外に6のキャラがいるので対応)
MiscSection\Item Bones(編集するとおかしくなるCountとOffsetの編集を不可に変更)
プロフィール

ICLPX

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

最新記事

最新コメント

月別アーカイブ

カテゴリ

検索フォーム

RSSリンクの表示

リンク

ブロとも申請フォーム

この人とブロともになる

QRコード

QR