Path: blob/master/SonicMania/Objects/Helpers/BadnikHelpers.c
338 views
// ---------------------------------------------------------------------1// RSDK Project: Sonic Mania2// Object Description: BadnikHelpers Object3// Object Author: Christian Whitehead/Simon Thomley/Hunter Bridges4// Decompiled by: Rubberduckycooly & RMGRich5// ---------------------------------------------------------------------67#include "Game.h"89ObjectBadnikHelpers *BadnikHelpers = NULL;1011void BadnikHelpers_Update(void) {}1213void BadnikHelpers_LateUpdate(void) {}1415void BadnikHelpers_StaticUpdate(void) {}1617void BadnikHelpers_Draw(void) {}1819void BadnikHelpers_Create(void *data) {}2021void BadnikHelpers_StageLoad(void) {}2223void BadnikHelpers_BadnikBreak(void *badnik, bool32 destroy, bool32 spawnAnimals)24{25Entity *badnikEntity = badnik;2627if (spawnAnimals) {28CREATE_ENTITY(Animals, INT_TO_VOID((Animals->animalTypes[(ZONE_RAND(0, 32) >> 4)]) + 1), badnikEntity->position.x, badnikEntity->position.y);29}3031EntityExplosion *explosion = CREATE_ENTITY(Explosion, INT_TO_VOID(EXPLOSION_ENEMY), badnikEntity->position.x, badnikEntity->position.y);32explosion->drawGroup = Zone->objectDrawGroup[1];33RSDK.PlaySfx(Explosion->sfxDestroy, false, 255);3435if (destroy)36destroyEntity(badnikEntity);37}3839void BadnikHelpers_BadnikBreakUnseeded(void *badnik, bool32 destroy, bool32 spawnAnimals)40{41Entity *badnikEntity = badnik;4243if (spawnAnimals) {44CREATE_ENTITY(Animals, INT_TO_VOID((Animals->animalTypes[(RSDK.Rand(0, 32) >> 4)]) + 1), badnikEntity->position.x, badnikEntity->position.y);45}4647EntityExplosion *explosion = CREATE_ENTITY(Explosion, INT_TO_VOID(EXPLOSION_ENEMY), badnikEntity->position.x, badnikEntity->position.y);48explosion->drawGroup = Zone->objectDrawGroup[1];49RSDK.PlaySfx(Explosion->sfxDestroy, false, 255);5051if (destroy)52destroyEntity(badnikEntity);53}5455int32 BadnikHelpers_Oscillate(int32 origin, int32 speed, int32 amplitude)56{57RSDK_THIS_GEN(); // generic type5859self->angle = (self->angle + speed) & 0xFF;60return ((RSDK.Sin256(self->angle) << amplitude) + origin) & 0xFFFF0000;61}6263#if GAME_INCLUDE_EDITOR64void BadnikHelpers_EditorDraw(void) {}6566void BadnikHelpers_EditorLoad(void) {}67#endif6869void BadnikHelpers_Serialize(void) {}707172