リソース管理システムクラス More...
#include <GxSysResource.h>


Public Member Functions | |
初期化 | |
| GxSysResource (void) | |
| コンストラクタ | |
| ~GxSysResource (void) override | |
| デストラクタ | |
| b32 | initialize (const GxClassBase *pInitialInformation=nullptr) override |
| 初期化 | |
| void | terminate (void) override |
| 終了 | |
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< GxSysResource > | |
| SingletonBase (void) | |
| コンストラクタ | |
| ~SingletonBase (void) | |
| デストラクタ | |
Protected Attributes | |
メンバ変数 | |
| GxSysResourceRegister | _resourceRegisterManager |
| リソース登録管理 | |
| GxSysResourceCallback | _resourceCallbackManager |
| コールバック管理 | |
| GxSysResourceAsyncLoadBase * | _resourceAsyncLoadManager |
| 非同期ロード管理 | |
| GxSysResourceAsyncLoadBase * | _resourceBackgroundLoadManager |
| 裏読みロード管理 | |
| GxSysResourceArchive | _resourceArchiveManager |
| アーカイブ管理 | |
| GxCriticalSection | _loadStateCriticalSection |
| ロード開始状態用クリティカルセクション | |
| GxResourceFileTable * | _pResourceFileTable |
| リソースファイルテーブル | |
| GxResourceFileFilter * | _pResourceFileFilter |
| リソースファイルフィルタ | |
| s16 * | _pArchiveSearchOrder |
| アーカイブ検索順テーブル | |
| b32 | _optimizeVertexCache |
| 頂点キャッシュ最適化のためのインデックスソートを行う | |
| b32 | _enableExistOriginalDataFlag |
| リソースの読み込み時にオリジナルデータの有無をチェックするか否か(trueでチェックを行う) | |
| b32 | _disableFinalizeIgnoreOriginalFlag |
| オリジナル参照とタイムスタンプ比較を無視して、強制的にファイナライズを無効化。(すでにファイナライズがある前提) | |
| b32 | _separeteShaderConfig |
| 各プラットフォームでシェーダコンフィグファイルを分ける | |
| GX_SYSRESOURCE_ERROR_FUNCTION | _pUserErrorFunction |
| ユーザー定義のエラーコールバック | |
| u32 | _fileDecodeChunkSizeMax |
| 圧縮リソースファイル展開用の最大チャンクサイズ | |
| GxString | _resourceRootPath |
| リソース全体ルートパス | |
| GxString | _originalRootPath |
| オリジナルリソースルートパス | |
| GxString | _finalizedCommonRootPath |
| ハードウェア共通ファイナライズリソースルートパス | |
| GxString | _finalizedNativeRootPath |
| ハードウェア固有ファイナライズリソースルートパス | |
| GxString | _masterRootPath |
| マスターリソースルートパス | |
| f32 | _optimizeTBNRemakeRange |
| モデルをファイナライズするときのTBNの再計算で利用する閾値(デフォルトは0.1f) | |
| u32 | _motionSequenceLineMax |
| モーションシーケンスのラインの最大数 | |
| b32 | _optimizeAsyncloadThreadAssignment |
| 非同期ロード時にリソースのスレッド分配をより効率化する | |
| GxDataResourceGuid | _dataResourceGuid |
| リソースのGUID管理データ | |
定義 | |
| enum class | LOAD_MODE { SYNC = 0 , ASYNC } |
| リソース読み込みモード More... | |
| enum class | LOAD_RESULT { CANCELED = -2 , ERROR_ = -1 , OK = 0 } |
| リソース読み込み結果 More... | |
| enum class | PATH_TYPE { NONE = -1 , ORIGINAL = 0 , FINALIZED_COMMON , FINALIZED_NATIVE , MAX } |
| リソースパスタイプ More... | |
| typedef b32(*) | RESOURCE_FILE_TABLE_SEARCH_CALLBACK(const GxRttiResource &resRtti, GX_CSTR resourcePath, void *pArgument) |
| 対象リソースファイル情報探索コールバック | |
| class | GxSysResourceRegister |
| class | GxSysResourceCallback |
| class | GxSysResourceAsyncLoadBase |
| class | GxSysResourceAsyncLoad |
| class | GxSysResourceAsyncLoadMulti |
| class | GxSysResourceAsyncLoadMultiWithSharedQueue |
| class | GxSysResourceArchive |
| class | GxResBase |
| static GX_CSTR | RESOURCE_ORIGINAL_ROOT_NAME = "original" |
| オリジナルリソースパスルート名 | |
| static GX_CSTR | RESOURCE_FINALIZED_COMMON_ROOT_NAME = "finalizedCommon" |
| ハードウェア共通ファイナライズリソースパスルート名 | |
操作 | |
| void | update (void) override |
| 実行 | |
| GxResBase * | createAndLoadResource (const GxRttiResource &resRtti, GX_CSTR path, LOAD_MODE loadMode=LOAD_MODE::SYNC, void *pCreateCallbackWork=nullptr) |
| リソース作成 + 読み込み (Rtti + リソースパス指定) | |
| GxResBase * | createAndLoadBackground (const GxRttiResource &resRtti, GX_CSTR path, void *pCreateCallbackWork=nullptr) |
| リソース作成 + バックグラウンド読み込み (Rtti + リソースパス指定) | |
| GxResBase * | createAndSetResource (const GxRttiResource &resRtti, GX_CSTR path, GxMemoryStream &stream, LOAD_MODE loadMode=LOAD_MODE::SYNC, void *pCreateCallbackWork=nullptr) |
| リソース作成 + データ割り当て | |
| GxResBase * | createResource (const GxRttiResource &resRtti, GX_CSTR path, void *pCreateCallbackWork=nullptr) |
| リソース作成 | |
| GxResBase * | createResource (const GxRttiResource &resRtti, GX_CSTR path, b32 &isNewCreate, void *pCreateCallbackWork=nullptr) |
| リソース作成 (新規作成チェック付き) | |
| GX_FORCE_INLINE GxSysResource::LOAD_RESULT | loadResourceFromStreamLoopHole (GxResBase &resource, GxStream &stream, u32 size) |
| 指定ストリームからのリソース生成 | |
| GxResBase * | createAndLoadResource (const GxRttiResource &resRtti, GX_CSTR fullPath, u64 resId, LOAD_MODE loadMode=LOAD_MODE::SYNC) |
| void * | loadFileImage (const GxRttiResource &resRtti, GX_CSTR path, u32 &dataSize, GxAllocatorList::ALLOCATOR_TYPE allocator=GxAllocatorList::ALLOCATOR_TYPE::TEMPORARY) |
| ファイルをメモリに直接読み込む | |
| GxResBase * | createAndSetResourceFromFileImage (const GxRttiResource &resRtti, GX_CSTR path, void *pLoadBuffer, u32 dataSize, LOAD_MODE loadMode=LOAD_MODE::SYNC, void *pCreateCallbackWork=nullptr) |
| メモリ上のデータからリソースを作成 | |
| constexpr GxSysResourceAsyncLoadBase * | getResourceAsyncLoadManager (void) const |
| 非同期リソース読み込み管理を取得 | |
| constexpr GxSysResourceAsyncLoadBase * | getResourceBackgroundLoadManager (void) const |
| 非同期リソース裏読み込み管理を取得 | |
| void | cancelResource (GxResBase *pResource) |
| リソース非同期ロードキャンセル | |
| GX_FORCE_INLINE void | lockAsyncLoad (void) |
| 非同期ロードを一時停止(現在処理中のファイル読み込みが終わるまでブロックされる) | |
| GX_FORCE_INLINE void | unlockAsyncLoad (void) |
| 非同期ロードを再開(lockAsyncLoad() と対で使用すること) | |
| b32 | reloadResource (GxResBase *pResource, LOAD_MODE loadMode=LOAD_MODE::SYNC) |
| リソース再読み込み | |
| void | registerResource (GxResBase *pResource) |
| リソース登録 | |
| void | unregisterResource (GxResBase *pResource) |
| リソース破棄 | |
| void | stopAsyncLoadSystem (void) |
| リソース非同期ロードシステム停止 | |
| b32 | openArchiveFile (GX_CSTR base, const GxResourceFileTable *pResourceFileTable, s16 archiveId) |
| constexpr u32 | getArchiveFileMax (void) const |
| アーカイブファイルの管理数の上限を取得 | |
| GX_FORCE_INLINE b32 | isArchiveOpened (s16 archiveId) const |
| アーカイブファイルがオープンしているか調べる | |
| void | initializeArchiveSearchOrder (const s16 *pArchiveSearchOrderTable=nullptr) |
| void | setOnTerminateCallback (void(*func)(u32)) |
| b32 | searchResourceFileTableTargetLoop (GX_CSTR rootPath, const GxResourceFileTable &fileTableElement, const GxResourceFileFilter *pFileFilterTable, const GxRttiResource *pRttiTarget, RESOURCE_FILE_TABLE_SEARCH_CALLBACK function, void *pArgument) |
| リソースファイルテーブル探索処理ループ | |
| static void | analyseResourcePath (GX_CSTR path, PATH_TYPE *pType, s32 *pRootPosition, u32 *pRootLength) |
| リソースパス解析 | |
| static void | callbackLoadStart (void *pUser, GX_HANDLE requestHandle) |
| リソースファイル非同期読み込み開始コールバック関数 | |
| b32 | initializeResourceRootPath (const GxResourceInitialInformation *pInitialInformation=nullptr) |
| リソースルートパス初期化 | |
| GxResBase * | createResourceRoutine (const GxRttiResource &resRtti, GX_CSTR original, GX_CSTR replace, b32 *pIsNewCreate, void *pCreateCallbackWork) |
| リソース作成内部ルーチン | |
| LOAD_RESULT | loadResourceSync (GxResBase &resource, void *pCreateCallbackWork=nullptr) |
| リソース読み込み (同期) | |
| LOAD_RESULT | loadResourceAsync (GxResBase &resource, void *pCreateCallbackWork=nullptr) |
| リソース読み込み (非同期) | |
| LOAD_RESULT | loadResourceFromStream (GxResBase &resource, GxStream &stream, u32 size=0) |
| リソース読み込み (from ストリーム) | |
| LOAD_RESULT | loadResourceFileAsync (GxResBase &resource, GxFile &file, u32 offset, u32 size) |
| リソースファイル非同期読み込み処理 (リソース非同期読み込み処理内サブルーチン) | |
| b32 | waitForLoadComplete (GxResBase *pResource) |
| 読み込み完了までブロックする。 | |
| void | getLoadPath (GxString &dst, const GxRttiResource &resRtti, GX_CSTR resourcePath) |
| ロードファイルパス取得 | |
| void | getFinalizeResourcePath (GxString &dst, const GxResBase &resource) |
| ファイナライズリソースパス取得 | |
| b32 | isSkipSearchFileTableTargetName (GX_CSTR fileName, const GxResourceFileFilter *pFileFilterTable=nullptr) |
| リソースファイルテーブル探索スキップ判定 | |
アクセサ | |
| constexpr GX_CSTR | getResourceRootPath (void) const |
| リソースルートパス取得 (※カレントディレクトリからの相対パス) | |
| void | setResourceRootPath (GX_CSTR path=nullptr) |
| リソースルートパス設定 (※カレントディレクトリからの相対パス) | |
| constexpr GX_CSTR | getOriginalRootPath (void) const |
| オリジナルリソースルートパス取得 | |
| constexpr GX_CSTR | getFinalizedCommonRootPath (void) const |
| ハードウェア共通ファイナライズリソースルートパス取得 | |
| constexpr GX_CSTR | getFinalizedNativeRootPath (void) const |
| ハードウェア固有ファイナライズリソースルートパス取得 | |
| constexpr GX_CSTR | getMasterRootPath (void) const |
| マスタールートパス取得 | |
| virtual void | getReplaceOriginalPath (GxString &dstPath, const GxRttiResource &, GX_CSTR srcPath) |
| 置き換え元のパスを取得 | |
| virtual void | getReplacePath (GxString &dstPath, const GxRttiResource &, GX_CSTR srcPath) const |
| 置き換えパスを取得 | |
| virtual GX_FORCE_INLINE b32 | isRegisteredNonReplacedPath (GX_CSTR &, GX_CSTR &) const |
| 置き換え元のパスを登録 | |
| GX_CSTR | getRootPath (const GxResBase &resource) const |
| 対象リソースルートパス取得 (リソース指定) | |
| GX_CSTR | getRootPath (const GxRttiResource &resRtti) const |
| 対象リソースルートパス取得 (Rtti指定) | |
| void | getFullPath (GxString &dst, const GxResBase &resource) const |
| 対象リソースフルパス取得 (リソース指定) | |
| void | getFullPath (GxString &dst, const GxRttiResource &resRtti, GX_CSTR resourcePath) const |
| 対象リソースフルパス取得 (Rtti + リソースパス指定) | |
| void | getConvertPath (GxString &dst, const GxResBase &resource) const |
| 対象リソース変換先出力パス取得 (リソース指定) | |
| void | getConvertPath (GxString &dst, const GxRttiResource &resRtti, GX_CSTR resourcePath) const |
| 対象リソース変換先出力パス取得 (Rtti + リソースパス指定) | |
| void | getMasterPath (GxString &dst, const GxResBase &resource) const |
| 対象リソースマスターパス取得 (リソース指定) | |
| void | getMasterPath (GxString &dst, const GxRttiResource &resRtti, GX_CSTR resourcePath) const |
| 対象リソースマスターパス取得 (Rtti + リソースパス指定) | |
| const GxResourceFileTable * | getResourceFileTable (void) const |
| リソースファイルテーブルポインタ取得 | |
| const GxResourceFileTable * | getResourceFileTable (const GxResBase &resource) const |
| 対象リソースファイルテーブル取得 | |
| const GxResourceFileTable * | getResourceFileTable (const GX_CSTR srcResourcePath) const |
| 対象リソースファイルテーブル取得(パス指定) | |
| const GxResourceFileFilter * | getResourceFilterTable (void) const |
| リソースフィルタテーブルポインタ取得 | |
| GX_FORCE_INLINE void | setDisableFinalizeIgnoreOriginalFlag (b32 flag) |
| オリジナル参照とタイムスタンプ比較を無視して、強制的にファイナライズを無効化しているかのフラグを設定 | |
| const b32 | getDisableFinalizeIgnoreOriginalFlag (void) const |
| オリジナル参照とタイムスタンプ比較を無視して、強制的にファイナライズを無効化しているかのフラグを取得 | |
| const b32 | getOptimizeVertexCache (void) const |
| 頂点キャッシュ最適化のためのインデックスソートを行うかどうかを取得 | |
| const b32 | getSeparateShaderConfig (void) const |
| シェーダコンフィグファイルを各プラットフォームごとに分けるかどうかを取得 | |
| const f32 | getOptimizeTBNRemakeRange (void) const |
| モデルをファイナライズするときのTBNの再計算で利用する閾値を取得 | |
| const b32 | getOptimizeAsyncloadThreadAssignment (void) const |
| 非同期ロード時にリソースのスレッド分配をより効率化する | |
| GX_FORCE_INLINE b32 | isEmptyAsyncLoader (void) |
| 非同期ロードのリクエストキューが空かどうか | |
| GX_FORCE_INLINE b32 | isEmptyBackgroundLoader (void) |
| 裏読みロードのリクエストキューが空かどうか | |
| constexpr u32 | getMotionSequenceLineMax (void) const |
| モーションシーケンスのラインの最大数を取得 | |
| GX_FORCE_INLINE u32 | getResourceNum (void) |
| 登録済みリソース数取得 | |
| GX_FORCE_INLINE GxResBase * | getResource (u32 index) |
| 登録済みリソース取得 (インデックス指定) | |
| GX_FORCE_INLINE b32 | isExistFile (const GxResBase &resource) const |
| リソースファイル存在チェック (リソース指定) | |
| GX_FORCE_INLINE b32 | isExistFile (const GxRttiResource &resRtti, GX_CSTR resourcePath) const |
| リソースファイル存在チェック (リソースRtti + リソースパス指定) | |
| GX_FORCE_INLINE b32 | isExistResource (const GxRttiResource &resRtti, GX_CSTR resourcePath) |
| メモリ上のリソース存在チェック (リソースRtti + リソースパス指定) | |
| GX_FORCE_INLINE void | lockFromOutside (void) |
| 外部からのlock処理 | |
| GX_FORCE_INLINE void | unlockFromOutside (void) |
| 外部からのunlock処理 | |
| b32 | isExistFileFromMasterResource (const GxRttiResource &resRtti, GX_CSTR resourcePath, b32 isCheckArchiveOnly=false, s16 archiveID=-1) const |
| マスターリソース内でのリソースファイル存在チェック (リソースRtti + リソースパス指定) | |
| GX_FORCE_INLINE GxDataResourceGuid & | getDataResourceGuid (void) |
| リソースのGUID管理データを取得 | |
| static b32 | isOriginalPath (GX_CSTR path) |
| オリジナルリソースパス判定 | |
| static b32 | isFinalizedCommonPath (GX_CSTR path) |
| ハードウェア共通ファイナライズパス判定 | |
| static b32 | isFinalizedNativePath (GX_CSTR path) |
| ハードウェア固有ファイナライズパス判定 | |
| static void | getOriginalPath (GxString &dst, GX_CSTR path) |
| オリジナルリソースパス取得 | |
| static void | getFinalizedCommonPath (GxString &dst, GX_CSTR path) |
| ハードウェア共通ファイナライズパス取得 | |
| static void | getFinalizedNativePath (GxString &dst, GX_CSTR path) |
| ハードウェア固有ファイナライズパス取得 | |
| static void | getResourcePath (GxString &dst, GX_CSTR path, b32 isDeleteExtension=true) |
| リソースパス取得 (フルパス指定) | |
| static u64 | getResourceId (const GxRttiResource &resRtti, GX_CSTR resourcePath) |
| リソースID生成 | |
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< GxSysResource > | |
| static GX_FORCE_INLINE GxSysResource & | getSingleton (void) |
| 参照を取得 | |
| static constexpr GxSysResource * | 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 |
|
staticprotected |
リソースパス解析
| path | [in] 解析パス |
| pType | [out] パスタイプ格納先 (※nullptrの場合格納しない) |
| pRootPosition | [out] ルートパス位置格納先 (※nullptrの場合格納しない) |
| pRootLength | [out] ルートパス長格納先 (※nullptrの場合格納しない) |

|
staticprotected |
リソースファイル非同期読み込み開始コールバック関数
| pUser | [in,out] 対象リソースポインタ |
| requestHandle | [in] 非同期ファイルアクセスハンドル |

| void GxSysResource::cancelResource | ( | GxResBase * | pResource | ) |
リソース非同期ロードキャンセル
| pResource | [in] 対象リソース |

| GxResBase * GxSysResource::createAndLoadBackground | ( | const GxRttiResource & | resRtti, |
| GX_CSTR | path, | ||
| void * | pCreateCallbackWork = nullptr ) |
リソース作成 + バックグラウンド読み込み (Rtti + リソースパス指定)
| resRtti | [in] 作成リソースRtti |
| path | [in] 作成リソースパス |
| pCreateCallbackWork | [in,out] 生成時コールバック関数受け渡しワーク |

| GxResBase * GxSysResource::createAndLoadResource | ( | const GxRttiResource & | resRtti, |
| GX_CSTR | fullPath, | ||
| u64 | resId, | ||
| LOAD_MODE | loadMode = LOAD_MODE::SYNC ) |
リソース作成 + 読み込み (フルパス指定) + リソースID (getResourceId() で生成可能) ファイナライズのチェックは行われないため、予めファイナライズリソースを作成しておく必要がある リソースID は getReplacePath() を考慮しません。実装している場合は注意してください。
| resRtti | [in] 読み込みリソースRtti |
| fullPath | [in] 作成リソースパス |
| resId | [in] 読み込みリソースID |
| loadMode | [in] 読み込みモード |

| GxResBase * GxSysResource::createAndLoadResource | ( | const GxRttiResource & | resRtti, |
| GX_CSTR | path, | ||
| LOAD_MODE | loadMode = LOAD_MODE::SYNC, | ||
| void * | pCreateCallbackWork = nullptr ) |
リソース作成 + 読み込み (Rtti + リソースパス指定)
| resRtti | [in] 作成リソースRtti |
| path | [in] 作成リソースパス |
| loadMode | [in] 読み込みモード |
| pCreateCallbackWork | [in,out] 生成時コールバック関数受け渡しワーク |


| GxResBase * GxSysResource::createAndSetResource | ( | const GxRttiResource & | resRtti, |
| GX_CSTR | path, | ||
| GxMemoryStream & | stream, | ||
| LOAD_MODE | loadMode = LOAD_MODE::SYNC, | ||
| void * | pCreateCallbackWork = nullptr ) |
リソース作成 + データ割り当て
| resRtti | [in] 作成リソースRtti |
| path | [in] 作成リソースパス |
| stream | [in,out] データ割り当て元メモリストリーム |
| loadMode | [in] リソース割り当てモード |
| pCreateCallbackWork | [in,out] 生成時コールバック関数受け渡しワーク |


| GxResBase * GxSysResource::createAndSetResourceFromFileImage | ( | const GxRttiResource & | resRtti, |
| GX_CSTR | path, | ||
| void * | pLoadBuffer, | ||
| u32 | dataSize, | ||
| LOAD_MODE | loadMode = LOAD_MODE::SYNC, | ||
| void * | pCreateCallbackWork = nullptr ) |
メモリ上のデータからリソースを作成
| resRtti | [in] 作成するリソースRtti |
| path | [in] ファイルパス |
| pLoadBuffer | [in] 読み込んだメモリ |
| dataSize | [in] ファイルサイズ |
| loadMode | [in] 読み込みモード |
| pCreateCallbackWork | [in] 作成時コールバック引数 |

| GxResBase * GxSysResource::createResource | ( | const GxRttiResource & | resRtti, |
| GX_CSTR | path, | ||
| b32 & | isNewCreate, | ||
| void * | pCreateCallbackWork = nullptr ) |
リソース作成 (新規作成チェック付き)
| resRtti | [in] 作成リソースRtti |
| path | [in] 作成リソースパス |
| isNewCreate | [in] 新規作成フラグ格納先 |
| pCreateCallbackWork | [in,out] 生成時コールバック関数受け渡しワーク |

| GxResBase * GxSysResource::createResource | ( | const GxRttiResource & | resRtti, |
| GX_CSTR | path, | ||
| void * | pCreateCallbackWork = nullptr ) |
リソース作成
| resRtti | [in] 作成リソースRtti |
| path | [in] 作成リソースパス |
| pCreateCallbackWork | [in,out] 生成時コールバック関数受け渡しワーク |

|
protected |
リソース作成内部ルーチン
| resRtti | [in] 作成リソースRtti |
| original | [in] オリジナルリソースパス |
| replace | [in] 置き換えリソースパス |
| pIsNewCreate | [out] 新規作成フラグ格納先 (0:新規作成 1:重複作成) |
| pCreateCallbackWork | [in,out] 生成時コールバック関数受け渡しワーク |

対象リソース変換先出力パス取得 (リソース指定)
| dst | [out] 取得パス格納先 |
| resource | [in] 対象リソース |

| void GxSysResource::getConvertPath | ( | GxString & | dst, |
| const GxRttiResource & | resRtti, | ||
| GX_CSTR | resourcePath ) const |
対象リソース変換先出力パス取得 (Rtti + リソースパス指定)
| dst | [out] 取得パス格納先 |
| resRtti | [in] 対象リソースRtti |
| resourcePath | [in] 対象リソースパス |

| GX_FORCE_INLINE const b32 GxSysResource::getDisableFinalizeIgnoreOriginalFlag | ( | void | ) | const |
オリジナル参照とタイムスタンプ比較を無視して、強制的にファイナライズを無効化しているかのフラグを取得
|
static |
ハードウェア共通ファイナライズパス取得
対象パスと同一階層に相当するハードウェア共通ファイナライズリソースパスを取得します。
| dst | [out] パス格納先 |
| path | [in] 対象パス |

|
static |
ハードウェア固有ファイナライズパス取得
対象パスと同一階層に相当するハードウェア固有ファイナライズリソースパスを取得します。
| dst | [out] パス格納先 |
| path | [in] 対象パス |

|
protected |
ファイナライズリソースパス取得
| dst | [out] 取得フルパス格納先 |
| resource | [in] 対象リソース |

対象リソースフルパス取得 (リソース指定)
| dst | [out] 取得フルパス格納先 |
| resource | [in] 対象リソース |


| void GxSysResource::getFullPath | ( | GxString & | dst, |
| const GxRttiResource & | resRtti, | ||
| GX_CSTR | resourcePath ) const |
対象リソースフルパス取得 (Rtti + リソースパス指定)
| dst | [out] 取得フルパス格納先 |
| resRtti | [in] 対象リソースRtti |
| resourcePath | [in] 対象リソースパス |

|
protected |
ロードファイルパス取得
| dst | [out] ロードリソースパス格納先 |
| resRtti | [in] リソースRtti |
| resourcePath | [in] リソースパス |

対象リソースマスターパス取得 (リソース指定)
| dst | [out] 取得パス格納先 |
| resource | [in] 対象リソース |

| void GxSysResource::getMasterPath | ( | GxString & | dst, |
| const GxRttiResource & | resRtti, | ||
| GX_CSTR | resourcePath ) const |
対象リソースマスターパス取得 (Rtti + リソースパス指定)
| dst | [out] 取得パス格納先 |
| resRtti | [in] 対象リソースRtti |
| resourcePath | [in] 対象リソースパス |

| GX_FORCE_INLINE const b32 GxSysResource::getOptimizeAsyncloadThreadAssignment | ( | void | ) | const |
非同期ロード時にリソースのスレッド分配をより効率化する
| GX_FORCE_INLINE const f32 GxSysResource::getOptimizeTBNRemakeRange | ( | void | ) | const |
モデルをファイナライズするときのTBNの再計算で利用する閾値を取得
| GX_FORCE_INLINE const b32 GxSysResource::getOptimizeVertexCache | ( | void | ) | const |
頂点キャッシュ最適化のためのインデックスソートを行うかどうかを取得
|
static |
オリジナルリソースパス取得
対象パスと同一階層に相当するオリジナルリソースパスを取得します
| dst | [out] パス格納先 |
| path | [in] 対象パス |

|
virtual |
置き換え元のパスを取得
| dstPath | [out] 置き換え元のパス |
| resRtti | [in] リソースRTTI |
| srcPath | [in] 置き換え後のパス |

|
virtual |
置き換えパスを取得
| dstPath | [out] 置き換え後のパス |
| resRtti | [in] リソースRTTI |
| srcPath | [in] 置き換え前のパス |


| GX_FORCE_INLINE GxResBase * GxSysResource::getResource | ( | u32 | index | ) |
登録済みリソース取得 (インデックス指定)
| index | [in] 取得リソースインデックス |


| const GxResourceFileTable * GxSysResource::getResourceFileTable | ( | const GX_CSTR | srcResourcePath | ) | const |
対象リソースファイルテーブル取得(パス指定)
| srcResourcePath | [in] 対象リソースのパス |
| const GxResourceFileTable * GxSysResource::getResourceFileTable | ( | const GxResBase & | resource | ) | const |
対象リソースファイルテーブル取得
| resource | [in] 対象リソース |

| GX_FORCE_INLINE const GxResourceFileTable * GxSysResource::getResourceFileTable | ( | void | ) | const |
リソースファイルテーブルポインタ取得
| GX_FORCE_INLINE const GxResourceFileFilter * GxSysResource::getResourceFilterTable | ( | void | ) | const |
リソースフィルタテーブルポインタ取得
|
static |
リソースID生成
| resRtti | [in] ID作成リソースRtti |
| resourcePath | [in] ID作成リソースパス |


| GX_FORCE_INLINE u32 GxSysResource::getResourceNum | ( | void | ) |
登録済みリソース数取得

|
static |
リソースパス取得 (フルパス指定)
| dst | [out] 取得リソースパス格納先 |
| path | [in] 取得元パス |
| isDeleteExtension | [in] 拡張子除去フラグ (default: true) |


| GX_CSTR GxSysResource::getRootPath | ( | const GxResBase & | resource | ) | const |
対象リソースルートパス取得 (リソース指定)
| resource | [in] 対象リソース |

| GX_CSTR GxSysResource::getRootPath | ( | const GxRttiResource & | resRtti | ) | const |
対象リソースルートパス取得 (Rtti指定)
| resRtti | [in] 対象リソースRtti |

| GX_FORCE_INLINE const b32 GxSysResource::getSeparateShaderConfig | ( | void | ) | const |
シェーダコンフィグファイルを各プラットフォームごとに分けるかどうかを取得
|
overridevirtual |
初期化
| pInitialInformation | [in] 初期化情報 |
Reimplemented from GxSysBase.


| void GxSysResource::initializeArchiveSearchOrder | ( | const s16 * | pArchiveSearchOrderTable = nullptr | ) |
アーカイブ検索順テーブルの作成。 初期化変数 GxResourceInitialInformation::_pArchiveSearchOrderArray のテーブルを実行時に変更したい 場合に使用する。 使用する場合は lockAsyncLoad() 中に呼ぶ必要がある。 アーカイブがオープンされているかを考慮しているため、openArchiveFile() と組み合わせる場合は openArchiveFile() を一通り呼んだ後に1回呼ぶ必要がある。
| pArchiveSearchOrderTable | [in] アーカイブ検索順テーブル |
|
protected |
リソースルートパス初期化
| pInitialInformation | [in] 初期化情報 |
リソースファイル存在チェック (リソース指定)
| resource | [in] 対象リソース |


| GX_FORCE_INLINE b32 GxSysResource::isExistFile | ( | const GxRttiResource & | resRtti, |
| GX_CSTR | resourcePath ) const |
リソースファイル存在チェック (リソースRtti + リソースパス指定)
| resRtti | [in] 対象リソースRtti |
| resourcePath | [in] 対象リソースパス |

| b32 GxSysResource::isExistFileFromMasterResource | ( | const GxRttiResource & | resRtti, |
| GX_CSTR | resourcePath, | ||
| b32 | isCheckArchiveOnly = false, | ||
| s16 | targetArchiveId = -1 ) const |
マスターリソース内でのリソースファイル存在チェック (リソースRtti + リソースパス指定)
| resRtti | [in] 対象リソースRtti |
| resourcePath | [in] 対象リソースパス |
| isCheckArchiveOnly | [in] 検索対象をアーカイブのみとするか(falseの場合は非アーカイブリソースも検索対象とする) |
| targetArchiveId | [in] 対象アーカイブID (負数の場合:全アーカイブから探索,デフォルトで-1) |

| GX_FORCE_INLINE b32 GxSysResource::isExistResource | ( | const GxRttiResource & | resRtti, |
| GX_CSTR | resourcePath ) |
メモリ上のリソース存在チェック (リソースRtti + リソースパス指定)
| resRtti | [in] 対象リソースRtti |
| resourcePath | [in] 対象リソースパス |

|
static |
ハードウェア共通ファイナライズパス判定
| path | [in] 判定パス |
|
static |
ハードウェア固有ファイナライズパス判定
| path | [in] 判定パス |
|
static |
オリジナルリソースパス判定
判定パスがオリジナルリソースパスかどうかを判定します。
| path | [in] 判定パス |
|
protected |
リソースファイルテーブル探索スキップ判定
| fileName | [in] 対象ファイル名 |
| pFileFilterTable | [in] ファイルフィルタテーブル |

| void * GxSysResource::loadFileImage | ( | const GxRttiResource & | resRtti, |
| GX_CSTR | path, | ||
| u32 & | dataSize, | ||
| GxAllocatorList::ALLOCATOR_TYPE | allocator = GxAllocatorList::ALLOCATOR_TYPE::TEMPORARY ) |
ファイルをメモリに直接読み込む
| resRtti | [in] 読み込むファイルのリソースRtti |
| path | [in] ファイルパス |
| dataSize | [out] ファイルサイズ |
| allocator | [in] 使用するアロケータ |

|
protected |
リソース読み込み (非同期)
| resource | [in,out] 読み込み先リソース |
| pCreateCallbackWork | [in] 作成時コールバック引数 |


|
protected |
リソースファイル非同期読み込み処理 (リソース非同期読み込み処理内サブルーチン)
| resource | [in,out] 読み込み先リソース |
| file | [in,out] 読み込みファイル |
| offset | [in] 読み込み開始シーク位置 |
| size | [in] 読み込みサイズ |

|
protected |
リソース読み込み (from ストリーム)
| resource | [in,out] 読み込み先リソース |
| stream | [in,out] 読み込み元ストリーム |
| size | [in] 読み込みサイズ (0の場合:ストリーム残り全部) |


|
protected |
リソース読み込み (同期)
| resource | [in,out] 読み込みリソース |
| pCreateCallbackWork | [in] 作成時コールバック引数 |

| b32 GxSysResource::openArchiveFile | ( | GX_CSTR | base, |
| const GxResourceFileTable * | pResourceFileTable, | ||
| s16 | archiveId ) |
アーカイブファイルの読み込み base はディレクトリをフルパスで指定。nullptr の場合は master リソースから読み込み。 必ず非同期ロードを一時停止させてメインスレッド (SequentialThread) から呼び出し、 getGxSysResource()->lockAsyncLoad(); getGxSysResource()->openArchiveFile("/app0/DLC", table, 2); getGxSysResource()->initializeArchiveSearchOrder(customArcTable); getGxSysResource()->unlockAsyncLoad();
| base | [in] 基点となるディレクトリパス |
| pResourceFileTable | [in] リソースファイルテーブル |
| archiveId | [in] 読み込むアーカイブID |

| void GxSysResource::registerResource | ( | GxResBase * | pResource | ) |
リソース登録
| pResource | [in] 対象リソース |
| b32 GxSysResource::reloadResource | ( | GxResBase * | pResource, |
| LOAD_MODE | loadMode = LOAD_MODE::SYNC ) |
リソース再読み込み
| pResource | [in] 対象リソース |
| loadMode | [in] 読み込みモード |

| b32 GxSysResource::searchResourceFileTableTargetLoop | ( | GX_CSTR | rootPath, |
| const GxResourceFileTable & | fileTableElement, | ||
| const GxResourceFileFilter * | pFileFilterTable, | ||
| const GxRttiResource * | pRttiTarget, | ||
| RESOURCE_FILE_TABLE_SEARCH_CALLBACK | function, | ||
| void * | pArgument ) |
リソースファイルテーブル探索処理ループ
| rootPath | [in] 探索対象ルートパス |
| fileTableElement | [in] 探索対象リソースファイル情報 |
| pFileFilterTable | [in] 除外ファイルフィルタテーブル |
| pRttiTarget | [in] 指定RTTI(nullptrなら全て) |
| function | [in] リソース到達時呼び出しコールバック関数 |
| pArgument | [in] 呼び出し元ユーザ定義ポインタ |

| void GxSysResource::setOnTerminateCallback | ( | void(* | pFunction )(u32) | ) |
ターミネートコールバック 非同期読み込みスレッド終了直前にスレッド関数内で呼ばれるコールバック 引数は並列化のインデックス(0 から)
| pFunction | [in] コールバック関数 |
| void GxSysResource::setResourceRootPath | ( | GX_CSTR | path = nullptr | ) |
リソースルートパス設定 (※カレントディレクトリからの相対パス)
| path | [in] リソースルートパス (※カレントディレクトリからの相対パス、nullptrの場合は再セットする) |

|
overridevirtual |
| void GxSysResource::unregisterResource | ( | GxResBase * | pResource | ) |
リソース破棄
| pResource | [in] 対象リソース |

|
overridevirtual |
読み込み完了までブロックする。
| pResource | [in] リソース |
