rusted-coil old blog

はてなダイアリー上で書かれていた旧東方錆恋録 ~Slipping Rusted Magnemite~のデータをそのままインポートしたブログです。リダイレクト先を変える前に気づいたらダイアリーがサービス終了していたので、とりあえずリンク切れを防ぐため公開しています。

DeSmuMe+Lua Script

あー動かないってのmemory.registerwriteなのか
適当に

memory.register(0x21d0ae8, function()
	print(string.format("prng"))
end)

とかやってもscript returned but is still running registered functionsとしか言われない


どうしよう他人のソースビルドできない病が…
追記:と思ったらReleaseならビルドできるっぽい
追記:メモリアドレスのメモの"に"を"F"と間違えて0x21d0ae8fだと思ってた…でもこれ直してHAVE_LUA定義したビルドでやってもなかなかうまくいかないね
追記:
ああscript returnedって要は実行が終了したって事か。そりゃその上の行に書いたテストのprintが一回しか実行されないのに毎フレーム確かめてくれるわけないわな
んでこうしてみた

while true do
	memory.registerwrite(0x21d0ae8,function()
		print(string.format("prng"))
	end)
	emu.frameadvance()
end

乱数消費しても何も表示されねえ…


追記:
HAVE_LUAを定義するのは何のためって#ifdefの部分を使うためだという当たり前の事に気づくのに2時間…
#ifdef検索して片っ端から#defineしたらregisterwrite使えるようになったよ!やったね!