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した値に修正するよう変更。(そもそもこの値を使うこと自体はまずないかと思われ)
・オーバーライドのデータスペースがあるキャラでオーバーライドのデータリストサイズ次第でバグが起こることがあったので修正
・すでに超圧縮されたデータを読み込んだ時に、なぜかパラメータなどの変更が適応されないことがあったので修正


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

掴み系(?)切りふだ対策

2017.07.24 01:25|スマブラX改造 PSA参考
CPの超反応と、条件次第で起こる謎のフリーズがいやらしいので対策してみる。
攻撃を受けたときに、特定のアクションに移行するようなので、オーバーライドによる対策も可能。

発動キャラとActionIDはこの様になっています。
・リンク、トゥーンリンク:ED
・メタナイト:EF(対応Sub Actionなし)
・アイク:F7
・ファルコン:FD
・カービィ:100


メタナイトはキャラがフリーズするバグがあるらしく、オーバーライドでないと強行突破ができません。

リンクは切りふだの途中で掴まれ状態が解除されるキャラがいて、その後のリンクの通常掴みでフリーズ、なんてことがありました。場合によってはフリーズさせないためにも対策必須になるかもしれません。

ファルコンは、攻撃を受けた後に対策しても強行突破ができないので厄介。
オーバーライドによる無効化でも、吹っ飛び耐性を付けるなどの対策が必須になりそうです。

ファルコンの攻撃を誰かが受けて、自分は受けなかった場合は動きが止まりますが、
これは時止めみたいなものではなく、キャラが停止するアクション(ActionFB)に強制的に移行するというもののようです。
Change Actionで強行突破するのも面白いかもしれません。(超広範囲なら攻撃なども届きます。ただしカメラはファルコンが占領します)


ちなみに元々吹っ飛び耐性持ちで、攻撃を受け時にアクションを即切り替えてしまうような相手(スーパーターボ系キャラの強モードなど)にリンクの切りふだが発動すると、リンクがどこかに飛んで行って自滅することがあります。

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を使えば、使用変数を探すためのデータ作成などが簡単にできそうですね。

PKサイフォンネス更新

2017.07.05 23:55|スマブラX改造 キャラ紹介
更新しました。
ダウンロード

特定の攻撃を当てるとダメージを回復できるタイプのネスです。
スーパーターボ系キャラと同程度の強さで、スーパーターボ系キャラと似た性質を持っています。

変更点
・空中で上Bをした時の上昇量を固定化し、重い+メタル状態でも上昇できるように変更
・一部の技の威力、ふっとばしなどを少し調節(空中上攻撃など)
・ジャンプボタンを押しながらアピールで出すアイテムが少し豪華(?)になるように変更
・空中、走行中でも上アピール(?)ができるように変更。アイテムを持っていればヘルパーの呼び出しを空中でも可能
・アシストフィギュアを開くときのポーズを開いた後すぐにキャンセルできるように変更
・掴みカウンターと、上Bを空中で行った時に、飛び道具使用回数としてカウントされないようにした。
・下Bを攻撃回数としてカウントされないようにした。

テキストファイルには書いていませんが、
下Bでエネルギーを吸収することができれば、すごい回復力を発揮します。(弾の威力の5倍回復、上限999)
普通にアピールをしたり、攻撃を当てて回復をした方が早く回復できそうですが...
下B解除時に発生する風圧は、ダメージこそないもののスター無敵状態の敵を押し出すことができます。

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などで動かさないようにすれば問題ありません。
プロフィール

ICLPX

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

最新記事

最新コメント

月別アーカイブ

カテゴリ

検索フォーム

RSSリンクの表示

リンク

ブロとも申請フォーム

この人とブロともになる

QRコード

QR