19 void tick(uint64_t dt);
20 GlobalFx startEffect(std::string_view what, uint64_t len,
const std::string* argv,
size_t argc);
24 void morph(Tempest::Matrix4x4& proj);
25 void scrBlend(Tempest::Painter& p,
const Tempest::Rect& rect);
31 uint64_t timeUntil = 0;
32 uint64_t timeStart = 0;
34 uint64_t timeLoop = 0;
37 struct SlowTime:Effect {
44 struct ScreenBlend:Effect {
46 Tempest::Color cl = {1,1,1,1};
48 std::vector<const Tempest::Texture2d*> frames;
63 void tick(uint64_t dt, std::vector<T>& eff);
65 GlobalFx create (std::string_view what,
const std::string* argv,
size_t argc);
66 GlobalFx addSlowTime (
const std::string* argv,
size_t argc);
67 GlobalFx addScreenBlend(
const std::string* argv,
size_t argc);
68 GlobalFx addMorphFov (
const std::string* argv,
size_t argc);
69 GlobalFx addEarthQuake (
const std::string* argv,
size_t argc);
72 static Tempest::Color parseColor(std::string_view c);
75 uint64_t timeWrldRem = 0;
77 std::vector<std::shared_ptr<SlowTime>> timeEff;
78 std::vector<std::shared_ptr<ScreenBlend>> scrEff;
79 std::vector<std::shared_ptr<Morph>> morphEff;
80 std::vector<std::shared_ptr<Quake>> quakeEff;