SDL_pcb リファレンスマニュアル

SDL_pcb ver 0.12 (2008/05/14)
HELLO WORLD PROJECT 2006,2008 (jumpei isshiki)

暫定ですが、一通りの関数のリファレンスです。

---- システム系 ----
SDL_PCB_TestInit
SDL_PCB_TestReset
SDL_PCB_TestProfSave(later Ver 0.12)
SDL_PCB_TestExit
SDL_PCB_TestExec
SDL_PCB_TestIncRuningTime
SDL_PCB_TestIncChuteCnt
SDL_PCB_TestIncCreditCnt
SDL_PCB_TestIncServiceCnt
SDL_PCB_TestIncPlayCnt
SDL_PCB_TestIncPlayTime
SDL_PCB_TestGetRuningTime
SDL_PCB_TestGetChuteCnt
SDL_PCB_TestGetCreditCnt
SDL_PCB_TestGetServiceCnt
SDL_PCB_TestGetPlayCnt
SDL_PCB_TestGetPlayTime
SDL_PCB_TestGetFontSurface
SDL_PCB_TestGetPrimarySurface
SDL_PCB_TestGetScreenSurface
SDL_PCB_TestGetColorSurface
---- コイン系 ----
SDL_PCB_CoinInit
SDL_PCB_CoinInsertChute
SDL_PCB_CoinInsertService
SDL_PCB_CoinDecCredit
SDL_PCB_CoinSetCredit
SDL_PCB_CoinGetCredit
SDL_PCB_CoinGetOneCredit
SDL_PCB_CoinGetChute
SDL_PCB_CoinGetSurvice
SDL_PCB_CoinReset
SDL_PCB_CoinTrgCredit
SDL_PCB_CoinCheck
SDL_PCB_CoinIsFreeplay
SDL_PCB_CoinIsNoneCredit
---- パッド系 ----
SDL_PCB_PadSetKey
SDL_PCB_PadGet
---- サウンド系 ----
SDL_PCB_SndLoadMusic
SDL_PCB_SndLoadSe
SDL_PCB_SndIsLoadMusic
SDL_PCB_SndIsLoadSe
SDL_PCB_SndFree
SDL_PCB_SndPlayMusic
SDL_PCB_SndPlayMuisc2
SDL_PCB_SndStopMusic
SDL_PCB_SndPauseMusic
SDL_PCB_SndIsPlayMusic
SDL_PCB_SndSetFadeMusic
SDL_PCB_SndCtrlFadeMusic
SDL_PCB_SndCtrlLoopMusic
SDL_PCB_SndPlaySe
SDL_PCB_SndStopSe
SDL_PCB_SndIsPlaySe
SDL_PCB_SndPauseSe
SDL_PCB_SndStopAll
SDL_PCB_SndSetVolSe
SDL_PCB_SndSetVolMusic
SDL_PCB_SndSetVolMaster
---- 変数 ----
pcb_pads
pcb_trgs
pcb_reps


    ---- システム系 ----
    void SDL_PCB_TestInit(Sint16 x, Sint16 y);
        [引数]
            x : 横スクリーンサイズ
            y : 縦スクリーンサイズ
        [戻値]
            なし
        [解説]
            「SDL_pcb」を初期化します。
            初期化することにより、テストモード、パッドドライバ、サウンドドライバが利用できるようになります。
            「SDL_Init」「SDL_SetVideoMode」の後に実行してください。それ以前に実行した場合の結果は不定です。
            縦、横スクリーンサイズは、SDL_SetVideoMode で設定したサイズを与えてください。
    void SDL_PCB_TestReset(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            テストモード内メニューの状態をリセットします。
            ライブラリ内部で使用する関数です。
    void SDL_PCB_TestProfSave(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            テストモードの設定内容を「profile.pcb」に保存します。
            ファイルが無い場合は新規作成し、ある場合は上書き保存します。
            ライブラリ内部で使用する関数です。
    void SDL_PCB_TestExit(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            「SDL_pcb」を終了します。
            アプリケーション終了時に呼んでください。
            「SDL_Quit」の前に実行してください。それ以後に実行した場合の結果は不定です。
    int SDL_PCB_TestExec(int game_exec);
        [引数]
            game_exec : 実行モード
        [戻値]
            テストモード状態
        [解説]
            テストモードの状態をチェックし、必要ならテストモードに移行し、実行します。
            「実行モード」は 非0 ならゲームプレイ中、0 なら非ゲームプレイ中です。
            毎フレームこの関数を呼んでいれば、テストモードキー(F4)を押すことでテストモードに移行します。
            「テストモード状態」は、
              0 : 非テストモード
              1 : テストモード実行中
             -1 : テストモード終了
             となります。
             (上記サンプル参照)
             「実行モード」とは、SDL_pcb が内部的に実効時間を管理するためのフラグです。
             「ゲームプレイ中」の場合、「ゲームプレイ時間」と「アプリ実行時間」が加算されます。
             「非ゲームプレイ中」の場合、「アプリ実行時間」のみが加算されます。
    void SDL_PCB_TestIncRuningTime(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            アプリが実行されている時間を加算します。
            メインループ内から呼び出して使用します。
    void SDL_PCB_TestIncChuteCnt(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            コインを一枚入れたことにします。
            クレジットではないことに注意してください。
    void SDL_PCB_TestIncCreditCnt(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            クレジットを一枚入れたことにします。
            コインではないことに注意してください。
    void SDL_PCB_TestIncServiceCnt(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            サービススイッチを押したことにします。
            1クレジット分のコインが入ったことになります。
    void SDL_PCB_TestIncPlayCnt(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            プレイ回数を一回増やします。
            ゲームスタート時に呼び出して使用します。
    void SDL_PCB_TestIncPlayTime(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            ゲームをプレイしている時間を加算します。
            ゲームのメインループ内から呼び出して使用します。
            「実行時間」とは違うので注意してください。
    Uint32 SDL_PCB_TestGetRuningTime(void);
        [引数]
            なし
        [戻値]
            実行時間(=フレーム)
        [解説]
            実行時間を取得します。
    Uint32 SDL_PCB_TestGetChuteCnt(void);
        [引数]
            なし
        [戻値]
            コイン数
        [解説]
            今までに入ったコイン数を取得します。
    Uint32 SDL_PCB_TestGetCreditCnt(void);
        [引数]
            なし
        [戻値]
            クレジット数
        [解説]
            今までに入ったクレジット数を取得します。
    Uint32 SDL_PCB_TestGetServiceCnt(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            サービススイッチを押した回数を取得します。
    Uint32 SDL_PCB_TestGetPlayCnt(void);
        [引数]
            なし
        [戻値]
            プレイ回数
        [解説]
            ゲームをプレイした回数を取得します。
    Uint32 SDL_PCB_TestGetPlayTime(void);
        [引数]
            なし
        [戻値]
            プレイ時間
        [解説]
            ゲームをプレイした時間(=フレーム)を取得します。
    SDL_Surface *SDL_PCB_TestGetFontSurface(void);
        [引数]
            なし
        [戻値]
            フォントのサーフェス
        [解説]
            テストモード内で使用しているフォントのサーフェスを取得します。
    SDL_Surface *SDL_PCB_TestGetPrimarySurface(void);
        [引数]
            なし
        [戻値]
            SDL_pcb が管理するプライマリサーフェスへのポインタ
        [解説]
            SDL_pcb が管理するプライマリサーフェスへのポインタを取得します。
            これを使って、アプリケーション側でテストモードの画面を描画してください。
            (上記サンプル参照)
    SDL_Surface *SDL_PCB_TestGetScreenSurface(void);
        [引数]
            なし
        [戻値]
            「SCREEN TEST」サーフェス
        [解説]
            「SCREEN TEST」で使用しているサーフェスを取得します。
    SDL_Surface *SDL_PCB_TestGetColorSurface(void);
        [引数]
            なし
        [戻値]
            「COLOR TEST」サーフェス
        [解説]
            「COLOR TEST」で使用しているサーフェスを取得します。
    ---- コイン系 ----
    void SDL_PCB_CoinInit(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            コイン関係のデータを初期化します。
    void SDL_PCB_CoinInsertChute(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            コインを1枚入れたときの処理を行います。
            クレジットまわりの処理も同時に行います。
    void SDL_PCB_CoinInsertService(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            サービススイッチを押した時の処理を行います。
    SDL_bool SDL_PCB_CoinDecCredit(void);
        [引数]
            なし
        [戻値]
            SDL_TRUE  減算に成功
            SDL_FALSE コイン不足
        [解説]
            クレジットを1つ減らします。
            コインが不足してる場合は何もしません。
    void SDL_PCB_CoinSetCredit(Uint32 credit);
        [引数]
            1クレジットに必要なコイン数
        [戻値]
            なし
        [解説]
            1クレジットに必要なコイン数を設定します。
    Uint32 SDL_PCB_CoinGetCredit(void);
        [引数]
            なし
        [戻値]
            1クレジットに必要なコイン数
        [解説]
            1クレジットに必要なコイン数を取得します。
    Uint32 SDL_PCB_CoinGetOneCredit(void);
        [引数]
            なし
        [戻値]
            クレジット数
        [解説]
            現在のクレジット数を返します。
    Uint32 SDL_PCB_CoinGetChute(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            現在のコイン数を返します。
    Uint32 SDL_PCB_CoinGetSurvice(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            現在のサービスカウンタを返します。
    void SDL_PCB_CoinReset(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            コイン情報をリセットします。
    SDL_bool SDL_PCB_CoinTrgCredit(void);
        [引数]
            なし
        [戻値]
            SDL_TRUE  1クレジット入った
            SDL_FALSE 入ってない
        [解説]
            1クレジット入ったかかどうかをチェックします。
            メインループ内から呼び出して使用します。
    SDL_bool SDL_PCB_CoinCheck(int coin_se);
        [引数]
            クレジットが入った時に鳴らす SE バンク。
        [戻値]
            SDL_TRUE  1クレジット入った
            SDL_FALSE 入ってない
        [解説]
            コインまわりのチェックを全て行います。
            メインループ内から呼び出して使用します。
            通常をこれを呼んで戻り値をチェックするだけで充分です。
    SDL_bool SDL_PCB_CoinIsFreeplay(void);
        [引数]
            なし
        [戻値]
            SDL_TRUE  フリープレイ
            SDL_FALSE クレジットが必要
        [解説]
            フリープレイであるかどうかをチェックします。
    SDL_bool SDL_PCB_CoinIsNoneCredit(void);
        [引数]
            なし
        [戻値]
            SDL_TRUE  コインは入っていない
            SDL_FALSE コインが入っている
        [解説]
            1コインでも入っているかどうかをチェックします。
            サービスカウンタもチェックします。
    ---- パッド系 ----
    void SDL_PCB_PadSetKey(int conf, int key);
        [引数]
            conf : キーID
            key  : 判定するためのキーシンボル(SDL のシンボル)
        [戻値]
            なし
        [解説]
            キーボードでのキー割り当てを設定します。
            設定できるキーIDは以下の通りです。
            PCBPAD_DOWN    : 「下方向」を判別するキー
            PCBPAD_LEFT    : 「左方向」を判別するキー
            PCBPAD_RIGHT   : 「右方向」を判別するキー
            PCBPAD_UP      : 「上方向」を判別するキー
            PCBPAD_BUTTON1 : 「ボタン1」を判別するキー
            PCBPAD_BUTTON2 : 「ボタン2」を判別するキー
            PCBPAD_BUTTON3 : 「ボタン3」を判別するキー
            PCBPAD_BUTTON4 : 「ボタン4」を判別するキー
            PCBPAD_BUTTON5 : 「ボタン5」を判別するキー
            PCBPAD_BUTTON6 : 「ボタン6」を判別するキー
            PCBPAD_BUTTON7 : 「ボタン7」を判別するキー
            PCBPAD_BUTTON8 : 「ボタン8」を判別するキー
            PCBPAD_BUTTON9 : 「ボタン9」を判別するキー(コインスイッチ)
            PCBPAD_BUTTONA : 「ボタンA」を判別するキー(サービススイッチ)
            PCBPAD_BUTTONB : 「ボタンB」を判別するキー(テストスイッチ)
            ※)PAD_BUTTON9 〜 PAD_BUTTONB は、役割が固定されています。
            「判定するためのキーシンボル」は、SDL のキーシンボルを参照してください。
            (SDL ライブラリ内の SDL_keysym.h にシンボルの定義があります)
            なお、ジョイパッドのキー配置は固定です。
    Uint8 *SDL_PCB_PadGet(void);
        [引数]
            なし
        [戻値]
            キー状態テーブルへのポインタ
        [解説]
            キーボードとパッドの状態を取得します。
            キーボードの状態は、戻値で帰ってきます。判定方法は従来の SDL と同じ方法でできます。
            パッドの状態は、以下のグローバル変数で確認できます。
            pcb_pads : 現在押されているキーの情報です
            pcb_trgs : そのフレームで押されたキーの情報です
            pcb_reps : 繰り返しで押されているキーの情報です
            パッドの状態は、以下の名前で判定できます。
            PAD_UP      : 上方向
            PAD_DOWN    : 下方向
            PAD_LEFT    : 左方向
            PAD_RIGHT   : 右方向
            PAD_BUTTON1 : ボタン1
            PAD_BUTTON2 : ボタン2
            PAD_BUTTON3 : ボタン3
            PAD_BUTTON4 : ボタン4
            PAD_BUTTON5 : ボタン5
            PAD_BUTTON6 : ボタン6
            PAD_BUTTON7 : ボタン7
            PAD_BUTTON8 : ボタン8
            PAD_BUTTON9 : ボタン9(コインスイッチ)
            PAD_BUTTONA : ボタンA(サービススイッチ)
            PAD_BUTTONB : ボタンB(テストスイッチ)
            ※)PAD_BUTTON9 〜 PAD_BUTTONB は、役割が固定されています。
    ---- サウンド系 ----
    void SDL_PCB_SndLoadMusic(char *fname, int bank, int loops);
        [引数]
            fname : BGM のファイル名
            bank  : 読みこむバンク(0 〜 15)
            loops : ループ回数
        [戻値]
            なし
        [解説]
            BGM を読みこみます。
            読みこむバンクは、SE とは別のバンクです。
            「ループ回数」は、-1 を指定すると無限ループになります。
    void SDL_PCB_SndLoadSe(char *fname, int bank, int ch);
        [引数]
            fname : SE のファイル名
            bank  : 読みこむバンク(0 〜 31)
            ch    : 再生するチャンネル(0 〜 7)
        [戻値]
            なし
        [解説]
            SE を読みこみます。
            読みこむバンクは、BGM とは別のバンクです。
    SDL_bool SDL_PCB_SndIsLoadMusic(int bank);
        [引数]
            音楽のバンク 
        [戻値]
            SDL_TRUE  読まれている
            SDL_FALSE 読まれていない
        [解説]
            指定バンクに音楽が読まれているかどうかをチェックします。
    SDL_bool SDL_PCB_SndIsLoadSe(int bank);
        [引数]
            SE のバンク
        [戻値]
            SDL_TRUE  読まれている
            SDL_FALSE 読まれていない
        [解説]
            指定バンクに SE が読まれているかどうかをチェックします。
    void SDL_PCB_SndFree(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            サウンド(SE、BGM )を全て開放します。
    void SDL_PCB_SndPlayMusic(int bank);
        [引数]
            bank : 再生するBGM バンク(0 〜 15)
        [戻値]
            なし
        [解説]
            BGM を再生します。
    void SDL_PCB_SndPlayMuisc2(int in_bank, int lp_bank);
        [引数]
            イントロ部の音楽バンク
            ループ部の音楽バンク
        [戻値]
            なし
        [解説]
            イントロつきのBGM を再生します。
            イントロ部のBGM は、読む時にループ回数に1以上(通常1)を指定してください。
    void SDL_PCB_SndStopMusic(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            再生中のBGM を停止します。
    void SDL_PCB_SndPauseMusic(int flag);
        [引数]
            なし
        [戻値]
             0 ポーズ復帰
             1 ポーズ
            -1 状況を判断してポーズ/復帰
        [解説]
            BGM のポーズ/復帰を行います。
    SDL_bool SDL_PCB_SndIsPlayMusic(void);
        [引数]
            なし
        [戻値]
            SDL_TRUE  再生中
            SDL_FALSE 再生してない
        [解説]
            BGM  が再生中かどうかをチェックします。
    void SDL_PCB_SndSetFadeMusic(int flag, int time);
        [引数]
            フォードモード(通常1)
            フェード時間
        [戻値]
            なし
        [解説]
            BGM のフェードを設定します。
    void SDL_PCB_SndCtrlFadeMusic(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            BGM のフェードを制御します。
            設定しただけではフェードはしないので、必ずこの関数を呼んでください。
    void SDL_PCB_SndCtrlLoopMusic(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            「イントロつきループ再生BGM 」を制御します。
    void SDL_PCB_SndPlaySe(int bank);
        [引数]
            bank : 再生する SE バンク(0 〜 31)
        [戻値]
            なし
        [解説]
            SE を再生します。
    void SDL_PCB_SndStopSe(int bank);
        [引数]
            bank : 停止する SE バンク(0 〜 31)
        [戻値]
            なし
        [解説]
            指定した SE を、再生中なら停止します。
    int SDL_PCB_SndIsPlaySe(int ch);
        [引数]
            チェックする SE チャンネル
        [戻値]
            Mix_Playing の戻り値
        [解説]
            SE の再生状態をチェックします。
    void SDL_PCB_SndPauseSe(int flag);
        [引数]
            なし
        [戻値]
             0 ポーズ復帰
             1 ポーズ
            -1 状況を判断してポーズ/復帰
        [解説]
            SE のポーズ/復帰を行います。
    void SDL_PCB_SndStopAll(void);
        [引数]
            なし
        [戻値]
            なし
        [解説]
            全ての再生中の音を停止します(BGM 、SE 共に)。
    void SDL_PCB_SndSetVolSe(int vol);
        [引数]
            音量(最大 100)
        [戻値]
            なし
        [解説]
            SE の音量を設定します。
    void SDL_PCB_SndSetVolMusic(int vol);
        [引数]
            音量(最大 100)
        [戻値]
            なし
        [解説]
            BGM の音量を設定します。
    void SDL_PCB_SndSetVolMaster(int vol);
        [引数]
            音量(最大 100)
        [戻値]
            なし
        [解説]
            マスターボリューム(BGM 、SE 両方に影響)を設定します。
    ---- 変数 ----
    int pcb_pads;
        現在押されているパッドデータです。
    int pcb_trgs;
        トリガ(押されたと気にしか反応しない)パッドデータです。
    int pcb_reps;
        リピートつきパッドデータです。

(C)2006 HELLO WORLD PROJECT (Jumpei Isshiki)