1 /************************************************************************
3 * voxelands - 3d voxel world sandbox game
4 * Copyright (C) Lisa 'darkrose' Milne 2016 <lisa@ltmnet.com>
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 * See the GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>
18 ************************************************************************/
21 #define _WM_EXPOSE_ALL
44 /* command width setter */
45 int wm_width_setter(char* value
)
47 int v
= strtol(value
,NULL
,10);
49 wm_data
.size
.width
= v
;
55 /* command height setter */
56 int wm_height_setter(char* value
)
58 int v
= strtol(value
,NULL
,10);
60 wm_data
.size
.height
= v
;
66 /* command frame cap setter */
67 int wm_cap_setter(char* value
)
69 int v
= strtol(value
,NULL
,10);
71 wm_data
.frame_cap
= v
;
75 /* command fullscreen setter */
76 int wm_fullscreen_setter(char* value
)
78 int v
= !!strtol(value
,NULL
,10);
79 wm_toggle_fullscreen(v
);
83 /* screen capture - take a screenshot, save to file */
84 void wm_capture(char* file
)
89 p
= image_load_fromscreen(0,0,wm_data
.size
.width
,wm_data
.size
.height
,0);
91 vlprintf(CN_ERROR
, "Could not grab screen data");
95 fmt
= config_get("wm.capture_format");
96 if (!fmt
|| !strcmp(fmt
,"png")) {
98 file
= "screenshot.png";
99 image_save_png(p
,file
);
100 }else if (!strcmp(fmt
,"tga")) {
102 file
= "screenshot.tga";
103 image_save_tga(p
,file
);
104 }else if (!strcmp(fmt
,"bmp")) {
106 file
= "screenshot.bmp";
107 image_save_bmp(p
,file
);
109 vlprintf(CN_WARN
, "Unsupported capture format '%s'",fmt
);