メインループシステムクラス 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) |
可変フレームレート時の下限の設定 | |
![]() | |
template<typename T > | |
T * | getModule (void) const |
モジュールを取得 | |
GxSysBase (void) | |
デフォルトコンストラクタ | |
~GxSysBase (void) override | |
デストラクタ | |
b32 | isLocked (void) |
クリティカルセクションのロック状態を確認する | |
void | sleep (f32 time) |
スリープ(スクリプト用) | |
![]() | |
constexpr | GxClassBase (void) |
コンストラクタ | |
constexpr | GxClassBase (const GxClassBase &base) |
コピーコンストラクタ | |
~GxClassBase (void) override | |
デストラクタ | |
![]() | |
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) |
デフォルトオブジェクト判定 | |
![]() | |
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 GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
Rttiの取得 | |
![]() | |
static GX_FORCE_INLINE GxSysMain & | getSingleton (void) |
参照を取得 | |
static constexpr GxSysMain * | getSingletonPointer (void) |
ポインタを取得 | |
![]() | |
enum class | LOCK_TYPE { SEQUENTIAL_THREAD_SAFE , THREAD_SAFE } |
ロックタイプ More... | |
![]() | |
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.