K3の住民

最近はレア社のゲームについては書いていませんが、一応レア社のゲームが一番好きな人です。『雪圀』で"圀"は"国"とほぼ同義ですが、国ではありませんって当たり前か(笑)。

【N64ゼルダ】「アイテムを持ってない状態でアイテムを持つ」とは何か。

皆さん、こんにちは。雪圀です。
今回は前回の解説に書いた「アイテムが無い状態でアイテムを持っている状態」に
ついて、詳しく解説しようと思います。


先ず前回の解説にて書いた「アイテムが無い状態」と言うのは、厳密には間違い
で、「アイテムを持ってない状態」ですね。
「余計意味が分からん」と思う方もいると思いますので、どういった状態かを説明
していきます。

先ず、リンクはアイテムを使うとき、手にアイテムを持ちますよね?実はあの
とき、スタック領域にアイテムを持っている状態が格納されており、それが
「あきビン化バグ(あきビンで無いアイテムをあきビンにするバグ)」の元に
なっていたりします。しまうときに、それが取り出される仕組みになっています
(まぁ、「スタック領域」も厳密には間違いなのですが、仕組みが似ているので
今後も「スタック領域」と呼ぶことにします)。

そこで、スタック領域に格納されるのは、アイテムが画面上に出力された(要は
描画された)ときです。その前に、しまうと、どうなるでしょうか?
処理は、終わるまで実行しなければならないので、実行は止まりません。この
実行を終了したときに、「アイテムを持っていない状態でアイテムを持つ」と
言うことが出来ます。

やり方は至って簡単で、「アイテムを持とうとした瞬間に水に浸かるだけ」です。
成功すると、リンクは何も持っていないのにしまう動作をします。

このとき、ほとんどのアイテムは使おうとするとまるでマジックかのようにポンと
出てきます。これは「Quick Draw」と呼ばれています。
これが起こる理由はスタック領域に持っているアイテムが格納されているからです。

これと同じように、「ゴロンミサイル」もスタック領域に格納する前(おそらく
「まるまり」によって割り込まれていて、停止している状態なのだろう)の状態で
あるので、水に浸かったときに「アイテムを持ってない状態をアイテムを持つ」の
です。
フックショットだと何かそれっぽいものが描画されてしまっていますが、おそらく
あれはまだ描画しきれていない状態なのでまだスタック領域に格納されてないの
だと思われます。

何故、光速でゴロンは歩けるようになったの?と言う理由について。これは多分
「アクションスワップ中にアイテムを持ってない状態でアイテムを持った」こと
がミソなのでは無いかと勝手に思っています。これは検証中です。


もしかすると、と思いただいま検証中なのでもし何か見つかれば記事にしてみよう
と思います。

今回はこれくらいにしときます。