メインループシステムクラス More...
#include <GxSysMain.h>


Classes | |
| struct | BootConfigEnumMap |
| BootConfig 名前と値のマップ用。終端は _name == nullptr, _value はデフォルト値 More... | |
| class | GxSequentialThreadManagerMain |
| 同期スレッド管理クラス More... | |
| class | GxSequentialThreadManagerMainPrecede |
| 同期スレッド管理クラス(ジョブ先行開始対応) More... | |
Public Member Functions | |
| GX_FORCE_INLINE void | setSystemFlag (u32 flag, b32 enable=true) |
| フラグセット | |
| GX_FORCE_INLINE b32 | isOnSystemFlag (u32 flagIndex) const |
| フラグチェック | |
アクセサ | |
| GX_FORCE_INLINE b32 | isInitialized (void) const |
| 初期化済み判定 | |
| constexpr u32 | getWorkerStackSize (void) const |
| ワーカースレッドのスタックサイズを取得する | |
| constexpr void | setWorkerStackSize (u32 size) |
| ワーカースレッドのスタックサイズを設定する | |
| constexpr GxSequentialThreadManagerMain * | getSequentialThreadManager (void) const |
| 同期スレッド管理を取得 | |
| void | setPlay (b32 flag, GxRtti *pStageRtti=nullptr) |
| 再生/停止を設定 | |
| GX_FORCE_INLINE b32 | isPlay (void) const |
| 再生中判定 | |
| GX_FORCE_INLINE b32 | isStop (void) const |
| 停止中判定 | |
| GX_FORCE_INLINE b32 | isPause (void) const |
| 一時停止中判定 | |
| void | setPause (b32 flag) |
| 一時停止を設定 | |
| GX_FORCE_INLINE b32 | isSingleStep (void) const |
| 1コマ進めるかどうか | |
| GX_FORCE_INLINE void | setSingleStep (b32 singleStep) |
| コマ送り設定 | |
| GX_FORCE_INLINE b32 | isConstFrameRate (void) const |
| 固定フレームレートか判定 | |
| GX_FORCE_INLINE void | setConstFrameRate (b32 flag) |
| 固定フレームレートの設定 | |
| constexpr f32 | getDeltaTimeFactor (void) const |
| デルタタイム係数取得 | |
| constexpr void | setDeltaTimeFactor (f32 deltaTimeFactor) |
| デルタタイム係数設定 | |
| constexpr f32 | getDeltaTime (void) const |
| デルタタイム取得 | |
| constexpr void | setDeltaTime (f32 deltaTime) |
| デルタタイム設定 | |
| constexpr f32 | getDeltaTimeRatio (void) const |
| デルタタイム比率取得(目標時間に対する実時間の割合) | |
| constexpr void | setDeltaTimeRatio (f32 deltaTimeRatio) |
| デルタタイム比率設定 | |
| constexpr f32 | getVariableFrameLowerLimit (void) const |
| 可変フレームレート時の下限を取得 | |
| constexpr void | setVariableFrameLowerLimit (f32 lowerLimit) |
| 可変フレームレート時の下限の設定 | |
Public Member Functions inherited from GxSysBase | |
| template<typename T > | |
| T * | getModule (void) const |
| モジュールを取得 | |
| GxSysBase (void) | |
| デフォルトコンストラクタ | |
| ~GxSysBase (void) override | |
| デストラクタ | |
| b32 | isLocked (void) |
| クリティカルセクションのロック状態を確認する | |
| void | sleep (f32 time) |
| スリープ(スクリプト用) | |
Public Member Functions inherited from GxClassBase | |
| constexpr | GxClassBase (void) |
| コンストラクタ | |
| constexpr | GxClassBase (const GxClassBase &base) |
| コピーコンストラクタ | |
| ~GxClassBase (void) override | |
| デストラクタ | |
Public Member Functions inherited from GxClassBaseRoot | |
| constexpr | GxClassBaseRoot (void) |
| コンストラクタ | |
| constexpr | GxClassBaseRoot (const GxClassBaseRoot &) |
| コピーコンストラクタ | |
| virtual | ~GxClassBaseRoot (void) |
| デストラクタ | |
| constexpr GxClassBaseRoot & | operator= (const GxClassBaseRoot &) |
| 代入演算子 | |
| virtual GxRtti & | getRtti (void) const =0 |
| Rttiの取得 | |
| virtual GX_FORCE_INLINE const GxTypedObject * | getDefaultObject (void) |
| デフォルトオブジェクトを取得 | |
| GX_FORCE_INLINE b32 | isDefaultObject (void) |
| デフォルトオブジェクト判定 | |
Public Member Functions inherited from SingletonBase< GxSysMain > | |
| SingletonBase (void) | |
| コンストラクタ | |
| ~SingletonBase (void) | |
| デストラクタ | |
定義 | |
| enum class | EXIT_CODE { NORMAL , ERROR_ } |
| アプリケーション終了コード More... | |
| enum class | INITIALIZE_APPLICATION_RESULT { FAIL , SUCCESS , FINISH } |
| アプリケーション用初期化リザルトコード More... | |
| enum class | GX_INITIALIZE_APPLICATION_SEQUENCE { SYS_FILE , SYS_RESOURCE , SYS_INPUT , SYS_SHADER , RENDER_DEVICE , SYS_RENDER , SYS_PRIMITIVE , SYS_EFFECT , SYS_LIGHT , SYS_ENVIRONMENT , SYS_GPGPU , SYS_COLLISION , SYS_DYNAMICS , SYS_UNIT , SYS_NETWORK , SYS_P2P , SYS_FONT , SYS_STAGE , SYS_FONT_BMP , SYS_FILTER , SYS_SOUND , SYS_MOVIE , FINISH } |
| アプリケーション用初期化順 More... | |
| enum class | PLAY_MODE { STOP = 0 , PAUSE , PLAY } |
| プレイモード定義 More... | |
| static constexpr u32 | SYSTEM_FLAG_NUM = GxMath::VALUE_2K / 32 |
| システムフラグの個数 | |
| static constexpr u32 | SYSTEM_FLAG_MAX = SYSTEM_FLAG_NUM * 32 |
| システムフラグの最大数 | |
| static constexpr u32 | DEVELOP_FLAG_NUM = GxMath::VALUE_1K / 32 |
| 開発用フラグの個数 | |
| static constexpr u32 | DEVELOP_FLAG_MAX = DEVELOP_FLAG_NUM * 32 |
| 開発用フラグの最大数 | |
| static constexpr u32 | BOOT_COMMAND_LINE_MAX = GxMath::VALUE_1K |
| 起動時コマンドライン最大文字列数 | |
| static constexpr u32 | BOOT_COMMAND_LINE_ARGUMENT_MAX = GxMath::VALUE_32 |
| 起動時コマンドライン最大要素数 | |
| static GX_CSTR | BOOT_ARGUMENT_AUTO_FINALIZE = "/autofinalize" |
| 起動時引数(オートファイナライズ) | |
メンバ変数 | |
| GxRenderDevice * | _pRenderDevice |
| 描画デバイス | |
| GxSysRenderBase * | _pRender |
| 描画システム | |
| GxSysShader * | _pShader |
| シェーダシステム | |
| GxSysFilterBase * | _pFilter |
| フィルターシステム | |
| GxSysResource * | _pResource |
| リソースシステム | |
| GxSysPrimitive * | _pPrimitive |
| プリミティブ描画システム | |
| GxSysFile * | _pFile |
| ファイルシステム | |
| GxSysUnit * | _pUnit |
| ユニットシステム | |
| GxSysStage * | _pStage |
| ステージシステム | |
| GxSysInput * | _pInput |
| 入力システム | |
| GxSysLightBase * | _pLight |
| ライトシステム | |
| GxSysEnvironment * | _pEnvironment |
| 環境システム | |
| GxSysGpgpu * | _pGpgpu |
| GPGPUシステム | |
| GxSysCollisionBase * | _pCollision |
| コリジョンシステム | |
| GxSysDynamicsBase * | _pDynamics |
| 物理システム | |
| GxSysP2PBase * | _pP2P |
| P2P通信システム | |
| GxSysFontBmpBase * | _pFontBmp |
| BMPフォントシステム | |
| GxSysFont * | _pFont |
| フォントシステム | |
| GxSysEffectBase * | _pEffect |
| エフェクトシステム | |
| GxSysSoundBase * | _pSound |
| サウンドシステム | |
| GxSysMovieBase * | _pMovie |
| ムービーシステム | |
| GxSysNetworkBase * | _pNetwork |
| ネットワークシステム | |
初期化 | |
| GxSysMain (void) | |
| コンストラクタ | |
| ~GxSysMain (void) override | |
| デストラクタ | |
| b32 | initialize (const GxClassBase *pInitialInformation) override |
| 初期化 | |
| void | terminate (void) override |
| 終了処理 | |
| void | forceExit (EXIT_CODE code) |
| 強制終了(メインループの停止) | |
| GX_FORCE_INLINE b32 | isExiting (void) const |
| 終了中かどうか | |
| virtual GxSysRenderBase * | createSysRender (void) |
| 描画システム作成 | |
| virtual GxSysShader * | createSysShader (void) |
| シェーダーシステム作成 | |
| virtual GxSysFilterBase * | createSysFilter (void) |
| フィルターシステム作成 | |
| virtual GxSysResource * | createSysResource (void) |
| リソースシステム作成 | |
| virtual GxSysPrimitive * | createSysPrimitive (void) |
| プリミティブ描画システム作成 | |
| virtual GxSysFile * | createSysFile (void) |
| ファイルシステム作成 | |
| virtual GxSysUnit * | createSysUnit (void) |
| ユニットシステム作成 | |
| virtual GxSysStage * | createSysStage (void) |
| ステージシステム作成 | |
| virtual GxSysInput * | createSysInput (void) |
| 入力システム作成 | |
| virtual GxSysLightBase * | createSysLight (void) |
| ライトシステム作成 | |
| virtual GxSysEnvironment * | createSysEnvironment (void) |
| 環境システム作成 | |
| virtual GxSysGpgpu * | createSysGpGpu (void) |
| GPGPUシステム作成 | |
| virtual GxSysCollisionBase * | createSysCollision (void) |
| コリジョンシステム作成 | |
| virtual GxSysDynamicsBase * | createSysDynamics (void) |
| 物理システム作成 | |
| virtual GxSysP2PBase * | createSysP2P (void) |
| P2P通信システム作成 | |
| virtual GxSysFontBmpBase * | createSysFontBmp (void) |
| BMPフォントシステム作成 | |
| virtual GxSysFont * | createSysFont (void) |
| フォントシステム作成 | |
| virtual GxSysEffectBase * | createSysEffect (void) |
| エフェクトシステム作成 | |
| virtual GxSysSoundBase * | createSysSound (void) |
| サウンドシステム作成 | |
| virtual GxSysMovieBase * | createSysMovie (void) |
| ムービーシステム作成 | |
| virtual GxSysNetworkBase * | createSysNetwork (void) |
| ネットワークシステム作成 | |
操作 | |
| EXIT_CODE | mainLoop (void) |
| メイン処理実行 | |
| b32 | dispatchQuitMessage (void) |
| 各OSからの終了メッセージを検知する | |
| constexpr u32 | getBootArgumentCount (void) const |
| 起動時引数要素数取得 | |
| GX_CSTR | getBootArgument (u32 index) const |
| 起動時引数取得 | |
| s32 | findBootArgumentIndex (GX_CSTR string) const |
| 起動時引数の位置取得 | |
| void | analyzeBootCommandLine (s32 argc=0, GX_CSTR argv[]=nullptr) |
| 起動時コマンドライン分析。Windowsの場合 argc, argv は無視される | |
| void | initializeBootConfig (GX_CSTR fname, void *pBootIniContents) |
| 設定ファイルの読み込み。pBootIniContents が nullptr 以外の場合は fname は無視される。 | |
| b32 | setBootConfigReadSection (GX_CSTR name) |
| アクセス先のセクションを設定。存在した場合は true を返す | |
| void | getBootConfigValueString (GX_CSTR name, u32 index, GX_CSTR *pValue, GX_CSTR defaultValue) |
| 現在のセクション内のパラメータ値を取得する (文字列) | |
| void | getBootConfigValueU64 (GX_CSTR name, u32 index, u64 *pValue, u64 defaultValue) |
| 現在のセクション内のパラメータ値を取得する (u64) | |
| void | getBootConfigValueS64 (GX_CSTR name, u32 index, s64 *pValue, s64 defaultValue) |
| 現在のセクション内のパラメータ値を取得する (s64) | |
| void | getBootConfigValueF64 (GX_CSTR name, u32 index, f64 *pValue, f64 defaultValue) |
| 現在のセクション内のパラメータ値を取得する (f64) | |
| void | getBootConfigValueB32 (GX_CSTR name, u32 index, b32 *pValue, b32 defaultValue) |
| 現在のセクション内のパラメータ値を取得する (b32) | |
| void | getBootConfigValueByte (GX_CSTR name, u32 index, u64 *pValue, u64 defaultValue) |
| 現在のセクション内のパラメータ値を取得する (バイト) 10K, 10M, 10G など指定可能 | |
| void | getBootConfigValueSize (GX_CSTR name, u32 index, GxSize *pValue, const GxSize &defaultValue) |
| 現在のセクション内のパラメータ値を取得する (GxSize) index に _width, index + 1 に _height を設定 | |
| void | getBootConfigValueEnum (GX_CSTR name, u32 index, u32 *pValue, const BootConfigEnumMap *pMapList) |
| 現在のセクション内のパラメータ値を取得する (enum map) | |
| virtual void | loadModule (void) |
| モジュールのロード | |
| virtual void | unloadModule (void) |
| モジュールのアンロード | |
| INITIALIZE_APPLICATION_RESULT | initializeApplication (const GxMainInitialInformation *pMainInitialInformation, u32 initializeSequence) |
| アプリケーション用初期化 | |
| virtual void | terminateApplication (void) |
| アプリケーション用終了処理 | |
| virtual void | initializeModule (const GxMainInitialInformation *pMainInitialInformation) |
| アロケータ初期化直後に呼ばれる。アロケータを必要とするプラットフォーム固有の初期化などを行う。 | |
| virtual void | terminateModule (void) |
| アロケータ解放直前に呼ばれる。アロケータを必要とするプラットフォーム固有の終了処理などを行う。 | |
| virtual void | releaseAllocator (void) |
| アロケータの解放 | |
| b32 | initializeLoop (const GxMainInitialInformation *pMainInitialInformation) |
| 初期化ループ | |
| virtual void | callUsage (void) |
| 最適化で消されないための呼び出し | |
| void | update (void) override |
| システム実行 | |
Additional Inherited Members | |
Static Public Member Functions inherited from GxClassBaseRoot | |
| static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
| Rttiの取得 | |
Static Public Member Functions inherited from SingletonBase< GxSysMain > | |
| static GX_FORCE_INLINE GxSysMain & | getSingleton (void) |
| 参照を取得 | |
| static constexpr GxSysMain * | getSingletonPointer (void) |
| ポインタを取得 | |
Protected Types inherited from GxSysBase | |
| enum class | LOCK_TYPE { SEQUENTIAL_THREAD_SAFE , THREAD_SAFE } |
| ロックタイプ More... | |
Protected Member Functions inherited from GxSysBase | |
| void | terminateGxModules (void) |
| GXモジュールの終了処理 | |
| void | lock (LOCK_TYPE type=LOCK_TYPE::THREAD_SAFE) |
| クリティカルセクションに入る | |
| void | unlock (LOCK_TYPE type=LOCK_TYPE::THREAD_SAFE) |
| クリティカルセクションを出る | |
| template<typename T > | |
| T * | addModule (void) |
| モジュールを作成 | |
| template<typename T > | |
| void | removeModule (void) |
| モジュールを削除 | |
メインループシステムクラス
|
strong |
|
strong |
アプリケーション用初期化順
|
strong |
|
strong |
| void GxSysMain::analyzeBootCommandLine | ( | s32 | argc = 0, |
| GX_CSTR | argv[] = nullptr ) |
起動時コマンドライン分析。Windowsの場合 argc, argv は無視される
| argc | [in] 起動引数の数 |
| argv | [in] 起動引数(文字列) |
|
protectedvirtual |
コリジョンシステム作成
|
protectedvirtual |
物理システム作成
|
protectedvirtual |
エフェクトシステム作成
|
protectedvirtual |
環境システム作成
|
protectedvirtual |
ファイルシステム作成
|
protectedvirtual |
フィルターシステム作成
|
protectedvirtual |
フォントシステム作成
|
protectedvirtual |
BMPフォントシステム作成
|
protectedvirtual |
GPGPUシステム作成
|
protectedvirtual |
入力システム作成
|
protectedvirtual |
ライトシステム作成
|
protectedvirtual |
ムービーシステム作成
|
protectedvirtual |
ネットワークシステム作成
|
protectedvirtual |
P2P通信システム作成
|
protectedvirtual |
プリミティブ描画システム作成
|
protectedvirtual |
描画システム作成
|
protectedvirtual |
リソースシステム作成
|
protectedvirtual |
シェーダーシステム作成
|
protectedvirtual |
サウンドシステム作成
|
protectedvirtual |
ステージシステム作成
|
protectedvirtual |
ユニットシステム作成
| b32 GxSysMain::dispatchQuitMessage | ( | void | ) |
各OSからの終了メッセージを検知する
| s32 GxSysMain::findBootArgumentIndex | ( | GX_CSTR | pString | ) | const |
起動時引数の位置取得
@pString [in] 探す文字列


| void GxSysMain::forceExit | ( | EXIT_CODE | code | ) |
強制終了(メインループの停止)
| code | [in] 終了コード |

| GX_CSTR GxSysMain::getBootArgument | ( | u32 | index | ) | const |
起動時引数取得
@index [in] インデックス

| void GxSysMain::getBootConfigValueB32 | ( | GX_CSTR | parameterName, |
| u32 | index, | ||
| b32 * | pReturnValue, | ||
| b32 | defaultValue ) |
現在のセクション内のパラメータ値を取得する (b32)
| parameterName | [in] パラメータ名 |
| index | [in] インデックス |
| pReturnValue | [out] パラメータ値 |
| defaultValue | [in] デフォルト値 |

| void GxSysMain::getBootConfigValueByte | ( | GX_CSTR | parameterName, |
| u32 | index, | ||
| u64 * | pReturnValue, | ||
| u64 | defaultValue ) |
現在のセクション内のパラメータ値を取得する (バイト) 10K, 10M, 10G など指定可能
| parameterName | [in] パラメータ名 |
| index | [in] インデックス |
| pReturnValue | [out] パラメータ値 |
| defaultValue | [in] デフォルト値 |

| void GxSysMain::getBootConfigValueEnum | ( | GX_CSTR | parameterName, |
| u32 | index, | ||
| u32 * | pReturnValue, | ||
| const BootConfigEnumMap * | pMapList ) |
現在のセクション内のパラメータ値を取得する (enum map)
| parameterName | [in] パラメータ名 |
| index | [in] インデックス |
| pReturnValue | [out] パラメータ値 |
| pMapList | [in] ENUMマップ |

| void GxSysMain::getBootConfigValueF64 | ( | GX_CSTR | parameterName, |
| u32 | index, | ||
| f64 * | pReturnValue, | ||
| f64 | defaultValue ) |
現在のセクション内のパラメータ値を取得する (f64)
| parameterName | [in] パラメータ名 |
| index | [in] インデックス |
| pReturnValue | [out] パラメータ値 |
| defaultValue | [in] デフォルト値 |

| void GxSysMain::getBootConfigValueS64 | ( | GX_CSTR | parameterName, |
| u32 | index, | ||
| s64 * | pReturnValue, | ||
| s64 | defaultValue ) |
現在のセクション内のパラメータ値を取得する (s64)
| parameterName | [in] パラメータ名 |
| index | [in] インデックス |
| pReturnValue | [out] パラメータ値 |
| defaultValue | [in] デフォルト値 |

| void GxSysMain::getBootConfigValueSize | ( | GX_CSTR | parameterName, |
| u32 | index, | ||
| GxSize * | pReturnValue, | ||
| const GxSize & | defaultValue ) |
現在のセクション内のパラメータ値を取得する (GxSize) index に _width, index + 1 に _height を設定
| parameterName | [in] パラメータ名 |
| index | [in] インデックス |
| pReturnValue | [out] パラメータ値 |
| defaultValue | [in] デフォルト値 |

| void GxSysMain::getBootConfigValueString | ( | GX_CSTR | parameterName, |
| u32 | index, | ||
| GX_CSTR * | pReturnValue, | ||
| GX_CSTR | defaultValue ) |
現在のセクション内のパラメータ値を取得する (文字列)
| parameterName | [in] パラメータ名 |
| index | [in] インデックス |
| pReturnValue | [out] パラメータ値 |
| defaultValue | [in] デフォルト値 |

| void GxSysMain::getBootConfigValueU64 | ( | GX_CSTR | parameterName, |
| u32 | index, | ||
| u64 * | pReturnValue, | ||
| u64 | defaultValue ) |
現在のセクション内のパラメータ値を取得する (u64)
| parameterName | [in] パラメータ名 |
| index | [in] インデックス |
| pReturnValue | [out] パラメータ値 |
| defaultValue | [in] デフォルト値 |

|
overridevirtual |
初期化
| pMainInitialInformation | [in] メイン初期化情報 |
Reimplemented from GxSysBase.


|
protected |
アプリケーション用初期化
| pMainInitialInformation | [in] メイン初期化情報 |
| initializeSequence | [in] 初期化シーケンス |


| void GxSysMain::initializeBootConfig | ( | GX_CSTR | filename, |
| void * | pBootInitialContents ) |
設定ファイルの読み込み。pBootIniContents が nullptr 以外の場合は fname は無視される。
| filename | [in] ファイル名 |
| pBootInitialContents | [in] boot時初期化データ |
|
protected |
初期化ループ
| pMainInitialInformation | [in] 初期化情報 |


|
protectedvirtual |
アロケータ初期化直後に呼ばれる。アロケータを必要とするプラットフォーム固有の初期化などを行う。
| pMainInitialInformation | [in] メイン初期化情報 |


| GxSysMain::EXIT_CODE GxSysMain::mainLoop | ( | void | ) |
メイン処理実行

| b32 GxSysMain::setBootConfigReadSection | ( | GX_CSTR | sectionName | ) |
アクセス先のセクションを設定。存在した場合は true を返す
| sectionName | [in] セクション名 |
| void GxSysMain::setPause | ( | b32 | flag | ) |
一時停止を設定
| flag | [in] 一時停止ならtrue |


再生/停止を設定
| flag | [in] trueなら再生 |
| pRttiStage | [in] 再生時のステージRTTI |


|
overridevirtual |
|
overrideprotectedvirtual |
システム実行
_PS4 && !_PS5
_PS4 && !_PS5
Reimplemented from GxSysBase.

