14#include "developFlag.h"
19#pragma warning(disable:4091)
23#pragma warning(default:4091)
28GX_CORE_NAMESPACE_BEGIN()
56class GxSysDebugCommunication;
57class GxToolInitialInformation;
58class GxDebugCommunicationInitialInformation;
112 , GxToolInitialInformation* pToolInitialInformation
113 , GxDebugCommunicationInitialInformation* pDebugCommunicationInitialInformation =
nullptr
146 _pUserAllocatorInformationArray = pUserAllocatorInformationArray;
147 _userAllocatorInformationCount = count;
183 constexpr GxToolInitialInformation* getToolInitialInformation(
void)
const {
return _pToolInitialInformation; }
185 constexpr GxDebugCommunicationInitialInformation* getDebugCommunicationInitialInformation(
void)
const {
return _pDebugCommunicationInitialInformation; }
188 constexpr GX_CSTR getInitialLoadPath(
void ) {
return _initialLoadPath; }
190 constexpr GX_CSTR getLoadPath(
void )
const {
return _loadPath.getString(); }
192 constexpr GX_CSTR getPlatformName(
void )
const {
return _platformName.getString(); }
204#if defined(_PS4) || defined(_PS5) || defined(_XBOX_XS)
206#if defined(_PS4) || defined(_PS5)
207 b32 _isCopySaveDataIcon;
211#if defined(_PS4) || defined(_PS5)
212 b32 _isFixMainThreadCpuIndex;
213#elif defined(_XBOX_XS)
215#elif defined(_WINDOWS)
221 b32 _deserializeSafety;
228#if GX_USE_UNIT_PROFILE
236 u32 _userAllocatorInformationCount;
252 GxToolInitialInformation* _pToolInitialInformation;
253 GxDebugCommunicationInitialInformation* _pDebugCommunicationInitialInformation;
255 GX_CSTR _initialLoadPath;
301 SYS_DEBUG_COMMUNICATION,
331 enum class WINDOW_MODE
340 GX_ENUM_TABLE_MAX(WINDOW_MODE)
354 enum class GX_ASSERT_MODE
386 static GX_CSTR BOOT_ARGUMENT_AUTO_FINALIZE_FBX;
396 HBITMAP _handleBitmap;
458 virtual GxSysTool* createSysTool(
void);
460 virtual GxSysDebugCommunication* createSysDebugCommunication(
void);
463 virtual GxSysEffectBase* createSysEffect(void);
480 void createMenuBar(
void);
482 void releaseMenuBar(
void);
484 void createToolBar(
void);
486 void releaseToolBar(
void);
488 void setToolBarButtonOn(u32 index,
b32 on);
490 void releaseMenubarAndToolbarBitmap(
void);
493 WINDOW_MODE getWindowMode(void);
495 void setWindowMode(WINDOW_MODE windowMode);
519 void createSystem(
void);
523 u32 createSubMenuBar(HMENU hMenu, u32 tableIndex,
GxPropertyTable& table);
525 MENUITEMINFOW createMenuItemInfoSeparator(
void);
527 MENUITEMINFOW createMenuItemInfoNormalW(GX_WSTR name, u32
id,
GX_HANDLE iconHandle = 0);
529 MENUITEMINFOW createMenuItemInfoCheckmarkW(GX_WSTR name, u32
id,
b32 value,
GX_HANDLE iconHandle = 0);
531 MENUITEMINFOW createMenuItemInfoPopupW(GX_WSTR name, u32
id,
GX_HANDLE iconHandle = 0);
533 HBITMAP searchOrCreateHbitmapFromIconHandle(
GX_HANDLE iconHandle,
GxSize* outBitMapSize =
nullptr);
535 HBITMAP createHbitmapFromIconHandle(
GX_HANDLE iconHandle);
537 u32 searchResourceIdFromIconHandle(
GX_HANDLE iconHandle);
550 void update(
void)
override;
553 void updateDeltaTime(
void);
558 static GX_CSTR CLASS_NAME;
562 void getWindowName(GX_STR name);
564 void setWindowName(GX_CSTR name);
569 b32 createWindow(
const GxSize& size,
b32 isFullScreen, GX_CSTR captionName =
"", WORD iconResourceId = 0, GX_CSTR className = CLASS_NAME, UINT style = 0xffffffff);
571 void storeWindowState(
void);
573 void restoreWindowState(
void);
575 GX_FORCE_INLINE HINSTANCE getInstance(
void)
const {
return GetModuleHandle(
nullptr); }
577 constexpr HWND getHwnd(
void)
const {
return _handleWindow; }
579 constexpr HANDLE getCurrentProcess(
void)
const {
return _handleProcess; }
581 constexpr HWND getHwndParent(
void)
const {
return _handleWindowParent; }
583 constexpr HWND getHwndRoot(
void)
const {
return (_handleWindowParent !=
nullptr) ? _handleWindowParent : _handleWindow; }
585 HWND getHwndSelected(
void)
const;
590 constexpr HMENU getHmenu(
void)
const {
return _handleMenu; }
592 constexpr HWND getHwndToolbar(
void)
const {
return _handleWindowToolbar; }
594 constexpr GX_FORCE_INLINE PIMAGEHLP_SYMBOL getSymbolBuffer(
void)
const {
return _pSymbolBuffer; }
596 GxRect getToolAppWindowRect(
void);
599 GX_FORCE_INLINE const GxSize& getClientSize(void) const { return _clientSize; }
603 GX_FORCE_INLINE
b32 isActive(
void)
const {
return _isActive; }
605 GX_FORCE_INLINE
const GxSize& getMaxClientSize(
void)
const {
return _maxClientSize; }
607 virtual void updateMaxClientSize(
void);
609 GX_FORCE_INLINE
b32 isClipCursor(
void)
const {
return _isClipCursor; }
611 GX_FORCE_INLINE
void setClipCursor(
b32 enable) { _isClipCursor = enable; }
614 virtual LRESULT wndProc(HWND handleWindow, UINT uMessage, WPARAM wParam, LPARAM lParam);
616 virtual LRESULT wndProcFullScreen(HWND handleWindow, UINT uMessage, WPARAM wParam, LPARAM lParam);
620 GX_FORCE_INLINE
virtual LRESULT wndProcUser(HWND handleWindow, UINT uMessage, WPARAM wParam, LPARAM lParam,
b32& inTextEdit)
625 return DefWindowProcW(handleWindow, uMessage, wParam, lParam);
632 static LRESULT CALLBACK wndProcInner(HWND handleWindow, UINT uMessage, WPARAM wParam, LPARAM lParam);
633#elif defined(_XBOX_XS)
635 b32 createWindow(HINSTANCE handleInstance, s32 nCmdShow);
637 static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
725 constexpr GX_ASSERT_MODE getAssertMode(
void)
const {
return _assertMode; }
727 constexpr void setAssertMode(GX_ASSERT_MODE mode) { _assertMode = mode; }
730#if defined(_PS4) || defined(_PS5)
732 GX_FORCE_INLINE
b32 isFixMainThreadCpuIndex(
void)
const {
return _isFixMainThreadCpuIndex; }
734#if defined(_PS4) || defined(_PS5) || defined(_NX64)
736 GX_FORCE_INLINE
const GxNativeUserId& getUserId(
void)
const {
return _userId; }
740 GX_FORCE_INLINE XGameSaveProviderHandle getProviderHandle(
void)
const {
return _pProviderHandle; }
745 constexpr u32 getXmlReadSize(
void){
return _xmlReadSize; }
747 GX_FORCE_INLINE
b32 isDeserializeSafety(
void){
return _deserializeSafety; }
749 GX_FORCE_INLINE
b32 isUseCoreProfile(
void){
return _useCoreProfile; }
751 GX_FORCE_INLINE
void setUseCoreProfile(
b32 useProfile){ _useCoreProfile = useProfile; }
753#if GX_USE_UNIT_PROFILE
755 GX_FORCE_INLINE
b32 getUseUnitProfile(
void){
return _useUnitProfile; }
760#if defined(_PS4) || defined(_PS5) || defined(_XBOX_XS)
762 GX_FORCE_INLINE u32 getSaveDataSize(
void)
const {
return _saveDataSize; }
763#if defined(_PS4) || defined(_PS5)
765 GX_FORCE_INLINE
b32 isCopySaveDataIcon(
void)
const {
return _isCopySaveDataIcon; }
769#if defined(_PS4) || defined(_PS5)
772 void setMainThreadCpuIndex( s32 cpuIndex );
782 GX_FORCE_INLINE
void setDevelopFlag(u32 flag,
b32 enable =
true){
GxFlag32Array::setFlag( &_developFlag[0], flag, enable); }
784 GX_FORCE_INLINE
b32 isOnDevelopFlag(u32 flagIndex)
const {
return GxFlag32Array::isFlag(&_developFlag[0], flagIndex); }
786 GX_FORCE_INLINE u32* getSystemFlagAddress(
void){
return( &_systemFlag[0] ); }
788 constexpr u32 getSystemFlagSize(
void)
const {
return(
sizeof(_systemFlag) ); }
820 GxSysDebugCommunication* _pDebugCommunication;
821 GxProfiler* _pProfiler;
822 GxSysThread* _pThread;
832 u32 _workerStackSize;
836 b32 _constFrameRateFlag;
837 f32 _deltaTimeFactor;
840 f32 _variableFrameLowerLimit;
848 HWND _handleWindowParent;
849 HANDLE _handleProcess;
851 PIMAGEHLP_SYMBOL _pSymbolBuffer;
855 HWND _handleWindowToolbar;
856 HWND _handleWindowToolbarTip;
860 GX_WCHAR _className[128];
861 u32 _storedWindowStyle;
862 WINDOWPLACEMENT _storedWindowPlacement;
867#elif defined(_XBOX_XS)
868 HANDLE _handleSuspendComplete;
869 HANDLE _handleSignalResume;
877 b32 _deserializeSafety;
883 u32 _bootArgumentCount;
884 void* _pBootConfigBinary;
887#if GX_USE_UNIT_PROFILE
890 b32 _useSequentialThreadManagerPrecede;
893 GX_ASSERT_MODE _assertMode;
896#if defined(_PS4) || defined(_PS5) || defined(_XBOX_XS)
898#if defined(_PS4) || defined(_PS5)
899 b32 _isCopySaveDataIcon;
903#if defined(_PS4) || defined(_PS5)
904 b32 _isFixMainThreadCpuIndex;
906#if defined(_PS4) || defined(_PS5) || defined(_NX64)
907 GxNativeUserId _userId;
909#if defined(_NX64) || defined(_XBOX_XS)
910 GxNativeUserHandle _userHandle;
913 GxNativeProviderHandle _pProviderHandle;
914 GxNativeTaskQueueHandle _pTaskQueue;
919 static u32 _numCriticalSectionAll;
920 static u32 _numCriticalSectionFrustumCulling;
987 : _isEnablePrecedeStartJob( false )
989 , _numJobDiffOfPrecedingStart( 5 )
990 , _numJobDiffOfPrecedingWait( 10 )
995 , _isEnablePrecedeStartJob( false )
997 , _numJobDiffOfPrecedingStart( 5 )
998 , _numJobDiffOfPrecedingWait( 10 )
1031 s32
addJob(
GxClassBaseRoot* pObject, GX_OBJECT_FUNCTION_POINTER pFunction,
void* pArgument)
override;
1058 b32 _isEnablePrecedeStartJob;
1060 s32 _numJobDiffOfPrecedingStart;
1061 s32 _numJobDiffOfPrecedingWait;
1069#define GX_BOOTCONFIG_CURRENT_SECTION(_section) getGxSysMain()->setBootConfigReadSection(_section)
1072#define GX_BOOTCONFIG_STRING(_Type, _Name, _Index, _Value) { \
1073 GX_CSTR strVal_BCFG_, strDefaultVal_BCFG_ = (GX_CSTR) _Value; \
1074 getGxSysMain()->getBootConfigValueString(_Name, _Index, &strVal_BCFG_, strDefaultVal_BCFG_); \
1075 _Value = (_Type) strVal_BCFG_; }
1077#define GX_BOOTCONFIG_UINT(_Type, _Name, _Index, _Value) { \
1078 u64 uiVal_BCFG_, uiDefaultVal_BCFG_ = (u64) _Value; \
1079 getGxSysMain()->getBootConfigValueU64(_Name, _Index, &uiVal_BCFG_, uiDefaultVal_BCFG_); \
1080 _Value = (_Type) uiVal_BCFG_; }
1082#define GX_BOOTCONFIG_INT(_Type, _Name, _Index, _Value) { \
1083 s64 iVal_BCFG_, iDefaultVal_BCFG_ = (s64) _Value; \
1084 getGxSysMain()->getBootConfigValueS64(_Name, _Index, &iVal_BCFG_, iDefaultVal_BCFG_); \
1085 _Value = (_Type) iVal_BCFG_; }
1087#define GX_BOOTCONFIG_FLOAT(_Type, _Name, _Index, _Value) { \
1088 f64 fVal_BCFG_, fDefaultVal_BCFG_ = (f64) _Value; \
1089 getGxSysMain()->getBootConfigValueF64(_Name, _Index, &fVal_BCFG_, fDefaultVal_BCFG_); \
1090 _Value = (_Type) fVal_BCFG_; }
1092#define GX_BOOTCONFIG_BOOL(_Type, _Name, _Index, _Value) { \
1093 b32 boolVal_BCFG_, boolDefaultVal_BCFG_ = (b32) _Value; \
1094 getGxSysMain()->getBootConfigValueB32(_Name, _Index, &boolVal_BCFG_, boolDefaultVal_BCFG_); \
1095 _Value = (_Type) boolVal_BCFG_; }
1097#define GX_BOOTCONFIG_BYTE(_Type, _Name, _Index, _Value) { \
1098 u64 uiVal_BCFG_, uiDefaultVal_BCFG_ = (u64) _Value; \
1099 getGxSysMain()->getBootConfigValueByte(_Name, _Index, &uiVal_BCFG_, uiDefaultVal_BCFG_); \
1100 _Value = (_Type) uiVal_BCFG_; }
1102#define GX_BOOTCONFIG_SIZE(_Type, _Name, _Index, _Value) { \
1103 GxSize sizeVal_BCFG_, sizeDefaultVal_BCFG_ = _Value; \
1104 getGxSysMain()->getBootConfigValueSize(_Name, _Index, &sizeVal_BCFG_, sizeDefaultVal_BCFG_); \
1105 _Value = sizeVal_BCFG_; }
1107#define GX_BOOTCONFIG_ENUM(_Type, _Name, _Index, _Value, _enumMap) { \
1108 u32 enumVal_BCFG_, enumDefaultVal_BCFG_ = _Value; \
1109 _enumMap[(sizeof(_enumMap)/sizeof(GxSysMain::BootConfigEnumMap))-1]._value = enumDefaultVal_BCFG_; \
1110 getGxSysMain()->getBootConfigValueEnum(_Name, _Index, &enumVal_BCFG_, _enumMap); \
1111 _Value = (_Type) enumVal_BCFG_; }
1114#define GX_BOOTCONFIG_STRUCT_STRING(_Type, _StructBase, _NameValue) GX_BOOTCONFIG_STRING(_Type, #_NameValue, 0, _StructBase._NameValue)
1115#define GX_BOOTCONFIG_STRUCT_UINT(_Type, _StructBase, _NameValue) GX_BOOTCONFIG_UINT(_Type, #_NameValue, 0, _StructBase._NameValue)
1116#define GX_BOOTCONFIG_STRUCT_INT(_Type, _StructBase, _NameValue) GX_BOOTCONFIG_INT(_Type, #_NameValue, 0, _StructBase._NameValue)
1117#define GX_BOOTCONFIG_STRUCT_FLOAT(_Type, _StructBase, _NameValue) GX_BOOTCONFIG_FLOAT(_Type, #_NameValue, 0, _StructBase._NameValue)
1118#define GX_BOOTCONFIG_STRUCT_BOOL(_Type, _StructBase, _NameValue) GX_BOOTCONFIG_BOOL(_Type, #_NameValue, 0, _StructBase._NameValue)
1119#define GX_BOOTCONFIG_STRUCT_BYTE(_Type, _StructBase, _NameValue) GX_BOOTCONFIG_BYTE(_Type, #_NameValue, 0, _StructBase._NameValue)
1120#define GX_BOOTCONFIG_STRUCT_SIZE(_Type, _StructBase, _NameValue) GX_BOOTCONFIG_SIZE(_Type, #_NameValue, 0, _StructBase._NameValue)
1121#define GX_BOOTCONFIG_STRUCT_ENUM(_Type, _StructBase, _NameValue, _enumMap) GX_BOOTCONFIG_ENUM(_Type, #_NameValue, 0, _StructBase._NameValue, _enumMap)
1126GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
void GxTypedObject
その他
Definition GxDefine.h:213
u32 GX_HANDLE
ハンドル
Definition GxDefine.h:214
配列クラス
Definition GxArray.h:18
オブジェクト基底クラス
Definition GxBase.h:88
基底クラス
Definition GxBase.h:51
JSON解析用ノード
Definition GxJson.h:108
初期化クラス
Definition GxSysMain.h:78
constexpr u32 getUserAllocatorInformationCount(void) const
アロケータ初期化情報数取得
Definition GxSysMain.h:152
constexpr GxStageInitialInformationBase * getStageInitialInformation(void) const
ステージ初期化情報取得
Definition GxSysMain.h:154
u32 _systemAllocatorSize[static_cast< u32 >(GxAllocatorList::ALLOCATOR_TYPE::SYSTEM_MAX)]
システムアロケータのサイズ
Definition GxSysMain.h:232
constexpr GxRenderInitialInformation * getRenderInitialInformation(void) const
描画初期化情報取得
Definition GxSysMain.h:156
constexpr GxInputInitialInformation * getInputInitialInformation(void) const
入力初期化情報取得
Definition GxSysMain.h:166
constexpr GxNetworkInitialInformation * getNetworkInitialInformation(void) const
ネットワーク初期化情報取得
Definition GxSysMain.h:172
constexpr GxSoundInitialInformationBase * getSoundInitialInformation(void) const
サウンド初期化情報取得
Definition GxSysMain.h:176
GxThread::PRIORITY _threadPriority
スレッドプライオリティ
Definition GxSysMain.h:227
constexpr GxFontInitialInformation * getFontInitialInformation(void) const
フォント初期化情報取得
Definition GxSysMain.h:180
b32 _fixThreadFlag
スレッドを固定する
Definition GxSysMain.h:202
b32 _useSequentialThreadManagerPrecede
スレッドマネージャを使うかフラグ
Definition GxSysMain.h:231
constexpr GxCollisionInitialInformationBase * getCollisionInitialInformation(void) const
コリジョン初期化情報取得
Definition GxSysMain.h:168
constexpr GxDynamicsInitialInformationBase * getDynamicsInitialInformation(void) const
物理初期化情報取得
Definition GxSysMain.h:170
constexpr GxAllocatorList::GxCreateInformation * getUserAllocatorInformationArray(void) const
アロケータ初期化情報取得
Definition GxSysMain.h:150
constexpr GxResourceInitialInformation * getResourceInitialInformation(void) const
リソース初期化情報取得
Definition GxSysMain.h:160
GxMainInitialInformation(GxStageInitialInformationBase *pStageInitialInformation, GxRenderInitialInformation *pRenderInitialInformation, GxPrimitiveInitialInformation *pPrimitiveInitialInformation, GxResourceInitialInformation *pResourceInitialInformation, GxEffectInitialInformationBase *pEffectInitialInformation, GxFilterInitialInformationBase *pFilterInitialInformation, GxInputInitialInformation *pInputInitialInformation, GxCollisionInitialInformationBase *pCollisionInitialInformation, GxDynamicsInitialInformationBase *pDynamicsInitialInformation, GxNetworkInitialInformation *pNetworkInitialInformation, GxUnitInitialInformation *pUnitInitialInformation, GxSoundInitialInformationBase *pSoundInitialInformation, GxMovieInitialInformationBase *pMovieInitialInformation, GxFontInitialInformation *pFontInitialInformation)
コンストラクタ
constexpr GxFilterInitialInformationBase * getFilterInitialInformation(void) const
フィルター初期化情報取得
Definition GxSysMain.h:164
s32 _threadJobMax
マルチスレッドのジョブの最大数
Definition GxSysMain.h:201
constexpr GxEffectInitialInformationBase * getEffectInitialInformation(void) const
エフェクト初期化情報取得
Definition GxSysMain.h:162
constexpr GxMovieInitialInformationBase * getMovieInitialInformation(void) const
ムービー初期化情報取得
Definition GxSysMain.h:178
constexpr GxPrimitiveInitialInformation * getPrimitiveInitialInformation(void) const
プリミティブ初期化情報取得
Definition GxSysMain.h:158
GX_FORCE_INLINE void setUserAllocatorInformationArray(GxAllocatorList::GxCreateInformation *pUserAllocatorInformationArray, u32 count)
ユーザーアロケータ初期化情報設定
Definition GxSysMain.h:144
void loadJson(GX_CSTR path)
JSONから読み込み
Definition GxSysMain.cpp:294
constexpr GxUnitInitialInformation * getUnitInitialInformation(void) const
ユニット初期化情報取得
Definition GxSysMain.h:174
static constexpr u32 VALUE_32
32
Definition GxMath.h:124
static constexpr u32 VALUE_1K
1K
Definition GxMath.h:129
static constexpr u32 VALUE_2K
2K
Definition GxMath.h:130
static constexpr u32 VALUE_128
128
Definition GxMath.h:126
プロパティクラス
Definition GxProperty.h:48
プロパティテーブルクラス
Definition GxProperty.h:1641
描画関連の依存をこのクラスで吸収します
Definition GxRenderDevice.h:450
実行時型情報クラス
Definition GxRtti.h:154
同期実行ワーカースレッド管理クラス
Definition GxThread.h:571
システム基底クラス
Definition GxSysBase.h:18
コリジョンシステムクラス
Definition GxSysCollisionBase.h:53
物理システムクラス
Definition GxSysDynamicsBase.h:54
エフェクトシステム基礎クラス
Definition GxSysEffectBase.h:55
環境システムクラス
Definition GxSysEnvironment.h:910
ファイルシステムクラス
Definition GxSysFile.h:19
フィルタシステムクラス
Definition GxSysFilterBase.h:54
BMPフォントシステム基礎クラス
Definition GxSysFontBmpBase.h:18
フォントシステム基礎クラス
Definition GxSysFont.h:104
GPGPUシステムクラス
Definition GxSysEnvironment.h:247
ライトシステムクラス
Definition GxSysLightBase.h:19
同期スレッド管理クラス
Definition GxSysMain.h:930
void initializeThreadLocalStorage(void) override
TLSの初期化
Definition GxSysMain.cpp:4526
GxSequentialThreadManagerMain(b32 useMainThreadFlag)
コンストラクタ
Definition GxSysMain.h:949
同期スレッド管理クラス(ジョブ先行開始対応)
Definition GxSysMain.h:961
void startJob(void) override
ジョブ実行開始
Definition GxSysMain.cpp:4641
virtual void precedeStartJob(void)
ジョブ先行実行開始
Definition GxSysMain.cpp:4615
PRECEDE_STATE
選考状態定義
Definition GxSysMain.h:973
GxSequentialThreadManagerMainPrecede(void)
デフォルトコンストラクタ
Definition GxSysMain.h:986
virtual GX_FORCE_INLINE void setNumJobDiffOfPrecedingStart(s32 num)
ジョブ先行開始するジョブ数の差を設定
Definition GxSysMain.h:1014
virtual GX_FORCE_INLINE void setNumJobDiffOfPrecedingWait(s32 num)
ジョブ先行開始が待機するジョブ数の差を設定
Definition GxSysMain.h:1018
GxSequentialThreadManagerMainPrecede(b32 useMainThreadFlag)
コンストラクタ
Definition GxSysMain.h:993
GX_FORCE_INLINE b32 isComplete(void) override
全てのジョブが完了したか
Definition GxSysMain.cpp:4716
s32 addJob(GxClassBaseRoot *pObject, GX_OBJECT_FUNCTION pFunction) override
ジョブ追加
Definition GxSysMain.cpp:4558
virtual GX_FORCE_INLINE s32 getNumJobDiffOfPrecedingStart(void) const
ジョブ先行開始するジョブ数の差を取得
Definition GxSysMain.h:1012
void executeJob(GxThread *pThread) override
ジョブ実行
Definition GxSysMain.cpp:4674
virtual GX_FORCE_INLINE b32 isEnablePrecedeStartJob(void) const
ジョブ先行開始が有効判定
Definition GxSysMain.h:1008
virtual GX_FORCE_INLINE s32 getNumJobDiffOfPrecedingWait(void) const
ジョブ先行開始が待機するジョブ数の差を取得
Definition GxSysMain.h:1016
virtual GX_FORCE_INLINE b32 isWaitingCompleteInStartJob(void) const
startJob内で全てのジョブの完了待ち中かを取得
Definition GxSysMain.h:1050
virtual GX_FORCE_INLINE void setEnablePrecedeStartJob(b32 enable)
ジョブ先行開始が有効設定
Definition GxSysMain.h:1010
void startWorkerThreadAll(void) override
ワーカースレッド実行開始
Definition GxSysMain.cpp:4651
virtual GX_FORCE_INLINE b32 isPrecedingStartJob(void) const
ジョブ先行開始中かを取得
Definition GxSysMain.h:1046
virtual GX_FORCE_INLINE b32 isPrecedeStateBegin(void) const
startJob未実行かつジョブ先行開始中かを取得
Definition GxSysMain.h:1048
メインループシステムクラス
Definition GxSysMain.h:267
GxSysUnit * _pUnit
ユニットシステム
Definition GxSysMain.h:807
constexpr f32 getDeltaTime(void) const
デルタタイム取得
Definition GxSysMain.h:711
virtual GxSysSoundBase * createSysSound(void)
サウンドシステム作成
Definition GxSysMain.cpp:1368
void forceExit(EXIT_CODE code)
強制終了(メインループの停止)
Definition GxSysMain.cpp:1176
INITIALIZE_APPLICATION_RESULT
アプリケーション用初期化リザルトコード
Definition GxSysMain.h:288
static constexpr u32 BOOT_COMMAND_LINE_ARGUMENT_MAX
起動時コマンドライン最大要素数
Definition GxSysMain.h:381
void getBootConfigValueU64(GX_CSTR name, u32 index, u64 *pValue, u64 defaultValue)
現在のセクション内のパラメータ値を取得する (u64)
Definition GxSysMain.cpp:4264
static constexpr u32 SYSTEM_FLAG_NUM
システムフラグの個数
Definition GxSysMain.h:369
void analyzeBootCommandLine(s32 argc=0, GX_CSTR argv[]=nullptr)
起動時コマンドライン分析。Windowsの場合 argc, argv は無視される
Definition GxSysMain.cpp:3632
static constexpr u32 BOOT_COMMAND_LINE_MAX
起動時コマンドライン最大文字列数
Definition GxSysMain.h:379
GxSysFile * _pFile
ファイルシステム
Definition GxSysMain.h:806
void getBootConfigValueSize(GX_CSTR name, u32 index, GxSize *pValue, const GxSize &defaultValue)
現在のセクション内のパラメータ値を取得する (GxSize) index に _width, index + 1 に _height を設定
Definition GxSysMain.cpp:4396
virtual GxSysPrimitive * createSysPrimitive(void)
プリミティブ描画システム作成
Definition GxSysMain.cpp:1222
~GxSysMain(void) override
デストラクタ
Definition GxSysMain.h:411
GX_FORCE_INLINE b32 isInitialized(void) const
初期化済み判定
Definition GxSysMain.h:678
virtual void unloadModule(void)
モジュールのアンロード
Definition GxSysMain.cpp:1741
GxSysCollisionBase * _pCollision
コリジョンシステム
Definition GxSysMain.h:813
virtual void loadModule(void)
モジュールのロード
Definition GxSysMain.cpp:1727
GxSysFont * _pFont
フォントシステム
Definition GxSysMain.h:817
EXIT_CODE
アプリケーション終了コード
Definition GxSysMain.h:281
GxSysGpgpu * _pGpgpu
GPGPUシステム
Definition GxSysMain.h:812
GX_FORCE_INLINE void setConstFrameRate(b32 flag)
固定フレームレートの設定
Definition GxSysMain.h:705
static constexpr u32 DEVELOP_FLAG_NUM
開発用フラグの個数
Definition GxSysMain.h:374
GxSysRenderBase * _pRender
描画システム
Definition GxSysMain.h:801
PLAY_MODE
プレイモード定義
Definition GxSysMain.h:346
GxSysLightBase * _pLight
ライトシステム
Definition GxSysMain.h:810
virtual GxSysLightBase * createSysLight(void)
ライトシステム作成
Definition GxSysMain.cpp:1267
void getBootConfigValueByte(GX_CSTR name, u32 index, u64 *pValue, u64 defaultValue)
現在のセクション内のパラメータ値を取得する (バイト) 10K, 10M, 10G など指定可能
Definition GxSysMain.cpp:4348
virtual GxSysUnit * createSysUnit(void)
ユニットシステム作成
Definition GxSysMain.cpp:1240
GX_FORCE_INLINE b32 isPlay(void) const
再生中判定
Definition GxSysMain.h:689
GxSysP2PBase * _pP2P
P2P通信システム
Definition GxSysMain.h:815
b32 setBootConfigReadSection(GX_CSTR name)
アクセス先のセクションを設定。存在した場合は true を返す
Definition GxSysMain.cpp:4200
constexpr f32 getDeltaTimeFactor(void) const
デルタタイム係数取得
Definition GxSysMain.h:707
virtual GxSysCollisionBase * createSysCollision(void)
コリジョンシステム作成
Definition GxSysMain.cpp:1294
b32 initialize(const GxClassBase *pInitialInformation) override
初期化
Definition GxSysMain.cpp:697
GX_INITIALIZE_APPLICATION_SEQUENCE
アプリケーション用初期化順
Definition GxSysMain.h:296
@ SYS_PRIMITIVE
プリミティブシステム
@ SYS_FONT_BMP
BMPフォントシステム
virtual GxSysDynamicsBase * createSysDynamics(void)
物理システム作成
Definition GxSysMain.cpp:1303
constexpr f32 getDeltaTimeRatio(void) const
デルタタイム比率取得(目標時間に対する実時間の割合)
Definition GxSysMain.h:715
GX_FORCE_INLINE b32 isPause(void) const
一時停止中判定
Definition GxSysMain.h:693
void getBootConfigValueEnum(GX_CSTR name, u32 index, u32 *pValue, const BootConfigEnumMap *pMapList)
現在のセクション内のパラメータ値を取得する (enum map)
Definition GxSysMain.cpp:4428
GxSysFilterBase * _pFilter
フィルターシステム
Definition GxSysMain.h:803
constexpr void setDeltaTimeRatio(f32 deltaTimeRatio)
デルタタイム比率設定
Definition GxSysMain.h:717
GxSysFontBmpBase * _pFontBmp
BMPフォントシステム
Definition GxSysMain.h:816
constexpr void setDeltaTime(f32 deltaTime)
デルタタイム設定
Definition GxSysMain.h:713
virtual GxSysFile * createSysFile(void)
ファイルシステム作成
Definition GxSysMain.cpp:1231
GX_FORCE_INLINE b32 isStop(void) const
停止中判定
Definition GxSysMain.h:691
virtual void callUsage(void)
最適化で消されないための呼び出し
Definition GxSysMain.h:515
virtual GxSysEnvironment * createSysEnvironment(void)
環境システム作成
Definition GxSysMain.cpp:1276
s32 findBootArgumentIndex(GX_CSTR string) const
起動時引数の位置取得
Definition GxSysMain.cpp:3708
static constexpr u32 SYSTEM_FLAG_MAX
システムフラグの最大数
Definition GxSysMain.h:371
virtual GxSysRenderBase * createSysRender(void)
描画システム作成
Definition GxSysMain.cpp:1186
GxSysResource * _pResource
リソースシステム
Definition GxSysMain.h:804
void initializeBootConfig(GX_CSTR fname, void *pBootIniContents)
設定ファイルの読み込み。pBootIniContents が nullptr 以外の場合は fname は無視される。
Definition GxSysMain.cpp:4067
constexpr f32 getVariableFrameLowerLimit(void) const
可変フレームレート時の下限を取得
Definition GxSysMain.h:719
constexpr u32 getWorkerStackSize(void) const
ワーカースレッドのスタックサイズを取得する
Definition GxSysMain.h:680
static GX_CSTR BOOT_ARGUMENT_AUTO_FINALIZE
起動時引数(オートファイナライズ)
Definition GxSysMain.h:383
void terminate(void) override
終了処理
Definition GxSysMain.cpp:1029
virtual void initializeModule(const GxMainInitialInformation *pMainInitialInformation)
アロケータ初期化直後に呼ばれる。アロケータを必要とするプラットフォーム固有の初期化などを行う。
Definition GxSysMain.cpp:1652
void setPlay(b32 flag, GxRtti *pStageRtti=nullptr)
再生/停止を設定
Definition GxSysMain.cpp:4462
virtual GxSysFontBmpBase * createSysFontBmp(void)
BMPフォントシステム作成
Definition GxSysMain.cpp:1321
GX_CSTR getBootArgument(u32 index) const
起動時引数取得
Definition GxSysMain.cpp:3691
void getBootConfigValueS64(GX_CSTR name, u32 index, s64 *pValue, s64 defaultValue)
現在のセクション内のパラメータ値を取得する (s64)
Definition GxSysMain.cpp:4281
virtual GxSysInput * createSysInput(void)
入力システム作成
Definition GxSysMain.cpp:1258
constexpr GxSequentialThreadManagerMain * getSequentialThreadManager(void) const
同期スレッド管理を取得
Definition GxSysMain.h:685
virtual GxSysFilterBase * createSysFilter(void)
フィルターシステム作成
Definition GxSysMain.cpp:1204
virtual GxSysGpgpu * createSysGpGpu(void)
GPGPUシステム作成
Definition GxSysMain.cpp:1285
GxSysSoundBase * _pSound
サウンドシステム
Definition GxSysMain.h:825
b32 dispatchQuitMessage(void)
各OSからの終了メッセージを検知する
Definition GxSysMain.cpp:2867
virtual GxSysResource * createSysResource(void)
リソースシステム作成
Definition GxSysMain.cpp:1213
GX_FORCE_INLINE void setSingleStep(b32 singleStep)
コマ送り設定
Definition GxSysMain.h:700
GxSysPrimitive * _pPrimitive
プリミティブ描画システム
Definition GxSysMain.h:805
GxSysMovieBase * _pMovie
ムービーシステム
Definition GxSysMain.h:826
GxSysShader * _pShader
シェーダシステム
Definition GxSysMain.h:802
GxSysDynamicsBase * _pDynamics
物理システム
Definition GxSysMain.h:814
EXIT_CODE mainLoop(void)
メイン処理実行
Definition GxSysMain.cpp:2652
virtual GxSysMovieBase * createSysMovie(void)
ムービーシステム作成
Definition GxSysMain.cpp:1377
GxSysMain(void)
コンストラクタ
Definition GxSysMain.cpp:586
constexpr void setVariableFrameLowerLimit(f32 lowerLimit)
可変フレームレート時の下限の設定
Definition GxSysMain.h:721
INITIALIZE_APPLICATION_RESULT initializeApplication(const GxMainInitialInformation *pMainInitialInformation, u32 initializeSequence)
アプリケーション用初期化
Definition GxSysMain.cpp:1758
GX_FORCE_INLINE void setSystemFlag(u32 flag, b32 enable=true)
フラグセット
Definition GxSysMain.h:777
GX_FORCE_INLINE b32 isOnSystemFlag(u32 flagIndex) const
フラグチェック
Definition GxSysMain.h:779
constexpr u32 getBootArgumentCount(void) const
起動時引数要素数取得
Definition GxSysMain.h:642
b32 initializeLoop(const GxMainInitialInformation *pMainInitialInformation)
初期化ループ
Definition GxSysMain.cpp:2120
GxSysEffectBase * _pEffect
エフェクトシステム
Definition GxSysMain.h:824
virtual GxSysShader * createSysShader(void)
シェーダーシステム作成
Definition GxSysMain.cpp:1195
GX_FORCE_INLINE b32 isExiting(void) const
終了中かどうか
Definition GxSysMain.h:419
GX_FORCE_INLINE b32 isSingleStep(void) const
1コマ進めるかどうか
Definition GxSysMain.h:698
virtual GxSysFont * createSysFont(void)
フォントシステム作成
Definition GxSysMain.cpp:1330
void getBootConfigValueString(GX_CSTR name, u32 index, GX_CSTR *pValue, GX_CSTR defaultValue)
現在のセクション内のパラメータ値を取得する (文字列)
Definition GxSysMain.cpp:4227
GxSysNetworkBase * _pNetwork
ネットワークシステム
Definition GxSysMain.h:827
virtual void terminateApplication(void)
アプリケーション用終了処理
Definition GxSysMain.cpp:1952
virtual GxSysNetworkBase * createSysNetwork(void)
ネットワークシステム作成
Definition GxSysMain.cpp:1386
virtual GxSysStage * createSysStage(void)
ステージシステム作成
Definition GxSysMain.cpp:1249
void update(void) override
システム実行
Definition GxSysMain.cpp:2712
void getBootConfigValueF64(GX_CSTR name, u32 index, f64 *pValue, f64 defaultValue)
現在のセクション内のパラメータ値を取得する (f64)
Definition GxSysMain.cpp:4298
GxSysEnvironment * _pEnvironment
環境システム
Definition GxSysMain.h:811
GxRenderDevice * _pRenderDevice
描画デバイス
Definition GxSysMain.h:800
virtual GxSysP2PBase * createSysP2P(void)
P2P通信システム作成
Definition GxSysMain.cpp:1312
void getBootConfigValueB32(GX_CSTR name, u32 index, b32 *pValue, b32 defaultValue)
現在のセクション内のパラメータ値を取得する (b32)
Definition GxSysMain.cpp:4315
void setPause(b32 flag)
一時停止を設定
Definition GxSysMain.cpp:4503
constexpr void setWorkerStackSize(u32 size)
ワーカースレッドのスタックサイズを設定する
Definition GxSysMain.h:682
GX_FORCE_INLINE b32 isConstFrameRate(void) const
固定フレームレートか判定
Definition GxSysMain.h:703
GxSysInput * _pInput
入力システム
Definition GxSysMain.h:809
static constexpr u32 DEVELOP_FLAG_MAX
開発用フラグの最大数
Definition GxSysMain.h:376
virtual void terminateModule(void)
アロケータ解放直前に呼ばれる。アロケータを必要とするプラットフォーム固有の終了処理などを行う。
Definition GxSysMain.cpp:1713
GxSysStage * _pStage
ステージシステム
Definition GxSysMain.h:808
constexpr void setDeltaTimeFactor(f32 deltaTimeFactor)
デルタタイム係数設定
Definition GxSysMain.h:709
virtual void releaseAllocator(void)
アロケータの解放
Definition GxSysMain.cpp:2109
Movieシステム基底クラス
Definition GxSysMovieBase.h:67
PlayStationNetwork, XboxLIVE ネットワークシステム基底クラス
Definition GxSysNetworkBase.h:73
P2P通信システム基底クラス
Definition GxSysP2PBase.h:19
プリミティブ描画システムクラス
Definition GxSysPrimitive.h:144
描画システムクラス
Definition GxSysRenderBase.h:115
リソース管理システムクラス
Definition GxSysResource.h:1092
シェーダシステムクラス
Definition GxSysShader.h:21
サウンドシステム基底クラス
Definition GxSysSoundBase.h:55
ステージシステムクラス
Definition GxSysStage.h:69
ユニットシステムクラス
Definition GxSysUnit.h:64
スレッドクラス
Definition GxThread.h:177
PRIORITY
優先度
Definition GxThread.h:199
ARGUMENT_TYPE
引数の種別
Definition GxThread.h:471
シングルトン基礎クラス
Definition GxSingleton.h:19
static constexpr GxSysMain * getSingletonPointer(void)
Definition GxSingleton.h:59
GX_FORCE_INLINE b32 isFlag(u32 flagIndex) const
フラグを判定
Definition GxStruct.h:1406
GX_FORCE_INLINE void setFlag(u32 flagIndex, b32 enable=true)
フラグを設定
Definition GxStruct.h:1403
矩形
Definition GxStruct.h:951
サイズ
Definition GxStruct.h:730
文字列型クラス
Definition GxString.h:18
BootConfig 名前と値のマップ用。終端は _name == nullptr, _value はデフォルト値
Definition GxSysMain.h:363
u32 _value
値
Definition GxSysMain.h:365
GX_CSTR _name
名前
Definition GxSysMain.h:364
32bitブーリアン
Definition GxDefine.h:173