#define _POSIX_C_SOURCE 200809L #define NONSTD_IMPLEMENTATION #define VFS_IMPLEMENTATION #include "all.h" #include #include int main(int argc, char *argv[]) { char map_path[256] = "maps/demo3.map"; bool skip_title = false; static struct option long_options[] = { {"map", required_argument, 0, 'm'}, {0, 0, 0, 0} }; int opt; int option_index = 0; while ((opt = getopt_long_only(argc, argv, "m:", long_options, &option_index)) != -1) { switch (opt) { case 'm': strncpy(map_path, optarg, sizeof(map_path) - 1); skip_title = true; break; } } SetConfigFlags(FLAG_VSYNC_HINT | FLAG_WINDOW_RESIZABLE | FLAG_WINDOW_HIGHDPI); InitWindow(WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_TITLE); int monitor = GetCurrentMonitor(); SetWindowPosition((GetMonitorWidth(monitor) - GetScreenWidth()) / 2, (GetMonitorHeight(monitor) - GetScreenHeight()) / 2); SetTargetFPS(GetMonitorRefreshRate(monitor)); vfs_init("data.pak"); InitGame(); SetMap(map_path); if (skip_title) { if (LoadMap(game.map_path)) { game.mode = STATE_PLAYING; game.cursor_captured = true; DisableCursor(); } } game.vsync = true; while (!WindowShouldClose()) { UpdateGame(); DrawGame(); } vfs_shutdown(); CloseWindow(); return 0; }