Path: blob/master/SonicMania/Objects/Common/GenericTrigger.c
338 views
// ---------------------------------------------------------------------1// RSDK Project: Sonic Mania2// Object Description: GenericTrigger Object3// Object Author: Christian Whitehead/Simon Thomley/Hunter Bridges4// Decompiled by: Rubberduckycooly & RMGRich5// ---------------------------------------------------------------------67#include "Game.h"89ObjectGenericTrigger *GenericTrigger;1011void GenericTrigger_Update(void)12{13RSDK_THIS(GenericTrigger);1415foreach_active(Player, player)16{17if (Player_CheckCollisionTouch(player, self, &self->hitbox) && !player->sidekick) {18GenericTrigger->playerID = player->playerID;19StateMachine_Run(GenericTrigger->callbacks[self->triggerID]);20}21}22}2324void GenericTrigger_LateUpdate(void) {}2526void GenericTrigger_StaticUpdate(void) {}2728void GenericTrigger_Draw(void) {}2930void GenericTrigger_Create(void *data)31{32RSDK_THIS(GenericTrigger);3334if (!SceneInfo->inEditor) {35self->triggerID &= 0xF;3637self->updateRange.x = self->size.x;38self->updateRange.y = self->size.y;39self->active = ACTIVE_BOUNDS;4041self->hitbox.left = -(self->size.x >> 16);42self->hitbox.right = (self->size.x >> 16);43self->hitbox.top = -(self->size.y >> 16);44self->hitbox.bottom = (self->size.y >> 16);45}46}4748void GenericTrigger_StageLoad(void) {}4950#if GAME_INCLUDE_EDITOR51void GenericTrigger_EditorDraw(void)52{53RSDK_THIS(GenericTrigger);5455self->updateRange.x = self->size.x;56self->updateRange.y = self->size.y;5758RSDK.SetSpriteAnimation(GenericTrigger->aniFrames, 0, &self->animator, true, 7);59RSDK.DrawSprite(&self->animator, NULL, false);6061if (showGizmos()) {62RSDK_DRAWING_OVERLAY(true);6364DrawHelpers_DrawRectOutline(self->position.x, self->position.y, self->size.x << 1, self->size.y << 1, 0xFFFF00);6566RSDK_DRAWING_OVERLAY(false);67}68}6970void GenericTrigger_EditorLoad(void) { GenericTrigger->aniFrames = RSDK.LoadSpriteAnimation("Editor/EditorIcons.bin", SCOPE_STAGE); }71#endif7273void GenericTrigger_Serialize(void)74{75RSDK_EDITABLE_VAR(GenericTrigger, VAR_VECTOR2, size);76RSDK_EDITABLE_VAR(GenericTrigger, VAR_UINT8, triggerID);77}787980