|
>ファイル読み込みについてのお話で、
>質問の横やりになってしまい申し訳ないのですが、
調べた上で適切な所に書き込んだはずなんだけど
それに、質問じゃなく要望なんだけど
仕様の問題点を1行で書くと
表示する画像の差し替えが簡単に出来てチートやり放題。
○とりあえずここに書き込む事になった流れ
;グレーな部分
2chの外部団体としてるほぼ2chな所で画像を見てその場面のセリフを見たくて作品を中古で購入
※ちなみに、中古で購入した段階でメーカーのサポートはほぼ無くなる
ysbin.ypfを展開して画像部分のセリフを見ようとするが諦め (ysbinに関しては提案有*)
;グレーな方法ここまで
;ここから通常と変わりない
普通にゲーム起動して見たい場面までスキップすることにする
※メッセージ表示速度 MAXなど可能な限りスキップの高速化設定はする
;以下問題
1024x768の画像使用してるゲームということもあるだろうけど他のゲームと比べスキップ速度が何故か遅い
;上の一行だけならスクリプト開発(メーカー)側に要望を送ることができる
;スクリプト側で音声ファイル読み込みしないなど対処もできるけど他のゲームでは音声ファイル読み込んでるにもかかわらず早い
ファイルI/Oが原因と判断して
File system monitor*で見た結果が非効率
※ファイルの読み込み方法はスクリプトエンジン側の問題なのでゲームメーカーに送ってもこの問題は解決しない
*File system monitor
(現在はMicrosoftに買収されてる)SysinternalsのFile I/O監視ソフト
○詳細
・スキップ機能
「スクリプト側の対応」となるけど「ファイルの読み込み方法」はスクリプトエンジン側の問題
ファイルを読み込まないの選択肢もあるけど全ての開発する人が実装するとは限らない
yu-ris採用したゲームが最初だからかもしれないけど…
(親の書き込み後)何故かPCのスペックが低いとかは除外してたけど
lua5.1.dllを付属してるゲームのCPU負荷がハンパ無い Pentium4(北森コア) 3GHzじゃ無理なのか。
・ファイルI/O
File system monitorで見た所
ファイルを読み込むたびに
・path検索 ファイルが存在していれば読み込んで閉じる
・pathにファイルが存在しなければypfファイルを開いてypfファイル内から読み込んでypfファイル閉じる
この繰り返し
他のデータが1ファイルに格納されてるゲームでは常にアーカイブファイルが開いた状態
//
>まず、
>>某ゲームの場合
>>cg.ypfファイル内の"cg/ev/ev106_1_w.png"で画像の一部をマスクしてるのですが
>>cg/ev/ev106_1_w.pngのダミーファイルを用意すればマスクされずそのまま表示されます
>
>に、ついてなのですが、これはuT様の制作作品なのか、
>それともコンパイルしていない作品が公開されており、
>その内での話なのでしょうか?
前述の通り定価約8800円で販売されてるR18な作品です
>ご存知の通りYU-RISはクローズドソースですし、
>コンパイル後のファイル展開は、基本的には非常にグレーの領域です。
>その概要から『某ゲームの場合』と書くのは、
>ちょっと例としては余り適切ではないのではないでしょうか。
「某ゲーム」の表記は不要でしたね
○おまけ
別にスレッド立てるべきなんだろうけどついで
*ysbin.ypf
コンパイル時に無視されてるコメントとマクロ以外は忠実に復元が可能と思われる
注意:マクロは入るべき所に入った状態
ファイル名は書かないけどソースのファイル名とラベル名がそのまま存在
デバッグ用なんだろうけどプログラム配布する時に実行ファイルとpdbファイルを両方とも同梱してるようなもの
ラベル名を8文字の16進数に変換・ソースファイル名は内部に残さないなどの改善した方がメーカー側も安心して使えるはず
暗号化も全て共通ではなく配布するファイルに含まれないconfigファイル内に表記してcg.ypf等にも個別の暗号(文字列)を適用可能にしたほうがいいと思われる
|
|
|