improve dialogue advance and add flexible cutscene camera system

This commit is contained in:
vottozi committed 2026-04-15 20:42:41 +06:00
1 parent 422ff1fbe3
commit ceebb13719
10 files changed
+502 -74

No files matched your search

+7 -1
View File
@@ -63,6 +63,8 @@ private:
int currentCutsceneLine = -1;
int cutsceneTimerMs = 0;
int cutsceneElapsedMs = 0;
int cutsceneTotalDurationMs = 0;
bool evaluateConditions(const std::vector<Condition>& conditions) const;
void applyEffects(const std::vector<Effect>& effects);
@@ -71,11 +73,15 @@ private:
void presentLine(const Node& node);
void presentChoices(const Node& node);
void startCutscene(const std::string& cutsceneId, const std::string& nextNodeAfterCutscene);
void finishCutscene();
void advanceCutsceneLine();
void refreshCutscenePresentation();
CutsceneCameraPose evaluateCutsceneCameraPose() const;
static float applyEasing(EasingType easing, float t);
static int computeFallbackCutsceneDurationMs(const std::string& text);
static int computeCameraTrackDurationMs(const StaticCutsceneDefinition& cutscene);
};
} // namespace ZL::Dialogue
} // namespace ZL::Dialogue