export module runtime; import app; import coral; import coral.files; import coral.io; import coral.math; import coral.stack; extern "C" int main(int argc, char const * const * argv) { return app::client::run("Ona Runtime", [](app::client & client) -> int { constexpr coral::path config_path{"config.kym"}; bool is_config_loaded{false}; client.resources().read_file(config_path, [&](coral::reader & file) { coral::allocator * const allocator{&client.thread_safe_allocator()}; coral::small_stack script_source{allocator}; { coral::u8 stream_buffer[1024]{0}; coral::stack_writer script_writer{&script_source}; if (!coral::stream(script_writer, file, stream_buffer).is_ok()) return; } client.log(app::log_level::notice, script_source.as_slice().as_chars()); is_config_loaded = true; }); if (!is_config_loaded) { coral::small_stack error_message{&client.thread_safe_allocator()}; { coral::stack_writer error_writer{&error_message}; if (!error_writer.write(coral::slice{"failed to load "}.as_bytes()).is_ok()) return coral::u8_max; if (!error_writer.write(config_path.as_slice().as_bytes()).is_ok()) return coral::u8_max; } return coral::u8_max; } client.display(1280, 800); while (client.poll()) { } return 0; }); }