Path: blob/master/SonicMania/Objects/OOZ/OOZSetup.h
338 views
#ifndef OBJ_OOZSETUP_H1#define OBJ_OOZSETUP_H23#include "Game.h"45typedef enum { OOZ_WARPDOOR_EFFECT_TO_SUB = 1, OOZ_WARPDOOR_EFFECT_FROM_SUB = 2 } OOZWarpDoorEffects;6typedef enum { OOZSETUP_FLAMES, OOZSETUP_FADE } OOZSetupTypes;78typedef enum { OOZ_TFLAGS_NORMAL, OOZ_TFLAGS_OILPOOL, OOZ_TFLAGS_OILSTRIP, OOZ_TFLAGS_OILSLIDE, OOZ_TFLAGS_OILFALL } TileFlagsOOZ;910typedef enum { OOZ_GENERICTRIGGER_ACHIEVEMENT } GenericTriggerTypesOOZ;1112// Object Class13struct ObjectOOZSetup {14RSDK_OBJECT15int32 palTimer;16uint16 aniTiles;17TileLayer *background1;18TABLE(int32 deformData[64], { 1, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 1, 2, 0, 0, 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3,191, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 1, 2, 0, 0, 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3 });20int32 oilAniTimer;21int32 glowLightAniFrame;22STATIC(int32 glowLightAniTimer, 60);23TABLE(int32 glowLightAniDurations[9], { 60, 60, 3, 3, 3, 3, 3, 3, 4 });24int32 swimmingPlayerCount;25int32 smogTimer;26int32 useSmogEffect;27uint8 flameTimers[0x20000];28uint8 *flameTimerPtrs[400];29Vector2 flamePositions[400];30uint16 flameCount;31uint8 activePlayers;32#if MANIA_USE_PLUS33Animator flameAnimator;34Animator animator;35uint16 solFrames;36uint16 splashFrames;37#else38Animator flameAnimator;39uint16 solFrames;40#endif41bool32 hasAchievement;42Entity *cutscenePtr;43};4445// Entity Class46struct EntityOOZSetup {47RSDK_ENTITY48uint8 type;49};5051// Object Struct52extern ObjectOOZSetup *OOZSetup;5354// Standard Entity Events55void OOZSetup_Update(void);56void OOZSetup_LateUpdate(void);57void OOZSetup_StaticUpdate(void);58void OOZSetup_Draw(void);59void OOZSetup_Create(void *data);60void OOZSetup_StageLoad(void);61#if GAME_INCLUDE_EDITOR62void OOZSetup_EditorDraw(void);63void OOZSetup_EditorLoad(void);64#endif65void OOZSetup_Serialize(void);6667// Extra Entity Functions68bool32 OOZSetup_SfxCheck_Flame2(void);69bool32 OOZSetup_SfxCheck_Slide(void);70bool32 OOZSetup_SfxCheck_OilSwim(void);7172void OOZSetup_Draw_Flames(void);73void OOZSetup_HandleActiveFlames(void);74bool32 OOZSetup_StartFire(int32 posX, int32 posY, int32 angle);7576void OOZSetup_Trigger_AwardAchievement(void);7778void OOZSetup_PlayerState_OilPool(void);79void OOZSetup_PlayerState_OilStrip(void);80void OOZSetup_PlayerState_OilSlide(void);81void OOZSetup_PlayerState_OilFall(void);8283#endif //! OBJ_OOZSETUP_H848586