diff --git a/include/JSystem/JParticle/JPADynamicsBlock.h b/include/JSystem/JParticle/JPADynamicsBlock.h new file mode 100644 index 000000000..b79257f34 --- /dev/null +++ b/include/JSystem/JParticle/JPADynamicsBlock.h @@ -0,0 +1,112 @@ +#ifndef JPADYNAMICSBLOCK_H +#define JPADYNAMICSBLOCK_H + +#include "JSystem/JParticle/JPAParticle.h" + +struct JPADynamicsBlockData { + /* 0x00 */ u32 mFlag; + /* 0x04 */ f32 mVolumeSweep; + /* 0x08 */ f32 mVolumeMinRad; + /* 0x0C */ u16 mVolumeSize; + /* 0x0E */ u16 mDivNumber; + /* 0x10 */ f32 mRate; + /* 0x14 */ f32 mRateRndm; + /* 0x18 */ u8 mRateStep; + /* 0x19 */ u8 field_0x19; + /* 0x1A */ s16 mMaxFrame; + /* 0x1C */ s16 mStartFrame; + /* 0x1E */ s16 mLifeTime; + /* 0x20 */ f32 mLifeTimeRndm; + /* 0x24 */ f32 mInitVelOmni; + /* 0x28 */ f32 mInitVelAxis; + /* 0x2C */ f32 mInitVelRndm; + /* 0x30 */ f32 mInitVelDir; + /* 0x34 */ f32 mInitVelRatio; + /* 0x38 */ f32 mSpread; + /* 0x3C */ f32 mAirResist; + /* 0x40 */ f32 mAirResistRndm; + /* 0x44 */ f32 mMoment; + /* 0x48 */ f32 mMomentRndm; + /* 0x4C */ f32 mAccel; + /* 0x50 */ f32 mAccelRndm; + /* 0x54 */ JGeometry::TVec3 mEmitterScl; + /* 0x60 */ JGeometry::TVec3 mEmitterTrs; + /* 0x6C */ JGeometry::TVec3 mEmitterDir; + /* 0x78 */ JGeometry::TVec3 mEmitterRot; +}; + +class JPADynamicsBlock { +public: + virtual ~JPADynamicsBlock() {}; + virtual u32 getDataFlag() = 0; + virtual u32 getUseKeyFlag() = 0; + virtual void getEmitterScl(JGeometry::TVec3&) = 0; + virtual void getEmitterRot(JGeometry::TVec3&) = 0; + virtual void getEmitterTrs(JGeometry::TVec3&) = 0; + virtual void getEmitterDir(JGeometry::TVec3&) = 0; + virtual u32 getVolumeType() = 0; + virtual u32 getVolumeSize() = 0; + virtual f32 getVolumeSweep() = 0; + virtual f32 getVolumeMinRad() = 0; + virtual u32 getDivNumber() = 0; + virtual f32 getRate() = 0; + virtual f32 getRateRndm() = 0; + virtual u32 getRateStep() = 0; + virtual u32 getMaxFrame() = 0; + virtual u32 getStartFrame() = 0; + virtual u32 getLifeTime() = 0; + virtual f32 getLifeTimeRndm() = 0; + virtual f32 getInitVelOmni() = 0; + virtual f32 getInitVelAxis() = 0; + virtual f32 getInitVelRndm() = 0; + virtual f32 getInitVelDir() = 0; + virtual f32 getSpread() = 0; + virtual f32 getInitVelRatio() = 0; + virtual f32 getAccel() = 0; + virtual f32 getAccelRndm() = 0; + virtual f32 getAirResist() = 0; + virtual f32 getAirResistRndm() = 0; + virtual f32 getMoment() = 0; + virtual f32 getMomentRndm() = 0; +}; + +class JPADynamicsBlockArc : public JPADynamicsBlock { +public: + JPADynamicsBlockArc(const u8*); + virtual ~JPADynamicsBlockArc() {} + virtual u32 getDataFlag() { return mpData->mFlag; } + virtual u32 getUseKeyFlag() { return 0; } + virtual void getEmitterScl(JGeometry::TVec3& out) { out = mpData->mEmitterScl; } + virtual void getEmitterRot(JGeometry::TVec3& out) { out = mpData->mEmitterRot; } + virtual void getEmitterTrs(JGeometry::TVec3& out) { out = mpData->mEmitterTrs; } + virtual void getEmitterDir(JGeometry::TVec3& out) { out = mpData->mEmitterDir; } + virtual u32 getVolumeType() { return (mpData->mFlag >> 8) & 0x07; } + virtual u32 getVolumeSize() { return mpData->mVolumeSize; } + virtual f32 getVolumeSweep() { return mpData->mVolumeSweep; } + virtual f32 getVolumeMinRad() { return mpData->mVolumeMinRad; } + virtual u32 getDivNumber() { return mpData->mDivNumber; } + virtual f32 getRate() { return mpData->mRate; } + virtual f32 getRateRndm() { return mpData->mRateRndm; } + virtual u32 getRateStep() { return mpData->mRateStep; } + virtual u32 getMaxFrame() { return mpData->mMaxFrame; } + virtual u32 getStartFrame() { return mpData->mStartFrame; } + virtual u32 getLifeTime() { return mpData->mLifeTime; } + virtual f32 getLifeTimeRndm() { return mpData->mLifeTimeRndm; } + virtual f32 getInitVelOmni() { return mpData->mInitVelOmni; } + virtual f32 getInitVelAxis() { return mpData->mInitVelAxis; } + virtual f32 getInitVelRndm() { return mpData->mInitVelRndm; } + virtual f32 getInitVelDir() { return mpData->mInitVelDir; } + virtual f32 getSpread() { return mpData->mSpread; } + virtual f32 getInitVelRatio() { return mpData->mInitVelRatio; } + virtual f32 getAccel() { return mpData->mAccel; } + virtual f32 getAccelRndm() { return mpData->mAccelRndm; } + virtual f32 getAirResist() { return mpData->mAirResist; } + virtual f32 getAirResistRndm() { return mpData->mAirResistRndm; } + virtual f32 getMoment() { return mpData->mMoment; } + virtual f32 getMomentRndm() { return mpData->mMomentRndm; } + +public: + /* 0x04 */ const JPADynamicsBlockData* mpData; +}; + +#endif /* JPADynamicsBlock_H */ diff --git a/include/JSystem/JParticle/JPAExtraShape.h b/include/JSystem/JParticle/JPAExtraShape.h index 90348608e..668872330 100644 --- a/include/JSystem/JParticle/JPAExtraShape.h +++ b/include/JSystem/JParticle/JPAExtraShape.h @@ -3,49 +3,132 @@ #include "JSystem/JParticle/JPAParticle.h" +struct JPAExtraShapeData { + /* 0x00 */ u32 mFlag; + /* 0x04 */ u32 field_0x04; + /* 0x08 */ f32 mAlphaInTiming; + /* 0x0C */ f32 mAlphaOutTiming; + /* 0x10 */ f32 mAlphaInValue; + /* 0x14 */ f32 mAlphaBaseValue; + /* 0x18 */ f32 mAlphaOutValue; + /* 0x1C */ f32 mAlphaWaveParam1; + /* 0x20 */ f32 mAlphaWaveParam2; + /* 0x24 */ f32 mAlphaWaveParam3; + /* 0x28 */ f32 mAlphaWaveRandom; + /* 0x2C */ f32 mScaleInTiming; + /* 0x30 */ f32 mScaleOutTiming; + /* 0x34 */ f32 mScaleInValueX; + /* 0x38 */ f32 mScaleOutValueX; + /* 0x3C */ f32 mScaleInValueY; + /* 0x40 */ f32 mScaleOutValueY; + /* 0x44 */ f32 mRandomScale; + /* 0x48 */ s16 mAnmCycleX; + /* 0x4A */ s16 mAnmCycleY; + /* 0x4C */ f32 mRotateAngle; + /* 0x50 */ f32 mRotateSpeed; + /* 0x54 */ f32 mRotateRandomAngle; + /* 0x58 */ f32 mRotateRandomSpeed; + /* 0x5C */ f32 mRotateDirection; +}; + class JPAExtraShape { public: - virtual ~JPAExtraShape() {}; - virtual void isEnableScale() = 0; - virtual void isDiffXY() = 0; - virtual void isEnableScaleAnmX() = 0; - virtual void isEnableScaleAnmY() = 0; - virtual void isEnableScaleBySpeedX() = 0; - virtual void isEnableScaleBySpeedY() = 0; - virtual void getScaleInTiming() = 0; - virtual void getScaleOutTiming() = 0; - virtual void getScaleInValueX() = 0; - virtual void getScaleInValueY() = 0; - virtual void getAnmTypeX() = 0; - virtual void getAnmTypeY() = 0; - virtual void getAnmCycleX() = 0; - virtual void getAnmCycleY() = 0; - virtual void getIncreaseRateX() = 0; - virtual void getIncreaseRateY() = 0; - virtual void getDecreaseRateX() = 0; - virtual void getDecreaseRateY() = 0; + virtual ~JPAExtraShape() {} + virtual BOOL isEnableScale() = 0; + virtual BOOL isDiffXY() = 0; + virtual BOOL isEnableScaleAnmX() = 0; + virtual BOOL isEnableScaleAnmY() = 0; + virtual BOOL isEnableScaleBySpeedX() = 0; + virtual BOOL isEnableScaleBySpeedY() = 0; + virtual f32 getScaleInTiming() = 0; + virtual f32 getScaleOutTiming() = 0; + virtual f32 getScaleInValueX() = 0; + virtual f32 getScaleInValueY() = 0; + virtual u32 getAnmTypeX() = 0; + virtual u32 getAnmTypeY() = 0; + virtual u32 getAnmCycleX() = 0; + virtual u32 getAnmCycleY() = 0; + virtual f32 getIncreaseRateX() = 0; + virtual f32 getIncreaseRateY() = 0; + virtual f32 getDecreaseRateX() = 0; + virtual f32 getDecreaseRateY() = 0; virtual u32 getPivotX() = 0; virtual u32 getPivotY() = 0; - virtual void getRandomScale() = 0; - virtual void isEnableAlpha() = 0; - virtual void isEnableSinWave() = 0; - virtual void getAlphaInTiming() = 0; - virtual void getAlphaOutTiming() = 0; - virtual void getAlphaInValue() = 0; - virtual void getAlphaBaseValue() = 0; - virtual void getAlphaWaveType() = 0; - virtual void getAlphaWaveParam1() = 0; - virtual void getAlphaWaveParam2() = 0; - virtual void getAlphaWaveParam3() = 0; - virtual void getAlphaWaveRandom() = 0; - virtual void getAlphaIncreaseRate() = 0; - virtual void getAlphaDecreaseRate() = 0; - virtual void isEnableRotate() = 0; - virtual void getRotateAngle() = 0; - virtual void getRotateSpeed() = 0; - virtual void getRotateRandomAngle() = 0; - virtual void getRotateRandomSpeed() = 0; - virtual void getRotateDirection() = 0; + virtual f32 getRandomScale() = 0; + virtual BOOL isEnableAlpha() = 0; + virtual BOOL isEnableSinWave() = 0; + virtual f32 getAlphaInTiming() = 0; + virtual f32 getAlphaOutTiming() = 0; + virtual f32 getAlphaInValue() = 0; + virtual f32 getAlphaBaseValue() = 0; + virtual u32 getAlphaWaveType() = 0; + virtual f32 getAlphaWaveParam1() = 0; + virtual f32 getAlphaWaveParam2() = 0; + virtual f32 getAlphaWaveParam3() = 0; + virtual f32 getAlphaWaveRandom() = 0; + virtual f32 getAlphaIncreaseRate() = 0; + virtual f32 getAlphaDecreaseRate() = 0; + virtual BOOL isEnableRotate() = 0; + virtual f32 getRotateAngle() = 0; + virtual f32 getRotateSpeed() = 0; + virtual f32 getRotateRandomAngle() = 0; + virtual f32 getRotateRandomSpeed() = 0; + virtual f32 getRotateDirection() = 0; +}; + +class JPAExtraShapeArc : public JPAExtraShape { +public: + JPAExtraShapeArc(const u8*); + virtual ~JPAExtraShapeArc() {} + virtual BOOL isEnableScale() { return (mpData->mFlag & 0x100); } + virtual BOOL isDiffXY() { return (mpData->mFlag & 0x200); } + virtual BOOL isEnableScaleAnmX() { return (mpData->mFlag & 0x800); } + virtual BOOL isEnableScaleAnmY() { return (mpData->mFlag & 0x400); } + virtual BOOL isEnableScaleBySpeedX() { return (mpData->mFlag & 0x2000); } + virtual BOOL isEnableScaleBySpeedY() { return (mpData->mFlag & 0x1000); } + virtual f32 getScaleInTiming() { return mpData->mScaleInTiming; } + virtual f32 getScaleOutTiming() { return mpData->mScaleOutTiming; } + virtual f32 getScaleInValueX() { return mpData->mScaleInValueX; } + virtual f32 getScaleInValueY() { return mpData->mScaleInValueY; } + virtual u32 getAnmTypeX() { return (mpData->mFlag >> 18) & 0x01; } + virtual u32 getAnmTypeY() { return (mpData->mFlag >> 19) & 0x01; } + virtual u32 getAnmCycleX() { return mpData->mAnmCycleX; } + virtual u32 getAnmCycleY() { return mpData->mAnmCycleY; } + virtual f32 getIncreaseRateX() { return mIncreaseRateX; } + virtual f32 getIncreaseRateY() { return mIncreaseRateY; } + virtual f32 getDecreaseRateX() { return mDecreaseRateX; } + virtual f32 getDecreaseRateY() { return mDecreaseRateY; } + virtual u32 getPivotX() { return (mpData->mFlag >> 14) & 0x03; } + virtual u32 getPivotY() { return (mpData->mFlag >> 16) & 0x03; } + virtual f32 getRandomScale() { return mpData->mRandomScale; } + virtual BOOL isEnableAlpha() { return (mpData->mFlag & 0x01); } + virtual BOOL isEnableSinWave() { return (mpData->mFlag & 0x02); } + virtual f32 getAlphaInTiming() { return mpData->mAlphaInTiming; } + virtual f32 getAlphaOutTiming() { return mpData->mAlphaOutTiming; } + virtual f32 getAlphaInValue() { return mpData->mAlphaInValue; } + virtual f32 getAlphaBaseValue() { return mpData->mAlphaBaseValue; } + virtual u32 getAlphaWaveType() { return (mpData->mFlag >> 2) & 0x03; } + virtual f32 getAlphaWaveParam1() { return mpData->mAlphaWaveParam1; } + virtual f32 getAlphaWaveParam2() { return mpData->mAlphaWaveParam2; } + virtual f32 getAlphaWaveParam3() { return mpData->mAlphaWaveParam3; } + virtual f32 getAlphaWaveRandom() { return mpData->mAlphaWaveRandom; } + virtual f32 getAlphaIncreaseRate() { return mAlphaIncreaseRate; } + virtual f32 getAlphaDecreaseRate() { return mAlphaDecreaseRate; } + virtual BOOL isEnableRotate() { return (mpData->mFlag & 0x01000000); } + virtual f32 getRotateAngle() { return mpData->mRotateAngle; } + virtual f32 getRotateSpeed() { return mpData->mRotateSpeed; } + virtual f32 getRotateRandomAngle() { return mpData->mRotateRandomAngle; } + virtual f32 getRotateRandomSpeed() { return mpData->mRotateRandomSpeed; } + virtual f32 getRotateDirection() { return mpData->mRotateDirection; } + +public: + /* 0x04 */ const JPAExtraShapeData * mpData; + /* 0x08 */ f32 mAlphaIncreaseRate; + /* 0x0C */ f32 mAlphaDecreaseRate; + /* 0x10 */ f32 mIncreaseRateX; + /* 0x14 */ f32 mDecreaseRateX; + /* 0x18 */ f32 mIncreaseRateY; + /* 0x1C */ f32 mDecreaseRateY; }; #endif /* JPAEXTRASHAPE_H */ diff --git a/src/JSystem/JParticle/JPADynamicsBlock.cpp b/src/JSystem/JParticle/JPADynamicsBlock.cpp index f45a9b284..064818812 100644 --- a/src/JSystem/JParticle/JPADynamicsBlock.cpp +++ b/src/JSystem/JParticle/JPADynamicsBlock.cpp @@ -4,169 +4,8 @@ // #include "JSystem/JParticle/JPADynamicsBlock.h" -#include "dolphin/types.h" /* 80258118-8025813C .text __ct__19JPADynamicsBlockArcFPCUc */ -JPADynamicsBlockArc::JPADynamicsBlockArc(const unsigned char*) { - /* Nonmatching */ -} - -/* 8025813C-80258184 .text __dt__16JPADynamicsBlockFv */ -JPADynamicsBlock::~JPADynamicsBlock() { - /* Nonmatching */ -} - -/* 80258184-802581E0 .text __dt__19JPADynamicsBlockArcFv */ -JPADynamicsBlockArc::~JPADynamicsBlockArc() { - /* Nonmatching */ -} - -/* 802581E0-802581EC .text getDataFlag__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getDataFlag() { - /* Nonmatching */ -} - -/* 802581EC-802581F4 .text getUseKeyFlag__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getUseKeyFlag() { - /* Nonmatching */ -} - -/* 802581F4-80258214 .text getEmitterScl__19JPADynamicsBlockArcFRQ29JGeometry8TVec3 */ -void JPADynamicsBlockArc::getEmitterScl(JGeometry::TVec3&) { - /* Nonmatching */ -} - -/* 80258214-80258234 .text getEmitterRot__19JPADynamicsBlockArcFRQ29JGeometry8TVec3 */ -void JPADynamicsBlockArc::getEmitterRot(JGeometry::TVec3&) { - /* Nonmatching */ -} - -/* 80258234-80258254 .text getEmitterTrs__19JPADynamicsBlockArcFRQ29JGeometry8TVec3 */ -void JPADynamicsBlockArc::getEmitterTrs(JGeometry::TVec3&) { - /* Nonmatching */ -} - -/* 80258254-80258274 .text getEmitterDir__19JPADynamicsBlockArcFRQ29JGeometry8TVec3 */ -void JPADynamicsBlockArc::getEmitterDir(JGeometry::TVec3&) { - /* Nonmatching */ -} - -/* 80258274-80258284 .text getVolumeType__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getVolumeType() { - /* Nonmatching */ -} - -/* 80258284-80258290 .text getVolumeSize__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getVolumeSize() { - /* Nonmatching */ -} - -/* 80258290-8025829C .text getVolumeSweep__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getVolumeSweep() { - /* Nonmatching */ -} - -/* 8025829C-802582A8 .text getVolumeMinRad__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getVolumeMinRad() { - /* Nonmatching */ -} - -/* 802582A8-802582B4 .text getDivNumber__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getDivNumber() { - /* Nonmatching */ -} - -/* 802582B4-802582C0 .text getRate__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getRate() { - /* Nonmatching */ -} - -/* 802582C0-802582CC .text getRateRndm__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getRateRndm() { - /* Nonmatching */ -} - -/* 802582CC-802582D8 .text getRateStep__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getRateStep() { - /* Nonmatching */ -} - -/* 802582D8-802582E4 .text getMaxFrame__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getMaxFrame() { - /* Nonmatching */ -} - -/* 802582E4-802582F0 .text getStartFrame__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getStartFrame() { - /* Nonmatching */ -} - -/* 802582F0-802582FC .text getLifeTime__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getLifeTime() { - /* Nonmatching */ -} - -/* 802582FC-80258308 .text getLifeTimeRndm__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getLifeTimeRndm() { - /* Nonmatching */ -} - -/* 80258308-80258314 .text getInitVelOmni__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getInitVelOmni() { - /* Nonmatching */ -} - -/* 80258314-80258320 .text getInitVelAxis__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getInitVelAxis() { - /* Nonmatching */ -} - -/* 80258320-8025832C .text getInitVelRndm__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getInitVelRndm() { - /* Nonmatching */ -} - -/* 8025832C-80258338 .text getInitVelDir__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getInitVelDir() { - /* Nonmatching */ -} - -/* 80258338-80258344 .text getSpread__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getSpread() { - /* Nonmatching */ -} - -/* 80258344-80258350 .text getInitVelRatio__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getInitVelRatio() { - /* Nonmatching */ -} - -/* 80258350-8025835C .text getAccel__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getAccel() { - /* Nonmatching */ -} - -/* 8025835C-80258368 .text getAccelRndm__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getAccelRndm() { - /* Nonmatching */ -} - -/* 80258368-80258374 .text getAirResist__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getAirResist() { - /* Nonmatching */ -} - -/* 80258374-80258380 .text getAirResistRndm__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getAirResistRndm() { - /* Nonmatching */ -} - -/* 80258380-8025838C .text getMoment__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getMoment() { - /* Nonmatching */ -} - -/* 8025838C-80258398 .text getMomentRndm__19JPADynamicsBlockArcFv */ -void JPADynamicsBlockArc::getMomentRndm() { - /* Nonmatching */ +JPADynamicsBlockArc::JPADynamicsBlockArc(const u8* data) { + mpData = reinterpret_cast(data+0x0C); } diff --git a/src/JSystem/JParticle/JPAExtraShape.cpp b/src/JSystem/JParticle/JPAExtraShape.cpp index 393ea7117..3bfd8c01d 100644 --- a/src/JSystem/JParticle/JPAExtraShape.cpp +++ b/src/JSystem/JParticle/JPAExtraShape.cpp @@ -7,216 +7,30 @@ #include "dolphin/types.h" /* 80257988-80257AA8 .text __ct__16JPAExtraShapeArcFPCUc */ -JPAExtraShapeArc::JPAExtraShapeArc(const unsigned char*) { - /* Nonmatching */ -} +JPAExtraShapeArc::JPAExtraShapeArc(const u8* data) { + mpData = reinterpret_cast(data+0x0C); -/* 80257AA8-80257AF0 .text __dt__13JPAExtraShapeFv */ -JPAExtraShape::~JPAExtraShape() { - /* Nonmatching */ -} + if (mpData->mAlphaInTiming != 0.0f) { + mAlphaIncreaseRate = (mpData->mAlphaBaseValue - mpData->mAlphaInValue) / mpData->mAlphaInTiming; + } -/* 80257AF0-80257B4C .text __dt__16JPAExtraShapeArcFv */ -JPAExtraShapeArc::~JPAExtraShapeArc() { - /* Nonmatching */ -} + if (mpData->mAlphaOutTiming != 1.0f) { + mAlphaDecreaseRate = (mpData->mAlphaOutValue - mpData->mAlphaBaseValue) / (1.0f - mpData->mAlphaOutTiming); + } -/* 80257B4C-80257B5C .text isEnableScale__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::isEnableScale() { - /* Nonmatching */ -} + if (mpData->mScaleInTiming != 0.0f) { + mIncreaseRateX = (1.0f - mpData->mScaleInValueX) / mpData->mScaleInTiming; + mIncreaseRateY = (1.0f - mpData->mScaleInValueY) / mpData->mScaleInTiming; + } else { + mIncreaseRateY = 1.0f; + mIncreaseRateX = 1.0f; + } -/* 80257B5C-80257B6C .text isDiffXY__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::isDiffXY() { - /* Nonmatching */ -} - -/* 80257B6C-80257B7C .text isEnableScaleAnmX__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::isEnableScaleAnmX() { - /* Nonmatching */ -} - -/* 80257B7C-80257B8C .text isEnableScaleAnmY__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::isEnableScaleAnmY() { - /* Nonmatching */ -} - -/* 80257B8C-80257B9C .text isEnableScaleBySpeedX__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::isEnableScaleBySpeedX() { - /* Nonmatching */ -} - -/* 80257B9C-80257BAC .text isEnableScaleBySpeedY__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::isEnableScaleBySpeedY() { - /* Nonmatching */ -} - -/* 80257BAC-80257BB8 .text getScaleInTiming__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getScaleInTiming() { - /* Nonmatching */ -} - -/* 80257BB8-80257BC4 .text getScaleOutTiming__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getScaleOutTiming() { - /* Nonmatching */ -} - -/* 80257BC4-80257BD0 .text getScaleInValueX__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getScaleInValueX() { - /* Nonmatching */ -} - -/* 80257BD0-80257BDC .text getScaleInValueY__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getScaleInValueY() { - /* Nonmatching */ -} - -/* 80257BDC-80257BEC .text getAnmTypeX__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAnmTypeX() { - /* Nonmatching */ -} - -/* 80257BEC-80257BFC .text getAnmTypeY__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAnmTypeY() { - /* Nonmatching */ -} - -/* 80257BFC-80257C08 .text getAnmCycleX__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAnmCycleX() { - /* Nonmatching */ -} - -/* 80257C08-80257C14 .text getAnmCycleY__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAnmCycleY() { - /* Nonmatching */ -} - -/* 80257C14-80257C1C .text getIncreaseRateX__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getIncreaseRateX() { - /* Nonmatching */ -} - -/* 80257C1C-80257C24 .text getIncreaseRateY__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getIncreaseRateY() { - /* Nonmatching */ -} - -/* 80257C24-80257C2C .text getDecreaseRateX__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getDecreaseRateX() { - /* Nonmatching */ -} - -/* 80257C2C-80257C34 .text getDecreaseRateY__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getDecreaseRateY() { - /* Nonmatching */ -} - -/* 80257C34-80257C44 .text getPivotX__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getPivotX() { - /* Nonmatching */ -} - -/* 80257C44-80257C54 .text getPivotY__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getPivotY() { - /* Nonmatching */ -} - -/* 80257C54-80257C60 .text getRandomScale__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getRandomScale() { - /* Nonmatching */ -} - -/* 80257C60-80257C70 .text isEnableAlpha__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::isEnableAlpha() { - /* Nonmatching */ -} - -/* 80257C70-80257C80 .text isEnableSinWave__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::isEnableSinWave() { - /* Nonmatching */ -} - -/* 80257C80-80257C8C .text getAlphaInTiming__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAlphaInTiming() { - /* Nonmatching */ -} - -/* 80257C8C-80257C98 .text getAlphaOutTiming__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAlphaOutTiming() { - /* Nonmatching */ -} - -/* 80257C98-80257CA4 .text getAlphaInValue__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAlphaInValue() { - /* Nonmatching */ -} - -/* 80257CA4-80257CB0 .text getAlphaBaseValue__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAlphaBaseValue() { - /* Nonmatching */ -} - -/* 80257CB0-80257CC0 .text getAlphaWaveType__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAlphaWaveType() { - /* Nonmatching */ -} - -/* 80257CC0-80257CCC .text getAlphaWaveParam1__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAlphaWaveParam1() { - /* Nonmatching */ -} - -/* 80257CCC-80257CD8 .text getAlphaWaveParam2__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAlphaWaveParam2() { - /* Nonmatching */ -} - -/* 80257CD8-80257CE4 .text getAlphaWaveParam3__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAlphaWaveParam3() { - /* Nonmatching */ -} - -/* 80257CE4-80257CF0 .text getAlphaWaveRandom__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAlphaWaveRandom() { - /* Nonmatching */ -} - -/* 80257CF0-80257CF8 .text getAlphaIncreaseRate__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAlphaIncreaseRate() { - /* Nonmatching */ -} - -/* 80257CF8-80257D00 .text getAlphaDecreaseRate__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getAlphaDecreaseRate() { - /* Nonmatching */ -} - -/* 80257D00-80257D10 .text isEnableRotate__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::isEnableRotate() { - /* Nonmatching */ -} - -/* 80257D10-80257D1C .text getRotateAngle__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getRotateAngle() { - /* Nonmatching */ -} - -/* 80257D1C-80257D28 .text getRotateSpeed__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getRotateSpeed() { - /* Nonmatching */ -} - -/* 80257D28-80257D34 .text getRotateRandomAngle__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getRotateRandomAngle() { - /* Nonmatching */ -} - -/* 80257D34-80257D40 .text getRotateRandomSpeed__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getRotateRandomSpeed() { - /* Nonmatching */ -} - -/* 80257D40-80257D4C .text getRotateDirection__16JPAExtraShapeArcFv */ -void JPAExtraShapeArc::getRotateDirection() { - /* Nonmatching */ + if (mpData->mScaleOutTiming != 0.0f) { + mDecreaseRateX = (mpData->mScaleOutValueX - 1.0f) / (1.0f - mpData->mScaleOutTiming); + mDecreaseRateY = (mpData->mScaleOutValueY - 1.0f) / (1.0f - mpData->mScaleOutTiming); + } else { + mDecreaseRateY = 1.0f; + mDecreaseRateX = 1.0f; + } }