English
PROGRAMMER'S GUIDE分岐再生ライブラリ
戻る|   ■
分岐再生ライブラリ

7.関数仕様


7.1 シナリオ処理




Title

関数仕様

Function

分岐再生の初期化

Function Name

BPL_Init

No

1.1

 書 式
Sint32 BPL_Init(Sint32 bstmmax, Sint32 brmax, Sint32 Keymax,void *work)
 入 力

bstmmax:登録する分岐ストリームの総数

brmax  :分岐の総数

keymax :ストリームキーの種類の総数

work   :作業領域

 出 力
なし
 関数値
エラーコード
 機 能
分岐再生ライブラリを使用するために作業領域を初期化します。設定されているシナリオを情報は全てクリアされます。
分岐再生ライブラリを使用する前に必ず実行してください。
 備 考

  1. 作業領域の大きさは、BPL_WORK_SIZE(bstmmax,brmax,keymax)バイトにより求めます。
    作業領域は、4バイト境界に配置してください。
    《例》
    Uint32 work[BPL_WORK_SIZE(bstmmax,brmax,keymax)/sizeof(Uint32)];

  2. 異なる分岐ストリームに対して、種類の違うストリームキーを設定する場合、それらの種類の総和がkeymaxの値になります。
    《例》
    bstm1にkey1(3種類のキー)を、bstm2にkey2(4種類のキー)を設定する場合、
    keymaxはkey1とkey2の和で7になります。
    bstm1とbstm2に同じkey1を設定する場合、keymaxはkey1だけの3になります。

  3. BPL_Init関数では、使用しているストリームグループのクローズ処理はしません。
    分岐再生ライブラリの使用中に強制的に初期化するには、BPL_Reset関数を実行してください。




Title

関数仕様

Function

分岐再生のリセット

Function Name

BPL_Reset

No

1.2

 書 式
Sint32 BPL_Reset(void)
 入 力
なし
 出 力
なし
 関数値
エラーコード
 機 能
分岐ストリームのアクセスを中止し、分岐再生をリセットします。
(分岐再生ライブラリが使用しているストリームグループをクローズして、全ての情報を初期化します。)



Title

関数仕様

Function

分岐ストリーム情報の設定

Function Name

BPL_SetStmInfo

No

1.3

 書 式
Sint32 BPL_SetStmInfo(Sint32 bstmid, Sint32 fid, Sint32 nkey, StmKey *keytbl)
 入 力

bstmid:分岐ストリーム識別子(0≦bstmid<bstmmax)

fid:ファイル識別子

nkey:ストリームキーの数(nkey≦BPL_STMKEY_MAX)

keytbl:ストリームケーテーブル

 出 力
なし
 関数値
エラーコード
 機 能
分岐ストリームに対して、分岐ストリーム情報(実際に読み込む個々のストリームの情報)を設定します。
 備 考

  1. 1つのファイルに複数のストリームキーを設定することにより、チャネルインタリーブされているデータを読み込むことができます。

  2. 1つの分岐ストリームに設定できるストリームキーは、最大BPL_STMKEY_MAXです。全ストリームで使用できるストリームキーの種類の総数はBPL_Enit関数で指定します。




Title

関数仕様

Function

分岐ストリーム情報の取得

Function Name

BPL_GetStmInfo

No

1.4

 書 式
Sint32 BPL_GetStmInfo(Sint32 bstmid, Sint32 *fid, Sint32 *nkey, Stmkey *keytbl)
 入 力
bstmid:分岐ストリーム識別子
 出 力

fid:ファイル識別子

nkey:ストリームキーの数(nkey≦BPL_STMKEY_MAX)

keytbl:ストリームキーデーブル

 関数値
設定されている分岐先の数(負の場合、エラーコード)
 機 能
分岐ストリームに設定されている分岐ストリーム情報を取得します。
分岐先の数については、分岐先情報の設定関数(BPL_SetBranchInfo)を参照してください。



Title

関数仕様

Function

分岐先情報の設定

Function Name

BPL_SetBranchInfo

No

1.5

 書 式
Sint32 BPL_SetBranchInfo(Sint32 bstmid, Sint32 nbranch, Sint32 *brtbl)
 入 力

bstmid:分岐ストリーム識別子

nbranch:分岐先の数

brtbl:分岐テーブル

 出 力
なし
 関数値
エラーコード
 機 能
分岐ストリームに対して分岐先情報(分岐先の候補)を設定します。
 備 考

  1. 分岐テーブルには、分岐候補の分岐ストリーム識別子を設定します。
    分岐先なしの設定をするには、分岐テーブルの要素にBPL_BR_NONEを指定してください。

    
    brtbl[0] = BSTMID_A; 
    
    brtbl[1] = BPL_BR_NONE;  /* 分岐先なし(分岐再生の終了) */
    
    brtbl[2] = BSTMID_B;
    
    nbranch = 3;
    
    
    分岐先は、BPL_SelectBranch関数と分岐番号(分岐テーブル内の位置)で指定する。
    この例の場合、選択した分岐先によって分岐処理は次のようになります。
    選択した分岐先
    分岐処理(サーバ関数の分岐実行スイッチON時)
    分岐番号0
    分岐ストリーム識別子BSTMID_Aに分岐します。
    分岐番号1
    分岐再生が終了します。選択直後は分岐先なし状態になります。
    分岐番号2
    分岐ストリーム識別子BSTMID_Bに分岐します。
    その他
    BPL_SelectBranchがBPL_ERR_BRNOエラーを返し、選択無効になります。

  2. ストリームの数は、以下の条件を満たす必要があります。


 X + Y ≦ Z

X:bstmidに設定したストリームキーの数 Y:分岐先のストリームキーの数の合計 Z:同時に開くことのできるストリームの最大数(STM_Init関数で指定)



Title

関数仕様

Function

分岐先情報の取得

Function Name

BPL_GetBranchInfo

No

1.6

 書 式
Sint32 BPL_GetBranchInfo(Sint32 bstmid, Sint32 *nbrabch, Sint32 *brtbl, Sint32 nelem)
 入 力

bstmid:分岐ストリーム識別子

nelem:分岐テーブルの要素数

 出 力

nbranch:分岐先の数(分岐候補がなければ0になる)

brtbl:分岐テーブル(先頭から最大nelem個の分岐候補が格納される)

 関数値
エラーコード
 機 能
分岐ストリームに設定されている分岐先情報を取得します。

7.2 分岐再生処理




Title

関数仕様

Function

再生開始ストリームの指定

Function Name

BPL_SetStart

No

2.1

 書 式
Sint32 BPL_SetStart(Sint32 bstmid)
 入 力
bstmid:分岐ストリーム識別子(BPL_BR_NONE :分岐再生の中止)
 出 力
なし
 関数値
エラーコード
 機 能
再生開始ストリーム(シナリオ先頭の分岐ストリーム)を指定します。
分岐ストリーム識別子にBPL_BR_NONEを指定すると、分岐再生を中止します。



Title

関数仕様

Function

分岐再生サーバの実行

Function Name

BPL_ExecServer

No

2.2

 書 式
Sint32 BPL_ExecServer(Bool chgsw)
 入 力
chgsw:分岐実行スイッチ(ON:分岐処理をする,OFF:しない)
 関数値
分岐再生状態
 機 能
分岐再生サーバを実行します。分岐実行スイッチがONの場合、分岐処理(分岐ストリームの切り替え処理)を行います。
(1)分岐再生状態
定 数 名
説 明
BPL_SVR_COMPLETED
分岐再生終了
BPL_SVR_WAITSEL
分岐先選択待ち
BPL_SVR_SELECT
分岐先決定
BPL_SVR_NOBRN
分岐先なし
分岐再生状態については、「3.3分岐再生の状態遷移」を参照してください。



Title

関数仕様

Function

分岐先の選択

Function Name

BPL_SelectBranch

No

2.3

 書 式
Sint32 BPL_SelectBranch(Sint32 brno)
 入 力
brno:分岐番号
 出 力
なし
 関数値
エラーコード
 機 能
指定された分岐番号に従って、分岐先を選択します。
 備 考

  1. BPL_ExecServer実行時に分岐実行スイッチONを指定すると、実際に分岐処理が行われます。
    (選択した分岐先が現在のストリームへと切り替わります。)

  2. 分岐候補が1つしかなくても分岐先の選択を実行する必要があります。




Title

関数仕様

Function

現在のストリームの取得

Function Name

BPL_GetCurStm

No

2.4

 書 式
Sint32 BPL_GetCurStm(Sint32 nelem, Sint32 *stmtbl)
 入 力
nelem :ストリームハンドルテーブルの要素数(nelem≦BPL_STMKEY_MAX)
 出 力
stmtbl:ストリームハンドルテーブル
 関数値
分岐ストリーム識別子(負の場合、該当する分岐ストリームがない)
 機 能
読み込み・取り出しの対象となっている現在のストリーム(分岐ストリーム識別子とストリームハンドル)を取得します。
 備 考

  1. ストリームハンドルテーブルには、各ストリームキーに対応するストリームハンドルが設定されます。




Title

関数仕様

Function

分岐先のストリームの取得

Function Name

BPL_GetNextStm

No

2.5

 書 式
Sint32 BPL_GetNextStm(Sint32 nelem, StmHn *stmtbl)
 入 力
nelem:ストリームハンドルテーブルの要素数(nelem≦BPL_STMKEY_MAX)
 出 力
stmbl:ストリームハンドルテーブル
 関数値
分岐ストリーム識別子(負の場合、該当する分岐ストリームがない)
 機 能
分岐先のストリーム(分岐ストリーム識別子とストリームハンドル)を取得します。
 備 考

  1. ストリームハンドルテーブルには、各ストリームキーに対応するストリームハンドルが設定されます。

  2. 分岐先が選択される(BPL_SelectBranchが実行される)まで、関数値は常に負です。




Title

関数仕様

Function

ストリームグループの取得

Function Name

BPL_GetStmGrp

No

2.6

 書 式
StmGrpHn BPL_GetStmGrp(void)
 入 力
なし
 出 力
なし
 関数値
ストリームグループハンドル
 機 能
分岐再生ライブラリが使用しているストリームグループのハンドルを取得します。
 備 考

  1. 分岐再生ライブラリは、動作時に1つのストリームグループをオープンします。
    分岐再生終了時は、ストリームグループハンドルはNULLになります。


戻る|   ■
PROGRAMMER'S GUIDE分岐再生ライブラリ
Copyright SEGA ENTERPRISES, LTD., 1997