added MANGOHUD_OUTPUT to params as output_file

pull/58/head
FlightlessMango 4 years ago
parent 4adb6ed25f
commit d1bdf71580

@ -39,12 +39,13 @@ uint64_t log_start;
// logArray.clear();
// }
void *logging(void *){
void *logging(void *params_test){
overlay_params *params = reinterpret_cast<overlay_params *>(params_test);
time_t now_log = time(0);
tm *log_time = localtime(&now_log);
string date = to_string(log_time->tm_year + 1900) + "-" + to_string(1 + log_time->tm_mon) + "-" + to_string(log_time->tm_mday) + "_" + to_string(1 + log_time->tm_hour) + "-" + to_string(1 + log_time->tm_min) + "-" + to_string(1 + log_time->tm_sec);
log_start = os_time_get();
out.open(mangohud_output_env + date, ios::out | ios::app);
out.open(params->output_file + date, ios::out | ios::app);
out << "os," << "cpu," << "gpu," << "ram," << "kernel," << "driver" << endl;
out << os << "," << cpu << "," << gpu << "," << ram << "," << kernel << "," << driver << endl;
while (loggingOn){

@ -332,8 +332,6 @@ static struct instance_data *new_instance_data(VkInstance instance)
static void destroy_instance_data(struct instance_data *data)
{
if (data->params.output_file)
fclose(data->params.output_file);
if (data->params.control >= 0)
os_socket_close(data->params.control);
unmap_object(HKEY(data->instance));
@ -886,14 +884,14 @@ void check_keybinds(struct overlay_params& params){
elapsedF12 = (double)(now - last_f12_press);
elapsedReloadCfg = (double)(now - reload_cfg_press);
if (elapsedF2 >= 500000 && mangohud_output_env){
if (elapsedF2 >= 500000 && !params.output_file.empty()){
if (key_is_pressed(params.toggle_logging)){
last_f2_press = now;
log_start = now;
loggingOn = !loggingOn;
if (loggingOn && log_period != 0)
pthread_create(&f2, NULL, &logging, NULL);
pthread_create(&f2, NULL, &logging, &params);
}
}
@ -2622,13 +2620,6 @@ static VkResult overlay_CreateInstance(
}
}
/* If there's no control file, and an output_file was specified, start
* capturing fps data right away.
*/
instance_data->capture_enabled =
instance_data->params.output_file && instance_data->params.control < 0;
instance_data->capture_started = instance_data->capture_enabled;
return result;
}

@ -155,6 +155,7 @@ parse_str(const char *str)
#define parse_offset_x(s) parse_unsigned(s)
#define parse_offset_y(s) parse_unsigned(s)
#define parse_time_format(s) parse_str(s)
#define parse_output_file(s) parse_str(s)
#define parse_io_read(s) parse_unsigned(s)
#define parse_io_write(s) parse_unsigned(s)

@ -115,7 +115,6 @@ enum overlay_param_enabled {
struct overlay_params {
bool enabled[OVERLAY_PARAM_ENABLED_MAX];
enum overlay_param_position position;
FILE *output_file;
int control;
uint32_t fps_sampling_period; /* us */
uint32_t fps_limit;
@ -136,7 +135,7 @@ struct overlay_params {
KeySym toggle_hud;
KeySym toggle_logging;
KeySym reload_cfg;
std::string time_format;
std::string time_format, output_file;
};
const extern char *overlay_param_names[];

Loading…
Cancel
Save