summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/level-main.cpp8
-rw-r--r--src/pke-at-settings.hpp7
2 files changed, 14 insertions, 1 deletions
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;
};