他人の空似自作物置場

th135hack.zip/Readme.txt

プログラム名:th135hack

用途:東方心綺楼解析習作

使い方:
winmm.dllをth135.exeと同じディレクトリに配置してVS Playerを起動。
2P側をキーボードにし、左右を左右キー、Aをzキーにして対戦開始。
すると、単に近づいて近づいたらAを打つだけですがAIとして動きます

免責事項:
これに同梱されたプログラムその他が原因で発生したいかなる損害も当方は一切関知しません。
また、全てのプログラムがウイルスではないという証明も、ウイルスに感染していないという証明もありません。
自己責任でお使いください。

Q&A:
	Q:動かないんだけど
	A:キーコンフィグを読み取らない手抜き仕様のため
	使い方にあるキーコンフィグではない場合動きません。
	キーコンフィグを確認の上再度お試しください。

	Q:このアプリ入れることでセーブデータ破損することある?
	A:あります。
	バックアップ必須、壊れても泣かない。
	まぁそんなの、これを読んでいるような人には言うまでもないでしょうが。

	Q:これだけ見せられても何が何やらわからないんだが
	A:http://resemblances.click3.org/?p=1521
	の記事を読んでいる前提のアプリとなります。
	まだの方はそちらへどうぞ。

	Q:コンパイル通らないんだけど
	A:Squirrel3ライブラリを使用しています。
	別途DLしてきて組み込むなどの作業が必要です。

	Q:log.txtとかいう意味不明なファイルができてるんだけど
	A:標準出力に出している内容をダンプしているだけです。
	別に動作に必要でもなんでもないので削除するなり出ないようにするなりご自由に。

	Q:使われてないコード多すぎ、どうなってるの
	A:東方心綺楼の解析にあたり、私が悪戦苦闘した足跡となります。
	未使用の関数などを見て、どういう筋道で解析したのかを想像してみるのもいいでしょう。

	Q:またwinmm.dllか!
	A:使いまわし美味しいです

	Q:このアプリ入れることでセーブデータ破損することある?
	A:あります。
	バックアップ必須、壊れても泣かない。
	まぁそんなの、これを読んでいるような人には言うまでもないでしょうが。

	Q:こころちゃん使えるパッチ単独配布はよ
	A:一応公式が出していない情報(新聞や対戦後会話など)が見れるので
	配布は自重しております。
	見たい人は自力でコンパイルすればいいと思います。

	Q:その他バグをみつけた or 動作しない or 要望がある
	A:確認次第対応可能であれば対応します。
	公開しても問題が無いメールアドレスにて
	下部に記載されたアドレスまでメールをどうぞ。


メールアドレス:bnryxx332a(あっと)mail.goo.ne.jp


Squirrel3ライセンス
Copyright (c) 2003-2012 Alberto Demichelis

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.


その他自作部分のライセンス:
・本ライセンスにおいて、全ての条項は「変更の有無を問わず、明示暗示を問わず、商業慈善を問わず、
	個人法人を問わず、保持使用を問わず、有料無料を問わず、全体一部を問わず、コピー派生を問わず
	実行ファイルソースファイルを問わず、故意錯誤を問わず」と装飾されている物として扱う。
・著作権者は本ソフトウェアに関する一切の保障義務をもたない。
・上記条項唯一の例外として、本ライセンスに違反した場合を除いて著作権者から
	本ソフトウェアに関する一切の法的措置を受ける事が無い事のみ保証される。
・著作権者やその他保持者がこのライセンスの範囲で行う活動に支障が無い範囲であれば何を行っても構わない。
・上記条項の”何を行っても構わない”には本ソフトウェアの製作者を偽っての再配布も含まれる。
・全ての権利の行使において、著作権者への連絡、著作権者やライセンス条項の記載、
	適用ライセンスなどの制限は一切存在しない。
著作権者名:sweetie


面倒な人向けライセンス解説:
Squirrel3のライセンスをどこかに書いておけば再配布出来ます。
自作部分のライセンスについては記載義務すらありません。
上記ライセンスだけ説明書に放り込んでおくといいでしょう。



スペシャルサンクス:
ayokura 行き詰まった際の助言その他


技術情報(と、どうでもいい話):
こころさん出す改造でセーブデータをふっ飛ばしたというアホ
いや、正確にはふっ飛ばした訳じゃなく、違法セーブデータになっちゃったが
バックアップがないので最初からやり直しとかそういう話。
enable_kokoroを見つけた時点でtrueを設定するのはしなきゃいけないと思った
反省はしていない。
こころさんはスキルスペル全部動きませんでした、当然ですね。
一応AIにしたのは、単に目に見えて動いた証があったほうがモチベあがるから。
本当はSquirrel3のソースコードごと配布しても良かったぽいんだけど
色々面倒臭かったのでカット。
最初の地点であるSquirrel3を使っている、にたどり着くまでが本当に長かった。
最初は製品版のexeを体験版に持って行ったら動くどころかUIまで変わったところから
一応逆アセンブルしたりデバッガーで追ってる時から、インタプリタを解析しているような
という感想を抱いてはいた。
気づいたきっかけは、たしかなんちゃらroottableという文字列が見えて
それが内部言語の関数名かもと思ってググったからだったと思う。
だが気づいてみれば、LICENSE.txtにも書いてあるしで
なんでわからなかったし、と言わざるをえない。
twitterで検索してみるとコミケ配布版の時点で気づいている人がいる。
Sqratを使っていたとの情報はスペシャルサンクスのayokuraさんより寄せられた情報
多分それがなきゃSquirrel3のデフォルト挙動なのかと思っていただろう。
Squirrel解析に従ってスタックベース言語についていろいろ知識が溜まった。
th123_aiのLuaもスタックベースだっただろうって?
実はアレ、理解せずにコピペコードで動かしてたんですよ、信じられないですね。