[Hack] 新バージョンのIPSwitchがきそうだぞ!

Hack

IPSwitch

IPSwitchとはI・P・S・witch(日本語だとアイピーエス・ウィッチ)と読み、ニンテンドースイッチのmainファイルに対してパッチを当てるIPSファイルをテキストファイルから生成することができるツールの名称である。

本来であれば自分でビルドしなければならないIPSファイルのパッチを自動でつくってくれるというだけでもかなり便利なのに、これが大規模アップデートされるようです。

新バージョンの目玉機能

以前の記事でも紹介しましたが、IPSwitchは直接ARM64命令からの変換機能を持ちません。keystoneを使えばいけるよねって話を上の記事でしたと思うのですが、(実装はあとの方になるものの)なんとこれに対応してくれるようです。

新しい構文解析のためのめっちゃめんどくさい部分の実装が進行中やで。今日は数学のテストがあるし、週末にはフェスがある。なので来週まで進捗はないかもしれないね。現在検討してる新機能は以下の通りだよ。

  • NROサポート
    • これはよくわかわからん
  • 一つのpchtxtファイルからの複数パッチサポート
    • バージョンごとに分けていたパッチファイルが不要になるかも
  • パッチ開発者の表示サポート
  • ビッグエンディアンサポート
    • 現在はリトルエンディアンしかサポートしていない
  • マルチランゲージサポート
    • 日本語と中国語を最初にサポートする予定
  • FTPに似たnxlnikというファイル転送をサポート
    • パッチのロードが楽になるかも

ARM64サポートについては直接きいたないようなのでツイートには載ってないので悪しからず。

新バージョンのReadMe.md

3096/ipswitch
Use text to generate cheats or `.ips` patches to use with Atmosphere. - 3096/ipswitch

既に新バージョンのIPSwitchのReadMe(使い方が載っている説明書)がアップロードされているので、具体的にどんな機能があるのか見てみましょう。

旧式フォーマット

現在のIPSwitchが受け付けているpchtxtファイルのフォーマットは以下のような感じですね。

@nsobid-DA404117DA4A7D6CB1CDB2BCD730582A
@flag offset_shift 0x100

// One Player Private Battles [OatmealDome]
@enabled
00367FFC 1F2003D51F2003D509000014 
0036F3A4 1F2003D51F2003D509000014
014B7680 21008052
014D4968 1F2003D5
014D54AC 21008052
書き方意味
#エコー識別子
@nsobidビルドバージョン
@flag offset_shift 0x100オフセット
@enabled / @disabled有効または無効

@nsobidというのは同一のゲームであってもバージョンによって異なる値で、これがあるおかげでバージョン違いのパッチを誤ってロードしないようになっています。

@flag offset_shift 0x100というのはNSOとELFでのオフセットサイズの違いで、単にNSOには余計に0x100のヘッダー情報がついているのでその分だけ後ろにズラせという意味です。

エコー識別子は、これを書いておけばパッチ作成時にこの部分が表示されるよってことです。

新型フォーマット

書き方意味
#エコー識別子
@titleタイトル(任意)
@programタイトルID(固有)
@urlパッチファイルURL
@flag nsobidビルドバージョン
@flag offset_shift 0x100オフセット
@enabled / @disabled有効または無効

URLをサポートしたおかげで、パッチファイルをどこかに公開しておけばわざわざFTPでファイル転送する必要がなくなりました。

非公開パッチについてはさておき、公開できるものであればgithubかどこかにおいておけば利用が楽そうでいいですね。

まとめ

新バージョンではかわいいタコさんの画像がローテーションで表示されるらしいのでちょっとテンションが上ってきました。

IPSwitchに関してはUIなどがかなりローレベルだったのですが新しいフォントの対応などでエンドユーザの使い勝手もかなり上がりそうな気がしています。

正直、ある種の完成形に達していたのでメジャーアップデートには全く(いい意味で)期待していなかったのですが、このタイミングでアップデートしていただけるのはとても嬉しいですね。

アップデートがいつ頃になるかは未定ですが、どうも近日中にテスト版が公開されるみたいです。リリースを急かしたりせず、落ち着いて待ちましょうね。

記事は以上。

コメント

タイトルとURLをコピーしました