Path: blob/master/RSDKv5/RSDK/Scene/Objects/DevOutput.cpp
1737 views
#include "RSDK/Core/RetroEngine.hpp"12#if RETRO_REV023using namespace RSDK;45ObjectDevOutput *RSDK::DevOutput;67void RSDK::DevOutput_Update()8{9RSDK_THIS(DevOutput);1011switch (self->state) {12default: break;1314case DEVOUTPUT_DELAY:15if (self->timer <= 0)16self->state = DEVOUTPUT_ENTERPOPUP;17else18self->timer--;19break;2021case DEVOUTPUT_ENTERPOPUP:22if (self->position.y >= 0)23self->state = DEVOUTPUT_SHOWPOPUP;24else25self->position.y += 2;26break;2728case DEVOUTPUT_SHOWPOPUP:29if (self->timer >= 120)30self->state = 3;31else32self->timer++;33break;3435case DEVOUTPUT_EXITPOPUP:36self->position.y -= 2;37if (-self->position.y > self->ySize)38ResetEntity(self, TYPE_DEFAULTOBJECT, NULL);39break;40}41}4243void RSDK::DevOutput_LateUpdate() {}4445void RSDK::DevOutput_StaticUpdate() {}4647void RSDK::DevOutput_Draw()48{49RSDK_THIS(DevOutput);5051DrawRectangle(0, 0, currentScreen->size.x, self->position.y + self->ySize, 0x000080, 0xFF, INK_NONE, true);52DrawDevString(self->message, 8, self->position.y + 8, 0, 0xF0F0F0);53}5455void RSDK::DevOutput_Create(void *data)56{57RSDK_THIS(DevOutput);58strncpy(self->message, (char *)data, 0x3F4);5960self->active = ACTIVE_ALWAYS;61self->visible = true;62self->isPermanent = true;63self->drawGroup = 15;64self->timer = 180 * GetEntityCount(DevOutput->classID, false);65self->ySize = DevOutput_GetStringYSize(self->message);66self->position.y = -self->ySize;67}6869void RSDK::DevOutput_StageLoad() {}7071#if RETRO_REV0U72void RSDK::DevOutput_StaticLoad(ObjectDevOutput *staticVars) { memset(staticVars, 0, sizeof(*staticVars)); }73#endif7475void RSDK::DevOutput_EditorLoad() {}7677void RSDK::DevOutput_EditorDraw() {}7879void RSDK::DevOutput_Serialize() {}8081int32 RSDK::DevOutput_GetStringYSize(char *string)82{83if (!*string)84return 24;8586int32 lineCount = 0;87while (*string) {88if (*string == '\n')89lineCount++;9091++string;92}9394if (lineCount >= 1)95return 8 * lineCount + 16;96else97return 24;98}99#endif100101102