INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
2022年7月下旬より再び本業多忙化してきているため、更新頻度は落ちます。 [2022/7/24 19:32]

目次 | ←前へ / 2021-12-10 00:00 / 次へ→ / 最新へ⇒

■今でも需要があったのか…「東方レスキュー」。もし需要があるなら最新作に対応したいが、情報不足…

2021年12月10日(金) 0:00:00



RSSRSS配信中
https://www.inasoft.org/



INASOFTで公開しているツールの中で、ちょっと異色なもの(需要が特定すぎるという意味で)として、「東方レスキュー」というものがあります。

東方レスキュー

ここでいう「東方」というのは、上海アリス幻樂団さんの東方Projectのことでして、たまにYouTubeとかニコニコ動画とかで「ゆっくり霊夢です、ゆっくり魔理沙だぜ」みたいな「ゆっくり動画」が上がっているのを見かけることがありますが、それの元ネタになっているシューティングゲームです。(なんと雑な説明)

PC98の頃に5作品うち2作品は持ってます)、Windows以降で10作品以上、公開されており、主にコミケとかSteamとかで入手できます。

で、このソフトは何をしているのかというと、………

東方ProjectはBGMが大変かっこいいので、聞き惚れてしまうんですね。そこで、作業用BGMとして使用するため、ウィンドウモードで起動して、最小化状態にして、音楽だけ聴くことがあります。で、そのまま、タスクバー上でボタンを右クリックして、ポップアップメニューから直接終了します。

すると、次回以降、(ウィンドウモードでは)ウィンドウが行方不明になります。音楽だけ鳴り、カーソル移動音っぽい音は鳴るけど、ウィンドウが出てこない。ゲームができなくなってしまう現象にハマります。

この現象は、「妖精大戦争」以降で発生することを確認しています。

おそらく、「妖精大戦争」以降、終了時のウィンドウ位置(X座標、Y座標)を保管しておき、次回起動時にその場所から再開するようにしたのでしょう。

ところが、ある座標取得用のWindows APIの仕様として、ウィンドウが最小化の状態で呼び出すと、座標値がマイナスの値(たしか、-32000だったかな?)で取れるという"仕様"があります。

通常はこの"仕様"にハマらないようにするため、事前に最小化(Iconic)状態かを調べるか、別のAPIを使うことになるのですが、これを知らないでプログラミングしてしまうと、ユーザーはこの現象にハマることになります。

私の環境では…というか、私が持っている範囲では、「妖精大戦争」「ダブルスポイラー」「東方星蓮船」「東方地霊殿」「東方神霊廟」「東方輝針城」「弾幕アマノジャク」「東方紺珠伝」で発生します。

(あ、順番的には、妖精大戦争よりもダブルスポイラーのほうが先だったか?まぁ、いいか。)

多分、ZUNさんは、最初にバグのあるプログラムを作り込んで、そのまま使いまわしているんでしょうね。

実は、僕がまだ同人シューティングゲームを作成していた頃(なので10年くらい前)、フランスパンさん主催の飲み会でZUNさんとお会いした際、この現象についてお伝えし、解決するためのソフトを作成して公開しています、という話をしたのですが、………おそらく、お酒に酔ってらっしゃったと思うので、覚えていないんでしょうね…。


で、今回「東方天空璋 ~ Hidden Star in Four Seasons.」で同現象にハマったので、対象ソフトウェアを追加してもらえないか?というご連絡をいただきました。

まだ同バグが発生し続けているんだなぁということに懐かしい気持ちを抱きつつ、まだ「東方レスキュー」に需要があるということに、不思議な感覚が芽生えました。

ただ、残念なことに、僕は「東方天空璋」を持っていないんです。1000円ちょい出せば買えるのだろうとは思えますが、2012年の例の一件以降のモチベーションにおいて、同人ゲーム開発は行っていないために、そういうコミュニティでゲームを受け取ることもなくなってしまいましたし、同人ゲームを買う習慣もなくしてしまいましたし、というか、どうしても「フリーソフトを作るために作者は出費するの?」という疑問が沸いてきてしまう…。10年前なら、こんな感情は起きなかったはずなんですけどね。

また、ひと昔前なら、東方Projectの公式サイトで体験版を配布していたと思うのですが、昨今ではそれは行われなくなったようで。体験版を用いたパラメータ取得と、動作確認をすることもできません。


ところで、「東方レスキュー」が対象となるソフトウェアのウィンドウを認識する仕組みとして、ウィンドウクラス("BASE")を検索して、ヒットしたウィンドウのウィンドウタイトルを調べるという方法を用いています。あらかじめthrescue.iniというファイルに書かれている文字列と、先頭数文字が一致したら、該当ウィンドウと判断し、ウィンドウ位置を座標(0,0)に移動させます。

なので、おそらく、threscue.iniをメモ帳かなんかで開き、最終行に、

[ClassName]
; ウィンドウクラス名を指定します。ここは当面は不変であると思われます。
001=BASE

[TitleName]
; 上記のクラス名のウィンドウのうち、この文字列で始まるウィンドウタイトルを対象とする。
; 対象のゲームが増えた場合は、ここを追加して下さい。
001=妖精大戦争 ~
002=ダブルスポイラー ~
003=東方星蓮船 ~
004=東方地霊殿 ~
005=東方神霊廟 ~
006=東方輝針城 ~
007=弾幕アマノジャク ~
008=東方紺珠伝 ~
009=東方天空璋 ~             ←この行を追加する

多分、この最後の行を追加してやれば、東方天空璋にも対応できるんだろうなという想像は付きます。

というわけで、機能追加要望を送ってくれた方には、上記の行追加を試してみて欲しい旨お伝えしたところ、無事に問題は解決したとのご回答をいただきました。無事に解決して良かったです。

【余談】ちなみに、タスクバー上のボタンにホバーして、表示されたサムネイルを右クリック⇒ポップアップメニューから「移動」を選択してカーソル移動、とか、Come here windowsを使うという手段でも解決するはず。

となると、気になることとして、

  • th16.5 秘封ナイトメアダイアリー ~ Violet Detector.
  • th17 東方鬼形獣 ~ Wily Beast and Weakest Creature.
  • th18 東方虹龍洞 ~ Unconnected Marketeers.

でも、同現象が起き続けているのか? 起き続けているとして、「東方レスキュー」の方法で解決できるのか?ですね。

買って確かめてみればよいんですけど、前述のポリシーにより、それはできない。

【追記】東方鬼形獣は体験版が公開されているそうで、試したところ、同現象が起き続けており、「東方レスキュー」の方法で解決できることを確認できました。

東方鬼形獣体験版
  ©上海アリス幻樂団

まぁ、気長に情報集めしようかと思いますが、もし情報をいただける方がいたら、フィードバックまでご一報いただければと思います。



目次 | ←前へ / 2021-12-10 00:00 / 次へ→ / 最新へ⇒


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。


- 最近の更新 -



3115210 (+0817)[+0733]

Copyright© 2010-2023 INASOFT