0140: 樽大砲
スプライトメモリ
  00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00
制御コード
深度
水平位置
垂直位置
10
描画設定
画像アドレス
画像アドレス
画像アドレス
表示設定
20
飛距離
折り返し速度
硬直時間
変身/移動先
往復速度
状態
発射初速
発射時間
モード
30
属性
カメラ座標
回転速度
復帰先
40
アニメ形式
回転範囲
初期設定
往復基準点
移動範囲
50
不明
パラメータ

変数解説
$00 制御コード
型: short
プログラムコードの配列ポインタの相対アドレスを指定します。樽大砲の場合$0140を指定します。

$1C 表示設定
型: [flags] ushort
表示/非表示の切り替えを行います。ただし、隠し樽大砲を作る目的でこの変数を使用することは好ましくありません。
代わりに初期設定において隠し樽大砲の属性を指定してください。

$20 飛距離
型: ushort
コマンド$8A00の第10引数はこの変数に代入されます。
樽大砲を発射後、重力の影響を受けるまでの飛距離を設定します。
発射後、この変数で設定された距離を移動するまでは重力の影響を一切受けず、等速直線運動を行います。

$22 折り返し速度
型: short
コマンド$8A00の第8引数はこの変数に代入されます。
樽大砲が往復移動をする場合に、その端点での折り返し速度を設定します。
樽大砲自身の移動速度よりも大きい値を設定した場合は、挙動が不安定となり、負数を指定した場合は折り返しを行いません。

$24 硬直時間
型: ushort
コマンド$8A00の第11引数はこの変数に代入されます。
樽大砲を発射後、左右キーの入力を受け付けるまでの待機時間です。
この変数で指定された時間を経過するまでは、左右キーの入力による移動は一切できません。

$26 アニマル設定/ 移動先設定
型: ushort または (byte, byte)
コマンド$8A00の第12引数はこの変数に代入されます。
アニマルバレルの場合は変身するアニマルの種類を指定します。ステージ移動設定を適用している場合は復帰先及び移動先を指定します。
種別
0
スクイッター
1
ラトリー
2
スコークス
3
ランビ
4
エンガード
$2C 発射速度
型: byte
コマンド$8A00の第8引数はこの変数に代入されます。
樽大砲の発射速度を設定します。実際の発射速度はこの値に63.75を乗じた値となります。

$2D 発射時間
型: byte
コマンド$8A00の第9引数はこの変数に代入されます。
樽大砲が発射されるまでの残りカウントを設定します。コントロールバレルおよび回転樽の場合のみこの設定は意味を持ちます。

$2E モード設定
型: ushort
樽大砲の基本属性を設定します。
種別
0
通常用
E
画面外復帰系
なお、これ以外のモードは発射時の挙動などを定義しているものであり、通常、スプライト定義から呼び出すものではありません。

$36 カメラ座標
型: (sbyte, sbyte)
コマンド$8A00の第14引数はこの変数に代入されます。
樽大砲に入っている際の画面位置を指定します。基準点は画面中心です。
なお、一般的にはこの変数にはアニメーション番号が設定されますが、樽大砲は標準アニメーションを使用せず、すべてのアニメーションがアセンブリ内で規定されています。

$3A 回転速度
型: short
コマンド$8A00の第13引数はこの変数に代入されます。
樽大砲の回転速度を設定します。65536をこの引数で除した値が周期となります。
正数を指定した場合は右回り、負数を指定した場合は左回りとなります。

$3E 復帰先
型: ushort
樽大砲を作動させることができるスタート地点のインデクスを設定します。画面外復帰系の場合のみこの設定は有効です。
この変数で指定されたスタート地点から開始した場合に限り、画面外復帰系の樽大砲は作動することができます。

$42 回転範囲
型: (byte, byte)
コマンド$8A00の第2引数はこの変数に代入されます。
樽大砲が2方向間を回転する場合に、その回転する範囲を設定します。回転の向きは回転速度によって決定されます。
したがって、同じ範囲を設定した場合でも、回転速度の値によっては違った挙動に見えることがあります。

$46 初期設定
型: [flags] ushort
コマンド$8A00の第1引数はこの変数に代入されます。
樽大砲の初期設定を行います。すべての樽大砲の挙動はこの変数で規定されます。フラグセットであり、詳細は別表4を参照してください。

$4C 往復基準点
型: ushort
コマンド$8A00の第3引数はこの変数に代入されます。
樽大砲が往復運動をする場合に、その往復の中心とする座標を、樽大砲の設置座標からの相対座標で指定します。

$4E 移動範囲
型: ushort
コマンド$8A00の第4引数はこの変数に代入されます。
樽大砲が往復運動をする場合に、その往復の総移動距離を設定します。