KISSが販売するゲームソフト「カスタムメイド3D2」の改造wikiです。

概要
前提MODの一つ。DLLを1つ置くだけでMODが使用できるようになるぞ!
作者
???

機能一覧

  • Sybaris\GameDataフォルダ下に置いた非公式MODファイルの読み込み
  • Sybaris\GameDataフォルダ下に置いた公式MODファイルの読み込み
  • Sybaris\PresetもしくはSybaris\GameDataフォルダ下に置いたプリセットファイルの読み込み
  • 非公式MODファイルの自動フォルダ分け(Sybaris\GameData内に自由に配置したファイルを実行時にメモリ内で適切なフォルダ構成に変更)
  • 非公式MODファイルの実行時リロード(エディットの入り直しやアイテムの付け外しでリロード)
  • プラグインリダイレクト(Sybaris\Plugins\Managed下に置いたファイルを実行時に本物のManaged内ファイルと置き換え)
  • UnityInjectorのダイレクトロード(ReiPatcherなしでUnityInjector.dllを直接ロード)
  • ユーザー定義ポーズの追加(サンプルポーズ付き)
  • Mono.Cecilを利用したアセンブリへの実行時パッチ機能(開発者向け)
  • しばりす専用プラグイン
    • 公式Modフォルダのサブフォルダ対応プラグイン

Sybarisフォルダ(初期構成)

  • Sybaris
    • GameData (この中にtexやmodel等のMODファイルを入れる。フォルダ構成は自由)
      • Samples (サンプルデータフォルダ。内容物は不要であれば捨てても問題なし)
    • Loader (しばりす用プラグインフォルダ)
      • Mono.Cecil.dll (パッチ用ライブラリ)
      • Mono.Cecil.Rocks.dll (パッチ用ライブラリ)
      • Sybaris.Loader.dll (しばりす用プラグインローダー)
      • Sybaris.ModLoader.Patcher.dll (Modサブフォルダ対応プラグイン)
      • UnityInjector.dll (UnityInjector本体)
      • ExIni.dll (UnityInjector関連dll)
    • Plugins
      • Managed (プラグインリダイレクト機能を使用する場合はManaged系ファイルをここに入れる)
      • UnityInjector (プラグインリダイレクト機能を使用する場合はUnityInjectorプラグインをここに入れる)
    • Poses (ポーズ定義フォルダ)
    • Preset (ここに入れたプリセットファイルは正規のプリセットフォルダに入れるのと同等として扱われる)
    • Sybaris.ini (しばりすの設定ファイル。基本的には書き換え不要)

ダウンロード

更新内容はreaadme.txtから引用・割愛
ver160930http://ux.getuploader.com/cm3d2_e/download/317/cm3...
● Sybaris\PresetとSybaris\GameData内の拡張プリセット(.preset.expreset.xml)の読み込みに対応
● v1.38の仕様変更によりanmがロードできなくなっていた問題を暫定修正
ver160410http://ux.getuploader.com/cm3d2/download/210/cm3d2...
● Sybaris\GameData内のarcファイルを読み込む機能を追加
 読み込むタイミングとしては正規のarcを全て読み込んだ後になります
ver160401http://ux.getuploader.com/cm3d2/download/200/cm3d2...
● neiへの追記機能を追加
 ● neiと同名のcsvファイルを作ってSybaris\GameData内に置くと、対象のneiにcsv内の行を追記します
  ● nei丸ごとの上書きと違って追記なので、neiの列構造さえ変わらなければ本体バージョンアップがあっても修正不要です
 ● しばりすは異なるフォルダに同名のファイルがあると1つしか読み込みませんが、この機能のみ例外的に全て読み込んで追記します
  ● なのでフォルダさえ分ければ複数のMODで同じneiへの追記ができます
ver160212http://ux.getuploader.com/cm3d2_f/download/35/cm3d...
● メニューフィルタリング機能を追加
 ● エディット時の一覧から、指定したアイテムを非表示にする機能です
 ● Sybarisフォルダ内のIgnoreMenus.txtにメニューファイル名(dress004_wear_i_.menuとか)を記述することで指定します
  ● 複数指定する場合は改行してください
  ● メニューファイル名は、SybarisArcEditorのMenuタブが探しやすいです(右クリックメニューからファイル名もコピーできます)
 ● arc内のmenuだけでなく、公式MOD(.mod)や非公式MOD(.menu)も対応しています
 ● menu自体は読み込んでいるので、非表示にしたアイテムをプリセットなどから呼び出すことは可能です
● 別途配布していたResourcePresetReplacerプラグインを同梱
 ● リソース(resources.assetsファイル)内に含まれるプリセットを上書きできるプラグインです
 ● 使い方はリソース内のプリセットと同名の .preset ファイルを、しばりすがプリセットを読み込み可能な場所に置くだけです
  ● 置く場所はCM3D2\Preset, Sybaris\Preset, Sybaris\GameData内の任意の場所, のいずれでもOK
  ● 例えば「pre_maid_secretary.preset」というファイルを置くと、メイド秘書のプリセットが置き換わります
  ● 他にどんなものが置き換え可能かは「pre_maid_secretary」でググると分かるかも
● しばりす用ポーズの撮影モードでのモーションカテゴリを指定できるようにした
 ● ポーズ定義(json)をメモ帳等で開いて「"category": "任意のカテゴリ名",」という行を"name"の下辺りに追加すると指定できます
ver160131
● tjsファイルの上書き・追加ができなかったのを修正
● プリセットの上書き処理を追加
 ● arcに含まれるプリセットと同名のファイルがSybaris\GameData内にある時に上書きします("pre_土屋よし子.preset" など)
● 撮影モードのモーションにしばりす用ポーズが表示されるようにした
 ● アップデートで問題が出た場合はSybaris\Posesフォルダを削除や移動してください(関連処理が停止します)
ver151223http://ux.getuploader.com/cm3d2_b/download/255/cm3...
● 環境によってプリセット一覧を開くのが重い問題を修正
ver151219a
● 151219でスクリプト系の追加・置き換えが機能しなくなっていた不具合を修正
ver151219
● 32bit版でプリセット表示がおかしくなる問題を修正
● DLCのスクリプト上書きに対応
 ● 1.19で追加された処理に依存しているので今回から1.19以上が必要になります
● ExPluginBaseのリダイレクトに対応
● Maid FiddlerのDLLの件はせっかく配布元でフォルダ分けてくれてるのでフォルダ通りにぶち込めばいいんですが、原理的にはManagedフォルダのDLLはLoader内に入れても動きます
ver151205
● 起動時とプリセットリスト表示時のファイル検索処理を少し高速化
ver151202
● oggの差し換えに正式対応(動作確認済み)
● UnityInjector.dllとExIni.dllをアーカイブに含めるようにした
 ● 作者であるusagirei氏にしばりすに同梱して配布する許可を頂きました
 ● これで新規導入の際はしばりすを導入するだけですぐにUnityInjectorプラグインも使用可能です
● 公式mod形式ファイル(拡張子mod)をSybaris\GameData内の任意のフォルダに置いても認識するようにした
● presetファイルをSybaris\GameData内の任意のフォルダに置いても認識するようにした
 ● 上記2点の機能により、同一MOD内のtex, model等非公式modファイル、公式modファイル、mod用プリセットをまとめて管理できます
 ● また、副次的にプリセットのフォルダ分けが可能になります。ファイル名よりフォルダ名を優先してソートされるため、ファイル名の変更に頼らないプリセットの並び替えが可能になります
ver151117http://ux.getuploader.com/cm3d2_b/download/211/cm3...
● Sybaris.PoseLoader.dllとSybaris.PoseLoader.Patcher.dllが残っていた場合に自動で削除するように
● UnityInjectorが導入済みで、DebugPlugin.iniのCodePageが-1の時に932に書き換えるように
● 環境によって上書き系modが機能しない問題を修正?
● C#ソースコード(csファイル)の簡易自動コンパイル機能を追加
 ● Sybaris\Plugins\UnityInjectorにAutoCompileというフォルダを作り、その中にcsファイルを入れて起動すると自動でdllを生成します
 ● AutoCompileフォルダ下に直接csファイルを置いた場合、同名のdllが生成されます
  ● ex: YASD.Pluginを使用する場合、AutoCompileフォルダの下にCM3D2.YASD.Plugin.csを置いて起動するとdllが生成されます(新しめのUnityInjectorで利用する際は https://gist.github.com/asm256/2a4fd9aa9be9cf3c4ba... の書き換えが必要)
 ● 複数のcsファイルから単一のdllを生成する場合は、AutoCompileフォルダ下に生成したいdll名のフォルダを作り、その中にcsファイルを置きます
  ● ex: PersonalizedEditSceneSettingsを使用する場合、AutoCompileフォルダ内に「CM3D2.PersonalizedEditSceneSettings.Plugin」というフォルダを作り、その中に「PersonalizedEditSceneSettingsPlugin.cs」と「Helper.cs」を置いて起動するとdllが生成されます
 ● dllが未生成の時のみ作動するため、csファイルを更新した等で再度dllを生成したい場合は、起動前にあらかじめdllを削除する必要があります
 ● あくまでも*簡易*なので、できない場合は自前で何とかしてください
ver151110
● Chu-B Lip版でエラーが出る問題を修正
● oggの追加と差し換えができなくなっていた問題を暫定的に修正(差し換えはダメかも)
● 起動時の処理を少しだけ軽量化
ver151107
● Win7環境でUnityInjectorフォルダのリダイレクトが動作しない問題を修正
 ● 従来の場所(CM3D2\UnityInjector)に置いたままだと動作しなくなるので、Sybaris\Plugins\UnityInjectorへ移動させてください
● PoseLoaderを廃止し、1.16で実装された本体のポーズロード機能を利用するように変更
 ● これによりSybaris.PoseLoader.dllとSybaris.PoseLoader.Patcher.dllは不要になったため、実行前に必ず削除して下さい
● 上記に伴い1.16より下のバージョンでは動作しなくなります
ver151031http://ux.getuploader.com/cm3d2_b/download/89/cm3d...
● 1.15環境でPoseLoaderが動作しない不具合を修正
● 上記に伴い1.15より下のバージョンでは動作しなくなります
● 暗号化arcを処理から除外するように修正
ver151025
● prioritymaterialやscriptなど一部のarcへの追加ができていなかった不具合を修正
ver151024a
● x86版でエラーになっていたのを修正
● Patcher機能の不具合を修正
ver151024
● 別配布していたサンプルポーズデータをいくつか追加
● MOD使用時のメモリ使用量を9割くらい削減
● 上記に伴い起動を多少高速化
● Patcher機能を追加(開発者向け)
 しばりすがPatcherとして読み込むアセンブリの条件は以下の通りです
 ● Sybaris\Loaderフォルダに配置されている
 ● *.Patcher.dll というファイル名
 ● ネストしていないpublic static classを持つ(複数可)
 ● 上記class内に public static readonly string[] TargetAssemblyNames というフィールドを持ち、ターゲットとなるアセンブリ名が列挙してある
  ● 例: public static readonly string[] TargetAssemblyNames = {"Assembly-CSharp.dll"};
  ● 厳密にはreadonlyである必要はない
 ● 上記class内に public static void Patch(AssemblyDefinition assembly) というメソッドを持つ
 ● 以上を満たした場合にmono.dllがアセンブリをロードする直前にPatcherを読み込みメモリ上で動的にパッチを行います
 ● よく分からない場合はSybaris.Loader.dllや既存のPatcherを逆コンパイルしてください
 ● しばりす関連への依存性を無くしているので、今後似たようなツールが出てきても流用が簡単(なはず)
  ● ReiPatcher用にも薄いラッパーを被せればそのまま流用できる(はず)
● pmatの追加に対応した(かも)
ver151018
● Loaderフォルダに未対応のDLLが入っているとエラーとなっていたのを修正
● Modフォルダ内のサブフォルダにあるmodファイルも読めるようにした(Mod\なんとか\かんとか.modという構成でもロード可能)
● サンプルポーズデータをいくつか追加
ver151015
● 速度が低下していた問題を修正
ver151013
● ポーズ追加プラグインとサンプルポーズデータを追加
 ● ポーズ追加プラグイン「Sybaris.PoseLoader.dll」はしばりす専用プラグインです。
 ● ポーズを定義したanmとアイコン用のtexをSybaris\GameData下に適当に放り込んだ上でPosesに定義ファイルを入れると追加可能です
 ● 追加されたポーズはエディット画面上で選択できます
ver151010
● 一部のファイルがリダイレクトされない問題を修正
● UnityInjector.dllを直接読み込む機能を追加
 ● これによりReiPatcherなしでUnityInjector及び関連プラグインをロードできます
 ● 使い方としては、従来Managedに入れていたUnityInjector.dllとExIni.dllをSybaris\Loaderフォルダに入れるだけです(ReiPatcherは不要です)
 ● あとは従来のUnityInjectorフォルダかリダイレクト用のSybaris\Plugins\UnityInjectorフォルダにプラグインを入れれば動作します
 ● ReiPatcherによるパッチが必要なUnityInjector用プラグインの場合は、従来通り対象のアセンブリ(Assembly-CSharp.dllなど)にパッチを当てた後Sybaris\Plugins\Managedに入れればOKです
 ● これの実装結構大変だったのに終了するわけないじゃないですか><
● 上記機能に伴い、Loaderフォルダ内にUnityInjector.dllがある時もUnityInjectorフォルダをリダイレクトするように変更
ver151008
● 32bit版に暫定対応
ver151005
● プラグインリダイレクトの説明にプラグインのコンパイルについて追記
● プラグインのリダイレクト先を指定できるようにした
 Sybarisフォルダ内にあるSybaris.iniで指定します。詳細はini内を参照して下さい
ver151004
● 男用メニューファイルがarc内で適切なディレクトリ構成になるように修正
 メモリ内でディレクトリを自動再構成するので、.menu自体はどこに置いてもOKです
ver151003a
● Windows 10 でも動くようになった…かも
● それでも動作しない場合は、opengl32.dllをsybaris.dllにリネームした上で、
 次を行をバッチファイルにして試してみて下さい(バッチファイルはCM3D2フォルダに置くと仮定)
 rundll32.exe sybaris.dll,InjectDll CM3D2x64.exe
● バッチファイルを他の場所に置きたい場合はsybaris.dllのみフルパスで指定して下さい
 (例) rundll32.exe C:\KISS\CM3D2\sybaris.dll,InjectDll CM3D2x64.exe
ver151003
● neiファイルの上書き処理に対応(Sybaris\GameData内に入れることで読み込みます)
ver150928a
● VR版でもプラグインリダイレクトが動作するようにした
● リダイレクトによって一部プラグインにエラーが発生していたのを修正
● おまけでSybaris Arc Editorを追加
 作りかけのツールなので名前に反して編集はまだできないです
 しばりす本体とは特に関係ないので、いらなければ捨てて下さい
 簡単に書いておくと、CM3D2フォルダに置いて起動するとGameData\*.arcを全読み込み、
 それ以外に置いた場合は「開く」かD&Dでarcファイルを読み込みます
 ファイルを選んで右クリックから保存できます
ver150928
● 追加分のファイルもエディット入り直しや非表示→表示等の切り替えで再読み込みするようにした
ver150927
● UnityInjectorのリダイレクトがうまくいっていなかったのを修正
ver150926a
● 一部ハッシュの計算がおかしくなっていたのを修正
● プラグインリダイレクト機能を追加
 従来ManagedやUnityInjectorフォルダに置いていたプラグインを、
 Sybaris\Plugins\ManagedやSybaris\Plugins\UnityInjectorに置くとそこから読み込むようになります
 これによりゲーム本体への改造をほぼ行うことなく、集中的なMODの運用が可能になります
 (改造用にゲームを丸ごとコピーした別フォルダが必要なくなるので、アップデート時などに行う作業が簡略化できます)
 デフォルトではオフで、Sybaris\Plugins\ManagedにAssembly-CSharp.dllがあると機能が有効になります
 (逆に従来のフォルダに置いたままだと読み込まなくなるので注意してください)
ver150926
● 異なる階層のフォルダで同名のファイルがあった場合は片方のみ使用するように
● arc内ファイルへの上書き処理に対応(スクリプトもOK)
● スクリプトの追加処理に対応
● 起動が多少(環境によってはかなり)重くなったかも?
● わりと人柱版なので念のためセーブデータのバックアップ等々やった方が安心
ver150924a
● デバッグ用の出力が残ったままだったので修正
 Sybaris\GameData下にarcファイルが生成されてしまっている方はお手数ですが削除をお願いします
ver150924
● Sybaris\GameData内のファイル読み込み機能を実装(追加ファイルのみ)

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

どなたでも編集できます