「4資料/シャッターの設定」の編集履歴(バックアップ)一覧に戻る

4資料/シャッターの設定 - (2009/06/03 (水) 23:29:05) のソース

*シャッターの設定
シャッターの設定方法についての記述です。
----
**スクロール毎のシャッターの設定
#areaedit()
>$41540 + [[ステージ番号>4資料/ステージ番号]] * $2000
からスクロール方向およびエリア長のデータ。
それぞれ上位4bitでスクロール方向・シャッターの指定を行う。
|値||
|2X|右スクロール(Xでエリア長を指定)|
|~3X|右スクロール(シャッター有)(Xでエリア長を指定)|
|4X|上から来ることができ、下へ進む(Xで上下のエリア長を指定)|
|6X|上から来ることができ、右へ進む(Xでエリア長を指定)|
|8X|下から来ることができ、上へ進む(Xで上下のエリア長を指定)|
|AX|下から来ることができ、右へ進む(Xでエリア長を指定)|

#areaedit(end)
----
**シャッターを閉めない部屋の指定
#areaedit()
コサックステージ1やコサックステージ2など、大型ボスのいる部屋では
BGでボスを表現する関係上かシャッターを閉める処理を意図的に行っていない。
>$7CC13-$7CC22 ($10) = [[ステージ番号>4資料/ステージ番号]] : シャッターを閉めない部屋番号

#areaedit(end)
----
**シャッター(開)データ
#areaedit()
>$41580 + [[ステージ番号>4資料/ステージ番号]] * $2000
から12bytesのデータ。

|~オフセット|~データ|
|byte0-1|シャッターを開く画像を描画するネームテーブルのアドレス(ビッグエンディアン)(一番下の16x16チップの位置)|
|byte2-5|シャッターを開く画像の16x16チップ番号(下から順に4つ指定)|
|byte6|シャッターの一番下の16x16チップが含まれる32x32チップの位置(00~3F)|
|byte7|パレットマスクデータ参照番号(一番下の16x16チップ縦位置が偶数なら01, 奇数なら03)(本家コサックステージ1の設定は間違っている模様)|
|byte8-11|シャッター画像を埋める16x16チップのパレット番号(一番下の16x16チップから順に4つ指定)&br() byte7の値が01ならば(0000XX00, XX000000, 0000XX00, XX000000) &br() byte7の値が03ならば(XX000000, 0000XX00, XX000000, 0000XX00) &br() のXX(2bit)の位置にそれぞれ使用パレット番号を書く(ドリルマンステージのデータなどを参考にするとよい)|

#areaedit(end)
----
**シャッター(閉)データ
#areaedit()
>$4158C + [[ステージ番号>4資料/ステージ番号]] * $2000
から12bytesのデータ。

|~オフセット|~データ|
|byte0-1|シャッターを閉める画像を描画するネームテーブルのアドレス(ビッグエンディアン)(一番上の16x16チップの位置 + 1)|
|byte2-5|シャッターを閉める画像の16x16チップ番号(上から順に4つ指定)|
|byte6|シャッターの一番上の16x16チップが含まれる32x32チップの位置(00~3F)|
|byte7|パレットマスクデータ参照番号(一番上の16x16チップ縦位置が偶数なら00, 奇数なら02)|
|byte8-11|シャッター画像として使う16x16チップのパレット番号(一番上の16x16チップから順に4つ指定)&br() byte7の値が00ならば(000000XX, 00XX0000, 000000XX, 00XX0000) &br() byte7の値が02ならば(00XX0000, 000000XX, 00XX0000, 000000XX) &br() のXX(2bit)の位置にそれぞれ使用パレット番号を書く(ブライトマンステージのデータなどを参考にするとよい)|

#areaedit(end)
----
**具体的な値の指定
#areaedit()
上記の説明は分かり辛く、いちいち計算するのも面倒なので、シャッター設置位置毎の値を書いておきます。

||>|>|~シャッター(開)|>|>|~シャッター(閉)|
|設置位置(上~下)|byte0-1|byte6|byte7|byte0-1|byte6|byte7|
|0~3|20DE|0F|03|2001|00|00|
|1~4|211E|17|01|2041|00|02|
|2~5|215E|17|03|2081|08|00|
|3~6|219E|1F|01|20C1|08|02|
|4~7|21DE|1F|03|2101|10|00|
|5~8|221E|27|01|2141|10|02|
|6~9|225E|27|03|2181|18|00|
|7~A|229E|2F|01|21C1|18|02|
|8~B|22DE|2F|03|2201|20|00|
|9~C|231E|37|01|2241|20|02|
|A~D|235E|37|03|2281|28|00|
|B~E|239E|3F|01|22C1|28|02|

#aa{{
0 目 □ □ □ □ □ □ □ □ □ □ □
1 目 目 □ □ □ □ □ □ □ □ □ □
2 目 目 目 □ □ □ □ □ □ □ □ □
3 目 目 目 目 □ □ □ □ □ □ □ □
4 □ 目 目 目 目 □ □ □ □ □ □ □
5 □ □ 目 目 目 目 □ □ □ □ □ □
6 □ □ □ 目 目 目 目 □ □ □ □ □
7 □ □ □ □ 目 目 目 目 □ □ □ □
8 □ □ □ □ □ 目 目 目 目 □ □ □
9 □ □ □ □ □ □ 目 目 目 目 □ □
A □ □ □ □ □ □ □ 目 目 目 目 □
B □ □ □ □ □ □ □ □ 目 目 目 目
C □ □ □ □ □ □ □ □ □ 目 目 目
D □ □ □ □ □ □ □ □ □ □ 目 目
E □ □ □ □ □ □ □ □ □ □ □ 目
}}


#areaedit(end)