この動画を作るときにメモしておいたものです。
そのままコピペしただけのものなので見にくいと思いますが、良ければどうぞ。
メモ
D576=ニビのマップスクリプト番号
D5DB=カスミのマップスクリプト番号
34F7=座標がリストの中に存在するかどうか調べる あったらキャリーが立つ HL,リストの先頭
06:7E85 ニビの主人公の圧縮移動データ
06:7E92 ニビのNPC圧縮移動データ?
3544 圧縮移動データ解凍 HL,解凍先 DE,データ元
06:7E39 ニビの歩行ルーチン開始
1E0A メインループ
1E58 ボタン入力関連
294C フィールドのボタン入力
2A34 マップスクリプト
3DB5 HLのテーブルからA番のアドレスに飛ぶ
3196 ↑のやつの特別バージョン というより近づいてくるNPCがいるところでは割と普通に使われているらしい(D6B2bit4が立ってたらD97Cをスクリプト番号として使う)D973は何?
D71B グレンの開くドアフラグ
31B5 名前入れるルーチン CF59・ジム名 CF5E・ジムリーダー名
CCD2=主人公が進む距離
CCD3~主人公の移動データ(後ろから読む) 00一瞬待機,10→,20←,40↑,80↓ ボタンのbit通りに動く
CF0B CC57をテーブルとしてここに入ってた番号のアドレスに飛ぶよ
CC57 ここをテーブルとして(CF0B)番目のアドレスに飛ぶよ
CC58 バンク
294C スクリプト関連 CF0B実行もここ(CF0B実行が先)
その下にメニュー開く分岐がある
CD5B NPC歩いてきてるよフラグとか
D6AFのbit7を立ててCD38に歩数入れてCCD3~逆順に操作データを入れると主人公が歩き出す
CF0B実行
↓
マップスクリプト
↓
メニューとか
ナツメジムスクリプト
17:645C
D6B2bit4が立ってたらD97C ナツメジムのスクリプト番号 (言い換えるとD6B2bit4が立った瞬間だけ実行される)
立ってないならD5DB
NPCとの戦闘時にD6B2bit4が立つ→戦闘終了時に実行するスプライトを指定してるのか?
名前をコピーするルーチン
ハナダ・ニビ・タマムシ・セキチク・グレン(D0EB bit6)
トキワ(絶対に呼ばれる)
クチバ(D0EB bit5)
ヤマブキ(D0EB bit6の時はこのルーチンのみ)
グレンとクチバには開くドアがあるけどドアを開くかどうかのフラグと名前をコピーするルーチンはあべこべになってる
3202 一般トレーナーテキスト表示
一般トレーナーデータ(サンプル:ニビジムの雑魚データ17:4732)
D973に保存してあるアドレスのテーブルをもとにしてフラグを立てる
31C9でAに数値入れて取りたい数値を持ってくる仕組み
00:フラグのbit、?、02:フラグのアドレス×2、04:未勝利テキスト×2、06:勝利済みテキスト×2、08:勝利後テキスト、0A:???
戦闘が始まる
↓
D6B2bit4が立つ、スクリプト番号が+2番になる
↓
戦闘に勝利
↓
ジムフラグ立てる
↓
マップスクリプト(名前保存処理)
↓
ボタン入力
↓
マップスクリプト(D97Cの番号2番)でジムフラグが立つ&戦闘勝利フラグ立てる
D5DB=カスミのマップスクリプト番号
34F7=座標がリストの中に存在するかどうか調べる あったらキャリーが立つ HL,リストの先頭
06:7E85 ニビの主人公の圧縮移動データ
06:7E92 ニビのNPC圧縮移動データ?
3544 圧縮移動データ解凍 HL,解凍先 DE,データ元
06:7E39 ニビの歩行ルーチン開始
1E0A メインループ
1E58 ボタン入力関連
294C フィールドのボタン入力
2A34 マップスクリプト
3DB5 HLのテーブルからA番のアドレスに飛ぶ
3196 ↑のやつの特別バージョン というより近づいてくるNPCがいるところでは割と普通に使われているらしい(D6B2bit4が立ってたらD97Cをスクリプト番号として使う)D973は何?
D71B グレンの開くドアフラグ
31B5 名前入れるルーチン CF59・ジム名 CF5E・ジムリーダー名
CCD2=主人公が進む距離
CCD3~主人公の移動データ(後ろから読む) 00一瞬待機,10→,20←,40↑,80↓ ボタンのbit通りに動く
CF0B CC57をテーブルとしてここに入ってた番号のアドレスに飛ぶよ
CC57 ここをテーブルとして(CF0B)番目のアドレスに飛ぶよ
CC58 バンク
294C スクリプト関連 CF0B実行もここ(CF0B実行が先)
その下にメニュー開く分岐がある
CD5B NPC歩いてきてるよフラグとか
D6AFのbit7を立ててCD38に歩数入れてCCD3~逆順に操作データを入れると主人公が歩き出す
CF0B実行
↓
マップスクリプト
↓
メニューとか
ナツメジムスクリプト
17:645C
D6B2bit4が立ってたらD97C ナツメジムのスクリプト番号 (言い換えるとD6B2bit4が立った瞬間だけ実行される)
立ってないならD5DB
NPCとの戦闘時にD6B2bit4が立つ→戦闘終了時に実行するスプライトを指定してるのか?
名前をコピーするルーチン
ハナダ・ニビ・タマムシ・セキチク・グレン(D0EB bit6)
トキワ(絶対に呼ばれる)
クチバ(D0EB bit5)
ヤマブキ(D0EB bit6の時はこのルーチンのみ)
グレンとクチバには開くドアがあるけどドアを開くかどうかのフラグと名前をコピーするルーチンはあべこべになってる
3202 一般トレーナーテキスト表示
一般トレーナーデータ(サンプル:ニビジムの雑魚データ17:4732)
D973に保存してあるアドレスのテーブルをもとにしてフラグを立てる
31C9でAに数値入れて取りたい数値を持ってくる仕組み
00:フラグのbit、?、02:フラグのアドレス×2、04:未勝利テキスト×2、06:勝利済みテキスト×2、08:勝利後テキスト、0A:???
戦闘が始まる
↓
D6B2bit4が立つ、スクリプト番号が+2番になる
↓
戦闘に勝利
↓
ジムフラグ立てる
↓
マップスクリプト(名前保存処理)
↓
ボタン入力
↓
マップスクリプト(D97Cの番号2番)でジムフラグが立つ&戦闘勝利フラグ立てる