Path: blob/master/SonicMania/Objects/ERZ/ERZRider.c
338 views
// ---------------------------------------------------------------------1// RSDK Project: Sonic Mania2// Object Description: ERZRider Object3// Object Author: Christian Whitehead/Simon Thomley/Hunter Bridges4// Decompiled by: Rubberduckycooly & RMGRich5// ---------------------------------------------------------------------67#include "Game.h"89ObjectERZRider *ERZRider;1011void ERZRider_Update(void)12{13RSDK_THIS(ERZRider);1415StateMachine_Run(self->state);16}1718void ERZRider_LateUpdate(void) {}1920void ERZRider_StaticUpdate(void) {}2122void ERZRider_Draw(void)23{24RSDK_THIS(ERZRider);2526if (self->stateDraw) {27StateMachine_Run(self->stateDraw);28}29else {30RSDK.DrawSprite(&self->mainAnimator, NULL, false);31}32}3334void ERZRider_Create(void *data)35{36RSDK_THIS(ERZRider);3738if (!SceneInfo->inEditor) {39self->visible = true;40self->drawGroup = Zone->objectDrawGroup[0];41self->active = ACTIVE_NORMAL;42self->updateRange.x = 0x800000;43self->updateRange.y = 0x800000;44self->isJimmy = VOID_TO_INT(data);4546if (!VOID_TO_INT(data)) {47self->drawFX = FX_FLIP;4849RSDK.SetSpriteAnimation(ERZRider->aniFrames, 0, &self->mainAnimator, true, 0);50RSDK.SetSpriteAnimation(ERZRider->aniFrames, 4, &self->jimmyAnimator, true, 0);51RSDK.SetSpriteAnimation(ERZRider->aniFrames, 5, &self->wheelAnimator, true, 0);52RSDK.SetSpriteAnimation(ERZRider->aniFrames, 6, &self->thrustAnimator, true, 0);5354self->startPos = self->position;55self->stateDraw = ERZRider_Draw_Rider;56self->state = StateMachine_None;57}58}59}6061void ERZRider_StageLoad(void) { ERZRider->aniFrames = RSDK.LoadSpriteAnimation("Phantom/PhantomRider.bin", SCOPE_STAGE); }6263void ERZRider_Draw_Rider(void)64{65// thats all folks!66}6768#if GAME_INCLUDE_EDITOR69void ERZRider_EditorDraw(void)70{71RSDK_THIS(ERZRider);7273self->drawFX = FX_FLIP;74RSDK.SetSpriteAnimation(ERZRider->aniFrames, 0, &self->mainAnimator, false, 0);75RSDK.SetSpriteAnimation(ERZRider->aniFrames, 4, &self->jimmyAnimator, false, 0);76RSDK.SetSpriteAnimation(ERZRider->aniFrames, 5, &self->wheelAnimator, false, 0);77RSDK.SetSpriteAnimation(ERZRider->aniFrames, 6, &self->thrustAnimator, false, 0);78}7980void ERZRider_EditorLoad(void) { ERZRider->aniFrames = RSDK.LoadSpriteAnimation("Phantom/PhantomRider.bin", SCOPE_STAGE); }81#endif8283void ERZRider_Serialize(void) {}848586