shmup_game * shmup_game_init() { ENetAddress e; shmup_game *g; g = malloc(sizeof(shmup_game)); glfwGetWindowSize(&g->window_width, &g->window_height); g->render_type = 2; g->quit = 0; g->emitter = v2(g->window_width / 2, g->window_height / 2); g->gravity = v2(0, -250); g->bpool = bpool_new(8000); g->bpool->tex[0] = SOIL_load_OGL_texture("./data/flare.tga", SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID, 0); if(g->bpool->tex[0] == 0) fprintf(stderr, "loading error: '%s'\n", SOIL_last_result()); g->bpool->tex[1] = SOIL_load_OGL_texture("./data/arrow.tga", SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID, 0); if(g->bpool->tex[1] == 0) fprintf(stderr, "loading error: '%s'\n", SOIL_last_result()); g->bpool->prog = load_shaders("./data/glsl/bullets.vsh", "./data/glsl/bullets.fsh"); if (enet_initialize () != 0) { fprintf (stderr, "An error occurred while initializing ENet.\n"); exit(EXIT_FAILURE); } if (g->network_type == SERVER) { e.host = ENET_HOST_ANY; e.port = 4000; g->host = enet_host_create(&e, 4, 2, 0, 0); } else { g->host = enet_host_create(NULL, 4, 2, 0, 0); } g->player[0].pos = v2(g->window_width/2, g->window_height/2); g->player[0].vel = v2zero; g->player[0].acc = v2zero; // fire(g, 1000, 0); // fire(g, 1000, 1); return g; }
shmup_game * shmup_game_init(int width, int height) { shmup_game *g; g = malloc(sizeof(shmup_game)); g->render_type = 2; g->window_width = width; g->window_height = height; g->quit = 0; g->emitter = v2(g->window_width / 2, g->window_height / 2); g->gravity = v2(0, -250); g->bpool = bpool_new(8000); g->bpool->tex[0] = SOIL_load_OGL_texture("./data/flare.tga", SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID, 0); if(g->bpool->tex[0] == 0) fprintf(stderr, "loading error: '%s'\n", SOIL_last_result()); g->bpool->tex[1] = SOIL_load_OGL_texture("./data/arrow.tga", SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID, 0); if(g->bpool->tex[1] == 0) fprintf(stderr, "loading error: '%s'\n", SOIL_last_result()); g->bpool->prog = load_shaders("./data/glsl/bullets.vsh", "./data/glsl/bullets.fsh"); if (enet_initialize () != 0) { fprintf (stderr, "An error occurred while initializing ENet.\n"); exit(EXIT_FAILURE); } g->num_players = 1; g->player[0].pos = v2(g->window_width/2, g->window_height/2); g->player[0].vel = v2zero; g->player[0].acc = v2zero; return g; }