safe LMB hold-to-skip cutscenes and multiple images with crossfade

This commit is contained in:
vottozi committed 2026-04-25 01:32:16 +06:00
1 parent fe01a5d1b2
commit 0a073243ad
16 files changed
+801 -58

No files matched your search

+5 -1
View File
@@ -27,6 +27,8 @@ public:
void confirmAdvance();
void moveSelection(int delta);
void selectChoice(int index);
bool canSkipCurrentCutscene() const;
void skipCurrentCutscene();
const PresentationModel& getPresentation() const { return presentation; }
@@ -58,7 +60,7 @@ private:
PresentationModel presentation;
Mode mode = Mode::Inactive;
int selectedChoice = 0;
int selectedChoice = -1;
float revealCharacters = 0.0f;
float revealSpeedCharsPerSecond = 52.0f;
@@ -77,10 +79,12 @@ private:
void presentChoices(const Node& node);
void startCutscene(const std::string& cutsceneId, const std::string& nextNodeAfterCutscene);
void finishCutscene();
void syncCutsceneLineToElapsedTime();
void advanceCutsceneLine();
void refreshCutscenePresentation();
CutsceneCameraBlendState evaluateCutsceneCameraBlend() const;
std::vector<PresentedCutsceneImage> evaluateCutsceneImages() const;
static float applyEasing(EasingType easing, float t);
static int computeFallbackCutsceneDurationMs(const std::string& text);