1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#include <csignal>
#include <pke/pke.hpp>
#include "pke-at-settings.hpp"
#include "pke-at.hpp"
#include "pke/pk.h"
struct PKEPluginInterface pke_at_plugin {
.OnInit = pke_at_init,
.OnTick = pke_at_tick,
.OnTeardown = pke_at_teardown,
.OnImGuiRender = nullptr,
.PkeEntityInterface = nullptr,
.PkeEntityInterfaceCount = 0,
};
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);
fprintf(stdout, "PKE_AT ENTERING\n");
{
pke_at_settings.mem.bkt = pk_mem_bucket_create("pke-at main", PK_MEM_DEFAULT_BUCKET_SIZE, PK_MEMBUCKET_FLAG_NONE);
pke_at_settings.mem.bkt_transient = pk_mem_bucket_create("pke-at transient", PK_MEM_DEFAULT_BUCKET_SIZE, PK_MEMBUCKET_FLAG_TRANSIENT);
pk_mem_bucket_set_client_mem_bucket(pke_at_settings.mem.bkt);
pk_arr_append_t(&LoadedPkePlugins, pke_at_plugin);
}
PkeArgs_Parse(argc, argv);
Game_Main({}, argv[0]);
pk_mem_bucket_destroy(pke_at_settings.mem.bkt_transient);
pk_mem_bucket_destroy(pke_at_settings.mem.bkt);
fprintf(stdout, "PKE_AT EXITING\n");
return 0;
}
|