Path: blob/master/SonicMania/Objects/CPZ/Springboard.h
338 views
#ifndef OBJ_SPRINGBOARD_H1#define OBJ_SPRINGBOARD_H23#include "Game.h"45// Object Class6struct ObjectSpringboard {7RSDK_OBJECT8// Unused here, was used in S2' 13 for getting the 'force' from propertyValue, mania just uses an editable var9TABLE(int32 forces[3], { -0x40000, -0xA0000, -0x80000 });10TABLE(int32 springPower[40], { 0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000, 0x00000, -0x10000, -0x10000,11-0x10000, -0x10000, -0x10000, -0x10000, -0x10000, -0x10000, -0x10000, -0x10000, -0x10000, -0x10000,12-0x10000, -0x10000, -0x10000, -0x10000, -0x20000, -0x20000, -0x20000, -0x20000, -0x20000, -0x20000,13-0x20000, -0x20000, -0x30000, -0x30000, -0x30000, -0x30000, -0x30000, -0x30000, -0x40000, -0x40000 });14TABLE(int32 heightsReady[28], { 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 17, 18, 19, 20, 20, 21, 21, 22, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24 });15TABLE(int32 heightsFlat[28], { 8, 9, 10, 11, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 15, 15, 16, 16, 16, 16, 15, 15, 14, 14, 13, 13 });16uint16 aniFrames;17uint16 sfxSpring;18};1920// Entity Class21struct EntitySpringboard {22RSDK_ENTITY23int32 force;24int32 bounceDelay; // bounceDelay goes unused here, though it was used in S2 '1325uint8 activePlayers;26Animator animator;27};2829// Object Struct30extern ObjectSpringboard *Springboard;3132// Standard Entity Events33void Springboard_Update(void);34void Springboard_LateUpdate(void);35void Springboard_StaticUpdate(void);36void Springboard_Draw(void);37void Springboard_Create(void *data);38void Springboard_StageLoad(void);39#if GAME_INCLUDE_EDITOR40void Springboard_EditorDraw(void);41void Springboard_EditorLoad(void);42#endif43void Springboard_Serialize(void);4445// Extra Entity Functions46void Springboard_DebugSpawn(void);47void Springboard_DebugDraw(void);4849#endif //! OBJ_SPRINGBOARD_H505152