OROCHI
 
Loading...
Searching...
No Matches
GxResBase.h
Go to the documentation of this file.
1//===========================================================================
10//===========================================================================
11#pragma once
12
13GX_CORE_NAMESPACE_BEGIN()
14
15// クラス宣言
16class GxToolResourceEditBase;
18
19//===========================================================================
21//===========================================================================
23{
24 //-----------------------------------------------------------
26 //-----------------------------------------------------------
28public:
29 // RTTI定義
31 // GxClassBaseReference継承クラス用禁止宣言
33 // new, delete定義
34 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::RESOURCE)
35
36 // フレンド設定 (インスタンス化をSysResouce::create~に統一する為)
37 friend class GxSysResource;
38 friend class GxSysResourceCallback;
39 friend class GxSysResourceAsyncLoadBase;
40
42 enum class ASYNC_STATE
43 {
44 LOADING = 0,
45 COMPLETE,
46 CANCEL_REQUAST,
47 INITIALIZED,
48
49 ERROR_ = -1,
50 CANCELED = -2
51 };
52
54 enum class ASYNC_PRIORITY
55 {
56 NORMAL = 0,
57 LOW
58 };
59
61 static const u32 RESOURCE_VERSION;
62
64 static constexpr u32 RESOURCE_PATH_MAX = GxMath::VALUE_256;
66 static constexpr u32 RESOURCE_CUSTOM_PROPERTY_STRING_NUM = GxMath::VALUE_2;
68 static constexpr u32 RESOURCE_PATH_ENCRYPT_KEY_NUM = GxMath::VALUE_8;
69
72 {
73 USE_DATA_FROM_SYSTEM,
74 ANY_PATH_RESOURCE,
75 USE_MAIN_MEMORY,
76 REGISTERED_NON_REPLACED,
77 ASYNC_SET_RESOURCE
78 };
79
81 //-----------------------------------------------------------
83 //-----------------------------------------------------------
85protected:
87 GxResBase(void);
88
89public:
91 void cleanup(void) override;
93 s32 release(void) override;
94
96 //-----------------------------------------------------------
98 //-----------------------------------------------------------
100protected:
102 void createCallback(void* pUser);
104 b32 load(GxStream& stream, u32 size);
106 b32 loadBinary(GxStream& stream);
107
108#if GX_DEVELOP
110 b32 loadXml(GxStream& stream);
112 b32 loadJson(GxStream& stream);
114 b32 save(GxStream& stream);
116 b32 saveBinary(GxStream& stream, const GxRttiResource& rttiResource);
118 b32 saveXml(GxStream& stream, const GxRttiResource& rttiResource, b32 isDifference = true);
120 b32 saveJson(GxStream& stream, const GxRttiResource& rttiResource, b32 isCompress = false, b32 useRtti = true, b32 isDifference = true);
122 b32 finalize(void);
124 static b32 isModified(GxStream& stream, u64 lastWriteTime, GX_CSTR resourcePath);
126 virtual u64 getSaveLastWriteTime(void) const;
127#endif // GX_DEVELOP
128
129public:
132 GX_FORCE_INLINE virtual void callback(void) {}
133
135 static void registerCustomProperty(void);
137 static void customPropertyToString(GxProperty& property, GxTypedObject* pOwner, u32 index, GxString* pString, u32& stringCount);
139 static void customPropertyFromString(GxProperty& property, GxTypedObject* pOwner, u32 index, GxString* pString, u32 stringCount);
140#if GX_DEVELOP
142 static GxGuiBase* customPropertyCreateGui(GxProperty& property, GxTypedObject* pOwner, const GxRtti& rtti, u32 index);
143#endif //GX_DEVELOP
145 static u32 customPropertyGetSerializedBinarySize(GxProperty& property, GxTypedObject* pOwner, u32 index);
147 static void* customPropertySerializeBinary(GxProperty& property, GxTypedObject* pOwner, u32 index, void* pData);
149 static const void* customPropertyDeserializeBinary(GxProperty& property, GxTypedObject* pOwner, u32 index, const void* pData);
150private:
152 static b32 isCustomResource(const GxProperty& property) { return (property.getFunction().getType() == GxProperty::GxFunction::TYPE::UNIQUE); }
154 static void customPropertySetResourceAddress(GxProperty& property, GxTypedObject* pOwner, u32 index, GxResBase* pResource);
156 static void* serializeResourcePath(u8* pSerialize, GX_CSTR path, u32 length);
158 static const void* deserializeResourcePath(GX_STR path, u32 length, const u8* pSerialized);
159
161 //-----------------------------------------------------------
163 //-----------------------------------------------------------
165public:
167 constexpr u64 getId(void) const { return _id; }
169 GX_FORCE_INLINE void setPath(GX_CSTR path) { _path = path; }
171 constexpr GX_CSTR getPath(void) const { return _path.getString(); }
173 constexpr u32 getFileSize(void) const { return _fileSize; }
175 constexpr u32 getSize(void) const { return _size; }
177 constexpr GxResBase* getConfig(void) const { return _pConfig; }
179 constexpr ASYNC_STATE getAsyncState(void) const { return _asyncState; }
181 GX_FORCE_INLINE b32 isAsyncState(ASYNC_STATE asyncState) const { return (_asyncState == asyncState); }
183 GX_FORCE_INLINE b32 isAsyncStateWorking(void) const { return (_asyncState == ASYNC_STATE::LOADING)||
184 (_asyncState == ASYNC_STATE::CANCEL_REQUAST); }
186 constexpr ASYNC_PRIORITY getAsyncPriority(void) const { return _asyncPriority; }
188 GX_FORCE_INLINE b32 isUsable(void) const { return _isUsable; }
190 constexpr GX_CSTR getExtension(void) const { return getRtti().getExtension(); }
191#if GX_DEVELOP
193 GX_CSTR getExtensionFinalized(void) const;
194#endif //GX_DEVELOP
196 constexpr u32 getMagicNumber(void) const { return getRtti().getMagicNumber(); }
198 constexpr u32 getVersion(void) const { return getRtti().getVersion(); }
200 GX_FORCE_INLINE void setOriginalPath(GX_CSTR path) { _originalPath = path; }
202 constexpr GX_CSTR getOriginalPath(void) const { return _originalPath.getString(); }
204 GX_FORCE_INLINE b32 isResourceBaseAttribute(RESOURCE_BASE_ATTRIBUTE attribute) const { return _resourceBaseAttribute.isFlag(attribute); }
205#if GX_DEVELOP
207 static void getReferencedResourceGuidList(const GxRttiResource& rttiResource, GX_CSTR path, GxArray& referencedGuidList);
209 void getReferenceResourceList(GxArrayClassBase& resourceList);
210#endif //GX_DEVELOP
211protected:
213 constexpr void setId(u64 id) { _id = id; }
215 constexpr void setFileSize(u32 fileSize) { _fileSize = fileSize; }
217 constexpr void setSize(u32 size) { _size = size; }
219 GX_FORCE_INLINE void setConfig(GxResBase* pConfig) { GX_SET_CLASS_BASE_REFERENCE(_pConfig, pConfig); }
221 constexpr void setAsyncState(ASYNC_STATE asyncState) { _asyncState = asyncState; }
223 constexpr void setAsyncPriority(ASYNC_PRIORITY asyncPriority) { _asyncPriority = asyncPriority; }
225 constexpr GX_HANDLE getAsyncHandle(void) const { return _asyncHandle; }
227 constexpr void setAsyncHandle(GX_HANDLE handle) { _asyncHandle = handle; }
229 GX_FORCE_INLINE void setUsable(b32 flag) { _isUsable = flag; }
231 GX_FORCE_INLINE GxZlib& getZlib(void) { return _zlib; }
233 constexpr void* getDataFromSystem(void) { return _pDataFromSystem; }
235 GX_FORCE_INLINE void setResourceBaseAttribute(RESOURCE_BASE_ATTRIBUTE attribute, b32 enable) { _resourceBaseAttribute.setFlag(attribute, enable); }
236
237public:
238#if GX_DEVELOP
240 static GxGuiBase* createGui(GxProperty& property, GxTypedObject* pOwner, const GxRtti& rtti, u32 index);
242 GX_FORCE_INLINE virtual void getToolRtti( GxArray& /*arrayTool*/ ) const {}
244 GX_FORCE_INLINE virtual GxRtti* getUnitRtti( void ){ return nullptr; }
245#endif // GX_DEVELOP
246
247private:
249 void getPropertyAttribute(void* pValue) const;
250#if GX_DEVELOP
252 void getPropertyExtension(void* pValue) const;
254 void getPropertyRttiName(void* pValue) const;
255#endif //GX_DEVELOP
256
258 //-----------------------------------------------------------
260 //-----------------------------------------------------------
262private:
263 GxString _path;
264 u64 _id;
265 u32 _fileSize;
266 u32 _size;
267 ASYNC_STATE _asyncState;
268 ASYNC_PRIORITY _asyncPriority;
269 GX_HANDLE _asyncHandle;
270 b32 _isUsable;
271 GxResBase* _pConfig;
272 GxZlib _zlib;
273 void* _pDataFromSystem;
274 GxString _originalPath;
275 GxFlag32Index<RESOURCE_BASE_ATTRIBUTE> _resourceBaseAttribute;
276
278};
279
280//===========================================================================
282//===========================================================================
284{
285 //-----------------------------------------------------------
287 //-----------------------------------------------------------
289public:
290 // RTTI定義
291 GX_RTTI_STRUCT(GxResHeader)
292
293public:
299 static constexpr u32 HEADER_SIZE = static_cast<s32>(HEADER_ALIGNMENT);
301 static constexpr u32 PADDING_SIZE = HEADER_SIZE - sizeof(u32) * (VERSION_SAVE_HIERARCY + 3);
302
304 //-----------------------------------------------------------
306 //-----------------------------------------------------------
308public:
311 {
312 GX_ASSERT(HEADER_SIZE == sizeof(GxResHeader), "GxResHeader Size Error!! HEADER_SIZE(%d) sizeof(GxResHeader)(%d)", HEADER_SIZE, sizeof(GxResHeader));
313 GX_MEMSET(_padding, 0, sizeof(_padding));
314 clear();
315 }
318 {
319 GX_ASSERT(HEADER_SIZE == sizeof(GxResHeader), "GxResHeader Size Error!! HEADER_SIZE(%d) sizeof(GxResHeader)(%d)", HEADER_SIZE, sizeof(GxResHeader));
320 GX_MEMSET(_padding, 0, sizeof(_padding));
321 set(resRtti);
322 }
323
325 //-----------------------------------------------------------
327 //-----------------------------------------------------------
329public:
331 void set(const GxRttiResource& resRtti);
333 void clear(void);
334
336 b32 read(GxStream& stream);
338 b32 write(GxStream& stream);
340 b32 isSameRtti(const GxRttiResource& resRtti) const;
341
343 //-----------------------------------------------------------
345 //-----------------------------------------------------------
347public:
349 constexpr u32 getMagicNumber(void) const { return _magicNumber; }
351 constexpr u32 getVersionSavedNum(void) const { return _versionSavedNum; }
353 constexpr u32 getVersion(u32 hierarcy = 0) const { return _version[hierarcy]; }
355 constexpr GxRttiResource::COMPRESS_TYPE getCompressType(void) const { return _compressType; }
357 constexpr void setCompressType(const GxRttiResource::COMPRESS_TYPE compressType){ _compressType = compressType; }
358
360 static constexpr u32 getSize(void) { return HEADER_SIZE; }
361
363 //-----------------------------------------------------------
365 //-----------------------------------------------------------
367private:
368 u32 _magicNumber;
369 u32 _versionSavedNum;
370 u32 _version[VERSION_SAVE_HIERARCY];
371 GxRttiResource::COMPRESS_TYPE _compressType;
372 u8 _padding[PADDING_SIZE];
373
375};
376
377//---------------------------------------------------------------------------
378// 生成時コールバック
380//---------------------------------------------------------------------------
381GX_FORCE_INLINE void GxResBase::createCallback(void* /*pUser*/)
382{
383 return;
384}
385
386//---------------------------------------------------------------------------
387// ロード
392// シリアライズを行う場合は loadXml() ,loadJsonもしくは loadBinary() を呼び出すように実装してください
393//---------------------------------------------------------------------------
394GX_FORCE_INLINE b32 GxResBase::load(GxStream& /*stream*/, u32 /*size*/)
395{
396 GX_ASSERT(false, "load() method need override!!");
397 return false;
398}
399
400//---------------------------------------------------------------------------
401// バイナリリソースのロード
404//---------------------------------------------------------------------------
405GX_FORCE_INLINE b32 GxResBase::loadBinary(GxStream& stream)
406{
407 GxSerializer serializer;
408 return serializer.deserializeBinary(stream, this, getRtti());
409}
410
411#if GX_DEVELOP
412//---------------------------------------------------------------------------
413// XMLリソースのロード
416//---------------------------------------------------------------------------
417GX_FORCE_INLINE b32 GxResBase::loadXml(GxStream& stream)
418{
419 GxSerializer serializer;
420 return serializer.deserializeXml(stream, this, getRtti());
421}
422
423//---------------------------------------------------------------------------
424// JSONリソースのロード
427//---------------------------------------------------------------------------
428GX_FORCE_INLINE b32 GxResBase::loadJson(GxStream& stream)
429{
430 GxSerializer serializer;
431 return serializer.deserializeJson(stream, this, getRtti());
432}
433
434//---------------------------------------------------------------------------
435// セーブ
439// シリアライズを行う場合は saveXml() , saveJson()もしくは saveBinary() を呼び出すように実装してください
440//---------------------------------------------------------------------------
441GX_FORCE_INLINE b32 GxResBase::save(GxStream& /*stream*/)
442{
443 GX_ASSERT(false, "load() method need override!!");
444 return false;
445}
446
447//---------------------------------------------------------------------------
448// バイナリリソースとしてセーブ
452//---------------------------------------------------------------------------
453GX_FORCE_INLINE b32 GxResBase::saveBinary(GxStream& stream, const GxRttiResource& rttiResource)
454{
455 GxSerializer serializer;
456 return serializer.serializeBinary(stream, this, rttiResource);
457}
458
459//---------------------------------------------------------------------------
460// XMLリソースとしてセーブ
465//---------------------------------------------------------------------------
466GX_FORCE_INLINE b32 GxResBase::saveXml(GxStream& stream, const GxRttiResource& rttiResource, b32 isDifference)
467{
468 GxSerializer serializer;
469 return serializer.serializeXml(stream, this, rttiResource, isDifference);
470}
471
472//---------------------------------------------------------------------------
473// JSONリソースとしてセーブ
480//---------------------------------------------------------------------------
481GX_FORCE_INLINE b32 GxResBase::saveJson(GxStream& stream, const GxRttiResource& rttiResource, b32 isCompress, b32 useRtti, b32 isDifference)
482{
483 GxSerializer serializer;
484 return serializer.serializeJson(stream, this, rttiResource, isCompress, useRtti);
485}
486
487//---------------------------------------------------------------------------
488// ファイナライズ
491//---------------------------------------------------------------------------
492GX_FORCE_INLINE b32 GxResBase::finalize(void)
493{
494 return true;
495}
496
497//---------------------------------------------------------------------------
498// 変更チェック
504//---------------------------------------------------------------------------
505GX_FORCE_INLINE b32 GxResBase::isModified(GxStream& /*stream*/, u64 /*lastWriteTime*/, GX_CSTR /*resourcePath*/)
506{
507 return false;
508}
509
510//---------------------------------------------------------------------------
511// セーブ設定更新時刻の取得
513//---------------------------------------------------------------------------
514GX_FORCE_INLINE u64 GxResBase::getSaveLastWriteTime(void) const
515{
516 return 0;
517}
518#endif // GX_DEVELOP
519
520//---------------------------------------------------------------------------
521// プロパティ属性取得
523//---------------------------------------------------------------------------
524GX_FORCE_INLINE void GxResBase::getPropertyAttribute(void* pValue) const
525{
526 *reinterpret_cast<u32*>(pValue) = getRtti().getAttribute();
527}
528
529#if GX_DEVELOP
530//---------------------------------------------------------------------------
531// 拡張子取得
533//---------------------------------------------------------------------------
534GX_FORCE_INLINE void GxResBase::getPropertyExtension(void* pValue) const
535{
536 *reinterpret_cast<GX_CSTR*>(pValue) = getRtti().getExtension();
537}
538
539//---------------------------------------------------------------------------
540// RTTI取得
542//---------------------------------------------------------------------------
543GX_FORCE_INLINE void GxResBase::getPropertyRttiName(void* pValue) const
544{
545 *reinterpret_cast<GX_CSTR*>(pValue) = getRtti().getName();
546}
547#endif //GX_DEVELOP
548
549GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
#define GX_SET_CLASS_BASE_REFERENCE(__DST__, __SRC__)
オブジェクト設定(参照カウンタを使用する場合)
Definition GxBase.h:318
void GxTypedObject
その他
Definition GxDefine.h:213
u32 GX_HANDLE
ハンドル
Definition GxDefine.h:214
@ NORMAL
法線(VS入力,VS→PS)
配列クラス
Definition GxArrayClassBase.h:18
配列クラス
Definition GxArray.h:18
参照オブジェクト基底クラス
Definition GxBase.h:122
virtual GxRtti & getRtti(void) const =0
Rttiの取得
static constexpr u32 VALUE_2
2
Definition GxMath.h:120
static constexpr u32 VALUE_256
256
Definition GxMath.h:127
static constexpr u32 VALUE_8
8
Definition GxMath.h:122
ALIGNMENT
メモリアライメント定義
Definition GxMemory.h:51
@ _128
128byteアライメント
Definition GxMemory.h:57
@ UNIQUE
ユニーク関数
constexpr TYPE getType(void) const
種類を取得
Definition GxProperty.h:320
プロパティクラス
Definition GxProperty.h:48
const GxFunction & getFunction(void) const
関数を取得
Definition GxProperty.h:1025
リソース基底クラス
Definition GxResBase.h:23
constexpr GX_CSTR getOriginalPath(void) const
オリジナルパス取得
Definition GxResBase.h:202
GX_FORCE_INLINE b32 isUsable(void) const
使用可能判定
Definition GxResBase.h:188
GX_FORCE_INLINE b32 isAsyncState(ASYNC_STATE asyncState) const
非同期ステート判定
Definition GxResBase.h:181
GX_FORCE_INLINE void setResourceBaseAttribute(RESOURCE_BASE_ATTRIBUTE attribute, b32 enable)
リソース属性設定
Definition GxResBase.h:235
constexpr GX_CSTR getExtension(void) const
拡張子取得
Definition GxResBase.h:190
ASYNC_STATE
非同期ロード状態
Definition GxResBase.h:43
constexpr void setAsyncPriority(ASYNC_PRIORITY asyncPriority)
非同期優先度設定
Definition GxResBase.h:223
constexpr void setAsyncState(ASYNC_STATE asyncState)
非同期ステート設定
Definition GxResBase.h:221
GX_FORCE_INLINE void setUsable(b32 flag)
使用可能設定
Definition GxResBase.h:229
virtual GX_FORCE_INLINE void callback(void)
Definition GxResBase.h:132
constexpr void setId(u64 id)
ID設定
Definition GxResBase.h:213
constexpr void setFileSize(u32 fileSize)
ファイルサイズ設定
Definition GxResBase.h:215
GX_FORCE_INLINE b32 isAsyncStateWorking(void) const
非同期動作中判定
Definition GxResBase.h:183
static const u32 RESOURCE_VERSION
リソースバージョン定義
Definition GxResBase.h:61
GX_FORCE_INLINE void setPath(GX_CSTR path)
パス設定
Definition GxResBase.h:169
GX_FORCE_INLINE b32 isResourceBaseAttribute(RESOURCE_BASE_ATTRIBUTE attribute) const
リソース属性判定
Definition GxResBase.h:204
b32 loadBinary(GxStream &stream)
バイナリリソースのロード
Definition GxResBase.h:405
constexpr GX_HANDLE getAsyncHandle(void) const
非同期読込みハンドル取得
Definition GxResBase.h:225
constexpr void setAsyncHandle(GX_HANDLE handle)
非同期読込みハンドル設定
Definition GxResBase.h:227
b32 load(GxStream &stream, u32 size)
ロード
Definition GxResBase.h:394
constexpr void setSize(u32 size)
サイズ設定
Definition GxResBase.h:217
constexpr GxResBase * getConfig(void) const
コンフィグ取得
Definition GxResBase.h:177
constexpr u32 getSize(void) const
サイズ取得
Definition GxResBase.h:175
ASYNC_PRIORITY
非同期ロード優先
Definition GxResBase.h:55
constexpr u32 getFileSize(void) const
ファイルサイズ取得
Definition GxResBase.h:173
constexpr void * getDataFromSystem(void)
システム受け渡しデータを取得
Definition GxResBase.h:233
void createCallback(void *pUser)
生成時コールバック
Definition GxResBase.h:381
constexpr u64 getId(void) const
ID取得
Definition GxResBase.h:167
constexpr ASYNC_STATE getAsyncState(void) const
非同期ステート取得
Definition GxResBase.h:179
constexpr GX_CSTR getPath(void) const
パス取得
Definition GxResBase.h:171
GX_FORCE_INLINE GxZlib & getZlib(void)
Zlib取得
Definition GxResBase.h:231
GX_FORCE_INLINE void setOriginalPath(GX_CSTR path)
オリジナルパス設定
Definition GxResBase.h:200
RESOURCE_BASE_ATTRIBUTE
基底リソース属性定義
Definition GxResBase.h:72
GX_FORCE_INLINE void setConfig(GxResBase *pConfig)
コンフィグ設定
Definition GxResBase.h:219
constexpr ASYNC_PRIORITY getAsyncPriority(void) const
非同期優先度取得
Definition GxResBase.h:186
constexpr u32 getVersion(void) const
バージョン取得
Definition GxResBase.h:198
実行時型情報クラス
Definition GxRtti.h:154
constexpr u32 getAttribute(void) const
属性を取得
Definition GxRtti.h:380
@ TEXT
テキスト
リソース実行時型情報クラス
Definition GxRttiResource.h:188
COMPRESS_TYPE
圧縮タイプ定義
Definition GxRttiResource.h:205
シリアライザ
Definition GxSerializer.h:133
b32 deserializeBinary(GxStream &stream, GxTypedObject *pObject, const GxRtti &rtti)
デシリアライズ:バイナリ形式
Definition GxSerializer.cpp:739
b32 serializeBinary(GxStream &stream, GxTypedObject *pObject, const GxRtti &rtti, b32 isDifference=false)
シリアライズ:バイナリ形式
Definition GxSerializer.cpp:641
ストリーム基礎クラス
Definition GxStream.h:20
リソース非同期読み込み要求管理基本クラス
Definition GxSysResource.h:413
リソースコールバック管理クラス
Definition GxSysResource.h:353
リソース管理システムクラス
Definition GxSysResource.h:1092
GxZlib圧縮・展開処理クラス
Definition GxZlib.h:19
インデックス指定型フラグ
Definition GxStruct.h:1294
リソースヘッダー構造体
Definition GxResBase.h:284
b32 write(GxStream &stream)
書き込み
Definition GxResBase.cpp:685
constexpr u32 getMagicNumber(void) const
識別用マジックナンバー取得
Definition GxResBase.h:349
static constexpr u32 getSize(void)
ヘッダーサイズ取得
Definition GxResBase.h:360
static constexpr u32 PADDING_SIZE
パディングサイズ (ヘッダーサイズ - メンバ変数サイズ)
Definition GxResBase.h:301
b32 read(GxStream &stream)
読み込み
Definition GxResBase.cpp:643
static constexpr u32 VERSION_SAVE_HIERARCY
バージョン保持階層
Definition GxResBase.h:295
b32 isSameRtti(const GxRttiResource &resRtti) const
Rtti情報一致判定
Definition GxResBase.cpp:730
void set(const GxRttiResource &resRtti)
情報セット
Definition GxResBase.cpp:588
constexpr u32 getVersion(u32 hierarcy=0) const
バージョン番号取得
Definition GxResBase.h:353
static constexpr u32 HEADER_SIZE
ヘッダーサイズ
Definition GxResBase.h:299
GxResHeader(void)
コンストラクタ
Definition GxResBase.h:310
constexpr void setCompressType(const GxRttiResource::COMPRESS_TYPE compressType)
圧縮タイプ設定
Definition GxResBase.h:357
void clear(void)
情報クリア
Definition GxResBase.cpp:626
constexpr GxRttiResource::COMPRESS_TYPE getCompressType(void) const
圧縮タイプ取得
Definition GxResBase.h:355
static constexpr GxMemory::ALIGNMENT HEADER_ALIGNMENT
ヘッダーアライメント
Definition GxResBase.h:297
GxResHeader(const GxRttiResource &resRtti)
コンストラクタ (Rtti指定)
Definition GxResBase.h:317
constexpr u32 getVersionSavedNum(void) const
バージョン保持階層数
Definition GxResBase.h:351
Definition GxSysResource.h:25
文字列型クラス
Definition GxString.h:18
Definition GxBase.h:24
32bitブーリアン
Definition GxDefine.h:173