From 846a4c0fb4c8b973f91ea927a98a74b8de9c0dfe Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Thu, 18 Sep 2025 15:32:23 -0400 Subject: pke-at: add runtime flags --- src/level-main.cpp | 8 +++++++- src/pke-at-settings.hpp | 7 +++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/level-main.cpp b/src/level-main.cpp index 26618e4..ccfa060 100644 --- a/src/level-main.cpp +++ b/src/level-main.cpp @@ -30,10 +30,16 @@ void pke_at_level_main_init() { g_at.mtrnm.beep = pke_at_audio_get_or_generate_sawtooth(440.f, 0.30); g_at.mtrnm.beep_accent = pke_at_audio_get_or_generate_sawtooth(440.f * (3/2.f), 0.30); pke_audio_set_volume(pke_audio_source_sfx, 0.25); + g_at.rt.flags = PKE_AT_RUNTIME_FLAG_NONE; } void pke_at_level_main_tick(double delta) { - (void)delta; + if (!PK_HAS_FLAG(g_at.rt.flags, PKE_AT_RUNTIME_FLAG_PLAYING)) { + return; + } + if (PK_HAS_FLAG(g_at.rt.flags, PKE_AT_RUNTIME_FLAG_PAUSED)) { + return; + } g_at.bpm.delta_since_last_beat += delta; if (g_at.bpm.lerp_delta <= g_at.bpm.lerp_delta_duration) { g_at.bpm.lerp_delta += delta; diff --git a/src/pke-at-settings.hpp b/src/pke-at-settings.hpp index 7d89e51..f3a8e9b 100644 --- a/src/pke-at-settings.hpp +++ b/src/pke-at-settings.hpp @@ -4,6 +4,12 @@ #include "pke/asset-manager.hpp" #include "pke/pk.h" +enum PKE_AT_RUNTIME_FLAGS : uint8_t { + PKE_AT_RUNTIME_FLAG_NONE = 0, + PKE_AT_RUNTIME_FLAG_PLAYING = (1u << 0), + PKE_AT_RUNTIME_FLAG_PAUSED = (1u << 1), +}; + struct pke_at_global_settings { struct pke_at_global_settings_mem { pk_membucket *bkt; @@ -25,6 +31,7 @@ struct pke_at_global_settings { AssetHandle beep_accent; } mtrnm; struct pke_at_global_settings_rt { + PKE_AT_RUNTIME_FLAGS flags; } rt; }; -- cgit v1.2.3