星屑制作記にて、ランチャーテンプレの使用レポートが投稿されました。ランチャーテンプレ使用レポート (星屑制作記@やっぱりMovableType Vol.2)早速、返信を。
指摘された分のすぐに修正できるものについて更新しました。バージョンアップし、最新バージョンはβ3(0.02)です。ダウンロードはランチャーテンプレの紹介からどうぞ。
以下その記事の引用とそれに対する返事を書いていきます。半分以上が引用になっちゃった気がしますが・・・お許しください。
あれ・・・なんだか質素なページ(^^;;;;;)どうやらスタイルや画像へのパスが通っていないご様子・・・リンクも階層がずれていますね。同ディレクトリ内の他の2つのファイルは大丈夫なようですが...
ああ、しまった。トップページが始め方講座の内容になってしまっていましたね。直しておきます。
直しました。そして、 Manual フォルダ直下の index.html 以外のファイルはサブフォルダに移しました。
このツールを使うためにはHSPをインストールする必要があるのですが、私も含めて、ツールの為に別のツールを入れるのって、結構ためらってしまったりする人って多い気がします...(^^;;;)だって、「バリバリ使ったるわ~」って予め決めている人はいいですが、「ちょっと試してみようかな」な人にとっては、"やっぱ使わないわ~"って思ったときに、2つもアンインストールしなければならないのは大きなリスクなわけで...
そうですね、 HSP でスクリプトを編集せずにランチャーを作るツールを作ろうと思っていますが、それでもコンパイルするのに HSP が必要になってしまうんですよね・・・。むー。
sMenu = "ゲーム開始", "マニュアル", "バージョンアップ", "セーブデータ退避"
って形式で記述すれば、添え字は自分でつけてくれたような...←動作確認済まぁ、1行1文しか書けないHSPだと右に長くなりますけどね...
その通り、右に長くなってしまうという理由で、 1 行ずつ指定する方法をとりました。
それはそうと、終了ボタンがない上に、タスクバーを右クリックしてもメニューが出ないので、"おしまい"系のメニューを始末すると(するな)終了できないですね(^^;;;)
まあ、 Alt+F4 や、タスクマネージャーから終了できますが・・・タスクバーでシステムメニューが出るようにやってみます。ウィンドウスタイルに WS_SYSMENU をつければ出来ることがわかりました! 早速、直します。
タスクバーからシステムメニューが出るようにしました。
個人的には、各種設定項目に扱う数値は定数化した方が好きです。
何ヶ月か経ってプログラムを見直した時に、
if sConfigDefaultScreenMode == -1
とかいう表記を見つけても意味不明ですけど、
if sConfigDefaultScreenMode == FULL_SCREEN
って書いてあれば一目瞭然ですし。それに、何かの仕様変更でマイナス値を扱えなくなったときに、"-1"を直書きしていると、それを扱っている全ての行を変更しなければなりませんが、定数で宣言していれば、宣言部分の数値を書き換えるだけで済みます。
はい、マジックナンバーを定数化した方が良いことはかねがね知ってます。しかし、面倒くさがって、マジックナンバーでほっておくことがたびたび・・・まあ、マジックナンバーだと後が面倒になるんですが・・・
セーブデータ退避時のファイル名って、ゲーム名とその時の日時かなんかが自動で入ると便利だと思ったりなんかして...ちょくちょくバックアップを取りたい人にとっては、毎回入力するのは結構な負担だと思ってしまいした。あと、ゲーム起動時に自動的に保存するオプションがあると最高ですね。
星屑ランチャーで考えていたセーブデータの退避機能って、「セーブデータが消えた!」というリスクの回避と、「途中からやり直したい!」という要望に応えることが目的だったんですよ。なので、"バックアップ取り忘れた!"という事態は避けたかったりするんですよね。
なるほど。自動的にファイル名が付く仕様については了解です。ゲーム起動時に自動的に保存するオプションも納得しました。これについても、実装しようと思います。
マニュアル機能は、ファイルが存在しないとエラーで落ちますよね...(^^;;)エラーメッセージを出すだけにとどめておいてもいいかも。
エラー処理で手を抜いているのがばればれですね...
ちなみに存在するファイルを指定するとIEが2つ起動します...(^^;;;;)
多重起動してしまうのは直したはずなんですが...試してみたら、再現します。直します。
多重起動してしまう不具合をなおしました。
別階層のディレクトリ指定に\を使うときは、"マニュアル\\マニュアル.html"のような感じで、エスケープシーケンスが必要な旨を書いておくと親切かも。↑\1個だとマニュアルボタンを押した時に落ちます
マニュアルに書いておこうと思っていたのですが、忘れていました。
マニュアルの始め方講座にその旨を記述しました。
終了時に保存するかどうかを求めるダイアログが出ますが、[はい] [いいえ]以外に[キャンセル]があると嬉しいかも。・・・というか、普通はありますよね...(^^;;)
その通りですね。今、差分ファイル作成ツールは作り直しているので、それもちゃん実装しておきます。
でも、ディレクトリとゲームフォルダ名の両方を入力するのは冗長のような...?ゲームフォルダの親がパスになるので、ゲームフォルダまで入力させれば1発で済むはず...
その通りでした。
細かいですが、ディレクトリとフォルダの記述は、どちらかに統一した方がいいような...あと、ゲームフォルダ名の入力欄が狭いです...(^^;;;)
むー、自分は「ディレクトリ」は「フォルダ」とちょっとニュアンスが違って、パスの意味が含んでいるような気がするんですよね。でも、本当は同じ意味なんでしょう。入力欄の幅については、今度のでは、可変サイズのウィンドウにする予定なので、そうすれば解決すると思います。まあ、どちらにしても、もう少し大きなサイズにしなきゃですね。
Untitledの状態で設定ファイルを上書き保存すると、ファイルに拡張子がつきません...多分、初期状態で上書き保存した時は、名前をつけて保存のダイアログを呼び出すのが標準的な動作のはず...
その通りでした。それについても直します。
差分ファイルのフォルダ作成場所を指定できると便利かも...
これも今作っているバージョンでは指定できる予定です。
検証結果です。Ver.1.00→101 ◎Ver.1.01→110 ○(削除したファイルが検出されない)Ver.1.10→200 △(更新日時を古くしたファイルが検出されない)
更新日時の古いファイルに差し替えた場合は変更されないようですね。普通に考えれば日時の新しいものだけを差し替えればいいのですが、"新しいのが不評なので、昔作った素材に差し替える"というケースもあると思うので、個人的には要検討かな・・・と思います。
削除されたファイルに関しては、何となくテストしてみただけです...(^^;;)別に機能としてはなくてもいいかな~と思います。勝手にデータを削除されるのって、ちょっと間違うとかなり危険なことになるので...
更新日時を古くしたファイルが検出されない件ですが...この差分ファイル作成ツールは更新日時は一切見ないで、ファイルの内容で確認しています。だから、そんなはずはないと思いますが...あ、ただし、複数のバージョンに対応した差分ファイルは、高速化のため、その対応するバージョンの中の一番古いバージョンを比較するバージョンとして採用する仕様なのでそういうことも起こり得ますね。
あと、既に差分ファイルを作成済みの状態で再度実行すると、ファイルが上書きされると思いますが、その時上書き対象のファイルをエディタ等で開いてロック中にしておくと上書きに失敗して落ちますvv↑そんな意地悪誰がやるんだ
それに関しても、エラー処理で手を抜いてしまっていますね。
色々と細かいところまでご指摘ありがとうございました。すぐに修正できる箇所については今から修正してバージョンアップしようと思います。