Path: blob/master/SonicMania/Objects/Common/ParallaxSprite.h
338 views
#ifndef OBJ_PARALLAXSPRITE_H1#define OBJ_PARALLAXSPRITE_H23#include "Game.h"45typedef enum {6PARALLAXSPRITE_ATTR_STANDARD,7PARALLAXSPRITE_ATTR_WINDMILL,8PARALLAXSPRITE_ATTR_COLORS,9PARALLAXSPRITE_ATTR_EMITTER,10PARALLAXSPRITE_ATTR_PARTICLE,11PARALLAXSPRITE_ATTR_BLENDHIGH,12PARALLAXSPRITE_ATTR_SHIFT,13} ParallaxSpriteAttributes;1415typedef enum {16PARALLAXSPRITE_NONE,17} ParallaxSpriteAniIDs;1819// Object Class20struct ObjectParallaxSprite {21RSDK_OBJECT22uint16 aniFrames;23};2425// Entity Class26struct EntityParallaxSprite {27RSDK_ENTITY28StateMachine(state);29Animator animator;30uint8 aniID;31uint8 attribute;32Vector2 parallaxFactor;33Vector2 scrollSpeed;34Vector2 loopPoint;35bool32 hiddenAtStart;36color color1;37color color2;38Vector2 acceleration;39Vector2 scrollPos;40int32 sprX;41int32 timerSpeed;42int32 xSpeed;43};4445// Object Struct46extern ObjectParallaxSprite *ParallaxSprite;4748// Standard Entity Events49void ParallaxSprite_Update(void);50void ParallaxSprite_LateUpdate(void);51void ParallaxSprite_StaticUpdate(void);52void ParallaxSprite_Draw(void);53void ParallaxSprite_Create(void *data);54void ParallaxSprite_StageLoad(void);55#if GAME_INCLUDE_EDITOR56void ParallaxSprite_EditorDraw(void);57void ParallaxSprite_EditorLoad(void);58#endif59void ParallaxSprite_Serialize(void);6061// Extra Entity Functions62void ParallaxSprite_State_Normal(void);63void ParallaxSprite_State_Emitter(void);64void ParallaxSprite_State_Particle(void);65void ParallaxSprite_State_FadeIntoHalf(void);66void ParallaxSprite_State_FadeOut(void);6768#endif //! OBJ_PARALLAXSPRITE_H697071