#include "level-init.hpp" #include "pke-at-common.hpp" #include "pke-at-data-stub.hpp" #include "pke-at-setlist-types.hpp" #include "pke-at-settings.hpp" #include "pke-at-storage-sql.hpp" #include "pke-at.hpp" #include struct pke_at_master { struct pke_at_master_states { } states; } mstr; void pke_at_tick(double delta) { (void)delta; } void pke_at_init() { uint64_t u; pkeSettings.rt.nextLevel = pke_at_level_init_create(); for (u = 0; u < PKE_AT_SECTION_TYPE_INDEX_COUNT; ++u) { if (g_section_types[u].title_key[0] == '\0') continue; g_section_types[u].title_handle = AM_GetHandle(g_section_types[u].title_key); } for (u = 1; u < PKE_AT_KEY_INDEX_COUNT; ++u) { g_keys[u].mtrnm_beat_asset_handle = pke_at_audio_get_or_generate_sawtooth(g_keys[u].mtrnm_hz_beat, 0.3); g_keys[u].mtrnm_down_beat_asset_handle = pke_at_audio_get_or_generate_sawtooth(g_keys[u].mtrnm_hz_down_beat, 0.3); } g_at.storage = pk_new(); g_at.storage->init(); g_at.data = pk_new(); g_at.data->init(); } void pke_at_teardown() { }