トップページ可タグより画像をお借りしてます

VNGE Background PNG SceneSaveState 読み込み修正パッチ v1.0.0

サムネイル

■ はじめに

VNGE では、Track ボタンの先にある Track scene environment を ON にすると、背景やフレームなどのシーン環境情報が保存・復元される…はずなのですが、試したところフレームは大丈夫でしたが、背景画像がうまく適用されませんでした。本パッチはこの問題を解消し、UserData/bg 配下の背景と DefaultData/bg 配下の背景の両方について、SceneSaveState のシーン切替時に正しく復元・切替できるようにします。

■ 内容物

(1) vnactor_bg_png_fix.py
VNGE の構成ファイルである vnactor.py から新たに参照される追加の Python スクリプトです。

(2) vnactor.diff.txt
vnactor.py 内の特定の関数を、同梱の ‘vnactor_bg_png_fix.py’ に定義された関数へ置き換えるために必要なパッチ記述です。

■ インストール

1. ‘vnactor_bg_png_fix.py’ を ‘HoneySelect2\BepInEx\plugins\Console\Lib’ に入れる。

2. ‘HoneySelect2\BepInEx\plugins\Console\Lib\vnactor.py’ に vnactor.diff.txt を適用する。
(vnactor.diff.txt を使わずに手動でパッチを行う場合は、「■ 後説明」の項目を参照してください。)

■ アンインストール

1. ‘vnactor_bg_png_fix.py’ を ‘HoneySelect2\BepInEx\plugins\Console\Lib’ から削除する。

2. ‘HoneySelect2\BepInEx\plugins\Console\Lib\vnactor.py’ に追加した差分を元に戻す。

■ 後説明

VNGE では、SceneSaveState の Track scene environment を有効にすると、背景やフレームなどのシーン環境情報は vnactor.py の export_sys_status() および import_sys_status() を通して保存・復元されます。vnactor.py の sys_bg_png() 関数は、ファイル名単体を受け取る想定の実装でした。私の環境で、背景画像がうまく適用されない原因を調査してみたところ、背景画像の切り替え時に保存値としてファイル名単体ではなく ‘UserData/bg/0164.png’ や ‘DefaultData/bg/HS2_mapsample00.png’ のような相対パス付きの文字列が渡されているようでした。

sys_bg_png() は、受け取ったファイル名に “UserData/bg” や “UserData/background” を連結しているため、復元時には UserData/bg/UserData/bg/0164.png や UserData/bg/DefaultData/bg/HS2_mapsample00.png のような不正な連結になっており、それが原因で SceneSaveState によるシーン切替時に背景PNGだけが復元できない状態になっていました。

この問題への修正パッチを VNGE に適用するには、VNGE の構成ファイルである ‘HoneySelect2\BepInEx\plugins\Console\Lib\vnactor.py’ の末尾に、以下の記述を挿入します。

※行頭にインデントを入れる方法が分からなかったので画像引用してます。pythonスクリプトはインデントを崩すと絶対動きませんのでお気をつけて。

vnactor.py の修正箇所はこれだけです。変更を保存したら、’vnactor.py’ と同階層に ‘vnactor_bg_png_fix.py’ を配置してください。これにより、vnactor.py の sys_bg_png 関数は退避して残しつつ、呼び出し先をMOD版へ差し替えています。try-except で記述しているため、万一外部ファイルが見つからない場合は元の関数が使われます(安全策)。

外部ファイル側の sys_bg_png() は、受け取った値がファイル名単体であれば元の sys_bg_png() に処理を戻し、相対パス付きの文字列であればMOD側の処理を通すようにしています。この修正により、既存のファイル名単体での挙動を維持しつつ、相対パス付き文字列が渡される環境でも背景PNGを正しく復元できるようになります。

アップロードファイル(クリックでダウンロード)

エモーションボタン

いいね!(5)実用性高い!(3)
いいね! ユニーク! エロい! 実用性高い! 感動した! 面白かった! 完成度高い! カッコいい! かわいい! キレイ!

一言感想ボタン

+ボタンをクリックすることで追加することができます
×ボタンをクリックすると削除確認メッセージが表示されます
虫眼鏡マークをクリックすると同じボタンをつけられた記事の一覧が表示されます

※ボタンを押した回数はキャッシュされるため、表示が反映されるのは編集などでクリアされるか、30分ごとです

コメントを残す

現在コメント投稿が一部制限されています

メールアドレスが公開されることはありません。 が付いている欄は必須項目です