mirror of https://github.com/zeldaret/tp.git
				
				
				
			
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
| #ifndef JPAEXTRASHAPE_H
 | |
| #define JPAEXTRASHAPE_H
 | |
| 
 | |
| #include "dolphin/types.h"
 | |
| 
 | |
| struct JPAExtraShapeData {
 | |
|     // Common header.
 | |
|     /* 0x00 */ u8 mMagic[4];
 | |
|     /* 0x04 */ u32 mSize;
 | |
| 
 | |
|     /* 0x08 */ u32 mFlags;
 | |
|     /* 0x0C */ f32 mScaleInTiming;
 | |
|     /* 0x10 */ f32 mScaleOutTiming;
 | |
|     /* 0x14 */ f32 mScaleInValueX;
 | |
|     /* 0x18 */ f32 mScaleOutValueX;
 | |
|     /* 0x1C */ f32 mScaleInValueY;
 | |
|     /* 0x20 */ f32 mScaleOutValueY;
 | |
|     /* 0x24 */ f32 mScaleOutRandom;
 | |
|     /* 0x28 */ s16 mScaleAnmCycleX;
 | |
|     /* 0x2A */ s16 mScaleAnmCycleY;
 | |
|     /* 0x2C */ f32 mAlphaInTiming;
 | |
|     /* 0x30 */ f32 mAlphaOutTiming;
 | |
|     /* 0x34 */ f32 mAlphaInValue;
 | |
|     /* 0x38 */ f32 mAlphaBaseValue;
 | |
|     /* 0x3C */ f32 mAlphaOutValue;
 | |
|     /* 0x40 */ f32 mAlphaWaveFrequency;
 | |
|     /* 0x44 */ f32 mAlphaWaveRandom;
 | |
|     /* 0x48 */ f32 mAlphaWaveAmplitude;
 | |
|     /* 0x4C */ f32 mRotateAngle;
 | |
|     /* 0x50 */ f32 mRotateAngleRandom;
 | |
|     /* 0x54 */ f32 mRotateSpeed;
 | |
|     /* 0x58 */ f32 mRotateSpeedRandom;
 | |
|     /* 0x5C */ f32 mRotateDirection;
 | |
| };
 | |
| 
 | |
| class JPAExtraShape {
 | |
| public:
 | |
|     /* 8027AD88 */ JPAExtraShape(u8 const*);
 | |
|     /* 8027ADBC */ void init();
 | |
| 
 | |
|     f32 getScaleInTiming() const { return mpData->mScaleInTiming; }
 | |
|     f32 getScaleOutTiming() const { return mpData->mScaleOutTiming; }
 | |
|     f32 getScaleInValueX() const { return mpData->mScaleInValueX; }
 | |
|     f32 getScaleInValueY() const { return mpData->mScaleInValueY; }
 | |
|     f32 getScaleOutValueX() const { return mpData->mScaleOutValueX; }
 | |
|     f32 getScaleOutValueY() const { return mpData->mScaleOutValueY; }
 | |
|     s16 getScaleAnmCycleX() const { return mpData->mScaleAnmCycleX; }
 | |
|     s16 getScaleAnmCycleY() const { return mpData->mScaleAnmCycleY; }
 | |
|     f32 getAlphaInTiming() const { return mpData->mAlphaInTiming; }
 | |
|     f32 getAlphaOutTiming() const { return mpData->mAlphaOutTiming; }
 | |
|     f32 getAlphaInValue() const { return mpData->mAlphaInValue; }
 | |
|     f32 getAlphaOutValue() const { return mpData->mAlphaOutValue; }
 | |
|     f32 getAlphaBaseValue() const { return mpData->mAlphaBaseValue; }
 | |
|     f32 getAlphaFreq() const { return mpData->mAlphaWaveFrequency; }
 | |
|     f32 getAlphaAmp() const { return mpData->mAlphaWaveAmplitude; }
 | |
|     f32 getScaleIncRateX() const { return mScaleIncRateX; }
 | |
|     f32 getScaleDecRateX() const { return mScaleDecRateX; }
 | |
|     f32 getScaleIncRateY() const { return mScaleIncRateY; }
 | |
|     f32 getScaleDecRateY() const { return mScaleDecRateY; }
 | |
|     f32 getAlphaIncRate() const { return mAlphaIncRate; }
 | |
|     f32 getAlphaDecRate() const { return mAlphaDecRate; }
 | |
| 
 | |
| private:
 | |
|     /* 0x00 */ const JPAExtraShapeData* mpData;
 | |
|     /* 0x04 */ f32 mAlphaIncRate;
 | |
|     /* 0x08 */ f32 mAlphaDecRate;
 | |
|     /* 0x0C */ f32 mScaleIncRateX;
 | |
|     /* 0x10 */ f32 mScaleIncRateY;
 | |
|     /* 0x14 */ f32 mScaleDecRateX;
 | |
|     /* 0x18 */ f32 mScaleDecRateY;
 | |
| };
 | |
| 
 | |
| #endif /* JPAEXTRASHAPE_H */
 |