static void shot(void) { static char filename[MAXSTR]; sprintf(filename, "Screenshots/screen%05d.png", config_screenshot()); image_snap(filename); }
void level_snap(int i, const char *path) { char *filename; /* Convert the level name to a PNG filename. */ filename = concat_string(path, "/", base_name_sans(level_v[i].file, ".sol"), ".png", NULL); /* Initialize the game for a snapshot. */ if (game_client_init(level_v[i].file)) { union cmd cmd; cmd.type = CMD_GOAL_OPEN; game_proxy_enq(&cmd); game_client_sync(NULL); /* Render the level and grab the screen. */ video_clear(); game_client_fly(1.0f); game_kill_fade(); game_client_draw(POSE_LEVEL, 0); image_snap(filename); SDL_GL_SwapBuffers(); } free(filename); }
static void snapshot_take(void) { if (snapshot_path[0]) { image_snap(snapshot_path); snapshot_path[0] = 0; } }
static void shot_take(void) { static char filename[MAXSTR]; if (shot_pending) { sprintf(filename, "Screenshots/screen%05d.png", config_screenshot()); image_snap(filename); shot_pending = 0; } }