14GX_MOTION_NAMESPACE_BEGIN()
32 static constexpr u32 SEQUENCE_LINE_MAX =
GxMath::VALUE_32;
35 static constexpr u32 LINE_INDEX_ERROR = 0xffffffff;
46 GxFileHeader(
void) : _frameMax(0), _lineCount(0), _offsetTableOffset(0){}
57 constexpr u32
getLineMax(
void)
const {
return _lineMax; }
71 constexpr void setFrameMax(u32 frameMax){ _frameMax = frameMax; }
73 constexpr void setLineMax(u32 lineMax){ _lineMax = lineMax; }
75 constexpr void setLineCount(u32 lineCount){ _lineCount = lineCount; }
77 constexpr void setOffsetTableOffset(u32 offsetTableOffset){ _offsetTableOffset = offsetTableOffset; }
89 u32 _offsetTableOffset;
114 constexpr u32
getParam(
void)
const {
return _param; }
134 constexpr void setLineNumber(u32 lineNumber){ _lineNumber = lineNumber; }
136 constexpr void setParam(u32 param){ _param = param; }
138 constexpr void setDataSize(u32 dataSize){ _dataSize = dataSize; }
154#if GX_BITFIELD_LITTLEENDIAN
181 void cleanup(
void)
override;
190 constexpr u32
getFrameMax(
void)
const {
if( !_pFileHeader ){
return 0; }
return _pFileHeader->getFrameMax(); }
192 constexpr u32
getLineMax(
void)
const {
if (!_pFileHeader){
return 0; }
return _pFileHeader->getLineMax(); }
194 constexpr u32
getLineCount(
void)
const {
if( !_pFileHeader ){
return 0; }
return _pFileHeader->getLineCount(); }
196 const GxDataHeader* getDataHeader(u32 lineIndex)
const;
198 const s32* getDataAddress(u32 lineIndex)
const;
253 GX_RTTI_CLASS(GxResMotionSequenceXml::GxLineData,
GxClassBase)
265 ~GxLineData(
void)
override;
277 constexpr u32 getFrameMax(
void)
const {
return _frameMax; }
280 constexpr u32 getFrameCount(
void)
const {
return _frameMax + 1; }
283 void setFrameMax(u32 frameMax);
286 GX_FORCE_INLINE
void setFrameCount(u32 frameCount) {
if (frameCount) { setFrameMax(frameCount - 1); }
else { setFrameMax(0); } }
289 void getSequence(
void* pValue, u32 index);
292 void setSequence(
const void* pValue, u32 index);
294 void switchSequence(u32 index);
300 constexpr void setLineNumber(u32 lineNumber) { _lineNumber = lineNumber; }
303 constexpr u32 getLineNumber(
void)
const {
return _lineNumber; }
306 constexpr u32 getParam(
void) {
return _param; }
309 constexpr void setParam0(
void* pValue) { _param0 = *
static_cast<u32*
>(pValue); }
311 constexpr void setParam1(
void* pValue) { _param1 = *
static_cast<u32*
>(pValue); }
313 constexpr void setParam2(
void* pValue) { _param2 = *
static_cast<u32*
>(pValue); }
315 constexpr void setParam3(
void* pValue) { _param3 = *
static_cast<u32*
>(pValue); }
318 constexpr void getParam0(
const void* pValue) { *
static_cast<u32*
>(
const_cast<void*
>(pValue)) = _param0; }
320 constexpr void getParam1(
const void* pValue) { *
static_cast<u32*
>(
const_cast<void*
>(pValue)) = _param1; }
322 constexpr void getParam2(
const void* pValue) { *
static_cast<u32*
>(
const_cast<void*
>(pValue)) = _param2; }
324 constexpr void getParam3(
const void* pValue) { *
static_cast<u32*
>(
const_cast<void*
>(pValue)) = _param3; }
326#if MOVE_SEQNAME_TO_SEQUENCEXML
328 GX_FORCE_INLINE
GxString getSequenceName(
void) {
return _seqName; }
330 GX_FORCE_INLINE
void setSequenceName(GX_CSTR name) { _seqName = name; }
334 u32 calcSequenceSize(
void);
337 constexpr u32 getSequenceSize(
void)
const {
return _dataSize; }
340 s32* writeSequence(s32* pBuffer);
343 constexpr void clearData(
void) { _pData =
nullptr; _frameMax = 0; }
360#if GX_BITFIELD_LITTLEENDIAN
376#if MOVE_SEQNAME_TO_SEQUENCEXML
390 GxResMotionSequenceXml(
void);
402 void setFrameMax(u32 frameMax);
405 constexpr u32
getFrameMax(
void)
const {
return _frameMax; }
408 GxLineData* getLineData(u32 lineNumber);
411 b32 getSequence(u32 lineNumber, u32 frame);
414 void setSequence(u32 lineNumber, u32 frame,
b32 value);
416 void switchSequence(u32 lineNumber, u32 frame);
419 void setPropertyLineData(
const void*
const pValue, u32 index);
421 void getPropertyLineData(
void*
const pValue, u32 index);
423 constexpr void setPropertyLineDataCount(u32 ) {}
434 u32 calcLineCount(
void);
437 u32 calcFileSize(u32 lineCount);
440 void* buildFinalizedData(
void* pBufferTop, u32 lineCount);
452 void convertToDynamic(
void);
461 GxLineData** _ppDataArray;
470GX_MOTION_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
void GxTypedObject
その他
Definition GxDefine.h:213
配列クラス
Definition GxArray.h:18
オブジェクト基底クラス
Definition GxBase.h:88
算術演算クラス
Definition GxMath.h:84
プロパティクラス
Definition GxProperty.h:48
リソース基底クラス
Definition GxResBase.h:23
モーションシーケンスリソース
Definition GxResMotionSequence.h:20
u32 const * _pOffsetTable
オフセットテーブル
Definition GxResMotionSequence.h:222
void * _pBuffer
finalizedデータ
Definition GxResMotionSequence.h:219
GxFileHeader const * _pFileHeader
シーケンスヘッダ
Definition GxResMotionSequence.h:221
constexpr u32 getLineMax(void) const
最大ライン数を取得
Definition GxResMotionSequence.h:192
b32 load(GxStream &stream, u32 dataSize)
リソースのロード
Definition GxResMotionSequence.cpp:53
u32 _bufferSize
finalizedデータサイズ
Definition GxResMotionSequence.h:220
constexpr u32 getLineCount(void) const
ライン数取得
Definition GxResMotionSequence.h:194
void cleanup(void) override
デストラクタ代行
Definition GxResMotionSequence.cpp:39
constexpr u32 getFrameMax(void) const
最大フレーム数取得
Definition GxResMotionSequence.h:190
static constexpr u32 SEQUENCE_LINE_MAX
最大ライン数
Definition GxResMotionSequence.h:32
実行時型情報クラス
Definition GxRtti.h:154
ストリーム基礎クラス
Definition GxStream.h:20
constexpr u32 getMotionSequenceLineMax(void) const
モーションシーケンスのラインの最大数を取得
Definition GxSysResource.h:1508
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173