#include #include "pk.h" #include "arg-handler.hpp" #include "plugins.hpp" #include "editor.hpp" #include "game.hpp" #include "game-settings.hpp" void signal_handler(int signal_num) { fprintf(stdout, "Received signal: %d - shutting down\n", signal_num); pkeSettings.isGameRunning = false; } int main(int argc, char *argv[]) { signal(SIGTERM, signal_handler); fflush(stdout); fflush(stderr); fprintf(stdout, "\rPKE_EDITOR ENTERING\n"); fprintf(stderr, "\r"); // HACK struct pk_membucket *bkt_editor = pk_mem_bucket_create("pke-editor", 2048, PK_MEMBUCKET_FLAG_NONE); // setup { PKEPluginInterface itfc; itfc.OnInit = PkeEditor_Init; itfc.OnTick = PkeEditor_Tick; itfc.OnTeardown = PkeEditor_Teardown; itfc.OnImGuiRender = PkeEditor_RecordImGui; // HACK LoadedPkePlugins.bkt = bkt_editor; pk_arr_append(&LoadedPkePlugins, &itfc); } // run PkeArgs_Parse(argc, argv); Game_Main({}, argv[0]); pk_mem_bucket_destroy(bkt_editor); fprintf(stdout, "PKE_EDITOR EXITING\n"); return 0; }