English
★PROGRAMMER'S GUIDE
★VDP1ライブラリ
▲
戻る|
進む▼
VDP1ライブラリ
5.3 関数仕様
一 覧 表 |
Title
関数仕様 |
Function
VDP1拡張処理ワークエリア 定義マクロ |
Function Name
SPR_2DefineWork |
No
1 |
- 書 式
- SPR_2DefineWork(WORK2D, COMMAND_MAX, GOUR_TBL_MAX,LOOKUP_TBL_MAX, CHAR_MAX,DRAW_PRTY_MAX)
- 入 力
WORK2D : ワークエリア名
COMMAND_MAX : 最大コマンド数
GOUR_TBL_MAX : 最大グーローテーブル数
LOOKUP_TBL_MAX : 最大ルックアップテーブル数
CHAR_MAX : 最大キャラクタ数(>0)
DRAW_PRTY_MAX : 最大描画プライオリティブロック数(>0)
- 出 力
- なし
- 関数値
- なし
- 機 能
- VDP1拡張処理で使用するワークエリアをAP内のデータエリアに定義します。
DRAW_PRTY_MAX=1の場合、コマンド描画のプライオリティ付けを行いません。
一 覧 表 |
Title
関数仕様 |
Function
VDP1拡張処理ライブラリの 初期化処理 |
Function Name
SPR_2Initial |
No
2 |
- 書 式
- void SPR_2Initial(Spr2WorkArea *workArea)
- 入 力
- workArea : ワークエリア定義テーブル
- 出 力
- なし
- 関数値
- なし
- 機 能
- VDP1基本処理ライブラリの初期化ルーチンを呼び出して表示環境の初期化を行った
後、本ライブラリのワークエリアを初期化します。
一 覧 表 |
Title
関数仕様 |
Function
TVモードセット |
Function Name
SPR_2SetTvMode |
No
3 |
- 書 式
- void Spr_2SetTvMode(Uint16 mode, Uint16 screenSize,Unit16 doubleInterlace)
- 入 力
-
mode : TVモード定義値を設定します。
screenSize : TVモードに対応した画面の解像度の定義値を設定します。
doubleInterlace : 倍密インタレース使用モードを設定します。
- 出 力
- なし
- 関数値
- なし
- 機 能
- VDP1基本処理ライブラリのTVモードセットルーチンと同じです。
一 覧 表 |
Title
関数仕様 |
Function
フレームチェンジVブランク インターバル数のセット |
Function Name
SPR_2FrameChgIntr |
No
4 |
- 書 式
- void SPR_2FrameChgIntr(Uint16 interval)
- 入 力
- interval : Vブランクインターバル数
- 出 力
- なし
- 関数値
- なし
- 機 能
- フレームチェンジVブランクインターバル数のセット。インターバル数の値により以下の意味を持ちます。
インターバル数 | 意 味 |
0 | フレーム切替えをオートチェンジモードにしてインターバル数を1とします。SCL_DisplayFrame()による同期はできません。 |
1 | フレーム切換えをオートチェンジモードにしてインターバル数を1とします。SCL_DisplayFrame()による同期ができます。 |
0xffff | 不定インターバルマニュアルチェンジモードで、ポリゴンによる描画フレームのイレースライトを行います。VDP1の描画終了を確認してフレームチェンジを行います。 |
0xfffe | Vブランクイレースによる不定インターバルマニュアルチェンジモードです。イレースされない部分についてはユーザ側でポリゴンにより描画フレームのイレースライトを行ってください。VDP1の描画終了を確認せずにフレームチェンジを行います。 |
その他 | 指定インターバル数による一定インターバルマニュアルチェンジモードです。 |
| b14 | 0 : イレースライトを行う。 |
| 1 : イレースライトを行わない。 |
SCL_SetFrameInterval()ルーチンを呼び出しています。
一 覧 表 |
Title
関数仕様 |
Function
フレームバッファイレースデータのセット |
Function Name
SPR_2FrameEraseData |
No
5 |
- 書 式
- void SPR_2FrameEraseData(Uint16 rgbColor)
- 入 力
- rgbColor : イレースデータ(RGBカラー)
- 出 力
- なし
- 関数値
- なし
- 機 能
- イレース処理が実行される際にどんな色で塗り潰すかを指定します。
一 覧 表 |
Title
関数仕様 |
Functio
グーローシェーディングテーブルのセット |
Function Name
SPR_2SetGourTbl |
No
6 |
- 書 式
- void SPR_2SetGourTbl(Uint16 gourTblNo, SprGourTbl *gourTbl);
- 入 力
-
gourTblNo : グーローシェーディングテーブル番号
gourTbl : グーローシェーディングテーブル
- 出 力
- なし
- 関数値
- なし
- 機 能
- VRAM内のグーローシェーディングテーブルエリアに指定グーローシェーディング
テーブルの内容をコピーします。
一 覧 表 |
Title
関数仕様 |
Function
ルックアップテーブルのセット |
Function Name
SPR_2SetLookupTbl |
No
7 |
- 書 式
- void SPR_2SetLookupTbl(Uint16 lookupTblNo, SprLookupTbl *lookupTbl)
- 入 力
-
lookupTblNo : ルックアップテーブル番号
lookupTbl : ルックアップテーブル
- 出 力
- なし
- 関数値
- なし
- 機 能
- VRAM内のルックアップテーブルエリアに指定ルックアップテーブルの内容をコ
ピーします。
一 覧 表 |
Title
関数仕様 |
Function
キャラクタのセット |
Function Name
SPR_2SetChar |
No
8 |
- 書 式
- void SPR_2SetChar(Uint16 charNo, Uint16 colorMode,Uint16 color,
Uint16 width, Uint16 height, Uint8 *char Image)
- 入 力
-
charNo : キャラクタ番号
colorMode : カラーモード(b5 〜 b3:描画モードワードに同じ)
color : カラーデータ
カラーモード=1の時はルックアップテーブル番号
カラーモード=0、2、3、4の時はカラーバンクコード
カラーモード=5の時は無視
width : Xサイズ
height : Yサイズ
charImage : キャラクタデータのポインタ
=0の場合キャラクタエリアの獲得のみ行います。
- 出 力
- なし
- 関数値
- なし
- 機 能
- 指定 charNoのキャラクタが割り付けられていないか、またはすでに割り付けられて
いるがセットすべきキャラクタサイズより獲得されているエリアのサイズが小さい
場合にキャラクタ格納サイズを計算し、必要なブロックをブロックプールから獲得
してキャラクタデータをコピーします。
オーバーライト可能であれば同一エリアにキャラクタデータをコピーします。
一 覧 表 |
Title
関数仕様 |
Function
キャラクタエリアの解放 |
Function Name
SPR_2ClrChar |
No
9 |
- 書 式
- void SPR_2ClrChar(Uint16 charNo)
- 入 力
- charNo : キャラクタ番号
- 出 力
- なし
- 関数値
- なし
- 機 能
- 指定キャラクタ番号のキャラクタが使用しているVRAMブロックを解放します。
一 覧 表 |
Title
関数仕様 |
Function
全キャラクタエリアの解放 |
Function Name
SPR_2ClrAllChar |
No
10 |
- 書 式
- void SPR_2ClrAllChar(void)
- 入 力
- なし
- 出 力
- なし
- 関数値
- なし
- 機 能
- 全キャラクタエリアを解放します。
一 覧 表 |
Title
関数仕様 |
Functio
グーローシェーディングテーブル番号を VRAMアドレスに変換 |
Function Name
SPR_2GourTblNoToVram |
No
11 |
- 書 式
- SprVaddr addr = SPR_2GourTblNoToVram(Uint16 gourTblNo)
- 入 力
- gourTblNo : グーローシェーディングテーブル番号
- 出 力
- なし
- 関数値
- addr : VRAM内相対アドレス/8
- 機 能
- グーローシェーディングテーブル番号をVRAMアドレスに変換します。
一 覧 表 |
Title
関数仕様 |
Function
ルックアップテーブル番号をVRAM アドレスに変換 |
Function Name
SPR_2LookupTblNoToVram |
No
12 |
- 書 式
- SprVaddr addr = SPR_2LookupTblNoToVram(Uint16 lookupTblNo)
- 入 力
- lookupTblNo : ルックアップテーブル番号
- 出 力
- なし
- 関数値
- ddr : VRAM内相対アドレス/8
- 機 能
- ルックアップテーブル番号をVRAMアドレスに変換します。
一 覧 表 |
Title
関数仕様 |
Function
キャラクタ番号をVRAMアドレスに変換 |
Function Name
SPR_2CharNoToVram |
No
13 |
- 書 式
- SprVaddr addr = SPR_2CharNoToVram(Uint16 charNo)
- 入 力
- charNo : キャラクタ番号
- 出 力
- なし
- 関数値
- addr : VRAM内相対アドレス/8
- 機 能
- キャラクタ番号をVRAMアドレスに変換します。
一 覧 表 |
Title
関数仕様 |
Function
コマンド書き込みオープン処理 |
Function Name
SPR_2OpenCommand |
No
14 |
- 書 式
- void SPR_2OpenCommand(Uint16 drawPrtyFlag)
- 入 力
-
drawPrtyFlag : コマンド描画プライオリティ有効/無効フラグ
SPR_2DRAW_PRTY_ON = コマンド描画プライオリティ有効
SPR_2DRAW_PRTY_OFF = コマンド描画プライオリティ無効
- 出 力
- なし
- 関数値
- なし
- 機 能
- スプライトコマンドの書き込み開始位置をVRAMコマンドエリアの先頭にします。
したがって、以下の一連のスプライトコマンド設定ルーチンを呼び出す前に本ルーチンを呼びだす必要があります。
SPR_2LocalCoord() SPR_2SysClip() SPR_2UserClip() SPR_2line()
SPR_2polyLine() SPR_2Polygon() SPR_2NormSpr() SPR_2ScaleSpr()
SPR_2DistSpr() SPR_2Cmd()
一 覧 表 |
Title
関数仕様 |
Function
コマンド書き込みクローズ処理 |
Function Name
SPR_2CloseCommand |
No
15 |
- 書 式
- void SPR_2CloseCommand(void)
- 入 力
- なし
- 出 力
- なし
- 関数値
- なし
- 機 能
- コマンド描画プライオリティが有効の場合、VRAM内のコマンドをプライオリティ
番号に従い、チェインします。
エンドスプライトコマンドを書き込み、VRAMエリア参照スイッチコマンドをトグ
ルします。
一 覧 表 |
Title
関数仕様 |
Function
ローカル座標のセット |
Function Name
SPR_2LocalCoord |
No
16 |
- 書 式
- void SPR_2LocalCoord(Sint32 drawPrty, XyInt *xy)
- 入 力
-
drawPrty : コマンド描画プライオリティ番号
xy : ローカル座標の相対座標
- 出 力
- なし
- 関数値
- なし
A
- 機 能
- ローカル座標をセットします。
一 覧 表 |
Title
関数仕様 |
Function
システムクリッピングエリアのセット |
Function Name
SPR_2SysClip |
No
17 |
- 書 式
- void SPR_2SysClip(Sint32 drawPrty, XyInt *xy)
- 入 力
-
drawPrty : コマンド描画プライオリティ番号
xy : 右下座標
- 出 力
- なし
- 関数値
- なし
- 機 能
- システムクリッピングエリアをセットします。
一 覧 表 |
Title
関数仕様 |
Function
ユーザクリッピングエリアのセット |
Function Name
SPR_2UserClip |
No
18 |
- 書 式
- void SPR_2UserClip(Sint32 drawPrty, XyInt xy[2])
- 入 力
-
drawPrty : コマンド描画プライオリティ番号
xy[0] : 左上座標
xy[1] : 右下座標
- 出 力
- なし
- 関数値
- なし
- 機 能
- ユーザクリッピングエリアをセットします。
一 覧 表 |
Title
関数仕様 |
Function
ライン描画 |
Function Name
SPR_2Line |
No
19 |
- 書 式
- void SPR_2Line(Sint32 drawPrty, Uint16 drowMode, Uint16 color,
XyInt xy[2], Uint16 gourTblNo)
- 入 力
-
drawPrty : コマンド描画プライオリティ番号
drowMode : 描画モード(描画モードワードに同じ)
color : カラーモードまたはルックアップテーブル番号
xy[2] : ライン2点
gourTblNo : グローシェーディングテーブル番号
NO_GOUR(=0xffff)=グローシェーディングテーブルの指定なし
- 出 力
- なし
- 関数値
- なし
- 機 能
- ラインを描画します。
一 覧 表 |
Title
関数仕様 |
Function
ポリライン描画 |
Function Name
SPR_2PolyLine |
No
20 |
- 書 式
- void SPR_2PolyLine(Sint32 drawPrty, Uint16 drowMode, Uint16 color,
XyInt xy[4], Uint16 gourTblNo)
- 入 力
-
drawPrty : コマンド描画プライオリティ番号
drowMode : 描画モード(描画モードワードに同じ)
color : カラーモードまたはルックアップテーブル番号
xy[4] : ポリライン4点
gourTblNo : グローシェーディングテーブル番号
NO_GOUR(=0xffff) = グローシェーディングテーブルの指定なし
- 出 力
- なし
- 関数値
- なし
- 機 能
- ポリラインを描画します。
一 覧 表 |
Title
関数仕様 |
Function
ポリゴンの描画 |
Function Name
SPR_2Polygon |
No
21 |
- 書 式
- void SPR_2Polygon(Sint32 drawPrty, Uint16 drowMode, Uint16 color,
XyInt xy[4], Uint16 gourTblNo)
- 入 力
-
drawPrty : コマンド描画プライオリティ番号
drowMode : 描画モード(描画モードワードに同じ)
color : カラーモードまたはルックアップテーブル番号
xy[4] : ポリゴン4点
gourTblNo : グローシェーディングテーブル番号
NO_GOUR(=0xffff) = グローシェーディングテーブルの指定なし
- 出 力
- なし
- 関数値
- なし
- 機 能
- ポリゴンを描画します。
一 覧 表 |
Title
関数仕様 |
Function
ノーマルスプライトの描画 |
Function Name
SPR_2NormSpr |
No
22 |
- 書 式
- void SPR_2NormSpr(Sint32 drawPrty, Uint16 dir, Uint16 drowMode,
Uint16 color, Unit16 charNo, XyInt *xy, Uint16 gourTblNo)
- 入 力
-
drawPrty : コマンド描画プライオリティ番号
dir : キャラクタ反転指示(b5〜b4:コントロールワードに同じ)
drowMode : 描画モード(描画モードワードに同じ)
color : カラーコードまたはルックアップテーブル番号
0xffffの場合、SPR_2SetChar()で指定したcolorデータが設定されます。
charNo : キャラクタ番号
xy : 左上座標
gourTblNo : グーローシェーディングテーブル番号
NO_GOUR(=0xffff) = グーローシェーディングテーブルの指定なし
- 出 力
- なし
- 関数値
- なし
- 機 能
- ノーマルスプライトを描画します。
一 覧 表 |
Title
関数仕様 |
Function
スケールスプライトの描画 |
Function Name
SPR_2ScaleSpr |
No
23 |
- 書 式
- void SPR_2ScalSpr(Sint32 drawPrty, Uint16 zoomDir, Uint16 drowMode,
Uint16 color, Uint16 charNo, XyInt xy[2], Uint16 gourTblNo)
- 入 力
-
drawPrty : コマンド描画プライオリティ番号
zoomDir : ズーム&キャラクタ反転指示
(b11〜b8,b5,b4:コントロールワードに同じ)
drowMode : 描画モード(描画モードワードに同じ)
color : カラーコードまたはルックアップテーブル番号
0xffffの場合、SPR_2SetChar()で指定したcolorデータが設定されます。
charNo : キャラクタ番号
xy[2] : 2頂点座標、または不動点座標・表示幅
gourTblNo : グーローシェーディングテーブル番号
NO_GOUR(=0xffff) = グーローシェーディングテーブル指定なし
- 出 力
- なし
- 関数値
- なし
- 機 能
- スケールスプライトを描画します。
一 覧 表 |
Title
関数仕様 |
Function
変形スプライトの描画 |
Function Name
SPR_2DisSpr |
No
24 |
- 書 式
- void SPR_2DistSpr(Sint32 drawPrty, Uint16 dir, Uint16 drowMode,
Uint16 color, Uint16 charNo, XyInt xy[4], Uint16 gourTblNo)
- 入 力
-
drawPrty : コマンド描画プライオリティ番号
dir : キャラクタ反転指示(b5〜b4:コントロールワードに同じ)
drowMode : 描画モード(描画モードワードに同じ)
color : カラーコードまたはルックアップテーブル番号
0xffffの場合、SPR_2SetChar()で指定したcolorデータが設定されます。
charNo : キャラクタ番号
xy[4] : 4頂点座標
gourTblNo : グーローシェーディングテーブル番号
NO_GOUR(=0xffff) = グーローシェーディングテーブル指定なし
- 出 力
- なし
- 関数値
- なし
- 機 能
- 変形スプライトを描画します。
一 覧 表 |
Title
関数仕様 |
Function
コマンドセット |
Function Name
SPR_2Cmd |
No
25 |
- 書 式
- void SPR_2Cmd(Sint32 drawPrty, SprSpCmd *spCmd);
- 入 力
-
drawPrty : コマンド描画プライオリティ番号
spCmd : 32バイトのスプライトコマンド
- 出 力
- なし
- 関数値
- なし
- 機 能
- 指定スプライトコマンドをそのままユーザコマンドエリアにセットします。
一 覧 表 |
Title
関数仕様 |
Function
コマンド描画プライオリティチェインの フラッシュ |
Function Name
SPR_2FlushDrawPrty |
No
26 |
- 書 式
- void SPR_2FlashDrawPrty(void)
- 入 力
- なし
- 出 力
- なし
- 関数値
- なし
- 機 能
- コマンド描画プライオリティが有効の場合、VRAM内のコマンドをプライオリティ
値に従いチェインし、描画プライオリティ管理エリアをクリアします。
一 覧 表 |
Title
関数仕様 |
Function
VRAMブロックエリアの獲得(static) |
Function Name
SPR_2AllocBlock |
No
27 |
- 書 式
- SprVaddraddr =SPR_2AllocBlock(Uint16 size)
- 入 力
- size : ブロックサイズ(32バイトを1単位とする)
- 出 力
- なし
- 関数値
- addr : 獲得ブロックエリア位置をVRAM内相対アドレス/8で返します。
- 機 能
- VRAM内のブロックプールエリアから指定サイズのブロックを獲得します。この
ルーチンは外部に解放していませんが、本ライブラリに機能追加をする場合に参考
になるように仕様を載せました。
一 覧 表 |
Title
関数仕様 |
Function
VRAMブロックエリアの解放(static) |
Function Name
SPR_2FreeBlock |
No
28 |
- 書 式
- void SPR_2FreeBlock(SprVaddr addr, Uint16 size)
- 入 力
-
addr : 解放ブロックエリア位置をVRAM内相対アドレス/8で返します。
size : ブロックサイズ(32バイトを1単位とします)
- 出 力
- なし
- 関数値
- なし
- 機 能
- VRAMブロックプール内の指定ブロックエリアを解放するこのルーチンは外部に解
放していませんが、本ライブラリに機能追加をする場合に参考になるように仕様を
載せました。
▲
戻る|
進む▼
★PROGRAMMER'S GUIDE
★VDP1ライブラリ
Copyright SEGA ENTERPRISES, LTD., 1997
|