bool settings_save(Settings *setfile) { char setfilename_tmp[1024]; RFILE *fp = NULL; if (!setfile) setfile = &normal_settings; retro_create_path_string(setfilename_tmp, sizeof(setfilename_tmp), g_dir, setfilename); fp = filestream_open(setfilename_tmp, RETRO_VFS_FILE_ACCESS_WRITE, RETRO_VFS_FILE_ACCESS_HINT_NONE); if (!fp) { NX_ERR("Couldn't open file %s.\n", setfilename_tmp); return 1; } NX_LOG("Writing settings...\n"); for(int i=0;i<INPUT_COUNT;i++) setfile->input_mappings[i] = input_get_mapping(i); setfile->version = SETTINGS_VERSION; filestream_write(fp, setfile, sizeof(Settings)); filestream_close(fp); return 0; }
// set the SDL key that triggers an input void input_remap(int keyindex, in_action sdl_key) { stat("input_remap(%d => %d)", keyindex, sdl_key.key); in_action old_mapping = input_get_mapping(keyindex); // if (old_mapping != -1) // mappings[old_mapping] = 0xff; mappings[keyindex] = sdl_key; }
// set the SDL key that triggers an input void input_remap(int keyindex, int sdl_key) { stat("input_remap(%d => %d)", keyindex, sdl_key); int old_mapping = input_get_mapping(keyindex); if (old_mapping != -1) mappings[old_mapping] = 0xff; mappings[sdl_key] = keyindex; }
// set the SDL key that triggers an input void input_remap(int keyindex, int sdl_key) { stat("input_remap(%d => %d)", keyindex, sdl_key); int old_mapping = input_get_mapping(keyindex); if (old_mapping != -1) { mappings.erase(static_cast<SDL_Keycode>(old_mapping)); } mappings[static_cast<SDL_Keycode>(sdl_key)] = static_cast<INPUTS>(keyindex); }
bool settings_save(Settings *setfile) { FILE *fp; if (!setfile) setfile = &normal_settings; stat("Writing settings..."); fp = fopen(setfilename, "wb"); if (!fp) { stat("Couldn't open file %s.", setfilename); return 1; } for(int i=0;i<INPUT_COUNT;i++) setfile->input_mappings[i] = input_get_mapping(i); setfile->version = SETTINGS_VERSION; fwrite(setfile, sizeof(Settings), 1, fp); fclose(fp); return 0; }