/** * Copyright (c) 2025 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #include "rpg/cutscene/cutscenesystem.h" #include "input/input.h" #include "time/time.h" void cutsceneItemStart(const cutsceneitem_t *item, cutsceneitemdata_t *data) { switch(item->type) { case CUTSCENE_ITEM_TYPE_TEXT: { rpgTextboxShow( item->text.position, item->text.text ); break; } case CUTSCENE_ITEM_TYPE_WAIT: data->wait = item->wait; break; case CUTSCENE_ITEM_TYPE_CALLBACK: if(item->callback != NULL) item->callback(); break; case CUTSCENE_ITEM_TYPE_CUTSCENE: if(item->cutscene != NULL) cutsceneSystemStartCutscene(item->cutscene); break; default: break; } } void cutsceneItemUpdate(const cutsceneitem_t *item, cutsceneitemdata_t *data) { switch(item->type) { case CUTSCENE_ITEM_TYPE_TEXT: if(rpgTextboxIsVisible()) return; cutsceneSystemNext(); break; case CUTSCENE_ITEM_TYPE_WAIT: data->wait -= TIME.delta; if(data->wait <= 0) cutsceneSystemNext(); break; default: break; } }