わいあーど頭痛

「ロスト・エンド・クレイドル」更新情報などのブログ

SaveCurrentWallpaper.aymのreadme

SaveCurrentWallpaper.aym
ver.1.00(2020.06.15)

※この記事は本体とは別に更新される可能性があります※

連絡先

lost_nd_xxx(ろすえん)

不明な点への質問やバグ報告・要望などお気軽にお願いします。

概要

YAYA as SAORI用追加モジュールです。
櫛ヶ浜やぎさんが作製されたset_wall_paper.exe(以下本家)の、第1引数をgetとした時に「現在設定されている壁紙のパスを取得する動作」を代替できる物を目指しました。
このモジュールは本家の完全な互換品ではありません。パスの取得ではなくファイルのコピーを行うためです。

壁紙変更そのものに関しては、さくらスクリプトで行えるため、このモジュールでは行いません。(2020.06.15時点でSSPのみ対応のさくらスクリプトです)

set_wall_paper.exeがウィルス対策ソフトで誤検出される事例をいくつか見聞きしたため、作ってみました。

dic_里々用テスト辞書.txtは里々用の実装例です。

導入手順

① 以下のアドレスから、yaya_as_saori_2015_12_30.zipをダウンロードしてください。(日付の数字は変更される場合があります)
http://emily.shillest.net/ayaya/?YAYA+as+SAORI

② ①でダウンロードしたyaya_as_saori_2015_12_30.zipを解凍し、yaya_saoriフォルダにあるayasaori.aym、builtins.aym、yaya.txtをghost/masterフォルダ以下にコピーしてください。
お好みに応じてghost/master/saoriなどでも大丈夫です。

③ 以下のアドレスから、Assetsの下のyaya-***.zipをダウンロードしてください。(ファイル名の***はバージョンによって変わります)
https://github.com/ponapalt/yaya-shiori/releases/latest

④ ②でダウンロードしたyaya-***.zipを解凍し、yaya.dllを②で配置したファイルと同じ場所へコピーしてください。

⑤ readme.txtと同じ場所にあるSaveCurrentWallpaper.aymを②や④で配置したファイルと同じ場所へコピーしてください。

⑥ ②でコピーしたyaya.txtをテキストエディタ(メモ帳など)で開いて、『//dic, sample.aym』の下などに「dic, SaveCurrentWallpaper.aym」という行を足してください。

⑦ ゴーストでお使いのSHIORIに応じたSAORIの設定を(必要であれば)してください。

⑦-2 里々の場合、ghost/masterにあるsatori_conf.txtに、「@SAORI」という行があります。「@SAORI」という記述が無ければ最下行に足してください。
⑦-3a その「@SAORI」の下に何か書いてある場合
更にその下へ「aya,saori/yaya.dll」(※例です)という行を足してください。
⑦-3b その「@SAORI」の下に何も無い場合
SAORIのすぐ下へ「aya,saori/yaya.dll」(※例です)という行を足してください。

⑦-3aと⑦-3bとのどちらも、②でyaya.dllを保存した場所の、ghost/masterからの相対パスを書いてください。

ゴーストからの呼び出し方(里々の場合)

(aya,SaveCurrentWallpaper.Main)

などとしてください。
動作開始時、yaya.dllのあるフォルダのCurrentWallpaper.jpgを削除します。
動作成功時、yaya.dllのあるフォルダへCurrentWallpaper.jpgというファイル名で現在の壁紙が保存されます。
同名のファイルは置かないようにしてください。



現在の壁紙の保存に成功すると、「On_SaveCurrentWallpaper.Success」が発生します。
この時、(R0)にディレクトリが入ります。ファイル名はCurrentWallpaper.jpgで固定です。

\![set,wallpaper,(R0)CurrentWallpaper.jpg]

とすることで、壁紙に対して何かした後に元に戻したりすることができます。



現在の壁紙の保存に失敗すると、「On_SaveCurrentWallpaper.Failure」が発生します。
この時、(R0)には失敗の詳細が文章で入っています。
On_SaveCurrentWallpaper.Failureを里々の辞書に書かない状態だと失敗時に反応しません。

引数1個目に1を指定すると、失敗時にベースウェア本体からのエラー通知が無い動作になります。

(aya,SaveCurrentWallpaper.Main,1)

On_SaveCurrentWallpaper.Failureはこちらの場合でも失敗時に発生します。

更新履歴

  • ver.1.00/2020.06.15

公開開始