2024/06/18

カードキーメモ

説明

この動画を作るときにメモしておいたものです。

そのままコピペしただけのものなので見にくいと思いますが、良ければどうぞ。

メモ

03:6131 カードキーのジャンプ先

D69Eに00を入れる

座標をDEに保存

上04:C434,右0C:C45E,下00:C484,左08:C45A
をCFADに入れる

03:4BBFを見る←これがおかしい

横シャッター:18,縦シャッター:24,社長の部屋の横シャッター:5Eかどうかを判断する
マップ番号と座標をチェック
D69Eにシャッターの番号を入れる

「(主人公)は CF45を つかった!」

D6A7bit7を立てる
bit0かいりきで使う
bit3~5は釣りおやじ?
bit3ボロのつりざお
bit4いいつりざお
bit5すごいつりざお
bit6ヤマブキのゲート
かいりきはbit0が立っているかつ、CD5Bのbit6が立っているかつ動かすスプライトの状態(D463~2バイトおき)が10hであるかつ十字キーの入力が入っていれば起こる

なみのりできるタイルは48h,32h,14h
D2E6が00h,03h,05h,07h,0Dh,0Eh,11h,16h,17h
サントアンヌ号外は14hのみ

D6A7 カードキー使用後bit7が建てられて終わってる(他では参照されていない?)

3F40 汎用イベントテーブル

どうぐじゃない方は
汎用イベントテーブルでカードキーのイベントが起きてる
1E76 量産じゃない方の汎用イベント実行
14:79EB シャッターを開けるイベント

17:79EA 何か汎用イベントで特殊な使い方してる
18:7C91 同じく特殊

3:7E8A 上向いてるときに発動する 汎用イベント作動ルーチン
03:7EC5~ 汎用イベントの発動条件テーブル マップの種類、タイル、汎用イベント番号の3バイトエントリ マップの種類とタイルが一致で汎用イベント発動(バンクの一致が必須)

ワープできるタイル
↓01,12,17,3d,04,18,33
↑01,5c
←1a,4b
→0f,4e
4A94 マップ端からマップの移動ができるタイルかどうか判断してるって感じ 向いているタイルを保存する処理(03:4BC2)を使ってる。
マップ端からマップ移動できるマップは (d2dd)=c6,c7,c8,ca,52か(d2e6)=00,0d,0e,17のみかな?
いや、そうじゃない 出口の座標があってる&タイルがあってさえいればどこでもできるんだよなあ
じゃあ何のためにそのテーブルは存在してるの?
わかったわ
マップ端移動はマップの端っこで起こるやつとそうじゃない奴があって、マップの端で起こらない奴をはじくためにこのテーブルがあるんだ
基本的にマップ端移動はマップの端で起こるから、起こらない方を名指しで指定している感じ
マップ端移動の方は マップの端かどうか→座標があっているか って感じで処理している
つまり正確にはマップ端移動ではなく「座標移動前ワープ」ってことになるか
ドア移動は「座標移動後ワープ」

14:7A0F 実際のカードキーの処理

D460 NPCの数

C484
C434
C45A
C45E